Browse Source

权限修改

mo 3 years ago
parent
commit
39c92c786b
100 changed files with 591 additions and 223 deletions
  1. 0 0
      dist/index.html
  2. 1 0
      dist/static/css/chunk-1ca30b97.3194f810.css
  3. 0 0
      dist/static/css/chunk-41d99762.c0ba88e3.css
  4. 1 0
      dist/static/css/chunk-df9f4870.d71b0954.css
  5. 0 0
      dist/static/js/app.c4497381.js
  6. 0 0
      dist/static/js/chunk-013e72b3.cfd2df50.js
  7. 0 0
      dist/static/js/chunk-07bcf2e6.779e8be0.js
  8. 0 0
      dist/static/js/chunk-0af06729.7a61da0b.js
  9. 0 0
      dist/static/js/chunk-0e668819.3933ad21.js
  10. 0 0
      dist/static/js/chunk-13af5276.651f44f9.js
  11. 0 0
      dist/static/js/chunk-13bd442f.b9598489.js
  12. 0 0
      dist/static/js/chunk-13f8e716.ac8a5048.js
  13. 0 0
      dist/static/js/chunk-1554f5f4.8348cbd0.js
  14. 0 0
      dist/static/js/chunk-15770507.c8679faa.js
  15. 0 0
      dist/static/js/chunk-17b879c2.8fe90e90.js
  16. 0 0
      dist/static/js/chunk-18013662.8c68f0c1.js
  17. 0 0
      dist/static/js/chunk-18bbf854.18bfa70b.js
  18. 0 0
      dist/static/js/chunk-196dc8ee.9bace685.js
  19. 0 0
      dist/static/js/chunk-1ca30b97.4cb93d46.js
  20. 0 0
      dist/static/js/chunk-1d43077c.366a9389.js
  21. 0 0
      dist/static/js/chunk-20db936c.d6e377e3.js
  22. 0 0
      dist/static/js/chunk-2d0b9f85.6f400def.js
  23. 0 0
      dist/static/js/chunk-2d0cfb23.015e05a2.js
  24. 0 0
      dist/static/js/chunk-2da2d364.0b4bc756.js
  25. 0 0
      dist/static/js/chunk-30617446.6de43668.js
  26. 0 0
      dist/static/js/chunk-35d964c1.cc471a05.js
  27. 0 0
      dist/static/js/chunk-36548fb3.61b22c5e.js
  28. 0 0
      dist/static/js/chunk-37caa5c6.d3a93e60.js
  29. 0 0
      dist/static/js/chunk-3acfddfc.a2df73d7.js
  30. 0 0
      dist/static/js/chunk-3f7c6ea7.e641de75.js
  31. 0 0
      dist/static/js/chunk-4044fa84.9db5a81c.js
  32. 0 0
      dist/static/js/chunk-41d99762.2fb4b6fc.js
  33. 0 0
      dist/static/js/chunk-4540290a.4986ca3f.js
  34. 0 0
      dist/static/js/chunk-4a5767e5.b6f1cb48.js
  35. 0 0
      dist/static/js/chunk-4d6710e9.e999e027.js
  36. 0 0
      dist/static/js/chunk-53afcbb2.6c4ad1c5.js
  37. 0 0
      dist/static/js/chunk-573432f8.6cdfaf56.js
  38. 0 0
      dist/static/js/chunk-58b93a1a.542a2df1.js
  39. 0 0
      dist/static/js/chunk-5bcfc712.619d5aed.js
  40. 0 0
      dist/static/js/chunk-6562cc02.ea76a1b7.js
  41. 0 0
      dist/static/js/chunk-6a1562ab.3019b009.js
  42. 0 0
      dist/static/js/chunk-6e855f0c.744246c8.js
  43. 0 0
      dist/static/js/chunk-73def078.a8ad1087.js
  44. 0 0
      dist/static/js/chunk-7691df9b.3c9bcc00.js
  45. 0 0
      dist/static/js/chunk-77449cf7.3138f72e.js
  46. 0 0
      dist/static/js/chunk-7f91ee0d.c1280531.js
  47. 0 0
      dist/static/js/chunk-91193b0c.dbe2e066.js
  48. 0 0
      dist/static/js/chunk-99129380.bbd783dc.js
  49. 0 0
      dist/static/js/chunk-d07d10c4.b4c39a82.js
  50. 0 0
      dist/static/js/chunk-da63f3ae.01f73fb2.js
  51. 0 0
      dist/static/js/chunk-df9f4870.1fbde569.js
  52. 1 0
      dist/static/js/chunk-e60d0406.26dc7aca.js
  53. 0 0
      dist/static/js/chunk-e60d0406.83292ae0.js
  54. 0 0
      dist/static/js/chunk-ebf07848.06cfc72b.js
  55. 0 0
      dist/static/js/chunk-efd12eaa.e353c22b.js
  56. 0 0
      dist/static/js/chunk-f6294b9e.10456b6d.js
  57. 0 0
      dist/static/js/chunk-fb916698.91f3c3f6.js
  58. 0 0
      dist/static/js/chunk-fd1cca6c.a0113ac9.js
  59. 0 0
      dist/static/js/chunk-libs.d1613ec2.js
  60. 0 0
      dist/yuepu/assets/index-legacy.83f908ef.js
  61. 0 0
      dist/yuepu/assets/index.1adfde28.js
  62. 0 0
      dist/yuepu/assets/vendor-legacy.047522f1.js
  63. 0 0
      dist/yuepu/assets/vendor.e484ff32.js
  64. 2 2
      mock/mock-server.js
  65. 1 0
      package.json
  66. 0 0
      public/yuepu/assets/index-legacy.83f908ef.js
  67. 0 0
      public/yuepu/assets/index.1adfde28.js
  68. 0 0
      public/yuepu/assets/vendor-legacy.047522f1.js
  69. 0 0
      public/yuepu/assets/vendor.e484ff32.js
  70. 1 1
      src/components/Auth/index.vue
  71. 4 4
      src/components/Editor/index.vue
  72. 1 1
      src/components/filter-search/index.vue
  73. 1 1
      src/components/form-item/index.vue
  74. 5 5
      src/components/remote-search/index.vue
  75. 1 1
      src/components/save-form/index.vue
  76. 0 1
      src/components/select-all/index.vue
  77. 2 2
      src/components/tab-router/index.vue
  78. 2 1
      src/constant/index.js
  79. 1 1
      src/layout/components/Navbar.vue
  80. 8 6
      src/layout/components/Sidebar/SidebarItem.vue
  81. 4 4
      src/layout/components/Sidebar/SidebarMenuItem.vue
  82. 111 87
      src/layout/components/Sidebar/index.vue
  83. 5 5
      src/layout/components/TagsView.vue
  84. 2 2
      src/main.js
  85. 1 1
      src/permission.js
  86. 7 49
      src/router/index.js
  87. 393 13
      src/store/modules/permission.js
  88. 1 1
      src/utils/date.js
  89. 1 1
      src/utils/request.js
  90. 2 2
      src/views/403.vue
  91. 1 1
      src/views/accompaniment/modals/form.vue
  92. 1 1
      src/views/accompanyManager/accompanyList.vue
  93. 2 2
      src/views/accompanyManager/accompanys.vue
  94. 2 2
      src/views/adapayAccount/form.vue
  95. 3 3
      src/views/adapayAccount/index.vue
  96. 1 1
      src/views/afterSchoolManager/afterSchoolList.vue
  97. 3 3
      src/views/afterSchoolManager/afterWorkList.vue
  98. 3 3
      src/views/app/entryActivities.vue
  99. 1 1
      src/views/arrearage-students/index.vue
  100. 15 15
      src/views/buildVip/index.vue

