guoyuji
2024-04-26 684399b665ef8c25c43faff0fdc821a0b72b39ba
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -20,7 +20,7 @@
const titleUploadData = ref({
  reportingWorkId: null,
  //流程卡号
  processId: 'NG24030804A02/1',
  processId: null,
  //销售单号
  orderId: '',
  reviewedState:0,
@@ -98,8 +98,14 @@
          name: '修改',
          status: 'primary',
        }
        if(route.query.reviewStatus === "1"){
          button.name='审核'
          titleUploadData.value.qualityInspector=user.user.userName
        }
        gridOptions.toolbarConfig.buttons.push(button)
      }
      getQuantity()
      inputDisabled.value = true
    })
  }
@@ -322,6 +328,7 @@
          break
        }
        case 'update':  {
          getQuantity()
          const errMap = await $grid.validate(true)
          if (errMap) {
            ElMessage.error(`校验不通过!`)
@@ -511,6 +518,9 @@
const checkClose = async (done) => {
  if(brokenGrid.value.getTableData().fullData.length===0){
    brokenRow.value.breakageQuantity=null
    brokenRow.value.completedQuantity = brokenRow.value.quantity
    brokenRow.value.damageDetails=[]
    done()
    return true
  }
@@ -648,6 +658,7 @@
  }
  gridOptions.toolbarConfig.buttons[0].disabled=true
  gridOptions.toolbarConfig.buttons[1].disabled=true
  //判断保存还是修改
  if(saveType==='save'){
    saveReportingWorkRequest(requestData)
  }else{
@@ -682,7 +693,11 @@
//更新报工数据
const updateReportingWorkRequest = (requestData) =>{
  request.post(`/reportingWork/updateReportingWork`,requestData).then(res =>{
  let reviewState = 'update'
  if(route.query.reviewStatus==="1"){
    reviewState = 'review'
  }
  request.post(`/reportingWork/updateReportingWork/${reviewState}`,requestData).then(res =>{
    if (res.code == 200){
      ElMessage.success("报工修改成功")
      router.push({path:'/main/reportingWorks/AddReportingWork',
@@ -731,7 +746,7 @@
  }
  let indexOfChar = processId.indexOf("/")
  let leftString = processId.slice(0, indexOfChar)
  if (leftString.length !== 13) {
  if (leftString.length !== 14) {
    ElMessage.warning("请输入正确位数的流程卡")
    return
  }
@@ -771,17 +786,18 @@
const getWork = () => {
  let processId = titleUploadData.value.processId
  // if (processId.indexOf("/") < 0) {
  //
  //   ElMessage.warning("请输入正确格式流程卡")
  //   return
  // }
  // let indexOfChar = processId.indexOf("/")
  // let leftString = processId.slice(0, indexOfChar)
  // if (leftString.length != 13) {
  //   ElMessage.warning("请输入正确位数的流程卡")
  //   return
  // }
  let parts = processId.split('/');
  if (processId.indexOf("/") < 0 ||parts[1].trim() == '') {
    ElMessage.warning("请输入正确格式流程卡")
    return
  }
  let indexOfChar = processId.indexOf("/")
  let leftString = processId.slice(0, indexOfChar)
  if (leftString.length != 14) {
    ElMessage.warning("请输入正确位数的流程卡")
    return
  }
//工序
  let process = titleUploadData.value.thisProcess
  if (process == "" || process == null) {
@@ -793,17 +809,22 @@
    ElMessage.warning("此工序不属于该流程卡")
    return
  }
  //匹配“/”前后字符串
  const regex =  /([^\/]+)\/([^\/]+)/;
  //查找匹配的字符串
  const result = processId.match(regex);
  //流程卡号
  let processIdStr = processId.substring(0, 13);
  let processIdStr = result[1];
  //层号
  let technologyStr = processId.substring(14);
  let technologyStr = result[2];
  request.post(`/reportingWork/addSelectLastWork/${processIdStr}/${technologyStr}/${process}`).then((res) => {
    if (res.code == 200) {
      if(res.data.data===null){
      if(res.data.data==null){
        ElMessage.error("未查询到此流程卡数据")
        return
      }
      //表头赋值
      titleUploadData.value = res.data.data
      titleUploadData.value.processId = processId
@@ -900,6 +921,8 @@
  }
}
const  getQuantity = () => {
  titleUploadData.value.thisCompletedQuantity = 0
  titleUploadData.value.thisWornQuantity = 0
  const arr = xGrid.value.getTableData().fullData
  const returnArr =  arr.filter((obj, index, self) =>
      self.findIndex((t) => t.order_number === obj.order_number) === index
@@ -918,16 +941,21 @@
  titleUploadData.value.thisWornQuantity = sumBreak
}
const changeTable=()=>{
  const $grid = xGrid.value
  this.$grid.commitProxy('data', yourData)
}
</script>
<template>
  <div style="height: 100%;width: 100%">
    <div id="head" style="height: 5%;width: 100%;margin-bottom: 5px">
      <el-input :disabled="inputDisabled" v-if="titleUploadData.reportingWorkId" v-model="titleUploadData.reportingWorkId" placeholder="报工编号" style="width: 200px" />
      <el-input :disabled="inputDisabled" v-model="titleUploadData.processId" placeholder="流程卡号" style="width: 200px" @keyup.enter.native="getWork"/>
      <el-input :disabled="inputDisabled" v-model="titleUploadData.processId" placeholder="流程卡号" style="width: 200px" @keyup.enter.native="getWork();getQuantity()"/>
      &nbsp;
      <el-select :disabled="inputDisabled" v-model="titleUploadData.thisProcess" clearable placeholder="请选择工序" style="width: 120px"
                 @change="getWork">
                 @change="getWork();getQuantity()">
        <el-option
            v-for="item in titleSelectJson['processType']"
            :key="item.id"
@@ -981,7 +1009,7 @@
          <el-text>{{$t('reportingWorks.deviceType')}}:</el-text>
        </el-col>
        <el-col :span="3">
          <el-select v-model="titleUploadData.deviceName" clearable :placeholder="$t('reportingWorks.pleaseDevice')">
          <el-select @change="getQuantity" v-model="titleUploadData.deviceName" clearable :placeholder="$t('reportingWorks.pleaseDevice')">
            <el-option
                v-for="item in titleSelectJson['deviceType']"
                :key="item.id"
@@ -1023,7 +1051,7 @@
          <el-text>{{$t('reportingWorks.teamsType')}}:</el-text>
        </el-col>
        <el-col :span="3">
          <el-select v-model="titleUploadData.teamsGroupsName" clearable :placeholder="$t('reportingWorks.selectTeam')">
          <el-select  v-model="titleUploadData.teamsGroupsName" clearable :placeholder="$t('reportingWorks.selectTeam')">
            <el-option
                v-for="item in titleSelectJson['teamsType']"
                :key="item.id"
@@ -1079,10 +1107,10 @@
          ref="xGrid"
          class="mytable-scrollbar"
          max-height="100%"
          height="400px"
          size="small"
          v-bind="gridOptions"
          v-on="gridEvents"
          @filter-change="filterChanged"
          @edit-closed="editClosedEvent"
      >