lxp
2024-08-07 ab82ddf55b5c41d495d4a62d849d88d464e5f256
src/components/do/b1-ins-order/add.vue
@@ -429,9 +429,9 @@
          <el-table-column prop="proNum" label="待检项数量" width="105" align="center"></el-table-column>
        </el-table>
        <el-table class="el-table" ref="productTable" :data="productList" height="380px" tooltip-effect="dark" border
          @selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect" :row-key="rowKey"
          @selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect"
          :row-class-name="tableRowClassName" v-loading="getProductLoad" @select-all="handleAll">
          <el-table-column type="selection" width="65" :selectable="selectable" v-if="active==1" :reserve-selection="true"></el-table-column>
          <el-table-column type="selection" width="65" :selectable="selectable" v-if="active==1"></el-table-column>
          <el-table-column prop="inspectionItemClass" v-if="PROJECT === '装备电缆'" label="检验项分类" min-width="140" show-overflow-tooltip></el-table-column>
          <el-table-column prop="inspectionItemClassEn" v-if="PROJECT === '装备电缆'" label="检验项分类(EN)" min-width="140" show-overflow-tooltip></el-table-column>
          <el-table-column prop="inspectionItem" label="检验项" min-width="140" show-overflow-tooltip>
@@ -623,8 +623,11 @@
    <equipConfig :currentId="currentId" v-if="equipConfigShow" :active="active" />
    <cableConfig v-if="cableConfigShow" :active="active" />
<!--    单选特殊值处理框-->
    <el-dialog title="检测到特殊项,请作出以下选择" :visible.sync="bsm1Dia" min-width="400px" :show-close="false"
      :before-close="beforeClose">
    <el-dialog title="检测到特殊项,请作出以下选择" :visible.sync="bsm1Dia"
               :close-on-press-escape="false"
               :close-on-click-modal="false"
               min-width="400px" :show-close="false"
               :before-close="beforeClose">
      <div class="body" style="max-height: 60vh;">
        <el-row v-if="bsm1">
          <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;">
@@ -683,9 +686,16 @@
          </el-col>
        </el-row> -->
      </div>
      <span slot="footer" class="dialog-footer">
        <el-row>
          <el-button type="primary" @click="save2" :loading="saveLoad">确 定</el-button>
        </el-row>
      </span>
    </el-dialog>
<!--    全选特殊值处理框-->
    <el-dialog title="检测到特殊项,请作出以下选择" :visible.sync="bsm1DiaAll" min-width="400px" :show-close="false"
                :close-on-press-escape="false"
               :close-on-click-modal="false"
               :before-close="beforeClose">
      <div class="body" style="max-height: 60vh;" v-for="(item, index) in bsm1DiaList" :key="index">
        <el-row v-if="item.bsm1">
@@ -737,8 +747,15 @@
          </el-col>
        </el-row>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-row>
          <el-button type="primary" @click="save1" :loading="saveLoad">确 定</el-button>
        </el-row>
      </span>
    </el-dialog>
    <el-dialog title="特殊值填写" :visible.sync="bsm3Dia" width="800px" :show-close="false">
    <el-dialog title="特殊值填写" :visible.sync="bsm3Dia"
               :close-on-click-modal="false" :close-on-press-escape="false"
               width="800px" :show-close="false">
      <el-table
      :data="editTable"
      style="width: 100%">
@@ -777,7 +794,9 @@
        </el-row>
      </span>
    </el-dialog>
    <el-dialog title="温度循环要求填写" :visible.sync="circulateShow" width="900px" :before-close="beforeCirculateShowClose" :show-close="false">
    <el-dialog title="温度循环要求填写" :visible.sync="circulateShow" width="900px"
               :close-on-click-modal="false" :close-on-press-escape="false"
               :before-close="beforeCirculateShowClose" :show-close="false">
      <div class="search" style="display: flex;background: transparent;">
        <div class="search_thing">
          <div class="search_label">保温时间:</div>
@@ -862,7 +881,9 @@
      </span>
    </el-dialog>
    <!-- 电力试验室---温升试验/热循环 -->
    <el-dialog :title="temperatureTitle" :visible.sync="temperatureShow" width="260px" :before-close="temperatureShowClose" :show-close="false">
    <el-dialog :title="temperatureTitle" :visible.sync="temperatureShow"
               :close-on-click-modal="false" :close-on-press-escape="false"
               width="260px" :before-close="temperatureShowClose" :show-close="false">
      <div>
        <div v-if="isShowInput" style="margin-bottom: 6px">
          <span>循环次数:</span>
