spring
2025-04-11 6b994d09bd7cff484174d3d11355c2e456ce6ac0
src/views/business/productOrder/components/cable-config.vue
@@ -7,19 +7,15 @@
        </el-radio-group>
        <el-form :model="insulating" ref="entity" size="small" :inline="true">
          <el-form-item label="芯数" prop="num">
            <el-select v-model="insulating.num" allow-create
                       clearable
                       default-first-option
                       filterable
                       multiple
            <el-select v-model="insulating.num" allow-create clearable default-first-option filterable multiple
                       size="small">
              <el-option v-for="item in quantityList" :key="item.value" :label="item.label" :value="item.value"></el-option>
              <el-option v-for="item in quantityList" :key="item.value" :label="item.label"
                :value="item.value"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="检验标准" prop="standardMethodListId">
            <el-select v-model="insulating.standardMethodListId" disabled placeholder="请选择检验标准"
                       size="small"
                       @change="(value)=>methodChange(value)">
            <el-select v-model="insulating.standardMethodListId" disabled placeholder="请选择检验标准" size="small"
              @change="(value) => methodChange(value)" multiple>
              <el-option v-for="item in standards" :key="item.id" :label="item.code" :value="item.id">
              </el-option>
            </el-select>
@@ -32,21 +28,18 @@
      </div>
    </div>
    <div class="table">
      <el-table ref="productTable" :data="productList" :row-class-name="tableRowClassName" border
                class="el-table" :height="'calc(100vh - 200px)'" tooltip-effect="dark" @select="upProductSelect"
                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }"
                @selection-change="selectProduct" @select-all="handleAll">
      <el-table ref="productTable" :data="productList" :row-class-name="tableRowClassName" border class="el-table"
        :height="'calc(100vh - 200px)'" tooltip-effect="dark" @select="upProductSelect"
        :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" @selection-change="selectProduct"
        @select-all="handleAll">
        <el-table-column :selectable="selectable" type="selection" width="65"></el-table-column>
        <el-table-column label="检验项分类" min-width="140" prop="inspectionItemClass" show-overflow-tooltip></el-table-column>
        <el-table-column label="检验项分类" min-width="140" prop="inspectionItemClass"
          show-overflow-tooltip></el-table-column>
        <el-table-column label="检验项" min-width="140" prop="inspectionItem" show-overflow-tooltip>
          <template slot="header" slot-scope="scope">
            <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px">
              <span>检验项</span>
              <el-input
                v-if="active==1"
                v-model="inspectionItem"
                placeholder="请输入"
                size="mini"
              <el-input v-if="active == 1" v-model="inspectionItem" placeholder="请输入" size="mini"
                @input="searchFilterList"/>
            </div>
          </template>
@@ -55,19 +48,16 @@
          <template slot="header" slot-scope="scope">
            <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px">
              <span>检验项子项</span>
              <el-input
                v-if="active==1"
                v-model="inspectionItemSubclass"
                placeholder="请输入"
                size="mini"
              <el-input v-if="active == 1" v-model="inspectionItemSubclass" placeholder="请输入" size="mini"
                @input="searchFilterList"/>
            </div>
          </template>
        </el-table-column>
        <el-table-column label="要求描述" min-width="220px" prop="tell">
          <template slot-scope="scope">
            <el-input v-if="active==1&&(isAskOnlyRead || isSpecial)" v-model="scope.row.tell" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="要求描述"
                      size="small" type="textarea"></el-input>
            <el-input v-if="active == 1 && (isAskOnlyRead || isSpecial)" v-model="scope.row.tell"
              :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="要求描述" size="small"
              type="textarea"></el-input>
            <span v-else>
                <template >{{ scope.row.tell }}</template>
              </span>
