From 522737d66480d2f42b8e83c2ddde0efa3b740f38 Mon Sep 17 00:00:00 2001
From: p-honggang.li <p-honggang.li@pcitc.com>
Date: 星期六, 06 九月 2025 10:47:05 +0800
Subject: [PATCH] 修复审批的问题

---
 src/views/approveManage/tradeApproval/approve.vue |   81 +++++++++++++++++++++++++++++++++-------
 1 files changed, 67 insertions(+), 14 deletions(-)

diff --git a/src/views/approveManage/tradeApproval/approve.vue b/src/views/approveManage/tradeApproval/approve.vue
index 9c1494c..d79abd3 100644
--- a/src/views/approveManage/tradeApproval/approve.vue
+++ b/src/views/approveManage/tradeApproval/approve.vue
@@ -270,6 +270,8 @@
 import { useUserInfo } from '@/stores/modules/userInfo'
 import createAxios from '@/utils/axios'
 import productApi from '@/api/productApi'
+import sysUserService from "@/api/sysUser";
+import workFlowApi from "@/api/workFlowApi";
 
 const route = useRoute()
 const router = useRouter()
@@ -310,6 +312,10 @@
   return [...detail.items, summaryRow]
 })
 
+const taskId = computed(() => {
+  return String(route.params.taskId || '')
+})
+
 // 鐘舵�佹槧灏勶紙鍚庣涓枃 -> 鍓嶇鏋氫妇锛�
 const statusServerToUi: Record<string, string> = {
   '寰呬笂浼犳枃浠�': 'WAIT_UPLOAD',
@@ -332,6 +338,7 @@
 
 onMounted(async () => {
   const orderId = String(route.params.id || '')
+  console.log(route.params.taskId)
   if (!orderId) return
   
   try {
@@ -370,6 +377,20 @@
     }
     
     // 鑾峰彇鐢ㄦ埛淇℃伅
+    // 鑾峰彇鐢ㄦ埛淇℃伅
+    try {
+      const userRes: any = await sysUserService.getUserdetail({ userId: data.userId })
+      if (userRes?.code === 200 && userRes.data) {
+        // 鐢ㄤ骇鍝佽鎯呰ˉ鍏ㄥご淇℃伅
+        data.unitName = userRes.data.unitName || data.unitName
+        data.userName = userRes.data.name || data.userName
+        data.userDept = userRes.data.departmentName || data.userDept
+        data.userPhone = userRes.data.phone || data.userPhone
+        data.userAccount = userRes.data.username || data.userAccount
+      }
+    }catch (e){
+
+    }
 
     // 鏄犲皠璁㈠崟璇︽儏澶撮儴淇℃伅
     const head = {
@@ -420,6 +441,7 @@
       items,
       pointTotal: pointTotalNum.toLocaleString(),
       cashTotal: cashTotalNum.toLocaleString(),
+      workflowId: data.workflowId || data.processinstId || ''
     })
 
     // 鍒濆鍖栬〃鍗曟暟鎹�
@@ -468,6 +490,8 @@
     })
     
     const orderId = String(route.params.id || '')
+    console.log(String(route.params.taskId || ''))
+    const taskId1 = taskId.value
     const userId = userStore.getUserId ? Number(userStore.getUserId) : undefined
     const comments = approvalForm.comments.trim()
 
