| | |
| | | <template> |
| | | <div> |
| | | <div> |
| | | <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" |
| | |
| | | size="small" |
| | | placeholder="请输入" |
| | | clearable |
| | | v-model="componentData.entity.entrustCode" |
| | | v-model="queryParams.entrustCode" |
| | | @keyup.enter.native="refreshTable()" |
| | | ></el-input> |
| | | </div> |
| | |
| | | size="small" |
| | | placeholder="请输入" |
| | | clearable |
| | | v-model="componentData.entity.outEntrustCode" |
| | | v-model="queryParams.outEntrustCode" |
| | | @keyup.enter.native="refreshTable()" |
| | | ></el-input> |
| | | </div> |
| | |
| | | size="small" |
| | | placeholder="请输入" |
| | | clearable |
| | | v-model="componentData.entity.sampleName" |
| | | v-model="queryParams.sampleName" |
| | | @keyup.enter.native="refreshTable()" |
| | | ></el-input> |
| | | </div> |
| | |
| | | size="small" |
| | | placeholder="请输入" |
| | | clearable |
| | | v-model="componentData.entity.sampleModel" |
| | | v-model="queryParams.sampleModel" |
| | | @keyup.enter.native="refreshTable()" |
| | | ></el-input> |
| | | </div> |
| | |
| | | size="small" |
| | | placeholder="请输入" |
| | | clearable |
| | | v-model="componentData.entity.sampleCode" |
| | | v-model="queryParams.sampleCode" |
| | | @keyup.enter.native="refreshTable()" |
| | | ></el-input> |
| | | </div> |
| | |
| | | <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="至" |
| | |
| | | size="small" |
| | | placeholder="请输入" |
| | | clearable |
| | | v-model="componentData.entity.name" |
| | | v-model="queryParams.name" |
| | | @keyup.enter.native="refreshTable()" |
| | | ></el-input> |
| | | </div> |
| | |
| | | size="small" |
| | | placeholder="请输入" |
| | | clearable |
| | | v-model="componentData.entity.engineering" |
| | | v-model="queryParams.engineering" |
| | | @keyup.enter.native="refreshTable()" |
| | | ></el-input> |
| | | </div> |
| | |
| | | size="small" |
| | | placeholder="请输入" |
| | | clearable |
| | | v-model="componentData.entity.production" |
| | | v-model="queryParams.production" |
| | | @keyup.enter.native="refreshTable()" |
| | | ></el-input> |
| | | </div> |
| | |
| | | {{ m.label }} |
| | | </li> |
| | | </ul> |
| | | <!-- <ValueTable |
| | | :style="getStyle()" |
| | | ref="ValueTable" |
| | | :url="$api.insOrder.selectInsOrderParameter" |
| | | :componentData="componentData" |
| | | :upIndex="upIndex" |
| | | @getTableData="getTableData" |
| | | /> --> |
| | | <lims-table |
| | | :tableData="tableData" |
| | | :height="tableHeight + ''" |
| | | @pagination="pagination" |
| | | :column="column" |
| | | :page="page" |
| | |
| | | <script> |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import { |
| | | addCustom, |
| | | selectCustomPageList, |
| | | selectInsOrderParameter, |
| | | 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"; |
| | |
| | | }, |
| | | 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", |
| | | }, |
| | | { |
| | | 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", |
| | |
| | | }, |
| | | tagField: { |
| | | type: { |
| | | select: [ |
| | | { |
| | | value: 0, |
| | | type: "success", |
| | | label: "普通", |
| | | }, |
| | | { |
| | | value: 1, |
| | | type: "warning", |
| | | label: "优先", |
| | | }, |
| | | { |
| | | value: 2, |
| | | type: "danger", |
| | | label: "紧急", |
| | | }, |
| | | ], |
| | | select: [], |
| | | }, |
| | | createUser: { |
| | | select: [], |
| | |
| | | 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); |
| | | }, |
| | | methods: { |
| | | //获取表格高度 |
| | | getTableHeight() { |
| | | const otherHeight = 400; // 其余高度 |
| | | const tableH = 50; // 距离页面下方的高度 |
| | | const tableHeightDetil = window.innerHeight - tableH; |
| | | if (tableHeightDetil <= 300) { |
| | | this.tableHeight = 200; |
| | | } else { |
| | | this.tableHeight = window.innerHeight - tableH - 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], |
| | | }; |
| | | console.log("data", data); |
| | | this.exportCheckedLoading = true; |
| | | this.dialogVisible1 = false; |
| | | this.$axios |
| | | .post(this.$api.insOrder.exportChecked, data, { |
| | | headers: { |
| | | "Content-Type": "application/json", |
| | | }, |
| | | responseType: "blob", |
| | | }) |
| | | .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(); |
| | | }); |
| | | }, |
| | | // 查看详情 |
| | | 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: "", |
| | | }, |
| | | ]; |
| | | } |
| | | }); |
| | | }, |
| | | selectMethod(val) { |
| | | this.multipleSelection = val; |
| | | }, |
| | | getLabelPrinting(selection) { |
| | | this.loadPint = true; |
| | | this.$axios |
| | | .post(this.$api.insOrder.labelPrinting, { |
| | | ids: selection.map((m) => m.id).join(","), |
| | | }) |
| | | .then((res) => { |
| | | let arr = res.data; |
| | | arr.forEach((a) => { |
| | | this.loadPint = false; |
| | | let arr1 = []; |
| | | a.insProduct.forEach((b) => { |
| | | arr1.push(b.inspectionItem); |
| | | }); |
| | | a.item = [...new Set(arr1)].join(","); |
| | | }); |
| | | this.qrData = arr; |
| | | }); |
| | | }, |
| | | //开始标签打印 |
| | | 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 ? " ▣留样" : " ▢留样"; |
| | | if (qrData.insState == 0) { |
| | | stateStr = "▣待检 ▢在检 ▢已检"; |
| | | } else if (qrData.insState == 1) { |
| | | stateStr = "▢待检 ▣在检 ▢已检"; |
| | | } else if (qrData.insState == 2) { |
| | | stateStr = "▢待检 ▢在检 ▣已检"; |
| | | } |
| | | 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; |
| | | |
| | | // PrintJS({ |
| | | // printable: "printMOrder", //页面 |
| | | // type: "html", //文档类型 |
| | | // maxWidth: 360, |
| | | // style: `@page { |
| | | // margin:0; |
| | | // size: 400px 75px collapse; |
| | | // margin-top:3px; |
| | | // &:first-of-type{ |
| | | // margin-top:0 !important; |
| | | // } |
| | | // } |
| | | // html{ |
| | | // zoom:100%; |
| | | // } |
| | | // @media print{ |
| | | // width: 400px; |
| | | // height: 75px; |
| | | // margin:0; |
| | | // }`, |
| | | // onPrintDialogClose: (this.erexcel = false), |
| | | // targetStyles: ["*"], // 使用dom的所有样式,很重要 |
| | | // font_size: "0.15cm", |
| | | // }); |
| | | }, |
| | | print() { |
| | | if (this.multipleSelection.length == 0) { |
| | | 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(e) { |
| | | this.$refs["ValueTable"].selectList(e); |
| | | this.queryCount = 0; |
| | | }, |
| | | 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.componentData.entity = this.HaveJson(this.entityCopy); |
| | | this.upIndex++; |
| | | this.refreshTable(); |
| | | }, |
| | | // 权限分配 |
| | | getPower(radio) { |
| | | let power = JSON.parse(sessionStorage.getItem("power")); |
| | | let up = false; |
| | | let del = false; |
| | | let revoke = false; |
| | | let check = false; |
| | | let checkUpdate = false; |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == "upInsOrder") { |
| | | up = true; |
| | | } |
| | | if (power[i].menuMethod == "updateStatus") { |
| | | revoke = true; |
| | | } |
| | | if (power[i].menuMethod == "upInsOrderOfState") { |
| | | check = true; |
| | | } |
| | | if (power[i].menuMethod == "checkUpdate") { |
| | | checkUpdate = true; |
| | | } |
| | | } |
| | | if (!up) { |
| | | this.componentData.do.splice(5, 1); |
| | | } |
| | | if (!checkUpdate) { |
| | | this.componentData.do.splice(4, 1); |
| | | } |
| | | if (!revoke) { |
| | | this.componentData.do.splice(3, 1); |
| | | } |
| | | if (!check) { |
| | | this.componentData.do.splice(2, 1); |
| | | } |
| | | }, |
| | | handleClose() { |
| | | this.verifyDialogVisible = false; |
| | | 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; |
| | | }, |
| | | // 详情 |
| | | selectAllByOne(row) { |
| | | this.active = 2; |
| | | // console.log(row); |
| | | // //打开弹框 |
| | | // this.dialogVisible = true; |
| | | // //row = 点击对应行值 |
| | | // //复制给formData |
| | | // this.formData = this.HaveJson(row); |
| | | this.currentId = row.id; |
| | | this.examine = 1; |
| | | }, |
| | | // 数据查看 |
| | | handleDataLook(row) { |
| | | this.componentDataDataLook.entity.id = row.id; |
| | | 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代表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); |
| | | // // 如果该样品已经被勾选 那么所得到的检验项也要进行勾选 |
| | | // 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("page"); |
| | | 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("page"); |
| | | 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("page"); |
| | | 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("page"); |
| | | }) |
| | | .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("page"); |
| | | 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("page"); |
| | | 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.refreshTable("page"); |
| | | }, |
| | | 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; |
| | | }); |
| | | }, |
| | | getStyle() { |
| | | return "height: calc(100% - " + (this.more ? "94" : "44") + "px)"; |
| | | }, |
| | | changeUser() { |
| | | if (this.sonLaboratoryList.length > 0) { |
| | | this.distributeData.sonLaboratory = this.sonLaboratoryList[0].value; |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | list-style-type: none; |
| | | display: flex; |
| | | margin-bottom: 12px; |
| | | padding-inline-start: 0px; |
| | | } |
| | | |
| | | .tab li { |