From 7b08397d1113044b626f5fba14383b2324a9ba5b Mon Sep 17 00:00:00 2001
From: sen <sen@qq.com>
Date: 星期三, 25 三月 2026 15:45:49 +0800
Subject: [PATCH] 修改账款分析表格

---
 ui/admin-ui3/src/views/tms/tmsContract/index.vue |  177 +++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 130 insertions(+), 47 deletions(-)

diff --git a/ui/admin-ui3/src/views/tms/tmsContract/index.vue b/ui/admin-ui3/src/views/tms/tmsContract/index.vue
index cab7a94..9dbef4e 100644
--- a/ui/admin-ui3/src/views/tms/tmsContract/index.vue
+++ b/ui/admin-ui3/src/views/tms/tmsContract/index.vue
@@ -45,6 +45,26 @@
         >瀵煎嚭
         </el-button>
       </template>
+      <template #billingCycle-form="scope">
+       <div style="display: flex;">
+         <div style="width: 40px;flex: 0 0 35px;">涓婃湀</div>
+         <avue-input-number  style="width: 100px;flex: 0 0 100px;" max="31" min="0" v-model="form.billingCycleLastMonthDay"></avue-input-number>
+         <div style="width: 90px;flex: 0 0 88px;">鏃ヨ捣锛岃嚦褰撴湀</div>
+         <avue-input-number style="width: 100px;flex: 0 0 100px;" max="31" min="0"  v-model="form.billingCycleCurrentMonthDay"></avue-input-number>
+       </div>
+      </template>
+      <template #reconciliation-form="scope">
+       <div style="display: flex;">
+         <avue-input-number  style="width: 100px;flex: 0 0 100px;" @change="reconciliationDayChange"  min="0" v-model="form.reconciliationDay"></avue-input-number>
+         <div style="width: 40px;flex: 0 0 88px;">鏃�+寮�绁ㄨ处鏈�</div>
+         <avue-input-number style="width: 100px;flex: 0 0 100px;"  min="0" @change="invoiceDayChange" v-model="form.invoiceDay"></avue-input-number>
+         <div style="width: 40px;flex: 0 0 88px;">鏃�+浠樻璐︽湡</div>
+         <avue-input-number style="width: 100px;flex: 0 0 100px;" min="0" @change="paymentDayChange" v-model="form.paymentDay"></avue-input-number>
+         <div style="width: 40px;flex: 0 0 88px;">鏃�=鎬昏处鏈�</div>
+         <avue-input-number style="width: 100px;flex: 0 0 100px;" min="0" v-model="form.totalAccountDay"></avue-input-number>
+
+       </div>
+      </template>
     </avue-crud>
   </basicContainer>
 </template>
@@ -120,6 +140,16 @@
           addDisplay: true,value:'1',
           editDisplay: true,
           viewDisplay: true,
+          change: ({value}: any) => {
+            option.value.group.forEach((item: any) => {
+              if (item.prop == 'fjxx') {
+                item.column.attachmentPath.rules.forEach((item:any)=>{
+                  item.required = value == 1;
+                })
+              }
+            })
+            console.log(value)
+          },
           rules: [
             {
               required: true,
@@ -250,7 +280,7 @@
               message: "鐢叉柟鍚嶇О涓嶈兘涓虹┖", trigger: "change"
             }
           ],
-          type: 'table',suffixIcon:'search',
+          type: 'table',suffixIcon:'search',dataType: 'string',
           children:{
             border: true,
             searchMenuSpan: 5,
@@ -344,7 +374,7 @@
               message: "涔欐柟鍚嶇О涓嶈兘涓虹┖", trigger: "change"
             }
           ],
-          type: 'table',suffixIcon:'search',
+          type: 'table',suffixIcon:'search',dataType: 'string',
           children:{
             border: true,
             searchMenuSpan: 5,
@@ -432,66 +462,103 @@
         },
       }
     },
