chenlu
9 天以前 23bca603bee6a1ec044949a89c0daa3002fbbe55
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/GlassInventory.vue
@@ -66,7 +66,7 @@
        [
          {code: 'selectTrimming', name: '设置统一修边',prefixIcon: 'vxe-icon-edit'},
          {code: 'Exports', name: '数据导出', prefixIcon: 'vxe-icon-download', visible: true, disabled: false},
          {code: 'addRow', name: t('basicData.add'), prefixIcon: 'vxe-icon-square-plus', visible: true, disabled: true },
          {code: 'addRow', name: '添加原片', prefixIcon: 'vxe-icon-square-plus', visible: true, disabled: true },
        ],
      ]
    },
@@ -102,11 +102,63 @@
    requiresRow: false,
  },
  {
    code: 'addRow', // 导出文件操作的配置
    code: 'addRow',
    successMsg: '添加成功!',
    gridRef: xGrid,
    requiresRow: false,
  },
    handler: async () => {
      const $grid = xGrid.value;
      if ($grid) {
        // 生成6位随机编码
        const generateCode = () => {
          // 使用当前时间戳生成唯一编码
          const timestamp = Date.now().toString();
          // 取时间戳的后6位,确保是6位数
          const code = timestamp.substring(timestamp.length - 6).padStart(6, '0');
          return code;
        };
        // 创建新行数据
        const newRow = {
          id: generateCode(), // 自动生成6位编码
          width: '', // 宽度待用户填写
          height: '', // 高度待用户填写
          thickness: thickness.value, // 自动填充厚度
          model: model.value,// 自动填充类型
          available_quantity: 999,
          leftTrim: defaultTrims.leftTrim,   // 使用默认左修边
          downTrim: defaultTrims.downTrim,   // 使用默认下修边
          rightTrim: defaultTrims.rightTrim, // 使用默认右修边
          upTrim: defaultTrims.upTrim
        };
        // 插入新行
        let result = toolbarButtonClickEvent();
        let lengths = 0;
        if (result != null) {
          lengths = result.start;
        }
        if ($grid.getTableData().tableData.length >= 100) {
          ElMessage.error(t('order.msg.tableLengthMax'));
          return;
        }
        if ($grid.getCheckedFilters().length !== 0) {
          ElMessage.error(t('order.msg.pleaseCancelTheFilteringFirst'));
          return;
        }
        if ($grid.getTableData().fullData.length > lengths + 1) {
          $grid.insertAt(newRow, lengths + 1);
        } else {
          $grid.insertAt(newRow, -1);
        }
        ElMessage.success('添加成功!');
      }
    }
  }
]
// 右键菜单点击逻辑
@@ -122,24 +174,8 @@
          return;
        }
        if (config.code === 'addRow') {
          if ($grid.getTableData().tableData.length >=100){
            ElMessage.error(t('order.msg.tableLengthMax'))
            return
          }
          if ($grid.getCheckedFilters().length!==0){
            ElMessage.error(t('order.msg.pleaseCancelTheFilteringFirst'))
            return
          }
          console.log($grid.getTableData().visibleData)
          let result = toolbarButtonClickEvent()
          let lengths = 0
          if (result!=null){
            lengths=result.start
          }
          if($grid.getTableData().fullData.length>lengths+1){
            $grid.insertAt({}, lengths+1)
          }else{
            $grid.insertAt({}, -1)
          if (config.handler) {
            config.handler();
          }
          return;
        }
@@ -195,6 +231,12 @@
              formattedItem[key] = item[key];
            }
          }
          if (!formattedItem.thickness) {
            formattedItem.thickness = thickness.value;
          }
          if (!formattedItem.model) {
            formattedItem.model = model.value;
          }
          return formattedItem;
        });
        if(edgeTrimming!=null){
@@ -210,13 +252,27 @@
            }
            return edgeTrimmingItem;
          });
          console.log(edgeTrimmingData)
          formattedData.forEach(item => {
            item.leftTrim = edgeTrimmingData[0].leftTrim;
            item.downTrim = edgeTrimmingData[0].downTrim;
            item.rightTrim = edgeTrimmingData[0].rightTrim;
            item.upTrim = edgeTrimmingData[0].upTrim;
          });
          if (edgeTrimmingData && edgeTrimmingData.length > 0) {
            defaultTrims.leftTrim = edgeTrimmingData[0].leftTrim || 0;
            defaultTrims.downTrim = edgeTrimmingData[0].downTrim || 0;
            defaultTrims.rightTrim = edgeTrimmingData[0].rightTrim || 0;
            defaultTrims.upTrim = edgeTrimmingData[0].upTrim || 0;
            formattedData.forEach(item => {
              item.leftTrim = edgeTrimmingData[0].leftTrim || 0;
              item.downTrim = edgeTrimmingData[0].downTrim || 0;
              item.rightTrim = edgeTrimmingData[0].rightTrim || 0;
              item.upTrim = edgeTrimmingData[0].upTrim || 0;
            });
          } else {
            // 如果没有修边数据,使用默认值0
            formattedData.forEach(item => {
              item.leftTrim = 0;
              item.downTrim = 0;
              item.rightTrim = 0;
              item.upTrim = 0;
            });
          }
        }
        if(state<10){
          gridOptions.columns[3].editRender.attrs.disabled=false
@@ -253,6 +309,13 @@
  });
};
const defaultTrims = reactive({
  leftTrim: 0,
  downTrim: 0,
  rightTrim: 0,
  upTrim: 0
});
onMounted(() => {
  addListener(xGrid.value,gridOptions)
  if(route.params.projectNo!=null){