spring
2025-03-10 eb8a6c6d3dcec5f49803669d69b1c22f70583640
src/views/business/inspectionOrder/add.vue
@@ -1,94 +1,35 @@
<template>
  <div>
  <div class="bg-1">
    <div v-show="!configShow && !equipConfigShow && !cableConfigShow">
      <el-row class="title">
        <el-col :span="6" style="padding-left: 20px; text-align: left"
          >委托单信息&nbsp;&nbsp;&nbsp;总价:<span style="color: #3a7bfa"
            >¥{{ total }}</span
          ></el-col
        >
        <el-col :span="6" style="padding-left: 20px; text-align: left">委托单信息&nbsp;&nbsp;&nbsp;总价:<span
            style="color: #3a7bfa">¥{{ total }}</span></el-col>
        <el-col :span="18" style="text-align: right">
          <el-select
            v-model="template"
            size="medium"
            filterable
            placeholder="下单模板"
            style="margin-right: 10px"
            v-show="active == 1"
            @change="selectInsOrderTemplateById"
          >
            <el-option
              v-for="(a, ai) in templates"
              :key="ai"
              :value="a.id"
              :label="a.name"
            >
          <el-select v-model="template" size="medium" filterable placeholder="下单模板" style="margin-right: 10px"
            v-show="active == 1" @change="selectInsOrderTemplateById">
            <el-option v-for="(a, ai) in templates" :key="ai" :value="a.id" :label="a.name">
              <span style="float: left">{{ a.name }}</span>
              <i
                class="el-icon-delete"
                style="float: right; color: #66b1ff; font-size: 16px"
                @click.stop="handleDelete(a)"
              ></i>
              <i class="el-icon-delete" style="float: right; color: #66b1ff; font-size: 16px"
                @click.stop="handleDelete(a)"></i>
            </el-option>
          </el-select>
          <el-button
            size="medium"
            @click="templateDia = true"
            v-show="active == 1"
          >
          <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 == '装备电缆' &&
              addObj.sampleType != undefined &&
              addObj.sampleType.indexOf('电缆') > -1
            "
            >电缆配置</el-button
          >
          <el-button
            size="medium"
            type="primary"
            @click="openEquipConfig"
            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
          >
          <el-button size="medium" type="primary" @click="openCableConfig" v-if="
            active == 1 &&
            PROJECT == '装备电缆' &&
            addObj.sampleType != undefined &&
            addObj.sampleType.indexOf('电缆') > -1
          ">电缆配置</el-button>
          <el-button size="medium" type="primary" @click="openEquipConfig" 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>
          <!-- 审核 -->
          <el-button
            size="medium"
            @click="upInsOrderOfState(2)"
            :loading="saveLoad"
            v-show="active == 3 && addObj.companyId"
            :disabled="saveLoad"
            >不通过</el-button
          >
          <el-button
            size="medium"
            type="primary"
            @click="upInsOrderOfState(1)"
            :loading="saveLoad"
            v-show="active == 3 && addObj.companyId"
            >通过</el-button
          >
          <el-button size="medium" @click="upInsOrderOfState(2)" :loading="saveLoad"
            v-show="active == 3 && addObj.companyId" :disabled="saveLoad">不通过</el-button>
          <el-button size="medium" type="primary" @click="upInsOrderOfState(1)" :loading="saveLoad"
            v-show="active == 3 && addObj.companyId">通过</el-button>
          <el-button size="medium" @click="$parent.playOrder(0)">
            <span style="color: #3a7bfa">返回</span>
          </el-button>
@@ -96,79 +37,35 @@
      </el-row>
    </div>
    <basic-container>
      <div
        class="search"
        v-show="!configShow && !equipConfigShow && !cableConfigShow"
      >
        <el-form
          :model="addObj"
          :rules="formRule"
          label-position="right"
          inline
        >
      <div class="search" v-show="!configShow && !equipConfigShow && !cableConfigShow">
        <el-form :model="addObj" :rules="formRule" label-position="right" inline>
          <el-row>
            <el-col :span="6">
              <el-form-item label="委托编号:" prop="entrustCode">
                <el-input
                  v-model="addObj.entrustCode"
                  size="small"
                  class="search_input"
                  placeholder="系统生成"
                  disabled
                ></el-input>
                <el-input v-model="addObj.entrustCode" size="small" class="search_input" placeholder="系统生成"
                  disabled></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="检验类别:" prop="orderType">
                <el-select
                  size="small"
                  class="search_input"
                  clearable
                  v-model="addObj.orderType"
                  :disabled="active > 1"
                >
                  <el-option
                    v-for="(a, ai) in orderType"
                    :key="ai"
                    :value="a.dictValue"
                    :label="a.dictLabel"
                  ></el-option>
                <el-select size="small" class="search_input" clearable v-model="addObj.orderType"
                  :disabled="active > 1">
                  <el-option v-for="(a, ai) in orderType" :key="ai" :value="a.dictValue"
                    :label="a.dictLabel"></el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="制单人:" prop="custom">
                <el-input
                  size="small"
                  class="search_input"
                  clearable
                  disabled
                  v-model="addObj.custom"
                ></el-input>
                <el-input size="small" class="search_input" clearable disabled v-model="addObj.custom"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                label="委托单位:"
                prop="company"
                class="company_input"
              >
                <el-input
                  readonly
                  size="small"
                  v-model="addObj.company"
                  placeholder="选择委托单位"
                >
                  <template slot="append"
                    ><el-button
                      slot="append"
                      icon="el-icon-search"
                      @click="selectUserDia = true"
                      :disabled="
                        active > 1 || addObj.company != '中天科技检测中心'
                      "
                    ></el-button
                  ></template>
              <el-form-item label="委托单位:" prop="company" class="company_input">
                <el-input readonly size="small" v-model="addObj.company" placeholder="选择委托单位">
                  <template slot="append"><el-button slot="append" icon="el-icon-search" @click="selectUserDia = true"
                      :disabled="active > 1 || addObj.company != '中天科技检测中心'
                        "></el-button></template>
                </el-input>
              </el-form-item>
            </el-col>
@@ -176,82 +73,39 @@
          <el-row>
            <el-col :span="6">
              <el-form-item label="联系方式:" prop="phone">
                <el-input
                  size="small"
                  placeholder="请输入"
                  class="search_input"
                  clearable
                  :readonly="active > 1"
                  v-model="addObj.phone"
                ></el-input>
                <el-input size="small" placeholder="请输入" class="search_input" clearable :readonly="active > 1"
                  v-model="addObj.phone"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="紧急程度:" prop="type">
                <el-select
                  @change="changeType"
                  size="small"
                  class="search_input"
                  clearable
                  v-model="addObj.type"
                  :disabled="active > 1"
                >
                  <el-option
                    v-for="(a, ai) in type"
                    :key="ai"
                    :value="a.dictValue"
                    :label="a.dictLabel"
                  ></el-option>
                <el-select @change="changeType" size="small" class="search_input" clearable v-model="addObj.type"
                  :disabled="active > 1">
                  <el-option v-for="(a, ai) in type" :key="ai" :value="a.dictValue" :label="a.dictLabel"></el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                label="样品名称:"
                prop="sample"
                class="sample_input"
              >
              <el-form-item label="样品名称:" prop="sample" class="sample_input">
                <el-input readonly size="small" v-model="addObj.sample">
                  <template slot="append"
                    ><el-button
                      slot="append"
                      icon="el-icon-search"
                      @click="selectStandardTree = true"
                      :disabled="active > 1"
                    ></el-button
                  ></template>
                  <template slot="append"><el-button slot="append" icon="el-icon-search"
                      @click="selectStandardTree = true" :disabled="active > 1"></el-button></template>
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="样品数量:" prop="sampleNum">
                <el-input-number
                  size="small"
                  v-model="addObj.sampleNum"
                  :min="1"
                  :max="100"
                  :precision="0"
                  @change="addStandardTree"
                  :disabled="active > 1"
                ></el-input-number>
                <el-input-number size="small" v-model="addObj.sampleNum" :min="1" :max="100" :precision="0"
                  @change="addStandardTree" :disabled="active > 1"></el-input-number>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="来样方式:" prop="formType">
                <el-select
                  v-model="addObj.formType"
                  size="small"
                  class="search_input"
                  :disabled="active > 1"
                >
                  <el-option
                    v-for="(a, ai) in formType"
                    :key="ai"
                    :label="a.dictLabel"
                    :value="a.dictValue"
                  ></el-option>
                <el-select v-model="addObj.formType" size="small" class="search_input" :disabled="active > 1">
                  <el-option v-for="(a, ai) in formType" :key="ai" :label="a.dictLabel"
                    :value="a.dictValue"></el-option>
                </el-select>
              </el-form-item>
            </el-col>
