From de1a42d853176d83805c1290d7381235a9780a2d Mon Sep 17 00:00:00 2001
From: zhangback <zhangback@163.com>
Date: 星期二, 18 十一月 2025 11:58:57 +0800
Subject: [PATCH] 提交

---
 ui/admin-ui3/src/views/tms/collectionTmsFinance/index.vue |  756 ++++++++++++++++++++--------------------------------------
 1 files changed, 261 insertions(+), 495 deletions(-)

diff --git a/ui/admin-ui3/src/views/tms/collectionTmsFinance/index.vue b/ui/admin-ui3/src/views/tms/collectionTmsFinance/index.vue
index 7859a10..a9db3e4 100644
--- a/ui/admin-ui3/src/views/tms/collectionTmsFinance/index.vue
+++ b/ui/admin-ui3/src/views/tms/collectionTmsFinance/index.vue
@@ -21,21 +21,21 @@
         @on-load="onLoad"
     >
       <template #menu-left>
-        <el-button
-            type="success"
-            icon="Edit"
-            :disabled="pageF.single"
-            v-hasPermi="['tms:tmsFinance:edit']"
-            @click="handleUpdate">淇敼
-        </el-button>
-        <el-button
-            type="danger"
-            icon="Delete"
-            :disabled="pageF.multiple"
-            @click="handleDelete"
-            v-hasPermi="['tms:tmsFinance:remove']"
-        >鍒犻櫎
-        </el-button>
+        <!--        <el-button-->
+        <!--            type="success"-->
+        <!--            icon="Edit"-->
+        <!--            :disabled="pageF.single"-->
+        <!--            v-hasPermi="['tms:tmsFinance:edit']"-->
+        <!--            @click="handleUpdate">淇敼-->
+        <!--        </el-button>-->
+        <!--        <el-button-->
+        <!--            type="danger"-->
+        <!--            icon="Delete"-->
+        <!--            :disabled="pageF.multiple"-->
+        <!--            @click="handleDelete"-->
+        <!--            v-hasPermi="['tms:tmsFinance:remove']"-->
+        <!--        >鍒犻櫎-->
+        <!--        </el-button>-->
         <el-button
             type="warning"
             plain
@@ -45,7 +45,35 @@
         >瀵煎嚭
         </el-button>
       </template>
+      <template #menu-before="{row}">
+        <el-link size="small" type="primary" v-if="row.status == 0" @click="handleConfirm(row)" class="link-btn"
+                 :underline="false" icon="el-icon-pointer">纭
+        </el-link>
+        <el-link size="small" type="primary" v-if="[0,1].includes(row.status)" @click="handleCancel(row)" class="link-btn" :underline="false"
+                 icon="el-icon-connection">浣滃簾
+        </el-link>
+        <el-link size="small" type="primary" v-if="[0,1].includes(row.status)" @click="handleAddFinanceDetail(row)" class="link-btn"
+                 :underline="false" icon="el-icon-edit-pen">璐圭敤鏄庣粏
+        </el-link>
+      </template>
     </avue-crud>
+    <el-dialog :title="pageF.title" v-model="pageF.open" class="avue-dialog avue-dialog--top" width="80%">
+      鎬昏垂鐢� <el-input-number v-model="form.totalAmount" disabled readonly></el-input-number>
+      <avue-crud style="margin-top: 10px "
+          :option="financeTableOption"
+          :data="boxTableData"
+                 :permission="permissionList2"
+                 @row-update="rowDetailUpdate"
+                 @row-save="rowDetailSave"
+      >
+        <template #menu="{row}">
+          <el-link size="small" type="primary" v-if="[0].includes(row.status)" @click="handleCancelDetail(row)" class="link-btn" :underline="false"
+                   icon="el-icon-connection">浣滃簾
+          </el-link>
+        </template>
+      </avue-crud>
+    </el-dialog>
+    
   </basicContainer>
 </template>
 
@@ -57,13 +85,19 @@
   exportTmsFinance,
   getTmsFinance,
   listTmsFinance,
-  updateTmsFinance
+  updateTmsFinance,confirmFinance,cancelFinance
 } from "@/api/tms/tmsFinance";
+import {addTmsFinanceDetail, listTmsFinanceDetail,
+  cancelFinanceDetail,
+  updateTmsFinanceDetail} from "@/api/tms/tmsFinanceDetail"
+
 import useCurrentInstance from "@/utils/useCurrentInstance";
 import {computed, reactive, ref, toRefs} from "vue";
 import {PagesInterface, PageQueryInterface} from "@/utils/globalInterface";
 import {usePagePlus} from "@/hooks/usePagePlus";
 import {hasPermission} from "@/utils/permissionUtils";
