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