Bang Hu
2 天以前 b3fedd4221b807a07058be9d5d5d8ba8998adbcb
src/views/approveManage/tradeApproval/approve.vue
@@ -272,6 +272,7 @@
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()
@@ -312,6 +313,10 @@
  return [...detail.items, summaryRow]
})
const taskId = computed(() => {
  return String(route.params.taskId || '')
})
// 状态映射(后端中文 -> 前端枚举)
const statusServerToUi: Record<string, string> = {
  '待上传文件': 'WAIT_UPLOAD',
@@ -334,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([
@@ -485,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) {
@@ -497,41 +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("工作流id为空不能进行工作流任务提交")
        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('工作流提交成功')
      }
      // if(!detail.workflowId.value){
      //   ElMessage.error("工作流id为空不能进行工作流任务提交")
      //   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 || '审批通过失败')
@@ -562,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或用户ID不能为空')
@@ -576,6 +607,7 @@
      orderId: orderId,
      approvalOpinion: comments,
      approverId: userId,
      taskId: taskId1,
      approverName: userStore.getUserDetail || '管理员',
      approvalType: isAgreementOrder.value ? '审批' : '授权',
      approvalResult: '驳回'
@@ -583,17 +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('工作流驳回成功')
      }
      // 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 || '驳回失败')
@@ -758,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获取失败,使用下载方式')