value
2024-06-12 7e61ac3148a1988fe1ea0e3b4426543766f2fe37
src/components/do/b1-ins-order/add.vue
@@ -100,7 +100,7 @@
<template>
  <div class="ins_order_add">
    <div v-show="!configShow&&!equipConfigShow">
    <div v-show="!configShow&&!equipConfigShow&&!cableConfigShow">
      <el-row class="title">
        <el-col :span="6" style="padding-left: 20px;">委托单信息&nbsp;&nbsp;&nbsp;总价:<span
            style="color: #3A7BFA">¥{{total}}</span></el-col>
@@ -116,8 +116,10 @@
          <el-button size="medium" @click="templateDia=true" v-show="active==1">
            <span style="color: #3A7BFA;">保存模板</span>
          </el-button>
          <el-button size="medium" type="primary" @click="openCableConfig"
            v-if="active==1&&PROJECT=='装备电缆'">电缆配置</el-button>
          <el-button size="medium" type="primary" @click="openEquipConfig"
            v-if="PROJECT==='装备电缆' && active==1">电缆配置</el-button>
            v-if="active==1">子样品配置</el-button>
          <el-button size="medium" type="primary" @click="openConfig"
            v-if="addObj.sampleType==='光缆'">光纤配置</el-button>
          <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-show="active==1">提交</el-button>
@@ -132,7 +134,7 @@
        </el-col>
      </el-row>
    </div>
    <div class="search" v-show="!configShow&&!equipConfigShow">
    <div class="search" v-show="!configShow&&!equipConfigShow&&!cableConfigShow">
      <el-row>
        <el-col class="search_thing" :span="6">
          <div class="search_label">委托编号:</div>
@@ -300,7 +302,7 @@
        </el-col>
      </el-row>
    </div>
    <div v-show="!configShow&&!equipConfigShow">
    <div v-show="!configShow&&!equipConfigShow&&!cableConfigShow">
      <el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" height="250px" tooltip-effect="dark"
        border @selection-change="selectSample" highlight-current-row @row-click="rowClick" style="margin-top: 10px;">
        <el-table-column type="selection" width="60" :selectable="selectable" v-if="active==1"></el-table-column>
@@ -489,6 +491,7 @@
     v-if="configShow" :active="active" />
     <equipConfig :currentId="currentId"
     v-if="equipConfigShow" :active="active"/>
     <cableConfig v-if="cableConfigShow" :active="active" />
    <el-dialog title="检测到特殊项,请作出以下选择" :visible.sync="bsm1Dia" width="500px" :show-close="false" :before-close="beforeClose">
      <div class="body" style="max-height: 60vh;">
        <el-row v-if="bsm1">
@@ -506,6 +509,15 @@
              <el-radio-group v-model="bsm1Val" @input="upBsm1">
                <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai"
                  :label="a">{{JSON.parse(bsmRow.ask)[ai]}}</el-radio>
              </el-radio-group>
            </div>
          </el-col>
          <el-col class="search_thing" :span="22">
            <div class="search_label">单价:</div>
            <div class="search_input" v-show="bsm1Val!==null&&bsm1Val!==''">
              <el-radio-group v-model="bsm1Val" @input="upBsm1">
                <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai"
                  :label="a">{{JSON.parse(bsmRow.price)[ai]}}</el-radio>
              </el-radio-group>
            </div>
          </el-col>
@@ -556,11 +568,13 @@
  import ValueTable from '../../tool/value-table.vue'
  import fiberOpticConfig from './fiberoptic-config.vue'
  import equipConfig from './equip-config.vue'
  import cableConfig from './cable-config.vue'
  export default {
    components: {
      ValueTable,
      fiberOpticConfig,
      equipConfig
      equipConfig,
      cableConfig
    },
    props: {
      active: {
@@ -690,6 +704,7 @@
        bsm1Val: null,
        bsm1Dia: false,
        equipConfigShow: false,
        cableConfigShow:false,
        bsm2: false,
        bsm2Val: null,
        bsm2Dia: false,
@@ -915,6 +930,7 @@
          }
          this.saveLoad = true
          this.$axios.post(this.$api.insOrder.addInsOrder, {
            str: JSON.stringify({
            insOrder: this.addObj,
            list: JSON.stringify(sampleList.map(a => {
              a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ? '' : (
@@ -922,10 +938,7 @@
              return a
            })),
            pairing: JSON.stringify(this.bsm2Val2)
          }, {
            headers: {
              'Content-Type': 'application/json'
            }
          })
          }).then(res => {
            this.saveLoad = false
            if (res.code == 201) return
@@ -1112,6 +1125,7 @@
      addStandardTree() {
        if (this.selectTree == null) return
        this.sampleList = []
        this.productList = []
        for (var i = 0; i < this.addObj.sampleNum; i++) {
          this.sample.joinName = null
          this.sample.joinModel = null
@@ -1194,8 +1208,13 @@
            this.computationalPairing(this.sampleList.length)
            this.bsm2Val2 = this.HaveJson(this.bsm2Val3)
          }
        } else if (row.bsm === '1' && row.inspectionItem === '熔接损耗' && row.state === 1) {
        } else if (row.bsm === '1' && row.inspectionItem === '熔接损耗' && row.state === 1 && this.sampleList.length > 1) {
          this.bsm2 = false
        } else if(row.bsm === '1' && row.inspectionItem === '熔接损耗' && this.sampleList.length < 2){
          this.$message.error('样品数量不足够进行配对操作')
          row.state = row.state == 1 ? 0 : 1
          this.$refs.productTable.toggleRowSelection(row, false)
          return
        }
        this.sampleList.map(item => {
          if (this.sampleIds.indexOf(item.id) > -1) {
@@ -1438,8 +1457,12 @@
              this.computationalPairing(this.sampleList.length)
              this.bsm2Val2 = this.HaveJson(this.bsm2Val3)
            }
          } else if (p.bsm === '1' && p.inspectionItem === '熔接损耗' && p.state === 1) {
          } else if (p.bsm === '1' && p.inspectionItem === '熔接损耗' && p.state === 1 && this.sampleList.length > 1) {
            this.bsm2 = false
          } else if(p.bsm === '1' && p.inspectionItem === '熔接损耗' && this.sampleList.length < 2){
            this.$message.error('样品数量不足够进行配对操作')
            this.$refs.productTable.clearSelection()
            return
          }
        })
        if (e.length > 0) {
@@ -1565,6 +1588,35 @@
          // })
        }
      },
      openCableConfig(){
        if (this.active === 1) {
          if (this.sampleIds.length === 0) {
            this.$message.error("未选择样品")
            return
          }
          this.cableConfigShow = true
        } else {
          if (this.sampleId === null) {
            this.$message.error('未选中样品')
            return
          }
          // this.$axios.post(this.$api.insBushing.selectBushingBySampleId, {
          //   sampleId: this.sampleId
          // }).then(res => {
          //   if (res.data.length === 0) {
          //     this.$message.error('该样品没有配置光纤')
          //     return
          //   }
          //   for (var i in this.sampleList) {
          //     if (this.sampleList[i].id = this.sampleId) {
          //       this.sampleList[i].bushing = res.data
          //       break
          //     }
          //   }
          //   this.configShow = true
          // })
        }
      },
      upBsm1(val) {
        let sections = JSON.parse(this.bsmRow.section);
        let asks = JSON.parse(this.bsmRow.ask);