p-honggang.li
5 天以前 80ca024e9ae633df0dc9f4e8f533f33b526afb3d
修复文件上传获取不到用户信息的BUG
7个文件已修改
169 ■■■■■ 已修改文件
src/views/pointsManage/personal/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/pointsManage/ruleDetail/index.vue 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/pointsManage/settings/index.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productManage/productPriceViewer/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tradeManage/confirm/index.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tradeManage/upload/index.vue 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vite.config.ts 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/pointsManage/personal/index.vue
@@ -104,7 +104,7 @@
        <!-- 流水表格 -->
        <div class="table-section">
          <el-table :data="flowList" stripe style="width: 100%" :height="440">
            <el-table-column prop="id" label="序号" width="80" align="center" />
            <el-table-column type="index" label="序号" width="80" align="center" />
            <el-table-column prop="dataCategory" label="数据类目" width="120">
              <template #default="{ row }">
                <span>{{ getCategoryLabel(row.dataCategory) }}</span>
src/views/pointsManage/ruleDetail/index.vue
@@ -20,7 +20,7 @@
                <el-input
                  v-model="pointRuleDetial.pointsValue"
                  size="small"
                  style="width: 80px;"
                  style="width: 50px;"
                  placeholder="请输入"
                  readonly
                />
@@ -29,7 +29,7 @@
                <el-input
                  v-model="pointRuleDetial.dailyLimit"
                  size="small"
                  style="width: 80px;"
                  style="width: 50px;"
                  placeholder="请输入"
                  readonly
                   v-if="pointRuleDetial.isLimit === 1"
@@ -62,7 +62,7 @@
                <el-input
                  v-model="pointRuleDetials.pointsValue"
                  size="small"
                  style="width: 60px;"
                  style="width: 50px;"
                  placeholder="请输入"
                  readonly
                />
@@ -71,7 +71,7 @@
                  <el-input
                          v-model="pointRuleDetials.dailyLimit"
                          size="small"
                          style="width: 80px;"
                          style="width: 50px;"
                          placeholder="请输入"
                          readonly
                          v-if="pointRuleDetials.isLimit === 1"
