zyz 3 年之前
父节点
当前提交
a80c7cc275
共有 6 个文件被更改,包括 77 次插入37 次删除
  1. 20 28
      src/Layout/Sidebar/SidebarItem.vue
  2. 3 3
      src/router/index.ts
  3. 30 4
      src/until/request.ts
  4. 1 1
      src/views/qualitymanagement/tcheck/index.vue
  5. 7 0
      src/vue-router.d.ts
  6. 16 1
      vite.config.ts

+ 20 - 28
src/Layout/Sidebar/SidebarItem.vue

@@ -1,44 +1,35 @@
 <template>
   <div v-for="(item, index) in items" :key="index">
     <div v-if="!item.hidden">
-      <el-submenu
-        :index="item.path"
-        :key="item.index"
-        v-if="item.children.length > 1"
-        popper-append-to-body
-      >
+      <el-submenu :index="item.path" :key="item.path" v-if="item.children.length > 1" popper-append-to-body>
         <template #title>
-          <i :class="item.meta.icon"></i>
-          <span>{{ item.meta.title }}</span>
+          <!-- <i :class="item.meta.icon"></i> -->
+          <el-icon :class="item.meta?.icon" style="margin-right:10px;height: 15px;width: 15px;"></el-icon>
+          <span>{{ item.meta?.title }}</span>
         </template>
         <template v-for="(itemTwo, index) in item.children" :key="index">
           <el-menu-item v-if="!itemTwo.children" :index="itemTwo.path">
-            <i :class="itemTwo.meta.icon"></i>
-            <template #title>{{ itemTwo.meta.title }}</template>
+            <!-- <i :class="itemTwo.meta.icon"></i> -->
+            <el-icon :class="itemTwo.meta?.icon" style="margin-right:10px;height: 15px;width: 15px;"></el-icon>
+            <template #title>{{ itemTwo.meta?.title }}</template>
           </el-menu-item>
           <el-submenu v-else :index="itemTwo.path">
-            <template #title
-              ><i :class="itemTwo.meta.icon"></i
-              >{{ itemTwo.meta.title }}</template
-            >
-            <el-menu-item
-              v-for="(itemThree, index) in itemTwo.children"
-              :key="index"
-              :index="itemThree.path"
-            >
-              <template #title>{{ itemThree.meta.title }}</template>
+            <template #title>
+              <!-- <i :class="itemTwo.meta.icon"></i> -->
+              <el-icon :class="itemTwo.meta?.icon" style="margin-right:10px;height: 15px;width: 15px;"></el-icon>
+              {{ itemTwo.meta?.title }}
+            </template>
+            <el-menu-item v-for="(itemThree, index) in itemTwo.children" :key="index" :index="itemThree.path">
+              <el-icon :class="itemThree.meta?.icon" style="margin-right:10px;height: 15px;width: 15px;"></el-icon>
+              <template #title>{{ itemThree.meta?.title }}</template>
             </el-menu-item>
           </el-submenu>
         </template>
       </el-submenu>
-      <el-menu-item
-        v-for="(itemTwo, index) in item.children"
-        :key="index"
-        v-else
-        :index="itemTwo.path"
-      >
-        <i :class="itemTwo.meta.icon"></i>
-        <template #title>{{ itemTwo.meta.title }}</template>
+      <el-menu-item v-for="(itemTwo, index) in item.children" :key="index" v-else :index="itemTwo.path">
+        <!-- <i :class="itemTwo.meta.icon"></i> -->
+        <el-icon :class="itemTwo.meta?.icon" style="margin-right:10px;height: 15px;width: 15px;"></el-icon>
+        <template #title>{{ itemTwo.meta?.title }}</template>
       </el-menu-item>
     </div>
   </div>
