From f790bdf751063dd882b5ae654cb540d81bf16d1d Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 12 八月 2025 14:58:33 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp

---
 apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue                           |    2 
 apps/bMiniApp/src/components/Menu/MenuItem.vue                                        |    2 
 packages/components/src/Input/ChooseInputWithDatePicker.vue                           |    2 
 apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue                          |    7 ++-
 apps/cMiniApp/.eslintrc-auto-import.json                                              |   43 +++++++++------------
 packages/components/src/Tabs/ProTabs.vue                                              |   12 ++++++
 apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue |    1 
 apps/bMiniApp/src/subpackages/jobApplicationManage/components/JobDetail.vue           |   36 +++++++++--------
 apps/bMiniApp/project.config.json                                                     |    4 +-
 apps/bMiniApp/project.private.config.json                                             |    7 +++
 10 files changed, 66 insertions(+), 50 deletions(-)

diff --git a/apps/bMiniApp/project.config.json b/apps/bMiniApp/project.config.json
index e4afad4..7bc8fee 100644
--- a/apps/bMiniApp/project.config.json
+++ b/apps/bMiniApp/project.config.json
@@ -3,8 +3,8 @@
     "description": "",
     "setting": {
         "urlCheck": false,
-        "es6": false,
-        "enhance": false,
+        "es6": true,
+        "enhance": true,
         "postcss": false,
         "preloadBackgroundData": false,
         "minified": false,
diff --git a/apps/bMiniApp/project.private.config.json b/apps/bMiniApp/project.private.config.json
index eedae10..c3f7281 100644
--- a/apps/bMiniApp/project.private.config.json
+++ b/apps/bMiniApp/project.private.config.json
@@ -9,6 +9,13 @@
         "miniprogram": {
             "list": [
                 {
+                    "name": "搴旇仒绠$悊璇︽儏",
+                    "pathName": "subpackages/jobApplicationManage/jobApplicationDetail/jobApplicationDetail",
+                    "query": "taskId=04c75425-e783-4dbf-0f16-08ddd626b756",
+                    "launchMode": "default",
+                    "scene": null
+                },
+                {
                     "name": "璁剧疆",
                     "pathName": "subpackages/mine/setting/setting",
                     "query": "",
diff --git a/apps/bMiniApp/src/components/Menu/MenuItem.vue b/apps/bMiniApp/src/components/Menu/MenuItem.vue
index acb4a8d..8a6cf7d 100644
--- a/apps/bMiniApp/src/components/Menu/MenuItem.vue
+++ b/apps/bMiniApp/src/components/Menu/MenuItem.vue
@@ -125,7 +125,7 @@
 
     const style = computed(() => {
       return parent.props.direction === 'down'
-        ? { top: parent.offset.value + 'px' }
+        ? { top: parent.offset.value + 'px', zIndex: 222222222 }
         : { bottom: parent.offset.value + 'px' };
     });
 
diff --git a/apps/bMiniApp/src/subpackages/jobApplicationManage/components/JobDetail.vue b/apps/bMiniApp/src/subpackages/jobApplicationManage/components/JobDetail.vue
index 6a0d095..e10ac35 100644
--- a/apps/bMiniApp/src/subpackages/jobApplicationManage/components/JobDetail.vue
+++ b/apps/bMiniApp/src/subpackages/jobApplicationManage/components/JobDetail.vue
@@ -1,10 +1,10 @@
 <template>
   <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch">
     <ContentScrollView style="background-color: transparent">
-      <Cell :title="detail.taskName" titleSize="large">
+      <Cell :title="detail.name" titleSize="large">
         <div class="taskDetail-time">
           {{
-            `${dayjs(detail.startDate).format('YYYY骞碝M鏈圖D鏃�')}鑷�${dayjs(detail.endDate).format(
+            `${dayjs(detail.beginTime).format('YYYY骞碝M鏈圖D鏃�')}鑷�${dayjs(detail.endTime).format(
               'YYYY骞碝M鏈圖D鏃�'
             )}`
           }}
@@ -12,18 +12,21 @@
         <div class="task-card-welfare-wrapper">
           <div class="task-card-welfare-list">
             <div class="task-card-welfare-list-item">
-              {{ FlexTaskSettleTypeEnumText[detail.settleType] }}
+              {{ EnumSettlementCycleText[detail.settlementCycle] }}
             </div>
           </div>
-          <TaskPrice :value="detail.fee" :unit="SalaryTimeTypeEnumUnit[detail.feeType]" />
+          <TaskPrice
+            :value="toThousand(detail.serviceFee ?? 0)"
+            :unit="BillingMethodEnumUnit[detail.billingMethod]"
+          />
         </div>
         <div class="taskDetail-address-wrapper">
           <div class="taskDetail-address-title-wrapper">
             <img :src="IconLocaltion" class="taskDetail-address-title-icon" />
-            <div class="taskDetail-address-title">瀹佹尝鏌忔偊閰掑簵</div>
+            <div class="taskDetail-address-title">{{ detail?.addressName ?? '' }}</div>
           </div>
           <div class="taskDetail-address-info-wrapper">
-            <div class="taskDetail-address-info">瀹佹尝甯傞劄宸炲尯涓滈挶婀栧ぇ鍫拌矾188鍙峰畞娉㈡煆鎮﹂厭搴�</div>
+            <div class="taskDetail-address-info">{{ detail?.addressDetail ?? '' }}</div>
             <RectRight :size="8" class="taskDetail-address-info-icon" />
           </div>
         </div>
@@ -32,10 +35,10 @@
         <CellChunk title="绂忓埄淇℃伅">
           <div class="taskDetail-welfare-list">
             <TaskDetailWelfareItem
-              v-for="item in detail.taskWeals"
-              :key="item.id"
-              :icon="setOSSLink(item.imageUrl)"
-              :text="item.name"
+              v-for="benefit in detail.benefits"
+              :key="benefit.benefitCode"
+              :icon="setOSSLink(benefit.benefitField2)"
+              :text="benefit.benefitContent"
             />
           </div>
         </CellChunk>
@@ -47,13 +50,13 @@
 <script setup lang="ts">
 import { useQuery } from '@tanstack/vue-query';
 import Taro from '@tarojs/taro';
-import * as flexWorkerServices from '@12333/services/api/FlexWorker';
+import * as taskServices from '@12333/services/apiV2/task';
 import IconLocaltion from '@/assets/flexJob/icon-localtion.png';
 import { TaskPrice, TaskDetailWelfareItem } from '@12333/components';
-import { SalaryTimeTypeEnumUnit, FlexTaskSettleTypeEnumText } from '@12333/constants/task';
 import dayjs from 'dayjs';
-import { setOSSLink } from '@12333/utils';
+import { setOSSLink, toThousand } from '@12333/utils';
 import { RectRight } from '@nutui/icons-vue-taro';
+import { BillingMethodEnumUnit, EnumSettlementCycleText } from '@12333/constants';
 
 defineOptions({
   name: 'JobDetail',
@@ -72,17 +75,16 @@
   data: detail,
   refetch,
 } = useQuery({
-  queryKey: ['flexWorkerServices/getFlexTaskDto', taskId],
+  queryKey: ['taskServices/getTaskInfo', taskId],
   queryFn: async () => {
-    return await flexWorkerServices.getFlexTaskDto(
+    return await taskServices.getTaskInfo(
       { id: taskId },
       {
         showLoading: false,
       }
     );
   },
-  placeholderData: () => ({} as API.GetFlexTaskDtoOutput),
-  onSuccess(data) {},
+  placeholderData: () => ({} as API.GetTaskInfoQueryResult),
 });
 </script>
 
diff --git a/apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue
index 62b3ab2..d2afb15 100644
--- a/apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue
@@ -36,6 +36,7 @@
         @edit="goEdit(item)"
         @copy="goEdit(item, true)"
         @detail="goDetail(item)"
+        @click="goDetail(item)"
         @publish="handleChangeStatus(item, EnumTaskReleaseStatus.InProcess)"
         @stop="handleChangeStatus(item, EnumTaskReleaseStatus.Stopped)"
         @delete="handleDelete(item)"
diff --git a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
index 07fc40d..6019fdc 100644
--- a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
@@ -272,7 +272,8 @@
       message: '璇烽�夋嫨缁撴潫鏃ユ湡',
       validator(value) {
         if (!value) return Promise.reject('璇烽�夋嫨缁撴潫鏃ユ湡');
-        if (value <= form.beginTime) return Promise.reject('缁撴潫鏃ユ湡涓嶈兘灏忎簬寮�濮嬫棩鏈�');
+        if (!dayjs(value).isAfter(dayjs(form.beginTime)))
+          return Promise.reject('缁撴潫鏃ユ湡闇�澶т簬寮�濮嬫棩鏈�');
         return Promise.resolve(true);
       },
     },
@@ -306,8 +307,8 @@
     form.ageMaxLimit = data.ageMaxLimit;
     form.genderLimit = data.genderLimit;
     form.credentialLimits = (data.credentialLimits ?? []).map((item) => item.typeCode);
-    form.beginTime = dayjs(data.beginTime).format('YYYY-MM-DD 00:00:00');
-    form.endTime = dayjs(data.endTime).format('YYYY-MM-DD 23:59:59');
+    form.beginTime = dayjs(data.beginTime).format('YYYY-MM-DD');
+    form.endTime = dayjs(data.endTime).format('YYYY-MM-DD');
     form.addressDetail = data.addressDetail;
     form.weMapInfo = {
       provinceName: data.provinceContent,
diff --git a/apps/cMiniApp/.eslintrc-auto-import.json b/apps/cMiniApp/.eslintrc-auto-import.json
index ade550f..d07633f 100644
--- a/apps/cMiniApp/.eslintrc-auto-import.json
+++ b/apps/cMiniApp/.eslintrc-auto-import.json
@@ -1,21 +1,23 @@
 {
   "globals": {
+    "AppLocalConfig": true,
+    "BackType": true,
     "Component": true,
     "ComponentPublicInstance": true,
     "ComputedRef": true,
-    "DirectiveBinding": true,
     "EffectScope": true,
     "ExtractDefaultPropTypes": true,
     "ExtractPropTypes": true,
     "ExtractPublicPropTypes": true,
     "InjectionKey": true,
-    "MaybeRef": true,
-    "MaybeRefOrGetter": true,
+    "OssAssets": true,
     "PropType": true,
     "Ref": true,
     "RouterPath": true,
-    "Slot": true,
-    "Slots": true,
+    "TabBarPageRouter": true,
+    "TaskStatus": true,
+    "TaskStatusColor": true,
+    "TaskStatusText": true,
     "VNode": true,
     "WritableComputedRef": true,
     "acceptHMRUpdate": true,
@@ -42,6 +44,7 @@
     "mapStores": true,
     "mapWritableState": true,
     "markRaw": true,
+    "myClient": true,
     "nextTick": true,
     "onActivated": true,
     "onBeforeMount": true,
@@ -76,40 +79,30 @@
     "toValue": true,
     "triggerRef": true,
     "unref": true,
+    "useAccessLogin": true,
+    "useAccessPersonalInfo": true,
     "useAttrs": true,
+    "useAuth": true,
     "useCssModule": true,
     "useCssVars": true,
+    "useGoLogin": true,
     "useId": true,
+    "useIsLogin": true,
     "useLink": true,
+    "useLoginedJump": true,
     "useModel": true,
+    "useMyCertificationAuditInfo": true,
     "useRoute": true,
     "useRouter": true,
     "useSlots": true,
+    "useSwitchTab": true,
     "useTemplateRef": true,
+    "useUser": true,
+    "useUserResume": true,
     "watch": true,
     "watchEffect": true,
     "watchPostEffect": true,
     "watchSyncEffect": true,
-    "AppLocalConfig": true,
-    "BackType": true,
-    "HomeOrderType": true,
-    "OssAssets": true,
-    "TabBarPageRouter": true,
-    "TaskStatus": true,
-    "TaskStatusColor": true,
-    "TaskStatusText": true,
-    "myClient": true,
-    "useAccessLogin": true,
-    "useAccessPersonalInfo": true,
-    "useAuth": true,
-    "useGoLogin": true,
-    "useIsLogin": true,
-    "useLoginedJump": true,
-    "useMyCertificationAuditInfo": true,
-    "useSwitchTab": true,
-    "useTaskList": true,
-    "useUser": true,
-    "useUserResume": true,
     "useUpdateResume": true
   }
 }
diff --git a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
index 8ac1076..da245b4 100644
--- a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
@@ -152,7 +152,7 @@
 });
 
 /**
- * TODO 缂哄皯宸叉姤鍚嶄汉鏁� 鎵嬫満 鎶曡瘔涓炬姤鎺ュ彛 鎶ュ悕鎺ュ彛
+ * TODO 缂哄皯 鎵嬫満 鎶曡瘔涓炬姤鎺ュ彛 鎶ュ悕鎺ュ彛
  */
 
 const router = Taro.useRouter();
diff --git a/packages/components/src/Input/ChooseInputWithDatePicker.vue b/packages/components/src/Input/ChooseInputWithDatePicker.vue
index 2b21ef6..2e2bb17 100644
--- a/packages/components/src/Input/ChooseInputWithDatePicker.vue
+++ b/packages/components/src/Input/ChooseInputWithDatePicker.vue
@@ -45,7 +45,7 @@
                   modelValue: _modelValue,
                   onCancel: onClose,
                   onConfirm: ({ selectedValue }) => {
-                    emit('update:modelValue', dayjs(selectedValue).format('YYYY-MM-DD'));
+                    emit('update:modelValue', dayjs(selectedValue.join('-')).format('YYYY-MM-DD'));
                     onClose();
                   },
                   minDate: props.minDate,
diff --git a/packages/components/src/Tabs/ProTabs.vue b/packages/components/src/Tabs/ProTabs.vue
index e4d8c51..f3d1b77 100644
--- a/packages/components/src/Tabs/ProTabs.vue
+++ b/packages/components/src/Tabs/ProTabs.vue
@@ -6,6 +6,7 @@
       direction,
       { fullHeight, noContent: !showPaneContent, flexTitle, noSmile: !showSmile },
     ]"
+    :style="tabsStyle"
   >
     <div :class="['pro-tabs__titles_wrapper', { isTransparent }]">
       <scroll-view
@@ -403,6 +404,17 @@
   return { marginLeft: px, marginRight: px };
 });
 const refRandomId = Math.random().toString(36).slice(-8);
+
+const systemInfo = Taro.getSystemInfoSync();
+console.log('systemInfo: ', systemInfo);
+
+const tabsStyle = computed(() => {
+  if (systemInfo.platform === 'ios') {
+    return { overflow: 'visible' };
+  } else {
+    return {};
+  }
+});
 </script>
 
 <style lang="scss">

--
Gitblit v1.9.1