From 1bbd7061dac79cacf5513234a04cac8ba0be5c6f Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期五, 21 三月 2025 09:15:36 +0800 Subject: [PATCH] feat: 接口对接 --- apps/bMiniApp/src/subpackages/task/batchTaskList/InnerPage.vue | 52 ++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 42 insertions(+), 10 deletions(-) diff --git a/apps/bMiniApp/src/subpackages/task/batchTaskList/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/batchTaskList/InnerPage.vue index df5b28a..d8c055d 100644 --- a/apps/bMiniApp/src/subpackages/task/batchTaskList/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/task/batchTaskList/InnerPage.vue @@ -1,5 +1,5 @@ <template> - <div class="searchbar-container"> + <div class="searchbar-container" v-if="showQueryState"> <BlSearchbar v-model.trim="searchValue" placeholder="鎼滅储濮撳悕/韬唤璇佸彿" @@ -9,10 +9,19 @@ </div> <InfiniteLoading scrollViewClassName="common-infinite-scroll-list" v-bind="infiniteLoadingProps"> <template #renderItem="{ item }"> - <FlexJobCard :showFooterLeft="false"> + <FlexJobCard + :name="item.name" + :genderType="item.genderType" + :age="item.age" + :educationalLevel="item.educationalLevel" + :arrangeCount="item.arrangeCount" + :showFooterLeft="false" + > <template #footerRight> - <nut-button type="primary">瀹夋帓</nut-button> - <!-- <div class="batch-task-card-status">宸插畨鎺�</div> --> + <nut-button v-if="showQueryState" type="primary" @click="handleArrange(item)" + >瀹夋帓</nut-button + > + <div v-else class="batch-task-card-status">宸插畨鎺�</div> </template> </FlexJobCard> </template> @@ -25,7 +34,7 @@ import { OrderInputType } from '@12333/constants'; import * as flexWorkerServices from '@12333/services/api/FlexWorker'; import _ from 'lodash'; -import { trim } from '@12333/utils'; +import { Message, trim } from '@12333/utils'; import { FlexJobCard } from '@12333/components'; defineOptions({ @@ -33,18 +42,26 @@ }); const searchValue = ref(''); - +const router = Taro.useRouter(); +const taskId = router.params?.taskId ?? ''; +const status = router.params?.status ?? ''; const queryState = reactive({ searchValueTrim: '', +}); + +const showQueryState = computed(() => { + return status === 'arrange'; }); const handleSearch = _.debounce(function () { queryState.searchValueTrim = trim(searchValue.value); }, 300); -const { infiniteLoadingProps } = useInfiniteLoading( +const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading( ({ pageParam }) => { - let params: API.GetFlexTaskListInput = { + let params: API.GetFlexTaskWorkerArrangeListInput = { + searchKeys: queryState.searchValueTrim, + flexTaskId: taskId, pageModel: { rows: 20, page: pageParam, @@ -52,14 +69,29 @@ }, }; - return flexWorkerServices.getFlexTaskByArrange(params, { + return flexWorkerServices.getFlexTaskWorkerArrangeList(params, { showLoading: false, }); }, { - queryKey: ['flexWorkerServices/getFlexTaskByArrange', queryState], + queryKey: ['flexWorkerServices/getFlexTaskWorkerArrangeList', queryState], } ); + +async function handleArrange(item: API.GetNewestWorkerListOutput) { + try { + let params: API.TaskWorkerArrangeInput = { + flexTaskId: taskId, + flexWorkerId: item.userId, + arrange: true, + }; + let res = await flexWorkerServices.taskWorkerArrange(params); + if (res) { + Message.success('宸插畨鎺�'); + invalidateQueries(); + } + } catch (error) {} +} </script> <style lang="scss"> -- Gitblit v1.9.1