From bddfec7e062404ea563299b75c91d9b172339d0a Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 08 八月 2025 16:31:05 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp

---
 apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue |  111 ++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 77 insertions(+), 34 deletions(-)

diff --git a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
index 7b64f7d..6a0d918 100644
--- a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
@@ -1,26 +1,38 @@
 <template>
   <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch">
     <ContentScrollView style="background-color: transparent">
-      <Cell :title="'瀹㈡埧鏈嶅姟鍛�'" titleSize="large">
+      <Cell :title="detail?.name ?? ''" titleSize="large">
         <template #title-right>
-          <img :src="IconAttentioActive" class="taskDetail-attention-icon" />
+          <img
+            :src="detail.isCollected ? IconAttentioActive : IconAttention"
+            class="taskDetail-attention-icon"
+          />
         </template>
-        <div class="taskDetail-time">2025骞�2鏈�5鏃� 鑷� 2025骞�3鏈�5鏃�</div>
+        <div class="taskDetail-time">
+          {{ dayjs(detail?.beginTime).format('YYYY骞碝M鏈圖D鏃�') }} 鑷�
+          {{ dayjs(detail?.endTime).format('YYYY骞碝M鏈圖D鏃�') }}
+        </div>
         <div class="task-card-welfare-wrapper">
           <div class="task-card-welfare-list">
-            <div class="task-card-welfare-list-item">鏃ョ粨</div>
-            <div class="task-card-welfare-list-item">鐢峰コ涓嶉檺</div>
-            <div class="task-card-welfare-list-item">鍖呬笁椁�</div>
+            <div class="task-card-welfare-list-item">
+              {{ EnumSettlementCycleText[detail.settlementCycle] }}
+            </div>
+            <!-- <div class="task-card-welfare-list-item">
+              {{ TaskUtils.getGenderText(detail.genderLimit) }}
+            </div> -->
           </div>
-          <TaskPrice :value="212" />
+          <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>
@@ -28,31 +40,44 @@
       <Cell :show-title="false">
         <CellChunk title="绂忓埄淇℃伅">
           <div class="taskDetail-welfare-list">
-            <TaskDetailWelfareItem />
-            <TaskDetailWelfareItem />
-            <TaskDetailWelfareItem />
-            <TaskDetailWelfareItem />
-            <TaskDetailWelfareItem />
+            <TaskDetailWelfareItem
+              v-for="benefit in detail.benefits"
+              :key="benefit.benefitCode"
+              :icon="setOSSLink(benefit.benefitField2)"
+              :text="benefit.benefitContent"
+            />
           </div>
         </CellChunk>
         <CellChunk title="鎶ュ悕鏉′欢">
           <div class="taskDetail-limit-list">
             <div class="taskDetail-limit-list-item">
               <div class="taskDetail-limit-list-item-label">骞撮緞锛�</div>
-              <div class="taskDetail-limit-list-item-text">18-45宀�</div>
+              <div class="taskDetail-limit-list-item-text">
+                {{ detail.ageMinLimit ?? 0 }}-{{ detail.ageMaxLimit ?? 0 }}宀�
+              </div>
             </div>
             <div class="taskDetail-limit-list-item">
               <div class="taskDetail-limit-list-item-label">鎬у埆锛�</div>
-              <div class="taskDetail-limit-list-item-text">涓嶉檺</div>
+              <div class="taskDetail-limit-list-item-text">
+                {{ TaskUtils.getGenderText(detail.genderLimit) }}
+              </div>
             </div>
             <div class="taskDetail-limit-list-item">
-              <div class="taskDetail-limit-list-item-label">璧勬牸璇佷功锛�</div>
-              <div class="taskDetail-limit-list-item-text">鍋ュ悍璇�</div>
+              <template v-if="detail?.credentialLimits?.length > 0">
+                <div class="taskDetail-limit-list-item-label">璧勬牸璇佷功锛�</div>
+                <div class="taskDetail-limit-list-item-text">
+                  {{ TaskUtils.getCredentialLimit(detail?.credentialLimits) }}
+                </div>
+              </template>
             </div>
           </div>
         </CellChunk>
         <CellChunk title="鍙戝竷鑰呬俊鎭�">
