Browse Source

申购新需求

cz 1 year ago
parent
commit
dd288432f0

BIN
public/static/申购明细导入模板.xlsx


BIN
src/assets/images/sanjiao.png


+ 83 - 1
src/components/WDLY/process/SendSubscribeWDLY.vue

@@ -16,6 +16,13 @@
           >
           >
             添加物品
             添加物品
           </el-button>
           </el-button>
+          <el-button
+            type="primary"
+            @click="openExcel = true"
+            style="margin-bottom: 10px"
+          >
+            excel导入
+          </el-button>
           <el-table :data="formData.data.subscribeDetailList">
           <el-table :data="formData.data.subscribeDetailList">
             <el-table-column
             <el-table-column
               prop="goodType"
               prop="goodType"
@@ -80,6 +87,34 @@
         @pushGoods="pushGoods"
         @pushGoods="pushGoods"
       ></SelectGoods>
       ></SelectGoods>
     </el-dialog>
     </el-dialog>
+
+    <el-dialog v-model="openExcel" title="excel导入" width="30%" append-to-body>
+      <div v-loading="excelLoading">
+        <div style="margin: 15px 0">
+          <a
+            href="/static/申购明细导入模板.xlsx"
+            download="申购明细导入模板.xlsx"
+            class="download"
+            >Excel模板下载</a
+          >
+        </div>
+        <el-upload
+          :action="actionUrl + '/subscribeDetail/excelImport'"
+          :headers="headers"
+          :on-success="handleSuccess"
+          :on-progress="handleProgress"
+          :show-file-list="false"
+          :on-error="handleError"
+          accept=".xls, .xlsx"
+        >
+          <el-button type="primary">点击导入</el-button>
+        </el-upload>
+      </div>
+
+      <template #footer>
+        <el-button @click="openExcel = false" size="large">取 消</el-button>
+      </template>
+    </el-dialog>
   </div>
   </div>
 </template>
 </template>
 
 
@@ -89,6 +124,9 @@ import { ElMessage, ElMessageBox } from "element-plus";
 import SelectGoods from "@/components/WDLY/product/SelectGoods";
 import SelectGoods from "@/components/WDLY/product/SelectGoods";
 import useUserStore from "@/store/modules/user";
 import useUserStore from "@/store/modules/user";
 import { computed } from "vue";
 import { computed } from "vue";
+import { getToken } from "@/utils/auth";
+const headers = ref({ Authorization: "Bearer " + getToken() });
+const actionUrl = import.meta.env.VITE_APP_BASE_API;
 const { proxy } = getCurrentInstance();
 const { proxy } = getCurrentInstance();
 const route = useRoute();
 const route = useRoute();
 
 
@@ -210,7 +248,10 @@ const handleSubmit = async () => {
     return false;
     return false;
   }
   }
 };
 };
