From 6db4d38b9761b07a49cb22a0a41cfcdc7bc6dbab Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 19 五月 2026 20:14:14 +0800
Subject: [PATCH] feat: 回退

---
 src/views/qualityManagement/processInspection/index.vue |  109 +++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 74 insertions(+), 35 deletions(-)

diff --git a/src/views/qualityManagement/processInspection/index.vue b/src/views/qualityManagement/processInspection/index.vue
index 6908322..85ca0c4 100644
--- a/src/views/qualityManagement/processInspection/index.vue
+++ b/src/views/qualityManagement/processInspection/index.vue
@@ -40,7 +40,7 @@
     <InspectionFormDia ref="inspectionFormDia" @close="handleQuery"></InspectionFormDia>
     <FormDia ref="formDia" @close="handleQuery"></FormDia>
     <files-dia ref="filesDia" @close="handleQuery"></files-dia>
-		<el-dialog v-model="dialogFormVisible" title="缂栬緫妫�楠屽憳" width="70%"
+		<el-dialog v-model="dialogFormVisible" title="缂栬緫妫�楠屽憳" width="30%"
 							 @close="closeDia">
 			<el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
 				<el-form-item label="妫�楠屽憳锛�" prop="checkName">
@@ -62,7 +62,7 @@
 
 <script setup>
 import { Search } from "@element-plus/icons-vue";
-import {onMounted, ref} from "vue";
+import {onMounted, ref, reactive, toRefs, getCurrentInstance, nextTick} from "vue";
 import InspectionFormDia from "@/views/qualityManagement/processInspection/components/inspectionFormDia.vue";
 import FormDia from "@/views/qualityManagement/processInspection/components/formDia.vue";
 import {ElMessageBox} from "element-plus";
@@ -75,17 +75,18 @@
 import FilesDia from "@/views/qualityManagement/processInspection/components/filesDia.vue";
 import dayjs from "dayjs";
 import {userListNoPage} from "@/api/system/user.js";
+import useUserStore from "@/store/modules/user";
 
 const data = reactive({
   searchForm: {
     process: "",
-    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,
   },
+	rules: {
+		checkName: [{required: true, message: "璇烽�夋嫨", trigger: "change"}],
+	},
 });
 const { searchForm } = toRefs(data);
 const tableColumn = ref([
@@ -94,6 +95,11 @@
     prop: "checkTime",
     width: 120
   },
+  // {
+  //   label: "鐢熶骇宸ュ崟鍙�",
+  //   prop: "workOrderNo",
+  //   width: 120
+  // },
   {
     label: "宸ュ簭",
     prop: "process",
@@ -112,6 +118,10 @@
     prop: "model",
   },
   {
+    label: "鍘氬害(mm)",
+    prop: "thickness",
+  },
+  {
     label: "鍗曚綅",
     prop: "unit",
   },
@@ -121,34 +131,46 @@
     width: 100
   },
   {
+    label: "鍚堟牸鏁伴噺",
+    prop: "qualifiedQuantity",
+    width: 100
+  },
+  {
+    label: "涓嶅悎鏍兼暟閲�",
+    prop: "unqualifiedQuantity",
+    width: 100
+  },
+  {
+    label: "鍚堟牸鐜�",
+    prop: "passRate",
+    width: 100,
+    dataType: "tag",
+    formatData: (params) => {
+      if (params == null || params === '') return '鈥�';
+      const n = Number(params);
+      if (Number.isNaN(n)) return '鈥�';
+      return `${n.toFixed(2)}%`;
+    },
+    formatType: (params) => {
+      if (params == null || params === '') return 'info';
+      const n = Number(params);
+      if (Number.isNaN(n)) return 'info';
+      if (n >= 100) return 'success';
+      if (n >= 90) return 'warning';
+      return 'danger';
+    },
+  },
+  {
     label: "妫�娴嬪崟浣�",
     prop: "checkCompany",
     width: 120
   },
-  {
-    label: "妫�娴嬬粨鏋�",
-    prop: "checkResult",
-    dataType: "tag",
-    formatType: (params) => {
-      if (params == '涓嶅悎鏍�') {
-        return "danger";
-      } else if (params == '鍚堟牸') {
-        return "success";
-      } else {
-        return null;
-      }
-    },
-  },
 	{
 		label: "鎻愪氦鐘舵��",
 		prop: "inspectState",
-		formatData: (params) => {
-			if (params) {
-				return "宸叉彁浜�";
-			} else {
-				return "鏈彁浜�";
-			}
-		},
+    dataType: "tag",
+    formatData: (params) => (params == 1 || params === true ? '宸叉彁浜�' : '鏈彁浜�'),
+    formatType: (params) => (params == 1 || params === true ? 'success' : 'info'),
 	},
   {
     dataType: "action",
@@ -164,7 +186,13 @@
           openForm("edit", row);
         },
 				disabled: (row) => {
-					return row.inspectState == 1;
+					// 宸叉彁浜ゅ垯绂佺敤
+					if (row.inspectState == 1) return true;
+					// 濡傛灉妫�楠屽憳鏈夊�硷紝鍙湁褰撳墠鐧诲綍鐢ㄦ埛鑳界紪杈�
+					if (row.checkName) {
+						return row.checkName !== userStore.nickName;
+					}
+					return false;
 				}
       },
       {
@@ -178,10 +206,16 @@
 				name: "鎻愪氦",
 				type: "text",
 				clickFun: (row) => {
-					submit(row.id);
+					submit(row);
 				},
 				disabled: (row) => {
-					return row.inspectState == 1;
+					// 宸叉彁浜ゅ垯绂佺敤
+					if (row.inspectState == 1) return true;
+					// 濡傛灉妫�楠屽憳鏈夊�硷紝鍙湁褰撳墠鐧诲綍鐢ㄦ埛鑳芥彁浜�
+					if (row.checkName) {
+						return row.checkName !== userStore.nickName;
+					}
+					return false;
 				}
 			},
 			{
@@ -195,7 +229,7 @@
 					}
 				},
 				disabled: (row) => {
-					return row.inspectState == 1 || row.checkName !== '';
+					return row.inspectState == 1 || row.checkName;
 				}
 			},
 			{
@@ -226,6 +260,7 @@
 const filesDia = ref()
 const inspectionFormDia = ref()
 const { proxy } = getCurrentInstance()
+const userStore = useUserStore()
 const changeDaterange = (value) => {
   searchForm.value.entryDateStart = undefined;
   searchForm.value.entryDateEnd = undefined;
@@ -282,8 +317,12 @@
   })
 };
 // 鎻愪环
-const submit = async (id) => {
-	const res = await submitQualityInspect({id: id})
+const submit = async (row) => {
+	const res = await submitQualityInspect({
+    id: row.id,
+    qualifiedQuantity: row.qualifiedQuantity,
+    unqualifiedQuantity: row.unqualifiedQuantity
+  })
 	if (res.code === 200) {
 		proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
 		getList();

--
Gitblit v1.9.3