From 77f08eeab173fd944367f1cd735323896ec36e38 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期一, 12 一月 2026 15:39:12 +0800
Subject: [PATCH] 修改发票新增

---
 ui/admin-ui3/src/views/tms/tmsPlanOrder/index.vue | 1175 +++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 792 insertions(+), 383 deletions(-)

diff --git a/ui/admin-ui3/src/views/tms/tmsPlanOrder/index.vue b/ui/admin-ui3/src/views/tms/tmsPlanOrder/index.vue
index 86454f4..f47d39d 100644
--- a/ui/admin-ui3/src/views/tms/tmsPlanOrder/index.vue
+++ b/ui/admin-ui3/src/views/tms/tmsPlanOrder/index.vue
@@ -1,5 +1,5 @@
 <template>
-  <basicContainer >
+  <basicContainer>
     <avue-crud
         :option="option"
         :table-loading="pageF.loading"
@@ -50,396 +50,805 @@
 </template>
 
 <script setup name="tmsPlanOrder" lang="ts">
-  import {TmsPlanOrderI,addTmsPlanOrder, delTmsPlanOrder, exportTmsPlanOrder, getTmsPlanOrder, listTmsPlanOrder, updateTmsPlanOrder} from "@/api/tms/tmsPlanOrder";
-  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 {
+  TmsPlanOrderI,
+  addTmsPlanOrder,
+  delTmsPlanOrder,
+  exportTmsPlanOrder,
+  getTmsPlanOrder,
+  listTmsPlanOrder,
+  updateTmsPlanOrder
+} from "@/api/tms/tmsPlanOrder";
+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 {getTmsCustomerInfo, listTmsCustomerInfo} from "@/api/tms/tmsCustomerInfo";
+import {getTmsProject, listTmsProject} from "@/api/tms/tmsProject";
+import {getTmsContract, listTmsContract} from "@/api/tms/tmsContract";
+import {getTmsServiceProvider, listTmsServiceProvider} from "@/api/tms/tmsServiceProvider";
 
-  const { proxy } = useCurrentInstance();
-  const crudRef = ref();
+const {proxy} = useCurrentInstance();
+const crudRef = ref();
 
-  const permissionList = computed(()=>{
-    return {
-      addBtn: hasPermission(["tms:tmsPlanOrder:add"]),
-      delBtn: hasPermission(["tms:tmsPlanOrder:remove"]),
-      editBtn: hasPermission(["tms:tmsPlanOrder:edit"]),
-      viewBtn: hasPermission(["tms:tmsPlanOrder:query"]),
-    }
-  })
+const permissionList = computed(() => {
+  return {
+    addBtn: hasPermission(["tms:tmsPlanOrder:add"]),
+    delBtn: hasPermission(["tms:tmsPlanOrder:remove"]),
+    editBtn: hasPermission(["tms:tmsPlanOrder:edit"]),
+    viewBtn: hasPermission(["tms:tmsPlanOrder:query"]),
+  }
+})
 
-  const data = reactive({
-    form:<TmsPlanOrderI>{},
-    queryParams:<TmsPlanOrderI&PageQueryInterface>{},
-    page: <PagesInterface>{
-      pageSize: 10,
-      total: 0,
-      currentPage: 1,
-    },
-    selectionList:[],
-  })
-  const {queryParams,form,page,selectionList} = toRefs(data);
-  const option = ref({
-    pageKey: 'TmsPlanOrder',
-    rowKey: 'id',
-    column: {
-                                id: {
-          label: '涓婚敭ID',
-                  addDisplay : false,
-        editDisplay : false,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-                                planCode: {
-          label: '璁″垝鍗曞彿锛岀郴缁熻嚜鍔ㄧ敓鎴愬敮涓�缂栧彿',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay :true,
-        hide :false,
-        search :true,
-                      rules: [
-              {
-                required: true,
-                message: "璁″垝鍗曞彿锛岀郴缁熻嚜鍔ㄧ敓鎴愬敮涓�缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                planName: {
+const data = reactive({
+  form: <TmsPlanOrderI>{},
+  queryParams: <TmsPlanOrderI & PageQueryInterface>{},
+  page: <PagesInterface>{
+    pageSize: 10,
+    total: 0,
+    currentPage: 1,
+  },
+  selectionList: [],
+})
+const {queryParams, form, page, selectionList} = toRefs(data);
+const option = ref({
+  pageKey: 'TmsPlanOrder',
+  rowKey: 'id',
+  labelWidth: 120,
+  searchLabelWidth: 120,
+  group: [
+    {
+      label: '鍩烘湰淇℃伅',
+      prop: 'jbxx',
+      column:{
+        planCode: {
+          label: '璁″垝鍗曞彿',
+          addDisplay: false,
+          editDisplay: true, disabled: true,
+          viewDisplay: 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" }
-            ],                  },
-                                customerId: {
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "璁″垝鍗曞悕绉颁笉鑳戒负绌�", trigger: "blur"
+            }
+          ],
+        },
+        customerId: {
           label: '瀹㈡埛',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay :true,
-        hide :false,
-        search :true,
-                      rules: [
-              {
-                required: true,
-                message: "瀹㈡埛涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                projectId: {
-          label: '鍏宠仈椤圭洰',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay :true,
-        hide :false,
-        search :true,
-                  },
-                                contractId: {
-          label: '鍏宠仈鍚堝悓',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay :true,
-        hide :false,
-        search :true,
-                  },
-                                orderType: {
-          label: '璁㈠崟绫诲瀷',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay :true,
-        hide :false,
-        search :true,
-                      rules: [
-              {
-                required: true,
-                message: "璁㈠崟绫诲瀷涓嶈兘涓虹┖", trigger: "change"
-                 }
-            ],                  },
-                                signType: {
-          label: '绛炬敹绫诲瀷',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay :true,
-        hide :false,
-        search :true,
-                      rules: [
-              {
-                required: true,
-                message: "绛炬敹绫诲瀷涓嶈兘涓虹┖", trigger: "change"
-                 }
-            ],                  },
-                                vehicleProviderId: {
-          label: '杞﹁締鏈嶅姟鍟�',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay :true,
-        hide :false,
-        search :true,
-                      rules: [
-              {
-                required: true,
-                message: "杞﹁締鏈嶅姟鍟嗕笉鑳戒负绌�", trigger: "blur" }
-            ],                  },
-                                isUrgent: {
-          label: '鏄惁绱ф��',
-                      type: 'radio', dicUrl: '/system/dict/data/type/sys_number_is',
-                  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" }
-            ],                  },
-                                shipperMobile: {
-          label: '鍙戣揣浜烘墜鏈哄彿',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-                                shipperAddress: {
-          label: '鍙戣揣浜哄湴鍧�',
-                      type: 'textarea', minRows: 3, maxRows: 5,
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-                                shipperRegionCode: {
-          label: '鍙戣揣琛屾斂鍖哄煙',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-                                receiverId: {
-          label: '鏀惰揣浜�',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay :true,
-        hide :false,
-        search :true,
-                      rules: [
-              {
-                required: true,
-                message: "鏀惰揣浜轰笉鑳戒负绌�", trigger: "blur" }
-            ],                  },
-                                receiverMobile: {
-          label: '鏀惰揣浜烘墜鏈哄彿',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-                                receiverAddress: {
-          label: '鏀惰揣浜哄湴鍧�',
-                      type: 'textarea', minRows: 3, maxRows: 5,
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-                                receiverRegionCode: {
-          label: '鏀惰揣琛屾斂鍖哄煙',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-                                vehicleTypeIds: {
-          label: '閫傜敤杞﹀瀷',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-                                planStartTime: {
-          label: '璁″垝寮�濮嬫椂闂�',
-                      type: 'date', valueFormat: 'YYYY-MM-DD',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-                                planEndTime: {
-          label: '璁″垝缁撴潫鏃堕棿',
-                      type: 'date', valueFormat: 'YYYY-MM-DD',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-                                planTotalCount: {
-          label: '璁″垝杞︽鎬绘暟',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-                                allowOverDispatch: {
-          label: '鏄惁鍏佽瓒呮淳',
-                      type: 'radio', dicUrl: '/system/dict/data/type/sys_number_is',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                      rules: [
-              {
-                required: true,
-                message: "鏄惁鍏佽瓒呮淳涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                requiredLoadTime: {
-          label: '瑕佹眰瑁呰揣鏃堕棿',
-                      type: 'date', valueFormat: 'YYYY-MM-DD',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-                                requiredUnloadTime: {
-          label: '瑕佹眰鍗歌揣鏃堕棿',
-                      type: 'date', valueFormat: 'YYYY-MM-DD',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-                                transportType: {
-          label: '杩愯緭鏂瑰紡',
-                      type: 'select', dataType:'string', dicUrl: '/system/dict/data/type/dispatch_transport_mode',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-                                loadMethod: {
-          label: '閰嶈浇鏂瑰紡',
-                      type: 'select', dataType:'string', dicUrl: '/system/dict/data/type/load_method',
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-                                status: {
-          label: '鐘舵��',
-                      type: 'select', dataType:'string', dicUrl: '/system/dict/data/type/tms_dispatch_order_status',
-                  addDisplay : false,
-        editDisplay : false,
-        viewDisplay :true,
-        hide :false,
-        search :true,
-                      rules: [
-              {
-                required: true,
-                message: "鐘舵�佷笉鑳戒负绌�", trigger: "change"
-                 }
-            ],                  },
-                                createBy: {
-          label: '鍒涘缓浜�',
-                  addDisplay : false,
-        editDisplay : false,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-                                createTime: {
-          label: '鍒涘缓鏃堕棿',
-                      type: 'date', valueFormat: 'YYYY-MM-DD',
-                  addDisplay : false,
-        editDisplay : false,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                      rules: [
-              {
-                required: true,
-                message: "鍒涘缓鏃堕棿涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                updateBy: {
-          label: '鏇存柊浜�',
-                  addDisplay : false,
-        editDisplay : false,
-        viewDisplay : false,
-        hide :false,
-        search : false,
-                  },
-                                updateTime: {
-          label: '鏇存柊鏃堕棿',
-                      type: 'date', valueFormat: 'YYYY-MM-DD',
-                  addDisplay : false,
-        editDisplay : false,
-        viewDisplay : false,
-        hide :false,
-        search : false,
-                      rules: [
-              {
-                required: true,
-                message: "鏇存柊鏃堕棿涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                remark: {
-          label: '澶囨敞',
-                      type: 'textarea', minRows: 3, maxRows: 5,
-                  addDisplay :true,
-        editDisplay :true,
-        viewDisplay : false,
-        hide : true,
-        search : false,
-                  },
-          }
-  })
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "瀹㈡埛涓嶈兘涓虹┖", trigger: "change"
+            }
+          ],
+          type: 'table',suffixIcon:'search',dataType: 'string',
+          children:{
+            border: true,
+            searchMenuSpan: 5,
+            column:{
+              customerType: {
+                label: '瀹㈡埛绫诲瀷', minWidth: 120,
+                type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/customer_type',
+                search: true,
+              },
+              customerShortName: {
+                label: '瀹㈡埛绠�绉�', minWidth: 130,
+                search: true,
+              },
+              customerCode: {
+                label: '瀹㈡埛缂栧彿',minWidth: 120,
+                search: true,
+              },
+              contactName: {
+                label: '鑱旂郴浜哄鍚�',minWidth: 120,
+              },
+              signCompanyName: {
+                label: '绛剧害鍏徃', minWidth: 150,
+              },
+            },
 
-  const { tableData,pageF,rowSave,rowUpdate,rowDel,beforeOpen,searchChange,
-    searchReset,selectionChange,onLoad,currentChange,sizeChange,handleDelete,handleExport,handleUpdate,refreshChange} = usePagePlus({
-    form:form,
-    option:option,
-    queryParams:queryParams,
-    idKey:'id',
-    page:page.value,
-    getListApi:listTmsPlanOrder,
-    getDetailApi:getTmsPlanOrder,
-    exportApi:exportTmsPlanOrder,
-    deleteApi:delTmsPlanOrder,
-    addApi:addTmsPlanOrder,
-    updateApi:updateTmsPlanOrder,
-    handleUpdateFunc:()=>{
-      crudRef.value.rowEdit(selectionList.value[0]);
+          },
+          props:{
+            label: 'customerShortName',
+            value: 'id'
+          },
+          onLoad: ({ page, value, data }: { page: any, value: any, data: any }, callback:any) => {
+            if (value){
+              let id = value;
+              if (Array.isArray(value)){
+                id = value[0]
+              }
+              getTmsCustomerInfo(id).then(res=>{
+                return callback(res.data||{})
+              })
+            }else{
+              listTmsCustomerInfo({pageSize:page.pageSize,pageNum:page.currentPage,...data}).then(res=>{
+                return callback({
+                  total: res.total,
+                  data: res.rows||[],
+                })
+              })
+            }
+
+          }
+        },
+        projectId: {
+          label: '鍏宠仈椤圭洰',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false,
+          search: true,
+          type: 'table',suffixIcon:'search',dataType: 'string',
+          children:{
+            border: true,
+            searchMenuSpan: 5,
+            column:{
+              projectName: {
+                label: '椤圭洰鍚嶇О', minWidth: 130,
+                search: true,
+              },
+              projectCode: {
+                label: '椤圭洰缂栧彿',minWidth: 120,
+                search: true,
+              },
+              status: {
+                label: '鐘舵��',dataType: 'string',
+                type: 'radio', dicUrl: '/system/dict/data/type/data_status',
+                addDisplay: false,minWidth: 150,
+                editDisplay: false,
+                viewDisplay: true,
+                hide: false,
+                search: true,
+                rules: [
+                  {
+                    required: true,
+                    message: "鐘舵�佷笉鑳戒负绌�", trigger: "blur"
+                  }
+                ],
+              },
+            },
+
+          },
+          props:{
+            label: 'projectName',
+            value: 'id'
+          },
+          onLoad: ({ page, value, data }: { page: any, value: any, data: any }, callback:any) => {
+            if (value){
+              let id = value;
+              if (Array.isArray(value)){
+                id = value[0]
+              }
+              getTmsProject(id).then(res=>{
+                return callback(res.data||{})
+              })
+            }else{
+              listTmsProject({pageSize:page.pageSize,pageNum:page.currentPage,...data}).then(res=>{
+                return callback({
+                  total: res.total,
+                  data: res.rows||[],
+                })
+              })
+            }
+
+          }
+
+        },
+        contractId: {
+          label: '鍏宠仈鍚堝悓',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false,
+          search: true,
+          type: 'table',suffixIcon:'search',dataType: 'string',
+          children:{
+            border: true,
+            searchMenuSpan: 5,
+            column:{
+              contractCode: {
+                label: '鍚堝悓缂栧彿', minWidth: 130,
+                search: true,
+              },
+              contractName: {
+                label: '鍚堝悓鍚嶇О',minWidth: 120,
+                search: true,
+              },
+              contractType: {
+                label: '鍚堝悓绫诲瀷',minWidth: 120,
+                type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/contract_type',
+                search: true,
+              },
+              signDate: {
+                label: '绛剧害鏃ユ湡', minWidth: 150,
+              },
+              contractDate: {
+                label: '鍚堝悓鏈熼檺',
+                display: false,
+                hide: false,
+                search: false,minWidth:300,
+                formatter: (row:any, column:any) => {
+                  if (row.contractStartDate && row.contractEndDate) {
+                    return row.contractStartDate + '~' + row.contractEndDate
+                  }
+                  return ''
+                },
+              },
+            },
+
+          },
+          props:{
+            label: 'contractName',
+            value: 'id'
+          },
+          onLoad: ({ page, value, data }: { page: any, value: any, data: any }, callback:any) => {
+            if (value){
+              let id = value;
+              if (Array.isArray(value)){
+                id = value[0]
+              }
+              getTmsContract(id).then(res=>{
+                return callback(res.data||{})
+              })
+            }else{
+              listTmsContract({pageSize:page.pageSize,pageNum:page.currentPage,...data}).then(res=>{
+                return callback({
+                  total: res.total,
+                  data: res.rows||[],
+                })
+              })
+            }
+
+          }
+
+        },
+        orderType: {
+          label: '璁㈠崟绫诲瀷',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          type: 'select',dataType:'string', dicUrl: '/system/dict/data/type/order_type',
+          hide: false,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "璁㈠崟绫诲瀷涓嶈兘涓虹┖", trigger: "change"
+            }
+          ],
+        },
+        signType: {
+          label: '绛炬敹绫诲瀷',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false,
+          type: 'select',dataType:'string', dicUrl: '/system/dict/data/type/sign_type',
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "绛炬敹绫诲瀷涓嶈兘涓虹┖", trigger: "change"
+            }
+          ],
+        },
+        vehicleProviderId: {
+          label: '杞﹁締鏈嶅姟鍟�',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: true,
+          rules: [
+            {
+              required: true,
+              message: "杞﹁締鏈嶅姟鍟嗕笉鑳戒负绌�", trigger: "blur"
+            }
+          ],
+          type: 'table', suffixIcon: 'search',dataType: 'string',
+          children: {
+            border: true,
+            searchLabelWidth: 100,
+            searchMenuSpan: 5,
+            column: {
+              serviceCode: {
+                label: '鏈嶅姟鍟嗙紪鐮�', minWidth: 130,
+                search: true,
+              },
+              serviceShortName: {
+                label: '鏈嶅姟鍟嗙畝绉�', minWidth: 120,
+                search: true,
+              },
+              serviceType: {
+                label: '鏈嶅姟绫诲瀷', multiple: true,
+                type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/service_type',
+                minWidth: 150,
+              },
+              isTransport: {
+                label: '鏄惁杩愯緭鏈嶅姟鍟�',
+                type: 'radio', dataType: 'string', dicUrl: '/system/dict/data/type/sys_number_is',
+                minWidth: 150,
+              },
+              isStorage: {
+                label: '鏄惁浠撳偍鏈嶅姟鍟�',
+                type: 'radio', dataType: 'string', dicUrl: '/system/dict/data/type/sys_number_is',
+                minWidth: 150,
+              },
+              isExpress: {
+                label: '鏄惁蹇�掓湇鍔″晢',
+                type: 'radio', dataType: 'string', dicUrl: '/system/dict/data/type/sys_number_is',
+                minWidth: 150,
+              },
+              contactName: {
+                label: '鑱旂郴浜哄鍚�', minWidth: 120,
+              },
+            },
+
+          },
+          props: {
+            label: 'serviceShortName',
+            value: 'id'
+          },
+          onLoad: ({page, value, data}: { page: any, value: any, data: any }, callback: any) => {
+            if (value) {
+              let id = value;
+              if (Array.isArray(value)) {
+                id = value[0]
+              }
+              getTmsServiceProvider(id).then(res => {
+                return callback(res.data || {})
+              })
+            } else {
+              listTmsServiceProvider({pageSize: page.pageSize, pageNum: page.currentPage, ...data}).then(res => {
+                return callback({
+                  total: res.total,
+                  data: res.rows || [],
+                })
+              })
+            }
+
+          }
+
+        },
+
+        isUrgent: {
+          label: '鏄惁绱ф��',
+          type: 'radio',dataType: 'string', dicUrl: '/system/dict/data/type/sys_number_is',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "鏄惁绱ф�ヤ笉鑳戒负绌�", trigger: "blur"
+            }
+          ],
+        },
+      }
     },
-    handleSelectionChangeFunc:(selection:any)=>{
-      selectionList.value = selection;
+    {
+      label: '鍙戣揣浜轰俊鎭�',
+      prop: 'fhrxx',
+      column: {
+        shipperId: {
+          label: '鍙戣揣浜�',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "鍙戣揣浜轰笉鑳戒负绌�", trigger: "blur"
+            }
+          ],
+        },
+        shipperMobile: {
+          label: '鍙戣揣浜烘墜鏈哄彿',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: false,
+          hide: true,
+          search: false,
+        },
+
+        shipperRegionCode: {
+          label: '鍙戣揣琛屾斂鍖哄煙',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: false,
+          span:24,
+          hide: true,
+          search: false,
+        },
+        shipperAddress: {
+          label: '鍙戣揣浜哄湴鍧�',
+          type: 'textarea', minRows: 3, maxRows: 5,
+          addDisplay: true,
+          editDisplay: true,span:24,
+          viewDisplay: false,
+          hide: true,
+          search: false,
+        },
+      }
+    },
+    {
+      label: '鏀惰揣浜轰俊鎭�',
+      prop: 'shxx',
+      column: {
+        receiverId: {
+          label: '鏀惰揣浜�',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "鏀惰揣浜轰笉鑳戒负绌�", trigger: "blur"
+            }
+          ],
+        },
+        receiverMobile: {
+          label: '鏀惰揣浜烘墜鏈哄彿',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: false,
+          hide: true,
+          search: false,
+        },
+
+        receiverRegionCode: {
+          label: '鏀惰揣琛屾斂鍖哄煙',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: false,      span:24,
+          hide: true,
+          search: false,
+        },
+        receiverAddress: {
+          label: '鏀惰揣浜哄湴鍧�',
+          type: 'textarea', minRows: 3, maxRows: 5,
+          span:24,
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: false,
+          hide: true,
+          search: false,
+        },
+      }
+
+    },
+    {
+      label: '璁″垝璇︽儏',
+      prop: 'jhxq',
+      column: {
+        vehicleTypeIds: {
+          label: '閫傜敤杞﹀瀷',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: false,
+          hide: true,
+          search: false,
+        },
+        planStartTime: {
+          label: '璁″垝寮�濮嬫椂闂�',
+          type: 'date', valueFormat: 'YYYY-MM-DD',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: false,
+          hide: true,
+          search: false,
+        },
+        planEndTime: {
+          label: '璁″垝缁撴潫鏃堕棿',
+          type: 'date', valueFormat: 'YYYY-MM-DD',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: false,
+          hide: true,
+          search: false,
+        },
+        planTotalCount: {
+          label: '璁″垝杞︽鎬绘暟',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: false,
+          hide: true,
+          search: false,
+        },
+        allowOverDispatch: {
+          label: '鏄惁鍏佽瓒呮淳',
+          type: 'radio', dicUrl: '/system/dict/data/type/sys_number_is',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: false,
+          hide: true,
+          search: false,
+          rules: [
+            {
+              required: true,
+              message: "鏄惁鍏佽瓒呮淳涓嶈兘涓虹┖", trigger: "blur"
+            }
+          ],
+        },
+        requiredLoadTime: {
+          label: '瑕佹眰瑁呰揣鏃堕棿',
+          type: 'date', valueFormat: 'YYYY-MM-DD',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: false,
+          hide: true,
+          search: false,
+        },
+        requiredUnloadTime: {
+          label: '瑕佹眰鍗歌揣鏃堕棿',
+          type: 'date', valueFormat: 'YYYY-MM-DD',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: false,
+          hide: true,
+          search: false,
+        },
+        transportType: {
+          label: '杩愯緭鏂瑰紡',
+          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/dispatch_transport_mode',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: false,
+          hide: true,
+          search: false,
+        },
+        loadMethod: {
+          label: '閰嶈浇鏂瑰紡',
+          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/load_method',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: false,
+          hide: true,
+          search: false,
+        },
+      }
+    },
+    {
+      label: '鍏朵粬淇℃伅',
+      prop: 'qtxq',
+      column: {
+        status: {
+          label: '鐘舵��',
+          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/tms_dispatch_order_status',
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: true,
+          hide: false,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "鐘舵�佷笉鑳戒负绌�", trigger: "change"
+            }
+          ],
+        },
+        createBy: {
+          label: '鍒涘缓浜�',
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: false,
+          hide: true,
+          search: false,
+        },
+        createTime: {
+          label: '鍒涘缓鏃堕棿',
+          type: 'date', valueFormat: 'YYYY-MM-DD',
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: false,
+          hide: true,
+          search: false,
+          rules: [
+            {
+              required: true,
+              message: "鍒涘缓鏃堕棿涓嶈兘涓虹┖", trigger: "blur"
+            }
+          ],
+        },
+        updateBy: {
+          label: '鏇存柊浜�',
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: false,
+          hide: false,
+          search: false,
+        },
+        updateTime: {
+          label: '鏇存柊鏃堕棿',
+          type: 'date', valueFormat: 'YYYY-MM-DD',
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: false,
+          hide: false,
+          search: false,
+          rules: [
+            {
+              required: true,
+              message: "鏇存柊鏃堕棿涓嶈兘涓虹┖", trigger: "blur"
+            }
+          ],
+        },
+        remark: {
+          label: '澶囨敞',
+          type: 'textarea', minRows: 3, maxRows: 5,
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: false,
+          hide: true,
+          search: false,
+        },
+      }
     }
-  })
+  ],
+  column: {
+    // id: {
+    //   label: '涓婚敭ID',
+    //   addDisplay: false,
+    //   editDisplay: false,
+    //   viewDisplay: false,
+    //   hide: true,
+    //   search: false,
+    // },
+    planCode: {
+      label: '璁″垝鍗曞彿',
+      display: false,
+      hide: false,
+      search: true,
+    },
+    planName: {
+      label: '璁″垝鍗曞悕绉�',
+      display: false,
+
+      hide: false,
+      search: true,
+    },
+    customerName: {
+      label: '瀹㈡埛',
+      display: false,
+      hide: false,
+      search: true,
+    },
+    projectName: {
+      label: '鍏宠仈椤圭洰',
+      display: false,
+      hide: false,
+      search: true,
+    },
+    contractName: {
+      label: '鍏宠仈鍚堝悓',
+      display: false,
+      hide: false,
+      search: true,
+    },
+    orderType: {
+      label: '璁㈠崟绫诲瀷',
+      display: false,
+      hide: false,
+      search: true,
+    },
+    signType: {
+      label: '绛炬敹绫诲瀷',
+      display: false,
+      hide: false,
+      search: true,
+    },
+    vehicleProviderName: {
+      label: '杞﹁締鏈嶅姟鍟�',
+      display: false,
+      hide: false,
+      search: true,
+    },
+    isUrgent: {
+      label: '鏄惁绱ф��',
+      type: 'radio',dataType:'string', dicUrl: '/system/dict/data/type/sys_number_is',
+      display: false,
+      hide: false,
+      search: true,
+    },
+    shipperName: {
+      label: '鍙戣揣浜�',
+      display: false,
+      hide: false,
+      search: true,
+    },
+    receiverName: {
+      label: '鏀惰揣浜�',
+      display: false,
+      hide: false,
+      search: true,
+    },
+    status: {
+      label: '鐘舵��',
+      type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/tms_dispatch_order_status',
+      display: false,
+      hide: false,
+      search: true,
+
+    },
+
+    updateBy: {
+      label: '鏇存柊浜�',
+      display: false,
+      hide: false,
+      search: false,
+    },
+    updateTime: {
+      label: '鏇存柊鏃堕棿',
+      display: false,
+      hide: false,
+      search: false,
+    },
+
+  }
+})
+
+const {
+  tableData,
+  pageF,
+  rowSave,
+  rowUpdate,
+  rowDel,
+  beforeOpen,
+  searchChange,
+  searchReset,
+  selectionChange,
+  onLoad,
+  currentChange,
+  sizeChange,
+  handleDelete,
+  handleExport,
+  handleUpdate,
+  refreshChange
+} = usePagePlus({
+  form: form,
+  option: option,
+  queryParams: queryParams,
+  idKey: 'id',
+  page: page.value,
+  getListApi: listTmsPlanOrder,
+  getDetailApi: getTmsPlanOrder,
+  exportApi: exportTmsPlanOrder,
+  deleteApi: delTmsPlanOrder,
+  addApi: addTmsPlanOrder,
+  updateApi: updateTmsPlanOrder,
+  handleUpdateFunc: () => {
+    crudRef.value.rowEdit(selectionList.value[0]);
+  },
+  handleSelectionChangeFunc: (selection: any) => {
+    selectionList.value = selection;
+  }
+})
 
 
 </script>

--
Gitblit v1.8.0