wupengfei
8 天以前 84bbc4a13aa8283aa417182376e1eb0024596582
apps/cMiniApp/src/pages/home/index.vue
@@ -20,13 +20,13 @@
          <div class="city-btn-text">{{ locationCity }}</div>
        </div>
      </div>
      <div class="home-banner-wrapper">
      <!-- <div class="home-banner-wrapper">
        <nut-swiper :auto-play="3000">
          <nut-swiper-item v-for="(item, index) in list" :key="index">
            <img :src="item" class="banner-img" draggable="false" />
          </nut-swiper-item>
        </nut-swiper>
      </div>
      </div> -->
    </div>
    <ProTabs
      v-model="queryState.orderType"
@@ -44,9 +44,8 @@
        <Menu>
          <MenuItem title="筛选" ref="selectItem">
            <HomeQueryMenuView
              v-model:gender="queryState.gender"
              v-model:query="queryMenuState"
              @close="handleMenuSelectClose"
              @reset="handleMenuSelectReset"
            ></HomeQueryMenuView>
          </MenuItem>
        </Menu>
@@ -58,30 +57,42 @@
      :key="queryState.orderType"
    >
      <template #renderItem="{ item }">
        <TaskCard @click="goTaskDetail(item)" />
        <TaskCard @click="goTaskDetail(item)" v-bind="item" @apply="goTaskApply(item)" />
      </template>
    </InfiniteLoading>
  </PageLayoutWithBg>
</template>
<script setup lang="ts">
import { useUser, useTaskList, HomeOrderType } from '@/hooks';
import { useUser } 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 { TaskCard, ProTabs, ProTabPane } from '@12333/components';
import HomeQueryMenuView from './HomeQueryMenuView.vue';
import IconLocaltion from '@/assets/task/icon-localtion.png';
import { useAllAreaList, useTaskList } from '@12333/hooks';
import { useAccessLogin } from '@/hooks';
const { locationCity } = useUser();
const userStore = useUserStore();
const { findAreaCodeFromName } = useAllAreaList();
const { searchValue, queryState, handleSearch, infiniteLoadingProps, DefaultQueryState } =
  useTaskList();
const { searchValue, queryState, handleSearch, infiniteLoadingProps, queryMenuState } = useTaskList(
  {
    cityCode: computed(() => findAreaCodeFromName(locationCity.value)),
    enabled: computed(() => !!findAreaCodeFromName(locationCity.value)),
  }
);
onMounted(async () => {
  try {
    await setLocationCity();
  } catch (error) {}
});
function goCitySelect() {
  Taro.navigateTo({
@@ -101,15 +112,16 @@
function handleMenuSelectClose() {
  selectItem.value?.toggle?.();
}
function handleMenuSelectReset() {
  Object.assign(queryState, { ...DefaultQueryState });
}
function goTaskDetail(item: API.FrontOrderList) {
function goTaskDetail(item: API.GetTaskInfosQueryResultItem) {
  Taro.navigateTo({
    url: `${RouterPath.taskDetail}?id=${item.id}`,
  });
}
const goTaskApply = useAccessLogin((item: API.GetTaskInfosQueryResultItem) => {
  console.log('item: ', item);
});
</script>
<style lang="scss">