王震
2023-11-10 485b40a132a08b8f8bbd16f400ea504bbfb13b19
Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before
已修改15个文件
2255 ■■■■ 文件已修改
src/api/product/personboard.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/customerorder/customerorder-form.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/batchproductout-form-new.vue 224 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/feed-form.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/feed-pane.vue 181 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/handymantype.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/index.vue 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/operation-task-pane.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/product-record-form.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/productoutput-table.vue 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/returnmaterial-form.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/taskinfo-pane.vue 650 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/workReport-feed.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/workReportCard.vue 940 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/product/personboard.js
@@ -509,3 +509,11 @@
    params: query
  })
}
export function getOperationTaskCopy(query) {
  return request({
    url: '/mes/operationTask/getOperationTaskCopy',
    method: 'get',
    params: query
  })
}
src/views/plan/customerorder/customerorder-form.vue
@@ -828,6 +828,7 @@
        productName: '',
        productType: '',
        partNo: '',
        technologyDocumentId: '',
        docNumber: '',
        docName: '',
        shippingAddress: '',
src/views/product/workbench/batchproductout-form-new.vue
@@ -8,8 +8,8 @@
-->
<template>
  <el-dialog
    width="95%"
    title="批量产出"
    width="90%"
    title="汇报产出"
    :visible.sync="innerVisible"
    append-to-body
    @close="$emit('update:currshowlist', false)"
@@ -18,7 +18,7 @@
    class="batch-product-out-form"
  >
    <div
      style="float: left;width: 15%;box-sizing: border-box;padding-right: 34px;position: relative"
      style="float: left;width: 20%;box-sizing: border-box;padding-right: 34px;position: relative"
    >
      <el-table
        stripe
@@ -48,7 +48,7 @@
        style="position: absolute;top:0px;right: 0px;height: 100%;width: 34px;border-left: 1px solid #f4f2ea;border-right: 1px solid #f4f2ea;"
      ></div>
    </div>
    <div style="float: left;width: 85%">
    <div style="float: left;width: 80%">
      <el-row style="">
        <el-col :span="1" class="batch-product-out-form-header-col"
          ><span>序号</span></el-col
@@ -58,9 +58,9 @@
          ><span>零件名称</span></el-col
        >
        <el-col :span="4" class="batch-product-out-form-header-col"
          ><span>SN号</span></el-col
          ><span>序列号</span></el-col
        >
        <el-col :span="2" class="batch-product-out-form-header-col"
        <!-- <el-col :span="2" class="batch-product-out-form-header-col"
          ><span>载具编号</span></el-col
        >
        <el-col :span="1" class="batch-product-out-form-header-col"
@@ -68,34 +68,40 @@
        >
        <el-col :span="1" class="batch-product-out-form-header-col"
          ><span>每盘产量</span></el-col
        >
        <el-col :span="1" class="batch-product-out-form-header-col"
        > -->
        <!-- <el-col :span="1" class="batch-product-out-form-header-col"
          ><span>起始米标</span></el-col
        >
        <el-col :span="1" class="batch-product-out-form-header-col"
          ><span>截止米标</span></el-col
        >
        > -->
        <el-col :span="1" class="batch-product-out-form-header-col"
          ><span>单位</span></el-col
        >
        <el-col :span="1" class="batch-product-out-form-header-col"
          ><span>分段描述</span></el-col
        <el-col :span="2" class="batch-product-out-form-header-col"
          ><span>WDR号</span></el-col
        >
        <el-col :span="1" class="batch-product-out-form-header-col"
        <!-- <el-col :span="1" class="batch-product-out-form-header-col"
          ><span>分段描述</span></el-col
        > -->
                <el-col :span="2" class="batch-product-out-form-header-col"
                  ><span>生产数量</span></el-col
                >
        <el-col :span="2" class="batch-product-out-form-header-col"
          ><span>报废数量</span></el-col
        >
        <el-col :span="1" class="batch-product-out-form-header-col"
        <!-- <el-col :span="1" class="batch-product-out-form-header-col"
          ><span>盘具重量</span></el-col
        >
        <el-col :span="1" class="batch-product-out-form-header-col"
        > -->
        <!-- <el-col :span="1" class="batch-product-out-form-header-col"
          ><span>毛重</span></el-col
        >
        > -->
        <!--<el-col :span="1" class="batch-product-out-form-header-col"
          ><span>IFS批次号</span></el-col
        >-->
        <el-col :span="2" class="batch-product-out-form-header-col"
        <el-col :span="3" class="batch-product-out-form-header-col"
          ><span>生产人员</span></el-col
        ><el-col :span="1" class="batch-product-out-form-header-col"
        ><el-col :span="2" class="batch-product-out-form-header-col"
          ><span>备注</span></el-col
        >
        <el-col :span="1" class="batch-product-out-form-header-col"
@@ -127,24 +133,12 @@
              <span class="inline-el-hidden">{{ item.partName }}</span>
            </el-tooltip>
          </el-col>
          <el-col :span="4" class="batch-product-out-form-body-col">
            <span v-show="!item.batchNoEdit">{{ item.outBatchNo }}</span>
            <!--<el-input v-show="item.batchNoEdit" v-model="item.outBatchNo">
              <i
                slot="prefix"
                class="el-input__icon el-icon-search"
                style="cursor:pointer"
                @click="openOutPutBatch(item)"
              ></i>
              <i
                slot="suffix"
                class="el-input__icon el-icon-circle-close"
                style="cursor:pointer"
                @click="cleanOutBatchNo(item)"
              ></i>
            </el-input>-->
          <el-col :span="4" class="batch-product-out-form-body-col l-mes">
            <!-- <span>{{ item.outBatchNo }}</span> -->
            <el-input v-model="item.outBatchNo">
            </el-input>
          </el-col>
          <el-col :span="2" class="batch-product-out-form-body-col l-mes">
          <!-- <el-col :span="2" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.reelNumber"></el-input>
          </el-col>
          <el-col :span="1" class="batch-product-out-form-body-col l-mes">
@@ -152,32 +146,38 @@
          </el-col>
          <el-col :span="1" class="batch-product-out-form-body-col l-mes">
            <span>{{ item.productQty }}</span>
          </el-col>
          <el-col :span="1" class="batch-product-out-form-body-col l-mes">
          </el-col> -->
          <!-- <el-col :span="1" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.startMeterMark"></el-input>
          </el-col>
          <el-col :span="1" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.endMeterMark"></el-input>
          </el-col>
          </el-col> -->
          <el-col :span="1" class="batch-product-out-form-body-col">
            <span>{{ item.unit }}</span>
          </el-col>
          <el-col :span="1" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.segmentDesc"></el-input>
          <el-col :span="2" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.wdr"></el-input>
          </el-col>
          <el-col :span="1" class="batch-product-out-form-body-col l-mes">
          <!-- <el-col :span="1" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.segmentDesc"></el-input>
          </el-col> -->
                    <el-col :span="2" class="batch-product-out-form-body-col l-mes">
                      <el-input v-model="item.outNum"></el-input>
                    </el-col>
          <el-col :span="2" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.scrapQty"></el-input>
          </el-col>
          <el-col :span="1" class="batch-product-out-form-body-col l-mes">
          <!-- <el-col :span="1" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.reelWeight"></el-input>
          </el-col>
          <el-col :span="1" class="batch-product-out-form-body-col l-mes">
          </el-col> -->
          <!-- <el-col :span="1" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.grossWeight"></el-input>
          </el-col>
          </el-col> -->
          <!--<el-col :span="1" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.ifsBatchNo"></el-input>
          </el-col>-->
          <el-col :span="2" class="batch-product-out-form-body-col">
          <el-col :span="3" class="batch-product-out-form-body-col">
            <el-tooltip
              class="item"
              effect="dark"
@@ -190,7 +190,7 @@
          <!--<el-col :span="1" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.remark"></el-input>
          </el-col>-->
          <el-col :span="1" class="batch-product-out-form-body-col l-mes">
          <el-col :span="2" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.mainRemark"></el-input>
          </el-col>
          <el-col :span="1" class="batch-product-out-form-body-col">
@@ -205,19 +205,19 @@
      </div>
    </div>
    <div slot="footer" class="dialog-footer">
      <div style="display: inline-block;width: 25%;float: left">
      <!-- <div style="display: inline-block;width: 25%;float: left">
        <el-button
          style="margin-right: 34px"
          type="primary"
          @click="addProductOutForPerson"
          >添加</el-button
        >
      </div>
      </div> -->
      <el-button @click="innerVisible = false">取 消</el-button>
      <el-button
        type="primary"
        :disabled="saveDisabled"
        @click="saveProductOuts"
        @click="saveProductOuts2"
        >确 定</el-button
      >
    </div>
