licp
2024-06-13 b3c202648513fc01b69e09b4e3bbe1865a0b6b8c
src/components/do/b1-ins-order/add.vue
@@ -303,6 +303,33 @@
      </el-row>
    </div>
    <div v-show="!configShow&&!equipConfigShow&&!cableConfigShow">
      <div class="search" v-if="active==1" style="display: flex;background: transparent;">
        <div class="search_thing">
          <div class="search_label">样品型号:</div>
          <div class="search_input">
            <el-select v-model="model" placeholder="请选择" filterable allow-create default-first-option size="small" @change="changeModel">
              <el-option
                v-for="item in models"
                :key="item.value"
                :label="item.label"
                :value="item.value">
              </el-option>
            </el-select>
          </div>
        </div>
        <div class="search_thing">
          <div class="search_label">检验标准:</div>
          <div class="search_input">
            <el-select v-model="standardMethodListId" placeholder="请选择" size="small" @focus="methodFocus"
                :loading="methodLoad" @change="changeStandardMethodListId">
              <el-option
                v-for="item in methods"
                :key="item.id" :label="item.code" :value="item.id" >
              </el-option>
            </el-select>
          </div>
        </div>
      </div>
      <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>
@@ -362,6 +389,7 @@
              :controls="false" style="width: 80%;"></el-input-number>
          </template>
        </el-table-column>
        <el-table-column prop="proNum" label="检验项计数" width="120" 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"
@@ -587,6 +615,7 @@
  import fiberOpticConfig from './fiberoptic-config.vue'
  import equipConfig from './equip-config.vue'
  import cableConfig from './cable-config.vue'
  import Vue from 'vue'
  export default {
    components: {
      ValueTable,
@@ -733,7 +762,9 @@
        bsm3Dia:false,
        total: 0,
        RTS: '',
        totalArr: []
        totalArr: [],
        model:null,
        standardMethodListId:null,
      }
    },
    watch: {
@@ -763,7 +794,15 @@
        handler(val) {
          this.getTotal()
        }
      }
      },
      'addObj.sample'(val){
        this.model = null
        this.standardMethodListId = null
      },
      'addObj.sampleNum'(val){
        this.model = null
        this.standardMethodListId = null
      },
    },
    mounted() {
      this.selectEnumByCategoryForType()
@@ -787,6 +826,7 @@
          };
          this.addObj.type = String(this.addObj.type)
          this.sampleList = this.HaveJson(res.data.sampleProduct);
          this.getProNum()
          this.addObj.sampleNum = this.sampleList.length
          this.$nextTick(() => {
            this.$refs.sampleTable.doLayout()
@@ -1050,6 +1090,12 @@
          this.addObj.productionEn = '/'
        })
      },
      getProNum(){
        this.sampleList.forEach((m,i)=>{
          Vue.set(this.sampleList[i],'proNum',m.insProduct.filter(a=>a.state==1).length)
        })
        this.$refs.sampleTable.doLayout()
      },
      searchFilter() {
        this.$refs.tree.filter(this.search)
      },
@@ -1210,6 +1256,7 @@
      },
      upProductSelect(selection, row) {
        row.state = row.state == 1 ? 0 : 1
        this.getProNum()
        if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1) {
          if (row.section.indexOf('[') > -1) {
            this.bsmRow = this.HaveJson(row)
@@ -1416,6 +1463,22 @@
          }, 200)
        })
      },
      changeModel(){
        this.sampleList.forEach(a => {
          let obj = this.sampleIds.find(b => b == a.id)
          if(obj){
            a.model = this.model
          }
        })
      },
      changeStandardMethodListId(){
        this.sampleList.forEach(a => {
          let obj = this.sampleIds.find(b => b == a.id)
          if(obj){
            a.standardMethodListId = this.standardMethodListId
          }
        })
      },
      methodFocus() {
        this.selectsStandardMethodByFLSSM()
      },
@@ -1467,6 +1530,7 @@
            return m
          })
        }
        this.getProNum()
        this.bsmRow3 = [];
        this.productList.forEach(p => {
          if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 1) {