|
|
@@ -1,9 +1,12 @@
|
|
|
<template>
|
|
|
- <FlexCol>
|
|
|
+ <FlexCol gap="gap.lg">
|
|
|
|
|
|
+ <!-- 卡片背景 -->
|
|
|
<BackgroundBox
|
|
|
color1="#eecaa0"
|
|
|
color2="white"
|
|
|
+ color2Position="45%"
|
|
|
+ color3="white"
|
|
|
radius="radius.large"
|
|
|
direction="column"
|
|
|
:padding="[35,30]"
|
|
|
@@ -14,7 +17,7 @@
|
|
|
<FlexRow justify="space-between" width="100%">
|
|
|
<FlexCol gap="gap.md">
|
|
|
<Text :text="villageInfoLoader.content.value?.title" fontConfig="primaryTitle" />
|
|
|
- <Text :text="villageInfoLoader.content.value?.address" fontConfig="secondText" />
|
|
|
+ <Text :text="villageInfoLoader.content.value?.address" fontConfig="contentText" />
|
|
|
</FlexCol>
|
|
|
<FlexCol gap="gap.md">
|
|
|
<Button icon="https://xy.wenlvti.net/app_static/images/village/IconUser.png" radius="radius.larger" :padding="[10, 30]" backgroundColor="white">申请管理者</Button>
|
|
|
@@ -58,14 +61,77 @@
|
|
|
</FlexRow>
|
|
|
|
|
|
<!-- 地址 -->
|
|
|
+ <FlexRow align="center" gap="gap.sm">
|
|
|
+ <Icon name="https://xy.wenlvti.net/app_static/images/village/IconMap.png" size="fontSize.medium" />
|
|
|
+ <Text :text="villageInfoLoader.content.value?.address" fontConfig="contentText" />
|
|
|
+ </FlexRow>
|
|
|
+ <VillageMiniMap />
|
|
|
|
|
|
+ <FlexRow center gap="gap.lg">
|
|
|
+ <Button
|
|
|
+ icon="https://xy.wenlvti.net/app_static/images/village/IconJoin.png"
|
|
|
+ radius="radius.larger"
|
|
|
+ size="large"
|
|
|
+ :innerStyle="{ flexBasis: '20%' }"
|
|
|
+ >
|
|
|
+ 关注
|
|
|
+ </Button>
|
|
|
+ <Button
|
|
|
+ icon="https://xy.wenlvti.net/app_static/images/village/IconFollow.png"
|
|
|
+ size="large"
|
|
|
+ radius="radius.larger"
|
|
|
+ :innerStyle="{ flexBasis: '20%' }"
|
|
|
+ >
|
|
|
+ 加入
|
|
|
+ </Button>
|
|
|
+ </FlexRow>
|
|
|
|
|
|
+ <FlexRow justify="space-between" align="center">
|
|
|
+ <FlexRow center gap="gap.lg" flexBasis="50%">
|
|
|
+ <Text text="村社排名" fontConfig="contentText" />
|
|
|
+ <Text text="No." fontConfig="lightTitle" />
|
|
|
+ <Text :text="villageInfoLoader.content.value?.rankText" fontConfig="primaryTitle" />
|
|
|
+ </FlexRow>
|
|
|
+ <FlexRow center gap="gap.lg" flexBasis="50%">
|
|
|
+ <Text text="村社等级" fontConfig="contentText" />
|
|
|
+ <Text :text="villageInfoLoader.content.value?.levelText" fontConfig="primaryTitle" />
|
|
|
+ </FlexRow>
|
|
|
+ </FlexRow>
|
|
|
+
|
|
|
+ <FlexRow backgroundColor="background.tertiary" radius="radius.medium" :padding="[30, 20]">
|
|
|
+ <FlexCol center gap="gap.sm" flexBasis="25%">
|
|
|
+ <Text text="乡源光" fontConfig="secondText" />
|
|
|
+ <Text :text="villageInfoLoader.content.value?.light" fontConfig="importantTitle" />
|
|
|
+ </FlexCol>
|
|
|
+ <Divider type="vertical" />
|
|
|
+ <FlexCol center gap="gap.sm" flexBasis="25%">
|
|
|
+ <Text text="乡源人数" fontConfig="contentText" />
|
|
|
+ <Text :text="villageInfoLoader.content.value?.memberCount" fontConfig="importantTitle" />
|
|
|
+ </FlexCol>
|
|
|
+ <Divider type="vertical" />
|
|
|
+ <FlexCol center gap="gap.sm" flexBasis="25%">
|
|
|
+ <Text text="关注人数" fontConfig="contentText" />
|
|
|
+ <Text :text="villageInfoLoader.content.value?.followerCount" fontConfig="importantTitle" />
|
|
|
+ </FlexCol>
|
|
|
+ <Divider type="vertical" />
|
|
|
+ <Button :padding="0" type="text" size="small" textColor="text.title" text="新手上路" rightIcon="arrow-right" />
|
|
|
+ </FlexRow>
|
|
|
</BackgroundBox>
|
|
|
|
|
|
+ <!-- 排行榜 -->
|
|
|
<HomeTitle title="排行榜" />
|
|
|
+ <RoundTags v-model:active="rankActiveTag" :tags="['乡源果', '志愿者', '乡源光']" />
|
|
|
+ <VillageUserRankList />
|
|
|
|
|
|
+ <!-- 魅力乡源 -->
|
|
|
<HomeTitle title="魅力乡源" />
|
|
|
|
|
|
+ <!-- 活力乡源 -->
|
|
|
+ <HomeTitle title="活力乡源" />
|
|
|
+
|
|
|
+ <!-- 文脉乡源 -->
|
|
|
+ <HomeTitle title="文脉乡源" />
|
|
|
+
|
|
|
|
|
|
</FlexCol>
|
|
|
|
|
|
@@ -83,6 +149,12 @@ import BackgroundBox from '@/components/display/block/BackgroundBox.vue';
|
|
|
import Touchable from '@/components/feedback/Touchable.vue';
|
|
|
import FlexCol from '@/components/layout/FlexCol.vue';
|
|
|
import FlexRow from '@/components/layout/FlexRow.vue';
|
|
|
+import VillageMiniMap from '../../components/VillageMiniMap.vue';
|
|
|
+import Divider from '@/components/display/Divider.vue';
|
|
|
+import VillageRankList from '../../components/VillageRankList.vue';
|
|
|
+import RoundTags from '@/common/components/parts/RoundTags.vue';
|
|
|
+import VillageUserRankList from '../../components/VillageUserRankList.vue';
|
|
|
+import { ref } from 'vue';
|
|
|
|
|
|
const villageInfoLoader = useSimpleDataLoader(async () => {
|
|
|
return {
|
|
|
@@ -90,6 +162,11 @@ const villageInfoLoader = useSimpleDataLoader(async () => {
|
|
|
desc: '',
|
|
|
address: '福建省厦门市同安区高浦社区',
|
|
|
applyCount: 100,
|
|
|
+ levelText: '一级',
|
|
|
+ rankText: '1',
|
|
|
+ light: 0,
|
|
|
+ memberCount: 0,
|
|
|
+ followerCount: 0,
|
|
|
images: [
|
|
|
'https://mn.wenlvti.net/app_static/minnan/images/test/ImageTest1.jpg',
|
|
|
'https://mn.wenlvti.net/app_static/minnan/images/test/ImageTest2.jpg',
|
|
|
@@ -99,4 +176,6 @@ const villageInfoLoader = useSimpleDataLoader(async () => {
|
|
|
],
|
|
|
};
|
|
|
});
|
|
|
+
|
|
|
+const rankActiveTag = ref('乡源果');
|
|
|
</script>
|