tudc 4 years ago
parent
commit
506f1aa9e1

+ 4 - 0
front-vue/src/permission.js

@@ -37,6 +37,10 @@ router.beforeEach((to, from, next) => {
             // 测试 默认静态页面
             // store.dispatch('permission/generateRoutes', { roles }).then(accessRoutes => {
               // 根据roles权限生成可访问的路由表
+              if (accessRoutes.length == 0) {
+                Message.error("用户数据异常!")
+                return;
+              }
               router.addRoutes(accessRoutes) // 动态添加可访问路由表
               next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
             })

+ 7 - 3
front-vue/src/store/modules/permission.js

@@ -21,9 +21,13 @@ const permission = {
         // 向后端请求路由数据
         getRouters().then(res => {
           const accessedRoutes = filterAsyncRouter(res.data)
-          accessedRoutes.push({ path: '*', redirect: '/404', hidden: true })
-          commit('SET_ROUTES', accessedRoutes)
-          resolve(accessedRoutes)
+          if (accessedRoutes.length == 0) {
+            resolve(accessedRoutes)
+          } else {
+            accessedRoutes.push({ path: '*', redirect: '/404', hidden: true })
+            commit('SET_ROUTES', accessedRoutes)
+            resolve(accessedRoutes)
+          }
         })
       })
     }

+ 20 - 51
front-vue/src/views/system/menu/index.vue

@@ -42,7 +42,7 @@
           v-hasPermi="['system:menu:add']"
         >新增</el-button>
       </el-col>
-  
+
     </el-row>
 
     <el-table
@@ -116,8 +116,8 @@
               </el-radio-group>
             </el-form-item>
           </el-col>
-          <el-col :span="24">
-            <el-form-item v-if="form.menuType != 'F'" label="菜单图标">
+          <el-col :span="24"  v-if="form.menuType != 'F'" >
+            <el-form-item label="菜单图标">
               <el-popover
                 placement="bottom-start"
                 width="460"
@@ -148,39 +148,31 @@
               <el-input-number v-model="form.orderNum" controls-position="right" :min="0" />
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item v-if="form.menuType != 'F'" label="是否外链">
+          <el-col :span="12" v-if="form.menuType != 'F'">
+            <el-form-item label="是否外链">
               <el-radio-group v-model="form.isFrame">
                 <el-radio label="0">是</el-radio>
                 <el-radio label="1">否</el-radio>
               </el-radio-group>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item v-if="form.menuType != 'F'" label="路由地址" prop="path">
+          <el-col :span="12" v-if="form.menuType != 'F'">
+            <el-form-item label="路由地址" prop="path">
               <el-input v-model="form.path" placeholder="请输入路由地址" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item v-if="form.menuType == 'C'" label="是否审批">
-              <el-radio-group v-model="form.approval">
-                <el-radio label="1">审批</el-radio>
-                <el-radio label="0">不审批</el-radio>
-              </el-radio-group>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-if="form.menuType == 'C'">
             <el-form-item label="组件路径" prop="component">
               <el-input v-model="form.component" placeholder="请输入组件路径" />
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item v-if="form.menuType != 'M'" label="权限标识">
+          <el-col :span="12" v-if="form.menuType != 'M'">
+            <el-form-item label="权限标识">
               <el-input v-model="form.perms" placeholder="请权限标识" maxlength="50" />
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item v-if="form.menuType != 'F'" label="显示状态">
+          <el-col :span="12" v-if="form.menuType != 'F'">
+            <el-form-item label="显示状态">
               <el-radio-group v-model="form.visible">
                 <el-radio
                   v-for="dict in visibleOptions"
@@ -190,8 +182,8 @@
               </el-radio-group>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item v-if="form.menuType != 'F'" label="菜单状态">
+          <el-col :span="12" v-if="form.menuType != 'F'">
+            <el-form-item label="菜单状态">
               <el-radio-group v-model="form.status">
                 <el-radio
                   v-for="dict in statusOptions"
@@ -201,37 +193,14 @@
               </el-radio-group>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item v-if="form.menuType == 'C'" label="是否缓存">
+          <el-col :span="12" v-if="form.menuType == 'C'">
+            <el-form-item label="是否缓存">
               <el-radio-group v-model="form.isCache">
                 <el-radio label="0">缓存</el-radio>
                 <el-radio label="1">不缓存</el-radio>
               </el-radio-group>
             </el-form-item>
           </el-col>
-          <el-col :span="24">
-            <el-form-item label="app图标">
-              <el-upload
-                ref="upload"
-                class="upload-demo"
-                action=""
-                :class="{showUoload:showBtnImg,uoloadSty:noneBtnImg}"
-                :on-change="dealImgChange"
-                accept=".jpg, .jpeg, .png, .JPG, .JPEG, .PNG"
-                :http-request="httpRequest"
-                :on-preview="handlePictureCardPreview"
-                :on-remove="handleRemove"
-                multiple
-                :limit="1"
-                :on-exceed="handleExceed"
-                list-type="picture-card"
-                :file-list="fileList"
-                :auto-upload="false">
-                <el-button slot="trigger" size="small" type="primary">点击选择</el-button>
-                <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
-              </el-upload>
-            </el-form-item>
-          </el-col>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -413,7 +382,7 @@ export default {
         }else{
             this.noneBtnImg = false;
         }
-        
+
         this.open = true;
         this.title = "修改菜单";
       });
@@ -421,7 +390,7 @@ export default {
     /** 提交按钮 */
     submitForm: function() {
       this.$refs["form"].validate(valid => {
-        if (valid) { 
+        if (valid) {
           //文件不为空
           if(this.fileList[0]){
             this.form.iconUrl = this.fileList[0].url;
@@ -476,9 +445,9 @@ export default {
           this.$message({
             type: "warning",
             message: "已取消删除",
-           
+
           });
-        }); 
+        });
     },
     /** 上传图片 */
     submitUpload(){
@@ -542,4 +511,4 @@ export default {
 .uoloadSty .el-upload--picture-card{
   display:none;
 }
-</style>
+</style>