a4e7747ec17bdab96b3971dd631df63272aa49be..05b85ad6db31b9e28a59f0563aea05949c7c7b3a
2025-08-28 seatonwan9
提交源码
05b85a 对比 | 目录
2025-08-28 seatonwan9
Merge branch 'master' of http://xearth.cn:6600/r/web-manage/web-manage into...
b9ec06 对比 | 目录
2025-08-28 seatonwan9
提交源码
b87734 对比 | 目录
4个文件已修改
46 ■■■■■ 已修改文件
components.d.ts 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.ts 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/approveManage/tradeApproval/approve.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/approveManage/tradeApproval/list.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components.d.ts
@@ -12,6 +12,8 @@
    Editor: typeof import('./src/components/Editor/src/Editor.vue')['default']
    ElButton: typeof import('element-plus/es')['ElButton']
    ElCard: typeof import('element-plus/es')['ElCard']
    ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
    ElCol: typeof import('element-plus/es')['ElCol']
    ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
    ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
    ElDescriptions: typeof import('element-plus/es')['ElDescriptions']
@@ -31,6 +33,10 @@
    ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
    ElOption: typeof import('element-plus/es')['ElOption']
    ElPagination: typeof import('element-plus/es')['ElPagination']
    ElRadio: typeof import('element-plus/es')['ElRadio']
    ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
    ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
    ElRow: typeof import('element-plus/es')['ElRow']
    ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
    ElSelect: typeof import('element-plus/es')['ElSelect']
    ElStep: typeof import('element-plus/es')['ElStep']
@@ -39,6 +45,7 @@
    ElTable: typeof import('element-plus/es')['ElTable']
    ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
    ElTag: typeof import('element-plus/es')['ElTag']
    ElUpload: typeof import('element-plus/es')['ElUpload']
    FileInfoPreview: typeof import('./src/components/fileInfoPreview/index.vue')['default']
    FilePreview: typeof import('./src/components/filePreview/index.vue')['default']
    IndusreialArea: typeof import('./src/components/indusreialArea/index.vue')['default']
src/router/index.ts
@@ -45,7 +45,7 @@
      const localUserInfo = localStorage.getItem('userInfo')
      if (localUserInfo) {
          const userInfo = JSON.parse(localUserInfo)
          if (userInfo.adminToken) {
          if (userInfo.adminToken && userInfo.adminToken !== '') {
          const obj: any = {
            adminToken: userInfo.adminToken,
            screenToken: '',
src/views/approveManage/tradeApproval/approve.vue
@@ -269,6 +269,7 @@
import { approveOrder } from '@/api/approvalManage'
import { useUserInfo } from '@/stores/modules/userInfo'
import createAxios from '@/utils/axios'
import productApi from '@/api/productApi'
const route = useRoute()
const router = useRouter()
@@ -350,6 +351,26 @@
    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) {
      // 忽略产品详情失败,不阻塞订单详情
    }
    // 获取用户信息
    // 映射订单详情头部信息
    const head = {
      orderNo: data.orderId,
src/views/approveManage/tradeApproval/list.vue
@@ -546,17 +546,6 @@
  const list: any[] = Array.isArray(pageData?.list) ? pageData.list : []
  page.total = Number(pageData?.total || 0)
  // 并发获取每个订单的详情(用于构造子订单行)
  const detailsArr = await Promise.all(
    list.map(async (order: any) => {
      try {
        const detailRes = (await orderApi.getOrderDetail(order.orderId)) as any
        return detailRes?.data
      } catch (e) {
        return null
      }
    })
  )
  const flatData: any[] = []
  list.forEach((order: any, idx: number) => {
@@ -574,9 +563,8 @@
      workFlowId: order.workflowId || ''
    }
    const detail = detailsArr[idx]
    const subOrders: any[] = Array.isArray(detail?.orderDetails)
      ? detail.orderDetails.map((d: any, i: number) => ({
    const subOrders: any[] = Array.isArray(order?.orderDetails)
      ? order?.orderDetails.map((d: any, i: number) => ({
          id: `${order.orderId}-${i + 1}`,
          isMainOrder: false,
          productName: order.productName || '',