用户管理修改

This commit is contained in:
cwchen 2025-09-30 16:24:52 +08:00
parent 0e95fa08bc
commit 0dcce5161b
6 changed files with 39 additions and 20 deletions

View File

@ -53,7 +53,7 @@ export function resetUserPwd(userId, password) {
}
return request({
url: '/smartArchives/system/user/resetPwd',
method: 'put',
method: 'post',
data: data
})
}
@ -96,7 +96,7 @@ export function updateUserPwd(oldPassword, newPassword) {
}
return request({
url: '/smartArchives/system/user/profile/updatePwd',
method: 'put',
method: 'post',
data: data
})
}

View File

@ -76,8 +76,8 @@ export default {
title: process.env.VUE_APP_TITLE,
codeUrl: "",
loginForm: {
username: "admin",
password: "admin123",
username: "",
password: "",
rememberMe: false,
code: "",
uuid: ""

View File

@ -2,7 +2,7 @@ export const formLabel = [
{
isShow: false, // 是否展示label
f_type: 'ipt',
f_label: '用户',
f_label: '用户账号',
f_model: 'userName',
f_max: 32,
},

View File

@ -50,7 +50,8 @@ import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import {
listUser,
delUser
delUser,
resetUserPwd
} from '@/api/system/user'
import { getDeptSelectApi,getRoleSelectApi } from '@/api/select'
import UserForm from './profile/userForm'
@ -89,7 +90,6 @@ export default {
});
const item = this.formLabel.find(item => item.f_model === 'roleId');
await getRoleSelectApi().then(res => {
console.log(res.data)
res.data.forEach(item => {
item.label = item.name;
item.value = item.id;
@ -174,11 +174,11 @@ export default {
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\w\d\s]).{8,20}$/,
inputErrorMessage:
'用户密码长度必须介于 8 和 20 之间,且包含大小写字母、数字和特殊字符',
inputValidator: (value) => {
/* inputValidator: (value) => {
if (/<|>|"|'|\||\\/.test(value)) {
return '不能包含非法字符:< > " \' \\\ |'
}
},
}, */
})
.then(({ value }) => {
resetUserPwd(row.userId, value).then((response) => {

View File

@ -7,25 +7,29 @@
<span>个人信息</span>
</div>
<div>
<div class="text-center">
<!-- <div class="text-center">
<userAvatar />
</div>
</div> -->
<ul class="list-group list-group-striped">
<li class="list-group-item">
<svg-icon icon-class="user" />用户账号
<div class="pull-right">{{ user.nickName }}</div>
</li>
<li class="list-group-item">
<svg-icon icon-class="user" />用户名称
<div class="pull-right">{{ user.userName }}</div>
</li>
<li class="list-group-item">
<svg-icon icon-class="phone" />手机号码
<div class="pull-right">{{ user.phonenumber }}</div>
<div class="pull-right">{{ maskPhone(user.phonenumber) }}</div>
</li>
<li class="list-group-item">
<!-- <li class="list-group-item">
<svg-icon icon-class="email" />用户邮箱
<div class="pull-right">{{ user.email }}</div>
</li>
</li> -->
<li class="list-group-item">
<svg-icon icon-class="tree" />所属部门
<div class="pull-right" v-if="user.dept">{{ user.dept.deptName }} / {{ postGroup }}</div>
<div class="pull-right" v-if="user.dept">{{ user.dept.deptName }}</div>
</li>
<li class="list-group-item">
<svg-icon icon-class="peoples" />所属角色
@ -45,9 +49,9 @@
<span>基本资料</span>
</div>
<el-tabs v-model="selectedTab">
<el-tab-pane label="基本资料" name="userinfo">
<!-- <el-tab-pane label="基本资料" name="userinfo">
<userInfo :user="user" />
</el-tab-pane>
</el-tab-pane> -->
<el-tab-pane label="修改密码" name="resetPwd">
<resetPwd />
</el-tab-pane>
@ -72,7 +76,7 @@ export default {
user: {},
roleGroup: {},
postGroup: {},
selectedTab: "userinfo"
selectedTab: "resetPwd"
}
},
created() {
@ -89,6 +93,21 @@ export default {
this.roleGroup = response.roleGroup
this.postGroup = response.postGroup
})
},
// ****
maskPhone(val) {
const s = String(val || '')
if (!s) return ''
const re = /((?:\+|00)?86)?(1[3-9]\d{2})\d{4}(\d{4})/
if (re.test(s)) {
return s.replace(re, (m, pfx = '', head, tail) => `${pfx || ''}${head}****${tail}`)
}
// 11
const re11 = /^(\d{3})\d{4}(\d{4})$/
if (re11.test(s)) {
return s.replace(re11, '$1****$2')
}
return s
}
}
}

View File

@ -41,8 +41,8 @@ export default {
],
newPassword: [
{ required: true, message: "新密码不能为空", trigger: "blur" },
{ min: 6, max: 20, message: "长度在 6 到 20 个字符", trigger: "blur" },
{ pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" }
// { min: 8, max: 20, message: " 8 20 ", trigger: "blur" },
{ pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\w\d\s]).{8,20}$/, message: "用户密码长度必须介于 8 和 20 之间,且包含大小写字母、数字和特殊字符", trigger: "blur" }
],
confirmPassword: [
{ required: true, message: "确认密码不能为空", trigger: "blur" },