Commit 4c4ea099 authored by 周健威's avatar 周健威

添加数据权限相关代码

parent 71d69b01
......@@ -101,4 +101,15 @@ export function getMenuAuthority(id) {
});
}
/**
*
* @param id
*/
export function getCurrentGroups() {
return fetch({
url: '/api/admin/current/groups',
method: 'get'
});
}
......@@ -49,19 +49,29 @@
<el-form-item v-if="dialogStatus == 'create'" label="密码" placeholder="请输入密码" prop="password">
<el-input type="password" v-model="form.password"></el-input>
</el-form-item>
<el-form-item label="性别">
<el-select class="filter-item" v-model="form.sex" placeholder="请选择">
<el-option v-for="item in sexOptions" :key="item" :label="item" :value="item"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="是否开启" prop="status">
<el-radio-group class="filter-item" v-model="form.status" >
<el-radio v-for="item in statusOptions" :key="item" :label="item" :value="item" ></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="所属片区">
<el-form-item label="所属片区" prop="zone">
<el-select class="filter-item" v-model="form.zone" placeholder="请选择">
<el-option v-for="(val, key, index) in getAllZone()" :key="val.code" :label="val.val" :value="val.code"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="性别">
<el-select class="filter-item" v-model="form.sex" placeholder="请选择">
<el-option v-for="item in sexOptions" :key="item" :label="item" :value="item"> </el-option>
<el-form-item label="所属分公司" prop="companyId">
<el-select class="filter-item" v-model="form.companyId" placeholder="请选择分公司">
<el-option v-for="item in allCompanies" :key="item.id" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="所属角色" prop="groupId">
<el-select v-model="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-select>
</el-form-item>
<el-form-item label="描述">
......@@ -78,7 +88,7 @@
</template>
<script>
import {
import{
page,
addObj,
getObj,
......@@ -88,11 +98,20 @@ import {
import { mapGetters } from 'vuex';
import {
getAllCompany
} from 'api/base_info/branch_company/';
import {
getAllZone,
getZone
} from 'api/base_info/constant/';
import {
fetchTree,
getCurrentGroups
} from 'api/admin/group/index';
export default {
name: 'user',
data() {
......@@ -102,6 +121,8 @@ export default {
name: undefined,
sex: '男',
status: '开启',
zone: undefined,
companyId: undefined,
password: undefined,
description: undefined
},
......@@ -149,6 +170,11 @@ export default {
{
required: true
}
],
zone: [
{
required: true
}
]
},
list: null,
......@@ -167,6 +193,10 @@ export default {
userManager_btn_edit: false,
userManager_btn_del: false,
userManager_btn_add: false,
allCompanies: {},
myGroups: [],
members: [],
loading: false,
textMap: {
update: '编辑',
create: '创建'
......@@ -176,6 +206,18 @@ export default {
},
created() {
this.getList();
getAllCompany(codeAndBranchCompany => {
this.allCompanies = codeAndBranchCompany;
});
getCurrentGroups(result => {
this.myGroups = result.data;
const mems = [];
for (let i = 0; i < result.data.length; i++) {
mems.push(result.data[i].id);
}
this.members = mems;
console.log(this.myGroups);
});
this.userManager_btn_edit = this.elements['userManager:btn_edit'];
this.userManager_btn_del = this.elements['userManager:btn_del'];
this.userManager_btn_add = this.elements['userManager:btn_add'];
......@@ -186,6 +228,21 @@ export default {
])
},
methods: {
remoteGroupsMethod(query) {
if (query !== '') {
this.loading = true;
this.loading = false;
fetchTree({
name: query
}).then(response => {
this.myGroups = response.data.rows;
// this.total = response.data.total;
this.loading = false;
});
} else {
this.myGroups = [];
}
},
getList() {
this.listLoading = true;
page(this.listQuery)
......@@ -291,12 +348,28 @@ export default {
sex: '男',
status: '开启',
zone: undefined,
companyId: undefined,
password: undefined,
description: undefined
};
},
getAllZone,
getZone
// initGroups() {
// getUsers(this.groupId).then(response => {
// this.lItems = response.data.leaders;
// this.mItems = response.data.members;
// const mems = [], leas = [];
// for (let i = 0; i < response.data.members.length; i++) {
// mems.push(response.data.members[i].id);
// }
// for (let i = 0; i < response.data.leaders.length; i++) {
// leas.push(response.data.leaders[i].id);
// }
// this.members = mems;
// this.leaders = leas;
// });
// }
}
}
</script>
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