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/tmsDispatchOrder/index.vue |  110 +++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 91 insertions(+), 19 deletions(-)

diff --git a/ui/admin-ui3/src/views/tms/tmsDispatchOrder/index.vue b/ui/admin-ui3/src/views/tms/tmsDispatchOrder/index.vue
index a90207d..3198e16 100644
--- a/ui/admin-ui3/src/views/tms/tmsDispatchOrder/index.vue
+++ b/ui/admin-ui3/src/views/tms/tmsDispatchOrder/index.vue
@@ -91,42 +91,83 @@
       <template #menu="{ row, index, size }">
         <el-tooltip content="鏌ョ湅" placement="top" :enterable="false">
           <el-link type="primary" icon="el-icon-view" :underline="false" class="link-btn"
-            @click="$refs.crudRef.rowView(row, index)">
+            v-hasPermi="['tms:tmsDispatchOrder:query']" @click="$refs.crudRef.rowView(row, index)">
+          </el-link>
+        </el-tooltip>
+        <el-tooltip content="鍒犻櫎" placement="top" :enterable="false">
+          <el-link type="primary" icon="el-icon-delete" :underline="false" class="link-btn"
+            v-hasPermi="['tms:tmsDispatchOrder:remove']" v-if="row.status == 0"
+            @click="$refs.crudRef.rowDel(row, index)">
           </el-link>
         </el-tooltip>
 
         <el-tooltip content="缂栬緫" placement="top" :enterable="false">
           <el-link type="primary" icon="el-icon-edit" :underline="false" class="link-btn"
+            v-hasPermi="['tms:tmsDispatchOrder:edit']" v-if="[0, 1].includes(row.status)"
             @click="$refs.crudRef.rowEdit(row, index)">
           </el-link>
         </el-tooltip>
 
       </template>
       <template #menu-before="{ row }">
+
+
         <el-tooltip content="杩愯緭璐у搧鐧昏" placement="top">
           <el-link size="small" type="primary" @click="handleAddGoods(row)" class="link-btn"
             v-hasPermi="['tms:tmsGoodsDetail:add']" v-if="[0, 1, 2].includes(row.status)" :underline="false"
             icon="el-icon-document-add">
           </el-link>
         </el-tooltip>
-
         <el-tooltip content="瀹為檯杩愯緭璁板綍" placement="top">
           <el-link size="small" type="primary" @click="handleActual(row)" class="link-btn"
             v-hasPermi="['tms:tmsDispatchOrder:update']" v-if="[0, 1, 2].includes(row.status)" :underline="false"
             icon="el-icon-set-up">
           </el-link>
         </el-tooltip>
-
+        <el-tooltip content="纭畾" placement="top">
+          <el-link size="small" type="primary" v-if="row.status == 0" @click="handleConfirm(row)" class="link-btn"
+            v-hasPermi="['tms:tmsDispatchOrder:confirmOrder']" :underline="false" icon="el-icon-pointer">
+          </el-link>
+        </el-tooltip>
+        <el-tooltip content="浣滃簾" placement="top">
+          <el-link size="small" type="primary" v-if="[0, 1, 2].includes(row.status)" @click="handleClose(row)"
+            class="link-btn" v-hasPermi="['tms:tmsDispatchOrder:closeOrder']" :underline="false" icon="el-icon-close">
+          </el-link>
+        </el-tooltip>
         <el-tooltip content="澶嶅埗" placement="top">
           <el-link size="small" type="primary" @click="handleCopy(row)" class="link-btn" :underline="false"
             v-hasPermi="['tms:tmsDispatchOrder:copyOrder']" icon="el-icon-connection">
           </el-link>
         </el-tooltip>
-        <el-tooltip content="鏃ュ織" placement="top">
-          <el-link size="small" type="primary" @click="handleLog(row)" class="link-btn" :underline="false"
-            icon="el-icon-tickets">
+        <el-tooltip content="涓婁紶琛岀▼" placement="top">
+          <el-link size="small" type="primary" v-if="[1, 2].includes(row.status)" @click="handleUploadItinerary(row)"
+            v-hasPermi="['tms:tmsTrip:add']" class="link-btn" :underline="false" icon="el-icon-upload">
           </el-link>
         </el-tooltip>
