From acd6c55ea7b11e06130c20bcd5ffd98c8e880a1f Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期二, 12 八月 2025 16:32:18 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp --- apps/bMiniApp/src/subpackages/jobApplicationManage/components/JobDetail.vue | 140 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 120 insertions(+), 20 deletions(-) diff --git a/apps/bMiniApp/src/subpackages/jobApplicationManage/components/JobDetail.vue b/apps/bMiniApp/src/subpackages/jobApplicationManage/components/JobDetail.vue index c2ff4ee..307e0d0 100644 --- a/apps/bMiniApp/src/subpackages/jobApplicationManage/components/JobDetail.vue +++ b/apps/bMiniApp/src/subpackages/jobApplicationManage/components/JobDetail.vue @@ -1,23 +1,32 @@ <template> <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch"> <ContentScrollView style="background-color: transparent"> - <Cell :title="'瀹㈡埧鏈嶅姟鍛�'" titleSize="large"> - <div class="taskDetail-time">2025骞�2鏈�5鏃� 鑷� 2025骞�3鏈�5鏃�</div> + <Cell :title="detail.name" titleSize="large"> + <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> - <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> @@ -25,11 +34,12 @@ <Cell :show-title="false"> <CellChunk title="绂忓埄淇℃伅"> <div class="taskDetail-welfare-list"> - <TaskDetailWelfareItem :icon="IconLocaltion" text="楂樻俯琛ヨ创" /> - <TaskDetailWelfareItem :icon="IconLocaltion" text="楂樻俯琛ヨ创" /> - <TaskDetailWelfareItem :icon="IconLocaltion" text="楂樻俯琛ヨ创" /> - <TaskDetailWelfareItem :icon="IconLocaltion" text="楂樻俯琛ヨ创" /> - <TaskDetailWelfareItem :icon="IconLocaltion" text="楂樻俯琛ヨ创" /> + <TaskDetailWelfareItem + v-for="benefit in detail.benefits" + :key="benefit.benefitCode" + :icon="setOSSLink(benefit.benefitField2)" + :text="benefit.benefitContent" + /> </div> </CellChunk> </Cell> @@ -40,9 +50,13 @@ <script setup lang="ts"> import { useQuery } from '@tanstack/vue-query'; import Taro from '@tarojs/taro'; -import * as orderServices from '@12333/services/api/Order'; +import * as taskServices from '@12333/services/apiV2/task'; import IconLocaltion from '@/assets/flexJob/icon-localtion.png'; import { TaskPrice, TaskDetailWelfareItem } from '@12333/components'; +import dayjs from 'dayjs'; +import { setOSSLink, toThousand } from '@12333/utils'; +import { RectRight } from '@nutui/icons-vue-taro'; +import { BillingMethodEnumUnit, EnumSettlementCycleText } from '@12333/constants'; defineOptions({ name: 'JobDetail', @@ -53,7 +67,7 @@ // const props = withDefaults(defineProps<Props>(), {}); const router = Taro.useRouter(); -const taskId = router.params?.id ?? ''; +const id = router.params?.id; const { isLoading, @@ -61,20 +75,106 @@ data: detail, refetch, } = useQuery({ - queryKey: ['orderServices/getOrdeForDetail', taskId], + queryKey: ['taskServices/getTaskInfo', id], queryFn: async () => { - return await orderServices.getOrdeForDetail( - { id: taskId }, + return await taskServices.getTaskInfo( + { id: id }, { showLoading: false, } ); }, - placeholderData: () => ({} as API.OrderInfoDto), - onSuccess(data) {}, + placeholderData: () => ({} as API.GetTaskInfoQueryResult), }); </script> <style lang="scss"> @import '@/styles/common.scss'; + +.jobApplicationDetail-page-wrapper { + .taskDetail-time { + font-size: 24px; + color: boleGetCssVar('text-color', 'regular'); + line-height: 36px; + margin-bottom: 16px; + } + + .task-card-welfare-wrapper { + display: flex; + align-items: flex-start; + padding-bottom: 48px; + border-bottom: 1px solid #d9d9d9; + margin-bottom: 12px; + + .task-card-welfare-list { + flex: 1; + display: flex; + min-width: 0; + flex-wrap: wrap; + min-height: 40px; + row-gap: 6px; + column-gap: 18px; + margin-right: 10px; + + .task-card-welfare-list-item { + font-size: 24px; + color: #ff7d00; + line-height: 36px; + } + } + } + + .taskDetail-address-wrapper { + padding: 28px 32px 14px; + background: #f9fbff; + border-radius: 8px; + + .taskDetail-address-title-wrapper { + display: flex; + align-items: center; + margin-bottom: 22px; + + .taskDetail-address-title-icon { + width: 40px; + height: 40px; + margin-right: 8px; + } + + .taskDetail-address-title { + flex: 1; + min-width: 0; + @include ellipsis; + font-size: 28px; + color: boleGetCssVar('text-color', 'primary'); + line-height: 42px; + } + } + + .taskDetail-address-info-wrapper { + display: flex; + align-items: center; + + .taskDetail-address-info { + flex: 1; + min-width: 0; + @include ellipsis; + font-weight: 400; + font-size: 24px; + color: boleGetCssVar('text-color', 'regular'); + line-height: 36px; + } + + .taskDetail-address-info-icon { + color: boleGetCssVar('text-color', 'secondary'); + margin-left: 10px; + } + } + } + + .taskDetail-welfare-list { + display: flex; + flex-wrap: wrap; + row-gap: 24px; + } +} </style> -- Gitblit v1.9.1