From fb243f3345c6f3ed7e7c8c2d98c39b5afc782b9a Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 20 十月 2025 10:24:40 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp
---
packages/components/src/Card/TaskCard.vue | 57 ++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 48 insertions(+), 9 deletions(-)
diff --git a/packages/components/src/Card/TaskCard.vue b/packages/components/src/Card/TaskCard.vue
index 098b45c..4f071a2 100644
--- a/packages/components/src/Card/TaskCard.vue
+++ b/packages/components/src/Card/TaskCard.vue
@@ -3,7 +3,11 @@
<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
+ v-if="releaseStatus !== EnumTaskReleaseStatus.Stopped"
+ :value="toThousand(serviceFee ?? 0)"
+ :unit="BillingMethodEnumUnit[billingMethod]"
+ />
</slot>
</div>
<slot>
@@ -12,22 +16,33 @@
{{ 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鏃�') }}鑷硔{
- dayjs(endTime).format('YYYY骞碝M鏈圖D鏃�')
- }}
+ {{ dayjs(beginTime).format('YYYY骞碝M鏈圖鏃�') }}鑷硔{ dayjs(endTime).format('YYYY骞碝M鏈圖鏃�') }}
</div>
</slot>
<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 +63,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 +86,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 +120,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