From 89fd2cf7202c321512c2ea699a3a220a7138ed44 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期四, 09 四月 2026 10:40:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/cwxt_master' into cwxt_master

---
 ui/admin-ui3/src/views/tms/tmsContainer/index.vue |  599 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 391 insertions(+), 208 deletions(-)

diff --git a/ui/admin-ui3/src/views/tms/tmsContainer/index.vue b/ui/admin-ui3/src/views/tms/tmsContainer/index.vue
index de2b756..c2888f6 100644
--- a/ui/admin-ui3/src/views/tms/tmsContainer/index.vue
+++ b/ui/admin-ui3/src/views/tms/tmsContainer/index.vue
@@ -60,10 +60,12 @@
   updateTmsContainer
 } from "@/api/tms/tmsContainer";
 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();
@@ -91,271 +93,452 @@
 const option = ref({
   pageKey: 'TmsContainer',
   rowKey: 'id',
-  labelWidth: 150,
-  searchLabelWidth: 150,
+  labelWidth: 130,
+  searchLabelWidth: 100,
+  group:[
+    {
+      label: '鍩烘湰淇℃伅',
+      prop: 'jbxx',
+      column:{
+        systemCode: {
+          label: '绯荤粺缂栧彿',
+          addDisplay: false,
+          editDisplay: true, disabled: true,
+          viewDisplay: true,
+          hide: false,minWidth:150,
+          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"
+            }
+          ],
+        },
+        containerCode: {
+          label: '闆嗚绠卞彿',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false,minWidth:150,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "闆嗚绠卞彿涓嶈兘涓虹┖", trigger: "blur"
+            }
+          ],
+        },
+        containerUseType: {
+          label: '闆嗚绠辩敤閫旂被鍨�',
+          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/container_use_type',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false,minWidth:150,searchLabelWidth:120,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "闆嗚绠辩敤閫旂被鍨嬩笉鑳戒负绌�", trigger: "change"
+            }
+          ],
+        },
+        containerSize: {
+          label: '绠卞瀷',
+          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/container_type',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false,minWidth:150,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "绠卞瀷涓嶈兘涓虹┖", trigger: "change"
+            }
+          ],
+        },
+        ownerTeamId: {
+          label: '浜ф潈褰掑睘',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false,minWidth:150,dataType: 'string',
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "浜ф潈褰掑睘涓嶈兘涓虹┖", trigger: "change"
+            }
+          ],
+          type: 'table', suffixIcon: 'search',
+          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,
+          viewDisplay: true,
+          hide: false,minWidth:180,
+          search: false,
+        },
+        manufactureDate: {
+          label: '鐢熶骇鏃ユ湡',
+          type: 'date', valueFormat: 'YYYY-MM-DD',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          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,
+          editDisplay: true,append:'mm',
+          viewDisplay: true,
+          hide: true,
+          search: false,
+        },
+        maxTotalWeightKg: {
+          label: '鏈�澶ф�婚噸',
+          addDisplay: true,
+          editDisplay: true,append:'Kg',
+          viewDisplay: true,
+          hide: true,
+          search: false,
+        },
+        maxLoadKg: {
+          label: '鏈�澶ц浇閲�',
+          addDisplay: true,append:'Kg',
+          editDisplay: true,
+          viewDisplay: true,
+          hide: true,
+          search: false,
+        },
+        volumeM3: {
+          label: '瀹圭Н',
+          addDisplay: true,append:'m鲁',
+          editDisplay: true,
+          viewDisplay: true,
+          hide: true,
+          search: false,
+        },
+      }
+    },
+    {
+      label: '鐘舵�佷俊鎭�',
+      prop: 'ztxx',
+      column: {
+        isInUse: {
+          label: '鏄惁鍦ㄧ敤',dataType: 'string',
+          type: 'radio', dicUrl: '/system/dict/data/type/sys_number_is',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false,minWidth:150,
+          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,
+          hide: false,minWidth:150,
+          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: 'qtyxx',
+      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', valueFormat: 'YYYY-MM-DD',
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: true,
+          hide: true,
+          search: false,
+          rules: [
+            {
+              required: true,
+              message: "鍒涘缓鏃堕棿涓嶈兘涓虹┖", trigger: "blur"
+            }
+          ],
+        },
+        updateBy: {
+          label: '鏇存柊浜�',
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: true,
+          hide: false,minWidth:150,
+          search: false,
+        },
+        updateTime: {
+          label: '鏇存柊鏃堕棿',
+          type: 'date',
+          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,
-      editDisplay: true, disabled: true,
-      viewDisplay: true,
+      display: false,
       hide: false,minWidth:150,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "绯荤粺缂栧彿涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
+    },
+    selfLeasType: {
+      label: '鑷绫诲瀷',
+      type: 'radio', dataType: 'string', dicUrl: '/system/dict/data/type/self_leas_type',
+      hide: false,      display: false,
+      search: true,
     },
     containerCode: {
       label: '闆嗚绠卞彿',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
+      display: false,
       hide: false,minWidth:150,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "闆嗚绠卞彿涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
     },
     containerUseType: {
       label: '闆嗚绠辩敤閫旂被鍨�',
       type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/container_use_type',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,minWidth:150,
+      display: false,
+      hide: false,minWidth:150,searchLabelWidth:120,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "闆嗚绠辩敤閫旂被鍨嬩笉鑳戒负绌�", trigger: "change"
-        }
-      ],
     },
     containerSize: {
       label: '绠卞瀷',
       type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/container_type',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
+      display: false,
       hide: false,minWidth:150,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "绠卞瀷涓嶈兘涓虹┖", trigger: "change"
-        }
-      ],
     },
