From e4e9d39c6dcc9a4817c299add56106b876dba7a3 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 16 四月 2026 17:19:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New
---
src/views/productionManagement/productionOrder/components/MaterialDetailDialog.vue | 90 --------------------------------------------
1 files changed, 1 insertions(+), 89 deletions(-)
diff --git a/src/views/productionManagement/productionOrder/components/MaterialDetailDialog.vue b/src/views/productionManagement/productionOrder/components/MaterialDetailDialog.vue
index f93199a..61ed2f5 100644
--- a/src/views/productionManagement/productionOrder/components/MaterialDetailDialog.vue
+++ b/src/views/productionManagement/productionOrder/components/MaterialDetailDialog.vue
@@ -54,29 +54,6 @@
<el-table-column label="閫�鏂欐眹鎬绘暟閲�" prop="returnQtyTotal" min-width="140" />
</el-table>
- <el-card class="approver-card" shadow="never">
- <template #header>
- <div class="card-header-wrapper">
- <span class="card-title">瀹℃壒浜洪�夋嫨</span>
- <el-button type="primary" size="small" @click="addApproverNode">鏂板鑺傜偣</el-button>
- </div>
- </template>
- <div class="approver-nodes-container">
- <div v-for="(node, index) in approverNodes" :key="node.id" class="approver-node-item">
- <div class="approver-node-label">
- <span class="node-step">{{ index + 1 }}</span>
- <span class="node-text">瀹℃壒浜�</span>
- </div>
- <el-select v-model="node.userId" placeholder="閫夋嫨浜哄憳" class="approver-select" clearable>
- <el-option v-for="user in userList" :key="user.userId" :label="user.nickName" :value="user.userId" />
- </el-select>
- <el-button v-if="approverNodes.length > 1" type="danger" size="small" @click="removeApproverNode(index)">
- 鍒犻櫎
- </el-button>
- </div>
- </div>
- </el-card>
-
<template #footer>
<span class="dialog-footer">
<el-button type="primary" :loading="materialReturnConfirming" @click="handleReturnConfirm">纭鎻愪氦</el-button>
@@ -91,7 +68,6 @@
import { computed, ref, watch } from "vue";
import { ElMessage } from "element-plus";
import { listMaterialPickingDetail, listMaterialSupplementRecord, confirmMaterialReturn } from "@/api/productionManagement/productionOrder.js";
-import { userListNoPageByTenantId } from "@/api/system/user.js";
const props = defineProps({
modelValue: { type: Boolean, default: false },
@@ -112,8 +88,6 @@
const supplementRecordTableData = ref([]);
const returnSummaryDialogVisible = ref(false);
const returnSummaryList = ref([]);
-const userList = ref([]);
-const approverNodes = ref([{ id: Date.now(), userId: undefined }]);
const canOpenReturnSummary = computed(() =>
materialDetailTableData.value.some(item => Number(item.returnQty || 0) > 0)
);
@@ -173,46 +147,22 @@
return Array.from(map.values());
};
-const loadUserList = async () => {
- if (userList.value.length > 0) return;
- const res = await userListNoPageByTenantId();
- userList.value = res.data || [];
-};
-
const openReturnSummaryDialog = async () => {
if (!canOpenReturnSummary.value) {
ElMessage.warning("閫�鏂欐暟閲忓ぇ浜�0鏃舵墠鑳介��鏂欑‘璁�");
return;
}
returnSummaryList.value = buildReturnSummary();
- approverNodes.value = [{ id: Date.now(), userId: undefined }];
- await loadUserList();
returnSummaryDialogVisible.value = true;
-};
-
-const addApproverNode = () => {
- approverNodes.value.push({ id: Date.now() + Math.random(), userId: undefined });
-};
-
-const removeApproverNode = index => {
- approverNodes.value.splice(index, 1);
};
const handleReturnConfirm = async () => {
if (!props.orderRow?.id) return;
- const approverList = approverNodes.value
- .filter(item => item.userId)
- .map((item, index) => ({ userId: item.userId, sort: index + 1 }));
- if (approverList.length === 0) {
- ElMessage.warning("璇疯嚦灏戦�夋嫨涓�浣嶅鎵逛汉");
- return;
- }
materialReturnConfirming.value = true;
try {
await confirmMaterialReturn({
orderId: props.orderRow.id,
returnSummaryList: returnSummaryList.value,
- approverList,
});
returnSummaryDialogVisible.value = false;
dialogVisible.value = false;
@@ -223,42 +173,4 @@
};
</script>
-<style scoped lang="scss">
-.approver-card {
- margin-top: 12px;
-}
-.card-header-wrapper {
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-.approver-nodes-container {
- display: flex;
- flex-direction: column;
- gap: 8px;
-}
-.approver-node-item {
- display: flex;
- gap: 8px;
- align-items: center;
-}
-.approver-node-label {
- display: flex;
- gap: 4px;
- min-width: 88px;
- align-items: center;
-}
-.node-step {
- width: 20px;
- height: 20px;
- line-height: 20px;
- text-align: center;
- border-radius: 50%;
- background: #409eff;
- color: #fff;
- font-size: 12px;
-}
-.approver-select {
- flex: 1;
-}
-</style>
+<style scoped lang="scss"></style>
--
Gitblit v1.9.3