| | |
| | | <template> |
| | | <PageLayoutWithBg class="index-page-wrapper" :title="''" :need-auth="false"> |
| | | <template #left> |
| | | <PageLayoutWithBg class="index-page-wrapper" :title="'首页'" :need-auth="false"> |
| | | <!-- <template #left> |
| | | <div class="menu-btn-wrapper menu-logo"> |
| | | <img :src="IconLogo" class="logo" /> |
| | | </div> |
| | | </template> |
| | | </template> --> |
| | | <InfiniteLoading |
| | | scrollViewClassName="common-infinite-scroll-list home-list" |
| | | commonMode |
| | |
| | | <div class="city-btn-text">{{ locationCity }}</div> |
| | | </div> |
| | | </div> |
| | | <div class="home-banner-wrapper"> |
| | | <nut-swiper :auto-play="3000"> |
| | | <SquareView class="home-banner-wrapper" :width-power="2"> |
| | | <nut-swiper :auto-play="3000" class="home-banner-swiper"> |
| | | <nut-swiper-item v-for="(item, index) in advertisements" :key="item.id"> |
| | | <img :src="item.file" class="banner-img" draggable="false" /> |
| | | </nut-swiper-item> |
| | | </nut-swiper> |
| | | </div> |
| | | </SquareView> |
| | | <!-- <div class="home-recommend-wrapper"> |
| | | <div class="home-recommend-item">推荐</div> |
| | | <div class="home-recommend-item">推荐</div> |
| | |
| | | style="height: 160px" |
| | | > --> |
| | | <nut-grid class="home-gird" :column-num="5"> |
| | | <nut-grid-item v-for="item in positionGrid" :key="item.value" :text="item.label"> |
| | | <nut-grid-item |
| | | v-for="item in positionGrid" |
| | | :key="item.value" |
| | | :text="item.label" |
| | | @click="goService(item)" |
| | | > |
| | | <img :src="setOSSLink(item.data.field2)" class="home-grid-item-icon" /> |
| | | <!-- <Dongdong /> --> |
| | | </nut-grid-item> |
| | |
| | | import { setLocationCity } from '@/utils'; |
| | | import _ from 'lodash'; |
| | | import IconLogo from '@/assets/home/icon-logo.png'; |
| | | import { TaskCard } from '@12333/components'; |
| | | import { SquareView } from '@12333/components'; |
| | | import IconLocaltion from '@/assets/task/icon-localtion.png'; |
| | | import { useAllAreaList, useInfiniteLoading, useTaskList } from '@12333/hooks'; |
| | | import { useAccessLogin } from '@/hooks'; |
| | |
| | | import { setOSSLink, trim } from '@12333/utils'; |
| | | import * as standardServiceServices from '@12333/services/apiV2/standardService'; |
| | | import { EnumPagedListOrder, EnumStandardServiceReleaseStatus } from '@12333/constants'; |
| | | import StandardServiceCard from './StandardServiceCard.vue'; |
| | | import { useSystemStore } from '@/stores/modules/system'; |
| | | |
| | | const { locationCity } = useUser(); |
| | | |
| | |
| | | keywords: queryState.keywords, |
| | | }; |
| | | |
| | | return standardServiceServices.getStandardServices(params, { |
| | | return standardServiceServices.getOpenStandardServices(params, { |
| | | showLoading: false, |
| | | }); |
| | | }, |
| | | { |
| | | queryKey: ['standardServiceServices/getStandardServices', queryState], |
| | | queryKey: ['standardServiceServices/getOpenStandardServices', queryState], |
| | | } |
| | | ); |
| | | |
| | |
| | | url: `${RouterPath.serciceDetail}?id=${item.id}`, |
| | | }); |
| | | } |
| | | |
| | | const switchTab = useSwitchTab(); |
| | | const systemStore = useSystemStore(); |
| | | |
| | | function goService(item: API.SelectOptionStringGetDictionaryDataSelectQueryResultOption) { |
| | | systemStore.setServicePageJobCode(item.value); |
| | | switchTab({ |
| | | url: `${RouterPath.service}`, |
| | | }); |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | |
| | | .home-banner-wrapper { |
| | | margin-bottom: 20px; |
| | | |
| | | .home-banner-swiper { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .banner-img { |
| | | width: 100%; |
| | | height: 260px; |
| | | height: 100%; |
| | | object-fit: cover; |
| | | object-position: center top; |
| | | } |
| | | } |
| | | |