Commit 2cae7524 authored by hanfeng's avatar hanfeng

修改后台用户管理

parent 8d909f23
<template>
<div class="app-container calendar-list-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-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" v-if="userManager_btn_add" style="margin-left: 10px;" @click="handleCreate" type="primary" icon="edit">添加</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">
<div class="app-container calendar-list-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-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" v-if="userManager_btn_add" style="margin-left: 10px;" @click="handleCreate"
type="primary" icon="edit">添加
</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>
</template> </el-table-column>
<el-table-column width="200" align="center" label="姓名"> <template scope="scope">
<span>{{scope.row.name}}</span>
</template> </el-table-column>
<el-table-column width="110" align="center" label="账户"> <template scope="scope">
<span>{{scope.row.username}}</span>
</template> </el-table-column>
<el-table-column width="110" align="center" label="性别"> <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">
</template>
</el-table-column>
<el-table-column width="200" align="center" label="姓名">
<template scope="scope">
<span>{{scope.row.name}}</span>
</template>
</el-table-column>
<el-table-column width="110" align="center" label="账户">
<template scope="scope">
<span>{{scope.row.username}}</span>
</template>
</el-table-column>
<el-table-column width="110" align="center" label="性别">
<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>
</template> </el-table-column>
<el-table-column width="200" align="center" label="最后更新人"> <template scope="scope">
<span>{{scope.row.updName}}</span>
</template> </el-table-column>
<el-table-column align="center" label="操作" width="150"> <template scope="scope">
<el-button v-if="userManager_btn_edit" size="small" type="success" @click="handleUpdate(scope.row)">编辑
</el-button>
<el-button v-if="userManager_btn_del" size="small" type="danger" @click="handleDelete(scope.row)">删除
</el-button>
</template> </el-table-column>
</el-table>
<div v-show="!listLoading" class="pagination-container">
<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>
</div>
<el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
<el-form :model="form" :rules="rules" ref="form" label-width="100px">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入姓名"></el-input>
</el-form-item>
<el-form-item label="账户" prop="username">
<!--v-if="dialogStatus == 'create'"-->
<el-input v-model="form.username" placeholder="请输入账户"></el-input>
<!--<el-input v-else v-model="form.username" placeholder="请输入账户" readonly></el-input>-->
</el-form-item>
<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 v-if="dialogStatus == 'update'" label="密码" placeholder="请输入密码">
<el-input type="password" v-model="form.passwordEdit"></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.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="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-->
</template>
</el-table-column>
<el-table-column width="200" align="center" label="最后更新人">
<template scope="scope">
<span>{{scope.row.updName}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="操作" width="150">
<template scope="scope">
<el-button v-if="userManager_btn_edit" size="small" type="success" @click="handleUpdate(scope.row)">编辑
</el-button>
<el-button v-if="userManager_btn_del" size="small" type="danger" @click="handleDelete(scope.row)">删除
</el-button>
</template>
</el-table-column>
</el-table>
<div v-show="!listLoading" class="pagination-container">
<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>
</div>
<el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
<el-form :model="form" :rules="rules" ref="form" label-width="100px">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入姓名"></el-input>
</el-form-item>
<el-form-item label="账户" prop="username">
<!--v-if="dialogStatus == 'create'"-->
<el-input v-model="form.username" placeholder="请输入账户"></el-input>
<!--<el-input v-else v-model="form.username" placeholder="请输入账户" readonly></el-input>-->
</el-form-item>
<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 v-if="dialogStatus == 'update'" label="密码" placeholder="请输入密码">
<el-input type="password" v-model="form.passwordEdit"></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.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="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"-->
<!--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="members">
<el-autocomplete
<!--&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="members">
<el-autocomplete
class="inline-input"
v-model="membersName"
:fetch-suggestions="querySearch"
placeholder="请选择"
@select="handleSelect2"
></el-autocomplete>
<!-- <el-select v-model="form.members" multiple filterable placeholder="请选择" :loading="loading" :remote-method="remoteGroupsMethod" remote>
<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 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>
</el-form>
<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>
<!-- <el-select v-model="form.members" multiple filterable placeholder="请选择" :loading="loading" :remote-method="remoteGroupsMethod" remote>
<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" >-->
<!-- &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="2">所属片区</el-checkbox>-->
<!-- <el-checkbox label="3">所有数据</el-checkbox>-->
<!-- </el-checkbox-group>-->
<el-radio-group v-model="form.dataLimit">
<el-radio label="1">所属分公司</el-radio>
<el-radio label="2">所属片区</el-radio>
<el-radio label="3">所有数据</el-radio>
</el-radio-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>
</el-form>
<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>
<script>
import{
page,
addObj,
getObj,
delObj,
putObj
} from 'api/admin/user/index';
import {
page,
addObj,
getObj,
delObj,
putObj
} from 'api/admin/user/index';
import { mapGetters } from 'vuex';
import {mapGetters} from 'vuex';
import {
getAllCompany,
getAll
} from 'api/base_info/branch_company/';
import {
getAllCompany,
getAll
} from 'api/base_info/branch_company/';
import {
getAllZone
} from 'api/base_info/constant/';
import {
getAllZone
} from 'api/base_info/constant/';
import {
fetchTree,
getUserGroups,
getCurrentGroups,
listAll
} from 'api/admin/group/index';
import {getAllBranchCompanyByZoneId} from "../../../api/order/rentVehicle";
import {
fetchTree,
getUserGroups,
getCurrentGroups,
listAll
} from 'api/admin/group/index';
import {getAllBranchCompanyByZoneId} from "../../../api/order/rentVehicle";
export default {
name: 'user',
data() {
return {
membersName:'',//角色
form: {
username: undefined,
name: undefined,
sex: '男',
status: 1,
zoneId: undefined,//所属片区
companyId: undefined,//所属分公司id
companyName: "",//所属公司
state2: '',
password: undefined,
passwordEdit: undefined,
description: undefined,
dataLimit: [],//数据权限
members: [],
},
editCompanyId: undefined,//编辑时公司id
baranchQuery: {
zoneId:null
},
rules: {
name: [
{
required: true,
message: '请输入用户',
trigger: 'blur'
},
{
min: 3,
max: 20,
message: '长度在 3 到 20 个字符',
trigger: 'blur'
}
],
username: [
{
required: true,
message: '请输入账户',
trigger: 'blur'
},
{
min: 3,
max: 20,
message: '长度在 3 到 20 个字符',
trigger: 'blur'
}
],
password: [
{
export default {
name: 'user',
data() {
return {
membersName: '',//角色
form: {
username: undefined,
name: undefined,
sex: '男',
status: 1,
zoneId: undefined,//所属片区
companyId: undefined,//所属分公司id
companyName: "",//所属公司
state2: '',
password: undefined,
passwordEdit: undefined,
description: undefined,
// dataLimit: [],//数据权限
dataLimit: undefined,//数据权限
members: [],
},
editCompanyId: undefined,//编辑时公司id
baranchQuery: {
zoneId: null
},
rules: {
name: [
{
required: true,
message: '请输入用户',
trigger: 'blur'
},
{
min: 3,
max: 20,
message: '长度在 3 到 20 个字符',
trigger: 'blur'
}
],
username: [
{
required: true,
message: '请输入账户',
trigger: 'blur'
},
{
min: 3,
max: 20,
message: '长度在 3 到 20 个字符',
trigger: 'blur'
}
],
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,
message: '请输入密码',
trigger: 'blur'
message: '请选择所属片区',
},
{
min: 5,
max: 20,
message: '长度在 5 到 20 个字符',
trigger: 'blur'
}
],
status: [
{
type: 'integer',
required: true,
message: '请选择',
trigger: 'blur'
}
],
zoneId:{
companyId: {
required: true,
message: '请选择所属片区',
message: '请选择所属分公司',
},
companyId:{
required: true,
message: '请选择所属分公司',
},
// members:{
// type: 'array',
// required: true,
// message: '请选择角色'
// }
},
list: null,
total: null,
listLoading: true,
listQuery: {
page: 1,
limit: 20,
name: undefined
},
sexOptions: ['男', '女'],
zoneOptions: ['男', '女'],
dataOptions: [{id:"1", val:"所属分公司"}, {id:"2", val:"所属片区"}, {id:"3", val:"所有数据"}],
statusOptions: [{id:1, val: '开启'}, {id:2, val: '禁用'}],
dialogFormVisible: false,
dialogStatus: '',
userManager_btn_edit: false,
userManager_btn_del: false,
userManager_btn_add: false,
allCompanies: {},
allCompaniesArr: [],
myGroups: [],//角色列表
loading: false,
textMap: {
update: '编辑',
create: '创建'
},
tableKey: 0,
allBranchCompany: [],//所有分公司列表
list_All:[]
}
},
created() {
this.getList();
getAll()
.then(response => {
this.allCompaniesArr = response.data;
})
getAllCompany(codeAndBranchCompany => {
this.allCompanies = codeAndBranchCompany;
});
listAll().then(response => {
},
list: null,
total: null,
listLoading: true,
listQuery: {
page: 1,
limit: 20,
name: undefined
},
sexOptions: ['男', '女'],
zoneOptions: ['男', '女'],
dataOptions: [{id: "1", val: "所属分公司"}, {id: "2", val: "所属片区"}, {id: "3", val: "所有数据"}],
statusOptions: [{id: 1, val: '开启'}, {id: 2, val: '禁用'}],
dialogFormVisible: false,
dialogStatus: '',
userManager_btn_edit: false,
userManager_btn_del: false,
userManager_btn_add: false,
allCompanies: {},
allCompaniesArr: [],
myGroups: [],//角色列表
loading: false,
textMap: {
update: '编辑',
create: '创建'
},
tableKey: 0,
allBranchCompany: [],//所有分公司列表
list_All: []
}
},
created() {
this.getList();
getAll()
.then(response => {
this.allCompaniesArr = response.data;
})
getAllCompany(codeAndBranchCompany => {
this.allCompanies = codeAndBranchCompany;
});
listAll().then(response => {
this.list_All = response;
})
this.remoteGroupsMethod('');
// 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'];
},
computed: {
...mapGetters([
'elements'
]),
getAllZoneList(){
console.log('getAllZoneList')
this.allZoneArr = getAllZone();
return getAllZone();
})
this.remoteGroupsMethod('');
// 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'];
},
computed: {
...mapGetters([
'elements'
]),
getAllZoneList() {
console.log('getAllZoneList')
this.allZoneArr = getAllZone();
return getAllZone();
},
},
},
methods: {
getAllZone,
remoteGroupsMethod(query) {
methods: {
getAllZone,
remoteGroupsMethod(query) {
// if (query !== '') {
this.loading = true;
this.loading = false;
......@@ -313,222 +342,228 @@ export default {
// } else {
// this.myGroups = [];
// }
},
/**
* 所属分公司
* */
handleSelectSubordinate(item){
this.form.companyId = item.id;
this.form.companyName = item.name;
},
// 角色
handleSelect2(item){
this.form.members = item.id;
},
/**
* 获取后台用户管理列表数据
* */
getList() {
this.listLoading = true;
page(this.listQuery)
.then(response => {
this.list = response.data.rows;
this.total = response.data.total;
this.listLoading = false;
})
},
handleFilter() {
this.getList();
},
handleSizeChange(val) {
this.listQuery.limit = val;
this.getList();
},
handleCurrentChange(val) {
this.listQuery.page = val;
this.getList();
},
handleCreate() {
this.resetTemp();
// this.getGroups()
this.dialogStatus = 'create';
this.dialogFormVisible = true;
},
/**
* 编辑后台账号
* */
handleUpdate(row) {
this.resetTemp();
if(row.zoneId){
getAllBranchCompanyByZoneId({zoneId: row.zoneId})
.then(res => {
this.allBranchCompany = res.data;
getObj(row.id).then(response => {
this.form.id= response.data.id;
this.editCompanyId = response.data.companyId,//所属分公司id
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) {
let zones = response.data.dataZone.split(",");
if(zones.includes(response.data.zoneId + "")) {
dataLimit.push("2");
},
/**
* 所属分公司
* */
handleSelectSubordinate(item) {
this.form.companyId = item.id;
this.form.companyName = item.name;
},
// 角色
handleSelect2(item) {
this.form.members = item.id;
},
/**
* 获取后台用户管理列表数据
* */
getList() {
this.listLoading = true;
page(this.listQuery)
.then(response => {
this.list = response.data.rows;
this.total = response.data.total;
this.listLoading = false;
})
},
handleFilter() {
this.getList();
},
handleSizeChange(val) {
this.listQuery.limit = val;
this.getList();
},
handleCurrentChange(val) {
this.listQuery.page = val;
this.getList();
},
handleCreate() {
this.resetTemp();
// this.getGroups()
this.dialogStatus = 'create';
this.dialogFormVisible = true;
},
/**
* 编辑后台账号
* */
handleUpdate(row) {
this.resetTemp();
if (row.zoneId) {
getAllBranchCompanyByZoneId({zoneId: row.zoneId})
.then(res => {
this.allBranchCompany = res.data;
getObj(row.id).then(response => {
this.form.id = response.data.id;
this.editCompanyId = response.data.companyId,//所属分公司id
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 = [];
let dataLimit = undefined;
if (response.data.dataCompany) {
let companys = response.data.dataCompany.split(",");
if (companys.includes(response.data.companyId + "")) {
// dataLimit.push("1");
dataLimit = '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;
for (let i = 0; i < result.data.length; i++) {
mems.push(result.data[i].id);
if (response.data.dataZone) {
let zones = response.data.dataZone.split(",");
if (zones.includes(response.data.zoneId + "")) {
// dataLimit.push("2");
dataLimit = '2'
}
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 {
this.dialogFormVisible = true;
this.dialogStatus = 'update';
}
},
} else {
this.dialogFormVisible = true;
this.dialogStatus = 'update';
}
},
// changeMembers(){debugger
// this.$set(this.form, "members", this.form.members)
// },
handleDelete(row) {
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
delObj(row.id)
.then(() => {
this.$notify({
title: '成功',
message: '删除成功',
type: 'success',
duration: 2000
handleDelete(row) {
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
delObj(row.id)
.then(() => {
this.$notify({
title: '成功',
message: '删除成功',
type: 'success',
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;
}
});
},
/**
* 创建后台账号
* */
create(formName) {
const set = this.$refs;
set[formName].validate(valid => {
if (valid) {
addObj(this.form)
.then(() => {
},
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: '创建成功',
message: '编辑成功',
type: 'success',
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 {
return false;
} else {
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;
}
})
}
});
},
/**
* 所属片区改变事件
* @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 => {debugger
this.allBranchCompany = response.data;
if(this.editCompanyId){
this.form.companyId = this.editCompanyId;
this.editCompanyId = undefined;
}
})
}
},
resetTemp() {
this.editCompanyId = undefined;
this.form = {
username: undefined,
},
resetTemp() {
this.editCompanyId = undefined;
this.form = {
username: undefined,
name: undefined,
sex: '男',
status: 1,
......@@ -539,9 +574,10 @@ export default {
password: undefined,
passwordEdit: undefined,
description: undefined,
dataLimit: [],//数据权限
// dataLimit: [],//数据权限
dataLimit: undefined,//数据权限
members: [],
};
};
// this.form = {
// username: undefined,
// name: undefined,
......@@ -555,22 +591,22 @@ export default {
// dataLimit: [],
// members: [],
// };
},
// 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;
// });
// }
},
// 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