Browse Source

fix: 审批头像回显

xlsea 1 year ago
parent
commit
b89fdb892c
2 changed files with 15 additions and 4 deletions
  1. 12 3
      src/components/Flow/FlowNodeAvatar.vue
  2. 3 1
      src/views/approve/launch/ItemDrawer.vue

+ 12 - 3
src/components/Flow/FlowNodeAvatar.vue

@@ -1,20 +1,29 @@
 <template>
 	<div class="avatar" :style="AvatarStyle">
 		<el-avatar v-if="user && user.avatar" :size="size" class="icon" :src="user.avatar" />
-		<el-avatar v-else :size="size" class="icon" :icon="UserFilled" />
-		<div v-if="showName && user && user.name" class="name" :style="NameStyle">{{ user.name }}</div>
+		<!-- <el-avatar v-else :size="size" class="icon" :icon="UserFilled" /> -->
+		<el-avatar v-else :size="size" class="icon">
+			<template v-if="name">
+				{{ name.charAt(0) }}
+			</template>
+			<UserFilled v-else />
+		</el-avatar>
+		<!-- <div v-if="showName && user && user.name" class="name" :style="NameStyle">{{ user.name }}</div> -->
+		<div class="name" :style="NameStyle">{{ name }}</div>
 	</div>
 </template>
 
 <script setup>
 import { computed, ref, watch, onBeforeMount } from 'vue'
-import { UserFilled } from '@element-plus/icons-vue'
+// import { UserFilled } from '@element-plus/icons-vue'
 
 const user = ref({})
 
 const props = defineProps({
 	size: { type: Number, default: 24 },
 	id: { type: String, default: '' },
+	name: { type: String, default: '' },
+	avatar: { type: String, default: '' },
 	showName: { type: Boolean, default: true }
 })
 

+ 3 - 1
src/views/approve/launch/ItemDrawer.vue

@@ -15,7 +15,7 @@
 						<!-- {{ v.local_name }} -->
 						<div v-if="v.type !== 0" style="display: flex; align-items: center; gap: 6px">
 							<el-button :icon="Plus" style="width: 32px" @click="selectHandler(v.name)" />
-							<FlowNodeAvatar v-for="(item, index) in userMap.get(v.name)" id="1" :key="index" style="margin-top: 5px" />
+							<FlowNodeAvatar v-for="(item, index) in userMap.get(v.name)" :key="index" :name="item.name" style="margin-top: 5px" />
 						</div>
 					</template>
 				</el-timeline-item>
@@ -32,6 +32,7 @@ import { ElMessage } from 'element-plus'
 import { Plus } from '@element-plus/icons-vue'
 import UseSelect from '@/components/scWorkflow/select.vue'
 import FlowNodeAvatar from '@/components/Flow/FlowNodeAvatar.vue'
+import user from '@/api/system/user'
 type Props = {
 	modelValue: boolean
 	record: { processId: string; [key: string]: any }
@@ -123,6 +124,7 @@ const packageProcess = (data, list = []) => {
 				// 普通节点 展示 控制
 				config.local_name = (config.nodeAssigneeList || []).map(x => x.name).join(',') || config.name
 			}
+			userMap.value.set(config.name, config.nodeAssigneeList)
 			_list.push(config)
 		} else if (config.conditionNode === 1) {
 			// 自定义标识key