diff --git a/README.md b/README.md index 2395a9f..77aa65f 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,18 @@ Release + +Release + + +Release + + +Release + + +Release + GitHub stars @@ -18,18 +30,6 @@ Gitee forks - -Release - - -Release - - -Release - - -Release - 📚 [在线文档](https://doc.charles7c.top) | 🚀 [演示地址](https://cnadmin.charles7c.top)(账号/密码:admin/admin123) diff --git a/src/api/system/user.ts b/src/api/system/user.ts index d691b5d..6582134 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -7,6 +7,7 @@ export interface DataRecord { id?: number; username?: string; nickname?: string; + password?: string; gender?: number; email?: string; phone?: string; @@ -25,6 +26,10 @@ export interface DataRecord { disabled?: boolean; } +export interface UserResetReq { + newPassword: string; +} + export interface ListParam { username?: string; status?: number; @@ -64,8 +69,8 @@ export function del(ids: number | Array) { return axios.delete(`${BASE_URL}/${ids}`); } -export function resetPassword(id: number) { - return axios.patch(`${BASE_URL}/${id}/password`); +export function resetPassword(req: UserResetReq, id: number) { + return axios.patch(`${BASE_URL}/${id}/password`, req); } export interface UpdateUserRoleReq { diff --git a/src/views/system/user/center/components/security-settings/update-pwd.vue b/src/views/system/user/center/components/security-settings/update-pwd.vue index fe503e7..e21acaf 100644 --- a/src/views/system/user/center/components/security-settings/update-pwd.vue +++ b/src/views/system/user/center/components/security-settings/update-pwd.vue @@ -68,7 +68,7 @@ callback( t( 'userCenter.securitySettings.updatePwd.form.error.validator.rePassword' - ) + ), ); } else { callback(); diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index b366367..ad8280f 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -15,6 +15,7 @@ import { LabelValueState } from '@/store/modules/dict/types'; import getAvatar from '@/utils/avatar'; import checkPermission from '@/utils/permission'; + import { encryptByRsa } from '@/utils/encrypt'; const { proxy } = getCurrentInstance() as any; const { dis_enable_status_enum } = proxy.useDict('dis_enable_status_enum'); @@ -31,6 +32,7 @@ const detailLoading = ref(false); const exportLoading = ref(false); const visible = ref(false); + const resetPasswordVisible = ref(false); const userRoleVisible = ref(false); const detailVisible = ref(false); const deptLoading = ref(false); @@ -57,6 +59,7 @@ rules: { username: [{ required: true, message: '请输入用户名' }], nickname: [{ required: true, message: '请输入昵称' }], + password: [{ required: true, message: '请输入密码' }], deptId: [{ required: true, message: '请选择所属部门' }], roleIds: [{ required: true, message: '请选择所属角色' }], }, @@ -126,6 +129,17 @@ }); }; + /** + * 打开重置密码对话框 + * + * @param id ID + */ + const toResetPassword = (id: number) => { + reset(); + form.value.id = id; + resetPasswordVisible.value = true; + }; + /** * 打开分配角色对话框 * @@ -183,8 +197,10 @@ */ const handleCancel = () => { visible.value = false; + resetPasswordVisible.value = false; userRoleVisible.value = false; proxy.$refs.formRef?.resetFields(); + proxy.$refs.resetPasswordFormRef?.resetFields(); proxy.$refs.userRoleFormRef?.resetFields(); }; @@ -201,12 +217,38 @@ proxy.$message.success(res.msg); }); } else { - add(form.value).then((res) => { + const rawPassword = form.value.password; + if (rawPassword) { + form.value.password = encryptByRsa(rawPassword) || ''; + } + add(form.value) + .then((res) => { + handleCancel(); + getList(); + proxy.$message.success(res.msg); + }) + .catch(() => { + form.value.password = rawPassword; + }); + } + } + }); + }; + + /** + * 重置密码 + */ + const handleResetPassword = () => { + proxy.$refs.resetPasswordFormRef.validate((valid: any) => { + if (!valid && form.value.id !== undefined) { + const newPassword = form.value.password; + resetPassword({ newPassword: encryptByRsa(newPassword) }, form.value.id) + .then((res) => { handleCancel(); getList(); proxy.$message.success(res.msg); - }); - } + }) + .catch(); } }); }; @@ -285,17 +327,6 @@ }); }; - /** - * 重置密码 - * - * @param id ID - */ - const handleResetPassword = (id: number) => { - resetPassword(id).then((res) => { - proxy.$message.success(res.msg); - }); - }; - /** * 已选择的数据行发生改变时触发 * @@ -578,7 +609,13 @@ }} - + - +