小小儁爺
8 天以前 4a2c6fb2773adf8b5e28351021b79aebaf2af5e4
1.生产工单  批量绑定工艺   修改
已修改2个文件
94 ■■■■■ 文件已修改
src/api/WorkOrder.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/workOrder/workOrderList.vue 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/WorkOrder.js
@@ -391,3 +391,12 @@
    data
  })
}
// 产品编码批量查找关联的工艺信息
export function MesOrderNewStepListContent(data) {
  return request({
    url: 'WorkOrder/MesOrderNewStepListContent',
    method: 'post',
    data
  })
}
src/views/workOrder/workOrderList.vue
@@ -2498,9 +2498,8 @@
      </div>
      <div v-for="(i,index) in formData3" :key="index" class="customDiv">
        <!--        ref="dialogForm"-->
        <el-form
          ref="dialogForm"
          inline
          :model="i"
          label-width="110px"
@@ -2758,7 +2757,7 @@
  AddUpdateMesOrder, AddUpdateMesOrderList, DeleteMesOrder,
  MesBadOrderSearch, MesOrderDistribution, MesOrderNewStepContent, MesOrderProcessSopSearch,
  MesOrderSearch, MesOrderSopSearch, UpdateMesOrderStepListSearch,
  UpdateMesOrderStepSearch
  UpdateMesOrderStepSearch, MesOrderNewStepListContent
} from '@/api/WorkOrder'
import { PartSelect } from '@/api/ProductModel'
import { PrentOrganization, PrentOrganizationNoCompany, StepData } from '@/api/GeneralBasicData'
@@ -2766,7 +2765,12 @@
import ElDragSelect from '@/components/DragSelect'
import { MesOrderPrintSearch } from '@/api/GridReport' // base on element-ui
import DateType from '@/components/DateType'
import { PartSelectRpute, PartSelectRputeList, RouteSelectStep, RouteSelectStepList } from '@/api/basicSettings'
import {
  PartSelectRpute,
  PartSelectRputeList,
  RouteSelectStep,
  RouteSelectStepList
} from '@/api/basicSettings'
import { DeviceSopSearch } from '@/api/DeviceManager'
export default {
@@ -3193,6 +3197,8 @@
          stepTableData: []// 工序表值
        })
      })
      const tempArr = []
      const { data: res3 } = await UpdateMesOrderStepListSearch(data3)
      console.log(res3, 321)
      res3.forEach((i, index) => {
@@ -3203,40 +3209,61 @@
          })
          this.formData3[index].stepTableData = i.stepdata
          this.formData3[index].stepSelectedValue = i.stepdata.map(j => j.stepcode)
        } else {
          tempArr.push({
            'wkshopcode': this.formData3[index].wkshopcode,
            'routecode': this.formData3[index].routecode,
            'partcode': this.formData3[index].partcode
          })
        }
      })
      const { data: res } = await PartSelectRputeList(partcodeArr)
      if (this.mesSetting.route) {
        res.forEach((i, index) => {
          if (i.routedata.length > 0) {
            this.formData3[index].routecodeArr = i.routedata
          }
        })
      } else {
      console.log(this.sourceType, '执行1', this.formData3)
      const tempArr2 = tempArr.filter((item, index) => {
        return tempArr.findIndex(i => i.partcode === item.partcode) === index
      })
      if (this.sourceType) { // 为true时,调用MesOrderNewStepListContent
        const { data: res } = await MesOrderNewStepListContent(tempArr2)
        this.formData3.forEach((i, index) => {
          if (i.stepTableData.length === 0) {
            i.stepTableData = res[index].stepdata
            i.stepSelectedValue = res[index].stepdata.length > 0 ? res[index].stepdata.map(j => j.stepcode) : []
          }
        })
      }
      // i.stepdata.forEach(j => {
      //   j.ratio = parseFloat(j.ratio) > 0 ? parseFloat(j.ratio) : 0
      //   j.sumqty = Math.round(parseFloat(i.canupdate_qty) * (1 + (parseFloat(j.ratio) > 0 ? parseFloat(j.ratio) / 100 : 0)))
      // })
      if (this.mesSetting.route) {
        const { data: res2 } = await RouteSelectStepList(data2)
        this.formData3.forEach((i, index) => {
          if (i.stepTableData.length === 0) {
            res2[index].stepdata.forEach(j => {
            const ind = res.findIndex(j => j.partcode === this.formData3[index].partcode)
            res[ind].stepdata.forEach(j => {
              j.ratio = parseFloat(j.ratio) > 0 ? parseFloat(j.ratio) : 0
              j.sumqty = Math.round(parseFloat(i.mesqty) * (1 + (parseFloat(j.ratio) > 0 ? parseFloat(j.ratio) / 100 : 0)))
            })
            i.stepTableData = res2[index].stepdata
            i.stepSelectedValue = res2[index].stepdata.length > 0 ? res2[index].stepdata.map(j => j.stepcode) : []
            this.formData3[index].stepTableData = res[ind].stepdata
            this.formData3[index].stepSelectedValue = res[ind].stepdata.length > 0 ? res[ind].stepdata.map(j => j.stepcode) : []
          }
        })
      } else { // 调用PartSelectRputeList
        const { data: res } = await PartSelectRputeList(partcodeArr)
        if (this.mesSetting.route) {
          res.forEach((i, index) => {
            if (i.routedata.length > 0) {
              this.formData3[index].routecodeArr = i.routedata
            }
          })
        } else {
          this.formData3.forEach((i, index) => {
            if (i.stepTableData.length === 0) {
              i.stepTableData = res[index].stepdata
              i.stepSelectedValue = res[index].stepdata.length > 0 ? res[index].stepdata.map(j => j.stepcode) : []
            }
          })
        }
        if (this.mesSetting.route) {
          const { data: res2 } = await RouteSelectStepList(data2)
          this.formData3.forEach((i, index) => {
            if (i.stepTableData.length === 0) {
              res2[index].stepdata.forEach(j => {
                j.ratio = parseFloat(j.ratio) > 0 ? parseFloat(j.ratio) : 0
                j.sumqty = Math.round(parseFloat(i.mesqty) * (1 + (parseFloat(j.ratio) > 0 ? parseFloat(j.ratio) / 100 : 0)))
              })
              i.stepTableData = res2[index].stepdata
              i.stepSelectedValue = res2[index].stepdata.length > 0 ? res2[index].stepdata.map(j => j.stepcode) : []
            }
          })
        }
      }
      // this.formData3 = this.multipleSelection