From 4553046c0f0f11aee67f0f5f84ed5ca80fa4ebd6 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期一, 15 十二月 2025 14:52:03 +0800
Subject: [PATCH] 新增客户管理id

---
 ui/admin-ui3/src/views/tms/tmsShelf/index.vue |  575 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 381 insertions(+), 194 deletions(-)

diff --git a/ui/admin-ui3/src/views/tms/tmsShelf/index.vue b/ui/admin-ui3/src/views/tms/tmsShelf/index.vue
index 5516be8..a58c9fa 100644
--- a/ui/admin-ui3/src/views/tms/tmsShelf/index.vue
+++ b/ui/admin-ui3/src/views/tms/tmsShelf/index.vue
@@ -60,10 +60,12 @@
   updateTmsShelf
 } from "@/api/tms/tmsShelf";
 import useCurrentInstance from "@/utils/useCurrentInstance";
-import {computed, reactive, ref, toRefs} from "vue";
+import {computed, onMounted, reactive, ref, toRefs, watch} from "vue";
 import {PagesInterface, PageQueryInterface} from "@/utils/globalInterface";
 import {usePagePlus} from "@/hooks/usePagePlus";
 import {hasPermission} from "@/utils/permissionUtils";
+import {getTmsServiceProvider, listTmsServiceProvider} from "@/api/tms/tmsServiceProvider";
+import {getTmsSettlementEntity, listTmsSettlementEntity} from "@/api/tms/tmsSettlementEntity";
 
 const {proxy} = useCurrentInstance();
 const crudRef = ref();
@@ -93,256 +95,441 @@
   rowKey: 'id',
   labelWidth: 150,
   searchLabelWidth: 150,
