Browse Source

运营账号管理

master
ltlzx 4 years ago
parent
commit
072825337f
  1. 145
      src/api/index.js
  2. 54
      src/components/common/Sidebar.vue
  3. 44
      src/components/common/dialog/insex.vue
  4. 40
      src/components/page/AssetManagement/assetQuery.vue
  5. 2
      src/components/page/AssetManagement/groundingAudit.vue
  6. 9
      src/components/page/AssetManagement/releaseAudit.vue
  7. 27
      src/components/page/Login.vue
  8. 109
      src/components/page/OperationManagement/announcementConfiguration.vue
  9. 210
      src/components/page/platformManagement/operationAccountManagement/index.vue
  10. 388
      src/components/page/platformManagement/operationAccountManagement/list.vue
  11. 220
      src/components/page/platformManagement/operationAccountManagement/operationalRole.vue
  12. 187
      src/components/page/platformManagement/operationAccountManagement/roleSet.vue
  13. 4
      src/router/index.js

145
src/api/index.js

@ -1,5 +1,16 @@
import request from '../utils/request';
// 登录
export const login = query => {
return request({
url: 'api/Passport/login',
method: 'get',
params: query
});
};
// 账户管理--交易平台账户查询
// 平台账号列表查询
export const platformAccountList = query => {
@ -100,6 +111,22 @@ export const getAccountList = query => {
params: query
});
};
//资产上架
export const addedAsset = query => {
return request({
url: 'api/admin.Asset/addedAsset',
method: 'post',
data: query
});
};
//资产下架
export const outAsset = query => {
return request({
url: 'api/admin.Asset/outAsset',
method: 'post',
data: query
});
};
/* 资产管理 --资产挂牌审核*/
@ -111,6 +138,14 @@ export const accountApplyList = query => {
params: query
});
};
// 资产挂牌审核
export const cartellinoCheck = query => {
return request({
url: 'api/admin.Asset/cartellinoCheck',
method: 'post',
data: query
});
};
/* 资产管理 --资产发布审核*/
//资产审核列表
@ -121,6 +156,14 @@ export const sendList = query => {
params: query
});
};
// 资产发布审核
export const sendCheck = query => {
return request({
url: 'api/admin.Asset/sendCheck',
method: 'post',
data: query
});
};
/* 交易管理 */
@ -133,4 +176,106 @@ export const orderList = query => {
method: 'get',
params: query
});
};
/* 运营管理 */
/* 运营管理 --通知公告配置*/
//获取通知公告配置
export const getNoticeList = query => {
return request({
url: 'api/admin.Operation/getNoticeList',
method: 'get',
params: query
});
};
/* 平台管理 */
/* 平台管理 --运营账号管理*/
/* 平台管理 --运营账号管理--账号列表*/
//账号列表
export const getAdminlist = query => {
return request({
url: 'api/admin.User/getAdminlist',
method: 'get',
params: query
});
};
/* 平台管理 --运营账号管理--运营角色*/
//部门名称列表
export const departmentList = query => {
return request({
url: 'api/admin.User/departmentList',
method: 'get',
params: query
});
};
//部门职位列表
export const positionList = query => {
return request({
url: 'api/admin.User/positionList',
method: 'get',
params: query
});
};
//获取部门以及职位
export const getDepartment = query => {
return request({
url: 'api/admin.User/getDepartment',
method: 'get',
params: query
});
};
//获取角色
export const grouplist = query => {
return request({
url: 'api/admin.User/grouplist',
method: 'get',
params: query
});
};
//修改部门
export const updateDepartment = query => {
return request({
url: 'api/admin.User/updateDepartment',
method: 'post',
data: query
});
};
//添加管理员
export const addAdmin = query => {
return request({
url: 'api/admin.User/addAdmin',
method: 'post',
data: query
});
};
//修改管理员
export const editAdmin = query => {
return request({
url: 'api/admin.User/editAdmin',
method: 'post',
data: query
});
};
//修改管理员密码
export const editAdminPass = query => {
return request({
url: 'api/admin.User/editAdminPass',
method: 'post',
data: query
});
};
//获取角色
export const editAdminChange = query => {
return request({
url: 'api/admin.User/editAdminChange',
method: 'get',
params: query
});
};

54
src/components/common/Sidebar.vue

