refactor(property-marketing): 优化投资指南页面逻辑

- 修改搜索事件处理逻辑,提取公共代码到 handleSearch 方法
- 在搜索后添加 AI 结果获取逻辑
- 优化页面加载和搜索后的数据处理流程
This commit is contained in:
林志军
2025-07-17 10:00:00 +08:00
parent fc7d3210e0
commit bb0e1c7e94

View File

@ -19,7 +19,7 @@
class="ignore-export"
@onReset="handleReset"
v-model:query="query"
@onSearch="onSearch"
@onSearch="handleSearch"
:disabled="loading"
></listSearchForm>
@ -29,6 +29,7 @@
@onSearch="onSearch"
@updateQuery="handleUpdateQuery"
/>
<a-spin v-if="loading" tip="AI分析中" />
<div v-if="listData.total > 0" class="pagination-box flex justify-end ignore-export">
<a-pagination
@ -44,10 +45,13 @@
/>
</div>
</div>
<!-- 投放建议-->
<MonthData v-if="tabData == 'placement_guide'" :overview="aiResult.overview"></MonthData>
<PlacementSuggestions v-if="tabData == 'placement_guide'" :optimization="aiResult.optimization"></PlacementSuggestions>
<PlacementSuggestions
v-if="tabData == 'placement_guide'"
:optimization="aiResult.optimization"
></PlacementSuggestions>
<div v-if="tabData == 'placement_guide'" class="ignore-export">
<a-space class="down-btn">
@ -132,12 +136,9 @@ const onSearch = async () => {
let result;
if (tabData.value === 'placement_guide') {
result = await getPlacementGuide(query);
console.log(1);
placementGuideList.value = result?.data?.data || [];
if (placementGuideList.value.length > 0 && isGetAi.value) {
loading.value = true;
syncGetAiResult();
startTask();
}
} else {
result = await getPlacementGuideHistory(query);
guideHistoryList.value = result?.data?.data || [];
@ -145,6 +146,16 @@ const onSearch = async () => {
listData.total = result.data.total;
isGetAi.value = true;
};
const handleSearch = async () => {
await onSearch();
if (placementGuideList.value.length > 0 && isGetAi.value) {
loading.value = true;
syncGetAiResult();
startTask();
}
};
const aiResult = reactive({
optimization: [], // 投放建议优化
action_guide: [], // 新投放建议生成