From 65193cc9b4e27aad36a65eca447e6c62f6ee037f Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期五, 17 四月 2026 15:25:07 +0800
Subject: [PATCH] 不合格管理:重构详情展示与操作按钮
---
src/views/qualityManagement/nonconformingManagement/index.vue | 69 ++++++++++++++++++++++++++++------
1 files changed, 57 insertions(+), 12 deletions(-)
diff --git a/src/views/qualityManagement/nonconformingManagement/index.vue b/src/views/qualityManagement/nonconformingManagement/index.vue
index 169a2f3..132921a 100644
--- a/src/views/qualityManagement/nonconformingManagement/index.vue
+++ b/src/views/qualityManagement/nonconformingManagement/index.vue
@@ -1,3 +1,4 @@
+// 涓嶅悎鏍肩鐞�
<template>
<div class="app-container">
<div class="search_form">
@@ -51,8 +52,10 @@
:tableLoading="tableLoading"
@pagination="pagination"
:total="page.total"
- ></PIMTable>
+ >
+ </PIMTable>
</div>
+ <DetailDia ref="detailDiaRef" />
<FormDia ref="formDia" @close="handleQuery"></FormDia>
<InspectionFormDia ref="inspectionFormDia" @close="handleQuery"></InspectionFormDia>
</div>
@@ -60,11 +63,12 @@
<script setup>
import { Search } from "@element-plus/icons-vue";
-import {onMounted, ref} from "vue";
+import {onMounted, ref, reactive, toRefs, nextTick, getCurrentInstance} from "vue";
import FormDia from "@/views/qualityManagement/nonconformingManagement/components/formDia.vue";
import {ElMessageBox} from "element-plus";
import {qualityUnqualifiedDel, qualityUnqualifiedListPage} from "@/api/qualityManagement/nonconformingManagement.js";
import InspectionFormDia from "@/views/qualityManagement/nonconformingManagement/components/inspectionFormDia.vue";
+import DetailDia from "@/views/qualityManagement/nonconformingManagement/components/detailDia.vue";
import dayjs from "dayjs";
const data = reactive({
@@ -72,12 +76,9 @@
inspectType: "",
inspectState: "",
productName: "",
- entryDate: [
- dayjs().format("YYYY-MM-DD"),
- dayjs().add(1, "day").format("YYYY-MM-DD"),
- ], // 褰曞叆鏃ユ湡
- entryDateStart: dayjs().format("YYYY-MM-DD"),
- entryDateEnd: dayjs().add(1, "day").format("YYYY-MM-DD"),
+ entryDate: undefined, // 褰曞叆鏃ユ湡
+ entryDateStart: undefined,
+ entryDateEnd: undefined,
},
});
const { searchForm } = toRefs(data);
@@ -176,17 +177,39 @@
width: 120
},
{
+ label: "鍘熷洜鍒嗘瀽",
+ prop: "reasonAnalysis",
+ slot: "reasonAnalysis",
+ width: 120
+ },
+ {
+ label: "棰勯槻涓庣籂姝f帾鏂�",
+ prop: "preventiveCorrective",
+ slot: "preventiveCorrective",
+ width: 120
+ },
+ {
+ label: "宸ユ椂鎹熷け",
+ prop: "lossWorking",
+ width: 140
+ },
+ {
+ label: "鏉愭枡璐规崯澶�",
+ prop: "lossMaterial",
+ width: 140
+ },
+ {
dataType: "action",
label: "鎿嶄綔",
align: "center",
fixed: "right",
- width: 120,
+ width: 140,
operation: [
{
- name: "缂栬緫",
+ name: "璇︽儏",
type: "text",
clickFun: (row) => {
- openForm("edit", row);
+ openDetailDialog(row);
},
},
{
@@ -195,6 +218,7 @@
clickFun: (row) => {
openInspectionForm("edit", row);
},
+ disabled: (row) => row.inspectState === 1,
},
],
},
@@ -209,6 +233,7 @@
});
const formDia = ref()
const inspectionFormDia = ref()
+const detailDiaRef = ref()
const { proxy } = getCurrentInstance()
const changeDaterange = (value) => {
@@ -250,15 +275,27 @@
// 鎵撳紑寮规
const openForm = (type, row) => {
+ if (type !== 'add' && row?.inspectState === 1) {
+ proxy.$modal.msgWarning("宸插鐞嗙殑鏁版嵁涓嶈兘鍐嶇紪杈�");
+ return;
+ }
nextTick(() => {
formDia.value?.openDialog(type, row)
})
};
// 鎵撳紑澶勭悊寮规
const openInspectionForm = (type, row) => {
+ if (row?.inspectState === 1) {
+ proxy.$modal.msgWarning("宸插鐞嗙殑鏁版嵁涓嶈兘鍐嶅鐞�");
+ return;
+ }
nextTick(() => {
inspectionFormDia.value?.openDialog(type, row)
})
+};
+// 鎵撳紑璇︽儏寮规
+const openDetailDialog = (row) => {
+ detailDiaRef.value?.openDialog(row);
};
// 鍒犻櫎
@@ -304,4 +341,12 @@
});
</script>
-<style scoped></style>
+<style scoped>
+.text-ellipsis {
+ display: inline-block;
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+</style>
--
Gitblit v1.9.3