Commit ec500278 authored by 王奇's avatar 王奇

权限与修改

parent 3113ec2e
......@@ -4109,7 +4109,8 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"aproba": {
"version": "1.2.0",
......@@ -4130,12 +4131,14 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
......@@ -4150,17 +4153,20 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"core-util-is": {
"version": "1.0.2",
......@@ -4277,7 +4283,8 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"ini": {
"version": "1.3.5",
......@@ -4289,6 +4296,7 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
......@@ -4303,6 +4311,7 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
......@@ -4310,12 +4319,14 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"minipass": {
"version": "2.2.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"safe-buffer": "^5.1.1",
"yallist": "^3.0.0"
......@@ -4334,6 +4345,7 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"minimist": "0.0.8"
}
......@@ -4414,7 +4426,8 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"object-assign": {
"version": "4.1.1",
......@@ -4426,6 +4439,7 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"wrappy": "1"
}
......@@ -4511,7 +4525,8 @@
"safe-buffer": {
"version": "5.1.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"safer-buffer": {
"version": "2.1.2",
......@@ -4547,6 +4562,7 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
......@@ -4566,6 +4582,7 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
......@@ -4609,12 +4626,14 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"yallist": {
"version": "3.0.2",
"bundled": true,
"dev": true
"dev": true,
"optional": true
}
}
},
......@@ -11719,7 +11738,8 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"aproba": {
"version": "1.2.0",
......@@ -11740,12 +11760,14 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
......@@ -11760,17 +11782,20 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"core-util-is": {
"version": "1.0.2",
......@@ -11887,7 +11912,8 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"ini": {
"version": "1.3.5",
......@@ -11899,6 +11925,7 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
......@@ -11913,6 +11940,7 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
......@@ -11920,12 +11948,14 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"minipass": {
"version": "2.2.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"safe-buffer": "^5.1.1",
"yallist": "^3.0.0"
......@@ -11944,6 +11974,7 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"minimist": "0.0.8"
}
......@@ -12024,7 +12055,8 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"object-assign": {
"version": "4.1.1",
......@@ -12036,6 +12068,7 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"wrappy": "1"
}
......@@ -12121,7 +12154,8 @@
"safe-buffer": {
"version": "5.1.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"safer-buffer": {
"version": "2.1.2",
......@@ -12157,6 +12191,7 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
......@@ -12176,6 +12211,7 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
......@@ -12219,12 +12255,14 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"yallist": {
"version": "3.0.2",
"bundled": true,
"dev": true
"dev": true,
"optional": true
}
}
},
......
......@@ -13,20 +13,23 @@
<template slot="title">网站监控</template>
<el-menu-item :index="`/monitor/${index}`" v-for="(item, index) in platInfo" :key="item.platform">{{item.platform}}</el-menu-item>
</el-submenu>
<el-submenu index="2" v-if="environment=='inside'">
<el-submenu index="2" v-if="environment=='inside'" v-show="permission_read[6]">
<template slot="title">币种监控</template>
<el-menu-item index="/monitor/BTY">BTY</el-menu-item>
<el-menu-item index="/monitor/YCC">YCC</el-menu-item>
</el-submenu>
<el-menu-item index="/monitor/account" v-if="environment=='inside'">
<el-menu-item index="/monitor/account" v-if="environment=='inside'" v-show="permission_read[6]">
<span slot="title">银行账户</span>
</el-menu-item>
<el-menu-item index="/monitor/coinRecharge" v-if="environment=='inside'">
<el-menu-item index="/monitor/coinRecharge" v-if="environment=='inside'" v-show="permission_read[6]">
<span slot="title">币种充提统计</span>
</el-menu-item>
<el-menu-item index="/monitor/currency" v-if="environment=='inside'">
<el-menu-item index="/monitor/currency" v-if="environment=='inside'" v-show="permission_read[6]">
<span slot="title">币种波动统计</span>
</el-menu-item>
<el-menu-item index="/monitor/adminSet" v-if="environment=='inside'" v-show="permission_read[6]">
<span slot="title">管理员设置</span>
</el-menu-item>
</el-menu>
</div>
</template>
......@@ -36,6 +39,8 @@
export default {
data(){
return{
permission_read:[],
permission_control:[],
active: '',
environment:sessionStorage.getItem('environment'),
}
......@@ -43,6 +48,8 @@
props: ['platInfo'],
created() {
this.active = this.$route.path.split('/').splice(0,3).join('/');
this.permission_read= parseInt(localStorage.getItem("permission_read")).toString(2).split("")
this.permission_control=parseInt(localStorage.getItem("permission_control")).toString(2).split("")
},
methods: {
navClick(index) {
......
......@@ -23,6 +23,10 @@ const Api = {
UpdateRobotConfig: originUrl + '/updateRobotConfig', //修改机器人配置接口
transferStatusChange: originUrl + '/updateTransferStatus', //充提状态开关
changeStatus: originUrl + '/changeStatus', //修改机器人运行状态
countWave: originUrl + '/countWave', //查询波动统计列表
runRobotConfig: originUrl + '/runRobotConfig', //查询机器人运行配置
countWaveExcel:originUrl + '/countWaveExcel', //波动导出
CountWaveRange:originUrl + '/countWaveRange', //查询波动范围统计
}
export default Api;
......@@ -30,6 +30,12 @@ const router = new Router({
},
},
{
path: '/monitor/adminSet',
component: function(resolve){
require(['../views/AdminSet.vue'],resolve);
},
},
{
path: '/monitor/account',
component: function(resolve){
require(['../views/account.vue'],resolve);
......
<template>
<div class="divHeader">
<div class="lineHeader">
<div class="divTitle">所有机器人</div>
<div class="titleButton">
<el-button type="primary" @click="dialogVisible=true">添加管理员</el-button>
</div>
</div>
<!-- 主体框 -->
<div class="aminBox">
<div>
<!-- 通过机器人搜索框 -->
<div class="emailInput">
<el-input v-model="emailMessage" placeholder="通过邮箱搜索">
<el-button @click="searchByEmail" slot="append" icon="el-icon-search"></el-button>
</el-input>
</div>
<el-table
:header-cell-style="{background:'#EFF1F3',color:'#808080'}"
:data="tableData"
stripe
style="width: 100%">
<el-table-column
width="250"
label="管理员邮箱">
<template slot-scope="scope">
<span>{{ scope.row.email }}</span>
</template>
</el-table-column>
<el-table-column
label="管理权限"
>
<template slot-scope="scope">
<i class="iconfont" :class=" 'icon-'+scope.row.coin+'3'"></i>
<span>{{ scope.row.power}}</span>
</template>
</el-table-column>
<el-table-column
width="150"
label="设置日期">
<template slot-scope="scope">
<span>{{ scope.row.date }}</span>
</template>
</el-table-column>
<el-table-column
label="操作"
width="150">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="editAdminPower(scope.row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页查询 -->
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 20, 30]"
:page-size="pageSize"
layout="total, prev, pager, next, sizes"
:total="listCount">
</el-pagination>
</div>
</div>
<!-- 添加管理员弹窗 -->
<el-dialog
title="添加管理员"
:visible.sync="dialogVisible"
width="880px"
:before-close="handleClose">
<div class="adminDialog">
<div class="adminDivOne">管理员邮箱</div>
<div class="adminDivTwo">
<el-input v-model="adminEmail" placeholder="请输入邮箱"></el-input>
</div>
</div>
<div class="adminPower">
<div class="powerOne">管理权限</div>
<div class="powerTwo">
<el-checkbox-group v-model="checkedList" label="机器人总开关" border>
<el-checkbox label="机器人总开关" border></el-checkbox>
<el-checkbox label="机器人冲提开关" border></el-checkbox>
<el-checkbox label="机器人配置" border></el-checkbox>
</el-checkbox-group>
</div>
</div>
<span slot="footer" class="dialog-footer">
<div class="dialogButton">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogVisible = false">确 定</el-button>
</div>
</span>
</el-dialog>
<!-- 编辑管理员弹窗 -->
<el-dialog
title="编辑管理员"
:visible.sync="dialogVisible2"
width="880px"
:before-close="handleClose">
<div class="adminDialog">
<div class="adminDivOne">管理员邮箱</div>
<div class="adminDivTwo">
<el-input v-model="adminEmailEdit" label="adminEmailEdit" placeholder="请输入邮箱"></el-input>
</div>
</div>
<div class="adminPower">
<div class="powerOne">管理权限</div>
<div class="powerTwo">
<el-checkbox-group v-model="editCheckedList" label="机器人总开关" border>
<el-checkbox label="机器人总开关" border></el-checkbox>
<el-checkbox label="机器人冲提开关" border></el-checkbox>
<el-checkbox label="机器人配置" border></el-checkbox>
</el-checkbox-group>
</div>
</div>
<span slot="footer" class="dialog-footer">
<div class="dialogButton">
<el-button @click="dialogVisible2 = false">取 消</el-button>
<el-button type="primary" @click="dialogVisible2 = false">确 定</el-button>
</div>
</span>
</el-dialog>
</div>
</template>
<script>
import axios from 'axios';
import ApiConfig from "../config/api-config";
export default {
data() {
return{
tableData:[
{
email:"343641834@qq.com",
power:"机器人总开关,机器人关闭",
date:"2019-11-11"
}
],
adminEmailEdit:"343641834@qq.com",//编辑管理员权限
checkedList:["机器人总开关"],
editCheckedList:[],
adminEmail:"",
dialogVisible:false,
dialogVisible2:false,
emailMessage:"",
pageSize: 10, //分页,每页数量
currentPage: 1,//当前页
listCount: 0,
};
},
mounted() {
},
created() {
},
methods :{
// 编辑管理员权限
editAdminPower(rowData){
this.adminEmailEdit=rowData.email
// this.editCheckedList=rowData.power
console.log("行数据", this.editCheckedList)
this.dialogVisible2=true
},
//弹窗前确认
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => {});
},
// 通过邮箱搜索
searchByEmail(){
alert("搜索邮箱")
},
//分页
handleSizeChange(val) {
this.pageSize = val;
this.currentPage = 1;
this.getRechargeList();
},
handleCurrentChange(val) {
this.currentPage = val;
this.getRechargeList(val+'');
},
},
}
</script>
<style scoped>
/* 管理员弹窗样式 */
.adminDialog{
display: flex;
height: 40px;
align-items: center;
.adminDivOne{
margin-left: 60px;
font-size: 14px;
color: #333333;
}
.adminDivTwo{
margin-left: 10px;
width: 670px;
}
}
/* 管理员权限 */
.adminPower{
display: flex;
align-items: center;
margin-top: 10px;
.powerOne{
margin-left: 75px;
font-size: 14px;
color: #333333;
}
.powerTwo{
margin-left: 10px;
}
}
.emailInput{
float:right;
width: 260px;
height: 40px;
margin-bottom:20px;
}
.aminBox{
background: rgba(255,255,255,1);
border-radius: 4px;
border: 1px solid rgba(119,146,167,1);
padding: 10px 20px 20px 20px;
height: 500px;
}
.lineHeader{
height: 80px;
text-align: center;
}
.divHeader{
margin: 20px 20px 20px 20px;
}
.divTitle {
height: 40px;
line-height: 40px;
float:left;
display:inline;
font-size: 18px;
color: #333333;
}
.titleButton{
float:right;
}
</style>
<style >
/* 饿了么样式覆盖 */
.el-button--primary {
color: #fff;
background-color: #7792A7;
border-color: #7792A7;
}
/* 覆盖弹窗title文字样式 */
.el-dialog__header {
text-align: center;
}
/* 覆盖多选框样式 */
.el-checkbox__input.is-checked .el-checkbox__inner, .el-checkbox__input.is-indeterminate .el-checkbox__inner {
background-color: #7792A7;
border-color: #7792A7;
}
.el-checkbox__input.is-checked+.el-checkbox__label {
color: #7792A7;
}
.el-checkbox.is-bordered.is-checked {
border-color: #7792A7;
}
</style>
\ No newline at end of file
......@@ -256,8 +256,10 @@ export default {
localStorage["username"] = this.loginEmail;
localStorage["token"] =res.data.data.token
sessionStorage.setItem("isLogin",true);
console.log(res)
console.log("登录返回信息",res)
sessionStorage.setItem("environment",res.data.data.class);
localStorage.setItem("permission_control",res.data.data.permission_control)
localStorage.setItem("permission_read",res.data.data.permission_read)
this.$router.push({
path:'/monitor/home'
})
......
This diff is collapsed.
......@@ -77,12 +77,14 @@
label="操作">
<template slot-scope="scope">
<el-button
v-show="permission_read[2]"
@click.native.prevent="clickRecharge(scope.row.coin)"
type="primary"
size="small">
充值
</el-button>
<el-button
v-show="permission_read[5]"
@click.native.prevent="clickUpdate(scope.row.coin)"
type="primary"
size="small">
......@@ -326,6 +328,8 @@
export default {
data() {
return {
permission_read:[],
permission_control:[],
username: localStorage.getItem('username'),
robotBankList: JSON.parse(sessionStorage.getItem('robotBankList')),
robotAdminList: JSON.parse(sessionStorage.getItem('robotAdminList')),
......@@ -364,6 +368,9 @@
},
created() {
this.init();
this.permission_read= parseInt(localStorage.getItem("permission_read")).toString(2).split("")
this.permission_control=parseInt(localStorage.getItem("permission_control")).toString(2).split("")
console.log(this.permission_control)
},
mounted () {
// prevent click outside event with popupItem.
......
......@@ -43,8 +43,8 @@
</div>
<div class="count-box">
<div class="fl">
<el-button type="primary" @click="exportExcel" size="mini">导出当前页</el-button>
<el-button type="primary" @click="exportExcel('all')" size="mini">导出所有</el-button>
<el-button type="primary" @click="exportExcel" size="mini" v-show="this.permission_control[5]">导出当前页</el-button>
<el-button type="primary" @click="exportExcel('all')" size="mini" v-show="this.permission_control[5]">导出所有</el-button>
</div>
<!--隐藏的下载表格按钮-->
<a id="download" href="" target="blank" hidden download></a>
......@@ -106,6 +106,8 @@
export default {
data() {
return {
permission_read:[],
permission_control:[],
coinRechargeList: [],
listCount: 0,
Loading: false,
......@@ -131,6 +133,10 @@
ClickOutside
},
created() {
this.permission_read= parseInt(localStorage.getItem("permission_read")).toString(2).split("")
this.permission_control=parseInt(localStorage.getItem("permission_control")).toString(2).split("")
console.log("可视权限",this.permission_read)
console.log("控制权限",this.permission_control)
this.webs = this.webs.length === 0 && sessionStorage.getItem('webs') ? JSON.parse(sessionStorage.getItem('webs')) : this.webs;
this.checkedWeb = this.webs[0];
for (let item of JSON.parse(sessionStorage.getItem('platInfo'))) {
......
This diff is collapsed.
This diff is collapsed.
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