@@ -264,11 +118,7 @@
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                label="样品处理方式:"
                prop="processing"
                class="processing_input"
              >
              <el-form-item label="样品处理方式:" prop="processing" class="processing_input">
                <el-radio-group v-model="addObj.processing" size="mini">
                  <el-radio :label="0">委托单位取回</el-radio>
                  <el-radio :label="1">实验室处理</el-radio>
@@ -277,59 +127,28 @@
            </el-col>
            <el-col :span="6">
              <el-form-item label="工程名称:" prop="engineering">
                <el-input
                  size="small"
                  class="search_input"
                  :placeholder="active > 1 ? '' : '请输入'"
                  clearable
                  v-model="addObj.engineering"
                  :readonly="active > 1"
                ></el-input>
                <el-input size="small" class="search_input" :placeholder="active > 1 ? '' : '请输入'" clearable
                  v-model="addObj.engineering" :readonly="active > 1"></el-input>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item
                label="工程名称EN:"
                prop="engineeringEn"
                class="engineeringEn_input"
              >
                <el-input
                  size="small"
                  :placeholder="active > 1 ? '' : '请输入'"
                  clearable
                  v-model="addObj.engineeringEn"
                  :readonly="active > 1"
                ></el-input>
              <el-form-item label="工程名称EN:" prop="engineeringEn" class="engineeringEn_input">
                <el-input size="small" :placeholder="active > 1 ? '' : '请输入'" clearable v-model="addObj.engineeringEn"
                  :readonly="active > 1"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="生产单位:" prop="production">
                <el-input
                  size="small"
                  class="search_input"
                  placeholder="请输入"
                  clearable
                  v-model="addObj.production"
                  :readonly="active > 1"
                ></el-input>
                <el-input size="small" class="search_input" placeholder="请输入" clearable v-model="addObj.production"
                  :readonly="active > 1"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                label="生产单位EN:"
                prop="productionEn"
                class="productionEn_input"
              >
                <el-input
                  size="small"
                  class="search_input"
                  placeholder="请输入"
                  clearable
                  v-model="addObj.productionEn"
                  :readonly="active > 1"
                ></el-input>
              <el-form-item label="生产单位EN:" prop="productionEn" class="productionEn_input">
                <el-input size="small" class="search_input" placeholder="请输入" clearable v-model="addObj.productionEn"
                  :readonly="active > 1"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
@@ -344,53 +163,28 @@
          <el-row>
            <el-col :span="6">
              <el-form-item label="是否涉及配套样品:" prop="mating">
                <el-radio-group
                  v-model="addObj.mating"
                  @change="$refs.sampleTable.doLayout()"
                >
                <el-radio-group v-model="addObj.mating" @change="$refs.sampleTable.doLayout()">
                  <el-radio :label="1">是</el-radio>
                  <el-radio :label="0">否</el-radio>
                </el-radio-group>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item
                label="OTC订单号:"
                prop="otcCode"
                class="otcCode_input"
              >
                <el-input
                  size="small"
                  :placeholder="active > 1 ? '' : '请输入'"
                  clearable
                  v-model="addObj.otcCode"
                  :readonly="active > 1"
                ></el-input>
              <el-form-item label="OTC订单号:" prop="otcCode" class="otcCode_input">
                <el-input size="small" :placeholder="active > 1 ? '' : '请输入'" clearable v-model="addObj.otcCode"
                  :readonly="active > 1"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="委托人:" prop="prepareUser">
                <el-input
                  size="small"
                  class="search_input"
                  :placeholder="active > 1 ? '' : '请输入'"
                  clearable
                  v-model="addObj.prepareUser"
                  :readonly="active > 1"
                ></el-input>
                <el-input size="small" class="search_input" :placeholder="active > 1 ? '' : '请输入'" clearable
                  v-model="addObj.prepareUser" :readonly="active > 1"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="备注:" prop="remark">
                <el-input
                  type="textarea"
                  :autosize="{ minRows: 2, maxRows: 2 }"
                  size="small"
                  clearable
                  :placeholder="active > 1 ? '' : '请输入'"
                  v-model="addObj.remark"
                  :readonly="active > 1"
                ></el-input>
                <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2 }" size="small" clearable
                  :placeholder="active > 1 ? '' : '请输入'" v-model="addObj.remark" :readonly="active > 1"></el-input>
              </el-form-item>
            </el-col>
          </el-row>
