fix: 处理部分表单检测问题
This commit is contained in:
@@ -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(() => {});
|
||||
};
|
||||
|
||||
// ---- 图片上传相关 ----
|
||||
|
||||
@@ -135,7 +135,7 @@ export function useBannerModel() {
|
||||
const handleSearch = () => fetchList();
|
||||
|
||||
/** 重置 */
|
||||
const handleReset = useThrottleFn(() => {
|
||||
const handleReset = useThrottleFn(async () => {
|
||||
filterForm.title = '';
|
||||
filterForm.status = '';
|
||||
pagination.reset();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user