|
|
@@ -13,7 +13,7 @@
|
|
|
/>
|
|
|
|
|
|
<HomeTitle title="乡村排名" showMore @moreClicked="navTo('/pages/home/village/rank/village')" />
|
|
|
- <FlexCol gap="gap.lg">
|
|
|
+ <FlexCol gap="gap.md">
|
|
|
<RankVillageItem
|
|
|
v-for="item in villageRankListLoader.content.value"
|
|
|
:key="item.id"
|
|
|
@@ -22,12 +22,13 @@
|
|
|
:rank="item.rank"
|
|
|
:title="item.title"
|
|
|
:points="item.points"
|
|
|
+ :small="true"
|
|
|
@click="handleGoVillageDetails(item as any)"
|
|
|
/>
|
|
|
</FlexCol>
|
|
|
|
|
|
<HomeTitle title="志愿者排名" showMore :lightCount="3" @moreClicked="navTo('/pages/home/village/rank/volunteer')" />
|
|
|
- <FlexCol gap="gap.lg">
|
|
|
+ <FlexCol gap="gap.md">
|
|
|
<RankVolunteerItem
|
|
|
v-for="(item, index) in villageUserRankListLoader.content.value" :key="item.id"
|
|
|
:id="item.id"
|
|
|
@@ -36,16 +37,17 @@
|
|
|
:title="item.title"
|
|
|
:score="item.score"
|
|
|
:isAdmin="false"
|
|
|
+ :small="true"
|
|
|
scoreSuffix="文化积分"
|
|
|
@click="navTo('/pages/home/village/volunteer/detail', { id: item.id })"
|
|
|
/>
|
|
|
</FlexCol>
|
|
|
|
|
|
<HomeTitle title="乡源好物" showMore @moreClicked="navTo('/pages/home/village/goods/index')" />
|
|
|
- <SimplePageListLoader :loader="goodsLoader" :showNomore="false">
|
|
|
+ <SimplePageContentLoader :loader="goodsLoader" :showNomore="false">
|
|
|
<FlexRow wrap justify="space-around" gap="gap.sm">
|
|
|
<BoxMid
|
|
|
- v-for="good in goodsLoader.list.value" :key="good.id"
|
|
|
+ v-for="good in goodsLoader.content.value" :key="good.id"
|
|
|
:innerStyle="{
|
|
|
width: 'calc(50% - 70rpx)',
|
|
|
}"
|
|
|
@@ -68,9 +70,9 @@
|
|
|
</FlexRow>
|
|
|
</Touchable>
|
|
|
</BoxMid>
|
|
|
- <FlexCol v-if="goodsLoader.list.value.length % 2 !== 0" width="calc(50%)" />
|
|
|
+ <FlexCol v-if="goodsLoader.content.value && goodsLoader.content.value.length % 2 !== 0" width="calc(50%)" />
|
|
|
</FlexRow>
|
|
|
- </SimplePageListLoader>
|
|
|
+ </SimplePageContentLoader>
|
|
|
|
|
|
<HomeTitle title="最新推荐" />
|
|
|
<SimplePageListLoader :loader="discoverLoader">
|
|
|
@@ -124,6 +126,7 @@ import FlexRow from '@/components/layout/FlexRow.vue';
|
|
|
import BoxMid from '@/common/components/box/BoxMid.vue';
|
|
|
import RankVolunteerItem from '../village/rank/components/RankVolunteerItem.vue';
|
|
|
import RankVillageItem from '../village/rank/components/RankVillageItem.vue';
|
|
|
+import SimplePageContentLoader from '@/components/loader/SimplePageContentLoader.vue';
|
|
|
|
|
|
const emit = defineEmits([ 'goVillage' ]);
|
|
|
|
|
|
@@ -143,7 +146,7 @@ const villageRankListLoader = useSimpleDataLoader(async () => {
|
|
|
}));
|
|
|
});
|
|
|
const villageUserRankListLoader = useSimpleDataLoader(async () => {
|
|
|
- const res = (await LightVillageApi.getVolunteerRankList({ num: 6 }))
|
|
|
+ const res = (await LightVillageApi.getVolunteerRankList({ num: 10 }))
|
|
|
.map((item, i) => ({
|
|
|
id: item.id,
|
|
|
image: item.image ?? '',
|
|
|
@@ -153,11 +156,11 @@ const villageUserRankListLoader = useSimpleDataLoader(async () => {
|
|
|
}));
|
|
|
return res
|
|
|
});
|
|
|
-const goodsLoader = useSimplePageListLoader(20, async (page, pageSize, params) => {
|
|
|
- return await VillageInfoApi.getList({
|
|
|
+const goodsLoader = useSimpleDataLoader(async () => {
|
|
|
+ return (await VillageInfoApi.getList({
|
|
|
collectModuleId: 24,
|
|
|
- page, pageSize,
|
|
|
- });
|
|
|
+ page: 1, pageSize: 10,
|
|
|
+ })).list;
|
|
|
});
|
|
|
|
|
|
function handleGoodDetail(good: { id: number }) {
|