@ -58,7 +58,7 @@ export default {
items: [
{
icon: 'el-icon-lx-home',
index: 'dashboard',
index: '/dashboard',
title: '系统首页'
},
{
@ -67,23 +67,23 @@ export default {
title: '账户管理',
subs:[
{
index: 'platformSelect',
index: '/platformSelect',
title: '交易平台账户查询'
},
{
index: 'buyerReview',
index: '/buyerReview',
title: '买方开户审核'
},
{
index: 'businessAudit',
index: '/businessAudit',
title: '托管方入驻审核'
},
{
index: 'thirdAudit',
index: '/thirdAudit',
title: '第三方机构审核'
},
{
index: 'blacklistManagement',
index: '/blacklistManagement',
title: '黑名单管理'
},
]
@ -94,15 +94,15 @@ export default {
title: '资产管理',
subs:[
{
index: 'assetQuery',
index: '/assetQuery',
title: '资产信息查询'
},
{
index: 'groundingAudit',
index: '/groundingAudit',
title: '资产挂牌审核'
},
{
index: 'releaseAudit',
index: '/releaseAudit',
title: '资产发布审核'
},
]
@ -118,23 +118,23 @@ export default {
title: '交易管理',
subs:[
{
index: 'transactionQuery',
index: '/transactionQuery',
title: '交易订单查询'
},
{
index: 'TobepaidOrder',
index: '/TobepaidOrder',
title: '待支付订单'
},
{
index: 'publicityOrder',
index: '/publicityOrder',
title: '待公示订单'
},
{
index: 'settlementOrder',
index: '/settlementOrder',
title: '待结算订单'
},
{
index: 'refundOrderExamine',
index: '/refundOrderExamine',
title: '退款订单审核'
},
]
@ -145,23 +145,23 @@ export default {
title: '运营管理',
subs:[
{
index: 'customerOpinion',
index: '/customerOpinion',
title: '客户意见处理'
},
{
index: 'bannerConfigure',
index: '/bannerConfigure',
title: 'banner配置'
},
{
index: 'feedConfigure',
index: '/feedConfigure',
title: 'feed配置'
},
{
index: 'announcementConfiguration',
index: '/announcementConfiguration',
title: '通知公告配置'
},
{
index: 'assetsConfigure',
index: '/assetsConfigure',
title: '资产推荐配置'
}
]
@ -172,34 +172,34 @@ export default {
title: '数据管理',
subs:[
{
index: 'transactionCheck',
index: '/transactionCheck',
title: '交易账单核对'
},
{
index: 'transactionAnalysis',
index: '/transactionAnalysis',
title: '账户交易分析'
},
{
index: 'revenueStatistics',
index: '/revenueStatistics',
title: '平台收益统计'
}
]
},
{
icon: 'el-icon-lx-calendar',
index: '6',
index: '/platform ',
title: '平台管理',
subs:[
{
index: 'operationAccountManagement',
index: '/platform/operationAccountManagement',
title: '运营账号管理'
},
{
index: 'platformNotification',
index: '/platformNotification',
title: '平台通知管理'
},
{
index: 'revenueStatistics',
index: '/revenueStatistics',
title: '平台收益统计'
}
]
@ -297,7 +297,7 @@ export default {
this.collapse = msg;
bus.$emit('collapse-content', msg);
});
}
},
};
</script>

44
src/components/common/dialog/insex.vue

@ -45,7 +45,7 @@
<script>
import {whySidebar} from '../dialog/sidebar.vue'
import sidebarContent from '../dialog/content.vue'
import {getAccountData,getAssetInfo,accountCheck} from '../../../api/index'
import {getAccountData,getAssetInfo,accountCheck,cartellinoCheck,sendCheck} from '../../../api/index'
import bus from '../bus'
export default {
name:'whyDialog',
@ -69,6 +69,7 @@ export default {
type:String,
default:'buyer',
},
//
isexamine:{
type:Boolean,
default:false,
@ -92,7 +93,8 @@ export default {
account_type:'',
uid:'',
account_data:'',
id:''
id:'',
serial:'',
},
tabID:'',
contentDatas:''
@ -205,6 +207,44 @@ export default {
this.tabID=tab.id
},
saveEdit(){
if (this.dialogType==1) {
this.saveAccountCheck()
}else if (this.dialogType==2) {
if (this.assets_type==2) {
this.saveCartellinoCheck()
}else if (this.dialogType==3) {
this.saveSendCheck()
}
}
},
//
saveSendCheck(){
sendCheck(this.query).then(res => {
console.log(res);
if (res.code==100) {
this.MisShow()
this.$message.success('提交成功~');
this.$emit('getData')
}else{
this.$message.error(res.msg);
}
});
},
//
saveCartellinoCheck(){
cartellinoCheck(this.query).then(res => {
console.log(res);
if (res.code==100) {
this.MisShow()
this.$message.success('提交成功~');
this.$emit('getData')
}else{
this.$message.error(res.msg);
}
});
},
// /
saveAccountCheck(){
this.query.account_data=this.contentDatas
this.query.account_data.establish_time=this.contentDatas.establish_time/1000;
delete this.query.account_data['is_status'];

40
src/components/page/AssetManagement/assetQuery.vue

@ -91,6 +91,7 @@
>资料查看</el-button>
<el-button
type="text"
v-if="scope.row.asset_status==3 ||scope.row.asset_status==2"
@click="operationRecord(scope.row)"
>{{scope.row | operationStatus}}</el-button>
<el-button
@ -115,7 +116,7 @@
</template>
<script>
import { getAccountList ,operationRecord,updateBlackList,auditList} from '../../../api/index';
import { getAccountList ,outAsset,addedAsset,updateBlackList,auditList} from '../../../api/index';
import moment from 'moment'
export default {
data() {
@ -205,15 +206,36 @@ export default {
this.editVisible2=false
});
},
//
//
operationRecord(row){
let data={uid:row.id}
operationRecord(data).then(res => {
if (row.asset_status==3) {
this.addedAsset(row.id)
}else if(row.asset_status==2){
this.outAsset(row.id)
}
},
//
addedAsset(id){
let data={id:id}
addedAsset(data).then(res => {
console.log(res);
if (res.code==100) {
}else{
this.$message.error(res.msg);
}
});
},
//
outAsset(id){
let data={id:id}
outAsset(data).then(res => {
console.log(res);
if(res.code==100){
this.recordList=res.data.list
if (res.code==100) {
}else{
this.$message.error(res.msg);
}
this.editVisible1=true
});
},
//
@ -265,9 +287,9 @@ export default {
filters:{
operationStatus(res){
let text='';
if (res.asset_status==2|| res.asset_status==4 && res.apply_status==3) {
if (res.asset_status==3) {
text='上架资产'
}else if(res.asset_status==1 || res.asset_status==3 && res.apply_status==3 || res.apply_status==1){
}else if(res.asset_status==2){
text='下架资产'
}
return text

2
src/components/page/AssetManagement/groundingAudit.vue

@ -69,7 +69,7 @@
</el-table-column>
</el-table>
<whyDialog v-if="editVisible" :isshow="editVisible" :dialogID="dialogID"
:dialogType="dialogType" @MisShow="MisShow" :isexamine="true" :assets_type="2" >
:dialogType="dialogType" @MisShow="MisShow" :isexamine="true" :assets_type="2" @getData="getData">
</whyDialog>
</div>

9
src/components/page/AssetManagement/releaseAudit.vue

@ -79,7 +79,9 @@
></el-pagination>
</div>
</div>
<whyDialog v-if="editVisible" :isshow="editVisible" :dialogID="dialogID"
:dialogType="dialogType" @MisShow="MisShow" :isexamine="true" :assets_type="3" @getData="getData">
</whyDialog>
</div>
</template>
@ -101,6 +103,8 @@ export default {
page: 1,
limit: 10
},
dialogID:'',
dialogType:2,
tableData: [],
multipleSelection: [],
delList: [],
@ -145,6 +149,9 @@ export default {
this.getAuditList();
},
methods: {
MisShow(){
this.editVisible=false
},
//
formatDate(row,colnum){
return moment(row[colnum.create_time]).format('YYYY-MM-DD HH:mm:ss')

27
src/components/page/Login.vue

@ -4,7 +4,7 @@
<div class="ms-title">后台管理系统</div>
<el-form :model="param" :rules="rules" ref="login" label-width="0px" class="ms-content">
<el-form-item prop="username">
<el-input v-model="param.username" placeholder="username">
<el-input v-model="param.uname" placeholder="username">
<el-button slot="prepend" icon="el-icon-lx-people"></el-button>
</el-input>
</el-form-item>
@ -12,7 +12,7 @@
<el-input
type="password"
placeholder="password"
v-model="param.password"
v-model="param.upass"
@keyup.enter.native="submitForm()"
>
<el-button slot="prepend" icon="el-icon-lx-lock"></el-button>
@ -28,16 +28,17 @@
</template>
<script>
import {login} from '../../api/index'
export default {
data: function() {
return {
param: {
username: 'admin',
password: '123123',
uname: '',
upass: '',
},
rules: {
username: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
uname: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
upass: [{ required: true, message: '请输入密码', trigger: 'blur' }],
},
};
},
@ -45,9 +46,17 @@ export default {
submitForm() {
this.$refs.login.validate(valid => {
if (valid) {
this.$message.success('登录成功');
localStorage.setItem('ms_username', this.param.username);
this.$router.push('/');
login(this.param).then(res=>{
console.info(res)
if (res.code==100) {
this.$message.success('登录成功');
localStorage.setItem('ms_username', res.username);
localStorage.setItem('ms_id', res.uid);
this.$router.push('/');
}else{
this.$message.error(res.msg);
}
})
} else {
this.$message.error('请输入账号和密码');
console.log('error submit!!');

109
src/components/page/OperationManagement/announcementConfiguration.vue

@ -10,21 +10,21 @@
</div>
<div class="container">
<div class="handle-box">
<el-input placeholder="公告标题" class="handle-input mr10"></el-input>
<el-select placeholder="发布人员" class="handle-select mr10">
<el-input placeholder="公告标题" class="handle-input mr10" v-model="query.title"></el-input>
<el-select placeholder="发布人员" class="handle-select mr10" v-model="query.auditID">
<el-option key="1" label="广东省" value="广东省"></el-option>
<el-option key="2" label="湖南省" value="湖南省"></el-option>
</el-select>
<el-date-picker
class="mr10"
v-model="query.time"
type="datetimerange"
:picker-options="pickerOptions"
range-separator="至"
value-format="yyyy-MM-dd h:m:s"
start-placeholder="开始日期"
end-placeholder="结束日期"
align="right"
class="mr10"
v-model="query.time"
type="datetimerange"
:picker-options="pickerOptions"
range-separator="至"
value-format="yyyy-MM-dd h:m:s"
start-placeholder="开始日期"
end-placeholder="结束日期"
align="right"
>
</el-date-picker>
<el-button type="primary" icon="el-icon-search" @click="handleSearch">搜索</el-button>
@ -38,7 +38,7 @@
@selection-change="handleSelectionChange"
>
<el-table-column prop="id" label="序号" width="55" align="center"></el-table-column>
<el-table-column prop="name" label="发布日期"></el-table-column>
<el-table-column prop="name" label="发布日期" :formatter="formatDate"></el-table-column>
<el-table-column label="公告标题" prop="name"></el-table-column>
<el-table-column prop="address" label="法人名称"></el-table-column>
<el-table-column label="意见内容" prop="name"></el-table-column>
@ -64,8 +64,8 @@
<el-pagination
background
layout="total, prev, pager, next"
:current-page="query.pageIndex"
:page-size="query.pageSize"
:current-page="query.page"
:page-size="query.limit"
:total="pageTotal"
@current-change="handlePageChange"
></el-pagination>
@ -91,16 +91,17 @@
</template>
<script>
import { fetchData } from '../../../api/index';
import { getNoticeList } from '../../../api/index';
export default {
name: 'basetable',
data() {
return {
query: {
address: '',
name: '',
pageIndex: 1,
pageSize: 10
auditID: '',
title: '',
page: 1,
limit: 10,
time:''
},
tableData: [],
multipleSelection: [],
@ -111,35 +112,35 @@ export default {
idx: -1,
id: -1,
pickerOptions: {
shortcuts: [
{
text: "最近一周",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit("pick", [start, end]);
},
},
],
shortcuts: [
{
text: "最近一周",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit("pick", [start, end]);
},
},
],
},
};
},
@ -147,12 +148,16 @@ export default {
this.getData();
},
methods: {
//
formatDate(row,colnum){
return moment(row[colnum.create_time]).format('YYYY-MM-DD HH:mm:ss')
},
// easy-mock
getData() {
fetchData(this.query).then(res => {
// console.log(res);
getNoticeList(this.query).then(res => {
console.log(res);
this.tableData = res.list;
this.pageTotal = res.pageTotal || 50;
this.pageTotal = res.pageTotal ;
});
},
//
@ -190,7 +195,7 @@ export default {
},
//
handlePageChange(val) {
this.$set(this.query, 'pageIndex', val);
this.$set(this.query, 'page', val);
this.getData();
}
}

210
src/components/page/platformManagement/operationAccountManagement/index.vue

@ -9,40 +9,70 @@
</el-breadcrumb>
</div>
<div class="container banner_title">
<router-link to="/operationAccountManagement">
<div class="banner_title_item">
<div class="banner_title_item" @click="goPage('/platform/operationAccountManagement')">
<img src="../../../../assets/img/accountList.png" alt="" class="photo">
<p>账号列表</p>
</div>
</router-link>
<div class="banner_title_item">
<div class="banner_title_item" @click="handleEdit">
<img src="../../../../assets/img/creatAccount.png" alt="" class="preview">
<p>创建账号</p>
</div>
<router-link to="/operationAccountManagement/operationalRole">
<div class="banner_title_item">
<div class="banner_title_item" @click="goPage('/platform/operationalRole')">
<img src="../../../../assets/img/operationalRole.png" alt="" class="preview">
<p>运营角色</p>
</div>
</router-link>
<router-link to="/operationAccountManagement/roleSet">
<div class="banner_title_item">
<div class="banner_title_item" @click="goPage('/platform/roleSet')">
<img src="../../../../assets/img/roleSet.png" alt="" class="preview">
<p>角色权限</p>
</div>
</router-link>
</div>
<div class="container banner_content">
<router-view></router-view>
<router-view v-if="refreshNowPage"></router-view>
</div>
<!-- 编辑弹出框 -->
<el-dialog title="编辑" :visible.sync="editVisible" width="30%">
<el-form ref="form" :model="form" label-width="70px">
<el-form-item label="用户名">
<el-input v-model="form.name"></el-input>
<el-dialog title="创建账号" :visible.sync="editVisible" width="30%" center>
<el-form ref="form" :model="query" label-width="80px" :rules="queryRules">
<el-form-item label="部门名称" prop="department_id">
<el-select v-model="query.department_id" placeholder="请选择" @change="positionList">
<el-option
v-for="item in tableData"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="地址">
<el-input v-model="form.address"></el-input>
<el-form-item label="职位名称" prop="position_id">
<el-select v-model="query.position_id" placeholder="请选择">
<el-option
v-for="item in tableData2"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="账号角色" prop="role_id">
<el-select v-model="query.role_id" placeholder="请选择">
<el-option
v-for="item in tableData1"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="账号名称" prop="username">
<el-input v-model="query.username" class="form_input" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="登录账号" prop="uname">
<el-input v-model="query.uname" class="form_input" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="登录密码" prop="upass">
<el-input v-model="query.upass" class="form_input" type="password" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="确认密码" prop="confirmPwd">
<el-input v-model="query.confirmPwd " class="form_input" type="password" placeholder="请输入"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@ -54,108 +84,96 @@
</template>
<script>
import { fetchData } from '../../../../api/index';
import { departmentList,positionList,grouplist ,addAdmin} from '../../../../api/index';
export default {
name: 'operationAccountManagement',
data() {
return {
refreshNowPage:true,
query: {
address: '',
name: '',
pageIndex: 1,
pageSize: 10
uname: '',
upass: '',
role_id: '',
username:'',
position_id:'',
department_id:'',
confirmPwd:'',
},
tableData: [],
multipleSelection: [],
delList: [],
tableData1: [],
tableData2: [],
editVisible: false,
pageTotal: 0,
form: {},
idx: -1,
id: -1,
pickerOptions: {
shortcuts: [
{
text: "最近一周",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit("pick", [start, end]);
},
},
],
},
queryRules:{
uname: [{ required: true, message: '请输入登录账号', trigger: 'blur' }],
upass: [{ required: true, message: '请输入登录密码', trigger: 'blur' }],
confirmPwd: [{ required: true, message: '请输入确认密码', trigger: 'blur' }],
username: [{ required: true, message: '请输入账号名称', trigger: 'blur' }],
position_id: [{ required: true, message: '请选择职位名称', trigger: 'blur' }],
department_id: [{ required: true, message: '请选择部门名称', trigger: 'blur' }],
role_id: [{ required: true, message: '请输选择账号角色', trigger: 'blur' }],
}
};
},
created() {
this.getData();
this.grouplist()
},
methods: {
// easy-mock
getData() {
fetchData(this.query).then(res => {
positionList(){
let data={id:this.query.department_id}
positionList(data).then(res => {
// console.log(res);
this.tableData = res.list;
this.pageTotal = res.pageTotal || 50;
if (res.code==100) {
this.tableData2 = res.data;
}
});
},
//
handleSearch() {
this.$set(this.query, 'pageIndex', 1);
this.getData();
goPage(url){
this.$router.push(url)
},
//
handleDelete(index, row) {
//
this.$confirm('确定要删除吗?', '提示', {
type: 'warning'
})
.then(() => {
this.$message.success('删除成功');
this.tableData.splice(index, 1);
})
.catch(() => {});
// easy-mock
getData() {
departmentList().then(res => {
// console.log(res);
if (res.code==100) {
this.tableData = res.data;
}
});
},
//
handleSelectionChange(val) {
this.multipleSelection = val;
grouplist(){
grouplist().then(res => {
// console.log(res);
if (res.code==100) {
this.tableData1 = res.data;
}
});
},
//
handleEdit(index, row) {
this.idx = index;
this.form = row;
handleEdit() {
this.editVisible = true;
},
//
saveEdit() {
this.editVisible = false;
this.$message.success(`修改第 ${this.idx + 1} 行成功`);
this.$set(this.tableData, this.idx, this.form);
this.$refs.form.validate(valid => {
if (valid) {
if (this.query.confirmPwd==this.query.upass) {
addAdmin(this.query).then(res => {
console.log(res);
if (res.code==100) {
this.editVisible = false;
this.$message.success(`添加成功~`);
this.refreshNowPage=false;
setTimeout(() => {
this.refreshNowPage = true;
}, 10);
}
});
}else{
this.$message.error('登录密码与确认密码不一致~');
}
}
})
},
//
handlePageChange(val) {
this.$set(this.query, 'pageIndex', val);
this.getData();
}
}
};
</script>
@ -209,4 +227,10 @@ export default {
width: 40px;
height: 40px;
}
.form_input{
width: 215px;
}
.el-dialog__footer{
text-align: center;
}
</style>

388
src/components/page/platformManagement/operationAccountManagement/list.vue

@ -1,37 +1,49 @@
<template>
<div>
<div class="handle-box">
<el-input placeholder="请输入机构名称" class="handle-input mr10"></el-input>
<el-input placeholder="请输入登录账号" class="handle-input mr10"></el-input>
<el-select placeholder="部门名称" class="handle-select mr10">
<el-option key="1" label="广东省" value="广东省"></el-option>
<el-option key="2" label="湖南省" value="湖南省"></el-option>
</el-select>
<el-select placeholder="职位名称" class="handle-select mr10">
<el-option key="1" label="广东省" value="广东省"></el-option>
<el-option key="2" label="湖南省" value="湖南省"></el-option>
</el-select>
<el-select placeholder="账号角色" class="handle-select mr10">
<el-option key="1" label="广东省" value="广东省"></el-option>
<el-option key="2" label="湖南省" value="湖南省"></el-option>
</el-select>
<el-select placeholder="账号状态" class="handle-select mr10">
<el-option key="1" label="广东省" value="广东省"></el-option>
<el-option key="2" label="湖南省" value="湖南省"></el-option>
</el-select>
<el-date-picker
class="mr10"
v-model="query.time"
type="datetimerange"
:picker-options="pickerOptions"
range-separator="至"
value-format="yyyy-MM-dd h:m:s"
start-placeholder="开始日期"
end-placeholder="结束日期"
align="right"
>
</el-date-picker>
<el-button type="primary" icon="el-icon-search" @click="handleSearch">搜索</el-button>
<el-input placeholder="请输入账号名称" class="handle-input mr10" v-model="query.username"></el-input>
<el-input placeholder="请输入登录账号" class="handle-input mr10" v-model="query.uname"></el-input>
<el-select placeholder="部门名称" class="handle-select mr10" v-model="query.department_id" @change="positionList(0)">
<el-option
v-for="item in tableData3"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
<el-select placeholder="职位名称" class="handle-select mr10" v-model="query.position_id">
<el-option
v-for="item in tableData2"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
<el-select placeholder="账号角色" class="handle-select mr10" v-model="query.role_id">
<el-option
v-for="item in tableData1"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
<el-select placeholder="账号状态" class="handle-select mr10" v-model="query.status">
<el-option key="1" label="启用" :value="0"></el-option>
<el-option key="2" label="禁用" :value="1"></el-option>
</el-select>
<el-date-picker
class="mr10"
v-model="query.date"
type="datetimerange"
:picker-options="pickerOptions"
range-separator="至"
value-format="timestamp"
start-placeholder="开始日期"
end-placeholder="结束日期"
align="right"
>
</el-date-picker>
<el-button type="primary" icon="el-icon-search" @click="handleSearch">搜索</el-button>
</div>
<el-table
:data="tableData"
@ -41,20 +53,17 @@
header-cell-class-name="table-header"
@selection-change="handleSelectionChange"
>
<el-table-column prop="id" label="序号" width="55" align="center"></el-table-column>
<el-table-column prop="name" label="创建时间"></el-table-column>
<el-table-column label="账户名称" prop="name"></el-table-column>
<el-table-column prop="address" label="登录账号"></el-table-column>
<el-table-column label="部门名称" prop="name"></el-table-column>
<el-table-column label="职位名称" prop="name"></el-table-column>
<el-table-column label="账号角色" prop="name"></el-table-column>
<el-table-column label="账号状态" prop="name">
<template>
<el-switch
v-model="value1"
>
</el-switch>
</template>
<el-table-column prop="uid" label="序号" width="55" align="center"></el-table-column>
<el-table-column prop="create_time" label="创建时间" :formatter="formatDate"></el-table-column>
<el-table-column label="账户名称" prop="username"></el-table-column>
<el-table-column prop="uname" label="登录账号"></el-table-column>
<el-table-column label="部门名称" prop="department_name"></el-table-column>
<el-table-column label="职位名称" prop="position_name"></el-table-column>
<el-table-column label="账号角色" prop="role_name"></el-table-column>
<el-table-column label="账号状态" prop="status">
<template slot-scope="scope">
<el-switch v-model="scope.row.status" :active-value="0" :inactive-value="1" @change="editAdminChange(scope.row.uid)"></el-switch>
</template>
</el-table-column>
<el-table-column label="操作" width="280" align="center">
<template slot-scope="scope">
@ -64,7 +73,7 @@
>信息变更</el-button>
<el-button
type="text"
@click="handleDelete(scope.$index, scope.row)"
@click="handleEdit1(scope.$index, scope.row)"
>重置密码</el-button>
</template>
</el-table-column>
@ -73,21 +82,57 @@
<el-pagination
background
layout="total, prev, pager, next"
:current-page="query.pageIndex"
:page-size="query.pageSize"
:current-page="query.page"
:page-size="query.limit"
:total="pageTotal"
@current-change="handlePageChange"
></el-pagination>
</div>
<!-- 编辑弹出框 -->
<el-dialog title="编辑" :visible.sync="editVisible" width="30%">
<el-form ref="form" :model="form" label-width="70px">
<el-form-item label="用户名">
<el-input v-model="form.name"></el-input>
<el-dialog title="信息变更" :visible.sync="editVisible" width="30%" center>
<el-form ref="form" :model="query1" label-width="90px" :rules="queryRules">
<el-form-item label="部门名称:" prop="department_id">
<el-select v-model="query1.department_id" placeholder="请选择" @change="positionList(1)">
<el-option
v-for="item in tableData3"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="职位名称:" prop="position_id">
<el-select v-model="query1.position_id" placeholder="请选择">
<el-option
v-for="item in tableData4"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="账号角色:" prop="role_id">
<el-select v-model="query1.role_id" placeholder="请选择">
<el-option
v-for="item in tableData1"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="账号名称:" prop="username">
<el-input v-model="query1.username" class="form_input" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="地址">
<el-input v-model="form.address"></el-input>
<el-form-item label="登录账号:" >
<span>{{query1.uname}}</span>
</el-form-item>
<el-form-item label="账号状态:" prop="status">
<el-select placeholder="请选择" v-model="query1.status">
<el-option key="1" label="启用" :value="0"></el-option>
<el-option key="2" label="禁用" :value="1"></el-option>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@ -95,78 +140,161 @@
<el-button type="primary" @click="saveEdit"> </el-button>
</span>
</el-dialog>
<!-- 编辑弹出框 -->
<el-dialog title="修改密码" :visible.sync="editVisible1" width="30%" center>
<el-form ref="form1" :model="query2" label-width="90px" :rules="queryRules">
<el-form-item label="旧密码" prop="before_pass">
<el-input v-model="query2.before_pass" class="form_input" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="新密码" prop="after_pass">
<el-input v-model="query2.after_pass" type="password" class="form_input" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="确认密码" prop="confirmPwd">
<el-input v-model="query2.confirmPwd " type="password" class="form_input" placeholder="请输入"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="editVisible = false"> </el-button>
<el-button type="primary" @click="saveEdit1"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { fetchData } from '../../../../api/index';
import { getAdminlist ,editAdminChange,departmentList,positionList,grouplist,editAdmin ,editAdminPass} from '../../../../api/index';
import moment from 'moment'
export default {
name:'operationList',
data() {
return {
query: {
address: '',
name: '',
pageIndex: 1,
pageSize: 10
id: '',
page: 1,
limit: 10,
date:[],
role_id: '',
position_id:'',
department_id:'',
uname: '',
username:''
},
query2:{
id:'',
confirmPwd:'',
after_pass:'',
before_pass:''
},
value1:true,
tableData: [],
multipleSelection: [],
delList: [],
tableData1: [],
tableData2: [],
tableData3: [],
tableData4:[],
editVisible: false,
editVisible1: false,
pageTotal: 0,
form: {},
idx: -1,
id: -1,
query1: {},
queryRules:{
uname: [{ required: true, message: '请输入登录账号', trigger: 'blur' }],
after_pass: [{ required: true, message: '请输入新密码', trigger: 'blur' }],
before_pass: [{ required: true, message: '请输入旧密码', trigger: 'blur' }],
confirmPwd: [{ required: true, message: '请输入确认密码', trigger: 'blur' }],
username: [{ required: true, message: '请输入账号名称', trigger: 'blur' }],
position_id: [{ required: true, message: '请选择职位名称', trigger: 'blur' }],
department_id: [{ required: true, message: '请选择部门名称', trigger: 'blur' }],
role_id: [{ required: true, message: '请输选择账号角色', trigger: 'blur' }],
status: [{ required: true, message: '请输选择账号状态', trigger: 'blur' }],
},
pickerOptions: {
shortcuts: [
{
text: "最近一周",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit("pick", [start, end]);
},
},
],
shortcuts: [
{
text: "最近一周",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit("pick", [start, end]);
},
},
],
},
};
},
created() {
this.getData();
this.departmentList();
this.grouplist()
},
methods: {
departmentList() {
departmentList().then(res => {
if (res.code==100) {
this.tableData3 = res.data;
}
});
},
grouplist(){
grouplist().then(res => {
if (res.code==100) {
this.tableData1 = res.data;
}
});
},
positionList(type){
let data={id:this.query.department_id}
positionList(data).then(res => {
if (res.code==100) {
if (type==1) {
this.tableData4 = res.data;
}else{
this.tableData2 = res.data;
}
}
});
},
editAdminChange(id){
let data={id:id}
editAdminChange(data).then(res => {
console.log(res);
if (res.code=100) {
this.$message.success('修改状态成功~')
}
});
},
//
formatDate(row,colnum){
return moment(row[colnum.create_time]).format('YYYY-MM-DD HH:mm:ss')
},
// easy-mock
getData() {
fetchData(this.query).then(res => {
// console.log(res);
getAdminlist(this.query).then(res => {
console.log(res);
this.tableData = res.list;
this.pageTotal = res.pageTotal || 50;
this.pageTotal = res.count ;
});
},
//
handleSearch() {
this.$set(this.query, 'pageIndex', 1);
this.$set(this.query, 'page', 1);
this.getData();
},
//
@ -187,19 +315,66 @@ export default {
},
//
handleEdit(index, row) {
this.idx = index;
this.form = row;
this.editVisible = true;
let data={id:row.uid}
getAdminlist(data).then(res => {
console.log(res);
if (res.code==100) {
this.query1 = res.list;
let data1={id:this.query1.department_id}
positionList(data1).then(res => {
console.info(res)
if (res.code==100) {
this.tableData4 = res.data;
this.editVisible = true;
}
});
}
});
},
handleEdit1(index, row){
this.query2.id=row.uid
this.editVisible1 = true;
},
saveEdit1(){
this.$refs.form1.validate(valid => {
if (valid) {
if (this.query.confirmPwd==this.query.upass) {
editAdminPass(this.query2).then(res => {
console.log(res);
if (res.code==100) {
this.editVisible1 = false;
this.$message.success(`修改密码成功~`);
Object.keys(this.query2).forEach(key=>{this.query2[key]=''})
}else{
this.$message.error(res.msg);
}
});
}else{
this.$message.error('新密码与确认密码不一致~');
}
}
})
},
//
saveEdit() {
this.editVisible = false;
this.$message.success(`修改第 ${this.idx + 1} 行成功`);
this.$set(this.tableData, this.idx, this.form);
this.$refs.form.validate(valid => {
if (valid) {
editAdmin(this.query1).then(res => {
console.log(res);
if (res.code==100) {
this.editVisible = false;
this.$message.success(`修改成功~`);
this.getData()
}else{
this.$message.error(res.msg);
}
});
}
})
},
//
handlePageChange(val) {
this.$set(this.query, 'pageIndex', val);
this.$set(this.query, 'page', val);
this.getData();
}
}
@ -235,4 +410,7 @@ export default {
width: 40px;
height: 40px;
}
.form_input{
width: 215px;
}
</style>

220
src/components/page/platformManagement/operationAccountManagement/operationalRole.vue

@ -5,142 +5,142 @@
<div class="body_left">
<p class="body_left_title">部门名称</p>
<div class="body_left_content">
<div class="body_left_content_item">
<el-input placeholder="请输入机构名称" class="handle-input mr10"></el-input>
<i class="el-icon-remove-outline" style="color:red"></i>
<div class="body_left_content_item" v-for="(item,index) in tableData" :key="index" @click="selectDepartment(index)">
<el-input placeholder="请输入机构名称" v-model="item.name" class="handle-input mr10" ></el-input>
<i class="el-icon-remove-outline" style="color:red" @click="deleteDepartment(index)"></i>
</div>
<button class="body_add">+</button>
<button class="body_add" @click="addDepartment">+</button>
</div>
</div>
<div class="body_right">
<div class="body_right" v-if="selectIndex!=null ">
<div class="body_right_title">
<div class="body_right_title_left">职位名称</div>
<div class="body_right_title_right">权限角色</div>
</div>
<div>
<div class="body_right_item">
<el-input placeholder="请输入机构名称" class="handle-input mr10"></el-input>
<el-select placeholder="账号状态" class="handle-select mr10">
<el-option key="1" label="广东省" value="广东省"></el-option>
<el-option key="2" label="湖南省" value="湖南省"></el-option>
</el-select>
<i class="el-icon-remove-outline" style="color:red"></i>
</div>
<!-- <template v-if="selectIndex"> -->
<div class="body_right_item" v-for="(item1,index1) in tableData[selectIndex].children" :key="index1">
<el-input placeholder="请输入机构名称" class="handle-input mr10" v-model="item1.name"></el-input>
<el-select placeholder="账号状态" class="handle-select mr10" v-model="item1.group_id">
<el-option :label="item.name" :value="item.id" v-for="(item) in roleList" :key="item.id"></el-option>
</el-select>
<i class="el-icon-remove-outline" style="color:red" @click="deletePosition(index1)"></i>
</div>
<!-- </template> -->
</div>
<button class="body_add body_add1">+</button>
<button class="body_add body_add1" @click="addPosition">+</button>
</div>
</div>
<el-button type="primary">保存</el-button>
<el-button type="primary" @click="updateDepartment">保存</el-button>
</div>
</template>
<script>
import { fetchData } from '../../../../api/index';
import { getDepartment,grouplist,updateDepartment} from '../../../../api/index';
export default {
name:'operationalRole',
data() {
return {
query: {
address: '',
name: '',
pageIndex: 1,
pageSize: 10
},
value1:true,
tableData: [],
multipleSelection: [],
delList: [],
editVisible: false,
pageTotal: 0,
form: {},
idx: -1,
id: -1,
pickerOptions: {
shortcuts: [
{
text: "最近一周",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit("pick", [start, end]);
},
},
],
},
query: {
pageIndex: 1,
pageSize: 10
},
tableData: [
{name:'',children:[{name:'',group_id:''}]}
],
selectIndex:null,
roleList:[]
};
},
created() {
this.getData();
this.getData();
this.grouplist()
},
methods: {
goBack(){
this.$router.go(-1);
},
// easy-mock
getData() {
fetchData(this.query).then(res => {
// console.log(res);
this.tableData = res.list;
this.pageTotal = res.pageTotal || 50;
});
},
//
handleSearch() {
this.$set(this.query, 'pageIndex', 1);
this.getData();
},
//
handleDelete(index, row) {
//
this.$confirm('确定要删除吗?', '提示', {
type: 'warning'
//
deletePosition(index){
if (this.tableData[this.selectIndex].children.length==1) {
this.tableData[this.selectIndex].children.map(item1=>{
item1.name='',
item1.group_id=''
})
}else{
this.tableData[this.selectIndex].children.splice(index,1);
}
},
//
addPosition(){
let data={name:'',group_id:''}
this.tableData[this.selectIndex].children.push(data)
},
updateDepartment(){
let data={data:this.tableData}
updateDepartment(this.tableData).then(res => {
console.log(res);
if (res.code==100) {
this.$message.success('保存成功~')
}else{
this.$message.error(res.msg);
}
});
},
deleteDepartment(index){
if (this.tableData.length==1) {
this.tableData.map(item=>{
item.name='',
item.children.map(item1=>{
item1.name='',
item1.group_id=''
})
.then(() => {
this.$message.success('删除成功');
this.tableData.splice(index, 1);
})
.catch(() => {});
},
//
handleSelectionChange(val) {
this.multipleSelection = val;
},
//
handleEdit(index, row) {
this.idx = index;
this.form = row;
this.editVisible = true;
},
//
saveEdit() {
this.editVisible = false;
this.$message.success(`修改第 ${this.idx + 1} 行成功`);
this.$set(this.tableData, this.idx, this.form);
},
//
handlePageChange(val) {
this.$set(this.query, 'pageIndex', val);
this.getData();
})
}else{
this.tableData.splice(index,1);
if (this.selectIndex==index) {
if (this.selectIndex==0) {
this.selectIndex=0
}else{
this.selectIndex-=1
}
}
}
},
addDepartment(){
let data={name:'',children:[{name:'',group_id:''}]}
this.tableData.push(data)
},
grouplist(){
grouplist(this.query).then(res => {
// console.log(res);
if (res.code==100) {
this.roleList = res.data;
}
});
},
selectDepartment(index){
// console.info(index)
this.selectIndex=index
},
goBack(){
this.$router.go(-1);
},
// easy-mock
getData() {
getDepartment(this.query).then(res => {
console.log(res);
if (res.code==100) {
if (res.data.length!=0) {
this.tableData = res.data;
this.selectIndex=0
}
}
});
},
//
saveEdit() {
this.editVisible = false;
this.$message.success(`修改第 ${this.idx + 1} 行成功`);
this.$set(this.tableData, this.idx, this.form);
},
}
};
</script>

187
src/components/page/platformManagement/operationAccountManagement/roleSet.vue

@ -1,121 +1,102 @@
<template>
<div>
<el-page-header @back="goBack" content="运营角色"></el-page-header>
<div class="form-box">
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="角色权限:">
<el-select v-model="form.region" placeholder="请选择">
<el-option key="bbk" label="步步高" value="bbk"></el-option>
<el-option key="xtc" label="小天才" value="xtc"></el-option>
<el-option key="imoo" label="imoo" value="imoo"></el-option>
</el-select>
</el-form-item>
<el-form-item label="账户名称:">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="登录账号:">
<span>18083135555</span>
</el-form-item>
<el-form-item label="绑定手机:">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="账户类型:">
<el-select v-model="form.region" placeholder="请选择">
<el-option key="bbk" label="步步高" value="bbk"></el-option>
<el-option key="xtc" label="小天才" value="xtc"></el-option>
<el-option key="imoo" label="imoo" value="imoo"></el-option>
</el-select>
</el-form-item>
<el-form-item label="账号状态:">
<el-select v-model="form.region" placeholder="请选择">
<el-option key="bbk" label="步步高" value="bbk"></el-option>
<el-option key="xtc" label="小天才" value="xtc"></el-option>
<el-option key="imoo" label="imoo" value="imoo"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">保存</el-button>
</el-form-item>
</el-form>
</div>
<el-page-header @back="goBack" content="信息变更"></el-page-header>
<div class="form-box">
<el-form ref="form" :model="query" label-width="90px" :rules="queryRules">
<el-form-item label="角色权限:" prop="role_id">
<el-select v-model="query.role_id" placeholder="请选择">
<el-option
v-for="item in tableData"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="账户名称:" prop="username">
<el-input v-model="query.username"></el-input>
</el-form-item>
<el-form-item label="登录账号:">
<span>{{query.uname}}</span>
</el-form-item>
<!-- <el-form-item label="绑定手机:">
<el-input v-model="query.name"></el-input>
</el-form-item> -->
<el-form-item label="账号状态:" prop="status">
<el-select placeholder="请选择" v-model="query.status">
<el-option key="1" label="启用" :value="0"></el-option>
<el-option key="2" label="禁用" :value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">保存</el-button>
</el-form-item>
</el-form>
</div>
</div>
</template>
<script>
import { getAdminlist ,grouplist,editAdmin} from '../../../../api/index';
export default {
data() {
return {
options: [
{
value: 'guangdong',
label: '广东省',
children: [
{
value: 'guangzhou',
label: '广州市',
children: [
{
value: 'tianhe',
label: '天河区'
},
{
value: 'haizhu',
label: '海珠区'
}
]
},
{
value: 'dongguan',
label: '东莞市',
children: [
{
value: 'changan',
label: '长安镇'
},
{
value: 'humen',
label: '虎门镇'
}
]
}
]
},
{
value: 'hunan',
label: '湖南省',
children: [
{
value: 'changsha',
label: '长沙市',
children: [
{
value: 'yuelu',
label: '岳麓区'
}
]
}
]
}
],
form: {
name: '',
region: '',
date1: '',
date2: '',
delivery: true,
type: ['步步高'],
resource: '小天才',
desc: '',
options: []
}
query: {
id: '',
page: 1,
limit: 10,
time:'',
role_id: '',
position_id:'',
department_id:'',
uname: '',
username:''
},
tableData: [],
queryRules:{
username: [{ required: true, message: '请输入账号名称', trigger: 'blur' }],
role_id: [{ required: true, message: '请输选择账号角色', trigger: 'blur' }],
status: [{ required: true, message: '请输选择账号状态', trigger: 'blur' }],
},
};
},
created(){
this.query.id=localStorage.getItem('ms_id');
this.grouplist();
this.getData();
},
methods: {
// easy-mock
getData() {
getAdminlist(this.query).then(res => {
console.log(res);
this.query = res.list;
});
},
grouplist(){
grouplist().then(res => {
// console.log(res);
if (res.code==100) {
this.tableData = res.data;
}
});
},
goBack(){
this.$router.go(-1);
this.$router.go(-1);
},
onSubmit() {
this.$message.success('提交成功!');
this.$refs.form.validate(valid => {
if (valid) {
editAdmin(this.query).then(res => {
console.log(res);
if (res.code==100) {
this.$message.success(`修改成功~`);
}else{
this.$message.error(res.msg);
}
});
}
})
}
}
};

4
src/router/index.js

@ -214,12 +214,12 @@ export default new Router({
},
//平台管理
{
path: '/operationAccountManagement',
path: '/platform',
component: () => import(/* webpackChunkName: "operationAccountManagement" */ '../components/page/platformManagement/operationAccountManagement/index.vue'),
meta: { title: '运营账号管理' },
children:[
{
path: '',
path: 'operationAccountManagement',
component: () => import(/* webpackChunkName: "operationAccountManagement" */ '../components/page/platformManagement/operationAccountManagement/list.vue'),
meta: { title: '运营账号管理' },
},

Loading…
Cancel
Save