loulijun2021
2024-05-06 46528c3843ce67038ddb2e00dd3d3998c206a69e
src/views/workOrder/workOrderList.vue
@@ -20,6 +20,22 @@
          style="display: flex;"
        >
          <div class="elForm">
            <el-form-item label="车间名称" style=" display: flex;">
              <el-select
                v-model="form.wkshopcode"
                filterable
                :popper-append-to-body="false"
                style="width: 200px"
                placeholder="请选择"
              >
                <el-option
                  v-for="item in wkshopcodeArr"
                  :key="item.torg_code"
                  :label="item.torg_name"
                  :value="item.torg_code"
                />
              </el-select>
            </el-form-item>
            <el-form-item label="工单状态" style=" display: flex;">
              <el-select
                v-model="form.mesorderstus"
@@ -43,7 +59,7 @@
            <el-form-item label="源单单号" style="display: flex;">
              <el-input v-model="form.sourceorder" style="width: 200px" placeholder="请输入" />
            </el-form-item>
            <el-form-item label="销售订单" style="display: flex;">
            <el-form-item v-show="isExpandForm" label="销售订单" style="display: flex;">
              <el-input v-model="form.saleordercode" style="width: 200px" placeholder="请输入" />
            </el-form-item>
            <el-form-item v-show="isExpandForm" label="单据类型" style=" display: flex;">