+    // {
+    //   label: '娆鹃」淇℃伅',
+    //   prop: 'kfxx',
+    //   column: {
+    //     contractAmount: {
+    //       label: '鍚堝悓閲戦',
+    //       addDisplay: true,
+    //       editDisplay: true,
+    //       viewDisplay: true,
+    //       rules: [
+    //         {
+    //           required: true,
+    //           message: "鍚堝悓閲戦涓嶈兘涓虹┖", trigger: "blur"
+    //         }
+    //       ],
+    //     },
+    //     // paymentMethod: {
+    //     //   label: '浠樻鏂瑰紡',
+    //     //   type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/payment_method',
+    //     //   addDisplay: true,
+    //     //   editDisplay: true,
+    //     //   viewDisplay: true,
+    //     //   rules: [
+    //     //     {
+    //     //       required: true,
+    //     //       message: "浠樻鏂瑰紡涓嶈兘涓虹┖", trigger: "change"
+    //     //     }
+    //     //   ],
+    //     // },
+    //     paymentCycle: {
+    //       label: '浠樻鍛ㄦ湡',
+    //       addDisplay: true,
+    //       editDisplay: true,
+    //       viewDisplay: true,
+    //     },
+    //     paidAmount: {
+    //       label: '宸蹭粯娆鹃」',
+    //       addDisplay: true,
+    //       editDisplay: true,
+    //       viewDisplay: true,
+    //     },
+    //     unpaidAmount: {
+    //       label: '鏈粯娆鹃」',
+    //       addDisplay: true,
+    //       editDisplay: true,
+    //       viewDisplay: true,
+    //     },
+    //     invoiceStatus: {
+    //       label: '鍙戠エ鐘舵��',
+    //       type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/invoice_status',
+    //       addDisplay: true,
+    //       editDisplay: true,
+    //       viewDisplay: true,
+    //       // rules: [
+    //       //   {
+    //       //     required: true,
+    //       //     message: "鍙戠エ鐘舵�佷笉鑳戒负绌�", trigger: "change"
+    //       //   }
+    //       // ],
+    //     },
+    //   }
+    // },
     {
-      label: '娆鹃」淇℃伅',
-      prop: 'kfxx',
+      label: '缁撶畻淇℃伅',
+      prop: 'jsxx',
       column: {
-        contractAmount: {
-          label: '鍚堝悓閲戦',
+        cycleType: {
+          label: '鍛ㄦ湡绫诲瀷',
+          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/cycle_type',
           addDisplay: true,
           editDisplay: true,
           viewDisplay: true,
           rules: [
             {
               required: true,
-              message: "鍚堝悓閲戦涓嶈兘涓虹┖", trigger: "blur"
+              message: "鍛ㄦ湡绫诲瀷涓嶈兘涓虹┖", trigger: "change"
             }
           ],
         },
-        // paymentMethod: {
-        //   label: '浠樻鏂瑰紡',
-        //   type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/payment_method',
-        //   addDisplay: true,
-        //   editDisplay: true,
-        //   viewDisplay: true,
-        //   rules: [
-        //     {
-        //       required: true,
-        //       message: "浠樻鏂瑰紡涓嶈兘涓虹┖", trigger: "change"
-        //     }
-        //   ],
-        // },
-        paymentCycle: {
-          label: '浠樻鍛ㄦ湡',
-          addDisplay: true,
-          editDisplay: true,
-          viewDisplay: true,
-        },
-        paidAmount: {
-          label: '宸蹭粯娆鹃」',
-          addDisplay: true,
-          editDisplay: true,
-          viewDisplay: true,
-        },
-        unpaidAmount: {
-          label: '鏈粯娆鹃」',
-          addDisplay: true,
-          editDisplay: true,
-          viewDisplay: true,
-        },
-        invoiceStatus: {
-          label: '鍙戠エ鐘舵��',
-          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/invoice_status',
-          addDisplay: true,
-          editDisplay: true,
-          viewDisplay: true,
+        billingCycle:{
+          label: '璐︽湡鍛ㄦ湡',labelWidth: 80,
           // rules: [
           //   {
           //     required: true,
-          //     message: "鍙戠エ鐘舵�佷笉鑳戒负绌�", trigger: "change"
+          //     message: "鍛ㄦ湡绫诲瀷涓嶈兘涓虹┖", trigger: "change"
           //   }
           // ],
         },
+        reconciliation:{
+          label: '瀵硅处璐︽湡', span:24,
+          // rules: [
+          //   {
+          //     required: true,
+          //     message: "瀵硅处璐︽湡涓嶈兘涓虹┖", trigger: "change"
+          //   }
+          // ],
+        }
       }
     },
     {
@@ -804,7 +871,23 @@
     selectionList.value = selection;
   },
 })
-console.log(router.currentRoute.value.query.contactStatus)
-
+const reconciliationDayChange = ({value}:any)=>{
+  const reconciliationDay = Number(value) || 0;
+  const paymentDay = Number(form.value.paymentDay) || 0;
+  const previousTotal = Number(form.value.paymentDay) || 0;
+  form.value.totalAccountDay = reconciliationDay + paymentDay + previousTotal;
+}
+const invoiceDayChange = ({value}:any)=>{
+  const reconciliationDay = Number(form.value.reconciliationDay) || 0;
+  const paymentDay =  Number(value) || 0;
+  const previousTotal = Number(form.value.paymentDay) || 0;
+  form.value.totalAccountDay = reconciliationDay + paymentDay + previousTotal;
+}
+const paymentDayChange = ({value}:any)=>{
+  const reconciliationDay = Number(form.value.reconciliationDay) || 0;
+  const paymentDay = Number(form.value.invoiceDay) || 0;
+  const previousTotal =  Number(value) || 0;
+  form.value.totalAccountDay = reconciliationDay + paymentDay + previousTotal;
+}
 
 </script>

--
Gitblit v1.8.0