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 变化,清理联动字段 ---- // ---- 监听 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,11 +135,11 @@ 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();
setTimeout(fetchList, 350); await fetchList();
}, 500); }, 500);
const handlePageChange = (page: number, pageSize: number) => { const handlePageChange = (page: number, pageSize: number) => {
@@ -99,10 +99,10 @@ export function useEventListModel() {
const handleSearch = () => fetchList(); const handleSearch = () => fetchList();
const handleReset = () => { const handleReset = async () => {
Object.assign(filterForm, FILTER_DEFAULTS); Object.assign(filterForm, FILTER_DEFAULTS);
pagination.reset(); pagination.reset();
setTimeout(fetchList, 350); await fetchList();
}; };
const handlePageChange = (page: number, pageSize: number) => { const handlePageChange = (page: number, pageSize: number) => {
+2 -2
View File
@@ -119,7 +119,7 @@ export function useLogModel() {
const handleSearch = () => fetchList(); const handleSearch = () => fetchList();
const handleReset = () => { const handleReset = async () => {
filterForm.dateRange = null; filterForm.dateRange = null;
filterForm.type = ''; filterForm.type = '';
filterForm.source = ''; filterForm.source = '';
@@ -127,7 +127,7 @@ export function useLogModel() {
filterForm.sourcePhone = ''; filterForm.sourcePhone = '';
filterForm.tournamentName = ''; filterForm.tournamentName = '';
pagination.reset(); pagination.reset();
setTimeout(() => fetchList(), 0); await fetchList();
}; };
const handlePageChange = (page: number, pageSize: number) => { const handlePageChange = (page: number, pageSize: number) => {
@@ -213,10 +213,10 @@ export function useOrderModel() {
const handleSearch = () => fetchList(); const handleSearch = () => fetchList();
const handleReset = () => { const handleReset = async () => {
Object.assign(filterForm, FILTER_DEFAULTS); Object.assign(filterForm, FILTER_DEFAULTS);
pagination.reset(); pagination.reset();
setTimeout(fetchList, 350); await fetchList();
}; };
const handlePageChange = (page: number, pageSize: number) => { const handlePageChange = (page: number, pageSize: number) => {
+2 -2
View File
@@ -107,12 +107,12 @@ export function useUserModel() {
// ===== 事件处理 ===== // ===== 事件处理 =====
const handleSearch = () => fetchList(); const handleSearch = () => fetchList();
const handleReset = () => { const handleReset = async () => {
filterForm.text = ''; filterForm.text = '';
filterForm.roleId = ''; filterForm.roleId = '';
filterForm.status = ''; filterForm.status = '';
pagination.reset(); pagination.reset();
setTimeout(() => fetchList(), 0); await fetchList();
}; };
const handlePageChange = (page: number, pageSize: number) => { const handlePageChange = (page: number, pageSize: number) => {
@@ -122,13 +122,13 @@ export function usePaymentsModel() {
const handleSearch = () => fetchList(); const handleSearch = () => fetchList();
const handleReset = useThrottleFn(() => { const handleReset = useThrottleFn(async () => {
filterForm.timeRange = null; filterForm.timeRange = null;
filterForm.nickname = ''; filterForm.nickname = '';
filterForm.phone = ''; filterForm.phone = '';
filterForm.type = ''; filterForm.type = '';
pagination.reset(); pagination.reset();
setTimeout(fetchList, 350); await fetchList();
}, 500); }, 500);
const handlePageChange = (page: number, pageSize: number) => { const handlePageChange = (page: number, pageSize: number) => {
@@ -161,13 +161,13 @@ export function useWalletModel() {
const handleSearch = () => fetchList(); const handleSearch = () => fetchList();
const handleReset = useThrottleFn(() => { const handleReset = useThrottleFn(async () => {
filterForm.nickname = ''; filterForm.nickname = '';
filterForm.phone = ''; filterForm.phone = '';
filterForm.minBalance = ''; filterForm.minBalance = '';
filterForm.maxBalance = ''; filterForm.maxBalance = '';
pagination.reset(); pagination.reset();
setTimeout(fetchList, 350); await fetchList();
}, 500); }, 500);
const handlePageChange = (page: number, pageSize: number) => { const handlePageChange = (page: number, pageSize: number) => {
@@ -182,14 +182,14 @@ export function useWithdrawModel() {
const handleSearch = () => fetchList(); const handleSearch = () => fetchList();
/** 重置(重置后自动查询) */ /** 重置(重置后自动查询) */
const handleReset = useThrottleFn(() => { const handleReset = useThrottleFn(async () => {
filterForm.nickname = ''; filterForm.nickname = '';
filterForm.phone = ''; filterForm.phone = '';
filterForm.realName = ''; filterForm.realName = '';
filterForm.auditStatus = ''; filterForm.auditStatus = '';
filterForm.payStatus = ''; filterForm.payStatus = '';
pagination.reset(); pagination.reset();
setTimeout(fetchList, 350); await fetchList();
}, 500); }, 500);
const handlePageChange = (page: number, pageSize: number) => { const handlePageChange = (page: number, pageSize: number) => {
+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);
} }
+2 -2
View File
@@ -126,12 +126,12 @@ export function useLogModel() {
const handleSearch = () => fetchList(); const handleSearch = () => fetchList();
/** 重置(重置后自动查询) */ /** 重置(重置后自动查询) */
const handleReset = useThrottleFn(() => { const handleReset = useThrottleFn(async () => {
filterForm.actionTimeRange = null; filterForm.actionTimeRange = null;
filterForm.actionType = ''; filterForm.actionType = '';
filterForm.searchOperator = ''; filterForm.searchOperator = '';
pagination.reset(); pagination.reset();
setTimeout(fetchList, 350); await fetchList();
}, 500); }, 500);
const handlePageChange = (page: number, pageSize: number) => { const handlePageChange = (page: number, pageSize: number) => {
+2 -2
View File
@@ -97,10 +97,10 @@ export function useRoleModel() {
const handleSearch = () => fetchList(); const handleSearch = () => fetchList();
/** 重置(重置后自动查询) */ /** 重置(重置后自动查询) */
const handleReset = useThrottleFn(() => { const handleReset = useThrottleFn(async () => {
filterForm.name = ''; filterForm.name = '';
pagination.reset(); pagination.reset();
setTimeout(fetchList, 350); await fetchList();
}, 500); }, 500);
const handlePageChange = (page: number, pageSize: number) => { const handlePageChange = (page: number, pageSize: number) => {
+2 -3
View File
@@ -137,13 +137,12 @@ export function useUserModel() {
const handleSearch = () => fetchList(); const handleSearch = () => fetchList();
/** 重置(节流 500ms,重置后自动查询) */ /** 重置(节流 500ms,重置后自动查询) */
const handleReset = useThrottleFn(() => { const handleReset = useThrottleFn(async () => {
filterForm.text = ''; filterForm.text = '';
filterForm.roleId = ''; filterForm.roleId = '';
filterForm.status = ''; filterForm.status = '';
pagination.reset(); pagination.reset();
// 等待 debounce(300ms) 生效后自动查询 await fetchList();
setTimeout(fetchList, 350);
}, 500); }, 500);
/** 分页变更 */ /** 分页变更 */