+  group: [
+    {
+      label: '鍩烘湰淇℃伅',
+      prop: 'jbxx',
+      column:{
+        systemCode: {
+          label: '绯荤粺缂栧彿',
+          addDisplay: false,minWidth:150,
+          editDisplay: false,
+          viewDisplay: true,
+          hide: false,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "绯荤粺缂栧彿涓嶈兘涓虹┖", trigger: "blur"
+            }
+          ],
+        },
+        selfLeasType: {
+          label: '鑷绫诲瀷',
+          type: 'radio', dataType: 'string', dicUrl: '/system/dict/data/type/self_leas_type',
+          addDisplay: true,
+          editDisplay: true,minWidth:150,
+          viewDisplay: true,
+          hide: false,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "鑷绫诲瀷涓嶈兘涓虹┖", trigger: "change"
+            }
+          ],
+        },
+        shelfCode: {
+          label: '鎵樻灦缂栧彿',
+          addDisplay: true,
+          editDisplay: true,minWidth:150,
+          viewDisplay: true,
+          hide: false,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "鎵樻灦缂栧彿涓嶈兘涓虹┖", trigger: "blur"
+            }
+          ],
+        },
+        shelfType: {
+          label: '鎵樻灦绫诲瀷',
+          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/shelf_type',
+          addDisplay: true,
+          editDisplay: true,minWidth:150,
+          viewDisplay: true,
+          hide: false,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "鎵樻灦绫诲瀷涓嶈兘涓虹┖", trigger: "change"
+            }
+          ],
+        },
+        ownerTeamId: {
+          label: '浜ф潈褰掑睘',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false,minWidth:150,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "浜ф潈褰掑睘涓嶈兘涓虹┖", trigger: "change"
+            }
+          ],
+          type: 'table', suffixIcon: 'search',dataType: 'string',
+          change: (val: any) => {
+            const table = crudRef.value?.getPropRef?.('ownerTeamId')?.$refs?.temp;
+            if (!table) return;
+            let active = table.active;
+            if (Array.isArray(active)) active = active[0];
+            if (active) {
+              Object.assign(form.value, {
+                ownerTeamId: active.id,
+                ownerTeamName: active.customerShortName,
+              });
+            }
+          },
+          children: {
+            border: true,
+            searchLabelWidth: 100,
+            searchMenuSpan: 5,
+            column: {
+              customerType: {
+                label: '瀹㈡埛绫诲瀷',
+                type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/customer_type',
+                display: false,
+                hide: false,minWidth:150,
+                search: true,
+              },
+              customerShortName: {
+                label: '瀹㈡埛绠�绉�',
+                display: false,
+                hide: false,minWidth:150,
+                search: true,
+              },
+              customerCode: {
+                label: '瀹㈡埛缂栧彿',
+                display: false,
+                hide: false,minWidth:150,
+                search: true,
+              },
+              contactName: {
+                label: '鑱旂郴浜哄鍚�',
+                display: false,
+                hide: false,minWidth:150,
+                search: true,
+              },
+            },
+
+          },
+          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]
+              }
+              getTmsSettlementEntity(id).then(res => {
+                return callback(res.data || {})
+              })
+            } else {
+              listTmsSettlementEntity({pageSize: page.pageSize, pageNum: page.currentPage, ...data}).then(res => {
+                return callback({
+                  total: res.total,
+                  data: res.rows || [],
+                })
+              })
+            }
+
+          }
+        },
+        manufacturer: {
+          label: '鐢熶骇鍘傚晢',
+          addDisplay: true,
+          editDisplay: true,minWidth:150,
+          viewDisplay: true,
+          hide: false,
+          search: false,
+        },
+        manufactureDate: {
+          label: '鐢熶骇鏃ユ湡',
+          type: 'date', valueFormat: 'YYYY-MM-DD',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,minWidth:150,
+          hide: true,
+          search: false,
+        },
+      }
+    },
+    {
+      label: '瑙勬牸淇℃伅',
+      prop: 'ggxx',
+      column:{
+        lengthMm: {
+          label: '鎵樻灦闀垮害',
+          addDisplay: true,
+          editDisplay: true,append:'mm',
+          viewDisplay: true,
+          hide: true,
+          search: false,
+        },
+        widthMm: {
+          label: '鎵樻灦瀹藉害',
+          addDisplay: true,
+          editDisplay: true,append:'mm',
+          viewDisplay: true,
+          hide: true,
+          search: false,
+        },
+        heightMm: {
+          label: '鎵樻灦楂樺害',
+          addDisplay: true,append:'mm',
+          editDisplay: true,
+          viewDisplay: true,
+          hide: true,
+          search: false,
+        },
+        maxLoadKg: {
+          label: '鎵胯浇閲嶉噺',append:'Kg',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,minWidth:150,
+          hide: false,
+          rules: [
+            {
+              required: true,
+              message: "鎵胯浇閲嶉噺涓嶈兘涓虹┖", trigger: "blur"
+            }
+          ],
+        },
+        compatibleContainerType: {
+          label: '閫傞厤闆嗚绠辩被鍨�',
+          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/container_type',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,multiple: true,
+          hide: false,minWidth:150,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "閫傞厤闆嗚绠辩被鍨嬩笉鑳戒负绌�", trigger: "change"
+            }
+          ],
+        },
+      }
+    },
+    {
+      label: '鐘舵�佷俊鎭�',
+      prop: 'ztxx',
+      column: {
+        isInUse: {
+          label: '鏄惁鍦ㄧ敤',dataType: 'string',
+          type: 'radio', dicUrl: '/system/dict/data/type/sys_number_is',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,minWidth:150,
+          hide: false,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "鏄惁鍦ㄧ敤涓嶈兘涓虹┖", trigger: "blur"
+            }
+          ],
+        },
+        maintenanceStatus: {
+          label: '缁存姢鐘舵��',dataType: 'string',
+          type: 'radio', dicUrl: '/system/dict/data/type/maintenance_status',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,minWidth:150,
+          hide: false,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "缁存姢鐘舵�佷笉鑳戒负绌�", trigger: "blur"
+            }
+          ],
+        },
+        lastMaintenanceDate: {
+          label: '鏈�杩戠淮鎶ゆ棩鏈�',
+          type: 'date', valueFormat: 'YYYY-MM-DD',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: true,
+          search: false,
+        },
+        nextMaintenanceDate: {
+          label: '涓嬫缁存姢鏃ユ湡',
+          type: 'date', valueFormat: 'YYYY-MM-DD',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: true,
+          search: false,
+        },
+      }
+    },
+    {
+      label: '鍏朵粬淇℃伅',
+      prop: 'qtxq',
+      column: {
+        status: {
+          label: '鐘舵��',dataType: 'string',
+          type: 'radio', dicUrl: '/system/dict/data/type/sys_normal_disable',
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: true,
+          hide: false,minWidth:150,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "鐘舵�佷笉鑳戒负绌�", trigger: "blur"
+            }
+          ],
+        },
+        createBy: {
+          label: '鍒涘缓浜�',
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: true,
+          hide: true,
+          search: false,
+        },
+        createTime: {
+          label: '鍒涘缓鏃堕棿',
+          type: 'date',
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: true,
+          hide: true,
+          search: false,
+          rules: [
+            {
+              required: true,
+              message: "鍒涘缓鏃堕棿涓嶈兘涓虹┖", trigger: "blur"
+            }
+          ],
+        },
+        updateBy: {
+          label: '鏇存柊浜�',
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: true,minWidth:150,
+          hide: false,
+          search: false,
+        },
+        updateTime: {
+          label: '鏇存柊鏃堕棿',
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: true,minWidth:180,
+          hide: false,
+          search: false,
+          rules: [
+            {
+              required: true,
+              message: "鏇存柊鏃堕棿涓嶈兘涓虹┖", trigger: "blur"
+            }
+          ],
+        },
+        remark: {
+          label: '澶囨敞',
+          type: 'textarea', minRows: 3, maxRows: 5,
+          addDisplay: true,
+          editDisplay: true,span:24,
+          viewDisplay: true,
+          hide: true,
+          search: false,
+        },
+      }
+    }
+  ],
   column: {
-    // id: {
-    //   label: '涓婚敭ID',
-    //   addDisplay: true,
-    //   editDisplay: false,
-    //   viewDisplay: true,
-    //   hide: true,
-    //   search: false,
-    // },
     systemCode: {
-      label: '绯荤粺缂栧彿',
-      addDisplay: false,minWidth:150,
-      editDisplay: false,
-      viewDisplay: true,
+      label: '绯荤粺缂栧彿',display: false,minWidth:150,
       hide: false,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "绯荤粺缂栧彿涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
     },
     shelfCode: {
-      label: '鎵樻灦缂栧彿',
-      addDisplay: true,
-      editDisplay: true,minWidth:150,
-      viewDisplay: true,
+      label: '鎵樻灦缂栧彿',display: false,minWidth:150,
+
       hide: false,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "鎵樻灦缂栧彿涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
+    },
+    selfLeasType: {
+      label: '鑷惀绉熻祦绫诲瀷',display: false,
+      type: 'radio', dataType: 'string', dicUrl: '/system/dict/data/type/self_leas_type',
+      hide: false,minWidth:150,
+      search: true,
     },
     shelfType: {
       label: '鎵樻灦绫诲瀷',
       type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/shelf_type',
-      addDisplay: true,
-      editDisplay: true,minWidth:150,
-      viewDisplay: true,
+      display: false,minWidth:150,
       hide: false,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "鎵樻灦绫诲瀷涓嶈兘涓虹┖", trigger: "change"
-        }
-      ],
     },