File diff suppressed because it is too large
+ 0 - 0
dist/index.html


+ 1 - 0
dist/static/css/chunk-1ca30b97.3194f810.css

@@ -0,0 +1 @@
+.alert[data-v-142acd92]{margin:10px 0}[data-v-142acd92] .el-icon-check,[data-v-142acd92] .el-icon-close{font-size:18px;font-weight:700}[data-v-142acd92] .el-icon-close{color:red}[data-v-142acd92] .el-icon-check{color:#14928a}.title[data-v-7576dd06]{margin-bottom:20px}.amap-demo[data-v-7576dd06]{height:500px}[data-v-69ae4217] .description-title{margin:0!important}

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/chunk-41d99762.c0ba88e3.css


+ 1 - 0
dist/static/css/chunk-df9f4870.d71b0954.css

@@ -0,0 +1 @@
+.process[data-v-f049a426]{padding:10px;max-height:600px;overflow-y:auto}.dialog-footer[data-v-0dcea96b]{margin-top:20px;display:block;text-align:right}[data-v-fe6f92be] .el-button+.el-button{margin-left:0}.select[data-v-fe6f92be]{font-size:14px}.btnList[data-v-fe6f92be]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.btnList div[data-v-fe6f92be]{margin-right:15px}

File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.c4497381.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-013e72b3.cfd2df50.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-07bcf2e6.779e8be0.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-0af06729.7a61da0b.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-0e668819.3933ad21.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-13af5276.651f44f9.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-13bd442f.b9598489.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-13f8e716.ac8a5048.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-1554f5f4.8348cbd0.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-15770507.c8679faa.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-17b879c2.8fe90e90.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-18013662.8c68f0c1.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-18bbf854.18bfa70b.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-196dc8ee.9bace685.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-1ca30b97.4cb93d46.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-1d43077c.366a9389.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-20db936c.d6e377e3.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-2d0b9f85.6f400def.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-2d0cfb23.015e05a2.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-2da2d364.0b4bc756.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-30617446.6de43668.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-35d964c1.cc471a05.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-36548fb3.61b22c5e.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-37caa5c6.d3a93e60.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-3acfddfc.a2df73d7.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-3f7c6ea7.e641de75.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-4044fa84.9db5a81c.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-41d99762.2fb4b6fc.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-4540290a.4986ca3f.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-4a5767e5.b6f1cb48.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-4d6710e9.e999e027.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-53afcbb2.6c4ad1c5.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-573432f8.6cdfaf56.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-58b93a1a.542a2df1.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-5bcfc712.619d5aed.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-6562cc02.ea76a1b7.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-6a1562ab.3019b009.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-6e855f0c.744246c8.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-73def078.a8ad1087.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-7691df9b.3c9bcc00.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-77449cf7.3138f72e.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-7f91ee0d.c1280531.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-91193b0c.dbe2e066.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-99129380.bbd783dc.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-d07d10c4.b4c39a82.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-da63f3ae.01f73fb2.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-df9f4870.1fbde569.js


File diff suppressed because it is too large
+ 1 - 0
dist/static/js/chunk-e60d0406.26dc7aca.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-e60d0406.83292ae0.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-ebf07848.06cfc72b.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-efd12eaa.e353c22b.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-f6294b9e.10456b6d.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-fb916698.91f3c3f6.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-fd1cca6c.a0113ac9.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-libs.d1613ec2.js


File diff suppressed because it is too large
+ 0 - 0
dist/yuepu/assets/index-legacy.83f908ef.js


File diff suppressed because it is too large
+ 0 - 0
dist/yuepu/assets/index.1adfde28.js


File diff suppressed because it is too large
+ 0 - 0
dist/yuepu/assets/vendor-legacy.047522f1.js


File diff suppressed because it is too large
+ 0 - 0
dist/yuepu/assets/vendor.e484ff32.js


+ 2 - 2
mock/mock-server.js

@@ -59,9 +59,9 @@ module.exports = app => {
         mockRoutesLength = mockRoutes.mockRoutesLength
         mockStartIndex = mockRoutes.mockStartIndex
 
-        console.log(chalk.magentaBright(`\n > Mock Server hot reload success! changed  ${path}`))
+         (chalk.magentaBright(`\n > Mock Server hot reload success! changed  ${path}`))
       } catch (error) {
-        console.log(chalk.redBright(error))
+         (chalk.redBright(error))
       }
     }
   })

+ 1 - 0
package.json

