|
|
@@ -19,6 +19,11 @@
|
|
|
]"
|
|
|
type="single-check"
|
|
|
/>
|
|
|
+ <DropdownMenuItem
|
|
|
+ v-model="filterVillage"
|
|
|
+ :options="villageListLoader.content.value || []"
|
|
|
+ type="single-check"
|
|
|
+ />
|
|
|
</DropdownMenu>
|
|
|
<Height :height="20" />
|
|
|
<SimplePageListLoader :loader="listLoader" :noEmpty="true">
|
|
|
@@ -85,9 +90,9 @@ import { ref, watch } from 'vue';
|
|
|
import { onPullDownRefresh } from '@dcloudio/uni-app';
|
|
|
import { DataDateUtils } from '@imengyu/js-request-transform';
|
|
|
import { useSimplePageListLoader } from '@/common/composeabe/SimplePageListLoader';
|
|
|
+import { useSimpleDataLoader } from '@/common/composeabe/SimpleDataLoader';
|
|
|
import { useLoadQuerys } from '@/common/composeabe/LoadQuerys';
|
|
|
import { useCollectStore } from '@/store/collect';
|
|
|
-import { useAuthStore } from '@/store/auth';
|
|
|
import { selectObjectByType } from '@/components/theme/ThemeTools';
|
|
|
import { navTo } from '@/components/utils/PageAction';
|
|
|
import SimplePageListLoader from '@/common/components/SimplePageListLoader.vue';
|
|
|
@@ -106,19 +111,31 @@ import Tag from '@/components/display/Tag.vue';
|
|
|
import Icon from '@/components/basic/Icon.vue';
|
|
|
import DropdownMenu from '@/components/feedback/DropdownMenu.vue';
|
|
|
import DropdownMenuItem from '@/components/feedback/DropdownMenuItem.vue';
|
|
|
+import VillageApi from '@/api/inhert/VillageApi';
|
|
|
+import { waitTimeOut } from '@imengyu/imengyu-utils';
|
|
|
|
|
|
const searchText = ref('');
|
|
|
-const authStore = useAuthStore();
|
|
|
const collectStore = useCollectStore();
|
|
|
const filterStatus = ref(-100);
|
|
|
+const filterVillage = ref(0);
|
|
|
|
|
|
+const villageListLoader = useSimpleDataLoader(async () => {
|
|
|
+ const res = await VillageApi.getClaimedVallageList()
|
|
|
+ if (filterVillage.value == 0)
|
|
|
+ filterVillage.value = res[0].villageId;
|
|
|
+ return res.map(item => ({
|
|
|
+ text: item.villageName,
|
|
|
+ value: item.villageId!,
|
|
|
+ }));
|
|
|
+}, true);
|
|
|
const listLoader = useSimplePageListLoader<CommonInfoModel>(8, async (page, pageSize) => {
|
|
|
+ await waitTimeOut(300);
|
|
|
let res = await VillageInfoApi.getList(
|
|
|
undefined,
|
|
|
'',
|
|
|
undefined,
|
|
|
undefined,
|
|
|
- querys.value.villageId,
|
|
|
+ filterVillage.value,
|
|
|
querys.value.villageVolunteerId,
|
|
|
undefined,
|
|
|
page,
|
|
|
@@ -152,12 +169,12 @@ const { querys } = useLoadQuerys({
|
|
|
villageId: 0,
|
|
|
villageVolunteerId: 0,
|
|
|
}, async (querys) => {
|
|
|
+ filterVillage.value = querys.villageId || 0;
|
|
|
listLoader.loadData(querys)
|
|
|
});
|
|
|
|
|
|
-watch(filterStatus, () => {
|
|
|
- listLoader.loadData(undefined, true);
|
|
|
-})
|
|
|
+watch(filterStatus, () => listLoader.loadData(undefined, true))
|
|
|
+watch(filterVillage, () => listLoader.loadData(undefined, true))
|
|
|
|
|
|
onPullDownRefresh(() => {
|
|
|
listLoader.loadData(undefined, true);
|