From 9c2cb0c24dabf68ca5f4703340ed2b1f13ddf969 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期三, 13 八月 2025 19:37:15 +0800
Subject: [PATCH] fix: 灵工管理

---
 packages/components/src/Card/FlexJobTopView.vue |   53 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 48 insertions(+), 5 deletions(-)

diff --git a/packages/components/src/Card/FlexJobTopView.vue b/packages/components/src/Card/FlexJobTopView.vue
index 63a0ef0..f874817 100644
--- a/packages/components/src/Card/FlexJobTopView.vue
+++ b/packages/components/src/Card/FlexJobTopView.vue
@@ -1,17 +1,29 @@
 <template>
   <div :class="['flexJob-card-top-wrapper', size]">
-    <UserAvatar :size="size === 'small' ? 50 : 60" class="flexJob-card-top-avatar" />
+    <Avatar
+      :src="setOSSLink(avatar)"
+      :size="size === 'small' ? 50 : 60"
+      class="flexJob-card-top-avatar"
+    />
     <div class="flexJob-card-top-info">
       <div class="flexJob-card-top-info-item">
-        <div class="flexJob-card-top-info-name">{{ '娲嬫磱' }}</div>
+        <div class="flexJob-card-top-info-name">{{ name }}</div>
         <div class="flexJob-card-top-info-gender">
-          <img v-if="1" :src="IconMale" class="flexJob-card-top-info-gender-icon" />
+          <img
+            v-if="gender === EnumUserGender.Male"
+            :src="IconMale"
+            class="flexJob-card-top-info-gender-icon"
+          />
           <img v-else :src="IconFemale" class="flexJob-card-top-info-gender-icon" />
         </div>
-        <div class="flexJob-card-top-info-auth">{{ '宸插疄鍚�' }}</div>
+        <div class="flexJob-card-top-info-auth" :class="{ 'is-real-name': isReal }">
+          {{ isReal ? '宸插疄鍚�' : '鏈疄鍚�' }}
+        </div>
       </div>
       <slot name="detail">
-        <div class="flexJob-card-top-info-detail">{{ '26宀� | 闈炲鐢� | 鏈 | 涓婂矖121娆�' }}</div>
+        <div class="flexJob-card-top-info-detail">
+          {{ infoDetail }}
+        </div>
       </slot>
     </div>
   </div>
@@ -20,6 +32,10 @@
 <script setup lang="ts">
 import IconMale from '@/assets/mine/icon-male.png';
 import IconFemale from '@/assets/mine/icon-female.png';
+import { AvatarImage, EnumUserGender } from '@12333/constants';
+import { Avatar } from '@12333/components';
+import { computed } from 'vue';
+import { setOSSLink } from '@12333/utils';
 
 defineOptions({
   name: 'FlexJobTopView',
@@ -27,11 +43,34 @@
 
 type Props = {
   size?: 'normal' | 'small';
+
+  avatar?: string;
+  name?: string;
+  gender?: EnumUserGender;
+  age?: number;
+  isReal?: boolean;
+  personalIdentityContent?: string;
+  educationalBackgroundContent?: string;
+  taskCount?: number;
 };
 
 const props = withDefaults(defineProps<Props>(), {
   size: 'normal',
+  avatar: AvatarImage,
+  personalIdentityContent: '',
+  educationalBackgroundContent: '',
 });
+
+const infoDetail = computed(() =>
+  [
+    props.age > 0 ? `${props.age}宀乣 : '',
+    props.personalIdentityContent,
+    props.educationalBackgroundContent,
+    props.taskCount > 0 ? `涓婂矖${props.taskCount ?? 0}娆 : '',
+  ]
+    .filter(Boolean)
+    .join('|')
+);
 </script>
 
 <style lang="scss">
@@ -80,6 +119,10 @@
         font-size: 28px;
         line-height: 34px;
         flex-shrink: 0;
+
+        &.is-real-name {
+          color: #2a9e1b;
+        }
       }
     }
 

--
Gitblit v1.9.1