From fa7fa3b7e38e6828dbb6964e72eac8e6b87c2b6e Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期三, 02 九月 2026 18:53:10 +0800
Subject: [PATCH] 批量提交和批量审批
---
src/views/qualityManagement/finalInspection/index.vue | 75 +++++++++++++++++++++++++++++++++----
1 files changed, 66 insertions(+), 9 deletions(-)
diff --git a/src/views/qualityManagement/finalInspection/index.vue b/src/views/qualityManagement/finalInspection/index.vue
index 4a59fa4..e671ab5 100644
--- a/src/views/qualityManagement/finalInspection/index.vue
+++ b/src/views/qualityManagement/finalInspection/index.vue
@@ -59,6 +59,10 @@
<el-button type="primary"
@click="openForm('add')">鏂板</el-button>
<el-button @click="handleOut">瀵煎嚭</el-button>
+ <el-button type="primary"
+ plain
+ :loading="batchSubmitting"
+ @click="handleBatchSubmit">鎵归噺鎻愪氦</el-button>
<el-button type="danger"
plain
@click="handleDelete">鍒犻櫎</el-button>
@@ -289,15 +293,7 @@
clickFun: row => {
submit(row.id);
},
- disabled: row => {
- // 宸叉彁浜ゅ垯绂佺敤
- if (row.inspectState == 1) return true;
- // 濡傛灉妫�楠屽憳鏈夊�硷紝鍙湁褰撳墠鐧诲綍鐢ㄦ埛鑳芥彁浜�
- if (row.checkName) {
- return row.checkName !== userStore.nickName;
- }
- return false;
- },
+ disabled: row => !canSubmit(row),
},
{
name: "鍒嗛厤妫�楠屽憳",
@@ -326,6 +322,7 @@
const tableData = ref([]);
const selectedRows = ref([]);
const tableLoading = ref(false);
+ const batchSubmitting = ref(false);
const currentRow = ref(null);
const page = reactive({
current: 1,
@@ -391,6 +388,16 @@
// 琛ㄦ牸閫夋嫨鏁版嵁
const handleSelectionChange = selection => {
selectedRows.value = selection;
+ };
+
+ const canSubmit = row => {
+ // 宸叉彁浜ゅ垯绂佺敤
+ if (row.inspectState == 1) return false;
+ // 濡傛灉妫�楠屽憳鏈夊�硷紝鍙湁褰撳墠鐧诲綍鐢ㄦ埛鑳芥彁浜�
+ if (row.checkName) {
+ return row.checkName === userStore.nickName;
+ }
+ return true;
};
// 鎵撳紑寮规
@@ -464,6 +471,56 @@
}
};
+ const handleBatchSubmit = () => {
+ if (selectedRows.value.length === 0) {
+ proxy.$modal.msgWarning("璇烽�夋嫨鏁版嵁");
+ return;
+ }
+
+ const submitRows = selectedRows.value.filter(item => canSubmit(item));
+ if (submitRows.length === 0) {
+ proxy.$modal.msgWarning("鎵�閫夋暟鎹笉鍙彁浜�");
+ return;
+ }
+
+ ElMessageBox.confirm(
+ `閫変腑鐨�${submitRows.length}鏉″唴瀹瑰皢琚彁浜わ紝鏄惁纭鎻愪氦锛焋,
+ "鎵归噺鎻愪氦",
+ {
+ confirmButtonText: "纭",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ }
+ )
+ .then(async () => {
+ batchSubmitting.value = true;
+ const results = await Promise.allSettled(
+ submitRows.map(item => submitQualityInspect({ id: item.id }))
+ );
+ const successCount = results.filter(
+ item => item.status === "fulfilled" && item.value?.code === 200
+ ).length;
+ const failCount = submitRows.length - successCount;
+
+ if (successCount > 0 && failCount === 0) {
+ proxy.$modal.msgSuccess("鎵归噺鎻愪氦鎴愬姛");
+ } else if (successCount > 0) {
+ proxy.$modal.msgWarning(
+ `鎴愬姛鎻愪氦${successCount}鏉★紝澶辫触${failCount}鏉
+ );
+ } else {
+ proxy.$modal.msgError("鎵归噺鎻愪氦澶辫触");
+ }
+ getList();
+ })
+ .catch(() => {
+ proxy.$modal.msg("宸插彇娑�");
+ })
+ .finally(() => {
+ batchSubmitting.value = false;
+ });
+ };
+
// 鍏抽棴寮规
const closeDia = () => {
proxy.resetForm("formRef");
--
Gitblit v1.9.3