作者 shenhailong

用户绑定公司id 角色界面 添加type 判断

@@ -33,7 +33,7 @@ @@ -33,7 +33,7 @@
33 <!--</el-table-column>--> 33 <!--</el-table-column>-->
34 <el-table-column prop="description" label="描述" min-width="160" > 34 <el-table-column prop="description" label="描述" min-width="160" >
35 </el-table-column> 35 </el-table-column>
36 - <el-table-column prop="type" label="类型" min-width="80" sortable> 36 + <el-table-column prop="type" label="类型" :formatter="formatType" min-width="80" sortable>
37 </el-table-column> 37 </el-table-column>
38 <el-table-column prop="businessLicense" label="工商代码" min-width="180" > 38 <el-table-column prop="businessLicense" label="工商代码" min-width="180" >
39 </el-table-column> 39 </el-table-column>
@@ -133,11 +133,11 @@ @@ -133,11 +133,11 @@
133 companyOption: [ 133 companyOption: [
134 { 134 {
135 label: "集团", 135 label: "集团",
136 - value: "集团" 136 + value: "1"
137 }, 137 },
138 { 138 {
139 label: "公司", 139 label: "公司",
140 - value: "公司" 140 + value: "2"
141 } 141 }
142 ], 142 ],
143 treeDefaultProps: { 143 treeDefaultProps: {
@@ -195,6 +195,26 @@ @@ -195,6 +195,26 @@
195 } 195 }
196 }, 196 },
197 methods: { 197 methods: {
  198 +
  199 + //类型显示转换
  200 + formatType: function (row, column) {
  201 + let msg = '未知';
  202 + switch (row.type) {
  203 + case "1":
  204 + msg = '集团';
  205 + break;
  206 + case "2":
  207 + msg = '公司';
  208 + break;
  209 + case "3":
  210 + msg = '部门';
  211 + break;
  212 + case "4":
  213 + msg = '岗位';
  214 + break;
  215 + }
  216 + return msg;
  217 + },
198 //性别显示转换 218 //性别显示转换
199 formatSex: function (row, column) { 219 formatSex: function (row, column) {
200 return row.sex == 1 ? '男' : row.sex == 0 ? '女' : '未知'; 220 return row.sex == 1 ? '男' : row.sex == 0 ? '女' : '未知';
@@ -63,6 +63,17 @@ @@ -63,6 +63,17 @@
63 <!--编辑界面--> 63 <!--编辑界面-->
64 <el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false"> 64 <el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false">
65 <el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm"> 65 <el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
  66 +
  67 + <el-form-item label="所属公司" prop="companyId">
  68 + <el-select v-model="editForm.companyId" filterable placeholder="请选择">
  69 + <el-option
  70 + v-for="item in options"
  71 + :key="item.roleId"
  72 + :label="item.roleName"
  73 + :value="item.roleId">
  74 + </el-option>
  75 + </el-select>
  76 + </el-form-item>
66 <el-form-item label="ID"> 77 <el-form-item label="ID">
67 <span>{{editForm.userId}}</span> 78 <span>{{editForm.userId}}</span>
68 </el-form-item> 79 </el-form-item>
@@ -125,6 +136,17 @@ @@ -125,6 +136,17 @@
125 <!--新增界面--> 136 <!--新增界面-->
126 <el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false"> 137 <el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false">
127 <el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm"> 138 <el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
  139 +
  140 + <el-form-item label="所属公司" prop="companyId">
  141 + <el-select v-model="addForm.companyId" filterable placeholder="请选择">
  142 + <el-option
  143 + v-for="item in options"
  144 + :key="item.roleId"
  145 + :label="item.roleName"
  146 + :value="item.roleId">
  147 + </el-option>
  148 + </el-select>
  149 + </el-form-item>
128 <el-form-item label="账号" prop="username"> 150 <el-form-item label="账号" prop="username">
129 <el-input v-model="addForm.username" aria-placeholder="用户名长度在5-11位,支持英文和数字"></el-input> 151 <el-input v-model="addForm.username" aria-placeholder="用户名长度在5-11位,支持英文和数字"></el-input>
130 </el-form-item> 152 </el-form-item>
@@ -185,6 +207,7 @@ @@ -185,6 +207,7 @@
185 import NProgress from 'nprogress' 207 import NProgress from 'nprogress'
186 import { getUserList, removeUser, batchRemoveUser, editUser, addUser, setUserRole } from '../../api/user'; 208 import { getUserList, removeUser, batchRemoveUser, editUser, addUser, setUserRole } from '../../api/user';
187 import { getList} from '../../api/role_api'; 209 import { getList} from '../../api/role_api';
  210 + import { getList as getRoleList} from '../../api/role_api';
188 import moment from 'moment' 211 import moment from 'moment'
189 export default { 212 export default {
190 data() { 213 data() {
@@ -223,7 +246,8 @@ @@ -223,7 +246,8 @@
223 realname: '', 246 realname: '',
224 email: '', 247 email: '',
225 mobilephone: '', 248 mobilephone: '',
226 - state: 'true' 249 + state: 'true',
  250 + companyId:''
227 }, 251 },
228 252
229 addFormVisible: false,//新增界面是否显示 253 addFormVisible: false,//新增界面是否显示
@@ -234,6 +258,9 @@ @@ -234,6 +258,9 @@
234 ], 258 ],
235 password: [ 259 password: [
236 { required: true, message: '请输入密码,用户名长度在6-18位,支持英文和数字和非空字符', trigger: 'blur'} 260 { required: true, message: '请输入密码,用户名长度在6-18位,支持英文和数字和非空字符', trigger: 'blur'}
  261 + ],
  262 + companyId: [
  263 + { required: true, message: '请选择所属您的所属公司', trigger: 'blur' },
237 ] 264 ]
238 }, 265 },
239 //用户角色配置 266 //用户角色配置
@@ -247,7 +274,8 @@ @@ -247,7 +274,8 @@
247 realname: '', 274 realname: '',
248 email: '', 275 email: '',
249 mobilephone: '', 276 mobilephone: '',
250 - age: 1 277 + age: 1,
  278 + companyId:''
251 }, 279 },
252 roleEditForm: { 280 roleEditForm: {
253 userId: 1, 281 userId: 1,
@@ -255,7 +283,8 @@ @@ -255,7 +283,8 @@
255 roles: [] 283 roles: []
256 }, 284 },
257 roles: [], 285 roles: [],
258 - roleIds: [] 286 + roleIds: [],
  287 + options: []
