Просмотр исходного кода

feat(activity): 优化活动描述生成逻辑,支持根据描述内容判断创建或更新

mcbaiyun 1 месяц назад
Родитель
Сommit
338bd384fe
1 измененных файлов с 46 добавлено и 19 удалено
  1. 46 19
      src/pages/doctor/index/index.vue

+ 46 - 19
src/pages/doctor/index/index.vue

@@ -339,46 +339,73 @@ const formatActivityDescription = (activity: any) => {
     return activity.friendlyDescription
   }
   
-  // 根据活动类型生成友好的描述
+  // 根据 activityDescription 内容进一步细化描述
+  const description = activity.activityDescription || ''
+  let baseDescription = ''
+  
+  // 根据活动类型生成基础描述
   switch (activity.activityType) {
     case 'BLOOD_GLUCOSE_UPLOAD':
-      return '上传了血糖数据'
+      baseDescription = '上传了血糖数据'
+      break
     case 'BLOOD_GLUCOSE_UPDATE':
-      return '更新了血糖数据'
+      baseDescription = '更新了血糖数据'
+      break
     case 'BLOOD_PRESSURE_UPLOAD':
-      return '上传了血压数据'
+      baseDescription = '上传了血压数据'
+      break
     case 'HEART_RATE_UPLOAD':
-      return '上传了心率数据'
+      baseDescription = '上传了心率数据'
+      break
     case 'PHYSICAL_DATA_UPLOAD':
-      return '上传了体格数据'
+      baseDescription = '上传了体格数据'
+      break
     case 'HEALTH_RECORD_CREATE':
-      return '创建了健康档案'
+      // 根据描述内容判断是创建还是更新
+      if (description.includes('save') || description.includes('update')) {
+        baseDescription = '更新了健康档案'
+      } else {
+        baseDescription = '创建了健康档案'
+      }
+      break
     case 'HEALTH_RECORD_UPDATE':
-      return '更新了健康档案'
+      baseDescription = '更新了健康档案'
+      break
     case 'MEDICATION_CREATE':
-      return '添加了用药记录'
+      baseDescription = '添加了用药记录'
+      break
     case 'MEDICATION_UPDATE':
-      return '更新了用药记录'
+      baseDescription = '更新了用药记录'
+      break
     case 'FOLLOW_UP_CREATE':
-      return '提交了复诊申请'
+      baseDescription = '提交了复诊申请'
+      break
     case 'FOLLOW_UP_UPDATE':
-      return '更新了复诊信息'
+      baseDescription = '更新了复诊信息'
+      break
     case 'FOLLOW_UP_CONFIRM':
-      return '医生已确认复诊'
+      baseDescription = '医生已确认复诊'
+      break
     case 'FOLLOW_UP_CANCEL':
-      return '医生已取消复诊'
+      baseDescription = '医生已取消复诊'
+      break
     case 'FOLLOW_UP_COMPLETE':
-      return '医生已完成复诊'
+      baseDescription = '医生已完成复诊'
+      break
     case 'USER_BINDING_CREATE':
-      return '绑定了新患者'
+      baseDescription = '绑定了新患者'
+      break
     case 'USER_BINDING_DELETE':
-      return '解除了患者绑定'
+      baseDescription = '解除了患者绑定'
+      break
     default:
       // 如果没有匹配的类型,尝试使用 activityDescription 或返回默认值
-      return activity.activityDescription && !activity.activityDescription.includes('Controller') 
-        ? activity.activityDescription 
+      baseDescription = description && !description.includes('Controller') 
+        ? description 
         : '执行了操作'
   }
+  
+  return baseDescription
 }
 
 </script>