Commit d486defb authored by lixy's avatar lixy

后台用户管理

parent 50cb5450
......@@ -69,28 +69,33 @@
</el-select>
</el-form-item>
<el-form-item label="所属分公司" prop="companyId">
<!-- <el-autocomplete-->
<!-- class="inline-input"-->
<!-- v-model="form.state2"-->
<!-- :fetch-suggestions="querySearch"-->
<!-- placeholder="请输入内容"-->
<!-- @select="handleSelect1"-->
<!-- ></el-autocomplete>-->
<el-select class="filter-item" v-model="form.companyId"clearable filterable placeholder="请选择分公司">
<el-option v-for="item in allCompaniesArr" :key="item.id" :label="item.name" :value="item.id"> </el-option>
<!--<el-autocomplete-->
<!--class="inline-input"-->
<!--v-model="form.companyName"-->
<!--:fetch-suggestions="querySearch"-->
<!--placeholder="请输入内容"-->
<!--@select="handleSelectSubordinate"-->
<!--&gt;</el-autocomplete>-->
<el-select class="filter-item" v-model="form.companyId" clearable filterable placeholder="请选择分公司">
<el-option v-for="val in allBranchCompany" :key="val.id" :label="val.name" :value="val.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="所属角色" prop="groupId">
<el-select v-model="form.members" multiple filterable remote placeholder="请选择角色" :remote-method="remoteGroupsMethod" :loading="loading">
<el-option v-for="item in myGroups" :key="item.id" :label="item.name" :value="item.id"> </el-option>
<el-form-item label="所属角色" prop="members">
<el-select v-model="form.members" multiple filterable placeholder="请选择" :loading="loading" :remote-method="remoteGroupsMethod" remote @change="changeMembers">
<el-option
v-for="item in myGroups"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
<!-- <el-select v-model="form.members" multiple filterable placeholder="请选择角色" >-->
<!-- <el-option v-for="item in myGroups" :key="item.id" :label="item.name" :value="item.id"> </el-option>-->
<!-- </el-select>-->
</el-form-item>
<el-form-item label="数据权限" prop="dataState">
<el-checkbox-group v-model="form.dataLimit" >
<el-checkbox v-for="item in dataOptions" :label="item.id" >{{item.val}}</el-checkbox>
<!--<el-checkbox v-for="item in dataOptions" :label="item.id" >{{item.val}}</el-checkbox>-->
<el-checkbox label="1">所属分公司</el-checkbox>
<el-checkbox label="2">所属片区</el-checkbox>
<el-checkbox label="3">所有数据</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="描述">
......@@ -142,8 +147,9 @@ export default {
name: undefined,
sex: '男',
status: 1,
zoneId: undefined,
companyId: undefined,
zoneId: undefined,//所属片区
companyId: undefined,//所属分公司id
companyName: "",//所属公司
state2: '',
password: undefined,
passwordEdit: undefined,
......@@ -202,14 +208,19 @@ export default {
trigger: 'blur'
}
],
zoneId: [
{
type: 'integer',
zoneId:{
required: true,
message: '请选择',
trigger: 'blur'
}
],
message: '请选择所属片区',
},
companyId:{
required: true,
message: '请选择所属分公司',
},
// members:{
// type: 'array',
// required: true,
// message: '请选择角色'
// }
},
list: null,
total: null,
......@@ -230,13 +241,14 @@ export default {
userManager_btn_add: false,
allCompanies: {},
allCompaniesArr: [],
myGroups: [],
myGroups: [],//角色列表
loading: false,
textMap: {
update: '编辑',
create: '创建'
},
tableKey: 0
tableKey: 0,
allBranchCompany: [],//所有分公司列表
}
},
created() {
......@@ -248,6 +260,7 @@ export default {
getAllCompany(codeAndBranchCompany => {
this.allCompanies = codeAndBranchCompany;
});
this.remoteGroupsMethod('');
// getCurrentGroups().then(result => {
// this.myGroups = result.data;
// const mems = [];
......@@ -273,7 +286,7 @@ export default {
methods: {
getAllZone,
remoteGroupsMethod(query) {
if (query !== '') {
// if (query !== '') {
this.loading = true;
this.loading = false;
fetchTree({
......@@ -283,10 +296,20 @@ export default {
// this.total = response.data.total;
this.loading = false;
});
} else {
this.myGroups = [];
}
// } else {
// this.myGroups = [];
// }
},
/**
* 所属分公司
* */
handleSelectSubordinate(item){
this.form.companyId = item.id;
this.form.companyName = item.name;
},
/**
* 获取后台用户管理列表数据
* */
getList() {
this.listLoading = true;
page(this.listQuery)
......@@ -313,41 +336,65 @@ export default {
this.dialogStatus = 'create';
this.dialogFormVisible = true;
},
/**
* 编辑后台账号
* */
handleUpdate(row) {
this.resetTemp();
getObj(row.id)
.then(response => {
this.form = response.data;
let dataLimit = new Array();
if(response.data.dataCompany != undefined&& response.data.dataCompany != '') {
if(row.zoneId){
getAllBranchCompanyByZoneId({zoneId: row.zoneId})
.then(res => {
this.allBranchCompany = res.data;
getObj(row.id).then(response => {
this.form.username = response.data.username,
this.form.name = response.data.name,
this.form.sex = response.data.sex,
this.form.status = response.data.status,
this.form.zoneId = response.data.zoneId,//所属片区
this.form.companyId = response.data.companyId,//所属分公司id
this.form.description = response.data.description
let dataLimit = [];
if(response.data.dataCompany ) {
let companys = response.data.dataCompany.split(",");
if(companys.includes(response.data.companyId + "")) {
dataLimit.push("1");
}
}
if(response.data.dataZone != undefined && response.data.dataZone != '') {
if(response.data.dataZone) {
let zones = response.data.dataZone.split(",");
if(zones.includes(response.data.zoneId + "")) {
dataLimit.push("2");
}
}
if(response.data.dataAll != undefined && response.data.dataAll == 1) {
if(response.data.dataAll && response.data.dataAll == 1) {
dataLimit.push("3");
}
let mems = [];
for(let i= 1; i < 10; i++){
this.myGroups.push({name: "q"+i, id: i});
}
this.$set(this.form, "dataLimit", dataLimit);
getUserGroups(response.data.id).then(result => {
if(result.data){
this.myGroups = result.data;
let mems = [];
for (let i = 0; i < result.data.length; i++) {
mems.push(result.data[i].id);
}
this.form.members = mems;
this.$set(this.form, "members", mems)
}
});
this.dialogFormVisible = true;
this.dialogStatus = 'update';
console.log(this.form);
});
});
} else {
this.dialogFormVisible = true;
this.dialogStatus = 'update';
}
},
changeMembers(){debugger
this.$set(this.form, "members", this.form.members)
},
handleDelete(row) {
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
......@@ -369,18 +416,11 @@ export default {
});
});
},
/**
* 创建后台账号
* */
create(formName) {
const set = this.$refs;
if(!this.form.state2 || this.form.state2 == "全部"){
this.form.companyId = undefined;
// this.$notify({
// title: '失败',
// message: '请选择分公司',
// type: 'warning',
// duration: 2000
// });
// return;
}
set[formName].validate(valid => {
if (valid) {
addObj(this.form)
......@@ -405,7 +445,7 @@ export default {
},
querySearch(queryString, cb) {
let selectArry = [];
this.allCompaniesArr.map(function(item){
this.allBranchCompany.map(function(item){
item.value = item.name;
selectArry.push(item);
});
......@@ -414,14 +454,6 @@ export default {
// 调用 callback 返回建议列表的数据
cb(results);
},
handleSelect1(item){
if(item.value == "全部"){
this.form.companyId = undefined;
} else {
this.form.companyId = item.id;
}
console.log(item);
},
createFilter(queryString) {
return (restaurant) => {
return (restaurant.name.indexOf(queryString.toLowerCase()) != -1);
......@@ -454,33 +486,30 @@ export default {
}
});
},
//监听change事件
/**
* 所属片区改变事件
* @param item
*/
getProvinceRegions(item) {
this.form.zoneId = item
console.log('getProvinceRegions:item='+JSON.stringify(item))
// console.log('begin'+JSON.stringify(this.allCompaniesArr))
this.baranchQuery.zoneId = item
this.form.zoneId = item;
this.form.companyId = undefined;//片区修改后所属公司联动
this.baranchQuery.zoneId = item;
getAllBranchCompanyByZoneId(this.baranchQuery)
.then(response => {
this.allCompaniesArr = response.data;
// console.log('end'+JSON.stringify(this.allCompaniesArr))
this.allBranchCompany = response.data;
})
},
resetTemp() {
this.form = {
username: undefined,
name: undefined,
sex: '男',
status: 1,
zoneId: undefined,
passwordEdit:undefined,
companyId: undefined,
state2: '',
password: "",
description: undefined,
dataLimit: [],
dataLimit: undefined,
members: [],
};
},
......
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