| | |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | import { useUserInfo } from '@/stores/modules/userInfo' |
| | | import createAxios from '@/utils/axios' |
| | | import productApi from "@/api/productApi"; |
| | | import sysUserService from "@/api/sysUser"; |
| | | import {queryUserDetail} from "@/api/userInfo"; |
| | | |
| | | const route = useRoute() |
| | | const router = useRouter() |
| | |
| | | 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 res = (await orderApi.getOrderDetail(orderId)) as any |
| | | const data = res?.data || {} |
| | | |
| | | 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 = { |
| | |
| | | // 文件上传前的验证 |
| | | const beforeUpload = (file: File) => { |
| | | // 检查文件大小(限制为100MB) |
| | | const maxSize = 100 * 1024 * 1024 |
| | | const maxSize = 500 * 1024 * 1024 |
| | | if (file.size > maxSize) { |
| | | ElMessage.error('文件大小不能超过100MB') |
| | | ElMessage.error('文件大小不能超过500MB') |
| | | return false |
| | | } |
| | | |
| | |
| | | fileType: fileItem.type || 'application/octet-stream', |
| | | fileSize: fileItem.size, |
| | | fileUrl: fileUrl, |
| | | bucketName: 'order-attachments', |
| | | bucketName: 'dev', |
| | | objectName: fileUrl.split('/').pop(), |
| | | uploadUserId: userId, |
| | | uploadUserName: userName, |
| | |
| | | // 检查响应格式 |
| | | const responseData = previewResponse as any |
| | | if (responseData && responseData.code === 200 && responseData.data) { |
| | | previewUrl = responseData.data |
| | | // previewUrl = responseData.data.replaceAll("192.168.20.52", import.meta.env.) |
| | | console.log('使用预览URL:', previewUrl) |
| | | } else { |
| | | console.log('预览URL获取失败,使用下载方式') |
| | |
| | | fileType: file.type || 'application/octet-stream', |
| | | fileSize: file.size, |
| | | fileUrl: fileUrl, |
| | | bucketName: 'order-attachments', |
| | | bucketName: 'dev', |
| | | objectName: fileUrl.split('/').pop(), |
| | | uploadUserId: userId, |
| | | uploadUserName: userName, |