@@ -399,29 +193,13 @@
    </basic-container>
    <basic-container>
      <div style="height: auto">
        <div
          class="search"
          v-if="active == 1"
          style="display: flex; background: transparent"
        >
        <div class="search" v-if="active == 1" style="display: flex; background: transparent">
          <div>
            <div class="search_label">样品型号:</div>
            <div class="search_input">
              <el-select
                v-model="model"
                :placeholder="active > 1 ? '' : '请输入'"
                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-select v-model="model" :placeholder="active > 1 ? '' : '请输入'" 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>
@@ -429,385 +207,151 @@
          <div>
            <div class="search_label">检验标准:</div>
            <div class="search_input">
              <el-select
                filterable
                v-model="standardMethodListId"
                :placeholder="active > 1 ? '' : '请输入'"
                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-select filterable v-model="standardMethodListId" :placeholder="active > 1 ? '' : '请输入'" 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"
          max-height="400px"
          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>
          <el-table-column
            type="index"
            label="序号"
            width="65"
            align="center"
          ></el-table-column>
          <el-table-column
            prop="sample"
            label="样品名称"
            align="center"
            min-width="100"
          >
        <el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" max-height="400px"
          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>
          <el-table-column type="index" label="序号" width="65" align="center"></el-table-column>
          <el-table-column prop="sample" label="样品名称" align="center" min-width="100">
            <template slot-scope="scope">
              <el-input
                size="small"
                v-model="scope.row.sample"
                clearable
                :readonly="active > 1"
              ></el-input>
              <el-input size="small" v-model="scope.row.sample" clearable :readonly="active > 1"></el-input>
            </template>
          </el-table-column>
          <el-table-column
            prop="sampleCode"
            label="样品编号"
            min-width="140"
            align="center"
          >
          <el-table-column prop="sampleCode" label="样品编号" min-width="140" align="center">
            <template slot-scope="scope">
              <el-input
                size="small"
                v-model="scope.row.sampleCode"
                clearable
                placeholder="不填写则系统自动生成"
                :readonly="active > 1"
              ></el-input>
              <el-input size="small" v-model="scope.row.sampleCode" clearable placeholder="不填写则系统自动生成"
                :readonly="active > 1"></el-input>
            </template>
          </el-table-column>
          <el-table-column
            prop="model"
            label="样品型号"
            align="center"
            min-width="100"
          >
          <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"
                style="width: 100%"
              >
                <el-option
                  v-for="item in models"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                >
              <el-select v-model="scope.row.model" filterable allow-create default-first-option placeholder="样品型号"
                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)"
          >
          <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>
              <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"
          >
          <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="检验标准"
                filterable
                size="small"
                :loading="methodLoad"
                @change="(value) => methodChange(value, scope.row)"
                @focus="methodFocus"
                :readonly="active > 1"
                style="width: 100%"
                clearable
                @clear="productList = []"
              >
                <el-option
                  v-for="item in methods"
                  :key="item.id"
                  :label="item.code"
                  :value="item.id"
                >
              <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model == null || active > 1"
                placeholder="检验标准" filterable size="small" :loading="methodLoad"
                @change="(value) => methodChange(value, scope.row)" @focus="methodFocus" :readonly="active > 1"
                style="width: 100%" clearable @clear="productList = []">
                <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="joinName"
            label="配套样品名称"
            width="140"
            align="center"
            v-if="addObj.mating == 1"
          >
          <el-table-column prop="joinName" label="配套样品名称" width="140" align="center" v-if="addObj.mating == 1">
            <template slot-scope="scope">
              <el-input
                size="small"
                type="textarea"
                :autosize="{ minRows: 1, maxRows: 1 }"
                v-model="scope.row.joinName"
              ></el-input>
              <el-input size="small" type="textarea" :autosize="{ minRows: 1, maxRows: 1 }"
                v-model="scope.row.joinName"></el-input>
            </template>
          </el-table-column>
          <el-table-column
            prop="joinModel"
            label="配套样品型号"
            width="140"
            align="center"
            v-if="addObj.mating == 1"
          >
          <el-table-column prop="joinModel" label="配套样品型号" width="140" align="center" v-if="addObj.mating == 1">
            <template slot-scope="scope">
              <el-input
                size="small"
                type="textarea"
                :autosize="{ minRows: 1, maxRows: 1 }"
                v-model="scope.row.joinModel"
              ></el-input>
              <el-input size="small" type="textarea" :autosize="{ minRows: 1, maxRows: 1 }"
                v-model="scope.row.joinModel"></el-input>
            </template>
          </el-table-column>
          <el-table-column
            prop="joinNum"
            label="配套样品数量"
            width="140"
            align="center"
            v-if="addObj.mating == 1"
          >
          <el-table-column prop="joinNum" label="配套样品数量" width="140" align="center" v-if="addObj.mating == 1">
            <template slot-scope="scope">
              <el-input-number
                size="small"
                v-model="scope.row.joinNum"
                :min="1"
                :max="100"
                :precision="0"
                :controls="false"
                style="width: 80%"
              ></el-input-number>
              <el-input-number size="small" v-model="scope.row.joinNum" :min="1" :max="100" :precision="0"
                :controls="false" style="width: 80%"></el-input-number>
            </template>
          </el-table-column>
          <el-table-column
            prop="proNum"
            label="待检项数量"
            width="105"
            align="center"
          ></el-table-column>
          <el-table-column prop="proNum" label="待检项数量" width="105" align="center"></el-table-column>
        </el-table>
        <el-table
          class="el-table"
          ref="productTable"
          :data="productList"
          max-height="400px"
          tooltip-effect="dark"
          border
          @selection-change="selectProduct"
          style="margin-bottom: 10px"
          @select="upProductSelect"
          :row-class-name="tableRowClassName"
          v-loading="standardLoading || getProductLoad"
          @select-all="handleAll"
        >
          <el-table-column
            type="selection"
            width="65"
            :selectable="selectable"
            v-if="active == 1"
          ></el-table-column>
          <el-table-column
            prop="inspectionItem"
            label="检验项"
            min-width="140"
            show-overflow-tooltip
          >
        <el-table class="el-table" ref="productTable" :data="productList" max-height="400px" tooltip-effect="dark"
          border @selection-change="selectProduct" style="margin-bottom: 10px" @select="upProductSelect"
          :row-class-name="tableRowClassName" v-loading="standardLoading || getProductLoad" @select-all="handleAll">
          <el-table-column type="selection" width="65" :selectable="selectable" v-if="active == 1"></el-table-column>
          <el-table-column prop="inspectionItem" label="检验项" min-width="140" show-overflow-tooltip>
            <template slot="header" slot-scope="scope">
              <div
                style="
              <div style="
                  display: flex;
                  align-items: center;
                  flex-direction: column;
                  font-size: 14px;
                "
              >
                ">
                <span>检验项</span>
                <el-input
                  v-if="active == 1"
                  v-model="inspectionItem"
                  @input="searchFilterList"
                  size="mini"
                  placeholder="请输入"
                />
                <el-input v-if="active == 1" v-model="inspectionItem" @input="searchFilterList" size="mini"
                  placeholder="请输入" />
              </div>
            </template>
          </el-table-column>
          <el-table-column
            prop="inspectionItemSubclass"
            label="检验项子项"
            min-width="140"
            show-overflow-tooltip
          >
          <el-table-column prop="inspectionItemSubclass" label="检验项子项" min-width="140" show-overflow-tooltip>
            <template slot="header" slot-scope="scope">
              <div
                style="
              <div style="
                  display: flex;
                  align-items: center;
                  flex-direction: column;
                  font-size: 14px;
                "
              >
                ">
                <span>检验项子项</span>
                <el-input
                  v-if="active == 1"
                  v-model="inspectionItemSubclass"
                  @input="searchFilterList"
                  size="mini"
                  placeholder="请输入"
                />
                <el-input v-if="active == 1" v-model="inspectionItemSubclass" @input="searchFilterList" size="mini"
                  placeholder="请输入" />
              </div>
            </template>
          </el-table-column>
          <el-table-column prop="tell" label="要求描述" min-width="220px">
            <template slot-scope="scope">
              <el-input
                size="small"
                placeholder="要求描述"
                v-model="scope.row.tell"
                clearable
                type="textarea"
                :autosize="{ minRows: 1, maxRows: 3 }"
                @change="(e) => requestChange(e, scope.row, 'tell')"
                v-if="active == 1 && isAskOnlyRead"
              ></el-input>
              <el-input size="small" placeholder="要求描述" v-model="scope.row.tell" clearable type="textarea"
                :autosize="{ minRows: 1, maxRows: 3 }" @change="(e) => requestChange(e, scope.row, 'tell')"
                v-if="active == 1 && isAskOnlyRead"></el-input>
              <span v-else>
                <template>{{ scope.row.tell }}</template>
              </span>
            </template>
          </el-table-column>
          <el-table-column
            prop="ask"
            label="要求值"
            min-width="220px"
            v-if="isAskOnlyRead"
          >
          <el-table-column prop="ask" label="要求值" min-width="220px" v-if="isAskOnlyRead">
            <template slot-scope="scope">
              <el-input
                size="small"
                placeholder="要求值"
                v-model="scope.row.ask"
                clearable
                type="textarea"
                :autosize="{ minRows: 1, maxRows: 3 }"
                @change="(e) => requestChange(e, scope.row, 'ask')"
                v-if="
              <el-input size="small" placeholder="要求值" v-model="scope.row.ask" clearable type="textarea"
                :autosize="{ minRows: 1, maxRows: 3 }" @change="(e) => requestChange(e, scope.row, 'ask')" v-if="
                  active == 1 &&
                  isAskOnlyRead &&
                  scope.row.inspectionValueType != '5'
                "
              ></el-input>
                "></el-input>
              <span v-else>
                <template>{{ scope.row.ask }}</template>
              </span>
            </template>
          </el-table-column>
          <el-table-column
            prop="methodS"
            label="试验方法"
            min-width="120"
            show-overflow-tooltip
          >
          <el-table-column prop="methodS" label="试验方法" min-width="120" show-overflow-tooltip>
            <template slot="header" slot-scope="scope">
              <div
                style="
              <div style="
                  display: flex;
                  align-items: center;
                  flex-direction: column;
                  font-size: 14px;
                "
              >
                ">
                <span>试验方法</span>
                <el-input
                  v-if="active == 1"
                  v-model="methodS"
                  @input="searchFilterList"
                  size="mini"
                  placeholder="请输入"
                />
                <el-input v-if="active == 1" v-model="methodS" @input="searchFilterList" size="mini"
                  placeholder="请输入" />
              </div>
            </template>
          </el-table-column>
          <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="section"
            label="区间"
            min-width="120"
            show-overflow-tooltip
          ></el-table-column>
          <el-table-column
            prop="sonLaboratory"
            label="子实验室"
            min-width="130"
            show-overflow-tooltip
            :filters="filters"
            :filter-method="filterHandler"
          ></el-table-column>
          <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="section" label="区间" min-width="120" show-overflow-tooltip></el-table-column>
          <el-table-column prop="sonLaboratory" label="子实验室" min-width="130" show-overflow-tooltip :filters="filters"
            :filter-method="filterHandler"></el-table-column>
        </el-table>
      </div>
    </basic-container>
