huang
2024-12-09 de2c3068cdea54ffa36d2359b32abd9b8a144cde
north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue
@@ -93,6 +93,7 @@
        filters: [{data: ''}],
        slots: {filter: 'num1_filter'},
        filterMethod: filterChanged,
        sortable: true
      }
      gridOptions.columns.push(column)
@@ -192,13 +193,22 @@
      filterMethod: filterChanged,
      width: '78px'
    },
    {
      field: 'building_number',
      title: t('order.buildingNumber'),
      sortable: true,
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged,
      width: '120px'
    },
    {field: 'baiscQuantity', title: t('processCard.quantityToDivided'), showOverflow: "ellipsis", width: '80px'},
    {field: 'computeGrossArea', title: t('processCard.areaToDivided'), width: '80px'},
    {field: 'totalThickness', title: t('processCard.totalThickness'), width: '80px'},
    {field: 'thickness', title: t('processCard.glassThickness'), width: '80px'},
    {field: 'weight', title: t('processCard.weight'), slots: {default: 'weight_sum'}, width: '85px'},
    {field: 'remarks', title: t('processCard.notes'),  width: '85px',filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod: filterChanged},
    {field: 'processing_note', title: t('order.processingNote'),  width: '85px',filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod: filterChanged},
    {field: 'processing_note', title: t('order.processingNote'),  width: '105px',filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod: filterChanged},
    {field: 'bend_radius', title: t('order.bendRadius'),  width: '120px',filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod: filterChanged,sortable: true,}
  ],//表头按钮
@@ -306,6 +316,15 @@
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged,
      width:70
    },
    {
      field: 'building_number',
      title: t('order.buildingNumber'),
      sortable: true,
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged,
      width: '120px'
    },
    {field: 'width', title: t('order.width'), showOverflow: "ellipsis",width:70},
    {field: 'height', title: t('order.height'),width:70},
@@ -599,17 +618,44 @@
          delete item._X_ROW_KEY
          $grid.insert(item)
        }
        $gridLeft.remove(item)
      })
    }
    let leftDataList = $gridLeft.getTableData().fullData;
    let baseProcessId = productionId; // 固定的前缀
    // 统计所有不重复的 processId
    let uniqueProcessIds = new Set(leftDataList.map(item => item.processId));
    // 不重复的 processId 的总个数
    let totalUniqueCount = uniqueProcessIds.size;
    // 用于记录已经分配的 processId
    let usedProcessIds = new Set();
    leftDataList.forEach((item) => {
      let newProcessId;
      // 如果该 processId 是第一次出现,使用递减的编号生成新的 processId
      if (!usedProcessIds.has(item.processId)) {
        newProcessId = `${baseProcessId}${(totalUniqueCount).toString().padStart(3, '0')}`;
        usedProcessIds.add(item.processId); // 标记该 processId 已使用
        totalUniqueCount--; // 递减
      } else {
        // 如果该 processId 已经使用过,继续使用已分配的编号
        newProcessId = `${baseProcessId}${(totalUniqueCount + 1).toString().padStart(3, '0')}`;
      }
      // 更新 item.processId
      item.processId = newProcessId;
    });
    //清除两边复选框
    $gridLeft.clearCheckboxRow()
    $grid.clearCheckboxRow()
  } catch (e) {
    ElMessage.warning(e.message)
  }
@@ -750,11 +796,18 @@
            let leftData = $tableRight.getTableData().fullData
            if (selectRecords.length === 0) {
              ElMessage.warning(t('processCard.pleaseSelectTheSavedDataFirst'))
              gridLeftOptions.toolbarConfig.buttons[0].disabled=false
              return
            }
            if (leftData.length > 0) {
              ElMessage.warning(t('processCard.pleaseFirstCreateAProcessCardForAllTheDataOnTheRightSideAndSaveIt'))
              gridLeftOptions.toolbarConfig.buttons[0].disabled=false
              return;
            }
            if (leftData.length!=selectRecords.length){
              ElMessage.warning('请勾选所有数据进行保存')
              gridLeftOptions.toolbarConfig.buttons[0].disabled=false
              return;
            }
            let flowCardData = ref({
@@ -764,7 +817,7 @@
              userId:user.user.userId
            })
            request.post("/processCard/addFlowCard", flowCardData.value).then((res) => {
            request.post(`/processCard/addFlowCard/${orderId}`, flowCardData.value).then((res) => {
              if (res.code == 200) {
                ElMessage.success(t('basicData.msg.saveSuccess'))
                //router.push('/main/processCard/SplittingDetails?orderId=${orderId}')
@@ -879,7 +932,7 @@
            <el-button type="primary" @click="createProcessCard">{{ $t('processCard.establishProcessCards') }}
            </el-button>
            <br><br><br><br><br>
            <el-button type="primary" @click="createProcessCardNo">按序号创建
            <el-button type="primary" @click="createProcessCardNo">{{ $t('processCard.createBySequenceNumber') }}
            </el-button>
          </el-main>
        </div>