From 286f1b727856d6b32a8d237f353ae008f3076deb Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 11 三月 2025 17:48:15 +0800
Subject: [PATCH] feat: 接口对接

---
 packages/components/src/Card/JobApplicationCard.vue |  112 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 60 insertions(+), 52 deletions(-)

diff --git a/packages/components/src/Card/JobApplicationCard.vue b/packages/components/src/Card/JobApplicationCard.vue
index 20e606c..2b77b39 100644
--- a/packages/components/src/Card/JobApplicationCard.vue
+++ b/packages/components/src/Card/JobApplicationCard.vue
@@ -1,28 +1,38 @@
 <template>
   <div class="job-application-card-wrapper">
     <div class="job-application-card-title-wrapper">
-      <div class="job-application-card-title">瀹㈡埧鏈嶅姟鍛�</div>
-      <TaskPrice :value="212" v-if="mode === 'taskManage'" />
+      <div class="job-application-card-title">{{ taskName }}</div>
+      <TaskPrice :value="fee" :unit="unit" v-if="mode === 'taskManage'" />
       <div v-else class="job-application-card-title-more" @click.stop="handleMore">
         <img :src="IconMore" class="more-btn-icon" />
       </div>
     </div>
     <div class="job-application-card-line">
-      <div class="job-application-card-time">{{ `${'2025骞�2鏈�5鏃�'}鑷�${'2025骞�3鏈�5鏃�'}` }}</div>
-      <div class="job-application-card-status" v-if="mode === 'normal'">{{ '鐢熸晥涓�' }}</div>
+      <div class="job-application-card-time">
+        {{
+          `${dayjs(startDate).format('YYYY骞碝M鏈圖D鏃�')}鑷�${dayjs(endDate).format('YYYY骞碝M鏈圖D鏃�')}`
+        }}
+      </div>
+      <div class="job-application-card-status" v-if="mode === 'normal'">
+        {{ FlexTaskReleaseStatusEnumText[releaseStatus] }}
+      </div>
     </div>
     <div class="job-application-card-line">
       <div class="job-application-card-company">
         <div class="job-application-card-company-tag">H</div>
-        <div class="job-application-card-company-address">瀹佹尝闆疯开妫厭搴�</div>
+        <div class="job-application-card-company-address">{{ address }}</div>
       </div>
-      <div class="job-application-card-people" v-if="mode === 'normal'">{{ `鎶ュ悕浜烘暟锛�${5}` }}</div>
+      <div class="job-application-card-people" v-if="mode === 'normal'">
+        {{ `鎶ュ悕浜烘暟锛�${applyWorkerCount}` }}
+      </div>
     </div>
     <div class="job-application-card-line">
-      <div class="job-application-card-publish-time">{{ `鍙戝竷鏃ユ湡锛�${'2022骞�12鏈�25鏃�'}` }}</div>
+      <div class="job-application-card-publish-time">
+        {{ `鍙戝竷鏃ユ湡锛�${dayjs(creationTime).format('YYYY-MM-DD')}` }}
+      </div>
       <slot name="footer-actions">
         <div class="job-application-card-fee">
-          <TaskPrice :value="212" />
+          <TaskPrice :value="fee" :unit="unit" />
         </div>
       </slot>
     </div>
@@ -36,6 +46,7 @@
 import { ActionSheet } from '@nutui/nutui-taro';
 import { Portal } from 'senin-mini/components';
 import { TaskPrice } from '@12333/components';
+import dayjs from 'dayjs';
 
 defineOptions({
   name: 'JobApplicationCard',
@@ -50,37 +61,36 @@
   Delete,
 }
 
-enum ResourceStatus {
+enum FlexTaskReleaseStatusEnum {
   /**
-   * 宸查┏鍥�
+   * 鍙戝竷涓�
    */
-  Reject = -10,
+  Releasing = 10,
   /**
-   * 鏈彁浜�
+   * 宸插仠姝�
    */
-  Draft = 10,
-  /**
-   * 寰呭鏍�
-   */
-  WaitAudit = 20,
-  /**
-   * 杩涜涓�
-   */
-  Running = 30,
-  /**
-   * 宸蹭笅鏋�
-   */
-  OffShelf = 40,
-  /**
-   * 绯荤粺涓嬫灦
-   */
-  SystemOffShelf = 50,
+  Stoping = 20,
 }
+
+const FlexTaskReleaseStatusEnumText = {
+  [FlexTaskReleaseStatusEnum.Releasing]: '鍙戝竷涓�',
+  [FlexTaskReleaseStatusEnum.Stoping]: '宸插仠姝�',
+};
 
 type Props = CommonTaskCardProps & {
   showActions?: boolean;
-  status?: ResourceStatus;
+  status?: FlexTaskReleaseStatusEnum;
   mode?: 'taskManage' | 'normal';
+
+  taskName?: string;
+  startDate?: string;
+  endDate?: string;
+  address?: string;
+  creationTime?: string;
+  fee?: number;
+  applyWorkerCount?: number;
+  unit?: string;
+  releaseStatus?: API.FlexTaskReleaseStatusEnum;
 };
 
 const props = withDefaults(defineProps<Props>(), {
@@ -99,40 +109,38 @@
 
 const menuList = computed(() => {
   let _menuList = [];
-  if (props.status !== ResourceStatus.WaitAudit) {
-    _menuList.push({
+  _menuList.push(
+    {
       name: '缂栬緫',
       value: ManageActions.Edit,
-    });
-  }
-  _menuList.push({
-    name: '鏌ョ湅璇︽儏',
-    value: ManageActions.Detail,
-  });
-  if (props.status === ResourceStatus.OffShelf) {
+    },
+    {
+      name: '鏌ョ湅璇︽儏',
+      value: ManageActions.Detail,
+    }
+  );
+  if (props.releaseStatus === FlexTaskReleaseStatusEnum.Stoping) {
     _menuList.push({
       name: '鍙戝竷',
       value: ManageActions.Publish,
     });
   }
-  if (props.status === ResourceStatus.Running) {
+  if (props.releaseStatus === FlexTaskReleaseStatusEnum.Releasing) {
     _menuList.push({
       name: '鍋滄鍙戝竷',
       value: ManageActions.Stop,
     });
   }
-  if (props.status !== ResourceStatus.WaitAudit) {
-    _menuList.push(
-      {
-        name: '澶嶅埗',
-        value: ManageActions.Copy,
-      },
-      {
-        name: '鍒犻櫎',
-        value: ManageActions.Delete,
-      }
-    );
-  }
+  _menuList.push(
+    {
+      name: '澶嶅埗',
+      value: ManageActions.Copy,
+    },
+    {
+      name: '鍒犻櫎',
+      value: ManageActions.Delete,
+    }
+  );
 
   return _menuList;
 });

--
Gitblit v1.9.1