-let openProduct = ref(false);
+const openProduct = ref(false);
+const openExcel = ref(false);
+const excelLoading = ref(false);
+
 const handleRemove = (index) => {
 const handleRemove = (index) => {
   formData.data.subscribeDetailList.splice(index, 1);
   formData.data.subscribeDetailList.splice(index, 1);
   return ElMessage({
   return ElMessage({
@@ -284,6 +325,41 @@ onMounted(() => {
     formData.data.subcribeName = userInfo.nickName;
     formData.data.subcribeName = userInfo.nickName;
   }
   }
 });
 });
+
+const handleProgress = () => {
+  excelLoading.value = true;
+};
+const handleSuccess = (res) => {
+  if (res.code != 200) {
+    return ElMessage({
+      message: `${res.msg},请重试!`,
+      type: "info",
+    });
+  } else {
+    ElMessage({
+      message: "导入成功!",
+      type: "success",
+    });
+    if (res && res.data && res.data.length > 0) {
+      formData.data.subscribeDetailList = res.data.map((x) => ({
+        ...x,
+        productCode: x.productCustomCode,
+      }));
+    }
+    openExcel.value = false;
+    excelLoading.value = false;
+  }
+};
+
+const handleError = (err) => {
+  ElMessage({
+    message: `${err},请重试!`,
+    type: "info",
+  });
+  openExcel.value = false;
+  excelLoading.value = false;
+};
+
 const getFormData = () => {
 const getFormData = () => {
   return formData.data;
   return formData.data;
 };
 };
@@ -297,4 +373,10 @@ defineExpose({
 </script>
 </script>
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
+.download {
+  background: #409eff;
+  color: #fff;
+  padding: 8px 12px;
+  border-radius: 4px;
+}
 </style>
 </style>

+ 74 - 60
src/router/index.js

@@ -1,4 +1,7 @@
-import { createWebHistory, createRouter } from 'vue-router'
+import {
+  createWebHistory,
+  createRouter
+} from 'vue-router'
 /* Layout */
 /* Layout */
 import Layout from '@/layout'
 import Layout from '@/layout'
 
 
@@ -25,17 +28,14 @@ import Layout from '@/layout'
  */
  */
 
 
 // 公共路由
 // 公共路由
-export const constantRoutes = [
-  {
+export const constantRoutes = [{
     path: '/redirect',
     path: '/redirect',
     component: Layout,
     component: Layout,
     hidden: true,
     hidden: true,
-    children: [
-      {
-        path: '/redirect/:path(.*)',
-        component: () => import('@/views/redirect/index.vue')
-      }
-    ]
+    children: [{
+      path: '/redirect/:path(.*)',
+      component: () => import('@/views/redirect/index.vue')
+    }]
   },
   },
   {
   {
     path: '/login',
     path: '/login',
@@ -61,110 +61,122 @@ export const constantRoutes = [
     path: '',
     path: '',
     component: Layout,
     component: Layout,
     redirect: '/index',
     redirect: '/index',
-    children: [
-      {
+    children: [{
         path: '/index',
         path: '/index',
         component: () => import('@/views/index'),
         component: () => import('@/views/index'),
         name: 'Index',
         name: 'Index',
-        meta: { title: '首页', icon: 'dashboard', affix: true }
+        meta: {
+          title: '首页',
+          icon: 'dashboard',
+          affix: true
+        }
       },
       },
       {
       {
         path: '/platform_manage/process/processApproval',
         path: '/platform_manage/process/processApproval',
         component: () => import('@/views/process/processApproval/index.vue'),
         component: () => import('@/views/process/processApproval/index.vue'),
         name: 'ProcessApproval',
         name: 'ProcessApproval',
-        meta: { title: '流程审批', icon: 'dashboard', affix: true }
+        meta: {
+          title: '流程审批',
+          icon: 'dashboard',
+          affix: false
+        }
       }
       }
     ]
     ]
   },
   },
 
 
-  
+
   {
   {
     path: '/user',
     path: '/user',
     component: Layout,
     component: Layout,
     hidden: true,
     hidden: true,
     redirect: 'noredirect',
     redirect: 'noredirect',
-    children: [
-      {
-        path: 'profile',
-        component: () => import('@/views/system/user/profile/index'),
-        name: 'Profile',
-        meta: { title: '个人中心', icon: 'user' }
+    children: [{
+      path: 'profile',
+      component: () => import('@/views/system/user/profile/index'),
+      name: 'Profile',
+      meta: {
+        title: '个人中心',
+        icon: 'user'
       }
       }
-    ]
+    }]
   }
   }
 ]
 ]
 
 
 // 动态路由,基于用户权限动态去加载
 // 动态路由,基于用户权限动态去加载
-export const dynamicRoutes = [
-  {
+export const dynamicRoutes = [{
     path: '/system/user-auth',
     path: '/system/user-auth',
     component: Layout,
     component: Layout,
     hidden: true,
     hidden: true,
     permissions: ['system:user:edit'],
     permissions: ['system:user:edit'],
-    children: [
-      {
-        path: 'role/:userId(\\d+)',
-        component: () => import('@/views/system/user/authRole'),
-        name: 'AuthRole',
-        meta: { title: '分配角色', activeMenu: '/system/user' }
+    children: [{
+      path: 'role/:userId(\\d+)',
+      component: () => import('@/views/system/user/authRole'),
+      name: 'AuthRole',
+      meta: {
+        title: '分配角色',
+        activeMenu: '/system/user'
       }
       }
-    ]
+    }]
   },
   },
   {
   {
     path: '/system/role-auth',
     path: '/system/role-auth',
     component: Layout,
     component: Layout,
     hidden: true,
     hidden: true,
     permissions: ['system:role:edit'],
     permissions: ['system:role:edit'],
-    children: [
-      {
-        path: 'user/:roleId(\\d+)',
-        component: () => import('@/views/system/role/authUser'),
-        name: 'AuthUser',
-        meta: { title: '分配用户', activeMenu: '/system/role' }
+    children: [{
+      path: 'user/:roleId(\\d+)',
+      component: () => import('@/views/system/role/authUser'),
+      name: 'AuthUser',
+      meta: {
+        title: '分配用户',
+        activeMenu: '/system/role'
       }
       }
-    ]
+    }]
   },
   },
   {
   {
     path: '/system/dict-data',
     path: '/system/dict-data',
     component: Layout,
     component: Layout,
     hidden: true,
     hidden: true,
     permissions: ['system:dict:list'],
     permissions: ['system:dict:list'],
-    children: [
-      {
-        path: 'index/:dictId(\\d+)',
-        component: () => import('@/views/system/dict/data'),
-        name: 'Data',
-        meta: { title: '字典数据', activeMenu: '/system/dict' }
+    children: [{
+      path: 'index/:dictId(\\d+)',
+      component: () => import('@/views/system/dict/data'),
+      name: 'Data',
+      meta: {
+        title: '字典数据',
+        activeMenu: '/system/dict'
       }
       }
-    ]
+    }]
   },
   },
   {
   {
     path: '/monitor/job-log',
     path: '/monitor/job-log',
     component: Layout,
     component: Layout,
     hidden: true,
     hidden: true,
     permissions: ['monitor:job:list'],
     permissions: ['monitor:job:list'],
-    children: [
-      {
-        path: 'index/:jobId(\\d+)',
-        component: () => import('@/views/monitor/job/log'),
-        name: 'JobLog',
-        meta: { title: '调度日志', activeMenu: '/monitor/job' }
+    children: [{
+      path: 'index/:jobId(\\d+)',
+      component: () => import('@/views/monitor/job/log'),
+      name: 'JobLog',
+      meta: {
+        title: '调度日志',
+        activeMenu: '/monitor/job'
       }
       }
-    ]
+    }]
   },
   },
   {
   {
     path: '/tool/gen-edit',
     path: '/tool/gen-edit',
     component: Layout,
     component: Layout,
     hidden: true,
     hidden: true,
     permissions: ['tool:gen:edit'],
     permissions: ['tool:gen:edit'],
-    children: [
-      {
-        path: 'index/:tableId(\\d+)',
-        component: () => import('@/views/tool/gen/editTable'),
-        name: 'GenEdit',
-        meta: { title: '修改生成配置', activeMenu: '/tool/gen' }
+    children: [{
+      path: 'index/:tableId(\\d+)',
+      component: () => import('@/views/tool/gen/editTable'),
+      name: 'GenEdit',
+      meta: {
+        title: '修改生成配置',
+        activeMenu: '/tool/gen'
       }
       }
-    ]
+    }]
   }
   }
 ]
 ]
 
 
@@ -175,9 +187,11 @@ const router = createRouter({
     if (savedPosition) {
     if (savedPosition) {
       return savedPosition
       return savedPosition
     } else {
     } else {
-      return { top: 0 }
+      return {
+        top: 0
+      }
     }
     }
   },
   },
 });
 });
 
 
-export default router;
+export default router;

+ 3 - 2
src/views/WDLY/outInBound/jdOrderReceive/index.vue

@@ -189,7 +189,9 @@
         <el-button type="primary">点击导入</el-button>
         <el-button type="primary">点击导入</el-button>
       </el-upload>
       </el-upload>
       <template #footer>
       <template #footer>
-        <el-button @click="openExcelDialog = false">取 消</el-button>
+        <el-button @click="openExcelDialog = false" size="large"
+          >取 消</el-button
+        >
       </template>
       </template>
     </el-dialog>
     </el-dialog>
   </div>
   </div>
@@ -203,7 +205,6 @@ import byForm from "@/components/byForm/index";
 import OrderDetails from "@/components/WDLY/order/details";
 import OrderDetails from "@/components/WDLY/order/details";
 import selectCity from "@/components/selectCity/index.vue";
 import selectCity from "@/components/selectCity/index.vue";
 import { getToken } from "@/utils/auth";
 import { getToken } from "@/utils/auth";
-
 const headers = ref({ Authorization: "Bearer " + getToken() });
 const headers = ref({ Authorization: "Bearer " + getToken() });
 const actionUrl = import.meta.env.VITE_APP_BASE_API;
 const actionUrl = import.meta.env.VITE_APP_BASE_API;
 const openExcelDialog = ref(false);
 const openExcelDialog = ref(false);

+ 3 - 2
src/views/WDLY/purchaseManage/alreadyPurchase/index.vue

@@ -25,12 +25,13 @@
         </template>
         </template>
 
 
         <template #arrivalStatus="{ item }">
         <template #arrivalStatus="{ item }">
-          <div
+          <span
             style="cursor: pointer; color: #409eff"
             style="cursor: pointer; color: #409eff"
             @click="handleClickArrivalStatus(item)"
             @click="handleClickArrivalStatus(item)"
           >
           >
             {{ dictValueLabel(item.arrivalStatus, arrivalStatus) }}
             {{ dictValueLabel(item.arrivalStatus, arrivalStatus) }}
-          </div>
+          </span>
+          <span v-if="item.isTransit == 1">(有在途)</span>
         </template>
         </template>
 
 
         <template #btn="{ item }">
         <template #btn="{ item }">

+ 369 - 15
src/views/index.vue

@@ -1,30 +1,384 @@
 <template>
 <template>
-	<div class="app-container home">
-		<!-- <byTableDemo></byTableDemo> -->
-		<!-- <el-input type="number" v-model='aaa' v-mousewheel></el-input> -->
-		
-	</div>
+  <div class="app-container home">
+    <div class="stat-warp">
+      <ul>
+        <li class="theme1">
+          <div class="num">{{ toBeProcessedData.total }}</div>
+          <div class="label">我的待审批</div>
+          <div class="icon-box">
+            <i class="icon iconfont icon-iconm_waixht"></i>
+          </div>
+        </li>
+        <li class="theme2">
+          <div class="num">{{ haveInitiatedData.total }}</div>
+          <div class="label">我的发起(未结束)</div>
+          <div class="icon-box">
+            <i class="icon iconfont icon-iconm_wofqd"></i>
+          </div>
+        </li>
+        <li class="theme3">
+          <div class="num">3</div>
+          <div class="label">未读消息</div>
+          <div class="icon-box">
+            <i class="icon iconfont icon-iconm_unread"></i>
+          </div>
+        </li>
+      </ul>
+    </div>
+    <div class="table-warp">
+      <div class="card">
+        <div class="commons-title">我的待审批</div>
+        <el-table :data="toBeProcessedData.rows" style="width: 100%">
+          <el-table-column prop="flowName" label="流程类型" />
+          <el-table-column prop="title" label="流程标题" />
+          <el-table-column prop="createUserName" label="发起人" />
+          <el-table-column prop="createTime" label="发起时间" />
+          <el-table-column fixed="right" label="操作" width="120">
+            <template #default="scope">
+              <el-button
+                link
+                type="primary"
+                size="small"
+                @click="pushProcessApproval(scope.row)"
+              >
+                查看
+              </el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <div class="card">
+        <div class="commons-title">业务提醒</div>
+      </div>
+      <div class="card">
+        <div class="commons-title">我的发起(未结束)</div>
+        <el-table :data="haveInitiatedData.rows" style="width: 100%">
+          <el-table-column prop="flowName" label="流程类型" />
+          <el-table-column prop="title" label="流程标题" />
+          <el-table-column prop="createUserName" label="审批人" />
+          <el-table-column prop="createTime" label="发起时间" />
+          <el-table-column fixed="right" label="操作" width="120">
+            <template #default="scope">
+              <el-button
+                link
+                type="primary"
+                size="small"
+                @click="pushProcessApproval(scope.row)"
+              >
+                查看
+              </el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <div class="card">
+        <div class="commons-title">系统公告</div>
+        <ul class="announcement">
+          <li v-for="i in sendMegData.rows" :key="i.id">
+            <div class="time">{{ i.createTime }} <span>系统公告</span></div>
+            <div class="content">{{ i.content }}</div>
+          </li>
+        </ul>
+      </div>
+    </div>
+    <!-- <byTableDemo></byTableDemo> -->
+    <!-- <el-input type="number" v-model='aaa' v-mousewheel></el-input> -->
+    <!-- 111112132131211 -->
+  </div>
 </template>
 </template>
 
 
 <script setup name="Index">
 <script setup name="Index">
-import { createApp, onMounted } from 'vue'
-import byTableDemo from '../components/byTable/demo'
-import html2canvas from 'html2canvas'
-import JsPDF from 'jspdf'
+import { createApp, onMounted, ref } from "vue";
+import byTableDemo from "../components/byTable/demo";
+import html2canvas from "html2canvas";
+import JsPDF from "jspdf";
 
 
-const aaa = ref(1)
+const aaa = ref(1);
 function goTarget(url) {
 function goTarget(url) {
-	window.open(url, '__blank')
+  window.open(url, "__blank");
 }
 }
+let toBeProcessedData = ref({
+  total: 0,
+  rows: [],
+});
+let haveInitiatedData = ref({
+  total: 0,
+  rows: [],
+});
+const sendMegData = ref({
+  total: 0,
+  rows: [],
+});
+// 维多利亚专属跳转 逻辑与标准版不一致
+const pushProcessApproval = (row) => {
+  // 0 , 1待处理
+  if (row.status != 1 && row.status != 0) {
+    proxy.$router.push({
+      path: "/platform_manage/process/processApproval",
+      query: {
+        flowKey: row.flowKey,
+        id: row.id,
+        businessId: row.businessId,
+        processType: 20,
+        version: row.version,
+      },
+    });
+    return;
+  }
+  proxy.post("flowExample/getApprovalRecord", { id: row.id }).then((res) => {
+    if (res.recordList.length > 0) {
+      let data = res.recordList.filter((item) => item.status === 2);
+      let nodeType = 0;
+      if (data && data.length > 0) {
+        nodeType = data[0].nodeType;
+      }
+      proxy.$router.push({
+        path: "/platform_manage/process/processApproval",
+        query: {
+          flowKey: row.flowKey,
+          id: row.id,
+          businessId: row.businessId,
+          processType: nodeType < 3 ? 10 : 20,
+          version: row.version,
+        },
+      });
+    }
+  });
+};
+const { proxy } = getCurrentInstance();
+const getData = () => {
+  proxy
+    .post("flowExample/getToBeProcessedPage", {
+      pageNum: 1,
+      pageSize: 4,
+      status: "1",
+    })
+    .then((res) => {
+      toBeProcessedData.value = res;
+    });
+  proxy
+    .post("flowExample/getHaveInitiatedPage", {
+      pageNum: 1,
+      pageSize: 4,
+      status: "1",
+    })
+    .then((res) => {
+      haveInitiatedData.value = res;
+    });
+  proxy
+    .post("sendMeg/page", {
+      pageNum: 1,
+      pageSize: 3,
+    })
+    .then((res) => {
+      sendMegData.value = res;
+    });
+};
+getData();
 // ​
 // ​
-onMounted(() => {
-	
-})
+onMounted(() => {});
 </script>
 </script>
 <style>
 <style>
+.table-warp .el-table .cell {
+  line-height: 24px !important;
+}
 </style>
 </style>
 <style scoped lang="scss">
 <style scoped lang="scss">
-.home {
+.app-container {
+  height: 100%;
+  .announcement {
+    padding: 0;
+    margin: 0;
+    li {
+      list-style: none;
+      border-radius: 2px;
+      padding: 14px 20px;
+      background: #eeeeee;
+      margin-bottom: 10px;
+      font-size: 14px;
+      cursor: pointer;
+      .time {
+        color: #999;
+      }
+      .content {
+        margin-top: 10px;
+        color: #333;
+      }
+    }
+    li:hover {
+      background: #eff6ff;
+    }
+  }
+  .table-warp {
+    //页面全屏,占据剩下的位置
+    height: calc(100% - 157px);
+    border-radius: 5px;
+
+    .card {
+      width: calc(50% - 10px);
+      height: calc(50% - 10px);
+      background: #fff;
+      float: left;
+      border-radius: 5px;
+      padding: 20px;
+      overflow-y: auto;
+    }
+    .card:nth-child(2n + 1) {
+      margin-right: 20px;
+    }
+    .card:nth-child(1) {
+      margin-bottom: 20px;
+    }
+    .card:nth-child(2) {
+      margin-bottom: 20px;
+    }
+  }
+  .stat-warp {
+    margin-bottom: 20px;
+    background: #fff;
+    padding: 20px;
+    overflow: hidden;
+    position: relative;
+    border-radius: 5px;
+
+    .title {
+      height: 60px;
+      select {
+        height: 60px;
+        border: none;
+        outline: none;
+        -webkit-appearance: none;
+        appearance: none;
+        font-size: 14px;
+        font-weight: bold;
+        background: url("@/assets/images/sanjiao.png") no-repeat right center;
+        padding-right: 20px;
+      }
+      div {
+        height: 60px;
+        font-size: 14px;
+        font-weight: bold;
+        line-height: 60px;
+      }
+    }
+    ul {
+      padding: 0;
+      overflow: hidden;
+      margin: 0;
+      li {
+        list-style: none;
+        min-width: 285px;
+        box-sizing: border-box;
+        margin-right: 20px;
+        background: linear-gradient(360deg, #c7e3fe 0%, #dfecff 100%);
+        float: left;
+        overflow: hidden;
+        padding: 20px;
+        color: #333333;
+        position: relative;
+        border-radius: 10px;
+        .label {
+          font-size: 14px;
+          margin-top: 10px;
+        }
+        .label::before {
+          // width: 10px;
+          // height: 10px;
+          // content: '';
+          // border-radius: 50%;
+          // background: #0084ff;
+          // display: inline-block;
+          // margin-right: 10px;
+        }
+        .num {
+          font-size: 24px;
+          font-weight: bold;
+        }
+        .icon-box {
+          position: absolute;
+          height: 40px;
+          width: 40px;
+          right: 20px;
+          top: 20px;
+          background: #fff;
+          border-radius: 10px;
+          text-align: center;
+          line-height: 40px;
+          i {
+            font-size: 20px;
+            color: #0084ff;
+          }
+        }
+      }
+      //#F5F3FF #9E64ED
+      .theme2 {
+        background: linear-gradient(180deg, #eae8fb 0%, #ded9ff 100%);
+        .label::before {
+          background: #7566f0;
+        }
+        .icon-box i {
+          color: #7566f0;
+        }
+      }
+      //#FFF1E1 #FF9315
+      .theme3 {
+        background: #fff1e1;
+        .label::before {
+          background: #ff9315;
+        }
+        .icon-box i {
+          color: #ff9315;
+        }
+      }
+      //#E2FBE8 #39C55A
+      .theme4 {
+        background: #e2fbe8;
+        .label::before {
+          background: #39c55a;
+        }
+      }
+      .theme5 {
+        background: #ffebe9;
+        .label::before {
+          background: #f94539;
+        }
+      }
+      .theme6 {
+        background: #e4f9f9;
+        .label::before {
+          background: #53cbcb;
+        }
+      }
+      .multi-data {
+        .label::before {
+          display: none;
+        }
+        .label {
+          font-size: 14px;
+          font-weight: bold;
+          color: #333;
+          margin-bottom: 8px;
+        }
+        .num-warp {
+          overflow: hidden;
+          .num-box {
+            float: left;
+            min-width: 80px;
+            margin-right: 20px;
+            .num-small {
+              font-size: 16px;
+              font-weight: bold;
+              margin-bottom: 8px;
+            }
+            .label-small {
+              color: #666;
+              font-size: 14px;
+            }
+          }
+        }
+      }
+    }
+  }
 }
 }
 </style>
 </style>
 
 

+ 1 - 1
src/views/process/processApproval/index.vue

@@ -536,7 +536,7 @@ const skipPage = () => {
       });
       });
     } else if (flowForm.flowKey == "wdly_purchase") {
     } else if (flowForm.flowKey == "wdly_purchase") {
       router.replace({
       router.replace({
-        path: "/WDLY/purchaseManage/alreadyPurchase_wdly",
+        path: "/oa/1/dealWith",
       });
       });
     } else if (flowForm.flowKey == "wdly_apply_purchase") {
     } else if (flowForm.flowKey == "wdly_apply_purchase") {
       router.replace({
       router.replace({

+ 1 - 1
vite.config.js

@@ -41,7 +41,7 @@ export default defineConfig(({
         '/dev-api': {
         '/dev-api': {
           target: 'http://139.9.102.170:10006/test-api',
           target: 'http://139.9.102.170:10006/test-api',
           // 正式地址
           // 正式地址
-          // target:"http://139.9.102.170/prod-api",
+          // target: "http://139.9.102.170/prod-api",
           changeOrigin: true,
           changeOrigin: true,
           rewrite: (p) => p.replace(/^\/dev-api/, '')
           rewrite: (p) => p.replace(/^\/dev-api/, '')
         }
         }