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/cMiniApp/src/pages/home/index.vue | 67 +++++++++++---------------------- 1 files changed, 22 insertions(+), 45 deletions(-) diff --git a/apps/cMiniApp/src/pages/home/index.vue b/apps/cMiniApp/src/pages/home/index.vue index d6483eb..de26f12 100644 --- a/apps/cMiniApp/src/pages/home/index.vue +++ b/apps/cMiniApp/src/pages/home/index.vue @@ -16,7 +16,7 @@ ></BlSearchbar> </div> <div class="city-btn" @click="goCitySelect"> - <Location2 :size="16" /> + <img :src="IconLocaltion" class="city-btn-icon" /> <div class="city-btn-text">{{ locationCity }}</div> </div> </div> @@ -44,7 +44,7 @@ <Menu> <MenuItem title="绛涢��" ref="selectItem"> <HomeQueryMenuView - v-model:gender="queryState.gender" + v-model:query="queryMenuState" @close="handleMenuSelectClose" ></HomeQueryMenuView> </MenuItem> @@ -64,35 +64,30 @@ </template> <script setup lang="ts"> -import { useUser } from '@/hooks'; +import { useUser, useTaskList, HomeOrderType } from '@/hooks'; import { useUserStore } from '@/stores/modules/user'; import { RectDown, Location2 } from '@nutui/icons-vue-taro'; import Taro from '@tarojs/taro'; -import { LocationUtils, trim } from '@12333/utils'; +import { setLocationCity } from '@/utils'; import _ from 'lodash'; import IconLogo from '@/assets/home/icon-logo.png'; -import { useInfiniteLoading } from '@12333/hooks'; -import { OrderInputType, Gender } from '@12333/constants'; -import * as orderServices from '@12333/services/api/Order'; import { TaskCard, ProTabs, ProTabPane } from '@12333/components'; -import { HomeOrderType } from './constants'; import HomeQueryMenuView from './HomeQueryMenuView.vue'; +import IconLocaltion from '@/assets/task/icon-localtion.png'; const { locationCity } = useUser(); -const searchValue = ref(''); - -const queryState = reactive({ - searchValueTrim: '', - orderType: HomeOrderType.Recommend, - gender: '' as any as Gender, -}); - -const handleSearch = _.debounce(function () { - queryState.searchValueTrim = trim(searchValue.value); -}, 300); - const userStore = useUserStore(); + +const { searchValue, queryState, handleSearch, infiniteLoadingProps, queryMenuState } = useTaskList( + { cityName: locationCity } +); + +onMounted(async () => { + try { + await setLocationCity(); + } catch (error) {} +}); function goCitySelect() { Taro.navigateTo({ @@ -107,38 +102,15 @@ 'https://storage.360buyimg.com/jdc-article/fristfabu.jpg', ]); -const { infiniteLoadingProps } = useInfiniteLoading( - ({ pageParam }) => { - let params: API.FrontOrderListInput = { - pageModel: { - rows: 20, - page: pageParam, - orderInput: [ - queryState.orderType === HomeOrderType.Recommend - ? { property: 'isRecommend', order: OrderInputType.Desc } - : { property: 'lastShelfTime', order: OrderInputType.Desc }, - ], - }, - }; - - return orderServices.getFrontOrderList(params, { - showLoading: false, - }); - }, - { - queryKey: ['orderServices/getFrontOrderList', queryState], - } -); - const selectItem = ref(); function handleMenuSelectClose() { selectItem.value?.toggle?.(); } -function goTaskDetail(item: API.FrontOrderList) { +function goTaskDetail(item: API.GetFlexTaskListOutput) { Taro.navigateTo({ - url: `${RouterPath.taskDetail}?id=${item.id}`, + url: `${RouterPath.taskDetail}?id=${item.taskId}`, }); } </script> @@ -171,6 +143,11 @@ padding-left: 36px; color: boleGetCssVar('text-color', 'primary'); + .city-btn-icon { + width: 40px; + height: 40px; + } + .city-btn-text { max-width: 200px; @include ellipsis; -- Gitblit v1.9.1