@@ -480,28 +504,46 @@
     // 璋冪敤瀹℃壒閫氳繃API
     const result = await approveOrder({
       orderId: orderId,
+      taskId: taskId1,
       approvalOpinion: comments,
       approverId: userId,
       approverName: userStore.getUserDetail || '绠$悊鍛�',
       approvalType: isAgreementOrder.value ? '瀹℃壒' : '鎺堟潈',
-      approvalResult: '閫氳繃'
+      approvalResult: '閫氳繃',
+      orderDetails: form.items.map((item: any) => ({
+        id: item.id,
+        remarks: item.remark || '' // 浣跨敤琛ㄥ崟涓殑澶囨敞
+      }))
     })
     
     if (result && result.code === 200) {
       // 鏇存柊浜ゆ槗淇℃伅澶囨敞锛堝彧鏇存柊remarks锛屼笉鏇存柊璁㈠崟鐘舵�侊級
-      const updateData = {
-        orderId: orderId,
-        orderDetails: form.items.map((item: any) => ({
-          id: item.id,
-          remarks: item.remark || '' // 浣跨敤琛ㄥ崟涓殑澶囨敞
-        }))
-      }
-      
-      await orderApi.updateOrderDetailRemarksOnly(updateData)
-      
-      // 瀹℃壒閫氳繃鍚庯紝浣跨敤鏂扮殑API鎺ュ彛鏇存柊璁㈠崟鐘舵�佸埌涓嬩竴涓姸鎬�
-      await orderApi.updateOrderStatusToNext(orderId)
+      // const updateData = {
+      //   orderId: orderId,
+      //   orderDetails: form.items.map((item: any) => ({
+      //     id: item.id,
+      //     remarks: item.remark || '' // 浣跨敤琛ㄥ崟涓殑澶囨敞
+      //   }))
+      // }
+      //
+      // await orderApi.updateOrderDetailRemarksOnly(updateData)
+      //
+      // // 瀹℃壒閫氳繃鍚庯紝浣跨敤鏂扮殑API鎺ュ彛鏇存柊璁㈠崟鐘舵�佸埌涓嬩竴涓姸鎬�
+      // await orderApi.updateOrderStatusToNext(orderId)
       ElMessage.success('瀹℃壒閫氳繃鎴愬姛')
+      // if(!detail.workflowId.value){
+      //   ElMessage.error("宸ヤ綔娴乮d涓虹┖涓嶈兘杩涜宸ヤ綔娴佷换鍔℃彁浜�")
+      //   return
+      // }
+      // // 璋冪敤宸ヤ綔娴�
+      // const wfRes: any = await workFlowApi.completeWorkflow({
+      //   taskId: String(detail.workflowId.value),
+      //   userid: userStore.getUserId,
+      //   commponet: '瀹℃牳閫氳繃'
+      // })
+      // if (wfRes?.code === 200 && wfRes.data?.processinstId) {
+      //    console.log('宸ヤ綔娴佹彁浜ゆ垚鍔�')
+      // }
       router.back()
     } else {
       ElMessage.error(result?.msg || '瀹℃壒閫氳繃澶辫触')
@@ -534,6 +576,7 @@
     const orderId = String(route.params.id || '')
     const userId = userStore.getUserId ? Number(userStore.getUserId) : undefined
     const comments = approvalForm.comments.trim()
+    const taskId1 = String(route.params.taskId || '')
 
     if (!orderId || !userId) {
       ElMessage.error('璁㈠崟ID鎴栫敤鎴稩D涓嶈兘涓虹┖')
@@ -546,6 +589,7 @@
       orderId: orderId,
       approvalOpinion: comments,
       approverId: userId,
+      taskId: taskId1,
       approverName: userStore.getUserDetail || '绠$悊鍛�',
       approvalType: isAgreementOrder.value ? '瀹℃壒' : '鎺堟潈',
       approvalResult: '椹冲洖'
@@ -553,8 +597,17 @@
     
     if (result && result.code === 200) {
       // 椹冲洖璁㈠崟锛屾洿鏂拌鍗曠姸鎬佸埌涓婁竴涓姸鎬�
-      await orderApi.updateOrderStatusToPrevious(orderId)
+      // await orderApi.updateOrderStatusToPrevious(orderId)
       ElMessage.success('椹冲洖鎴愬姛')
+      // 璋冪敤宸ヤ綔娴�
+      // const wfRes: any = await workFlowApi.rejectStartNodeWorkflow({
+      //   taskId: String(detail.workflowId.value),
+      //   userid: userStore.getUserId,
+      //   commponet: '椹冲洖'
+      // })
+      // if (wfRes?.code === 200 && wfRes.data?.processinstId) {
+      //   console.log('宸ヤ綔娴侀┏鍥炴垚鍔�')
+      // }
       router.back()
     } else {
       ElMessage.error(result?.msg || '椹冲洖澶辫触')

--
Gitblit v1.8.0