From feb2adcf8ba6e56a31faea43d6e86d5da253cd75 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期五, 15 八月 2025 17:25:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/yagwly_fa_master' into yagwly_fa_master

---
 ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue |  108 +++++++++++++++++++-------
 ui/admin-ui3/src/views/cwgl/estimatedReceivable/index.vue       |   47 +++++++++--
 ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue   |   55 ++++++++-----
 3 files changed, 147 insertions(+), 63 deletions(-)

diff --git a/ui/admin-ui3/src/views/cwgl/estimatedReceivable/index.vue b/ui/admin-ui3/src/views/cwgl/estimatedReceivable/index.vue
index e910b87..e2b46db 100644
--- a/ui/admin-ui3/src/views/cwgl/estimatedReceivable/index.vue
+++ b/ui/admin-ui3/src/views/cwgl/estimatedReceivable/index.vue
@@ -31,9 +31,16 @@
       </template>
 
 
+
+
       <template #menu="{ size, row, index }">
-        <el-link class="link-btn" type="primary" v-if="row.isConfirmed == 1" :underline="false" plain :size="size"
-          @click="handleCancel(row)" v-hasPermi="['cwgl:estimatedReceivable:cancel']"> 鍙栨秷纭
+        <el-link class="link-btn"  type="primary" :underline="false" plain :size="size"
+          @click="handleEditBtn(row, index)" v-if="[0, 1].includes(row.relatedBillStatus) && row.isConfirmed != 2"
+          v-hasPermi="['cwgl:estimatedReceivable:cancel']"> 缂栬緫
+        </el-link>
+        <el-link class="link-btn"  type="primary" v-if="row.isConfirmed == 1"
+          :underline="false" plain :size="size" @click="handleCancel(row)"
+          v-hasPermi="['cwgl:estimatedReceivable:cancel']"> 鍙栨秷纭
         </el-link>
         <el-link class="link-btn" type="primary" v-if="row.isConfirmed == 0" :underline="false" plain
           @click="handleAffirm(row)" v-hasPermi="['cwgl:estimatedReceivable:confirm']"> 纭
@@ -107,7 +114,7 @@
 
   </el-dialog>
 
-  <flowLog ref="flowLogIshow" :flowParams="flowParams" ></flowLog>
+  <flowLog ref="flowLogIshow" :flowParams="flowParams"></flowLog>
 </template>
 
 <script setup name="estimatedReceivable" lang="ts">
@@ -115,8 +122,8 @@
   EstimatedReceivableI, addEstimatedReceivable, delEstimatedReceivable, exportEstimatedReceivable, getEstimatedReceivable, listEstimatedReceivable, updateEstimatedReceivable,
   getEstimatedReceivableConfirm, getCwglEstimatedReceivableCancel, getEstimatedReceivableInvalid
 } from "@/api/cwgl/estimatedReceivable";
-  import { listEstimatedReceivableLog} from "@/api/cwgl/estimatedReceivableLog";
-  import {listEstimatedReceivableBillLog} from "@/api/cwgl/estimatedReceivableBillLog";
+import { listEstimatedReceivableLog } from "@/api/cwgl/estimatedReceivableLog";
+import { listEstimatedReceivableBillLog } from "@/api/cwgl/estimatedReceivableBillLog";
 import {
   listPendingSettlementBusiness,
 } from "@/api/cwgl/pendingSettlementBusiness";
@@ -146,7 +153,9 @@
     pageNum: 1,
     pageSize: 10
   },
