loulijun2021
2024-01-09 844adb3a80b39f9a78dae89a6a27f19e58a931df
src/views/workOrder/workOrderList.vue
@@ -8,7 +8,7 @@
          <el-button v-waves type="success" icon="el-icon-connection" @click="send">派发</el-button>
        </div>
        <el-button v-waves icon="el-icon-switch-button" @click="orderClose">关闭工单</el-button>
        <!--        <el-button v-waves icon="el-icon-switch-button" @click="orderClose">关闭工单</el-button>-->
      </div>
      <div class="bodyTopFormGroup">
@@ -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;">
@@ -269,13 +285,13 @@
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="data_sources"
            show-tooltip-when-overflow
            label="数据来源"
            sortable="custom"
            width="120"
          />
          <!--          <el-table-column-->
          <!--            prop="data_sources"-->
          <!--            show-tooltip-when-overflow-->
          <!--            label="数据来源"-->
          <!--            sortable="custom"-->
          <!--            width="120"-->
          <!--          />-->
          <el-table-column
            prop="lm_user"
@@ -404,6 +420,11 @@
            width="150"
          />
          <el-table-column
            label="工序单价"
            show-tooltip-when-overflow
            prop="stepprice"
          />
          <el-table-column
            label="已生产数量"
            show-tooltip-when-overflow
            prop="produceq_qty"
@@ -467,7 +488,7 @@
    <!--新增派发对话框-->
    <el-dialog
      v-el-drag-dialog
      :title="operation==='add'?'新增':'派发'"
      :title="operation==='add'?'新增':'修改'"
      :visible.sync="dialogVisible"
      width="1200px"
      top="8vh"
@@ -634,6 +655,7 @@
            placeholder="请选择相对应工序"
            @change="stepSelectedValueChange"
          >
            <!--            :disabled="!(dialogForm.mesorderstus==='NEW'||dialogForm.mesorderstus==='ALLO')"-->
            <el-option
              v-for="item in stepSelectArr"
              :key="item.stepcode"
@@ -720,7 +742,7 @@
          <el-button v-waves @click="dialogVisibleCancel">取 消</el-button>
          <!--          <el-button v-waves v-if="operation==='add'" type="primary" @click="dialogVisibleConfirmPreview('add')">预览</el-button>-->
          <el-button
            v-if="operation!=='view'"
            v-if="operation!=='view'&&(dialogForm.mesorderstus==='NEW'||dialogForm.mesorderstus==='ALLO')"
            v-waves
            type="primary"
            :loading="$store.state.app.buttonIsDisabled"
@@ -883,24 +905,40 @@
            <!--                size="mini"-->
            <!--              />-->
            <!--            </el-form-item>-->
            <el-form-item label="工单状态" style=" display: flex;">
            <!--            <el-form-item label="工单状态" style=" display: flex;">-->
            <!--              <el-select-->
            <!--                v-model="sourceForm.mesordercode"-->
            <!--                filterable-->
            <!--                :popper-append-to-body="false"-->
            <!--                style="width: 200px"-->
            <!--                placeholder="请选择"-->
            <!--              >-->
            <!--                <el-option-->
            <!--                  v-for="item in erporderstusArr"-->
            <!--                  :key="item.code"-->
            <!--                  :label="item.name"-->
            <!--                  :value="item.code"-->
            <!--                />-->
            <!--              </el-select>-->
            <!--            </el-form-item>-->
            <el-form-item label="车间名称" style=" display: flex;">
              <el-select
                v-model="sourceForm.mesordercode"
                v-model="sourceForm.wkshopcode"
                filterable
                :popper-append-to-body="false"
                style="width: 200px"
                placeholder="请选择"
              >
                <el-option
                  v-for="item in erporderstusArr"
                  :key="item.code"
                  :label="item.name"
                  :value="item.code"
                  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.sourceorder" placeholder="请输入" style="width: 200px" />
              <el-input v-model="sourceForm.mesordercode" placeholder="请输入" style="width: 200px" />
            </el-form-item>
            <el-form-item label="产品编码" style=" display: flex;">
              <el-input v-model="sourceForm.partcode" style="width: 200px" placeholder="请输入" />
@@ -909,9 +947,9 @@
            <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>
