From a2433030b8d5f5cfd2ffae272c5fe7e37febc168 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=BA=A2=E4=B8=BD?= <1181930680@qq.com> Date: Tue, 17 Dec 2024 14:11:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Form/src/BasicForm.vue | 1 + src/layout/components/Header/AmendPwd.vue | 23 +++++++++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/components/Form/src/BasicForm.vue b/src/components/Form/src/BasicForm.vue index 82a0a4c..d9e7090 100644 --- a/src/components/Form/src/BasicForm.vue +++ b/src/components/Form/src/BasicForm.vue @@ -109,6 +109,7 @@ v-else v-bind="getComponentProps(schema)" :is="schema.component" + :type="schema.type" v-model:value="formModel[schema.field]" :class="{ isFull: schema.isFull != false && getProps.isFull }" /> diff --git a/src/layout/components/Header/AmendPwd.vue b/src/layout/components/Header/AmendPwd.vue index 1975a08..dee56c7 100644 --- a/src/layout/components/Header/AmendPwd.vue +++ b/src/layout/components/Header/AmendPwd.vue @@ -20,11 +20,13 @@ import { basicModal, useModal } from '@/components/Modal'; import { useMessage } from 'naive-ui'; import { BasicForm, FormSchema, useForm } from '@/components/Form/index'; + import { changePassword } from '@/api/system/user'; const schemas: FormSchema[] = [ { - field: 'formerPwd', + field: 'password', component: 'NInput', + type: 'password', label: '旧密码', giProps: { span: 1, @@ -35,8 +37,9 @@ rules: [{ required: true, message: '请输入旧密码', trigger: ['blur'] }], }, { - field: 'password', + field: 'newPassword', component: 'NInput', + type: 'password', label: '新密码', giProps: { span: 1, @@ -47,8 +50,9 @@ rules: [{ required: true, message: '请输入新密码', trigger: ['blur'] }], }, { - field: 'rePassword', + field: 'confirmPassword', component: 'NInput', + type: 'password', label: '确认密码', giProps: { span: 1, @@ -72,7 +76,7 @@ rePassword: '', }); - const [register, { submit, resetFields }] = useForm({ + const [register, { submit, resetFields, getFieldsValue }] = useForm({ gridProps: { cols: 1 }, collapsedRows: 3, labelWidth: 80, @@ -89,15 +93,18 @@ async function formSubmit() { const formRes = await submit(); if (formRes) { - await resetFields(); - closeModal(); - message.success('修改成功'); + try { + await changePassword(getFieldsValue()); + closeModal(); + message.success('修改成功'); + } catch (e) { + setSubLoading(false); + } } else { message.error('验证失败,请填写完整信息'); setSubLoading(false); } } - function showModal() { openModal(); }