From 70be2de00b48aafb33d9fb3374a870ed5b6957c0 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 23 四月 2026 16:10:32 +0800
Subject: [PATCH] 进销存pro 1.协同审批管理不再需要选择审批人 2.审批管理添加审批流联调 3.销售发货、采购台账、销售报价不再需要选择审批人
---
src/views/collaborativeApproval/approvalManagement/index.vue | 107 ++++++++++++++++++++++++++---------------------------
1 files changed, 52 insertions(+), 55 deletions(-)
diff --git a/src/views/collaborativeApproval/approvalManagement/index.vue b/src/views/collaborativeApproval/approvalManagement/index.vue
index 1eb20c8..4638392 100644
--- a/src/views/collaborativeApproval/approvalManagement/index.vue
+++ b/src/views/collaborativeApproval/approvalManagement/index.vue
@@ -188,6 +188,8 @@
Suitcase, Calendar, Location, Money, ShoppingCart, DocumentChecked,
Van, ArrowRight, User, InfoFilled
} from '@element-plus/icons-vue';
+import { getApproveProcessConfigNodeList, addApproveProcessConfigNode } from '@/api/collaborativeApproval/approvalManagement';
+import { userListNoPage } from '@/api/system/user';
// 褰撳墠閫変腑鐨勬爣绛鹃〉
const activeTab = ref('1');
@@ -271,44 +273,8 @@
return texts[index] || `绗�${index + 1}绾;
};
-// 鑾峰彇瀹℃壒浜烘暟閲�
-const getApproverCount = (typeValue) => {
- const type = Number(typeValue);
- const data = mockConfigData[type] || [];
- return data.length;
-};
-
-// 妯℃嫙鐢ㄦ埛鍒楄〃鏁版嵁
-const userList = ref([
- { userId: 1, nickName: '寮犱笁' },
- { userId: 2, nickName: '鏉庡洓' },
- { userId: 3, nickName: '鐜嬩簲' },
- { userId: 4, nickName: '璧靛叚' },
- { userId: 5, nickName: '瀛欎竷' },
- { userId: 6, nickName: '鍛ㄥ叓' },
- { userId: 7, nickName: '鍚翠節' },
- { userId: 8, nickName: '閮戝崄' },
-]);
-
-// 妯℃嫙瀹℃壒閰嶇疆鏁版嵁瀛樺偍锛堟寜瀹℃壒绫诲瀷鍒嗙被锛�
-const mockConfigData = {
- 1: [
- { id: 1, approveType: 1, approverId: 1, approverName: '寮犱笁', sortOrder: 1 },
- { id: 2, approveType: 1, approverId: 2, approverName: '鏉庡洓', sortOrder: 2 },
- ],
- 2: [
- { id: 3, approveType: 2, approverId: 3, approverName: '鐜嬩簲', sortOrder: 1 },
- ],
- 3: [],
- 4: [
- { id: 4, approveType: 4, approverId: 1, approverName: '寮犱笁', sortOrder: 1 },
- { id: 5, approveType: 4, approverId: 3, approverName: '鐜嬩簲', sortOrder: 2 },
- { id: 6, approveType: 4, approverId: 5, approverName: '瀛欎竷', sortOrder: 3 },
- ],
- 5: [],
- 6: [],
- 7: [],
-};
+// 瀹℃壒浜哄垪琛紙鐪熷疄鎺ュ彛锛�
+const userList = ref([]);
// 瀹℃壒浜哄垪琛�
const approverList = ref([]);
@@ -326,14 +292,40 @@
};
// 鍔犺浇瀹℃壒閰嶇疆鏁版嵁锛堟ā鎷燂級
-const loadData = () => {
+const loadData = async () => {
loading.value = true;
- setTimeout(() => {
- const data = mockConfigData[currentApproveType.value] || [];
- approverList.value = data.sort((a, b) => a.sortOrder - b.sortOrder);
+ try {
+ const res = await getApproveProcessConfigNodeList(currentApproveType.value);
+ const source = Array.isArray(res?.data)
+ ? res.data
+ : Array.isArray(res?.rows)
+ ? res.rows
+ : Array.isArray(res?.data?.records)
+ ? res.data.records
+ : [];
+ const data = source.map((item, index) => ({
+ ...item,
+ sortOrder: item.nodeOrder ?? item.sortOrder ?? index + 1,
+ }));
+ approverList.value = data.sort((a, b) => (a.sortOrder || 0) - (b.sortOrder || 0));
originalList.value = JSON.parse(JSON.stringify(approverList.value));
+ } catch (error) {
+ approverList.value = [];
+ originalList.value = [];
+ ElMessage.error('鍔犺浇瀹℃壒閰嶇疆澶辫触');
+ } finally {
loading.value = false;
- }, 300);
+ }
+};
+
+const loadUserList = async () => {
+ try {
+ const res = await userListNoPage();
+ userList.value = Array.isArray(res?.data) ? res.data : [];
+ } catch (error) {
+ userList.value = [];
+ ElMessage.error('鍔犺浇浜哄憳鍒楄〃澶辫触');
+ }
};
// 瀹℃壒浜洪�夋嫨鍙樺寲
@@ -393,8 +385,8 @@
approverList.value[index + 1].sortOrder = index + 2;
};
-// 淇濆瓨閰嶇疆锛堟ā鎷燂級
-const handleSave = () => {
+// 淇濆瓨閰嶇疆
+const handleSave = async () => {
if (approverList.value.length === 0) {
ElMessage.warning('璇疯嚦灏戦厤缃竴涓鎵逛汉');
return;
@@ -414,17 +406,21 @@
}
saveLoading.value = true;
- setTimeout(() => {
- mockConfigData[currentApproveType.value] = approverList.value.map((item, index) => ({
- ...item,
- id: item.id || Date.now() + index,
- sortOrder: index + 1,
+ try {
+ const payload = approverList.value.map((item, index) => ({
+ approveType: currentApproveType.value,
+ nodeOrder: index + 1,
+ approverId: item.approverId,
+ approverName: item.approverName,
}));
- originalList.value = JSON.parse(JSON.stringify(mockConfigData[currentApproveType.value]));
- approverList.value = JSON.parse(JSON.stringify(originalList.value));
+ await addApproveProcessConfigNode(payload);
ElMessage.success('淇濆瓨鎴愬姛');
+ await loadData();
+ } catch (error) {
+ ElMessage.error('淇濆瓨澶辫触');
+ } finally {
saveLoading.value = false;
- }, 500);
+ }
};
// 閲嶇疆
@@ -445,8 +441,9 @@
.catch(() => {});
};
-onMounted(() => {
- loadData();
+onMounted(async () => {
+ await loadUserList();
+ await loadData();
});
</script>
--
Gitblit v1.9.3