From 952a20f1c005d80e9bf881287c40e6f4e4266a0b Mon Sep 17 00:00:00 2001
From: lxp <1928192722@qq.com>
Date: 星期三, 12 三月 2025 15:34:52 +0800
Subject: [PATCH] Merge branch 'dev' of http://114.132.189.42:9002/r/center-lims-before-ruoyi into dev

---
 src/views/business/inspectionOrder/index.vue | 1628 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 1,085 insertions(+), 543 deletions(-)

diff --git a/src/views/business/inspectionOrder/index.vue b/src/views/business/inspectionOrder/index.vue
index 56b36ab..01efcc4 100644
--- a/src/views/business/inspectionOrder/index.vue
+++ b/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 = 鐐瑰嚮瀵瑰簲琛屽��
-      // //澶嶅埗缁檉ormData
-      // 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;
 }
 

--
Gitblit v1.9.3