From 22cc8ce22157a32bfcd4ee14d824769c6e318cec Mon Sep 17 00:00:00 2001
From: p-honggang.li <p-honggang.li@pcitc.com>
Date: 星期一, 08 九月 2025 23:30:57 +0800
Subject: [PATCH] 修改取消订单列表展示的问题

---
 src/views/approveManage/tradeApproval/approve.vue |  128 ++++++++++++++++++++++++++++++++++++------
 1 files changed, 110 insertions(+), 18 deletions(-)

diff --git a/src/views/approveManage/tradeApproval/approve.vue b/src/views/approveManage/tradeApproval/approve.vue
index 10e67a7..5c64ccb 100644
--- a/src/views/approveManage/tradeApproval/approve.vue
+++ b/src/views/approveManage/tradeApproval/approve.vue
@@ -269,6 +269,10 @@
 import { approveOrder } from '@/api/approvalManage'
 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";
+import {queryUserDetail} from "@/api/userInfo";
 
 const route = useRoute()
 const router = useRouter()
@@ -309,6 +313,10 @@
   return [...detail.items, summaryRow]
 })
 
+const taskId = computed(() => {
+  return String(route.params.taskId || '')
+})
+
 // 鐘舵�佹槧灏勶紙鍚庣涓枃 -> 鍓嶇鏋氫妇锛�
 const statusServerToUi: Record<string, string> = {
   '寰呬笂浼犳枃浠�': 'WAIT_UPLOAD',
@@ -331,8 +339,26 @@
 
 onMounted(async () => {
   const orderId = String(route.params.id || '')
+  console.log(route.params.taskId)
   if (!orderId) return
-  
+
+  // 鑾峰彇鐢ㄦ埛淇℃伅
+  if (!userStore.getUserId) {
+    try {
+      const res: any = await queryUserDetail()
+      if (res?.code === 200 && res.data) {
+        userStore.updateUserDetail(res.data)
+      } else {
+        ElMessage.error(res?.msg || '鏃犳硶鑾峰彇鐢ㄦ埛淇℃伅锛岃鍏堢櫥褰�')
+        return
+      }
+    } catch (e) {
+      console.error('鑾峰彇鐢ㄦ埛璇︽儏澶辫触:', e)
+      ElMessage.error('鑾峰彇鐢ㄦ埛淇℃伅澶辫触锛岃绋嶅悗閲嶈瘯')
+      return
+    }
+  }
+
   try {
     // 骞惰鑾峰彇璁㈠崟璇︽儏鍜屽崗璁被鍨嬫鏌�
     const [orderRes, agreementRes] = await Promise.all([
@@ -349,6 +375,40 @@
 
     const statusName: string = data.orderStatus || ''
     const uiStatus = statusServerToUi[statusName] || 'INFO'
+
+    // 鏍规嵁浜у搧id鑾峰彇浜у搧淇℃伅锛屾洿鏂板ご閮ㄥ睍绀�
+    try {
+      if (data.productId) {
+        const detailRes: any = await productApi.getProductById({ id: data.productId })
+        if (detailRes?.code === 200 && detailRes.data) {
+          // 鐢ㄤ骇鍝佽鎯呰ˉ鍏ㄥご淇℃伅
+          data.productName = detailRes.data.name || data.productName
+          data.providerName = detailRes.data.submissionUnit || data.providerName
+          data.industry = detailRes.data.industrialChainName || data.industry
+          data.productDesc = detailRes.data.describe || data.productDesc
+          data.projectUnit = detailRes.data.importantAreaName || data.productDesc
+          data.productType = detailRes.data.typeName || data.productDesc
+        }
+      }
+    } catch (e) {
+      // 蹇界暐浜у搧璇︽儏澶辫触锛屼笉闃诲璁㈠崟璇︽儏
+    }
+    
+    // 鑾峰彇鐢ㄦ埛淇℃伅
+    // 鑾峰彇鐢ㄦ埛淇℃伅
+    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 = {
@@ -399,6 +459,7 @@
       items,
       pointTotal: pointTotalNum.toLocaleString(),
       cashTotal: cashTotalNum.toLocaleString(),
+      workflowId: data.workflowId || data.processinstId || ''
     })
 
     // 鍒濆鍖栬〃鍗曟暟鎹�
@@ -447,7 +508,9 @@
     })
     
     const orderId = String(route.params.id || '')
-    const userId = userStore.getUserId ? Number(userStore.getUserId) : undefined
+    console.log(String(route.params.taskId || ''))
+    const taskId1 = taskId.value
+    const userId = userStore.getUserId ? userStore.getUserId : undefined
     const comments = approvalForm.comments.trim()
 
     if (!orderId || !userId) {
@@ -459,28 +522,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 || '瀹℃壒閫氳繃澶辫触')
@@ -511,8 +592,9 @@
     })
     
     const orderId = String(route.params.id || '')
-    const userId = userStore.getUserId ? Number(userStore.getUserId) : undefined
+    const userId = userStore.getUserId ?  userStore.getUserId : undefined
     const comments = approvalForm.comments.trim()
+    const taskId1 = String(route.params.taskId || '')
 
     if (!orderId || !userId) {
       ElMessage.error('璁㈠崟ID鎴栫敤鎴稩D涓嶈兘涓虹┖')
@@ -525,6 +607,7 @@
       orderId: orderId,
       approvalOpinion: comments,
       approverId: userId,
+      taskId: taskId1,
       approverName: userStore.getUserDetail || '绠$悊鍛�',
       approvalType: isAgreementOrder.value ? '瀹℃壒' : '鎺堟潈',
       approvalResult: '椹冲洖'
@@ -532,8 +615,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 || '椹冲洖澶辫触')
@@ -698,7 +790,7 @@
       // 妫�鏌ュ搷搴旀牸寮�
       const responseData = previewResponse as any
       if (responseData && responseData.code === 200 && responseData.data) {
-        previewUrl = responseData.data
+        previewUrl = responseData.data.replaceAll('http://192.168.20.52:9000',import.meta.env.VITE_FILE_PREVIEW_URL)
         console.log('浣跨敤棰勮URL:', previewUrl)
       } else {
         console.log('棰勮URL鑾峰彇澶辫触锛屼娇鐢ㄤ笅杞芥柟寮�')

--
Gitblit v1.8.0