From 42a24b36692ff597e3c4fc110f06fc50eb186d93 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 22 八月 2025 16:20:23 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp
---
packages/components/src/Card/TaskCard.vue | 52 ++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 46 insertions(+), 6 deletions(-)
diff --git a/packages/components/src/Card/TaskCard.vue b/packages/components/src/Card/TaskCard.vue
index 098b45c..edbd5fb 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,17 @@
<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="emit('apply', props.id)"
+ :disabled="!!hireStatus"
+ >鎶ュ悕</nut-button
+ >
</slot>
</div>
</div>
@@ -48,11 +64,12 @@
EnumUserGenderText,
EnumSettlementCycleText,
BillingMethodEnumUnit,
+ EnumTaskUserHireStatus,
} from '@12333/constants';
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 +87,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;
@@ -84,13 +121,16 @@
recommendStatus?: EnumTaskRecommendStatus;
/** 鍒涘缓鏃堕棿 */
createdTime?: string;
+ hireStatus?: EnumTaskUserHireStatus;
};
const props = withDefaults(defineProps<Props>(), {
showActions: true,
});
-function handleSign() {}
+const emit = defineEmits<{
+ (e: 'apply', id: string): void;
+}>();
</script>
<style lang="scss">
--
Gitblit v1.9.1