| | |
| | | <el-col :span="16" style="text-align: right"> |
| | | <el-button size="small" type="primary" @click="refreshView">刷新</el-button> |
| | | <el-button v-if="typeSource == 1" size="small" type="primary" @click="openPurchase">进货验证</el-button> |
| | | <el-button v-if="state == 1 && typeSource == 1" size="small" type="primary" @click="openUnPassDialog('add')">不合格处理</el-button> |
| | | <el-button size="small" type="primary" @click="sampleVisible = true;uploadSample();">样品切换</el-button> |
| | | <el-button v-if="state == 1" size="small" type="primary" @click="taskVisible = true">任务切换</el-button> |
| | | <el-button v-if="state == 1 && typeSource == 1" size="small" type="primary" |
| | | @click="openUnPassDialog('add')">不合格处理</el-button> |
| | | <el-button size="small" type="primary" @click="sampleVisible = true; uploadSample();">样品切换</el-button> |
| | | <!-- <el-button v-if="state == 1" size="small" type="primary" @click="taskVisible = true">任务切换</el-button>--> |
| | | <el-button v-if="state == 1" size="small" type="primary" @click="addVerifyDia = true">提交</el-button> |
| | | <!-- 复核 --> |
| | | <el-button v-if="state == 2" size="medium" type="primary" @click="openAddCheck">通过</el-button> |
| | |
| | | state == 1 |
| | | "><span :style="`font-family:${n.v.ff} !important;`">{{ |
| | | toFixed(n.v.v, n.v.ct) |
| | | }}</span></template> |
| | | }}</span></template> |
| | | <template v-else-if=" |
| | | n.v.ps != undefined && |
| | | n.v.ps.value === '最终值' && |
| | |
| | | </div> |
| | | <el-drawer :size="550" :visible.sync="sampleVisible" title="样品切换"> |
| | | <el-table v-if="sampleVisible" ref="productTable" :current-row-key="currentKey" :data="sampleProduct" |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border |
| | | :row-class-name="tableRowClassName" :row-key="(record) => record.index" border class="el-table" height="100%" |
| | | highlight-current-row tooltip-effect="dark" @row-click="handleChangeSample"> |
| | | <el-table-column :key="Math.random()" align="center" label="序号" type="index" width="70px"> |
| | |
| | | size="medium" style="margin-right: 5px">{{ item.label }}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="检验人" min-width="80px" prop="checkName" show-overflow-tooltip></el-table-column> |
| | | <el-table-column align="center" label="是否留样" prop="isLeave" show-overflow-tooltip width="95px"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.isLeave == 0 ? "否" : "是" }}</span> |
| | |
| | | <el-button :loading="reviewLoading" type="primary" @click="upInsReview(1)">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- 添加不合格复测弹框--> |
| | | <add-un-pass v-if="addUnPassDialog" ref="addUnPassDialog" :addUnPassDialog="addUnPassDialog" |
| | | @resetAddUnPass="resetAddUnPass"></add-un-pass> |
| | | <!-- 不合格处理弹框--> |
| | | <UnPassDialog v-if="unPassDialog" ref="unPassDialog" :orderId="orderId" :unPassDialog="unPassDialog" |
| | | @resetForm="resetForm"></UnPassDialog> |
| | | <!-- 不合格复测弹框--> |
| | | <InspectionWord v-if="unPassCheck" :inspectorList="inspectorList" :orderId="orderId" |
| | | :cableTag="temCableTag" :repetitionTag="repetitionTag" |
| | | :rawMaterialTag="rawMaterialTag" :sonLaboratory="sonLaboratory" :state="state" :typeSource="typeSource" |
| | | :unPassCheck="unPassCheck" @closeUnPassCheckDialog="closeUnPassCheckDialog" @refreshView="refreshView" /> |
| | | <!-- 进货验证弹框--> |
| | | <purchase-verification v-if="purchaseDialog" ref="purchaseDialog" :orderId="orderId" |
| | | :purchaseDialog="purchaseDialog" @resetPurchaseDialog="resetPurchaseDialog"></purchase-verification> |
| | | <!--查看工时弹框--> |
| | | <viewManHourDia ref="viewManHourDia" @submit="openAddVerifyDia"></viewManHourDia> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import excelFunction from "@/utils/excelFountion"; |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import UnPassDialog from "../unpass/components/addUnPass.vue"; |
| | | import UnPassDialog from "../unpass/components/unPassDialog.vue"; |
| | | import AddUnPass from "../unpass/components/addUnPass.vue"; |
| | | import InspectionWord from "./components/InspectionWord.vue"; |
| | | import PurchaseVerification from "../unpass/components/PurchaseVerification.vue"; |
| | |
| | | delfile, |
| | | inspectionOrderDetailsTaskSwitching |
| | | } from "@/api/business/inspectionTask.js"; |
| | | import InspectionWorker from '../../../InspectionWorker.worker'; |
| | | import DataWorker from '../../../DataWorker.worker'; |
| | | import InspectionWorker from '@/workers/InspectionWorker.worker'; |
| | | import DataWorker from '../../../workers/DataWorker.worker'; |
| | | import html2canvas from "html2canvas"; |
| | | import { mapGetters } from "vuex"; |
| | | import viewManHourDia from "@/views/business/inspectionTask/components/viewManHourDia.vue"; |
| | | export default { |
| | | name: 'inspection', |
| | | name: 'Inspection', |
| | | components: { |
| | | viewManHourDia, |
| | | PurchaseVerification, |
| | | AddUnPass, |
| | | limsTable, |
| | |
| | | this.getInsStateDicts(); |
| | | this.getComparisonList(); |
| | | this.getAuthorizedPerson(); |
| | | // this.getPower(); |
| | | this.startWorker(); |
| | | this.getList0() |
| | | // this.getList0() // 任务切换 |
| | | this.scrollInit(); |
| | | }, |
| | | activated() { |
| | | this.getTypeDicts(); // 获取紧急程度下拉框选项 |
| | | this.getInsStateDicts(); |
| | | this.getComparisonList(); |
| | | this.getAuthorizedPerson(); |
| | | this.startWorker(); |
| | | // this.getList0() // 任务切换 |
| | | this.scrollInit(); |
| | | }, |
| | | watch: { |
| | |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | delfile({ id: row.id }).then((res) => { |
| | | if (res.code == 201) return; |
| | | this.$message.success("删除成功"); |
| | | this.refresh(); |
| | | }); |
| | | }) |
| | | .catch(() => { }); |
| | | }).then(() => { |
| | | delfile({ id: row.id }).then((res) => { |
| | | this.$message.success("删除成功"); |
| | | this.getList(); |
| | | }); |
| | | }).catch(() => { }); |
| | | }, |
| | | // 文件管理--结束 |
| | | |
| | |
| | | id: this.currentSample.id, |
| | | type: this.type, |
| | | laboratory: this.sonLaboratory, |
| | | cableTag: "", |
| | | cableTag: this.temCableTag, |
| | | rawMaterialTag: this.rawMaterialTag, |
| | | repetitionTag: this.repetitionTag, |
| | | }; |
| | | this.$nextTick(() => { |
| | | this.$refs.addUnPassDialog.getInsOrder(info); |
| | |
| | | this.dataAcquisitionInfo = {}; |
| | | this.getData = []; |
| | | for (let i in this.objectOrder(data)) { |
| | | console.log("i---", i); |
| | | let obj = {}; |
| | | if (i.includes("@")) { |
| | | obj = { |
| | |
| | | }, |
| | | // 保存湿度、温度数据 |
| | | subOtherForm(m, type) { |
| | | console.log("m---", m); |
| | | write({ |
| | | [type]: type === "remark" ? m : Number(m), |
| | | id: this.insOrder.id, |
| | | }).then((res) => { |
| | | if (res.code == 201) return; |
| | | this.$message.success("保存成功"); |
| | | }); |
| | | }, |
| | |
| | | a.download = "table.png"; |
| | | a.click(); |
| | | }); |
| | | }, |
| | | // 权限获取 |
| | | getPower() { |
| | | let power = JSON.parse(sessionStorage.getItem("power")); |
| | | let fileDel = false; |
| | | let fileAdd = false; |
| | | let collected = false; |
| | | let temDataAcquisition = false; |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == "uploadFile") { |
| | | fileAdd = true; |
| | | } |
| | | if (power[i].menuMethod == "delfile") { |
| | | fileDel = true; |
| | | } |
| | | if (power[i].menuMethod == "isItAllowedToModifyTheCollectedValues") { |
| | | collected = true; |
| | | } |
| | | if (power[i].menuMethod == "temDataAcquisition") { |
| | | temDataAcquisition = true; |
| | | } |
| | | } |
| | | if (!fileDel) { |
| | | // this.componentData0.do.splice(1, 1); |
| | | } |
| | | this.fileAdd = fileAdd; |
| | | this.collected = collected; |
| | | this.temDataAcquisition = temDataAcquisition; |
| | | }, |
| | | uploadSample() { |
| | | doInsOrder({ |
| | |
| | | this.comparisonList = this.dictToValue(response.data); |
| | | }); |
| | | }, |
| | | // 获取检验值为下拉时的下拉列表 |
| | | // selectEnumByCategoryOfSelect(val) { |
| | | // this.enumList = []; |
| | | // if (val === undefined || val === null) { |
| | | // return; |
| | | // } |
| | | // this.$axios |
| | | // .post(this.$api.enums.selectEnumByCategory, { |
| | | // category: val, |
| | | // }) |
| | | // .then((res) => { |
| | | // this.enumList = res.data; |
| | | // }); |
| | | // }, |
| | | tableRowClassName({ row, rowIndex }) { |
| | | row.index = rowIndex + 1; |
| | | }, |
| | |
| | | this.$message.error("未输入不通过原因"); |
| | | } |
| | | }, |
| | | // 查看工时 |
| | | viewManHour() { |
| | | this.$refs.viewManHourDia.showDialog(this.id, 99); |
| | | }, |
| | | openAddVerifyDia() { |
| | | this.addVerifyDia = true; |
| | | }, |
| | | submit() { |
| | | if (this.verifyUser === null || this.verifyUser === "") { |
| | | this.$message.error("请指定复核人员"); |
| | |
| | | } else { |
| | | param = this.param; |
| | | } |
| | | let isNoTestValue = '' |
| | | for (let key in param) { |
| | | if (param[key]) { |
| | | if (param[key].insValue?.length === 0) { |
| | | isNoTestValue = 1 |
| | | } else { |
| | | isNoTestValue = '' |
| | | } |
| | | } |
| | | } |
| | | saveInsContext({ |
| | | param: JSON.stringify(param), |
| | | currentTable: this.currentTable, |
| | | sampleId: this.currentSample.id, |
| | | orderId: this.orderId, |
| | | sonLaboratory: this.sonLaboratory |
| | | sonLaboratory: this.sonLaboratory, |
| | | isNoTestValue: isNoTestValue |
| | | }).then((res) => { |
| | | if (res.code == 201) { |
| | | this.$message.error("保存失败"); |
| | | return; |
| | | } |
| | | this.$message.success("已保存"); |
| | | }); |
| | | // 向 Worker 发送消息,开始处理逻辑 |
| | |
| | | } |
| | | }, |
| | | getAuthorizedPerson() { |
| | | selectUserCondition({ type: 0 }).then((res) => { |
| | | selectUserCondition({ type: 1 }).then((res) => { |
| | | let data = []; |
| | | res.data.forEach((a) => { |
| | | data.push({ |
| | |
| | | this.upLoading = false; |
| | | if (response.code == 200) { |
| | | this.$message.success("上传成功"); |
| | | this.$refs.fileList.selectList(); |
| | | this.getList(); |
| | | } |
| | | }, |
| | | beforeUpload(file) { |
| | |
| | | }, |
| | | handleDown(row) { |
| | | downFile({ id: row.id }).then((res) => { |
| | | if (res.code === 200) { |
| | | let url = ""; |
| | | if (res.data.type == 1) { |
| | | url = this.javaApi + "/img/" + res.data.fileUrl; |
| | | this.$download.saveAs(url, row.fileName) |
| | | } else { |
| | | url = this.javaApi + "/word/" + res.data.fileUrl; |
| | | this.$download.saveAs(url, row.fileName) |
| | | } |
| | | } |
| | | this.$download.saveAs(res.data.fileUrl, row.fileName) |
| | | }) |
| | | .catch((error) => { }); |
| | | }, |
| | |
| | | } |
| | | }, |
| | | goback() { |
| | | this.$tab.closeOpenPage({ path: "/business/inspectionTask" }); |
| | | this.$router.go(-1) |
| | | } |
| | | }, |
| | | }; |
| | |
| | | } |
| | | |
| | | .content-h-2 { |
| | | justify-content: end; |
| | | justify-content: flex-end; |
| | | } |
| | | |
| | | .content-v-0 { |