@@ -967,10 +1005,10 @@
      <div class="elTableDiv">
        <el-table
          :data="sourceTableData"
          :height="isExpandDialog?(tableHeight+60)+'px':(tableHeight+140)+'px'"
          :height="isExpandDialog?(tableHeight+100)+'px':(tableHeight+140)+'px'"
          border
          :row-class-name="tableRowClassName"
          :style="{width: 100+'%',height:isExpandDialog?(tableHeight+60)+'px':(tableHeight+140)+'px',}"
          :style="{width: 100+'%',height:isExpandDialog?(tableHeight+100)+'px':(tableHeight+140)+'px',}"
          highlight-current-row
          :header-cell-style="this.$headerCellStyle"
          :cell-style="this.$cellStyle"
@@ -995,7 +1033,7 @@
            </template>
          </el-table-column>
          <el-table-column
            prop="RowNum"
            prop="rowNum"
            width="50"
            fixed
            label="序号"
@@ -1061,8 +1099,15 @@
          />
          <el-table-column
            prop="bad_qty"
            label="报废数量"
            prop="laborbad_qty"
            label="工废数量"
            width="150"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="materielbad_qty"
            label="料废数量"
            width="150"
            show-tooltip-when-overflow
            sortable="custom"
@@ -1087,30 +1132,30 @@
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="plan_startdate"
            label="预计开工时间"
            show-tooltip-when-overflow
            sortable="custom"
            width="130"
          >
            <template slot-scope="{row}">
              <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0, 11) }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="plan_enddate"
            label="预计完工时间"
            show-tooltip-when-overflow
            sortable="custom"
            width="130"
          >
            <template slot-scope="{row}">
              <div v-if="row.plan_enddate">{{ row.plan_enddate.substring(0, 11) }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <!--          <el-table-column-->
          <!--            prop="plan_startdate"-->
          <!--            label="预计开工时间"-->
          <!--            show-tooltip-when-overflow-->
          <!--            sortable="custom"-->
          <!--            width="130"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0, 11) }}</div>-->
          <!--              <div v-else>/</div>-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <!--          <el-table-column-->
          <!--            prop="plan_enddate"-->
          <!--            label="预计完工时间"-->
          <!--            show-tooltip-when-overflow-->
          <!--            sortable="custom"-->
          <!--            width="130"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              <div v-if="row.plan_enddate">{{ row.plan_enddate.substring(0, 11) }}</div>-->
          <!--              <div v-else>/</div>-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <el-table-column
            prop="lm_user"
            label="创建人员"
@@ -1216,11 +1261,12 @@
                <el-form-item label="工单数量:" class="formContent">
                  {{ formApprove.plan_qty }}
                </el-form-item>
                <el-form-item label="工艺路线:" class="formContent">
                  {{ formApprove.routename }}
                </el-form-item>
                <!--                <el-form-item label="工艺路线:" class="formContent">-->
                <!--                  {{ formApprove.routename }}-->
                <!--                </el-form-item>-->
                <el-form-item label="打印人员:" class="formContent">
                  {{ username }}
                  <!--                  {{ localStorage.getItem('username') }}-->
                  {{ formApprove.routename }}
                </el-form-item>
                <el-form-item label="打印时间:" class="formContent">
                  {{ formApprove.lm_date }}
@@ -1927,9 +1973,10 @@
  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' // base on element-ui
