作者 shenhailong

公司 集团 部分 岗位 编辑下拉框 岗位 改删

import axios from 'axios'
let base = '/group';
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
export const remove = params => { return axios({
method: 'DELETE',
url: `${base}/del`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
//批量删除
export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); };
export const edit = params => { return axios({
method: 'PUT',
url: `${base}/edit`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
export const add = params => { return axios({
method: 'POST',
url: `${base}/add`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
\ No newline at end of file
... ...
... ... @@ -16,7 +16,7 @@ export const remove = params => { return axios({
})};
//批量删除
export const batchRemove = params => { return axios.get(`${base}/user/batchremove`, { params: params }); };
export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); };
export const edit = params => { return axios({
method: 'PUT',
... ...
... ... @@ -9,6 +9,7 @@ import LOG from './views/nav1/Log.vue'
import PreManifest from './views/agent/PreManifest.vue'
import Company from './views/nav1/company.vue'
import Department from './views/nav1/department.vue'
import Group from './views/nav1/groupcompany.vue'
// import Form from './views/nav1/Form.vue'
import User from './views/nav1/user.vue'
... ... @@ -53,6 +54,7 @@ let routes = [
{ path: '/log', component: LOG, name: '系统日志' },
{ path: '/department', component: Department, name: '部门管理' },
{ path: '/company', component: Company, name: '公司管理'},
{ path: '/group', component: Group, name: '集团管理'}
]
},
{
... ...
... ... @@ -21,10 +21,12 @@
</el-table-column>
<el-table-column type="index">
</el-table-column>
<el-table-column prop="companyId" label="ID" sortable>
<el-table-column prop="companyId" label="ID" v-if="show" sortable>
</el-table-column>
<el-table-column prop="companyName" label="公司名称" sortable>
</el-table-column>
<el-table-column prop="groupName" label="集团名称" sortable>
</el-table-column>
<el-table-column prop="creatTime" label="入库时间" sortable>
</el-table-column>
<el-table-column label="操作" min-width="150">
... ... @@ -52,7 +54,14 @@
<el-input v-model="editForm.companyName" auto-complete="off" placeholder="请输入公司名称"></el-input>
</el-form-item>
<el-form-item label="集团名称">
<el-input v-model="editForm.groupId" auto-complete="off" placeholder=""></el-input>
<el-select v-model="editForm.groupId" placeholder="请选择">
<el-option
v-for="item in groupLists"
:key="item.groupId"
:label="item.groupName"
:value="item.groupId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
... ... @@ -68,7 +77,14 @@
<el-input v-model="addForm.companyName" auto-complete="off" placeholder="请输入公司名称"></el-input>
</el-form-item>
<el-form-item label="集团名称" prop="groupId">
<el-input v-model="addForm.groupId" auto-complete="off" placeholder="请输入集团名称"></el-input>
<el-select v-model="addForm.groupId" placeholder="请选择">
<el-option
v-for="item in groupLists"
:key="item.groupId"
:label="item.groupName"
:value="item.groupId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
... ... @@ -83,6 +99,7 @@
import util from '../../common/js/util'
import NProgress from 'nprogress'
import { getList, remove, batchRemove, edit, add } from '../../api/company';
import { getList as groupList } from '../../api/group_company';
import moment from 'moment'
export default {
... ... @@ -92,6 +109,8 @@
companyName: ''
},
companyList: [],
// 接受集团名称
groupLists:[],
permIds: [],
total: 0,
pageNum: 1,
... ... @@ -124,6 +143,7 @@
{ required: true, message: '请输入公司名称', trigger: 'blur' }
]
},
//新增界面数据
addForm: {
companyName: '',
... ... @@ -141,13 +161,7 @@
this.getCompanys();
},
methods: {
//性别显示转换
formatSex: function (row, column) {
return row.sex == 1 ? '男' : row.sex == 0 ? '女' : '未知';
},
formatState: function (row, column) {
return row.state == true ? '是' : row.state == false ? '否' : '未知';
},
handleCurrentChange(val) {
this.pageNum = val;
this.getRoles();
... ... @@ -182,6 +196,32 @@
},
//获取集团列表
getGroupComapnys() {
this.listLoading = true;
//NProgress.start();
groupList().then((res) => {
this.total = res.data.total;
this.groupLists = res.data.list;
console.log(this.companyList);
this.listLoading = false;
//NProgress.done();
}).catch((error) => {
this.listLoading = false;
if(null!= error.response && error.response!==undefined){
let status= error.response.status;
let msg = error.response.statusText;
alert(status+msg);
}else {
alert(error);
}
});
},
//删除
handleDel: function (index, row) {
this.$confirm('确认删除该记录吗?', '提示', {
... ... @@ -212,6 +252,7 @@
handleEdit: function (index, row) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
this.getGroupComapnys();
},
setPerm: function (index, row) {
var _this = this;
... ... @@ -235,6 +276,7 @@
companyName: '',
groupId: ''
};
this.getGroupComapnys();
},
//新增
... ...
... ... @@ -21,10 +21,12 @@
</el-table-column>
<el-table-column type="index">
</el-table-column>
<el-table-column prop="departmentId" label="ID" sortable>
<el-table-column prop="departmentId" label="ID" v-if="show" sortable>
</el-table-column>
<el-table-column prop="departmentName" label="部门名称" sortable>
</el-table-column>
<el-table-column prop="companyName" label="所属公司名称" sortable>
</el-table-column>
<el-table-column prop="creatTime" label="入库时间" sortable>
</el-table-column>
<el-table-column label="操作" min-width="150">
... ... @@ -52,7 +54,14 @@
<el-input v-model="editForm.departmentName" auto-complete="off" placeholder="请输入公司名称"></el-input>
</el-form-item>
<el-form-item label="公司名称">
<el-input v-model="editForm.companyId" auto-complete="off" placeholder=""></el-input>
<el-select v-model="editForm.companyId" placeholder="请选择公司">
<el-option
v-for="item in companyList"
:key="item.companyId"
:label="item.companyName"
:value="item.companyId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
... ... @@ -64,11 +73,18 @@
<!--新增界面-->
<el-dialog title="新增" v-model="addFormVisible" :close-on-click-modal="false">
<el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
<el-form-item label="公司名称" prop="companyName">
<el-input v-model="addForm.departmentName" auto-complete="off" placeholder="请输入公司名称"></el-input>
<el-form-item label="部门名称" prop="deprtmentName">
<el-input v-model="addForm.departmentName" auto-complete="off" placeholder="请输入部门名称"></el-input>
</el-form-item>
<el-form-item label="集团名称" prop="groupId">
<el-input v-model="addForm.companyId" auto-complete="off" placeholder="请输入集团名称"></el-input>
<el-form-item label="公司名称" prop="companyId">
<el-select v-model="addForm.companyId" placeholder="请选择公司">
<el-option
v-for="item in companyList"
:key="item.companyId"
:label="item.companyName"
:value="item.companyId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
... ... @@ -83,6 +99,7 @@
import util from '../../common/js/util'
import NProgress from 'nprogress'
import { getList, remove, batchRemove, edit, add } from '../../api/department';
import { getList as getCompanyList } from '../../api/company';
import moment from 'moment'
export default {
... ... @@ -91,7 +108,9 @@
filters: {
companyName: ''
},
departmentList: [],
companyList: [],
permIds: [],
total: 0,
pageNum: 1,
... ... @@ -146,7 +165,7 @@
this.pageNum = val;
this.getDepartments();
},
//获取公司列表
//获取列表
getDepartments() {
let para = {
pageNum: this.pageNum,
... ... @@ -174,6 +193,30 @@
});
},
//获取列表
getCompanylists() {
let para = {
};
this.listLoading = true;
//NProgress.start();
getCompanyList(para).then((res) => {
this.total = res.data.total;
this.companyList = res.data.list;
this.listLoading = false;
//NProgress.done();
}).catch((error) => {
this.listLoading = false;
if(null!= error.response && error.response!==undefined){
let status= error.response.status;
let msg = error.response.statusText;
alert(status+msg);
}else {
alert(error);
}
});
},
//删除
handleDel: function (index, row) {
... ... @@ -205,6 +248,7 @@
handleEdit: function (index, row) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
this.getCompanylists();
},
setPerm: function (index, row) {
var _this = this;
... ... @@ -228,6 +272,7 @@
departmentName: '',
companyId: ''
};
this.getCompanylists();
},
//新增
... ...
<template>
<section>
<!--工具条-->
<el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
<el-form :inline="true" :model="filters">
<el-form-item>
<el-input v-model="filters.groupName" placeholder="集团名称"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" v-on:click="getGroupCompanys()">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="groupCompanyAdd">新增</el-button>
</el-form-item>
</el-form>
</el-col>
<!--列表-->
<el-table :data="groupCompanyList" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column type="index">
</el-table-column>
<el-table-column prop="groupId" label="ID" sortable>
</el-table-column>
<el-table-column prop="groupName" label="集团名称" sortable>
</el-table-column>
<el-table-column prop="creatTime" label="入库时间" sortable>
</el-table-column>
<el-table-column label="操作" min-width="150">
<template slot-scope="scope">
<el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
<el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<!--工具条-->
<el-col :span="24" class="toolbar">
<el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>
<el-pagination layout="prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;">
</el-pagination>
</el-col>
<!--编辑界面-->
<el-dialog title="编辑" v-model="editFormVisible" :close-on-click-modal="false">
<el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
<el-form-item label="ID">
<span>{{editForm.groupId}}</span>
</el-form-item>
<el-form-item label="集团名称">
<el-input v-model="editForm.groupName" auto-complete="off" placeholder="请输入公司名称"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="editFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="editSubmit" :loading="editLoading">提交</el-button>
</div>
</el-dialog>
<!--新增界面-->
<el-dialog title="新增" v-model="addFormVisible" :close-on-click-modal="false">
<el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
<el-form-item label="集团名称" prop="groupId">
<el-input v-model="addForm.groupName" auto-complete="off" placeholder="请输入集团名称"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="addFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
</div>
</el-dialog>
</section>
</template>
<script>
import util from '../../common/js/util'
import NProgress from 'nprogress'
import { getList, remove, batchRemove, edit, add } from '../../api/group_company';
import moment from 'moment'
export default {
data() {
return {
filters: {
groupName: ''
},
groupCompanyList: [],
permIds: [],
total: 0,
pageNum: 1,
pageSize: 5,
listLoading: false,
sels: [],//列表选中列
//编辑界面是否显示
editFormVisible: false,
editLoading: false,
editFormRules: {
groupName: [
{ required: true, message: '请输入集团名称', trigger: 'blur' }
]
},
//编辑界面数据
editForm: {
groupId: '',
groupName: ''
},
//设置权限数据
setPermForm: {},
//新增界面是否显示
addFormVisible: false,
//设置权限界面是否显示
PermFormVisible: false,
addLoading: false,
addFormRules: {
groupName: [
{ required: true, message: '请输入集团名称', trigger: 'blur' }
]
},
//新增界面数据
addForm: {
groupName: ''
},
groupCompanyFrom: {
groupId: 1,
groupName: '',
groupCompanys: []
}
}
},
mounted() {
this.getGroupCompanys();
},
methods: {
handleCurrentChange(val) {
this.pageNum = val;
this.getGroupCompanys();
},
//获取列表
getGroupCompanys() {
let para = {
pageNum: this.pageNum,
pageSize: this.pageSize,
groupName: this.filters.groupName
};
this.listLoading = true;
//NProgress.start();
getList(para).then((res) => {
this.total = res.data.total;
this.groupCompanyList = res.data.list;
this.listLoading = false;
//NProgress.done();
}).catch((error) => {
this.listLoading = false;
if(null!= error.response && error.response!==undefined){
let status= error.response.status;
let msg = error.response.statusText;
alert(status+msg);
}else {
alert(error);
}
});
},
//删除
handleDel: function (index, row) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { groupId: row.groupId };
remove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
});
this.getGroupCompanys();
}).catch((error) => {
this.listLoading = false;
alert(error);
});
}).catch();
},
/**
* 显示编辑界面
* @param index
* @param row 为这行的数据对象
*/
handleEdit: function (index, row) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
},
setPerm: function (index, row) {
var _this = this;
this.groupIds = [];
this.PermFormVisible = true;
this.groupCompanyFrom = Object.assign({}, row);
let rolePerms = this.groupCompanyFrom.groupCompanys;
if (util.checkNull(rolePerms)){
rolePerms.forEach(function (group,v_index,v_arr) {
if(util.checkNull(perm)){
_this.groupIds[v_index] = group.groupId;
}
});
}
this.getPermList();
},
//显示新增界面,每次点开初始化数据
groupCompanyAdd: function () {
this.addFormVisible = true;
this.addForm = {
groupName: '',
companyId: ''
};
},
//新增
addSubmit: function () {
this.$refs.addForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.addLoading = true;
//NProgress.start();
let para = Object.assign({}, this.addForm);
add(para).then((res) => {
this.addLoading = false;
//NProgress.done();
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['addForm'].resetFields();
this.addFormVisible = false;
this.getGroupCompanys();
}).catch(error => alert(error));
});
}
});
},
//编辑
editSubmit: function () {
this.$refs.editForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.editLoading = true;
let para = Object.assign({}, this.editForm);
this.editLoading = false;
edit(para).then((res) => {
//NProgress.done();
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['editForm'].resetFields();
this.editFormVisible = false;
this.getGroupCompanys();
}).catch(error => alert(error));
});
}
});
},
selsChange: function (sels) {
this.sels = sels;
},
//批量删除
batchRemove: function () {
var ids = this.sels.map(item => item.groupId).toString();
console.log(ids);
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { ids: ids };
batchRemove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
});
this.getGroupCompanys();
});
}).catch(() => {
});
}
},
}
</script>
\ No newline at end of file
... ...
... ... @@ -21,14 +21,12 @@
</el-table-column>
<el-table-column type="index" width="60">
</el-table-column>
<el-table-column prop="roleId" label="ID" width="100" sortable>
<el-table-column prop="roleId" label="ID" width="100" v-if="show" sortable>
</el-table-column>
<el-table-column prop="roleName" label="部门名称" min-width="200" sortable>
</el-table-column>
<el-table-column prop="description" label="部门描述" min-width="200" sortable>
</el-table-column>
<el-table-column prop="roleSign" label="排序" width="100" sortable>
</el-table-column>
<el-table-column label="操作" min-width="260">
<template slot-scope="scope">
<el-button size="small" @click="setPerm(scope.$index, scope.row)">设置权限</el-button>
... ... @@ -51,18 +49,22 @@
<el-form-item label="ID">
<span>{{editForm.roleId}}</span>
</el-form-item>
<el-form-item label="角色名称">
<el-form-item label="岗位名称">
<el-input v-model="editForm.roleName" auto-complete="off" placeholder="请输入角色名称:例如:ROLE_name"></el-input>
</el-form-item>
<el-form-item label="角色描述">
<el-form-item label="岗位描述">
<el-input v-model="editForm.description" auto-complete="off" placeholder="请输入角色描述:例如:用户管理员"></el-input>
</el-form-item>
<el-form-item label="角色排序">
<el-input v-model="editForm.roleSign" auto-complete="off" placeholder="请输入角色排序:例如:数字123"></el-input>
<el-form-item label="部门名称">
<el-select v-model="editForm.departmentId" placeholder="请选择">
<el-option
v-for="item in departmentNameList"
:key="item.departmentId"
:label="item.departmentName"
:value="item.departmentId">
</el-option>
</el-select>
</el-form-item>
<!--<el-form-item label="创建日期">-->
<!--<el-date-picker type="date" placeholder="创建日期" v-model="editForm.creattime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"></el-date-picker>-->
<!--</el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="editFormVisible = false">取消</el-button>
... ... @@ -73,14 +75,21 @@
<!--新增界面-->
<el-dialog title="新增" v-model="addFormVisible" :close-on-click-modal="false">
<el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
<el-form-item label="角色名称" prop="roleName">
<el-form-item label="岗位名称" prop="roleName">
<el-input v-model="addForm.roleName" auto-complete="off" placeholder="请输入角色名称:例如:ROLE_name"></el-input>
</el-form-item>
<el-form-item label="角色描述" prop="description">
<el-form-item label="岗位描述" prop="description">
<el-input v-model="addForm.description" auto-complete="off" placeholder="请输入角色描述:例如:用户管理员"></el-input>
</el-form-item>
<el-form-item label="角色排序" prop="roleSign">
<el-input v-model="addForm.roleSign" auto-complete="off" placeholder="请输入角色排序:例如:数字123"></el-input>
<el-form-item label="部门名称" prop="roleSign">
<el-select v-model="addForm.departmentId" placeholder="请选择">
<el-option
v-for="item in departmentNameList"
:key="item.departmentId"
:label="item.departmentName"
:value="item.departmentId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
... ... @@ -90,7 +99,7 @@
</el-dialog>
<!--权限设置界面-->
<el-dialog title="角色的权限设置" v-model="PermFormVisible" :close-on-click-modal="false">
<el-dialog title="岗位的权限设置" v-model="PermFormVisible" :close-on-click-modal="false">
<el-form :model="permForm" label-width="80px" ref="permForm">
<el-checkbox-group v-model="permIds" size="small">
<el-checkbox v-for="perm in permissons" :label="perm.permissionId" :key="perm.permissionId">{{perm.name}}</el-checkbox>
... ... @@ -108,6 +117,7 @@
import util from '../../common/js/util'
import NProgress from 'nprogress'
import { getList, remove, batchRemove, edit, add, updateRolePerm } from '../../api/role_api';
import { getList as getDepartmentList} from '../../api/department';
import { getList as permList } from '../../api/perm_api';
import moment from 'moment'
export default {
... ... @@ -116,6 +126,7 @@
filters: {
roleName: ''
},
departmentNameList:[],
roles: [],
permissons: [],
permIds: [],
... ... @@ -129,7 +140,7 @@
editLoading: false,
editFormRules: {
roleName: [
{ required: true, message: '请输入角色名称', trigger: 'blur' }
{ required: true, message: '请输入岗位名称', trigger: 'blur' }
]
},
//编辑界面数据
... ... @@ -137,7 +148,8 @@
roleId: 1,
description: '',
roleName: '',
roleSign: 1
roleSign: 1,
departmentId:''
},
//新增界面是否显示
... ... @@ -147,17 +159,18 @@
addLoading: false,
addFormRules: {
roleName: [
{ required: true, message: '请输入角色名称', trigger: 'blur' }
{ required: true, message: '请输入岗位名称', trigger: 'blur' }
],
description: [
{ required: true, message: '请输入角色描述', trigger: 'blur' }
{ required: true, message: '请输入岗位描述', trigger: 'blur' }
]
},
//新增界面数据
addForm: {
description: '',
roleName: '',
roleSign: 1
roleSign: 1,
departmentId:''
},
permForm: {
roleId: 1,
... ... @@ -209,6 +222,33 @@
});
},
//获取部门列表
getdepartmentNames() {
this.listLoading = true;
//NProgress.start();
getDepartmentList().then((res) => {
this.total = res.data.total;
this.departmentNameList = res.data.list;
this.listLoading = false;
//NProgress.done();
}).catch((error) => {
this.listLoading = false;
if(null!= error.response && error.response!==undefined){
let status= error.response.status;
let msg = error.response.statusText;
alert(status+msg);
}else {
alert(error);
}
});
},
//获取权限列表
getPermList() {
let para = {
... ... @@ -237,7 +277,7 @@
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { userId: row.userId };
let para = { roleId: row.roleId };
remove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
... ... @@ -260,6 +300,7 @@
handleEdit: function (index, row) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
this.getdepartmentNames();
},
setPerm: function (index, row) {
var _this = this;
... ... @@ -289,6 +330,7 @@
mobilephone: '',
age: 1
};
this.getdepartmentNames();
},
//编辑
editSubmit: function () {
... ... @@ -383,7 +425,7 @@
},
//批量删除
batchRemove: function () {
var ids = this.sels.map(item => item.id).toString();
var ids = this.sels.map(item => item.roleId).toString();
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
... ...