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/tmsProductInfo/index.vue |  526 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 350 insertions(+), 176 deletions(-)

diff --git a/ui/admin-ui3/src/views/tms/tmsProductInfo/index.vue b/ui/admin-ui3/src/views/tms/tmsProductInfo/index.vue
index baf3fd1..adc44c3 100644
--- a/ui/admin-ui3/src/views/tms/tmsProductInfo/index.vue
+++ b/ui/admin-ui3/src/views/tms/tmsProductInfo/index.vue
@@ -60,10 +60,11 @@
   updateTmsProductInfo
 } from "@/api/tms/tmsProductInfo";
 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 {getTmsCustomerInfo, listTmsCustomerInfo} from "@/api/tms/tmsCustomerInfo";
 
 const {proxy} = useCurrentInstance();
 const crudRef = ref();
@@ -93,202 +94,404 @@
   rowKey: 'id',
   labelWidth: 150,
   // searchLabelWidth: 150,
+  group: [
+    {
+      label: '鍩虹淇℃伅',
+      prop: 'jcxx',
+      column: {
+        // customerId: {
+        //   label: '鎵�灞炲鎴�',minWidth: 150,
+        //   addDisplay: true,
+        //   editDisplay: true,suffixIcon:'search',
+        //   viewDisplay: true,
+        //   hide: true,
+        //   search: true,
+        //   rules: [
+        //     {
+        //       required: true,
+        //       message: "鎵�灞炲鎴蜂笉鑳戒负绌�", trigger: "change"
+        //     }
+        //   ],
+        //   type: 'table',
+        //   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,
+        //       },
+        //     },
+        //
+        //   },
+        //   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||[],
+        //         })
+        //       })
+        //     }
+        //
+        //   },
+        //   change: (val: any) => {
+        //     const table = crudRef.value?.getPropRef?.('customerId')?.$refs?.temp;
+        //     if (!table) return;
+        //     let active = table.active;
+        //     if (Array.isArray(active)) active = active[0];
+        //     if (active) {
+        //       Object.assign(form.value, {
+        //         customerId: active.id,
+        //         customer: active.customerShortName,
+        //       });
+        //     }
+        //   },
+        // },
+        productCode: {
+          label: '璐у搧缂栫爜',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false, minWidth: 150,
+          search: true,
+          rules: [
+            {
+              required: true,
+              message: "璐у搧缂栫爜涓嶈兘涓虹┖", trigger: "blur"
+            }
+          ],
+        },
+        productName: {
+          label: '璐у搧鍚嶇О',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false, minWidth: 150,
+          search: false,
+          rules: [
+            {
+              required: true,
+              message: "璐у搧鍚嶇О涓嶈兘涓虹┖", trigger: "blur"
+            }
+          ],
+        },
+        grossWeight: {
+          label: '璐у搧閲嶉噺',
+          addDisplay: true,
+          editDisplay: true,append:'Kg',
+          viewDisplay: true,
+          hide: false, minWidth: 150,
+          search: false,
+        },
+        netWeight: {
+          label: '璐у搧鍑�閲�',
+          addDisplay: true,
+          editDisplay: true,append:'Kg',
+          viewDisplay: true,
+          hide: false, minWidth: 150,
+          search: false,
+        },
+        volume: {
+          label: '璐у搧浣撶Н',
+          addDisplay: true,append:'m鲁',
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false, minWidth: 150,
+          search: false,
+        },
+
+        productType: {
+          label: '璐у搧绫诲瀷',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false, minWidth: 150,
+          search: false,
+        },
+        packUnit: {
+          label: '鍖呰鍗曚綅',
+          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/pack_unit',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false, minWidth: 150,
+          search: false,
+        },
+        packLength: {
+          label: '鍖呰闀�',
+          addDisplay: true,append:'mm',
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false, minWidth: 150,
+          search: false,
+        },
+        packWidth: {
+          label: '鍖呰瀹�',
+          addDisplay: true,append:'mm',
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false, minWidth: 150,
+          search: false,
+        },
+        packHeight: {
+          label: '鍖呰楂�',
+          addDisplay: true,append:'mm',
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false, minWidth: 150,
+          search: false,
+        },
+        specModel: {
+          label: '鍟嗗搧瑙勬牸鍨嬪彿',
+          type: 'textarea', minRows: 3, maxRows: 5,
+          addDisplay: true,span:24,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: false, minWidth: 150,
+          search: false,
+        },
+      }
+    },
+    {
+      label: '鍏朵粬淇℃伅',
+      prop: 'qtxx',
+      column: {
+        temperatureRequired: {
+          label: '娓╁害瑕佹眰',dataType: 'string',
+          type: 'radio', dicUrl: '/system/dict/data/type/sys_number_is',
+          addDisplay: true,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: true,
+          search: false,
+          change:({value}:{value:any})=>{
+
+            option.value.group.forEach((item: any) => {
+              if (item.column.maxTemperature) {
+                item.column.maxTemperature.display = value == 0;
+              }
+              if (item.column.minTemperature) {
+                item.column.minTemperature.display = value == 0
+              }
+            })
+
+          }
+        },
+        maxTemperature: {
+          label: '鏈�楂樻俯搴�',
+          display: true,append:'鈩�',
+          hide: true,
+          search: false,
+        },
+        minTemperature: {
+          label: '鏈�浣庢俯搴�',
+          display: true,append:'鈩�',
+          hide: true,
+          search: false,
+        },
+        maxHumidity: {
+          label: '鏈�楂樻箍搴�',
+          addDisplay: true,append:'RH',
+          editDisplay: true,
+          viewDisplay: true,
+          hide: true,
+          search: false,
+        },
+        minHumidity: {
+          label: '鏈�浣庢箍搴�',
+          addDisplay: true,append:'RH',
+          editDisplay: true,
+          viewDisplay: true,
+          hide: true,
+          search: false,
+        },
+        isHazardous: {
+          label: '鏄惁鍗遍櫓鍝�',dataType: 'string',
+          type: 'radio', dicUrl: '/system/dict/data/type/sys_number_is',
+          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: true,
+          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,
+        },
+        updateBy: {
+          label: '鏇存柊浜�',
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: true,
+          hide: false, minWidth: 150,
+          search: false,
+        },
+        updateTime: {
+          label: '鏇存柊鏃堕棿',
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: true, minWidth: 150,
+
+        },
+        remark: {
+          label: '澶囨敞',
+          type: 'textarea', minRows: 3, maxRows: 5,
+          addDisplay: true,span:24,
+          editDisplay: true,
+          viewDisplay: true,
+          hide: true,
+          search: false,
+        },
+      }
+    }
+  ],
   column: {
     // id: {
     //   label: '鑷ID',
     //   addDisplay: false,
     //   editDisplay: false,
-    //   viewDisplay: false,
+    //   viewDisplay: true,
     //   hide: true,
     //   search: false,
     // },
-    customerId: {
-      label: '鎵�灞炲鎴�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,minWidth: 150,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "鎵�灞炲鎴蜂笉鑳戒负绌�", trigger: "blur"
-        }
-      ],
-    },
-    customer: {
-      label: '鎵�灞炲鎴�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,minWidth: 150,
-      search: true,
-      rules: [
-        {
-          required: true,
-          message: "鎵�灞炲鎴蜂笉鑳戒负绌�", trigger: "blur"
-        }
-      ],
-    },
+
+    // customer: {
+    //   label: '鎵�灞炲鎴�',
+    //   display: false,
+    //   hide: false, minWidth: 150,
+    //   search: true,
+    // },
     productCode: {
       label: '璐у搧缂栫爜',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,minWidth: 150,
+      display: false,
+      hide: false, minWidth: 150,
       search: true,
-      rules: [
-        {
-          required: true,
-          message: "璐у搧缂栫爜涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
     },
     productName: {
       label: '璐у搧鍚嶇О',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: false,minWidth: 150,
+      display: false,
+      hide: false, minWidth: 150,
       search: false,
-      rules: [
-        {
-          required: true,
-          message: "璐у搧鍚嶇О涓嶈兘涓虹┖", trigger: "blur"
-        }
-      ],
+
     },
     grossWeight: {
       label: '璐у搧閲嶉噺',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: false,minWidth: 150,
+      display: false,
+      hide: false, minWidth: 150,
       search: false,
     },
     netWeight: {
       label: '璐у搧鍑�閲�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: false,minWidth: 150,
+      display: false,
+      hide: false, minWidth: 150,
       search: false,
     },
     volume: {
       label: '璐у搧浣撶Н',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: false,minWidth: 150,
+      display: false,
+      hide: false, minWidth: 150,
       search: false,
     },
     specModel: {
       label: '鍟嗗搧瑙勬牸鍨嬪彿',
       type: 'textarea', minRows: 3, maxRows: 5,
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: false,minWidth: 150,
+      display: false,
+      hide: false, minWidth: 150,
       search: false,
     },
     productType: {
       label: '璐у搧绫诲瀷',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: false,minWidth: 150,
+      display: false,
+      hide: false, minWidth: 150,
       search: false,
     },
     packUnit: {
       label: '鍖呰鍗曚綅',
       type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/pack_unit',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: false,minWidth: 150,
+      display: false,
+      hide: false, minWidth: 150,
       search: false,
     },
     packLength: {
       label: '鍖呰闀�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: false,minWidth: 150,
+      display: false,
+      hide: false, minWidth: 150,
       search: false,
     },
     packWidth: {
       label: '鍖呰瀹�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: false,minWidth: 150,
+      display: false,
+      hide: false, minWidth: 150,
       search: false,
     },
     packHeight: {
       label: '鍖呰楂�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: false,minWidth: 150,
+      display: false,
+      hide: false, minWidth: 150,
       search: false,
     },
-    temperatureRequired: {
-      label: '娓╁害瑕佹眰',
-      type: 'radio', dicUrl: '/system/dict/data/type/sys_number_is',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: true,
-      search: false,
-    },
-    maxTemperature: {
-      label: '鏈�楂樻俯搴�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: true,
-      search: false,
-    },
-    minTemperature: {
-      label: '鏈�浣庢俯搴�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: true,
-      search: false,
-    },
-    maxHumidity: {
-      label: '鏈�楂樻箍搴�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: true,
-      search: false,
-    },
-    minHumidity: {
-      label: '鏈�浣庢箍搴�',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: true,
-      search: false,
-    },
-    isHazardous: {
-      label: '鏄惁鍗遍櫓鍝�',
-      type: 'radio', dicUrl: '/system/dict/data/type/sys_number_is',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: true,
-      search: false,
-    },
+
     status: {
-      label: '鐘舵��',
+      label: '鐘舵��',dataType: 'string',
       type: 'radio', dicUrl: '/system/dict/data/type/sys_normal_disable',
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: true,
-      hide: false,minWidth: 150,
+      display: false,
+      hide: false, minWidth: 150,
       search: true,
       rules: [
         {
@@ -297,49 +500,19 @@
         }
       ],
     },
-    createBy: {
-      label: '鍒涘缓浜�',
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-      search: false,
-    },
-    createTime: {
-      label: '鍒涘缓鏃堕棿',
-      type: 'date',
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-      search: false,
-    },
     updateBy: {
       label: '鏇存柊浜�',
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: false,minWidth: 150,
+      display: false,
+      hide: false, minWidth: 150,
       search: false,
     },
     updateTime: {
       label: '鏇存柊鏃堕棿',
-      type: 'date', valueFormat: 'YYYY-MM-DD',
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: false,minWidth: 150,
+      display: false,
+      hide: false, minWidth: 180,
       search: false,
     },
-    remark: {
-      label: '澶囨敞',
-      type: 'textarea', minRows: 3, maxRows: 5,
-      addDisplay: true,
-      editDisplay: true,
-      viewDisplay: false,
-      hide: true,
-      search: false,
-    },
+
   }
 })
 
@@ -381,4 +554,5 @@
 })
 
 
+
 </script>

--
Gitblit v1.8.0