From 7acb0415dd0ab0427ec5bd651fc9730c34a7bd6c Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期五, 08 八月 2025 15:25:54 +0800 Subject: [PATCH] fix: 任务详情 --- packages/components/src/Card/TaskCard.vue | 49 +++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 43 insertions(+), 6 deletions(-) diff --git a/packages/components/src/Card/TaskCard.vue b/packages/components/src/Card/TaskCard.vue index 098b45c..687f7f6 100644 --- a/packages/components/src/Card/TaskCard.vue +++ b/packages/components/src/Card/TaskCard.vue @@ -3,7 +3,10 @@ <div class="task-card-title-wrapper"> <div class="task-card-title">{{ name }}</div> <slot name="title-right"> - <TaskPrice :value="serviceFee ?? 0" :unit="BillingMethodEnumUnit[billingMethod]" /> + <TaskPrice + :value="toThousand(serviceFee ?? 0)" + :unit="BillingMethodEnumUnit[billingMethod]" + /> </slot> </div> <slot> @@ -12,7 +15,14 @@ {{ EnumSettlementCycleText[settlementCycle] }} </div> <div class="task-card-welfare-list-item">{{ TaskUtils.getGenderText(genderLimit) }}</div> - <div class="task-card-welfare-list-item">鍖呬笁椁�</div> + <div + class="task-card-welfare-list-item" + v-if="benefits?.length > 0" + v-for="item in benefits" + :key="item.benefitCode" + > + {{ item.benefitContent }} + </div> </div> <div class="task-card-time"> {{ dayjs(beginTime).format('YYYY骞碝M鏈圖D鏃�') }}鑷硔{ @@ -23,11 +33,16 @@ <div class="task-card-footer"> <div class="task-card-left"> <div class="task-card-footer-tag">H</div> - <div class="task-card-footer-address">{{ 'address' }}</div> + <div class="task-card-footer-address">{{ addressName }}</div> </div> <div class="task-card-actions" v-if="showActions"> <slot name="actions"> - <nut-button type="primary" @click.stop="handleSign">鎶ュ悕</nut-button> + <nut-button + v-if="releaseStatus === EnumTaskReleaseStatus.InProcess" + type="primary" + @click.stop="emit('apply', id)" + >鎶ュ悕</nut-button + > </slot> </div> </div> @@ -52,7 +67,7 @@ import TaskPrice from './TaskPrice.vue'; import { CommonTaskCardProps } from './card'; import dayjs from 'dayjs'; -import { TaskUtils } from '@12333/utils'; +import { TaskUtils, toThousand } from '@12333/utils'; defineOptions({ name: 'TaskCard', @@ -70,7 +85,27 @@ /** 鏈嶅姟璐� */ serviceFee?: number; settlementCycle?: EnumSettlementCycle; + /** 绂忓埄 */ + benefits?: API.GetTaskInfoQueryResultBenefit[]; genderLimit?: EnumUserGender; + /** 璧勬牸璇佷功绫诲瀷 */ + credentialLimits?: API.GetTaskInfoQueryResultCredentialLimit[]; + /** 浠诲姟鍦扮偣鎵�灞炵渷浠界紪鍙� */ + provinceCode?: string; + /** 浠诲姟鍦扮偣鎵�灞炵渷浠� */ + provinceContent?: string; + /** 浠诲姟鍦扮偣鎵�灞炲煄甯傜紪鍙� */ + cityCode?: string; + /** 浠诲姟鍦扮偣鎵�灞炲煄甯� */ + cityContent?: string; + /** 浠诲姟鍦扮偣鍚嶇О */ + addressName?: string; + /** 浠诲姟鍦扮偣璇︾粏鍦板潃 */ + addressDetail?: string; + /** 缁忓害 */ + longitude?: number; + /** 绾害 */ + latitude?: number; /** 鎶ュ悕浜烘暟 */ userCount?: number; status?: EnumTaskStatus; @@ -90,7 +125,9 @@ showActions: true, }); -function handleSign() {} +const emit = defineEmits<{ + (e: 'apply', id: string): void; +}>(); </script> <style lang="scss"> -- Gitblit v1.9.1