Quellcode durchsuchen

Merge branch 'master' into stage

lxf vor 1 Jahr
Ursprung
Commit
74ce250c28
1 geänderte Dateien mit 37 neuen und 5 gelöschten Zeilen
  1. 37 5
      src/components/process/SendFunds.vue

+ 37 - 5
src/components/process/SendFunds.vue

@@ -61,7 +61,7 @@
       <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="用款说明" prop="paymentRemarks">
-            <el-input v-model="formData.data.paymentRemarks" placeholder="请输入" type="textarea"> </el-input>
+            <el-input v-model="formData.data.paymentRemarks" placeholder="请输入" type="textarea" disabled :rows="4"> </el-input>
           </el-form-item>
           <el-form-item label="上传附件">
             <div style="width: 100%">
@@ -86,7 +86,7 @@
           <el-table-column prop="count" label="费用类型" width="220">
             <template #default="{ row, $index }">
               <el-form-item :prop="'accountRequestFundsDetailList.' + $index + '.costType'" :rules="rules.costType" :inline-message="true">
-                <el-select v-model="row.costType" placeholder="请选择" filterable style="width: 100%">
+                <el-select v-model="row.costType" placeholder="请选择" filterable style="width: 100%" @change="generatePaymentRemarks">
                   <el-option v-for="item in fundsCostType" :label="item.dictValue" :value="item.dictKey"> </el-option>
                 </el-select>
               </el-form-item>
@@ -95,7 +95,7 @@
           <el-table-column prop="count" label="关联合同" width="220">
             <template #default="{ row, $index }">
               <el-form-item :prop="'accountRequestFundsDetailList.' + $index + '.contractId'" :rules="rules.contractId" :inline-message="true">
-                <el-select v-model="row.contractId" placeholder="请选择" filterable style="width: 100%">
+                <el-select v-model="row.contractId" placeholder="请选择" filterable style="width: 100%" @change="generatePaymentRemarks">
                   <el-option v-for="item in contractList" :label="item.code" :value="item.id"> </el-option>
                 </el-select>
               </el-form-item>
@@ -104,7 +104,7 @@
           <el-table-column prop="count" label="款项说明" min-width="200">
             <template #default="{ row, $index }">
               <el-form-item :prop="'accountRequestFundsDetailList.' + $index + '.remarks'" :rules="rules.remarks" :inline-message="true">
-                <el-input v-model="row.remarks" placeholder="请输入" type="textarea" />
+                <el-input v-model="row.remarks" placeholder="请输入" type="textarea" @change="generatePaymentRemarks" />
               </el-form-item>
             </template>
           </el-table-column>
@@ -606,7 +606,15 @@ const getDictData = () => {
   });
   // 关联合同
   proxy.post("/contract/page1", { pageNum: 1, pageSize: 9999, status: 30 }).then((res) => {
-    contractList.value = res.rows;
+    if (res.rows && res.rows.length > 0) {
+      contractList.value = res.rows.map((item) => {
+        return {
+          ...item,
+          dictKey: item.id,
+          dictValue: item.code,
+        };
+      });
+    }
   });
   // 部门树
   proxy
@@ -728,6 +736,7 @@ const handleChangeAmount = () => {
     }
   }
   formData.data.total = sum;
+  generatePaymentRemarks();
 };
 // 上传附件
 const uploadData = ref({});
@@ -905,6 +914,29 @@ const handleSelect = (item) => {
   formData.data.interbankNumber = item.interbankNumber;
   openSelect.value = false;
 };
+const generatePaymentRemarks = () => {
+  let paymentRemarks = "";
+  if (formData.data.accountRequestFundsDetailList && formData.data.accountRequestFundsDetailList.length > 0) {
+    for (let i = 0; i < formData.data.accountRequestFundsDetailList.length; i++) {
+      if (i !== 0) {
+        paymentRemarks = paymentRemarks + "\n";
+      }
+      if (formData.data.accountRequestFundsDetailList[i].costType) {
+        paymentRemarks = paymentRemarks + "[" + proxy.dictDataEcho(formData.data.accountRequestFundsDetailList[i].costType, fundsCostType.value) + "] ";
+      }
+      if (formData.data.accountRequestFundsDetailList[i].contractId) {
+        paymentRemarks = paymentRemarks + proxy.dictDataEcho(formData.data.accountRequestFundsDetailList[i].contractId, contractList.value) + " - ";
+      }
+      if (formData.data.accountRequestFundsDetailList[i].remarks) {
+        paymentRemarks = paymentRemarks + formData.data.accountRequestFundsDetailList[i].remarks + " - ";
+      }
+      if (formData.data.accountRequestFundsDetailList[i].amount) {
+        paymentRemarks = paymentRemarks + formData.data.accountRequestFundsDetailList[i].amount;
+      }
+    }
+  }
+  formData.data.paymentRemarks = proxy.deepClone(paymentRemarks);
+};
 </script>
 
 <style lang="scss" scoped>