用户页面修改
This commit is contained in:
@@ -97,4 +97,8 @@ public class UserVo extends BaseDto implements Serializable {
|
|||||||
this.depts = Arrays.stream(split).map(a->Long.valueOf(a)).collect(Collectors.toList());
|
this.depts = Arrays.stream(split).map(a->Long.valueOf(a)).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setPassword(String password) {
|
||||||
|
this.password = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -146,9 +146,12 @@ public class UserServiceImpl implements UserService {
|
|||||||
List<Long> depts = resources.getDepts();
|
List<Long> depts = resources.getDepts();
|
||||||
List<Long> roles = resources.getRoles();
|
List<Long> roles = resources.getRoles();
|
||||||
JSONObject currentUser = WQLObject.getWQLObject("sys_user").query("username = '" + resources.getUsername() + "'").uniqueResult(0);
|
JSONObject currentUser = WQLObject.getWQLObject("sys_user").query("username = '" + resources.getUsername() + "'").uniqueResult(0);
|
||||||
|
if (!CollectionUtils.isEmpty(depts)){
|
||||||
userRelateService.inserDeptRelate(currentUser.getLong("user_id"),new HashSet(depts));
|
userRelateService.inserDeptRelate(currentUser.getLong("user_id"),new HashSet(depts));
|
||||||
userRelateService.inserRoleRelate(currentUser.getLong("user_id"),new HashSet(roles));
|
}
|
||||||
|
if (!CollectionUtils.isEmpty(roles)){
|
||||||
|
userRelateService.inserRoleRelate(currentUser.getLong("user_id"),new HashSet(roles));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -162,7 +165,9 @@ public class UserServiceImpl implements UserService {
|
|||||||
if("0".equals(resources.getIs_used())){
|
if("0".equals(resources.getIs_used())){
|
||||||
onlineUserService.kickOutForUsername(resources.getUsername());
|
onlineUserService.kickOutForUsername(resources.getUsername());
|
||||||
}
|
}
|
||||||
resources.setPassword(SaSecureUtil.md5BySalt(resources.getPassword(), "salt"));
|
if (StringUtils.isNotEmpty(resources.getPassword())){
|
||||||
|
resources.setPassword(SaSecureUtil.md5BySalt(resources.getPassword(), "salt"));
|
||||||
|
}
|
||||||
resources.setUpdate_time(new Date());
|
resources.setUpdate_time(new Date());
|
||||||
resources.setUpdate_optid(user.getId());
|
resources.setUpdate_optid(user.getId());
|
||||||
resources.setUpdate_optname(user.getUsername());
|
resources.setUpdate_optname(user.getUsername());
|
||||||
@@ -172,16 +177,20 @@ public class UserServiceImpl implements UserService {
|
|||||||
//更新部门用户
|
//更新部门用户
|
||||||
List<Long> depts = resources.getDepts();
|
List<Long> depts = resources.getDepts();
|
||||||
List<Long> roles = resources.getRoles();
|
List<Long> roles = resources.getRoles();
|
||||||
userRelateService.updateDeptRelate(resources.getUser_id(),new HashSet(depts));
|
if (!CollectionUtils.isEmpty(depts)){
|
||||||
userRelateService.updateRoleRelate(resources.getUser_id(),new HashSet(roles));
|
userRelateService.updateDeptRelate(resources.getUser_id(),new HashSet(depts));
|
||||||
|
|
||||||
|
|
||||||
// 如果用户的角色改变
|
|
||||||
if (!resources.getRoles().equals(user.getRoles())) {
|
|
||||||
redisUtils.del(CacheKey.DATA_USER + resources.getUser_id());
|
|
||||||
redisUtils.del(CacheKey.MENU_USER + resources.getUser_id());
|
|
||||||
redisUtils.del(CacheKey.ROLE_AUTH + resources.getUser_id());
|
|
||||||
}
|
}
|
||||||
|
if (!CollectionUtils.isEmpty(roles)){
|
||||||
|
userRelateService.updateRoleRelate(resources.getUser_id(),new HashSet(roles));
|
||||||
|
// 如果用户的角色改变
|
||||||
|
if (!resources.getRoles().equals(user.getRoles())) {
|
||||||
|
redisUtils.del(CacheKey.DATA_USER + resources.getUser_id());
|
||||||
|
redisUtils.del(CacheKey.MENU_USER + resources.getUser_id());
|
||||||
|
redisUtils.del(CacheKey.ROLE_AUTH + resources.getUser_id());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -155,13 +155,11 @@
|
|||||||
<el-table-column prop="phone" label="电话" :min-width="flexWidth('phone',crud.data,'电话')" />
|
<el-table-column prop="phone" label="电话" :min-width="flexWidth('phone',crud.data,'电话')" />
|
||||||
<el-table-column prop="email" label="邮箱" :min-width="flexWidth('email',crud.data,'邮箱')" />
|
<el-table-column prop="email" label="邮箱" :min-width="flexWidth('email',crud.data,'邮箱')" />
|
||||||
<el-table-column show-overflow-tooltip prop="deptnames" label="部门" />
|
<el-table-column show-overflow-tooltip prop="deptnames" label="部门" />
|
||||||
<el-table-column
|
<el-table-column label="状态" align="center" prop="enabled">
|
||||||
label="启用"
|
<template slot-scope="scope">
|
||||||
align="center"
|
<span :style="{'color': caseStatusColorFilter(scope.row.is_used)}">{{ enabledTypeOptions.find(item => {return item.key == scope.row.is_used}).display_name }}</span>
|
||||||
prop="is_used"
|
</template>
|
||||||
:formatter="crud.formatIsOrNot"
|
</el-table-column>
|
||||||
:min-width="flexWidth('is_used',crud.data,'启用')"
|
|
||||||
/>
|
|
||||||
<el-table-column prop="create_time" label="创建日期" :min-width="flexWidth('create_time',crud.data,'创建日期')" />
|
<el-table-column prop="create_time" label="创建日期" :min-width="flexWidth('create_time',crud.data,'创建日期')" />
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="操作"
|
label="操作"
|
||||||
@@ -172,14 +170,14 @@
|
|||||||
<template v-if="scope.row.userId !== 1" slot-scope="scope">
|
<template v-if="scope.row.userId !== 1" slot-scope="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="crud.toEdit(scope.row)(scope.row)">修改</el-button>
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="crud.toEdit(scope.row)(scope.row)">修改</el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handdeleted(scope.row)">删除</el-button>
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handdeleted(scope.row)">删除</el-button>
|
||||||
<el-dropdown v-hasPermi="['system:user:resetPwd', 'system:user:edit']" size="mini" @command="(command) => handleCommand(command, scope.row)">
|
<el-dropdown v-hasPermi="['system:user:resetPwd', 'system:user:edit']" size="mini">
|
||||||
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
|
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
<el-dropdown-item command="handleResetPwd" icon="el-icon-key">重置密码</el-dropdown-item>
|
<el-dropdown-item icon="el-icon-key"><span @click="resetPassword(scope.row)">重置密码</span></el-dropdown-item>
|
||||||
<el-dropdown-item command="handleResetPwd" icon="el-icon-key">部门权限</el-dropdown-item>
|
<el-dropdown-item icon="el-icon-key">部门权限</el-dropdown-item>
|
||||||
<el-dropdown-item command="handleResetPwd" icon="el-icon-key">数据权限</el-dropdown-item>
|
<el-dropdown-item icon="el-icon-key">数据权限</el-dropdown-item>
|
||||||
<el-dropdown-item command="handleResetPwd" icon="el-icon-key">锁定账号</el-dropdown-item>
|
<el-dropdown-item icon="el-icon-key"><span @click="changeEnabled(scope.row)">锁定账号</span></el-dropdown-item>
|
||||||
<el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check">分配角色</el-dropdown-item>
|
<el-dropdown-item icon="el-icon-circle-check">分配角色</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</template>
|
</template>
|
||||||
@@ -286,6 +284,12 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
caseStatusColorFilter(is_used) {
|
||||||
|
if (is_used === '1') {
|
||||||
|
return '#378be2'
|
||||||
|
}
|
||||||
|
return '#F56C6C'
|
||||||
|
},
|
||||||
handdeleted(datas) {
|
handdeleted(datas) {
|
||||||
this.$confirm(`确认删除选中的1条数据?`, '提示', {
|
this.$confirm(`确认删除选中的1条数据?`, '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
@@ -429,19 +433,17 @@ export default {
|
|||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
},
|
},
|
||||||
// 改变状态
|
// 改变状态
|
||||||
changeEnabled(data, val) {
|
changeEnabled(row) {
|
||||||
this.$confirm('此操作将 "' + this.dict.label.user_status[val] + '" ' + data.username + ', 是否继续?', '提示', {
|
this.$confirm('此操作将停用账号:' + row.username + ', 是否继续?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
crudUser.edit(data).then(res => {
|
row.is_used = '0'
|
||||||
this.crud.notify(this.dict.label.user_status[val] + '成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
crudUser.edit(row).then(res => {
|
||||||
}).catch(() => {
|
this.crud.toQuery()
|
||||||
data.enabled = !data.enabled
|
this.crud.notify('账号' + row.username + '已锁定')
|
||||||
})
|
})
|
||||||
}).catch(() => {
|
|
||||||
data.enabled = !data.enabled
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 获取弹窗内角色数据
|
// 获取弹窗内角色数据
|
||||||
@@ -463,24 +465,15 @@ export default {
|
|||||||
return true
|
return true
|
||||||
},
|
},
|
||||||
resetPassword(row) {
|
resetPassword(row) {
|
||||||
row.password = null
|
this.$confirm(`确认重置密码?`, '提示', {
|
||||||
this.$prompt('', '重置密码', {
|
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
inputPlaceholder: '请输入新的密码',
|
type: 'warning'
|
||||||
inputPattern: /^[A-Z|a-z|0-9|(._~!@#$^&*)]{6,20}$/,
|
}).then(() => {
|
||||||
inputErrorMessage: '密码格式不正确,只能是6-20位密码',
|
row.password = '123456'
|
||||||
closeOnClickModal: false
|
|
||||||
}).then(({ value }) => {
|
|
||||||
row.password = value
|
|
||||||
crudUser.edit(row).then(res => {
|
crudUser.edit(row).then(res => {
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
this.crud.notify('密码重置成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
this.crud.notify('密码重置成功,密码:123456', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
})
|
|
||||||
}).catch(() => {
|
|
||||||
this.$message({
|
|
||||||
type: 'info',
|
|
||||||
message: '取消输入'
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user