From 45792b3776cda2e1ada31755ffc226a663f90b48 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 19 三月 2025 15:32:23 +0800
Subject: [PATCH] 锁屏功能

---
 src/views/business/inspectionOrder/index.vue | 2473 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 2,470 insertions(+), 3 deletions(-)

diff --git a/src/views/business/inspectionOrder/index.vue b/src/views/business/inspectionOrder/index.vue
index f2e1fd8..206fe23 100644
--- a/src/views/business/inspectionOrder/index.vue
+++ b/src/views/business/inspectionOrder/index.vue
@@ -1,9 +1,2476 @@
 <template>
-  <div>妫�楠屼笅鍗�</div>
+  <div class="bg-1">
+    <div style="margin: 5px 15px">
+      <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-col>
+      </el-row>
+    </div>
+    <basic-container>
+      <div class="search" :style="`height: ${more ? 100 : 50}px;`">
+        <el-row :gutter="10" style="width: 100%">
+          <el-col :span="20" style="display: flex; flex-wrap: wrap">
+            <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>
+              </div>
+            </div>
+            <div class="search_thing" style="width: 20%">
+              <div class="search_label" style="width: 120px">
+                澶栭儴濮旀墭缂栧彿锛�
+              </div>
+              <div class="search_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>
+              </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>
+              </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>
+              </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>
+              </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>
+              </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>
+              </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>
+              </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 size="small" @click="refresh()">閲� 缃�</el-button>
+              <el-button size="small" type="primary" @click="refreshTable()"
+                >鏌� 璇�</el-button
+              >
+            </div>
+          </el-col>
+        </el-row>
+      </div>
+    </basic-container>
+    <basic-container>
+      <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)"
+            >
+              {{ m.label }}
+            </li>
+          </ul>
+          <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"
+        >
+          <p style="font-size: 16px; color: #333333" v-if="!isPass">
+            濮旀墭缂栧彿<span style="color: #34bd66">ZTMS2023071001</span
+            >鐨勪俊鎭槸鍚﹂�氳繃
+          </p>
+          <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-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-row>
+            <el-row v-else>
+              <el-button @click="handleClose">杩� 鍥�</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"
+        >
+          <p style="font-size: 16px; color: #333333" v-if="!isQuash">
+            濮旀墭缂栧彿<span style="color: #34bd66">{{
+              this.insOrderRow.outEntrustCode
+            }}</span
+            >鐨勪俊鎭槸鍚︽挙閿�
+          </p>
+          <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-form-item>
+          </el-form>
+          <span slot="footer" class="dialog-footer">
+            <el-row>
+              <el-button @click="handleClose">{{
+                isQuash ? "杩� 鍥�" : "鍙� 娑�"
+              }}</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"
+        >
+          <div class="body" style="max-height: 60vh">
+            <el-row>
+              <el-col class="search_thing" style="width: 95%">
+                <div class="search_label">
+                  <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>
+                </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
+                  >鎸囨淳浜哄憳锛�
+                </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-option>
+                    </el-option-group>
+                  </el-select>
+                </div>
+              </el-col>
+              <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-option>
+                  </el-select>
+                </div>
+              </el-col>
+            </el-row>
+          </div>
+          <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-row>
+          </span>
+        </el-dialog>
+        <el-dialog
+          title="鏁版嵁鏌ョ湅"
+          :visible.sync="dataDialogVisible"
+          width="100%"
+          fullscreen
+        >
+          <lims-table
+            highlightCurrentRow
+            :height="'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%"
+        >
+          <div class="table-container" v-if="deleteDialogVisible">
+            <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>
+              <el-table-column
+                prop="inspectionItemSubclass"
+                label="妫�楠屽瓙椤�"
+                show-overflow-tooltip
+              >
+              </el-table-column>
+              <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>
+              <el-table-column prop="tell" label="瑕佹眰鍊�" show-overflow-tooltip>
+              </el-table-column>
+            </el-table>
+          </div>
+          <span slot="footer" class="dialog-footer">
+            <el-row>
+              <el-button @click="handleNo">{{
+                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-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-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>
+        </el-dialog>
+        <!-- 瀵煎嚭宸叉鏁版嵁 -->
+        <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>
+          <span slot="footer" class="dialog-footer">
+            <el-button @click="handleClose4">鍙� 娑�</el-button>
+            <el-button type="primary" @click="exportChecked()">纭� 瀹�</el-button>
+          </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 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: -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>
+                  </el-row>
+                  <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>
+                      </el-col>
+                    </div>
+                    <div style="margin-left: 50px; width: 100%">
+                      <el-row>
+                        <el-col
+                          style="
+                            font-weight: bold;
+                            text-align: left;
+                            font-size: 14px;
+                          "
+                          ><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-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-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-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>
+                      <el-row style="margin-top: 2px; font-size: 14px">
+                        <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
+                        >
+                      </el-row>
+                    </div>
+                  </div>
+                </div>
+              </el-card>
+            </el-checkbox-group>
+          </div>
+        </div>
+        <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-row>
+        </span>
+      </el-dialog>
+      <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="
+              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>
+                </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-row>
+                <el-row style="font-size: 0.2cm">
+                  <el-col><span>濮旀墭鍗曞彿:&nbsp; </span>{{ item.code }}</el-col>
+                </el-row>
+                <el-row style="font-size: 0.2cm">
+                  <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-row>
+                <el-row style="font-size: 0.2cm; width: 4cm">
+                  <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>
+                </el-row>
+              </div>
+            </div>
+          </el-card>
+        </div>
+      </div>
+    </basic-container>
+  </div>
 </template>
 
 <script>
-export default {};
+import {
+  selectInsOrderParameter,
+  labelPrinting,
+  exportChecked,
+  selectSampleAndProductByOrderId,
+  selectSampleByOrderId,
+  selectProductsBySampleId,
+  revoke,
+  viewDetails,
+  downReport,
+  selectTemperatureByProductId,
+  selectTemperatureNumberByProductId,
+  revokeReviewTemperatureByProductId,
+  revokeReviewConsistentByProductId,
+  revokeReviewProduct,
+  revokeReviewSample,
+  updateStatus,
+  updateInspected,
+  revocationPassed,
+  revocationCancel,
+} from "@/api/business/inspectionOrder";
+import { upPlanUser2 } from "@/api/business/inspectionTask";
+import { getDicts } from "@/api/system/dict/data";
+import vueQr from "vue-qr";
+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,
+  },
+  computed: {
+    ...mapGetters(["permissions"]),
+  },
+  data() {
+    return {
+      queryParams: {
+        entrustCode: "",
+        outEntrustCode: "",
+        sampleName: "",
+        sampleModel: "",
+        sampleCode: "",
+        startAndEndTime: [],
+        name: "",
+        engineering: "",
+        production: "",
+      },
+      tableData: [],
+      page: {
+        total: 0,
+        size: 20,
+        current: 1,
+      },
+      tableLoading: false,
+      column: [
+        {
+          label: "濮旀墭缂栧彿",
+          prop: "entrustCode",
+          minWidth: "160px",
+          width: "160px",
+        },
+        {
+          label: "澶栭儴濮旀墭缂栧彿",
+          prop: "outEntrustCode",
+          minWidth: "160px",
+          width: "160px",
+        },
+        {
+          label: "濮旀墭鍗曚綅",
+          prop: "company",
+          minWidth: "160px",
+          width: "160px",
+        },
+        {
+          label: "鏍峰搧鍚嶇О",
+          prop: "sampleName",
+          minWidth: "160px",
+          width: "160px",
+          dataType: "link",
+          linkEvent: {
+            method: "showDetails",
+            vueComponent: this,
+          },
+        },
+        {
+          label: "鏍峰搧缂栧彿",
+          prop: "sampleCode",
+          minWidth: "160px",
+          width: "160px",
+        },
+        {
+          label: "鏍峰搧鍨嬪彿",
+          prop: "sampleModel",
+          minWidth: "160px",
+          width: "160px",
+        },
+        {
+          label: "鏍峰搧鏁伴噺",
+          prop: "sampleNum",
+          minWidth: "120px",
+          width: "120px",
+        },
+        {
+          label: "妫�楠岃繘搴�%",
+          prop: "insProgress",
+          minWidth: "120px",
+          width: "120px",
+        },
+        {
+          label: "绱ф�ョ▼搴�",
+          prop: "type",
+          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: "remark",
+          minWidth: "120px",
+          width: "120px",
+        },
+        {
+          label: "鍒跺崟浜�",
+          prop: "custom",
+          minWidth: "120px",
+          width: "120px",
+        },
+        {
+          label: "绾﹀畾鏃堕棿",
+          prop: "appointed",
+          minWidth: "120px",
+          width: "120px",
+        },
+        {
+          label: "涓嬪崟鏃堕棿",
+          prop: "createTime",
+          minWidth: "120px",
+          width: "120px",
+        },
+        {
+          label: "涓嬪彂鏃堕棿",
+          prop: "sendTime",
+          minWidth: "120px",
+          width: "120px",
+        },
+        {
+          label: "閫�鍥炵悊鐢�",
+          prop: "tell",
+          minWidth: "120px",
+          width: "120px",
+        },
+        {
+          label: "濮旀墭浜�",
+          prop: "prepareUser",
+          minWidth: "120px",
+          width: "120px",
+        },
+        {
+          label: "鎾ら攢鏃ユ湡",
+          prop: "revocationTime",
+          minWidth: "120px",
+          width: "120px",
+        },
+        {
+          label: "鎿嶄綔",
+          dataType: "action",
+          fixed: "right",
+          operation: [
+            {
+              name: "鏁版嵁鏌ョ湅",
+              type: "text",
+              disabled: (row) => {
+                return row.state != 1 && row.state != 4;
+              },
+              clickFun: (row) => {
+                this.handleDataLook(row);
+              },
+              showHide: () => {
+                return true;
+              },
+            },
+            {
+              name: "鎶ュ憡涓嬭浇",
+              type: "text",
+              clickFun: (row) => {
+                this.download(row);
+              },
+              disabled: (row, index) => {
+                return row.state != 4 || row.isRatify != 1;
+              },
+            },
+            {
+              name: "瀹℃牳",
+              type: "text",
+              clickFun: (row) => {
+                this.handleVerify(row);
+              },
+              disabled: (row, index) => {
+                return row.state != 0;
+              },
+            },
+            {
+              name: "鎾ら攢",
+              type: "text",
+              clickFun: (row) => {
+                this.handlEquash(row);
+              },
+              disabled: (row, index) => {
+                return row.state != 1 && row.state != 0;
+              },
+            },
+            {
+              name: "鎾ら攢瀹℃牳",
+              type: "text",
+              clickFun: (row) => {
+                this.handlEquashCheck(row);
+              },
+              disabled: (row, index) => {
+                return (
+                  (row.state != 1 && row.state != 0) ||
+                  this.tabIndex != 1 ||
+                  row.isRevocation != 1
+                );
+              },
+            },
+            {
+              name: "鍒嗛厤",
+              type: "text",
+              clickFun: (row) => {},
+              disabled: (row, index) => {
+                return (
+                  row.state != 1 ||
+                  (row.entrustCode != null &&
+                    Number(row.assign) > 0 &&
+                    row.inspectId != null)
+                );
+              },
+            },
+          ],
+        },
+      ],
+      dataLookColumn: [
+        {
+          label: "濮旀墭缂栧彿",
+          prop: "entrustCode",
+          minWidth: "160px",
+          width: "160px",
+        },
+        {
+          label: "鏍峰搧缂栧彿",
+          prop: "sampleCode",
+          minWidth: "160px",
+          width: "160px",
+        },
+        {
+          label: "绠″鑹叉爣",
+          prop: "bushColor",
+          minWidth: "100px",
+          width: "100px",
+        },
+        {
+          label: "鍏夌氦甯︾紪鍙�",
+          prop: "code",
+          minWidth: "120px",
+          width: "120px",
+        },
+        {
+          label: "鍏夌氦鑹叉爣",
+          prop: "color",
+          minWidth: "100px",
+          width: "100px",
+        },
+        {
+          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.insResultList.findIndex(
+              (item) => item.value == params
+            );
+            if (index > -1) {
+              return this.insResultList[index].label;
+            } else {
+              return null;
+            }
+          },
+          formatType: (params) => {
+            let index = this.insResultList.findIndex(
+              (item) => item.value == params
+            );
+            if (index > -1) {
+              return this.insResultList[index].type;
+            } 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: "140px",
+          width: "140px",
+        },
+        {
+          label: "鏍峰搧鍚嶇О",
+          prop: "sample",
+          minWidth: "160px",
+          width: "160px",
+        },
+        {
+          label: "鏍峰搧鍨嬪彿",
+          prop: "model",
+          minWidth: "160px",
+          width: "160px",
+        },
+        {
+          label: "璇曢獙瀹�",
+          prop: "sonLaboratory",
+          minWidth: "120px",
+          width: "120px",
+        },
+        {
+          dataType: "action",
+          label: "鎿嶄綔",
+          fixed: "right",
+          operation: [
+            {
+              name: "鏌ョ湅",
+              type: "text",
+              clickFun: (row) => {
+                this.viewDetails(row);
+              },
+              showHide: (row) => {
+                return (
+                  row.inspectionItem == "鍗曟牴鍨傜洿鐕冪儳" ||
+                  row.inspectionItem.includes("鏉惧绠�") ||
+                  row.inspectionItemSubclass.includes("鏉惧绠�") ||
+                  (row.inspectionItem == "鎶楁媺寮哄害" &&
+                    (row.inspectionItemSubclass == "鐑�佸寲澶勭悊鍓�" ||
+                      row.inspectionItemSubclass == "鐑�佸寲澶勭悊鍚�")) ||
+                  (row.inspectionItem == "鏂浼搁暱鐜�" &&
+                    (row.inspectionItemSubclass == "鐑�佸寲澶勭悊鍓�" ||
+                      row.inspectionItemSubclass == "鐑�佸寲澶勭悊鍚�"))
+                );
+              },
+            },
+          ],
+        },
+      ],
+      dataLookTableLoading: false,
+      dataLooktableData: [],
+      qrData: [],
+      multipleSelection: [],
+      sonLaboratoryList: [],
+      urgencyDictList: [],
+      tableHeight: 0,
+      tabList: [
+        {
+          label: "寰呭鏍�",
+          value: 0,
+        },
+        {
+          label: "寰呮楠�",
+          value: 1,
+        },
+        {
+          label: "宸叉楠�",
+          value: 4,
+        },
+        {
+          label: "閫�鍥�",
+          value: 2,
+        },
+        {
+          label: "鎾ら攢",
+          value: 3,
+        },
+      ],
+      insResultList: [
+        {
+          value: 1,
+          label: "鍚堟牸",
+          type: "success",
+        },
+        {
+          value: 0,
+          label: "涓嶅悎鏍�",
+          type: "danger",
+        },
+        {
+          value: 3,
+          label: "涓嶅垽瀹�",
+          type: "",
+        },
+      ],
+      tabIndex: 0,
+      active: 0, //1锛氫笅鍗曪紝2锛氭煡鐪嬶紝3锛氬鏍革紝4锛氬厜绾ら厤缃�,榛樿涓�0
+      currentId: null,
+      more: false,
+
+      //old
+      tableHeader: [],
+      type: "",
+      revokeDataAll: [],
+      revokeData: [],
+      treeTableData: [],
+      treeTableData2: [],
+      exportCheckedDate: [],
+      exportCheckedLoading: false,
+      dialogVisible1: false,
+      dialogVisible: false,
+      viewDetailsList: [],
+      deleteTilte: "鎾ら攢",
+      examine: null,
+      deleteList: [],
+      loadPint: false,
+      checkAll: false,
+      isIndeterminate: true,
+      printLoading: false,
+      printDialogVisible: false,
+      //鏄惁瀹℃牳閫氳繃  true鏄� false涓嶆槸
+      isPass: false,
+      //鏄惁瀹℃牳鎾ら攢  true鏄� false涓嶆槸
+      isQuash: false,
+      verifyDialogVisible: false,
+      quashDialogVisible: false,
+      issuedDialogVisible: false,
+      dataDialogVisible: false,
+      formData: {},
+      formData0: {},
+      formData1: {},
+      distributeData: {
+        orderId: "",
+        sampleId: "",
+        appointed: "",
+        userId: null,
+        sonLaboratory: "",
+      },
+      // 浜哄憳鍒楄〃
+      personList: [],
+      currentTableData: [],
+      orderId: "",
+      revocationInsProductIds: "",
+      deleteDialogVisible: false,
+      upLoad: false,
+
+      insOrderRow: {},
+      checkIndexList: [],
+      checkDataList: [
+        {
+          sampleCode: "",
+        },
+      ],
+    };
+  },
+  created() {
+    this.getDictList();
+    this.getTableHeight();
+  },
+  mounted() {
+    this.getList();
+    window.addEventListener("resize", this.getTableHeight);
+  },
+  beforeDestroy() {
+    window.removeEventListener("resize", this.getTableHeight);
+  },
+  watch: {
+    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; // 鍏朵綑楂樺害
+      const tableBottom = 50; // 璺濈椤甸潰涓嬫柟鐨勯珮搴�
+      const tableHeightDetil = window.innerHeight - tableBottom;
+      if (tableHeightDetil <= 300) {
+        this.tableHeight = 200;
+      } else {
+        this.tableHeight = window.innerHeight - tableBottom - otherHeight;
+      }
+    },
+    getDictList() {
+      getDicts("urgency_level")
+        .then((res) => {
+          if (res.code === 200) {
+            this.urgencyDictList = res.data;
+          }
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+    },
+    pagination({ page, limit }) {
+      this.page.current = page;
+      this.page.size = limit;
+      this.getList();
+    },
+    //鑾峰彇鏁版嵁鍒楄〃
+    getList() {
+      this.tableLoading = true;
+      selectInsOrderParameter({ ...this.queryParams, ...this.page })
+        .then((res) => {
+          if (res.code === 200) {
+            this.tableData = res.data.records;
+            this.page.total = res.data.total;
+          }
+          this.tableLoading = false;
+        })
+        .catch((error) => {
+          console.error(error);
+          this.tableLoading = false;
+        });
+    },
+    // 瀵煎嚭宸叉
+    exportChecked() {
+      let data = {
+        startTime: this.exportCheckedDate[0],
+        endTime: this.exportCheckedDate[1],
+      };
+      this.exportCheckedLoading = true;
+      this.dialogVisible1 = false;
+      exportChecked(data)
+        .then((res) => {
+          this.$message.success("瀵煎嚭鎴愬姛");
+          this.exportCheckedDate = [];
+          this.exportCheckedLoading = false;
+          const blob = new Blob([res], { type: "application/octet-stream" });
+          const url = URL.createObjectURL(blob);
+          const link = document.createElement("a");
+          link.href = url;
+          link.download = "妫�楠岀粨鏋�.xlsx";
+          document.body.appendChild(link);
+          link.click();
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+    },
+    // 鏌ョ湅璇︽儏
+    viewDetails(row) {
+      this.dialogVisible = true;
+      if (
+        row.inspectionItem.includes("鏉惧绠�") ||
+        row.inspectionItemSubclass.includes("鏉惧绠�")
+      ) {
+        this.type = "鏉惧绠�";
+      } else {
+        this.type = row.inspectionItem;
+      }
+      let data = {
+        inspectionItem: row.inspectionItem,
+        insProductId: row.insProductId,
+        insSampleId: row.insSampleId,
+        entrustCode: row.entrustCode,
+        sampleCode: row.sampleCode,
+        inspectionItemSubclass: row.inspectionItemSubclass,
+      };
+      viewDetails(data)
+        .then((res) => {
+          if (res.code === 200) {
+            this.viewDetailsList = res.data;
+            if (res.data[0].tableHeader) {
+              this.tableHeader = res.data[0].tableHeader;
+            } else {
+              this.tableHeader = [
+                {
+                  testValue0: "",
+                },
+              ];
+            }
+          }
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+    },
+    getLabelPrinting(selection) {
+      this.loadPint = true;
+      labelPrinting({
+        ids: selection.map((m) => m.id).join(","),
+      })
+        .then((res) => {
+          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(",");
+            });
+            this.qrData = arr;
+          }
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+    },
+    //寮�濮嬫爣绛炬墦鍗�
+    beginPrint(arr) {
+      if (arr.length === 0) {
+        return;
+      }
+      this.LODOP = getLodop();
+      this.LODOP.SET_LICENSES(
+        "鍗楅�氬競閼槼杞欢寮�鍙戞湁闄愬叕鍙�",
+        "60F8E5078AE17DEB340C94BC7E83CAFF",
+        "",
+        ""
+      );
+      this.LODOP.PRINT_INITA();
+      for (let i = 0; i < arr.length; i++) {
+        const qrData = arr[i];
+        let qrStr =
+          "https://zttx-lims.ztt.cn:8021/lims/qr/qrScan?code=" +
+          qrData.id +
+          "&type=sample";
+        this.LODOP.NEWPAGE();
+        // this.LODOP.SET_PRINT_PAGESIZE(0, 100, 360, '')
+        this.LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE", 1);
+        this.LODOP.ADD_PRINT_BARCODE(2, 5, 80, 80, "QRCode", qrStr);
+        this.LODOP.ADD_PRINT_TEXT(5, 85, 60, 18, "鏍峰搧缂栧彿锛�");
+        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+        this.LODOP.ADD_PRINT_TEXT(5, 117, 280, 18, qrData.sampleCode);
+        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+        this.LODOP.ADD_PRINT_TEXT(15, 85, 60, 18, "濮旀墭鍗曞彿锛�");
+        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+        this.LODOP.ADD_PRINT_TEXT(15, 117, 280, 18, qrData.code);
+        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+        this.LODOP.ADD_PRINT_TEXT(25, 85, 60, 18, "瑙勬牸鍨嬪彿锛�");
+        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+        this.LODOP.ADD_PRINT_TEXT(25, 117, 280, 18, qrData.model);
+        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+        this.LODOP.ADD_PRINT_TEXT(35, 85, 60, 18, "鏍峰搧鍚嶇О锛�");
+        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+        this.LODOP.ADD_PRINT_TEXT(35, 117, 280, 18, qrData.sample);
+        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+        this.LODOP.ADD_PRINT_TEXT(45, 85, 60, 20, "妫�娴嬮」鐩細");
+        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+        this.LODOP.ADD_PRINT_TEXT(
+          45,
+          117,
+          150,
+          20,
+          qrData.item.length > 42
+            ? qrData.item.substring(0, 39) + "..."
+            : qrData.item
+        );
+        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+        this.LODOP.ADD_PRINT_TEXT(67, 85, 60, 18, "鏍峰搧鐘舵�侊細");
+        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+        let stateStr = "鈻㈠緟妫� 鈻㈠湪妫� 鈻㈠凡妫�";
+        let leaveStr =
+          qrData.isLeave && qrData.isLeave === 1 ? " 鈻g暀鏍�" : " 鈻㈢暀鏍�";
+        if (qrData.insState == 0) {
+          stateStr = "鈻e緟妫� 鈻㈠湪妫� 鈻㈠凡妫�";
+        } else if (qrData.insState == 1) {
+          stateStr = "鈻㈠緟妫� 鈻e湪妫� 鈻㈠凡妫�";
+        } else if (qrData.insState == 2) {
+          stateStr = "鈻㈠緟妫� 鈻㈠湪妫� 鈻e凡妫�";
+        }
+        this.LODOP.ADD_PRINT_TEXT(67, 117, 280, 18, stateStr + leaveStr);
+        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+      }
+      this.LODOP.PRINT();
+      // this.LODOP.PREVIEW()
+    },
+    //閫夋嫨瑕佹墦鍗扮殑浜岀淮鐮�
+    changePrintCode() {
+      let indexList = this.checkIndexList;
+      let arr = [];
+      indexList.forEach((i) => {
+        arr.push(this.qrData[i]);
+      });
+      this.checkDataList = arr;
+    },
+    //鍏ㄩ��
+    handleCheckAllChange(val) {
+      if (val) {
+        for (var i = 0; i < this.qrData.length; i++) {
+          this.checkIndexList.push(i);
+        }
+        this.checkDataList = this.qrData;
+      } else {
+        this.checkIndexList = [];
+        this.checkDataList = [];
+      }
+      this.isIndeterminate = false;
+    },
+    submitPrint() {
+      if (this.checkDataList.length < 1) {
+        this.$message.warning("璇烽�夋嫨瑕佹墦鍗扮殑浜岀淮鐮�");
+        return;
+      }
+      this.$nextTick(() => {
+        this.beginPrint(this.qrData);
+      });
+      this.printDialogVisible = false;
+    },
+    print() {
+      if (this.multipleSelection.length == 0) {
+        this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�");
+        return;
+      }
+      let selection = this.multipleSelection;
+      this.getLabelPrinting(selection);
+      this.printDialogVisible = true;
+    },
+    refreshTable() {
+      this.getList();
+    },
+    refresh() {
+      this.queryParams = {
+        entrustCode: "",
+        outEntrustCode: "",
+        sampleName: "",
+        sampleModel: "",
+        sampleCode: "",
+        startAndEndTime: [],
+        name: "",
+        engineering: "",
+        production: "",
+      };
+      this.refreshTable();
+    },
+    handleClose() {
+      this.verifyDialogVisible = false;
+      this.quashDialogVisible = false;
+      this.issuedDialogVisible = false;
+      this.dataDialogVisible = false;
+      this.upLoad = false;
+    },
+    handleClose2() {
+      this.verifyDialogVisible = false;
+      this.quashDialogVisible = false;
+      this.issuedDialogVisible = false;
+      this.dataDialogVisible = false;
+      this.upLoad = false;
+    },
+    handleClose3() {
+      this.dialogVisible = false;
+    },
+    handleClose4() {
+      this.exportCheckedDate = [];
+      this.dialogVisible1 = false;
+    },
+    // 鏌ョ湅璇︽儏
+    showDetails(row) {
+      this.$router.push({
+        name: "showDetails",
+        query: {
+          active: 2,
+          currentId: row.id,
+          examine: 1,
+          isPlan: false,
+        },
+      });
+    },
+    // 鏁版嵁鏌ョ湅
+    handleDataLook(row) {
+      selectSampleAndProductByOrderId({ id: row.id })
+        .then((res) => {
+          if (res.code === 200) {
+            this.dataLooktableData = res.data;
+          }
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+      this.dataDialogVisible = true;
+    },
+    // 涓嬭浇鎶ュ憡
+    download(row) {
+      downReport({ id: row.reportId })
+        .then((res) => {
+          let fileName = row.tempUrlPdf;
+          if (fileName.includes("_")) {
+            fileName = fileName.split("_")[1];
+          }
+          const blob = new Blob([res], { type: "application/octet-stream" });
+          const url = URL.createObjectURL(blob);
+          const link = document.createElement("a");
+          link.href = url;
+          link.download = fileName;
+          document.body.appendChild(link);
+          link.click();
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+    },
+    // 瀹℃牳
+    handleVerify(row) {
+      this.$router.push({
+        name: "showDetails",
+        query: {
+          active: 3,
+          currentId: row.id,
+          examine: 1,
+        },
+      });
+    },
+    // 鍏ㄩ��
+    handleSelectionAll(val) {
+      if (val.length > 0 && val.length <= this.treeTableData.length) {
+        this.handleSelectionAllRecursion(this.treeTableData, true);
+        console.log("浼犺緭鐨勬暟鎹�", this.revokeData);
+      } else {
+        this.$refs.revokeTable.clearSelection();
+        this.revokeData = [];
+      }
+    },
+    handleSelectionAllRecursion(list, flag) {
+      for (let i = 0; i < list.length; i++) {
+        let item = list[i];
+        this.$refs.revokeTable.toggleRowSelection(item, flag);
+        if (flag) {
+          this.revokeData.push(item);
+          this.revokeData = this.revokeData.filter(
+            (a, index, self) => index === self.findIndex((t) => t.id === a.id)
+          );
+        }
+        if (item.children && item.children.length > 0) {
+          this.handleSelectionAllRecursion(item.children, flag);
+        }
+      }
+    },
+
+    // 閫夋嫨闇�瑕佹挙閿�鐨勬暟鎹�
+    handleSelectionChange(val, row) {
+      console.log("rwo", row);
+      this.revokeData = val;
+      // 杩涜涓�涓�掑綊鎿嶄綔
+      // 鍒ゆ柇鏄惁閫変腑 val鍖呭惈鏃㈡槸閫変腑  涓嶅寘鍚棦鏄彇娑堥�変腑
+      let flag = null;
+      if (val.includes(row)) {
+        flag = true;
+      } else {
+        flag = false;
+      }
+      if (row.children && row.children.length > 0) {
+        this.tableSelect(row, flag);
+      }
+      // 杩樿杩涜涓�涓垽鏂� 濡傛灉鍏ㄩ�変箣鍚庡張鍙栨秷浜嗛�夋嫨锛岄偅涔堢浉搴旂殑sampleId涔熻鍙栨秷
+      this.$nextTick(() => {
+        if (!flag) {
+          this.treeTableData.forEach((item) => {
+            if (item.id == row.sampleId) {
+              this.$refs.revokeTable.toggleRowSelection(item, false);
+            }
+          });
+          // 娓╁害鐐�
+          if (row.number) {
+            this.revokeData = this.revokeData.filter(
+              (a) =>
+                a.inspectionItemSubclass != row.inspectionItemSubclass &&
+                a.inspectionItem != "娓╁害寰幆" &&
+                a.inspectionItemTwo != row.number &&
+                a.id != row.sampleId
+            );
+            console.log("treeTableData", this.treeTableData);
+            this.treeTableData.forEach((item) => {
+              if (item.id == row.sampleId && item.children.length > 0) {
+                item.children.forEach((a) => {
+                  if (a.inspectionItem == "娓╁害寰幆") {
+                    this.$refs.revokeTable.toggleRowSelection(a, false);
+                    if (a.children.length > 0) {
+                      a.children.forEach((b) => {
+                        if (b.inspectionItemTwo == row.number) {
+                          this.$refs.revokeTable.toggleRowSelection(b, false);
+                        }
+                      });
+                    }
+                  }
+                });
+              }
+            });
+          } else if (row.temperatureNumber) {
+            // 寰幆娆℃暟
+            this.revokeData = this.revokeData.filter(
+              (a) =>
+                a.inspectionItem != "娓╁害寰幆" &&
+                a.id != row.sampleId &&
+                a.inspectionItemTwo != row.inspectionItemTwo &&
+                a.number != row.inspectionItemTwo
+            );
+            console.log("treeTableData", this.treeTableData);
+            this.treeTableData.forEach((item) => {
+              if (item.id == row.sampleId && item.children.length > 0) {
+                item.children.forEach((a) => {
+                  if (a.inspectionItem == "娓╁害寰幆") {
+                    this.$refs.revokeTable.toggleRowSelection(a, false);
+                  }
+                });
+              }
+            });
+          } else if (row.temperature) {
+            // 濡傛灉鏄俯搴﹀惊鐜�
+            this.revokeData = this.revokeData.filter(
+              (a) =>
+                a.id != row.sampleId &&
+                a.inspectionItem != "娓╁害寰幆" &&
+                a.parentId != row.id
+            );
+          } else {
+            this.revokeData = this.revokeData.filter(
+              (a) => a.id != row.sampleId
+            );
+          }
+        }
+        console.log("鏈�缁堢粨鏋�", this.revokeData);
+      });
+    },
+    // load鐨勯�掑綊璧嬪��
+    loadRecursion(list, treeId, data) {
+      for (let i = 0; i < list.length; i++) {
+        let item = list[i];
+        if (item.id == treeId) {
+          item.children = data;
+          return;
+        }
+        if (item.children && item.children.length > 0) {
+          this.loadRecursion(item.children, treeId, data);
+        }
+      }
+    },
+    // 閫変腑鐨勯�掑綊
+    selectedRecursion(list) {
+      if (list.children && list.children.length > 0) {
+        console.log("鏈夊瓙鑺傜偣", list);
+
+        for (let i = 0; i < list.children.length; i++) {
+          let item = list.children[i];
+          this.$refs.revokeTable.toggleRowSelection(item, true);
+          this.revokeData.push(item);
+          this.revokeData = this.revokeData.filter(
+            (m, index, self) => index === self.findIndex((t) => t.id === m.id)
+          );
+          if (item.children && item.children.length > 0) {
+            this.selectedRecursion(item.children);
+          }
+        }
+      } else {
+        console.log("娌℃湁瀛愯妭鐐�", list);
+        this.$refs.revokeTable.toggleRowSelection(list, true);
+        return;
+      }
+    },
+    // 閫掑綊treeTableData
+    recursionTreeTableData(list, data) {
+      console.log("list", list);
+      // list 閫変腑鐨勬暟鎹�  data浠h〃treetableData
+      for (let i = 0; i < list.length; i++) {
+        let item = list[i];
+        for (let j = 0; j < data.length; j++) {
+          let m = data[j];
+          if (item.id == m.id) {
+            console.log("m", m);
+            this.selectedRecursion(m);
+          }
+          if (m.children && m.children.length > 0) {
+            this.recursionTreeTableData(list, m.children);
+          }
+        }
+      }
+    },
+    watchRecursion(list, flag, id) {
+      console.log("999", list, flag, id);
+      for (let j = 0; j < this.treeTableData.length; j++) {
+        let m = this.treeTableData[j];
+        if (m.id == id) {
+          this.$refs.revokeTable.toggleRowSelection(m, flag);
+          if (flag) {
+            this.revokeData.push(m);
+            this.revokeData = this.revokeData.filter(
+              (a, index, self) => index === self.findIndex((t) => t.id === a.id)
+            );
+          } else {
+            this.revokeData = this.revokeData.filter((a) => a.id != id);
+          }
+
+          if (m.children && m.children.length > 0) {
+            m.children.forEach((a) => {
+              this.$refs.revokeTable.toggleRowSelection(a, flag);
+              if (a.children) {
+              }
+            });
+          }
+        }
+      }
+    },
+    tableSelect(list, flag) {
+      if (list.children && list.children.length > 0) {
+        for (let i = 0; i < list.children.length; i++) {
+          let item = list.children[i];
+          this.$refs.revokeTable.toggleRowSelection(item, flag);
+          if (flag) {
+            this.revokeData.push(item);
+            this.revokeData = this.revokeData.filter(
+              (a, index, self) => index === self.findIndex((t) => t.id === a.id)
+            );
+          } else {
+            this.revokeData = this.revokeData.filter((a) => a.id != item.id);
+          }
+          if (item.children && item.children.length > 0) {
+            this.tableSelect(item, flag);
+          }
+        }
+      }
+    },
+
+    // 鎳掑姞杞芥煡璇�
+    load(tree, treeNode, resolve) {
+      treeNode.loading = true;
+      if (this.deleteTilte == "鎾ら攢") {
+        // 鏄惁鏄俯搴﹀惊鐜�
+        if (tree.temperature) {
+          selectTemperatureByProductId({ productId: tree.id })
+            .then((res) => {
+              if (res.code === 200) {
+                this.loadRecursion(this.treeTableData, tree.id, res.data);
+                resolve(res.data);
+                this.recursionTreeTableData(
+                  this.revokeData,
+                  this.treeTableData
+                );
+                treeNode.loading = false;
+              }
+            })
+            .catch((error) => {
+              console.error(error);
+            });
+        }
+        // 鏄惁鏄楠屾鏁�
+        else if (tree.temperatureNumber) {
+          selectTemperatureNumberByProductId({
+            parentId: tree.parentId,
+            inspectionItem: tree.inspectionItemTwo,
+          })
+            .then((res) => {
+              if (res.code === 200) {
+                this.loadRecursion(this.treeTableData, tree.id, res.data);
+                resolve(res.data);
+                this.recursionTreeTableData(
+                  this.revokeData,
+                  this.treeTableData
+                );
+                treeNode.loading = false;
+              }
+            })
+            .catch((error) => {
+              console.error(error);
+            });
+        } else {
+          selectProductsBySampleId({
+            sampleId: tree.id,
+            orderId: this.orderId,
+          })
+            .then((res) => {
+              if (res.code === 200) {
+                this.treeTableData.forEach((m, index) => {
+                  if (m.sampleId == tree.id) {
+                    m.children = res.data;
+                  }
+                });
+                resolve(res.data);
+                this.recursionTreeTableData(
+                  this.revokeData,
+                  this.treeTableData
+                );
+                treeNode.loading = false;
+              }
+            })
+            .catch((error) => {
+              console.error(error);
+            });
+        }
+      } else if (this.deleteTilte == "鎾ら攢瀹℃牳") {
+        // 鏄惁鏄俯搴﹀惊鐜�
+        if (tree.temperature) {
+          revokeReviewTemperatureByProductId({ productId: tree.id })
+            .then((res) => {
+              if (res.code === 200) {
+                resolve(res.data);
+                treeNode.loading = false;
+              }
+            })
+            .catch((error) => {
+              console.error(error);
+            });
+        }
+        // 鏄惁鏄惊鐜鏁�
+        else if (tree.temperatureNumber) {
+          revokeReviewConsistentByProductId({
+            parentId: tree.parentId,
+            inspectionItem: tree.inspectionItemTwo,
+          })
+            .then((res) => {
+              if (res.code === 200) {
+                resolve(res.data);
+                treeNode.loading = false;
+              }
+            })
+            .catch((error) => {
+              console.error(error);
+            });
+        } else {
+          revokeReviewProduct({
+            sampleId: tree.id,
+            orderId: this.orderId,
+          })
+            .then((res) => {
+              if (res.code === 200) {
+                resolve(res.data);
+                treeNode.loading = false;
+              }
+            })
+            .catch((error) => {
+              console.error(error);
+            });
+        }
+      }
+    },
+    // 鎾ら攢
+    handlEquash(row) {
+      if (this.tabIndex != 1) {
+        this.quashDialogVisible = true;
+        this.insOrderRow = row;
+      } else {
+        this.orderId = row.id;
+        selectSampleByOrderId({
+          orderId: row.id,
+        })
+          .then((res) => {
+            if (res.code === 200) {
+              this.treeTableData = res.data;
+              this.treeTableData2 = JSON.parse(JSON.stringify(res.data));
+            }
+          })
+          .catch((error) => {
+            console.error(error);
+          });
+        this.revocationInsProductIds = "";
+        this.deleteTilte = "鎾ら攢";
+        this.deleteDialogVisible = true;
+      }
+    },
+    handleCloseDelete() {
+      this.revokeData = [];
+      this.treeTableData = [];
+      this.deleteDialogVisible = false;
+    },
+    selectDelete(arr) {
+      this.deleteList = arr;
+    },
+    submitDelete() {
+      if (this.deleteTilte == "鎾ら攢") {
+        if (this.revokeData.length == 0) {
+          this.$message.error("璇烽�夋嫨瑕佹挙閿�鐨勫叿浣撻」鐩�");
+          return;
+        }
+        //this.printLoading = true;
+        // 濡傛灉鍕鹃�変簡鏍峰搧
+        let productIds = [];
+        let sampleData = this.revokeData.filter(
+          (m) => m.hasChildren && !m.temperatureNumber && !m.temperature
+        );
+        let sampleIds = [];
+        if (sampleData.length > 0) {
+          console.log("閫夋嫨浜嗘牱鍝�", sampleData);
+          sampleIds = sampleData.map((m) => m.id);
+          let newDate = this.revokeData.filter((m) => {
+            return sampleIds.every((id) => m.sampleId != id);
+          });
+          if (newDate) {
+            productIds = newDate.map((m) => m.id);
+          }
+        } else {
+          console.log("閫夋嫨椤圭洰");
+          // 杩囨护鎺夊惊鐜鏁�
+          let data = this.revokeData.filter((item) => !item.ids);
+          // 濡傛灉鍕鹃�夊惊鐜鏁�
+          let data1 = this.revokeData.filter((item) => item.ids);
+          productIds = data.map((m) => m.id);
+          data1.forEach((item) => {
+            if (item.ids.length > 0) {
+              item.ids.forEach((a) => {
+                productIds.push(a);
+              });
+            }
+          });
+          productIds = [...new Set(productIds)];
+        }
+        let data = {
+          orderId: this.orderId,
+          sampleIds: sampleIds,
+          productIds: productIds,
+        };
+        revoke(data)
+          .then((res) => {
+            if (res.code === 200) {
+              this.deleteDialogVisible = false;
+              this.printLoading = false;
+              this.revokeData = [];
+              this.refreshTable();
+              this.$message.success("鎾ら攢鎴愬姛");
+            }
+          })
+          .catch((error) => {
+            console.error(error);
+          });
+      } else {
+        revocationPassed({
+          orderId: this.orderId,
+        })
+          .then((res) => {
+            if (res.code === 200) {
+              this.printLoading = false;
+              this.deleteDialogVisible = false;
+              this.refreshTable();
+              this.$message.success("鏇存柊鎴愬姛");
+            }
+          })
+          .catch((error) => {
+            console.error(error);
+          });
+      }
+    },
+    handlEquashCheck(row) {
+      this.orderId = row.id;
+      this.revocationInsProductIds = row.revocationInsProductIds;
+      this.deleteTilte = "鎾ら攢瀹℃牳";
+      revokeReviewSample({
+        orderId: row.id,
+      })
+        .then((res) => {
+          if (res.code === 200) {
+            this.treeTableData = res.data;
+          }
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+      this.deleteDialogVisible = true;
+    },
+    handleNo() {
+      if (this.deleteTilte == "鎾ら攢") {
+        this.deleteDialogVisible = false;
+        this.revokeData = [];
+      } else {
+        revocationCancel({
+          orderId: this.orderId,
+        })
+          .then((res) => {
+            if (res.code === 200) {
+              this.printLoading = false;
+              this.deleteDialogVisible = false;
+              this.refreshTable();
+              this.$message.success("鏇存柊鎴愬姛");
+            }
+          })
+          .catch((error) => {
+            console.error(error);
+          });
+      }
+    },
+    // 涓嬪彂
+    handleIssued(row) {
+      this.issuedDialogVisible = true;
+      selectOrderManDay({
+        id: row.id,
+      })
+        .then((res) => {
+          if (res.code === 200) {
+            this.distributeData.orderId = row.id;
+            this.distributeData.sampleId = row.sampleId;
+            this.distributeData.appointed = res.data;
+            this.distributeData.type = row.type;
+          }
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+      upPlanUser2({
+        orderId: row.id,
+      })
+        .then((res) => {
+          if (res.code === 200 && res.data.length > 0) {
+            this.sonLaboratoryList = [];
+            res.data.forEach((m) => {
+              this.sonLaboratoryList.push({
+                value: m,
+                label: m,
+              });
+            });
+          }
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+    },
+    submitForm2() {
+      if (
+        this.distributeData.appointed == null ||
+        this.distributeData.appointed == ""
+      ) {
+        this.$message.error("绾﹀畾鏃堕棿鏈~鍐�");
+        return;
+      }
+      //
+      if (
+        this.distributeData.type == 2 &&
+        (this.distributeData.userId == null || this.distributeData.userId == "")
+      ) {
+        this.$message.error("鎸囨淳浜哄憳鏈~鍐�");
+        return;
+      }
+      if (
+        this.distributeData.userId &&
+        (this.distributeData.sonLaboratory == null ||
+          this.distributeData.sonLaboratory == "")
+      ) {
+        this.$message.error("璇曢獙瀹ゆ湭濉啓");
+        return;
+      }
+      this.upLoad = true;
+      upInsOrder({
+        orderId: this.distributeData.orderId,
+        sampleId: this.distributeData.sampleId,
+        appointed: this.distributeData.appointed,
+        userIdList: [this.distributeData.userId],
+        sonLaboratory: this.distributeData.sonLaboratory,
+      })
+        .then((res) => {
+          if (res.code === 201) {
+            this.upLoad = false;
+            return;
+          }
+          this.$message.success("淇敼鎴愬姛");
+          this.upLoad = false;
+          this.issuedDialogVisible = false;
+          this.refreshTable();
+        })
+        .catch((error) => {
+          console.error(error);
+          this.$message.error("淇敼澶辫触");
+          this.upLoad = false;
+        });
+    },
+    submitForm() {
+      this.upLoad = true;
+      if (this.tabIndex == 1) {
+        updateInspected({
+          id: this.insOrderRow.id,
+        })
+          .then((res) => {
+            if (res.code === 200) {
+              this.upLoad = false;
+              this.quashDialogVisible = false;
+              this.refreshTable();
+              this.$message.success("鏇存柊鎴愬姛");
+            }
+          })
+          .catch((error) => {
+            console.error(error);
+          });
+      } else {
+        updateStatus({
+          id: this.insOrderRow.id,
+        })
+          .then((res) => {
+            if (res.code === 200) {
+              this.upLoad = false;
+              this.quashDialogVisible = false;
+              this.refreshTable();
+              this.$message.success("鏇存柊鎴愬姛");
+            }
+          })
+          .catch((error) => {
+            console.error(error);
+          });
+      }
+    },
+    // 涓嬪崟
+    playOrder(num) {
+      // this.active = num;
+      // this.examine = 0;
+      this.$router.push({
+        name: "addOrder",
+        query: {
+          active: num,
+          examine: 0,
+          isPlan: false,
+        },
+      });
+    },
+    handleTab(m, i) {
+      this.tabIndex = i;
+      this.queryParams.state = m.value;
+      this.getList();
+    },
+    changeUser() {
+      if (this.sonLaboratoryList.length > 0) {
+        this.distributeData.sonLaboratory = this.sonLaboratoryList[0].value;
+      }
+    },
+  },
+};
 </script>
 
-<style></style>
+<style scope>
+.title {
+  height: 60px;
+  line-height: 60px;
+}
+
+.search {
+  background-color: #fff;
+  height: 50px;
+  display: flex;
+  align-items: center;
+  overflow: hidden;
+}
+
+.search_thing {
+  display: flex;
+  align-items: center;
+  height: 50px;
+  width: 100px;
+}
+
+.search_label {
+  width: 90px;
+  font-size: 14px;
+  text-align: right;
+}
+
+.search_input {
+  width: calc(100% - 90px);
+}
+
+.table {
+  /* margin-top: 10px;
+  background-color: #fff;
+  width: calc(100% - 40px);
+  height: calc(100% - 60px - 80px - 10px - 40px);
+  padding: 20px; */
+}
+
+.tab {
+  list-style-type: none;
+  display: flex;
+  /* margin-bottom: 12px; */
+  padding-inline-start: 0px;
+}
+
+.tab li {
+  line-height: 24px;
+  padding: 6px 14px;
+  font-size: 14px;
+  color: #333333;
+  border: 1px solid #eeeeee;
+  cursor: pointer;
+}
+
+.tab li:nth-child(1) {
+  border-radius: 8px 0 0 8px;
+}
+
+.tab li:nth-child(5) {
+  border-radius: 0 8px 8px 0;
+}
+
+.tab li.active {
+  border-color: #3a7bfa;
+  color: #3a7bfa;
+}
+
+.el-form-item {
+  margin-bottom: 16px;
+}
+
+.box-card >>> .el-radio__inner {
+  border-radius: 2px !important;
+}
+
+.box-card >>> .el-radio__input.is-checked .el-radio__inner::after {
+  content: "";
+  width: 8px;
+  height: 3px;
+  border: 1px solid white;
+  border-top: transparent;
+  border-right: transparent;
+  text-align: center;
+  display: block;
+  position: absolute;
+  top: 3px;
+  left: 2px;
+  transform: rotate(-45deg);
+  border-radius: 0px;
+  background: none;
+}
+
+>>> .el-radio__label {
+  color: #000 !important;
+}
+
+.el-dialog__body >>> .el-radio__label {
+  font-size: 8px;
+}
+
+.el-dialog__body >>> .el-radio__input.is-checked .el-radio__inner::after {
+  content: "";
+  width: 4px;
+  height: 3px;
+  border: 1px solid #000;
+  border-top: transparent;
+  border-right: transparent;
+  text-align: center;
+  display: block;
+  position: absolute;
+  top: 1px;
+  left: 2px;
+  transform: rotate(-45deg);
+  border-radius: 0px;
+  background: none;
+}
+
+>>> .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 {
+  background: transparent;
+}
+
+.el-dialog__body >>> .el-radio__inner {
+  width: 8px !important;
+  height: 8px !important;
+}
+
+.el-dialog__body >>> .el-radio__label {
+  padding-left: 2px !important;
+}
+
+.el-dialog__body >>> .el-card__body {
+  padding: 0 !important;
+}
+
+.el-dialog__body >>> .el-card {
+  border: none;
+}
+
+.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 {
+  border: none !important;
+}
+
+.scor {
+  width: 0.01cm;
+  height: 0.01cm;
+  border-radius: 1px;
+  border: 1px solid #000;
+  display: inline-block;
+}
+
+.ellipsis-multiline {
+  display: -webkit-box;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient: vertical;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  word-wrap: break-word;
+  max-height: 3em;
+  /* 楂樺害涓哄瓧浣撳ぇ灏忕殑涓ゅ�� */
+  line-height: 1.5em;
+  /* 琛岄珮 */
+  height: 3em;
+  /* 楂樺害涓鸿楂樼殑涓ゅ�� */
+}
+
+.table-container {
+  height: 70vh;
+  overflow-y: auto;
+}
+
+.table-container.el-table {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+</style>

--
Gitblit v1.9.3