From cbbd61172fc3701f44cf934c87d7ac0ee32c2a6e Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期四, 13 三月 2025 13:45:02 +0800 Subject: [PATCH] 检验任务-添加不合格查看弹框 --- src/views/business/inspectionTask/index.vue | 168 +++++++++++++++++++++++++++++++------------------------- 1 files changed, 93 insertions(+), 75 deletions(-) diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue index c9639da..515c16e 100644 --- a/src/views/business/inspectionTask/index.vue +++ b/src/views/business/inspectionTask/index.vue @@ -138,7 +138,8 @@ </el-row> </div> <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" - :height="'calc(100vh - 300px)'" @pagination="pagination" key="tableData0"></lims-table> + :rowClassName="rowClassName" :height="'calc(100vh - 300px)'" @pagination="pagination" + key="tableData0"></lims-table> </div> </div> <el-dialog :visible.sync="claimVisible" title="鎻愮ず" width="400px"> @@ -180,6 +181,16 @@ </el-dialog> <el-dialog :visible.sync="dataDialogVisible" title="鏁版嵁鏌ョ湅" width="80%"> <div v-if="dataDialogVisible" style="height: 70vh; overflow-y: auto"> + <div> + <el-form :model="entity" :inline="true"> + <el-form-item label="妫�楠岄」" prop="outputWorkTime"> + <el-input v-model="entity.inspectionItem" clearable size="small"></el-input> + </el-form-item> + <el-form-item> + <el-button size="small" type="primary" @click="getLookList">鏌ヨ</el-button> + </el-form-item> + </el-form> + </div> <lims-table :tableData="lookTableData" :column="lookColumn" :page="lookPage" :tableLoading="lookTableLoading" :height="'60vh'" @pagination="lookPagination" key="tableData1"></lims-table> </div> @@ -195,7 +206,7 @@ 鏂板 </el-button> </div> - <el-table :data="bindTableData" style="width: 100%" height="70vh"> + <el-table :data="bindTableData" style="width: 100%" height="70vh" v-loading="bindTableDataLoading"> <el-table-column prop="inspectionItemClass" label="妫�楠岄」鍒嗙被" width="150"> </el-table-column> <el-table-column prop="inspectionItem" label="妫�楠岄」" width="150"> @@ -231,7 +242,12 @@ ref="showInfoDialog" :showInfoDialog="showInfoDialog" ></ShowInfo> --> + <!--淇敼妫�楠屽�煎脊妗�--> <edit-inspection-item ref="editInspectionItem"></edit-inspection-item> + <!--鏌ョ湅宸ユ椂寮规--> + <viewManHourDia ref="viewManHourDia"></viewManHourDia> + <!--涓嶅悎鏍煎娴嬫煡鐪嬪脊妗�--> + <un-pass-retest-result v-if="retestVisible" :retestInfo="retestInfo" :retestVisible="retestVisible" @closeRetestLook="closeRetestLook"></un-pass-retest-result> </div> </template> @@ -239,6 +255,8 @@ import { getYearAndMonthAndDays } from "@/utils/date"; import EditInspectionItem from "./components/EditInspectionItem.vue"; import limsTable from "@/components/Table/lims-table.vue"; +import viewManHourDia from "./components/viewManHourDia.vue" +import UnPassRetestResult from "@/components/rawMaterialInspection/unPassRetestResult.vue" import { claimInsOrderPlan, upPlanUser2, @@ -252,10 +270,14 @@ selectSampleAndProductByOrderId, } from "@/api/business/inspectionTask.js"; import { mapGetters } from "vuex"; +import {getRetestResult} from "@/api/business/rawMaterialOrder"; export default { + name: 'InspectionTask', components: { EditInspectionItem, limsTable, + viewManHourDia, + UnPassRetestResult }, dicts: ["urgency_level", "inspection_task_state"], computed: { @@ -266,6 +288,7 @@ InspectionKey: 1, bindDialogVisible: false, bindAddDialogVisible: false, + bindTableDataLoading: false, bindTableData: [], bindAddTableData: [], chooseBindAddList: [], @@ -373,6 +396,9 @@ formatData: (params) => { return this.urgencyLevel.find((m) => m.value == params).label; }, + formatType: (params) => { + return this.urgencyLevel.find((m) => m.value == params).type; + }, }, { label: "妫�楠岀被鍨�", @@ -391,8 +417,7 @@ prop: "insState", dataType: "tag", formatData: (params) => { - return this.inspectionTaskState.find((m) => m.value == params) - .label; + return this.inspectionTaskState.find((m) => m.value == params).label; }, formatType: (params) => { return this.inspectionTaskState.find((m) => m.value == params).type; @@ -423,9 +448,17 @@ this.editInspection(row); }, disabled: (row) => { - return ( - row.userName == null || row.insState == 3 || row.insState == 5 - ); + return (row.userName == null || row.insState == 3 || row.insState == 5) && this.checkPermi(['update:product:onPlan']) + }, + }, + { + name: "鏌ョ湅宸ユ椂", + type: "text", + clickFun: (row) => { + this.viewManHour(row); + }, + showHide: (row) => { + return this.checkPermi(['get:working:hours:byOrder']) }, }, { @@ -493,6 +526,9 @@ }, ], // 鏁版嵁鏌ョ湅鐩稿叧瀛楁---寮�濮� + entity: { + inspectionItem: "", + }, lookTableData: [], lookColumn: [ { @@ -516,10 +552,20 @@ prop: "insResult", dataType: "tag", formatData: (params) => { - return this.insResultList.find((m) => m.value == params).label; + let obj = this.insResultList.find((m) => m.value == params) + if (obj) { + return this.insResultList.find((m) => m.value == params).label; + } else { + return null + } }, formatType: (params) => { - return this.insResultList.find((m) => m.value == params).type; + let obj = this.insResultList.find((m) => m.value == params) + if (obj) { + return this.insResultList.find((m) => m.value == params).type; + } else { + return null + } }, }, { @@ -527,6 +573,16 @@ fixed: "right", label: "鎿嶄綔", operation: [ + { + name: "涓嶅悎鏍煎娴嬫煡鐪�", + type: "text", + clickFun: (row) => { + this.getRetestResultInfo(row); + }, + disabled: (row) => { + return row.insResult!=0 + }, + }, { name: "妫�楠岄」缁戝畾", type: "text", @@ -551,9 +607,10 @@ }, lookTableLoading: false, // 鏁版嵁鏌ョ湅鐩稿叧瀛楁---缁撴潫 + retestVisible: false, }; }, - created() { + mounted() { this.getAuthorizedPerson(); this.currentTime = getYearAndMonthAndDays(); this.getDicts("urgency_level").then((response) => { @@ -562,10 +619,10 @@ this.getDicts("inspection_task_state").then((response) => { this.inspectionTaskState = this.dictToValue(response.data); }); - }, - mounted() { + this.refreshTable(); this.queryParams.userId = this.userId; - // this.getPower(); + }, + activated() { this.refreshTable(); }, methods: { @@ -592,7 +649,7 @@ }, getLookList() { this.lookTableLoading = true; - let param = { id: this.lookInfo.id, ...this.lookPage }; + let param = { id: this.lookInfo.id, ...this.lookPage, inspectionItem: this.entity.inspectionItem }; delete param.total; selectSampleAndProductByOrderId({ ...param }) .then((res) => { @@ -616,48 +673,14 @@ editInspection(row) { this.$refs.editInspectionItem.showDialog(row.id); }, - // 鍒锋柊椤甸潰 - refreshView() { - this.getList(); + // 鏌ョ湅宸ユ椂 + viewManHour(row) { + this.$refs.viewManHourDia.showDialog(row.id, row.insState); }, // 鏁版嵁鏌ョ湅 handleDataLook(row) { this.lookInfo = row; this.getLookList(); - }, - // 鏉冮檺鍒嗛厤 - getPower(radio) { - let power = JSON.parse(sessionStorage.getItem("power")); - let inspection = false; - let connect = false; - let review = false; - let claim = false; - for (var i = 0; i < power.length; i++) { - if (power[i].menuMethod == "doInsOrder") { - inspection = true; - } - if (power[i].menuMethod == "upPlanUser") { - connect = true; - } - if (power[i].menuMethod == "verifyPlan") { - review = true; - } - if (power[i].menuMethod == "claimInsOrderPlan") { - claim = true; - } - } - if (!claim) { - this.componentData.do.splice(3, 1); - } - if (!review) { - this.componentData.do.splice(2, 1); - } - if (!connect) { - this.componentData.do.splice(1, 1); - } - if (!inspection) { - this.componentData.do.splice(0, 1); - } }, changeCheckBox(val) { this.queryParams.userId = val ? 0 : null; @@ -707,7 +730,7 @@ this.loading = false; }); }, - changeRowClass({ row, rowIndex }) { + rowClassName({ row, rowIndex }) { if (this.currentTime == row.appointed) { return "highlight-warning-row-border"; } else if (this.currentTime > row.appointed) { @@ -921,15 +944,21 @@ this.personList = data; }); }, + // 鏌ョ湅涓嶅悎鏍煎娴嬬粨鏋� + getRetestResultInfo (row) { + getRetestResult({insProductId: row.insProductId}).then(res => { + this.retestVisible = true + this.retestInfo = res.data + }) + }, + closeRetestLook () { + this.retestVisible = false + }, // 缁戝畾妫�楠岄」缁戝畾 getBinding(row) { this.bindCurrentInfo = row; getBindingProductByProductId({ productId: row.insProductId }) .then((res) => { - if (res.coe == 201) { - // this.$message.error('鏈粦瀹氭楠岄」') - return; - } // console.log(res) this.bindTableData = res.data; this.bindDialogVisible = true; @@ -943,10 +972,6 @@ productId: this.bindCurrentInfo.insProductId, }) .then((res) => { - if (res.coe == 201) { - // this.$message.error('鏈粦瀹氭楠岄」') - return; - } // console.log(res) this.bindAddTableData = res.data; this.bindAddDialogVisible = true; @@ -973,10 +998,6 @@ }) .then((res) => { this.loading = false; - if (res.code == 201) { - this.$message.error("缁戝畾澶辫触"); - return; - } this.$message.success("缁戝畾鎴愬姛"); this.bindAddDialogVisible = false; this.getBinding(this.bindCurrentInfo); @@ -991,17 +1012,14 @@ cancelButtonText: "鍙栨秷", type: "warning", }).then(async () => { - delProductTreeByProductId({ productId: row.id }) - .then((res) => { - if (res.coe == 201) { - // this.$message.error('鏈粦瀹氭楠岄」') - return; - } - this.getBinding(this.bindCurrentInfo); - }) - .catch((error) => { - console.error(error); - }); + this.bindTableDataLoading = true + delProductTreeByProductId({ productId: row.id }).then((res) => { + this.bindTableDataLoading = false + this.getBinding(this.bindCurrentInfo); + }).catch((error) => { + this.bindTableDataLoading = false + console.error(error); + }); }); }, }, -- Gitblit v1.9.3