Commit e46d0f53 authored by 周健威's avatar 周健威

添加数据权限相关代码

parent 005d621a
......@@ -9,6 +9,7 @@ export function page(query) {
}
export function addObj(obj) {
console.log(obj);
return fetch({
url: '/api/admin/user',
method: 'post',
......
......@@ -19,6 +19,7 @@ export function getObj(id) {
export function addObj(obj) {
console.log(obj);
return fetch({
url: '/vehicle/branchCompany/',
method: 'post',
......
<template>
<el-form label-width="80px">
<el-form-item label="群主|领导">
<el-select v-model="leaders" multiple filterable remote placeholder="请输入关键词" :remote-method="remoteLeaderMethod" :loading="loading">
<el-option v-for="item in lItems" :key="item.id" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="组员|下属">
<!-- <el-form-item label="群主|领导">-->
<!-- <el-select v-model="leaders" multiple filterable remote placeholder="请输入关键词" :remote-method="remoteLeaderMethod" :loading="loading">-->
<!-- <el-option v-for="item in lItems" :key="item.id" :label="item.name" :value="item.id"> </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item >
<!-- label="组员|下属">-->
<el-select v-model="members" multiple filterable remote placeholder="请输入关键词" :remote-method="remoteMemberMethod" :loading="loading">
<el-option v-for="item in mItems" :key="item.id" :label="item.name" :value="item.id"> </el-option>
</el-select>
......
<template>
<div class="tab-container">
<el-tabs style='margin-top:15px;' v-model="activeName">
<el-tab-pane v-for="item in tabMapOptions" :label="item.name" :key='item.id' :name="item.code">
<el-tab-pane v-for="item in tabMapOptions.slice(0,1)" :label="item.name" :key='item.id' :name="item.code">
<keep-alive>
<tab-pane v-if='activeName==item.code' :type='item.id'></tab-pane>
</keep-alive>
......
......@@ -55,12 +55,12 @@
</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 class="filter-item" v-model.number="form.status" >
<el-radio v-for="item in statusOptions" :key="item.val" :label="item.id">{{item.val}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="所属片区" prop="zone">
<el-select class="filter-item" v-model="form.zone" placeholder="请选择">
<el-form-item label="所属片区" prop="zoneId">
<el-select class="filter-item" v-model="form.zoneId" 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>
......@@ -70,10 +70,17 @@
</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-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-select>
</el-form-item>
<el-form-item label="数据权限" prop="dataState">
<el-checkbox-group v-model="form.dataLimit" >
<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="描述">
<el-input type="textarea" :autosize="{ minRows: 3, maxRows: 5}" placeholder="请输入内容" v-model="form.description"> </el-input>
</el-form-item>
......@@ -103,8 +110,7 @@ import {
} from 'api/base_info/branch_company/';
import {
getAllZone,
getZone
getAllZone
} from 'api/base_info/constant/';
import {
......@@ -120,11 +126,13 @@ export default {
username: undefined,
name: undefined,
sex: '男',
status: '开启',
zone: undefined,
status: 1,
zoneId: undefined,
companyId: undefined,
password: undefined,
description: undefined
description: undefined,
dataLimit: [],
members: [],
},
rules: {
name: [
......@@ -168,14 +176,20 @@ export default {
],
status: [
{
required: true
type: 'integer',
required: true,
message: '请选择',
trigger: 'blur'
}
],
zone: [
zoneId: [
{
required: true
type: 'integer',
required: true,
message: '请选择',
trigger: 'blur'
}
]
],
},
list: null,
total: null,
......@@ -187,7 +201,7 @@ export default {
},
sexOptions: ['男', '女'],
zoneOptions: ['男', '女'],
statusOptions: ['开启', '禁用'],
statusOptions: [{id:1, val: '开启'}, {id:2, val: '禁用'}],
dialogFormVisible: false,
dialogStatus: '',
userManager_btn_edit: false,
......@@ -195,7 +209,6 @@ export default {
userManager_btn_add: false,
allCompanies: {},
myGroups: [],
members: [],
loading: false,
textMap: {
update: '编辑',
......@@ -209,15 +222,14 @@ export default {
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);
});
// getCurrentGroups().then(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;
// });
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'];
......@@ -228,6 +240,7 @@ export default {
])
},
methods: {
getAllZone,
remoteGroupsMethod(query) {
if (query !== '') {
this.loading = true;
......@@ -235,7 +248,7 @@ export default {
fetchTree({
name: query
}).then(response => {
this.myGroups = response.data.rows;
this.myGroups = response;
// this.total = response.data.total;
this.loading = false;
});
......@@ -346,15 +359,15 @@ export default {
username: undefined,
name: undefined,
sex: '男',
status: '开启',
zone: undefined,
status: 1,
zoneId: undefined,
companyId: undefined,
password: undefined,
description: undefined
description: undefined,
dataLimit: [],
members: [],
};
},
getAllZone,
getZone
// initGroups() {
// getUsers(this.groupId).then(response => {
// this.lItems = response.data.leaders;
......
......@@ -109,6 +109,12 @@
</el-select>
</el-form-item>
<el-form-item label="所属地区" prop="zoneId">
<el-select class="filter-item" v-model="form.zoneId" 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="省份" prop="addrProvince">
<el-select v-model.number="form.addrProvince" placeholder="请选择省份(直辖市)" >
<el-option v-for="item in provinceRegions" :key="item.id" :label="item.name" :value="item.id"></el-option>
......@@ -147,6 +153,9 @@
<el-input v-model.number="form.latitude" placeholder="请输入纬度"></el-input>
</el-form-item>
<!-- <el-form-item >-->
<!-- <el-input value="1" v-model="form.type" disabled="true" type="hidden"></el-input>-->
<!-- </el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel('form')">取 消</el-button>
......@@ -173,6 +182,10 @@
import {mapGetters} from 'vuex';
import {
getAllZone
} from 'api/base_info/constant/';
export default {
name: 'branchCompany',
......@@ -181,7 +194,9 @@
form: {
id: undefined,
name: undefined,
branchType: 1,
status: undefined,
zoneId: undefined,
addrProvince: undefined,
addrCity: undefined,
addrTown: undefined,
......@@ -217,6 +232,14 @@
trigger: 'blur'
}
],
zoneId: [
{
type: 'integer',
required: true,
message: '请选择',
trigger: 'blur'
}
],
name: [
{
required: true,
......@@ -325,7 +348,7 @@
update: '编辑',
create: '创建'
},
tableKey: 0
tableKey: 0,
}
},
created() {
......@@ -368,6 +391,7 @@
}
},
methods: {
getAllZone,
getValue(e){
this.listQuery.addrCity = undefined;
},
......@@ -502,7 +526,9 @@
this.form = {
id: undefined,
name: undefined,
branchType: 1,
status: undefined,
zoneId: undefined,
addrProvince: undefined,
addrCity: undefined,
addrTown: undefined,
......
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