-    ownerTeamId: {
+    ownerTeamName: {
       label: '浜ф潈褰掑睘',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
+      display: false,
       hide: false,minWidth:150,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "浜ф潈褰掑睘涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
     },
     manufacturer: {
       label: '鐢熶骇鍘傚晢',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
+      display: false,
       hide: false,minWidth:180,
-      search: false,
-    },
-    manufactureDate: {
-      label: '鐢熶骇鏃ユ湡',
-      type: 'date', valueFormat: 'YYYY-MM-DD',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      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,
-      editDisplay: true,append:'mm',
-      viewDisplay: true,
-      hide: true,
-      search: false,
-    },
-    maxTotalWeightKg: {
-      label: '鏈�澶ф�婚噸',
-      addDisplay: true,
-      editDisplay: true,append:'Kg',
-      viewDisplay: true,
-      hide: true,
-      search: false,
-    },
-    maxLoadKg: {
-      label: '鏈�澶ц浇閲�',
-      addDisplay: true,append:'Kg',
-      editDisplay: true,
-      viewDisplay: true,
-      hide: true,
-      search: false,
-    },
-    volumeM3: {
-      label: '瀹圭Н',
-      addDisplay: true,append:'m鲁',
-      editDisplay: true,
-      viewDisplay: true,
-      hide: true,
       search: false,
     },
     isInUse: {
       label: '鏄惁鍦ㄧ敤',dataType: 'string',
       type: 'radio', dicUrl: '/system/dict/data/type/sys_number_is',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
+      display: false,
       hide: false,minWidth:150,
       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,
+      display: false,
       hide: false,minWidth:150,
       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', valueFormat: 'YYYY-MM-DD',
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: true,
-      hide: true,
-      search: false,
-      rules: [
-        {
-          required: true,
-          message: "鍒涘缓鏃堕棿涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
-    },
+
     updateBy: {
       label: '鏇存柊浜�',
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: true,
+      display: false,
       hide: false,minWidth:150,
       search: false,
     },
     updateTime: {
       label: '鏇存柊鏃堕棿',
       type: 'date',
-      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,
+      search: false
     },
   }
 })

--
Gitblit v1.8.0