259 288
260 } 289 }
261 }, 290 },
@@ -292,6 +321,20 @@ @@ -292,6 +321,20 @@
292 }); 321 });
293 322
294 }, 323 },
  324 +
  325 + // 获取公司列表
  326 + getCompanyNmae(){
  327 + let para = {
  328 + type: "2"
  329 + };
  330 + getRoleList(para).then((res) => {
  331 + this.options = res.data.list;
  332 + this.listLoading = false;
  333 + //NProgress.done();
  334 + }).catch(() => {
  335 +
  336 + });
  337 + },
295 //删除 338 //删除
296 handleDel: function (index, row) { 339 handleDel: function (index, row) {
297 this.$confirm('确认删除该记录吗?', '提示', { 340 this.$confirm('确认删除该记录吗?', '提示', {
@@ -375,7 +418,8 @@ @@ -375,7 +418,8 @@
375 realname: '', 418 realname: '',
376 email: '', 419 email: '',
377 mobilephone: '', 420 mobilephone: '',
378 - age: 1 421 + age: 1,
  422 + companyId:''
379 }; 423 };
380 }, 424 },
381 //编辑 425 //编辑
@@ -444,6 +488,7 @@ @@ -444,6 +488,7 @@
444 } 488 }
445 }); 489 });
446 }, 490 },
  491 +
447 selsChange: function (sels) { 492 selsChange: function (sels) {
448 this.sels = sels; 493 this.sels = sels;
449 }, 494 },
@@ -508,6 +553,7 @@ @@ -508,6 +553,7 @@
508 }, 553 },
509 mounted() { 554 mounted() {
510 this.getUsers(); 555 this.getUsers();
  556 + this.getCompanyNmae();
511 }, 557 },
512 computed: { 558 computed: {
513 hideShow() {//当图片多于一张的时候,就隐藏上传框 559 hideShow() {//当图片多于一张的时候,就隐藏上传框