@@ -75,19 +65,20 @@
        </el-table-column>
        <el-table-column label="要求值" min-width="220px" prop="ask">
          <template slot-scope="scope">
            <el-input v-if="active==1&&(isAskOnlyRead || isSpecial)" v-model="scope.row.ask" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="要求值"
                      size="small" type="textarea"></el-input>
            <el-input v-if="active == 1 && (isAskOnlyRead || isSpecial)" v-model="scope.row.ask"
              :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="要求值" size="small"
              type="textarea"></el-input>
            <span v-else>{{ scope.row.ask }}</span>
          </template>
        </el-table-column>
        <el-table-column label="条件" min-width="140" prop="radius" show-overflow-tooltip>
          <template slot-scope="scope">
            <el-input v-if="active==1&&(isAskOnlyRead || isSpecial)&&!scope.row.inspectionItem.includes('高温压力试验')" v-model="scope.row.radius" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="要求描述"
            <el-input v-if="active == 1 && (isAskOnlyRead || isSpecial) && !scope.row.inspectionItem.includes('高温压力试验')"
              v-model="scope.row.radius" :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="要求描述"
                      size="small" type="textarea">
            </el-input>
            <el-select v-if="scope.row.inspectionItem.includes('高温压力试验') && active == 1" v-model="scope.row.radius" clearable
                       placeholder="条件"
                       size="small">
            <el-select v-if="scope.row.inspectionItem.includes('高温压力试验') && active == 1" v-model="scope.row.radius"
              clearable placeholder="条件" size="small">
              <el-option v-for="(a,i) in JSON.parse(scope.row.radiusList)" :key="i" :label="a" :value="a"></el-option>
            </el-select>
            <span v-if="active != 1">{{scope.row.radius}}</span>
@@ -97,12 +88,7 @@
          <template slot="header" slot-scope="scope">
            <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px">
              <span>试验方法</span>
              <el-input
                v-if="active==1"
                v-model="methodS"
                placeholder="请输入"
                size="mini"
                @input="searchFilterList"/>
              <el-input v-if="active == 1" v-model="methodS" placeholder="请输入" size="mini" @input="searchFilterList" />
            </div>
          </template>
        </el-table-column>
@@ -110,15 +96,14 @@
        <el-table-column label="单价" prop="price" show-overflow-tooltip width="100"></el-table-column>
        <el-table-column label="区间" min-width="120" prop="section" show-overflow-tooltip></el-table-column>
        <el-table-column label="子实验室" min-width="130" prop="sonLaboratory" show-overflow-tooltip></el-table-column>
        <el-table-column :filter-method="filterHandler" :filters="filters" label="子实验室" min-width="130" prop="sonLaboratory"
          show-overflow-tooltip></el-table-column>
        <el-table-column v-if="isSpecial"
          fixed="right"
          label="操作"
          width="100">
        <el-table-column :filter-method="filterHandler" :filters="filters" label="子实验室" min-width="130"
          prop="sonLaboratory" show-overflow-tooltip></el-table-column>
        <el-table-column v-if="isSpecial" fixed="right" label="操作" width="100">
          <template slot-scope="scope">
            <el-button type="text" size="small" @click="addProductList(productList,scope.row,scope.$index)" v-if="!scope.row.repetitionTag">插入行</el-button>
            <el-button type="text" size="small" v-if="!!scope.row.repetitionTag&&scope.row.delete" @click="deleteProductList(scope.$index,productList)">删除</el-button>
            <el-button type="text" size="small" @click="addProductList(productList, scope.row, scope.$index)"
              v-if="!scope.row.repetitionTag">插入行</el-button>
            <el-button type="text" size="small" v-if="!!scope.row.repetitionTag && scope.row.delete"
              @click="deleteProductList(scope.$index, productList)">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
@@ -156,7 +141,7 @@
        tree: '',
        standards: [],
        insulating: {
          standardMethodListId: null,
        standardMethodListId: [],
          insProduct: [],
          num: []
        },
@@ -281,7 +266,7 @@
      }
    },
    methodChange(val) {
      if (val === null || val === '') return
      if (!val || val.length < 1) return
      let standard = this.standards.find(a => a.id === val)
      if(standard!=null && standard.code==='技术要求'){
        this.isAskOnlyRead = true
@@ -301,7 +286,7 @@
        cores: cores,
        conductorMaterial: conductorMaterial,
        conductorType: conductorType,
        standardMethodListId: val,
        standardMethodListIds: val,
        factory: selectTreeList.join(" - "),
        isCableTag: '1',
      }, {
@@ -380,10 +365,12 @@
  display: flex;
  justify-content: space-between;
}
.search_input {
  display: flex;
  justify-content: space-between;
}
>>>.warning-row {
  color: #1890FF;
}