From 0c445ac6d2a20153e5eac390555ba88f950d76b0 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 14 八月 2025 17:16:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_7004' into dev_7004

---
 src/views/qualityManagement/processInspection/index.vue |  137 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 128 insertions(+), 9 deletions(-)

diff --git a/src/views/qualityManagement/processInspection/index.vue b/src/views/qualityManagement/processInspection/index.vue
index 04ed1f3..6f5ddec 100644
--- a/src/views/qualityManagement/processInspection/index.vue
+++ b/src/views/qualityManagement/processInspection/index.vue
@@ -40,6 +40,23 @@
     <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="30%"
+							 @close="closeDia">
+			<el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
+				<el-form-item label="妫�楠屽憳锛�" prop="checkName">
+					<el-select v-model="form.checkName" placeholder="璇烽�夋嫨" clearable>
+						<el-option v-for="item in userList" :key="item.nickName" :label="item.nickName"
+											 :value="item.nickName"/>
+					</el-select>
+				</el-form-item>
+			</el-form>
+			<template #footer>
+				<div class="dialog-footer">
+					<el-button type="primary" @click="submitForm">纭</el-button>
+					<el-button @click="closeDia">鍙栨秷</el-button>
+				</div>
+			</template>
+		</el-dialog>
   </div>
 </template>
 
@@ -49,9 +66,15 @@
 import InspectionFormDia from "@/views/qualityManagement/processInspection/components/inspectionFormDia.vue";
 import FormDia from "@/views/qualityManagement/processInspection/components/formDia.vue";
 import {ElMessageBox} from "element-plus";
-import {qualityInspectDel, qualityInspectListPage} from "@/api/qualityManagement/rawMaterialInspection.js";
+import {
+	downloadQualityInspect,
+	qualityInspectDel,
+	qualityInspectListPage, qualityInspectUpdate,
+	submitQualityInspect
+} from "@/api/qualityManagement/rawMaterialInspection.js";
 import FilesDia from "@/views/qualityManagement/processInspection/components/filesDia.vue";
 import dayjs from "dayjs";
+import {userListNoPage} from "@/api/system/user.js";
 
 const data = reactive({
   searchForm: {
@@ -63,6 +86,9 @@
     entryDateStart: dayjs().format("YYYY-MM-DD"),
     entryDateEnd: dayjs().add(1, "day").format("YYYY-MM-DD"),
   },
+	rules: {
+		checkName: [{required: true, message: "璇烽�夋嫨", trigger: "change"}],
+	},
 });
 const { searchForm } = toRefs(data);
 const tableColumn = ref([
@@ -116,12 +142,23 @@
       }
     },
   },
+	{
+		label: "鎻愪氦鐘舵��",
+		prop: "inspectState",
+		formatData: (params) => {
+			if (params) {
+				return "宸叉彁浜�";
+			} else {
+				return "鏈彁浜�";
+			}
+		},
+	},
   {
     dataType: "action",
     label: "鎿嶄綔",
     align: "center",
     fixed: "right",
-    width: 190,
+    width: 280,
     operation: [
       {
         name: "缂栬緫",
@@ -129,13 +166,9 @@
         clickFun: (row) => {
           openForm("edit", row);
         },
-      },
-      {
-        name: "鏂板妫�楠岃褰�",
-        type: "text",
-        clickFun: (row) => {
-          openInspectionForm("edit", row);
-        },
+				disabled: (row) => {
+					return row.inspectState == 1;
+				}
       },
       {
         name: "闄勪欢",
@@ -144,12 +177,49 @@
           openFilesFormDia(row);
         },
       },
+			{
+				name: "鎻愪氦",
+				type: "text",
+				clickFun: (row) => {
+					submit(row.id);
+				},
+				disabled: (row) => {
+					return row.inspectState == 1;
+				}
+			},
+			{
+				name: "鍒嗛厤妫�楠屽憳",
+				type: "text",
+				clickFun: (row) => {
+					if (!row.checkName) {
+						open(row)
+					} else {
+						proxy.$modal.msgError("妫�楠屽憳宸插瓨鍦�");
+					}
+				},
+				disabled: (row) => {
+					return row.inspectState == 1 || row.checkName;
+				}
+			},
+			{
+				name: "涓嬭浇",
+				type: "text",
+				clickFun: (row) => {
+					downLoadFile(row);
+				},
+			},
     ],
   },
 ]);
+const userList = ref([]);
+const currentRow = ref(null)
 const tableData = ref([]);
 const selectedRows = ref([]);
 const tableLoading = ref(false);
+const dialogFormVisible = ref(false);
+const form = ref({
+	checkName: ""
+});
 const page = reactive({
   current: 1,
   size: 100,
@@ -214,6 +284,38 @@
     filesDia.value?.openDialog(type, row)
   })
 };
+// 鎻愪环
+const submit = async (id) => {
+	const res = await submitQualityInspect({id: id})
+	if (res.code === 200) {
+		proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
+		getList();
+	}
+}
+const open = async (row) => {
+	let userLists = await userListNoPage();
+	userList.value = userLists.data;
+	currentRow.value = row
+	dialogFormVisible.value = true
+}
+// 鍏抽棴寮规
+const closeDia = () => {
+	proxy.resetForm("formRef");
+	dialogFormVisible.value = false;
+};
+const submitForm = () => {
+	if (currentRow.value) {
+		const data = {
+			...form.value,
+			id: currentRow.value.id
+		}
+		qualityInspectUpdate(data).then(res => {
+			proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
+			closeDia();
+			getList();
+		})
+	}
+};
 
 // 鍒犻櫎
 const handleDelete = () => {
@@ -239,6 +341,23 @@
         proxy.$modal.msg("宸插彇娑�");
       });
 };
+const downLoadFile = (row) => {
+	downloadQualityInspect({ id: row.id }).then((blobData) => {
+		const blob = new Blob([blobData], {
+			type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
+		})
+		const downloadUrl = window.URL.createObjectURL(blob)
+		
+		const link = document.createElement('a')
+		link.href = downloadUrl
+		link.download = '杩囩▼妫�楠屾姤鍛�.docx'
+		document.body.appendChild(link)
+		link.click()
+		
+		document.body.removeChild(link)
+		window.URL.revokeObjectURL(downloadUrl)
+	})
+};
 // 瀵煎嚭
 const handleOut = () => {
   ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {

--
Gitblit v1.9.3