@@ -61,6 +52,7 @@ export default defineComponent({
 .el-menu--collapse .el-submenu__title span {
   display: none;
 }
+
 /*隐藏 > */
 .el-menu--collapse .el-submenu__title .el-submenu__icon-arrow {
   display: none;

+ 3 - 3
src/router/index.ts

@@ -1,4 +1,4 @@
-import { createRouter, createWebHashHistory } from 'vue-router'
+import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'
 import equipmentaccount from './modules/deviceacc'
 import telemetrystation from './modules/station'
 import dataaudit from './modules/dataaudit'
@@ -15,7 +15,7 @@ import { getToken } from '../until/auth'
 
 export const Layout = () => import('../Layout/index.vue')
 /**
- * hidden 是否在导航栏显示            ture 不显示
+ * hidden 是否在导航栏显示    ture 不显示
  * meta        title: 名称    icon: 图标
  */
 export const routes: Array<RouteRecordRaw> = [
@@ -32,7 +32,7 @@ export const routes: Array<RouteRecordRaw> = [
         children: [{
             path: '/dashboard',
             component: () => import('../views/dashboard/index.vue'),
-            meta: { title: '工作台', icon: 'el-icon-eleme', }
+            meta: { title: '工作台', icon: 'iconfont icon-equipment', }
         }]
     },
     equipmentaccount,

+ 30 - 4
src/until/request.ts

@@ -53,10 +53,18 @@ service.interceptors.response.use(
     //这里用于处理返回的结果,比如如果是返回401无权限,可能会是跳回到登录页的操作,结合自己的业务逻辑写
     //如果返回的状态码为200,说明接口请求成功,可以正常拿到数据     
     //否则的话抛出错误
-    if (response.status === 200) {
-      return Promise.resolve(response);
+    // if (response.status === 200) {
+    //   return Promise.resolve(response);
+    // } else {
+    //   return Promise.reject(response);
+    // }
+
+    //拦截请求,统一相应
+    if (response.status===200) {
+      return response
     } else {
-      return Promise.reject(response);
+      ElMessage.error(response.data.msg)
+      return response
     }
   },
   error => {
@@ -74,7 +82,25 @@ service.interceptors.response.use(
     //     type: 'error'
     //   });
     // }
-    return Promise.reject(new Error("cuowu " || 'Error'));
+    if (error.response) {
+      switch (error.response.status) {
+        case 401:
+          ElMessage.warning("资源没有访问权限!")
+          break
+        case 404:
+          ElMessage.warning("接口不存在,请检查接口地址是否正确!")
+          break
+        case 500:
+          ElMessage.warning("内部服务器错误,请联系系统管理员!")
+          break
+        default:
+          return Promise.reject(error.response)   // 返回接口返回的错误信息 
+      }
+    }
+    else {
+      ElMessage.error("遇到跨域错误,请设置代理或者修改后端允许跨域访问!")
+    }
+    //return Promise.reject(new Error("cuowu " || 'Error'));
   }
 )
 

+ 1 - 1
src/views/qualitymanagement/tcheck/index.vue

@@ -136,7 +136,7 @@
               :header-cell-style="{ background: '#606266', color: '#FFFFFF' }">
               <el-table-column fixed type="index" width="50" align="center" />
               <el-table-column fixed prop="deviceSn" label="设备SN" header-align="center" width="120" />
-              <el-table-column label="最新读" header-align="center" width="100" />
+              <el-table-column label="最新读" header-align="center" width="100" />
               <el-table-column label="最新" header-align="center" min-width="100" />
               <el-table-column prop="createMan" label="创建人" header-align="center" width="140" />
               <el-table-column label="状态" header-align="center" width="90" />

+ 7 - 0
src/vue-router.d.ts

@@ -0,0 +1,7 @@
+import { _RouteRecordBase } from 'vue-router';
+
+declare module 'vue-router'{
+    interface _RouteRecordBase{
+        hidden?: boolean | string | number
+    }
+}

+ 16 - 1
vite.config.ts

@@ -2,13 +2,28 @@ import { defineConfig } from 'vite'
 import vue from '@vitejs/plugin-vue'
 import path from 'path'
 export default defineConfig({
-    base: "./",
+    base: "./",  //设置打包路径
     plugins: [vue()],
     resolve: {
         alias: {
             '@': path.resolve(__dirname, './src') // 设置别名
         }
     },
+    // server: {
+    //     host: '0.0.0.0',
+    //     port: 6090,    //设置服务启动端口
+    //     //open: true,  //设置服务启动时是否自动打开浏览器
+    //     cors: true,    //默认启用并允许任何源
+    //     //设置代理
+    //     proxy: {
+    //         '/api': {
+    //             target: 'http://114.242.31.4:6090', //请求的域名地址
+    //             changeOrigin: true, //是否允许跨域代理
+    //             secure: false,
+    //             rewrite: (path) => path.replace(/^\/api/, '') // 重定向地址
+    //         }
+    //     }
+    // },
     css: {
         preprocessorOptions: {
             scss: {