-          <CompanyDesc @click="goCompanyDetail"></CompanyDesc>
+          <CompanyDesc
+            @click="goCompanyDetail"
+            :enterpriseName="detail?.enterpriseName ?? ''"
+            :taskCount="detail?.taskCount ?? 0"
+          ></CompanyDesc>
         </CellChunk>
       </Cell>
       <Cell>
@@ -76,7 +101,12 @@
         openType="share"
       ></PageFooterAction>
       <PageFooterAction :icon="IconPhone" text="鎵嬫満" :isFlex="false"></PageFooterAction>
-      <PageFooterBtn type="primary">鎶ュ悕锛�5浜哄凡鎶ュ悕锛�</PageFooterBtn>
+      <PageFooterBtn v-if="detail.releaseStatus === EnumTaskReleaseStatus.InProcess" type="primary"
+        >鎶ュ悕锛�5浜哄凡鎶ュ悕锛�</PageFooterBtn
+      >
+      <PageFooterBtn v-if="detail.releaseStatus === EnumTaskReleaseStatus.Stopped" color="#999999"
+        >宸插仠姝�</PageFooterBtn
+      >
     </PageFooter>
   </LoadingLayout>
 </template>
@@ -84,9 +114,9 @@
 <script setup lang="ts">
 import Taro from '@tarojs/taro';
 import { useQuery } from '@tanstack/vue-query';
-import * as orderServices from '@12333/services/api/Order';
+import * as taskServices from '@12333/services/apiV2/task';
 import { useToggle } from 'senin-mini/hooks';
-import { TaskPrice } from '@12333/components';
+import { TaskPrice, TaskDetailWelfareItem } from '@12333/components';
 import IconAttention from '@/assets/task/icon-attention.png';
 import IconAttentioActive from '@/assets/task/icon-attention-active.png';
 import { RectRight } from '@nutui/icons-vue-taro';
@@ -95,12 +125,23 @@
 import IconSafe from '@/assets/task/icon-safe.png';
 import IconLocaltion from '@/assets/task/icon-localtion.png';
 import './taskDetail.scss';
-import TaskDetailWelfareItem from '../components/TaskDetailWelfareItem.vue';
 import CompanyDesc from '../components/CompanyDesc.vue';
+import dayjs from 'dayjs';
+import { TaskUtils, toThousand, setOSSLink } from '@12333/utils';
+import {
+  EnumSettlementCycleText,
+  BillingMethodEnumUnit,
+  EnumTaskReleaseStatus,
+} from '@12333/constants';
+import { useAccessLogin } from '@/hooks';
 
 defineOptions({
   name: 'InnerPage',
 });
+
+/**
+ * TODO 缂哄皯宸叉姤鍚嶄汉鏁� 鎵嬫満 鎶曡瘔涓炬姤鎺ュ彛 鎶ュ悕鎺ュ彛
+ */
 
 const router = Taro.useRouter();
 const taskId = router.params?.id ?? '';
@@ -111,32 +152,34 @@
   data: detail,
   refetch,
 } = useQuery({
-  queryKey: ['orderServices/getOrdeForDetail', taskId],
+  queryKey: ['taskServices/getTaskInfo', taskId],
   queryFn: async () => {
-    return await orderServices.getOrdeForDetail(
+    return await taskServices.getTaskInfo(
       { id: taskId },
       {
         showLoading: false,
       }
     );
   },
-  placeholderData: () => ({} as API.OrderInfoDto),
+  placeholderData: () => ({} as API.GetTaskInfoQueryResult),
   onSuccess(data) {
-    if (data.isExistTradeChatRecord) setTrue();
+    // if (data.isExistTradeChatRecord) setTrue();
   },
 });
 
 const { isCollapse, setTrue } = useToggle();
 
-function goComplaint() {
+const goComplaint = useAccessLogin(() => {
   Taro.navigateTo({
     url: `${RouterPath.complaint}?id=${taskId}`,
   });
-}
+});
 
-function goCompanyDetail() {
-  Taro.navigateTo({
-    url: `${RouterPath.companyDetail}?id=${taskId}`,
-  });
-}
+const goCompanyDetail = useAccessLogin(() => {
+  if (detail.value.enterpriseId) {
+    Taro.navigateTo({
+      url: `${RouterPath.companyDetail}?id=${detail.value.enterpriseId}`,
+    });
+  }
+});
 </script>

--
Gitblit v1.9.1