From ea3197fc04afe64d7c34bcf1aee3226838a1f2c3 Mon Sep 17 00:00:00 2001
From: sen <sen@qq.com>
Date: 星期五, 13 三月 2026 10:44:16 +0800
Subject: [PATCH] 添加日志

---
 ui/admin-ui3/src/views/tms/tmsArBill/index.vue |   66 +++++++++++++++++++++++++++++++-
 1 files changed, 63 insertions(+), 3 deletions(-)

diff --git a/ui/admin-ui3/src/views/tms/tmsArBill/index.vue b/ui/admin-ui3/src/views/tms/tmsArBill/index.vue
index 021b8f2..ee0d78f 100644
--- a/ui/admin-ui3/src/views/tms/tmsArBill/index.vue
+++ b/ui/admin-ui3/src/views/tms/tmsArBill/index.vue
@@ -67,7 +67,10 @@
 
       <avue-form v-if="opt == 'js'"  v-model="boxForm" ref="boxFormRef"
                   :option="boxFormOption">
+        <template #settleAmount>
+          <avue-input-number :min="0" :max="form.actualSettlementAmount" v-model="boxForm.settleAmount" placeholder="璇疯緭鍏ョ粨绠楅噾棰�"></avue-input-number>
 
+        </template>
       </avue-form>
       <el-descriptions :column="3" title="璐﹀崟鍩烘湰淇℃伅"  border>
         <el-descriptions-item label="璐﹀崟绯荤粺缂栧彿">{{form.systemNo}}</el-descriptions-item>
@@ -79,6 +82,18 @@
         </el-descriptions-item>
         <el-descriptions-item label="瀹㈡埛鍚嶇О">{{form.customerName}}</el-descriptions-item>
         <el-descriptions-item label="搴旂粨绠楅噾棰�">{{form.settleAmount}}</el-descriptions-item>
+        <el-descriptions-item label="鍑忓厤閲戦">
+          <div v-if="opt === 'edit'">
+            <el-input-number :min="0" :max="form.settleAmount" v-model="form.deductionAmount" placeholder="璇疯緭鍏ュ噺鍏嶉噾棰�" @change="deductionAmountChange" />
+          </div>
+          <div v-else>{{form.deductionAmount}}</div>
+        </el-descriptions-item>
+        <el-descriptions-item label="瀹為檯缁撶畻閲戦" v-if="opt == 'edit'">{{form.actualSettlementAmount}}</el-descriptions-item>
+        <el-descriptions-item label="鍑忓厤鍘熷洜" v-if="opt == 'edit'">
+          <div v-if="opt === 'edit'">
+            <el-input v-model="form.reasonReduction" placeholder="璇疯緭鍏ュ噺鍏嶅師鍥�" />
+          </div>
+          <div v-else>{{form.reasonReduction}}</div></el-descriptions-item>
         <el-descriptions-item label="宸茬粨绠楅噾棰�" v-if="opt == 'js'">{{form.settledAmount}}</el-descriptions-item>
         <el-descriptions-item label="寰呯粨绠楅噾棰�" v-if="opt == 'js'">{{Number(form.settleAmount) - Number(form.settledAmount)}}</el-descriptions-item>
       </el-descriptions>
@@ -87,6 +102,12 @@
           :option="YSGenerateTableOption" ref="itemsTableRef"
           :data="form.items"
       >
+        <template #menu="{row}">
+          <el-link size="small" type="primary"
+                 @click="handleCancel(row)" class="link-btn" :underline="false"
+                 icon="el-icon-close">鍙栨秷鍏宠仈
+          </el-link>
+        </template>
 
       </avue-crud>
 
@@ -128,7 +149,7 @@
   exportTmsArBill,
   getTmsArBill,
   listTmsArBill,
-  updateTmsArBill
+  updateTmsArBill,cancelArBill
 } from "@/api/tms/tmsArBill";
 import useCurrentInstance from "@/utils/useCurrentInstance";
 import {computed, reactive, ref, toRefs} from "vue";
@@ -136,6 +157,8 @@
 import {usePagePlus} from "@/hooks/usePagePlus";
 import {hasPermission} from "@/utils/permissionUtils";
 import {addTmsArSettlement, listTmsArSettlement} from "@/api/tms/tmsArSettlement";
+import {ElMessage, ElMessageBox} from "element-plus";
+import {confirmFinance} from "@/api/tms/tmsFinance";
 
 const {proxy} = useCurrentInstance();
 const crudRef = ref();
@@ -217,6 +240,20 @@
       viewDisplay: true,
       hide: false,
     },
+    deductionAmount: {
+      label: '鍑忓厤閲戦',
+      addDisplay: true,minWidth:120,
+      editDisplay: true,
+      viewDisplay: true,
+      hide: false,
+    },
+    actualSettlementAmount: {
+      label: '瀹為檯缁撶畻閲戦',
+      addDisplay: true,minWidth:120,
+      editDisplay: true,
+      viewDisplay: true,
+      hide: false,
+    },
     settledAmount: {
       label: '宸茬粨绠楅噾棰�',
       addDisplay: true,
@@ -283,12 +320,14 @@
   }
 })
 const YSGenerateTableOption= ref({
-  menu: false,
+  menu: true,
   add: false,
   header:false,
   selection: false,
   rowKey:'id',
-
+  editBtn:false,
+  viewBtn:false,
+  delBtn: false,
   column:{
 
     projectName:{
@@ -426,7 +465,28 @@
     open2.value = true;
     pageF.title = '缁撶畻鏃ュ織';
   })
+}
 
+
+
+const deductionAmountChange = (e:any) => {
+  form.value.actualSettlementAmount =(Number(form.value.settleAmount) || 0) -( Number(form.value.deductionAmount) || 0);
+}
+
+const handleCancel = (row:any) => {
+  ElMessageBox.confirm("鏄惁瀵硅皟搴﹀崟鍙�" + row.dispatchNo + "鐨勫簲鏀惰垂鐢ㄥ彇娑堝叧鑱旓紵", '绯荤粺鎻愮ず', {
+    confirmButtonText: '纭畾',
+    cancelButtonText: '鍙栨秷',
+    type: 'warning'
+  }).then(() => {
+    return cancelArBill(row.id);
+  }).then(() => {
+    onLoad(page.value);
+    ElMessage({
+      message: "鎿嶄綔鎴愬姛锛�",
+      type: 'success'
+    })
+  });
 }
 
 </script>

--
Gitblit v1.8.0