fix: 处理部分表单检测问题

This commit is contained in:
ZhuRui
2026-08-06 10:38:21 +08:00
parent 0a6d751e82
commit 8fdbf4ae06
3 changed files with 29 additions and 27 deletions
@@ -319,34 +319,36 @@ export default defineComponent({
// ---- 监听 type 变化,清理联动字段 ---- // ---- 监听 type 变化,清理联动字段 ----
useEffect(() => { useEffect(() => {
if (!typeChanged.value) { const syncTypeFields = async () => {
if (formData.type !== '1') formData.relatedEventId = undefined; if (!typeChanged.value) {
if (formData.type !== '2' && formData.type !== '3') formData.linkUrl = ''; if (formData.type !== '1') formData.relatedEventId = undefined;
typeChanged.value = true; if (formData.type !== '2' && formData.type !== '3') formData.linkUrl = '';
return; typeChanged.value = true;
} return;
}
if (formData.type !== '1') { if (formData.type !== '1') {
formData.relatedEventId = undefined; formData.relatedEventId = undefined;
formRef.value?.clearValidate('relatedEventId'); formRef.value?.clearValidate('relatedEventId');
} }
if (formData.type !== '2' && formData.type !== '3') { if (formData.type !== '2' && formData.type !== '3') {
formData.linkUrl = ''; formData.linkUrl = '';
} }
const activeNames: string[] = []; const activeNames: string[] = [];
if (formData.type === '1') activeNames.push('relatedEventId'); if (formData.type === '1') activeNames.push('relatedEventId');
if (formData.type === '2' || formData.type === '3') activeNames.push('linkUrl'); if (formData.type === '2' || formData.type === '3') activeNames.push('linkUrl');
formRef.value?.clearValidate(['relatedEventId', 'linkUrl']); formRef.value?.clearValidate(['relatedEventId', 'linkUrl']);
if (activeNames.length) { if (activeNames.length) {
setTimeout(() => formRef.value?.validateFields(activeNames).catch(() => {}), 0); await formRef.value?.validateFields(activeNames).catch(() => {});
} }
};
syncTypeFields();
}, [() => formData.type]); }, [() => formData.type]);
/** 重新校验 Banner 图片字段,上传完成后清除或更新错误提示 */ /** 重新校验 Banner 图片字段,上传完成后清除或更新错误提示 */
const revalidateImageUrl = () => { const revalidateImageUrl = async () => {
setTimeout(() => { await formRef.value?.validateFields(['imageUrl']).catch(() => {});
formRef.value?.validateFields(['imageUrl']).catch(() => {});
}, 0);
}; };
// ---- 图片上传相关 ---- // ---- 图片上传相关 ----
@@ -135,7 +135,7 @@ export function useBannerModel() {
const handleSearch = () => fetchList(); const handleSearch = () => fetchList();
/** 重置 */ /** 重置 */
const handleReset = useThrottleFn(() => { const handleReset = useThrottleFn(async () => {
filterForm.title = ''; filterForm.title = '';
filterForm.status = ''; filterForm.status = '';
pagination.reset(); pagination.reset();
+2 -2
View File
@@ -97,8 +97,8 @@ export function useLoginModel() {
: route.query.redirect; : route.query.redirect;
await auth.login(res.data.token, redirect || undefined); await auth.login(res.data.token, redirect || undefined);
message.success('登录成功'); message.success('登录成功');
} catch { } catch (error) {
message.error('登录失败,请重试'); console.error(error);
} finally { } finally {
setLoading(false); setLoading(false);
} }