-  queryParams: <EstimatedReceivableI & PageQueryInterface>{},
+  queryParams: <EstimatedReceivableI & PageQueryInterface>{
+    feeType: 0
+  },
   page: <PagesInterface>{
     pageSize: 10,
     total: 0,
@@ -165,7 +174,9 @@
   editDisplay: false,
 
   addBtn: true,
-  editBtn: true,
+  editBtn: false,
+  editBtnIcon: ' ',
+
   delBtn: false,
   viewBtn: false,
 
@@ -246,13 +257,16 @@
     },
     relatedBillName: {
       label: '鍏宠仈璐﹀崟鍚嶇О',
+      addDisplay: false,  // 鏂板鏃朵笉鏄剧ず
+      editDisplay: false, // 淇敼鏃朵笉鏄剧ず
     },
     relatedBillStatus: {
       label: '鍏宠仈璐﹀崟鐘舵��',
       search: true,
       dataType: 'string',
       type: 'select',
-
+      addDisplay: false,  // 鏂板鏃朵笉鏄剧ず
+      editDisplay: false, // 淇敼鏃朵笉鏄剧ず
       dicUrl: '/system/dict/data/type/sys_related_status',
       //    formatter: (row, value) => {
       // // 鑷畾涔夋牸寮忓寲閫昏緫锛堝鏋滈渶瑕侊級
@@ -262,7 +276,8 @@
     isConfirmed: {
       label: '鏄惁纭',
       dataType: 'string',
-
+      addDisplay: false,  // 鏂板鏃朵笉鏄剧ず
+      editDisplay: false, // 淇敼鏃朵笉鏄剧ず
       search: true,
       type: 'select',
       dicUrl: '/system/dict/data/type/sys_affirm_status',
@@ -354,7 +369,13 @@
     },
     handleSelectionChangeFunc: (selection: any) => {
       selectionList.value = selection;
+    },
+    getBeginListFunc: (params = {}) => {
+      params.feeType = 0;
+      return params
+
     }
+
   })
 const dialog = reactive({
   visible: false,
@@ -444,8 +465,8 @@
   newForm.value.pageSize = pageSize;
   getEstimatedReceivableCancel();
 }
-const newOnLoad = () => {
-  getEstimatedReceivableCancel()
+const newOnLoad = (newPageF) => {
+  getEstimatedReceivableCancel(newPageF)
 }
 // 鍔犺浇闄勪欢鏁版嵁鐨勫嚱鏁�
 const loadAttachmentData = () => {
@@ -548,4 +569,8 @@
 
   })
 }
+const handleEditBtn = (row, index) => {
+  crudRef.value.rowEdit(row, index)
+  // option.value.editBtn = true;
+}
 </script>
