Quellcode durchsuchen

Merge pull request #118 from lin-xin/dev

解决个别issue
林鑫 vor 7 Jahren
Ursprung
Commit
81c08aadac
6 geänderte Dateien mit 65 neuen und 36 gelöschten Zeilen
  1. 13 7
      README.md
  2. 13 12
      package-lock.json
  3. 2 2
      package.json
  4. 23 9
      src/components/common/Sidebar.vue
  5. 11 5
      src/components/common/Tags.vue
  6. 3 1
      static/css/main.css

+ 13 - 7
README.md

@@ -5,7 +5,9 @@
 
 [更新日志](https://github.com/lin-xin/vue-manage-system/releases)
 
-## 捐赠
+## 赞赏
+请作者喝杯咖啡吧!
+
 ![微信扫一扫](http://blog.gdfengshuo.com/images/weixin.jpg)
 
 ## 前言 ##
@@ -28,6 +30,7 @@
 - [x] 列表拖拽排序
 - [x] 权限测试
 - [x] 404 / 403
+- [x] 三级菜单
 
 
 ## 目录结构介绍 ##
@@ -87,13 +90,12 @@
 vue.js封装sChart.js的图表组件。访问地址:[vue-schart](https://github.com/linxin/vue-schart)
 <p><a href="https://www.npmjs.com/package/vue-schart"><img src="https://img.shields.io/npm/dm/vue-schart.svg" alt="Downloads"></a></p>
 
-```JavaScript
+```html
 <template>
     <div>
-        <schart :canvasId="canvasId"
+        <schart  class="wrapper"
+				:canvasId="canvasId"
 				:type="type"
-				:width="width"
-				:height="height"
 				:data="data"
 				:options="options"
 		></schart>
@@ -107,8 +109,6 @@ vue.js封装sChart.js的图表组件。访问地址:[vue-schart](https://githu
             return {
                 canvasId: 'myCanvas',       // canvas的id
                 type: 'bar',                // 图表类型
-                width: 500,
-                height: 400,
                 data: [
                     {name: '2014', value: 1342},
                     {name: '2015', value: 2123},
@@ -125,6 +125,12 @@ vue.js封装sChart.js的图表组件。访问地址:[vue-schart](https://githu
         }
     }
 </script>
+<style>
+.wrapper{
+	width: 7rem;
+	height: 5rem;
+}
+</style>
 ```
 
 ### element-ui ###

+ 13 - 12
package-lock.json

@@ -250,9 +250,9 @@
       "dev": true
     },
     "async-validator": {
-      "version": "1.8.4",
-      "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.4.tgz",
-      "integrity": "sha512-9M6Q6Q3iqFKSdyhliLG8gUH9E73p/TQU1XNH/qiybX5eFIgwB++IIZ/wcPM1f+x9WeqemxGkm0CCx69Mkx3EEg==",
+      "version": "1.8.5",
+      "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz",
+      "integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==",
       "requires": {
         "babel-runtime": "6.26.0"
       }
@@ -2739,14 +2739,15 @@
       "dev": true
     },
     "element-ui": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.3.3.tgz",
-      "integrity": "sha512-0Xa0GlwR57+6XBQlHkzutgIgiupAM2O9XNI7y6A1vdDhKmvZM8IBSqrqb9gQ5+onKuQ5afh69vkX2eeumFF5rA==",
+      "version": "2.4.5",
+      "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.4.5.tgz",
+      "integrity": "sha512-gl1awKncY8HISSh9dmX+VR597T/JoLypanlnheiXPAMRlnBfuYncrrog5ep8qYmhAsss2tQ5KB3zNJV2wu3+XA==",
       "requires": {
-        "async-validator": "1.8.4",
+        "async-validator": "1.8.5",
         "babel-helper-vue-jsx-merge-props": "2.0.3",
         "deepmerge": "1.5.2",
         "normalize-wheel": "1.0.1",
+        "resize-observer-polyfill": "1.5.0",
         "throttle-debounce": "1.1.0"
       }
     },
@@ -5540,11 +5541,6 @@
         "brorand": "1.1.0"
       }
     },
-    "mime": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
-      "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
-    },
     "mime-db": {
       "version": "1.35.0",
       "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz",
@@ -8913,6 +8909,11 @@
       "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
       "dev": true
     },
+    "resize-observer-polyfill": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.0.tgz",
+      "integrity": "sha512-M2AelyJDVR/oLnToJLtuDJRBBWUGUvvGigj1411hXhAdyFWqMaqHp7TixW3FpiLuVaikIcR1QL+zqoJoZlOgpg=="
+    },
     "resolve": {
       "version": "1.8.1",
       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",

+ 2 - 2
package.json

@@ -1,6 +1,6 @@
 {
   "name": "vue-manage-system",
-  "version": "3.1.0",
+  "version": "3.1.1",
   "description": "基于Vue.js 2.x系列 + element-ui 内容管理系统解决方案",
   "author": "lin-xin <2981207131@qq.com>",
   "private": true,
@@ -12,7 +12,7 @@
   "dependencies": {
     "axios": "^0.15.3",
     "babel-polyfill": "^6.23.0",
-    "element-ui": "2.3.3",
+    "element-ui": "^2.4.5",
     "mavon-editor": "^2.5.4",
     "vue": "^2.5.16",
     "vue-cropperjs": "^2.2.0",

+ 23 - 9
src/components/common/Sidebar.vue

@@ -8,9 +8,17 @@
                         <template slot="title">
                             <i :class="item.icon"></i><span slot="title">{{ item.title }}</span>
                         </template>
-                        <el-menu-item v-for="(subItem,i) in item.subs" :key="i" :index="subItem.index">
-                            {{ subItem.title }}
-                        </el-menu-item>
+                        <template v-for="subItem in item.subs">
+                            <el-submenu v-if="subItem.subs" :index="subItem.index" :key="subItem.index">
+                                <template slot="title">{{ subItem.title }}</template>
+                                <el-menu-item v-for="(threeItem,i) in subItem.subs" :key="i" :index="threeItem.index">
+                                    {{ threeItem.title }}
+                                </el-menu-item>
+                            </el-submenu>
+                            <el-menu-item v-else :index="subItem.index" :key="subItem.index">
+                                {{ subItem.title }}
+                            </el-menu-item>
+                        </template>
                     </el-submenu>
                 </template>
                 <template v-else>
@@ -55,12 +63,18 @@
                                 title: '基本表单'
                             },
                             {
-                                index: 'editor',
-                                title: '富文本编辑器'
-                            },
-                            {
-                                index: 'markdown',
-                                title: 'markdown编辑器'
+                                index: '3-2',
+                                title: '编辑器',
+                                subs: [
+                                    {
+                                        index: 'editor',
+                                        title: '富文本编辑器'
+                                    },
+                                    {
+                                        index: 'markdown',
+                                        title: 'markdown编辑器'
+                                    },
+                                ]
                             },
                             {
                                 index: 'upload',

+ 11 - 5
src/components/common/Tags.vue

@@ -61,11 +61,16 @@
                 const isExist = this.tagsList.some(item => {
                     return item.path === route.fullPath;
                 })
-                !isExist && this.tagsList.push({
-                    title: route.meta.title,
-                    path: route.fullPath,
-                    name: route.matched[1].components.default.name
-                })
+                if(!isExist){
+                    if(this.tagsList.length >= 8){
+                        this.tagsList.shift();
+                    }
+                    this.tagsList.push({
+                        title: route.meta.title,
+                        path: route.fullPath,
+                        name: route.matched[1].components.default.name
+                    })
+                }
                 bus.$emit('tags', this.tagsList);
             },
             handleTags(command){
@@ -97,6 +102,7 @@
         overflow: hidden;
         background: #fff;
         padding-right: 120px;
+        box-shadow: 0 5px 10px #ddd;
     }
 
     .tags ul {

+ 3 - 1
static/css/main.css

@@ -26,7 +26,6 @@ a {
     right: 0;
     top: 70px;
     bottom: 0;
-    overflow-y: scroll;
     -webkit-transition: left .3s ease-in-out;
     transition: left .3s ease-in-out;
     background: #f0f0f0;
@@ -34,7 +33,10 @@ a {
 
 .content {
     width: auto;
+    height: 100%;
     padding: 40px;
+    overflow-y: scroll;
+    box-sizing: border-box;
 }
 
 .content-collapse {