zouyu
2025-03-11 5c6b0c7986698890f46d311738f53c4fb0155210
检验下单:数据查看
已修改5个文件
2658 ■■■■ 文件已修改
src/api/business/inspectionOrder.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/styles/index.scss 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Table/lims-table.vue 274 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/inspectionOrder/add.vue 862 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/inspectionOrder/index.vue 1516 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/business/inspectionOrder.js
@@ -120,7 +120,7 @@
export function exportChecked(query) {
  return request({
    url: '/insOrder/exportChecked',
    method: 'get',
    method: 'post',
    data: query,
    responseType:'blob'
  })
src/assets/styles/index.scss
@@ -199,8 +199,8 @@
.bg-1 {
  width: 100%;
  height: calc(100% - 50px);
  min-height: calc(100vh - 90px);
  overflow-y: auto;
  padding: 20px 10px 10px;
  // padding: 20px 10px 10px;
  background: rgb(245, 247, 251);
}
src/components/Table/lims-table.vue
@@ -1,29 +1,85 @@
<template>
  <div>
    <!-- 表格 -->
    <el-table ref="multipleTable" v-loading="tableLoading" :border="border" :data="tableData"
      :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" :height="height"
      :highlight-current-row="highlightCurrentRow" :row-class-name="rowClassName" :row-style="rowStyle"
      :row-key="rowKey" :span-method="spanMethod" stripe style="width: 100%" tooltip-effect="dark" @row-click="rowClick"
      @current-change="currentChange" @selection-change="handleSelectionChange" class="lims-table">
      <el-table-column align="center" type="selection" width="55" v-if="isSelection" />
      <el-table-column align="center" label="序号" type="index" width="60" :index="indexMethod" />
    <el-table
      ref="multipleTable"
      v-loading="tableLoading"
      :border="border"
      :data="tableData"
      :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }"
      :height="height"
      :highlight-current-row="highlightCurrentRow"
      :row-class-name="rowClassName"
      :row-style="rowStyle"
      :row-key="rowKey"
      :span-method="spanMethod"
      stripe
      style="width: 100%"
      tooltip-effect="dark"
      @row-click="rowClick"
      @current-change="currentChange"
      @selection-change="handleSelectionChange"
      class="lims-table"
    >
      <el-table-column
        align="center"
        type="selection"
        width="55"
        v-if="isSelection"
      />
      <el-table-column
        align="center"
        label="序号"
        type="index"
        width="60"
        :index="indexMethod"
      />
      <el-table-column v-for="(item, index) in column" :key="index" :column-key="item.columnKey"
        :filter-method="item.filterHandler" :filter-multiple="item.filterMultiple" :filtered-value="item.filteredValue"
        :filters="item.filters" :fixed="item.fixed" :label="item.label" :min-width="item.minWidth" :prop="item.prop"
        :show-overflow-tooltip="item.dataType === 'action' || item.dataType === 'slot' ? false : true"
        :sortable="item.sortable ? true : false" :type="item.type"
        :width="item.dataType === 'action' ? getWidth(item.operation) : item.width" align="center">
      <el-table-column
        v-for="(item, index) in column"
        :key="index"
        :column-key="item.columnKey"
        :filter-method="item.filterHandler"
        :filter-multiple="item.filterMultiple"
        :filtered-value="item.filteredValue"
        :filters="item.filters"
        :fixed="item.fixed"
        :label="item.label"
        :min-width="item.minWidth"
        :prop="item.prop"
        :show-overflow-tooltip="
          item.dataType === 'action' || item.dataType === 'slot' ? false : true
        "
        :sortable="item.sortable ? true : false"
        :type="item.type"
        :width="
          item.dataType === 'action' ? getWidth(item.operation) : item.width
        "
        align="center"
      >
        <!-- <div class="123" v-if="item.type == ''"> -->
        <template v-if="item.hasOwnProperty('colunmTemplate')" :slot="item.colunmTemplate" slot-scope="scope">
          <slot v-if="item.theadSlot" :index="index" :name="item.theadSlot" :row="scope.row" />
        <template
          v-if="item.hasOwnProperty('colunmTemplate')"
          :slot="item.colunmTemplate"
          slot-scope="scope"
        >
          <slot
            v-if="item.theadSlot"
            :index="index"
            :name="item.theadSlot"
            :row="scope.row"
          />
        </template>
        <template slot-scope="scope">
          <!-- 插槽 -->
          <div v-if="item.dataType == 'slot'">
            <slot v-if="item.slot" :index="scope.$index" :name="item.slot" :row="scope.row" />
            <slot
              v-if="item.slot"
              :index="scope.$index"
              :name="item.slot"
              :row="scope.row"
            />
          </div>
          <!-- 进度条 -->
          <div v-else-if="item.dataType == 'progress'">
@@ -31,73 +87,140 @@
          </div>
          <!-- 图片 -->
          <div v-else-if="item.dataType == 'image'">
            <img :src="javaApi + '/img/' + scope.row[item.prop]" alt=""
              style="width: 40px; height: 40px; margin-top: 10px" />
            <img
              :src="javaApi + '/img/' + scope.row[item.prop]"
              alt=""
              style="width: 40px; height: 40px; margin-top: 10px"
            />
          </div>
          <!-- tag -->
          <div v-else-if="item.dataType == 'tag'">
            <el-tag v-if="
              typeof dataTypeFn(scope.row[item.prop], item.formatData) ==
              'string'
            " :title="scope.row[item.prop] | formatters(item.formatData)"
              :type="formatType(scope.row[item.prop], item.formatType)">{{ scope.row[item.prop] |
                formatters(item.formatData) }}</el-tag>
            <el-tag v-for="(tag, index) in dataTypeFn(
              scope.row[item.prop],
              item.formatData
            )" v-else-if="
              typeof dataTypeFn(scope.row[item.prop], item.formatData) ==
              'object'
            " :key="index" :title="scope.row[item.prop] | formatters(item.formatData)"
              :type="formatType(tag, item.formatType)">{{
            <el-tag
              v-if="
                typeof dataTypeFn(scope.row[item.prop], item.formatData) ==
                'string'
              "
              :title="scope.row[item.prop] | formatters(item.formatData)"
              :type="formatType(scope.row[item.prop], item.formatType)"
              >{{ scope.row[item.prop] | formatters(item.formatData) }}</el-tag
            >
            <el-tag
              v-for="(tag, index) in dataTypeFn(
                scope.row[item.prop],
                item.formatData
              )"
              v-else-if="
                typeof dataTypeFn(scope.row[item.prop], item.formatData) ==
                'object'
              "
              :key="index"
              :title="scope.row[item.prop] | formatters(item.formatData)"
              :type="formatType(tag, item.formatType)"
              >{{
                item.tagGroup
                  ? tag[item.tagGroup.label]
                    ? tag[item.tagGroup.label]
                    : tag
                  : tag
              }}</el-tag>
            <el-tag v-else :title="scope.row[item.prop] | formatters(item.formatData)"
              :type="formatType(scope.row[item.prop], item.formatType)">{{ scope.row[item.prop] |
                formatters(item.formatData) }}</el-tag>
              }}</el-tag
            >
            <el-tag
              v-else
              :title="scope.row[item.prop] | formatters(item.formatData)"
              :type="formatType(scope.row[item.prop], item.formatType)"
              >{{ scope.row[item.prop] | formatters(item.formatData) }}</el-tag
            >
          </div>
          <!-- 按钮 -->
          <div v-else-if="item.dataType == 'action'">
            <template v-for="(o, key) in item.operation">
              <el-button v-show="o.type != 'upload'" size="mini" v-if="o.showHide ? o.showHide(scope.row) : true"
                :disabled="o.disabled ? o.disabled(scope.row) : false" :icon="iconFn(o)" :plain="o.plain"
                :style="{ color: o.name === '删除' ? '#f56c6c' : o.color }" :type="o.type | typeFn(scope.row)"
                @click="o.clickFun(scope.row)" :key="key">
              <el-button
                v-show="o.type != 'upload'"
                size="mini"
                v-if="o.showHide ? o.showHide(scope.row) : true"
                :disabled="o.disabled ? o.disabled(scope.row) : false"
                :icon="iconFn(o)"
                :plain="o.plain"
                :style="{ color: o.name === '删除' ? '#f56c6c' : o.color }"
                :type="o.type | typeFn(scope.row)"
                @click="o.clickFun(scope.row)"
                :key="key"
              >
                {{ o.name }}
              </el-button>
              <el-upload :action="javaApi + o.url + '?id=' + (o.uploadIdFun ? o.uploadIdFun(scope.row) : scope.row.id)"
                size="mini" ref="upload" :multiple="o.multiple ? o.multiple : false" :limit="1"
                :disabled="o.disabled ? o.disabled(scope.row) : false" :accept="o.accept
                  ? o.accept
                  : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
                  " v-if="o.type == 'upload' && o.url" style="display: inline-block; width: 50px"
                v-show="o.showHide ? o.showHide(scope.row) : true" :headers="uploadHeader" :on-error="onError"
                :on-exceed="onExceed" :on-success="handleSuccessUp" :show-file-list="false" :key="key">
                <el-button :size="o.size ? o.size : 'small'" type="text"
                  :disabled="o.disabled ? o.disabled(scope.row) : false">{{ o.name }}</el-button>
              <el-upload
                :action="
                  javaApi +
                  o.url +
                  '?id=' +
                  (o.uploadIdFun ? o.uploadIdFun(scope.row) : scope.row.id)
                "
                size="mini"
                ref="upload"
                :multiple="o.multiple ? o.multiple : false"
                :limit="1"
                :disabled="o.disabled ? o.disabled(scope.row) : false"
                :accept="
                  o.accept
                    ? o.accept
                    : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
                "
                v-if="o.type == 'upload' && o.url"
                style="display: inline-block; width: 50px"
                v-show="o.showHide ? o.showHide(scope.row) : true"
                :headers="uploadHeader"
                :on-error="onError"
                :on-exceed="onExceed"
                :on-success="handleSuccessUp"
                :show-file-list="false"
                :key="key"
              >
                <el-button
                  :size="o.size ? o.size : 'small'"
                  type="text"
                  :disabled="o.disabled ? o.disabled(scope.row) : false"
                  >{{ o.name }}</el-button
                >
              </el-upload>
              <el-upload action="#" :on-change="(file, fileList) => o.clickFun(scope.row, file, fileList)
                " :multiple="o.multiple ? o.multiple : false" :limit="o.limit ? o.limit : 1"
                :disabled="o.disabled ? o.disabled(scope.row) : false" :accept="o.accept
                  ? o.accept
                  : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
                  " v-if="o.type == 'upload' && !o.url" style="display: inline-block; width: 50px"
                v-show="o.showHide ? o.showHide(scope.row) : true" :auto-upload="false" :on-exceed="onExceed"
                :show-file-list="false" :key="key">
                <el-button :size="o.size ? o.size : 'small'" type="text"
                  :disabled="o.disabled ? o.disabled(scope.row) : false">{{ o.name }}</el-button>
              <el-upload
                action="#"
                :on-change="
                  (file, fileList) => o.clickFun(scope.row, file, fileList)
                "
                :multiple="o.multiple ? o.multiple : false"
                :limit="o.limit ? o.limit : 1"
                :disabled="o.disabled ? o.disabled(scope.row) : false"
                :accept="
                  o.accept
                    ? o.accept
                    : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
                "
                v-if="o.type == 'upload' && !o.url"
                style="display: inline-block; width: 50px"
                v-show="o.showHide ? o.showHide(scope.row) : true"
                :auto-upload="false"
                :on-exceed="onExceed"
                :show-file-list="false"
                :key="key"
              >
                <el-button
                  :size="o.size ? o.size : 'small'"
                  type="text"
                  :disabled="o.disabled ? o.disabled(scope.row) : false"
                  >{{ o.name }}</el-button
                >
              </el-upload>
            </template>
          </div>
          <!-- 可点击的文字 -->
          <div v-else-if="item.dataType == 'link'" class="cell link" style="width: 100%"
            @click="goLink(scope.row, item.linkMethod)">
          <div
            v-else-if="item.dataType == 'link'"
            class="cell link"
            style="width: 100%"
            @click="goLink(scope.row, item.linkMethod)"
          >
            <span v-if="!item.formatData">{{ scope.row[item.prop] }}</span>
          </div>
          <!-- 默认纯展示数据 -->