+import {ElMessage, ElMessageBox} from "element-plus";
+import {confirmOrder} from "@/api/tms/tmsDispatchOrder";
 
 const {proxy} = useCurrentInstance();
 const crudRef = ref();
@@ -77,6 +111,15 @@
   }
 })
 
+const permissionList2 = (key: any, row: any, index: any) => {
+  if (key == 'addBtn') {
+    return true
+  }else if (key == 'editBtn') {
+    return  [0].includes(row?.status)
+  } else {
+    return true;
+  }
+};
 const data = reactive({
   form: <TmsFinanceI>{},
   queryParams: <TmsFinanceI & PageQueryInterface>{},
@@ -86,542 +129,175 @@
     currentPage: 1,
   },
   selectionList: [],
+  boxTableData: []
 })
-const {queryParams, form, page, selectionList} = toRefs(data);
+const {queryParams, form, page, selectionList,boxTableData} = toRefs(data);
 const option = ref({
   pageKey: 'TmsFinance',
   rowKey: 'id',
+  addBtn: false,
+  editBtn: false,
+  delBtn: false,
+  viewBtn: false,
   column: {
-    id: {
-      label: '涓婚敭ID',
-      addDisplay: true,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-      search: false,
-    },
+
     systemCode: {
-      label: '绯荤粺缂栧彿锛屾柊澧炴椂鑷姩濉啓',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
+      label: '绯荤粺缂栧彿',
+      hide: false,minWidth: 180,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "绯荤粺缂栧彿锛屾柊澧炴椂鑷姩濉啓涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
-    },
-    planName: {
-      label: '搴旀敹',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "搴旀敹涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
-    },
-    dispatchId: {
-      label: '璋冨害鍗曞彿',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "璋冨害鍗曞彿涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
     },
     dispatchNo: {
-      label: '璋冨害鍗曞彿',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "璋冨害鍗曞彿涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
-    },
-    customerId: {
-      label: '瀹㈡埛ID',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "瀹㈡埛ID涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
-    },
-    customerCode: {
-      label: '瀹㈡埛缂栫爜',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
+      label: '璋冨害鍗曞彿',minWidth: 150,
       search: true,
     },
-    projectId: {
-      label: '鍏宠仈椤圭洰ID',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
+    planName: {
+      label: '搴旀敹鏂规鍚嶇О',minWidth: 150,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "鍏宠仈椤圭洰ID涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
+    },
+    customerName: {
+      label: '瀹㈡埛',minWidth: 150,
+      search: true,
     },
     projectName: {
-      label: '鍏宠仈椤圭洰鍚嶇О',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
+      label: '椤圭洰鍚嶇О',minWidth: 150,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "鍏宠仈椤圭洰鍚嶇О涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
-    },
-    vehicleProviderId: {
-      label: '杞﹁締鏈嶅姟鍟咺D',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "杞﹁締鏈嶅姟鍟咺D涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
     },
     vehicleProviderName: {
-      label: '杞﹁締鏈嶅姟鍟嗗悕绉�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "杞﹁締鏈嶅姟鍟嗗悕绉颁笉鑳戒负绌�", trigger: "blur"
-        }
-      ],
+      label: '杞﹁締鏈嶅姟鍟�',minWidth: 150,
+      search: false,
     },
     requiredVehicleTypes: {
-      label: '瑕佹眰杞﹀瀷锛岀敱璋冨害鍗曟暟鎹敓鎴�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "瑕佹眰杞﹀瀷锛岀敱璋冨害鍗曟暟鎹敓鎴愪笉鑳戒负绌�", trigger: "blur"
-        }
-      ],
+      label: '瑕佹眰杞﹀瀷',minWidth: 150,
+      search: false,
+      display: true, type: 'select', dicUrl: '/system/dict/data/type/license_type', dataType: 'string',
+
     },
     actualVehicleType: {
-      label: '瀹為檯杞﹀瀷',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
+      label: '瀹為檯杞﹀瀷',minWidth: 150,
+      search: false,
+      display: true, type: 'select', dicUrl: '/system/dict/data/type/license_type', dataType: 'string',
     },
