From bc44c8e3c9d85691ce3fa73ef1300a6fae46e365 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 18 三月 2025 19:07:08 +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 | 1829 ++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 1,433 insertions(+), 396 deletions(-)
diff --git a/src/views/business/inspectionOrder/index.vue b/src/views/business/inspectionOrder/index.vue
index 4fb5f8d..206fe23 100644
--- a/src/views/business/inspectionOrder/index.vue
+++ b/src/views/business/inspectionOrder/index.vue
@@ -1,10 +1,8 @@
<template>
- <div>
- <div>
+ <div class="bg-1">
+ <div style="margin: 5px 15px">
<el-row class="title">
- <el-col :span="12" style="padding-left: 20px; text-align: left"
- >妫�楠屼笅鍗�</el-col
- >
+ <el-col :span="12" style="text-align: left">妫�楠屼笅鍗�</el-col>
<el-col :span="12" style="text-align: right">
<el-button
size="medium"
@@ -16,14 +14,18 @@
<el-button size="medium" type="primary" @click="print"
>鏍囩鎵撳嵃</el-button
>
- <el-button size="medium" type="primary" @click="playOrder(1)"
+ <el-button
+ size="medium"
+ type="primary"
+ @click="playOrder(1)"
+ v-hasPermi="['business:order:add']"
>涓嬪崟</el-button
>
</el-col>
</el-row>
</div>
<basic-container>
- <div class="search" :style="`height: ${more ? 130 : 80}px;`">
+ <div class="search" :style="`height: ${more ? 100 : 50}px;`">
<el-row :gutter="10" style="width: 100%">
<el-col :span="20" style="display: flex; flex-wrap: wrap">
<div class="search_thing" style="width: 20%">
@@ -33,7 +35,7 @@
size="small"
placeholder="璇疯緭鍏�"
clearable
- v-model="componentData.entity.entrustCode"
+ v-model="queryParams.entrustCode"
@keyup.enter.native="refreshTable()"
></el-input>
</div>
@@ -47,7 +49,7 @@
size="small"
placeholder="璇疯緭鍏�"
clearable
- v-model="componentData.entity.outEntrustCode"
+ v-model="queryParams.outEntrustCode"
@keyup.enter.native="refreshTable()"
></el-input>
</div>
@@ -59,7 +61,7 @@
size="small"
placeholder="璇疯緭鍏�"
clearable
- v-model="componentData.entity.sampleName"
+ v-model="queryParams.sampleName"
@keyup.enter.native="refreshTable()"
></el-input>
</div>
@@ -71,7 +73,7 @@
size="small"
placeholder="璇疯緭鍏�"
clearable
- v-model="componentData.entity.sampleModel"
+ v-model="queryParams.sampleModel"
@keyup.enter.native="refreshTable()"
></el-input>
</div>
@@ -83,7 +85,7 @@
size="small"
placeholder="璇疯緭鍏�"
clearable
- v-model="componentData.entity.sampleCode"
+ v-model="queryParams.sampleCode"
@keyup.enter.native="refreshTable()"
></el-input>
</div>
@@ -93,7 +95,7 @@
<div class="search_input">
<el-date-picker
style="width: 100%"
- v-model="componentData.entity.startAndEndTime"
+ v-model="queryParams.startAndEndTime"
type="daterange"
size="small"
range-separator="鑷�"
@@ -113,7 +115,7 @@
size="small"
placeholder="璇疯緭鍏�"
clearable
- v-model="componentData.entity.name"
+ v-model="queryParams.name"
@keyup.enter.native="refreshTable()"
></el-input>
</div>
@@ -125,7 +127,7 @@
size="small"
placeholder="璇疯緭鍏�"
clearable
- v-model="componentData.entity.engineering"
+ v-model="queryParams.engineering"
@keyup.enter.native="refreshTable()"
></el-input>
</div>
@@ -137,7 +139,7 @@
size="small"
placeholder="璇疯緭鍏�"
clearable
- v-model="componentData.entity.production"
+ v-model="queryParams.production"
@keyup.enter.native="refreshTable()"
></el-input>
</div>
@@ -162,7 +164,7 @@
</div>
</basic-container>
<basic-container>
- <div style="width: 100%; height: 100%" v-show="active == 0">
+ <div v-show="active == 0">
<div class="table">
<ul class="tab">
<li
@@ -174,17 +176,13 @@
{{ m.label }}
</li>
</ul>
- <!-- <ValueTable
- :style="getStyle()"
- ref="ValueTable"
- :url="$api.insOrder.selectInsOrderParameter"
- :componentData="componentData"
- :upIndex="upIndex"
- @getTableData="getTableData"
- /> -->
<lims-table
+ highlightCurrentRow
+ isSelection
:tableData="tableData"
+ :height="tableHeight + ''"
@pagination="pagination"
+ :handleSelectionChange="selectionChange"
:column="column"
:page="page"
:tableLoading="tableLoading"
@@ -240,7 +238,7 @@
>
<p style="font-size: 16px; color: #333333" v-if="!isQuash">
濮旀墭缂栧彿<span style="color: #34bd66">{{
- this.insOrderRow.entrustCode
+ this.insOrderRow.outEntrustCode
}}</span
>鐨勪俊鎭槸鍚︽挙閿�
</p>
@@ -260,14 +258,10 @@
</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-row>
+ <el-button @click="handleClose">{{
+ isQuash ? "杩� 鍥�" : "鍙� 娑�"
+ }}</el-button>
<el-button type="primary" @click="submitForm" :loading="upLoad"
>纭� 瀹�</el-button
>
@@ -376,14 +370,13 @@
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>
+ <lims-table
+ highlightCurrentRow
+ :height="'80vh'"
+ :tableData="dataLooktableData"
+ :column="dataLookColumn"
+ :tableLoading="dataLookTableLoading"
+ ></lims-table>
</el-dialog>
<el-dialog
top="5vh"
@@ -393,18 +386,6 @@
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"
@@ -560,7 +541,6 @@
></el-table-column>
</el-table>
</el-dialog>
-
<!-- 瀵煎嚭宸叉鏁版嵁 -->
<el-dialog
title="閫夋嫨鏃ユ湡"
@@ -585,14 +565,14 @@
</span>
</el-dialog>
</div>
- <div style="width: 100%; height: 100%" v-if="active > 0">
+ <!-- <div style="width: 100%; height: 100%" v-if="active > 0">
<Add
:active="active"
:currentId="currentId"
v-if="active < 4"
:examine="examine"
/>
- </div>
+ </div> -->
<el-dialog
title="鏍囩鎵撳嵃"
:visible.sync="printDialogVisible"
@@ -624,7 +604,7 @@
<el-checkbox
:label="i"
:key="i"
- style="position: relative; top: -20px; left: 5px"
+ style="position: relative; top: -10px; left: 5px"
><br
/></el-checkbox>
<div>
@@ -826,87 +806,467 @@
</template>
<script>
-import limsTable from "@/components/Table/lims-table.vue";
import {
- addCustom,
- selectCustomPageList,
- delCustomById,
- upCustom,
+ selectInsOrderParameter,
+ labelPrinting,
+ exportChecked,
+ selectSampleAndProductByOrderId,
+ selectSampleByOrderId,
+ selectProductsBySampleId,
+ revoke,
+ viewDetails,
+ downReport,
+ selectTemperatureByProductId,
+ selectTemperatureNumberByProductId,
+ revokeReviewTemperatureByProductId,
+ revokeReviewConsistentByProductId,
+ revokeReviewProduct,
+ revokeReviewSample,
+ updateStatus,
+ updateInspected,
+ revocationPassed,
+ revocationCancel,
} from "@/api/business/inspectionOrder";
+import { upPlanUser2 } from "@/api/business/inspectionTask";
+import { getDicts } from "@/api/system/dict/data";
import vueQr from "vue-qr";
import getLodop from "@/utils/lodop";
import Add from "./add.vue";
+import { mapGetters } from "vuex";
+import limsTable from "@/components/Table/lims-table.vue";
export default {
components: {
limsTable,
Add,
vueQr,
},
+ computed: {
+ ...mapGetters(["permissions"]),
+ },
data() {
return {
+ queryParams: {
+ entrustCode: "",
+ outEntrustCode: "",
+ sampleName: "",
+ sampleModel: "",
+ sampleCode: "",
+ startAndEndTime: [],
+ name: "",
+ engineering: "",
+ production: "",
+ },
tableData: [],
page: {
total: 0,
- size: 10,
- current: 0,
+ size: 20,
+ current: 1,
},
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" },
{
+ label: "濮旀墭缂栧彿",
+ prop: "entrustCode",
+ minWidth: "160px",
+ width: "160px",
+ },
+ {
+ label: "澶栭儴濮旀墭缂栧彿",
+ prop: "outEntrustCode",
+ minWidth: "160px",
+ width: "160px",
+ },
+ {
+ label: "濮旀墭鍗曚綅",
+ prop: "company",
+ minWidth: "160px",
+ width: "160px",
+ },
+ {
+ label: "鏍峰搧鍚嶇О",
+ prop: "sampleName",
+ minWidth: "160px",
+ width: "160px",
+ dataType: "link",
+ linkEvent: {
+ method: "showDetails",
+ vueComponent: this,
+ },
+ },
+ {
+ label: "鏍峰搧缂栧彿",
+ prop: "sampleCode",
+ minWidth: "160px",
+ width: "160px",
+ },
+ {
+ label: "鏍峰搧鍨嬪彿",
+ prop: "sampleModel",
+ minWidth: "160px",
+ width: "160px",
+ },
+ {
+ label: "鏍峰搧鏁伴噺",
+ prop: "sampleNum",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "妫�楠岃繘搴�%",
+ prop: "insProgress",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "绱ф�ョ▼搴�",
+ prop: "type",
+ minWidth: "100px",
+ width: "100px",
+ dataType: "tag",
+ formatData: (params) => {
+ let index = this.urgencyDictList.findIndex(
+ (item) => item.dictValue == params
+ );
+ if (index > -1) {
+ return this.urgencyDictList[index].dictLabel;
+ } else {
+ return null;
+ }
+ },
+ formatType: (params) => {
+ let index = this.urgencyDictList.findIndex(
+ (item) => item.dictValue == params
+ );
+ if (index > -1) {
+ return this.urgencyDictList[index].listClass;
+ } else {
+ return null;
+ }
+ },
+ },
+ {
+ label: "澶囨敞",
+ prop: "remark",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "鍒跺崟浜�",
+ prop: "custom",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "绾﹀畾鏃堕棿",
+ prop: "appointed",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "涓嬪崟鏃堕棿",
+ prop: "createTime",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "涓嬪彂鏃堕棿",
+ prop: "sendTime",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "閫�鍥炵悊鐢�",
+ prop: "tell",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "濮旀墭浜�",
+ prop: "prepareUser",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "鎾ら攢鏃ユ湡",
+ prop: "revocationTime",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "鎿嶄綔",
dataType: "action",
fixed: "right",
- label: "鎿嶄綔",
operation: [
{
name: "鏁版嵁鏌ョ湅",
type: "text",
- clickFun: (row) => {},
+ disabled: (row) => {
+ return row.state != 1 && row.state != 4;
+ },
+ clickFun: (row) => {
+ this.handleDataLook(row);
+ },
+ showHide: () => {
+ return true;
+ },
},
{
name: "鎶ュ憡涓嬭浇",
type: "text",
- clickFun: (row) => {},
+ clickFun: (row) => {
+ this.download(row);
+ },
+ disabled: (row, index) => {
+ return row.state != 4 || row.isRatify != 1;
+ },
},
{
name: "瀹℃牳",
type: "text",
- clickFun: (row) => {},
+ clickFun: (row) => {
+ this.handleVerify(row);
+ },
+ disabled: (row, index) => {
+ return row.state != 0;
+ },
},
{
name: "鎾ら攢",
type: "text",
- clickFun: (row) => {},
+ clickFun: (row) => {
+ this.handlEquash(row);
+ },
+ disabled: (row, index) => {
+ return row.state != 1 && row.state != 0;
+ },
},
{
name: "鎾ら攢瀹℃牳",
type: "text",
- clickFun: (row) => {},
+ clickFun: (row) => {
+ this.handlEquashCheck(row);
+ },
+ disabled: (row, index) => {
+ return (
+ (row.state != 1 && row.state != 0) ||
+ this.tabIndex != 1 ||
+ row.isRevocation != 1
+ );
+ },
},
{
name: "鍒嗛厤",
type: "text",
clickFun: (row) => {},
+ disabled: (row, index) => {
+ return (
+ row.state != 1 ||
+ (row.entrustCode != null &&
+ Number(row.assign) > 0 &&
+ row.inspectId != null)
+ );
+ },
},
],
},
],
+ dataLookColumn: [
+ {
+ label: "濮旀墭缂栧彿",
+ prop: "entrustCode",
+ minWidth: "160px",
+ width: "160px",
+ },
+ {
+ label: "鏍峰搧缂栧彿",
+ prop: "sampleCode",
+ minWidth: "160px",
+ width: "160px",
+ },
+ {
+ label: "绠″鑹叉爣",
+ prop: "bushColor",
+ minWidth: "100px",
+ width: "100px",
+ },
+ {
+ label: "鍏夌氦甯︾紪鍙�",
+ prop: "code",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "鍏夌氦鑹叉爣",
+ prop: "color",
+ minWidth: "100px",
+ width: "100px",
+ },
+ {
+ label: "妫�楠岄」",
+ prop: "inspectionItem",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "妫�楠屽瓙椤�",
+ prop: "inspectionItemSubclass",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "妫�楠岀粨鏋�",
+ prop: "lastValue",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "缁撴灉鍒ゅ畾",
+ prop: "insResult",
+ minWidth: "100px",
+ width: "100px",
+ dataType: "tag",
+ formatData: (params) => {
+ let index = this.insResultList.findIndex(
+ (item) => item.value == params
+ );
+ if (index > -1) {
+ return this.insResultList[index].label;
+ } else {
+ return null;
+ }
+ },
+ formatType: (params) => {
+ let index = this.insResultList.findIndex(
+ (item) => item.value == params
+ );
+ if (index > -1) {
+ return this.insResultList[index].type;
+ } else {
+ return null;
+ }
+ },
+ },
+ {
+ label: "鍗曚綅",
+ prop: "unit",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "璇曢獙瑕佹眰",
+ prop: "tell",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "妫�楠屼汉",
+ prop: "checkName",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "妫�楠屾棩鏈�",
+ prop: "checkTime",
+ minWidth: "140px",
+ width: "140px",
+ },
+ {
+ label: "鏍峰搧鍚嶇О",
+ prop: "sample",
+ minWidth: "160px",
+ width: "160px",
+ },
+ {
+ label: "鏍峰搧鍨嬪彿",
+ prop: "model",
+ minWidth: "160px",
+ width: "160px",
+ },
+ {
+ label: "璇曢獙瀹�",
+ prop: "sonLaboratory",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ dataType: "action",
+ label: "鎿嶄綔",
+ fixed: "right",
+ operation: [
+ {
+ name: "鏌ョ湅",
+ type: "text",
+ clickFun: (row) => {
+ this.viewDetails(row);
+ },
+ showHide: (row) => {
+ return (
+ row.inspectionItem == "鍗曟牴鍨傜洿鐕冪儳" ||
+ row.inspectionItem.includes("鏉惧绠�") ||
+ row.inspectionItemSubclass.includes("鏉惧绠�") ||
+ (row.inspectionItem == "鎶楁媺寮哄害" &&
+ (row.inspectionItemSubclass == "鐑�佸寲澶勭悊鍓�" ||
+ row.inspectionItemSubclass == "鐑�佸寲澶勭悊鍚�")) ||
+ (row.inspectionItem == "鏂浼搁暱鐜�" &&
+ (row.inspectionItemSubclass == "鐑�佸寲澶勭悊鍓�" ||
+ row.inspectionItemSubclass == "鐑�佸寲澶勭悊鍚�"))
+ );
+ },
+ },
+ ],
+ },
+ ],
+ dataLookTableLoading: false,
+ dataLooktableData: [],
+ qrData: [],
+ multipleSelection: [],
+ sonLaboratoryList: [],
+ urgencyDictList: [],
+ tableHeight: 0,
+ tabList: [
+ {
+ label: "寰呭鏍�",
+ value: 0,
+ },
+ {
+ label: "寰呮楠�",
+ value: 1,
+ },
+ {
+ label: "宸叉楠�",
+ value: 4,
+ },
+ {
+ label: "閫�鍥�",
+ value: 2,
+ },
+ {
+ label: "鎾ら攢",
+ value: 3,
+ },
+ ],
+ insResultList: [
+ {
+ value: 1,
+ label: "鍚堟牸",
+ type: "success",
+ },
+ {
+ value: 0,
+ label: "涓嶅悎鏍�",
+ type: "danger",
+ },
+ {
+ value: 3,
+ label: "涓嶅垽瀹�",
+ type: "",
+ },
+ ],
+ tabIndex: 0,
+ active: 0, //1锛氫笅鍗曪紝2锛氭煡鐪嬶紝3锛氬鏍革紝4锛氬厜绾ら厤缃�,榛樿涓�0
+ currentId: null,
+ more: false,
+
//old
tableHeader: [],
type: "",
@@ -948,326 +1308,982 @@
// 浜哄憳鍒楄〃
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",
+ sampleCode: "",
},
],
- qrData: [],
- multipleSelection: [],
- sonLaboratoryList: [],
- queryCount: 0,
};
},
+ created() {
+ this.getDictList();
+ this.getTableHeight();
+ },
+ mounted() {
+ this.getList();
+ window.addEventListener("resize", this.getTableHeight);
+ },
+ beforeDestroy() {
+ window.removeEventListener("resize", this.getTableHeight);
+ },
+ watch: {
+ more() {
+ this.getTableHeight();
+ },
+ printDialogVisible(newVal) {
+ if (!newVal) {
+ this.checkIndexList = [];
+ }
+ },
+ },
methods: {
+ selectionChange(val) {
+ console.log(val);
+ this.multipleSelection = val;
+ },
+ //鑾峰彇琛ㄦ牸楂樺害
+ getTableHeight() {
+ const otherHeight = this.more ? 430 : 380; // 鍏朵綑楂樺害
+ const tableBottom = 50; // 璺濈椤甸潰涓嬫柟鐨勯珮搴�
+ const tableHeightDetil = window.innerHeight - tableBottom;
+ if (tableHeightDetil <= 300) {
+ this.tableHeight = 200;
+ } else {
+ this.tableHeight = window.innerHeight - tableBottom - otherHeight;
+ }
+ },
+ getDictList() {
+ getDicts("urgency_level")
+ .then((res) => {
+ if (res.code === 200) {
+ this.urgencyDictList = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
pagination({ page, limit }) {
this.page.current = page;
this.page.size = limit;
this.getList();
+ },
+ //鑾峰彇鏁版嵁鍒楄〃
+ getList() {
+ this.tableLoading = true;
+ selectInsOrderParameter({ ...this.queryParams, ...this.page })
+ .then((res) => {
+ if (res.code === 200) {
+ this.tableData = res.data.records;
+ this.page.total = res.data.total;
+ }
+ this.tableLoading = false;
+ })
+ .catch((error) => {
+ console.error(error);
+ this.tableLoading = false;
+ });
+ },
+ // 瀵煎嚭宸叉
+ exportChecked() {
+ let data = {
+ startTime: this.exportCheckedDate[0],
+ endTime: this.exportCheckedDate[1],
+ };
+ this.exportCheckedLoading = true;
+ this.dialogVisible1 = false;
+ exportChecked(data)
+ .then((res) => {
+ this.$message.success("瀵煎嚭鎴愬姛");
+ this.exportCheckedDate = [];
+ this.exportCheckedLoading = false;
+ const blob = new Blob([res], { type: "application/octet-stream" });
+ const url = URL.createObjectURL(blob);
+ const link = document.createElement("a");
+ link.href = url;
+ link.download = "妫�楠岀粨鏋�.xlsx";
+ document.body.appendChild(link);
+ link.click();
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ // 鏌ョ湅璇︽儏
+ viewDetails(row) {
+ this.dialogVisible = true;
+ if (
+ row.inspectionItem.includes("鏉惧绠�") ||
+ row.inspectionItemSubclass.includes("鏉惧绠�")
+ ) {
+ this.type = "鏉惧绠�";
+ } else {
+ this.type = row.inspectionItem;
+ }
+ let data = {
+ inspectionItem: row.inspectionItem,
+ insProductId: row.insProductId,
+ insSampleId: row.insSampleId,
+ entrustCode: row.entrustCode,
+ sampleCode: row.sampleCode,
+ inspectionItemSubclass: row.inspectionItemSubclass,
+ };
+ viewDetails(data)
+ .then((res) => {
+ if (res.code === 200) {
+ this.viewDetailsList = res.data;
+ if (res.data[0].tableHeader) {
+ this.tableHeader = res.data[0].tableHeader;
+ } else {
+ this.tableHeader = [
+ {
+ testValue0: "",
+ },
+ ];
+ }
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ getLabelPrinting(selection) {
+ this.loadPint = true;
+ labelPrinting({
+ ids: selection.map((m) => m.id).join(","),
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ let arr = res.data;
+ arr.forEach((a) => {
+ this.loadPint = false;
+ let arr1 = [];
+ a.insProduct.forEach((b) => {
+ arr1.push(b.inspectionItem);
+ });
+ a.item = [...new Set(arr1)].join(",");
+ });
+ this.qrData = arr;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ //寮�濮嬫爣绛炬墦鍗�
+ beginPrint(arr) {
+ if (arr.length === 0) {
+ return;
+ }
+ this.LODOP = getLodop();
+ this.LODOP.SET_LICENSES(
+ "鍗楅�氬競閼槼杞欢寮�鍙戞湁闄愬叕鍙�",
+ "60F8E5078AE17DEB340C94BC7E83CAFF",
+ "",
+ ""
+ );
+ this.LODOP.PRINT_INITA();
+ for (let i = 0; i < arr.length; i++) {
+ const qrData = arr[i];
+ let qrStr =
+ "https://zttx-lims.ztt.cn:8021/lims/qr/qrScan?code=" +
+ qrData.id +
+ "&type=sample";
+ this.LODOP.NEWPAGE();
+ // this.LODOP.SET_PRINT_PAGESIZE(0, 100, 360, '')
+ this.LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE", 1);
+ this.LODOP.ADD_PRINT_BARCODE(2, 5, 80, 80, "QRCode", qrStr);
+ this.LODOP.ADD_PRINT_TEXT(5, 85, 60, 18, "鏍峰搧缂栧彿锛�");
+ this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(5, 117, 280, 18, qrData.sampleCode);
+ this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(15, 85, 60, 18, "濮旀墭鍗曞彿锛�");
+ this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(15, 117, 280, 18, qrData.code);
+ this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(25, 85, 60, 18, "瑙勬牸鍨嬪彿锛�");
+ this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(25, 117, 280, 18, qrData.model);
+ this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(35, 85, 60, 18, "鏍峰搧鍚嶇О锛�");
+ this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(35, 117, 280, 18, qrData.sample);
+ this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(45, 85, 60, 20, "妫�娴嬮」鐩細");
+ this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(
+ 45,
+ 117,
+ 150,
+ 20,
+ qrData.item.length > 42
+ ? qrData.item.substring(0, 39) + "..."
+ : qrData.item
+ );
+ this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+ this.LODOP.ADD_PRINT_TEXT(67, 85, 60, 18, "鏍峰搧鐘舵�侊細");
+ this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+ let stateStr = "鈻㈠緟妫� 鈻㈠湪妫� 鈻㈠凡妫�";
+ let leaveStr =
+ qrData.isLeave && qrData.isLeave === 1 ? " 鈻g暀鏍�" : " 鈻㈢暀鏍�";
+ if (qrData.insState == 0) {
+ stateStr = "鈻e緟妫� 鈻㈠湪妫� 鈻㈠凡妫�";
+ } else if (qrData.insState == 1) {
+ stateStr = "鈻㈠緟妫� 鈻e湪妫� 鈻㈠凡妫�";
+ } else if (qrData.insState == 2) {
+ stateStr = "鈻㈠緟妫� 鈻㈠湪妫� 鈻e凡妫�";
+ }
+ this.LODOP.ADD_PRINT_TEXT(67, 117, 280, 18, stateStr + leaveStr);
+ this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
+ }
+ this.LODOP.PRINT();
+ // this.LODOP.PREVIEW()
+ },
+ //閫夋嫨瑕佹墦鍗扮殑浜岀淮鐮�
+ changePrintCode() {
+ let indexList = this.checkIndexList;
+ let arr = [];
+ indexList.forEach((i) => {
+ arr.push(this.qrData[i]);
+ });
+ this.checkDataList = arr;
+ },
+ //鍏ㄩ��
+ handleCheckAllChange(val) {
+ if (val) {
+ for (var i = 0; i < this.qrData.length; i++) {
+ this.checkIndexList.push(i);
+ }
+ this.checkDataList = this.qrData;
+ } else {
+ this.checkIndexList = [];
+ this.checkDataList = [];
+ }
+ this.isIndeterminate = false;
+ },
+ submitPrint() {
+ if (this.checkDataList.length < 1) {
+ this.$message.warning("璇烽�夋嫨瑕佹墦鍗扮殑浜岀淮鐮�");
+ return;
+ }
+ this.$nextTick(() => {
+ this.beginPrint(this.qrData);
+ });
+ this.printDialogVisible = false;
+ },
+ print() {
+ if (this.multipleSelection.length == 0) {
+ this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�");
+ return;
+ }
+ let selection = this.multipleSelection;
+ this.getLabelPrinting(selection);
+ this.printDialogVisible = true;
+ },
+ refreshTable() {
+ this.getList();
+ },
+ refresh() {
+ this.queryParams = {
+ entrustCode: "",
+ outEntrustCode: "",
+ sampleName: "",
+ sampleModel: "",
+ sampleCode: "",
+ startAndEndTime: [],
+ name: "",
+ engineering: "",
+ production: "",
+ };
+ this.refreshTable();
+ },
+ handleClose() {
+ this.verifyDialogVisible = false;
+ this.quashDialogVisible = false;
+ this.issuedDialogVisible = false;
+ this.dataDialogVisible = false;
+ this.upLoad = false;
+ },
+ handleClose2() {
+ this.verifyDialogVisible = false;
+ this.quashDialogVisible = false;
+ this.issuedDialogVisible = false;
+ this.dataDialogVisible = false;
+ this.upLoad = false;
+ },
+ handleClose3() {
+ this.dialogVisible = false;
+ },
+ handleClose4() {
+ this.exportCheckedDate = [];
+ this.dialogVisible1 = false;
+ },
+ // 鏌ョ湅璇︽儏
+ showDetails(row) {
+ this.$router.push({
+ name: "showDetails",
+ query: {
+ active: 2,
+ currentId: row.id,
+ examine: 1,
+ isPlan: false,
+ },
+ });
+ },
+ // 鏁版嵁鏌ョ湅
+ handleDataLook(row) {
+ selectSampleAndProductByOrderId({ id: row.id })
+ .then((res) => {
+ if (res.code === 200) {
+ this.dataLooktableData = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ this.dataDialogVisible = true;
+ },
+ // 涓嬭浇鎶ュ憡
+ download(row) {
+ downReport({ id: row.reportId })
+ .then((res) => {
+ let fileName = row.tempUrlPdf;
+ if (fileName.includes("_")) {
+ fileName = fileName.split("_")[1];
+ }
+ const blob = new Blob([res], { type: "application/octet-stream" });
+ const url = URL.createObjectURL(blob);
+ const link = document.createElement("a");
+ link.href = url;
+ link.download = fileName;
+ document.body.appendChild(link);
+ link.click();
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ // 瀹℃牳
+ handleVerify(row) {
+ this.$router.push({
+ name: "showDetails",
+ query: {
+ active: 3,
+ currentId: row.id,
+ examine: 1,
+ },
+ });
+ },
+ // 鍏ㄩ��
+ handleSelectionAll(val) {
+ if (val.length > 0 && val.length <= this.treeTableData.length) {
+ this.handleSelectionAllRecursion(this.treeTableData, true);
+ console.log("浼犺緭鐨勬暟鎹�", this.revokeData);
+ } else {
+ this.$refs.revokeTable.clearSelection();
+ this.revokeData = [];
+ }
+ },
+ handleSelectionAllRecursion(list, flag) {
+ for (let i = 0; i < list.length; i++) {
+ let item = list[i];
+ this.$refs.revokeTable.toggleRowSelection(item, flag);
+ if (flag) {
+ this.revokeData.push(item);
+ this.revokeData = this.revokeData.filter(
+ (a, index, self) => index === self.findIndex((t) => t.id === a.id)
+ );
+ }
+ if (item.children && item.children.length > 0) {
+ this.handleSelectionAllRecursion(item.children, flag);
+ }
+ }
+ },
+
+ // 閫夋嫨闇�瑕佹挙閿�鐨勬暟鎹�
+ handleSelectionChange(val, row) {
+ console.log("rwo", row);
+ this.revokeData = val;
+ // 杩涜涓�涓�掑綊鎿嶄綔
+ // 鍒ゆ柇鏄惁閫変腑 val鍖呭惈鏃㈡槸閫変腑 涓嶅寘鍚棦鏄彇娑堥�変腑
+ let flag = null;
+ if (val.includes(row)) {
+ flag = true;
+ } else {
+ flag = false;
+ }
+ if (row.children && row.children.length > 0) {
+ this.tableSelect(row, flag);
+ }
+ // 杩樿杩涜涓�涓垽鏂� 濡傛灉鍏ㄩ�変箣鍚庡張鍙栨秷浜嗛�夋嫨锛岄偅涔堢浉搴旂殑sampleId涔熻鍙栨秷
+ this.$nextTick(() => {
+ if (!flag) {
+ this.treeTableData.forEach((item) => {
+ if (item.id == row.sampleId) {
+ this.$refs.revokeTable.toggleRowSelection(item, false);
+ }
+ });
+ // 娓╁害鐐�
+ if (row.number) {
+ this.revokeData = this.revokeData.filter(
+ (a) =>
+ a.inspectionItemSubclass != row.inspectionItemSubclass &&
+ a.inspectionItem != "娓╁害寰幆" &&
+ a.inspectionItemTwo != row.number &&
+ a.id != row.sampleId
+ );
+ console.log("treeTableData", this.treeTableData);
+ this.treeTableData.forEach((item) => {
+ if (item.id == row.sampleId && item.children.length > 0) {
+ item.children.forEach((a) => {
+ if (a.inspectionItem == "娓╁害寰幆") {
+ this.$refs.revokeTable.toggleRowSelection(a, false);
+ if (a.children.length > 0) {
+ a.children.forEach((b) => {
+ if (b.inspectionItemTwo == row.number) {
+ this.$refs.revokeTable.toggleRowSelection(b, false);
+ }
+ });
+ }
+ }
+ });
+ }
+ });
+ } else if (row.temperatureNumber) {
+ // 寰幆娆℃暟
+ this.revokeData = this.revokeData.filter(
+ (a) =>
+ a.inspectionItem != "娓╁害寰幆" &&
+ a.id != row.sampleId &&
+ a.inspectionItemTwo != row.inspectionItemTwo &&
+ a.number != row.inspectionItemTwo
+ );
+ console.log("treeTableData", this.treeTableData);
+ this.treeTableData.forEach((item) => {
+ if (item.id == row.sampleId && item.children.length > 0) {
+ item.children.forEach((a) => {
+ if (a.inspectionItem == "娓╁害寰幆") {
+ this.$refs.revokeTable.toggleRowSelection(a, false);
+ }
+ });
+ }
+ });
+ } else if (row.temperature) {
+ // 濡傛灉鏄俯搴﹀惊鐜�
+ this.revokeData = this.revokeData.filter(
+ (a) =>
+ a.id != row.sampleId &&
+ a.inspectionItem != "娓╁害寰幆" &&
+ a.parentId != row.id
+ );
+ } else {
+ this.revokeData = this.revokeData.filter(
+ (a) => a.id != row.sampleId
+ );
+ }
+ }
+ console.log("鏈�缁堢粨鏋�", this.revokeData);
+ });
+ },
+ // load鐨勯�掑綊璧嬪��
+ loadRecursion(list, treeId, data) {
+ for (let i = 0; i < list.length; i++) {
+ let item = list[i];
+ if (item.id == treeId) {
+ item.children = data;
+ return;
+ }
+ if (item.children && item.children.length > 0) {
+ this.loadRecursion(item.children, treeId, data);
+ }
+ }
+ },
+ // 閫変腑鐨勯�掑綊
+ selectedRecursion(list) {
+ if (list.children && list.children.length > 0) {
+ console.log("鏈夊瓙鑺傜偣", list);
+
+ for (let i = 0; i < list.children.length; i++) {
+ let item = list.children[i];
+ this.$refs.revokeTable.toggleRowSelection(item, true);
+ this.revokeData.push(item);
+ this.revokeData = this.revokeData.filter(
+ (m, index, self) => index === self.findIndex((t) => t.id === m.id)
+ );
+ if (item.children && item.children.length > 0) {
+ this.selectedRecursion(item.children);
+ }
+ }
+ } else {
+ console.log("娌℃湁瀛愯妭鐐�", list);
+ this.$refs.revokeTable.toggleRowSelection(list, true);
+ return;
+ }
+ },
+ // 閫掑綊treeTableData
+ recursionTreeTableData(list, data) {
+ console.log("list", list);
+ // list 閫変腑鐨勬暟鎹� data浠h〃treetableData
+ for (let i = 0; i < list.length; i++) {
+ let item = list[i];
+ for (let j = 0; j < data.length; j++) {
+ let m = data[j];
+ if (item.id == m.id) {
+ console.log("m", m);
+ this.selectedRecursion(m);
+ }
+ if (m.children && m.children.length > 0) {
+ this.recursionTreeTableData(list, m.children);
+ }
+ }
+ }
+ },
+ watchRecursion(list, flag, id) {
+ console.log("999", list, flag, id);
+ for (let j = 0; j < this.treeTableData.length; j++) {
+ let m = this.treeTableData[j];
+ if (m.id == id) {
+ this.$refs.revokeTable.toggleRowSelection(m, flag);
+ if (flag) {
+ this.revokeData.push(m);
+ this.revokeData = this.revokeData.filter(
+ (a, index, self) => index === self.findIndex((t) => t.id === a.id)
+ );
+ } else {
+ this.revokeData = this.revokeData.filter((a) => a.id != id);
+ }
+
+ if (m.children && m.children.length > 0) {
+ m.children.forEach((a) => {
+ this.$refs.revokeTable.toggleRowSelection(a, flag);
+ if (a.children) {
+ }
+ });
+ }
+ }
+ }
+ },
+ tableSelect(list, flag) {
+ if (list.children && list.children.length > 0) {
+ for (let i = 0; i < list.children.length; i++) {
+ let item = list.children[i];
+ this.$refs.revokeTable.toggleRowSelection(item, flag);
+ if (flag) {
+ this.revokeData.push(item);
+ this.revokeData = this.revokeData.filter(
+ (a, index, self) => index === self.findIndex((t) => t.id === a.id)
+ );
+ } else {
+ this.revokeData = this.revokeData.filter((a) => a.id != item.id);
+ }
+ if (item.children && item.children.length > 0) {
+ this.tableSelect(item, flag);
+ }
+ }
+ }
+ },
+
+ // 鎳掑姞杞芥煡璇�
+ load(tree, treeNode, resolve) {
+ treeNode.loading = true;
+ if (this.deleteTilte == "鎾ら攢") {
+ // 鏄惁鏄俯搴﹀惊鐜�
+ if (tree.temperature) {
+ selectTemperatureByProductId({ productId: tree.id })
+ .then((res) => {
+ if (res.code === 200) {
+ this.loadRecursion(this.treeTableData, tree.id, res.data);
+ resolve(res.data);
+ this.recursionTreeTableData(
+ this.revokeData,
+ this.treeTableData
+ );
+ treeNode.loading = false;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ }
+ // 鏄惁鏄楠屾鏁�
+ else if (tree.temperatureNumber) {
+ selectTemperatureNumberByProductId({
+ parentId: tree.parentId,
+ inspectionItem: tree.inspectionItemTwo,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.loadRecursion(this.treeTableData, tree.id, res.data);
+ resolve(res.data);
+ this.recursionTreeTableData(
+ this.revokeData,
+ this.treeTableData
+ );
+ treeNode.loading = false;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ } else {
+ selectProductsBySampleId({
+ sampleId: tree.id,
+ orderId: this.orderId,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.treeTableData.forEach((m, index) => {
+ if (m.sampleId == tree.id) {
+ m.children = res.data;
+ }
+ });
+ resolve(res.data);
+ this.recursionTreeTableData(
+ this.revokeData,
+ this.treeTableData
+ );
+ treeNode.loading = false;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ }
+ } else if (this.deleteTilte == "鎾ら攢瀹℃牳") {
+ // 鏄惁鏄俯搴﹀惊鐜�
+ if (tree.temperature) {
+ revokeReviewTemperatureByProductId({ productId: tree.id })
+ .then((res) => {
+ if (res.code === 200) {
+ resolve(res.data);
+ treeNode.loading = false;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ }
+ // 鏄惁鏄惊鐜鏁�
+ else if (tree.temperatureNumber) {
+ revokeReviewConsistentByProductId({
+ parentId: tree.parentId,
+ inspectionItem: tree.inspectionItemTwo,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ resolve(res.data);
+ treeNode.loading = false;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ } else {
+ revokeReviewProduct({
+ sampleId: tree.id,
+ orderId: this.orderId,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ resolve(res.data);
+ treeNode.loading = false;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ }
+ }
+ },
+ // 鎾ら攢
+ handlEquash(row) {
+ if (this.tabIndex != 1) {
+ this.quashDialogVisible = true;
+ this.insOrderRow = row;
+ } else {
+ this.orderId = row.id;
+ selectSampleByOrderId({
+ orderId: row.id,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.treeTableData = res.data;
+ this.treeTableData2 = JSON.parse(JSON.stringify(res.data));
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ this.revocationInsProductIds = "";
+ this.deleteTilte = "鎾ら攢";
+ this.deleteDialogVisible = true;
+ }
+ },
+ handleCloseDelete() {
+ this.revokeData = [];
+ this.treeTableData = [];
+ this.deleteDialogVisible = false;
+ },
+ selectDelete(arr) {
+ this.deleteList = arr;
+ },
+ submitDelete() {
+ if (this.deleteTilte == "鎾ら攢") {
+ if (this.revokeData.length == 0) {
+ this.$message.error("璇烽�夋嫨瑕佹挙閿�鐨勫叿浣撻」鐩�");
+ return;
+ }
+ //this.printLoading = true;
+ // 濡傛灉鍕鹃�変簡鏍峰搧
+ let productIds = [];
+ let sampleData = this.revokeData.filter(
+ (m) => m.hasChildren && !m.temperatureNumber && !m.temperature
+ );
+ let sampleIds = [];
+ if (sampleData.length > 0) {
+ console.log("閫夋嫨浜嗘牱鍝�", sampleData);
+ sampleIds = sampleData.map((m) => m.id);
+ let newDate = this.revokeData.filter((m) => {
+ return sampleIds.every((id) => m.sampleId != id);
+ });
+ if (newDate) {
+ productIds = newDate.map((m) => m.id);
+ }
+ } else {
+ console.log("閫夋嫨椤圭洰");
+ // 杩囨护鎺夊惊鐜鏁�
+ let data = this.revokeData.filter((item) => !item.ids);
+ // 濡傛灉鍕鹃�夊惊鐜鏁�
+ let data1 = this.revokeData.filter((item) => item.ids);
+ productIds = data.map((m) => m.id);
+ data1.forEach((item) => {
+ if (item.ids.length > 0) {
+ item.ids.forEach((a) => {
+ productIds.push(a);
+ });
+ }
+ });
+ productIds = [...new Set(productIds)];
+ }
+ let data = {
+ orderId: this.orderId,
+ sampleIds: sampleIds,
+ productIds: productIds,
+ };
+ revoke(data)
+ .then((res) => {
+ if (res.code === 200) {
+ this.deleteDialogVisible = false;
+ this.printLoading = false;
+ this.revokeData = [];
+ this.refreshTable();
+ this.$message.success("鎾ら攢鎴愬姛");
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ } else {
+ revocationPassed({
+ orderId: this.orderId,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.printLoading = false;
+ this.deleteDialogVisible = false;
+ this.refreshTable();
+ this.$message.success("鏇存柊鎴愬姛");
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ }
+ },
+ handlEquashCheck(row) {
+ this.orderId = row.id;
+ this.revocationInsProductIds = row.revocationInsProductIds;
+ this.deleteTilte = "鎾ら攢瀹℃牳";
+ revokeReviewSample({
+ orderId: row.id,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.treeTableData = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ this.deleteDialogVisible = true;
+ },
+ handleNo() {
+ if (this.deleteTilte == "鎾ら攢") {
+ this.deleteDialogVisible = false;
+ this.revokeData = [];
+ } else {
+ revocationCancel({
+ orderId: this.orderId,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.printLoading = false;
+ this.deleteDialogVisible = false;
+ this.refreshTable();
+ this.$message.success("鏇存柊鎴愬姛");
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ }
+ },
+ // 涓嬪彂
+ handleIssued(row) {
+ this.issuedDialogVisible = true;
+ selectOrderManDay({
+ id: row.id,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.distributeData.orderId = row.id;
+ this.distributeData.sampleId = row.sampleId;
+ this.distributeData.appointed = res.data;
+ this.distributeData.type = row.type;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ upPlanUser2({
+ orderId: row.id,
+ })
+ .then((res) => {
+ if (res.code === 200 && res.data.length > 0) {
+ this.sonLaboratoryList = [];
+ res.data.forEach((m) => {
+ this.sonLaboratoryList.push({
+ value: m,
+ label: m,
+ });
+ });
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ submitForm2() {
+ if (
+ this.distributeData.appointed == null ||
+ this.distributeData.appointed == ""
+ ) {
+ this.$message.error("绾﹀畾鏃堕棿鏈~鍐�");
+ return;
+ }
+ //
+ if (
+ this.distributeData.type == 2 &&
+ (this.distributeData.userId == null || this.distributeData.userId == "")
+ ) {
+ this.$message.error("鎸囨淳浜哄憳鏈~鍐�");
+ return;
+ }
+ if (
+ this.distributeData.userId &&
+ (this.distributeData.sonLaboratory == null ||
+ this.distributeData.sonLaboratory == "")
+ ) {
+ this.$message.error("璇曢獙瀹ゆ湭濉啓");
+ return;
+ }
+ this.upLoad = true;
+ upInsOrder({
+ orderId: this.distributeData.orderId,
+ sampleId: this.distributeData.sampleId,
+ appointed: this.distributeData.appointed,
+ userIdList: [this.distributeData.userId],
+ sonLaboratory: this.distributeData.sonLaboratory,
+ })
+ .then((res) => {
+ if (res.code === 201) {
+ this.upLoad = false;
+ return;
+ }
+ this.$message.success("淇敼鎴愬姛");
+ this.upLoad = false;
+ this.issuedDialogVisible = false;
+ this.refreshTable();
+ })
+ .catch((error) => {
+ console.error(error);
+ this.$message.error("淇敼澶辫触");
+ this.upLoad = false;
+ });
+ },
+ submitForm() {
+ this.upLoad = true;
+ if (this.tabIndex == 1) {
+ updateInspected({
+ id: this.insOrderRow.id,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.upLoad = false;
+ this.quashDialogVisible = false;
+ this.refreshTable();
+ this.$message.success("鏇存柊鎴愬姛");
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ } else {
+ updateStatus({
+ id: this.insOrderRow.id,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.upLoad = false;
+ this.quashDialogVisible = false;
+ this.refreshTable();
+ this.$message.success("鏇存柊鎴愬姛");
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ }
+ },
+ // 涓嬪崟
+ playOrder(num) {
+ // this.active = num;
+ // this.examine = 0;
+ this.$router.push({
+ name: "addOrder",
+ query: {
+ active: num,
+ examine: 0,
+ isPlan: false,
+ },
+ });
+ },
+ handleTab(m, i) {
+ this.tabIndex = i;
+ this.queryParams.state = m.value;
+ this.getList();
+ },
+ changeUser() {
+ if (this.sonLaboratoryList.length > 0) {
+ this.distributeData.sonLaboratory = this.sonLaboratoryList[0].value;
+ }
},
},
};
@@ -1281,7 +2297,7 @@
.search {
background-color: #fff;
- height: 80px;
+ height: 50px;
display: flex;
align-items: center;
overflow: hidden;
@@ -1315,7 +2331,8 @@
.tab {
list-style-type: none;
display: flex;
- margin-bottom: 12px;
+ /* margin-bottom: 12px; */
+ padding-inline-start: 0px;
}
.tab li {
@@ -1343,9 +2360,11 @@
.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;
@@ -1362,12 +2381,15 @@
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;
@@ -1384,31 +2406,40 @@
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;
@@ -1416,6 +2447,7 @@
border: 1px solid #000;
display: inline-block;
}
+
.ellipsis-multiline {
display: -webkit-box;
-webkit-line-clamp: 2;
@@ -1423,14 +2455,19 @@
overflow: hidden;
text-overflow: ellipsis;
word-wrap: break-word;
- max-height: 3em; /* 楂樺害涓哄瓧浣撳ぇ灏忕殑涓ゅ�� */
- line-height: 1.5em; /* 琛岄珮 */
- height: 3em; /* 楂樺害涓鸿楂樼殑涓ゅ�� */
+ 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;
--
Gitblit v1.9.3