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, 22 insertions(+), 47 deletions(-)
diff --git a/src/views/qualityManagement/nonconformingManagement/index.vue b/src/views/qualityManagement/nonconformingManagement/index.vue
index 98a0731..132921a 100644
--- a/src/views/qualityManagement/nonconformingManagement/index.vue
+++ b/src/views/qualityManagement/nonconformingManagement/index.vue
@@ -53,35 +53,9 @@
@pagination="pagination"
:total="page.total"
>
- <template #reasonAnalysis="{ row }">
- <el-button
- link
- type="primary"
- @click="openTextPreviewDialog('鍘熷洜鍒嗘瀽', row?.reasonAnalysis)"
- >
- {{ row?.reasonAnalysis}}
- </el-button>
- </template>
- <template #preventiveCorrective="{ row }">
- <el-button
- link
- type="primary"
- @click="openTextPreviewDialog('棰勯槻涓庣籂姝f帾鏂�', row?.preventiveCorrective)"
- >
- {{ row?.preventiveCorrective}}
- </el-button>
- </template>
- <template #lossWorking="{ row }">
- <span>{{ row?.lossWorking ?? '-' }}</span>
- </template>
- <template #lossMaterial="{ row }">
- <span>{{ row?.lossMaterial ?? '-' }}</span>
- </template>
</PIMTable>
</div>
- <el-dialog v-model="textPreviewDialogVisible" :title="textPreviewTitle" width="600px">
- <div class="text-preview-content">{{ textPreviewContent || "鏆傛棤鍐呭" }}</div>
- </el-dialog>
+ <DetailDia ref="detailDiaRef" />
<FormDia ref="formDia" @close="handleQuery"></FormDia>
<InspectionFormDia ref="inspectionFormDia" @close="handleQuery"></InspectionFormDia>
</div>
@@ -94,6 +68,7 @@
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({
@@ -204,16 +179,14 @@
{
label: "鍘熷洜鍒嗘瀽",
prop: "reasonAnalysis",
- dataType: "slot",
slot: "reasonAnalysis",
- width: 160
+ width: 120
},
{
label: "棰勯槻涓庣籂姝f帾鏂�",
prop: "preventiveCorrective",
- dataType: "slot",
slot: "preventiveCorrective",
- width: 180
+ width: 120
},
{
label: "宸ユ椂鎹熷け",
@@ -230,8 +203,15 @@
label: "鎿嶄綔",
align: "center",
fixed: "right",
- width: 100,
+ width: 140,
operation: [
+ {
+ name: "璇︽儏",
+ type: "text",
+ clickFun: (row) => {
+ openDetailDialog(row);
+ },
+ },
{
name: "澶勭悊",
type: "text",
@@ -246,9 +226,6 @@
const tableData = ref([]);
const selectedRows = ref([]);
const tableLoading = ref(false);
-const textPreviewDialogVisible = ref(false);
-const textPreviewTitle = ref("");
-const textPreviewContent = ref("");
const page = reactive({
current: 1,
size: 100,
@@ -256,6 +233,7 @@
});
const formDia = ref()
const inspectionFormDia = ref()
+const detailDiaRef = ref()
const { proxy } = getCurrentInstance()
const changeDaterange = (value) => {
@@ -315,11 +293,9 @@
inspectionFormDia.value?.openDialog(type, row)
})
};
-// 鏌ョ湅瀛楁璇︽儏
-const openTextPreviewDialog = (title, content) => {
- textPreviewTitle.value = title;
- textPreviewContent.value = content || "";
- textPreviewDialogVisible.value = true;
+// 鎵撳紑璇︽儏寮规
+const openDetailDialog = (row) => {
+ detailDiaRef.value?.openDialog(row);
};
// 鍒犻櫎
@@ -366,12 +342,11 @@
</script>
<style scoped>
-.text-preview-content {
- white-space: pre-wrap;
- line-height: 1.6;
- color: #606266;
- word-break: break-word;
- max-height: 60vh;
- overflow-y: auto;
+.text-ellipsis {
+ display: inline-block;
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
}
</style>
--
Gitblit v1.9.3