From c4a1108d64e8e8b24e1b805d84d2dd482a37dd79 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 11 三月 2025 19:08:11 +0800
Subject: [PATCH] 检验下单代码迁移:下单功能
---
src/views/business/inspectionOrder/index.vue | 2085 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 1,751 insertions(+), 334 deletions(-)
diff --git a/src/views/business/inspectionOrder/index.vue b/src/views/business/inspectionOrder/index.vue
index 4fb5f8d..01efcc4 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"
@@ -376,14 +374,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
+ :heigt="'80vh'"
+ :tableData="dataLooktableData"
+ :column="dataLookcolumn"
+ :tableLoading="dataLookTableLoading"
+ ></lims-table>
</el-dialog>
<el-dialog
top="5vh"
@@ -560,7 +557,6 @@
></el-table-column>
</el-table>
</el-dialog>
-
<!-- 瀵煎嚭宸叉鏁版嵁 -->
<el-dialog
title="閫夋嫨鏃ユ湡"
@@ -585,14 +581,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 +620,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>
@@ -828,47 +824,179 @@
<script>
import limsTable from "@/components/Table/lims-table.vue";
import {
- addCustom,
- selectCustomPageList,
+ selectInsOrderParameter,
+ labelPrinting,
+ exportChecked,
+ selectSampleAndProductByOrderId,
+ hasSendUrgentOrder,
delCustomById,
upCustom,
} from "@/api/business/inspectionOrder";
+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,
+ LimsTable,
+ },
+ 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",
+ },
{
dataType: "action",
fixed: "right",
@@ -878,35 +1006,214 @@
name: "鏁版嵁鏌ョ湅",
type: "text",
clickFun: (row) => {},
+ disabled: (row) => {
+ return row.state != 1 && row.state != 4;
+ },
+ clickFun: (row) => {
+ this.handleDataLook(row);
+ },
},
{
name: "鎶ュ憡涓嬭浇",
type: "text",
clickFun: (row) => {},
+ disabled: (row, index) => {
+ return row.state != 4 || row.isRatify != 1;
+ },
},
{
name: "瀹℃牳",
type: "text",
clickFun: (row) => {},
+ disabled: (row, index) => {
+ return row.state != 0;
+ },
},
{
name: "鎾ら攢",
type: "text",
clickFun: (row) => {},
+ disabled: (row, index) => {
+ return row.state != 1 && row.state != 0;
+ },
},
{
name: "鎾ら攢瀹℃牳",
type: "text",
clickFun: (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)
+ );
+ },
},
],
},
],
+ 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: "",
@@ -948,278 +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: [
- {
- 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"],
- },
+ // 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,
@@ -1254,20 +1545,1125 @@
checkIndexList: [],
checkDataList: [
{
- sampleCode: "11111",
+ sampleCode: "",
},
],
qrData: [],
multipleSelection: [],
sonLaboratoryList: [],
queryCount: 0,
+ urgencyDictList: [],
+ tableHeight: 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,
+ };
+ this.$axios
+ .post(this.$api.insOrder.viewDetails, data, {
+ headers: {
+ "Content-Type": "application/json",
+ },
+ })
+ .then((res) => {
+ this.viewDetailsList = res.data;
+ if (res.data[0].tableHeader) {
+ this.tableHeader = res.data[0].tableHeader;
+ } else {
+ this.tableHeader = [
+ {
+ testValue0: "",
+ },
+ ];
+ }
+ });
+ },
+ 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;
+ },
+ // 閫夋嫨妫�楠屽垎閰嶄汉鍛�
+ getAuthorizedPerson() {
+ this.$axios.get(this.$api.user.getLaboratoryPersonList).then((res) => {
+ // let data = [];
+ // res.data.forEach((a) => {
+ // data.push({
+ // label: a.name,
+ // value: a.id,
+ // });
+ // });
+ this.personList = res.data;
+ });
+ },
+ refreshTable() {
+ this.getList();
+ },
+ getTableData(newData) {
+ if (newData && newData.length == 1) {
+ const insState = newData[0].state;
+ this.tabList.forEach((ele, index) => {
+ if (ele.value == insState && this.queryCount == 0) {
+ this.handleTab(ele, index);
+ this.queryCount = 1;
+ }
+ });
+ }
+ },
+ 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,
+ isReview: true,
+ },
+ });
+ },
+ // 鏁版嵁鏌ョ湅
+ 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) {
+ // let url = row.urlS ? row.urlS : row.url;
+ // if (url) {
+ // url = url.split(".")[0] + ".pdf";
+ // const link = document.createElement("a");
+ // link.href = this.javaApi + url;
+ // link.target = "_blank";
+ // document.body.appendChild(link);
+ // link.click();
+ // }
+
+ // if(row.tempUrlPdf) {
+ // const link = document.createElement('a');
+ // link.href = this.javaApi + row.tempUrlPdf;
+ // link.target = '_blank';
+ // document.body.appendChild(link);
+ // link.click();
+ // }
+ this.$axios
+ .get(
+ this.$api.insReport.downReport + "?id=" + row.reportId + "&type=1",
+ {
+ headers: {
+ "Content-Type": "application/json",
+ },
+ responseType: "blob",
+ }
+ )
+ .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();
+ });
+ },
+ // 瀹℃牳
+ handleVerify(row) {
+ // this.verifyDialogVisible = true;
+ this.active = 3;
+ this.currentId = row.id;
+ this.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) {
+ this.$axios
+ .get(
+ this.$api.insOrder.selectTemperatureByProductId +
+ "?productId=" +
+ tree.id
+ )
+ .then((res) => {
+ this.loadRecursion(this.treeTableData, tree.id, res.data);
+ resolve(res.data);
+ this.recursionTreeTableData(this.revokeData, this.treeTableData);
+ treeNode.loading = false;
+ });
+ }
+ // 鏄惁鏄楠屾鏁�
+ else if (tree.temperatureNumber) {
+ this.$axios
+ .get(
+ this.$api.insOrder.selectTemperatureNumberByProductId +
+ "?parentId=" +
+ tree.parentId +
+ "&inspectionItem=" +
+ tree.inspectionItemTwo
+ )
+ .then((res) => {
+ this.loadRecursion(this.treeTableData, tree.id, res.data);
+ resolve(res.data);
+ this.recursionTreeTableData(this.revokeData, this.treeTableData);
+ treeNode.loading = false;
+ });
+ } else {
+ this.$axios
+ .get(
+ this.$api.insOrder.selectProductsBySampleId +
+ "?sampleId=" +
+ tree.id +
+ "&orderId=" +
+ this.orderId
+ )
+ .then((res) => {
+ this.treeTableData.forEach((m, index) => {
+ if (m.sampleId == tree.id) {
+ m.children = res.data;
+ }
+ });
+ resolve(res.data);
+ this.recursionTreeTableData(this.revokeData, this.treeTableData);
+ // // 濡傛灉璇ユ牱鍝佸凡缁忚鍕鹃�� 閭d箞鎵�寰楀埌鐨勬楠岄」涔熻杩涜鍕鹃��
+ // let data = this.revokeData.map((item) => item.id);
+ // if (data.includes(tree.id)) {
+ // this.treeTableData.forEach((m, index) => {
+ // if (m.children) {
+ // m.children.forEach((n, i) => {
+ // if (tree.id == n.sampleId) {
+ // this.$refs.revokeTable.toggleRowSelection(n, true);
+ // }
+ // });
+ // }
+ // });
+ // }
+ treeNode.loading = false;
+ });
+ }
+ } else if (this.deleteTilte == "鎾ら攢瀹℃牳") {
+ // 鏄惁鏄俯搴﹀惊鐜�
+ if (tree.temperature) {
+ this.$axios
+ .get(
+ this.$api.insOrder.revokeReviewTemperatureByProductId +
+ "?productId=" +
+ tree.id
+ )
+ .then((res) => {
+ resolve(res.data);
+ treeNode.loading = false;
+ });
+ }
+ // 鏄惁鏄惊鐜鏁�
+ else if (tree.temperatureNumber) {
+ this.$axios
+ .get(
+ this.$api.insOrder.revokeReviewConsistentByProductId +
+ "?parentId=" +
+ tree.parentId +
+ "&inspectionItem=" +
+ tree.inspectionItemTwo
+ )
+ .then((res) => {
+ resolve(res.data);
+ treeNode.loading = false;
+ });
+ } else {
+ this.$axios
+ .get(
+ this.$api.insOrder.revokeReviewProduct +
+ "?sampleId=" +
+ tree.id +
+ "&orderId=" +
+ this.orderId
+ )
+ .then((res) => {
+ resolve(res.data);
+ treeNode.loading = false;
+ });
+ }
+ }
+ },
+ // 鎾ら攢
+ handlEquash(row) {
+ if (this.tabIndex != 1) {
+ this.quashDialogVisible = true;
+ this.insOrderRow = row;
+ } else {
+ // this.componentDataDelete.entity.orderId = row.id
+ this.orderId = row.id;
+ this.$axios
+ .get(this.$api.insOrder.selectSampleByOrderId + "?orderId=" + row.id)
+ .then((res) => {
+ console.log("res", res);
+ this.treeTableData = res.data;
+ this.treeTableData2 = JSON.parse(JSON.stringify(res.data));
+ });
+ this.revocationInsProductIds = "";
+ this.componentDataDelete.showSelect = true;
+ this.componentDataDelete.select = true;
+ 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)];
+ console.log("data", data);
+ console.log("data1", data1);
+ }
+ //
+
+ console.log("sampleId", sampleIds);
+ console.log("productIds", productIds);
+ let data = {
+ orderId: this.orderId,
+ sampleIds: sampleIds,
+ productIds: productIds,
+ };
+ this.$axios
+ .post(this.$api.insOrder.revoke, data, {
+ headers: {
+ "Content-Type": "application/json",
+ },
+ noQs: true,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.deleteDialogVisible = false;
+ this.printLoading = false;
+ this.revokeData = [];
+ this.refreshTable();
+ this.$message.success("鎾ら攢鎴愬姛");
+ }
+ });
+ console.log("revokeData", this.revokeData);
+ console.log("data", data);
+ // let ids = this.deleteList.map((m) => m.id).join(",");
+ // this.printLoading = true;
+ // this.axios
+ // .put(
+ // this.$api.insOrder.updateInspected +
+ // "?ids=" +
+ // ids +
+ // "&orderId=" +
+ // this.orderId
+ // )
+ // .then((res) => {
+ // if (res.code === 200) {
+ // this.printLoading = false;
+ // this.deleteDialogVisible = false;
+ // this.refreshTable("page");
+ // this.$message.success("鏇存柊鎴愬姛");
+ // }
+ // });
+ } else {
+ // this.axios
+ // .post(
+ // this.$api.insOrder.checkUpdate +
+ // "?orderId=" +
+ // this.orderId +
+ // "&state=" +
+ // 1
+ // )
+ // .then((res) => {
+ // if (res.code === 200) {
+ // this.printLoading = false;
+ // this.deleteDialogVisible = false;
+ // this.refreshTable("page");
+ // this.$message.success("鏇存柊鎴愬姛");
+ // }
+ // });
+
+ this.axios
+ .get(this.$api.insOrder.revocationPassed + "?orderId=" + this.orderId)
+ .then((res) => {
+ if (res.code === 200) {
+ this.printLoading = false;
+ this.deleteDialogVisible = false;
+ this.refreshTable();
+ this.$message.success("鏇存柊鎴愬姛");
+ }
+ });
+ }
+ },
+ handlEquashCheck(row) {
+ // // this.componentDataDelete.entity.orderId = row.id
+ // this.orderId = row.id;
+ // this.revocationInsProductIds = row.revocationInsProductIds;
+ // this.componentDataDelete.showSelect = false;
+ // this.componentDataDelete.select = false;
+ // this.deleteTilte = "鎾ら攢瀹℃牳";
+ // this.deleteDialogVisible = true;
+
+ this.orderId = row.id;
+ this.revocationInsProductIds = row.revocationInsProductIds;
+ this.componentDataDelete.showSelect = false;
+ this.componentDataDelete.select = false;
+ this.deleteTilte = "鎾ら攢瀹℃牳";
+ this.$axios
+ .get(this.$api.insOrder.revokeReviewSample + "?orderId=" + row.id)
+ .then((res) => {
+ console.log("鎾ら攢瀹℃牳鏍峰搧鏌ヨ", res);
+ this.treeTableData = res.data;
+ });
+ this.deleteDialogVisible = true;
+ },
+ handleNo() {
+ if (this.deleteTilte == "鎾ら攢") {
+ this.deleteDialogVisible = false;
+ this.revokeData = [];
+ } else {
+ // this.axios
+ // .post(
+ // this.$api.insOrder.checkUpdate +
+ // "?orderId=" +
+ // this.orderId +
+ // "&state=" +
+ // 0
+ // )
+ // .then((res) => {
+ // if (res.code === 200) {
+ // this.printLoading = false;
+ // this.deleteDialogVisible = false;
+ // this.refreshTable("page");
+ // this.$message.success("鏇存柊鎴愬姛");
+ // }
+ // });
+ this.axios
+ .get(this.$api.insOrder.revocationCancel + "?orderId=" + this.orderId)
+ .then((res) => {
+ if (res.code === 200) {
+ this.printLoading = false;
+ this.deleteDialogVisible = false;
+ this.refreshTable();
+ this.$message.success("鏇存柊鎴愬姛");
+ }
+ });
+ }
+ },
+ // 涓嬪彂
+ handleIssued(row) {
+ this.issuedDialogVisible = true;
+ this.$axios
+ .post(this.$api.insOrder.selectOrderManDay, {
+ id: row.id,
+ })
+ .then((res) => {
+ this.distributeData.orderId = row.id;
+ this.distributeData.sampleId = row.sampleId;
+ this.distributeData.appointed = res.data;
+ this.distributeData.type = row.type;
+ });
+ this.$axios
+ .post(this.$api.insOrderPlan.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,
+ });
+ });
+ }
+ });
+ },
+ 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;
+ this.$axios
+ .post(
+ this.$api.insOrder.upInsOrder,
+ {
+ orderId: this.distributeData.orderId,
+ sampleId: this.distributeData.sampleId,
+ appointed: this.distributeData.appointed,
+ userIdList: [this.distributeData.userId],
+ sonLaboratory: this.distributeData.sonLaboratory,
+ },
+ {
+ headers: {
+ "Content-Type": "application/json",
+ },
+ }
+ )
+ .then((res) => {
+ if (res.code === 201) {
+ this.upLoad = false;
+ return;
+ }
+ this.$message.success("淇敼鎴愬姛");
+ this.upLoad = false;
+ this.issuedDialogVisible = false;
+ this.refreshTable();
+ })
+ .catch((e) => {
+ this.$message.error("淇敼澶辫触");
+ this.upLoad = false;
+ });
+ },
+ submitForm() {
+ this.upLoad = true;
+ if (this.tabIndex == 1) {
+ this.axios
+ .put(
+ this.$api.insOrder.updateInspected + "?id=" + this.insOrderRow.id
+ )
+ .then((res) => {
+ if (res.code === 200) {
+ this.upLoad = false;
+ this.quashDialogVisible = false;
+ this.refreshTable();
+ this.$message.success("鏇存柊鎴愬姛");
+ }
+ });
+ } else {
+ this.axios
+ .put(this.$api.insOrder.updateStatus + "?id=" + this.insOrderRow.id)
+ .then((res) => {
+ if (res.code === 200) {
+ this.upLoad = false;
+ this.quashDialogVisible = false;
+ this.refreshTable();
+ this.$message.success("鏇存柊鎴愬姛");
+ }
+ });
+ }
+ let authorizedPerson =
+ this.formData.authorizedPerson.length > 0
+ ? this.formData.authorizedPerson.join(",")
+ : "";
+ delete this.formData.createTime;
+ delete this.formData.updateTime;
+ delete this.formData.createUser;
+ delete this.formData.updateUser;
+ this.formData.authorizedPerson = authorizedPerson;
+ },
+ // 涓嬪崟
+ playOrder(num) {
+ // this.active = num;
+ // this.examine = 0;
+ this.$router.push({
+ name: "addOrder",
+ query: {
+ active: num,
+ examine: 0,
+ },
+ });
+ },
+ handleTab(m, i) {
+ this.tabIndex = i;
+ this.queryParams.state = m.value;
+ this.getList();
+ },
+ getUserMenu() {
+ this.$axios.get(this.$api.user.getUserMenu).then((res) => {
+ let data = [];
+ res.data.forEach((a) => {
+ data.push({
+ label: a.name,
+ value: a.id,
+ });
+ });
+ this.componentData.tagField.createUser.select = data;
+ });
+ },
+ getInsStateDicts() {
+ this.$axios
+ .post(this.$api.enums.selectEnumByCategory, {
+ category: "妫�楠屼换鍔$姸鎬�",
+ })
+ .then((res) => {
+ let data = res.data;
+ this.insStateList = data;
+ data.forEach((ele) => {
+ //0:寰呮楠� 1:妫�楠屼腑 2:宸叉楠� 3:寰呭鏍� 4:澶嶆牳鏈�氳繃 5:澶嶆牳閫氳繃
+ if (["2", "5"].includes(ele.value)) {
+ ele.type = "success";
+ } else if (["1", "3"].includes(ele.value)) {
+ ele.type = "warning";
+ } else if (["0", "4"].includes(ele.value)) {
+ ele.type = "danger";
+ }
+ });
+ this.componentDataDataLook.tagField.insState.select = data;
+ this.componentDataDelete.tagField.insState.select = data;
+ });
+ },
+ selectEnumByCategoryForOrderType() {
+ this.$axios
+ .post(this.$api.enums.selectEnumByCategory, {
+ category: "妫�楠岀被鍒�",
+ })
+ .then((res) => {
+ this.componentData.tagField.orderType.select = res.data;
+ });
+ },
+ changeUser() {
+ if (this.sonLaboratoryList.length > 0) {
+ this.distributeData.sonLaboratory = this.sonLaboratoryList[0].value;
+ }
},
},
};
@@ -1281,7 +2677,7 @@
.search {
background-color: #fff;
- height: 80px;
+ height: 50px;
display: flex;
align-items: center;
overflow: hidden;
@@ -1315,7 +2711,8 @@
.tab {
list-style-type: none;
display: flex;
- margin-bottom: 12px;
+ /* margin-bottom: 12px; */
+ padding-inline-start: 0px;
}
.tab li {
@@ -1343,9 +2740,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 +2761,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 +2786,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 +2827,7 @@
border: 1px solid #000;
display: inline-block;
}
+
.ellipsis-multiline {
display: -webkit-box;
-webkit-line-clamp: 2;
@@ -1423,14 +2835,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