小小儁爺
2024-06-04 c735107881df314cc60235f099447da82147bbae
src/views/workOrder/workOrderList.vue
@@ -206,7 +206,7 @@
          </el-table-column>
          <el-table-column
            prop="saleOrderCode"
            label="销售订单"
            label="销售订单/预测单"
            sortable="custom"
            show-tooltip-when-overflow
            min-width="160"
@@ -252,6 +252,30 @@
          >
            <template slot-scope="{row}">
              <div v-if="row.partspec">{{ row.partspec }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="TopInventoryCode"
            label="顶级物料编码"
            sortable="custom"
            show-tooltip-when-overflow
            min-width="130"
          >
            <template slot-scope="{row}">
              <div v-if="row.TopInventoryCode">{{ row.TopInventoryCode }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="TopInventoryName"
            label="顶级物料名称"
            sortable="custom"
            show-tooltip-when-overflow
            min-width="130"
          >
            <template slot-scope="{row}">
              <div v-if="row.TopInventoryName">{{ row.TopInventoryName }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
@@ -336,7 +360,7 @@
                    :style="{color:$store.state.settings.theme}"
                    class="el-icon-printer"
                    style="cursor: pointer;margin-right: 15px"
                    @click.stop="handlePrint(row.wo_code)"
                    @click.stop="handlePrint(row.wo_code,row.saleOrderCode,row.TopInventoryName)"
                  />
                </el-tooltip>
@@ -574,6 +598,7 @@
        <!--            />-->
        <!--          </div>-->
        <!--        </div>-->
        <el-form-item label="工单数量" prop="mesqty">
          <el-input
            v-model="dialogForm.mesqty"
@@ -612,6 +637,15 @@
        <el-form-item label="产品规格" prop="partspec">
          <el-input v-model="dialogForm.partspec" disabled style="width: 200px" />
        </el-form-item>
        <el-form-item v-if="operation!=='add'" label="顶级物料编码" prop="TopInventoryCode">
          <el-input v-model="dialogForm.TopInventoryCode" disabled style="width: 200px" />
        </el-form-item>
        <el-form-item v-if="operation!=='add'" label="顶级物料名称" prop="TopInventoryName">
          <el-input v-model="dialogForm.TopInventoryName" disabled style="width: 200px" />
        </el-form-item>
        <!--        :disabled="dialogForm.partcode===''"-->
        <el-form-item label="所属车间" prop="wkshopcode">
          <el-select
@@ -629,6 +663,13 @@
              :value="item.torg_code"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="销售订单" prop="">
          <el-input
            v-model="dialogForm.saleordercode"
            style="width: 200px"
            :disabled="!(dialogForm.mesorderstus==='NEW'&&dialogForm.data_sources==='MES')"
          />
        </el-form-item>
        <el-form-item label="预计交付日期" prop="deliverydate">
          <el-date-picker
@@ -1091,6 +1132,7 @@
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="plan_qty"
            label="任务数量"
@@ -1244,6 +1286,9 @@
              style="display: flex;justify-content: space-between"
            >
              <div class="elForm">
                <el-form-item label="销售单号:" class="formContent">
                  {{ formApprove.saleOrderCode ? formApprove.saleOrderCode : '/' }}
                </el-form-item>
                <el-form-item label="工单编号:" class="formContent">
                  {{ formApprove.mesordercode }}
                </el-form-item>
@@ -1258,6 +1303,9 @@
                </el-form-item>
                <el-form-item label="产品规格:" class="formContent">
                  {{ formApprove.partspec }}
                </el-form-item>
                <el-form-item label="顶级物料:" class="formContent">
                  {{ formApprove.TopInventoryName }}
                </el-form-item>
                <el-form-item label="工单数量:" class="formContent">
                  {{ formApprove.plan_qty }}
@@ -1336,22 +1384,29 @@
          <el-table-column
            id="column4"
            prop="good_qty"
            width="100"
            width="60"
            align="center"
            label="合格数量"
            label="合格"
          />
          <el-table-column
            id="column5"
            width="100"
            width="60"
            prop="ng_qty"
            align="center"
            label="不良数量"
            label="不良"
          />
          <el-table-column
            id="column6"
            prop="desc"
            align="center"
            width="120"
            width="100"
            label="检验员"
          />
          <el-table-column
            id="column6"
            prop="desc"
            align="center"
            width="100"
            label="备注"
          />
        </el-table>
@@ -1361,7 +1416,7 @@
          <el-button v-waves @click="dialogVisibleBackPreview">返 回</el-button>
          <!--            <el-button v-waves v-if="operation==='add'" type="primary" @click="dialogVisibleConfirm">确 定</el-button>-->
          <!--            <el-button v-waves type="primary" @click="dialogVisibleConfirm">确 定/打 印</el-button>-->
          <el-button v-waves v-print="printObj" type="primary">打 印</el-button>
          <el-button v-waves v-print="printObj" type="primary" @click="sendMesOrderDistribution">打 印</el-button>
        </div>
      </span>
    </el-dialog>
@@ -2032,6 +2087,8 @@
        sourceorderid: '', // 源单id
        sourceorder: '', // 源单单号
        saleordercode: '', // 销售订单号
        partcode: '', // 产品编码
        partname: '', // 产品名称
        partspec: '', // 产品规格
@@ -2042,6 +2099,10 @@
        deliverydate: '', // 交付时间
        data_sources: '', // 数据来源
        idTopInventory: '', // 顶级物料id
        TopInventoryCode: '', // 顶级物料编码
        TopInventoryName: '', // 顶级物料名称
        mesmaxqty: 0// 工单的最大值
      },
@@ -2121,14 +2182,16 @@
          console.log('执行了打印')
        }
      },
      sendMesOrderWoCode: '',
      formApprove: {
        m_po: '', // 源单单号
        mesordercode: '',
        saleOrderCode: '', // 销售单号
        partcode: '',
        partname: '',
        partspec: '',
        plan_qty: '',
        TopInventoryName: '',
        routename: '',
        lm_date: ''
      },