@@ -15,6 +15,7 @@
   },
   "dependencies": {
     "@babel/plugin-proposal-optional-chaining": "^7.11.0",
+    "JSONPath": "^0.11.2",
     "axios": "0.18.1",
     "browserslist": "^4.16.4",
     "caniuse-lite": "^1.0.30001214",

File diff suppressed because it is too large
+ 0 - 0
public/yuepu/assets/index-legacy.83f908ef.js


File diff suppressed because it is too large
+ 0 - 0
public/yuepu/assets/index.1adfde28.js


File diff suppressed because it is too large
+ 0 - 0
public/yuepu/assets/vendor-legacy.047522f1.js


File diff suppressed because it is too large
+ 0 - 0
public/yuepu/assets/vendor.e484ff32.js


+ 1 - 1
src/components/Auth/index.vue

@@ -38,7 +38,7 @@
         if(!auths) { // 判断是否有权限
           return false
         }
-        // console.log(auths)
+        //  (auths)
         if(typeof auths === 'object') {
           let sum = 0
           for(const auth of auths) {

+ 4 - 4
src/components/Editor/index.vue

@@ -67,7 +67,7 @@ export default {
        this.editorData = newHtml
        this.$emit('input', newHtml)
     }
-    // console.log(editor.txt.eventHooks)
+    //  (editor.txt.eventHooks)
     // editor.txt.eventHooks.clickEvents.push(() => {
     //   return false
     // })
@@ -78,7 +78,7 @@ export default {
     editor.config.customUploadImg = async (resultFiles, insertImgFn) => {
         // resultFiles 是 input 中选中的文件列表
         // insertImgFn 是获取图片 url 后,插入到编辑器的方法
-        console.log(insertImgFn)
+         (insertImgFn)
         const file = resultFiles[0]
         const imageType = {
           "image/png": true,
@@ -128,7 +128,7 @@ export default {
   },
   watch: {
     value(newValue) {
-      console.log(newValue)
+       (newValue)
       this.editor.txt.html(newValue)
     }
   },
@@ -399,7 +399,7 @@ export default {
         };
         const isImage = imageType[file.type];
         const isLt2M = file.size / 1024 / 1024 < 2;
-        console.log(isImage, isLt2M)
+         (isImage, isLt2M)
         if (!isImage) {
           this.$message.error("只能上传图片格式!");
         }

+ 1 - 1
src/components/filter-search/index.vue

@@ -37,7 +37,7 @@ for (const key in errorType) {
   }
 }
 
-// console.log(typesByUrl)
+//  (typesByUrl)
 
 export default {
   name: 'filter-search',

+ 1 - 1
src/components/form-item/index.vue

@@ -11,7 +11,7 @@
 export default {
   name: 'form-item',
   mounted() {
-    console.log(this)
+     (this)
   }
 }
 </script>

+ 5 - 5
src/components/remote-search/index.vue

@@ -55,7 +55,7 @@ export default {
   },
   async mounted() {
     // this.getList();
-    // console.log(this.value)
+    //  (this.value)
     this.getOptions(this.value || "");
   },
   methods: {
@@ -73,7 +73,7 @@ export default {
           ? this.list
           : slice(this.list, 0, this.constant);
       this.options = uniqBy(this.options, "userId");
-      //  console.log(this.options)
+      //   (this.options)
     },
     remoteMethod(query) {
       // throttle
@@ -93,7 +93,7 @@ export default {
             if (this.multiple) {
               return flag || this.value.includes(item.userId);
             } else {
-              // console.log(query,this.value)
+              //  (query,this.value)
               return flag || item.userId == this.value;
             }
           }),
@@ -110,7 +110,7 @@ export default {
             this.options = uniqBy(this.options, "userId");
           }
         } catch (e) {
-          // console.log(e)
+          //  (e)
         }
       }
     },
@@ -118,7 +118,7 @@ export default {
       this.isFirst = false;
       this.$emit("input", val);
       this.$emit("change", val);
-      // console.log('来了',this.$refs.select.query)
+      //  ('来了',this.$refs.select.query)
       this.$nextTick((res) => {
         this.getOptions(this.$refs.select.query);
       });

+ 1 - 1
src/components/save-form/index.vue

@@ -48,7 +48,7 @@ export default {
         this.searchs.update(this.$route.path, undefined, 'bind')
       }
       this.searchs.update(this.model, undefined, 'form')
-        // console.log(  new Searchs().searchs)
+        //  (  new Searchs().searchs)
       if (this.$listeners.submit) {
         this.$listeners.submit(evt)
       }

+ 0 - 1
src/components/select-all/index.vue

@@ -46,7 +46,6 @@ export default {
   computed: {
     labelStr() {
       const { selected } = this.$refs.select;
-      console.log(selected);
       let labelStr = selected
         .map((item) => (item.label ? item.label : item.value))
         .join(",");

+ 2 - 2
src/components/tab-router/index.vue

@@ -66,11 +66,11 @@ export default {
       //   try{
 
       //       await this.$attrs['before-leave']().then(res=>{
-      //         console.log(res)
+      //          (res)
       //       })
 
       //   }catch(e){
-      //     console.log(e)
+      //      (e)
       //   }
 
 

+ 2 - 1
src/constant/index.js

@@ -262,7 +262,8 @@ export const clientType = {
 // ]
 export const downListType = {
   1:'订单列表',
-  2:'财务管理'
+  2:'财务管理',
+  3:'课表列表'
 }
 
 export const withdrawalStatus = {

+ 1 - 1
src/layout/components/Navbar.vue

@@ -199,7 +199,7 @@ export default {
     ...mapGetters(["sidebar", "avatar", "permission_routes"]),
     getTopMenuActive() {
       let route = this.$route;
-      // console.log(route, getBelongTopMenuPath(route))
+      //  (route, getBelongTopMenuPath(route))
       return getBelongTopMenuPath(route);
     }
   },

+ 8 - 6
src/layout/components/Sidebar/SidebarItem.vue

@@ -1,10 +1,10 @@
 <template>
   <div v-if="!item.hidden" v-show="menuIsShow(item)" class="menu-wrapper">
+    <!--  &&
+        !item.alwaysShow  && (!onlyOneChild.children|| onlyOneChild.children.length<=1 || onlyOneChild.noShowingChildren)-->
     <template
       v-if="
-        hasOneShowingChild(item.children, item) &&
-        (!onlyOneChild.children|| onlyOneChild.children.length<=1 || onlyOneChild.noShowingChildren) &&
-        !item.alwaysShow
+        hasOneShowingChild(item.children, item)
       "
     >
       <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)">
@@ -109,24 +109,26 @@ export default {
             activeTopMenu = meta.belongTopMenu;
         }
         //
-        // console.log(activeTopMenu, this.getActiveTopMenu)
+        //  (activeTopMenu, this.getActiveTopMenu)
         return activeTopMenu === this.getActiveTopMenu;
     },
     hasOneShowingChild(children = [], parent) {
+      let count = 0
       const showingChildren = children.filter((item) => {
         if (item.hidden) {
           return false;
         } else  {
           // Temp set(will be used if only has one showing child)
           this.onlyOneChild = item;
+          count++
           return true;
         }
       });
-
+      //  ('是否又多个子集',showingChildren)
       // When there is only one child router, the child router is displayed by default
 
       if (showingChildren.length === 1) {
-        // console.log(showingChildren[0].meta.title)
+         (showingChildren[0].meta.title)
         return true;
       }
 

+ 4 - 4
src/layout/components/Sidebar/SidebarMenuItem.vue

@@ -97,7 +97,7 @@ export default {
             // When there is only one child router, the child router is displayed by default
 
             if (showingChildren.length === 1) {
-                // console.log(showingChildren[0].meta.title)
+                //  (showingChildren[0].meta.title)
                 return true;
             }
 
@@ -125,7 +125,7 @@ export default {
                     return true;
                 }
             });
-            // console.log(showChildren)
+            //  (showChildren)
             if (showChildren.length > 0) {
                 return true;
             }
@@ -144,9 +144,9 @@ export default {
             if (isExternal(routePath)) {
                 return routePath;
             }
-            // console.log(this.resolvePath, routePath)
+            //  (this.resolvePath, routePath)
             return path.resolve(this.resolvePath, routePath);
         }
     }
 };
-</script>
+</script>

+ 111 - 87
src/layout/components/Sidebar/index.vue

@@ -1,26 +1,30 @@
 <template>
-  <div :class="{'has-logo':showLogo}">
+  <div :class="{ 'has-logo': showLogo }">
     <!-- <logo v-if="showLogo"
           :collapse="false" /> -->
     <el-scrollbar wrap-class="scrollbar-wrapper">
       <!--    -->
-      <el-menu :default-active="activeMenu"
-               :collapse='false'
-                :background-color="variables.menuBg"
-               :text-color="variables.menuText"
-               :unique-opened="true"
-               :active-text-color="variables.menuActiveText2"
-               :collapse-transition="true"
-               mode="vertical">
+      <el-menu
+        :default-active="activeMenu"
+        :collapse="false"
+        :background-color="variables.menuBg"
+        :text-color="variables.menuText"
+        :unique-opened="true"
+        :active-text-color="variables.menuActiveText2"
+        :collapse-transition="true"
+        mode="vertical"
+      >
         <template v-for="route in permission_routes">
           <template v-if="!route.hidden">
             <!-- <sidebar-item  v-for="route2 in route.children" :key="route.path + '/' + route2.path" :item="route2" :base-path="route.path" :resolve-path="route.path" :active-top-menu="getTopMenuActive" /> -->
             <!-- <sidebar-menu-item v-for="route2 in route.children" :key="route.path + '/' + route2.path" :routes="route2" :base-path="route.path" :resolve-path="route.path" :active-top-menu="getTopMenuActive"/> -->
-            <sidebar-item v-for="(route2) in route.children"
-                      :key="route2.id"
-                      :item="route2"
-                      :active-top-menu="getTopMenuActive"
-                      :base-path="route2.path" />
+            <sidebar-item
+              v-for="route2 in route.children"
+              :key="route2.id"
+              :item="route2"
+              :active-top-menu="getTopMenuActive"
+              :base-path="route2.path"
+            />
           </template>
         </template>
         <!-- <sidebar-item v-for="(route,index) in permission_routes"
@@ -33,105 +37,123 @@
 </template>
 
 <script>
-import { mapGetters } from 'vuex'
-import Logo from './Logo'
-import SidebarMenuItem from './SidebarMenuItem'
-import SidebarItem from './SidebarItem'
-import variables from '@/styles/variables.scss'
-import { getBelongTopMenuPath, getActiveSidebarMenuPath } from '@/utils/permission';
+import { mapGetters } from "vuex";
+import Logo from "./Logo";
+import SidebarMenuItem from "./SidebarMenuItem";
+import SidebarItem from "./SidebarItem";
+import variables from "@/styles/variables.scss";
+import {
+  getBelongTopMenuPath,
+  getActiveSidebarMenuPath,
+} from "@/utils/permission";
 export default {
   components: { SidebarItem, Logo, SidebarMenuItem },
   // mounted () {
   // },
   computed: {
-    ...mapGetters([
-      'sidebar',
-      'permission_routes'
-    ]),
+    ...mapGetters(["sidebar", "permission_routes"]),
     // routes () {
     //   return this.$router.options.routes
     // },
-    activeMenu () {
-      const route = this.$route
-      const { meta, path } = route
+    activeMenu() {
+      const route = this.$route;
+      const { meta, path } = route;
       // if set path, the sidebar will highlight the path you set
       // 设置高亮的位置
       if (meta.activeMenu) {
-        return meta.activeMenu
+        return meta.activeMenu;
       }
-      // console.log(meta, path)
-      return path
+      //  (meta, path)
+      return path;
     },
-    showLogo () {
-      return this.$store.state.settings.sidebarLogo
+    showLogo() {
+      return this.$store.state.settings.sidebarLogo;
     },
-    variables () {
-      return variables
+    variables() {
+      return variables;
     },
-    isCollapse () {
-      return false
+    isCollapse() {
+      return false;
     },
-    getSidebarMenuActive: function() {
+    getSidebarMenuActive: function () {
       const route = this.$route;
       return getActiveSidebarMenuPath(route);
     },
     getTopMenuActive() {
       let route = this.$route;
-      // console.log(getBelongTopMenuPath(route))
+      //  (getBelongTopMenuPath(route))
       return getBelongTopMenuPath(route);
-    }
+    },
   },
   mounted() {
-    // console.log(this.permission_routes)
-    this.menuIsShow(this.$route)
+    //  (this.permission_routes)
+    this.menuIsShow(this.$route);
   },
   watch: {
     $route() {
-      this.menuIsShow(this.$route)
-    }
+      this.menuIsShow(this.$route);
+    },
   },
   methods: {
     menuIsShow(route) {
-      let activeTopMenu
+      let activeTopMenu;
       const { meta } = route;
       if (meta.belongTopMenu) {
-          activeTopMenu = meta.belongTopMenu;
+        activeTopMenu = meta.belongTopMenu;
       }
-      let permissions = this.permission_routes || []
-      let childList = []
-      permissions.forEach(item => {
-        if(item.path == activeTopMenu) {
-          childList = item
+      let permissions = this.permission_routes || [];
+      let childList = [];
+      permissions.forEach((item) => {
+        if (item.path == activeTopMenu) {
+           ('childList',item)
+          childList = item;
         }
       });
-      let index = this.menuOperation(childList.children)
-      let status = index > 1 ? true : false
-      let routeParentName = sessionStorage.getItem('routeParentName')
+      //  (childList.children)
+      let index = this.menuOperation(childList.children);
+
+      //重写逻辑
+      let status = index > 0 ? true : false;
+      let routeParentName = sessionStorage.getItem("routeParentName");
       let params = {
-        status: status
+        status: status,
+      };
+      if (routeParentName != meta.belongTopMenu) {
+        params.isCollapse = true;
+        sessionStorage.setItem("routeParentName", meta.belongTopMenu);
       }
-      if(routeParentName != meta.belongTopMenu) {
-        params.isCollapse = true
-        sessionStorage.setItem('routeParentName', meta.belongTopMenu)
-      }
-      this.$emit('childStatus', params)
+
+      this.$emit("childStatus", params);
     },
     menuOperation(arr) {
+       (arr);
       let index = 0;
-      for(let i = 0; i < arr.length; i++) {
-        if(arr[i].hidden) {
-          continue
-        }
-        if(arr[i].children && arr[i].children.length > 0) {
-          index += this.menuOperation(arr[i].children)
-        } else {
-          index++
+      if (arr?.length > 0) {
+        for (let i = 0; i < arr.length; i++) {
+          if (arr[i].hidden) {
+            continue;
+          }
+          //  (arr[i]);
+          if (arr[i].children?.length > 0) {
+            let isChildrenList = false;
+            arr[i].children.forEach((ii) => {
+              if (!ii.hidden) {
+                isChildrenList = true;
+              }
+            });
+            if (isChildrenList) {
+              index = this.menuOperation(arr[i].children);
+            }
+          } else {
+            index++;
+          }
         }
       }
-      return index
-    }
-  }
-}
+
+      return index;
+    },
+  },
+};
 </script>
 <style lang="scss" scoped>
 .el-menu-item {
@@ -140,25 +162,26 @@ export default {
   }
 }
 
-/deep/.el-submenu__title, /deep/.el-menu-item {
+/deep/.el-submenu__title,
+/deep/.el-menu-item {
   font-size: 14px;
 }
 
 /deep/.el-menu-item.is-active {
-    font-weight: bold;
-    background-color: #EEF4F4 !important;
-    color: #14928a !important;
-    position: relative;
-    &::after{
-      position: absolute;
-      top: 0;
-      right: 0;
-      content: ' ';
-      width: 6px;
-      background-color: #14928a;
-      display: block;
-      height: 100%;
-    }
+  font-weight: bold;
+  background-color: #eef4f4 !important;
+  color: #14928a !important;
+  position: relative;
+  &::after {
+    position: absolute;
+    top: 0;
+    right: 0;
+    content: " ";
+    width: 6px;
+    background-color: #14928a;
+    display: block;
+    height: 100%;
+  }
 }
 /deep/.el-submenu .el-menu-item.is-active {
   color: #14928a !important;
@@ -166,7 +189,8 @@ export default {
 /deep/.el-menu .menu-wrapper .el-menu-item {
   color: #666666;
 }
-/deep/.el-menu-item, /deep/.el-submenu__title {
+/deep/.el-menu-item,
+/deep/.el-submenu__title {
   height: 60px !important;
   line-height: 60px !important;
 }

+ 5 - 5
src/layout/components/TagsView.vue

@@ -57,7 +57,7 @@ export default {
   inject: ["reloads"],
   computed: {
     visitedViews() {
-      // console.log(this.$store.state.tagsView.visitedViews)
+      //  (this.$store.state.tagsView.visitedViews)
       return this.$store.state.tagsView.visitedViews;
     },
   },
@@ -110,7 +110,7 @@ export default {
     syncTagViewAndSaveForm() {
       const keys = this.$store.state.tagsView.visitedViews.map(
         (item) => {
-          // console.log(item)
+          //  (item)
           return item.path}
       );
       const searchs = new Searchs();
@@ -141,7 +141,7 @@ export default {
       if (!route) {
         return false;
       }
-      // console.log(this.$route)
+      //  (this.$route)
       await this.$store.dispatch("addVisitedViews", route);
 
       this.syncTagViewAndSaveForm();
@@ -154,7 +154,7 @@ export default {
             this.$refs.scrollPane.moveToTarget(tag.$el);
             // const searchs = new Searchs();
             // const allSearch = searchs.getSearchs();
-            // console.log(allSearch)
+            //  (allSearch)
             break;
           }
         }
@@ -190,7 +190,7 @@ export default {
       this.$router.push("/");
     },
     openMenu(tag, e) {
-      // console.log(e)
+      //  (e)
       // this.visible = true;
       // this.selectedTag = tag;
       // this.left = e.clientX;

+ 2 - 2
src/main.js

@@ -66,7 +66,7 @@ class DonMessage {
 // 修改默认属性
 ElementUI.Dialog.props.closeOnClickModal.default = false;
 // ElementUI.Dialog.props.destroyOnClose.default = true;
-// console.log(ElementUI.Input)
+//  (ElementUI.Input)
 // 全局修改选择如果value与label都为数字0则清空
 const SelectValueWatch = ElementUI.Select.watch.value
 ElementUI.Select.watch.value = function (newValue, oldValue) {
@@ -90,7 +90,7 @@ document.addEventListener('mousewheel', function () {
   }
 })
 document.addEventListener('keydown', function (event) {
-  // console.log(document.activeElement,event.keyCode)
+  //  (document.activeElement,event.keyCode)
   if(event.keyCode == 13){
     setTimeout(res=>{
       document.activeElement.blur()

+ 1 - 1
src/permission.js

@@ -19,7 +19,7 @@ router.onError((error) => {
     const targetPath = router.history.pending.fullPath;
     if (isChunkLoadFailed && !isOpen) {
       isOpen = true
-      // console.log(router.app.$confirm)
+      //  (router.app.$confirm)
       // router.push({ path: "/403", query: { path: targetPath } })
       router.app.$confirm("网站有更新请点击确定刷新页面?", "更新提示", {
         confirmButtonText: "确定",

+ 7 - 49
src/router/index.js

@@ -33,49 +33,20 @@ import Layout from '@/layout'
 export const constantRoutes = [
   // {
   //   path: '/main',
+  //   name: '首页',
   //   component: Layout,
-  //   hidden: false,
-  //   children: [
-  //     {
-  //       name: '首页',
-  //       path: 'main',
-  //       component: () => import('@/views/main/index'),
-  //       hidden: false,
-  //     }
-  //   ]
-  // },
-  // {
-  //   path: '/timedtask', // 定时任务列表
-  //   component: Layout,
-  //   // component: () => import('@/views/timedTask/index'),
-  //   hidden: false,
-  //   children: [
-  //     {
-  //       name: '定时任务',
-  //       path: 'timedtask',
-  //       component: () => import('@/views/timedTask/index'),
-  //       hidden: true,
-  //       meta: {
-  //         title: '定时任务'
-  //       }
-  //     }
-  //   ]
+  //   hidden: true,
+  //   meta: {
+  //     noCache: '1',
+  //     title: '首页'
+  //   },
+  //   children:
   // },
   {
     path: '/setSilder', // 侧边栏
     component: Layout,
     hidden: true,
     children: [
-    //   {
-    //   name: '侧边栏',
-    //   path: 'setSilder',
-    //   component: () => import('@/views/setSilder/addSilder'),
-    //   hidden: true,
-    //   meta: {
-    //     noCache: '1',
-    //     title: '侧边栏'
-    //   }
-    // },
     {
       name: '提交表单',
       path: 'save-form',
@@ -109,19 +80,6 @@ export const constantRoutes = [
     component: () => import('@/views/403'),
     hidden: true
   },
-  // {
-  //   path: '/sporadicManager',
-  //   component: Layout,
-  //   hidden: false,
-  //   children: [
-  //     {
-  //       name: '零星收费',
-  //       path: 'sporadicList',
-  //       component: () => import('@/views/setSilder/addSilder'),
-  //       hidden: false,
-  //     }
-  //   ]
-  // },
   // { path: '*', redirect: '/404', hidden: true }
 ]
 // export const constantRoutes = [{

+ 393 - 13
src/store/modules/permission.js

@@ -9,11 +9,10 @@ import { getSilder } from '@/api/silder'
  * @param asyncRoutes
  * @param getMenu
  */
-function generateAsyncRouter (asyncRoutes, data) {
+function generateAsyncRouter(asyncRoutes, data) {
   if (!data) {
     return []
   }
-  // console.log(data)
   data.forEach((item) => {
     item.component = asyncRoutes[item.component]
     if (item.children && item.children.length > 0) {
@@ -50,7 +49,7 @@ const mutations = {
 function getFirstMenu(routes) {
   let firstMenu = null
   routes.forEach(item => {
-    if(item.children?.length > 0 && !item.hidden) {
+    if (item.children?.length > 0 && !item.hidden) {
       firstMenu = pathErgodic(item)
       item.redirect = firstMenu
     }
@@ -59,15 +58,27 @@ function getFirstMenu(routes) {
 }
 
 function pathErgodic(item) {
+  // console.log(item)
   let firstMenu = null
   item.children.forEach(i => {
-    if(!firstMenu && i.children?.length > 0) {
-      firstMenu = pathErgodic(i)
+    if (!firstMenu && i.children?.length > 0&&!i.hidden) {
+      let isChildrenList = false;
+      i.children.forEach(ii=>{
+        if(!ii.hidden){
+          isChildrenList = true
+        }
+      })
+      if(isChildrenList){
+        firstMenu = pathErgodic(i)
+      }else{
+        firstMenu = i.path
+      }
+
     } else {
-      if(!firstMenu && checkPathUrl(i.path)) {
+      if (!firstMenu && checkPathUrl(i.path)) {
         firstMenu = i.path
       } else {
-        if(!firstMenu && !i.hidden) {
+        if (!firstMenu && !i.hidden) {
           firstMenu = item.path + '/' + i.path
         }
       }
@@ -82,7 +93,8 @@ function checkPathUrl(path) {
 // 路由
 
 // 递归遍历数组
-function recursionRouter (arr) {
+function recursionRouter(arr) {
+  // 这里来了
   if (arr.length > 0) {
     let newArr = [];
     for (let i = 0; i < arr.length; i++) {
@@ -113,7 +125,7 @@ function recursionRouter (arr) {
 
 // 设置 belongTopMenu, 顶部菜单
 function addTopMenu(arr) {
-  if(arr.length > 0) {
+  if (arr.length > 0) {
     let newArr = [];
     for (let i = 0; i < arr.length; i++) {
       if (arr[i].type == 1) {
@@ -149,7 +161,7 @@ function setTopMenu(arr, topParentArr) {
 // 权限
 // 递归遍历数组
 let tempArr = []
-function recursionPermission (arr) {
+function recursionPermission(arr) {
   arr.map(item => {
     tempArr.push(item.memo)
     if (item.sysMenus && item.sysMenus.length > 0) {
@@ -157,21 +169,388 @@ function recursionPermission (arr) {
     }
   })
 }
+function setDetailRoute(accessedRoutes) {
+  accessedRoutes.forEach(route => {
+    console.log(route.path)
+    if (route.path == '/main') {
+      route.children = route.children.concat([
+        {
+          name: '日程安排',
+          path: 'scheduleDetail',
+          component: () => import('@/views/main/teamSchedule/scheduleDetail'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '日程安排',
+            belongTopMenu: "/main",
+            activeMenu: '/main/main'
+          }
+        },
+        {
+          name: '未在班级学员',
+          path: 'notClassStudent',
+          component: () => import('@/views/main/notClassStudent'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '未在班级学员',
+            belongTopMenu: "/main",
+            activeMenu: '/main/main'
+          }
+        },
+        //
+      ])
+    }
+    if (route.path == '/business') {
+      // import('@/views/resetTeaming/components/strudentPayInfo'),
+      route.children = route.children.concat([
+        {
+          name: '学员缴费详情',
+          path: 'strudentPayInfo',
+          component: () => import('@/views/resetTeaming/components/strudentPayInfo'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '学员缴费详情',
+            belongTopMenu: "/business",
+            activeMenu: '/teamList'
+          }
+        },
+        {
+          name: '乐团详情',
+          path: 'resetTeaming',
+          component: () => import('@/views/resetTeaming/index'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '乐团详情',
+            belongTopMenu: "/business",
+            activeMenu: '/teamList'
+          }
+        },
+        {
+          name: '新建vip',
+          path: 'buildVip',
+          component: () => import('@/views/buildVip/index'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: 'VIP/乐理课申请',
+            belongTopMenu: "/business",
+            activeMenu: '/vipManager/vipList'
+          }
+        },
+        {
+          name: 'vip修改',
+          path: 'vipReset',
+          component: () => import('@/views/vipClass/vipReset'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: 'VIP/乐理课修改',
+            belongTopMenu: "/business",
+            activeMenu: '/vipManager/vipList'
+          }
+        },
+        {
+          name: 'vip详情',
+          path: 'vipDetail',
+          component: () => import('@/views/vipClass/vipDetail'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: 'vip详情',
+            belongTopMenu: "/business",
+            activeMenu: '/vipManager/vipList'
+          }
+        },
+        {
+          name: '网管课详情',
+          path: 'accompanys',
+          component: () => import('@/views/accompanyManager/accompanys'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '网管课详情',
+            belongTopMenu: "/business",
+            activeMenu: '/vipManager/vipList'
+          }
+        },
+        {
+          name: '评价详情',
+          path: 'evaluateDetail',
+          component: () => import('@/views/evaluateManager/evaluateDetail'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '评价详情',
+            belongTopMenu: "/business",
+            activeMenu: '/commentManager'
+          }
+        },
+        {
+          name: '课外训练详情',
+          path: 'afterSchoolDetail',
+          component: () => import('@/views/afterSchoolManager/afterSchoolDetail'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: 'VIP/乐理课详情',
+            belongTopMenu: "/business",
+            activeMenu: '/afterSchoolManager'
+          }
+        },
+        {
+          name: '学员详情',
+          path: 'studentDetail',
+          component: () => import('@/views/studentManager/index'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '学员详情',
+            belongTopMenu: "/business",
+            activeMenu: '/studentManager/studentList'
+          }
+        },
+        {
+          name: '老师详情',
+          path: 'teacherDetail',
+          component: () => import('@/views/teacherManager/teacherDetail/index'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '老师详情',
+            belongTopMenu: "/business",
+            activeMenu: '/teacherManager/teacherList'
+          }
+        },
+        {
+          name: '老师修改',
+          path: 'teacherOperation',
+          component: () => import('@/views/teacherManager/teacherOperation/index'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '老师修改',
+            belongTopMenu: "/business",
+            activeMenu: '/teacherManager/teacherList'
+          }
+        },
+        {
+          name: '问答详情',
+          path: 'answer',
+          component: () => import('@/views/reaplceMusicPlayer/answerList'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '问答详情',
+            belongTopMenu: "/business",
+            activeMenu: '/otherManager/reaplceMusicPlayer'
+          }
+        },
+        // /otherManager/reaplceMusicPlayer /reaplceMusicPlayer/answer
+
+      ])
+    }
+    if (route.path == '/operateManager') {
+      route.children = route.children.concat([
+        {
+          name: '服务指标(详情)',
+          path: 'serverIndexDetail',
+          component: () => import('@/views/operateManager/serverIndexDetail'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '服务指标(详情)',
+            belongTopMenu: "/operateManager",
+            activeMenu: '/serverIndexManager/serverIndexList'
+          }
+        },
+        {
+          name: '新建活动方案',
+          path: 'vipNewActive',
+          component: () => import('@/views/categroyManager/vipNewActive'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '新建活动方案',
+            belongTopMenu: "/operateManager",
+            activeMenu: '/vipActiveManager/vipActiveList'
+          }
+        },
+        {
+          name: '添加分部活动',
+          path: 'branchActiveOperationAdd',
+          component: () => import('@/views/categroyManager/insideSetting/branchActiveOperation'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '添加分部活动',
+            belongTopMenu: "/operateManager",
+            activeMenu: '/branchActiveManager/branchActive'
+          }
+        },
+        {
+          name: '修改分部活动',
+          path: 'branchActiveOperation',
+          component: () => import('@/views/categroyManager/insideSetting/branchActiveOperation'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '修改分部活动',
+            belongTopMenu: "/operateManager",
+            activeMenu: '/branchActiveManager/branchActive'
+          }
+        },
+        {
+          name: '添加问卷',
+          path: 'questionOperations',
+          component: () => import('@/views/setQuestions/operation'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '添加问卷',
+            belongTopMenu: "/operateManager",
+            activeMenu: '/operateManager/setQuestions'
+          }
+        },
+        // /operateManager/setQuestions /questionOperation   operateManager
+      ])
+    }
+    if (route.path == '/financialManager') {
+      route.children = route.children.concat([
+        {
+          name: '经营报表详情',
+          path: 'businessStatementDetail',
+          component: () => import('@/views/businessManager/orderManager/businessStatementDetail'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '经营报表详情',
+            belongTopMenu: "/financialManager",
+            activeMenu: '/businessStatement'
+          }
+        },
+      ])
+    }
+    if (route.path == '/contentManager') {
+      route.children = route.children.concat([
+        {
+          name: '经营报表详情',
+          path: 'helpCategory',
+          component: () => import('@/views/helpCenter/helpCategory'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '经营报表详情',
+            belongTopMenu: "/contentManager",
+            activeMenu: '/contentManager/helpContent'
+          }
+        },
+        {
+          name: '添加&修改内容管理',
+          path: 'contentOperation',
+          component: () => import('@/views/contentManager/contentOperation'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '添加&修改内容管理',
+            belongTopMenu: "/contentManager",
+            activeMenu: '/contentManager/contentManager'
+          }
+        },
+      ])
+    }
+    if (route.path == '/shopManager') {
+      route.children = route.children.concat([
+        {
+          name: '进货清单',
+          path: 'purchaseLlist',
+          component: () => import('@/views/businessManager/shopManager/purchase-llist'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '进货清单',
+            belongTopMenu: "/shopManager",
+            activeMenu: '/shopManager'
+          }
+        },
+        {
+          name: '添加修改商品',
+          path: 'shopOperation',
+          component: () => import('@/views/businessManager/shopManager/shopOperation'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '添加修改商品',
+            belongTopMenu: "/shopManager",
+            activeMenu: '/shopManager'
+          }
+        },
+      ])
+    }
+    if(route.path == '/systemManager'){
+      route.children = route.children.concat([
+        {
+          name: '创建&修改汇付账号',
+          path: 'adapayOperation',
+          component: () => import('@/views/adapayAccount/form'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '创建&修改汇付账号',
+            belongTopMenu: "/systemManager",
+            activeMenu: '/sysBasics/adapayManager'
+          }
+        },
+        {
+          name: '添加&查看时间充值活动',
+          path: 'entryOperation',
+          component: () => import('@/views/app/entryOperation'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '添加&查看时间充值活动',
+            belongTopMenu: "/systemManager",
+            activeMenu: '/sysBasics/entryActivities'
+          }
+        },
+        {
+          name: '添加&修改系统权限',
+          path: 'adminOperation',
+          component: () => import('@/views/categroyManager/insideSetting/adminOperation'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '添加&修改系统权限',
+            belongTopMenu: "/systemManager",
+            activeMenu: '/parameter/adminManager'
+          }
+        },
+        // /parameter/adminManager adminOperation
+      ])
+    }
+  })
+  return accessedRoutes
+}
 const actions = {
-  generateRoutes ({ commit }) {
+  generateRoutes({ commit }) {
     return new Promise(resolve => {
       // 获取接口返回的权限菜单
       getSilder().then(res => {
         if (res.code == 200) {
           let result = addTopMenu(res.data)
           let newData = recursionRouter(result);
+
           newData = getFirstMenu(newData)
-          // console.log((newData))
+
           recursionPermission(res.data)
           let accessedRoutes
 
           // 生成异步路由表
           accessedRoutes = generateAsyncRouter(asyncRoutes, newData)
+          accessedRoutes = setDetailRoute(accessedRoutes)
+          console.log('生成出来的异步路由', accessedRoutes)
           // var result = accessedRoutes.concat({ path: '*', redirect: '/404', hidden: true })
           commit('SET_ROUTES', accessedRoutes)
           // commit('SET_PERMISSION', recursionPermission(res.data).flat(Infinity))
@@ -183,11 +562,12 @@ const actions = {
       })
     })
   },
-  removePermission ({ commit }) {
+  removePermission({ commit }) {
     window.localStorage.removeItem('permission')
     commit('SET_PERMISSION', [])
 
   }
+
 }
 
 export default {

+ 1 - 1
src/utils/date.js

@@ -85,7 +85,7 @@ export function diffTimerFormMinute (classDate, startTime, endTime) {
 
 export function addTimerFormMinute (classDate, startTime, time) {
   let endTime = dayjs(classDate + ' ' + startTime).add(time, 'minute')
-  console.log()
+   ()
   if (!dayjs(classDate + ' ' + "23:59").isBefore(endTime)) {
     return endTime.format('HH:mm')
   } else {

+ 1 - 1
src/utils/request.js

@@ -81,7 +81,7 @@ service.interceptors.request.use(
     }
     config.params = cleanDeep(config.params)
     //  params: cleanDeep(options.params),
-    // console.log(config)
+    //  (config)
     return config
   },
   error => {

+ 2 - 2
src/views/403.vue

@@ -12,7 +12,7 @@ export default {
   },
   created () {
     let query = this.$route.query
-    console.log(query.path)
+     (query.path)
     this.$confirm("页面更新请刷新页面", "提示", {
       confirmButtonText: "确定",
       cancelButtonText: "取消",
@@ -25,4 +25,4 @@ export default {
 
   }
 }
-</script>
+</script>

+ 1 - 1
src/views/accompaniment/modals/form.vue

@@ -197,7 +197,7 @@ export default {
         const res = await queryTree()
         this.tree = res.data
       } catch (error) {
-        console.log(error)
+         (error)
       }
     },
     async FeatchDetailList() {

+ 1 - 1
src/views/accompanyManager/accompanyList.vue

@@ -572,7 +572,7 @@ export default {
     let coursesStartDate = this.$helpers.dayjs(row.coursesStartDate).format('YYYY-MM-DD')
     let coursesExpireDate = this.$helpers.dayjs(row.coursesExpireDate).format('YYYY-MM-DD')
       this.$router.push({
-        path: "/accompanys",
+        path: "/business/accompanys",
         query: { id: row.id, type: row.type,coursesStartDate,coursesExpireDate },
       });
     },

+ 2 - 2
src/views/accompanyManager/accompanys.vue

@@ -993,7 +993,7 @@ export default {
       };
     },
     submitExpireDate() {
-      console.log(this.updateCourseStatus)
+       (this.updateCourseStatus)
       this.$refs.expireForm.validate((some) => {
         if (some) {
           if(this.updateCourseStatus == 1) {
@@ -1047,7 +1047,7 @@ export default {
               }
             });
           }
-          
+
         } else {
           return;
         }

+ 2 - 2
src/views/adapayAccount/form.vue

@@ -361,7 +361,7 @@ export default {
       this.form.multipartFile = null
     },
     handlePreview (file) {
-      // console.log(file);
+      //  (file);
     },
     onProvChange (value) {
       this.form.areaCode = null
@@ -433,4 +433,4 @@ export default {
   height: 178px;
   display: block;
 }
-</style>
+</style>

+ 3 - 3
src/views/adapayAccount/index.vue

@@ -286,7 +286,7 @@ export default {
         tagTitle = '修改'
       }
       this.$router.push({
-        path: '/sysBasics/adapayOperation',
+        path: '/systemManager/adapayOperation',
         query: {
           type: type,
           row: JSON.stringify(row)
@@ -323,7 +323,7 @@ export default {
       });
     },
     onBranchChange(val) {
-      console.log(val)
+       (val)
       this.calcBranchList.forEach(item => {
         if(item.value == val) {
           this.moneyForm.routeMemberId = item.hfMerNo
@@ -373,4 +373,4 @@ export default {
 };
 </script>
 <style lang='scss' scoped>
-</style>
+</style>

+ 1 - 1
src/views/afterSchoolManager/afterSchoolList.vue

@@ -277,7 +277,7 @@ export default {
     },
     lookDetail(row) {
       this.$router.push({
-        path: "/afterSchoolDetail",
+        path: "/business/afterSchoolDetail",
         query: { extracurricularExercisesId: row.id, title: row.title },
       });
     },

+ 3 - 3
src/views/afterSchoolManager/afterWorkList.vue

@@ -327,7 +327,7 @@ export default {
           this.$route.query.endTime
         ];
       }
-      // console.log(this.$route.query)
+      //  (this.$route.query)
       this.getList();
     },
     getList () {
@@ -406,7 +406,7 @@ export default {
     },
     lookDetail (row) {
       //   this.afterSchoolVisible = true;
-      //   console.log(row)
+      //    (row)
       findStudentExtraExerciseDetail({
         studentExerciseId: row.id
       }).then(res => {
@@ -419,7 +419,7 @@ export default {
             content: res.data.content,
             attachments: res.data.attachments.split(",")
           };
-          //   console.log(this.visibleForm)
+          //    (this.visibleForm)
           this.afterSchoolVisible = true;
         }
       });

+ 3 - 3
src/views/app/entryActivities.vue

@@ -157,7 +157,7 @@ export default {
         })
       } else if (type == 'create') {
         this.$router.push({
-          path: '/sysBasics/entryOperation',
+          path: '/systemManager/entryOperation',
           query: {
             type: 'create'
           }
@@ -166,7 +166,7 @@ export default {
         })
       } else if (type == 'look') {
         this.$router.push({
-          path: '/sysBasics/entryOperation',
+          path: '/systemManager/entryOperation',
           query: {
             id: row.id,
             type: 'look'
@@ -215,4 +215,4 @@ export default {
 /deep/.el-table {
   display: inline-block;
 }
-</style>
+</style>

+ 1 - 1
src/views/arrearage-students/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="m-container">
     <h2>
-      <div class="squrt"></div>欠费学员列表
+      <div class="squrt"></div>欠费学员
       <!-- <filter-search @reload="reloadSearch" :keys="['visitFlag']" :moreKeys="['organId']"/> -->
     </h2>
     <div class="m-core">

+ 15 - 15
src/views/buildVip/index.vue

@@ -998,7 +998,7 @@ export default {
     },
     // 选择活动方案
     chioseActive(val) {
-      console.log(val)
+       (val)
       this.rightForm.offlineCourse = "";
       this.rightForm.onlineCourse = "";
       // this.rightForm.onlinePrice = '';
@@ -1064,7 +1064,7 @@ export default {
                 this.hasOnline = true;
                 this.onlineSalary =
                   obj.onlineSalarySettlement.salarySettlementType;
-                // console.log('线上:' + this.onlineSalary)
+                //  ('线上:' + this.onlineSalary)
               } else {
                 this.hasOnline = false;
               }
@@ -1073,7 +1073,7 @@ export default {
                 this.hasOffline = true;
                 this.offlineSalary =
                   obj.offlineSalarySettlement.salarySettlementType;
-                // console.log('线下:' + this.offlineSalary)
+                //  ('线下:' + this.offlineSalary)
               } else {
                 this.hasOffline = false;
               }
@@ -1162,7 +1162,7 @@ export default {
           id: Date.now(),
         });
       }
-      console.log(this.lookList)
+       (this.lookList)
       // let courseType = this.maskForm.type;
       // // let week = ;this.maskForm.week
       // let startTime = this.maskForm.startTime;
@@ -1285,8 +1285,8 @@ export default {
           });
         }
       }
-      // console.log(onlineList + '----------------------------------------------------------------------------------');
-      // console.log(offlineList);
+      //  (onlineList + '----------------------------------------------------------------------------------');
+      //  (offlineList);
 
       if (online > 0 && onlineList.length <= 0) {
         this.$message.error("选择了线上课但未排线上课");
@@ -1307,7 +1307,7 @@ export default {
           onlineList[i].week - date.getDay() >= 0
             ? (num = onlineList[i].week - date.getDay())
             : (num = onlineList[i].week - date.getDay() + 7); // +差值的天数://差值的天数+7
-          // console.log(num);
+          //  (num);
           let dataStr = this.getThinkDate(date, num);
           this.timeTable.push({
             classDate: dataStr + " 00:00:00",
@@ -1326,7 +1326,7 @@ export default {
         // 加一周
       }
 
-      // console.log(date1)
+      //  (date1)
       while (offline && offline > 0) {
         // 排线下课
         for (let i in offlineList) {
@@ -1350,7 +1350,7 @@ export default {
           date1.setDate(date1.getDate() + 7);
         }
       }
-      // console.log(this.timeTable);
+      //  (this.timeTable);
 
       this.timeTable.sort((a,b)=>{
         let aStr = dayjs(dayjs(a.classDate).format('YYYY-MM-DD')+' '+a.startClassTimeStr+':00').valueOf()
@@ -1362,8 +1362,8 @@ export default {
     getThinkDate(date, num) {
       let Stamp = date;
       Stamp.setDate(date.getDate() + num); // 获取当前月数的第几天
-      // console.log(date.getMonth() + 1)
-      // console.log(Stamp.getMonth() + 1)
+      //  (date.getMonth() + 1)
+      //  (Stamp.getMonth() + 1)
       var year = Stamp.getFullYear(); //获取完整的年份(4位,1970-????)
       var month = Stamp.getMonth() + 1; //获取当前月份(0-11,0代表1月)
       var mvar = "";
@@ -1379,12 +1379,12 @@ export default {
       } else {
         dvar = day + "";
       }
-      // console.log(year + "-" + mvar + '-' + dvar);
+      //  (year + "-" + mvar + '-' + dvar);
       return year + "-" + mvar + "-" + dvar;
     },
     // 计算课酬
     computational() {
-      console.log("lai");
+       ("lai");
       this.computationalBtn = true;
       let userId = this.leftForm.teacher || null;
       let giveTeachMode = this.centerForm.radio || null;
@@ -1448,13 +1448,13 @@ export default {
       }
       // let activeCourseType;
       let flag = false;
-      // console.log(this.courseTypeList,)
+      //  (this.courseTypeList,)
       // this.courseTypeList.forEach((courseType) => {
       //   if (courseType.id == this.leftForm.courseType) {
       //     activeCourseType = courseType;
       //   }
       // });
-      // console.log(activeCourseType)
+      //  (activeCourseType)
       if (this.isMusicTheory) {
         if (
           this.leftForm.students.length > this.studentLimit ||

Some files were not shown because too many files changed in this diff