zouyu
2023-11-15 d9a840cdf9da27c95298b0f822748ae199a0cc51
Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before
已修改27个文件
已添加1个文件
4269 ■■■■■ 文件已修改
src/api/product/personboard.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipment/equipment/index.vue 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipment/metering/metering-form.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/customer/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/customerorder/customerorder-form.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/customerorder/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/customerorder/schedule-table.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/manufacturingorder/productorder-form.vue 4 ●●●● 补丁 | 查看 | 原始文档 | 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 | 历史
src/views/quality/finishedProductInspection/finishedProduct-form.vue 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/finishedProductInspection/finishedProducter-print.vue 1709 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/finishedProductInspection/index.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/processInspect/processInspect-form.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/rawMaterial/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/rawMaterial/rawMaterial-form.vue 151 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/technology/operation/operation-form.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 6 ●●●●● 补丁 | 查看 | 原始文档 | 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/equipment/equipment/index.vue
@@ -19,23 +19,23 @@
        @refreshDataList="getData"
      ></table-form>
      <el-dialog title="标签列表" :visible.sync="diaPrintTab" width="500px">
        <div class="dia_body" style="height: 400px;overflow-y: auto;padding: 0 10px;">
          <el-card class="box-card" v-for="(tem, i) in multipleSelection" :key="i" style="margin-bottom: 15px;">
        <div class="dia_body">
          <el-card class="box-card" id="printRaw" v-for="(tem, i) in multipleSelection" :key="i" style="margin-bottom: 30px;">
            <el-row>
              <el-col :span="10" :offset="3">序号:</el-col>
              <el-col :span="10" style="font-weight: bold;">{{ i + 1 }}</el-col>
              <el-col :span="8" :offset="1">序号:</el-col>
              <el-col :span="7" style="font-weight: bold;">{{ i + 1 }}</el-col>
            </el-row>
            <el-row>
              <el-col :span="10" :offset="3">编号:</el-col>
              <el-col :span="8" :offset="1">编号:</el-col>
              <el-col :span="10" style="font-weight: bold;">{{ tem.number }}</el-col>
            </el-row>
            <el-row>
              <el-col :span="10" :offset="3">设备名称:</el-col>
              <el-col :span="10" style="font-weight: bold;">{{ tem.name }}</el-col>
              <el-col :span="8" :offset="1">设备名称:</el-col>
              <el-col :span="7" style="font-weight: bold;">{{ tem.name }}</el-col>
            </el-row>
            <el-row>
              <el-col :span="10" :offset="3">设备二维码:</el-col>
              <el-col :span="10">
              <el-col :span="8" :offset="1">设备二维码:</el-col>
              <el-col :span="7">
                <vueQr :text="tem.number" :size="80" :margin="2"></vueQr>
              </el-col>
            </el-row>
@@ -43,7 +43,7 @@
        </div>
        <span slot="footer" class="dialog-footer">
          <el-button @click="diaPrintTab = false">取 æ¶ˆ</el-button>
          <el-button type="primary" @click="diaPrintTab = false">打 å°</el-button>
          <el-button type="primary" @click="printFun()">打 å°</el-button>
        </span>
      </el-dialog>
    </basic-container>
@@ -58,6 +58,7 @@
import * as fecha from 'element-ui/lib/utils/date'
import { remote } from '../../../api/admin/dict'
import vueQr from 'vue-qr'
import PrintJS from 'print-js'
export default {
  data() {
    return {
@@ -285,6 +286,21 @@
    })
  },
  methods: {
    printFun() {
            // this.printDialogVisible = false;
            this.diaPrintTab = false;
            console.log(printRaw);
            PrintJS({
                printable: "printRaw",//页面
                type: "html",//文档类型
                  maxWidth:450,
                  targetStyles:['*'],
                  style:"@page {margin:0  ;resolution: 300dpi;portrait}",
                  onPrintDialogClose: this.erexcel=false,
                  targetStyles: ["*"], // ä½¿ç”¨dom的所有样式,很重要
                  font_size: '',
            });
        },
    pullEquipFun(){
      this.table.toolbar.find((e) => e.text === '同步').loading = true
      pullEquip().then(res=>{
src/views/equipment/metering/metering-form.vue
@@ -40,7 +40,7 @@
    </el-date-picker>
  </el-form-item>
  </el-col>
          <el-col :span="12">
            <el-form-item label="责任人" prop="createUser">
              <el-input
@@ -58,7 +58,7 @@
              ></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="责任部门" prop="responsibleDepartment">
              <el-input
@@ -90,7 +90,7 @@
                placeholder="检定/校准"
              ></el-input>
            </el-form-item>
          </el-col>
          </el-col>
          <el-col :span="12">
            <el-form-item label="分类" prop="classification">
              <el-input
@@ -98,7 +98,7 @@
                placeholder="分类"
              ></el-input>
            </el-form-item>
          </el-col>
          </el-col>
          <el-col :span="12">
            <el-form-item label="定点位置" prop="fixedPointPosition">
              <el-input
@@ -106,8 +106,8 @@
                placeholder="定点位置"
              ></el-input>
            </el-form-item>
          </el-col>
          </el-col>
          <!-- <el-col :span="12">
@@ -250,7 +250,7 @@
          }
        })
      },
      initFactorySelect() {
        loadFactoryList().then((res) => {
          this.factoryOptions = res.data
@@ -260,11 +260,11 @@
        })
      }
    },
    created() {
      this.initFactorySelect()
      this.getEquipmentState()
    //   remote('work_shop').then((response) => {
    //     if (response.data.code === 0) {
    //       this.workshopList = response.data.data
@@ -275,4 +275,3 @@
    }
  }
  </script>
