wujianwei
6 天以前 89fd2cf7202c321512c2ea699a3a220a7138ed44
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>