chenlu
2024-10-11 82a5de6d2ec80b45660149c84be28734032562f6
north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue
@@ -14,12 +14,15 @@
import useUserInfoStore from "@/stores/userInfo";
import {useI18n} from 'vue-i18n'
import footSum from "@/hook/footSum"
import {changeFilterEvent,filterChanged} from "@/hook"
import userInfo from "@/stores/userInfo"
//语言获取
const {t} = useI18n()
let productGlassTypeStore = useProductGlassTypeStore()
let router = useRouter()
const userStore = useUserInfoStore()
const username = userStore.user.userName
const user=userInfo()
let flag = $ref(true)
function intoCreateProduct() {
@@ -73,23 +76,25 @@
const orderOtherMoney = ref(null)
let maxProcseeId=null
//第一次加载数据
request.post(`/processCard/selectNoCard/${orderId}/${productionId}`, filterData.value).then((res) => {
  if (res.code == 200) {
    pageTotal.value = res.data.total
    maxProcseeId=res.data.maxFlowCard[0].process_id
    orderOtherMoney.value = res.data.orderOtherMoney
    orderOtherMoney.value.forEach(item => {
      let column = {
        field: `${item.column}`,
        width: 60,
        width: 100,
        title: item.alias,
        filters: [{data: ''}],
        slots: {filter: 'num1_filter'},
        filterMethod: filterChanged,
      }
      //columns.push(column)
      console.log(column)
      gridOptions.columns.push(column)
    })
@@ -101,11 +106,7 @@
  }
})
/*使用筛选,后端获取数据*/
const changeFilterEvent = (event, option, $panel,) => {
  // 手动触发筛选
  $panel.changeOption(event, !!option.data, option)
}
function padLeftZero(str) {
  return ('00' + str).substr(str.length)
@@ -119,14 +120,7 @@
}
//筛选方法
const filterChanged = ({option, row, column}) => {
  if (option.data) {
    return row[column.field].toString().toLowerCase().indexOf(option.data) > -1
  }
  return true
  //@filter-change="filterChanged"
}
//右侧子组件接收参数
const xGrid = ref()
@@ -202,7 +196,11 @@
    {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: '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: 'bend_radius', title: t('order.bendRadius'),  width: '120px',filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod: filterChanged,sortable: true,}
  ],//表头按钮
  toolbarConfig: {
@@ -362,7 +360,32 @@
    index = leftData[0].landingSequence + 1
    //index = index.toString().padStart(2, '0')
  }
  const processId = productionId + index.toString().padStart(3, '0')
  let processId= null
  // if (leftData.length !== 0){
  //   processId = productionId + index.toString().padStart(3, '0')
  // }
  // else {
    if (maxProcseeId!== null || maxProcseeId!== undefined|| maxProcseeId!== ''){
      if (leftData.length !== 0){
        const str=leftData[0].processId
        const lastThree = str.slice(-3);
        const result =  lastThree*1 + 1;
        processId= productionId + result.toString().padStart(3, '0')
      }
      else {
        // 截取后三位
        const lastThree = maxProcseeId.slice(-3);
        const result =  lastThree*1 + 1;
        processId= productionId + result.toString().padStart(3, '0')
      }
    }
    else {
      processId = productionId + index.toString().padStart(3, '0')
    }
  //}
  const regex = /^(\d+|)$/;
  if (!regex.test(checkedNum.value)) {
    ElMessage.warning(t('processCard.schedulingNo'))
@@ -411,6 +434,75 @@
    $gridLeft.clearCheckboxRow()
    $grid.clearCheckboxRow()
  }
}
//按编号创建流程卡
const createProcessCardNo = () => {
  const $grid = xGrid.value
  const checkedList = $grid.getCheckboxRecords()
  if (checkedList.length === 0) {
    ElMessage.warning(t('processCard.schedulingOk'))
    return
  }
  //productionId
  const $gridLeft = xGridLeft.value
  const leftData = $gridLeft.getTableData().fullData
  let index = 0
  if (leftData.length !== 0) {
    index = leftData[0].landingSequence + 1
    //index = index.toString().padStart(2, '0')
  }
  let processId= null
  if (maxProcseeId!== null || maxProcseeId!== undefined|| maxProcseeId!== ''){
    if (leftData.length !== 0){
      const str=leftData[0].processId
      const lastThree = str.slice(-3);
      const result =  lastThree*1 + 1;
      processId= productionId + result.toString().padStart(3, '0')
    }
    else {
      // 截取后三位
      const lastThree = maxProcseeId.slice(-3);
      const result =  lastThree*1 + 1;
      processId= productionId + result.toString().padStart(3, '0')
    }
  }
  else {
      processId = productionId + index.toString().padStart(3, '0')
  }
  const regex = /^(\d+|)$/;
  if (!regex.test(checkedNum.value)) {
    ElMessage.warning(t('processCard.schedulingNo'))
    return
  }
    checkedList.forEach((item) => {
      index++
      processId = productionId + index.toString().padStart(3, '0')
      item.processId = processId
      item.landingSequence = index
      item.quantity = item.baiscQuantity
    })
    //删除key
    checkedList.forEach((item) => {
      delete item._X_ROW_KEY
    })
    $gridLeft.insertAt(checkedList)
    $grid.remove(checkedList)
    //清除两边复选框
    $gridLeft.clearCheckboxRow()
    $grid.clearCheckboxRow()
}
@@ -649,6 +741,7 @@
    if ($grid) {
      switch (code) {
        case 'saveFlowCard': {
          gridLeftOptions.toolbarConfig.buttons[0].disabled=true
          const $table = xGridLeft.value
          const $tableRight = xGrid.value
          if ($table) {
@@ -667,7 +760,8 @@
            let flowCardData = ref({
              flowCard: selectRecords,
              userName: username,
              productionId: productionId
              productionId: productionId,
              userId:user.user.userId
            })
            request.post("/processCard/addFlowCard", flowCardData.value).then((res) => {
@@ -718,9 +812,7 @@
<template>
  <div style="width: 75%;height: 90%">
    <div class="common-layout" style="width: 100%;height: 100%">
    <div class="common-layout">
      <el-button
          id="searchButton1"
          :icon="ArrowLeftBold"
@@ -785,6 +877,9 @@
            <br>
            <el-button type="primary" @click="createProcessCard">{{ $t('processCard.establishProcessCards') }}
            </el-button>
            <br><br><br><br><br>
            <el-button type="primary" @click="createProcessCardNo">按序号创建
            </el-button>
          </el-main>
        </div>
@@ -843,7 +938,8 @@
}
.common-layout {
  height: 100%;
  width: 99%;
  height: 96%;
}
.header {