@@ -2264,6 +2327,16 @@
    // })
  },
  methods: {
    // 打印的时候执行派发事件
    sendMesOrderDistribution() {
      MesOrderDistribution([this.sendMesOrderWoCode]).then(res => {
        if (res.code === '200') {
          this.$notify.success('派发成功!')
          this.getMesOrderSearch()
        }
      })
    },
    setSort() {
      const el = this.$refs.stepTableDataRef.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0]
      this.sortable = Sortable.create(el, {
@@ -2485,12 +2558,17 @@
      this.dialogForm.ordertype = row.wotype
      this.dialogForm.sourceorderid = row.sourceid
      this.dialogForm.sourceorder = row.m_po
      this.dialogForm.saleordercode = row.saleOrderCode
      this.dialogForm.partcode = row.partcode
      this.dialogForm.partname = row.partname
      this.dialogForm.partspec = row.partspec
      this.dialogForm.wkshopcode = row.wkshp_code
      this.dialogForm.deliverydate = row.saleOrderDeliveryDate.substring(0, 11)
      this.dialogForm.mesqty = row.plan_qty
      this.dialogForm.TopInventoryCode = row.TopInventoryCode
      this.dialogForm.TopInventoryName = row.TopInventoryName
      this.dialogForm.idTopInventory = row.idTopInventory
      const data = {
        sourceid: this.dialogForm.sourceorderid,
@@ -2548,7 +2626,7 @@
        this.getMesOrderNewStepContent()
      }
    },
    async  getMesOrderNewStepContent() {
    async getMesOrderNewStepContent() {
      const data = {
        wkshopcode: this.dialogForm.wkshopcode,
        partcode: this.dialogForm.partcode
@@ -2579,7 +2657,7 @@
        ordertype: 'PO', // 工单类型
        sourceorderid: '', // 源单id
        sourceorder: '', // 源单单号
        saleordercode: '', // 销售订单号
        partcode: '', // 产品编码
        partname: '', // 产品名称
        partspec: '', // 产品规格
@@ -2587,6 +2665,10 @@
        mesqty: '', // 工单数量
        wkshopcode: '', // 生产车间编码
        wkshopname: '', // 生产车间名称
        idTopInventory: '', // 顶级物料id
        TopInventoryCode: '', // 顶级物料编码
        TopInventoryName: '', // 顶级物料名称
        deliverydate: '', // 交付时间
        data_sources: '' // 数据来源
@@ -2634,6 +2716,7 @@
            wotype: this.dialogForm.ordertype, // 工单类型
            sourceid: this.dialogForm.sourceorderid, // 源单id
            sourcewo: this.dialogForm.sourceorder, // 源单单号
            saleordercode: this.dialogForm.saleordercode, // 源单单号
            partcode: this.dialogForm.partcode, // 产品编号
            wkshopcode: this.dialogForm.wkshopcode,
            woqty: this.dialogForm.mesqty, // 工单数量
@@ -2648,11 +2731,11 @@
            if (res.code === '200') {
              this.dialogVisible = false
              // this.handlePrint()
              this.$message.success(this.operation === 'add' ? '添加成功!' : '派发成功!')
              this.$message.success(this.operation === 'add' ? '添加成功!' : '保存成功!')
              this.getMesOrderSearch()
              this.$store.state.app.buttonIsDisabled = false
            } else {
              this.$message.error(this.operation === 'add' ? '添加失败!' : '派发失败!')
              this.$message.error(this.operation === 'add' ? '添加失败!' : '保存失败!')
            }
          })
        }
@@ -2705,14 +2788,19 @@
      this.dialogVisibleSearch = false
    },
    // 处理打印
    handlePrint(wo_code) {
    handlePrint(wo_code, saleOrderCode, TopInventoryName) {
      // const number = Math.random() * Math.random()
      // this.number = number === 0 ? (10 + Math.random()) : number
      // console.log(number)
      this.formApprove.saleOrderCode = this.formApprove.saleOrderCode !== '' ? this.formApprove.saleOrderCode : saleOrderCode
      this.formApprove.TopInventoryName = TopInventoryName || '/'
      const data2 = {
        mesordercode: wo_code || this.dialogForm.mesordercode
      }
      this.sendMesOrderWoCode = wo_code || this.dialogForm.mesordercode
      MesOrderPrintSearch(data2).then(res2 => {
        if (res2.code === '200') {
          const res3 = res2.data.recordset
@@ -2796,6 +2884,7 @@
    dialogVisibleConfirmClose() {
      // this.dialogForm.mesordercode = ''
      this.formApprove.saleOrderCode = ''
      this.formApprove.mesordercode = ''
      this.formApprove.m_po = ''
      this.formApprove.partcode = ''
@@ -2804,6 +2893,7 @@
      this.formApprove.plan_qty = ''
      this.formApprove.routename = ''
      this.formApprove.lm_date = ''
      this.formApprove.TopInventoryName = ''
      // this.$refs.qrCodeDiv0.title = ''