licp
2024-05-22 eec42a81e93c206b025c4b21812979c68c41ff2f
src/components/do/b1-ins-order/add.vue
@@ -81,11 +81,11 @@
    color: #bababa;
  }
  .el-select .is-disabled {
  .ins_order_add .el-select .is-disabled {
    background: transparent !important;
  }
  .el-select .is-disabled .el-input__inner {
  .ins_order_add .el-select .is-disabled .el-input__inner {
    background: transparent !important;
  }
</style>
@@ -197,7 +197,9 @@
        <el-col class="search_thing" :span="6">
          <div class="search_label"><span class="required-span">* </span>来样方式:</div>
          <div class="search_input">
            <el-input size="small" clearable v-model="addObj.formType" :readonly="active>1"></el-input>
            <el-select v-model="addObj.formType" size="small" :disabled="active>1" style="width: 100%;">
              <el-option v-for="(a,ai) in formType" :key="ai" :label="a.label" :value="a.value"></el-option>
            </el-select>
          </div>
        </el-col>
        <el-col class="search_thing" :span="6">
@@ -270,29 +272,36 @@
        <el-table-column prop="model" label="样品型号" align="center" min-width="100">
          <template slot-scope="scope">
            <el-select v-model="scope.row.model" filterable allow-create default-first-option placeholder="样品型号"
              size="small" @change="handleChangeModel" :disabled="active>1">
              size="small" @change="handleChangeModel" :disabled="active>1" style="width: 100%;">
              <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value">
              </el-option>
            </el-select>
          </template>
        </el-table-column>
        <el-table-column prop="modelNum" label="型号参数" width="130" align="center" v-if="!(active>1)">
          <template slot-scope="scope">
            <el-input size="small" v-model="scope.row.modelNum" clearable placeholder="非必填"
              @keyup.enter.native="methodChange(scope.row.standardMethodListId, scope.row)"
              @clear="methodChange(scope.row.standardMethodListId, scope.row)"></el-input>
          </template>
        </el-table-column>
        <el-table-column prop="standardMethodListId" label="检验标准" align="center" min-width="100">
          <template slot-scope="scope">
            <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1"
              placeholder="检验标准" size="small" :loading="methodLoad" @change="(value)=>methodChange(value, scope.row)"
              @focus="methodFocus" :readonly="active>1">
              @focus="methodFocus" :readonly="active>1" style="width: 100%;">
              <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
              </el-option>
            </el-select>
          </template>
        </el-table-column>
        <el-table-column prop="unit" label="单位" align="center" min-width="100">
        <!-- <el-table-column prop="unit" label="单位" align="center" min-width="100">
          <template slot-scope="scope">
            <el-select v-model="scope.row.unit" clearable size="small" style="width: 100%;" :disabled="active>1">
              <el-option v-for="(a, i) in units" :key="i" :label="a.label" :value="a.value"></el-option>
            </el-select>
          </template>
        </el-table-column>
        </el-table-column> -->
        <!-- <el-table-column prop="isLeave" label="是否留样" align="center" min-width="100">
          <template slot-scope="scope">
            <el-select v-model="scope.row.isLeave" size="small" :disabled="active>1">
@@ -334,12 +343,12 @@
        <el-table-column prop="unit" label="计量单位" width="100" show-overflow-tooltip></el-table-column>
        <el-table-column prop="price" label="单价" width="100" show-overflow-tooltip></el-table-column>
        <el-table-column prop="manDay" label="预计时间(天)" width="120" show-overflow-tooltip></el-table-column>
        <el-table-column prop="manHourGroup" label="工时分组" width="100" show-overflow-tooltip></el-table-column>
        <el-table-column prop="manHour" label="工时系数" width="100" show-overflow-tooltip></el-table-column>
        <!-- <el-table-column prop="deviceGroup" label="设备组" width="120" show-overflow-tooltip></el-table-column> -->
        <el-table-column prop="section" label="区间" width="120" show-overflow-tooltip></el-table-column>
        <el-table-column prop="ask" label="要求值" min-width="220px">
          <template slot-scope="scope">
            <el-input size="small" placeholder="要求值" v-model="scope.row.ask" clearable type="textarea"
            <el-input size="small" placeholder="要求值" v-model="scope.row.ask" clearable type="textarea" readonly
              :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)" :readonly="active>1"></el-input>
          </template>
        </el-table-column>
@@ -370,7 +379,7 @@
            <el-row>
              <el-col :span="24">
                <span><i
                    :class="`node_i ${data.children != undefined ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i>
                    :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i>
                  {{ data.code }} {{ data.label }}</span>
              </el-col>
            </el-row>
@@ -562,6 +571,7 @@
          sampleType: null,
          sample: null,
          model: null,
          modelNum: null,
          sampleNum: 1,
          isLeave: 0,
          unit: null
@@ -626,7 +636,8 @@
        tell: '',
        noLoading: false,
        orderType: [],
        filters: []
        filters: [],
        formType: []
      }
    },
    watch: {
@@ -645,6 +656,7 @@
      this.selectStandardMethods()
      this.selectEnumByCategoryForOrderType()
      this.selectEnumByCategoryForSonLaboratory()
      this.selectEnumByCategoryForSampleForm()
      if (this.active != 1) {
        // 查看/审核流程
        // 请求接口,回显数据
@@ -659,6 +671,10 @@
          this.addObj.sampleNum = this.sampleList.length
          this.$nextTick(() => {
            this.$refs.sampleTable.doLayout()
            if(this.addObj.sampleNum>0){
              this.$refs.sampleTable.setCurrentRow(this.sampleList[0],true)
              this.rowClick(this.sampleList[0])
            }
          })
        })
      }
