|
@@ -44,14 +44,12 @@
|
|
|
message="您当前没有可完成的任务"
|
|
message="您当前没有可完成的任务"
|
|
|
description="请联系管理员认领可采编栏目"
|
|
description="请联系管理员认领可采编栏目"
|
|
|
/>
|
|
/>
|
|
|
- <TaskList
|
|
|
|
|
- v-for="(item,key) in taskList.content.value"
|
|
|
|
|
- :key="key"
|
|
|
|
|
- :icon="item.icon"
|
|
|
|
|
- :title="item.title"
|
|
|
|
|
- :desc="item.desc"
|
|
|
|
|
- :enable="typeof item.enable === 'string' ? canCollect(item.enable) : item.enable"
|
|
|
|
|
- @click="goTask(item)"
|
|
|
|
|
|
|
+ <CollectModuleList
|
|
|
|
|
+ :villageId="querys.villageId"
|
|
|
|
|
+ :villageVolunteerId="querys.villageVolunteerId"
|
|
|
|
|
+ :taskName="''"
|
|
|
|
|
+ :taskTitle="''"
|
|
|
|
|
+ :taskPid="0"
|
|
|
/>
|
|
/>
|
|
|
</FlexCol>
|
|
</FlexCol>
|
|
|
<XBarSpace />
|
|
<XBarSpace />
|
|
@@ -60,13 +58,9 @@
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
|
import { useLoadQuerys } from '@/common/composeabe/LoadQuerys';
|
|
import { useLoadQuerys } from '@/common/composeabe/LoadQuerys';
|
|
|
-import { computed } from 'vue';
|
|
|
|
|
import { useAuthStore } from '@/store/auth';
|
|
import { useAuthStore } from '@/store/auth';
|
|
|
import { useCollectStore } from '@/store/collect';
|
|
import { useCollectStore } from '@/store/collect';
|
|
|
-import { TaskRootDef, type TaskRootMenuDefItem } from './forms/tasks';
|
|
|
|
|
import { useTaskEntryForm } from './forms/composeable/TaskEntryForm';
|
|
import { useTaskEntryForm } from './forms/composeable/TaskEntryForm';
|
|
|
-import { useSimpleDataLoader } from '@/common/composeabe/SimpleDataLoader';
|
|
|
|
|
-import { navTo } from '@/components/utils/PageAction';
|
|
|
|
|
import Icon from '@/components/basic/Icon.vue';
|
|
import Icon from '@/components/basic/Icon.vue';
|
|
|
import Text from '@/components/basic/Text.vue';
|
|
import Text from '@/components/basic/Text.vue';
|
|
|
import Touchable from '@/components/feedback/Touchable.vue';
|
|
import Touchable from '@/components/feedback/Touchable.vue';
|
|
@@ -74,11 +68,10 @@ import Height from '@/components/layout/space/Height.vue';
|
|
|
import FlexCol from '@/components/layout/FlexCol.vue';
|
|
import FlexCol from '@/components/layout/FlexCol.vue';
|
|
|
import Image from '@/components/basic/Image.vue';
|
|
import Image from '@/components/basic/Image.vue';
|
|
|
import FlexRow from '@/components/layout/FlexRow.vue';
|
|
import FlexRow from '@/components/layout/FlexRow.vue';
|
|
|
-import TaskList from './components/TaskList.vue';
|
|
|
|
|
|
|
+import CollectModuleList from './components/CollectModuleList.vue';
|
|
|
import XBarSpace from '@/components/layout/space/XBarSpace.vue';
|
|
import XBarSpace from '@/components/layout/space/XBarSpace.vue';
|
|
|
import Width from '@/components/layout/space/Width.vue';
|
|
import Width from '@/components/layout/space/Width.vue';
|
|
|
import Alert from '@/components/feedback/Alert.vue';
|
|
import Alert from '@/components/feedback/Alert.vue';
|
|
|
-import VillageApi, { VillageCatalogListItem } from '@/api/inhert/VillageApi';
|
|
|
|
|
|
|
|
|
|
const { querys } = useLoadQuerys({
|
|
const { querys } = useLoadQuerys({
|
|
|
name: '',
|
|
name: '',
|
|
@@ -92,29 +85,6 @@ const authStore = useAuthStore();
|
|
|
const { canCollect, isEmpty } = useCollectStore();
|
|
const { canCollect, isEmpty } = useCollectStore();
|
|
|
const { goForm } = useTaskEntryForm();
|
|
const { goForm } = useTaskEntryForm();
|
|
|
|
|
|
|
|
-const nextPageData = computed(() => ({
|
|
|
|
|
- villageId: querys.value.villageId,
|
|
|
|
|
- villageVolunteerId: querys.value.villageVolunteerId,
|
|
|
|
|
-}));
|
|
|
|
|
-const taskList = useSimpleDataLoader<(TaskRootMenuDefItem & {
|
|
|
|
|
- catalogItem?: VillageCatalogListItem,
|
|
|
|
|
-})[]>(async () => {
|
|
|
|
|
- const res = (await VillageApi.getCatalogList(querys.value.villageId))
|
|
|
|
|
- .filter(item => item.pid == 0);
|
|
|
|
|
- if (res.length === 0)
|
|
|
|
|
- return TaskRootDef;
|
|
|
|
|
- return res
|
|
|
|
|
- .map(item => ({
|
|
|
|
|
- ...item,
|
|
|
|
|
- enable: true,
|
|
|
|
|
- catalogItem: item,
|
|
|
|
|
- goForm: {
|
|
|
|
|
- title: item.title,
|
|
|
|
|
- name: 'force'
|
|
|
|
|
- },
|
|
|
|
|
- } as TaskRootMenuDefItem));
|
|
|
|
|
-});
|
|
|
|
|
-
|
|
|
|
|
function goCollect() {
|
|
function goCollect() {
|
|
|
if (!canCollect('collect')) {
|
|
if (!canCollect('collect')) {
|
|
|
uni.showToast({
|
|
uni.showToast({
|
|
@@ -126,26 +96,4 @@ function goCollect() {
|
|
|
}
|
|
}
|
|
|
goForm('collect', 1, '随手记')
|
|
goForm('collect', 1, '随手记')
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
-function goTask(item: TaskRootMenuDefItem & {
|
|
|
|
|
- catalogItem?: VillageCatalogListItem,
|
|
|
|
|
-}) {
|
|
|
|
|
- if (!item.enable) {
|
|
|
|
|
- uni.showToast({
|
|
|
|
|
- title: '您当前没有可完成此任务的权限',
|
|
|
|
|
- icon: 'none',
|
|
|
|
|
- duration: 2000
|
|
|
|
|
- });
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- if (item.goForm instanceof Array) {
|
|
|
|
|
- goForm(...item.goForm)
|
|
|
|
|
- } else {
|
|
|
|
|
- navTo('forms/task', {
|
|
|
|
|
- ...nextPageData.value,
|
|
|
|
|
- taskPid: item.catalogItem?.id || 0,
|
|
|
|
|
- taskName: item.goForm.name,
|
|
|
|
|
- })
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
</script>
|
|
</script>
|