@@ -314,7 +314,8 @@
  batchSaveProductMain,
  getShiftProductOutByOpIdAndWsId,
  validateOverProduction,
  validateOverFeed
  validateOverFeed,
    submitProductMain
} from '@/api/product/personboard'
import ElButton from '../../../../node_modules/element-ui/packages/button/src/button.vue'
import OutPutBatch from './outputbatch.vue'
@@ -498,10 +499,39 @@
        // row.outBatchNo = null
      }
    },
        saveProductOuts2() {
            this.clickDateArr.push(new Date().getTime())
            var productOutputList = []
            this.productList.forEach(a=>{
                productOutputList.push({
                    partId: a.partId,
                    productQty: a.outNum,
                    outBatchNo: a.outBatchNo,
                    scrapQty: a.scrapQty,
                    remark: a.remark,
          wdr: a.wdr,
                    staffNo: a.staffNo,
                    staffName: a.staffName,
                    status: a.status,
                    dutyRecordId: a.dutyRecordId,
                    productStaffIds: a.productStaffIds,
                    productStaffs: a.productStaffs
                })
            })
            var productMains = {
                productOutputList: productOutputList,
                workstationId: this.parentInfo.workstationId,
                operationTaskId: this.parentInfo.operationTaskId,
            }
            submitProductMain(productMains).then(res=>{
                this.$emit('refreshProductOutputList', res.data.data)
                this.innerVisible = false
            })
        },
    saveProductOuts() {
      var canClickFlag = true
      this.clickDateArr.push(new Date().getTime())
      if (this.clickDateArr.length > 1) {
      /* if (this.clickDateArr.length > 1) {
        if (
          this.clickDateArr[this.clickDateArr.length - 1] -
            this.clickDateArr[this.clickDateArr.length - 2] <
@@ -510,7 +540,7 @@
          // 小于2秒则认为重复提交
          canClickFlag = false
        }
      }
      } */
      if (canClickFlag) {
        this.saveDisabled = true
@@ -538,56 +568,56 @@
            s_list = JSON.parse(JSON.stringify(p_list))
          }
          if (s_list.length <= 0) {
          /* if (s_list.length <= 0) {
            this.$message.error('报工,请填写盘数!')
            this.saveDisabled = false
            return
          }
          let totalDisNumber = 0
          for (let i = 0; i < s_list.length; i++) {
            // 盘数校验
            if (!this.isPositiveIntegerNumber(s_list[i].disNumber)) {
              validateFlag = false
              if (this.groupStatus) {
                validateMsg =
                  '人员:' +
                  s_list[i].staffName +
                  ',所在行,【盘数】请输入正整数!'
              } else {
                validateMsg = '第' + (i + 1) + '行,【盘数】请输入正整数!'
              }
              break
            }
            totalDisNumber += s_list[i].disNumber - 0
            // 起始米标校验
            if (!this.isNumber(s_list[i].startMeterMark)) {
              validateFlag = false
              validateMsg =
                '第' + (i + 1) + '行,【起始米标】请输入非负数,小数位最多4位!'
              break
            }
            // 截止米标校验
            if (!this.isNumber(s_list[i].endMeterMark)) {
              validateFlag = false
              validateMsg =
                '第' + (i + 1) + '行,【截止米标】请输入非负数,小数位最多4位!'
              break
            }
            // 截止米标需大于开始米标
            if (
              Number(s_list[i].endMeterMark) < Number(s_list[i].startMeterMark)
            ) {
              validateFlag = false
              validateMsg =
                '第' + (i + 1) + '行,【截止米标】需大于【起始米标】'
              break
            }
          }
          const maxDisNumber = 2000 // 最大盘数
          } */
          // let totalDisNumber = 0
          // for (let i = 0; i < s_list.length; i++) {
          //   // 盘数校验
          //   /* if (!this.isPositiveIntegerNumber(s_list[i].disNumber)) {
          //     validateFlag = false
          //     if (this.groupStatus) {
          //       validateMsg =
          //         '人员:' +
          //         s_list[i].staffName +
          //         ',所在行,【盘数】请输入正整数!'
          //     } else {
          //       validateMsg = '第' + (i + 1) + '行,【盘数】请输入正整数!'
          //     }
          //     break
          //   } */
          //   totalDisNumber += s_list[i].disNumber - 0
          //   // 起始米标校验
          //   if (!this.isNumber(s_list[i].startMeterMark)) {
          //     validateFlag = false
          //     validateMsg =
          //       '第' + (i + 1) + '行,【起始米标】请输入非负数,小数位最多4位!'
          //     break
          //   }
          //   // 截止米标校验
          //   if (!this.isNumber(s_list[i].endMeterMark)) {
          //     validateFlag = false
          //     validateMsg =
          //       '第' + (i + 1) + '行,【截止米标】请输入非负数,小数位最多4位!'
          //     break
          //   }
          //   // 截止米标需大于开始米标
          //   if (
          //     Number(s_list[i].endMeterMark) < Number(s_list[i].startMeterMark)
          //   ) {
          //     validateFlag = false
          //     validateMsg =
          //       '第' + (i + 1) + '行,【截止米标】需大于【起始米标】'
          //     break
          //   }
          // }
          /* const maxDisNumber = 2000 // 最大盘数
          if (totalDisNumber > maxDisNumber) {
            validateMsg = '总盘数不能大于' + maxDisNumber + '!'
            validateFlag = false
          }
          } */
          if (validateFlag) {
            if (this.parentInfo.productOutId == null) {
              // 当前是产出的新增
src/views/product/workbench/feed-form.vue
@@ -29,26 +29,26 @@
          >
          </el-table-column>
          <el-table-column
            prop="partName"
            prop="partDescription"
            header-align="center"
            align="center"
            label="零件"
            label="零件描述"
          >
          </el-table-column>
          <el-table-column
            prop="partBatchNo"
            prop="ifsBatchNo"
            header-align="center"
            align="center"
            label="零件批号"
            label="批号"
          >
          </el-table-column>
          <el-table-column
          <!-- <el-table-column
            prop="specs"
            header-align="center"
            align="center"
            label="规格型号"
          >
          </el-table-column>
          </el-table-column> -->
          <el-table-column
            prop="suppliedQuantity"
            header-align="center"
@@ -203,7 +203,6 @@
        partNoList.push(partNoLists)
      }
      getCheckRawPart(partNoList).then((response) => {
        console.log(response)
        if (response.data.code === 0) {
          // 需要密码确认情况
          if (response.data.data.success === false) {
@@ -243,7 +242,15 @@
          partBatchNo: this.dataList[i].partBatchNo,
          systemNo: this.dataList[i].systemNo,
          partName: this.dataList[i].partName,
          unit: this.dataList[i].unit ? this.dataList[i].unit : ''
          unit: this.dataList[i].unit ? this.dataList[i].unit : '',
                    partNo: this.dataList[i].partNo,
                    ifsBatchNo: this.dataList[i].ifsBatchNo,
                    ifsWdr: this.dataList[i].ifsWdr,
                    locationNo: this.dataList[i].locationNo,
                    serialNo:this.dataList[i].serialNo,
                    engChgLevel:this.dataList[i].engChgLevel,
                    configurationId:this.dataList[i].configurationId,
                    activitySeq:this.dataList[i].activitySeq
        }
        feeds.push(feed)
      }
src/views/product/workbench/feed-pane.vue
@@ -1,7 +1,7 @@
<template>
  <div style="padding:0px 14px;height: 100%;overflow: auto;">
    <div class="need-feed-header">
      <div style="height:28px;line-height:28px;">
      <div>
        <el-divider class="pane-divider" direction="vertical"></el-divider
        ><span style="font-size:14px;font-weight:bold">工单所需物料</span>
      </div>
@@ -205,7 +205,7 @@
              <span>{{ scope.row.partNo }}</span>
            </template>
          </el-table-column>
          <el-table-column
          <!-- <el-table-column
            label="零件"
            prop="partName"
            align="center"
@@ -227,11 +227,11 @@
            <template slot-scope="scope">
              <span>{{ scope.row.partName }}</span>
            </template>
          </el-table-column>
          </el-table-column> -->
          <el-table-column
            label="零件描述"
            prop="partDescription"
            align="center"
            align="center" show-overflow-tooltip
          >
            <template slot="header">
              <div style="line-height: 14px;">零件描述</div>
@@ -268,7 +268,25 @@
              <span>{{ scope.row.ifsBatchNo }}</span>
            </template>
          </el-table-column>
          <el-table-column label="SN号" prop="partBatchNo" align="center">
                    <el-table-column label="WDR号" prop="ifsWdr" align="center">
                      <template slot="header">
                        <div style="line-height: 14px;">WDR号</div>
                        <div class="th" @click.stop>
                          <el-input
                            type="text"
                            v-model="queryParamTwo.ifsWdr"
                            @keyup.enter.native="handleStockList"
                            clearable
                            @clear="handleStockList"
                            size="mini"
                          ></el-input>
                        </div>
                      </template>
                      <template slot-scope="scope">
                        <span>{{ scope.row.ifsWdr }}</span>
                      </template>
                    </el-table-column>
          <!-- <el-table-column label="SN号" prop="partBatchNo" align="center">
            <template slot="header">
              <div style="line-height: 14px;">SN号</div>
              <div class="th" @click.stop>
@@ -308,8 +326,8 @@
            <template slot-scope="scope">
              <span>{{ scope.row.reelNumber }}</span>
            </template>
          </el-table-column>
          <el-table-column
          </el-table-column> -->
          <!-- <el-table-column
            label="规格型号"
            prop="specs"
            align="center"
@@ -331,7 +349,7 @@
            <template slot-scope="scope">
              <span>{{ scope.row.specs }}</span>
            </template>
          </el-table-column>
          </el-table-column> -->
          <el-table-column label="单位" prop="unit" align="center">
            <template slot="header">
              <div style="line-height: 14px;">单位</div>
@@ -357,7 +375,7 @@
          >
            <template slot="header">
              <div style="line-height: 14px;">可用数量</div>
              <div class="th" @click.stop>
              <!-- <div class="th" @click.stop>
                <el-input
                  type="text"
                  v-model="queryParamTwo.availableStockQuantity"
@@ -366,7 +384,7 @@
                  @clear="handleStockList"
                  size="mini"
                ></el-input>
              </div>
              </div> -->
            </template>
            <template slot-scope="scope">
              <span>{{ scope.row.availableStockQuantity }}</span>
@@ -375,7 +393,7 @@
          <el-table-column label="库存数量" prop="stockQuantity" align="center">
            <template slot="header">
              <div style="line-height: 14px;">库存数量</div>
              <div class="th" @click.stop>
              <!-- <div class="th" @click.stop>
                <el-input
                  type="text"
                  v-model="queryParamTwo.stockQuantity"
@@ -384,7 +402,7 @@
                  @clear="handleStockList"
                  size="mini"
                ></el-input>
              </div>
              </div> -->
            </template>
            <template slot-scope="scope">
              <span>{{ scope.row.stockQuantity }}</span>
@@ -397,7 +415,7 @@
          >
            <template slot="header">
              <div style="line-height: 14px;">预留数量</div>
              <div class="th" @click.stop>
              <!-- <div class="th" @click.stop>
                <el-input
                  type="text"
                  v-model="queryParamTwo.reserveQuantity"
@@ -406,7 +424,7 @@
                  @clear="handleStockList"
                  size="mini"
                ></el-input>
              </div>
              </div> -->
            </template>
            <template slot-scope="scope">
              <span>{{ scope.row.reserveQuantity }}</span>
@@ -431,7 +449,7 @@
            </template>
          </el-table-column>
        </el-table>
        <div class="pagin-page" style="margin-top: 0;margin-bottom: 0;">
        <!-- <div class="pagin-page" style="margin-top: 0;margin-bottom: 0;">
          <el-pagination
            :current-page="queryReport.current"
            :page-sizes="[10, 15, 20, 50, 100]"
@@ -442,11 +460,9 @@
            :total="queryReport.total"
          >
          </el-pagination>
        </div>
        </div> -->
      </el-tab-pane>
      <!--        -->
      <el-tab-pane name="second" label="线边仓待处理物料">
      <!-- <el-tab-pane name="second" label="线边仓待处理物料">
        <div class="line-side-warehouse-header">
          <div>
            <el-divider class="pane-divider" direction="vertical"></el-divider
@@ -568,9 +584,9 @@
            align="center"
            show-overflow-tooltip
          >
            <template slot="header">
            <template slot="header"> -->
              <!-- <div style="line-height: 14px;">IFS批次号</div> -->
              <div class="th" @click.stop>
              <!-- <div class="th" @click.stop>
                <el-input
                  type="text"
                  v-model="queryTodoParam.ifsBatchNo"
@@ -765,10 +781,10 @@
          >
          </el-pagination>
        </div>
      </el-tab-pane>
      </el-tab-pane> -->
      <!--        -->
      <el-tab-pane name="third" label="配盘物料">
      <!-- <el-tab-pane name="third" label="配盘物料">
        <div class="task-reserve-warehouse-header">
          <div>
            <el-divider class="pane-divider" direction="vertical"></el-divider
@@ -859,7 +875,7 @@
              <span>{{ scope.row.partName }}</span>
            </template>
          </el-table-column>
          <!--          <el-table-column label="IFS批次号" prop="ifsBatchNo" align="center">-->
                   <el-table-column label="IFS批次号" prop="ifsBatchNo" align="center">-->
          <!--            <template slot="header" slot-scope="scope">-->
          <!--              <div style="line-height: 14px;">IFS批次号</div>-->
          <!--              <div class="th" @click.stop>-->
@@ -876,7 +892,7 @@
          <!--            <template slot-scope="scope">-->
          <!--              <span>{{ scope.row.ifsBatchNo }}</span>-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <!--          </el-table-column>
          <el-table-column label="SN号" prop="partBatchNo" align="center">
            <template slot="header" slot-scope="scope">
              <div style="line-height: 14px;">SN号</div>
@@ -1000,9 +1016,9 @@
            </template>
          </el-table-column>
        </el-table>
      </el-tab-pane>
      </el-tab-pane> -->
      <el-tab-pane name="four" label="ERP物料">
      <!-- <el-tab-pane name="four" label="ERP物料">
        <div class="task-reserve-warehouse-header">
          <div>
            <el-divider class="pane-divider" direction="vertical"></el-divider
@@ -1106,7 +1122,7 @@
            </template>
          </el-table-column>
        </el-table>
      </el-tab-pane>
      </el-tab-pane> -->
    </el-tabs>
    <div class="workstation-house-header">
      <div>
@@ -1114,6 +1130,18 @@
        ><span style="font-size:14px;font-weight:bold">已投入未消耗物料</span>
      </div>
      <div>
                <el-button
                  class="return-btn"
                  type="primary"
                  @click="submitIns()"
                  >报检</el-button
                >
                <el-button
                  class="return-btn"
                  type="primary"
                  @click="inputHandle()"
                  >尾料处理</el-button
                >
        <el-button
          class="return-btn"
          type="primary"
@@ -1174,7 +1202,7 @@
        :show-overflow-tooltip="true"
      >
        <template slot="header" slot-scope="scope">
          <div style="line-height: 14px;">零件</div>
          <div style="line-height: 14px;">零件描述</div>
          <div class="th" @click.stop>
            <el-input
              type="text"
@@ -1208,7 +1236,25 @@
          <span>{{ scope.row.ifsBatchNo }}</span>
        </template>
      </el-table-column>
      <el-table-column label="SN号" prop="partBatchNo" align="center">
            <el-table-column label="WDR号" prop="ifsWdr" align="center">
              <template slot="header" slot-scope="scope">
                <div style="line-height: 14px;">WDR号</div>
                <div class="th" @click.stop>
                  <el-input
                    type="text"
                    v-model="queryParamThree.ifsWdr"
                    @keyup.enter.native="handleFeedList"
                    clearable
                    @clear="handleFeedList"
                    size="mini"
                  ></el-input>
                </div>
              </template>
              <template slot-scope="scope">
                <span>{{ scope.row.ifsWdr }}</span>
              </template>
            </el-table-column>
      <!-- <el-table-column label="SN号" prop="partBatchNo" align="center">
        <template slot="header" slot-scope="scope">
          <div style="line-height: 14px;">SN号</div>
          <div class="th" @click.stop>
@@ -1271,7 +1317,7 @@
        <template slot-scope="scope">
          <span>{{ scope.row.specs }}</span>
        </template>
      </el-table-column>
      </el-table-column> -->
      <el-table-column
        label="可用数量"
        prop="availableStockQuantity"
@@ -1312,13 +1358,13 @@
          <span>{{ scope.row.stockQuantity }}</span>
        </template>
      </el-table-column>
      <el-table-column label="库位号" prop="locNo" align="center">
      <el-table-column label="库位号" prop="ifsLocation" align="center">
        <template slot="header" slot-scope="scope">
          <div style="line-height: 14px;">库位号</div>
          <div class="th" @click.stop>
            <el-input
              type="text"
              v-model="queryParamThree.locNo"
              v-model="queryParamThree.ifsLocation"
              @keyup.enter.native="handleFeedList"
              clearable
              @clear="handleFeedList"
@@ -1327,7 +1373,7 @@
          </div>
        </template>
        <template slot-scope="scope">
          <span>{{ scope.row.locNo }}</span>
          <span>{{ scope.row.ifsLocation }}</span>
        </template>
      </el-table-column>
      <el-table-column label="单位" prop="unit" align="center">
@@ -1348,7 +1394,7 @@
          <span>{{ scope.row.unit }}</span>
        </template>
      </el-table-column>
      <el-table-column label="投料人" prop="createUser" align="center">
     <!-- <el-table-column label="投料人" prop="createUser" align="center">
        <template slot="header" slot-scope="scope">
          <div style="line-height: 14px;">投料人</div>
          <div class="th" @click.stop>
@@ -1365,8 +1411,8 @@
        <template slot-scope="scope">
          <span>{{ scope.row.createUser }}</span>
        </template>
      </el-table-column>
      <el-table-column
      </el-table-column> -->
      <!-- <el-table-column
        label="投料时间"
        prop="createTime"
        align="center"
@@ -1394,7 +1440,7 @@
        <template slot-scope="scope">
          <span>{{ scope.row.createTime }}</span>
        </template>
      </el-table-column>
      </el-table-column> -->
    </el-table>
    <feedFormDialog
      :currshowlist.sync="showFeedForm"
@@ -1441,7 +1487,7 @@
</template>
<script>
import { getStock, getFeed, getTodoStock } from '@/api/product/personboard'
import { getStock, getFeed, getTodoStock, submitInsPart, inputHandle } from '@/api/product/personboard'
import { getMaterial } from '@/api/plan/operationtask'
import {
  getERPStockListByPart,
@@ -1556,9 +1602,9 @@
          .then((response) => {
            var data = response.data
            if (data.code === 0) {
              // const list = data.data.records
              this.stockList = data.data.records
              this.queryReport.total = data.data.total
              /* this.stockList = data.data.records
              this.queryReport.total = data.data.total */
                            this.stockList = data.data
              // this.getReportData()
            } else {
              this.$message.error('获取线边仓信息失败')
@@ -1850,6 +1896,57 @@
        this.$message.warning('请选择投料零件')
      }
    },
        // 报检
        submitIns(){
            if (this.selectFeeds.length > 0) {
                var list = []
                this.selectFeeds.forEach(a=>{
                    list.push({
                        partNo: a.partNo,
                        partDesc: a.partName,
                        qtyToInspect: a.availableStockQuantity,
                        partId: a.partId,
                        waivDevRejNo: a.ifsWdr,
                        targetQualifiedLocationId: a.locationId,
                        workstationId: a.workstationId,
                        taskId: this.currOperateTask.id,
                        locationNo: a.ifsLocation,
                        lotBatchNo: a.ifsBatchNo,
                        qtyArrived: a.stockQuantity,
                        waivDevRejNo: a.ifsWdr,
                        serialNo: a.serialNo,
                        operationId: this.currOperateTask.operationId,
                        stockId: a.id,
                        engChgLevel: a.engChgLevel,
                        activitySeq: a.activitySeq
                    })
                })
                submitInsPart(list).then(res=>{
                    this.$message.success('报检完成')
                })
            }else{
                this.$message.warning('请选择报检零件')
            }
        },
        inputHandle(){
            console.log(this.currOperateTask);
            if (this.selectFeeds.length > 0) {
                var list = []
                this.selectFeeds.forEach(a=>{
                    list.push({
                        taskId: this.currOperateTask.id,
                        stockId: a.id,
                    })
                })
                this.$confirm("此操作将会把所选物料平均计算到所有报工单的投入里").then(()=>{
                    inputHandle(list).then(res=>{
                        this.$message.success('处理完成')
                    })
                }).catch(e=>{})
            } else {
              this.$message.warning('请选择尾料处理的物料')
            }
        },
    // 初始化页面变量
    initFeed() {
      this.selectStocks = []
src/views/product/workbench/handymantype.vue
@@ -224,6 +224,7 @@
    workstationId: {
      handler: function(newVal, oldVal) {
        if (this.workstationId) {
          console.log(`output->this.workstationId`,this.workstationId)
          getAllHandymanTemplate(
            Object.assign({ workstationId: this.workstationId })
          ).then((response) => {
src/views/product/workbench/index.vue
@@ -49,22 +49,22 @@
          <el-image src="/img/workbench/icon_bg.png"></el-image>
          <span class="item-name">报工</span>
        </div>
        <div
        <!-- <div
          v-show="isShowStepBusiness"
          :class="['wb-header-menu-item', stepShow ? 'item-show' : '']"
          @click="selectItem('step')"
        >
          <el-image src="/img/workbench/icon_gb.png"></el-image>
          <span class="item-name">工步</span>
        </div>
        <div
        </div> -->
        <!-- <div
          v-show="permissions.product_menu_split"
          :class="['wb-header-menu-item', splitTaskShow ? 'item-show' : '']"
          @click="selectItem('splitTask')"
        >
          <el-image src="/img/workbench/icon_sp.png"></el-image>
          <span class="item-name">分割</span>
        </div>
        </div> -->
        <div
          :class="['wb-header-menu-item', artificialShow ? 'item-show' : '']"
          @click="selectItem('artificial')"
@@ -314,11 +314,11 @@
                </div>
                <div style="float:right;width:10%;">
                  <div class="open-edit-duty-div">
                    <div>
                    <!-- <div>
                      <span class="duty-edit-span" @click="clearDutyRecord"
                        >清空</span
                      >
                    </div>
                    </div> -->
                    <div>
                      <span class="duty-edit-span" @click="openDutyEdit"
                        >编辑</span
@@ -378,15 +378,24 @@
              <el-tooltip
                class="item"
                effect="dark"
                content="批量提交"
                content="清空"
                placement="top"
              >
                <button
                <!-- <button
                  class="duty-circle-button"
                  @click="submitSaveDutyRecord"
                >
                  <i
                    class="el-icon-document-checked"
                    class="el-icon-delete"
                    style="color: #FFFFFF;"
                  ></i>
                </button> -->
                <button
                  class="duty-circle-button"
                  @click="clearDutyRecord"
                >
                  <i
                    class="el-icon-delete"
                    style="color: #FFFFFF;"
                  ></i>
                </button>
@@ -464,7 +473,7 @@
              :inline="true"
              style="margin-left: 10px"
            >
              <el-form-item prop="orderNumber" label="销售订单号">
              <!-- <el-form-item prop="orderNumber" label="销售订单号">
                <el-input
                  placeholder="请输入销售订单号"
                  v-model="operateTaskForm.orderNumber"
@@ -472,8 +481,8 @@
                  @keyup.enter.native="queryInfoForOrderNumber"
                  @clear="queryInfoForOrderNumber"
                ></el-input>
              </el-form-item>
              <el-form-item prop="spec" label="成品规格">
              </el-form-item> -->
              <!-- <el-form-item prop="spec" label="成品规格">
                <el-select
                  placeholder="请选择成品规格"
                  v-model="operateTaskForm.spec"
@@ -498,19 +507,19 @@
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item prop="outBatchNo" label="SN">
              </el-form-item> -->
              <el-form-item prop="outBatchNo" label="车间订单">
                <el-input
                  placeholder="请输入投入半成品SN号"
                  placeholder="请输入车间订单号"
                  v-model="operateTaskForm.outBatchNo"
                  clearable
                  @keyup.enter.native="refreshOperateTasksByConditions"
                  @clear="refreshOperateTasksByConditions"
                ></el-input>
              </el-form-item>
              <el-form-item prop="mpsNo" label="计划号">
              <el-form-item prop="mpsNo" label="工单号">
                <el-input
                  placeholder="请输入计划号"
                  placeholder="请输入工单号"
                  v-model="operateTaskForm.mpsNo"
                  clearable
                  @keyup.enter.native="refreshOperateTasksByConditions"
@@ -1424,7 +1433,7 @@
.task-div-content {
  // height: calc(100% - 40px);
  flex: 1;
  padding: 0px 15px;
  padding: 10px 15px;
  box-sizing: border-box;
  overflow-y: auto;
  margin-bottom: 10px;
@@ -1491,7 +1500,7 @@
  getPartNamesByOrderNo,
  getProductSnByCustomerNoAndPartName
} from '@/api/product/personboard'
import { getObj as getSysParam } from '@/api/admin/sys-public-param'
import { getObj as getSysParam} from '@/api/admin/sys-public-param'
import { getAllCrewList } from '@/api/basic/crew'
import { getAllShiftList } from '@/api/basic/shift'
import { getAllWorkstationList, updateById } from '@/api/basic/workstation'
@@ -1661,7 +1670,7 @@
    ...mapGetters(['userInfo', 'tagWel', 'permissions'])
  },
  created() {
    document.title = '工作台——ZTTMES'
    document.title = '工作台——MES'
    if (!this.dutyForm.workstationId) {
      const k = localStorage.getItem(storage_key)
      if (k) {
@@ -1672,7 +1681,6 @@
    this.getSysParam(sysParam.SHOW_STEP_BUSINESS)
    this.getTrackingParam(sysParam.SHOW_TRACKING_TYPE)
    this.timer = setInterval(this.clockTimer, 1000)
    console.log(this.permissions, 'ASSS')
  },
  watch: {
    'dutyForm.workstationId'(val) {
@@ -2250,9 +2258,9 @@
      if (!this.dutyForm.endTime) {
        return { result: false, msg: '结束时间不能为空' }
      }
      if (!this.dutyForm.dutyTime) {
      /* if (!this.dutyForm.dutyTime) {
        return { result: false, msg: '班次时间不能为空' }
      }
      } */
      if (!this.dutyForm.shiftId) {
        return { result: false, msg: '班次不能为空' }
      }
src/views/product/workbench/operation-task-pane.vue
@@ -17,7 +17,7 @@
      <img class="selectedImg" src="/img/workbench/icon_selected.png" />
      <div class="header">
        <div>工单号:{{ item.taskNo }}</div>
        <div>计划号:{{ item.mpsNo }}</div>
        <!-- <div>计划号:{{ item.mpsNo }}</div> -->
        <div
          :class="[
            'status-change-div',
@@ -52,10 +52,10 @@
          <div class="l">零件号:</div>
          <div class="r">{{ item.partNo }}</div>
        </div>
        <div class="row">
        <!-- <div class="row">
          <div class="l">成品:</div>
          <div class="r">{{ item.productName }}</div>
        </div>
        </div> -->
        <div class="row">
          <div class="l">计划完成时间:</div>
          <div class="r">{{ item.planFinishDay }}</div>
@@ -250,7 +250,7 @@
</style>
<script>
import {
  getOperationTask,
  getOperationTaskCopy,
  changeBackState,
  changeOperationTaskState,
  getDraftProductOut,
@@ -579,7 +579,7 @@
          if (this.mpsNo && this.mpsNo != null) {
            query.mpsNo = this.mpsNo
          }
          getOperationTask(query)
          getOperationTaskCopy(query)
            .then((response) => {
              var data = response.data
              if (data.code === 0) {
src/views/product/workbench/product-record-form.vue
@@ -10,7 +10,7 @@
  >
    <div class="product-record-form-header">
      <div>
        <span>生产模板</span>
        <span>记录模板:</span>
        <el-select
          v-model="selectedTemplateId"
          placeholder="生产记录模板"
@@ -63,7 +63,7 @@
        </div>
      </div>
    </div>
    <div class="product-record-form-header">
    <!-- <div class="product-record-form-header">
      <div>
        <span>分割模板</span>
        <el-select
@@ -117,9 +117,9 @@
          </el-input>
        </div>
      </div>
    </div>
    </div> -->
    <div class="table">
      <div class="table-sn">
      <!-- <div class="table-sn">
        <el-table :data="outputPartsList" :border="true">
          <el-table-column label="序号" type="index"></el-table-column>
          <el-table-column label="SN号">
@@ -138,7 +138,7 @@
            </template>
          </el-table-column>
        </el-table>
      </div>
      </div> -->
      <div class="table-product">
        <el-table
          ref="productRecordFormTable"
@@ -219,7 +219,7 @@
    flex: 0.35;
  }
  .table-product {
    flex: 0.6;
    flex: 1;
  }
}
.product-record-form-table >>> .stripe-row {
src/views/product/workbench/productoutput-table.vue
@@ -1,25 +1,14 @@
<template>
  <div
    class="productoutput-div"
    style="padding:0px 14px;height: 100%;overflow: auto;"
  >
  <div class="productoutput-div" style="padding:0px 14px;height: 100%;overflow: auto;">
    <div class="product-output-header">
      <div style="height:28px;line-height:28px;">
        <el-divider class="pane-divider" direction="vertical"></el-divider
        ><span style="font-size:14px;font-weight:bold">产出记录列表</span>
        <el-divider class="pane-divider" direction="vertical"></el-divider><span
          style="font-size:14px;font-weight:bold">产出记录列表</span>
      </div>
    </div>
    <ttable
      :table="table"
      @handleSelectionChange="handleSelectionChange"
      @currentChange="handleCurrentChange"
      :uploadInfo="uploadInfo"
      :prelang="prelang"
      :options="options"
      :ajaxFun="ajaxFun"
      :paramObj="paramObj"
      ref="productOutputForCheckTable"
    >
    <ttable :table="table" @handleSelectionChange="handleSelectionChange" @currentChange="handleCurrentChange"
      :uploadInfo="uploadInfo" :prelang="prelang" :options="options" :ajaxFun="ajaxFun" :paramObj="paramObj"
      ref="productOutputForCheckTable">
      <template #toolbar></template>
    </ttable>
@@ -177,12 +166,27 @@
      </el-col>
    </el-row> -->
    <!-- 弹窗, 手动报检 -->
    <qualityTestApplyForm
      v-if="qualityTestApplyVisible"
      ref="qualityTestApply"
      @refreshDataList="getData"
      :applyPartList="multipleSelection"
    />
    <el-dialog title="原材料投入" :visible.sync="dialogVisible" width="40%">
      <el-table :data="tableData" style="width: 100%;" height="30em" border empty-text="暂无数据">
        <el-table-column label="序号" type="index"></el-table-column>
        <el-table-column prop="partNo" label="零件编号" width="180">
        </el-table-column>
        <el-table-column prop="partName" label="零件名称" :show-overflow-tooltip="true" width="180">
        </el-table-column>
        <el-table-column prop="unit" label="单位" min-width="60"></el-table-column>
        <el-table-column prop="inputQuantity" label="使用数量">
          <template v-slot="scope">
            <el-input v-model="scope.row.inputQuantity"></el-input>
          </template>
        </el-table-column>
      </el-table>
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">取 消</el-button>
        <el-button type="primary" @click="rawMaterialApiUpdate">确 定</el-button>
      </span>
    </el-dialog>
    <qualityTestApplyForm v-if="qualityTestApplyVisible" ref="qualityTestApply" @refreshDataList="getData"
      :applyPartList="multipleSelection" />
  </div>
</template>
<style lang="scss" scoped>
@@ -193,11 +197,13 @@
  justify-content: space-between;
  align-items: center;
}
.pane-divider {
  width: 4px;
  background-color: #4283ee;
}
.productoutput-div >>> .inspection-btn {
.productoutput-div>>>.inspection-btn {
  background-image: -webkit-linear-gradient(139deg, #5f6eef 0%, #2783ff 100%);
  background-image: -moz-linear-gradient(139deg, #5f6eef 0%, #2783ff 100%);
  background-image: linear-gradient(139deg, #5f6eef 0%, #2783ff 100%);
@@ -206,26 +212,30 @@
  border-radius: 15px;
  padding: 6px 15px;
}
.productoutput-div >>> .inspection-btn span {
.productoutput-div>>>.inspection-btn span {
  margin-left: 3px;
}
.productoutput-div >>> .commonTable .el-table__header th {
.productoutput-div>>>.commonTable .el-table__header th {
  background: #599ef4 !important;
  color: #fff !important;
  border: 0px !important;
}
.productoutput-div >>> .feed-btn-return {
.productoutput-div>>>.feed-btn-return {
  background: url('/img/workbench/icon_bj.png') center center no-repeat;
  background-size: cover;
  font-size: 14px;
}
.productoutput-div >>> .feed-btn-return:before {
.productoutput-div>>>.feed-btn-return:before {
  content: '报';
  font-size: 14px;
  visibility: hidden;
}
.productoutput-div >>> .common-table-div {
.productoutput-div>>>.common-table-div {
  margin: 0px 20px 0px !important;
}
@@ -238,7 +248,8 @@
  border-radius: 15px;
  padding: 6px 15px;
}
.auto-judgment-btn >>> span {
.auto-judgment-btn>>>span {
  margin-left: 3px;
}
</style>
@@ -252,7 +263,9 @@
  saveSelfSampleItem,
  getReportSampleForSelf,
  putReportSampleItem,
  autoJudgmentSelf
  autoJudgmentSelf,
  rawMaterialApi,
  rawMaterialApiUpdate
} from '@/api/quality/report'
import ttable from '@/views/common/ztt-table'
import qualityTestApplyForm from './qualitytestapply-form'
@@ -275,6 +288,7 @@
  },
  data() {
    return {
      tableData: [],
      paramObj: { workstationId: 0 },
      ajaxFun: fetchOutputList,
      addOrUpdateVisible: false,
@@ -317,7 +331,7 @@
            isSearch: true,
            searchInfoType: 'text'
          },
          {
          /* {
            minWidth: '160',
            prop: 'systemNo',
            label: '系统编号',
@@ -334,11 +348,11 @@
            isTrue: true,
            isSearch: true,
            searchInfoType: 'text'
          },
          }, */
          {
            minWidth: '160',
            prop: 'outBatchNo',
            label: 'SN号',
            label: '序列号',
            sort: true,
            isTrue: true,
            isSearch: true,
@@ -371,7 +385,11 @@
            isSearch: true,
            searchInfoType: 'text',
            formatter: (row, column, cellValue) => {
              return cellValue.substring(1, cellValue.length - 2)
              try{
                                return cellValue.substring(1, cellValue.length - 1)
                            }catch(e){
                                return null
                            }
            }
          },
          {
@@ -392,7 +410,7 @@
            isSearch: true,
            searchInfoType: 'datetimerange'
          },
          {
          /* {
            minWidth: '160',
            prop: 'startMeterMark',
            label: '起始米标',
@@ -409,7 +427,7 @@
            isTrue: true,
            isSearch: true,
            searchInfoType: 'text'
          },
          }, */
          {
            minWidth: '100',
            prop: 'productQty',
@@ -538,7 +556,22 @@
          //     icon: 'feed-btn-return',
          //     fun: this.qualityApply
          //   }
        ]
        ],
        /* operator: [
          {
            text: '投入',
            icon: 'el-icon-circle-plus-outline',
            type: 'text',
            size: 'small',
            fun: this.showHandleDiago
          }
        ],
        operatorConfig: {
          fixed: 'right',
          label: '操作',
          width: 100,
          minWidth: 100
        } */
      },
      booleanOptions: [
        { value: true, label: '是' },
@@ -565,7 +598,8 @@
        isMoTestStandard: true,
        testStandardNo: '',
        reportSampleItemList: []
      }
      },
      dialogVisible: false
    }
  },
  components: {
@@ -574,7 +608,7 @@
  },
  watch: {
    workstationId: {
      handler: function(newVal, oldVal) {
      handler: function (newVal, oldVal) {
        this.createdData()
      }
    },
@@ -639,6 +673,23 @@
    this.createdData()
  },
  methods: {
    rawMaterialApiUpdate() {
      rawMaterialApiUpdate(this.tableData).then(res => {
        this.$message.success('原材料投入修改成功')
        this.dialogVisible = false;
      })
    },
    showHandleDiago(row) {
      this.dialogVisible = true
      this.tableData = []
      rawMaterialApi(row.id).then(res => {
        if(res.data.data[0] == null){
          this.tableData = []
        } else {
          this.tableData = res.data.data
        }
      })
    },
    // 获取数据列表
    getData() {
      this.$refs.productOutputForCheckTable.getDataList()
@@ -656,7 +707,6 @@
      })
    },
    handleSelectionChange(val) {
      console.log(val, 'ASSSS')
      this.multipleSelection = val
    },
    handleCurrentChange(val) {
src/views/product/workbench/returnmaterial-form.vue
@@ -32,18 +32,18 @@
          >
          </el-table-column>
          <el-table-column
            prop="partBatchNo"
            prop="ifsBatchNo"
            header-align="center"
            align="center"
            label="零件批号"
            label="批号"
          >
          </el-table-column>
          <el-table-column
          <!-- <el-table-column
            prop="specs"
            header-align="center"
            align="center"
            label="规格型号"
          >
          > -->
          </el-table-column>
          <el-table-column
            prop="returnQuantity"
@@ -162,6 +162,8 @@
        feed.returnQuantity = this.dataList[i].returnQuantity
        feed.returnLocationId = this.dataList[i].returnLocationId
        feed.workstationId = this.workstationId
                feed.ifsWdr = this.dataList[i].ifsWdr
                feed.partNo = this.dataList[i].partNo
        feeds.push(feed)
      }
      if (feeds.length > 0) {
src/views/product/workbench/taskinfo-pane.vue
@@ -2,39 +2,25 @@
  <div ref="taskInfoDiv" class="taskinfo-div">
    <div class="need-feed-header">
      <div style="height:28px;line-height:28px;">
        <el-divider class="pane-divider" direction="vertical"></el-divider
        ><span style="font-size:14px;font-weight:bold">工单详细信息</span>
        <div
          style="display: inline-block;vertical-align: middle;margin-left:2px;cursor: pointer;"
          @click="shrinkExpandTaskInfo"
        >
          <i
            :class="[
              'taskinfo-header',
              'el-icon-arrow-right',
              taskInfoShow ? 'is-active' : ''
            ]"
          ></i>
        <el-divider class="pane-divider" direction="vertical"></el-divider><span
          style="font-size:14px;font-weight:bold">工单详细信息</span>
        <div style="display: inline-block;vertical-align: middle;margin-left:2px;cursor: pointer;"
          @click="shrinkExpandTaskInfo">
          <i :class="[
            'taskinfo-header',
            'el-icon-arrow-right',
            taskInfoShow ? 'is-active' : ''
          ]"></i>
        </div>
      </div>
    </div>
    <div
      ref="taskInfoMainDiv"
      class="taskinfo-main"
      :style="{ height: taskInfoMainHeight }"
      v-show="taskInfoShow"
    >
      <el-tabs
        v-model="taskInfoActiveName"
        type="card"
        class="taskInfoMainTab"
        @tab-click="handleClick"
      >
    <div ref="taskInfoMainDiv" class="taskinfo-main" :style="{ height: taskInfoMainHeight }" v-show="taskInfoShow">
      <el-tabs v-model="taskInfoActiveName" type="card" class="taskInfoMainTab" @tab-click="handleClick">
        <el-tab-pane label="主要信息" name="主要信息">
          <el-row>
            <el-col :span="10" :offset="1" class="taskinfo-pane-div">
              <el-row>
                <el-col :span="12">
                <!-- <el-col :span="12">
                  <div class="param-top">
                    <div class="form-item">
                      <label>销售订单号</label>
@@ -53,7 +39,7 @@
                      </div>
                    </div>
                  </div>
                </el-col>
                </el-col> -->
                <el-col :span="12">
                  <div class="param-top">
                    <div class="form-item">
@@ -64,12 +50,22 @@
                    </div>
                  </div>
                </el-col>
                <el-col :span="12"
                  ><div class="param-top">
                <el-col :span="12">
                  <div class="param-top">
                    <div class="form-item">
                      <label>工序</label>
                      <div style="color: #7A9EFD">
                        {{ currOperateTask.operationName }}
                      </div>
                    </div>
                  </div>
                </el-col>
                <el-col :span="24">
                  <div class="param-top">
                    <div class="form-item">
                      <label>零件名称</label>
                      <div style="color: #7A9EFD">
                        {{ currOperateTask.partName }}
                      </div>
                    </div>
                  </div>
@@ -91,16 +87,6 @@
                <el-col :span="12">
                  <div class="param-top">
                    <div class="form-item">
                      <label>零件名称</label>
                      <div style="color: #7A9EFD">
                        {{ currOperateTask.partName }}
                      </div>
                    </div>
                  </div>
                </el-col>
                <el-col :span="12">
                  <div class="param-top">
                    <div class="form-item">
                      <label>成品规格</label>
                      <div style="color: #7A9EFD">
                        {{ currOperateTask.productName }}
@@ -108,7 +94,7 @@
                    </div>
                  </div>
                </el-col>
                <el-col :span="12">
                <!-- <el-col :span="12">
                  <div class="param-top">
                    <div class="form-item">
                      <label>载具规格</label>
@@ -117,7 +103,7 @@
                      </div>
                    </div>
                  </div>
                </el-col>
                </el-col> -->
              </el-row>
            </el-col>
          </el-row>
@@ -147,7 +133,7 @@
                  </div>
                </el-col>
                <el-col :span="12">
                <!-- <el-col :span="12">
                  <div class="param-top">
                    <div class="form-item">
                      <label>盘长</label>
@@ -164,6 +150,16 @@
                            ? 0
                            : currOperateTask.discNum
                        }}盘
                      </div>
                    </div>
                  </div>
                </el-col> -->
                <el-col :span="12">
                  <div class="param-top">
                    <div class="form-item">
                      <label>实际开始时间</label>
                      <div style="color: #7A9EFD">
                        {{ currOperateTask.actualStartDate }}
                      </div>
                    </div>
                  </div>
@@ -192,7 +188,6 @@
                    </div>
                  </div>
                </el-col>
                <el-col :span="12">
                  <div class="param-top">
                    <div class="form-item">
@@ -203,17 +198,7 @@
                    </div>
                  </div>
                </el-col>
                <el-col :span="12">
                  <div class="param-top">
                    <div class="form-item">
                      <label>实际开始时间</label>
                      <div style="color: #7A9EFD">
                        {{ currOperateTask.actualStartDate }}
                      </div>
                    </div>
                  </div>
                </el-col>
                <el-col :span="12">
                <!-- <el-col :span="12">
                  <div class="param-top">
                    <div class="form-item">
                      <label>客户名称</label>
@@ -222,7 +207,7 @@
                      </div>
                    </div>
                  </div>
                </el-col>
                </el-col> -->
              </el-row>
            </el-col>
          </el-row>
@@ -232,75 +217,37 @@
            <el-tree :data="batchTree" node-key="id"> </el-tree>
          </div>
        </el-tab-pane>-->
        <el-tab-pane label="按批次报工" name="按批次报工">
       <!-- <el-tab-pane label="按批次报工" name="按批次报工">
          <div>
            <ctable
              class="task-detail-info-table"
              :table="taskDetailInfoTable"
            <ctable class="task-detail-info-table" :table="taskDetailInfoTable"
              @handleSelectionChange="taskDetailInfoHandleSelectionChange"
              @objectSpanMethod="objectSpanMethodForTaskDetailInfo(arguments)"
              :mergeCols="detailInfoMergeCols"
              :searchList="taskDetailInfoSearchList"
              :uploadInfo="taskDetailInfoUploadInfo"
              :prelang="taskDetailInfoPrelang"
              :options="taskDetailInfoOptions"
              :paramObj="taskDetailInfoParamObj"
              :isShowPagination="isShowPagination"
              :bottomOffset="65"
              :ajaxFun="taskDetailInfoAjaxFun"
              ref="segmentmergeTaskDetailInfoTable"
            >
              @objectSpanMethod="objectSpanMethodForTaskDetailInfo(arguments)" :mergeCols="detailInfoMergeCols"
              :searchList="taskDetailInfoSearchList" :uploadInfo="taskDetailInfoUploadInfo"
              :prelang="taskDetailInfoPrelang" :options="taskDetailInfoOptions" :paramObj="taskDetailInfoParamObj"
              :isShowPagination="isShowPagination" :bottomOffset="65" :ajaxFun="taskDetailInfoAjaxFun"
              ref="segmentmergeTaskDetailInfoTable">
              <template #toolbar>
                <div style="display:flex;">
                  <div style="display:flex;margin-left:5px ;">
                    <el-button
                      style="height:32px;"
                      @click="beginEdit()"
                      type="primary"
                      v-show="isEditShow"
                      >编辑
                    <el-button style="height:32px;" @click="beginEdit()" type="primary" v-show="isEditShow">编辑
                    </el-button>
                  </div>
                  <div style="display:flex;margin-left:5px ;">
                    <el-button
                      style="height:32px;"
                      @click="cancelEdit()"
                      type="primary"
                      v-show="!isEditShow"
                      >取消
                    <el-button style="height:32px;" @click="cancelEdit()" type="primary" v-show="!isEditShow">取消
                    </el-button>
                  </div>
                  <div style="display:flex;margin-left:10px ;">
                    <el-button
                      style="height:32px;"
                      @click="saveEdit()"
                      type="primary"
                      v-show="!isEditShow"
                      >保存
                    <el-button style="height:32px;" @click="saveEdit()" type="primary" v-show="!isEditShow">保存
                    </el-button>
                  </div>
                  <div style="display:flex;margin-left:5px ;">
                    <div
                      style="font-weight:bold;font-size:15px;line-height:28px;margin-right:5px;"
                    >
                    <div style="font-weight:bold;font-size:15px;line-height:28px;margin-right:5px;">
                      工序选择
                    </div>
                    <div style="display:flex;">
                      <el-select
                        v-model="selectedOperationIds"
                        placeholder="请选择"
                        multiple
                        clearable
                        size="mini"
                        class="segmentmerge-operation-select"
                        @change="setQueryObj"
                      >
                        <el-option
                          v-for="item in operationList"
                          :key="item.id"
                          :label="item.name"
                          :value="item.id"
                        >
                      <el-select v-model="selectedOperationIds" placeholder="请选择" multiple clearable size="mini"
                        class="segmentmerge-operation-select" @change="setQueryObj">
                        <el-option v-for="item in operationList" :key="item.id" :label="item.name" :value="item.id">
                        </el-option>
                      </el-select>
                    </div>
@@ -309,57 +256,32 @@
              </template>
            </ctable>
          </div>
        </el-tab-pane>
        </el-tab-pane> -->
      </el-tabs>
    </div>
    <div
      ref="taskInfoBodyDiv"
      class="taskinfo-body"
      :style="{ height: taskInfoBodyHeight }"
    >
    <div ref="taskInfoBodyDiv" class="taskinfo-body" :style="{ height: taskInfoBodyHeight }">
      <div style="display:flex;justify-content:space-between;height:100%;">
        <div style="height:100%;width:70%;">
          <!--          <div v-if="paramTabs.length == 0" class="taskinfo-body-div">-->
          <!--            不存在绑定的工艺卡和配盘单-->
          <!--          </div>-->
          <el-tabs v-model="activeName" type="card" @tab-click="handleTabClick">
            <el-tab-pane
              v-for="(paramTab, index) in paramTabs"
              :key="index"
              :label="paramTab"
              :name="paramTab"
            >
            <el-tab-pane v-for="(paramTab, index) in paramTabs" :key="index" :label="paramTab" :name="paramTab">
              <div class="pane-div">
                <div>
                  <el-divider
                    class="pane-divider"
                    direction="vertical"
                  ></el-divider
                  ><span style="font-size:14px;font-weight:bold">参数集</span>
                  <el-divider class="pane-divider" direction="vertical"></el-divider><span
                    style="font-size:14px;font-weight:bold">参数集</span>
                  <div class="template-content-div">
                    <el-select
                      v-model="currTemplateId"
                      placeholder="请选择"
                      style="width: 300px;"
                      @change="tabParamsClick()"
                      clearable
                    >
                      <el-option
                        v-for="item in everyTabParams"
                        :key="item.id"
                        :label="item.operationTemplateName"
                        :value="item.id"
                      >
                    <el-select v-model="currTemplateId" placeholder="请选择" style="width: 300px;" @change="tabParamsClick()"
                      clearable>
                      <el-option v-for="item in everyTabParams" :key="item.id" :label="item.operationTemplateName"
                        :value="item.id">
                        <div style="display: table;width: 300px;">
                          <div style="display: table-row;">
                            <div
                              style="display: table-cell;width:50%;text-align: center;"
                            >
                            <div style="display: table-cell;width:50%;text-align: center;">
                              {{ item.systemNo }}
                            </div>
                            <div
                              style="display: table-cell;text-align: center;"
                            >
                            <div style="display: table-cell;text-align: center;">
                              {{ item.operationTemplateName }}
                            </div>
                          </div>
@@ -430,45 +352,21 @@
                  </div>
                </div>
                <div style="margin-top:14px;">
                  <el-divider
                    class="pane-divider"
                    direction="vertical"
                  ></el-divider
                  ><span style="font-size:14px;font-weight:bold">参数</span>
                  <el-divider class="pane-divider" direction="vertical"></el-divider><span
                    style="font-size:14px;font-weight:bold">参数</span>
                  <div class="params-content-div">
                    <el-table
                      :data="params"
                      :height="tableHeight"
                      :header-cell-style="paramsTableHeaderStyle"
                      :row-class-name="tableRowClassName"
                      class="taskinfo-params-table"
                    >
                      <el-table-column
                        prop="code"
                        label="编号"
                        width="200"
                        align="center"
                      >
                    <el-table :data="params" :height="tableHeight" :header-cell-style="paramsTableHeaderStyle"
                      :row-class-name="tableRowClassName" class="taskinfo-params-table">
                      <el-table-column prop="code" label="编号" width="200" align="center">
                      </el-table-column>
                      <el-table-column
                        prop="parameterItem"
                        label="名称"
                        width="200"
                        align="center"
                      >
                      <el-table-column prop="parameterItem" label="名称" width="200" align="center">
                        <template slot-scope="scope">
                          <span
                            >{{ scope.row.parameterItem }}({{
                              scope.row.unit
                            }})</span
                          >
                          <span>{{ scope.row.parameterItem }}({{
                            scope.row.unit
                          }})</span>
                        </template>
                      </el-table-column>
                      <el-table-column
                        prop="paramValue"
                        label="值"
                        align="center"
                      >
                      <el-table-column prop="paramValue" label="值" align="center">
                      </el-table-column>
                    </el-table>
                  </div>
@@ -482,7 +380,7 @@
              </div>
            </el-tab-pane>
            <!--工艺配置单-->
            <el-tab-pane :label="tabNameExt0" :name="tabNameExt0" class="l-mes">
            <!-- <el-tab-pane :label="tabNameExt0" :name="tabNameExt0" class="l-mes"> -->
              <!-- <div style="margin-left: 40px">
                <el-radio v-model="configContent.modelType" label="01" disabled
                  >模板1</el-radio
@@ -491,91 +389,44 @@
                  >模板2</el-radio
                >
              </div> -->
              <el-divider content-position="left">配置单内容</el-divider>
              <!-- <el-divider content-position="left">配置单内容</el-divider> -->
              <!--模板1-->
              <div
                class="node-content-remark"
                v-if="configContent.modelType === '01'"
              >
                <el-form
                  class="configform1"
                  :inline="true"
                  ref="form"
                  label-width="80px"
                >
              <!-- <div class="node-content-remark" v-if="configContent.modelType === '01'">
                <el-form class="configform1" :inline="true" ref="form" label-width="80px">
                  <el-form-item label="订单编号:">
                    <el-input v-model="configContent.proNo" readonly></el-input>
                  </el-form-item>
                  <el-form-item label="项目名称:">
                    <el-input
                      v-model="configContent.proName"
                      readonly
                    ></el-input>
                    <el-input v-model="configContent.proName" readonly></el-input>
                  </el-form-item>
                  <el-form-item
                    label="生产要求描述:"
                    style="width: 100%"
                    label-width="105px"
                  >
                  <el-form-item label="生产要求描述:" style="width: 100%" label-width="105px">
                    <div class="ql-editor" v-html="configContent.remark1" />
                  </el-form-item>
                </el-form>
                </el-form> -->
                <!--            生产要求描述:-->
              </div>
              <!-- </div> -->
              <!--模板2-->
              <div
                class="node-content-remark2"
                v-if="configContent.modelType === '02'"
              >
                <div
                  class="node-content-remark2"
                  style="width: 90%;margin-left: 30px;"
                >
                  <el-form
                    class="configform2"
                    :inline="true"
                    ref="form"
                    label-width="80px"
                  >
              <!-- <div class="node-content-remark2" v-if="configContent.modelType === '02'">
                <div class="node-content-remark2" style="width: 90%;margin-left: 30px;">
                  <el-form class="configform2" :inline="true" ref="form" label-width="80px">
                    <el-form-item label="合同编号:" style="width: 40%">
                      <el-input
                        v-model="configContent.proNo"
                        readonly
                      ></el-input>
                      <el-input v-model="configContent.proNo" readonly></el-input>
                    </el-form-item>
                    <el-form-item label="项目名称:" style="width: 40%">
                      <el-input
                        v-model="configContent.proName"
                        readonly
                      ></el-input>
                      <el-input v-model="configContent.proName" readonly></el-input>
                    </el-form-item>
                    <el-form-item label="印字要求:" style="width: 100%">
                      <el-input
                        v-model="configContent.printReq"
                        readonly
                      ></el-input>
                      <el-input v-model="configContent.printReq" readonly></el-input>
                    </el-form-item>
                    <el-form-item
                      label="生产规格型号及数量:"
                      style="width: 100%"
                      label-width="140px"
                    >
                    <el-form-item label="生产规格型号及数量:" style="width: 100%" label-width="140px">
                      <div class="ql-editor" v-html="configContent.remark1" />
                    </el-form-item>
                    <el-form-item
                      label="生产要求描述:"
                      style="width: 100%"
                      label-width="105px"
                    >
                    <el-form-item label="生产要求描述:" style="width: 100%" label-width="105px">
                      <div class="ql-editor" v-html="configContent.remark2" />
                    </el-form-item>
                    <el-form-item
                      label="实际印字要求:"
                      style="width: 80%"
                      label-width="105px"
                    >
                    <el-form-item label="实际印字要求:" style="width: 80%" label-width="105px">
                      <el-input v-model="configContent.realPrintReq"></el-input>
                    </el-form-item>
                    <el-row class="bodyrow">
@@ -584,9 +435,7 @@
                          <div class="form-item" style="text-align: left">
                            <label>发泡缆芯(Φmm)</label>
                            <div style="color: #7A9EFD">
                              <el-input
                                v-model="configContent.cableCore"
                              ></el-input>
                              <el-input v-model="configContent.cableCore"></el-input>
                            </div>
                          </div>
                        </div>
@@ -603,9 +452,7 @@
                          <div class="form-item">
                            <label>模芯(Φmm)</label>
                            <div style="color: #7A9EFD">
                              <el-input
                                v-model="configContent.modelCore"
                              ></el-input>
                              <el-input v-model="configContent.modelCore"></el-input>
                            </div>
                          </div>
                        </div>
@@ -615,33 +462,27 @@
                          <div class="form-item">
                            <label>模套(Φmm)</label>
                            <div style="color: #7A9EFD">
                              <el-input
                                v-model="configContent.modelSleeve"
                              ></el-input>
                              <el-input v-model="configContent.modelSleeve"></el-input>
                            </div>
                          </div>
                        </div>
                      </el-col>
                      <el-col :span="3"
                        ><div class="param-top">
                      <el-col :span="3">
                        <div class="param-top">
                          <div class="form-item">
                            <label>定径模(Φmm)</label>
                            <div style="color: #7A9EFD">
                              <el-input
                                v-model="configContent.sizingModel"
                              ></el-input>
                              <el-input v-model="configContent.sizingModel"></el-input>
                            </div>
                          </div>
                        </div>
                      </el-col>
                      <el-col :span="3"
                        ><div class="param-top">
                      <el-col :span="3">
                        <div class="param-top">
                          <div class="form-item">
                            <label>过模(Φmm)</label>
                            <div style="color: #7A9EFD">
                              <el-input
                                v-model="configContent.strandModel"
                              ></el-input>
                              <el-input v-model="configContent.strandModel"></el-input>
                            </div>
                          </div>
                        </div>
@@ -651,153 +492,72 @@
                      产品的性能要求:20℃时的电气特征
                    </div>
                    <el-table
                      :data="configContent.processConfigDataList"
                      style="width: 100%;margin-top: 10px"
                      border
                    >
                    <el-table :data="configContent.processConfigDataList" style="width: 100%;margin-top: 10px" border>
                      <el-table-column prop="date" label="频率(MHz)">
                        <template slot-scope="scope">
                          <el-input
                            v-model="scope.row.frequency"
                            disabled
                          ></el-input>
                          <el-input v-model="scope.row.frequency" disabled></el-input>
                        </template>
                      </el-table-column>
                      <el-table-column prop="name" label="最大传送衰减(dB/km)">
                        <template slot-scope="scope">
                          <el-input
                            v-model="scope.row.deliveryReduce"
                            disabled
                          ></el-input>
                          <el-input v-model="scope.row.deliveryReduce" disabled></el-input>
                        </template>
                      </el-table-column>
                      <el-table-column
                        prop="province"
                        label="耦合损耗max(dB),2米,95%"
                      >
                      <el-table-column prop="province" label="耦合损耗max(dB),2米,95%">
                        <template slot-scope="scope">
                          <el-input
                            v-model="scope.row.couplingLoss"
                            disabled
                          ></el-input>
                          <el-input v-model="scope.row.couplingLoss" disabled></el-input>
                        </template>
                      </el-table-column>
                    </el-table>
                    <el-form-item
                      label="工作频带内驻波比:"
                      style="width: 80%"
                      label-width="120px"
                    >
                      <el-input
                        v-model="configContent.workFrequency"
                        disabled
                      ></el-input>
                    <el-form-item label="工作频带内驻波比:" style="width: 80%" label-width="120px">
                      <el-input v-model="configContent.workFrequency" disabled></el-input>
                    </el-form-item>
                    <el-form-item
                      label="频率范围:"
                      style="width: 80%"
                      label-width="120px"
                    >
                      <el-input
                        v-model="configContent.frequencyRange"
                        disabled
                      ></el-input>
                    <el-form-item label="频率范围:" style="width: 80%" label-width="120px">
                      <el-input v-model="configContent.frequencyRange" disabled></el-input>
                    </el-form-item>
                    <el-form-item
                      label="直流电阻:"
                      style="width: 80%"
                      label-width="120px"
                    >
                      <el-input
                        v-model="configContent.resistance"
                        disabled
                      ></el-input>
                    <el-form-item label="直流电阻:" style="width: 80%" label-width="120px">
                      <el-input v-model="configContent.resistance" disabled></el-input>
                    </el-form-item>
                    <el-form-item
                      label="备注:"
                      style="width: 100%"
                      label-width="120px"
                    >
                    <el-form-item label="备注:" style="width: 100%" label-width="120px">
                      <div class="ql-editor" v-html="configContent.remark4" />
                    </el-form-item>
                  </el-form>
                </div>
              </div>
            </el-tab-pane>
            </el-tab-pane> -->
            <!--工艺附件-->
            <el-tab-pane :label="tabNameExt1" :name="tabNameExt1">
              <el-table
                :data="processConfigFileTableData"
                border
                style="width: 100%;"
                :header-cell-style="{
                  background: 'antiquewhite',
                  color: '#333'
                }"
              >
                <el-table-column
                  prop="orderNumber"
                  label="订单号"
                  align="center"
                ></el-table-column>
                <el-table-column
                  prop="lineNumber"
                  label="行号"
                  align="center"
                ></el-table-column>
                <el-table-column
                  prop="originalFileName"
                  label="文件名"
                  align="center"
                ></el-table-column>
                <el-table-column
                  prop="createUser"
                  label="上传人"
                  align="center"
                ></el-table-column>
                <el-table-column
                  prop="createTime"
                  label="上传时间"
                  align="center"
                ></el-table-column>
            <!-- <el-tab-pane :label="tabNameExt1" :name="tabNameExt1">
              <el-table :data="processConfigFileTableData" border style="width: 100%;" :header-cell-style="{
                background: 'antiquewhite',
                color: '#333'
              }">
                <el-table-column prop="orderNumber" label="订单号" align="center"></el-table-column>
                <el-table-column prop="lineNumber" label="行号" align="center"></el-table-column>
                <el-table-column prop="originalFileName" label="文件名" align="center"></el-table-column>
                <el-table-column prop="createUser" label="上传人" align="center"></el-table-column>
                <el-table-column prop="createTime" label="上传时间" align="center"></el-table-column>
                <el-table-column label="操作">
                  <template slot-scope="scope">
                    <el-button
                      @click="downloadProcessConfigFile(scope.row)"
                      type="text"
                      size="small"
                      >下载</el-button
                    >
                    <el-button @click="downloadProcessConfigFile(scope.row)" type="text" size="small">下载</el-button>
                  </template>
                </el-table-column>
              </el-table>
            </el-tab-pane>
            </el-tab-pane> -->
            <!--结构图-->
            <el-tab-pane :label="tabNameExt2" :name="tabNameExt2">
            <!-- <el-tab-pane :label="tabNameExt2" :name="tabNameExt2">
              <div style="text-align: center; padding: 15px 15px;">
                <img
                  width="70%"
                  v-for="(image, index) in structureImages"
                  :key="index"
                  :src="image.url"
                  alt=""
                />
                <img width="70%" v-for="(image, index) in structureImages" :key="index" :src="image.url" alt="" />
              </div>
            </el-tab-pane>
            </el-tab-pane> -->
          </el-tabs>
        </div>
        <div style="height:100%;width:27%;">
          <div style="height: 50px;line-height:50px;">
            <span style="color:#363636;font-size:16px;font-weight:700;"
              >工艺备注</span
            >
            <span style="color:#363636;font-size:16px;font-weight:700;">工艺备注</span>
          </div>
          <div
            style="height:calc( 100% - 50px );overflow: auto;padding:10px 10px;"
          >
          <div style="height:calc( 100% - 50px );overflow: auto;padding:10px 10px;">
            <div>
              <span v-html="this.currOperateTask.routingOperationRemark"></span>
            </div>
@@ -805,26 +565,13 @@
        </div>
      </div>
    </div>
    <productOutByBatchFormDialog
      :currshowlist.sync="showProductByBatchForm"
      :productList="productList"
      :discToolMeasurementVal="discToolMeasurementVal"
      :parentInfo="parentInfo"
      :currentDutyRecord="currentDutyRecord"
      :personBoardList="personBoardList"
      :groupStatus="groupStatus"
      :orderSnGenerateIdList="orderSnGenerateIdList"
      @refreshTaskDetailInfoList="getSegmentmergeTaskDetailInfoData"
    />
    <isReproduceFormDialog
      :currshowlist.sync="showIsReproduceForm"
      :orderSnGenerateIdList="orderSnGenerateIdList"
      @refreshTaskDetailInfoList="getSegmentmergeTaskDetailInfoData"
    />
    <processConfigurationSheetDialog
      :currshowlist.sync="showProcessConfigurationSheet"
      :orderInfo="orderInfo"
    />
    <productOutByBatchFormDialog :currshowlist.sync="showProductByBatchForm" :productList="productList"
      :discToolMeasurementVal="discToolMeasurementVal" :parentInfo="parentInfo" :currentDutyRecord="currentDutyRecord"
      :personBoardList="personBoardList" :groupStatus="groupStatus" :orderSnGenerateIdList="orderSnGenerateIdList"
      @refreshTaskDetailInfoList="getSegmentmergeTaskDetailInfoData" />
    <isReproduceFormDialog :currshowlist.sync="showIsReproduceForm" :orderSnGenerateIdList="orderSnGenerateIdList"
      @refreshTaskDetailInfoList="getSegmentmergeTaskDetailInfoData" />
    <processConfigurationSheetDialog :currshowlist.sync="showProcessConfigurationSheet" :orderInfo="orderInfo" />
  </div>
</template>
<style lang="scss" scoped>
@@ -834,13 +581,16 @@
  justify-content: space-between;
  align-items: center;
}
.taskinfo-header.is-active {
  transform: rotate(90deg);
}
.taskinfo-header {
  transition: transform 0.3s;
  font-weight: 300;
}
.taskinfo-div {
  height: 100%;
  overflow: auto;
@@ -848,11 +598,13 @@
  /*display: flex;
  flex-direction: column;*/
}
.taskinfo-pane-div {
  border: 0.5px solid #f8f8fb;
  border-radius: 10px;
  height: 120px;
}
.taskinfo-main {
  /*flex-grow: 0;
  flex-shrink: 0;*/
@@ -861,10 +613,12 @@
  justify-content: space-between;
  overflow: auto;
}
.taskinfo-main-item {
  width: 33%;
  position: relative;
}
.param-top {
  width: 100%;
  height: 30px;
@@ -895,6 +649,7 @@
    vertical-align: text-top;
  }
}
/*.taskinfo-main-item img {*/
/*  width: 100%;*/
/*}*/
@@ -904,45 +659,55 @@
  margin-top: 5px;
  background-color: #fff;
}
.taskinfo-body >>> .el-tabs {
.taskinfo-body>>>.el-tabs {
  height: 100%;
}
.taskinfo-body >>> .el-tabs__item.is-active {
.taskinfo-body>>>.el-tabs__item.is-active {
  color: #363636;
  background-color: #fff;
  font-weight: bold;
}
.taskinfo-body >>> .el-tabs__item:hover {
.taskinfo-body>>>.el-tabs__item:hover {
  color: #363636;
  font-weight: bold;
}
.taskinfo-body >>> .el-tabs__item {
.taskinfo-body>>>.el-tabs__item {
  background-color: #f3f8fb;
  min-width: 115px;
  height: 49px;
  font-size: 16px !important;
  text-align: center;
}
.taskinfo-body >>> .el-tabs__content {
.taskinfo-body>>>.el-tabs__content {
  height: calc(100% - 65px);
}
.taskinfo-body >>> .el-tabs__content .el-tab-pane {
.taskinfo-body>>>.el-tabs__content .el-tab-pane {
  height: 100%;
  overflow: auto;
}
.configform1 {
  .el-input {
    width: 300px;
  }
}
.configform2 {
  /deep/ .el-form-item__content {
    width: 70% !important;
  }
  .el-input {
    width: 100%;
  }
}
.taskinfo-body-div {
  text-align: center;
  margin: auto;
@@ -950,6 +715,7 @@
  color: #9ec1eb;
  white-space: nowrap;
}
.pane-div {
  height: 100%;
  padding: 5px 14px;
@@ -959,17 +725,21 @@
  width: 4px;
  background-color: #4283ee;
}
.template-content-div {
  margin-top: 14px;
}
.template-content-div > div:first-child img {
.template-content-div>div:first-child img {
  width: 100%;
}
.template-listbody-div {
  height: calc(100% - 94px);
  overflow: auto;
}
.template-listbody-div > div {
.template-listbody-div>div {
  width: 100%;
  height: 54px;
  margin-bottom: 4px;
@@ -977,101 +747,122 @@
  box-shadow: 0px 2px 14px 2px rgba(47, 47, 47, 0.06);
  border: solid 1px #f0f0f0;
}
.template-unchecked-div {
  background-color: #fff;
}
.template-checked-div {
  background-color: #6290ec;
}
.template-checked-systemno {
  color: #fffdfd;
}
.template-checked-templatename {
  color: #fffdfd;
}
.template-unchecked-systemno {
  color: #4898fc;
}
.template-unchecked-templatename {
  color: #3f3f3f;
}
.template-listbody-div >>> .el-checkbox.is-disabled .el-checkbox__inner {
.template-listbody-div>>>.el-checkbox.is-disabled .el-checkbox__inner {
  cursor: pointer;
}
.template-listbody-div
  >>> .el-checkbox.is-disabled.is-checked
  .el-checkbox__inner {
.template-listbody-div>>>.el-checkbox.is-disabled.is-checked .el-checkbox__inner {
  background-color: #fff;
  border-color: #409eff;
}
.template-listbody-div
  >>> .el-checkbox.is-disabled.is-checked
  .el-checkbox__inner::after {
.template-listbody-div>>>.el-checkbox.is-disabled.is-checked .el-checkbox__inner::after {
  border-color: #409eff;
}
.params-content-div {
  margin-top: 14px;
}
.el-table >>> .stripe-row {
.el-table>>>.stripe-row {
  background: #eef3fd;
}
.params-pagination {
  margin-top: 5px;
  text-align: right;
}
.params-pagination >>> .el-icon-arrow-left {
.params-pagination>>>.el-icon-arrow-left {
  background: url('/img/workbench/icon_previous.png') center center no-repeat;
  background-size: cover;
}
.params-pagination >>> .el-icon-arrow-left:before {
.params-pagination>>>.el-icon-arrow-left:before {
  content: '替';
  font-size: 20px;
  visibility: hidden;
}
.params-pagination >>> .el-icon-arrow-right {
.params-pagination>>>.el-icon-arrow-right {
  background: url('/img/workbench/icon_next.png') center center no-repeat;
  background-size: cover;
}
.params-pagination >>> .el-icon-arrow-right:before {
.params-pagination>>>.el-icon-arrow-right:before {
  content: '换';
  font-size: 20px;
  visibility: hidden;
}
.params-pagination >>> .el-pager li {
.params-pagination>>>.el-pager li {
  min-width: 28px;
}
.params-pagination >>> button {
.params-pagination>>>button {
  min-width: 23.5px;
}
.params-pagination >>> .btn-prev {
.params-pagination>>>.btn-prev {
  padding: 0px 4px 0px 2px;
}
.params-pagination >>> .btn-next {
.params-pagination>>>.btn-next {
  padding: 0px 2px 0px 4px;
}
.taskinfo-params-table >>> td {
.taskinfo-params-table>>>td {
  padding: 3px 0px;
}
.taskInfoMainTab >>> .el-tabs__header {
.taskInfoMainTab>>>.el-tabs__header {
  margin: 0 0;
}
.taskInfoMainTab >>> .el-tabs__header {
.taskInfoMainTab>>>.el-tabs__header {
  margin: 0 0;
}
.taskInfoMainTab >>> .el-tabs__header .el-tabs__item {
.taskInfoMainTab>>>.el-tabs__header .el-tabs__item {
  height: 28px;
  line-height: 28px;
}
.bodyrow {
  .el-input {
    width: 80%;
  }
  .form-item {
    text-align: center;
  }
}
.ql-editor {
  color: #444;
  line-height: 20px;
@@ -1080,26 +871,17 @@
  font-size: 12px;
  border-bottom: 1px solid #ddd;
}
.task-detail-info-table >>> .custom-table-div {
.task-detail-info-table>>>.custom-table-div {
  margin-top: 0px !important;
}
.task-detail-info-table
  >>> .custom-table-div
  .customTable
  .el-table__body-wrapper
  .el-table__row
  .cell {
.task-detail-info-table>>>.custom-table-div .customTable .el-table__body-wrapper .el-table__row .cell {
  padding-left: 0px !important;
  padding-right: 0px !important;
}
.task-detail-info-table
  >>> .customTable
  .el-table__header-wrapper
  .el-table__header
  .el-table-column--selection
  .el-checkbox__input {
.task-detail-info-table>>>.customTable .el-table__header-wrapper .el-table__header .el-table-column--selection .el-checkbox__input {
  display: none;
}
</style>
@@ -1481,8 +1263,8 @@
  computed: {
    ...mapGetters(['userInfo'])
  },
  mounted() {},
  created() {},
  mounted() { },
  created() { },
  methods: {
    handleClick() {
      if (this.taskInfoActiveName == '按批次报工') {
src/views/product/workbench/workReport-feed.vue
@@ -36,7 +36,7 @@
      <el-table-column label="报工单号" prop="productNo" align="center">
      </el-table-column>
      <el-table-column
        label="SN号"
        label="序列号"
        prop="partBatchNo"
        align="center"
        :show-overflow-tooltip="true"
@@ -287,6 +287,7 @@
              } else {
                this.$message.error('更新投入失败')
              }
                            this.visible = false
            })
            .catch((error) => {})
        } else {
@@ -307,6 +308,7 @@
              } else {
                this.$message.error('添加投入失败')
              }
                            this.visible = false
            })
            .catch((error) => {})
        }
src/views/product/workbench/workReportCard.vue
@@ -12,16 +12,11 @@
      <div class="tabDivClass">
        <div class="product-out-header-left">
          <div style="height:28px;line-height:28px;">
            <el-divider class="pane-divider" direction="vertical"></el-divider
            ><span style="font-size:14px;font-weight:bold">产出</span>
            <el-divider class="pane-divider" direction="vertical"></el-divider><span
              style="font-size:14px;font-weight:bold">产出</span>
            <el-tooltip effect="dark" content="刷新列表" placement="top">
              <el-button
                class="step-refresh-btn"
                icon="el-icon-refresh"
                type="info"
                circle
                @click="getBatchReport(5)"
              ></el-button>
              <el-button class="step-refresh-btn" icon="el-icon-refresh" type="info" circle
                @click="getBatchReport(5)"></el-button>
            </el-tooltip>
          </div>
          <div style="margin-left: 30px">
@@ -39,29 +34,21 @@
          </div>
        </div>
        <div style="display:flex;flex-wrap:wrap;">
          <el-button
            class="export-btn"
            type="primary"
            @click="exportOutProduct()"
            >导出
          <el-button class="export-btn" type="primary" @click="exportOutProduct()">导出
          </el-button>
          <el-button
          <!-- <el-button
            class="out-btn"
            type="primary"
            :disabled="currProductMainDisable || currentDutyRecord.isConfirm"
            v-if="!editShow"
            @click="addShiftProductOut()"
            >交班产出
          </el-button> -->
          <el-button class="batch-out-btn" type="primary"
            :disabled="currProductMainDisable || currentDutyRecord.isConfirm" v-if="!editShow"
            @click="addBatchProductOut()">汇报产出
          </el-button>
          <el-button
            class="batch-out-btn"
            type="primary"
            :disabled="currProductMainDisable || currentDutyRecord.isConfirm"
            v-if="!editShow"
            @click="addBatchProductOut()"
            >批量产出
          </el-button>
          <div class="print-button-class">
          <!-- <div class="print-button-class">
            <el-button type="danger" class="print-btn" @click="batchPrint()"
              >大标签打印
            </el-button>
@@ -83,8 +70,8 @@
              v-model="batchSmallPrintRadio"
              @change="labelTabChange2"
            ></el-checkbox>
          </div>
          <div
          </div> -->
          <!-- <div
            class="print-button-class"
            v-if="permissions.product_finished_productLabel1_unlimit"
          >
@@ -110,8 +97,8 @@
              v-model="warehousingPrintSingleRadio"
              @change="labelTabChange3"
            ></el-checkbox>
          </div>
          <div
          </div> -->
          <!-- <div
            class="print-button-class"
            v-if="permissions.product_finished_productLabel2"
          >
@@ -126,78 +113,36 @@
              v-model="warehousingSmalllPrintRadio"
              @change="labelTabChange4"
            ></el-checkbox>
          </div>
          <el-button
            class="change-shift-out-btn"
            type="primary"
            :disabled="currProductMainDisable || currentDutyRecord.isConfirm"
            v-if="!editShow"
            @click="editList()"
            >编辑
          </div> -->
          <el-button class="change-shift-out-btn" type="primary"
            :disabled="currProductMainDisable || currentDutyRecord.isConfirm" v-if="!editShow" @click="editList()">编辑
          </el-button>
          <el-button
            class="batch-out-del-btn"
            type="primary"
            :disabled="currProductMainDisable || currentDutyRecord.isConfirm"
            v-if="editShow"
            @click="cancelSaveList()"
            >取消
          <el-button class="batch-out-del-btn" type="primary"
            :disabled="currProductMainDisable || currentDutyRecord.isConfirm" v-if="editShow" @click="cancelSaveList()">取消
          </el-button>
          <el-button
            class="change-shift-out-btn"
            type="primary"
            :disabled="currProductMainDisable || currentDutyRecord.isConfirm"
            v-if="editShow"
            @click="saveList()"
            >保存
          <el-button class="change-shift-out-btn" type="primary"
            :disabled="currProductMainDisable || currentDutyRecord.isConfirm" v-if="editShow" @click="saveList()">保存
          </el-button>
          <!-- <el-button class="tracking-out-revoke-btn" type="primary" icon="tracking-btn-out"
          :disabled="currProductMainDisable || currentDutyRecord.isConfirm" v-if="!editShow" >交班
        </el-button> -->
          <el-button
            class="submit-out-btn"
            type="primary"
            :disabled="currProductMainDisable || currentDutyRecord.isConfirm"
            v-if="!editShow"
            @click="submitList()"
            :loading="submitLoading"
            >提交
          <el-button class="submit-out-btn" type="primary"
            :disabled="currProductMainDisable || currentDutyRecord.isConfirm" v-if="!editShow" @click="submitList()"
            :loading="submitLoading">提交
          </el-button>
          <el-button
            class="batch-out-del-btn"
            type="primary"
            :disabled="currProductMainDisable || currentDutyRecord.isConfirm"
            v-if="!editShow"
            @click="deleteList()"
            >删除
          <el-button class="batch-out-del-btn" type="primary"
            :disabled="currProductMainDisable || currentDutyRecord.isConfirm" v-if="!editShow" @click="deleteList()">删除
          </el-button>
          <el-button
            v-if="permissions.product_main_revoke"
            type="danger"
            class="revoke-btn"
            @click="revokeList()"
            :loading="removeLoading"
            >撤销</el-button
          >
          <el-button
            v-if="permissions.product_state_reset"
            type="primary"
            class="change-shift-out-btn"
            @click="goReset()"
            :loading="resetLoading"
            >状态重置</el-button
          >
          <!-- v-if="permissions.product_main_revoke" -->
          <el-button type="danger" class="revoke-btn" @click="revokeList()" :loading="removeLoading">撤销</el-button>
          <!-- v-if="permissions.product_state_reset" -->
          <el-button type="primary" class="change-shift-out-btn" @click="goReset()"
            :loading="resetLoading">状态重置</el-button>
        </div>
      </div>
      <el-table
        ref="productOutTable"
        :data="productOutputList"
        height="calc(100% - 118px)"
        :header-cell-style="productOutTableHeaderCellStyle"
        :row-class-name="productOutTableRowClassName"
        class="tracking-table"
        @selection-change="handleSelectionChange"
      >
      <el-table ref="productOutTable" :data="productOutputList" height="calc(100% - 118px)"
        :header-cell-style="productOutTableHeaderCellStyle" :row-class-name="productOutTableRowClassName"
        class="tracking-table" @selection-change="handleSelectionChange">
        <el-table-column type="selection" width="55"> </el-table-column>
        <el-table-column label="序号" width="50px">
@@ -208,74 +153,43 @@
        <el-table-column label="报工单号" prop="productNo" align="center">
        </el-table-column>
        <el-table-column
          label="状态"
          prop="state"
          align="center"
          :formatter="formatState"
          width="120"
        >
        <el-table-column label="状态" prop="state" align="center" :formatter="formatState" width="120">
          <template slot="header" slot-scope="scope">
            <div style="line-height: 14px;">状态</div>
            <div class="th" @click.stop>
              <template>
                <el-select
                  clearable
                  v-model="paramObject.state"
                  placeholder="全部状态"
                  @change="getBatchReport(5)"
                  style="width: 100%"
                >
                  <el-option
                    v-for="item in stateTagArr"
                    :key="item.id"
                    :label="item.label"
                    :value="item.value"
                  />
                <el-select clearable v-model="paramObject.state" placeholder="全部状态" @change="getBatchReport(5)"
                  style="width: 100%">
                  <el-option v-for="item in stateTagArr" :key="item.id" :label="item.label" :value="item.value" />
                </el-select>
              </template>
            </div>
          </template>
        </el-table-column>
        <el-table-column
          label="零件编号"
          prop="partNo"
          align="center"
          :show-overflow-tooltip="true"
        >
        <el-table-column label="零件编号" prop="partNo" align="center" :show-overflow-tooltip="true">
        </el-table-column>
        <el-table-column
          label="零件名称"
          prop="partName"
          align="center"
          :show-overflow-tooltip="true"
        >
        <el-table-column label="零件名称" prop="partName" align="center" :show-overflow-tooltip="true">
        </el-table-column>
        <el-table-column
          label="SN号"
          prop="outBatchNo"
          align="center"
          width="120"
          :show-overflow-tooltip="true"
        >
          <template slot="header" slot-scope="scope">
            <div style="line-height: 14px;">SN号</div>
        <el-table-column label="序列号" prop="outBatchNo" align="center" width="120" :show-overflow-tooltip="true">
          <template slot-scope="scope">
            <el-input :id="'idReport_' + +scope.$index" :ref="'reference_' + scope.$index" v-if="scope.row.isEdit"
              v-model="scope.row.outBatchNo" placeholder="序列号"></el-input>
            <template v-if="!scope.row.isEdit">{{
              scope.row.outBatchNo
            }}</template>
          </template>
          <!-- <template slot="header" slot-scope="scope">
            <div style="line-height: 14px;">序列号</div>
            <div class="th" @click.stop>
              <template>
                <el-input
                  clearable
                  @keyup.enter.native="getBatchReport(5)"
                  v-model="paramObject.outBatchNo"
                  placeholder="SN号"
                  @clear="getBatchReport(5)"
                  style="width: 100%"
                >
                <el-input clearable @keyup.enter.native="getBatchReport(5)" v-model="paramObject.outBatchNo"
                  placeholder="序列号" @clear="getBatchReport(5)" style="width: 100%">
                </el-input>
              </template>
            </div>
          </template>
          </template> -->
        </el-table-column>
        <el-table-column
        <!-- <el-table-column
          label="载具编号"
          prop="reelNumber"
          align="center"
@@ -294,8 +208,8 @@
              scope.row.reelNumber
            }}</template>
          </template>
        </el-table-column>
        <el-table-column
        </el-table-column> -->
        <!-- <el-table-column
          label="起始米标"
          prop="startMeterMark"
          align="center"
@@ -332,15 +246,26 @@
              scope.row.endMeterMark
            }}</template>
          </template>
        </el-table-column> -->
        <el-table-column label="生产数量" prop="productQty" align="center" width="100">
          <template slot-scope="scope">
            <el-input :id="'idReport_' + +scope.$index" :ref="'reference_' + scope.$index" v-if="scope.row.isEdit"
              v-model="scope.row.productQty" placeholder="生产数量"></el-input>
            <template v-if="!scope.row.isEdit">{{
              scope.row.productQty
            }}</template>
          </template>
        </el-table-column>
        <el-table-column
          label="生产数量"
          prop="productQty"
          align="center"
          width="100"
        >
        <el-table-column label="WDR号" prop="wdr" align="center" width="100">
          <template slot-scope="scope">
            <el-input :id="'idReport_' + +scope.$index" :ref="'reference_' + scope.$index" v-if="scope.row.isEdit"
              v-model="scope.row.wdr" placeholder="WDR号"></el-input>
            <template v-if="!scope.row.isEdit">{{
              scope.row.wdr
            }}</template>
          </template>
        </el-table-column>
        <el-table-column label="分段描述" prop="segmentDesc" align="center">
        <!-- <el-table-column label="分段描述" prop="segmentDesc" align="center">
          <template slot-scope="scope">
            <el-input
              :id="'idReport_' + +scope.$index"
@@ -353,69 +278,43 @@
              scope.row.segmentDesc
            }}</template>
          </template>
        </el-table-column>
        </el-table-column> -->
        <el-table-column label="报废数量" prop="scrapQty" align="center">
          <template slot-scope="scope">
            <el-input
              :id="'idReport_' + +scope.$index"
              :ref="'reference_' + scope.$index"
              v-if="scope.row.isEdit"
              v-model="scope.row.scrapQty"
              placeholder="报废数量"
            ></el-input>
            <el-input :id="'idReport_' + +scope.$index" :ref="'reference_' + scope.$index" v-if="scope.row.isEdit"
              v-model="scope.row.scrapQty" placeholder="报废数量"></el-input>
            <template v-if="!scope.row.isEdit">{{
              scope.row.scrapQty
            }}</template>
          </template>
        </el-table-column>
        <el-table-column
          label="IFS批次号"
          prop="ifsBatchNo"
          align="center"
          width="120"
        >
          <template slot="header" slot-scope="scope">
        <el-table-column label="IFS批次号" prop="ifsBatchNo" align="center" width="120">
          <!-- <template slot="header" slot-scope="scope">
            <div style="line-height: 14px;">IFS批次号</div>
            <div class="th" @click.stop>
              <template>
                <el-input
                  clearable
                  @keyup.enter.native="getBatchReport(5)"
                  v-model="paramObject.ifsBatchNo"
                  placeholder="IFS批次号"
                  @clear="getBatchReport(5)"
                  style="width: 100%"
                >
                <el-input clearable @keyup.enter.native="getBatchReport(5)" v-model="paramObject.ifsBatchNo"
                  placeholder="IFS批次号" @clear="getBatchReport(5)" style="width: 100%">
                </el-input>
              </template>
            </div>
          </template>
          <template slot-scope="scope">
            <el-input
              :id="'idReport_' + +scope.$index"
              :ref="'reference_' + scope.$index"
              v-if="scope.row.isIfsBatchNoEdit"
              v-model="scope.row.ifsBatchNo"
              placeholder="IFS批次号"
            ></el-input>
            <el-input :id="'idReport_' + +scope.$index" :ref="'reference_' + scope.$index"
              v-if="scope.row.isIfsBatchNoEdit" v-model="scope.row.ifsBatchNo" placeholder="IFS批次号"></el-input>
            <template v-if="!scope.row.isIfsBatchNoEdit">{{
              scope.row.ifsBatchNo
            }}</template>
          </template>
          </template> -->
        </el-table-column>
        <el-table-column label="备注" prop="remark" align="center">
          <template slot-scope="scope">
            <el-input
              :id="'idReport_' + +scope.$index"
              :ref="'reference_' + scope.$index"
              v-if="scope.row.isEdit"
              v-model="scope.row.remark"
              placeholder="备注"
            ></el-input>
            <el-input :id="'idReport_' + +scope.$index" :ref="'reference_' + scope.$index" v-if="scope.row.isEdit"
              v-model="scope.row.remark" placeholder="备注"></el-input>
            <template v-if="!scope.row.isEdit">{{ scope.row.remark }}</template>
          </template>
        </el-table-column>
        <el-table-column label="盘具重量" prop="reelWeight" align="center">
        <!-- <el-table-column label="盘具重量" prop="reelWeight" align="center">
          <template slot-scope="scope">
            <el-input
              :id="'idReport_' + +scope.$index"
@@ -442,39 +341,29 @@
              scope.row.grossWeight
            }}</template>
          </template>
        </el-table-column>
        <el-table-column label="系统号" prop="systemNo" align="center">
        </el-table-column>
        </el-table-column> -->
        <!-- <el-table-column label="系统号" prop="systemNo" align="center">
        </el-table-column> -->
        <el-table-column label="工序名称" prop="operationName" align="center">
        </el-table-column>
        <el-table-column label="单位" prop="unit" align="center">
        </el-table-column>
        <el-table-column
        <!-- <el-table-column
          label="交班状态"
          prop="shiftState"
          align="center"
          :formatter="formatshiftState"
        >
        </el-table-column>
        <el-table-column label="打印次数" prop="printNum" align="center">
        </el-table-column>
        <el-table-column
          label="操作"
          align="center"
          width="190px"
          fixed="right"
        >
        </el-table-column> -->
        <!-- <el-table-column label="打印次数" prop="printNum" align="center">
        </el-table-column> -->
        <el-table-column label="操作" align="center" width="80" fixed="right">
          <template slot-scope="scope">
            <el-tooltip effect="dark" content="投入" placement="top-start">
              <el-button
                type="text"
                size="small"
                class="blue-but"
                @click="searchDetail(scope.$index, scope.row)"
                >投入</el-button
              >
              <el-button type="text" size="small" class="blue-but"
                @click="searchDetail(scope.$index, scope.row)">投入</el-button>
            </el-tooltip>
            <el-tooltip effect="dark" content="交班" placement="top-start">
            <!-- <el-tooltip effect="dark" content="交班" placement="top-start">
              <el-button
                type="text"
                size="small"
@@ -509,8 +398,8 @@
                "
                >取消交班</el-button
              >
            </el-tooltip>
            <el-tooltip
            </el-tooltip> -->
            <!-- <el-tooltip
              effect="dark"
              content="标签"
              placement="top-start"
@@ -537,98 +426,63 @@
                @click="smallPrintLabel(scope.row)"
                >小标签</el-button
              >
            </el-tooltip>
            </el-tooltip> -->
          </template>
        </el-table-column>
      </el-table>
      <div class="pagin-page">
        <el-pagination
          :current-page="queryReport.current"
          :page-sizes="[10, 15, 20, 50, 100]"
          :page-size="queryReport.size"
          layout="total, sizes, prev, pager, next, jumper"
          @size-change="handleSizeChangeReport"
          @current-change="handleCurrentChangeReport"
          :total="queryReport.total"
        >
        <el-pagination :current-page="queryReport.current" :page-sizes="[10, 15, 20, 50, 100]"
          :page-size="queryReport.size" layout="total, sizes, prev, pager, next, jumper"
          @size-change="handleSizeChangeReport" @current-change="handleCurrentChangeReport" :total="queryReport.total">
        </el-pagination>
      </div>
      <batchProductOutFormDialog
        :currshowlist.sync="showBatchProductForm"
        :productList="productList"
        :parentInfo="parentInfo"
        :currentDutyRecord="currentDutyRecord"
        :personBoardList="personBoardList"
        @refreshProductOutputList="refreshProductOutputList"
        :groupStatus="groupStatus"
      />
      <shiftProductoutFormDialog
        :currshowlist.sync="showShiftProductForm"
        :productList="productList"
        :parentInfo="parentInfo"
        :currentDutyRecord="currentDutyRecord"
        :personBoardList="personBoardList"
        @refreshProductOutputList="refreshProductOutputList"
      />
      <workReportFeed
        v-if="searchFeed"
        ref="searchFeed"
        @refreshFeedsForDel="refreshFeedsForDel"
      ></workReportFeed>
      <batchProductOutFormDialog :currshowlist.sync="showBatchProductForm" :productList="productList"
        :parentInfo="parentInfo" :currentDutyRecord="currentDutyRecord" :personBoardList="personBoardList"
        @refreshProductOutputList="refreshProductOutputList" :groupStatus="groupStatus" />
      <shiftProductoutFormDialog :currshowlist.sync="showShiftProductForm" :productList="productList"
        :parentInfo="parentInfo" :currentDutyRecord="currentDutyRecord" :personBoardList="personBoardList"
        @refreshProductOutputList="refreshProductOutputList" />
      <workReportFeed v-if="searchFeed" ref="searchFeed" @refreshFeedsForDel="refreshFeedsForDel"></workReportFeed>
      <productOutFormDialog
        :currshowlist.sync="showProductForm"
        :productList="productList"
        :parentInfo="parentInfo"
        :currentDutyRecord="currentDutyRecord"
        :personBoardList="personBoardList"
        @refreshProductOutputList="refreshProductOutputList"
      />
      <TaskSecretForm
        :currshowlist.sync="showTaskSecretForm"
        @confirmSecret="confirmSecret"
        :tackingList="confirmList"
        :tipeInfo="tipeInfo"
      />
      <printSecretFormDialog
        :currshowlist.sync="showPrintSecretForm"
        :outputs="selectOutputs"
        :statusCheck="statusCheck"
        @goOnPrint="goOnPrint"
        @cancelClose="cancelClose"
        @cancelCloseCancel="cancelCloseCancel"
      />
      <productOutFormDialog :currshowlist.sync="showProductForm" :productList="productList" :parentInfo="parentInfo"
        :currentDutyRecord="currentDutyRecord" :personBoardList="personBoardList"
        @refreshProductOutputList="refreshProductOutputList" />
      <TaskSecretForm :currshowlist.sync="showTaskSecretForm" @confirmSecret="confirmSecret" :tackingList="confirmList"
        :tipeInfo="tipeInfo" />
      <printSecretFormDialog :currshowlist.sync="showPrintSecretForm" :outputs="selectOutputs" :statusCheck="statusCheck"
        @goOnPrint="goOnPrint" @cancelClose="cancelClose" @cancelCloseCancel="cancelCloseCancel" />
    </div>
    <div>
      <iframe
        id="frame"
        style="width:2480px;overflow:hidden;margin-top: 200px;"
        :src="jimusrc"
      ></iframe>
      <iframe id="frame" style="width:2480px;overflow:hidden;margin-top: 200px;" :src="jimusrc"></iframe>
    </div>
    <el-dialog title="产出合格库位" :visible.sync="dialogVisible" width="30%">
      <span>合格库位:</span>
      <el-select v-model="locationIdValue" placeholder="请选择">
        <el-option v-for="item in options" :key="item.index" :label="`${item.locNo}+${item.locName}`" :value="item.id">
        </el-option>
      </el-select>
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false; isTrue = false">取 消</el-button>
        <el-button type="primary" @click="clickSureSubmit">确 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>
<style lang="scss" scoped>
.cancel-btn {
  background-image: -webkit-linear-gradient(
    90deg,
    rgba(254, 100, 84, 0.8) 0%,
    rgba(252, 84, 75, 0.8) 50%,
    rgba(250, 69, 65, 0.8) 100%
  );
  background-image: -moz-linear-gradient(
    90deg,
    rgba(254, 100, 84, 0.8) 0%,
    rgba(252, 84, 75, 0.8) 50%,
    rgba(250, 69, 65, 0.8) 100%
  );
  background-image: linear-gradient(
    90deg,
    rgba(254, 100, 84, 0.8) 0%,
    rgba(252, 84, 75, 0.8) 50%,
    rgba(250, 69, 65, 0.8) 100%
  );
  background-image: -webkit-linear-gradient(90deg,
      rgba(254, 100, 84, 0.8) 0%,
      rgba(252, 84, 75, 0.8) 50%,
      rgba(250, 69, 65, 0.8) 100%);
  background-image: -moz-linear-gradient(90deg,
      rgba(254, 100, 84, 0.8) 0%,
      rgba(252, 84, 75, 0.8) 50%,
      rgba(250, 69, 65, 0.8) 100%);
  background-image: linear-gradient(90deg,
      rgba(254, 100, 84, 0.8) 0%,
      rgba(252, 84, 75, 0.8) 50%,
      rgba(250, 69, 65, 0.8) 100%);
  color: #fff;
  border-color: #fbecec;
  border-radius: 10px;
@@ -636,40 +490,34 @@
  height: 32px;
}
.cancel-btn >>> span {
.cancel-btn>>>span {
  margin-left: 3px;
}
.tracking-change-state-div >>> .tracking-btn-cancel {
.tracking-change-state-div>>>.tracking-btn-cancel {
  background: url('/img/workbench/icon_cancel.png') center center no-repeat;
  background-size: cover;
}
.tracking-change-state-div >>> .tracking-btn-cancel:before {
.tracking-change-state-div>>>.tracking-btn-cancel:before {
  content: '消';
  font-size: 14px;
  visibility: hidden;
}
.submit-btn {
  background-image: -webkit-linear-gradient(
    90deg,
    rgba(80, 213, 118, 0.8) 0%,
    rgba(73, 209, 87, 0.8) 50%,
    rgba(65, 205, 58, 0.8) 100%
  );
  background-image: -moz-linear-gradient(
    90deg,
    rgba(80, 213, 118, 0.8) 0%,
    rgba(73, 209, 87, 0.8) 50%,
    rgba(65, 205, 58, 0.8) 100%
  );
  background-image: linear-gradient(
    90deg,
    rgba(80, 213, 118, 0.8) 0%,
    rgba(73, 209, 87, 0.8) 50%,
    rgba(65, 205, 58, 0.8) 100%
  );
  background-image: -webkit-linear-gradient(90deg,
      rgba(80, 213, 118, 0.8) 0%,
      rgba(73, 209, 87, 0.8) 50%,
      rgba(65, 205, 58, 0.8) 100%);
  background-image: -moz-linear-gradient(90deg,
      rgba(80, 213, 118, 0.8) 0%,
      rgba(73, 209, 87, 0.8) 50%,
      rgba(65, 205, 58, 0.8) 100%);
  background-image: linear-gradient(90deg,
      rgba(80, 213, 118, 0.8) 0%,
      rgba(73, 209, 87, 0.8) 50%,
      rgba(65, 205, 58, 0.8) 100%);
  color: #fff;
  border-color: #fbecec;
  border-radius: 10px;
@@ -677,38 +525,31 @@
  height: 32px;
}
.submit-btn >>> span {
.submit-btn>>>span {
  margin-left: 3px;
}
.tracking-change-state-div >>> .tracking-btn-submit {
  background: url('/img/workbench/icon_tracking_submit.png') center center
    no-repeat;
.tracking-change-state-div>>>.tracking-btn-submit {
  background: url('/img/workbench/icon_tracking_submit.png') center center no-repeat;
  background-size: cover;
}
.tracking-change-state-div >>> .tracking-btn-submit:before {
.tracking-change-state-div>>>.tracking-btn-submit:before {
  content: '交';
  font-size: 14px;
  visibility: hidden;
}
.revoke-btn {
  background-image: -webkit-linear-gradient(
    90deg,
    rgba(254, 91, 53, 0.8) 0%,
    rgba(245, 68, 50, 0.8) 100%
  );
  background-image: -moz-linear-gradient(
    90deg,
    rgba(254, 91, 53, 0.8) 0%,
    rgba(245, 68, 50, 0.8) 100%
  );
  background-image: linear-gradient(
    90deg,
    rgba(254, 91, 53, 0.8) 0%,
    rgba(245, 68, 50, 0.8) 100%
  );
  background-image: -webkit-linear-gradient(90deg,
      rgba(254, 91, 53, 0.8) 0%,
      rgba(245, 68, 50, 0.8) 100%);
  background-image: -moz-linear-gradient(90deg,
      rgba(254, 91, 53, 0.8) 0%,
      rgba(245, 68, 50, 0.8) 100%);
  background-image: linear-gradient(90deg,
      rgba(254, 91, 53, 0.8) 0%,
      rgba(245, 68, 50, 0.8) 100%);
  color: #fff;
  border-color: #fbecec;
  border-radius: 15px;
@@ -716,27 +557,21 @@
  font-size: 14px;
}
.revoke-btn >>> span {
.revoke-btn>>>span {
  margin-left: 3px;
  font-size: 12px;
}
.print-btn {
  background-image: -webkit-linear-gradient(
    90deg,
    rgba(83, 53, 254, 0.8) 0%,
    rgba(52, 50, 213, 0.8) 100%
  );
  background-image: -moz-linear-gradient(
    90deg,
    rgba(83, 53, 254, 0.8) 0%,
    rgba(52, 50, 213, 0.8) 100%
  );
  background-image: linear-gradient(
    90deg,
    rgba(83, 53, 254, 0.8) 0%,
    rgba(52, 50, 213, 0.8) 100%
  );
  background-image: -webkit-linear-gradient(90deg,
      rgba(83, 53, 254, 0.8) 0%,
      rgba(52, 50, 213, 0.8) 100%);
  background-image: -moz-linear-gradient(90deg,
      rgba(83, 53, 254, 0.8) 0%,
      rgba(52, 50, 213, 0.8) 100%);
  background-image: linear-gradient(90deg,
      rgba(83, 53, 254, 0.8) 0%,
      rgba(52, 50, 213, 0.8) 100%);
  color: #fff;
  border-color: #fbecec;
  border-radius: 15px;
@@ -744,17 +579,17 @@
  font-size: 14px;
}
.print-btn >>> span {
.print-btn>>>span {
  margin-left: 3px;
  font-size: 12px;
}
.tracking-change-state-div >>> .tracking-btn-revoke {
.tracking-change-state-div>>>.tracking-btn-revoke {
  background: url('/img/workbench/icon_back.png') center center no-repeat;
  background-size: cover;
}
.tracking-change-state-div >>> .tracking-btn-revoke:before {
.tracking-change-state-div>>>.tracking-btn-revoke:before {
  content: '撤';
  font-size: 14px;
  visibility: hidden;
@@ -778,13 +613,13 @@
  align-items: center;
}
.product-out-header >>> .tracking-btn-out {
.product-out-header>>>.tracking-btn-out {
  background: url('/img/workbench/icon_bgcc.png') center center no-repeat;
  background-size: cover;
  font-size: 14px;
}
.product-out-header >>> .tracking-btn-out:before {
.product-out-header>>>.tracking-btn-out:before {
  content: '产';
  font-size: 14px;
  visibility: hidden;
@@ -806,7 +641,7 @@
  font-size: 14px;
}
.export-btn >>> span {
.export-btn>>>span {
  margin-left: 3px;
  font-size: 12px;
}
@@ -822,7 +657,7 @@
  font-size: 14px;
}
.out-btn >>> span {
.out-btn>>>span {
  margin-left: 3px;
  font-size: 12px;
}
@@ -838,7 +673,7 @@
  font-size: 14px;
}
.batch-out-btn >>> span {
.batch-out-btn>>>span {
  margin-left: 3px;
  font-size: 12px;
}
@@ -854,7 +689,7 @@
  font-size: 14px;
}
.submit-out-btn >>> span {
.submit-out-btn>>>span {
  margin-left: 3px;
  font-size: 12px;
}
@@ -870,7 +705,7 @@
  font-size: 14px;
}
.change-shift-out-btn >>> span {
.change-shift-out-btn>>>span {
  margin-left: 3px;
  font-size: 12px;
}
@@ -1020,6 +855,7 @@
  getProductMainV1,
  batchUpdateProductMain,
  batchChange,
  batchChangeCopy,
  batchCancelProductMain,
  productOutPutStateByMainId,
  getPrintUrl,
@@ -1031,12 +867,15 @@
  validateIsLastOperation,
  validateChangeProductOut,
  resetState,
  updatePrintNum
  updatePrintNum,
  cancellationOfWorkApplication
} from '@/api/product/personboard'
import {
  batchLabelPrint,
  checkBatchLabelPrint,
  batchLabelPrintTimes
  batchLabelPrintTimes,
  qualifiedLocation,
  isProductionCounting
} from '@/api/product/handymantype'
import batchProductOutFormDialog from './batchproductout-form-new.vue'
import { mapGetters } from 'vuex'
@@ -1090,6 +929,7 @@
  },
  data() {
    return {
      dialogVisible: false,
      showPrintSecretForm: false,
      printLabelType: null,
      printData: null,
@@ -1097,7 +937,7 @@
        { value: '01draft', label: '草稿' },
        { value: '02submitted', label: '已提交' },
        { value: '04processing', label: '处理中' },
        { value: '03changeshift', label: '交班' }
        // { value: '03changeshift', label: '交班' }
      ],
      tableData: [],
      multipleSelection: [],
@@ -1178,14 +1018,27 @@
      warehousingPrintSingleRadio: false,
      warehousingSmalllPrintRadio: false,
      statusCheck: true,
      selectOutputs: []
      selectOutputs: [],
      isProductionCountingShow: false,
      isTrue: false,
      options: [],
      locationIdValue: null,
    }
  },
  created() {},
  created() {
  },
  updated() { this.isProductionCounting() },
  computed: {
    ...mapGetters(['permissions', 'userInfo'])
  },
  methods: {
    isProductionCounting() {
      isProductionCounting({
        taskId: this.currOperateTask.taskId
      }).then(res => {
        this.isProductionCountingShow = res.data
      })
    },
    cancelClose() {
      this.statusCheck = true
    },
@@ -3222,11 +3075,12 @@
    },
    saveList() {
      const list = JSON.parse(JSON.stringify(this.productOutputList))
      console.log(`output->list`, list)
      const data = []
      list.forEach((el) => {
        if (el.isEdit) {
          var productVo = {}
          productVo.id = el.id
          productVo.id = el.outputId
          productVo.operationTaskId = this.currOperateTask.id
          productVo.workstationId = el.workstationId
          var productOuts = []
@@ -3235,7 +3089,9 @@
          productOut.endMeterMark = el.endMeterMark
          productOut.productQty = el.productQty
          productOut.segmentDesc = el.segmentDesc
          productOut.outBatchNo = el.outBatchNo
          productOut.scrapQty = el.scrapQty
          productOut.wdr = el.wdr
          productOut.ifsBatchNo = el.ifsBatchNo
          productOut.reelNumber = el.reelNumber
          productOut.reelWeight = el.reelWeight
@@ -3252,64 +3108,58 @@
        validateOverProduction(data).then((response) => {
          const resData = response.data
          if (resData.code === 0) {
            if (resData.data.success) {
              validateOverFeed(data)
                .then((resp) => {
                  const respData = resp.data
                  if (respData.code == 0) {
                    if (respData.data.success) {
                      batchUpdateProductMain(data).then((res) => {
                        this.$message.success('编辑成功')
                        this.editShow = false
                        this.getBatchReport(3)
                      })
                    } else {
                      // 投料不足,提示人工选择
                      // respData.data.message
                      let confirmInfo = ''
                      const confirmMessage = respData.data.message
                      confirmMessage.forEach((item) => {
                        confirmInfo = confirmInfo + item + ';<br>'
                      })
                      this.$confirm(
                        confirmInfo +
                          '<span style="color:red;">是否继续报工?</span>',
                        '提示',
                        {
                          confirmButtonText: '确定',
                          cancelButtonText: '取消',
                          type: 'warning',
                          customClass: 'validate-over-feed-message',
                          dangerouslyUseHTMLString: true,
                          closeOnClickModal: false
                        }
                      )
                        .then(() => {
                          batchUpdateProductMain(data).then((res) => {
                            this.$message.success('编辑成功')
                            this.editShow = false
                            this.getBatchReport(3)
                          })
                        })
                        .catch(() => {
                          this.$message({
                            type: 'info',
                            message: '已取消报工'
                          })
                        })
                    }
            validateOverFeed(data)
              .then((resp) => {
                const respData = resp.data
                if (respData.code == 0) {
                  if (respData.data.success) {
                    batchUpdateProductMain(data).then((res) => {
                      this.$message.success('编辑成功')
                      this.editShow = false
                      this.getBatchReport(3)
                    })
                  } else {
                    this.$message.error('投料是否充足校验失败')
                    // 投料不足,提示人工选择
                    // respData.data.message
                    let confirmInfo = ''
                    const confirmMessage = respData.data.message
                    confirmMessage.forEach((item) => {
                      confirmInfo = confirmInfo + item + ';<br>'
                    })
                    this.$confirm(
                      confirmInfo +
                      '<span style="color:red;">是否继续报工?</span>',
                      '提示',
                      {
                        confirmButtonText: '确定',
                        cancelButtonText: '取消',
                        type: 'warning',
                        customClass: 'validate-over-feed-message',
                        dangerouslyUseHTMLString: true,
                        closeOnClickModal: false
                      }
                    )
                      .then(() => {
                        batchUpdateProductMain(data).then((res) => {
                          this.$message.success('编辑成功')
                          this.editShow = false
                          this.getBatchReport(3)
                        })
                      })
                      .catch(() => {
                        this.$message({
                          type: 'info',
                          message: '已取消报工'
                        })
                      })
                  }
                })
                .catch((error) => {
                  console.log('失败' + new Date().getTime())
                })
            } else {
              this.tipeInfo = resData.data.message
              this.showTaskSecretForm = true
              this.confirmList = data
            }
                } else {
                  this.$message.error('投料是否充足校验失败')
                }
              })
              .catch((error) => {
                console.log('失败' + new Date().getTime())
              })
          } else {
            this.$message.error('工单数量校验失败')
          }
@@ -3319,6 +3169,7 @@
    // 取消编辑
    cancelSaveList() {
      this.editShow = false
      this.getBatchReport(2)
      this.productOutputList.forEach((element) => {
        if (element.isEdit) {
          element.isEdit = false
@@ -3338,6 +3189,10 @@
        this.paramObject
      )
      const _that = this
      /* if (!this.isProductionCountingShow) {
        this.$message.error('当前工单无需报工操作')
        return
      } */
      getProductMainV1(obj).then((res) => {
        _that.productOutputList = res.data.data.records
        // console.log(_that.productOutputList)
@@ -3407,122 +3262,145 @@
    // 提交报告
    submitList() {
      if (this.multipleSelection.length > 0) {
        if (this.multipleSelection.length > 10) {
          this.$message.error('最多只能选择10条记录进行提交!')
        if (this.multipleSelection.length > 1) {
          this.$message.error('最多只能选择1条记录进行提交!')
          return false
        }
        const list = this.multipleSelection
        if (this.getFlag(list)) {
          this.submitLoading = true
          var event = 'SUBMIT'
          var submitSize = 0
          let successSize = 0
          const errorMsg = ''
          var toProcessIds = []
          list.forEach((ele) => {
            toProcessIds.push(ele.id)
        } else {
          qualifiedLocation(this.multipleSelection[0].workstationId).then(res => {
            this.options = res.data.data
            if (this.options.length > 1) {
              this.dialogVisible = true
            } else {
              this.locationIdValue = this.options[0].id
              this.submitListApi()
            }
          })
          // 1、状态改成进行中
          productProcessState(toProcessIds, event)
            .then((response) => {
              // 判断是否携带打印
              if (this.batchPrintRadio) {
                this.statusCheck = false
                this.batchPrint()
              } else if (this.batchSmallPrintRadio) {
                this.statusCheck = false
                this.batchSmallPrint()
              } else if (this.warehousingPrintSingleRadio) {
                this.statusCheck = false
                this.warehousingPrintSingle()
              } else if (this.warehousingSmalllPrintRadio) {
                this.statusCheck = false
                this.warehousingSmalllPrint()
              }
              this.submitLoading = false
              this.$message.success('提交成功,刷新查看提交结果')
              this.getBatchReport(5)
              // 2、处理提交
              list.forEach((ele) => {
                var outIds = []
                outIds.push(ele.id)
                batchChange(outIds, event)
                  .then((response) => {
                    successSize++
                    submitSize++
                    if (submitSize === list.length) {
                      // this.submitLoading = false
                      // if (successSize === list.length) {
                      //   this.$message.success('提交成功')
                      // } else {
                      //   this.$message.error(errorMsg + '提交失败')
                      // }
                      // this.getBatchReport(5)
                    }
                    if (
                      this.batchPrintRadio ||
                      this.batchSmallPrintRadio ||
                      this.warehousingPrintSingleRadio ||
                      this.warehousingSmalllPrintRadio
                    ) {
                      updatePrintNum({ ids: [ele.outputId] }).then(
                        (response) => {
                          this.getBatchReport(7)
                        }
                      )
                    }
                  })
                  .catch(() => {
                    // errorMsg = errorMsg + ele.outBatchNo + ';'
                    // submitSize++
                    // console.log('submitSize', submitSize)
                    // this.submitLoading = false
                    // console.log('successSize', successSize)
                    // console.log('超时......', error)
                    // if (submitSize === list.length) {
                    //   console.log('submitSizeFinal', submitSize)
                    //   this.submitLoading = false
                    //   console.log('successSizeFinal', successSize)
                    //   if (successSize === 0) {
                    //     this.$message.error('处理失败')
                    //   } else {
                    //     this.$message.error(errorMsg + '处理失败')
                    //   }
                    //   this.getBatchReport(5)
                    // }
                    if (
                      this.batchPrintRadio ||
                      this.batchSmallPrintRadio ||
                      this.warehousingPrintSingleRadio ||
                      this.warehousingSmalllPrintRadio
                    ) {
                      updatePrintNum({ ids: [ele.outputId] }).then(
                        (response) => {
                          this.getBatchReport(7)
                        }
                      )
                    }
                  })
              })
            })
            .catch((error) => {})
          // this.submitLoading = false;
          // this.$message.success('提交成功');
          // this.getBatchReport(5);
          // var outIds = list.map((ele) => {
          //   return ele.id
          // })
          // batchChange(outIds, event)
          //   .then((response) => {
          //     this.submitLoading = false;
          //     this.$message.success('提交成功')
          //     this.getBatchReport(5)
          //   })
          //   .catch((error) => {})
        }
      } else {
        this.$message.error('请选择需要提交的对象')
      }
    },
    clickSureSubmit() {
      this.dialogVisible = false
      this.submitListApi()
    },
    submitListApi() {
      const list = this.multipleSelection
      if (this.getFlag(list)) {
        this.submitLoading = true
        var event = 'SUBMIT'
        var submitSize = 0
        let successSize = 0
        const errorMsg = ''
        var toProcessIds = []
        list.forEach((ele) => {
          toProcessIds.push(ele.id)
        })
        // 1、状态改成进行中
        productProcessState(toProcessIds, event)
          .then((response) => {
            // 判断是否携带打印
            if (this.batchPrintRadio) {
              this.statusCheck = false
              this.batchPrint()
            } else if (this.batchSmallPrintRadio) {
              this.statusCheck = false
              this.batchSmallPrint()
            } else if (this.warehousingPrintSingleRadio) {
              this.statusCheck = false
              this.warehousingPrintSingle()
            } else if (this.warehousingSmalllPrintRadio) {
              this.statusCheck = false
              this.warehousingSmalllPrint()
            }
            this.submitLoading = false
            this.$message.success('提交成功,刷新查看提交结果')
            this.getBatchReport(5)
            // 2、处理提交
            list.forEach((ele) => {
              var outIds = []
              outIds.push(ele.id)
              const qury = Object.assign({
                ids: outIds,
                locationId: this.locationIdValue,
                outputId: this.multipleSelection[0].outputId
              })
              batchChangeCopy(qury, event)
                .then((response) => {
                  this.locationIdValue = null
                  this.isTrue = false
                  successSize++
                  submitSize++
                  if (submitSize === list.length) {
                    // this.submitLoading = false
                    // if (successSize === list.length) {
                    //   this.$message.success('提交成功')
                    // } else {
                    //   this.$message.error(errorMsg + '提交失败')
                    // }
                    // this.getBatchReport(5)
                  }
                  if (
                    this.batchPrintRadio ||
                    this.batchSmallPrintRadio ||
                    this.warehousingPrintSingleRadio ||
                    this.warehousingSmalllPrintRadio
                  ) {
                    updatePrintNum({ ids: [ele.outputId] }).then(
                      (response) => {
                        this.getBatchReport(7)
                      }
                    )
                  }
                })
                .catch(() => {
                  // errorMsg = errorMsg + ele.outBatchNo + ';'
                  // submitSize++
                  // console.log('submitSize', submitSize)
                  // this.submitLoading = false
                  // console.log('successSize', successSize)
                  // console.log('超时......', error)
                  // if (submitSize === list.length) {
                  //   console.log('submitSizeFinal', submitSize)
                  //   this.submitLoading = false
                  //   console.log('successSizeFinal', successSize)
                  //   if (successSize === 0) {
                  //     this.$message.error('处理失败')
                  //   } else {
                  //     this.$message.error(errorMsg + '处理失败')
                  //   }
                  //   this.getBatchReport(5)
                  // }
                  if (
                    this.batchPrintRadio ||
                    this.batchSmallPrintRadio ||
                    this.warehousingPrintSingleRadio ||
                    this.warehousingSmalllPrintRadio
                  ) {
                    updatePrintNum({ ids: [ele.outputId] }).then(
                      (response) => {
                        this.getBatchReport(7)
                      }
                    )
                  }
                })
            })
          })
          .catch((error) => { })
        // this.submitLoading = false;
        // this.$message.success('提交成功');
        // this.getBatchReport(5);
        // var outIds = list.map((ele) => {
        //   return ele.id
        // })
        // batchChange(outIds, event)
        //   .then((response) => {
        //     this.submitLoading = false;
        //     this.$message.success('提交成功')
        //     this.getBatchReport(5)
        //   })
        //   .catch((error) => {})
      }
    },
    // 撤销报告
@@ -3539,7 +3417,9 @@
          var outIds = list.map((ele) => {
            return ele.id
          })
          batchChange(outIds, event)
          cancellationOfWorkApplication({
            mainId: outIds[0]
          })
            .then((response) => {
              this.removeLoading = false
              this.$message.success('撤销成功')
vue.config.js
@@ -2,9 +2,8 @@
 * 配置参考:
 * https://cli.vuejs.org/zh/config/
 */
// const url = 'http://192.168.0.23:9999'
// const url = 'http://192.168.0.51:9999'
const url = 'http://192.168.0.23:9999'
const url = 'http://localhost:9999'
// const url = 'http://ztt-gateway:9999'
// const url = 'http://ztt-gateway:9999'
const localUrl = 'http://localhost:8089'
//const localUrl = 'http://10.88.15.95:8089'