-    mainDriverId: {
-      label: '鍏宠仈椹鹃┒鍛樼鐞咺D',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "鍏宠仈椹鹃┒鍛樼鐞咺D涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
+    mainDriverName: {
+      label: '涓婚┚椹跺憳',minWidth: 150,
+      search: false,
     },
-    mainDriver: {
-      label: '涓婚┚椹跺憳锛岀敱璋冨害鍗曟暟鎹敓鎴�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "涓婚┚椹跺憳锛岀敱璋冨害鍗曟暟鎹敓鎴愪笉鑳戒负绌�", trigger: "blur"
-        }
-      ],
-    },
-    assistantDriver: {
-      label: '鍓┚椹跺憳锛岀敱璋冨害鍗曟暟鎹敓鎴�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-    },
-    vehicleId: {
-      label: '杞﹁締绠$悊琛↖D',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "杞﹁締绠$悊琛↖D涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
-    },
+
     licensePlate: {
-      label: '杞︾墝鍙凤紝鐢辫皟搴﹀崟鏁版嵁鐢熸垚',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "杞︾墝鍙凤紝鐢辫皟搴﹀崟鏁版嵁鐢熸垚涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
+      label: '杞︾墝鍙�',minWidth: 150,
+      search: false,
     },
-    totalAmount: {
-      label: '鎬婚噾棰濓紝鐢辫皟搴﹀崟鏁版嵁鐢熸垚',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "鎬婚噾棰濓紝鐢辫皟搴﹀崟鏁版嵁鐢熸垚涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
+
+    transportLine: {
+      label: '杩愯緭绾胯矾',minWidth: 150, overHidden: true,
+      search: false,
     },
-    transportRoute: {
-      label: '杩愯緭绾胯矾锛岀敱璋冨害鍗曟暟鎹敓鎴�',
-      type: 'textarea', minRows: 3, maxRows: 5,
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "杩愯緭绾胯矾锛岀敱璋冨害鍗曟暟鎹敓鎴愪笉鑳戒负绌�", trigger: "blur"
-        }
-      ],
-    },
-    shipperId: {
-      label: '鍙戣揣浜�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "鍙戣揣浜轰笉鑳戒负绌�", trigger: "blur"
-        }
-      ],
-    },
+
     shipperName: {
-      label: '鍙戣揣浜哄悕绉�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
+      label: '鍙戣揣浜哄悕绉�',minWidth: 150,
+      search: false,
     },
-    shipperMobile: {
-      label: '鍙戣揣浜烘墜鏈哄彿',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
+    shipperRegionLabel: {
+      label: '鍙戣揣琛屾斂鍖哄煙',minWidth: 150,
+      search: false,
     },
-    shipperAddress: {
-      label: '鍙戣揣浜哄湴鍧�',
-      type: 'textarea', minRows: 3, maxRows: 5,
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-    },
-    shipperRegionCode: {
-      label: '鍙戣揣琛屾斂鍖哄煙',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-    },
-    receiverId: {
-      label: '鏀惰揣浜�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "鏀惰揣浜轰笉鑳戒负绌�", trigger: "blur"
-        }
-      ],
-    },
+
     receiverName: {
       label: '鏀惰揣浜哄悕绉�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
+      search: false,minWidth: 150,
     },