@@ -1219,6 +1240,9 @@
          }
        })
        this.circulateShow = false
        this.changeProductList0()
        this.currentMethod.insProduct = this.productList0
        this.getProNum()
      },
      spliceTemperatureTest () {
        if (this.temperatureTest.length === 0) {
@@ -1375,6 +1399,9 @@
            a.manHour = obj.manHour
            a.price = obj.price
            a.tell = obj.tell
          }
          if(a.state == 0&&a.bsmRow){
            a = this.HaveJson(a.bsmRow)
          }
        })
      },
@@ -1821,7 +1848,8 @@
            state,
            id: this.currentId,
            companyId:this.addObj.companyId,
            laboratory:this.addObj.laboratory
            laboratory:this.addObj.laboratory,
            company: this.addObj.company
          }, {
            headers: {
              'Content-Type': 'application/json'
@@ -2058,9 +2086,6 @@
        })
        this.$refs.sampleTable.doLayout()
      },
      rowKey (row) {
      return row.id;
    },
      selectProduct(val) {
        this.productListSelected = val
        this.productIds = []
@@ -2085,7 +2110,11 @@
        this.productList0 = JSON.parse(JSON.stringify(this.productList))
        setTimeout(() => {
          this.productList.forEach(a => {
            if (a.state == 1) this.toggleSelection(a)
            if (a.state == 1) {
              this.toggleSelection(a)
            }else{
              this.$refs.productTable.toggleRowSelection(a, false);
            }
          })
        }, 200)
      },
@@ -2329,9 +2358,9 @@
        }
        this.getProductLoad = true
        let selectTreeList = this.selectTree.split(" - ")
        selectTreeList[selectTreeList.length - 1] = this.addObj.model
        this.addObj.model&&(selectTreeList[selectTreeList.length - 1] = this.addObj.model)
        this.$axios.post(this.$api.standardTree.selectStandardProductList, {
          model: this.addObj.model + '-' + row.modelNum,
          model: (this.addObj.model?this.addObj.model:row.model) + '-' + row.modelNum,
          standardMethodListId: val,
          factory: selectTreeList.join(" - "),
        }, {
@@ -2437,6 +2466,7 @@
          })
        } else {
          this.productList.map(m => {
            console.log('m----', m)
            m.state = 0
            return m
          })
@@ -2697,6 +2727,72 @@
        this.changeProductList0()
        this.currentMethod.insProduct = this.productList0
      },
      save1 () {
        if (this.bsm1DiaList.length > 0) {
          this.bsm1DiaList.forEach(item => {
            if (!item.bsm1Val) {
              throw this.$message.error('特殊项目必须处理')
            }
          })
        }
        if (this.bsm2) {
          if (this.bsm2Val2.length === 0) {
            this.$message.error('特殊项目必须处理')
            return
          }
          let set = new Set()
          for (let i = 0; i < this.bsm2Val2.length; i++) {
            let num0 = set.size
            set.add(JSON.stringify(this.bsm2Val2[i]))
            let num1 = set.size
            if (num1 == num0) {
              this.$message.error('关联项目不能重复')
              return
            }
            set.add(JSON.stringify(this.bsm2Val2[i].reverse()))
            let num2 = set.size
            if (num1 == num2) {
              this.$message.error('关联项目不能重复')
              return
            }
          }
          this.isBsm2Val2 = true;
        }
        this.bsm1DiaAll = false
      },
      save2 () {
        if (this.bsm1DiaList.length > 0) {
          this.bsm1DiaList.forEach(item => {
            if (!item.bsm1Val) {
              throw this.$message.error('特殊项目必须处理')
            }
          })
        }
        if (this.bsm2) {
          if (this.bsm2Val2.length === 0) {
            this.$message.error('特殊项目必须处理')
            return
          }
          let set = new Set()
          for (let i = 0; i < this.bsm2Val2.length; i++) {
            let num0 = set.size
            set.add(JSON.stringify(this.bsm2Val2[i]))
            let num1 = set.size
            if (num1 == num0) {
              this.$message.error('关联项目不能重复')
              return
            }
            set.add(JSON.stringify(this.bsm2Val2[i].reverse()))
            let num2 = set.size
            if (num1 == num2) {
              this.$message.error('关联项目不能重复')
              return
            }
          }
          this.isBsm2Val2 = true;
        }
        this.bsm1Dia = false
      },
      beforeClose(done) {
        // if (this.bsm1) {
        //   if (this.bsm1Val === null || this.bsm1Val === '') {
@@ -2768,9 +2864,8 @@
      getTotal() {
        this.totalArr = []
        this.total = 0;
        // console.log(this.sampleList)
        this.sampleList.forEach(item => {
          if (item.insProduct && item.insProduct.length > 0) {
          if (item.insProduct  && item.insProduct.length > 0) {
            item.insProduct.forEach(a => {
              this.totalArr.push(a)
            })