|
@@ -113,7 +113,7 @@ import Tag from '@/components/display/Tag.vue';
|
|
|
import Icon from '@/components/basic/Icon.vue';
|
|
import Icon from '@/components/basic/Icon.vue';
|
|
|
import DropdownMenu from '@/components/feedback/DropdownMenu.vue';
|
|
import DropdownMenu from '@/components/feedback/DropdownMenu.vue';
|
|
|
import DropdownMenuItem from '@/components/feedback/DropdownMenuItem.vue';
|
|
import DropdownMenuItem from '@/components/feedback/DropdownMenuItem.vue';
|
|
|
-import VillageApi from '@/api/inhert/VillageApi';
|
|
|
|
|
|
|
+import VillageApi, { type VillageListItem } from '@/api/inhert/VillageApi';
|
|
|
import { waitTimeOut } from '@imengyu/imengyu-utils';
|
|
import { waitTimeOut } from '@imengyu/imengyu-utils';
|
|
|
|
|
|
|
|
const searchText = ref('');
|
|
const searchText = ref('');
|
|
@@ -121,14 +121,26 @@ const filterStatus = ref(-100);
|
|
|
const filterVillage = ref(0);
|
|
const filterVillage = ref(0);
|
|
|
|
|
|
|
|
const villageListLoader = useSimpleDataLoader(async () => {
|
|
const villageListLoader = useSimpleDataLoader(async () => {
|
|
|
- const res = await VillageApi.getClaimedVallageList()
|
|
|
|
|
- if (filterVillage.value == 0)
|
|
|
|
|
- filterVillage.value = res[0].villageId;
|
|
|
|
|
- return res.map(item => ({
|
|
|
|
|
|
|
+ let res = [] as VillageListItem[];
|
|
|
|
|
+ try {
|
|
|
|
|
+ res = await VillageApi.getClaimedVallageList()
|
|
|
|
|
+ } catch (e) {
|
|
|
|
|
+ console.log(e);
|
|
|
|
|
+ }
|
|
|
|
|
+ const list = res.map(item => ({
|
|
|
text: item.villageName,
|
|
text: item.villageName,
|
|
|
value: item.villageId!,
|
|
value: item.villageId!,
|
|
|
}));
|
|
}));
|
|
|
-}, true);
|
|
|
|
|
|
|
+ if (list.length == 0) {
|
|
|
|
|
+ list.push({
|
|
|
|
|
+ text: '未选择村社',
|
|
|
|
|
+ value: -100,
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ if (filterVillage.value == 0)
|
|
|
|
|
+ filterVillage.value = list[0].value;
|
|
|
|
|
+ return list;
|
|
|
|
|
+}, false);
|
|
|
const listLoader = useSimplePageListLoader<CommonInfoModel>(8, async (page, pageSize) => {
|
|
const listLoader = useSimplePageListLoader<CommonInfoModel>(8, async (page, pageSize) => {
|
|
|
await waitTimeOut(300);
|
|
await waitTimeOut(300);
|
|
|
let res = await VillageInfoApi.getList(
|
|
let res = await VillageInfoApi.getList(
|
|
@@ -148,7 +160,7 @@ const listLoader = useSimplePageListLoader<CommonInfoModel>(8, async (page, page
|
|
|
list: res,
|
|
list: res,
|
|
|
total: res.length,
|
|
total: res.length,
|
|
|
};
|
|
};
|
|
|
-});
|
|
|
|
|
|
|
+}, false);
|
|
|
function goDetail(item: CommonInfoModel) {
|
|
function goDetail(item: CommonInfoModel) {
|
|
|
navTo('common', {
|
|
navTo('common', {
|
|
|
id: item.id,
|
|
id: item.id,
|
|
@@ -170,7 +182,8 @@ const { querys } = useLoadQuerys({
|
|
|
villageVolunteerId: 0,
|
|
villageVolunteerId: 0,
|
|
|
}, async (querys) => {
|
|
}, async (querys) => {
|
|
|
filterVillage.value = querys.villageId || 0;
|
|
filterVillage.value = querys.villageId || 0;
|
|
|
- listLoader.loadData(querys)
|
|
|
|
|
|
|
+ await villageListLoader.loadData();
|
|
|
|
|
+ await listLoader.loadData(querys)
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
watch(filterStatus, () => listLoader.loadData(undefined, true))
|
|
watch(filterStatus, () => listLoader.loadData(undefined, true))
|