From 9e975eee3ebe9cc133435ca3fb2dbf8458efc748 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期一, 11 八月 2025 18:10:11 +0800
Subject: [PATCH] fix: 修改登录

---
 apps/bMiniApp/src/pages/home/index.vue |  120 ++++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 88 insertions(+), 32 deletions(-)

diff --git a/apps/bMiniApp/src/pages/home/index.vue b/apps/bMiniApp/src/pages/home/index.vue
index 637899a..98be786 100644
--- a/apps/bMiniApp/src/pages/home/index.vue
+++ b/apps/bMiniApp/src/pages/home/index.vue
@@ -6,27 +6,22 @@
       </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 class="home-searchbar-wrapper">
+        <div class="city-btn-wrapper">
+          <div class="city-btn">
+            <img :src="IconLocaltion" class="city-btn-icon" />
+            <div class="city-btn-text">{{ locationCity }}</div>
+          </div>
         </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">
+        <div class="reset-localtion" @click="resetLocation">閲嶆柊瀹氫綅</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> -->
     </div>
     <ProTabs
       v-model="queryState.orderType"
@@ -63,7 +58,7 @@
       :key="queryState.orderType"
     >
       <template #renderItem="{ item }">
-        <!-- <TaskCard @click="goTaskDetail(item)" /> -->
+        <FlexJobCard @click="goFlexJobDetail(item)" :showFooterLeft="false" />
       </template>
     </InfiniteLoading>
   </PageLayoutWithBg>
@@ -76,26 +71,41 @@
 import Taro from '@tarojs/taro';
 import { LocationUtils, trim } from '@12333/utils';
 import IconLogo from '@/assets/home/icon-logo.png';
-import { ProTabs, ProTabPane } from '@12333/components';
+import { ProTabs, ProTabPane, FlexJobCard } 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 {
+  EnumPagedListOrder,
+  EnumTaskRecommendStatus,
+  EnumTaskReleaseStatus,
+  EnumUserGender,
+} from '@12333/constants';
+import * as taskServices from '@12333/services/apiV2/task';
 import _ from 'lodash';
 import HomeQueryMenuView from './HomeQueryMenuView.vue';
 import HomeQueryPositionMenuView from './HomeQueryPositionMenuView.vue';
-import IconLocaltion from '@/assets/task/icon-localtion.png';
+import IconLocaltion from '@/assets/home/icon-localtion.png';
+import { setLocationCity } from '@/utils';
 
 const { locationCity } = useUser();
+
+onMounted(async () => {
+  try {
+    await setLocationCity();
+  } catch (error) {}
+});
 
 const userStore = useUserStore();
 
 const queryMenuState = reactive({
-  gender: '' as any as Gender,
+  genderLimit: '' as any as EnumUserGender,
+  age: [15, 65],
+  identity: '',
+  certificateType: '',
 });
 
 const queryPositionState = reactive({
-  position: [],
+  position: [] as string[],
 });
 
 const queryState = reactive({
@@ -104,24 +114,32 @@
 
 const { infiniteLoadingProps } = useInfiniteLoading(
   ({ pageParam }) => {
-    let params: API.FrontOrderListInput = {
+    let params: API.GetTaskInfosQuery = {
       pageModel: {
         rows: 20,
         page: pageParam,
         orderInput: [
           queryState.orderType === HomeOrderType.Recommend
-            ? { property: 'isRecommend', order: OrderInputType.Desc }
-            : { property: 'lastShelfTime', order: OrderInputType.Desc },
+            ? { property: 'recommendStatus', order: EnumPagedListOrder.Desc }
+            : { property: 'createdTime', order: EnumPagedListOrder.Desc },
         ],
       },
+      // keywords: 'string',
+      // time: '2025-08-08T02:58:58.756Z',
+      // cityCode: 'string',
+      // settlementCycle: 10,
+      // benefitCodes: ['string'],
+      genderLimit: queryMenuState.genderLimit,
+      // status: 10,
+      releaseStatus: EnumTaskReleaseStatus.InProcess,
     };
 
-    return orderServices.getFrontOrderList(params, {
+    return taskServices.getTaskInfos(params, {
       showLoading: false,
     });
   },
   {
-    queryKey: ['orderServices/getFrontOrderList', queryState, queryMenuState, queryPositionState],
+    queryKey: ['taskServices/getTaskInfos', queryState, queryMenuState, queryPositionState],
   }
 );
 
@@ -148,6 +166,18 @@
 function handleMenuSelectPositionClose() {
   selectPositionItem.value?.toggle?.();
 }
+
+function goFlexJobDetail(item: API.GetTaskInfosQueryResultItem) {
+  Taro.navigateTo({
+    url: `${RouterPath.flexJobDetail}?id=${item.id}`,
+  });
+}
+
+async function resetLocation() {
+  try {
+    await setLocationCity();
+  } catch (error) {}
+}
 </script>
 
 <style lang="scss">
@@ -167,14 +197,40 @@
     margin-left: 24px;
   }
 
-  .city-btn {
+  .home-searchbar-wrapper {
+    padding: 32px 0 28px;
     display: flex;
     align-items: center;
 
-    .city-btn-text {
-      max-width: 200px;
-      @include ellipsis;
-      margin-right: 12px;
+    .city-btn-wrapper {
+      flex: 1;
+      min-width: 0;
+
+      .city-btn {
+        display: flex;
+        align-items: center;
+        padding-right: 36px;
+        color: boleGetCssVar('text-color', 'primary');
+
+        .city-btn-icon {
+          width: 40px;
+          height: 40px;
+        }
+
+        .city-btn-text {
+          max-width: 200px;
+          @include ellipsis;
+          margin-left: 12px;
+          font-size: 30px;
+        }
+      }
+    }
+
+    .reset-localtion {
+      font-weight: 400;
+      font-size: 24px;
+      color: boleGetCssVar('color', 'primary');
+      line-height: 28px;
     }
   }
 

--
Gitblit v1.9.1