lxp
2025-03-12 952a20f1c005d80e9bf881287c40e6f4e4266a0b
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,118 @@
      <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
            highlightCurrentRow
            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 +286,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 +362,33 @@
          <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
            highlightCurrentRow
            :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 +402,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 +463,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 +581,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 +630,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 +724,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 +787,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 +825,9 @@
import limsTable from "@/components/Table/lims-table.vue";
import {
  selectInsOrderParameter,
  labelPrinting,
  exportChecked,
  selectSampleAndProductByOrderId,
  hasSendUrgentOrder,
  delCustomById,
  upCustom,
@@ -446,11 +837,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"]),
@@ -499,6 +892,11 @@
          prop: "sampleName",
          minWidth: "160px",
          width: "160px",
          dataType: "link",
          linkEvent: {
            method: "showDetails",
            vueComponent: this,
          },
        },
        {
          label: "样品编号",
@@ -607,36 +1005,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 +1255,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 +1571,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 +1631,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 +1645,9 @@
          link.download = "检验结果.xlsx";
          document.body.appendChild(link);
          link.click();
        })
        .catch((error) => {
          console.error(error);
        });
    },
    // 查看详情
@@ -1105,26 +1687,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);
        });
    },
    //开始标签打印
@@ -1227,31 +1810,6 @@
        this.beginPrint(this.qrData);
      });
      this.printDialogVisible = false;
      // PrintJS({
      //   printable: "printMOrder", //页面
      //   type: "html", //文档类型
      //   maxWidth: 360,
      //   style: `@page {
      //           margin:0;
      //           size: 400px 75px collapse;
      //           margin-top:3px;
      //           &:first-of-type{
      //             margin-top:0 !important;
      //           }
      //         }
      //         html{
      //           zoom:100%;
      //         }
      //         @media print{
      //           width: 400px;
      //           height: 75px;
      //           margin:0;
      //         }`,
      //   onPrintDialogClose: (this.erexcel = false),
      //   targetStyles: ["*"], // 使用dom的所有样式,很重要
      //   font_size: "0.15cm",
      // });
    },
    print() {
      if (this.multipleSelection.length == 0) {
@@ -1290,44 +1848,18 @@
      }
    },
    refresh() {
      this.componentData.entity = this.HaveJson(this.entityCopy);
      this.upIndex++;
      this.queryParams = {
        entrustCode: "",
        outEntrustCode: "",
        sampleName: "",
        sampleModel: "",
        sampleCode: "",
        startAndEndTime: [],
        name: "",
        engineering: "",
        production: "",
      };
      this.refreshTable();
    },
    // 权限分配
    getPower(radio) {
      let power = JSON.parse(sessionStorage.getItem("power"));
      let up = false;
      let del = false;
      let revoke = false;
      let check = false;
      let checkUpdate = false;
      for (var i = 0; i < power.length; i++) {
        if (power[i].menuMethod == "upInsOrder") {
          up = true;
        }
        if (power[i].menuMethod == "updateStatus") {
          revoke = true;
        }
        if (power[i].menuMethod == "upInsOrderOfState") {
          check = true;
        }
        if (power[i].menuMethod == "checkUpdate") {
          checkUpdate = true;
        }
      }
      if (!up) {
        this.componentData.do.splice(5, 1);
      }
      if (!checkUpdate) {
        this.componentData.do.splice(4, 1);
      }
      if (!revoke) {
        this.componentData.do.splice(3, 1);
      }
      if (!check) {
        this.componentData.do.splice(2, 1);
      }
    },
    handleClose() {
      this.verifyDialogVisible = false;
@@ -1350,21 +1882,29 @@
      this.exportCheckedDate = [];
      this.dialogVisible1 = false;
    },
    // 详情
    selectAllByOne(row) {
      this.active = 2;
      // console.log(row);
      // //打开弹框
      // this.dialogVisible = true;
      // //row = 点击对应行值
      // //复制给formData
      // this.formData = this.HaveJson(row);
      this.currentId = row.id;
      this.examine = 1;
    // 查看详情
    showDetails(row) {
      this.$router.push({
        name: "showDetails",
        query: {
          active: 2,
          currentId: row.id,
          examine: 1,
          isReview: true,
        },
      });
    },
    // 数据查看
    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 +2175,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 +2190,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 +2205,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 +2240,8 @@
          this.$axios
            .get(
              this.$api.insOrder.revokeReviewTemperatureByProductId +
              "?productId=" +
              tree.id
                "?productId=" +
                tree.id
            )
            .then((res) => {
              resolve(res.data);
@@ -1713,10 +2253,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 +2266,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);
@@ -2062,13 +2602,15 @@
    },
    // 下单
    playOrder(num) {
      // this.active = num;
      // this.examine = 0;
      this.$router.push({
        name: "addOrder",
        params: {},
        query: {
          active: num,
          examine: 0,
        },
      });
      this.active = num;
      this.examine = 0;
      // this.refreshTable();
    },
    handleTab(m, i) {
      this.tabIndex = i;
@@ -2199,11 +2741,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 +2762,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 +2787,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;
}