202 lines
5.6 KiB
Vue
202 lines
5.6 KiB
Vue
<template>
|
|
<t-card :bordered="false">
|
|
<div class="form-step-container">
|
|
<t-button @click="add">新增</t-button>
|
|
<t-table
|
|
rowKey="index"
|
|
:data="list"
|
|
:columns="columns"
|
|
:stripe="false"
|
|
:bordered="false"
|
|
:hover="true"
|
|
size="large"
|
|
table-layout="auto"
|
|
cellEmptyContent="-"
|
|
>
|
|
<template #group="{ row }">
|
|
<t-tag theme="primary" v-if="row.group==1">超级管理员</t-tag>
|
|
<t-tag theme="success" v-if="row.group==2">办事员</t-tag>
|
|
</template>
|
|
<template #select="{ row }">
|
|
<t-space size="24px" v-if="row.group!=1">
|
|
<t-button theme="warning" @click="edit(row)">编辑</t-button>
|
|
<t-popconfirm content="确认删除吗?" @confirm="del(row)">
|
|
<t-button theme="danger" >删除</t-button>
|
|
</t-popconfirm>
|
|
</t-space>
|
|
</template>
|
|
</t-table>
|
|
</div>
|
|
<t-dialog :header="isEdit?'编辑管理员':'新增管理员'" :visible="addMode" :onClose="onCloseMy" @confirm="onSubmit">
|
|
<t-form>
|
|
<t-form-item label="管理员帐号" name="name">
|
|
<t-input placeholder="请输入管理员帐号" v-model="modData.zhanghu"/>
|
|
</t-form-item>
|
|
<t-form-item label="管理员密码" name="password">
|
|
<t-input placeholder="请输入管理员密码" v-model="modData.password"/>
|
|
</t-form-item>
|
|
<t-form-item label="绑定会员" name="password">
|
|
<t-select
|
|
v-model="modData.member_id"
|
|
:filterable="true"
|
|
placeholder="搜索会员"
|
|
style="width: 400px; display: inline-block"
|
|
>
|
|
<t-option v-for="(item,index) in options" :value="item.value" :key="index" :label="item.label"></t-option>
|
|
</t-select>
|
|
</t-form-item>
|
|
<t-form-item label="权限类型" name="type">
|
|
<t-select v-model="modData.group">
|
|
<t-option value="2" key="2" label="业务员"></t-option>
|
|
</t-select>
|
|
</t-form-item>
|
|
</t-form>
|
|
</t-dialog>
|
|
</t-card>
|
|
|
|
</template>
|
|
<script lang="ts">
|
|
export default {
|
|
data() {
|
|
return {
|
|
modData:{
|
|
zhanghu:'',
|
|
password:'',
|
|
group:'2',
|
|
member_id:null,
|
|
pid:0
|
|
},
|
|
options: [],
|
|
addMode: false,
|
|
isEdit: false,
|
|
editID:0,
|
|
list: [],
|
|
columns: [
|
|
{colKey: 'zhanghu', title: '管理员帐号'},
|
|
{colKey: 'nikename', title: '绑定会员'},
|
|
{colKey: 'group', title: '权限类型'},
|
|
{colKey: 'select', title: '操作', width: 200},
|
|
],
|
|
association:{},
|
|
}
|
|
},
|
|
mounted() {
|
|
//this.member_id=this.$route.query.id;
|
|
if(typeof (this.$store.state.user.association)=='object'){
|
|
this.association=this.$store.state.user.association;
|
|
}else{
|
|
this.association=JSON.parse(this.$store.state.user.association);
|
|
}
|
|
this.getList();
|
|
this.getUserList();
|
|
},
|
|
methods: {
|
|
getList() {
|
|
this.$request
|
|
.post("/association")
|
|
.then( (res) => {
|
|
console.log(res);
|
|
this.list=res.data;
|
|
})
|
|
.catch((e) => {
|
|
console.log(e);
|
|
});
|
|
},
|
|
getUserList() {
|
|
this.$request
|
|
.post("/member",{if_xianshi:1,size:1000,page:1})
|
|
.then( (res) => {
|
|
console.log(res);
|
|
var key=res.data.ret;
|
|
var transformedSelectList = key.map(item => ({
|
|
value: item.member_id,
|
|
label: item.nikename
|
|
}));
|
|
this.options=transformedSelectList;
|
|
})
|
|
.catch((e) => {
|
|
console.log(e);
|
|
});
|
|
},
|
|
del(d){
|
|
console.log(d);
|
|
this.$request
|
|
.post('/association/delAdmin',{id:d.id})
|
|
.then((res) => {
|
|
if(res.code==1){
|
|
this.$message.success(res.msg);
|
|
this.getList();
|
|
}else {
|
|
this.$message.error(res.msg);
|
|
}
|
|
console.log(res);
|
|
})
|
|
.catch((e) => {
|
|
console.log(e);
|
|
});
|
|
},
|
|
add(){
|
|
delete this.modData.id;
|
|
this.modData.zhanghu='';
|
|
this.modData.password= '';
|
|
this.modData.member_id=null;
|
|
this.addMode=true;
|
|
this.isEdit=false;
|
|
},
|
|
edit(d){
|
|
this.editID=d.id;
|
|
this.modData.zhanghu=d.zhanghu;
|
|
this.modData.password=d.password;
|
|
this.modData.member_id=d.member_id;
|
|
this.modData.group=String(d.group);
|
|
this.addMode=true;
|
|
this.isEdit=true;
|
|
},
|
|
onSubmit() {
|
|
if (this.modData.zhanghu == '') {
|
|
this.$message.error('账户不能为空');
|
|
return;
|
|
}
|
|
if (this.modData.password == '') {
|
|
this.$message.error('密码不能为空');
|
|
return;
|
|
}
|
|
if (this.modData.member_id == 0 || this.modData.member_id == null) {
|
|
this.$message.error('绑定会员不能为空');
|
|
return;
|
|
}
|
|
if (this.modData.group == '') {
|
|
this.$message.error('请选择权限类型');
|
|
return;
|
|
}
|
|
var url='/association/addAdmin';
|
|
if(this.isEdit){
|
|
url='/association/updateAdmin';
|
|
this.modData.id=this.editID;
|
|
}
|
|
this.modData.pid=this.association.id;
|
|
this.$request
|
|
.post(url,this.modData)
|
|
.then((res) => {
|
|
if(res.code==1){
|
|
this.$message.success(res.msg);
|
|
this.addMode=false;
|
|
}else {
|
|
this.$message.error(res.msg);
|
|
}
|
|
this.getList();
|
|
})
|
|
.catch((e) => {
|
|
console.log(e);
|
|
});
|
|
},
|
|
onCloseMy() {
|
|
this.addMode = false;
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
<style scoped lang="less">
|
|
|
|
</style>
|