Showing
16 changed files
with
413 additions
and
30 deletions
| ... | @@ -40,9 +40,88 @@ export default new Router({ | ... | @@ -40,9 +40,88 @@ export default new Router({ |
| 40 | }, | 40 | }, |
| 41 | name: '', | 41 | name: '', |
| 42 | children: [{ | 42 | children: [{ |
| 43 | - path: '/table', | 43 | + name: '我的介绍', |
| 44 | + path: '/info', | ||
| 44 | component: r => { | 45 | component: r => { |
| 45 | - require(['./views/test'], r) | 46 | + require(['./views/maintain/me/info'], r) |
| 47 | + } | ||
| 48 | + }, { | ||
| 49 | + name: '课程管理', | ||
| 50 | + path: '/class', | ||
| 51 | + component: r => { | ||
| 52 | + require(['./views/maintain/class'], r) | ||
| 53 | + } | ||
| 54 | + }, { | ||
| 55 | + name: '视频管理', | ||
| 56 | + path: '/video', | ||
| 57 | + component: r => { | ||
| 58 | + require(['./views/maintain/video'], r) | ||
| 59 | + } | ||
| 60 | + }, { | ||
| 61 | + name: '课程标签管理', | ||
| 62 | + path: '/course_tag', | ||
| 63 | + component: r => { | ||
| 64 | + require(['./views/maintain/tag/course_tag'], r) | ||
| 65 | + } | ||
| 66 | + }, { | ||
| 67 | + name: '教师标签管理', | ||
| 68 | + path: '/teacher_tag', | ||
| 69 | + component: r => { | ||
| 70 | + require(['./views/maintain/tag/teacher_tag'], r) | ||
| 71 | + } | ||
| 72 | + }, { | ||
| 73 | + name: '我的账户', | ||
| 74 | + path: '/account', | ||
| 75 | + component: r => { | ||
| 76 | + require(['./views/maintain/me/account'], r) | ||
| 77 | + } | ||
| 78 | + }, { | ||
| 79 | + name: '关注我的', | ||
| 80 | + path: '/attention', | ||
| 81 | + component: r => { | ||
| 82 | + require(['./views/maintain/me/attention'], r) | ||
| 83 | + } | ||
| 84 | + }, { | ||
| 85 | + name: '我的联系信息', | ||
| 86 | + path: '/contact', | ||
| 87 | + component: r => { | ||
| 88 | + require(['./views/maintain/me/contact'], r) | ||
| 89 | + } | ||
| 90 | + }, { | ||
| 91 | + name: '权限管理', | ||
| 92 | + path: '/auth', | ||
| 93 | + component: r => { | ||
| 94 | + require(['./views/maintain/auth'], r) | ||
| 95 | + } | ||
| 96 | + }, { | ||
| 97 | + name: '系统参数管理', | ||
| 98 | + path: '/parameter', | ||
| 99 | + component: r => { | ||
| 100 | + require(['./views/maintain/parameter'], r) | ||
| 101 | + } | ||
| 102 | + }, { | ||
| 103 | + name: '讲师管理', | ||
| 104 | + path: '/teacher', | ||
| 105 | + component: r => { | ||
| 106 | + require(['./views/maintain/teacher'], r) | ||
| 107 | + } | ||
| 108 | + }, { | ||
| 109 | + name: '培训机构管理', | ||
| 110 | + path: '/organization', | ||
| 111 | + component: r => { | ||
| 112 | + require(['./views/maintain/organization'], r) | ||
| 113 | + } | ||
| 114 | + }, { | ||
| 115 | + name: '订单管理', | ||
| 116 | + path: '/order', | ||
| 117 | + component: r => { | ||
| 118 | + require(['./views/maintain/order'], r) | ||
| 119 | + } | ||
| 120 | + }, { | ||
| 121 | + name: '第三方接口管理', | ||
| 122 | + path: '/api', | ||
| 123 | + component: r => { | ||
| 124 | + require(['./views/maintain/api'], r) | ||
| 46 | } | 125 | } |
| 47 | }] | 126 | }] |
| 48 | } | 127 | } | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div id="app"> | 2 | <div id="app"> |
| 3 | <mu-drawer :open.sync="side_show" :docked="docked" :right="position === 'right'" :z-depth="1"> | 3 | <mu-drawer :open.sync="side_show" :docked="docked" :right="position === 'right'" :z-depth="1"> |
| 4 | - <mu-list :value="default_list_index" @change="listChange"> | 4 | + <mu-list :value="default_list_title" @change="listChange" toggle-nested> |
| 5 | - <mu-list-item :value="k" v-for="(v, k) in side_menu" :key="k" :to="v.url" @click="goTo()" button active-class="is-selected"> | 5 | + <div v-for="(v, k) in side_menu" :key="k" > |
| 6 | - <mu-list-item-title>{{ v.title }}</mu-list-item-title> | 6 | + <mu-list-item v-if="v.sub.length" |
| 7 | - </mu-list-item> | 7 | + button :ripple="false" nested :open="open === v.title" @toggle-nested="toggleChage"> |
| 8 | - </mu-list> | 8 | + <mu-list-item-action> |
| 9 | - <mu-list :value="default_list_index" @change="listChange" toggle-nested> | 9 | + <mu-icon value="list"></mu-icon> |
| 10 | - <mu-list-item button :ripple="false" nested :open="open === 'send'" @toggle-nested="open = arguments[0] ? 'send' : ''"> | 10 | + </mu-list-item-action> |
| 11 | - <mu-list-item-action> | 11 | + <mu-list-item-title>{{ v.title }}</mu-list-item-title> |
| 12 | - <mu-icon value="send"></mu-icon> | 12 | + <mu-list-item-action> |
| 13 | - </mu-list-item-action> | 13 | + <mu-icon class="toggle-icon" size="24" value="keyboard_arrow_down"></mu-icon> |
| 14 | - <mu-list-item-title>展开项</mu-list-item-title> | 14 | + </mu-list-item-action> |
| 15 | - <mu-list-item-action> | 15 | + <mu-list-item button :ripple="false" slot="nested" :value="x.title" v-for="(x, key) in v.sub" :key="key" :to="x.url" @click="goTo()" active-class="is-selected"> |
| 16 | - <mu-icon class="toggle-icon" size="24" value="keyboard_arrow_down"></mu-icon> | 16 | + <mu-list-item-title>{{ x.title }}</mu-list-item-title> |
| 17 | - </mu-list-item-action> | 17 | + </mu-list-item> |
| 18 | - <mu-list-item button :ripple="false" slot="nested" :value="k" v-for="(v, k) in side_menu" :key="k" :to="v.url" @click="goTo()" active-class="is-selected"> | 18 | + </mu-list-item> |
| 19 | + <mu-list-item v-else :value="v.title" :to="v.url" @click="goTo()" button active-class="is-selected"> | ||
| 20 | + <mu-list-item-action> | ||
| 21 | + <mu-icon value="menu"></mu-icon> | ||
| 22 | + </mu-list-item-action> | ||
| 19 | <mu-list-item-title>{{ v.title }}</mu-list-item-title> | 23 | <mu-list-item-title>{{ v.title }}</mu-list-item-title> |
| 20 | </mu-list-item> | 24 | </mu-list-item> |
| 21 | - </mu-list-item> | 25 | + </div> |
| 22 | </mu-list> | 26 | </mu-list> |
| 23 | </mu-drawer> | 27 | </mu-drawer> |
| 24 | <mu-appbar :class="['mu-appbar-header', {'is-open': side_show}]" color="primary"> | 28 | <mu-appbar :class="['mu-appbar-header', {'is-open': side_show}]" color="primary"> |
| ... | @@ -26,7 +30,7 @@ | ... | @@ -26,7 +30,7 @@ |
| 26 | <mu-icon value="menu"></mu-icon> | 30 | <mu-icon value="menu"></mu-icon> |
| 27 | </mu-button> | 31 | </mu-button> |
| 28 | <p style="text-align: left;">讲师管理系统</p> | 32 | <p style="text-align: left;">讲师管理系统</p> |
| 29 | - <!-- <mu-button flat slot="right">登录</mu-button> --> | 33 | + <mu-button flat slot="right">登录</mu-button> |
| 30 | <mu-menu slot="right" :open.sync="menu_open"> | 34 | <mu-menu slot="right" :open.sync="menu_open"> |
| 31 | <mu-button flat> | 35 | <mu-button flat> |
| 32 | <mu-avatar :size="25" color="#FFFFFF"> | 36 | <mu-avatar :size="25" color="#FFFFFF"> |
| ... | @@ -35,6 +39,11 @@ | ... | @@ -35,6 +39,11 @@ |
| 35 | <p v-if="side_show" style="margin-left: 10px;">牛讲师</p> | 39 | <p v-if="side_show" style="margin-left: 10px;">牛讲师</p> |
| 36 | </mu-button> | 40 | </mu-button> |
| 37 | <mu-list slot="content"> | 41 | <mu-list slot="content"> |
| 42 | + <mu-list-item button @click="menuClick('register')"> | ||
| 43 | + <mu-list-item-content> | ||
| 44 | + <mu-list-item-title>注册</mu-list-item-title> | ||
| 45 | + </mu-list-item-content> | ||
| 46 | + </mu-list-item> | ||
| 38 | <mu-list-item button @click="menuClick('404')"> | 47 | <mu-list-item button @click="menuClick('404')"> |
| 39 | <mu-list-item-content> | 48 | <mu-list-item-content> |
| 40 | <mu-list-item-title>404</mu-list-item-title> | 49 | <mu-list-item-title>404</mu-list-item-title> |
| ... | @@ -54,8 +63,11 @@ | ... | @@ -54,8 +63,11 @@ |
| 54 | </mu-menu> | 63 | </mu-menu> |
| 55 | </mu-appbar> | 64 | </mu-appbar> |
| 56 | <div :class="['main-contain', {'is-open': side_show}]"> | 65 | <div :class="['main-contain', {'is-open': side_show}]"> |
| 57 | - <div style="text-align: left; margin-left: 20px; margin-bottom: 20px;"> | 66 | + <div v-if="default_list_title !== '首页'" style="text-align: left; margin-left: 20px; margin-bottom: 20px;"> |
| 58 | - {{side_menu[default_list_index]['title']}} | 67 | + {{default_list_title}} |
| 68 | + </div> | ||
| 69 | + <div v-if="default_list_title === '首页'" style="background-color: #FFFFFF;"> | ||
| 70 | + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | ||
| 59 | </div> | 71 | </div> |
| 60 | <router-view/> | 72 | <router-view/> |
| 61 | </div> | 73 | </div> |
| ... | @@ -78,28 +90,98 @@ export default { | ... | @@ -78,28 +90,98 @@ export default { |
| 78 | this.resize($('body').width()); | 90 | this.resize($('body').width()); |
| 79 | }); | 91 | }); |
| 80 | // 默认选中 | 92 | // 默认选中 |
| 81 | - this.default_list_index = localStorage.getItem('default_list_index') ? +localStorage.getItem('default_list_index') : 0; | 93 | + this.default_list_title = localStorage.getItem('default_list_title') ? localStorage.getItem('default_list_title') : '首页'; |
| 94 | + this.open = localStorage.getItem('default_open_menu') ? localStorage.getItem('default_open_menu') : ''; | ||
| 82 | // | 95 | // |
| 83 | $('body').css('background', '#FAFAFA') | 96 | $('body').css('background', '#FAFAFA') |
| 84 | }, | 97 | }, |
| 85 | data () { | 98 | data () { |
| 86 | return { | 99 | return { |
| 87 | - default_list_index: 0, | 100 | + default_list_title: '首页', |
| 88 | menu_open: false, | 101 | menu_open: false, |
| 89 | side_show: false, | 102 | side_show: false, |
| 90 | screen_width: '', | 103 | screen_width: '', |
| 91 | docked: false, | 104 | docked: false, |
| 92 | position: 'left', | 105 | position: 'left', |
| 93 | side_menu: [{ | 106 | side_menu: [{ |
| 94 | - title: '课程管理', | 107 | + title: '首页', |
| 95 | - auth: '', | 108 | + auth: ['C', 'S'], |
| 109 | + sub: [], | ||
| 96 | url: '/' | 110 | url: '/' |
| 97 | }, { | 111 | }, { |
| 112 | + title: '我的管理', | ||
| 113 | + auth: ['C', 'S'], | ||
| 114 | + sub: [{ | ||
| 115 | + title: '我的介绍', | ||
| 116 | + auth: ['C', 'S'], | ||
| 117 | + url: '/info' | ||
| 118 | + }, { | ||
| 119 | + title: '我的账户', | ||
| 120 | + auth: ['C'], | ||
| 121 | + url: '/account' | ||
| 122 | + }, { | ||
| 123 | + title: '关注我的', | ||
| 124 | + auth: ['C'], | ||
| 125 | + url: '/attention' | ||
| 126 | + }, { | ||
| 127 | + title: '联系信息', | ||
| 128 | + auth: ['S'], | ||
| 129 | + url: '/contact' | ||
| 130 | + }] | ||
| 131 | + }, { | ||
| 132 | + title: '课程管理', | ||
| 133 | + auth: ['C', 'P'], | ||
| 134 | + sub: [], | ||
| 135 | + url: '/class' | ||
| 136 | + }, { | ||
| 137 | + title: '视频管理', | ||
| 138 | + auth: ['C'], | ||
| 139 | + sub: [], | ||
| 140 | + url: '/video' | ||
| 141 | + }, { | ||
| 98 | title: '讲师管理', | 142 | title: '讲师管理', |
| 99 | - auth: '', | 143 | + auth: ['P'], |
| 100 | - url: '/table' | 144 | + sub: [], |
| 145 | + url: '/teacher' | ||
| 146 | + }, { | ||
| 147 | + title: '标签管理', | ||
| 148 | + auth: ['C'], | ||
| 149 | + sub: [{ | ||
| 150 | + title: '讲师标签', | ||
| 151 | + auth: ['C'], | ||
| 152 | + url: '/teacher_tag' | ||
| 153 | + }, { | ||
| 154 | + title: '课程标签', | ||
| 155 | + auth: ['C'], | ||
| 156 | + url: '/course_tag' | ||
| 157 | + }] | ||
| 158 | + }, { | ||
| 159 | + title: '权限管理', | ||
| 160 | + auth: ['P'], | ||
| 161 | + sub: [], | ||
| 162 | + url: '/auth' | ||
| 163 | + }, { | ||
| 164 | + title: '系统参数管理', | ||
| 165 | + auth: ['P'], | ||
| 166 | + sub: [], | ||
| 167 | + url: '/parameter' | ||
| 168 | + }, { | ||
| 169 | + title: '培训机构管理', | ||
| 170 | + auth: ['P'], | ||
| 171 | + sub: [], | ||
| 172 | + url: '/organization' | ||
| 173 | + }, { | ||
| 174 | + title: '订单管理', | ||
| 175 | + auth: ['P'], | ||
| 176 | + sub: [], | ||
| 177 | + url: '/order' | ||
| 178 | + }, { | ||
| 179 | + title: '第三方接口管理', | ||
| 180 | + auth: ['P'], | ||
| 181 | + sub: [], | ||
| 182 | + url: '/api' | ||
| 101 | }], | 183 | }], |
| 102 | - open: 'send' | 184 | + open: '' |
| 103 | } | 185 | } |
| 104 | }, | 186 | }, |
| 105 | methods: { | 187 | methods: { |
| ... | @@ -118,14 +200,29 @@ export default { | ... | @@ -118,14 +200,29 @@ export default { |
| 118 | this.side_show = false; | 200 | this.side_show = false; |
| 119 | $(window).resize() | 201 | $(window).resize() |
| 120 | }, | 202 | }, |
| 203 | + toggleChage (v) { | ||
| 204 | + // console.warn(v); | ||
| 205 | + // if (v) { | ||
| 206 | + // localStorage.setItem('default_open_menu', this.open) | ||
| 207 | + // } | ||
| 208 | + }, | ||
| 121 | goTo (v) { | 209 | goTo (v) { |
| 122 | this.resize($('body').width()); | 210 | this.resize($('body').width()); |
| 123 | }, | 211 | }, |
| 124 | listChange (v) { | 212 | listChange (v) { |
| 125 | // | 213 | // |
| 126 | if (!_.isUndefined(v)) { | 214 | if (!_.isUndefined(v)) { |
| 127 | - this.default_list_index = v; | 215 | + this.default_list_title = v; |
| 128 | - localStorage.setItem('default_list_index', v) | 216 | + localStorage.setItem('default_list_title', v); |
| 217 | + // 默认打开菜单栏名称 | ||
| 218 | + _.each(this.side_menu, x => { | ||
| 219 | + _.each(x.sub, y => { | ||
| 220 | + if (y.title === v) { | ||
| 221 | + this.open = x.title | ||
| 222 | + localStorage.setItem('default_open_menu', x.title) | ||
| 223 | + } | ||
| 224 | + }) | ||
| 225 | + }) | ||
| 129 | } | 226 | } |
| 130 | }, | 227 | }, |
| 131 | menuClick (v) { | 228 | menuClick (v) { | ... | ... |
src/views/maintain/api.vue
0 → 100644
src/views/maintain/auth.vue
0 → 100644
src/views/maintain/class.vue
0 → 100644
src/views/maintain/me/account.vue
0 → 100644
src/views/maintain/me/attention.vue
0 → 100644
src/views/maintain/me/contact.vue
0 → 100644
src/views/maintain/me/info.vue
0 → 100644
src/views/maintain/order.vue
0 → 100644
src/views/maintain/organization.vue
0 → 100644
src/views/maintain/parameter.vue
0 → 100644
src/views/maintain/tag/course_tag.vue
0 → 100644
src/views/maintain/tag/teacher_tag.vue
0 → 100644
src/views/maintain/teacher.vue
0 → 100644
-
Please register or login to post a comment