From f67339ba8ff32589b2cbda0be19db932b4b2b121 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期四, 13 二月 2025 15:52:54 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp --- apps/bMiniApp/config/index.js | 4 apps/bMiniApp/src/assets/tabbar/icon-home.png | 0 apps/cMiniApp/src/pages/home/index.vue | 8 apps/bMiniApp/src/assets/tabbar/icon-home-active.png | 0 apps/bMiniApp/src/constants/router.ts | 1 apps/bMiniApp/src/pages/workbenches/InnerPage.vue | 13 + apps/bMiniApp/src/custom-tab-bar/index.scss | 8 apps/bMiniApp/src/assets/tabbar/icon-mine.png | 0 apps/bMiniApp/src/app.config.ts | 8 apps/bMiniApp/src/assets/tabbar/icon-mine-active.png | 0 apps/bMiniApp/src/components/Menu/Menu.vue | 8 apps/bMiniApp/src/components/Menu/menu.scss | 4 apps/bMiniApp/src/assets/home/icon-logo.png | 0 apps/cMiniApp/src/pages/home/HomeQueryMenuView.vue | 18 + apps/bMiniApp/src/pages/home/index.vue | 169 +++++++++++++++++++- apps/cMiniApp/src/pages/mine/index.vue | 2 apps/bMiniApp/src/assets/tabbar/icon-task.png | 0 apps/bMiniApp/src/constants/tabBar.ts | 1 apps/bMiniApp/src/pages/home/HomeQueryPositionMenuView.vue | 47 +++++ apps/bMiniApp/src/pages/workbenches/workbenches.config.ts | 3 apps/cMiniApp/src/hooks/task.ts | 9 apps/bMiniApp/src/assets/tabbar/icon-task-active.png | 0 /dev/null | 0 apps/bMiniApp/src/pages/home/constants/index.ts | 4 apps/bMiniApp/src/custom-tab-bar/index.tsx | 37 +--- apps/bMiniApp/src/pages/workbenches/workbenches.vue | 13 + packages/components/src/Card/FlexJobCard.vue | 1 apps/bMiniApp/config/dev.js | 16 +- apps/bMiniApp/src/pages/home/HomeQueryMenuView.vue | 57 +++++++ 29 files changed, 357 insertions(+), 74 deletions(-) diff --git a/apps/bMiniApp/config/dev.js b/apps/bMiniApp/config/dev.js index 761ccfb..05b5f02 100644 --- a/apps/bMiniApp/config/dev.js +++ b/apps/bMiniApp/config/dev.js @@ -9,14 +9,14 @@ OSS_URL: '"https://waterdroptest2.oss-cn-hangzhou.aliyuncs.com/"', WEMAP_KEY: 'T2UBZ-N563J-ZCHFF-XDOXN-VCH7S-CJB2T', }, - plugins: [ - [ - '@tarojs/plugin-mock', - { - mocks: mocks, - }, - ], - ], + // plugins: [ + // [ + // '@tarojs/plugin-mock', + // { + // mocks: mocks, + // }, + // ], + // ], defineConstants: {}, mini: {}, h5: {}, diff --git a/apps/bMiniApp/config/index.js b/apps/bMiniApp/config/index.js index bb4c8db..49d75a1 100644 --- a/apps/bMiniApp/config/index.js +++ b/apps/bMiniApp/config/index.js @@ -106,7 +106,9 @@ }, webpackChain(chain, webpack) { if (process.env.NODE_ENV === 'development') { - chain.plugin('analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, []); + chain + .plugin('analyzer') + .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, [{ analyzerPort: 8889 }]); } chain.plugin('unplugin-auto-import').use( diff --git a/apps/bMiniApp/src/app.config.ts b/apps/bMiniApp/src/app.config.ts index 5477fee..f6774a8 100644 --- a/apps/bMiniApp/src/app.config.ts +++ b/apps/bMiniApp/src/app.config.ts @@ -1,6 +1,6 @@ export default defineAppConfig({ entryPagePath: 'pages/home/index', - pages: ['pages/home/index', 'pages/mine/index'], + pages: ['pages/home/index', 'pages/mine/index', 'pages/workbenches/workbenches'], requiredPrivateInfos: ['getLocation'], permission: { 'scope.userLocation': { @@ -26,6 +26,12 @@ text: '棣栭〉', }, { + pagePath: 'pages/workbenches/workbenches', + iconPath: 'assets/tabbar/icon-task.png', + selectedIconPath: 'assets/tabbar/icon-task-active.png', + text: '宸ヤ綔鍙�', + }, + { pagePath: 'pages/mine/index', iconPath: 'assets/tabbar/icon-mine.png', selectedIconPath: 'assets/tabbar/icon-mine-active.png', diff --git a/apps/bMiniApp/src/assets/home/icon-logo.png b/apps/bMiniApp/src/assets/home/icon-logo.png new file mode 100644 index 0000000..084a4b0 --- /dev/null +++ b/apps/bMiniApp/src/assets/home/icon-logo.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-follow-active.png b/apps/bMiniApp/src/assets/tabbar/icon-follow-active.png deleted file mode 100644 index 8935690..0000000 --- a/apps/bMiniApp/src/assets/tabbar/icon-follow-active.png +++ /dev/null Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-follow.png b/apps/bMiniApp/src/assets/tabbar/icon-follow.png deleted file mode 100644 index 1a52d69..0000000 --- a/apps/bMiniApp/src/assets/tabbar/icon-follow.png +++ /dev/null Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-friend-active.png b/apps/bMiniApp/src/assets/tabbar/icon-friend-active.png deleted file mode 100644 index 9c87699..0000000 --- a/apps/bMiniApp/src/assets/tabbar/icon-friend-active.png +++ /dev/null Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-friend.png b/apps/bMiniApp/src/assets/tabbar/icon-friend.png deleted file mode 100644 index e7925dd..0000000 --- a/apps/bMiniApp/src/assets/tabbar/icon-friend.png +++ /dev/null Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-home-active.png b/apps/bMiniApp/src/assets/tabbar/icon-home-active.png index 89b000a..6ac80b1 100644 --- a/apps/bMiniApp/src/assets/tabbar/icon-home-active.png +++ b/apps/bMiniApp/src/assets/tabbar/icon-home-active.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-home.png b/apps/bMiniApp/src/assets/tabbar/icon-home.png index 8fcdf1c..76ad785 100644 --- a/apps/bMiniApp/src/assets/tabbar/icon-home.png +++ b/apps/bMiniApp/src/assets/tabbar/icon-home.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-information-active.png b/apps/bMiniApp/src/assets/tabbar/icon-information-active.png deleted file mode 100644 index c0d442f..0000000 --- a/apps/bMiniApp/src/assets/tabbar/icon-information-active.png +++ /dev/null Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-information.png b/apps/bMiniApp/src/assets/tabbar/icon-information.png deleted file mode 100644 index bff15c8..0000000 --- a/apps/bMiniApp/src/assets/tabbar/icon-information.png +++ /dev/null Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-message-active.png b/apps/bMiniApp/src/assets/tabbar/icon-message-active.png deleted file mode 100644 index fb4e87d..0000000 --- a/apps/bMiniApp/src/assets/tabbar/icon-message-active.png +++ /dev/null Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-message.png b/apps/bMiniApp/src/assets/tabbar/icon-message.png deleted file mode 100644 index 0635f33..0000000 --- a/apps/bMiniApp/src/assets/tabbar/icon-message.png +++ /dev/null Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-mine-active.png b/apps/bMiniApp/src/assets/tabbar/icon-mine-active.png index ba19ce1..8e174e6 100644 --- a/apps/bMiniApp/src/assets/tabbar/icon-mine-active.png +++ b/apps/bMiniApp/src/assets/tabbar/icon-mine-active.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-mine.png b/apps/bMiniApp/src/assets/tabbar/icon-mine.png index dddc254..d399adb 100644 --- a/apps/bMiniApp/src/assets/tabbar/icon-mine.png +++ b/apps/bMiniApp/src/assets/tabbar/icon-mine.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-product-active.png b/apps/bMiniApp/src/assets/tabbar/icon-product-active.png deleted file mode 100644 index a5d9e0c..0000000 --- a/apps/bMiniApp/src/assets/tabbar/icon-product-active.png +++ /dev/null Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-product.png b/apps/bMiniApp/src/assets/tabbar/icon-product.png deleted file mode 100644 index 7167f0d..0000000 --- a/apps/bMiniApp/src/assets/tabbar/icon-product.png +++ /dev/null Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-task-active.png b/apps/bMiniApp/src/assets/tabbar/icon-task-active.png new file mode 100644 index 0000000..7f3906a --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-task-active.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-task.png b/apps/bMiniApp/src/assets/tabbar/icon-task.png new file mode 100644 index 0000000..b1ce967 --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-task.png Binary files differ diff --git a/apps/bMiniApp/src/components/Menu/Menu.vue b/apps/bMiniApp/src/components/Menu/Menu.vue index 309ad7d..dbf99e6 100644 --- a/apps/bMiniApp/src/components/Menu/Menu.vue +++ b/apps/bMiniApp/src/components/Menu/Menu.vue @@ -17,8 +17,8 @@ <view class="nut-menu__title-text">{{ item.renderTitle() }}</view> <span class="nut-menu__title-icon"> <slot name="icon"> - <RectUp v-if="direction === 'up'" :size="12" /> - <RectDown v-else :size="12" /> + <TriangleUp v-if="direction === 'up'" :size="12" /> + <TriangleDown v-else :size="12" /> </slot> </span> </view> @@ -30,7 +30,7 @@ </template> <script lang="ts"> import Taro, { usePageScroll } from '@tarojs/taro'; -import { RectUp, RectDown } from '@nutui/icons-vue-taro'; +import { RectUp, RectDown, TriangleDown, TriangleUp } from '@nutui/icons-vue-taro'; import { useTaroRect } from 'senin-mini/hooks'; import './menu.scss'; @@ -40,6 +40,8 @@ components: { RectDown, RectUp, + TriangleDown, + TriangleUp, }, props: { activeColor: { diff --git a/apps/bMiniApp/src/components/Menu/menu.scss b/apps/bMiniApp/src/components/Menu/menu.scss index e8fbe15..4641c59 100644 --- a/apps/bMiniApp/src/components/Menu/menu.scss +++ b/apps/bMiniApp/src/components/Menu/menu.scss @@ -4,7 +4,7 @@ color: boleGetCssVar('text-color', 'primary'); .nut-menu__title-icon { - color: #000; + color: boleGetCssVar('text-color', 'secondary'); } .nut-menu__title.active { @@ -24,7 +24,7 @@ flex: none; .nut-menu__title-text { padding-left: 0; - font-size: 24rpx; + font-size: 26rpx; color: #000; } } diff --git a/apps/bMiniApp/src/constants/router.ts b/apps/bMiniApp/src/constants/router.ts index f71ad29..8aa78f5 100644 --- a/apps/bMiniApp/src/constants/router.ts +++ b/apps/bMiniApp/src/constants/router.ts @@ -7,6 +7,7 @@ registerForm = '/subpackages/login/registerForm/registerForm', home = '/pages/home/index', mine = '/pages/mine/index', + workbenches = '/pages/workbenches/workbenches', editRichContent = '/subpackages/editRichContent/editRichContent', // userInfo = '/subpackages/setting/userInfo/userInfo', diff --git a/apps/bMiniApp/src/constants/tabBar.ts b/apps/bMiniApp/src/constants/tabBar.ts index 405c9bd..977f397 100644 --- a/apps/bMiniApp/src/constants/tabBar.ts +++ b/apps/bMiniApp/src/constants/tabBar.ts @@ -1,4 +1,5 @@ export const TabBarPageRouter = { Home: '/pages/home/index', + Workbenches: '/pages/workbenches/workbenches', Mine: '/pages/mine/index', }; diff --git a/apps/bMiniApp/src/custom-tab-bar/index.scss b/apps/bMiniApp/src/custom-tab-bar/index.scss index 8b60f24..d084602 100644 --- a/apps/bMiniApp/src/custom-tab-bar/index.scss +++ b/apps/bMiniApp/src/custom-tab-bar/index.scss @@ -43,14 +43,14 @@ } .bottom-tab-item-icon { - width: 40px; - height: 40px; + width: 48px; + height: 48px; } .bottom-tab-item-text { color: #707070; - font-size: 20px; - line-height: 24px; + font-size: 24px; + line-height: 28px; } .bottom-tab-item-badge { diff --git a/apps/bMiniApp/src/custom-tab-bar/index.tsx b/apps/bMiniApp/src/custom-tab-bar/index.tsx index fd1eeda..083f636 100644 --- a/apps/bMiniApp/src/custom-tab-bar/index.tsx +++ b/apps/bMiniApp/src/custom-tab-bar/index.tsx @@ -117,7 +117,7 @@ }} > <TarBarItem - text={'homeTitle'} + text={'棣栭〉'} icon="../assets/tabbar/icon-home.png" activeIcon="../assets/tabbar/icon-home-active.png" pagePath={TabBarPageRouter.Home} @@ -126,40 +126,25 @@ className="home" onClick={switchTab} ></TarBarItem> - {/* <TarBarItem - text="琛屼笟鍦�" - icon="../assets/tabbar/icon-friend.png" - activeIcon="../assets/tabbar/icon-friend-active.png" - pagePath={TabBarPageRouter.CircleFriend} - index={1} - active={system.activeTab === 1} - className="circleFriend" - onClick={switchTab} - ></TarBarItem> - <div class="bottom-tab-item publish-wrapper" onClick={goPublish}> - <img class="bottom-tab-item-img-publish" src={IconPublish} /> - <div class="bottom-tab-item-text">鍙戝竷</div> - </div> <TarBarItem - text="娑堟伅" - icon="../assets/tabbar/icon-message.png" - activeIcon="../assets/tabbar/icon-message-active.png" - pagePath={TabBarPageRouter.Message} - active={system.activeTab === 2} - className="message" + text="宸ヤ綔鍙�" + icon="../assets/tabbar/icon-task.png" + activeIcon="../assets/tabbar/icon-task-active.png" + pagePath={TabBarPageRouter.Workbenches} + active={system.activeTab === 1} + className="task" onClick={switchTab} - index={2} - badge={(isLogin.value && myMessageCount.value?.unReadCount) ?? 0} - ></TarBarItem> */} + index={1} + ></TarBarItem> <TarBarItem text="鎴戠殑" icon="../assets/tabbar/icon-mine.png" activeIcon="../assets/tabbar/icon-mine-active.png" pagePath={TabBarPageRouter.Mine} - active={system.activeTab === 3} + active={system.activeTab === 2} className="mine" onClick={switchTab} - index={3} + index={2} ></TarBarItem> </View> ); diff --git a/apps/bMiniApp/src/pages/home/HomeQueryMenuView.vue b/apps/bMiniApp/src/pages/home/HomeQueryMenuView.vue new file mode 100644 index 0000000..26a6979 --- /dev/null +++ b/apps/bMiniApp/src/pages/home/HomeQueryMenuView.vue @@ -0,0 +1,57 @@ +<template> + <QueryMenuView @close="handleReset" @confirm="emit('close')" cancelText="閲嶇疆"> + <div class="home-query-menu-view"> + <QueryMenuItem title="缁撶畻鏂瑰紡"> + <ProRadio v-model="query.gender" :value-enum="GenderText" show-all-btn></ProRadio> + </QueryMenuItem> + <QueryMenuItem title="鍛樺伐绂忓埄"> + <ProRadio v-model="query.gender" :value-enum="GenderText" show-all-btn></ProRadio> + </QueryMenuItem> + <QueryMenuItem title="鎬у埆瑕佹眰"> + <ProRadio v-model="query.gender" :value-enum="GenderText" show-all-btn></ProRadio> + </QueryMenuItem> + </div> + </QueryMenuView> +</template> + +<script setup lang="ts"> +import { QueryMenuView, QueryMenuItem, ProRadio } from '@12333/components'; +import { GenderText } from '@12333/constants'; + +defineOptions({ + name: 'HomeQueryMenuView', +}); + +// type Props = {}; + +// const props = withDefaults(defineProps<Props>(), {}); + +const emit = defineEmits<{ + (e: 'reset'): void; + (e: 'close'): void; +}>(); + +const query = defineModel<{ + gender: number | string; +}>('query'); + +const DefaultQuery = { + ...query.value, +}; + +function handleReset() { + for (const key in DefaultQuery) { + query.value[key] = DefaultQuery[key]; + } +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.home-query-menu-view { + max-height: 400px; + padding: 30px; + overflow: auto; +} +</style> diff --git a/apps/bMiniApp/src/pages/home/HomeQueryPositionMenuView.vue b/apps/bMiniApp/src/pages/home/HomeQueryPositionMenuView.vue new file mode 100644 index 0000000..14cb778 --- /dev/null +++ b/apps/bMiniApp/src/pages/home/HomeQueryPositionMenuView.vue @@ -0,0 +1,47 @@ +<template> + <QueryMenuView @close="handleReset" @confirm="emit('close')" cancelText="閲嶇疆"> + <div class="home-query-position-menu-view"> + <PositionSelectView v-model="query.position" /> + </div> + </QueryMenuView> +</template> + +<script setup lang="ts"> +import { QueryMenuView, QueryMenuItem, PositionSelectView } from '@12333/components'; +import { GenderText } from '@12333/constants'; + +defineOptions({ + name: 'HomeQueryPositionMenuView', +}); + +// type Props = {}; + +// const props = withDefaults(defineProps<Props>(), {}); + +const emit = defineEmits<{ + (e: 'reset'): void; + (e: 'close'): void; +}>(); + +const query = defineModel<{ + position: any[]; +}>('query'); + +const DefaultQuery = { + ...query.value, +}; + +function handleReset() { + for (const key in DefaultQuery) { + query.value[key] = DefaultQuery[key]; + } +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.home-query-position-menu-view { + max-height: 400px; +} +</style> diff --git a/apps/bMiniApp/src/pages/home/constants/index.ts b/apps/bMiniApp/src/pages/home/constants/index.ts new file mode 100644 index 0000000..ff9bf0b --- /dev/null +++ b/apps/bMiniApp/src/pages/home/constants/index.ts @@ -0,0 +1,4 @@ +export enum HomeOrderType { + Recommend = 'Recommend', + LastShelfTime = 'LastShelfTime', +} diff --git a/apps/bMiniApp/src/pages/home/index.vue b/apps/bMiniApp/src/pages/home/index.vue index e3d38b0..637899a 100644 --- a/apps/bMiniApp/src/pages/home/index.vue +++ b/apps/bMiniApp/src/pages/home/index.vue @@ -1,11 +1,71 @@ <template> - <PageLayoutWithBg class="index-page-wrapper" :title="'棣栭〉'" :need-auth="false"> + <PageLayoutWithBg class="index-page-wrapper" :title="''" :need-auth="false"> <template #left> - <div class="menu-btn-wrapper city-btn" @click="goCitySelect"> - <div class="city-btn-text">{{ locationCity }}</div> - <RectDown :size="12" /> + <div class="menu-btn-wrapper menu-logo"> + <img :src="IconLogo" class="logo" /> </div> </template> + <div class="home-header"> + <!-- <div class="home-searchbar-wrapper"> + <div class="searchbar-container"> + <BlSearchbar + v-model.trim="searchValue" + placeholder="鎼滅储浠诲姟" + @search="handleSearch" + @change="handleSearch" + ></BlSearchbar> + </div> + <div class="city-btn" @click="goCitySelect"> + <img :src="IconLocaltion" class="city-btn-icon" /> + <div class="city-btn-text">{{ locationCity }}</div> + </div> + </div> --> + <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> + <ProTabs + v-model="queryState.orderType" + name="home-tab" + :showPaneContent="false" + :showSmile="false" + class="home-tabs" + isTransparent + title-gutter="8" + title-scroll + > + <ProTabPane :title="`鎺ㄨ崘`" :pane-key="HomeOrderType.Recommend"></ProTabPane> + <ProTabPane :title="`鏈�鏂癭" :pane-key="HomeOrderType.LastShelfTime"></ProTabPane> + <template #right> + <Menu> + <MenuItem title="宀椾綅" ref="selectPositionItem"> + <HomeQueryPositionMenuView + v-model:query="queryPositionState" + @close="handleMenuSelectPositionClose" + ></HomeQueryPositionMenuView> + </MenuItem> + <MenuItem title="绛涢��" ref="selectItem"> + <HomeQueryMenuView + v-model:query="queryMenuState" + @close="handleMenuSelectClose" + ></HomeQueryMenuView> + </MenuItem> + </Menu> + </template> + </ProTabs> + <InfiniteLoading + scrollViewClassName="common-infinite-scroll-list home-list" + v-bind="infiniteLoadingProps" + :key="queryState.orderType" + > + <template #renderItem="{ item }"> + <!-- <TaskCard @click="goTaskDetail(item)" /> --> + </template> + </InfiniteLoading> </PageLayoutWithBg> </template> @@ -14,30 +74,99 @@ import { useUserStore } from '@/stores/modules/user'; import { RectDown } from '@nutui/icons-vue-taro'; import Taro from '@tarojs/taro'; -import { LocationUtils } from '@12333/utils'; +import { LocationUtils, trim } from '@12333/utils'; +import IconLogo from '@/assets/home/icon-logo.png'; +import { ProTabs, ProTabPane } from '@12333/components'; +import { HomeOrderType } from './constants'; +import { useInfiniteLoading } from '@12333/hooks'; +import { OrderInputType, Gender } from '@12333/constants'; +import * as orderServices from '@12333/services/api/Order'; +import _ from 'lodash'; +import HomeQueryMenuView from './HomeQueryMenuView.vue'; +import HomeQueryPositionMenuView from './HomeQueryPositionMenuView.vue'; +import IconLocaltion from '@/assets/task/icon-localtion.png'; const { locationCity } = useUser(); const userStore = useUserStore(); + +const queryMenuState = reactive({ + gender: '' as any as Gender, +}); + +const queryPositionState = reactive({ + position: [], +}); + +const queryState = reactive({ + orderType: HomeOrderType.Recommend, +}); + +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, queryMenuState, queryPositionState], + } +); function goCitySelect() { Taro.navigateTo({ url: RouterPath.citySelect, }); } -// onMounted(async () => { -// if (!isSetMatchMakingIdentity.value) { -// Taro.navigateTo({ -// url: RouterPath.toggleMatchMakingIdentity, -// }); -// } -// }); + +const list = ref([ + 'https://storage.360buyimg.com/jdc-article/NutUItaro34.jpg', + 'https://storage.360buyimg.com/jdc-article/NutUItaro2.jpg', + 'https://storage.360buyimg.com/jdc-article/welcomenutui.jpg', + 'https://storage.360buyimg.com/jdc-article/fristfabu.jpg', +]); + +const selectItem = ref(); +const selectPositionItem = ref(); + +function handleMenuSelectClose() { + selectItem.value?.toggle?.(); +} + +function handleMenuSelectPositionClose() { + selectPositionItem.value?.toggle?.(); +} </script> <style lang="scss"> @import '@/styles/common.scss'; .index-page-wrapper { + .menu-logo { + padding: 0; + + .logo { + width: 96px; + height: 64px; + } + } + + .nut-menu__item + .nut-menu__item { + margin-left: 24px; + } + .city-btn { display: flex; align-items: center; @@ -48,5 +177,21 @@ margin-right: 12px; } } + + .home-banner-wrapper { + .banner-img { + width: 100%; + height: 260px; + object-fit: cover; + } + } + + .home-header { + padding: 0 boleGetCssVar('size', 'body-padding-h'); + } + + .home-list { + @include infiniteLoadingInTabBarPage; + } } </style> diff --git a/apps/bMiniApp/src/pages/workbenches/InnerPage.vue b/apps/bMiniApp/src/pages/workbenches/InnerPage.vue new file mode 100644 index 0000000..77f18e3 --- /dev/null +++ b/apps/bMiniApp/src/pages/workbenches/InnerPage.vue @@ -0,0 +1,13 @@ +<template> + <div>InnerPage</div> +</template> + +<script setup lang="ts"> +defineOptions({ + name: 'InnerPage', +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; +</style> diff --git a/apps/bMiniApp/src/pages/workbenches/workbenches.config.ts b/apps/bMiniApp/src/pages/workbenches/workbenches.config.ts new file mode 100644 index 0000000..305fdb1 --- /dev/null +++ b/apps/bMiniApp/src/pages/workbenches/workbenches.config.ts @@ -0,0 +1,3 @@ +export default definePageConfig({ + disableScroll: true, +}); diff --git a/apps/bMiniApp/src/pages/workbenches/workbenches.vue b/apps/bMiniApp/src/pages/workbenches/workbenches.vue new file mode 100644 index 0000000..086b9fd --- /dev/null +++ b/apps/bMiniApp/src/pages/workbenches/workbenches.vue @@ -0,0 +1,13 @@ +<template> + <PageLayoutWithBg class="workbenches-page-wrapper" title="宸ヤ綔鍙�"> + <InnerPage /> + </PageLayoutWithBg> +</template> + +<script setup lang="ts"> +import InnerPage from './InnerPage.vue'; + +defineOptions({ + name: 'workbenches', +}); +</script> diff --git a/apps/cMiniApp/src/hooks/task.ts b/apps/cMiniApp/src/hooks/task.ts index 38b1733..36970be 100644 --- a/apps/cMiniApp/src/hooks/task.ts +++ b/apps/cMiniApp/src/hooks/task.ts @@ -12,15 +12,14 @@ export function useTaskList() { const searchValue = ref(''); - const DefaultQueryState = { + const queryMenuState = reactive({ gender: '' as any as Gender, - }; + }); const queryState = reactive({ searchValueTrim: '', orderType: HomeOrderType.Recommend, companyId: '', - ...DefaultQueryState, }); const handleSearch = _.debounce(function () { @@ -46,14 +45,14 @@ }); }, { - queryKey: ['orderServices/getFrontOrderList', queryState], + queryKey: ['orderServices/getFrontOrderList', queryState, queryMenuState], } ); return { searchValue, queryState, - DefaultQueryState, + queryMenuState, handleSearch, infiniteLoadingProps, }; diff --git a/apps/cMiniApp/src/pages/home/HomeQueryMenuView.vue b/apps/cMiniApp/src/pages/home/HomeQueryMenuView.vue index 3a181c1..26a6979 100644 --- a/apps/cMiniApp/src/pages/home/HomeQueryMenuView.vue +++ b/apps/cMiniApp/src/pages/home/HomeQueryMenuView.vue @@ -2,13 +2,13 @@ <QueryMenuView @close="handleReset" @confirm="emit('close')" cancelText="閲嶇疆"> <div class="home-query-menu-view"> <QueryMenuItem title="缁撶畻鏂瑰紡"> - <ProRadio v-model="gender" :value-enum="GenderText" show-all-btn></ProRadio> + <ProRadio v-model="query.gender" :value-enum="GenderText" show-all-btn></ProRadio> </QueryMenuItem> <QueryMenuItem title="鍛樺伐绂忓埄"> - <ProRadio v-model="gender" :value-enum="GenderText" show-all-btn></ProRadio> + <ProRadio v-model="query.gender" :value-enum="GenderText" show-all-btn></ProRadio> </QueryMenuItem> <QueryMenuItem title="鎬у埆瑕佹眰"> - <ProRadio v-model="gender" :value-enum="GenderText" show-all-btn></ProRadio> + <ProRadio v-model="query.gender" :value-enum="GenderText" show-all-btn></ProRadio> </QueryMenuItem> </div> </QueryMenuView> @@ -31,10 +31,18 @@ (e: 'close'): void; }>(); -const gender = defineModel<number | string>('gender'); +const query = defineModel<{ + gender: number | string; +}>('query'); + +const DefaultQuery = { + ...query.value, +}; function handleReset() { - emit('reset'); + for (const key in DefaultQuery) { + query.value[key] = DefaultQuery[key]; + } } </script> diff --git a/apps/cMiniApp/src/pages/home/index.vue b/apps/cMiniApp/src/pages/home/index.vue index a627853..8ec5e32 100644 --- a/apps/cMiniApp/src/pages/home/index.vue +++ b/apps/cMiniApp/src/pages/home/index.vue @@ -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> @@ -80,7 +79,7 @@ const userStore = useUserStore(); -const { searchValue, queryState, handleSearch, infiniteLoadingProps, DefaultQueryState } = +const { searchValue, queryState, handleSearch, infiniteLoadingProps, queryMenuState } = useTaskList(); function goCitySelect() { @@ -100,9 +99,6 @@ function handleMenuSelectClose() { selectItem.value?.toggle?.(); -} -function handleMenuSelectReset() { - Object.assign(queryState, { ...DefaultQueryState }); } function goTaskDetail(item: API.FrontOrderList) { diff --git a/apps/cMiniApp/src/pages/mine/index.vue b/apps/cMiniApp/src/pages/mine/index.vue index e93c6c9..b1746f9 100644 --- a/apps/cMiniApp/src/pages/mine/index.vue +++ b/apps/cMiniApp/src/pages/mine/index.vue @@ -82,7 +82,7 @@ <ListItem :icon="IconCollect" title="鎴戞敹钘忕殑浠诲姟" @click="goMineCollectTask"></ListItem> <ListItem :icon="IconAgreement" title="鍗忚绛剧害" @click="goMineAgreementSign"></ListItem> <ListItem :icon="IconSetting" title="璁剧疆" @click="goSetting"></ListItem> - <ListItem :icon="IconRecruit" title="鎴戣鎷涗汉/鐢ㄤ汉" @click="goSetting"></ListItem> + <!-- <ListItem :icon="IconRecruit" title="鎴戣鎷涗汉/鐢ㄤ汉" @click="goSetting"></ListItem> --> </List> </ContentScrollView> </PageLayoutWithBg> diff --git a/packages/components/src/Card/FlexJobCard.vue b/packages/components/src/Card/FlexJobCard.vue index 9f30459..6218572 100644 --- a/packages/components/src/Card/FlexJobCard.vue +++ b/packages/components/src/Card/FlexJobCard.vue @@ -169,6 +169,7 @@ .flexJob-card-footer-right { --nut-button-default-font-size: 24px; --nut-button-default-height: 52px; + --nut-button-default-line-height: 49px; } } } -- Gitblit v1.9.1