c4f9bd78eddffb42b591990d80125a7655c16a98..4a2c6fb2773adf8b5e28351021b79aebaf2af5e4
8 天以前 小小儁爺
1.生产工单 批量绑定工艺 修改
4a2c6f 对比 | 目录
8 天以前 小小儁爺
1.新增工价导入
f114b4 对比 | 目录
已修改4个文件
146 ■■■■ 文件已修改
src/api/WorkOrder.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicSettings/meterPrice.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSetting/dataImport.vue 50 ●●●●● 补丁 | 查看 | 原始文档 | 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/basicSettings/meterPrice.vue
@@ -4,7 +4,7 @@
      <div class="bodyTopButtonGroup" style="justify-content: space-between">
        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button>
        <!--        <el-button v-waves icon="el-icon-download" @click=" ">导入</el-button>-->
        <el-button v-waves type="success" icon="el-icon-download" @click="$router.push('./../systemSetting/dataImport?fileCode=25')">导入</el-button>
      </div>
      <div class="bodyTopFormGroup">
src/views/systemSetting/dataImport.vue
@@ -152,7 +152,9 @@
                    item.indexOf('工序编号')!==-1||
                    item.indexOf('仓库编码')!==-1||
                    item.indexOf('库位编码')!==-1
                    item.indexOf('库位编码')!==-1||
                    item.indexOf('工序编码')!==-1||
                    item.indexOf('计件单价')!==-1
                  "
                >
                  <el-input v-model="row[item]" placeholder="请输入" />
@@ -765,6 +767,13 @@
            }
          }
          if (this.sheetName.indexOf('节拍工价') !== -1) {
            const res = this.handleMeterPriceSubmitData()
            if (res.code !== '200') {
              return this.$message.info(res.message)
            }
          }
          if (this.sheetName.indexOf('库位设置') !== -1) {
            const res = this.handleStorageListSubmitData()
            if (res.code !== '200') {
@@ -1173,6 +1182,36 @@
        delete (item.uuid)
      })
      this.tableData[1].map(item => {
        delete (item.uuid)
      })
      return { code: '200', message: '成功!' }
    },
    // 处理仓库设置提交数据
    handleMeterPriceSubmitData() {
      let flag = true
      let msg = ''
      this.tableData[0].forEach(j => {
        if (!j['*产品编码']) {
          flag = false
          msg = '*产品编码'
        }
        if (!j['*工序编码']) {
          flag = false
          msg = '*工序编码'
        }
        if (!j['*计件单价']) {
          flag = false
          msg = '*计件单价'
        }
      })
      if (!flag) {
        return { code: '301', message: msg + '不能为空!' }
      }
      this.tableData[0].map(item => {
        delete (item.uuid)
      })
@@ -1994,6 +2033,15 @@
          '描述': ''
        })
      }
      //  节拍工价新增行
      if (this.sheetName.indexOf('节拍工价') !== -1) {
        this.tableData[0].unshift({
          uuid: nanoid(),
          '*产品编码': '',
          '*工序编码': '',
          '*计件单价': ''
        })
      }
      // 往来单位
      if (this.sheetName.indexOf('往来单位类型') !== -1 && this.activeName === '0') {
        this.tableData[0].unshift({
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