@@ -246,6 +262,18 @@
            show-tooltip-when-overflow
            width="100"
          />
          <el-table-column
            prop="clerkuser"
            label="销售业务员"
            sortable="custom"
            show-tooltip-when-overflow
            width="150"
          >
            <template slot-scope="{row}">
              <div v-if="row.clerkuser">{{ row.clerkuser }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="wkshp_name"
            label="生产车间"
@@ -472,7 +500,7 @@
    <!--新增派发对话框-->
    <el-dialog
      v-el-drag-dialog
      :title="operation==='add'?'新增':'修改'"
      :title="operation==='add'?'新增':(operation==='edit'?'修改':'详情')"
      :visible.sync="dialogVisible"
      width="1200px"
      top="8vh"
@@ -604,6 +632,7 @@
            :popper-append-to-body="false"
            style="width: 200px;"
            placeholder="请选择车间"
            @change="getMesOrderNewStepContent"
          >
            <el-option
              v-for="item in wkshopArr"
@@ -905,6 +934,22 @@
            <!--                />-->
            <!--              </el-select>-->
            <!--            </el-form-item>-->
            <el-form-item label="车间名称" style=" display: flex;">
              <el-select
                v-model="sourceForm.wkshopcode"
                filterable
                :popper-append-to-body="false"
                style="width: 200px"
                placeholder="请选择"
              >
                <el-option
                  v-for="item in wkshopcodeArr"
                  :key="item.torg_code"
                  :label="item.torg_name"
                  :value="item.torg_code"
                />
              </el-select>
            </el-form-item>
            <el-form-item label="工单编号" style=" display: flex;">
              <el-input v-model="sourceForm.mesordercode" placeholder="请输入" style="width: 200px" />
            </el-form-item>
@@ -912,12 +957,12 @@
              <el-input v-model="sourceForm.partcode" style="width: 200px" placeholder="请输入" />
            </el-form-item>
            <el-form-item label="产品名称" style=" display: flex;">
            <el-form-item v-show="isExpandDialog" label="产品名称" style=" display: flex;">
              <el-input v-model="sourceForm.partname" style="width: 200px" placeholder="请输入" />
            </el-form-item>
            <el-form-item v-show="isExpandDialog" label="产品规格" style=" display: flex;">
              <el-input v-model="sourceForm.partspec" style="width: 200px" placeholder="请输入" />
            </el-form-item>
            <!--            <el-form-item v-show="isExpandDialog" label="产品规格" style=" display: flex;">-->
            <!--              <el-input v-model="sourceForm.partspec" style="width: 200px" placeholder="请输入" />-->
            <!--            </el-form-item>-->
            <el-form-item v-show="isExpandDialog" label="创建人员" style=" display: flex;">
              <el-input v-model="sourceForm.creatuser" style="width: 200px" placeholder="请输入" />
            </el-form-item>
@@ -1936,12 +1981,12 @@
import {
  AddMesOrderCodeSearch,
  AddUpdateMesOrder, DeleteMesOrder,
  MesBadOrderSearch, MesOrderDistribution,
  MesBadOrderSearch, MesOrderDistribution, MesOrderNewStepContent,
  MesOrderSearch,
  UpdateMesOrderStepSearch
} from '@/api/WorkOrder'
import { PartSelect } from '@/api/ProductModel'
import { PrentOrganization, StepData } from '@/api/GeneralBasicData'
import { PrentOrganization, PrentOrganizationNoCompany, StepData } from '@/api/GeneralBasicData'
import Sortable from 'sortablejs'
import ElDragSelect from '@/components/DragSelect'
import { MesOrderPrintSearch } from '@/api/GridReport' // base on element-ui
@@ -1962,6 +2007,7 @@
      tableHeight: 0,
      username: '',
      form: {
        wkshopcode: '', // 车间编码
        mesorderstus: '', // 工单状态码
        mesordercode: '', // 工单编号
        partcode: '', // 产品编码
@@ -1987,6 +2033,7 @@
        // { code: 'NOSCHED', name: '待排程' },
        // { code: 'SCHED', name: '已排程' }
      ],
      wkshopcodeArr: [],
      total: 10,
      tableData: [],
      dialogVisible: false,
@@ -2133,6 +2180,7 @@
      dialogVisibleSource: false,
      sourceTableData: [],
      sourceForm: {
        wkshopcode: '', // 车间编码
        mesordercode: '', // 工单编号
        sourceorder: '', // 订单编号
        saleordercode: '', // 销售订单号
@@ -2255,8 +2303,13 @@
      this.getMesOrderSearch().then(res => {
        if (res.code === '200') {
          this.getSelect()
          this.getPrentOrganizationNoCompany()
        }
      })
    },
    async getPrentOrganizationNoCompany() {
      const { data: res } = await PrentOrganizationNoCompany()
      this.wkshopcodeArr = res
    },
    async getMesOrderSearch() {
      // let tempDate = this.form.createdate
@@ -2265,6 +2318,7 @@
      // }
      const data = {
        wkshopcode: this.form.wkshopcode,
        mesorderstus: this.form.mesorderstus, // 工单状态码
        mesordercode: this.form.mesordercode, // 工单编号
        partcode: this.form.partcode, // 产品编码
@@ -2336,6 +2390,7 @@
    // 重置
    reset(val) {
      this.form.wkshopcode = ''
      this.form.mesorderstus = ''
      this.form.mesordercode = ''
      this.form.partcode = ''
@@ -2383,6 +2438,10 @@
    },
    // 派发
    send() {
      if (this.multipleSelection.length === 0) {
        return this.$message.info('请先勾选相对应的工单!')
      }
      this.$confirm('是否确认派发?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
@@ -2454,16 +2513,36 @@
      const { data: res } = await UpdateMesOrderStepSearch(data)
      this.dialogForm.mesmaxqty = res.canupdate_qty
      res.stepdata.forEach(i => {
        this.stepTableData.push(
          {
            stepcode: i.step_code,
            stepname: i.stepname,
            stepprice: i.stepprice
          }
        )
      })
      this.stepSelectedValue = this.stepTableData.map(i => i.stepcode)
      if (res.stepdata.length > 0) {
        res.stepdata.forEach(i => {
          this.stepTableData.push(
            {
              stepcode: i.step_code,
              stepname: i.stepname,
              stepprice: i.stepprice
            }
          )
        })
        this.stepSelectedValue = this.stepTableData.map(i => i.stepcode)
      } else {
        const data2 = {
          wkshopcode: this.dialogForm.wkshopcode,
          partcode: this.dialogForm.partcode
        }
        const { data: res2 } = await MesOrderNewStepContent(data2)
        if (res2.length > 0) {
          res2.forEach(i => {
            this.stepTableData.push(
              {
                stepcode: i.step_code,
                // stepname: i.stepname,
                stepprice: i.stepprice
              }
            )
          })
          this.stepSelectedValue = this.stepTableData.map(i => i.stepcode)
        }
      }
      this.dialogVisible = true
    },
@@ -2477,7 +2556,33 @@
      this.dialogForm.partname = this.partArr.find(item => item.partcode === val).partname
      this.dialogForm.partcode = this.partArr.find(item => item.partcode === val).partcode
      this.dialogForm.partspec = this.partArr.find(item => item.partcode === val).partspec
      if (this.dialogForm.wkshopcode) {
        this.getMesOrderNewStepContent()
      }
    },
    async  getMesOrderNewStepContent() {
      const data = {
        wkshopcode: this.dialogForm.wkshopcode,
        partcode: this.dialogForm.partcode
      }
      const { data: res } = await MesOrderNewStepContent(data)
      // console.log(res)
      this.stepSelectedValue = []
      this.stepTableData = []
      if (res.length > 0) {
        res.forEach(i => {
          this.stepTableData.push(
            {
              stepcode: i.step_code,
              // stepname: i.stepname,
              stepprice: i.stepprice
            }
          )
        })
        this.stepSelectedValue = this.stepTableData.map(i => i.stepcode)
      }
    },
    // 对话框关闭事件
    handleClose() {
      this.dialogForm = {
@@ -2830,6 +2935,7 @@
      }
      const data = {
        wkshopcode: this.form.wkshopcode, // 车间编码
        mesordercode: this.sourceForm.mesordercode, // 工单编号
        sourceorder: '', // 源单单号
        saleordercode: '', // 销售单号
@@ -2865,6 +2971,7 @@
      this.getMesBadOrderSearch()
    },
    sourceReset() {
      this.sourceForm.wkshopcode = ''
      this.sourceForm.mesordercode = ''
      this.sourceForm.sourceorder = ''
      this.sourceForm.partcode = ''
@@ -2879,6 +2986,7 @@
    dialogVisibleSourceClose() {
      this.radioSelectedId = ''
      this.sourceForm.wkshopcode = ''
      this.sourceForm.mesordercode = ''
      this.sourceForm.sourceorder = ''
      this.sourceForm.partcode = ''