diff --git a/ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue b/ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue
index 50225bc..4bd13f5 100644
--- a/ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue
+++ b/ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue
@@ -310,7 +310,7 @@
   // labelWidth: 120,
   column: {
     projectName: {
-      label: '椤圭洰鍚嶇О1',
+      label: '椤圭洰鍚嶇О',
     },
     dispatchNo: {
       label: '璋冨害鍗曞彿',
@@ -350,7 +350,9 @@
     },
     handleSelectionChangeFunc: (selection: any) => {
       selectionList.value = selection;
-    }
+    }, 
+    
+    
   })
 const dialog = reactive({
   visible: false,
@@ -382,6 +384,7 @@
 
 const handleAmend = (row) => {
   newFormData.value.billId = row.id;
+  importForm.value.billId = row.id;
   dispIshow.value = true;
   newOption.value.menu = true;
   listPendingSettlementBusiness({ billId: row.id }).then((res) => {
@@ -421,26 +424,31 @@
 }
 const newFormRef = ref();
 const submitForm = () => {
-  newFormRef.value!.validate(valid => {
-    if (valid) {
-      let data = {
-        billId: newForm.value.id,
-        fileName: newForm.value.attachment
-      }
-      addEstimatedReceivableLog(data).then((res1) => {
-        if (res1.code === 200) {
-          estimatedReceivableBillSettlement(newForm.value).then((res) => {
-            if (res.code === 200) {
-              proxy.$message.success('鎿嶄綔鎴愬姛');
-              dialog.visible = false;
-              newForm.value = {};
-
-            }
-          })
+  if(newTableData.value.length == 0) {
+    proxy.$message.error('鏃犲叧鑱旀槑缁嗭紝鏃犳硶缁撶畻');
+  }else {
+    newFormRef.value!.validate(valid => {
+      if (valid) {
+        let data = {
+          billId: newForm.value.id,
+          fileName: newForm.value.attachment
         }
-      })
-    }
-  });
+        addEstimatedReceivableLog(data).then((res1) => {
+          if (res1.code === 200) {
+            estimatedReceivableBillSettlement(newForm.value).then((res) => {
+              if (res.code === 200) {
+                onLoad(page.value);
+                proxy.$message.success('鎿嶄綔鎴愬姛');
+                dialog.visible = false;
+                newForm.value = {};
+  
+              }
+            })
+          }
+        })
+      }
+    });
+  }
 
 
 
@@ -448,8 +456,9 @@
 
 const submitFormTow = () => {
   proxy.$modal.confirm(`鏄惁纭淇敼璐﹀崟鍚嶇О?`).then(function () {
-    return updateEstimatedReceivableBillNmae(newForm.value);
+    return updateEstimatedReceivableBillNmae(importForm.value);
   }).then((res) => {
+     onLoad(page.value);
     proxy.$modal.msgSuccess(res.msg);
   })
 
@@ -523,7 +532,7 @@
 const flowParams = ref([])
 const handleFlow = (row: string) => {
   let data = {
-    estimatedId: row.id,
+    billId: row.id,
   }
   listEstimatedReceivableBillLog(data).then((res) => {
     flowParams.value = res.rows
diff --git a/ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue b/ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue
index 973645f..af35f3f 100644
--- a/ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue
+++ b/ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue
@@ -173,9 +173,12 @@
     projectName: {
       fixed: 'left',
       label: '椤圭洰鍚嶇О', search: true,
+      minWidth: 150,
+
     },
     dispatchNo: {
       label: '璋冨害鍗曞彿',
+      minWidth: 150,
       search: true,
       rules: [
         {
@@ -187,15 +190,19 @@
     customerName: {
       label: '瀹㈡埛鍚嶇О',
       search: true,
+      minWidth: 220,
+
       type: 'select',           // 璁剧疆涓轰笅鎷夋绫诲瀷
       dicData: [], // 浣跨敤 selectCustomName 浣滀负鏁版嵁婧�
       disabled: false  // 鏍规嵁闇�瑕佽缃槸鍚︾鐢�
     },
     licensePlateNumber: {
-      label: '杞︾墝', search: true, hide: true,
+      label: '杞︾墝', search: true,
+      minWidth: 120,
+
     },
     vehicleType: {
-      label: '杞﹀瀷', search: true, hide: true,
+      label: '杞﹀瀷', search: true,
     },
     createdTime: {
       label: '涓嬪崟鏃堕棿',
@@ -203,7 +210,7 @@
       search: true,
       type: 'date',
       format: 'YYYY-MM-DD',
-      searchSpan: 5, minWidth: 100,
+      searchSpan: 5, minWidth: 120,
       valueFormat: 'YYYY-MM-DD',
     },
     operationMode: {
@@ -239,16 +246,21 @@
 
     carrierName: {
       label: '鎵胯繍鍟�',
+      minWidth: 210,
     },
     departureLocation: {
       label: '鍑哄彂鍦�',
+      minWidth: 200,
     },
     arrivalLocation: {
       label: '鐩殑鍦�',
+      minWidth: 200,
+
     },
     isCreate: {
-      label: '鏄惁宸插叆璐�', dataType: 'string', search: true,
+      label: '鏄惁宸插叆璐�', dataType: 'string',
       type: 'select',
+      minWidth: 120,
       dicUrl: '/system/dict/data/type/sys_whether_type',
     },
     // vehicleId: {
@@ -256,27 +268,64 @@
     // },
 
 
-    // mainDriver: {
-    //   label: '涓婚┚椹跺憳',hide: true,
-    // },
-    // assistantDriver: {
-    //   label: '鍓┚椹跺憳',hide: true,
-    // },
-    // pointNum: {
-    //   label: '鎻愰�佽揣鐐规暟',hide: true,
-    // },
-    // businessContact: {
-    //   label: '涓氬姟鑱旂郴浜�',hide: true,
-    // },
-    // estimatedTotalIncome: {
-    //   label: '棰勪及鎬绘敹鍏�',
-    // },
-    // estimatedTotalCost: {
-    //   label: '棰勪及鎬绘垚鏈�',
-    // },
-    // estimatedProfit: {
-    //   label: '棰勪及鍒╂鼎',
-    // },
+    mainDriver: {
+      label: '涓婚┚椹跺憳',
+      minWidth: 120,
+
+    },
+    assistantDriver: {
+      label: '鍓┚椹跺憳',
+      minWidth: 120,
+
+    },
+    pointNum: {
+      label: '鎻愰�佽揣鐐规暟',
+      minWidth: 100,
+
+    },
+    businessContact: {
+      label: '涓氬姟鑱旂郴浜�',
+       minWidth: 120,
+    },
+    estimatedTotalIncome: {
+      label: '棰勪及鎬绘敹鍏�',
+       minWidth: 120,
+
+    },
+    estimatedTotalCost: {
+      label: '棰勪及鎬绘垚鏈�',
+       minWidth: 120,
+
+    },
+    estimatedProfit: {
+      label: '棰勪及鍒╂鼎',
+       minWidth: 120,
+
+    },
+
+    confirmedTotalIncome: {
+      label: '纭鎬绘敹鍏�',
+       minWidth: 120,
+
+    },
+    confirmedTotalCost: {
+      label: '纭鎬绘垚鏈�',
+       minWidth: 120,
+
+    },
+    isIncomeMatched: {
+      label: '鏄惁鍖归厤鏀跺叆',
+
+      type: 'select',
+      minWidth: 120,
+      dicUrl: '/system/dict/data/type/sys_matching_status',
+    },
+    isCostMatched: {
+      label: '鏄惁鍖归厤鎴愭湰',
+      type: 'select',
+      minWidth: 120,
+      dicUrl: '/system/dict/data/type/sys_matching_status',
+    },
     // electronicLock: {
     //   label: '鐢靛瓙閿�',
     // },
@@ -460,16 +509,17 @@
 const dispatchNo = ref('');
 const handleClick = (tab: TabsPaneContext, event: Event) => {
   if (tab.props.name == 'first') {
-    getListVable(dispatchNo.value, 0);
-  } else if (tab.props.name == 'second') {
     getListVable(dispatchNo.value, 1);
+  } else if (tab.props.name == 'second') {
+    getListVable(dispatchNo.value, 0);
   }
 }
 
 const handleFy = (row: any) => {
   dispatchNo.value = row.dispatchNo;
+  dialog.title = '璐圭敤鏄庣粏';
   if (activeName.value == 'first') {
-    listEstimatedReceivable({ dispatchNo: row.dispatchNo, feeType: 0 }).then((res) => {
+    listEstimatedReceivable({ dispatchNo: row.dispatchNo, feeType: 1 }).then((res) => {
       if (res.code === 200) {
         dialog.detail = true;
         tableDataList.value = res.rows || [];
@@ -477,7 +527,7 @@
     })
   } else if (activeName.value == 'second') {
     // 杩欓噷鍙互娣诲姞鏌ヨ鏀跺叆鐩稿叧鐨勯�昏緫
-    listEstimatedReceivable({ dispatchNo: row.dispatchNo, feeType: 1 }).then((res) => {
+    listEstimatedReceivable({ dispatchNo: row.dispatchNo, feeType: 0 }).then((res) => {
       if (res.code === 200) {
         dialog.detail = true;
         tableDataList.value = res.rows || [];

--
Gitblit v1.8.0