@@ -155,9 +155,42 @@
      const res = await pointsApi.getPointsRuleById(formData)
      if (res.code === 200 && res.data) {
        res.data.getPointsRuleList.map(item => {
          item.pointsRules.map(iitem => {
            if(iitem.ruleDescription.indexOf('被') > -1){
              iitem.descSort = 0
            }else{
              iitem.descSort = 1
            }
            return iitem
          })
          item.pointsRules.sort((a,b) => {
            if(a.ruleName === b.ruleName){
              return  a.descSort - b.descSort
            }else {
              return  a.ruleName.localeCompare(b.ruleName)
            }
          })
        })
        res.data.consumePointsRuleList.map(item => {
          item.pointsRules.map(iitem => {
            if(iitem.ruleDescription.indexOf('被') > -1){
              iitem.descSort = 0
            }else{
              iitem.descSort = 1
            }
            return iitem
          })
          item.pointsRules.sort((a,b) => {
            if(a.ruleName === b.ruleName){
              return  a.descSort - b.descSort
            }else {
              return  a.ruleName.localeCompare(b.ruleName)
            }
          })
        })
        // 将后端数据映射到前端规则对象
        Object.assign(rules.value, res.data)
        console.log(rules.value)
      }
    } else {
      // 如果没有ruleId参数,则获取所有规则
src/views/pointsManage/settings/index.vue
@@ -22,7 +22,7 @@
                <el-input
                  v-model="pointRuleDetial.pointsValue"
                  size="small"
                  style="width: 80px;"
                  style="width: 50px;"
                  placeholder="请输入"
                />
                <span class="unit">积分</span>
@@ -30,7 +30,7 @@
                <el-input
                  v-model="pointRuleDetial.dailyLimit"
                  size="small"
                  style="width: 80px;"
                  style="width: 50px;"
                  placeholder="请输入"
                   v-if="pointRuleDetial.isLimit === 1"
                />
@@ -129,7 +129,7 @@
                <el-input
                  v-model="pointRuleDetials.pointsValue"
                  size="small"
                  style="width: 60px;"
                  style="width: 50px;"
                  placeholder="请输入"
                />
                <span class="unit">积分</span>
@@ -137,7 +137,7 @@
                  <el-input
                          v-model="pointRuleDetials.dailyLimit"
                          size="small"
                          style="width: 80px;"
                          style="width: 50px;"
                          placeholder="请输入"
                          v-if="pointRuleDetials.isLimit === 1"
                  />
@@ -349,6 +349,40 @@
      const res = await pointsApi.getPointsRuleById(formData)
      if (res.code === 200 && res.data) {
        res.data.getPointsRuleList.map(item => {
          item.pointsRules.map(iitem => {
            if(iitem.ruleDescription.indexOf('被') > -1){
              iitem.descSort = 0
            }else{
              iitem.descSort = 1
            }
            return iitem
          })
          item.pointsRules.sort((a,b) => {
            if(a.ruleName === b.ruleName){
             return  a.descSort - b.descSort
            }else {
              return  a.ruleName.localeCompare(b.ruleName)
            }
          })
        })
        res.data.consumePointsRuleList.map(item => {
          item.pointsRules.map(iitem => {
            if(iitem.ruleDescription.indexOf('被') > -1){
              iitem.descSort = 0
            }else{
              iitem.descSort = 1
            }
            return iitem
          })
          item.pointsRules.sort((a,b) => {
            if(a.ruleName === b.ruleName){
              return  a.descSort - b.descSort
            }else {
              return  a.ruleName.localeCompare(b.ruleName)
            }
          })
        })
        // 将后端数据映射到前端规则对象
        Object.assign(rules.value, res.data)
        console.log(rules.value)
src/views/productManage/productPriceViewer/index.vue
@@ -321,7 +321,7 @@
                <td class="value">{{ statusText(orderStatus.status) }}</td>
                <td></td>
                <td class="value link">
                  <el-link type="primary" @click="viewOrder">查看订单信息</el-link>
<!--                  <el-link type="primary" @click="viewOrder">查看订单信息</el-link>-->
                </td>
              </tr>
            </tbody>
@@ -801,7 +801,7 @@
     // 获取工作流参数
     const  wkParamsRes: any = await workFlowApi.getWorkFlowParams({
      type: type,
      unitId: '1',
      // unitId: '1',
      businessKey: type
    })
  if(wkParamsRes?.code === 200 && wkParamsRes.data?.processTemplateId){
src/views/tradeManage/confirm/index.vue
@@ -242,6 +242,7 @@
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()
@@ -294,6 +295,23 @@
onMounted(async () => {
  const orderId = String(route.params.id || '')
  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 res = (await orderApi.getOrderDetail(orderId)) as any
@@ -432,6 +450,7 @@
  try {
    const orderId = String(route.params.id || '')
    const userId = userStore.getUserId ? Number(userStore.getUserId) : undefined
    console.log(userId)
    
    if (!orderId || !userId) {
      ElMessage.error('订单ID或用户ID不能为空')
src/views/tradeManage/upload/index.vue
@@ -255,6 +255,9 @@
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()
@@ -310,12 +313,62 @@
    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 = {
@@ -756,7 +809,7 @@
      // 检查响应格式
      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获取失败,使用下载方式')
vite.config.ts
@@ -33,8 +33,8 @@
      // target:'http://10.209.233.16/admin',//信创正式
      // target: 'http://36.133.126.111:7099/api', //测试
      // target: 'https://zynlpt.ccccltd.cn/admin', // 正式  (要打开changeOrigin和rewrite)
         target: 'http://localhost:8089',
      // target: 'http://36.133.126.111:7099/trade-api',
      //   target: 'http://localhost:8089',
       target: 'http://36.133.126.111:7099/trade-api',
      changeOrigin: true, // 允许跨域
      rewrite: (path) => path.replace(/^\/api/, '/'), //连测试环境要注释这行,连后端个人则打开
    },