+        <el-tooltip content="鏌ョ湅琛岀▼" placement="top">
+          <el-link size="small" type="primary" v-if="![0, 1].includes(row.status)" @click="handleLogItinerary(row)"
+            v-hasPermi="['tms:tmsTrip:list']" class="link-btn" :underline="false" icon="el-icon-view">
+          </el-link>
+        </el-tooltip>
+        <el-tooltip content="瀹屾垚琛岀▼" placement="top">
+          <el-link size="small" type="primary" v-if="[2].includes(row.status)" @click="handleOk(row)" class="link-btn"
+            v-hasPermi="['tms:tmsDispatchOrder:okOrder']" :underline="false" icon="el-icon-circle-check">
+          </el-link>
+        </el-tooltip>
+
+        <el-tooltip content="瀹屾垚琛岀▼" placement="top">
+          <el-link size="small" type="primary" v-if="[2].includes(row.status)" @click="handleOk(row)" class="link-btn"
+            v-hasPermi="['tms:tmsDispatchOrder:okOrder']" :underline="false" icon="el-icon-circle-check">
+          </el-link>
+        </el-tooltip>
+
+        <el-tooltip content="鏃ュ織" placement="top">
+          <el-link size="small" type="primary" @click="handleFlow(row)" class="link-btn"
+            v-hasPermi="['cwgl:estimatedReceivable:flog']"   :underline="false" icon="el-icon-document">
+          </el-link>
+        </el-tooltip>
+
+
       </template>
 
       <!-- <template #menu="{row}">
@@ -524,10 +565,16 @@
       <avue-crud :data="importLogData" :option="importLogOption" :table-loading="importLogLoading"
         @on-load="getImportLogList"></avue-crud>
     </el-dialog>
+
+     <flowLog ref="flowLogIshow" :isShow="false" :flowParams="flowParams"></flowLog>
+    
   </basicContainer>
+
+
 </template>
 
 <script setup name="tmsDispatchOrder" lang="ts">
+import { listTmsDispatchOrderLog } from "@/api/tms/tmsDispatchOrderLog";
 import {
   TmsDispatchOrderI,
   addTmsDispatchOrder,
@@ -536,6 +583,7 @@
   getTmsDispatchOrder,
   listTmsDispatchOrder,
   updateTmsDispatchOrder,
+  tmsDispatchOrderRecord,
   confirmOrder,
   copyOrder,
   okOrder,
@@ -586,6 +634,7 @@
 import { pushTmsQuoteFee } from "@/api/tms/tmsQuoteFee";
 import { $Print } from '@smallwei/avue'
 import { getToken } from "@/utils/auth";
+import { useAvueTableShowHide } from "@/hooks/useAvueTableShowHide";
 
 const { appContext } = getCurrentInstance();
 
@@ -650,6 +699,7 @@
   menuType: 'icon',
   viewBtn: false, // 鍏抽棴鍘熺敓鏌ョ湅
   editBtn: false, // 鍏抽棴鍘熺敓缂栬緫
+  delBtn: false, // 鍏抽棴鍘熺敓缂栬緫
 
   searchIndex: 7, // 鍏抽敭锛氭姌鍙犳椂鏄剧ず鐨勪釜鏁帮紙鏍规嵁浣犵殑瀛楁鏁伴噺璋冩暣锛�
   searchIcon: true, // 鍏抽敭锛氭樉绀烘姌鍙�/灞曞紑鎸夐挳
@@ -1681,7 +1731,7 @@
   column: {
 
     dispatchNo: {
-      label: '璋冨害鍗曞彿', minWidth: 120,
+      label: '璋冨害鍗曞彿', minWidth: 180,
       display: false,
       search: true,
     },
@@ -1692,7 +1742,7 @@
     },
     customerName: {
       label: '瀹㈡埛',
-      display: false, minWidth: 120,
+      display: false, minWidth: 250,
       search: true,
     },
     mainDriverName: {
@@ -1729,12 +1779,12 @@
     },
     projectName: {
       label: '椤圭洰鍚嶇О',
-      display: false, minWidth: 120,
+      display: false, minWidth: 250,
       search: true,
     },
 
     contractName: {
-      label: '鍏宠仈鍚堝悓鍚嶇О', minWidth: 120,
+      label: '鍏宠仈鍚堝悓鍚嶇О', minWidth: 250,
       display: false,
       search: true,
     },
@@ -1790,7 +1840,7 @@
     },
     isPrint: {
       label: '鏄惁鎵撳嵃鎵胯繍鍗�',
-      display: false, minWidth: 100,
+      display: false, minWidth: 120,
       search: true,
       type: 'select', dicUrl: '/system/dict/data/type/sys_number_is', dataType: 'string',
 
@@ -1814,11 +1864,11 @@
 
     shipperName: {
       label: '瑁呰揣鐐瑰悕绉�',
-      display: false, minWidth: 120,
+      display: false, minWidth: 200,
       search: true,
     },
     receiverName: {
-      label: '鍗歌揣鐐瑰悕绉�', minWidth: 120,
+      label: '鍗歌揣鐐瑰悕绉�', minWidth: 200,
       display: false,
       search: true,
     },
@@ -2955,6 +3005,9 @@
   }
 
 })
