Commit 2cae7524 authored by hanfeng's avatar hanfeng

修改后台用户管理

parent 8d909f23
<template> <template>
<div class="app-container calendar-list-container"> <div class="app-container calendar-list-container">
<div class="filter-container"> <div class="filter-container">
<el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="姓名或账户" v-model="listQuery.name"> </el-input> <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="姓名或账户"
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button> v-model="listQuery.name"></el-input>
<el-button class="filter-item" v-if="userManager_btn_add" style="margin-left: 10px;" @click="handleCreate" type="primary" icon="edit">添加</el-button> <el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
</div> <el-button class="filter-item" v-if="userManager_btn_add" style="margin-left: 10px;" @click="handleCreate"
<el-table :key='tableKey' :data="list" v-loading.body="listLoading" border fit highlight-current-row style="width: 100%"> type="primary" icon="edit">添加
<el-table-column align="center" label="序号" width="65"> <template scope="scope"> </el-button>
</div>
<el-table :key='tableKey' :data="list" v-loading.body="listLoading" border fit highlight-current-row
style="width: 100%">
<el-table-column align="center" label="序号" width="65">
<template scope="scope">
<span>{{scope.row.id}}</span> <span>{{scope.row.id}}</span>
</template> </el-table-column> </template>
<el-table-column width="200" align="center" label="姓名"> <template scope="scope"> </el-table-column>
<span>{{scope.row.name}}</span> <el-table-column width="200" align="center" label="姓名">
</template> </el-table-column> <template scope="scope">
<el-table-column width="110" align="center" label="账户"> <template scope="scope"> <span>{{scope.row.name}}</span>
<span>{{scope.row.username}}</span> </template>
</template> </el-table-column> </el-table-column>
<el-table-column width="110" align="center" label="性别"> <template scope="scope"> <el-table-column width="110" align="center" label="账户">
<span>{{scope.row.sex}}</span> <template scope="scope">
</template> </el-table-column> <span>{{scope.row.username}}</span>
<el-table-column width="300" align="center" label="备注"> <template scope="scope"> </template>
<span>{{scope.row.description}}</span> </el-table-column>
</template> </el-table-column> <el-table-column width="110" align="center" label="性别">
<el-table-column width="180" align="center" label="最后时间"> <template scope="scope"> <template scope="scope">
<span>{{scope.row.sex}}</span>
</template>
</el-table-column>
<el-table-column width="300" align="center" label="备注">
<template scope="scope">
<span>{{scope.row.description}}</span>
</template>
</el-table-column>
<el-table-column width="180" align="center" label="最后时间">
<template scope="scope">
<span>{{scope.row.updTime}}</span> <span>{{scope.row.updTime}}</span>
</template> </el-table-column> </template>
<el-table-column width="200" align="center" label="最后更新人"> <template scope="scope"> </el-table-column>
<span>{{scope.row.updName}}</span> <el-table-column width="200" align="center" label="最后更新人">
</template> </el-table-column> <template scope="scope">
<el-table-column align="center" label="操作" width="150"> <template scope="scope"> <span>{{scope.row.updName}}</span>
<el-button v-if="userManager_btn_edit" size="small" type="success" @click="handleUpdate(scope.row)">编辑 </template>
</el-button> </el-table-column>
<el-button v-if="userManager_btn_del" size="small" type="danger" @click="handleDelete(scope.row)">删除 <el-table-column align="center" label="操作" width="150">
</el-button> <template scope="scope">
</template> </el-table-column> <el-button v-if="userManager_btn_edit" size="small" type="success" @click="handleUpdate(scope.row)">编辑
</el-table> </el-button>
<div v-show="!listLoading" class="pagination-container"> <el-button v-if="userManager_btn_del" size="small" type="danger" @click="handleDelete(scope.row)">删除
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="listQuery.page" :page-sizes="[10,20,30, 50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total"> </el-pagination> </el-button>
</div> </template>
<el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible"> </el-table-column>
<el-form :model="form" :rules="rules" ref="form" label-width="100px"> </el-table>
<el-form-item label="姓名" prop="name"> <div v-show="!listLoading" class="pagination-container">
<el-input v-model="form.name" placeholder="请输入姓名"></el-input> <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
</el-form-item> :current-page.sync="listQuery.page" :page-sizes="[10,20,30, 50]" :page-size="listQuery.limit"
<el-form-item label="账户" prop="username"> layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
<!--v-if="dialogStatus == 'create'"--> </div>
<el-input v-model="form.username" placeholder="请输入账户"></el-input> <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
<!--<el-input v-else v-model="form.username" placeholder="请输入账户" readonly></el-input>--> <el-form :model="form" :rules="rules" ref="form" label-width="100px">
</el-form-item> <el-form-item label="姓名" prop="name">
<el-form-item v-if="dialogStatus == 'create'" label="密码" placeholder="请输入密码" prop="password"> <el-input v-model="form.name" placeholder="请输入姓名"></el-input>
<el-input type="password" v-model="form.password"></el-input> </el-form-item>
</el-form-item> <el-form-item label="账户" prop="username">
<el-form-item v-if="dialogStatus == 'update'" label="密码" placeholder="请输入密码"> <!--v-if="dialogStatus == 'create'"-->
<el-input type="password" v-model="form.passwordEdit"></el-input> <el-input v-model="form.username" placeholder="请输入账户"></el-input>
</el-form-item> <!--<el-input v-else v-model="form.username" placeholder="请输入账户" readonly></el-input>-->
<el-form-item label="性别"> </el-form-item>
<el-select class="filter-item" v-model="form.sex" placeholder="请选择"> <el-form-item v-if="dialogStatus == 'create'" label="密码" placeholder="请输入密码" prop="password">
<el-option v-for="item in sexOptions" :key="item" :label="item" :value="item"> </el-option> <el-input type="password" v-model="form.password"></el-input>
</el-select> </el-form-item>
</el-form-item> <el-form-item v-if="dialogStatus == 'update'" label="密码" placeholder="请输入密码">
<el-form-item label="是否开启" prop="status"> <el-input type="password" v-model="form.passwordEdit"></el-input>
<el-radio-group class="filter-item" v-model.number="form.status" > </el-form-item>
<el-radio v-for="item in statusOptions" :key="item.val" :label="item.id">{{item.val}}</el-radio> <el-form-item label="性别">
</el-radio-group> <el-select class="filter-item" v-model="form.sex" placeholder="请选择">
</el-form-item> <el-option v-for="item in sexOptions" :key="item" :label="item" :value="item"></el-option>
<el-form-item label="所属片区" prop="zoneId"> </el-select>
<el-select class="filter-item" v-model="form.zoneId" clearable placeholder="请选择" @change="getProvinceRegions"> </el-form-item>
<el-option v-for="val in getAllZoneList" :key="val.id" :label="val.name" :value="val.id"> </el-option> <el-form-item label="是否开启" prop="status">
</el-select> <el-radio-group class="filter-item" v-model.number="form.status">
</el-form-item> <el-radio v-for="item in statusOptions" :key="item.val" :label="item.id">{{item.val}}</el-radio>
<el-form-item label="所属分公司" prop="companyId"> </el-radio-group>
<!--<el-autocomplete--> </el-form-item>
<el-form-item label="所属片区" prop="zoneId">
<el-select class="filter-item" v-model="form.zoneId" clearable placeholder="请选择" @change="getProvinceRegions">
<el-option v-for="val in getAllZoneList" :key="val.id" :label="val.name" :value="val.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="所属分公司" prop="companyId">
<!--<el-autocomplete-->
<!--class="inline-input"--> <!--class="inline-input"-->
<!--v-model="form.companyName"--> <!--v-model="form.companyName"-->
<!--:fetch-suggestions="querySearch"--> <!--:fetch-suggestions="querySearch"-->
<!--placeholder="请输入内容"--> <!--placeholder="请输入内容"-->
<!--@select="handleSelectSubordinate"--> <!--@select="handleSelectSubordinate"-->
<!--&gt;</el-autocomplete>--> <!--&gt;</el-autocomplete>-->
<el-select class="filter-item" v-model="form.companyId" clearable filterable placeholder="请选择分公司"> <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-option v-for="val in allBranchCompany" :key="val.id" :label="val.name" :value="val.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="所属角色" prop="members"> <el-form-item label="所属角色" prop="members">
<el-autocomplete <el-autocomplete
class="inline-input" class="inline-input"
v-model="membersName" v-model="membersName"
:fetch-suggestions="querySearch" :fetch-suggestions="querySearch"
placeholder="请选择" placeholder="请选择"
@select="handleSelect2" @select="handleSelect2"
></el-autocomplete> ></el-autocomplete>
<!-- <el-select v-model="form.members" multiple filterable placeholder="请选择" :loading="loading" :remote-method="remoteGroupsMethod" remote> <!-- <el-select v-model="form.members" multiple filterable placeholder="请选择" :loading="loading" :remote-method="remoteGroupsMethod" remote>
<el-option <el-option
v-for="item in myGroups" v-for="item in myGroups"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id"> :value="item.id">
</el-option> </el-option>
</el-select> --> </el-select> -->
</el-form-item> </el-form-item>
<el-form-item label="数据权限" prop="dataState"> <el-form-item label="数据权限" prop="dataState">
<el-checkbox-group v-model="form.dataLimit" > <!-- <el-checkbox-group v-model="form.dataLimit" >-->
<!--<el-checkbox v-for="item in dataOptions" :label="item.id" >{{item.val}}</el-checkbox>--> <!-- &lt;!&ndash;<el-checkbox v-for="item in dataOptions" :label="item.id" >{{item.val}}</el-checkbox>&ndash;&gt;-->
<el-checkbox label="1">所属分公司</el-checkbox> <!-- <el-checkbox label="1">所属分公司</el-checkbox>-->
<el-checkbox label="2">所属片区</el-checkbox> <!-- <el-checkbox label="2">所属片区</el-checkbox>-->
<el-checkbox label="3">所有数据</el-checkbox> <!-- <el-checkbox label="3">所有数据</el-checkbox>-->
</el-checkbox-group> <!-- </el-checkbox-group>-->
</el-form-item> <el-radio-group v-model="form.dataLimit">
<el-form-item label="描述"> <el-radio label="1">所属分公司</el-radio>
<el-input type="textarea" :autosize="{ minRows: 3, maxRows: 5}" placeholder="请输入内容" v-model="form.description"> </el-input> <el-radio label="2">所属片区</el-radio>
</el-form-item> <el-radio label="3">所有数据</el-radio>
</el-form> </el-radio-group>
<div slot="footer" class="dialog-footer"> </el-form-item>
<el-button @click="cancel('form')">取 消</el-button> <el-form-item label="描述">
<el-button v-if="dialogStatus=='create'" type="primary" @click="create('form')">确 定</el-button> <el-input type="textarea" :autosize="{ minRows: 3, maxRows: 5}" placeholder="请输入内容"
<el-button v-else type="primary" @click="update('form')">确 定</el-button> v-model="form.description"></el-input>
</div> </el-form-item>
</el-dialog> </el-form>
</div> <div slot="footer" class="dialog-footer">
<el-button @click="cancel('form')">取 消</el-button>
<el-button v-if="dialogStatus=='create'" type="primary" @click="create('form')">确 定</el-button>
<el-button v-else type="primary" @click="update('form')">确 定</el-button>
</div>
</el-dialog>
</div>
</template> </template>
<script> <script>
import{ import {
page, page,
addObj, addObj,
getObj, getObj,
delObj, delObj,
putObj putObj
} from 'api/admin/user/index'; } from 'api/admin/user/index';
import { mapGetters } from 'vuex'; import {mapGetters} from 'vuex';
import { import {
getAllCompany, getAllCompany,
getAll getAll
} from 'api/base_info/branch_company/'; } from 'api/base_info/branch_company/';
import { import {
getAllZone getAllZone
} from 'api/base_info/constant/'; } from 'api/base_info/constant/';
import { import {
fetchTree, fetchTree,
getUserGroups, getUserGroups,
getCurrentGroups, getCurrentGroups,
listAll listAll
} from 'api/admin/group/index'; } from 'api/admin/group/index';
import {getAllBranchCompanyByZoneId} from "../../../api/order/rentVehicle"; import {getAllBranchCompanyByZoneId} from "../../../api/order/rentVehicle";
export default { export default {
name: 'user', name: 'user',
data() { data() {
return { return {
membersName:'',//角色 membersName: '',//角色
form: { form: {
username: undefined, username: undefined,
name: undefined, name: undefined,
sex: '男', sex: '男',
status: 1, status: 1,
zoneId: undefined,//所属片区 zoneId: undefined,//所属片区
companyId: undefined,//所属分公司id companyId: undefined,//所属分公司id
companyName: "",//所属公司 companyName: "",//所属公司
state2: '', state2: '',
password: undefined, password: undefined,
passwordEdit: undefined, passwordEdit: undefined,
description: undefined, description: undefined,
dataLimit: [],//数据权限 // dataLimit: [],//数据权限
members: [], dataLimit: undefined,//数据权限
}, members: [],
editCompanyId: undefined,//编辑时公司id },
baranchQuery: { editCompanyId: undefined,//编辑时公司id
zoneId:null baranchQuery: {
}, zoneId: null
rules: { },
name: [ rules: {
{ name: [
required: true, {
message: '请输入用户', required: true,
trigger: 'blur' message: '请输入用户',
}, trigger: 'blur'
{ },
min: 3, {
max: 20, min: 3,
message: '长度在 3 到 20 个字符', max: 20,
trigger: 'blur' message: '长度在 3 到 20 个字符',
} trigger: 'blur'
], }
username: [ ],
{ username: [
required: true, {
message: '请输入账户', required: true,
trigger: 'blur' message: '请输入账户',
}, trigger: 'blur'
{ },
min: 3, {
max: 20, min: 3,
message: '长度在 3 到 20 个字符', max: 20,
trigger: 'blur' message: '长度在 3 到 20 个字符',
} trigger: 'blur'
], }
password: [ ],
{ password: [
{
required: true,
message: '请输入密码',
trigger: 'blur'
},
{
min: 5,
max: 20,
message: '长度在 5 到 20 个字符',
trigger: 'blur'
}
],
status: [
{
type: 'integer',
required: true,
message: '请选择',
trigger: 'blur'
}
],
zoneId: {
required: true, required: true,
message: '请输入密码', message: '请选择所属片区',
trigger: 'blur'
}, },
{ companyId: {
min: 5,
max: 20,
message: '长度在 5 到 20 个字符',
trigger: 'blur'
}
],
status: [
{
type: 'integer',
required: true,
message: '请选择',
trigger: 'blur'
}
],
zoneId:{
required: true, required: true,
message: '请选择所属片区', message: '请选择所属分公司',
}, },
companyId:{
required: true,
message: '请选择所属分公司',
},
// members:{ // members:{
// type: 'array', // type: 'array',
// required: true, // required: true,
// message: '请选择角色' // message: '请选择角色'
// } // }
}, },
list: null, list: null,
total: null, total: null,
listLoading: true, listLoading: true,
listQuery: { listQuery: {
page: 1, page: 1,
limit: 20, limit: 20,
name: undefined name: undefined
}, },
sexOptions: ['男', '女'], sexOptions: ['男', '女'],
zoneOptions: ['男', '女'], zoneOptions: ['男', '女'],
dataOptions: [{id:"1", val:"所属分公司"}, {id:"2", val:"所属片区"}, {id:"3", val:"所有数据"}], dataOptions: [{id: "1", val: "所属分公司"}, {id: "2", val: "所属片区"}, {id: "3", val: "所有数据"}],
statusOptions: [{id:1, val: '开启'}, {id:2, val: '禁用'}], statusOptions: [{id: 1, val: '开启'}, {id: 2, val: '禁用'}],
dialogFormVisible: false, dialogFormVisible: false,
dialogStatus: '', dialogStatus: '',
userManager_btn_edit: false, userManager_btn_edit: false,
userManager_btn_del: false, userManager_btn_del: false,
userManager_btn_add: false, userManager_btn_add: false,
allCompanies: {}, allCompanies: {},
allCompaniesArr: [], allCompaniesArr: [],
myGroups: [],//角色列表 myGroups: [],//角色列表
loading: false, loading: false,
textMap: { textMap: {
update: '编辑', update: '编辑',
create: '创建' create: '创建'
}, },
tableKey: 0, tableKey: 0,
allBranchCompany: [],//所有分公司列表 allBranchCompany: [],//所有分公司列表
list_All:[] list_All: []
} }
}, },
created() { created() {
this.getList(); this.getList();
getAll() getAll()
.then(response => { .then(response => {
this.allCompaniesArr = response.data; this.allCompaniesArr = response.data;
}) })
getAllCompany(codeAndBranchCompany => { getAllCompany(codeAndBranchCompany => {
this.allCompanies = codeAndBranchCompany; this.allCompanies = codeAndBranchCompany;
}); });
listAll().then(response => { listAll().then(response => {
this.list_All = response; this.list_All = response;
}) })
this.remoteGroupsMethod(''); this.remoteGroupsMethod('');
// getCurrentGroups().then(result => { // getCurrentGroups().then(result => {
// this.myGroups = result.data; // this.myGroups = result.data;
// const mems = []; // const mems = [];
// for (let i = 0; i < result.data.length; i++) { // for (let i = 0; i < result.data.length; i++) {
// mems.push(result.data[i].id); // mems.push(result.data[i].id);
// } // }
// this.members = mems; // this.members = mems;
// }); // });
this.userManager_btn_edit = this.elements['userManager:btn_edit']; this.userManager_btn_edit = this.elements['userManager:btn_edit'];
this.userManager_btn_del = this.elements['userManager:btn_del']; this.userManager_btn_del = this.elements['userManager:btn_del'];
this.userManager_btn_add = this.elements['userManager:btn_add']; this.userManager_btn_add = this.elements['userManager:btn_add'];
}, },
computed: { computed: {
...mapGetters([ ...mapGetters([
'elements' 'elements'
]), ]),
getAllZoneList(){ getAllZoneList() {
console.log('getAllZoneList') console.log('getAllZoneList')
this.allZoneArr = getAllZone(); this.allZoneArr = getAllZone();
return getAllZone(); return getAllZone();
},
}, },
}, methods: {
methods: { getAllZone,
getAllZone, remoteGroupsMethod(query) {
remoteGroupsMethod(query) {
// if (query !== '') { // if (query !== '') {
this.loading = true; this.loading = true;
this.loading = false; this.loading = false;
...@@ -313,222 +342,228 @@ export default { ...@@ -313,222 +342,228 @@ export default {
// } else { // } else {
// this.myGroups = []; // this.myGroups = [];
// } // }
}, },
/** /**
* 所属分公司 * 所属分公司
* */ * */
handleSelectSubordinate(item){ handleSelectSubordinate(item) {
this.form.companyId = item.id; this.form.companyId = item.id;
this.form.companyName = item.name; this.form.companyName = item.name;
}, },
// 角色 // 角色
handleSelect2(item){ handleSelect2(item) {
this.form.members = item.id; this.form.members = item.id;
}, },
/** /**
* 获取后台用户管理列表数据 * 获取后台用户管理列表数据
* */ * */
getList() { getList() {
this.listLoading = true; this.listLoading = true;
page(this.listQuery) page(this.listQuery)
.then(response => { .then(response => {
this.list = response.data.rows; this.list = response.data.rows;
this.total = response.data.total; this.total = response.data.total;
this.listLoading = false; this.listLoading = false;
}) })
}, },
handleFilter() { handleFilter() {
this.getList(); this.getList();
}, },
handleSizeChange(val) { handleSizeChange(val) {
this.listQuery.limit = val; this.listQuery.limit = val;
this.getList(); this.getList();
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
this.listQuery.page = val; this.listQuery.page = val;
this.getList(); this.getList();
}, },
handleCreate() { handleCreate() {
this.resetTemp(); this.resetTemp();
// this.getGroups() // this.getGroups()
this.dialogStatus = 'create'; this.dialogStatus = 'create';
this.dialogFormVisible = true; this.dialogFormVisible = true;
}, },
/** /**
* 编辑后台账号 * 编辑后台账号
* */ * */
handleUpdate(row) { handleUpdate(row) {
this.resetTemp(); this.resetTemp();
if(row.zoneId){ if (row.zoneId) {
getAllBranchCompanyByZoneId({zoneId: row.zoneId}) getAllBranchCompanyByZoneId({zoneId: row.zoneId})
.then(res => { .then(res => {
this.allBranchCompany = res.data; this.allBranchCompany = res.data;
getObj(row.id).then(response => { getObj(row.id).then(response => {
this.form.id= response.data.id; this.form.id = response.data.id;
this.editCompanyId = response.data.companyId,//所属分公司id this.editCompanyId = response.data.companyId,//所属分公司id
this.form.username = response.data.username, this.form.username = response.data.username,
this.form.name = response.data.name, this.form.name = response.data.name,
this.form.sex = response.data.sex, this.form.sex = response.data.sex,
this.form.status = response.data.status, this.form.status = response.data.status,
this.form.zoneId = response.data.zoneId,//所属片区 this.form.zoneId = response.data.zoneId,//所属片区
this.form.companyId = response.data.companyId,//所属分公司id this.form.companyId = response.data.companyId,//所属分公司id
this.form.description = response.data.description this.form.description = response.data.description
let dataLimit = []; // let dataLimit = [];
if(response.data.dataCompany ) { let dataLimit = undefined;
let companys = response.data.dataCompany.split(","); if (response.data.dataCompany) {
if(companys.includes(response.data.companyId + "")) { let companys = response.data.dataCompany.split(",");
dataLimit.push("1"); if (companys.includes(response.data.companyId + "")) {
} // dataLimit.push("1");
} dataLimit = '1'
if(response.data.dataZone) { }
let zones = response.data.dataZone.split(",");
if(zones.includes(response.data.zoneId + "")) {
dataLimit.push("2");
} }
} if (response.data.dataZone) {
if(response.data.dataAll && response.data.dataAll == 1) { let zones = response.data.dataZone.split(",");
dataLimit.push("3"); if (zones.includes(response.data.zoneId + "")) {
} // dataLimit.push("2");
let mems = []; dataLimit = '2'
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;
for (let i = 0; i < result.data.length; i++) {
mems.push(result.data[i].id);
} }
this.$set(this.form, "members", mems)
} }
if (response.data.dataAll && response.data.dataAll == 1) {
// dataLimit.push("3");
dataLimit = '3'
}
let mems = [];
for (let i = 1; i < 10; i++) {
this.myGroups.push({name: "q" + i, id: i});
}
this.$set(this.form, "dataLimit", dataLimit);
// console.log(JSON.stringify(this.form))
getUserGroups(response.data.id).then(result => {
if (result.data) {
this.myGroups = result.data;
for (let i = 0; i < result.data.length; i++) {
mems.push(result.data[i].id);
}
this.$set(this.form, "members", mems)
}
});
this.dialogFormVisible = true;
this.dialogStatus = 'update';
console.log(this.form);
// console.log(JSON.stringify(this.form))
}); });
this.dialogFormVisible = true;
this.dialogStatus = 'update';
console.log(this.form);
}); });
}); } else {
} else { this.dialogFormVisible = true;
this.dialogFormVisible = true; this.dialogStatus = 'update';
this.dialogStatus = 'update'; }
} },
},
// changeMembers(){debugger // changeMembers(){debugger
// this.$set(this.form, "members", this.form.members) // this.$set(this.form, "members", this.form.members)
// }, // },
handleDelete(row) { handleDelete(row) {
this.$confirm('此操作将永久删除, 是否继续?', '提示', { this.$confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}) })
.then(() => { .then(() => {
delObj(row.id) delObj(row.id)
.then(() => { .then(() => {
this.$notify({ this.$notify({
title: '成功', title: '成功',
message: '删除成功', message: '删除成功',
type: 'success', type: 'success',
duration: 2000 duration: 2000
});
const index = this.list.indexOf(row);
this.list.splice(index, 1);
}); });
const index = this.list.indexOf(row); });
this.list.splice(index, 1); },
}); /**
* 创建后台账号
* */
create(formName) {
const set = this.$refs;
set[formName].validate(valid => {
if (valid) {
addObj(this.form)
.then(() => {
this.dialogFormVisible = false;
this.getList();
this.$notify({
title: '成功',
message: '创建成功',
type: 'success',
duration: 2000
});
})
} else {
return false;
}
}); });
}, },
/** cancel(formName) {
* 创建后台账号 this.dialogFormVisible = false;
* */ this.$refs[formName].resetFields();
create(formName) { },
const set = this.$refs; querySearch(queryString, cb) {
set[formName].validate(valid => { let selectArry = [];
if (valid) { this.list_All.map(function (item) {
addObj(this.form) item.value = item.name;
.then(() => { selectArry.push(item);
});
this.selectArry = selectArry;
var results = queryString ? selectArry.filter(this.createFilter(queryString)) : selectArry;
// 调用 callback 返回建议列表的数据
cb(results);
},
createFilter(queryString) {
return (restaurant) => {
return (restaurant.name.indexOf(queryString.toLowerCase()) != -1);
};
},
update(formName) {
const set = this.$refs;
set[formName].validate(valid => {
if (valid) {
this.dialogFormVisible = false;
if (this.form.passwordEdit) {
this.form.password = this.form.passwordEdit;
this.form.passwordEdit = undefined;
} else {
this.form.password = undefined;
}
putObj(this.form.id, this.form).then(() => {
this.dialogFormVisible = false; this.dialogFormVisible = false;
this.getList(); this.getList();
this.form.password = undefined;
this.$notify({ this.$notify({
title: '成功', title: '成功',
message: '创建成功', message: '编辑成功',
type: 'success', type: 'success',
duration: 2000 duration: 2000
}); });
})
} else {
return false;
}
});
},
cancel(formName) {
this.dialogFormVisible = false;
this.$refs[formName].resetFields();
},
querySearch(queryString, cb) {
let selectArry = [];
this.list_All.map(function(item){
item.value = item.name;
selectArry.push(item);
});
this.selectArry = selectArry;
var results = queryString ? selectArry.filter(this.createFilter(queryString)) : selectArry;
// 调用 callback 返回建议列表的数据
cb(results);
},
createFilter(queryString) {
return (restaurant) => {
return (restaurant.name.indexOf(queryString.toLowerCase()) != -1);
};
},
update(formName) {
const set = this.$refs;
set[formName].validate(valid => {
if (valid) {
this.dialogFormVisible = false;
if(this.form.passwordEdit){
this.form.password = this.form.passwordEdit;
this.form.passwordEdit = undefined;
} else {
this.form.password = undefined;
}
putObj(this.form.id, this.form).then(() => {
this.dialogFormVisible = false;
this.getList();
this.form.password = undefined;
this.$notify({
title: '成功',
message: '编辑成功',
type: 'success',
duration: 2000
}); });
}); } else {
} else { return false;
return false; }
});
},
/**
* 所属片区改变事件
* @param item
*/
getProvinceRegions(item) {
this.form.zoneId = item;
this.form.companyId = undefined;//片区修改后所属公司联动
this.baranchQuery.zoneId = item;
if (this.baranchQuery.zoneId) {
getAllBranchCompanyByZoneId(this.baranchQuery)
.then(response => {
this.allBranchCompany = response.data;
if (this.editCompanyId) {
this.form.companyId = this.editCompanyId;
this.editCompanyId = undefined;
}
})
} }
}); },
}, resetTemp() {
/** this.editCompanyId = undefined;
* 所属片区改变事件 this.form = {
* @param item username: undefined,
*/
getProvinceRegions(item) {
this.form.zoneId = item;
this.form.companyId = undefined;//片区修改后所属公司联动
this.baranchQuery.zoneId = item;
if(this.baranchQuery.zoneId){
getAllBranchCompanyByZoneId(this.baranchQuery)
.then(response => {debugger
this.allBranchCompany = response.data;
if(this.editCompanyId){
this.form.companyId = this.editCompanyId;
this.editCompanyId = undefined;
}
})
}
},
resetTemp() {
this.editCompanyId = undefined;
this.form = {
username: undefined,
name: undefined, name: undefined,
sex: '男', sex: '男',
status: 1, status: 1,
...@@ -539,9 +574,10 @@ export default { ...@@ -539,9 +574,10 @@ export default {
password: undefined, password: undefined,
passwordEdit: undefined, passwordEdit: undefined,
description: undefined, description: undefined,
dataLimit: [],//数据权限 // dataLimit: [],//数据权限
dataLimit: undefined,//数据权限
members: [], members: [],
}; };
// this.form = { // this.form = {
// username: undefined, // username: undefined,
// name: undefined, // name: undefined,
...@@ -555,22 +591,22 @@ export default { ...@@ -555,22 +591,22 @@ export default {
// dataLimit: [], // dataLimit: [],
// members: [], // members: [],
// }; // };
}, },
// initGroups() { // initGroups() {
// getUsers(this.groupId).then(response => { // getUsers(this.groupId).then(response => {
// this.lItems = response.data.leaders; // this.lItems = response.data.leaders;
// this.mItems = response.data.members; // this.mItems = response.data.members;
// const mems = [], leas = []; // const mems = [], leas = [];
// for (let i = 0; i < response.data.members.length; i++) { // for (let i = 0; i < response.data.members.length; i++) {
// mems.push(response.data.members[i].id); // mems.push(response.data.members[i].id);
// } // }
// for (let i = 0; i < response.data.leaders.length; i++) { // for (let i = 0; i < response.data.leaders.length; i++) {
// leas.push(response.data.leaders[i].id); // leas.push(response.data.leaders[i].id);
// } // }
// this.members = mems; // this.members = mems;
// this.leaders = leas; // this.leaders = leas;
// }); // });
// } // }
}
} }
}
</script> </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