zouyu
2025-03-11 5c6b0c7986698890f46d311738f53c4fb0155210
src/views/business/inspectionOrder/add.vue
@@ -1,35 +1,85 @@
<template>
  <div class="bg-1">
    <div v-show="!configShow && !equipConfigShow && !cableConfigShow">
    <div
      v-show="!configShow && !equipConfigShow && !cableConfigShow"
      style="margin: 5px 15px"
    >
      <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"
          >委托单信息&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="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>
@@ -37,35 +87,79 @@
      </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>
@@ -73,39 +167,82 @@
          <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>
@@ -118,7 +255,11 @@
              </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>
@@ -127,28 +268,59 @@
            </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">
@@ -163,28 +335,53 @@
          <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>
@@ -193,13 +390,29 @@
    </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>
@@ -207,151 +420,385 @@
          <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>
@@ -770,7 +1217,7 @@
      });
    },
    //保存单根垂直燃烧特殊值
    saveSingleVerticalCombustionData() { },
    saveSingleVerticalCombustionData() {},
    openSingleVerticalCombustionDialog() {
      this.$prompt("单根垂直燃烧次数", "特殊检测项目", {
        confirmButtonText: "确定",
@@ -788,7 +1235,7 @@
          this.currentMethod.insProduct = this.productList0;
          this.getProNum();
        })
        .catch(() => { });
        .catch(() => {});
    },
    singleVerticalData(arr, value) {
      arr.forEach((ins) => {
@@ -1289,7 +1736,7 @@
      try {
        let num = this.replaceAll(tell, symbolItem, value);
        return num;
      } catch (e) { }
      } catch (e) {}
    },
    replaceAll(str, find, value) {
      if (str === undefined) {
@@ -1471,7 +1918,7 @@
                      .then(() => {
                        this.saveMethod(sampleList);
                      })
                      .catch(() => { });
                      .catch(() => {});
                  } else {
                    let isRTS = this.totalArr.find(
                      (a) =>
@@ -1553,7 +2000,7 @@
                .then(() => {
                  this.saveMethod(sampleList);
                })
                .catch(() => { });
                .catch(() => {});
            } else {
              let isRTS = this.totalArr.find(
                (a) =>
@@ -1584,7 +2031,7 @@
        });
      }
    },
    errorSet() { },
    errorSet() {},
    /**
     * 校验委托要求的检验项的要求描述和要求值
     *
@@ -1606,10 +2053,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;
@@ -1646,10 +2093,10 @@
                    );
                    this.errorInspectionItemList.push(
                      ele.inspectionItem +
                      " " +
                      (ele.inspectionItemSubclass == null
                        ? ""
                        : ele.inspectionItemSubclass)
                        " " +
                        (ele.inspectionItemSubclass == null
                          ? ""
                          : ele.inspectionItemSubclass)
                    );
                    isTrue = false;
                  }
@@ -1658,10 +2105,10 @@
                  console.log("要求值中没有数字");
                  this.errorInspectionItemList.push(
                    ele.inspectionItem +
                    " " +
                    (ele.inspectionItemSubclass == null
                      ? ""
                      : ele.inspectionItemSubclass)
                      " " +
                      (ele.inspectionItemSubclass == null
                        ? ""
                        : ele.inspectionItemSubclass)
                  );
                  isTrue = false;
                }
@@ -1672,10 +2119,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){
@@ -1726,10 +2173,10 @@
                    console.log("最大值和最小值相等");
                    this.errorInspectionItemList.push(
                      ele.inspectionItem +
                      " " +
                      (ele.inspectionItemSubclass == null
                        ? ""
                        : ele.inspectionItemSubclass)
                        " " +
                        (ele.inspectionItemSubclass == null
                          ? ""
                          : ele.inspectionItemSubclass)
                    );
                    isTrue = false;
                  }
@@ -1738,20 +2185,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) {
@@ -1770,10 +2217,10 @@
                            console.log("错误的区间设置");
                            this.errorInspectionItemList.push(
                              ele.inspectionItem +
                              " " +
                              (ele.inspectionItemSubclass == null
                                ? ""
                                : ele.inspectionItemSubclass)
                                " " +
                                (ele.inspectionItemSubclass == null
                                  ? ""
                                  : ele.inspectionItemSubclass)
                            );
                            isTrue = false;
                          }
@@ -1786,10 +2233,10 @@
                        console.log(777777);
                        this.errorInspectionItemList.push(
                          ele.inspectionItem +
                          " " +
                          (ele.inspectionItemSubclass == null
                            ? ""
                            : ele.inspectionItemSubclass)
                            " " +
                            (ele.inspectionItemSubclass == null
                              ? ""
                              : ele.inspectionItemSubclass)
                        );
                        isTrue = false;
                      } else {
@@ -1806,10 +2253,10 @@
                          console.log(888888);
                          this.errorInspectionItemList.push(
                            ele.inspectionItem +
                            " " +
                            (ele.inspectionItemSubclass == null
                              ? ""
                              : ele.inspectionItemSubclass)
                              " " +
                              (ele.inspectionItemSubclass == null
                                ? ""
                                : ele.inspectionItemSubclass)
                          );
                          isTrue = false;
                        }
@@ -1823,10 +2270,10 @@
                        console.log(99999);
                        this.errorInspectionItemList.push(
                          ele.inspectionItem +
                          " " +
                          (ele.inspectionItemSubclass == null
                            ? ""
                            : ele.inspectionItemSubclass)
                            " " +
                            (ele.inspectionItemSubclass == null
                              ? ""
                              : ele.inspectionItemSubclass)
                        );
                        isTrue = false;
                      }
@@ -1836,10 +2283,10 @@
                  console.log(1010101001);
                  this.errorInspectionItemList.push(
                    ele.inspectionItem +
                    " " +
                    (ele.inspectionItemSubclass == null
                      ? ""
                      : ele.inspectionItemSubclass)
                      " " +
                      (ele.inspectionItemSubclass == null
                        ? ""
                        : ele.inspectionItemSubclass)
                  );
                  isTrue = false;
                }
@@ -2150,8 +2597,8 @@
                    a.model =
                      a.model +
                      (a.modelNum == null ||
                        a.modelNum == "" ||
                        a.modelNum == "null"
                      a.modelNum == "" ||
                      a.modelNum == "null"
                        ? ""
                        : "-" + a.modelNum);
                  }
@@ -2159,8 +2606,8 @@
                  a.model =
                    a.model +
                    (a.modelNum == null ||
                      a.modelNum == "" ||
                      a.modelNum == "null"
                    a.modelNum == "" ||
                    a.modelNum == "null"
                      ? ""
                      : "-" + a.modelNum);
                }
@@ -2580,7 +3027,7 @@
            } else {
              this.methods = res.data.standardMethodList;
            }
          } catch (e) { }
          } catch (e) {}
        });
    },
    addStandardTree(currentValue, oldValue) {
@@ -2778,7 +3225,7 @@
          // row.manHour = arr2[index];
          // row.price = arr3[index];
          // row.tell = arr4[index];
        } catch (e) { }
        } catch (e) {}
      }
      if (
        row.bsm === "1" &&
@@ -2937,8 +3384,8 @@
      this.$axios
        .get(
          this.$api.insOrder.selectInsOrderTemplate +
          "?company=" +
          this.addObj.company
            "?company=" +
            this.addObj.company
        )
        .then((res) => {
          if (res.code == 201) return;
@@ -2968,7 +3415,7 @@
              this.$message.error("删除失败");
            });
        })
        .catch(() => { });
        .catch(() => {});
    },
    // 保存模板
    addTemplateDia() {
@@ -4032,7 +4479,10 @@
  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;
}
@@ -4063,13 +4513,13 @@
.company_input .el-form-item__content,
.sample_input .el-form-item__content {
  width: 72%;
  width: 70%;
}
.engineeringEn_input .el-form-item__content,
.otcCode_input .el-form-item__content,
.productionEn_input .el-form-item__content {
  width: 65%;
  width: 63%;
}
.processing_input .el-form-item__content {