-    ownerTeamId: {
-      label: '浜ф潈褰掑睘',
-      addDisplay: true,
-      editDisplay: true,minWidth:150,
-      viewDisplay: true,
+    ownerTeamName: {
+      label: '浜ф潈褰掑睘',display: false,minWidth:150,
+
       hide: false,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "浜ф潈褰掑睘涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
     },
     manufacturer: {
-      label: '鐢熶骇鍘傚晢',
-      addDisplay: true,
-      editDisplay: true,minWidth:150,
-      viewDisplay: true,
+      label: '鐢熶骇鍘傚晢',minWidth:150,
+      display: false,
       hide: false,
-      search: false,
-    },
-    manufactureDate: {
-      label: '鐢熶骇鏃ユ湡',
-      type: 'date', valueFormat: 'YYYY-MM-DD',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,minWidth:150,
-      hide: true,
-      search: false,
-    },
-    lengthMm: {
-      label: '鎵樻灦闀垮害',
-      addDisplay: true,
-      editDisplay: true,append:'mm',
-      viewDisplay: true,
-      hide: true,
-      search: false,
-    },
-    widthMm: {
-      label: '鎵樻灦瀹藉害',
-      addDisplay: true,
-      editDisplay: true,append:'mm',
-      viewDisplay: true,
-      hide: true,
-      search: false,
-    },
-    heightMm: {
-      label: '鎵樻灦楂樺害',
-      addDisplay: true,append:'mm',
-      editDisplay: true,
-      viewDisplay: true,
-      hide: true,
       search: false,
     },
     maxLoadKg: {
       label: '鎵胯浇閲嶉噺',append:'Kg',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,minWidth:150,
+      display: false,minWidth:150,
       hide: false,
-      rules: [
-        {
-          required: true,
-          message: "鎵胯浇閲嶉噺涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
     },
     compatibleContainerType: {
       label: '閫傞厤闆嗚绠辩被鍨�',
       type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/container_type',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
+      display: false,multiple: true, searchMultiple: false,
       hide: false,minWidth:150,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "閫傞厤闆嗚绠辩被鍨嬩笉鑳戒负绌�", trigger: "change"
-        }
-      ],
     },
+
     isInUse: {
       label: '鏄惁鍦ㄧ敤',dataType: 'string',
       type: 'radio', dicUrl: '/system/dict/data/type/sys_number_is',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,minWidth:150,
+      display: false,minWidth:150,
       hide: false,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "鏄惁鍦ㄧ敤涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
     },
     maintenanceStatus: {
       label: '缁存姢鐘舵��',dataType: 'string',
       type: 'radio', dicUrl: '/system/dict/data/type/maintenance_status',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,minWidth:150,
+      display: false,minWidth:150,
       hide: false,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "缁存姢鐘舵�佷笉鑳戒负绌�", trigger: "blur"
-        }
-      ],
-    },
-    lastMaintenanceDate: {
-      label: '鏈�杩戠淮鎶ゆ棩鏈�',
-      type: 'date', valueFormat: 'YYYY-MM-DD',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: true,
-      search: false,
-    },
-    nextMaintenanceDate: {
-      label: '涓嬫缁存姢鏃ユ湡',
-      type: 'date', valueFormat: 'YYYY-MM-DD',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: true,
-      search: false,
+
     },
     status: {
       label: '鐘舵��',dataType: 'string',
       type: 'radio', dicUrl: '/system/dict/data/type/sys_normal_disable',
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: true,
+      display: false,
       hide: false,minWidth:150,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "鐘舵�佷笉鑳戒负绌�", trigger: "blur"
-        }
-      ],
     },
-    createBy: {
-      label: '鍒涘缓浜�',
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: true,
-      hide: true,
-      search: false,
-    },
-    createTime: {
-      label: '鍒涘缓鏃堕棿',
-      type: 'date',
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: true,
-      hide: true,
-      search: false,
-      rules: [
-        {
-          required: true,
-          message: "鍒涘缓鏃堕棿涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
-    },
+
     updateBy: {
-      label: '鏇存柊浜�',
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: true,minWidth:150,
+      label: '鏇存柊浜�',display: false,minWidth:150,
       hide: false,
       search: false,
     },
     updateTime: {
       label: '鏇存柊鏃堕棿',
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: true,minWidth:180,
+      display: false,minWidth:180,
       hide: false,
-      search: false,
-      rules: [
-        {
-          required: true,
-          message: "鏇存柊鏃堕棿涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
-    },
-    remark: {
-      label: '澶囨敞',
-      type: 'textarea', minRows: 3, maxRows: 5,
-      addDisplay: true,
-      editDisplay: true,span:24,
-      viewDisplay: true,
-      hide: true,
       search: false,
     },
   }

--
Gitblit v1.8.0