import ElDragSelect from '@/components/DragSelect'
import { MesOrderPrintSearch } from '@/api/GridReport' // base on element-ui
export default {
  name: 'WorkOrderList',
@@ -1947,6 +1994,7 @@
      tableHeight: 0,
      username: '',
      form: {
        wkshopcode: '', // 车间编码
        mesorderstus: '', // 工单状态码
        mesordercode: '', // 工单编号
        partcode: '', // 产品编码
@@ -1968,10 +2016,11 @@
        // { code: 'CREATED', name: '已关闭' }
        { code: 'ALLO', name: '已派发' },
        { code: 'START', name: '开工' },
        { code: 'CLOSED', name: '完工' },
        { code: 'NOSCHED', name: '待排程' },
        { code: 'SCHED', name: '已排程' }
        { code: 'CLOSED', name: '完工' }
        // { code: 'NOSCHED', name: '待排程' },
        // { code: 'SCHED', name: '已排程' }
      ],
      wkshopcodeArr: [],
      total: 10,
      tableData: [],
      dialogVisible: false,
@@ -2118,6 +2167,7 @@
      dialogVisibleSource: false,
      sourceTableData: [],
      sourceForm: {
        wkshopcode: '', // 车间编码
        mesordercode: '', // 工单编号
        sourceorder: '', // 订单编号
        saleordercode: '', // 销售订单号
@@ -2240,8 +2290,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
@@ -2250,6 +2305,7 @@
      // }
      const data = {
        wkshopcode: this.form.wkshopcode,
        mesorderstus: this.form.mesorderstus, // 工单状态码
        mesordercode: this.form.mesordercode, // 工单编号
        partcode: this.form.partcode, // 产品编码
@@ -2321,6 +2377,7 @@
    // 重置
    reset(val) {
      this.form.wkshopcode = ''
      this.form.mesorderstus = ''
      this.form.mesordercode = ''
      this.form.partcode = ''
@@ -2364,15 +2421,14 @@
    },
    selected(row, index) {
    // && row.isstep === 'Y'  //后端这个字段还没放出来
      if (row.status === 'NEW') {
        return true
      } else {
        return false
      }
      return row.status === 'NEW' && row.isstep === 'Y'
    },
    // 派发
    send() {
      if (this.multipleSelection.length === 0) {
        return this.$message.info('请先勾选相对应的工单!')
      }
      this.$confirm('是否确认派发?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
@@ -2381,9 +2437,6 @@
        MesOrderDistribution(this.multipleSelection).then(res => {
          if (res.code === '200') {
            this.$notify.success('派发成功!')
            if (this.form.page > 1 && this.tableData.length === 1) {
              this.form.page--
            }
            this.getMesOrderSearch()
          }
        })
@@ -2524,6 +2577,10 @@
            )
          })
          if (workListSub.length === 0) {
            return this.$message.info('工序不能为空!')
          }
          const data = {
            wostatus: this.dialogForm.mesorderstus, // 工单状态
            wocode: this.dialogForm.mesordercode, // 工单号
@@ -2607,21 +2664,20 @@
      // console.log(number)
      const data2 = {
        username: getCookie('admin'),
        mesordercode: wo_code || this.dialogForm.mesordercode
      }
      MesOrderPrintSearch1(data2).then(res2 => {
      MesOrderPrintSearch(data2).then(res2 => {
        if (res2.code === '200') {
          const res3 = res2.data.recordset
          this.tableDataPrint = res3
          this.formApprove.mesordercode = res3[0].wo_code
          this.formApprove.m_po = res3[0].m_po
          this.formApprove.m_po = res3[0].m_po || '/'
          this.formApprove.partcode = res3[0].partcode
          this.formApprove.partname = res3[0].partname
          this.formApprove.partspec = res3[0].partspec
          this.formApprove.partspec = res3[0].partspec || '/'
          this.formApprove.plan_qty = res3[0].plan_qty
          this.formApprove.routename = res3[0].routename
          this.formApprove.routename = localStorage.getItem('username') // 打印人员
          this.formApprove.lm_date = res3[0].lm_date
          this.$nextTick(() => {
@@ -2820,9 +2876,10 @@
      }
      const data = {
        wkshopcode: this.form.wkshopcode, // 车间编码
        mesordercode: this.sourceForm.mesordercode, // 工单编号
        sourceorder: this.sourceForm.sourceorder, // 订单订单号
        saleordercode: this.sourceForm.sourceorder, // 订单订单号
        sourceorder: '', // 源单单号
        saleordercode: '', // 销售单号
        partcode: this.sourceForm.partcode, // 产品编码
        partname: this.sourceForm.partname, // 产品名称
        partspec: this.sourceForm.partspec, // 产品规格
@@ -2855,6 +2912,7 @@
      this.getMesBadOrderSearch()
    },
    sourceReset() {
      this.sourceForm.wkshopcode = ''
      this.sourceForm.mesordercode = ''
      this.sourceForm.sourceorder = ''
      this.sourceForm.partcode = ''
@@ -2869,6 +2927,7 @@
    dialogVisibleSourceClose() {
      this.radioSelectedId = ''
      this.sourceForm.wkshopcode = ''
      this.sourceForm.mesordercode = ''
      this.sourceForm.sourceorder = ''
      this.sourceForm.partcode = ''