@@ -1226,7 +770,7 @@
      });
    },
    //保存单根垂直燃烧特殊值
    saveSingleVerticalCombustionData() {},
    saveSingleVerticalCombustionData() { },
    openSingleVerticalCombustionDialog() {
      this.$prompt("单根垂直燃烧次数", "特殊检测项目", {
        confirmButtonText: "确定",
@@ -1244,7 +788,7 @@
          this.currentMethod.insProduct = this.productList0;
          this.getProNum();
        })
        .catch(() => {});
        .catch(() => { });
    },
    singleVerticalData(arr, value) {
      arr.forEach((ins) => {
@@ -1745,7 +1289,7 @@
      try {
        let num = this.replaceAll(tell, symbolItem, value);
        return num;
      } catch (e) {}
      } catch (e) { }
    },
    replaceAll(str, find, value) {
      if (str === undefined) {
@@ -1927,7 +1471,7 @@
                      .then(() => {
                        this.saveMethod(sampleList);
                      })
                      .catch(() => {});
                      .catch(() => { });
                  } else {
                    let isRTS = this.totalArr.find(
                      (a) =>
@@ -2009,7 +1553,7 @@
                .then(() => {
                  this.saveMethod(sampleList);
                })
                .catch(() => {});
                .catch(() => { });
            } else {
              let isRTS = this.totalArr.find(
                (a) =>
@@ -2040,7 +1584,7 @@
        });
      }
    },
    errorSet() {},
    errorSet() { },
    /**
     * 校验委托要求的检验项的要求描述和要求值
     *
@@ -2062,10 +1606,10 @@
          console.log("ask or tell is null");
          this.errorInspectionItemList.push(
            ele.inspectionItem +
              " " +
              (ele.inspectionItemSubclass == null
                ? ""
                : ele.inspectionItemSubclass)
            " " +
            (ele.inspectionItemSubclass == null
              ? ""
              : ele.inspectionItemSubclass)
          );
        });
        isTrue = false;
@@ -2102,10 +1646,10 @@
                    );
                    this.errorInspectionItemList.push(
                      ele.inspectionItem +
                        " " +
                        (ele.inspectionItemSubclass == null
                          ? ""
                          : ele.inspectionItemSubclass)
                      " " +
                      (ele.inspectionItemSubclass == null
                        ? ""
                        : ele.inspectionItemSubclass)
                    );
                    isTrue = false;
                  }
@@ -2114,10 +1658,10 @@
                  console.log("要求值中没有数字");
                  this.errorInspectionItemList.push(
                    ele.inspectionItem +
                      " " +
                      (ele.inspectionItemSubclass == null
                        ? ""
                        : ele.inspectionItemSubclass)
                    " " +
                    (ele.inspectionItemSubclass == null
                      ? ""
                      : ele.inspectionItemSubclass)
                  );
                  isTrue = false;
                }
@@ -2128,10 +1672,10 @@
                  console.log("直径公差之半与0.5不匹配");
                  this.errorInspectionItemList.push(
                    ele.inspectionItem +
                      " " +
                      (ele.inspectionItemSubclass == null
                        ? ""
                        : ele.inspectionItemSubclass)
                    " " +
                    (ele.inspectionItemSubclass == null
                      ? ""
                      : ele.inspectionItemSubclass)
                  );
                  isTrue = false;
                  //   if(ele.tell.indexOf(askVal[0])<0 && ele.tell.indexOf('半')<0){
@@ -2182,10 +1726,10 @@
                    console.log("最大值和最小值相等");
                    this.errorInspectionItemList.push(
                      ele.inspectionItem +
                        " " +
                        (ele.inspectionItemSubclass == null
                          ? ""
                          : ele.inspectionItemSubclass)
                      " " +
                      (ele.inspectionItemSubclass == null
                        ? ""
                        : ele.inspectionItemSubclass)
                    );
                    isTrue = false;
                  }
@@ -2194,20 +1738,20 @@
                    console.log("要求描述中不包含±以及区间的数字");
                    this.errorInspectionItemList.push(
                      ele.inspectionItem +
                        " " +
                        (ele.inspectionItemSubclass == null
                          ? ""
                          : ele.inspectionItemSubclass)
                      " " +
                      (ele.inspectionItemSubclass == null
                        ? ""
                        : ele.inspectionItemSubclass)
                    );
                    isTrue = false;
                  } else if (ele.tell.indexOf("-") == 0) {
                    console.log("要求值的区间格式错误");
                    this.errorInspectionItemList.push(
                      ele.inspectionItem +
                        " " +
                        (ele.inspectionItemSubclass == null
                          ? ""
                          : ele.inspectionItemSubclass)
                      " " +
                      (ele.inspectionItemSubclass == null
                        ? ""
                        : ele.inspectionItemSubclass)
                    );
                    isTrue = false;
                  } else if (tell.indexOf("-") > 0 || tell.indexOf("±") > 0) {
@@ -2226,10 +1770,10 @@
                            console.log("错误的区间设置");
                            this.errorInspectionItemList.push(
                              ele.inspectionItem +
                                " " +
                                (ele.inspectionItemSubclass == null
                                  ? ""
                                  : ele.inspectionItemSubclass)
                              " " +
                              (ele.inspectionItemSubclass == null
                                ? ""
                                : ele.inspectionItemSubclass)
                            );
                            isTrue = false;
                          }
@@ -2242,10 +1786,10 @@
                        console.log(777777);
                        this.errorInspectionItemList.push(
                          ele.inspectionItem +
                            " " +
                            (ele.inspectionItemSubclass == null
                              ? ""
                              : ele.inspectionItemSubclass)
                          " " +
                          (ele.inspectionItemSubclass == null
                            ? ""
                            : ele.inspectionItemSubclass)
                        );
                        isTrue = false;
                      } else {
@@ -2262,10 +1806,10 @@
                          console.log(888888);
                          this.errorInspectionItemList.push(
                            ele.inspectionItem +
                              " " +
                              (ele.inspectionItemSubclass == null
                                ? ""
                                : ele.inspectionItemSubclass)
                            " " +
                            (ele.inspectionItemSubclass == null
                              ? ""
                              : ele.inspectionItemSubclass)
                          );
                          isTrue = false;
                        }
@@ -2279,10 +1823,10 @@
                        console.log(99999);
                        this.errorInspectionItemList.push(
                          ele.inspectionItem +
                            " " +
                            (ele.inspectionItemSubclass == null
                              ? ""
                              : ele.inspectionItemSubclass)
                          " " +
                          (ele.inspectionItemSubclass == null
                            ? ""
                            : ele.inspectionItemSubclass)
                        );
                        isTrue = false;
                      }
@@ -2292,10 +1836,10 @@
                  console.log(1010101001);
                  this.errorInspectionItemList.push(
                    ele.inspectionItem +
                      " " +
                      (ele.inspectionItemSubclass == null
                        ? ""
                        : ele.inspectionItemSubclass)
                    " " +
                    (ele.inspectionItemSubclass == null
                      ? ""
                      : ele.inspectionItemSubclass)
                  );
                  isTrue = false;
                }
@@ -2606,8 +2150,8 @@
                    a.model =
                      a.model +
                      (a.modelNum == null ||
                      a.modelNum == "" ||
                      a.modelNum == "null"
                        a.modelNum == "" ||
                        a.modelNum == "null"
                        ? ""
                        : "-" + a.modelNum);
                  }
@@ -2615,8 +2159,8 @@
                  a.model =
                    a.model +
                    (a.modelNum == null ||
                    a.modelNum == "" ||
                    a.modelNum == "null"
                      a.modelNum == "" ||
                      a.modelNum == "null"
                      ? ""
                      : "-" + a.modelNum);
                }
@@ -3036,7 +2580,7 @@
            } else {
              this.methods = res.data.standardMethodList;
            }
          } catch (e) {}
          } catch (e) { }
        });
    },
    addStandardTree(currentValue, oldValue) {
@@ -3234,7 +2778,7 @@
          // row.manHour = arr2[index];
          // row.price = arr3[index];
          // row.tell = arr4[index];
        } catch (e) {}
        } catch (e) { }
      }
      if (
        row.bsm === "1" &&
@@ -3393,8 +2937,8 @@
      this.$axios
        .get(
          this.$api.insOrder.selectInsOrderTemplate +
            "?company=" +
            this.addObj.company
          "?company=" +
          this.addObj.company
        )
        .then((res) => {
          if (res.code == 201) return;
@@ -3424,7 +2968,7 @@
              this.$message.error("删除失败");
            });
        })
        .catch(() => {});
        .catch(() => { });
    },
    // 保存模板
    addTemplateDia() {
@@ -4454,17 +3998,21 @@
  line-height: 24px;
  margin-top: 5px;
}
.circulateTable {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.opticalProject {
  width: 38%;
}
.temperatureList {
  width: 60%;
}
.temperatureListTitle {
  display: flex;
  flex-direction: row;
@@ -4484,10 +4032,7 @@
  border-radius: 2px;
}
.ins_order_add
  .el-tree--highlight-current
  .el-tree-node.is-current
  > .el-tree-node__content {
.ins_order_add .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
  color: #3a7bfa;
}
@@ -4515,15 +4060,18 @@
.ins_order_add .el-select .is-disabled .el-input__inner {
  background: transparent !important;
}
.company_input .el-form-item__content,
.sample_input .el-form-item__content {
  width: 72%;
}
.engineeringEn_input .el-form-item__content,
.otcCode_input .el-form-item__content,
.productionEn_input .el-form-item__content {
  width: 65%;
}
.processing_input .el-form-item__content {
  width: 60%;
}