Commit 6db49bd1 authored by wangwei's avatar wangwei

菜单权限 按钮权限

parent 196c84f5
...@@ -5,12 +5,38 @@ ...@@ -5,12 +5,38 @@
</template> </template>
<script> <script>
import menu from './util/menuList'
export default { export default {
name: 'App', name: 'App',
data(){ data(){
return { return {
} }
},
mounted(){
let permission = this.$store.state.progressList;
let menuList = [];
this.$router.options.routes[0].children = [];
menu.forEach(i=>{
let p = false;
let t = [];
i.list.forEach(j=>{
let find = permission.find(x=>{return x.cover === j.cover});
if(find){
j.router.meta = {};
j.router.meta.readonly = find.readonly;
t.push(j);
this.$router.options.routes[0].children.push(j.router);
p = true;
}
});
if(p){
i.list = t;
menuList.push(i)
}
})
this.$router.addRoutes(this.$router.options.routes);//调用add
this.$store.dispatch('setMenu',menuList)
} }
} }
</script> </script>
......
...@@ -7,20 +7,20 @@ ...@@ -7,20 +7,20 @@
<el-card class="box-card"> <el-card class="box-card">
<div slot="header"> <div slot="header">
<span>盒子类型</span> <span>盒子类型</span>
<el-button style="float: right; padding: 3px 0;" @click="onAddType" type="text">新增类型</el-button> <el-button style="float: right; padding: 3px 0;" @click="onAddType" type="text" v-if="!$store.state.readonly">新增类型</el-button>
</div> </div>
<el-card v-for="o in list" shadow="hover" :key="o.id" :class="{text:true,'now-card':o.id === nowId}"> <el-card v-for="o in list" shadow="hover" :key="o.id" :class="{text:true,'now-card':o.id === nowId}">
<div class="name" @click="changeCateGory(o.id)"> <div class="name" @click="changeCateGory(o.id)">
{{o.name}} {{o.name}}
</div> </div>
<div class="btn-block"> <div class="btn-block">
<el-button type="primary" icon="el-icon-search" circle plain size="mini"></el-button> <el-button type="primary" icon="el-icon-search" circle plain size="mini" v-if="!$store.state.readonly"></el-button>
<el-button type="warning" icon="el-icon-edit" circle plain size="mini"></el-button> <el-button type="warning" icon="el-icon-edit" circle plain size="mini" v-if="!$store.state.readonly"></el-button>
<el-button type="danger" icon="el-icon-delete" circle plain size="mini"></el-button> <el-button type="danger" icon="el-icon-delete" circle plain size="mini" v-if="!$store.state.readonly"></el-button>
</div> </div>
</el-card> </el-card>
</el-card> </el-card>
<el-dialog title="新增盒子" :visible.sync="dialogVisible" :modal="false"> <el-dialog title="新增盒子" :visible.sync="dialogVisible" :modal="false" v-if="!$store.state.readonly">
<el-form label-width="100px"> <el-form label-width="100px">
<el-form-item label="名称"> <el-form-item label="名称">
<el-input v-model="form.name"></el-input> <el-input v-model="form.name"></el-input>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="box-index"> <div class="box-index">
<box-type-list @changeCategoryId="changeCategoryId"/> <box-type-list @changeCategoryId="changeCategoryId"/>
<div class="add-block"> <div class="add-block">
<el-button class="add-btn" type="success" @click="onAdd()">+新增盒子</el-button> <el-button class="add-btn" type="success" @click="onAdd()" v-if="!$store.state.readonly">+新增盒子</el-button>
</div> </div>
<el-row> <el-row>
<el-col :span="5" v-for="(data, index) in list" :key="index" class="card-col"> <el-col :span="5" v-for="(data, index) in list" :key="index" class="card-col">
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
<el-tag size="mini">level{{data.min_level}}-level{{data.max_level}}</el-tag> <el-tag size="mini">level{{data.min_level}}-level{{data.max_level}}</el-tag>
<el-tag type="success" size="mini">{{data.min_age}}-{{data.max_age}}</el-tag> <el-tag type="success" size="mini">{{data.min_age}}-{{data.max_age}}</el-tag>
<div class="btn-block"> <div class="btn-block">
<el-button type="warning" icon="el-icon-edit" circle plain size="mini" @click="onEdit(data.id)"></el-button> <el-button type="warning" icon="el-icon-edit" circle plain size="mini" v-if="!$store.state.readonly" @click="onEdit(data.id)"></el-button>
<el-button type="danger" icon="el-icon-delete" circle plain size="mini" @click="delBox(data.id)"></el-button> <el-button type="danger" icon="el-icon-delete" circle plain size="mini" v-if="!$store.state.readonly" @click="delBox(data.id)"></el-button>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item style="float: right"> <el-form-item style="float: right">
<el-button @click="onAdd" type="success">+添加班级</el-button> <el-button @click="onAdd" type="success" v-if="!$store.state.readonly">+添加班级</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
...@@ -70,8 +70,8 @@ ...@@ -70,8 +70,8 @@
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="showUser(scope.row)" size="mini" type="primary">班级成员</el-button> <el-button @click="showUser(scope.row)" size="mini" type="primary">班级成员</el-button>
<el-button @click="editClass(scope.row)" size="mini" type="warning">编辑</el-button> <el-button @click="editClass(scope.row)" size="mini" v-if="!$store.state.readonly" type="warning">编辑</el-button>
<el-button @click="delClass(scope.row)" size="mini" type="danger">删除</el-button> <el-button @click="delClass(scope.row)" size="mini" v-if="!$store.state.readonly" type="danger">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div> <div>
<el-form label-width="90px" inline> <el-form label-width="90px" inline>
<el-form-item style="float: right"> <el-form-item style="float: right">
<el-button type="success" @click="addShow = true">+添加用户</el-button> <el-button type="success" @click="addShow = true" v-if="!$store.state.readonly">+添加用户</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
{{ scope.row.is_view_course | isOrNot}} {{ scope.row.is_view_course | isOrNot}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column label="操作" v-if="!$store.state.readonly">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="warning" size="mini" @click="changeUser(scope.row)">更改看课权限</el-button> <el-button type="warning" size="mini" @click="changeUser(scope.row)">更改看课权限</el-button>
<el-button type="danger" size="mini" @click="onDel(scope.row)">删除</el-button> <el-button type="danger" size="mini" @click="onDel(scope.row)">删除</el-button>
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
cookie.delete('cc_token'); cookie.delete('cc_token');
this.$store.dispatch('setToken',''); this.$store.dispatch('setToken','');
this.$store.dispatch('setUserName',''); this.$store.dispatch('setUserName','');
this.$router.push({name:'login'}) window.location.href = '/#/login'
}) })
}).catch(() => { }).catch(() => {
......
...@@ -52,9 +52,11 @@ ...@@ -52,9 +52,11 @@
margin: 0; margin: 0;
padding: 0; padding: 0;
background: #f8f8f8; background: #f8f8f8;
.menu-block{ .menu-block{
float: left; float: left;
height: 100%; height: 100%;
overflow: auto;
} }
.content{ .content{
display: flex; display: flex;
...@@ -67,6 +69,7 @@ ...@@ -67,6 +69,7 @@
position: absolute; position: absolute;
top: 0; top: 0;
height: auto; height: auto;
overflow-y: auto;
left: 0; left: 0;
bottom:0; bottom:0;
right: 0; right: 0;
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4" :offset="8"> <el-col :span="4" :offset="8">
<el-button type="success" plain @click="add">新增课程</el-button> <el-button type="success" plain @click="add" v-if="!$store.state.readonly">新增课程</el-button>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
...@@ -56,6 +56,7 @@ ...@@ -56,6 +56,7 @@
label="实体包数量"> label="实体包数量">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
v-if="!$store.state.readonly"
width="250" width="250"
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
......
...@@ -65,7 +65,8 @@ ...@@ -65,7 +65,8 @@
loginApi(json).then(res=>{ loginApi(json).then(res=>{
this.$store.dispatch('setToken',res.token); this.$store.dispatch('setToken',res.token);
this.$store.dispatch('setUserName',res.user_name); this.$store.dispatch('setUserName',res.user_name);
this.$router.push({name:'resources'}) this.$store.dispatch('setPermission',JSON.parse(res.roles.menu_ids));
window.location.href = '/'
}) })
} }
}) })
......
...@@ -2,14 +2,14 @@ ...@@ -2,14 +2,14 @@
<div> <div>
<el-row type="flex" class="add-btn" justify="end"> <el-row type="flex" class="add-btn" justify="end">
<el-col :span="6"> <el-col :span="6">
<el-button type="success" plain @click="add">添加不上课日期</el-button> <el-button type="success" plain @click="add" v-if="!$store.state.readonly">添加不上课日期</el-button>
</el-col> </el-col>
</el-row> </el-row>
<div class="card"> <div class="card">
<el-card :body-style="{ padding: '0px' }" v-for="(currentDate, index) in list"> <el-card :body-style="{ padding: '0px' }" v-for="(currentDate, index) in list" :key="index">
<span class="time">{{ currentDate }}</span> <span class="time">{{ currentDate }}</span>
<div class="bottom clearfix"> <div class="bottom clearfix">
<el-button type="text" class="button" @click="del(currentDate)">删除</el-button> <el-button type="text" class="button" @click="del(currentDate)" v-if="!$store.state.readonly">删除</el-button>
</div> </div>
</el-card> </el-card>
</div> </div>
......
...@@ -61,6 +61,7 @@ ...@@ -61,6 +61,7 @@
<el-table-column <el-table-column
label="操作" label="操作"
min-width="80" min-width="80"
v-if="!$store.state.readonly"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-popover <el-popover
......
...@@ -25,14 +25,11 @@ ...@@ -25,14 +25,11 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!--<el-form-item>--> <el-form-item>
<!--<el-button @click="onChoose" type="success">选择商品</el-button>-->
<!--</el-form-item>-->
<!--<el-form-item>-->
<el-button @click="onSearch" type="primary">查询</el-button> <el-button @click="onSearch" type="primary">查询</el-button>
</el-form-item> </el-form-item>
<el-form-item style="float: left;margin-left: 20px;"> <el-form-item style="float: left;margin-left: 20px;">
<el-button @click="onAdd" type="primary">添加期数</el-button> <el-button @click="onAdd" type="primary" v-if="!$store.state.readonly">添加期数</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
...@@ -98,7 +95,7 @@ ...@@ -98,7 +95,7 @@
<el-table-column <el-table-column
label="操作" label="操作"
width="148"> width="148">
<template slot-scope="scope"> <template slot-scope="scope" v-if="!$store.state.readonly">
<el-button size="mini" plain type="primary" @click="onEdit(scope.row)"> <el-button size="mini" plain type="primary" @click="onEdit(scope.row)">
编辑 编辑
</el-button> </el-button>
......
...@@ -88,6 +88,7 @@ ...@@ -88,6 +88,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="操作" label="操作"
v-if="!$store.state.readonly"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
......
...@@ -55,6 +55,7 @@ ...@@ -55,6 +55,7 @@
<el-table-column <el-table-column
label="操作" label="操作"
min-width="80" min-width="80"
v-if="!$store.state.readonly"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
......
...@@ -17,10 +17,11 @@ ...@@ -17,10 +17,11 @@
<el-container> <el-container>
<el-aside width="150px"> <el-aside width="150px">
<div class="page-list"> <div class="page-list">
<div class="card-item" v-for="(data,index) in selectedMould" :key="index" @click="chooseThat(index)"> <div class="card-item" v-for="(data,index) in selectedMould" :key="index" >
<div class="list2-btn"> <div class="list2-btn">
<i class="iconfont icon-shanchu" @click="delMould(index)"></i> <i class="iconfont icon-shanchu" @click="delMould(index)"></i>
</div> </div>
<div @click="chooseThat(index)">
<el-card shadow="hover" :class="nowIndex === index ? 'border' : ''" :body-style="{ padding: '0px' }"> <el-card shadow="hover" :class="nowIndex === index ? 'border' : ''" :body-style="{ padding: '0px' }">
<div class="dialog-card"> <div class="dialog-card">
序号:{{index}} 序号:{{index}}
...@@ -29,6 +30,7 @@ ...@@ -29,6 +30,7 @@
</el-card> </el-card>
</div> </div>
</div> </div>
</div>
</el-aside> </el-aside>
<el-main> <el-main>
<!--爸妈看一看1--> <!--爸妈看一看1-->
...@@ -57,8 +59,6 @@ ...@@ -57,8 +59,6 @@
</div> </div>
<div class="title2-block"> <div class="title2-block">
<img :src="mouldImg.look1.title2" class="title2"/> <img :src="mouldImg.look1.title2" class="title2"/>
<img :src="mouldImg.look1.redM" class="redM"/>
<img :src="mouldImg.look1.flour" class="flour"/>
<div class="directory-text"> <div class="directory-text">
<div v-html="selectedMould[nowIndex].content.directory"> <div v-html="selectedMould[nowIndex].content.directory">
</div> </div>
...@@ -127,7 +127,7 @@ ...@@ -127,7 +127,7 @@
<div class="icon-class"> <div class="icon-class">
<img :src="mouldImg.play1.play"/> <img :src="mouldImg.play1.play"/>
</div> </div>
<video v-if="selectedMould[nowIndex].content.videoUrl.length > 0" :poster="selectedMould[nowIndex].content.banner[0] ? selectedMould[nowIndex].content.banner[0].url : '' " :src="selectedMould[nowIndex].content.videoUrl[0].url"></video> <video style="width: 100%" v-if="selectedMould[nowIndex].content.videoUrl.length > 0" :poster="selectedMould[nowIndex].content.banner[0] ? selectedMould[nowIndex].content.banner[0].url : '' " :src="selectedMould[nowIndex].content.videoUrl[0].url"></video>
</div> </div>
<img :src="mouldImg.play1.radio" class="radio-img"/> <img :src="mouldImg.play1.radio" class="radio-img"/>
<img :src="mouldImg.play1.backBtn" class="btn back"/> <img :src="mouldImg.play1.backBtn" class="btn back"/>
...@@ -482,7 +482,7 @@ ...@@ -482,7 +482,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer" style="text-align: center"> <span slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="default" @click="selectedMould[nowIndex].content = {};dialogVisible = false">取消</el-button> <!--<el-button type="default" @click="dialogVisible = false">取消</el-button>-->
<el-button type="primary" @click="dialogVisible = false">确 定</el-button> <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
</span> </span>
</el-dialog> </el-dialog>
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<el-menu <el-menu
:default-active="index" v-loading="menuLoading"> :default-active="index" v-loading="menuLoading">
<div style="padding: 5px"> <div style="padding: 5px">
<el-button type="success" plain round size="mini" style="width: 100%" @click="addFist()"> <el-button type="success" plain round size="mini" style="width: 100%" @click="addFist()" v-if="!$store.state.readonly">
+添加分类 +添加分类
</el-button> </el-button>
</div> </div>
...@@ -13,37 +13,37 @@ ...@@ -13,37 +13,37 @@
<template slot="title"> <template slot="title">
<span> <span>
{{data.name}}({{data.children | lengthNum}}) {{data.name}}({{data.children | lengthNum}})
<i class="iconfont icon-bianji" @click="editIndex(data)"></i> <i class="iconfont icon-bianji" @click="editIndex(data)" v-if="!$store.state.readonly"></i>
<i class="iconfont icon-shanchu" @click="delIndex(data)"></i> <i class="iconfont icon-shanchu" @click="delIndex(data)" v-if="!$store.state.readonly"></i>
</span> </span>
</template> </template>
<el-submenu v-if="data.children" class="list2" :index="item.name" v-for="item in data.children" :key="item.id"> <el-submenu v-if="data.children" class="list2" :index="item.name" v-for="item in data.children" :key="item.id">
<span slot="title"> <span slot="title">
{{item.name}} {{item.name}}
<div class="btn-block list2-btn"> <div class="btn-block list2-btn">
<i class="iconfont icon-shangyi" @click="upIndex(item,data.children)"></i> <i class="iconfont icon-shangyi" @click="upIndex(item,data.children)" v-if="!$store.state.readonly"></i>
<i class="iconfont icon-xiayi" @click="downIndex(item,data.children)"></i> <i class="iconfont icon-xiayi" @click="downIndex(item,data.children)" v-if="!$store.state.readonly"></i>
<i class="iconfont icon-bianji" @click="editIndex(item)"></i> <i class="iconfont icon-bianji" @click="editIndex(item)" v-if="!$store.state.readonly"></i>
<i class="iconfont icon-shanchu" @click="delIndex(item)"></i> <i class="iconfont icon-shanchu" @click="delIndex(item)" v-if="!$store.state.readonly"></i>
</div> </div>
</span> </span>
<div @click="chooseId(i)" v-for="i in item.children" :key="i.name"> <div @click="chooseId(i)" v-for="i in item.children" :key="i.name">
<el-menu-item class="list3" :index="i.name"> <el-menu-item class="list3" :index="i.name">
{{i.name}} {{i.name}}
<div class="btn-block list3-btn"> <div class="btn-block list3-btn">
<i class="iconfont icon-shangyi" @click="upIndex(i,item.children)"></i> <i class="iconfont icon-shangyi" @click="upIndex(i,item.children)" v-if="!$store.state.readonly"></i>
<i class="iconfont icon-xiayi" @click="downIndex(i,item.children)"></i> <i class="iconfont icon-xiayi" @click="downIndex(i,item.children)" v-if="!$store.state.readonly"></i>
<i class="iconfont icon-bianji" @click="editIndex(i)"></i> <i class="iconfont icon-bianji" @click="editIndex(i)" v-if="!$store.state.readonly"></i>
<i class="iconfont icon-shanchu" @click="delIndex(i)"></i> <i class="iconfont icon-shanchu" @click="delIndex(i)" v-if="!$store.state.readonly"></i>
</div> </div>
</el-menu-item> </el-menu-item>
</div> </div>
<el-menu-item class="list3" index="new"> <el-menu-item class="list3" index="new">
<el-button type="success" round size="mini" plain style="width: 100%" @click="addItem(item.id)">+添加三级分类</el-button> <el-button type="success" round size="mini" plain style="width: 100%" @click="addItem(item.id)" v-if="!$store.state.readonly">+添加三级分类</el-button>
</el-menu-item> </el-menu-item>
</el-submenu> </el-submenu>
<el-menu-item class="list3" index="new"> <el-menu-item class="list3" index="new">
<el-button type="success" round size="mini" plain style="width: 100%" @click="addSec(data.id)">+添加二级分类</el-button> <el-button type="success" round size="mini" plain style="width: 100%" @click="addSec(data.id)" v-if="!$store.state.readonly">+添加二级分类</el-button>
</el-menu-item> </el-menu-item>
</el-submenu> </el-submenu>
</el-menu> </el-menu>
...@@ -196,7 +196,7 @@ ...@@ -196,7 +196,7 @@
} }
}, },
mounted(){ mounted(){
this.getList() this.getList();
} }
} }
</script> </script>
......
<template> <template>
<div> <div>
<div class="add-block" v-if="id && list.length === 0"> <div class="add-block" v-if="id && list.length === 0">
<el-button round type="success" @click="onAdd">+新增课时</el-button> <el-button round type="success" @click="onAdd" v-if="!$store.state.readonly">+新增课时</el-button>
</div> </div>
<el-card v-for="data in list" :key="data.id" class="box-card"> <el-card v-for="data in list" :key="data.id" class="box-card">
<div class="id"> <div class="id">
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
</el-col> </el-col>
<el-col :span="4" :offset="12"> <el-col :span="4" :offset="12">
<el-form-item> <el-form-item>
<el-button type="success" plain @click="add">添加商品</el-button> <el-button type="success" plain @click="add" v-if="!$store.state.readonly">添加商品</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -72,6 +72,7 @@ ...@@ -72,6 +72,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
width="200" width="200"
v-if="!$store.state.readonly"
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-popover <el-popover
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item> <el-form-item>
<el-button type="success" plain size="small" @click="onAdd"> <el-button type="success" plain size="small" @click="onAdd" v-if="!$store.state.readonly">
添加单品 添加单品
</el-button> </el-button>
</el-form-item> </el-form-item>
...@@ -53,6 +53,7 @@ ...@@ -53,6 +53,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
width="200" width="200"
v-if="!$store.state.readonly"
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" plain type="warning" @click="edit(scope.row)"> <el-button size="mini" plain type="warning" @click="edit(scope.row)">
......
<template> <template>
<div class="admin"> <div class="admin">
<div class="head clear-both"> <div class="head clear-both">
<el-button @click="add" plain type="success" style="float: right">新增角色</el-button> <el-button @click="add" plain type="success" style="float: right" v-if="!$store.state.readonly">新增角色</el-button>
</div> </div>
<el-table <el-table
:data="adminList" :data="adminList"
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
v-if="!$store.state.readonly"
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-popover <el-popover
...@@ -99,7 +100,7 @@ ...@@ -99,7 +100,7 @@
import {getAdminListApi,editAdminListApi,addAdminListApi,delAdminListApi,editPasswordApi,getRoleListApi} from "../../service/api"; import {getAdminListApi,editAdminListApi,addAdminListApi,delAdminListApi,editPasswordApi,getRoleListApi} from "../../service/api";
import {ADMINSTATUS} from "../../util/wordbook"; import {ADMINSTATUS} from "../../util/wordbook";
import page from '../framework/page' import page from '../framework/page'
import md5 from 'js-md5';
export default { export default {
name: "admin", name: "admin",
components:{ components:{
...@@ -281,7 +282,7 @@ ...@@ -281,7 +282,7 @@
let json = { let json = {
role_id:dia.form.role_id, role_id:dia.form.role_id,
desc:dia.form.desc, desc:dia.form.desc,
passwd:dia.form.password, passwd:md5(dia.form.password),
username:dia.form.username username:dia.form.username
}; };
addAdminListApi(json).then(()=>{ addAdminListApi(json).then(()=>{
...@@ -295,7 +296,7 @@ ...@@ -295,7 +296,7 @@
}else if(dia.dialogType === 2){ }else if(dia.dialogType === 2){
console.log(1) console.log(1)
let json = { let json = {
passwd_new:dia.form.password passwd_new:md5(dia.form.password)
} }
editPasswordApi(dia.form.id,json).then(()=>{ editPasswordApi(dia.form.id,json).then(()=>{
this.$message({ this.$message({
......
<template> <template>
<div class="banner" v-loading="loading"> <div class="banner" v-loading="loading">
<div class="head clear-both"> <div class="head clear-both">
<el-button @click="add" plain type="success" style="float: right">新增banner</el-button> <el-button @click="add" plain type="success" style="float: right" v-if="!$store.state.readonly">新增banner</el-button>
</div> </div>
<el-table <el-table
:data="bannerList" :data="bannerList"
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="操作" label="操作"
v-if="!$store.state.readonly"
width="100"> width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-popover <el-popover
......
<template> <template>
<div class="menu"> <div class="menu">
<div class="head clear-both"> <div class="head clear-both">
<el-button @click="add" plain type="success" style="float: right">新增菜单</el-button> <el-button @click="add" plain type="success" style="float: right" v-if="!$store.state.readonly">新增菜单</el-button>
</div> </div>
<el-table <el-table
:data="menuList" :data="menuList"
style="width: 100%"> style="width: 100%">
<el-table-column <el-table-column
prop="id" prop="name"
label="菜单ID"> label="菜单名称">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="cover" prop="cover"
label="菜单Code"> label="菜单Code">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" v-if="!$store.state.readonly"
label="菜单名称">
</el-table-column>
<el-table-column
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" plain type="primary" @click="edit(scope.row)"> <el-button size="mini" plain type="primary" @click="edit(scope.row)">
...@@ -43,6 +40,20 @@ ...@@ -43,6 +40,20 @@
<el-form-item label="菜单Code" prop="cover"> <el-form-item label="菜单Code" prop="cover">
<el-input v-model="dialog.form.cover"></el-input> <el-input v-model="dialog.form.cover"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="上级菜单" prop="cover">
<el-select v-model="dialog.form.pid" placeholder="请选择">
<el-option
label="无"
:value="0">
</el-option>
<el-option
v-for="item in plist"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialog.show = false">取 消</el-button> <el-button @click="dialog.show = false">取 消</el-button>
...@@ -56,12 +67,12 @@ ...@@ -56,12 +67,12 @@
import {getMenuListApi,saveMenuApi,delMenuApi,updateMenuApi} from "../../service/api"; import {getMenuListApi,saveMenuApi,delMenuApi,updateMenuApi} from "../../service/api";
export default { export default {
name: "menu",
data(){ data(){
return { return {
nowPage:1, nowPage:1,
total:0, total:0,
menuList:[], menuList:[],
plist:[],
dialog:{ dialog:{
title:'新增菜单', title:'新增菜单',
show:false, show:false,
...@@ -90,7 +101,17 @@ ...@@ -90,7 +101,17 @@
getList(){ getList(){
getMenuListApi().then(res=>{ getMenuListApi().then(res=>{
if (res) { if (res) {
this.menuList = res this.menuList = [];
this.plist = [];
res.forEach(i=>{
this.menuList.push(i);
this.plist.push(i);
if(i.children){
i.children.forEach(j=>{
this.menuList.push(j);
})
}
})
} }
}) })
}, },
...@@ -100,7 +121,7 @@ ...@@ -100,7 +121,7 @@
this.dialog.title = '编辑菜单'; this.dialog.title = '编辑菜单';
this.dialog.form.name = data.name; this.dialog.form.name = data.name;
this.dialog.form.cover = data.cover; this.dialog.form.cover = data.cover;
this.dialog.form.pid = 0; this.dialog.form.pid = data.pid;
}, },
add(){ add(){
this.dialog.show = true; this.dialog.show = true;
...@@ -170,7 +191,6 @@ ...@@ -170,7 +191,6 @@
.head{ .head{
padding: 5px; padding: 5px;
} }
width: 100%;
padding: 10px; padding: 10px;
.page-div{ .page-div{
text-align: center; text-align: center;
......
<template> <template>
<div class="role"> <div class="role">
<div class="head clear-both"> <div class="head clear-both">
<el-button @click="add" plain type="success" style="float: right">新增角色</el-button> <el-button @click="add" plain type="success" style="float: right" v-if="!$store.state.readonly">新增角色</el-button>
</div> </div>
<el-table <el-table
:data="roleList" :data="roleList"
...@@ -14,15 +14,12 @@ ...@@ -14,15 +14,12 @@
prop="name" prop="name"
label="角色名称"> label="角色名称">
</el-table-column> </el-table-column>
<el-table-column
prop="menu_ids"
label="菜单IDs">
</el-table-column>
<el-table-column <el-table-column
prop="created_at" prop="created_at"
label="创建时间"> label="创建时间">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
v-if="!$store.state.readonly"
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" plain type="primary" @click="edit(scope.row)"> <el-button size="mini" plain type="primary" @click="edit(scope.row)">
...@@ -38,22 +35,32 @@ ...@@ -38,22 +35,32 @@
<el-dialog <el-dialog
:title="dialog.title" :title="dialog.title"
center center
append-to-body append-to-body
:visible.sync="dialog.show" :visible.sync="dialog.show"
width="30%"> width="30%">
<el-form ref="form" :rules="dialog.rules" :model="dialog.form" label-width="100px"> <el-form ref="form" :rules="dialog.rules" :model="dialog.form" label-width="100px">
<el-form-item label="菜单名称" prop="name"> <el-form-item label="角色名称" prop="name">
<el-input v-model="dialog.form.name"></el-input> <el-input v-model="dialog.form.name"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="菜单选项" prop="menu_ids"> <el-form-item label="菜单选项">
<el-select v-model="dialog.form.menu_ids" multiple placeholder="请选择"> <div class="custom-tree-container">
<el-option <el-tree :data="dialog.select"
v-for="item in dialog.select" show-checkbox
:key="item.id" node-key="id"
:label="item.name" ref="tree"
:value="item.id"> :default-checked-keys="dialog.chooseed"
</el-option> default-expand-all
</el-select> :expand-on-click-node="false"
:props="{children:'children',label:'name',value:false}">
<span class="custom-tree-node" slot-scope="{ node, data }">
<span>{{ node.label }}</span>
<span v-if="data.pid !== 0">
<el-checkbox v-model="data.readonly">只读</el-checkbox>
</span>
</span>
</el-tree>
</div>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
...@@ -68,7 +75,6 @@ ...@@ -68,7 +75,6 @@
import {getMenuListApi,getRoleListApi,getRoleDetailApi,delRoleApi,updateRoleApi,saveRoleApi} from "../../service/api"; import {getMenuListApi,getRoleListApi,getRoleDetailApi,delRoleApi,updateRoleApi,saveRoleApi} from "../../service/api";
import page from '../framework/page' import page from '../framework/page'
export default { export default {
name: "menu",
components:{ components:{
page page
}, },
...@@ -81,13 +87,11 @@ ...@@ -81,13 +87,11 @@
title:'新增角色', title:'新增角色',
show:false, show:false,
select:[], select:[],
chooseed:[],
rules: { rules: {
name: [ name: [
{required: true, message: '请填写角色名称', trigger: 'change'}, {required: true, message: '请填写角色名称', trigger: 'change'},
], ],
menu_ids: [
{required: true, message: '请选择菜单', trigger: 'change'},
]
}, },
form:{ form:{
name:'', name:'',
...@@ -98,12 +102,20 @@ ...@@ -98,12 +102,20 @@
} }
}, },
created(){ created(){
this.getList() this.getList();
this.getMenuList()
}, },
methods:{ methods:{
getMenuList(){ getMenuList(){
getMenuListApi().then(res=>{ getMenuListApi().then(res=>{
if (res) { if (res) {
res.forEach(i=>{
if(i.children){
i.children.forEach(j=>{
j.readonly= false
})
}
});
this.dialog.select = res this.dialog.select = res
} }
}) })
...@@ -121,11 +133,21 @@ ...@@ -121,11 +133,21 @@
this.dialog.title = '编辑角色'; this.dialog.title = '编辑角色';
this.getMenuList(); this.getMenuList();
getRoleDetailApi(data.id).then((res)=>{ getRoleDetailApi(data.id).then((res)=>{
this.dialog.form.name = res.name this.dialog.form.name = res.name;
let _ids = res.menu_ids.split(',').map((item)=>{ this.dialog.form.menu_ids = JSON.parse(res.menu_ids);
return parseInt(item); this.dialog.chooseed = [];
this.dialog.form.menu_ids.forEach(i=>{
this.dialog.chooseed .push(i.id);
this.dialog.select.forEach(j=>{
if(j.children){
j.children.forEach(x=>{
if(x.id===i.id){
x.readonly = i.readonly
}
})
}
}) })
this.dialog.form.menu_ids = _ids });
this.dialog.show = true; this.dialog.show = true;
}) })
}, },
...@@ -133,7 +155,7 @@ ...@@ -133,7 +155,7 @@
this.dialog.show = true; this.dialog.show = true;
this.dialog.form.id = ''; this.dialog.form.id = '';
this.dialog.title = '新增菜单'; this.dialog.title = '新增菜单';
this.dialog.form.name = '' this.dialog.form.name = '';
this.dialog.form.menu_ids = []; this.dialog.form.menu_ids = [];
this.getMenuList(); this.getMenuList();
}, },
...@@ -155,11 +177,18 @@ ...@@ -155,11 +177,18 @@
sub(){ sub(){
this.$refs['form'].validate((valid) => { this.$refs['form'].validate((valid) => {
if(valid){ if(valid){
let checked = this.$refs.tree.getCheckedNodes();
let menu_ids = [];
checked.forEach(i=>{
if(i.readonly === false || i.readonly === true){
menu_ids.push({id:i.id,cover:i.cover,readonly:i.readonly})
}
});
let dia = this.dialog; let dia = this.dialog;
if(dia.form.id){ if(dia.form.id){
let json = { let json = {
name:dia.form.name, name:dia.form.name,
menu_ids:dia.form.menu_ids.join(',') menu_ids:JSON.stringify(menu_ids)
}; };
updateRoleApi(dia.form.id,json).then(()=>{ updateRoleApi(dia.form.id,json).then(()=>{
this.$message({ this.$message({
...@@ -172,7 +201,7 @@ ...@@ -172,7 +201,7 @@
}else{ }else{
let json = { let json = {
name:dia.form.name, name:dia.form.name,
menu_ids:dia.form.menu_ids.join(',') menu_ids:JSON.stringify(menu_ids)
}; };
saveRoleApi(json).then(()=>{ saveRoleApi(json).then(()=>{
this.$message({ this.$message({
...@@ -191,6 +220,14 @@ ...@@ -191,6 +220,14 @@
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.custom-tree-node {
flex: 1;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
padding-right: 8px;
}
.role{ .role{
.head{ .head{
padding: 5px; padding: 5px;
......
<template> <template>
<div class="sys"> <div class="sys">
<div class="clear-both top"> <div class="clear-both top">
<el-button type="success" plain @click="add" style="float: right">添加配置</el-button> <el-button type="success" plain @click="add" style="float: right" v-if="!$store.state.readonly">添加配置</el-button>
</div> </div>
<el-table <el-table
:data="list" :data="list"
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
width="250" width="250"
v-if="!$store.state.readonly"
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" plain type="warning" @click="edit(scope.row)"> <el-button size="mini" plain type="warning" @click="edit(scope.row)">
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div> <div>
<el-row type="flex" class="add-btn" justify="end"> <el-row type="flex" class="add-btn" justify="end">
<el-col :span="6" style="text-align: right;"> <el-col :span="6" style="text-align: right;">
<el-button type="success" plain @click="add">添加回复</el-button> <el-button type="success" plain @click="add" v-if="!$store.state.readonly">添加回复</el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-table <el-table
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
width="250" width="250"
v-if="!$store.state.readonly"
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" plain type="warning" @click="edit(scope.row)"> <el-button size="mini" plain type="warning" @click="edit(scope.row)">
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="focus-reply"> <div class="focus-reply">
<div class="clear-both top"> <div class="clear-both top">
<span class="title">自动回复</span> <span class="title">自动回复</span>
<el-button type="success" plain style="float: right" @click="add">添加回复</el-button> <el-button type="success" plain style="float: right" @click="add" v-if="!$store.state.readonly">添加回复</el-button>
</div> </div>
<el-table <el-table
:data="list" :data="list"
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
<el-table-column <el-table-column
fixed="right" fixed="right"
label="操作" label="操作"
v-if="!$store.state.readonly"
width="200"> width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
:show-file-list="false" :show-file-list="false"
:data="uploadParam"> :data="uploadParam">
<!--:on-success="handleUploadSuccess"--> <!--:on-success="handleUploadSuccess"-->
<el-button style="order:2;" slot="trigger" size="small" type="primary">选取文件</el-button> <el-button style="order:2;" slot="trigger" size="small" type="primary" v-if="!$store.state.readonly">选取文件</el-button>
<!--<div slot="tip" class="el-upload__tip">大小不超过5M</div>--> <!--<div slot="tip" class="el-upload__tip">大小不超过5M</div>-->
</el-upload> </el-upload>
</div> </div>
......
...@@ -7,14 +7,6 @@ Vue.use(Router); ...@@ -7,14 +7,6 @@ Vue.use(Router);
const router =new Router({ const router =new Router({
routes: [ routes: [
{
path:'/login',
name:'login',
component: e=>require(['@/components/login'],e),
meta:{
skip_auth:true,
}
},
{ {
path: '/', path: '/',
name: 'index', name: 'index',
...@@ -25,122 +17,25 @@ const router =new Router({ ...@@ -25,122 +17,25 @@ const router =new Router({
path: '', path: '',
name:'first', name:'first',
component: e=>require(['@/components/main'],e), component: e=>require(['@/components/main'],e),
},{ }
path: '/help', ]
name:'help',
component: e=>require(['@/components/help'],e),
},{
path: '/putForward',
name:'putForward',
component: e=>require(['@/components/putForward'],e),
},{
path: '/refund',
name:'refund',
component: e=>require(['@/components/refund'],e),
},{
path: '/noLesson',
name:'noLesson',
component: e=>require(['@/components/noLesson'],e),
},{
path: '/banner',
name:'banner',
component: e=>require(['@/components/system/banner'],e),
},{
path: '/weChatResource',
name:'weChatResource',
component: e=>require(['@/components/weChat/weChatResource'],e),
},{
path: '/menu',
name:'menu',
component: e=>require(['@/components/system/menu'],e),
},{
path: '/focusReply',
name:'focusReply',
component: e=>require(['@/components/weChat/focusReply'],e),
},{
path: '/weChat',
name:'weChat',
component: e=>require(['@/components/weChat'],e),
},{
path: '/autoReply',
name:'autoReply',
component: e=>require(['@/components/weChat/autoReply'],e),
},{
path: '/resources',
name:'resources',
component: e=>require(['@/components/resources'],e),
},{
path: '/periods',
name:'periods',
component: e=>require(['@/components/periods'],e),
},{
path: '/shop',
name:'shop',
component: e=>require(['@/components/shop'],e),
},{
path: '/consignment',
name:'consignment',
component: e=>require(['@/components/consignment'],e),
},{
path: '/single',
name:'single',
component: e=>require(['@/components/single'],e),
},{
path: '/box',
name:'box',
component: e=>require(['@/components/box'],e),
},{
path: '/lesson',
name:'lesson',
component: e=>require(['@/components/lesson'],e),
},{
path: '/user',
name:'user',
component: e=>require(['@/components/user'],e),
},{
path: '/teacher',
name:'teacher',
component: e=>require(['@/components/teacher'],e),
},{
path: '/admin',
name:'admin',
component: e=>require(['@/components/system/admin'],e),
},{
path: '/role',
name:'role',
component: e=>require(['@/components/system/role'],e),
},
{
path: '/class',
name:'class',
component: e=>require(['@/components/class'],e),
},{
path: '/order',
name:'order',
component: e=>require(['@/components/order'],e),
},{
path: '/sysConfig',
name:'sysConfig',
component: e=>require(['@/components/system/sysConfig'],e),
},
{
path: '/userOrder/:id',
name:'userOrder',
component: e=>require(['@/components/userOrder'],e),
}, },
{ {
path: '/teacher/:id', path:'/login',
name:'teacherDetail', name:'login',
component: e=>require(['@/components/teacherDetail'],e), component: e=>require(['@/components/login'],e),
}, meta:{
] skip_auth:true,
} }
},
] ]
}); });
router.beforeEach((to,from,next)=> { router.beforeEach((to,from,next)=> {
store.commit('mainCanShow'); store.commit('mainCanShow');
if(Cookie.get('cc_token')){ if(Cookie.get('cc_token')){
store.dispatch('setToken',Cookie.get('cc_token')); store.dispatch('setToken',Cookie.get('cc_token'));
store.dispatch('setPermission',JSON.parse(localStorage.getItem('permission')));
if(Cookie.get('cc_user_name') !== null){ if(Cookie.get('cc_user_name') !== null){
store.dispatch('setUserName',Cookie.get('cc_user_name')) store.dispatch('setUserName',Cookie.get('cc_user_name'))
}else{ }else{
...@@ -162,11 +57,16 @@ router.beforeEach((to,from,next)=> { ...@@ -162,11 +57,16 @@ router.beforeEach((to,from,next)=> {
store.state.openedTab.push(thisMenu); store.state.openedTab.push(thisMenu);
} }
} }
if(to.meta.readonly){
store.dispatch('readonly',true)
}else{
store.dispatch('readonly',false)
}
// 登录拦截 // 登录拦截
if (to.matched.some(record => record.meta.skip_auth !== true) && !store.state.token) { if (to.matched.some(record => record.meta.skip_auth !== true) && !store.state.token) {
next({ window.location.href = '/#/login'
path: '/login'
})
} else { } else {
next() next()
} }
......
...@@ -11,4 +11,13 @@ export default{ ...@@ -11,4 +11,13 @@ export default{
setProgress({commit},data){ setProgress({commit},data){
commit('progress',data); commit('progress',data);
}, },
setPermission({commit},data){
commit('setPermission',data)
},
setMenu({commit},data){
commit('setMenu',data)
},
readonly({commit},data){
commit('readonly',data)
}
} }
import Vue from 'vue' import Vue from 'vue'
import vuex from 'vuex' import vuex from 'vuex'
import menu from '../util/menuList'
import mutations from './mutations' import mutations from './mutations'
import actions from './actions' import actions from './actions'
Vue.use(vuex); Vue.use(vuex);
...@@ -10,8 +9,10 @@ export default new vuex.Store({ ...@@ -10,8 +9,10 @@ export default new vuex.Store({
show:false, show:false,
userName:'', userName:'',
token:'', token:'',
permission:false,
readonly:true,
mainLoad:true, mainLoad:true,
menuList:menu, menuList:[],
menuType:false, menuType:false,
nowTab:'first', nowTab:'first',
progressList:[], progressList:[],
......
...@@ -11,6 +11,16 @@ const mutations={ ...@@ -11,6 +11,16 @@ const mutations={
state.userName=userName; state.userName=userName;
Cookie.set('cc_user_name',userName); Cookie.set('cc_user_name',userName);
}, },
setPermission(state,data){
state.progressList=data;
localStorage.setItem('permission',JSON.stringify(data))
},
setMenu(state,data){
state.menuList=data;
},
readonly(state,data){
state.readonly=data;
},
mainCanShow(state){ mainCanShow(state){
state.mainLoad = false state.mainLoad = false
}, },
......
...@@ -7,7 +7,13 @@ export default [ ...@@ -7,7 +7,13 @@ export default [
{ {
value:'教材列表', value:'教材列表',
routerName:'resources', routerName:'resources',
path:'/resources' path:'/resources',
cover:'1-1',
router:{
path: '/resources',
name:'resources',
component: e=>require(['@/components/resources'],e),
}
} }
] ]
},{ },{
...@@ -18,22 +24,46 @@ export default [ ...@@ -18,22 +24,46 @@ export default [
{ {
value:'课程列表', value:'课程列表',
routerName:'lesson', routerName:'lesson',
path:'/lesson' path:'/lesson',
cover:'2-1',
router:{
path: '/lesson',
name:'lesson',
component: e=>require(['@/components/lesson'],e),
}
}, },
{ {
value:'期数列表', value:'期数列表',
routerName:'periods', routerName:'periods',
path:'/periods' path:'/periods',
cover:'2-2',
router:{
path: '/periods',
name:'periods',
component: e=>require(['@/components/periods'],e),
}
}, },
{ {
value:'班级列表', value:'班级列表',
routerName:'class', routerName:'class',
path:'/class' path:'/class',
cover:'2-3',
router:{
path: '/class',
name:'class',
component: e=>require(['@/components/class'],e),
}
}, },
{ {
value:'不上课日期', value:'不上课日期',
routerName:'noLesson', routerName:'noLesson',
path:'/noLesson' path:'/noLesson',
cover:'2-4',
router:{
path: '/noLesson',
name:'noLesson',
component: e=>require(['@/components/noLesson'],e),
}
}, },
] ]
},{ },{
...@@ -44,12 +74,24 @@ export default [ ...@@ -44,12 +74,24 @@ export default [
{ {
value:'教师列表', value:'教师列表',
routerName:'teacher', routerName:'teacher',
path:'/teacher' path:'/teacher',
cover:'3-1',
router:{
path: '/teacher',
name:'teacher',
component: e=>require(['@/components/teacher'],e),
}
}, },
{ {
value:'用户列表', value:'用户列表',
routerName:'user', routerName:'user',
path:'/user' path:'/user',
cover:'3-2',
router:{
path: '/user',
name:'user',
component: e=>require(['@/components/user'],e),
}
} }
] ]
},{ },{
...@@ -60,7 +102,13 @@ export default [ ...@@ -60,7 +102,13 @@ export default [
{ {
value:'商品列表', value:'商品列表',
routerName:'shop', routerName:'shop',
path:'/shop' path:'/shop',
cover:'4-1',
router:{
path: '/shop',
name:'shop',
component: e=>require(['@/components/shop'],e),
}
} }
] ]
},{ },{
...@@ -71,20 +119,44 @@ export default [ ...@@ -71,20 +119,44 @@ export default [
{ {
value:'订单列表', value:'订单列表',
routerName:'order', routerName:'order',
path:'/order' path:'/order',
cover:'5-1',
router:{
path: '/order',
name:'order',
component: e=>require(['@/components/order'],e),
}
},{ },{
value:'退款列表', value:'退款列表',
routerName:'refund', routerName:'refund',
path:'/refund' path:'/refund',
cover:'5-2',
router:{
path: '/refund',
name:'refund',
component: e=>require(['@/components/refund'],e),
}
},{ },{
value:'提现列表', value:'提现列表',
routerName:'putForward', routerName:'putForward',
path:'/putForward' path:'/putForward',
cover:'5-3',
router:{
path: '/putForward',
name:'putForward',
component: e=>require(['@/components/putForward'],e),
}
}, },
{ {
value:'发货管理', value:'发货管理',
routerName:'consignment', routerName:'consignment',
path:'/consignment' path:'/consignment',
cover:'5-4',
router:{
path: '/consignment',
name:'consignment',
component: e=>require(['@/components/consignment'],e),
}
} }
] ]
},{ },{
...@@ -95,12 +167,24 @@ export default [ ...@@ -95,12 +167,24 @@ export default [
{ {
value:'单品列表', value:'单品列表',
routerName:'single', routerName:'single',
path:'/single' path:'/single',
cover:'6-1',
router:{
path: '/single',
name:'single',
component: e=>require(['@/components/single'],e),
}
}, },
{ {
value:'盒子列表', value:'盒子列表',
routerName:'box', routerName:'box',
path:'/box' path:'/box',
cover:'6-2',
router:{
path: '/box',
name:'box',
component: e=>require(['@/components/box'],e),
}
} }
] ]
},{ },{
...@@ -111,27 +195,57 @@ export default [ ...@@ -111,27 +195,57 @@ export default [
{ {
value:'关注自动回复', value:'关注自动回复',
routerName:'focusReply', routerName:'focusReply',
path:'/focusReply' path:'/focusReply',
cover:'7-1',
router:{
path: '/focusReply',
name:'focusReply',
component: e=>require(['@/components/weChat/focusReply'],e),
}
}, },
{ {
value:'关键词回复', value:'关键词回复',
routerName:'autoReply', routerName:'autoReply',
path:'/autoReply' path:'/autoReply',
cover:'7-2',
router:{
path: '/autoReply',
name:'autoReply',
component: e=>require(['@/components/weChat/autoReply'],e),
}
}, },
{ {
value:'公众号菜单', value:'公众号菜单',
routerName:'weChat', routerName:'weChat',
path:'/weChat' path:'/weChat',
cover:'7-3',
router:{
path: '/weChat',
name:'weChat',
component: e=>require(['@/components/weChat'],e),
}
}, },
{ {
value:'素材管理', value:'素材管理',
routerName:'weChatResource', routerName:'weChatResource',
path:'/weChatResource' path:'/weChatResource',
cover:'7-4',
router:{
path: '/weChatResource',
name:'weChatResource',
component: e=>require(['@/components/weChat/weChatResource'],e),
}
}, },
{ {
value:'Banner管理', value:'Banner管理',
routerName:'banner', routerName:'banner',
path:'/banner' path:'/banner',
cover:'7-5',
router:{
path: '/banner',
name:'banner',
component: e=>require(['@/components/system/banner'],e),
}
} }
] ]
},{ },{
...@@ -142,19 +256,43 @@ export default [ ...@@ -142,19 +256,43 @@ export default [
{ {
value:'账号管理', value:'账号管理',
routerName:'admin', routerName:'admin',
path:'/admin' path:'/admin',
cover:'8-1',
router:{
path: '/admin',
name:'admin',
component: e=>require(['@/components/system/admin'],e),
}
},{ },{
value:'角色管理', value:'角色管理',
routerName:'role', routerName:'role',
path:'/role' path:'/role',
cover:'8-2',
router:{
path: '/role',
name:'role',
component: e=>require(['@/components/system/role'],e),
}
},{ },{
value:'菜单管理', value:'菜单管理',
routerName:'menu', routerName:'menu',
path:'/menu' path:'/menu',
cover:'8-3',
router:{
path: '/menu',
name:'menu',
component: e=>require(['@/components/system/menu'],e),
}
},{ },{
value:'系统配置', value:'系统配置',
routerName:'sysConfig', routerName:'sysConfig',
path:'/sysConfig' path:'/sysConfig',
cover:'8-4',
router:{
path: '/sysConfig',
name:'sysConfig',
component: e=>require(['@/components/system/sysConfig'],e),
}
} }
] ]
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment