正在显示
13 个修改的文件
包含
725 行增加
和
24 行删除
@@ -23,13 +23,13 @@ module.exports = { | @@ -23,13 +23,13 @@ module.exports = { | ||
23 | }, | 23 | }, |
24 | dev: { | 24 | dev: { |
25 | env: require('./dev.env'), | 25 | env: require('./dev.env'), |
26 | - port: 8082, | 26 | + port: 8001, |
27 | autoOpenBrowser: true, | 27 | autoOpenBrowser: true, |
28 | assetsSubDirectory: 'static', | 28 | assetsSubDirectory: 'static', |
29 | assetsPublicPath: '/', | 29 | assetsPublicPath: '/', |
30 | proxyTable: { | 30 | proxyTable: { |
31 | '/api':{ | 31 | '/api':{ |
32 | - target: 'http://127.0.0.1:7003',//设置你调用的接口域名和端口号 别忘了加http | 32 | + target: 'http://127.0.0.1:8002',//设置你调用的接口域名和端口号 别忘了加http |
33 | changeOrigin: true, | 33 | changeOrigin: true, |
34 | pathRewrite: { | 34 | pathRewrite: { |
35 | '^/api': '/'//这里理解成用‘/api’代替target里面的地址,后面组件中我们掉接口时直接用api代替 比如我要调用'http://40.00.100.100:3002/user/add',直接写‘/api/user/add’即可 | 35 | '^/api': '/'//这里理解成用‘/api’代替target里面的地址,后面组件中我们掉接口时直接用api代替 比如我要调用'http://40.00.100.100:3002/user/add',直接写‘/api/user/add’即可 |
src/api/company.js
0 → 100644
1 | +import axios from 'axios' | ||
2 | + | ||
3 | +let base = '/company'; | ||
4 | + | ||
5 | + | ||
6 | +export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; | ||
7 | + | ||
8 | + | ||
9 | +export const remove = params => { return axios({ | ||
10 | + method: 'DELETE', | ||
11 | + url: `${base}/del`, | ||
12 | + data: params, | ||
13 | + headers: { | ||
14 | + 'Content-Type': 'application/json;charset=UTF-8' | ||
15 | + } | ||
16 | +})}; | ||
17 | + | ||
18 | +//批量删除 | ||
19 | +export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); }; | ||
20 | + | ||
21 | +export const edit = params => { return axios({ | ||
22 | + method: 'PUT', | ||
23 | + url: `${base}/edit`, | ||
24 | + data: params, | ||
25 | + headers: { | ||
26 | + 'Content-Type': 'application/json;charset=UTF-8' | ||
27 | + } | ||
28 | +})}; | ||
29 | + | ||
30 | +export const add = params => { return axios({ | ||
31 | + method: 'POST', | ||
32 | + url: `${base}/add`, | ||
33 | + data: params, | ||
34 | + headers: { | ||
35 | + 'Content-Type': 'application/json;charset=UTF-8' | ||
36 | + } | ||
37 | +})}; |
src/api/department.js
0 → 100644
1 | +import axios from 'axios' | ||
2 | + | ||
3 | +let base = '/department'; | ||
4 | + | ||
5 | + | ||
6 | +export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; | ||
7 | + | ||
8 | + | ||
9 | +export const remove = params => { return axios({ | ||
10 | + method: 'DELETE', | ||
11 | + url: `${base}/del`, | ||
12 | + data: params, | ||
13 | + headers: { | ||
14 | + 'Content-Type': 'application/json;charset=UTF-8' | ||
15 | + } | ||
16 | +})}; | ||
17 | + | ||
18 | +//批量删除 | ||
19 | +export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); }; | ||
20 | + | ||
21 | +export const edit = params => { return axios({ | ||
22 | + method: 'PUT', | ||
23 | + url: `${base}/edit`, | ||
24 | + data: params, | ||
25 | + headers: { | ||
26 | + 'Content-Type': 'application/json;charset=UTF-8' | ||
27 | + } | ||
28 | +})}; | ||
29 | + | ||
30 | +export const add = params => { return axios({ | ||
31 | + method: 'POST', | ||
32 | + url: `${base}/add`, | ||
33 | + data: params, | ||
34 | + headers: { | ||
35 | + 'Content-Type': 'application/json;charset=UTF-8' | ||
36 | + } | ||
37 | +})}; |
1 | import axios from 'axios' | 1 | import axios from 'axios' |
2 | 2 | ||
3 | -axios.defaults.baseURL = 'http://localhost:8082/api'; | ||
4 | -let base = axios.defaults.baseURL+'/system/log'; | 3 | +let base = '/system/log'; |
5 | 4 | ||
6 | 5 | ||
7 | export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; | 6 | export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; |
1 | import axios from 'axios' | 1 | import axios from 'axios' |
2 | 2 | ||
3 | -axios.defaults.baseURL = 'http://localhost:8082/api'; | ||
4 | -let base = axios.defaults.baseURL+'/perm'; | 3 | +let base = '/perm'; |
5 | 4 | ||
6 | 5 | ||
7 | export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; | 6 | export const getList = params => { return axios.get(`${base}/list`, { params: params }); }; |
1 | var SIGN_REGEXP = /([yMdhsm])(\1*)/g; | 1 | var SIGN_REGEXP = /([yMdhsm])(\1*)/g; |
2 | var DEFAULT_PATTERN = 'yyyy-MM-dd'; | 2 | var DEFAULT_PATTERN = 'yyyy-MM-dd'; |
3 | + | ||
3 | function padding(s, len) { | 4 | function padding(s, len) { |
4 | var len = len - (s + '').length; | 5 | var len = len - (s + '').length; |
5 | for (var i = 0; i < len; i++) { s = '0' + s; } | 6 | for (var i = 0; i < len; i++) { s = '0' + s; } |
1 | -import babelpolyfill from 'babel-polyfill' | 1 | + |
2 | import Vue from 'vue' | 2 | import Vue from 'vue' |
3 | import App from './App' | 3 | import App from './App' |
4 | -import ElementUI from 'element-ui' | ||
5 | import 'element-ui/lib/theme-default/index.css' | 4 | import 'element-ui/lib/theme-default/index.css' |
6 | //import './assets/theme/theme-green/index.css' | 5 | //import './assets/theme/theme-green/index.css' |
7 | import VueRouter from 'vue-router' | 6 | import VueRouter from 'vue-router' |
8 | import store from './vuex/store' | 7 | import store from './vuex/store' |
9 | import Vuex from 'vuex' | 8 | import Vuex from 'vuex' |
10 | import axios from 'axios' | 9 | import axios from 'axios' |
11 | -//import NProgress from 'nprogress' | ||
12 | -//import 'nprogress/nprogress.css' | ||
13 | import rout from './routes' | 10 | import rout from './routes' |
14 | import Mock from './mock' | 11 | import Mock from './mock' |
15 | import i18n from './lang' | 12 | import i18n from './lang' |
16 | import 'font-awesome/css/font-awesome.min.css' | 13 | import 'font-awesome/css/font-awesome.min.css' |
14 | +import ElementUI from 'element-ui' | ||
17 | 15 | ||
18 | //定义一个全局过滤器实现日期格式化 | 16 | //定义一个全局过滤器实现日期格式化 |
19 | Vue.filter('datefmt',function(input,fmtstring){ | 17 | Vue.filter('datefmt',function(input,fmtstring){ |
@@ -7,6 +7,8 @@ import Role from './views/nav1/role.vue' | @@ -7,6 +7,8 @@ import Role from './views/nav1/role.vue' | ||
7 | import Perm from './views/nav1/perm.vue' | 7 | import Perm from './views/nav1/perm.vue' |
8 | import LOG from './views/nav1/Log.vue' | 8 | import LOG from './views/nav1/Log.vue' |
9 | import PreManifest from './views/agent/PreManifest.vue' | 9 | import PreManifest from './views/agent/PreManifest.vue' |
10 | +import Company from './views/nav1/company.vue' | ||
11 | +import Department from './views/nav1/department.vue' | ||
10 | // import Form from './views/nav1/Form.vue' | 12 | // import Form from './views/nav1/Form.vue' |
11 | 13 | ||
12 | import User from './views/nav1/user.vue' | 14 | import User from './views/nav1/user.vue' |
@@ -46,9 +48,11 @@ let routes = [ | @@ -46,9 +48,11 @@ let routes = [ | ||
46 | iconCls: 'el-icon-setting',//图标样式class | 48 | iconCls: 'el-icon-setting',//图标样式class |
47 | children: [ | 49 | children: [ |
48 | { path: '/user', component: User, name: '用户管理' }, | 50 | { path: '/user', component: User, name: '用户管理' }, |
49 | - { path: '/role', component: Role, name: '角色管理' }, | 51 | + { path: '/role', component: Role, name: '岗位管理' }, |
50 | { path: '/perm', component: Perm, name: '权限管理' }, | 52 | { path: '/perm', component: Perm, name: '权限管理' }, |
51 | { path: '/log', component: LOG, name: '系统日志' }, | 53 | { path: '/log', component: LOG, name: '系统日志' }, |
54 | + { path: '/department', component: Department, name: '部门管理' }, | ||
55 | + { path: '/company', component: Company, name: '公司管理'}, | ||
52 | ] | 56 | ] |
53 | }, | 57 | }, |
54 | { | 58 | { |
@@ -37,7 +37,7 @@ | @@ -37,7 +37,7 @@ | ||
37 | <li v-for="(item,index) in $router.options.routes" v-if="!item.hidden" class="el-submenu item"> | 37 | <li v-for="(item,index) in $router.options.routes" v-if="!item.hidden" class="el-submenu item"> |
38 | <template v-if="!item.leaf"> | 38 | <template v-if="!item.leaf"> |
39 | <div class="el-submenu__title" style="padding-left: 20px;" @mouseover="showMenu(index,true)" @mouseout="showMenu(index,false)"><i :class="item.iconCls"></i></div> | 39 | <div class="el-submenu__title" style="padding-left: 20px;" @mouseover="showMenu(index,true)" @mouseout="showMenu(index,false)"><i :class="item.iconCls"></i></div> |
40 | - <ul class="el-menu submenu" :class="'submenu-hook-'+index" @mouseover="showMenu(index,true)" @mouseout="showMenu(index,false)"> | 40 | + <ul class="el-menu submenu" :class="'submenu-hook-'+index" @mouseover="showMenu(index,true)" @mouseout="showMenu(index,false)"> |
41 | <li v-for="child in item.children" v-if="!child.hidden" :key="child.path" class="el-menu-item" style="padding-left: 40px;" :class="$route.path==child.path?'is-active':''" @click="$router.push(child.path)">{{child.name}}</li> | 41 | <li v-for="child in item.children" v-if="!child.hidden" :key="child.path" class="el-menu-item" style="padding-left: 40px;" :class="$route.path==child.path?'is-active':''" @click="$router.push(child.path)">{{child.name}}</li> |
42 | </ul> | 42 | </ul> |
43 | </template> | 43 | </template> |
@@ -70,6 +70,7 @@ | @@ -70,6 +70,7 @@ | ||
70 | </el-row> | 70 | </el-row> |
71 | </template> | 71 | </template> |
72 | 72 | ||
73 | + | ||
73 | <script> | 74 | <script> |
74 | import rt from '../routes' | 75 | import rt from '../routes' |
75 | export default { | 76 | export default { |
src/views/nav1/company.vue
0 → 100644
1 | +<template> | ||
2 | + <section> | ||
3 | + <!--工具条--> | ||
4 | + <el-col :span="24" class="toolbar" style="padding-bottom: 0px;"> | ||
5 | + <el-form :inline="true" :model="filters"> | ||
6 | + <el-form-item> | ||
7 | + <el-input v-model="filters.companyName" placeholder="公司名称"></el-input> | ||
8 | + </el-form-item> | ||
9 | + <el-form-item> | ||
10 | + <el-button type="primary" v-on:click="getCompanys()">查询</el-button> | ||
11 | + </el-form-item> | ||
12 | + <el-form-item> | ||
13 | + <el-button type="primary" @click="companyAdd">新增</el-button> | ||
14 | + </el-form-item> | ||
15 | + </el-form> | ||
16 | + </el-col> | ||
17 | + | ||
18 | + <!--列表--> | ||
19 | + <el-table :data="companyList" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;"> | ||
20 | + <el-table-column type="selection" width="55"> | ||
21 | + </el-table-column> | ||
22 | + <el-table-column type="index"> | ||
23 | + </el-table-column> | ||
24 | + <el-table-column prop="companyId" label="ID" sortable> | ||
25 | + </el-table-column> | ||
26 | + <el-table-column prop="companyName" label="公司名称" sortable> | ||
27 | + </el-table-column> | ||
28 | + <el-table-column prop="creatTime" label="入库时间" sortable> | ||
29 | + </el-table-column> | ||
30 | + <el-table-column label="操作" min-width="150"> | ||
31 | + <template slot-scope="scope"> | ||
32 | + <el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button> | ||
33 | + <el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button> | ||
34 | + </template> | ||
35 | + </el-table-column> | ||
36 | + </el-table> | ||
37 | + | ||
38 | + <!--工具条--> | ||
39 | + <el-col :span="24" class="toolbar"> | ||
40 | + <el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button> | ||
41 | + <el-pagination layout="prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;"> | ||
42 | + </el-pagination> | ||
43 | + </el-col> | ||
44 | + | ||
45 | + <!--编辑界面--> | ||
46 | + <el-dialog title="编辑" v-model="editFormVisible" :close-on-click-modal="false"> | ||
47 | + <el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm"> | ||
48 | + <el-form-item label="ID"> | ||
49 | + <span>{{editForm.companyId}}</span> | ||
50 | + </el-form-item> | ||
51 | + <el-form-item label="公司名称"> | ||
52 | + <el-input v-model="editForm.companyName" auto-complete="off" placeholder="请输入公司名称"></el-input> | ||
53 | + </el-form-item> | ||
54 | + <el-form-item label="集团名称"> | ||
55 | + <el-input v-model="editForm.groupId" auto-complete="off" placeholder=""></el-input> | ||
56 | + </el-form-item> | ||
57 | + </el-form> | ||
58 | + <div slot="footer" class="dialog-footer"> | ||
59 | + <el-button @click.native="editFormVisible = false">取消</el-button> | ||
60 | + <el-button type="primary" @click.native="editSubmit" :loading="editLoading">提交</el-button> | ||
61 | + </div> | ||
62 | + </el-dialog> | ||
63 | + | ||
64 | + <!--新增界面--> | ||
65 | + <el-dialog title="新增" v-model="addFormVisible" :close-on-click-modal="false"> | ||
66 | + <el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm"> | ||
67 | + <el-form-item label="公司名称" prop="companyName"> | ||
68 | + <el-input v-model="addForm.companyName" auto-complete="off" placeholder="请输入公司名称"></el-input> | ||
69 | + </el-form-item> | ||
70 | + <el-form-item label="集团名称" prop="groupId"> | ||
71 | + <el-input v-model="addForm.groupId" auto-complete="off" placeholder="请输入集团名称"></el-input> | ||
72 | + </el-form-item> | ||
73 | + </el-form> | ||
74 | + <div slot="footer" class="dialog-footer"> | ||
75 | + <el-button @click.native="addFormVisible = false">取消</el-button> | ||
76 | + <el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button> | ||
77 | + </div> | ||
78 | + </el-dialog> | ||
79 | + </section> | ||
80 | +</template> | ||
81 | + | ||
82 | +<script> | ||
83 | + import util from '../../common/js/util' | ||
84 | + import NProgress from 'nprogress' | ||
85 | + import { getList, remove, batchRemove, edit, add } from '../../api/company'; | ||
86 | + import moment from 'moment' | ||
87 | + | ||
88 | + export default { | ||
89 | + data() { | ||
90 | + return { | ||
91 | + filters: { | ||
92 | + companyName: '' | ||
93 | + }, | ||
94 | + companyList: [], | ||
95 | + permIds: [], | ||
96 | + total: 0, | ||
97 | + pageNum: 1, | ||
98 | + pageSize: 5, | ||
99 | + listLoading: false, | ||
100 | + sels: [],//列表选中列 | ||
101 | + //编辑界面是否显示 | ||
102 | + editFormVisible: false, | ||
103 | + editLoading: false, | ||
104 | + editFormRules: { | ||
105 | + companyName: [ | ||
106 | + { required: true, message: '请输入公司名称', trigger: 'blur' } | ||
107 | + ] | ||
108 | + }, | ||
109 | + //编辑界面数据 | ||
110 | + editForm: { | ||
111 | + companyId: '', | ||
112 | + companyName: '', | ||
113 | + groupId: '' | ||
114 | + }, | ||
115 | + //设置权限数据 | ||
116 | + setPermForm: {}, | ||
117 | + //新增界面是否显示 | ||
118 | + addFormVisible: false, | ||
119 | + //设置权限界面是否显示 | ||
120 | + PermFormVisible: false, | ||
121 | + addLoading: false, | ||
122 | + addFormRules: { | ||
123 | + companyName: [ | ||
124 | + { required: true, message: '请输入公司名称', trigger: 'blur' } | ||
125 | + ] | ||
126 | + }, | ||
127 | + //新增界面数据 | ||
128 | + addForm: { | ||
129 | + companyName: '', | ||
130 | + groupId: '' | ||
131 | + }, | ||
132 | + companyFrom: { | ||
133 | + companyId: 1, | ||
134 | + companyName: '', | ||
135 | + companys: [] | ||
136 | + } | ||
137 | + | ||
138 | + } | ||
139 | + }, | ||
140 | + mounted() { | ||
141 | + this.getCompanys(); | ||
142 | + }, | ||
143 | + methods: { | ||
144 | + //性别显示转换 | ||
145 | + formatSex: function (row, column) { | ||
146 | + return row.sex == 1 ? '男' : row.sex == 0 ? '女' : '未知'; | ||
147 | + }, | ||
148 | + formatState: function (row, column) { | ||
149 | + return row.state == true ? '是' : row.state == false ? '否' : '未知'; | ||
150 | + }, | ||
151 | + handleCurrentChange(val) { | ||
152 | + this.pageNum = val; | ||
153 | + this.getRoles(); | ||
154 | + }, | ||
155 | + //获取公司列表 | ||
156 | + getCompanys() { | ||
157 | + let para = { | ||
158 | + pageNum: this.pageNum, | ||
159 | + pageSize: this.pageSize, | ||
160 | + companyName: this.filters.companyName | ||
161 | + }; | ||
162 | + this.listLoading = true; | ||
163 | + //NProgress.start(); | ||
164 | + getList(para).then((res) => { | ||
165 | + this.total = res.data.total; | ||
166 | + this.companyList = res.data.list; | ||
167 | + console.log(this.companyList); | ||
168 | + this.listLoading = false; | ||
169 | + //NProgress.done(); | ||
170 | + }).catch((error) => { | ||
171 | + | ||
172 | + this.listLoading = false; | ||
173 | + if(null!= error.response && error.response!==undefined){ | ||
174 | + let status= error.response.status; | ||
175 | + let msg = error.response.statusText; | ||
176 | + alert(status+msg); | ||
177 | + }else { | ||
178 | + alert(error); | ||
179 | + } | ||
180 | + | ||
181 | + }); | ||
182 | + | ||
183 | + }, | ||
184 | + | ||
185 | + //删除 | ||
186 | + handleDel: function (index, row) { | ||
187 | + this.$confirm('确认删除该记录吗?', '提示', { | ||
188 | + type: 'warning' | ||
189 | + }).then(() => { | ||
190 | + this.listLoading = true; | ||
191 | + //NProgress.start(); | ||
192 | + let para = { companyId: row.companyId }; | ||
193 | + remove(para).then((res) => { | ||
194 | + this.listLoading = false; | ||
195 | + //NProgress.done(); | ||
196 | + this.$message({ | ||
197 | + message: '删除成功', | ||
198 | + type: 'success' | ||
199 | + }); | ||
200 | + this.getCompanys(); | ||
201 | + }).catch((error) => { | ||
202 | + this.listLoading = false; | ||
203 | + alert(error); | ||
204 | + }); | ||
205 | + }).catch(); | ||
206 | + }, | ||
207 | + /** | ||
208 | + * 显示编辑界面 | ||
209 | + * @param index | ||
210 | + * @param row 为这行的数据对象 | ||
211 | + */ | ||
212 | + handleEdit: function (index, row) { | ||
213 | + this.editFormVisible = true; | ||
214 | + this.editForm = Object.assign({}, row); | ||
215 | + }, | ||
216 | + setPerm: function (index, row) { | ||
217 | + var _this = this; | ||
218 | + this.companyIds = []; | ||
219 | + this.PermFormVisible = true; | ||
220 | + this.companyFrom = Object.assign({}, row); | ||
221 | + let rolePerms = this.companyFrom.companys; | ||
222 | + if (util.checkNull(rolePerms)){ | ||
223 | + rolePerms.forEach(function (company,v_index,v_arr) { | ||
224 | + if(util.checkNull(perm)){ | ||
225 | + _this.companyIds[v_index] = company.companyId; | ||
226 | + } | ||
227 | + }); | ||
228 | + } | ||
229 | + this.getPermList(); | ||
230 | + }, | ||
231 | + //显示新增界面,每次点开初始化数据 | ||
232 | + companyAdd: function () { | ||
233 | + this.addFormVisible = true; | ||
234 | + this.addForm = { | ||
235 | + companyName: '', | ||
236 | + groupId: '' | ||
237 | + }; | ||
238 | + }, | ||
239 | + | ||
240 | + //新增 | ||
241 | + addSubmit: function () { | ||
242 | + this.$refs.addForm.validate((valid) => { | ||
243 | + if (valid) { | ||
244 | + this.$confirm('确认提交吗?', '提示', {}).then(() => { | ||
245 | + this.addLoading = true; | ||
246 | + //NProgress.start(); | ||
247 | + let para = Object.assign({}, this.addForm); | ||
248 | + add(para).then((res) => { | ||
249 | + this.addLoading = false; | ||
250 | + //NProgress.done(); | ||
251 | + this.$message({ | ||
252 | + message: '提交成功', | ||
253 | + type: 'success' | ||
254 | + }); | ||
255 | + this.$refs['addForm'].resetFields(); | ||
256 | + this.addFormVisible = false; | ||
257 | + this.getCompanys(); | ||
258 | + }).catch(error => alert(error)); | ||
259 | + }); | ||
260 | + } | ||
261 | + }); | ||
262 | + }, | ||
263 | + //编辑 | ||
264 | + editSubmit: function () { | ||
265 | + this.$refs.editForm.validate((valid) => { | ||
266 | + if (valid) { | ||
267 | + this.$confirm('确认提交吗?', '提示', {}).then(() => { | ||
268 | + this.editLoading = true; | ||
269 | + let para = Object.assign({}, this.editForm); | ||
270 | + this.editLoading = false; | ||
271 | + edit(para).then((res) => { | ||
272 | + | ||
273 | + //NProgress.done(); | ||
274 | + this.$message({ | ||
275 | + message: '提交成功', | ||
276 | + type: 'success' | ||
277 | + }); | ||
278 | + this.$refs['editForm'].resetFields(); | ||
279 | + this.editFormVisible = false; | ||
280 | + this.getCompanys(); | ||
281 | + }).catch(error => alert(error)); | ||
282 | + }); | ||
283 | + } | ||
284 | + }); | ||
285 | + }, | ||
286 | + | ||
287 | + selsChange: function (sels) { | ||
288 | + this.sels = sels; | ||
289 | + }, | ||
290 | + //批量删除 | ||
291 | + batchRemove: function () { | ||
292 | + var ids = this.sels.map(item => item.companyId).toString(); | ||
293 | + console.log(ids); | ||
294 | + this.$confirm('确认删除选中记录吗?', '提示', { | ||
295 | + type: 'warning' | ||
296 | + }).then(() => { | ||
297 | + this.listLoading = true; | ||
298 | + //NProgress.start(); | ||
299 | + let para = { ids: ids }; | ||
300 | + batchRemove(para).then((res) => { | ||
301 | + this.listLoading = false; | ||
302 | + //NProgress.done(); | ||
303 | + this.$message({ | ||
304 | + message: '删除成功', | ||
305 | + type: 'success' | ||
306 | + }); | ||
307 | + this.getCompanys(); | ||
308 | + }); | ||
309 | + }).catch(() => { | ||
310 | + | ||
311 | + }); | ||
312 | + } | ||
313 | + }, | ||
314 | + | ||
315 | + } | ||
316 | +</script> |
src/views/nav1/department.vue
0 → 100644
1 | +<template> | ||
2 | + <section> | ||
3 | + <!--工具条--> | ||
4 | + <el-col :span="24" class="toolbar" style="padding-bottom: 0px;"> | ||
5 | + <el-form :inline="true" :model="filters"> | ||
6 | + <el-form-item> | ||
7 | + <el-input v-model="filters.departmentName" placeholder="部门名称"></el-input> | ||
8 | + </el-form-item> | ||
9 | + <el-form-item> | ||
10 | + <el-button type="primary" v-on:click="getDepartments()">查询</el-button> | ||
11 | + </el-form-item> | ||
12 | + <el-form-item> | ||
13 | + <el-button type="primary" @click="departmentAdd">新增</el-button> | ||
14 | + </el-form-item> | ||
15 | + </el-form> | ||
16 | + </el-col> | ||
17 | + | ||
18 | + <!--列表--> | ||
19 | + <el-table :data="departmentList" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;"> | ||
20 | + <el-table-column type="selection" width="55"> | ||
21 | + </el-table-column> | ||
22 | + <el-table-column type="index"> | ||
23 | + </el-table-column> | ||
24 | + <el-table-column prop="departmentId" label="ID" sortable> | ||
25 | + </el-table-column> | ||
26 | + <el-table-column prop="departmentName" label="部门名称" sortable> | ||
27 | + </el-table-column> | ||
28 | + <el-table-column prop="creatTime" label="入库时间" sortable> | ||
29 | + </el-table-column> | ||
30 | + <el-table-column label="操作" min-width="150"> | ||
31 | + <template slot-scope="scope"> | ||
32 | + <el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button> | ||
33 | + <el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button> | ||
34 | + </template> | ||
35 | + </el-table-column> | ||
36 | + </el-table> | ||
37 | + | ||
38 | + <!--工具条--> | ||
39 | + <el-col :span="24" class="toolbar"> | ||
40 | + <el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button> | ||
41 | + <el-pagination layout="prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;"> | ||
42 | + </el-pagination> | ||
43 | + </el-col> | ||
44 | + | ||
45 | + <!--编辑界面--> | ||
46 | + <el-dialog title="编辑" v-model="editFormVisible" :close-on-click-modal="false"> | ||
47 | + <el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm"> | ||
48 | + <el-form-item label="ID"> | ||
49 | + <span>{{editForm.departmentId}}</span> | ||
50 | + </el-form-item> | ||
51 | + <el-form-item label="部门名称"> | ||
52 | + <el-input v-model="editForm.departmentName" auto-complete="off" placeholder="请输入公司名称"></el-input> | ||
53 | + </el-form-item> | ||
54 | + <el-form-item label="公司名称"> | ||
55 | + <el-input v-model="editForm.companyId" auto-complete="off" placeholder=""></el-input> | ||
56 | + </el-form-item> | ||
57 | + </el-form> | ||
58 | + <div slot="footer" class="dialog-footer"> | ||
59 | + <el-button @click.native="editFormVisible = false">取消</el-button> | ||
60 | + <el-button type="primary" @click.native="editSubmit" :loading="editLoading">提交</el-button> | ||
61 | + </div> | ||
62 | + </el-dialog> | ||
63 | + | ||
64 | + <!--新增界面--> | ||
65 | + <el-dialog title="新增" v-model="addFormVisible" :close-on-click-modal="false"> | ||
66 | + <el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm"> | ||
67 | + <el-form-item label="公司名称" prop="companyName"> | ||
68 | + <el-input v-model="addForm.departmentName" auto-complete="off" placeholder="请输入公司名称"></el-input> | ||
69 | + </el-form-item> | ||
70 | + <el-form-item label="集团名称" prop="groupId"> | ||
71 | + <el-input v-model="addForm.companyId" auto-complete="off" placeholder="请输入集团名称"></el-input> | ||
72 | + </el-form-item> | ||
73 | + </el-form> | ||
74 | + <div slot="footer" class="dialog-footer"> | ||
75 | + <el-button @click.native="addFormVisible = false">取消</el-button> | ||
76 | + <el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button> | ||
77 | + </div> | ||
78 | + </el-dialog> | ||
79 | + </section> | ||
80 | +</template> | ||
81 | + | ||
82 | +<script> | ||
83 | + import util from '../../common/js/util' | ||
84 | + import NProgress from 'nprogress' | ||
85 | + import { getList, remove, batchRemove, edit, add } from '../../api/department'; | ||
86 | + import moment from 'moment' | ||
87 | + | ||
88 | + export default { | ||
89 | + data() { | ||
90 | + return { | ||
91 | + filters: { | ||
92 | + companyName: '' | ||
93 | + }, | ||
94 | + departmentList: [], | ||
95 | + permIds: [], | ||
96 | + total: 0, | ||
97 | + pageNum: 1, | ||
98 | + pageSize: 5, | ||
99 | + listLoading: false, | ||
100 | + sels: [],//列表选中列 | ||
101 | + //编辑界面是否显示 | ||
102 | + editFormVisible: false, | ||
103 | + editLoading: false, | ||
104 | + editFormRules: { | ||
105 | + departmentName: [ | ||
106 | + { required: true, message: '请输入部门名称', trigger: 'blur' } | ||
107 | + ] | ||
108 | + }, | ||
109 | + //编辑界面数据 | ||
110 | + editForm: { | ||
111 | + departmentId: '', | ||
112 | + departmentName: '', | ||
113 | + companyId: '' | ||
114 | + }, | ||
115 | + //设置权限数据 | ||
116 | + setPermForm: {}, | ||
117 | + //新增界面是否显示 | ||
118 | + addFormVisible: false, | ||
119 | + //设置权限界面是否显示 | ||
120 | + PermFormVisible: false, | ||
121 | + addLoading: false, | ||
122 | + addFormRules: { | ||
123 | + departmentName: [ | ||
124 | + { required: true, message: '请输入部门名称', trigger: 'blur' } | ||
125 | + ] | ||
126 | + }, | ||
127 | + //新增界面数据 | ||
128 | + addForm: { | ||
129 | + departmentName: '', | ||
130 | + companyId: '' | ||
131 | + }, | ||
132 | + departmentFrom: { | ||
133 | + departmentId: 1, | ||
134 | + departmentName: '', | ||
135 | + departments: [] | ||
136 | + } | ||
137 | + | ||
138 | + } | ||
139 | + }, | ||
140 | + mounted() { | ||
141 | + this.getDepartments(); | ||
142 | + }, | ||
143 | + methods: { | ||
144 | + | ||
145 | + handleCurrentChange(val) { | ||
146 | + this.pageNum = val; | ||
147 | + this.getDepartments(); | ||
148 | + }, | ||
149 | + //获取公司列表 | ||
150 | + getDepartments() { | ||
151 | + let para = { | ||
152 | + pageNum: this.pageNum, | ||
153 | + pageSize: this.pageSize, | ||
154 | + departmentName: this.filters.departmentName | ||
155 | + }; | ||
156 | + this.listLoading = true; | ||
157 | + //NProgress.start(); | ||
158 | + getList(para).then((res) => { | ||
159 | + this.total = res.data.total; | ||
160 | + this.departmentList = res.data.list; | ||
161 | + this.listLoading = false; | ||
162 | + //NProgress.done(); | ||
163 | + }).catch((error) => { | ||
164 | + | ||
165 | + this.listLoading = false; | ||
166 | + if(null!= error.response && error.response!==undefined){ | ||
167 | + let status= error.response.status; | ||
168 | + let msg = error.response.statusText; | ||
169 | + alert(status+msg); | ||
170 | + }else { | ||
171 | + alert(error); | ||
172 | + } | ||
173 | + | ||
174 | + }); | ||
175 | + | ||
176 | + }, | ||
177 | + | ||
178 | + //删除 | ||
179 | + handleDel: function (index, row) { | ||
180 | + this.$confirm('确认删除该记录吗?', '提示', { | ||
181 | + type: 'warning' | ||
182 | + }).then(() => { | ||
183 | + this.listLoading = true; | ||
184 | + //NProgress.start(); | ||
185 | + let para = { departmentId: row.departmentId }; | ||
186 | + remove(para).then((res) => { | ||
187 | + this.listLoading = false; | ||
188 | + //NProgress.done(); | ||
189 | + this.$message({ | ||
190 | + message: '删除成功', | ||
191 | + type: 'success' | ||
192 | + }); | ||
193 | + this.getDepartments(); | ||
194 | + }).catch((error) => { | ||
195 | + this.listLoading = false; | ||
196 | + alert(error); | ||
197 | + }); | ||
198 | + }).catch(); | ||
199 | + }, | ||
200 | + /** | ||
201 | + * 显示编辑界面 | ||
202 | + * @param index | ||
203 | + * @param row 为这行的数据对象 | ||
204 | + */ | ||
205 | + handleEdit: function (index, row) { | ||
206 | + this.editFormVisible = true; | ||
207 | + this.editForm = Object.assign({}, row); | ||
208 | + }, | ||
209 | + setPerm: function (index, row) { | ||
210 | + var _this = this; | ||
211 | + this.departmentIds = []; | ||
212 | + this.PermFormVisible = true; | ||
213 | + this.departmentFrom = Object.assign({}, row); | ||
214 | + let rolePerms = this.departmentFrom.departments; | ||
215 | + if (util.checkNull(rolePerms)){ | ||
216 | + rolePerms.forEach(function (department,v_index,v_arr) { | ||
217 | + if(util.checkNull(perm)){ | ||
218 | + _this.departmentIds[v_index] = department.departmentId; | ||
219 | + } | ||
220 | + }); | ||
221 | + } | ||
222 | + this.getPermList(); | ||
223 | + }, | ||
224 | + //显示新增界面,每次点开初始化数据 | ||
225 | + departmentAdd: function () { | ||
226 | + this.addFormVisible = true; | ||
227 | + this.addForm = { | ||
228 | + departmentName: '', | ||
229 | + companyId: '' | ||
230 | + }; | ||
231 | + }, | ||
232 | + | ||
233 | + //新增 | ||
234 | + addSubmit: function () { | ||
235 | + this.$refs.addForm.validate((valid) => { | ||
236 | + if (valid) { | ||
237 | + this.$confirm('确认提交吗?', '提示', {}).then(() => { | ||
238 | + this.addLoading = true; | ||
239 | + //NProgress.start(); | ||
240 | + let para = Object.assign({}, this.addForm); | ||
241 | + add(para).then((res) => { | ||
242 | + this.addLoading = false; | ||
243 | + //NProgress.done(); | ||
244 | + this.$message({ | ||
245 | + message: '提交成功', | ||
246 | + type: 'success' | ||
247 | + }); | ||
248 | + this.$refs['addForm'].resetFields(); | ||
249 | + this.addFormVisible = false; | ||
250 | + this.getDepartments(); | ||
251 | + }).catch(error => alert(error)); | ||
252 | + }); | ||
253 | + } | ||
254 | + }); | ||
255 | + }, | ||
256 | + //编辑 | ||
257 | + editSubmit: function () { | ||
258 | + this.$refs.editForm.validate((valid) => { | ||
259 | + if (valid) { | ||
260 | + this.$confirm('确认提交吗?', '提示', {}).then(() => { | ||
261 | + this.editLoading = true; | ||
262 | + let para = Object.assign({}, this.editForm); | ||
263 | + this.editLoading = false; | ||
264 | + edit(para).then((res) => { | ||
265 | + | ||
266 | + //NProgress.done(); | ||
267 | + this.$message({ | ||
268 | + message: '提交成功', | ||
269 | + type: 'success' | ||
270 | + }); | ||
271 | + this.$refs['editForm'].resetFields(); | ||
272 | + this.editFormVisible = false; | ||
273 | + this.getDepartments(); | ||
274 | + }).catch(error => alert(error)); | ||
275 | + }); | ||
276 | + } | ||
277 | + }); | ||
278 | + }, | ||
279 | + | ||
280 | + selsChange: function (sels) { | ||
281 | + this.sels = sels; | ||
282 | + }, | ||
283 | + //批量删除 | ||
284 | + batchRemove: function () { | ||
285 | + var ids = this.sels.map(item => item.departmentId).toString(); | ||
286 | + console.log(ids); | ||
287 | + this.$confirm('确认删除选中记录吗?', '提示', { | ||
288 | + type: 'warning' | ||
289 | + }).then(() => { | ||
290 | + this.listLoading = true; | ||
291 | + //NProgress.start(); | ||
292 | + let para = { ids: ids }; | ||
293 | + batchRemove(para).then((res) => { | ||
294 | + this.listLoading = false; | ||
295 | + //NProgress.done(); | ||
296 | + this.$message({ | ||
297 | + message: '删除成功', | ||
298 | + type: 'success' | ||
299 | + }); | ||
300 | + this.getDepartments(); | ||
301 | + }); | ||
302 | + }).catch(() => { | ||
303 | + | ||
304 | + }); | ||
305 | + } | ||
306 | + }, | ||
307 | + | ||
308 | + } | ||
309 | +</script> |
@@ -23,7 +23,7 @@ | @@ -23,7 +23,7 @@ | ||
23 | </el-table-column> | 23 | </el-table-column> |
24 | <el-table-column prop="permissionId" label="ID" width="100" sortable> | 24 | <el-table-column prop="permissionId" label="ID" width="100" sortable> |
25 | </el-table-column> | 25 | </el-table-column> |
26 | - <el-table-column prop="permissionName" label="权限名称" min-width="200" sortable> | 26 | + <el-table-column prop="name" label="权限名称" min-width="200" sortable> |
27 | </el-table-column> | 27 | </el-table-column> |
28 | <el-table-column prop="description" label="描述" min-width="200" sortable> | 28 | <el-table-column prop="description" label="描述" min-width="200" sortable> |
29 | </el-table-column> | 29 | </el-table-column> |
@@ -74,8 +74,8 @@ | @@ -74,8 +74,8 @@ | ||
74 | <!--新增界面--> | 74 | <!--新增界面--> |
75 | <el-dialog title="新增" v-model="addFormVisible" :close-on-click-modal="false"> | 75 | <el-dialog title="新增" v-model="addFormVisible" :close-on-click-modal="false"> |
76 | <el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm"> | 76 | <el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm"> |
77 | - <el-form-item label="权限名称" prop="permissionName"> | ||
78 | - <el-input v-model="addForm.roleName" auto-complete="off" placeholder="请输入权限名称:例如:用户新增权限"></el-input> | 77 | + <el-form-item label="权限名称" prop="name"> |
78 | + <el-input v-model="addForm.name" auto-complete="off" placeholder="请输入权限名称:例如:用户新增权限"></el-input> | ||
79 | </el-form-item> | 79 | </el-form-item> |
80 | <el-form-item label="权限描述" prop="description"> | 80 | <el-form-item label="权限描述" prop="description"> |
81 | <el-input v-model="addForm.description" auto-complete="off" placeholder="请输入权限描述:例如:用户管理员"></el-input> | 81 | <el-input v-model="addForm.description" auto-complete="off" placeholder="请输入权限描述:例如:用户管理员"></el-input> |
@@ -147,8 +147,11 @@ | @@ -147,8 +147,11 @@ | ||
147 | //新增界面数据 | 147 | //新增界面数据 |
148 | addForm: { | 148 | addForm: { |
149 | description: '', | 149 | description: '', |
150 | - roleName: '', | ||
151 | - roleSign: 1 | 150 | + name: '', |
151 | + url: '', | ||
152 | + path: '', | ||
153 | + parent_id: '', | ||
154 | + | ||
152 | } | 155 | } |
153 | 156 | ||
154 | } | 157 | } |
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | <el-col :span="24" class="toolbar" style="padding-bottom: 0px;"> | 4 | <el-col :span="24" class="toolbar" style="padding-bottom: 0px;"> |
5 | <el-form :inline="true" :model="filters"> | 5 | <el-form :inline="true" :model="filters"> |
6 | <el-form-item> | 6 | <el-form-item> |
7 | - <el-input v-model="filters.roleName" placeholder="角色名称"></el-input> | 7 | + <el-input v-model="filters.roleName" placeholder="部门名称"></el-input> |
8 | </el-form-item> | 8 | </el-form-item> |
9 | <el-form-item> | 9 | <el-form-item> |
10 | <el-button type="primary" v-on:click="getRoles()">查询</el-button> | 10 | <el-button type="primary" v-on:click="getRoles()">查询</el-button> |
@@ -23,9 +23,9 @@ | @@ -23,9 +23,9 @@ | ||
23 | </el-table-column> | 23 | </el-table-column> |
24 | <el-table-column prop="roleId" label="ID" width="100" sortable> | 24 | <el-table-column prop="roleId" label="ID" width="100" sortable> |
25 | </el-table-column> | 25 | </el-table-column> |
26 | - <el-table-column prop="roleName" label="角色名称" min-width="200" sortable> | 26 | + <el-table-column prop="roleName" label="部门名称" min-width="200" sortable> |
27 | </el-table-column> | 27 | </el-table-column> |
28 | - <el-table-column prop="description" label="角色描述" min-width="200" sortable> | 28 | + <el-table-column prop="description" label="部门描述" min-width="200" sortable> |
29 | </el-table-column> | 29 | </el-table-column> |
30 | <el-table-column prop="roleSign" label="排序" width="100" sortable> | 30 | <el-table-column prop="roleSign" label="排序" width="100" sortable> |
31 | </el-table-column> | 31 | </el-table-column> |
@@ -139,8 +139,7 @@ | @@ -139,8 +139,7 @@ | ||
139 | roleName: '', | 139 | roleName: '', |
140 | roleSign: 1 | 140 | roleSign: 1 |
141 | }, | 141 | }, |
142 | - //设置权限数据 | ||
143 | - setPermForm: {}, | 142 | + |
144 | //新增界面是否显示 | 143 | //新增界面是否显示 |
145 | addFormVisible: false, | 144 | addFormVisible: false, |
146 | //设置权限界面是否显示 | 145 | //设置权限界面是否显示 |
@@ -207,8 +206,6 @@ | @@ -207,8 +206,6 @@ | ||
207 | alert(error); | 206 | alert(error); |
208 | } | 207 | } |
209 | 208 | ||
210 | - | ||
211 | - | ||
212 | }); | 209 | }); |
213 | 210 | ||
214 | }, | 211 | }, |
-
请 注册 或 登录 后发表评论