+
+useAvueTableShowHide(option.value);
+
 const handleConfirm = (row: any) => {
   ElMessageBox.confirm("鏄惁瀵硅皟搴﹀崟鍙�" + row.dispatchNo + "纭畾 锛�", '绯荤粺鎻愮ず', {
     confirmButtonText: '纭畾',
@@ -3024,7 +3077,7 @@
       vehicleId: row.vehicleId,
     }
     console.log(boxForm.value);
-    
+
   })
 }
 const cancelBox = () => {
@@ -3294,7 +3347,7 @@
 }
 
 const submitForm3 = () => {
-  updateTmsDispatchOrder(actualForm.value).then(res => {
+  tmsDispatchOrderRecord(actualForm.value).then(res => {
     ElMessage({
       message: "鎿嶄綔鎴愬姛锛�",
       type: 'success'
@@ -3923,7 +3976,7 @@
     //boxForm.value.rowItems = boxTableData.value;
     // console.log(tmsFinanceDetails.value);
     // console.log(boxForm.value);
-// 1. 鎻愬彇濉啓浜嗛噾棰濈殑鏁版嵁锛堥噾棰濆ぇ浜�0锛�
+    // 1. 鎻愬彇濉啓浜嗛噾棰濈殑鏁版嵁锛堥噾棰濆ぇ浜�0锛�
     const validDetails = tmsFinanceDetails.value.filter(item => item.actualFeeAmount && item.actualFeeAmount > 0);
 
     if (validDetails.length === 0) {
@@ -3954,8 +4007,8 @@
         message: "鎿嶄綔鎴愬姛锛�",
         type: 'success'
       })
-        open4.value = false;
-        onLoad(page.value)
+      open4.value = false;
+      onLoad(page.value)
       boxFormRef.value?.resetFields();
       getTab4Data();
     })
@@ -4551,6 +4604,21 @@
   }
   done(); // 蹇呴』璋冪敤 done 缁撴潫涓婁紶鐘舵��
 };
+
+
+const flowLogIshow = ref()
+const flowParams = ref([])
+
+const handleFlow = (row: string) => {
+  let data = {
+    headId: row.id,
+  }
+  listTmsDispatchOrderLog(data).then((res) => {
+    flowParams.value = res.rows
+    flowLogIshow.value.openModel()
+
+  })
+}
 </script>
 <style lang="scss" scoped>
 ::v-deep .cydprint .el-dialog__body {
@@ -4622,4 +4690,8 @@
   padding: 1px 11px;
   box-shadow: 0 0 0 1px var(--el-disabled-border-color) inset;
 }
-</style>
\ No newline at end of file
+
+.link-btn {
+  font-size: 18px;
+}
+</style>

--
Gitblit v1.8.0