@@ -718,13 +734,14 @@
          this.$message.error('请输入样品型号')
        } else if (!this.sampleList.every(m => m.standardMethodListId)) {
          this.$message.error('请选择检验标准')
        } else if (!this.sampleList.every(m => m.unit)) {
          this.$message.error('请输入样品的单位')
        } else {
          this.saveLoad = true
          this.$axios.post(this.$api.insOrder.addInsOrder, {
            insOrder: this.addObj,
            list: JSON.stringify(this.sampleList)
            list: JSON.stringify(this.sampleList.map(a=>{
              a.model = a.model + ((a.modelNum==null||a.modelNum==''||a.modelNum=='null')?'':('-'+a.modelNum))
              return a
            }))
          }, {
            headers: {
              'Content-Type': 'application/json'
@@ -849,9 +866,7 @@
        this.$axios.get(this.$api.standardTree.selectStandardTreeList).then(res => {
          this.list = res.data
          this.list.forEach(a => {
            a.children.forEach(b => {
              this.expandedKeys.push(b.label)
            })
            this.expandedKeys.push(a.label)
          })
        })
      },
@@ -862,7 +877,7 @@
      activeStandardTree() {
        let trees = this.selectTree.split(" - ")
        if (trees.length < 4) {
          this.$message.error('未选择样品')
          this.$message.error('未选择产品')
          return
        }
        this.addObj.factory = trees[0]
@@ -1115,10 +1130,21 @@
          }
        })
      },
      selectEnumByCategoryForSampleForm() {
        this.$axios.post(this.$api.enums.selectEnumByCategory, {
          category: "来样方式"
        }).then(res => {
          this.formType = res.data
          if(this.formType.length > 0){
            this.addObj.formType = this.formType[0].value
          }
        })
      },
      methodChange(val, row) {
        if(val===null||val==='')return
        this.getProductLoad = true
        this.$axios.post(this.$api.standardTree.selectStandardProductList, {
          model: this.addObj.model,
          model: row.model + '-' + row.modelNum,
          standardMethodListId: val
        }, {
          headers: {