src/views/plan/customer/index.vue
@@ -242,6 +242,7 @@
    },
    handleSelectionChange(val) {
      this.multipleSelection = val
      console.log(this.multipleSelection);
    },
    // åˆ é™¤
    deleteHandle(row) {
src/views/plan/customerorder/customerorder-form.vue
@@ -828,6 +828,7 @@
        productName: '',
        productType: '',
        partNo: '',
        technologyDocumentId: '',
        docNumber: '',
        docName: '',
        shippingAddress: '',
src/views/plan/customerorder/index.vue
@@ -975,6 +975,7 @@
    // åˆ›å»ºä¸»ç”Ÿäº§è®¡åˆ’
    masterPlanHandle() {
      console.log(this.multipleSelection);
      if (this.multipleSelection && this.multipleSelection.length > 0) {
        if (this.judgeCoState(this.multipleSelection)) {
          // åˆ¤æ–­ä¸€ä¸‹å‰©ä½™æ•°é‡æ˜¯å¦å¤§äºŽ0
src/views/plan/customerorder/schedule-table.vue
@@ -222,11 +222,13 @@
        this.dataForm.customer = []
        const _that = this
        customer.forEach((item) => {
          console.log(item);
          const outPutBatchList = []
          _that.$set(item, 'outPutBatchList', outPutBatchList)
          customerList.push(item)
        })
        this.dataForm.customer = JSON.parse(JSON.stringify(customerList))
        console.log(this.dataForm.customer);
      })
    },
    dataFormSubmit() {
src/views/plan/manufacturingorder/productorder-form.vue
@@ -759,7 +759,7 @@
                    </el-table-column>
                  </el-table>
                </el-row>
                <el-row>
                <!-- <el-row>
                  <el-col :span="24"
                    ><div style="margin-top:5px;">
                      <span style="font-size:12px;">外协发料表</span>
@@ -851,7 +851,7 @@
                      </el-table-column>
                    </el-table>
                  </el-col>
                </el-row>
                </el-row> -->
              </el-tab-pane>
              <el-tab-pane label="客户订单" id="ta3" key="ta3" name="ta3">
                <CustomerOrder :orderId="dataForm.id" />
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('撤销成功')
src/views/quality/finishedProductInspection/finishedProduct-form.vue
@@ -8,7 +8,7 @@
            <h2 v-else>编辑-产品检验单</h2>
        </div>
        <div class="btn-group header-right">
            <el-button @click="addTestProject" type="primary" v-if="processInspectVo.id==null">生成检验项目</el-button>
            <el-button @click="addTestProject" v-if="processInspectVo.id==null">生成检验项目</el-button>
        </div>
    </div>
    <div class="page-main">
@@ -96,21 +96,22 @@
                        <el-table-column prop="required" label="标准值" width="240" ></el-table-column>
                        <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" label="检测值"
                            width="240" style="text-align: center;">
                            <template slot-scope="scope">
                                <el-col v-if="scope.row.itype === '1'">
                                    <el-tooltip v-if="scope.row.iname!=null" :disabled="scope.row.eId != null"
                                        class="item" effect="dark" content="请先选择设备!"
                                            placement="top-start">
                                            <el-input :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]"
                                                @blur="changeState(scope.row, scope.$index)" placeholder="请输入检测值"></el-input>
                                                @blur="changeState(scope.row, index)" placeholder="请输入检测值"></el-input>
                                            <span v-if="resultVal != null" v-text="scope.row.empiricalValueAddss[index]"></span>
                                    </el-tooltip>
                                </el-col>
                                <el-col v-else>
                                        <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null"
                                            class="item" effect="dark" content="请先选择设备!" placement="top-start">
                                            <el-select style="width: 100%;" @change="changeState(scope.row, scope.$index)" :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" placeholder="请选择">
                                                <el-option v-for="(item,i) in dataVal" :key="i" :label="item.label"
                                            <el-select style="width: 100%;" @change="changeState(scope.row, index)" :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" placeholder="请选择">
                                                <el-option v-for="item in dataVal" :key="item.value" :label="item.label"
                                                    :value="item.value">
                                                </el-option>
                                            </el-select>
@@ -133,7 +134,7 @@
                                </div>
                            </template>
                        </el-table-column>
                        <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index"
                        <el-table-column prop="inspectionValue"  :key="index"
                                label="检验描述" width="240" style="text-align: center;">
                                <template slot-scope="scope">
                                    <el-col v-if="scope.row.itype === '1'">
@@ -142,7 +143,7 @@
                                            <el-input :disabled="scope.row.eId == null"
                                                v-model="scope.row.inote"
                                                @blur="changeState(scope.row, scope.$index)" placeholder="请输入检验描述"></el-input>
                                                @blur="changeState(scope.row, index)" placeholder="请输入检验描述"></el-input>
                                            <span v-if="resultVal != null && processInspectVo.id != null"
                                                v-text="scope.row.inote"></span>
@@ -153,7 +154,7 @@
                                            class="item" effect="dark" content="请先选择设备!" placement="top-start">
                                            <el-input :disabled="scope.row.eId == null"
                                                v-model="scope.row.inote"
                                                @blur="changeState(scope.row, scope.$index)" placeholder="请输入检测值"></el-input>
                                                @blur="changeState(scope.row, index)" placeholder="请输入检测值"></el-input>
                                            <!-- <el-select style="width: 100%;" @change="changeState(scope.row, index)" :disabled="scope.row.eId == null" v-model="scope.row.inote" placeholder="请选择">
                                                <el-option v-for="item in dataVal" :key="item.value" :label="item.label"
                                                    :value="item.value">
@@ -275,6 +276,7 @@
        this.init()
    },
    methods: {
        submitSave(){
            let pro = 0
            this.inspectionItems.forEach(item => {
@@ -348,7 +350,7 @@
                    let userList = []
                    result.children.forEach(item=>{
                        item.iid = Math.random()
                        if(item.children){
                        if(item.children != undefined){
                            item.children.forEach(obj=>{
                                let arr = []
                                if(obj.userName){
@@ -358,9 +360,9 @@
                                    arr = obj.inspectionValue.split(",")
                                }
                                obj.empiricalValueAddss = arr
                                // if(obj.note){
                                //         snote=obj.inote
                                //     }
                                if(obj.note){
                                        snote=obj.inote
                                    }
                                if(arr.length > this.empiricalValueAdd){
                                    this.empiricalValueAdd = arr.length
                                }
@@ -388,15 +390,26 @@
            })
        },
        updateDevice(row,index){
            updateDeviceById({equiomentId:row.eId,fpid:row.iid}).then(res=>{
            let rowId=JSON.stringify(row.iid)
            console.log(row);
            updateDeviceById({deviceId:row.eId,fpid:row.iid}).then(res=>{
                this.inspectionItems.forEach(obj=>{
                    if(obj.children){
                        obj.children[index-1].inspectionValue = ''
                        obj.children[index-1].iresult = null
                        obj.children[index-1].empiricalValueAddss = []
                        obj.children[index-1].inote=''
                    obj.children.forEach(c=>{
                        if(c.iid==rowId){
                        c.inspectionValue = null
                        c.iresult = null
                        c.empiricalValueAddss = []
                        c.inote=''
                        }
                    })
                    }
                    // if(obj.children){
                    //     obj.children[index-1].inspectionValue = ''
                    //     obj.children[index-1].iresult = null
                    //     obj.children[index-1].empiricalValueAddss = []
                    //     obj.children[index-1].inote=''
                    // }
                })
            }).catch(error=>{
                console.log(error)
@@ -423,7 +436,7 @@
                    return
                }
                let obj = {
                    equiomentId: row.eId,
                    deviceId: row.eId,
                    fpid: row.iid,
                    inspectionValue: str,
                    note : row.inote
src/views/quality/finishedProductInspection/finishedProducter-print.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,1709 @@
<template>
    <div id="20230721_24921" align=center x:publishsource="Excel" style="margin-top: 20pt;">
        <table border=0 cellpadding=0 cellspacing=0 width=1194 style='border-collapse:collapse;table-layout:fixed;width:607pt'>
            <tr class=xl6524921 height=20 style='mso-height-source:userset;height:30.0pt'>
                <td  colspan=3 rowspan=2 height=40 width=122 style='width:150pt;border: 1pt solid windowtext'>
                    <span style='mso-ignore:vglayout;margin-left:12px;margin-top:14px;width:104px;height:42px'>
                        <img width=174 height=58 src="../../../../public/img/image001.jpg">
                    </span>
                </td>
                <td colspan=6 class=xl6624921 width=399 style='border-right:.5pt solid black;border-left:none;width:250pt'>记录名称:连接器及成品检验记录表</td>
                <td colspan=3 class=xl6624921 width=226 style='border-left:none;width: 150pt'>保存期限:25å¹´</td>
                <td rowspan=2 colspan=3 class=xl6824921 width=235 style='width:126pt' >版本号: A/0</td>
            </tr>
            <tr class=xl6524921 height=33 style='mso-height-source:userset;height:25.05pt'>
                <td colspan=6 height=33 class=xl6624921 style='border-right:.5pt solid black;
  height:25.05pt;border-left:none'>记录编号:ZTT/QR-8.6-05(A/0)</td>
                <td colspan=3  class=xl6624921 style='border-top:none;border-left:none'>归档部门:质量保证部</td>
                <td colspan=2  class=xl6824921 style='border-top:none'></td>
            </tr>
            <tr class=xl6524921 height=33 style='mso-height-source:userset;height:25.05pt'>
                <td colspan=16 height=33 class=xl7424921 width=1194 style='height:25.05pt;
  width:897pt'>连接器及成品检验记录表</td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2 height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>项目名称:</td>
                <td colspan=5 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'> 
            <p class="MsoNormal" align="center" style="text-align:center">
                <span lang="EN-US" style="font-family:&quot;Arial&quot;,sans-serif" v-text="deviceStr"></span></p>
            </td>
                <td   colspan=2  class=xl6924921 style='border-top:none;border-left:none'>检验依据:</td>
                <td colspan=7 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>
              </td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2 height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>产品名称:</td>
                <td  colspan=4 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>
            <p class="MsoNormal" align="center" style="text-align:center">
                <span lang="EN-US" style="font-family:&quot;Arial&quot;,sans-serif" v-text="product"></span></p>
             </td>
                <td  colspan=2 class=xl6924921 style='border-top:none;border-left:none'>产品型号:</td>
                <td colspan=3  class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>
             <p class="MsoNormal" align="center" style="text-align:center">
                <span lang="EN-US" style="font-family:&quot;Arial&quot;,sans-serif" v-text="typedata"></span></p>
            </td>
                <td  colspan=2 class=xl6924921 style='border-top:none;border-left:none'>产品数量:</td>
                <td  colspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>
                 <p class="MsoNormal" align="center" style="text-align:center">
                <span lang="EN-US" style="font-family:&quot;Arial&quot;,sans-serif" v-text="number"></span></p>
            </td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2 height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>检验内容:</td>
                <td  colspan=14 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>检验结果</td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=3 height=53 class=xl7624921 style='border-right:.5pt solid black;height:40.05pt'>
                    æ£€éªŒè¦æ±‚
                </td>
                <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;border-left:none'>
                    æ ‡å‡†å€¼
                </td>
                <td  colspan=1 v-for="a in 9" class=xl6624921 style='border-right:.5pt solid black; border-left:none'>
                    {{a>9?item:'0'+a}}
                </td>
                <td  colspan=2 class=xl6624921 style='border-right:.5pt solid black;border-left:none'>
                    åˆ¤å®š
                </td>
            </tr>
            <tbody v-for="(item,index) in prjdata" :key="index">
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td  rowspan=3 height=53 class=xl7624921 style='border-right:.5pt solid black; height:40.05pt'>
                    <p class="MsoNormal" align="center" style="text-align:center">
                        <span style="font-family:宋体">{{item.father}}</span>
                    </p>
                </td>
                <td  colspan=2 class=xl6624921 style='border-right:.5pt solid black;border-left:none'>
                    <span style="font-family:宋体">{{item.children[0].iname}}</span>
                </td>
                <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;border-left:none'>
                    <span style="font-family:宋体">{{item.children[0].required}}</span>
                </td>
                <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;border-left:none'>
                    <span style="font-family:宋体">{{item.children[0].inspectionValue}}</span>
                </td>
                <td  colspan=2  class=xl6624921 style='border-right:.5pt solid black; border-left:none'>
                    <p v-if="item.children[0].testState==1" class="MsoNormal" align="center" style="text-align:center">
                        <span lang="EN-US" style="font-family:&quot;Arial&quot;,sans-serif">合格</span></p>
                    <p v-else class="MsoNormal" align="center" style="text-align:center">
                        <span lang="EN-US" style="font-family:&quot;Arial&quot;,sans-serif">不合格</span></p>
                </td>
            </tr>
            <tr class=xl6524921 height=53 v-for="(el,index) in (item.children.slice(1))" :key="index" style='mso-height-source:userset;height:40.05pt'>
                <!-- <td  rowspan=3 height=53 class=xl7624921 style='border-right:.5pt solid black; height:40.05pt'>
                    <p class="MsoNormal" align="center" style="text-align:center">
                        <span style="font-family:宋体"></span>
                    </p>
                </td> -->
                <td  colspan=2 class=xl6624921 style='border-right:.5pt solid black;border-left:none'>
                    <span style="font-family:宋体">{{el.iname}}</span>
                </td>
                <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;border-left:none'>
                    <span style="font-family:宋体">{{el.required}}</span>
                </td>
                <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;border-left:none'>
                    <span style="font-family:宋体">{{el.inspectionValue}}</span>
                </td>
                <td  colspan=2  class=xl6624921 style='border-right:.5pt solid black; border-left:none'>
                    <p v-if="el.testState==1" class="MsoNormal" align="center" style="text-align:center">
                        <span lang="EN-US" style="font-family:&quot;Arial&quot;,sans-serif">合格</span></p>
                    <p v-else class="MsoNormal" align="center" style="text-align:center">
                        <span lang="EN-US" style="font-family:&quot;Arial&quot;,sans-serif">不合格</span></p>
                </td>
            </tr>
            </tbody>
            <!-- <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
  <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td  colspan=9 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            </tr> -->
            <!-- <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2 rowspan=2 height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>通断/线序</td>
                <td  colspan=7 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>1600VCD, lmin:  &nbsp;&nbsp;□合格 &nbsp;&nbsp; â–¡ä¸åˆæ ¼</td>
            <td  colspan=7 class=xl6624921 style='border-right:.5pt solid black;
border-left:none'>2200VCD, lmin:  &nbsp;&nbsp;□合格 &nbsp;&nbsp; â–¡ä¸åˆæ ¼</td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td  colspan=7 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>4500VCD, lmin:  &nbsp;&nbsp;□合格 &nbsp;&nbsp; â–¡ä¸åˆæ ¼</td>
            <td  colspan=7 class=xl6624921 style='border-right:.5pt solid black;
border-left:none'>00VCD, min:  &nbsp;&nbsp;□合格 &nbsp;&nbsp; â–¡ä¸åˆæ ¼</td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
            <td colspan=2 rowspan=4 height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'><p>通信</p><p>( 1 æˆ– 2)</p></td>
            <td  colspan=2 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>1</td>
            <td  colspan=9 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>符合TIA Cat 5e Channel标准:    â–¡åˆæ ¼    â–¡ä¸åˆæ ¼</td>
            <td  colspan=3 rowspan="4" class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'><p>□合格</p><p>□不合格</p></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td  colspan=2 rowspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>2</td>
            <td  colspan=9 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>千兆网通信测试速率≥800Mbps/百兆网通信测试速率≥80Mbps</td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品</td>
  <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品</td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2 rowspan=3 height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'><p>插入损耗≤</p> <p> _________dB</p><p>□1310,□1550</p></td>
            <td  colspan=2 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td>
  <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
  <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            <td  colspan=3 rowspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'><p>□合格</p><p>□不合格</p></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td  colspan=2 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td>
  <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td  colspan=2 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td>
  <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2 rowspan=3 height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'><p>回波损耗≤</p> <p> _________dB</p><p>□1310,□1550</p></td>
            <td  colspan=2 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td>
  <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
  <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            <td  colspan=3 rowspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'><p>□合格</p><p>□不合格</p></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td  colspan=2 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td>
  <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td  colspan=2 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td>
  <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>气密性</td>
            <td  colspan=14 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>插座(0.3MPa@60s):  &nbsp;&nbsp;  â–¡åˆæ ¼  &nbsp; &nbsp; â–¡ä¸åˆæ ¼</td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2 rowspan=3 height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>水密性</td>
            <td  colspan=7 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>15MPa保压10min, 2次  &nbsp;  â–¡åˆæ ¼  &nbsp;  â–¡ä¸åˆæ ¼</td>
            <td  colspan=7 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'> 36MPa保压2h, 2次  &nbsp;  â–¡åˆæ ¼  &nbsp;  â–¡ä¸åˆæ ¼</td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
            <td  colspan=7 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>36MPa保压10min, 2次  &nbsp;  â–¡åˆæ ¼  &nbsp;  â–¡ä¸åˆæ ¼</td>
            <td  colspan=7 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'> 75MPa保压2h, 2次  &nbsp;  â–¡åˆæ ¼  &nbsp;  â–¡ä¸åˆæ ¼</td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
            <td  colspan=7 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>MPa保压 min, 2次  &nbsp;  â–¡åˆæ ¼  &nbsp;  â–¡ä¸åˆæ ¼</td>
            <td  colspan=7 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'> MPa保压 h, 2次  &nbsp;  â–¡åˆæ ¼  &nbsp;  â–¡ä¸åˆæ ¼</td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>水压后通断</td>
            <td  colspan=14 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>  &nbsp;&nbsp;  â–¡åˆæ ¼  &nbsp; &nbsp;&nbsp;□不合格</td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2 rowspan=3 height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'><p>水压后绝缘电阻</p><p>(要求同上)</p></td>
            <td  colspan=2 rowspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'><p>测试值</p><p>结果最小值</p></td>
            <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td>
                <td  colspan=2 rowspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'><p>□合格</p><p>□不合格</p></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
            <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
            <td  colspan=9 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>外观检查</td>
            <td  colspan=14 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>  &nbsp;&nbsp;  â–¡åˆæ ¼  &nbsp; &nbsp;&nbsp;□不合格</td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2 rowspan=3 height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'><p>电缆长度(m)</p><p>或导线长度(cm)</p></td>
            <td  colspan=2 rowspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'><p>测试结果</p><p>偏差最大值</p></td>
            <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td>
                <td  colspan=2 rowspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'><p>□合格</p><p>□不合格</p></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
            <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
            <td  colspan=9 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2 rowspan=3 height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'><p>插针高低落差</p><p>≤0.6mm</p></td>
            <td  colspan=2 rowspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'><p>测试结果</p><p>偏差最大值</p></td>
            <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>产品_</td>
                <td  colspan=2 rowspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'><p>□合格</p><p>□不合格</p></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
            <td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td><td  colspan=1 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
            <td  colspan=9 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>电缆弯曲半径</td>
            <td  colspan=2 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'> è¦æ±‚</td>
            <td  colspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            <td  colspan=2 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'> å®žæµ‹</td>
            <td  colspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'></td>
            <td  colspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>  &nbsp; â–¡åˆæ ¼ &nbsp;□不合格</td>
            </tr>
              <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=16  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>发货</td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>产品型号核对</td>
            <td colspan=10  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>与装箱清单型号一致:</td>
            <td  colspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>  &nbsp; â–¡åˆæ ¼ &nbsp;□不合格</td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>产品数量清点</td>
            <td colspan=10  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>与装箱清单数量一致:</td>
            <td  colspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>  &nbsp; â–¡åˆæ ¼ &nbsp;□不合格</td>
            </tr>
            <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>产品唛头检查</td>
            <td colspan=10  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>与装箱清单内容一致,粘贴与显眼位置,没有损坏:</td>
            <td  colspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>  &nbsp; â–¡åˆæ ¼ &nbsp;□不合格</td>
            </tr>
            <tr  class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
                <td colspan=2 rowspan=6 height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>产品包装检查</td>
            <td colspan=10  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>同一型号产品单独包装:</td>
            <td  colspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>  &nbsp; â–¡åˆæ ¼ &nbsp;□不合格</td>
            </tr>
            <tr  class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
            <td colspan=10  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>连帽颜色与文件要求一致</td>
            <td  colspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>  &nbsp; â–¡åˆæ ¼ &nbsp;□不合格</td>
            </tr>
           <tr  class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
            <td colspan=10  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>纸箱使用透明胶带或拉伸膜裹紧</td>
            <td  colspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>  &nbsp; â–¡åˆæ ¼ &nbsp;□不合格</td>
            </tr><tr  class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
            <td colspan=10  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'>木箱内部必须垫好泡沫纸,钉紧木箱,钢带扎紧</td>
            <td  colspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>  &nbsp; â–¡åˆæ ¼ &nbsp;□不合格</td>
            </tr><tr  class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
            <td colspan=10  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'><p>使用珍珠棉板固定插头、插座位置,固定插座尾线位置</p>  <p>用拉神膜将产品固定在珍珠面板内</p></td>
            <td  colspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>  &nbsp; â–¡åˆæ ¼ &nbsp;□不合格</td>
            </tr>
            <tr  class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
            <td colspan=10  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt'><p>发出产品不得出现任何形式的供应商信息,包括缆盘上的标签、电缆</p><p>上供应商名称等</p></td>
            <td  colspan=3 class=xl6624921 style='border-right:.5pt solid black;
  border-left:none'>  &nbsp; â–¡åˆæ ¼ &nbsp;□不合格</td> -->
            <!-- </tr> -->
            <tr  class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'>
            <td colspan=8  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt;text-align: left;'><p>&nbsp;检验/时间:</p></td>
            <td colspan=8  height=53 class=xl7624921 style='border-right:.5pt solid black;
  height:40.05pt;text-align: left;'><p> &nbsp;审批:</p></td>
            </tr>
            <tr height=0 style='display:none'>
                <td width=64 style='width:48pt'></td>
                <td width=58 style='width:44pt'></td>
                <td width=137 style='width:103pt'></td>
                <td width=262 style='width:197pt'></td>
                <td width=212 style='width:159pt'></td>
                <td width=226 style='width:170pt'></td>
                <td width=235 style='width:176pt'></td>
            </tr>
        </table>
    </div>
</template>
<script>
export default {
    props:{
        formData:{
            type: Object,
            default:()=>{
                return {}
            }
        }
    },
    data(){
        return{
            tableData: null,
            projectList: [],
            deviceStr: null,
            product:null,
            number:null,
            typedata:null,
            childrenData: [],
            typedata:null,
            num:null,
            prjdata:[],
        }
    },
    created(){
        this.tableData = this.formData
        console.log("============",this.tableData)
        this.initData()
        // this.initProjectList(this.projectList)
    },
    methods:{
        initData(){
            this.deviceStr = this.tableData.projectName
            this.product = this.tableData.material
            this.number = this.tableData.quantity
            this.typedata = this.tableData.specs
            this.tableData.children.forEach(el =>{
                this.prjdata.push(el)
                console.log("-----",this.prjdata);
             })
        },
    },
    watch:{
        formData(newVal){
            if(newVal){
                this.projectList = []
                console.log(newVal)
                this.tableData = newVal
                this.initData()
                // this.initProjectList(this.projectList)
            }
        }
    },
}
</script>
<style scoped>
table{
    mso-displayed-decimal-separator: "\.";
    mso-displayed-thousand-separator: "\,";
}
.xl6524921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 10.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: general;
    vertical-align: middle;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl6624921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl6724921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl6824921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl6924921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 700;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl7024921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 700;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl7124921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: general;
    vertical-align: top;
    border: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl7224921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: top;
    border: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl7324921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: .5pt solid windowtext;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl7424921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 14.0pt;
    font-weight: 700;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl7524921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 14.0pt;
    font-weight: 700;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl7624921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 700;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl7724921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 700;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: .5pt solid windowtext;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl7824921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: left;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl7924921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: left;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl8024921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: left;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: .5pt solid windowtext;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl8124921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl8224921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: general;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: .5pt solid windowtext;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl8324921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl8424921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: .5pt solid windowtext;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl8524921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: left;
    vertical-align: middle;
    border: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl8624921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: left;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl8724921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: left;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl8824921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: left;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: .5pt solid windowtext;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl8924921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: left;
    vertical-align: middle;
    border: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl9024921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: left;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: none;
    border-left: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl9124921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: left;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: none;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl9224921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: left;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: .5pt solid windowtext;
    border-bottom: none;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl9324921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 700;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl9424921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 700;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl9524921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 700;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl9624921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 700;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: .5pt solid windowtext;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl9724921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: top;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl9824921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: top;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl9924921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: top;
    border-top: .5pt solid windowtext;
    border-right: .5pt solid windowtext;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl10024921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: general;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl10124921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: general;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl10224921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: general;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl10324921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 700;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: left;
    vertical-align: middle;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl10424921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: none;
    border-left: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl10524921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: .5pt solid windowtext;
    border-bottom: none;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl10624921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: none;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl10724921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: none;
    border-right: .5pt solid windowtext;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: nowrap;
}
.xl10824921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: none;
    border-bottom: none;
    border-left: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl10924921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: .5pt solid windowtext;
    border-right: .5pt solid windowtext;
    border-bottom: none;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl11024921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: none;
    border-right: none;
    border-bottom: none;
    border-left: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl11124921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: none;
    border-right: .5pt solid windowtext;
    border-bottom: none;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl11224921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: none;
    border-right: none;
    border-bottom: .5pt solid windowtext;
    border-left: .5pt solid windowtext;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
.xl11324921 {
    padding: 0px;
    mso-ignore: padding;
    color: black;
    font-size: 12.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-number-format: General;
    text-align: center;
    vertical-align: middle;
    border-top: none;
    border-right: .5pt solid windowtext;
    border-bottom: .5pt solid windowtext;
    border-left: none;
    mso-background-source: auto;
    mso-pattern: auto;
    white-space: normal;
}
ruby {
    ruby-align: left;
}
rt {
    color: windowtext;
    font-size: 9.0pt;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    font-family: å®‹ä½“;
    mso-generic-font-family: auto;
    mso-font-charset: 134;
    mso-char-type: none;
}
</style>
src/views/quality/finishedProductInspection/index.vue
@@ -16,7 +16,7 @@
            top="10vh"
            title="打印预览"
            :visible.sync="printDialogVisible"
            width="65%">
            width="70%">
            <div style="width:100%;height: 60vh;overflow-y: scroll;">
                <printTemplate id="printRaw" :formData="printFormData"></printTemplate>
            </div>
@@ -35,7 +35,7 @@
    import finishedProductInspectionAdd from './finishedProduct-form'
    import { page,deletePro,exportExaminationProducts,queryById } from '@/api/quality/finishedProduct'
    import { transform } from '@/util/fileTransform'
    import printTemplate from './finishedProduct-print.vue'
    import printTemplate from './finishedProducter-print.vue'
    import PrintJS from 'print-js'
    export default {
        components: {
@@ -210,17 +210,7 @@
        }
    },
        methods: {
            //查看报告按钮
            // showPrint(row){
            //     queryById(row.id).then(res=>{
            //     console.log(res);
            //     this.printFormData = res.data.data
            //     this.printDialogVisible = true
            // })
            // .catch(error=>{
            //     console.log(error);
            // })
            // },
            //打印按钮
            printFun() {
            this.printDialogVisible = false;
@@ -234,7 +224,9 @@
                    orientation: 'portrait'
                });
            },
            //查看报告按钮
            showPrint(row){
                console.log('----------');
                queryById(row.id).then(res=>{
                    this.printFormData = res.data.data
                    this.printDialogVisible = true
src/views/quality/processInspect/processInspect-form.vue
@@ -400,15 +400,17 @@
            })
        },
        updateDevice(row, index) {
            let rowId=JSON.stringify(row.iid)
            updateDeviceBypppId({ deviceId: row.eId, ppid: row.iid }).then(res => {
                this.inspectionItems.forEach(obj => {
                    console.log(obj);
                    if (obj.children) {
                        obj.children[index - 1].inspectionValue = null
                        obj.children[index - 1].iresult = null
                        obj.children[index - 1].empiricalValueAddss = []
                        obj.children[index-1].inote=''
                    }
                    obj.children.forEach(c=>{
                        if(c.iid==rowId){
                        c.inspectionValue = null
                        c.iresult = null
                        c.empiricalValueAddss = []
                        c.inote=''
                        }
                    })
                })
            }).catch(error => {
                console.log(error)
src/views/quality/rawMaterial/index.vue
@@ -332,6 +332,7 @@
        },
        // æ–°å¢ž / ä¿®æ”¹
        addOrUpdateHandle(row) {
            console.log(row);
            this.$router.push({
                name: 'rawMaterialForm',
                query: { 
src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -7,7 +7,7 @@
        <h2 v-else>编辑-原材料检验</h2>
      </div>
      <div class="btn-group header-right">
        <el-button type="primary" @click="save()" v-if="this.dataForm.id==null">保存</el-button>
        <el-button @click="save()" v-if="this.dataForm.id==null">保存</el-button>
      </div>
    </div>
    <div class="page-main">
@@ -39,7 +39,7 @@
            </el-col>
            <el-col :span="6">
                <el-form-item prop="formTime" label="来料日期">
                <el-date-picker
                <el-date-picker
                    style="width:100%"
                    v-model="dataForm.formTime"
                    type="datetime"
@@ -98,7 +98,7 @@
      </div>
      <div class="rawMaterial-detail">
        <el-row style="width:100%;z-index: 10;height:50px;">
            <el-col :span="18">检验项目</el-col>
@@ -114,16 +114,16 @@
        </el-row>
        <el-row style="width:100%;">
            <el-col :span="24">
                <el-table
                :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}"
                <el-table
                :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}"
                :cell-style="{textAlign:'center'}"
                 ref="table"
                :data="list"
                border
                :data="list"
                border
                style="width: 100%;"
                 height="400"
                  row-key="iid"
                  default-expand-all
                  row-key="iid"
                  default-expand-all
                  :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
                  <el-table-column type="index" label="序号" width="60">
                  </el-table-column>
@@ -146,7 +146,7 @@
                      <el-input :disabled="dataForm.id != null" v-model="scope.row.unit" placeholder="请输入单位"></el-input>
                    </div>
                    </template>
                  </el-table-column>
                  <el-table-column prop="required" label="标准值" width="260">
                    <template slot-scope="scope">
@@ -160,7 +160,7 @@
                    <template slot-scope="scope">
                      <div v-if="!scope.row.children">
                      <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="请先选择设备!" placement="top-start">
                          <el-select style="width:100%" allow-create filterable default-first-option
                          <el-select   @blur="changeState(scope.row, index)" style="width:100%" allow-create filterable default-first-option
                          :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&resultVal!=null)"
                          v-model="scope.row.testValueList[index]"
                          placeholder="请输入或选择检测值" @change="updateTestValue(scope.row,scope.$index)">
@@ -171,12 +171,16 @@
                      </div>
                    </template>
                  </el-table-column>
                  <el-table-column prop="deviceName" label="试验设备" min-width="260">
                    <template slot-scope="scope">
                      <div v-if="!scope.row.children">
                        <el-select :disabled="dataForm!=null && resultVal!=null" style="width:100%"
                        <el-select :disabled="dataForm!=null && resultVal!=null" style="width:100%"
                        v-model="scope.row.deviceId" filterable @change="updateDevice(scope.row,scope.$index)">
                            <el-option v-for="(item,index) in deviceList"
                            <el-option v-for="(item,index) in deviceList"
                            :key="index" :value="item.id" :label="item.code +'-'+ item.name"></el-option>
                        </el-select>
                      </div>
@@ -185,7 +189,7 @@
                  <el-table-column prop="note" label="检验描述" width="260" >
                    <template slot-scope="scope">
                      <div v-if="!scope.row.children">
                        <el-input :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.note" placeholder="检验描述"></el-input>
                        <el-input    @blur="changeState(scope.row, note)"  :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.note" placeholder="检验描述"></el-input>
                      </div>
                    </template>
                  </el-table-column>
@@ -211,7 +215,7 @@
            </el-col>
        </el-row>
      </div>
      <div class="rawMaterial-result">
        <el-row>
@@ -220,7 +224,7 @@
        <el-row style="width:100%">
          <el-col :span="24">
            <el-table border height="90" :data="conclusionTable" ref="conclusion" v-model="conclusion"
            :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}"
            :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}"
            :cell-style="{textAlign:'center'}">
                <el-table-column prop="code" label="物料编号"></el-table-column>
                <el-table-column prop="name" label="物料名称"></el-table-column>
@@ -261,7 +265,7 @@
</template>
<script>
import {
import {
  selectDevice,
  addRawInspects,
  getObj,
@@ -381,17 +385,40 @@
        }
        this.showPart = true
      },
      updateDevice(row,index){
        if(this.dataForm.id != null){
          updateDeviceById({deviceId:row.deviceId,rpId:row.rpId}).then(res=>{
            this.list[index].testValue = ''
            this.list[index].testState = null
            this.list[index].testValueList = []
          }).catch(error=>{
            console.log(error)
          })
        }
      },
      updateDevice(row, index) {
            let rowId=JSON.stringify(row.rpId)
            updateDeviceById({ deviceId: row.deviceId, rpId: row.rpId }).then(res => {
                this.list.forEach(obj => {
                    obj.children.forEach(c=>{
                        if(c.rpId==rowId){
                        c.testValue = ''
                        c.testState = null
                        c.testValueList = []
                        c.note=''
                        }
                    })
                })
            }).catch(error => {
                console.log(error)
            })
        },
      // updateDevice(row,index){
      //   if(this.dataForm.id != null){
      //     updateDeviceById({deviceId:row.deviceId,rpId:row.rpId}).then(res=>{
      //       this.inspectionItems.forEach(obj => {
      //       this.list[index-1].testValue = ''
      //       this.list[index-1].testState = null
      //       this.list[index-1].testValueList = []
      //       this.list[index-1].note = ''
      //     })
      //     }).catch(error=>{
      //       console.log(error)
      //     })
      //   }
      // },
      checkTestState(){
          let resultVal = '1'
          this.list.forEach(item=>{
@@ -481,10 +508,10 @@
              name: null,
              unit: null,
              userName: null,
              testValue: null,
              testValue: '',
              testValueList: [],
              note: null,
              testState: null
              note: '',
              testState: ''
            })
          this.list.push(ele)
        }
@@ -500,9 +527,12 @@
          }
        }
      },
      updateTestValue(row,index){
        console.log(row);
        if(row.rpId == null){
          return
        }
        let val = row.testValueList.join(",");
@@ -523,6 +553,8 @@
          this.$message.error(error)
        })
      },
      init(){
        if(this.dataForm.id){
          getObj(this.dataForm.id).then(res=>{
@@ -553,9 +585,11 @@
                        userNameList.push(obj.userName)
                      }
                      let arr= []
                      if(obj.testValue){
                        arr = obj.testValue.split(",")
                      }
                      let o = {
                        deviceId: obj.deviceId,
                        deviceName: obj.deviceName,
@@ -574,7 +608,7 @@
                    })
                    this.list.push(ele)
                }
            })
            })
            this.conclusionTable = [{
              code: data.code,
              name: data.name,
@@ -588,6 +622,45 @@
          this.conclusionTable = []
        }
      },
      changeState(row, index) {
            console.log(row)
            if (row.rpId != null && row.rpId != '') {
              let val = ""
                row.testValueList.forEach(e => {
                  val += e + ","
                })
                // if (note === undefined || note === '' || note === null) {
                //     return
                // }
                console.log(val)
                val = val.slice(0, -1);
                if (val === undefined || val === '' || val === null) {
                    return
                }
                let obj = {
                  deviceId: row.deviceId,
                rpId: row.rpId,
                testValue: val,
                note: row.note
                }
                console.log(obj)
                updateRawInsProduct(obj).then(res => {
                    if (res.data.code == 0) {
                        this.$message.success("更新成功")
                    } else {
                        this.$message.error("更新失败")
                    }
                    this.init()
                })
            }
        },
      // åˆ é™¤å­é¡¹ç›®
      delChildren(row,index,isParent) {
        if(isParent){
@@ -625,7 +698,21 @@
        row.children.push(obj)
      },
      save(){
        let data = this.dataForm
        console.log('--------',data);
        console.log("-----",this.list);
        this.list.forEach(item=>{
          item.children.forEach(c=>{
            let arr=c.testValueList
            let val=''
            arr.forEach(a=>{
              val+=a+","
            })
            let end=val.substring(0,val.length-1)
            c.testValue=end
          })
        })
        data.rawInsProducts = this.list
        addRawInspects(data).then(res=>{
            this.$message.success("保存成功")
src/views/technology/operation/operation-form.vue
@@ -188,7 +188,7 @@
      <div class="operation-detail">
        <el-tabs type="card" style="width: 100%;height: 100%">
          <el-tab-pane label="基础" style="height: 100%">
          <!-- <el-tab-pane label="基础" style="height: 100%">
            <el-card class="operation-capacity" header="工序能力">
              <el-transfer
                filterable
@@ -226,7 +226,7 @@
                </div>
              </el-upload>
            </el-card>
          </el-tab-pane>
          </el-tab-pane> -->
          <el-tab-pane label="参数" style="height: 100%">
            <el-card class="operation-capacity" header="工序参数集模板">
              <div slot="header">
vue.config.js
@@ -3,8 +3,10 @@
 * 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://192.168.0.60:9999'
// const url = 'http://ztt-gateway:9999'
const localUrl = 'http://localhost:8089'
//const localUrl = 'http://10.88.15.95:8089'
const CompressionWebpackPlugin = require('compression-webpack-plugin')