2 Commits

Author SHA1 Message Date
ZhuRui eb5299735a fix: 处理节流写法冗余问题 2026-08-06 10:47:26 +08:00
ZhuRui 8fdbf4ae06 fix: 处理部分表单检测问题 2026-08-06 10:38:21 +08:00
13 changed files with 50 additions and 49 deletions
@@ -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,11 +135,11 @@ export function useBannerModel() {
const handleSearch = () => fetchList();
/** 重置 */
const handleReset = useThrottleFn(() => {
const handleReset = useThrottleFn(async () => {
filterForm.title = '';
filterForm.status = '';
pagination.reset();
setTimeout(fetchList, 350);
await fetchList();
}, 500);
const handlePageChange = (page: number, pageSize: number) => {
@@ -99,10 +99,10 @@ export function useEventListModel() {
const handleSearch = () => fetchList();
const handleReset = () => {
const handleReset = async () => {
Object.assign(filterForm, FILTER_DEFAULTS);
pagination.reset();
setTimeout(fetchList, 350);
await fetchList();
};
const handlePageChange = (page: number, pageSize: number) => {
+2 -2
View File
@@ -119,7 +119,7 @@ export function useLogModel() {
const handleSearch = () => fetchList();
const handleReset = () => {
const handleReset = async () => {
filterForm.dateRange = null;
filterForm.type = '';
filterForm.source = '';
@@ -127,7 +127,7 @@ export function useLogModel() {
filterForm.sourcePhone = '';
filterForm.tournamentName = '';
pagination.reset();
setTimeout(() => fetchList(), 0);
await fetchList();
};
const handlePageChange = (page: number, pageSize: number) => {
@@ -213,10 +213,10 @@ export function useOrderModel() {
const handleSearch = () => fetchList();
const handleReset = () => {
const handleReset = async () => {
Object.assign(filterForm, FILTER_DEFAULTS);
pagination.reset();
setTimeout(fetchList, 350);
await fetchList();
};
const handlePageChange = (page: number, pageSize: number) => {
+2 -2
View File
@@ -107,12 +107,12 @@ export function useUserModel() {
// ===== 事件处理 =====
const handleSearch = () => fetchList();
const handleReset = () => {
const handleReset = async () => {
filterForm.text = '';
filterForm.roleId = '';
filterForm.status = '';
pagination.reset();
setTimeout(() => fetchList(), 0);
await fetchList();
};
const handlePageChange = (page: number, pageSize: number) => {
@@ -122,13 +122,13 @@ export function usePaymentsModel() {
const handleSearch = () => fetchList();
const handleReset = useThrottleFn(() => {
const handleReset = useThrottleFn(async () => {
filterForm.timeRange = null;
filterForm.nickname = '';
filterForm.phone = '';
filterForm.type = '';
pagination.reset();
setTimeout(fetchList, 350);
await fetchList();
}, 500);
const handlePageChange = (page: number, pageSize: number) => {
@@ -161,13 +161,13 @@ export function useWalletModel() {
const handleSearch = () => fetchList();
const handleReset = useThrottleFn(() => {
const handleReset = useThrottleFn(async () => {
filterForm.nickname = '';
filterForm.phone = '';
filterForm.minBalance = '';
filterForm.maxBalance = '';
pagination.reset();
setTimeout(fetchList, 350);
await fetchList();
}, 500);
const handlePageChange = (page: number, pageSize: number) => {
@@ -182,14 +182,14 @@ export function useWithdrawModel() {
const handleSearch = () => fetchList();
/** 重置(重置后自动查询) */
const handleReset = useThrottleFn(() => {
const handleReset = useThrottleFn(async () => {
filterForm.nickname = '';
filterForm.phone = '';
filterForm.realName = '';
filterForm.auditStatus = '';
filterForm.payStatus = '';
pagination.reset();
setTimeout(fetchList, 350);
await fetchList();
}, 500);
const handlePageChange = (page: number, pageSize: number) => {
+2 -2
View File
@@ -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);
}
+2 -2
View File
@@ -126,12 +126,12 @@ export function useLogModel() {
const handleSearch = () => fetchList();
/** 重置(重置后自动查询) */
const handleReset = useThrottleFn(() => {
const handleReset = useThrottleFn(async () => {
filterForm.actionTimeRange = null;
filterForm.actionType = '';
filterForm.searchOperator = '';
pagination.reset();
setTimeout(fetchList, 350);
await fetchList();
}, 500);
const handlePageChange = (page: number, pageSize: number) => {
+2 -2
View File
@@ -97,10 +97,10 @@ export function useRoleModel() {
const handleSearch = () => fetchList();
/** 重置(重置后自动查询) */
const handleReset = useThrottleFn(() => {
const handleReset = useThrottleFn(async () => {
filterForm.name = '';
pagination.reset();
setTimeout(fetchList, 350);
await fetchList();
}, 500);
const handlePageChange = (page: number, pageSize: number) => {
+2 -3
View File
@@ -137,13 +137,12 @@ export function useUserModel() {
const handleSearch = () => fetchList();
/** 重置(节流 500ms,重置后自动查询) */
const handleReset = useThrottleFn(() => {
const handleReset = useThrottleFn(async () => {
filterForm.text = '';
filterForm.roleId = '';
filterForm.status = '';
pagination.reset();
// 等待 debounce(300ms) 生效后自动查询
setTimeout(fetchList, 350);
await fetchList();
}, 500);
/** 分页变更 */