@@ -110,8 +233,16 @@
        </template>
      </el-table-column>
    </el-table>
    <pagination v-if="page" v-show="page.total > 0" :total="page.total" :layout="page.layout" :page.sync="page.current"
      :limit.sync="page.size" @pagination="pagination" style="background-color: #fff;" />
    <pagination
      v-if="page"
      v-show="page.total > 0"
      :total="page.total"
      :layout="page.layout"
      :page.sync="page.current"
      :limit.sync="page.size"
      @pagination="pagination"
      style="background-color: #fff"
    />
  </div>
</template>
@@ -169,7 +300,6 @@
  name: "ZTTable",
  filters: {
    typeFn(val, row) {
      // console.log(val, row, '11111111');
      if (typeof val === "function") {
        return val(row);
      } else return val;
@@ -201,19 +331,19 @@
    handleSelectionChange: {
      type: Function,
      default: () => {
        return () => { };
        return () => {};
      },
    },
    rowClick: {
      type: Function,
      default: () => {
        return () => { };
        return () => {};
      },
    },
    currentChange: {
      type: Function,
      default: () => {
        return () => { };
        return () => {};
      },
    },
    border: {
@@ -238,7 +368,7 @@
    },
    rowClassName: {
      type: Function,
      default: () => { },
      default: () => {},
    },
    rowStyle: {
      type: Function,
@@ -433,11 +563,11 @@
</script>
<style scoped>
.el-table>>>.el-table__empty-text {
.el-table >>> .el-table__empty-text {
  text-align: center;
}
>>>.cell {
>>> .cell {
  padding: 0 !important;
}
@@ -454,7 +584,7 @@
  cursor: pointer;
}
>>>.el-table__body-wrapper::-webkit-scrollbar {
>>> .el-table__body-wrapper::-webkit-scrollbar {
  height: 14px;
  /* 设置滚动条宽度 */
}
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 {
src/views/business/inspectionOrder/index.vue
@@ -4,11 +4,23 @@
      <el-row class="title">
        <el-col :span="12" style="text-align: left">检验下单</el-col>
        <el-col :span="12" style="text-align: right">
          <el-button size="medium" type="primary" @click="dialogVisible1 = true"
            :loading="exportCheckedLoading">导出检验结果</el-button>
          <el-button size="medium" type="primary" @click="print">标签打印</el-button>
          <el-button size="medium" type="primary" @click="playOrder(1)"
            v-hasPermi="['business:order:add']">下单</el-button>
          <el-button
            size="medium"
            type="primary"
            @click="dialogVisible1 = true"
            :loading="exportCheckedLoading"
            >导出检验结果</el-button
          >
          <el-button size="medium" type="primary" @click="print"
            >标签打印</el-button
          >
          <el-button
            size="medium"
            type="primary"
            @click="playOrder(1)"
            v-hasPermi="['business:order:add']"
            >下单</el-button
          >
        </el-col>
      </el-row>
    </div>
@@ -19,8 +31,13 @@
            <div class="search_thing" style="width: 20%">
              <div class="search_label">委托编号:</div>
              <div class="search_input">
                <el-input size="small" placeholder="请输入" clearable v-model="queryParams.entrustCode"
                  @keyup.enter.native="refreshTable()"></el-input>
                <el-input
                  size="small"
                  placeholder="请输入"
                  clearable
                  v-model="queryParams.entrustCode"
                  @keyup.enter.native="refreshTable()"
                ></el-input>
              </div>
            </div>
            <div class="search_thing" style="width: 20%">
@@ -28,68 +45,119 @@
                外部委托编号:
              </div>
              <div class="search_input">
                <el-input size="small" placeholder="请输入" clearable v-model="queryParams.outEntrustCode"
                  @keyup.enter.native="refreshTable()"></el-input>
                <el-input
                  size="small"
                  placeholder="请输入"
                  clearable
                  v-model="queryParams.outEntrustCode"
                  @keyup.enter.native="refreshTable()"
                ></el-input>
              </div>
            </div>
            <div class="search_thing" style="width: 20%">
              <div class="search_label">样品名称:</div>
              <div class="search_input">
                <el-input size="small" placeholder="请输入" clearable v-model="queryParams.sampleName"
                  @keyup.enter.native="refreshTable()"></el-input>
                <el-input
                  size="small"
                  placeholder="请输入"
                  clearable
                  v-model="queryParams.sampleName"
                  @keyup.enter.native="refreshTable()"
                ></el-input>
              </div>
            </div>
            <div class="search_thing" style="width: 20%">
              <div class="search_label">样品型号:</div>
              <div class="search_input">
                <el-input size="small" placeholder="请输入" clearable v-model="queryParams.sampleModel"
                  @keyup.enter.native="refreshTable()"></el-input>
                <el-input
                  size="small"
                  placeholder="请输入"
                  clearable
                  v-model="queryParams.sampleModel"
                  @keyup.enter.native="refreshTable()"
                ></el-input>
              </div>
            </div>
            <div class="search_thing" style="width: 20%">
              <div class="search_label">样品编号:</div>
              <div class="search_input">
                <el-input size="small" placeholder="请输入" clearable v-model="queryParams.sampleCode"
                  @keyup.enter.native="refreshTable()"></el-input>
                <el-input
                  size="small"
                  placeholder="请输入"
                  clearable
                  v-model="queryParams.sampleCode"
                  @keyup.enter.native="refreshTable()"
                ></el-input>
              </div>
            </div>
            <div class="search_thing" style="width: 40%" v-if="more">
              <div class="search_label">下单时间:</div>
              <div class="search_input">
                <el-date-picker style="width: 100%" v-model="queryParams.startAndEndTime" type="daterange" size="small"
                  range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd"
                  clearable placeholder="选择日期">
                <el-date-picker
                  style="width: 100%"
                  v-model="queryParams.startAndEndTime"
                  type="daterange"
                  size="small"
                  range-separator="至"
                  start-placeholder="开始日期"
                  end-placeholder="结束日期"
                  value-format="yyyy-MM-dd"
                  clearable
                  placeholder="选择日期"
                >
                </el-date-picker>
              </div>
            </div>
            <div class="search_thing" style="width: 20%" v-if="more">
              <div class="search_label">下单人:</div>
              <div class="search_input">
                <el-input size="small" placeholder="请输入" clearable v-model="queryParams.name"
                  @keyup.enter.native="refreshTable()"></el-input>
                <el-input
                  size="small"
                  placeholder="请输入"
                  clearable
                  v-model="queryParams.name"
                  @keyup.enter.native="refreshTable()"
                ></el-input>
              </div>
            </div>
            <div class="search_thing" style="width: 20%" v-if="more">
              <div class="search_label">工程名称:</div>
              <div class="search_input">
                <el-input size="small" placeholder="请输入" clearable v-model="queryParams.engineering"
                  @keyup.enter.native="refreshTable()"></el-input>
                <el-input
                  size="small"
                  placeholder="请输入"
                  clearable
                  v-model="queryParams.engineering"
                  @keyup.enter.native="refreshTable()"
                ></el-input>
              </div>
            </div>
            <div class="search_thing" style="width: 20%" v-if="more">
              <div class="search_label">生产单位:</div>
              <div class="search_input">
                <el-input size="small" placeholder="请输入" clearable v-model="queryParams.production"
                  @keyup.enter.native="refreshTable()"></el-input>
                <el-input
                  size="small"
                  placeholder="请输入"
                  clearable
                  v-model="queryParams.production"
                  @keyup.enter.native="refreshTable()"
                ></el-input>
              </div>
            </div>
          </el-col>
          <el-col :span="4">
            <div class="search_thing">
              <el-button type="text" :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="color: #3a7bfa"
                @click="more = !more">{{ !more ? "更多" : "收起" }}</el-button>
              <el-button
                type="text"
                :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'"
                style="color: #3a7bfa"
                @click="more = !more"
                >{{ !more ? "更多" : "收起" }}</el-button
              >
              <el-button size="small" @click="refresh()">重 置</el-button>
              <el-button size="small" type="primary" @click="refreshTable()">查 询</el-button>
              <el-button size="small" type="primary" @click="refreshTable()"
                >查 询</el-button
              >
            </div>
          </el-col>
        </el-row>
@@ -99,59 +167,117 @@
      <div v-show="active == 0">
        <div class="table">
          <ul class="tab">
            <li v-for="(m, i) in tabList" :key="i + 'afgh'" :class="{ active: i == tabIndex }" @click="handleTab(m, i)">
            <li
              v-for="(m, i) in tabList"
              :key="i + 'afgh'"
              :class="{ active: i == tabIndex }"
              @click="handleTab(m, i)"
            >
              {{ m.label }}
            </li>
          </ul>
          <lims-table :tableData="tableData" :height="tableHeight + ''" @pagination="pagination" :column="column"
            :page="page" :tableLoading="tableLoading"></lims-table>
          <lims-table
            isSelection
            :tableData="tableData"
            :height="tableHeight + ''"
            @pagination="pagination"
            :handleSelectionChange="selectionChange"
            :column="column"
            :page="page"
            :tableLoading="tableLoading"
          ></lims-table>
        </div>
        <!-- 审核 -->
        <el-dialog title="下单审核" :visible.sync="verifyDialogVisible" width="30%" :before-close="handleClose">
        <el-dialog
          title="下单审核"
          :visible.sync="verifyDialogVisible"
          width="30%"
          :before-close="handleClose"
        >
          <p style="font-size: 16px; color: #333333" v-if="!isPass">
            委托编号<span style="color: #34bd66">ZTMS2023071001</span>的信息是否通过
            委托编号<span style="color: #34bd66">ZTMS2023071001</span
            >的信息是否通过
          </p>
          <el-form :label-position="labelPosition" :model="formData" label-width="150px" ref="ruleForm" v-else>
          <el-form
            :label-position="labelPosition"
            :model="formData"
            label-width="150px"
            ref="ruleForm"
            v-else
          >
            <el-form-item label="请输入样品库位号:">
              <el-input v-model="formData.specificationModel" size="small" style="width: 60%"></el-input>
              <el-input
                v-model="formData.specificationModel"
                size="small"
                style="width: 60%"
              ></el-input>
            </el-form-item>
          </el-form>
          <span slot="footer" class="dialog-footer">
            <el-row v-if="!isPass">
              <el-button @click="handleClose">退 回</el-button>
              <el-button type="primary" @click="submitForm" :loading="upLoad">通 过</el-button>
              <el-button type="primary" @click="submitForm" :loading="upLoad"
                >通 过</el-button
              >
            </el-row>
            <el-row v-else>
              <el-button @click="handleClose">返 回</el-button>
              <el-button type="primary" @click="submitForm" :loading="upLoad">确 定</el-button>
              <el-button type="primary" @click="submitForm" :loading="upLoad"
                >确 定</el-button
              >
            </el-row>
          </span>
        </el-dialog>
        <!-- 撤销 -->
        <el-dialog title="下单撤销" :visible.sync="quashDialogVisible" width="30%" :before-close="handleClose">
        <el-dialog
          title="下单撤销"
          :visible.sync="quashDialogVisible"
          width="30%"
          :before-close="handleClose"
        >
          <p style="font-size: 16px; color: #333333" v-if="!isQuash">
            委托编号<span style="color: #34bd66">{{
              this.insOrderRow.entrustCode
            }}</span>的信息是否撤销
            }}</span
            >的信息是否撤销
          </p>
          <el-form :label-position="labelPosition" :model="formData" label-width="150px" ref="ruleForm" v-else>
          <el-form
            :label-position="labelPosition"
            :model="formData"
            label-width="150px"
            ref="ruleForm"
            v-else
          >
            <el-form-item label="请输入撤销原因:">
              <el-input v-model="formData.specificationModel" size="small" style="width: 60%"></el-input>
              <el-input
                v-model="formData.specificationModel"
                size="small"
                style="width: 60%"
              ></el-input>
            </el-form-item>
          </el-form>
          <span slot="footer" class="dialog-footer">
            <el-row v-if="!isQuash">
              <el-button @click="handleClose">取 消</el-button>
              <el-button type="primary" @click="submitForm" :loading="upLoad">确 定</el-button>
              <el-button type="primary" @click="submitForm" :loading="upLoad"
                >确 定</el-button
              >
            </el-row>
            <el-row v-else>
              <el-button @click="handleClose">返 回</el-button>
              <el-button type="primary" @click="submitForm" :loading="upLoad">确 定</el-button>
              <el-button type="primary" @click="submitForm" :loading="upLoad"
                >确 定</el-button
              >
            </el-row>
          </span>
        </el-dialog>
        <!-- 下发 -->
        <el-dialog title="检验分配" :visible.sync="issuedDialogVisible" width="400px" :before-close="handleClose">
        <el-dialog
          title="检验分配"
          :visible.sync="issuedDialogVisible"
          width="400px"
          :before-close="handleClose"
        >
          <div class="body" style="max-height: 60vh">
            <el-row>
              <el-col class="search_thing" style="width: 95%">
@@ -159,34 +285,73 @@
                  <span class="required-span">* </span>约定时间:
                </div>
                <div class="search_input">
                  <el-date-picker size="small" v-model="distributeData.appointed" type="date" placeholder="选择日期"
                    value-format="yyyy-MM-dd" style="width: 100%" format="yyyy-MM-dd">
                  <el-date-picker
                    size="small"
                    v-model="distributeData.appointed"
                    type="date"
                    placeholder="选择日期"
                    value-format="yyyy-MM-dd"
                    style="width: 100%"
                    format="yyyy-MM-dd"
                  >
                  </el-date-picker>
                </div>
              </el-col>
              <el-col class="search_thing" style="width: 95%">
                <div class="search_label">
                  <span class="required-span" v-show="distributeData.type == 2">* </span>指派人员:
                  <span class="required-span" v-show="distributeData.type == 2"
                    >* </span
                  >指派人员:
                </div>
                <div class="search_input">
                  <el-select v-model="distributeData.userId" placeholder="请选择" size="small" style="width: 100%"
                    clearable filterable @change="changeUser">
                    <el-option-group v-for="(item, index) in Object.keys(personList)" :key="index" :label="item">
                      <el-option v-for="op in personList[item]" :key="op.id" :label="op.name" :value="op.id">
                  <el-select
                    v-model="distributeData.userId"
                    placeholder="请选择"
                    size="small"
                    style="width: 100%"
                    clearable
                    filterable
                    @change="changeUser"
                  >
                    <el-option-group
                      v-for="(item, index) in Object.keys(personList)"
                      :key="index"
                      :label="item"
                    >
                      <el-option
                        v-for="op in personList[item]"
                        :key="op.id"
                        :label="op.name"
                        :value="op.id"
                      >
                      </el-option>
                    </el-option-group>
                  </el-select>
                </div>
              </el-col>
              <el-col class="search_thing" style="width: 95%" v-if="distributeData.userId">
              <el-col
                class="search_thing"
                style="width: 95%"
                v-if="distributeData.userId"
              >
                <div class="search_label">
                  <span class="required-span">* </span>试验室:
                </div>
                <div class="search_input">
                  <el-select v-model="distributeData.sonLaboratory" placeholder="请选择11" size="small" style="width: 100%"
                    clearable filterable>
                    <el-option v-for="(item, i) in sonLaboratoryList" :key="i + 'oooo'" :label="item.label"
                      :value="item.value">
                  <el-select
                    v-model="distributeData.sonLaboratory"
                    placeholder="请选择11"
                    size="small"
                    style="width: 100%"
                    clearable
                    filterable
                  >
                    <el-option
                      v-for="(item, i) in sonLaboratoryList"
                      :key="i + 'oooo'"
                      :label="item.label"
                      :value="item.value"
                    >
                    </el-option>
                  </el-select>
                </div>
@@ -196,18 +361,32 @@
          <span slot="footer" class="dialog-footer">
            <el-row>
              <el-button @click="handleClose2">取 消</el-button>
              <el-button type="primary" @click="submitForm2" :loading="upLoad">确 定</el-button>
              <el-button type="primary" @click="submitForm2" :loading="upLoad"
                >确 定</el-button
              >
            </el-row>
          </span>
        </el-dialog>
        <el-dialog title="数据查看" :visible.sync="dataDialogVisible" width="100%" fullscreen>
          <div style="height: 80vh; overflow-y: auto" v-if="dataDialogVisible">
            <ValueTable ref="ValueTableDataLook" :rowKey="'insProductId'"
              :url="$api.insOrder.selectSampleAndProductByOrderId" :componentData="componentDataDataLook" />
          </div>
        <el-dialog
          title="数据查看"
          :visible.sync="dataDialogVisible"
          width="100%"
          fullscreen
        >
          <lims-table
            :heigt="'80vh'"
            :tableData="dataLooktableData"
            :column="dataLookcolumn"
            :tableLoading="dataLookTableLoading"
          ></lims-table>
        </el-dialog>
        <el-dialog top="5vh" :title="deleteTilte" :visible.sync="deleteDialogVisible" :before-close="handleCloseDelete"
          width="80%">
        <el-dialog
          top="5vh"
          :title="deleteTilte"
          :visible.sync="deleteDialogVisible"
          :before-close="handleCloseDelete"
          width="80%"
        >
          <div class="table-container" v-if="deleteDialogVisible">
            <!-- <ValueTable
            ref="ValueTableDataDelete"
@@ -221,23 +400,57 @@
            :componentData="componentDataDelete"
            :isColumnWidth="true"
          /> -->
            <el-table height="500px" ref="revokeTable" @select="handleSelectionChange" @select-all="handleSelectionAll"
              :data="treeTableData" style="width: 100%" row-key="id" border lazy :load="load"
              :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
              <el-table-column v-if="deleteTilte == '撤销'" type="selection" width="55"></el-table-column>
              <el-table-column prop="sampleCode" label="样品编号" show-overflow-tooltip>
            <el-table
              height="500px"
              ref="revokeTable"
              @select="handleSelectionChange"
              @select-all="handleSelectionAll"
              :data="treeTableData"
              style="width: 100%"
              row-key="id"
              border
              lazy
              :load="load"
              :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
            >
              <el-table-column
                v-if="deleteTilte == '撤销'"
                type="selection"
                width="55"
              ></el-table-column>
              <el-table-column
                prop="sampleCode"
                label="样品编号"
                show-overflow-tooltip
              >
              </el-table-column>
              <el-table-column prop="inspectionItem" label="检验项" show-overflow-tooltip>
              <el-table-column
                prop="inspectionItem"
                label="检验项"
                show-overflow-tooltip
              >
              </el-table-column>
              <el-table-column prop="inspectionItemSubclass" label="检验子项" show-overflow-tooltip>
              <el-table-column
                prop="inspectionItemSubclass"
                label="检验子项"
                show-overflow-tooltip
              >
              </el-table-column>
              <el-table-column prop="sampleType" label="样品分类" show-overflow-tooltip>
              <el-table-column
                prop="sampleType"
                label="样品分类"
                show-overflow-tooltip
              >
              </el-table-column>
              <el-table-column prop="sample" label="样品" show-overflow-tooltip>
              </el-table-column>
              <el-table-column prop="model" label="型号" show-overflow-tooltip>
              </el-table-column>
              <el-table-column prop="sonLaboratory" label="试验室" show-overflow-tooltip>
              <el-table-column
                prop="sonLaboratory"
                label="试验室"
                show-overflow-tooltip
              >
              </el-table-column>
              <el-table-column prop="tell" label="要求值" show-overflow-tooltip>
              </el-table-column>
@@ -248,46 +461,117 @@
              <el-button @click="handleNo">{{
                deleteTilte == "撤销" ? "取 消" : "不通过"
              }}</el-button>
              <el-button type="primary" @click="submitDelete" :loading="printLoading">{{ deleteTilte == "撤销" ? "确 定" :
                "通 过" }}</el-button>
              <el-button
                type="primary"
                @click="submitDelete"
                :loading="printLoading"
                >{{ deleteTilte == "撤销" ? "确 定" : "通 过" }}</el-button
              >
            </el-row>
          </span>
        </el-dialog>
        <!-- 数据查看详情 -->
        <el-dialog title="查看详情" :visible.sync="dialogVisible" width="70%" :before-close="handleClose3">
          <el-table v-if="type == '单根垂直燃烧' || type == '松套管'" :data="viewDetailsList" height="400px" border
            style="width: 100%">
            <el-table-column type="index" label="序号" width="80px"></el-table-column>
            <el-table-column prop="entrustCode" label="委托单号"></el-table-column>
            <el-table-column prop="sampleCode" label="样品编号"></el-table-column>
        <el-dialog
          title="查看详情"
          :visible.sync="dialogVisible"
          width="70%"
          :before-close="handleClose3"
        >
          <el-table
            v-if="type == '单根垂直燃烧' || type == '松套管'"
            :data="viewDetailsList"
            height="400px"
            border
            style="width: 100%"
          >
            <el-table-column
              type="index"
              label="序号"
              width="80px"
            ></el-table-column>
            <el-table-column
              prop="entrustCode"
              label="委托单号"
            ></el-table-column>
            <el-table-column
              prop="sampleCode"
              label="样品编号"
            ></el-table-column>
            <el-table-column prop="color" label="套管"></el-table-column>
            <!-- <el-table-column prop="inspectionItem" label="检验项"></el-table-column> -->
            <el-table-column prop="insValue" label="检验结果"></el-table-column>
          </el-table>
          <el-table v-if="type == '抗拉强度'" :data="viewDetailsList" height="400px" border style="width: 100%">
            <el-table-column type="index" label="序号" width="80px"></el-table-column>
            <el-table-column prop="inspectionItem" label="检验项"></el-table-column>
            <el-table-column prop="inspectionItemSubclass" label="检验子项"></el-table-column>
          <el-table
            v-if="type == '抗拉强度'"
            :data="viewDetailsList"
            height="400px"
            border
            style="width: 100%"
          >
            <el-table-column
              type="index"
              label="序号"
              width="80px"
            ></el-table-column>
            <el-table-column
              prop="inspectionItem"
              label="检验项"
            ></el-table-column>
            <el-table-column
              prop="inspectionItemSubclass"
              label="检验子项"
            ></el-table-column>
            <el-table-column prop="width" label="宽度"></el-table-column>
            <el-table-column prop="thickness" label="厚度"></el-table-column>
            <el-table-column prop="testValue" label="检验值"></el-table-column>
          </el-table>
          <el-table v-if="type == '断裂伸长率'" :data="viewDetailsList" height="400px" border style="width: 100%">
            <el-table-column type="index" label="序号" width="80px"></el-table-column>
            <el-table-column prop="inspectionItem" label="检验项"></el-table-column>
            <el-table-column prop="inspectionItemSubclass" label="检验子项"></el-table-column>
            <el-table-column v-for="(v, i) in tableHeader" :key="i" :prop="`testValue${i}`"
              :label="`检验值${i + 1}`"></el-table-column>
          <el-table
            v-if="type == '断裂伸长率'"
            :data="viewDetailsList"
            height="400px"
            border
            style="width: 100%"
          >
            <el-table-column
              type="index"
              label="序号"
              width="80px"
            ></el-table-column>
            <el-table-column
              prop="inspectionItem"
              label="检验项"
            ></el-table-column>
            <el-table-column
              prop="inspectionItemSubclass"
              label="检验子项"
            ></el-table-column>
            <el-table-column
              v-for="(v, i) in tableHeader"
              :key="i"
              :prop="`testValue${i}`"
              :label="`检验值${i + 1}`"
            ></el-table-column>
          </el-table>
        </el-dialog>
        <!-- 导出已检数据 -->
        <el-dialog title="选择日期" :visible.sync="dialogVisible1" width="30%" :before-close="handleClose4">
        <el-dialog
          title="选择日期"
          :visible.sync="dialogVisible1"
          width="30%"
          :before-close="handleClose4"
        >
          <span>下单日期:&nbsp;</span>
          <el-date-picker v-model="exportCheckedDate" type="daterange" size="small" value-format="yyyy-MM-dd"
            range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
          <el-date-picker
            v-model="exportCheckedDate"
            type="daterange"
            size="small"
            value-format="yyyy-MM-dd"
            range-separator="至"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
          >
          </el-date-picker>
          <span slot="footer" class="dialog-footer">
            <el-button @click="handleClose4">取 消</el-button>
@@ -295,18 +579,48 @@
          </span>
        </el-dialog>
      </div>
      <div style="width: 100%; height: 100%" v-if="active > 0">
        <Add :active="active" :currentId="currentId" v-if="active < 4" :examine="examine" />
      </div>
      <el-dialog title="标签打印" :visible.sync="printDialogVisible" width="40%" top="5vh">
        <div style="width: 100%; height: 400px; overflow-y: auto" v-loading="loadPint">
      <!-- <div style="width: 100%; height: 100%" v-if="active > 0">
        <Add
          :active="active"
          :currentId="currentId"
          v-if="active < 4"
          :examine="examine"
        />
      </div> -->
      <el-dialog
        title="标签打印"
        :visible.sync="printDialogVisible"
        width="40%"
        top="5vh"
      >
        <div
          style="width: 100%; height: 400px; overflow-y: auto"
          v-loading="loadPint"
        >
          <div class="dia_body">
            <el-checkbox style="margin: 10px 5px" :indeterminate="isIndeterminate" v-model="checkAll"
              @change="handleCheckAllChange">全选</el-checkbox>
            <el-checkbox-group @change="changePrintCode()" v-model="checkIndexList">
              <el-card class="box-card" v-for="(item, i) in qrData" :key="i + 'wwwww'"
                style="margin-bottom: 15px; font-size: 16px !important">
                <el-checkbox :label="i" :key="i" style="position: relative; top: -20px; left: 5px"><br /></el-checkbox>
            <el-checkbox
              style="margin: 10px 5px"
              :indeterminate="isIndeterminate"
              v-model="checkAll"
              @change="handleCheckAllChange"
              >全选</el-checkbox
            >
            <el-checkbox-group
              @change="changePrintCode()"
              v-model="checkIndexList"
            >
              <el-card
                class="box-card"
                v-for="(item, i) in qrData"
                :key="i + 'wwwww'"
                style="margin-bottom: 15px; font-size: 16px !important"
              >
                <el-checkbox
                  :label="i"
                  :key="i"
                  style="position: relative; top: -10px; left: 5px"
                  ><br
                /></el-checkbox>
                <div>
                  <el-row style="font-size: 14px; padding-left: 20px">
                    <el-col style="font-weight: bold">{{ item.pName }}</el-col>
@@ -314,48 +628,89 @@
                  <div style="display: flex">
                    <div>
                      <el-col :span="8" :offset="4">
                        <vueQr :text="'https://zttx-lims.ztt.cn:8021/lims/qr/qrScan?code=' +
                          item.id +
                          '&type=sample'
                          " :size="140" :margin="2"></vueQr>
                        <vueQr
                          :text="
                            'https://zttx-lims.ztt.cn:8021/lims/qr/qrScan?code=' +
                            item.id +
                            '&type=sample'
                          "
                          :size="140"
                          :margin="2"
                        ></vueQr>
                      </el-col>
                    </div>
                    <div style="margin-left: 50px; width: 100%">
                      <el-row>
                        <el-col style="
                        <el-col
                          style="
                            font-weight: bold;
                            text-align: left;
                            font-size: 14px;
                          "><span>样品编号:&nbsp; </span>{{ item.sampleCode }}</el-col>
                          "
                          ><span>样品编号:&nbsp; </span
                          >{{ item.sampleCode }}</el-col
                        >
                      </el-row>
                      <el-row style="margin-top: 1px; font-size: 14px">
                        <el-col style="font-weight: bold; text-align: left"><span>委托单号:&nbsp; </span>{{ item.code
                          }}</el-col>
                        <el-col style="font-weight: bold; text-align: left"
                          ><span>委托单号:&nbsp; </span>{{ item.code }}</el-col
                        >
                      </el-row>
                      <el-row style="margin-top: 1px; font-size: 14px">
                        <el-col style="font-weight: bold; text-align: left"><span>规格型号:&nbsp; </span>{{ item.model
                          }}</el-col>
                        <el-col style="font-weight: bold; text-align: left"
                          ><span>规格型号:&nbsp; </span>{{ item.model }}</el-col
                        >
                      </el-row>
                      <el-row style="margin-top: 1px; font-size: 14px">
                        <el-col style="font-weight: bold; text-align: left"><span>样品名称:&nbsp; </span>{{ item.sample
                          }}</el-col>
                        <el-col style="font-weight: bold; text-align: left"
                          ><span>样品名称:&nbsp; </span
                          >{{ item.sample }}</el-col
                        >
                      </el-row>
                      <el-row style="margin-top: 1px; font-size: 14px" class="ellipsis-multiline">
                        <el-col style="font-weight: bold; text-align: left"><span>检测项目:&nbsp; </span>{{ item.item
                          }}</el-col>
                      <el-row
                        style="margin-top: 1px; font-size: 14px"
                        class="ellipsis-multiline"
                      >
                        <el-col style="font-weight: bold; text-align: left"
                          ><span>检测项目:&nbsp; </span>{{ item.item }}</el-col
                        >
                      </el-row>
                      <el-row style="margin-top: 2px; font-size: 14px">
                        <el-col style="
                        <el-col
                          style="
                            font-weight: bold;
                            display: flex;
                            align-items: center;
                          "><span>样品状态:&nbsp; </span><el-radio-group :value="item.insState"
                            style="margin-top: 7px; margin-left: 4px" disabled>
                            <el-radio :label="0" style="font-weight: bold; margin-right: 7px">待检</el-radio>
                            <el-radio :label="1" style="font-weight: bold; margin-right: 7px">在检</el-radio>
                            <el-radio :label="2" style="font-weight: bold; margin-right: 7px">已检</el-radio>
                          </el-radio-group><el-radio :label="1" style="font-weight: bold; margin-top: 7px"
                            v-model="item.isLeave" disabled>留样</el-radio></el-col>
                          "
                          ><span>样品状态:&nbsp; </span
                          ><el-radio-group
                            :value="item.insState"
                            style="margin-top: 7px; margin-left: 4px"
                            disabled
                          >
                            <el-radio
                              :label="0"
                              style="font-weight: bold; margin-right: 7px"
                              >待检</el-radio
                            >
                            <el-radio
                              :label="1"
                              style="font-weight: bold; margin-right: 7px"
                              >在检</el-radio
                            >
                            <el-radio
                              :label="2"
                              style="font-weight: bold; margin-right: 7px"
                              >已检</el-radio
                            > </el-radio-group
                          ><el-radio
                            :label="1"
                            style="font-weight: bold; margin-top: 7px"
                            v-model="item.isLeave"
                            disabled
                            >留样</el-radio
                          ></el-col
                        >
                      </el-row>
                    </div>
                  </div>
@@ -367,40 +722,61 @@
        <span slot="footer" class="dialog-footer">
          <el-row>
            <el-button @click="printDialogVisible = false">取 消</el-button>
            <el-button type="primary" @click="submitPrint" :loading="printLoading">打 印</el-button>
            <el-button
              type="primary"
              @click="submitPrint"
              :loading="printLoading"
              >打 印</el-button
            >
          </el-row>
        </span>
      </el-dialog>
      <div class="el-dialog__body" style="
      <div
        class="el-dialog__body"
        style="
          overflow-y: auto;
          margin-top: 0;
          position: fixed;
          top: 999px;
          z-index: 99999;
          display: none;
        ">
        "
      >
        <div id="printMOrder" class="printMOrder" ref="printMOrder">
          <el-card class="box-card" v-for="(item, i) in checkDataList" :key="i + 'uuuuu'" style="
          <el-card
            class="box-card"
            v-for="(item, i) in checkDataList"
            :key="i + 'uuuuu'"
            style="
              font-size: 0.2cm !important;
              page-break-after: always;
              color: #000;
              box-shadow: none;
              margin: 0 !important;
              padding: 0 !important;
            ">
            "
          >
            <div style="display: flex">
              <div>
                <el-col :span="10" :offset="2">
                  <vueQr :text="'https://zttx-lims.ztt.cn:8021/lims/qr/qrScan?code=' +
                    item.id +
                    '&type=sample'
                    " :size="60" :margin="2"></vueQr>
                  <vueQr
                    :text="
                      'https://zttx-lims.ztt.cn:8021/lims/qr/qrScan?code=' +
                      item.id +
                      '&type=sample'
                    "
                    :size="60"
                    :margin="2"
                  ></vueQr>
                </el-col>
              </div>
              <div style="margin-left: 0.32cm; line-height: 0.22cm">
                <el-row>
                  <el-col style="font-size: 0.2cm; width: 4cm" class="single-line-ellipsis"><span>样品编号:&nbsp; </span>{{
                    item.sampleCode }}</el-col>
                  <el-col
                    style="font-size: 0.2cm; width: 4cm"
                    class="single-line-ellipsis"
                    ><span>样品编号:&nbsp; </span>{{ item.sampleCode }}</el-col
                  >
                </el-row>
                <el-row style="font-size: 0.2cm">
                  <el-col><span>委托单号:&nbsp; </span>{{ item.code }}</el-col>
@@ -409,19 +785,29 @@
                  <el-col><span>规格型号:&nbsp; </span>{{ item.model }}</el-col>
                </el-row>
                <el-row style="font-size: 0.2cm">
                  <el-col><span>样品名称:&nbsp; </span>{{ item.sample }}</el-col>
                  <el-col
                    ><span>样品名称:&nbsp; </span>{{ item.sample }}</el-col
                  >
                </el-row>
                <el-row style="font-size: 0.2cm; width: 4cm">
                  <el-col class="ellipsis-multiline"><span>检测项目:&nbsp; </span>{{ item.item }}</el-col>
                  <el-col class="ellipsis-multiline"
                    ><span>检测项目:&nbsp; </span>{{ item.item }}</el-col
                  >
                </el-row>
                <el-row style="margin-top: 0.01cm; font-size: 0.2cm">
                  <el-col style="display: flex; align-items: center"><span>样品状态:&nbsp; </span>
                    <span style="white-space: nowrap"><span v-if="item.insState == 0">√</span><span class="scor"
                        v-if="item.insState != 0"></span>待检
                      <span v-if="item.insState == 1">√</span><span class="scor" v-if="item.insState != 1"></span>在检
                      <span v-if="item.insState == 2">√</span><span class="scor" v-if="item.insState != 2"></span>已检
                      <span v-if="item.isLeave == 1">√</span><span class="scor"
                        v-if="item.isLeave != 1"></span>留样</span>
                  <el-col style="display: flex; align-items: center"
                    ><span>样品状态:&nbsp; </span>
                    <span style="white-space: nowrap"
                      ><span v-if="item.insState == 0">√</span
                      ><span class="scor" v-if="item.insState != 0"></span>待检
                      <span v-if="item.insState == 1">√</span
                      ><span class="scor" v-if="item.insState != 1"></span>在检
                      <span v-if="item.insState == 2">√</span
                      ><span class="scor" v-if="item.insState != 2"></span>已检
                      <span v-if="item.isLeave == 1">√</span
                      ><span class="scor" v-if="item.isLeave != 1"></span
                      >留样</span
                    >
                  </el-col>
                </el-row>
              </div>
@@ -437,6 +823,9 @@
import limsTable from "@/components/Table/lims-table.vue";
import {
  selectInsOrderParameter,
  labelPrinting,
  exportChecked,
  selectSampleAndProductByOrderId,
  hasSendUrgentOrder,
  delCustomById,
  upCustom,
@@ -446,11 +835,13 @@
import getLodop from "@/utils/lodop";
import Add from "./add.vue";
import { mapGetters } from "vuex";
import LimsTable from "../../../components/Table/lims-table.vue";
export default {
  components: {
    limsTable,
    Add,
    vueQr,
    LimsTable,
  },
  computed: {
    ...mapGetters(["permissions"]),
@@ -607,36 +998,215 @@
            {
              name: "数据查看",
              type: "text",
              clickFun: (row) => { },
              clickFun: (row) => {},
              disabled: (row) => {
                return row.state != 1 && row.state != 4;
              },
              clickFun: (row) => {
                this.handleDataLook(row);
              },
            },
            {
              name: "报告下载",
              type: "text",
              clickFun: (row) => { },
              clickFun: (row) => {},
              disabled: (row, index) => {
                return row.state != 4 || row.isRatify != 1;
              },
            },
            {
              name: "审核",
              type: "text",
              clickFun: (row) => { },
              clickFun: (row) => {},
              disabled: (row, index) => {
                return row.state != 0;
              },
            },
            {
              name: "撤销",
              type: "text",
              clickFun: (row) => { },
              clickFun: (row) => {},
              disabled: (row, index) => {
                return row.state != 1 && row.state != 0;
              },
            },
            {
              name: "撤销审核",
              type: "text",
              clickFun: (row) => { },
              clickFun: (row) => {},
              disabled: (row, index) => {
                return (
                  (row.state != 1 && row.state != 0) ||
                  this.tabIndex != 1 ||
                  row.isRevocation != 1
                );
              },
            },
            {
              name: "分配",
              type: "text",
              clickFun: (row) => { },
              clickFun: (row) => {},
              disabled: (row, index) => {
                return (
                  row.state != 1 ||
                  (row.entrustCode != null &&
                    Number(row.assign) > 0 &&
                    row.inspectId != null)
                );
              },
            },
          ],
        },
      ],
      dataLookTableLoading: false,
      dataLookcolumn: [
        {
          label: "委托编号",
          prop: "entrustCode",
          minWidth: "160px",
          width: "160px",
        },
        {
          label: "样品编号",
          prop: "sampleCode",
          minWidth: "160px",
          width: "160px",
        },
        {
          label: "管套色标",
          prop: "bushColor",
          minWidth: "160px",
          width: "160px",
        },
        {
          label: "光纤带编号",
          prop: "code",
          minWidth: "160px",
          width: "160px",
        },
        {
          label: "光纤色标",
          prop: "color",
          minWidth: "160px",
          width: "160px",
        },
        {
          label: "检验项",
          prop: "inspectionItem",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "检验子项",
          prop: "inspectionItemSubclass",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "检验结果",
          prop: "lastValue",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "结果判定",
          prop: "insResult",
          minWidth: "100px",
          width: "100px",
          dataType: "tag",
          formatData: (params) => {
            let index = this.urgencyDictList.findIndex(
              (item) => item.dictValue == params
            );
            if (index > -1) {
              return this.urgencyDictList[index].dictLabel;
            } else {
              return null;
            }
          },
          formatType: (params) => {
            let index = this.urgencyDictList.findIndex(
              (item) => item.dictValue == params
            );
            if (index > -1) {
              return this.urgencyDictList[index].listClass;
            } else {
              return null;
            }
          },
        },
        {
          label: "单位",
          prop: "unit",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "试验要求",
          prop: "tell",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "检验人",
          prop: "checkName",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "检验日期",
          prop: "checkTime",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "样品名称",
          prop: "sample",
          minWidth: "160px",
          width: "160px",
        },
        {
          label: "样品型号",
          prop: "model",
          minWidth: "160px",
          width: "160px",
        },
        {
          label: "试验室",
          prop: "sonLaboratory",
          minWidth: "120px",
          width: "120px",
        },
        {
          dataType: "action",
          fixed: "right",
          label: "操作",
          operation: [
            {
              name: "查看",
              type: "text",
              clickFun: (row) => {},
              showHide: (row) => {
                console.log(row);
                console.log(row.inspectionItem);
                return (
                  row.inspectionItem == "单根垂直燃烧" ||
                  row.inspectionItem.includes("松套管") ||
                  row.inspectionItemSubclass.includes("松套管") ||
                  (row.inspectionItem == "抗拉强度" &&
                    (row.inspectionItemSubclass == "热老化处理前" ||
                      row.inspectionItemSubclass == "热老化处理后")) ||
                  (row.inspectionItem == "断裂伸长率" &&
                    (row.inspectionItemSubclass == "热老化处理前" ||
                      row.inspectionItemSubclass == "热老化处理后"))
                );
              },
            },
          ],
        },
      ],
      dataLooktableData: [],
      //old
      tableHeader: [],
      type: "",
@@ -678,262 +1248,262 @@
      // 人员列表
      personList: [],
      currentTableData: [],
      componentData: {
        entity: {
          entrustCode: null,
          sample: null,
          sampleName: null,
          sampleModel: null,
          sampleCode: null,
          outEntrustCode: null,
          state: 0,
          name: null,
          engineering: null,
          production: null,
          startAndEndTime: [],
          // orderBy: {
          //     field: '',
          //     order: ''
          // }
        },
        isIndex: true,
        showSelect: true,
        select: true,
        selectMethod: "selectMethod",
        do: [
          {
            id: "dataLook",
            font: "数据查看",
            type: "text",
            method: "handleDataLook",
            disabFun: (row, index) => {
              return row.state != 1 && row.state != 4;
            },
          },
          {
            id: "download",
            font: "报告下载",
            type: "text",
            method: "download",
            disabFun: (row, index) => {
              return row.state != 4 || row.isRatify != 1;
            },
          },
          {
            id: "verify",
            font: "审核",
            type: "text",
            method: "handleVerify",
            disabFun: (row, index) => {
              return row.state != 0;
            },
          },
          {
            id: "quash",
            font: "撤销",
            type: "text",
            method: "handlEquash",
            disabFun: (row, index) => {
              return row.state != 1 && row.state != 0;
            },
          },
          {
            id: "quashCheck",
            font: "撤销审核",
            type: "text",
            method: "handlEquashCheck",
            disabFun: (row, index) => {
              return (
                (row.state != 1 && row.state != 0) ||
                this.tabIndex != 1 ||
                row.isRevocation != 1
              );
            },
          },
          {
            font: "分配",
            type: "text",
            method: "handleIssued",
            disabFun: (row, index) => {
              return (
                row.state != 1 ||
                (row.entrustCode != null &&
                  Number(row.assign) > 0 &&
                  row.inspectId != null)
              );
            },
          },
        ],
        linkEvent: {
          sampleName: {
            method: "selectAllByOne",
          },
        },
        tagField: {
          type: {
            select: [],
          },
          createUser: {
            select: [],
          },
          orderType: {
            select: [],
          },
          processing: {
            select: [
              {
                value: 1,
                label: "实验室处理",
              },
              {
                value: 0,
                label: "委托单位取回",
              },
            ],
          },
          isLeave: {
            select: [
              {
                value: 1,
                label: "留样",
              },
              {
                value: 0,
                label: "不留样",
              },
            ],
          },
          send: {
            select: [
              {
                value: 1,
                label: "自取",
              },
              {
                value: 0,
                label: "其他",
              },
            ],
          },
        },
        selectField: {},
        requiredAdd: [],
        requiredUp: [],
        needSort: ["createTime", "sendTime", "type", "appointed"],
      },
      // componentData: {
      //   entity: {
      //     entrustCode: null,
      //     sample: null,
      //     sampleName: null,
      //     sampleModel: null,
      //     sampleCode: null,
      //     outEntrustCode: null,
      //     state: 0,
      //     name: null,
      //     engineering: null,
      //     production: null,
      //     startAndEndTime: [],
      //     // orderBy: {
      //     //     field: '',
      //     //     order: ''
      //     // }
      //   },
      //   isIndex: true,
      //   showSelect: true,
      //   select: true,
      //   selectMethod: "selectMethod",
      //   do: [
      //     {
      //       id: "dataLook",
      //       font: "数据查看",
      //       type: "text",
      //       method: "handleDataLook",
      //       disabFun: (row, index) => {
      //         return row.state != 1 && row.state != 4;
      //       },
      //     },
      //     {
      //       id: "download",
      //       font: "报告下载",
      //       type: "text",
      //       method: "download",
      //       disabFun: (row, index) => {
      //         return row.state != 4 || row.isRatify != 1;
      //       },
      //     },
      //     {
      //       id: "verify",
      //       font: "审核",
      //       type: "text",
      //       method: "handleVerify",
      //       disabFun: (row, index) => {
      //         return row.state != 0;
      //       },
      //     },
      //     {
      //       id: "quash",
      //       font: "撤销",
      //       type: "text",
      //       method: "handlEquash",
      //       disabFun: (row, index) => {
      //         return row.state != 1 && row.state != 0;
      //       },
      //     },
      //     {
      //       id: "quashCheck",
      //       font: "撤销审核",
      //       type: "text",
      //       method: "handlEquashCheck",
      //       disabFun: (row, index) => {
      //         return (
      //           (row.state != 1 && row.state != 0) ||
      //           this.tabIndex != 1 ||
      //           row.isRevocation != 1
      //         );
      //       },
      //     },
      //     {
      //       font: "分配",
      //       type: "text",
      //       method: "handleIssued",
      //       disabFun: (row, index) => {
      //         return (
      //           row.state != 1 ||
      //           (row.entrustCode != null &&
      //             Number(row.assign) > 0 &&
      //             row.inspectId != null)
      //         );
      //       },
      //     },
      //   ],
      //   linkEvent: {
      //     sampleName: {
      //       method: "selectAllByOne",
      //     },
      //   },
      //   tagField: {
      //     type: {
      //       select: [],
      //     },
      //     createUser: {
      //       select: [],
      //     },
      //     orderType: {
      //       select: [],
      //     },
      //     processing: {
      //       select: [
      //         {
      //           value: 1,
      //           label: "实验室处理",
      //         },
      //         {
      //           value: 0,
      //           label: "委托单位取回",
      //         },
      //       ],
      //     },
      //     isLeave: {
      //       select: [
      //         {
      //           value: 1,
      //           label: "留样",
      //         },
      //         {
      //           value: 0,
      //           label: "不留样",
      //         },
      //       ],
      //     },
      //     send: {
      //       select: [
      //         {
      //           value: 1,
      //           label: "自取",
      //         },
      //         {
      //           value: 0,
      //           label: "其他",
      //         },
      //       ],
      //     },
      //   },
      //   selectField: {},
      //   requiredAdd: [],
      //   requiredUp: [],
      //   needSort: ["createTime", "sendTime", "type", "appointed"],
      // },
      orderId: "",
      revocationInsProductIds: "",
      componentDataDataLook: {
        isPage: false,
        entity: {
          id: 0,
          orderBy: {
            field: "sampleCode",
            order: "asc",
          },
        },
        isIndex: false,
        showSelect: false,
        select: false,
        do: [
          {
            id: "",
            font: "查看",
            type: "text",
            method: "viewDetails",
            showFun: (row, index) => {
              return (
                row.inspectionItem == "单根垂直燃烧" ||
                row.inspectionItem.includes("松套管") ||
                row.inspectionItemSubclass.includes("松套管") ||
                (row.inspectionItem == "抗拉强度" &&
                  (row.inspectionItemSubclass == "热老化处理前" ||
                    row.inspectionItemSubclass == "热老化处理后")) ||
                (row.inspectionItem == "断裂伸长率" &&
                  (row.inspectionItemSubclass == "热老化处理前" ||
                    row.inspectionItemSubclass == "热老化处理后"))
              );
            },
          },
        ],
        tagField: {
          insState: {
            select: [],
          },
          insResult: {
            select: [
              {
                value: 1,
                label: "合格",
                type: "success",
              },
              {
                value: 0,
                label: "不合格",
                type: "danger",
              },
              {
                value: 3,
                label: "不判定",
                type: "",
              },
            ],
          },
        },
        selectField: {},
        spanConfig: {
          rows: [
            // {
            //   name: "entrustCode",
            //   index: 0,
            // },
            // {
            //   name: "sampleCode",
            //   index: 1,
            // },
          ],
        },
        requiredAdd: [],
        requiredUp: [],
      },
      componentDataDelete: {
        entity: {
          // orderId: '',
          // orderBy: {
          //     field: 'sampleCode',
          //     order: 'asc'
          // }
        },
        isPage: false,
        isIndex: false,
        showSelect: true,
        select: true,
        selectMethod: "selectDelete",
        do: [],
        tagField: {
          insState: {
            select: [],
          },
          insResult: {
            select: [
              {
                value: 1,
                label: "合格",
                type: "success",
              },
              {
                value: 0,
                label: "不合格",
                type: "danger",
              },
            ],
          },
        },
        selectField: {},
        spanConfig: {},
        requiredAdd: [],
        requiredUp: [],
      },
      // componentDataDataLook: {
      //   isPage: false,
      //   entity: {
      //     id: 0,
      //     orderBy: {
      //       field: "sampleCode",
      //       order: "asc",
      //     },
      //   },
      //   isIndex: false,
      //   showSelect: false,
      //   select: false,
      //   do: [
      //     {
      //       id: "",
      //       font: "查看",
      //       type: "text",
      //       method: "viewDetails",
      //       showFun: (row, index) => {
      //         return (
      //           row.inspectionItem == "单根垂直燃烧" ||
      //           row.inspectionItem.includes("松套管") ||
      //           row.inspectionItemSubclass.includes("松套管") ||
      //           (row.inspectionItem == "抗拉强度" &&
      //             (row.inspectionItemSubclass == "热老化处理前" ||
      //               row.inspectionItemSubclass == "热老化处理后")) ||
      //           (row.inspectionItem == "断裂伸长率" &&
      //             (row.inspectionItemSubclass == "热老化处理前" ||
      //               row.inspectionItemSubclass == "热老化处理后"))
      //         );
      //       },
      //     },
      //   ],
      //   tagField: {
      //     insState: {
      //       select: [],
      //     },
      //     insResult: {
      //       select: [
      //         {
      //           value: 1,
      //           label: "合格",
      //           type: "success",
      //         },
      //         {
      //           value: 0,
      //           label: "不合格",
      //           type: "danger",
      //         },
      //         {
      //           value: 3,
      //           label: "不判定",
      //           type: "",
      //         },
      //       ],
      //     },
      //   },
      //   selectField: {},
      //   spanConfig: {
      //     rows: [
      //       // {
      //       //   name: "entrustCode",
      //       //   index: 0,
      //       // },
      //       // {
      //       //   name: "sampleCode",
      //       //   index: 1,
      //       // },
      //     ],
      //   },
      //   requiredAdd: [],
      //   requiredUp: [],
      // },
      // componentDataDelete: {
      //   entity: {
      //     // orderId: '',
      //     // orderBy: {
      //     //     field: 'sampleCode',
      //     //     order: 'asc'
      //     // }
      //   },
      //   isPage: false,
      //   isIndex: false,
      //   showSelect: true,
      //   select: true,
      //   selectMethod: "selectDelete",
      //   do: [],
      //   tagField: {
      //     insState: {
      //       select: [],
      //     },
      //     insResult: {
      //       select: [
      //         {
      //           value: 1,
      //           label: "合格",
      //           type: "success",
      //         },
      //         {
      //           value: 0,
      //           label: "不合格",
      //           type: "danger",
      //         },
      //       ],
      //     },
      //   },
      //   selectField: {},
      //   spanConfig: {},
      //   requiredAdd: [],
      //   requiredUp: [],
      // },
      deleteDialogVisible: false,
      entityCopy: {},
      upIndex: 0,
@@ -994,8 +1564,17 @@
    more() {
      this.getTableHeight();
    },
    printDialogVisible(newVal) {
      if (!newVal) {
        this.checkIndexList = [];
      }
    },
  },
  methods: {
    selectionChange(val) {
      console.log(val);
      this.multipleSelection = val;
    },
    //获取表格高度
    getTableHeight() {
      const otherHeight = this.more ? 430 : 380; // 其余高度
@@ -1045,16 +1624,9 @@
        startTime: this.exportCheckedDate[0],
        endTime: this.exportCheckedDate[1],
      };
      console.log("data", data);
      this.exportCheckedLoading = true;
      this.dialogVisible1 = false;
      this.$axios
        .post(this.$api.insOrder.exportChecked, data, {
          headers: {
            "Content-Type": "application/json",
          },
          responseType: "blob",
        })
      exportChecked(data)
        .then((res) => {
          this.$message.success("导出成功");
          this.exportCheckedDate = [];
@@ -1066,6 +1638,9 @@
          link.download = "检验结果.xlsx";
          document.body.appendChild(link);
          link.click();
        })
        .catch((error) => {
          console.error(error);
        });
    },
    // 查看详情
@@ -1105,26 +1680,27 @@
          }
        });
    },
    selectMethod(val) {
      this.multipleSelection = val;
    },
    getLabelPrinting(selection) {
      this.loadPint = true;
      this.$axios
        .post(this.$api.insOrder.labelPrinting, {
          ids: selection.map((m) => m.id).join(","),
        })
      labelPrinting({
        ids: selection.map((m) => m.id).join(","),
      })
        .then((res) => {
          let arr = res.data;
          arr.forEach((a) => {
            this.loadPint = false;
            let arr1 = [];
            a.insProduct.forEach((b) => {
              arr1.push(b.inspectionItem);
          if (res.code === 200) {
            let arr = res.data;
            arr.forEach((a) => {
              this.loadPint = false;
              let arr1 = [];
              a.insProduct.forEach((b) => {
                arr1.push(b.inspectionItem);
              });
              a.item = [...new Set(arr1)].join(",");
            });
            a.item = [...new Set(arr1)].join(",");
          });
          this.qrData = arr;
            this.qrData = arr;
          }
        })
        .catch((error) => {
          console.error(error);
        });
    },
    //开始标签打印
@@ -1364,7 +1940,15 @@
    },
    // 数据查看
    handleDataLook(row) {
      this.componentDataDataLook.entity.id = row.id;
      selectSampleAndProductByOrderId({ id: row.id })
        .then((res) => {
          if (res.code === 200) {
            this.dataLooktableData = res.data;
          }
        })
        .catch((error) => {
          console.error(error);
        });
      this.dataDialogVisible = true;
    },
    // 下载报告
@@ -1635,8 +2219,8 @@
          this.$axios
            .get(
              this.$api.insOrder.selectTemperatureByProductId +
              "?productId=" +
              tree.id
                "?productId=" +
                tree.id
            )
            .then((res) => {
              this.loadRecursion(this.treeTableData, tree.id, res.data);
@@ -1650,10 +2234,10 @@
          this.$axios
            .get(
              this.$api.insOrder.selectTemperatureNumberByProductId +
              "?parentId=" +
              tree.parentId +
              "&inspectionItem=" +
              tree.inspectionItemTwo
                "?parentId=" +
                tree.parentId +
                "&inspectionItem=" +
                tree.inspectionItemTwo
            )
            .then((res) => {
              this.loadRecursion(this.treeTableData, tree.id, res.data);
@@ -1665,10 +2249,10 @@
          this.$axios
            .get(
              this.$api.insOrder.selectProductsBySampleId +
              "?sampleId=" +
              tree.id +
              "&orderId=" +
              this.orderId
                "?sampleId=" +
                tree.id +
                "&orderId=" +
                this.orderId
            )
            .then((res) => {
              this.treeTableData.forEach((m, index) => {
@@ -1700,8 +2284,8 @@
          this.$axios
            .get(
              this.$api.insOrder.revokeReviewTemperatureByProductId +
              "?productId=" +
              tree.id
                "?productId=" +
                tree.id
            )
            .then((res) => {
              resolve(res.data);
@@ -1713,10 +2297,10 @@
          this.$axios
            .get(
              this.$api.insOrder.revokeReviewConsistentByProductId +
              "?parentId=" +
              tree.parentId +
              "&inspectionItem=" +
              tree.inspectionItemTwo
                "?parentId=" +
                tree.parentId +
                "&inspectionItem=" +
                tree.inspectionItemTwo
            )
            .then((res) => {
              resolve(res.data);
@@ -1726,10 +2310,10 @@
          this.$axios
            .get(
              this.$api.insOrder.revokeReviewProduct +
              "?sampleId=" +
              tree.id +
              "&orderId=" +
              this.orderId
                "?sampleId=" +
                tree.id +
                "&orderId=" +
                this.orderId
            )
            .then((res) => {
              resolve(res.data);
@@ -2199,11 +2783,11 @@
  margin-bottom: 16px;
}
.box-card>>>.el-radio__inner {
.box-card >>> .el-radio__inner {
  border-radius: 2px !important;
}
.box-card>>>.el-radio__input.is-checked .el-radio__inner::after {
.box-card >>> .el-radio__input.is-checked .el-radio__inner::after {
  content: "";
  width: 8px;
  height: 3px;
@@ -2220,15 +2804,15 @@
  background: none;
}
>>>.el-radio__label {
>>> .el-radio__label {
  color: #000 !important;
}
.el-dialog__body>>>.el-radio__label {
.el-dialog__body >>> .el-radio__label {
  font-size: 8px;
}
.el-dialog__body>>>.el-radio__input.is-checked .el-radio__inner::after {
.el-dialog__body >>> .el-radio__input.is-checked .el-radio__inner::after {
  content: "";
  width: 4px;
  height: 3px;
@@ -2245,36 +2829,36 @@
  background: none;
}
>>>.el-radio__input.is-disabled.is-checked .el-radio__inner {
>>> .el-radio__input.is-disabled.is-checked .el-radio__inner {
  background: #3a7bfa;
}
.el-dialog__body>>>.el-radio__input.is-disabled.is-checked .el-radio__inner {
.el-dialog__body >>> .el-radio__input.is-disabled.is-checked .el-radio__inner {
  background: transparent;
}
.el-dialog__body>>>.el-radio__inner {
.el-dialog__body >>> .el-radio__inner {
  width: 8px !important;
  height: 8px !important;
}
.el-dialog__body>>>.el-radio__label {
.el-dialog__body >>> .el-radio__label {
  padding-left: 2px !important;
}
.el-dialog__body>>>.el-card__body {
.el-dialog__body >>> .el-card__body {
  padding: 0 !important;
}
.el-dialog__body>>>.el-card {
.el-dialog__body >>> .el-card {
  border: none;
}
.el-dialog__body>>>.el-radio__input.is-disabled .el-radio__inner {
.el-dialog__body >>> .el-radio__input.is-disabled .el-radio__inner {
  border-color: #000 !important;
}
.el-dialog__body>>>.el-radio__input.is-disabled.is-checked .el-radio__inner {
.el-dialog__body >>> .el-radio__input.is-disabled.is-checked .el-radio__inner {
  border: none !important;
}