Просмотр исходного кода

其他款项添加付款类型,付款百分比,实际付款计算

liuhj месяцев назад: 2
Родитель
Сommit
61f59257c0
1 измененных файлов с 69 добавлено и 0 удалено
  1. 69 0
      src/components/OP/OpDecreasePayments.vue

+ 69 - 0
src/components/OP/OpDecreasePayments.vue

@@ -101,6 +101,24 @@
                             </el-input> -->
                         </el-form-item>
                     </div>
+                    <div style="width: 394px;">
+                        <el-form-item label="付款类型:" prop="paymentType" label-width="160px">
+                            <el-select @change="handlePaymentTypeChange" v-model="DecreasePaymentsData.paymentType" placeholder="付款类型"
+                                style="width: 100%;">
+                                <el-option v-for="(item, index) in paymentOptions" :key="index" :label="item.paymentType"
+                                    :value="item.paymentType"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 394px;">
+                        <el-form-item label="付款百分比:" prop="paymentPercent" label-width="160px">
+                            <el-input-number style="width:100%" :precision="0"  placeholder="付款百分比"
+                                v-model="DecreasePaymentsData.paymentPercent" :controls='false'>
+                            </el-input-number>
+                            <!-- <el-input placeholder="付款百分比" suffix-icon="%" v-model="DecreasePaymentsData.paymentPercent">
+                            </el-input> -->
+                        </el-form-item>
+                    </div>
                     <div style="width: 394px;">
                         <el-form-item label="供应商全称:" prop="supplierName" label-width="160px">
                             <!-- <el-input placeholder="供应商全称" v-model="DecreasePaymentsData.supplierName">
@@ -180,6 +198,17 @@
                             </el-select>
                         </el-form-item>
                     </div>
+                    <div style="width: 394px;">
+                        <el-form-item label="实际付款金额:" label-width="160px">
+                            <el-input-number disabled style="width:56%" :precision="2" placeholder="实际付款金额"
+                                v-model="DecreasePaymentsData.actualPaymentAmount" :controls='false'>
+                            </el-input-number>
+                            <el-select disabled v-model="DecreasePaymentsData.currency" style="width: 40%;">
+                                <el-option v-for="item in rateList" :key="item.currencyId" :label="item.currencyCode"
+                                    :value="item.currencyId"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </div>
                     <div style="width: 394px;">
                         <el-form-item label="支付方式:" prop="payDId" label-width="160px">
                             <el-select v-model="DecreasePaymentsData.payDId" placeholder="支付方式" style="width: 100%;">
@@ -298,7 +327,11 @@ export default {
                 otherSideNo: '',//银行卡号
                 otherSideName: '',//对方姓名
                 otaOrderNo: '',//wifi平台OTA订单号
+                paymentType: '',//付款方式
+                paymentPercent: '',//付款百分比
+                actualPaymentAmount: '',//实际付款金额(实际付款金额 = 费用总额 * 付款百分比)
             },
+            paymentOptions:[],
             IsAuditGM: 0,
             Decrease: {},
             CreditCard: {},
@@ -338,6 +371,12 @@ export default {
                 supplierArea: [
                     { required: true, message: '请选择供应商地区', trigger: 'change' }
                 ],
+                paymentType: [
+                    { required: true, message: '请选择付款类型', trigger: 'change' }
+                ],
+                paymentPercent: [
+                    { required: true, message: '请选择付款百分比', trigger: 'change' }
+                ],
                 supplierSocialAccount: [
                     { required: true, message: '请输入', trigger: 'blur' }
                 ],
@@ -430,6 +469,7 @@ export default {
 
         //团组下拉框
         AirTicketResSelect() {
+            this.paymentOptions=[];
             var url = "/api/Groups/DecreasePaymentsSelect"
             var that = this
             this.$axios({
@@ -446,6 +486,11 @@ export default {
                 if (res.data.code == 200) {
                     that.delegationInfoList = res.data.data.groupName;
                     that.delegationInfoLists = that.delegationInfoList;
+                    that.paymentOptions = res.data.data.paymentOptions;
+                    if (that.DecreasePaymentsData.paymentType == "") {
+                        that.DecreasePaymentsData.paymentType = that.paymentOptions[0].paymentType;
+                        that.DecreasePaymentsData.paymentPercent = that.paymentOptions[0].paymentPercent;
+                    }
                     that.DiIdSelect = parseInt(that.DiId)
                     for (let index = 0; index < that.delegationInfoList.length; index++) {
                         if (that.delegationInfoList[index].id == that.DiIdSelect) {
@@ -467,6 +512,26 @@ export default {
 
 
         },
+        //切换付款类型
+        handlePaymentTypeChange(val) {
+            // 处理付款类型切换的逻辑
+            for (let index = 0; index < this.paymentOptions.length; index++) {
+                if (this.paymentOptions[index].paymentType == val) {
+                    this.DecreasePaymentsData.paymentPercent = this.paymentOptions[index].paymentPercent;
+                    // break;
+                }
+            }
+            this.Sumups();
+        },
+        //计算实际付款金额
+        Sumups() {
+            if (this.DecreasePaymentsData.feeTotal != null && this.DecreasePaymentsData.paymentPercent != null) {
+                this.DecreasePaymentsData.actualPaymentAmount = new Decimal(this.DecreasePaymentsData.feeTotal).mul(new Decimal(this.DecreasePaymentsData.paymentPercent).div(100));
+            } else {
+                this.DecreasePaymentsData.actualPaymentAmount = 0;
+            }
+        },
+
         QueryDecreasePaymentsById() {
             var url = "/api/Groups/QueryDecreasePaymentsById"
             var that = this
@@ -507,6 +572,9 @@ export default {
                     that.DecreasePaymentsData.otherSideName = that.Decrease.otherSideName
                     that.DecreasePaymentsData.otaOrderNo = that.Decrease.otaOrderNo
                     that.IsAuditGM = that.Decrease.isAuditGM
+                    that.DecreasePaymentsData.paymentType = that.Decrease.paymentType
+                    that.DecreasePaymentsData.paymentPercent = that.Decrease.paymentPercent
+                    that.DecreasePaymentsData.actualPaymentAmount = that.Decrease.actualPaymentAmount
                     if (that.Decrease.filePath != null && that.Decrease.filePath != undefined && that.Decrease.filePath != "") {
                         that.uploadFiles.push({
                             name: that.Decrease.filePath,
@@ -656,6 +724,7 @@ export default {
         //计算总价
         Sumup() {
             this.DecreasePaymentsData.feeTotal = new Decimal(this.DecreasePaymentsData.price * this.DecreasePaymentsData.quantity).toFixed(2);
+            this.Sumups();
         },
         DecreasePaymentsChange() {
             this.QueryRate();