From fc2f4490e0949ee9ddedda3fa1cf256f7903ae45 Mon Sep 17 00:00:00 2001
From: zhangback <zhangback@163.com>
Date: 星期二, 10 三月 2026 17:34:50 +0800
Subject: [PATCH] 新增skill
---
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