-    receiverMobile: {
-      label: '鏀惰揣浜烘墜鏈哄彿',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-    },
-    receiverAddress: {
-      label: '鏀惰揣浜哄湴鍧�',
-      type: 'textarea', minRows: 3, maxRows: 5,
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-    },
-    receiverRegionCode: {
+    receiverRegionLabel: {
       label: '鏀惰揣琛屾斂鍖哄煙',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
+      search: false,minWidth: 150,
+    },
+    totalAmount: {
+      label: '鎬婚噾棰�',minWidth: 150,
+      search: false,
+    },
+    confirmBy: {
+      label: '璐圭敤纭浜�',minWidth: 150,
+      search: false,
+    },
+    confirmTime: {
+      label: '璐圭敤纭鏃堕棿',minWidth: 180,
+      search: false,
     },
     status: {
-      label: '鐘舵�侊紝0=寰呯‘璁わ紝1=宸茬‘璁わ紝2=浣滃簾',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "鐘舵�侊紝0=寰呯‘璁わ紝1=宸茬‘璁わ紝2=浣滃簾涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
+      label: '鐘舵��',minWidth: 150,
+      search: false,fixed: 'right',
+      display: true, type: 'select', dicUrl: '/system/dict/data/type/finance_status', dataType: 'string',
+
     },
-    feeName: {
-      label: '璐圭敤鍚嶇О锛岀敓鎴愯垂鐢ㄦ椂鍥哄畾鐢熸垚涓�鏉¤繍璐�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "璐圭敤鍚嶇О锛岀敓鎴愯垂鐢ㄦ椂鍥哄畾鐢熸垚涓�鏉¤繍璐逛笉鑳戒负绌�", trigger: "blur"
-        }
-      ],
+    updateBy: {
+      label: '鏇存柊浜�',
+      search: false,minWidth: 150,
+    },
+    updateTime: {
+      label: '鏇存柊鏃堕棿',
+      search: false,minWidth: 180,
+    },
+  }
+})
+
+
+const financeTableOption = ref({
+  menu: true,
+  addBtn: true,
+  header: true, selection: false,
+  viewBtn: false,
+  delBtn: false,labelWidth:150,
+  column: {
+    feeType: {
+      label: '璐圭敤鍚嶇О',minWidth: 150,
+      display: true,disabled: true,
+      value: "99",
+      type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/fee_type',
     },
     initialFeeAmount: {
-      label: '鍒濆璐圭敤閲戦锛岀瓑浜庡尮閰嶆姤浠锋柟妗堢殑杩愯垂鎶ヤ环锛屾柊澧炲悗涓嶅彲淇敼',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "鍒濆璐圭敤閲戦锛岀瓑浜庡尮閰嶆姤浠锋柟妗堢殑杩愯垂鎶ヤ环锛屾柊澧炲悗涓嶅彲淇敼涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
+      label: '鍒濆鐧昏璐圭敤閲戦',minWidth: 150,
+      display: true,disabled: true,type: 'number',
     },
     actualFeeAmount: {
-      label: '瀹為檯璐圭敤閲戦锛岄粯璁ょ瓑浜庡垵濮嬭垂鐢紝鍙慨鏀�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
+      label: '瀹為檯璐圭敤閲戦',minWidth: 150, type: 'number',
+      display: true,
       rules: [
         {
           required: true,
-          message: "瀹為檯璐圭敤閲戦锛岄粯璁ょ瓑浜庡垵濮嬭垂鐢紝鍙慨鏀逛笉鑳戒负绌�", trigger: "blur"
+          message: "瀹為檯璐圭敤閲戦涓嶈兘涓虹┖", trigger: "change"
         }
       ],
     },
     feeVoucherUrl: {
-      label: '璐圭敤鍑瘉锛岃秴閾炬帴',
-      type: 'textarea', minRows: 3, maxRows: 5,
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
+      label: '璐圭敤鍑瘉',
+      display: true, hide:true,
+      accept:'string',dataType: 'string',
+      type: 'upload',
+      action: '/common/upload2',
+      propsHttp:{
+        home:'url',
+        name:'newFileName',
+      },
     },
     feeCreateTime: {
-      label: '璐圭敤鍒涘缓鏃堕棿锛屾柊澧炴椂鑷姩濉啓',
-      type: 'date', valueFormat: 'YYYY-MM-DD',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "璐圭敤鍒涘缓鏃堕棿锛屾柊澧炴椂鑷姩濉啓涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
-    },
-    createBy: {
-      label: '鍒涘缓浜猴紝鏂板鏃惰嚜鍔ㄥ~鍐�',
-      addDisplay: true,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-      search: false,
-      rules: [
-        {
-          required: true,
-          message: "鍒涘缓浜猴紝鏂板鏃惰嚜鍔ㄥ~鍐欎笉鑳戒负绌�", trigger: "blur"
-        }
-      ],
-    },
-    createTime: {
-      label: '鍒涘缓鏃堕棿锛屾柊澧炴椂鑷姩濉啓',
-      type: 'date', valueFormat: 'YYYY-MM-DD',
-      addDisplay: true,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-      search: false,
-      rules: [
-        {
-          required: true,
-          message: "鍒涘缓鏃堕棿锛屾柊澧炴椂鑷姩濉啓涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
+      label: '璐圭敤鍒涘缓鏃堕棿',minWidth: 180,
+      display: false,
     },
     updateBy: {
-      label: '鏇存柊浜猴紝鏂板鏃惰嚜鍔ㄥ~鍐欙紝琚慨鏀规椂鑷姩鏇存柊',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: true,
-      search: false,
-      rules: [
-        {
-          required: true,
-          message: "鏇存柊浜猴紝鏂板鏃惰嚜鍔ㄥ~鍐欙紝琚慨鏀规椂鑷姩鏇存柊涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
+      label: '鏇存柊浜�',minWidth: 150,
+      display: false,
     },
     updateTime: {
-      label: '鏇存柊鏃堕棿锛屾柊澧炴椂鑷姩濉啓锛岃淇敼鏃惰嚜鍔ㄦ洿鏂�',
-      type: 'date', valueFormat: 'YYYY-MM-DD',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: true,
-      search: false,
-      rules: [
-        {
-          required: true,
-          message: "鏇存柊鏃堕棿锛屾柊澧炴椂鑷姩濉啓锛岃淇敼鏃惰嚜鍔ㄦ洿鏂颁笉鑳戒负绌�", trigger: "blur"
-        }
-      ],
+      label: '鏇存柊鏃堕棿',minWidth: 180,
+      display: false,
+
     },
-    remark: {
-      label: '澶囨敞',
-      type: 'textarea', minRows: 3, maxRows: 5,
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: false,
-      search: false,
-    },
-    recordStatus: {
-      label: '璁板綍鐘舵�侊紝0=姝e父锛�1=浣滃簾',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "璁板綍鐘舵�侊紝0=姝e父锛�1=浣滃簾涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
-    },
-    planId: {
-      label: '',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
-    },
-    type: {
-      label: '绫诲瀷',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,
-      search: true,
+    status: {
+      label: '鐘舵��',minWidth: 150, fixed: 'right',
+      display: false,
+      type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/finance_detail_status',
     },
   }
 })
+
 
 const {
   tableData,
@@ -657,8 +333,98 @@
   },
   handleSelectionChangeFunc: (selection: any) => {
     selectionList.value = selection;
+  },
+  getBeginListFunc:()=>{
+    queryParams.value.type = 0;
   }
 })
 
+const handleConfirm = (row: any) => {
+  ElMessageBox.confirm("鏄惁瀵硅皟搴﹀崟鍙�" + row.dispatchNo + "鐨勫簲鏀舵柟妗堣繘琛岀‘璁� 锛�", '绯荤粺鎻愮ず', {
+    confirmButtonText: '纭畾',
+    cancelButtonText: '鍙栨秷',
+    type: 'warning'
+  }).then(() => {
+    return confirmFinance(row.id);
+  }).then(() => {
+    onLoad(page.value);
+    ElMessage({
+      message: "鎿嶄綔鎴愬姛锛�",
+      type: 'success'
+    })
+  });
+}
+const handleCancel = (row: any) => {
+  ElMessageBox.confirm("鏄惁瀵硅皟搴﹀崟鍙�" + row.dispatchNo + "鐨勫簲鏀舵柟妗堣繘琛屼綔搴燂紵", '绯荤粺鎻愮ず', {
+    confirmButtonText: '纭畾',
+    cancelButtonText: '鍙栨秷',
+    type: 'warning'
+  }).then(() => {
+    return cancelFinance(row.id);
+  }).then(() => {
+    onLoad(page.value);
+    ElMessage({
+      message: "鎿嶄綔鎴愬姛锛�",
+      type: 'success'
+    })
+  });
+}
+
+const handleAddFinanceDetail = (row:any) => {
+
+  listTmsFinanceDetail({financeId:row.id,pageNum:1,pageSize: 9999}).then(res=>{
+    boxTableData.value = res.rows || [];
+    pageF.title = '璐圭敤鏄庣粏';
+    pageF.open = true;
+    form.value = row;
+  })
+}
+
+const rowDetailUpdate = (row:any,index:any,done:any, loading:any) => {
+  updateTmsFinanceDetail( row).then(res=>{
+    ElMessage({
+      message: "淇敼鎴愬姛锛�",
+      type: 'success'
+    })
+    handleAddFinanceDetail(res.data);
+    onLoad(page.value);
+    done();
+  }).catch(()=>{
+    loading()
+  })
+}
+const rowDetailSave = (row:any, done:any, loading:any) => {
+row.financeId = form.value.id;
+addTmsFinanceDetail({...row,dispatchOrderId:form.value.dispatchId,
+  type: form.value.type,financeType:form.value.type
+}).then(res=>{
+  ElMessage({
+    message: "鏂板鎴愬姛锛�",
+    type: 'success'
+  })
+  handleAddFinanceDetail(res.data);
+  onLoad(page.value);
+  done();
+}).catch(()=>{
+  loading()
+})
+}
+
+const handleCancelDetail = (row: any) => {
+  ElMessageBox.confirm("鏄惁浣滃簾鎺� " + row.$feeType + "纭畾 锛�", '绯荤粺鎻愮ず', {
+    confirmButtonText: '纭畾',
+    cancelButtonText: '鍙栨秷',
+    type: 'warning'
+  }).then(() => {
+    return cancelFinanceDetail(row.id);
+  }).then(() => {
+    handleAddFinanceDetail(form.value);
+    onLoad(page.value);
+    ElMessage({
+      message: "鎿嶄綔鎴愬姛锛�",
+      type: 'success'
+    })
+  });
+}
 
 </script>

--
Gitblit v1.8.0