From f2bc9fde40010ddb6fdbc4c36ee9fc0e83af8f03 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 06 三月 2025 16:45:07 +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 | 1436 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1,433 insertions(+), 3 deletions(-)

diff --git a/src/views/business/inspectionOrder/index.vue b/src/views/business/inspectionOrder/index.vue
index f2e1fd8..4fb5f8d 100644
--- a/src/views/business/inspectionOrder/index.vue
+++ b/src/views/business/inspectionOrder/index.vue
@@ -1,9 +1,1439 @@
 <template>
-  <div>妫�楠屼笅鍗�</div>
+  <div>
+    <div>
+      <el-row class="title">
+        <el-col :span="12" style="padding-left: 20px; 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)"
+            >涓嬪崟</el-button
+          >
+        </el-col>
+      </el-row>
+    </div>
+    <basic-container>
+      <div class="search" :style="`height: ${more ? 130 : 80}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="componentData.entity.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="componentData.entity.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="componentData.entity.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="componentData.entity.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="componentData.entity.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="componentData.entity.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="componentData.entity.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="componentData.entity.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="componentData.entity.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 style="width: 100%; height: 100%" 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>
+          <!-- <ValueTable
+          :style="getStyle()"
+          ref="ValueTable"
+          :url="$api.insOrder.selectInsOrderParameter"
+          :componentData="componentData"
+          :upIndex="upIndex"
+          @getTableData="getTableData"
+        /> -->
+          <lims-table
+            :tableData="tableData"
+            @pagination="pagination"
+            :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.entrustCode
+            }}</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="!isQuash">
+              <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="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
+        >
+          <div style="height: 80vh; overflow-y: auto" v-if="dataDialogVisible">
+            <ValueTable
+              ref="ValueTableDataLook"
+              :rowKey="'insProductId'"
+              :url="$api.insOrder.selectSampleAndProductByOrderId"
+              :componentData="componentDataDataLook"
+            />
+          </div>
+        </el-dialog>
+        <el-dialog
+          top="5vh"
+          :title="deleteTilte"
+          :visible.sync="deleteDialogVisible"
+          :before-close="handleCloseDelete"
+          width="80%"
+        >
+          <div class="table-container" v-if="deleteDialogVisible">
+            <!-- <ValueTable
+            ref="ValueTableDataDelete"
+            :url="
+              $api.insOrder.selectNoProducts +
+              '?orderId=' +
+              orderId +
+              '&ids=' +
+              this.revocationInsProductIds
+            "
+            :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-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: -20px; 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 limsTable from "@/components/Table/lims-table.vue";
+import {
+  addCustom,
+  selectCustomPageList,
+  delCustomById,
+  upCustom,
+} from "@/api/business/inspectionOrder";
+import vueQr from "vue-qr";
+import getLodop from "@/utils/lodop";
+import Add from "./add.vue";
+export default {
+  components: {
+    limsTable,
+    Add,
+    vueQr,
+  },
+  data() {
+    return {
+      tableData: [],
+      page: {
+        total: 0,
+        size: 10,
+        current: 0,
+      },
+      tableLoading: false,
+      column: [
+        { label: "濮旀墭缂栧彿", prop: "entrustCode" },
+        { label: "澶栭儴濮旀墭缂栧彿", prop: "outEntrustCode" },
+        { label: "濮旀墭鍗曚綅", prop: "company" },
+        { label: "鏍峰搧鍚嶇О", prop: "sampleName" },
+        { label: "鏍峰搧缂栧彿", prop: "sampleCode" },
+        { label: "鏍峰搧鍨嬪彿", prop: "sampleModel" },
+        { label: "鏍峰搧鏁伴噺", prop: "sampleNum" },
+        { label: "妫�楠岃繘搴�%", prop: "insProgress" },
+        { label: "绱ф�ョ▼搴�", prop: "type" },
+        { label: "澶囨敞", prop: "remark" },
+        { label: "鍒跺崟浜�", prop: "custom" },
+        { label: "绾﹀畾鏃堕棿", prop: "appointed" },
+        { label: "涓嬪崟鏃堕棿", prop: "createTime" },
+        { label: "涓嬪彂鏃堕棿", prop: "sendTime" },
+        { label: "閫�鍥炵悊鐢�", prop: "tell" },
+        { label: "濮旀墭浜�", prop: "prepareUser" },
+        { label: "鎾ら攢鏃ユ湡", prop: "revocationTime" },
+        {
+          dataType: "action",
+          fixed: "right",
+          label: "鎿嶄綔",
+          operation: [
+            {
+              name: "鏁版嵁鏌ョ湅",
+              type: "text",
+              clickFun: (row) => {},
+            },
+            {
+              name: "鎶ュ憡涓嬭浇",
+              type: "text",
+              clickFun: (row) => {},
+            },
+            {
+              name: "瀹℃牳",
+              type: "text",
+              clickFun: (row) => {},
+            },
+            {
+              name: "鎾ら攢",
+              type: "text",
+              clickFun: (row) => {},
+            },
+            {
+              name: "鎾ら攢瀹℃牳",
+              type: "text",
+              clickFun: (row) => {},
+            },
+            {
+              name: "鍒嗛厤",
+              type: "text",
+              clickFun: (row) => {},
+            },
+          ],
+        },
+      ],
+      //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: [],
+      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: [
+              {
+                value: 0,
+                type: "success",
+                label: "鏅��",
+              },
+              {
+                value: 1,
+                type: "warning",
+                label: "浼樺厛",
+              },
+              {
+                value: 2,
+                type: "danger",
+                label: "绱ф��",
+              },
+            ],
+          },
+          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: [],
+      },
+      deleteDialogVisible: false,
+      entityCopy: {},
+      upIndex: 0,
+      upLoad: false,
+      tabList: [
+        {
+          label: "寰呭鏍�",
+          value: 0,
+        },
+        {
+          label: "寰呮楠�",
+          value: 1,
+        },
+        {
+          label: "宸叉楠�",
+          value: 4,
+        },
+        {
+          label: "閫�鍥�",
+          value: 2,
+        },
+        {
+          label: "鎾ら攢",
+          value: 3,
+        },
+      ],
+      tabIndex: 0,
+      active: 0, //1锛氫笅鍗曪紝2锛氭煡鐪嬶紝3锛氬鏍革紝4锛氬厜绾ら厤缃�,榛樿涓�0
+      currentId: null,
+      more: false,
+      insOrderRow: {},
+      checkIndexList: [],
+      checkDataList: [
+        {
+          sampleCode: "11111",
+        },
+      ],
+      qrData: [],
+      multipleSelection: [],
+      sonLaboratoryList: [],
+      queryCount: 0,
+    };
+  },
+  methods: {
+    pagination({ page, limit }) {
+      this.page.current = page;
+      this.page.size = limit;
+      this.getList();
+    },
+  },
+};
 </script>
 
-<style></style>
+<style scope>
+.title {
+  height: 60px;
+  line-height: 60px;
+}
+
+.search {
+  background-color: #fff;
+  height: 80px;
+  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;
+}
+
+.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