12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- <template>
- <mx-submit-layout :loading="loading" :title="prevData.settingName" @submit="handleSubmit">
- <uv-form ref="form" :model="model" :rules="rules">
- <old-pwd-field/>
- <pwd-repeat-fields/>
- </uv-form>
- </mx-submit-layout>
- </template>
- <script setup>
- import {ref} from 'vue'
- import {useTransfer} from "@/hooks/useTransfer";
- import {updateUserPwd} from "@/api/system/user";
- import {alertAsync} from "@/utils/uni-helper";
- import {createChangePwdModelRules} from "@/pages/login/components/hooks/defineFormModels";
- import {useProvideFormData} from "@/pages/login/components/hooks/useFormDataInjection";
- import OldPwdField from "@/pages/login/components/register-fields/old-pwd-field.vue";
- import PwdRepeatFields from "@/pages/login/components/register-fields/pwd-repeat-fields.vue";
- const {prevData, transferBack} = useTransfer()
- const loading = ref(false)
- const form = ref(null)
- const [m, r, modelToCommit] = createChangePwdModelRules()
- const [model, rules] = useProvideFormData(m, r)
- const handleSubmit = async () => {
- await form.value.validate()
- if (loading.value) return
- loading.value = true
- try {
- const commit = modelToCommit()
- await updateUserPwd(commit)
- await alertAsync('新密码保存成功')
- transferBack()
- } finally {
- loading.value = false
- }
- }
- </script>
- <style lang="scss">
- </style>
|