diff --git a/src/pages/events/banner/components/BannerFormModal.tsx b/src/pages/events/banner/components/BannerFormModal.tsx index 4197c7b..76bb223 100644 --- a/src/pages/events/banner/components/BannerFormModal.tsx +++ b/src/pages/events/banner/components/BannerFormModal.tsx @@ -319,34 +319,36 @@ export default defineComponent({ // ---- 监听 type 变化,清理联动字段 ---- useEffect(() => { - if (!typeChanged.value) { - if (formData.type !== '1') formData.relatedEventId = undefined; - if (formData.type !== '2' && formData.type !== '3') formData.linkUrl = ''; - typeChanged.value = true; - return; - } + const syncTypeFields = async () => { + if (!typeChanged.value) { + if (formData.type !== '1') formData.relatedEventId = undefined; + if (formData.type !== '2' && formData.type !== '3') formData.linkUrl = ''; + typeChanged.value = true; + return; + } - if (formData.type !== '1') { - formData.relatedEventId = undefined; - formRef.value?.clearValidate('relatedEventId'); - } - if (formData.type !== '2' && formData.type !== '3') { - formData.linkUrl = ''; - } - const activeNames: string[] = []; - if (formData.type === '1') activeNames.push('relatedEventId'); - if (formData.type === '2' || formData.type === '3') activeNames.push('linkUrl'); - formRef.value?.clearValidate(['relatedEventId', 'linkUrl']); - if (activeNames.length) { - setTimeout(() => formRef.value?.validateFields(activeNames).catch(() => {}), 0); - } + if (formData.type !== '1') { + formData.relatedEventId = undefined; + formRef.value?.clearValidate('relatedEventId'); + } + if (formData.type !== '2' && formData.type !== '3') { + formData.linkUrl = ''; + } + const activeNames: string[] = []; + if (formData.type === '1') activeNames.push('relatedEventId'); + if (formData.type === '2' || formData.type === '3') activeNames.push('linkUrl'); + formRef.value?.clearValidate(['relatedEventId', 'linkUrl']); + if (activeNames.length) { + await formRef.value?.validateFields(activeNames).catch(() => {}); + } + }; + + syncTypeFields(); }, [() => formData.type]); /** 重新校验 Banner 图片字段,上传完成后清除或更新错误提示 */ - const revalidateImageUrl = () => { - setTimeout(() => { - formRef.value?.validateFields(['imageUrl']).catch(() => {}); - }, 0); + const revalidateImageUrl = async () => { + await formRef.value?.validateFields(['imageUrl']).catch(() => {}); }; // ---- 图片上传相关 ---- diff --git a/src/pages/events/banner/model/useBannerModel.ts b/src/pages/events/banner/model/useBannerModel.ts index 4f96cf1..3954215 100644 --- a/src/pages/events/banner/model/useBannerModel.ts +++ b/src/pages/events/banner/model/useBannerModel.ts @@ -135,7 +135,7 @@ export function useBannerModel() { const handleSearch = () => fetchList(); /** 重置 */ - const handleReset = useThrottleFn(() => { + const handleReset = useThrottleFn(async () => { filterForm.title = ''; filterForm.status = ''; pagination.reset(); diff --git a/src/pages/login/model/useLoginModel.ts b/src/pages/login/model/useLoginModel.ts index 880da0a..3f5346c 100644 --- a/src/pages/login/model/useLoginModel.ts +++ b/src/pages/login/model/useLoginModel.ts @@ -97,8 +97,8 @@ export function useLoginModel() { : route.query.redirect; await auth.login(res.data.token, redirect || undefined); message.success('登录成功'); - } catch { - message.error('登录失败,请重试'); + } catch (error) { + console.error(error); } finally { setLoading(false); }