Explorar o código

Merge branch 'master' of http://47.107.245.0:3000/xiongxing/kyj-yanglao-web-new

xiongxing hai 1 semana
pai
achega
5f40f46087
Modificáronse 21 ficheiros con 270 adicións e 461 borrados
  1. 5 5
      src/api/elderly/apply/check-in.ts
  2. 45 45
      src/api/social-work/index.ts
  3. 17 1
      src/components/business-components/selectElder.vue
  4. 3 32
      src/views/elderly/apply/nine-precautions/asphyxiation-by-choking/AddForm.vue
  5. 9 35
      src/views/elderly/apply/nine-precautions/daily-life/AddForm.vue
  6. 4 4
      src/views/elderly/apply/nine-precautions/daily-life/index.vue
  7. 5 33
      src/views/elderly/apply/nine-precautions/empyrosis/AddForm.vue
  8. 10 38
      src/views/elderly/apply/nine-precautions/equilibrium/AddForm.vue
  9. 1 1
      src/views/elderly/apply/nine-precautions/equilibrium/index.vue
  10. 11 36
      src/views/elderly/apply/nine-precautions/fall-down/AddForm.vue
  11. 1 1
      src/views/elderly/apply/nine-precautions/fall-down/index.vue
  12. 9 36
      src/views/elderly/apply/nine-precautions/fall-prevention-measures/AddForm.vue
  13. 1 1
      src/views/elderly/apply/nine-precautions/fall-prevention-measures/index.vue
  14. 38 48
      src/views/elderly/apply/nine-precautions/nutritional-risk/AddForm.vue
  15. 5 5
      src/views/elderly/apply/nine-precautions/nutritional-risk/index.vue
  16. 4 35
      src/views/elderly/apply/nine-precautions/pressure-sores/AddForm.vue
  17. 1 1
      src/views/elderly/apply/nine-precautions/pressure-sores/index.vue
  18. 77 59
      src/views/elderly/apply/nine-precautions/risk-disclosure-statement/Form.vue
  19. 17 11
      src/views/elderly/apply/nine-precautions/risk-disclosure-statement/index.vue
  20. 6 33
      src/views/elderly/apply/nine-precautions/wander-away/AddForm.vue
  21. 1 1
      src/views/elderly/apply/nine-precautions/wander-away/index.vue

+ 5 - 5
src/api/elderly/apply/check-in.ts

@@ -42,7 +42,7 @@ export const getCheckInRecordId = (id, status) => {
 // 获取服务安全风险知情告知书列表
 export const getSafetyRiskNoticePage = (params) => {
   return request.get({
-    url: 'elderly/safetyRiskNotice/page',
+    url: '/elderly-risk-disclosure-statement/page',
     params
   })
 }
@@ -50,14 +50,14 @@ export const getSafetyRiskNoticePage = (params) => {
 // 获取服务安全风险知情告知书详情
 export const getSafetyRiskNoticeById = (id) => {
   return request.get({
-    url: `elderly/safetyRiskNotice/get?id=${id}`
+    url: `/elderly-risk-disclosure-statement/get?id=${id}`
   })
 }
 
 // 新增服务安全风险知情告知书
 export const addSafetyRiskNotice = (data) => {
   return request.post({
-    url: 'elderly/safetyRiskNotice/add',
+    url: '/elderly-risk-disclosure-statement/create',
     data
   })
 }
@@ -65,7 +65,7 @@ export const addSafetyRiskNotice = (data) => {
 // 更新服务安全风险知情告知书
 export const updateSafetyRiskNotice = (data) => {
   return request.put({
-    url: 'elderly/safetyRiskNotice/update',
+    url: '/elderly-risk-disclosure-statement/update',
     data
   })
 }
@@ -73,6 +73,6 @@ export const updateSafetyRiskNotice = (data) => {
 // 删除服务安全风险知情告知书
 export const deleteSafetyRiskNotice = (id) => {
   return request.delete({
-    url: `elderly/safetyRiskNotice/delete?id=${id}`
+    url: `/elderly-risk-disclosure-statement/delete?id=${id}`
   })
 }

+ 45 - 45
src/api/social-work/index.ts

@@ -752,17 +752,17 @@ export interface AsphyxiationFormData {
 
 // 创建防噎食评估记录
 export const asphyxiationCreate = async (data: AsphyxiationFormData) => {
-  return await request.post({ url: '/elderly-assess-asphyxiation/create', data })
+  return await request.post({ url: '/elderly-asphyxiation-by-choking/create', data })
 }
 
 // 更新防噎食评估记录
 export const asphyxiationUpdate = async (data: AsphyxiationFormData) => {
-  return await request.put({ url: '/elderly-assess-asphyxiation/update', data })
+  return await request.put({ url: '/elderly-asphyxiation-by-choking/update', data })
 }
 
 // 根据ID获取防噎食评估记录
 export const asphyxiationGetById = async (id: number) => {
-  return await request.get({ url: '/elderly-assess-asphyxiation/get?id=' + id })
+  return await request.get({ url: '/elderly-asphyxiation-by-choking/get?id=' + id })
 }
 
 // 获取长者的防噎食评估记录
@@ -772,12 +772,12 @@ export const asphyxiationGetByElderId = async (elderId: number) => {
 
 // 分页查询防噎食评估记录
 export const asphyxiationPage = async (params: any) => {
-  return await request.get({ url: '/elderly-assess-asphyxiation/page', params })
+  return await request.get({ url: '/elderly-asphyxiation-by-choking/page', params })
 }
 
 // 删除防噎食评估记录
 export const asphyxiationDelete = async (id: number) => {
-  return await request.delete({ url: `/elderly-assess-asphyxiation/delete?id=${id}` })
+  return await request.delete({ url: `/elderly-asphyxiation-by-choking/delete?id=${id}` })
 }
 
 // 导出防噎食评估记录
@@ -804,17 +804,17 @@ export interface PressureSoresFormData {
 
 // 创建防压疮评估记录
 export const pressureSoresCreate = async (data: PressureSoresFormData) => {
-  return await request.post({ url: '/elderly-assess-pressure-sores/create', data })
+  return await request.post({ url: '/elderly-pressure-sores/create', data })
 }
 
 // 更新防压疮评估记录
 export const pressureSoresUpdate = async (data: PressureSoresFormData) => {
-  return await request.put({ url: '/elderly-assess-pressure-sores/update', data })
+  return await request.put({ url: '/elderly-pressure-sores/update', data })
 }
 
 // 根据ID获取防压疮评估记录
 export const pressureSoresGetById = async (id: number) => {
-  return await request.get({ url: '/elderly-assess-pressure-sores/get?id=' + id })
+  return await request.get({ url: '/elderly-pressure-sores/get?id=' + id })
 }
 
 // 获取长者的防压疮评估记录
@@ -824,12 +824,12 @@ export const pressureSoresGetByElderId = async (elderId: number) => {
 
 // 分页查询防压疮评估记录
 export const pressureSoresPage = async (params: any) => {
-  return await request.get({ url: '/elderly-assess-pressure-sores/page', params })
+  return await request.get({ url: '/elderly-pressure-sores/page', params })
 }
 
 // 删除防压疮评估记录
 export const pressureSoresDelete = async (id: number) => {
-  return await request.delete({ url: `/elderly-assess-pressure-sores/delete?id=${id}` })
+  return await request.delete({ url: `/elderly-pressure-sores/delete?id=${id}` })
 }
 
 // 导出防压疮评估记录
@@ -856,17 +856,17 @@ export interface FallDownFormData {
 
 // 创建跌倒风险评估记录
 export const fallDownCreate = async (data: FallDownFormData) => {
-  return await request.post({ url: '/elderly-assess-fall-down/create', data })
+  return await request.post({ url: '/elderly-fall-down/create', data })
 }
 
 // 更新跌倒风险评估记录
 export const fallDownUpdate = async (data: FallDownFormData) => {
-  return await request.put({ url: '/elderly-assess-fall-down/update', data })
+  return await request.put({ url: '/elderly-fall-down/update', data })
 }
 
 // 根据ID获取跌倒风险评估记录
 export const fallDownGetById = async (id: number) => {
-  return await request.get({ url: '/elderly-assess-fall-down/get?id=' + id })
+  return await request.get({ url: '/elderly-fall-down/get?id=' + id })
 }
 
 // 获取长者的跌倒风险评估记录
@@ -876,12 +876,12 @@ export const fallDownGetByElderId = async (elderId: number) => {
 
 // 分页查询跌倒风险评估记录
 export const fallDownPage = async (params: any) => {
-  return await request.get({ url: '/elderly-assess-fall-down/page', params })
+  return await request.get({ url: '/elderly-fall-down/page', params })
 }
 
 // 删除跌倒风险评估记录
 export const fallDownDelete = async (id: number) => {
-  return await request.delete({ url: `/elderly-assess-fall-down/delete?id=${id}` })
+  return await request.delete({ url: `/elderly-fall-down/delete?id=${id}` })
 }
 
 // 导出跌倒风险评估记录
@@ -908,17 +908,17 @@ export interface FallPreventionFormData {
 
 // 创建防坠床评估记录
 export const fallPreventionCreate = async (data: FallPreventionFormData) => {
-  return await request.post({ url: '/elderly-assess-fall-prevention/create', data })
+  return await request.post({ url: '/elderly-fall-prevention-measures/create', data })
 }
 
 // 更新防坠床评估记录
 export const fallPreventionUpdate = async (data: FallPreventionFormData) => {
-  return await request.put({ url: '/elderly-assess-fall-prevention/update', data })
+  return await request.put({ url: '/elderly-fall-prevention-measures/update', data })
 }
 
 // 根据ID获取防坠床评估记录
 export const fallPreventionGetById = async (id: number) => {
-  return await request.get({ url: '/elderly-assess-fall-prevention/get?id=' + id })
+  return await request.get({ url: '/elderly-fall-prevention-measures/get?id=' + id })
 }
 
 // 获取长者的防坠床评估记录
@@ -928,12 +928,12 @@ export const fallPreventionGetByElderId = async (elderId: number) => {
 
 // 分页查询防坠床评估记录
 export const fallPreventionPage = async (params: any) => {
-  return await request.get({ url: '/elderly-assess-fall-prevention/page', params })
+  return await request.get({ url: '/elderly-fall-prevention-measures/page', params })
 }
 
 // 删除防坠床评估记录
 export const fallPreventionDelete = async (id: number) => {
-  return await request.delete({ url: `/elderly-assess-fall-prevention/delete?id=${id}` })
+  return await request.delete({ url: `/elderly-fall-prevention-measures/delete?id=${id}` })
 }
 
 // 导出防坠床评估记录
@@ -960,17 +960,17 @@ export interface BurnPreventionFormData {
 
 // 创建防烫伤评估记录
 export const burnPreventionCreate = async (data: BurnPreventionFormData) => {
-  return await request.post({ url: '/elderly-assess-burn-prevention/create', data })
+  return await request.post({ url: '/elderly-empyrosis/create', data })
 }
 
 // 更新防烫伤评估记录
 export const burnPreventionUpdate = async (data: BurnPreventionFormData) => {
-  return await request.put({ url: '/elderly-assess-burn-prevention/update', data })
+  return await request.put({ url: '/elderly-empyrosis/update', data })
 }
 
 // 根据ID获取防烫伤评估记录
 export const burnPreventionGetById = async (id: number) => {
-  return await request.get({ url: '/elderly-assess-burn-prevention/get?id=' + id })
+  return await request.get({ url: '/elderly-empyrosis/get?id=' + id })
 }
 
 // 获取长者的防烫伤评估记录
@@ -980,12 +980,12 @@ export const burnPreventionGetByElderId = async (elderId: number) => {
 
 // 分页查询防烫伤评估记录
 export const burnPreventionPage = async (params: any) => {
-  return await request.get({ url: '/elderly-assess-burn-prevention/page', params })
+  return await request.get({ url: '/elderly-empyrosis/page', params })
 }
 
 // 删除防烫伤评估记录
 export const burnPreventionDelete = async (id: number) => {
-  return await request.delete({ url: `/elderly-assess-burn-prevention/delete?id=${id}` })
+  return await request.delete({ url: `/elderly-empyrosis/delete?id=${id}` })
 }
 
 // 导出防烫伤评估记录
@@ -1012,17 +1012,17 @@ export interface WanderAwayFormData {
 
 // 创建防走失风险评估记录
 export const wanderAwayCreate = async (data: WanderAwayFormData) => {
-  return await request.post({ url: '/elderly-assess-wander-away/create', data })
+  return await request.post({ url: '/elderly-wander-away/create', data })
 }
 
 // 更新防走失风险评估记录
 export const wanderAwayUpdate = async (data: WanderAwayFormData) => {
-  return await request.put({ url: '/elderly-assess-wander-away/update', data })
+  return await request.put({ url: '/elderly-wander-away/update', data })
 }
 
 // 根据ID获取防走失风险评估记录
 export const wanderAwayGetById = async (id: number) => {
-  return await request.get({ url: '/elderly-assess-wander-away/get?id=' + id })
+  return await request.get({ url: '/elderly-wander-away/get?id=' + id })
 }
 
 // 获取长者的防走失风险评估记录
@@ -1032,12 +1032,12 @@ export const wanderAwayGetByElderId = async (elderId: number) => {
 
 // 分页查询防走失风险评估记录
 export const wanderAwayPage = async (params: any) => {
-  return await request.get({ url: '/elderly-assess-wander-away/page', params })
+  return await request.get({ url: '/elderly-wander-away/page', params })
 }
 
 // 删除防走失风险评估记录
 export const wanderAwayDelete = async (id: number) => {
-  return await request.delete({ url: `/elderly-assess-wander-away/delete?id=${id}` })
+  return await request.delete({ url: `/elderly-wander-away/delete?id=${id}` })
 }
 
 // 导出防走失风险评估记录
@@ -1064,17 +1064,17 @@ export interface EquilibriumFormData {
 
 // 创建老年人平衡能力测试记录
 export const equilibriumCreate = async (data: EquilibriumFormData) => {
-  return await request.post({ url: '/elderly-assess-equilibrium/create', data })
+  return await request.post({ url: '/elderly-equilibrium/create', data })
 }
 
 // 更新老年人平衡能力测试记录
 export const equilibriumUpdate = async (data: EquilibriumFormData) => {
-  return await request.put({ url: '/elderly-assess-equilibrium/update', data })
+  return await request.put({ url: '/elderly-equilibrium/update', data })
 }
 
 // 根据ID获取老年人平衡能力测试记录
 export const equilibriumGetById = async (id: number) => {
-  return await request.get({ url: '/elderly-assess-equilibrium/get?id=' + id })
+  return await request.get({ url: '/elderly-equilibrium/get?id=' + id })
 }
 
 // 获取长者的老年人平衡能力测试记录
@@ -1084,12 +1084,12 @@ export const equilibriumGetByElderId = async (elderId: number) => {
 
 // 分页查询老年人平衡能力测试记录
 export const equilibriumPage = async (params: any) => {
-  return await request.get({ url: '/elderly-assess-equilibrium/page', params })
+  return await request.get({ url: '/elderly-equilibrium/page', params })
 }
 
 // 删除老年人平衡能力测试记录
 export const equilibriumDelete = async (id: number) => {
-  return await request.delete({ url: `/elderly-assess-equilibrium/delete?id=${id}` })
+  return await request.delete({ url: `/elderly-equilibrium/delete?id=${id}` })
 }
 
 // 导出老年人平衡能力测试记录
@@ -1116,17 +1116,17 @@ export interface DailyLifeFormData {
 
 // 创建日常生活活动能力评估记录
 export const dailyLifeCreate = async (data: DailyLifeFormData) => {
-  return await request.post({ url: '/elderly-assess-daily-life/create', data })
+  return await request.post({ url: '/elderly-daily-life/create', data })
 }
 
 // 更新日常生活活动能力评估记录
 export const dailyLifeUpdate = async (data: DailyLifeFormData) => {
-  return await request.put({ url: '/elderly-assess-daily-life/update', data })
+  return await request.put({ url: '/elderly-daily-life/update', data })
 }
 
 // 根据ID获取日常生活活动能力评估记录
 export const dailyLifeGetById = async (id: number) => {
-  return await request.get({ url: '/elderly-assess-daily-life/get?id=' + id })
+  return await request.get({ url: '/elderly-daily-life/get?id=' + id })
 }
 
 // 获取长者的日常生活活动能力评估记录
@@ -1136,12 +1136,12 @@ export const dailyLifeGetByElderId = async (elderId: number) => {
 
 // 分页查询日常生活活动能力评估记录
 export const dailyLifePage = async (params: any) => {
-  return await request.get({ url: '/elderly-assess-daily-life/page', params })
+  return await request.get({ url: '/elderly-daily-life/page', params })
 }
 
 // 删除日常生活活动能力评估记录
 export const dailyLifeDelete = async (id: number) => {
-  return await request.delete({ url: `/elderly-assess-daily-life/delete?id=${id}` })
+  return await request.delete({ url: `/elderly-daily-life/delete?id=${id}` })
 }
 
 // 导出日常生活活动能力评估记录
@@ -1180,17 +1180,17 @@ export interface NutritionalRiskFormData {
 
 // 创建营养风险评估记录
 export const nutritionalRiskCreate = async (data: NutritionalRiskFormData) => {
-  return await request.post({ url: '/elderly-assess-nutritional-risk/create', data })
+  return await request.post({ url: '/elderly-nutritional-risk/create', data })
 }
 
 // 更新营养风险评估记录
 export const nutritionalRiskUpdate = async (data: NutritionalRiskFormData) => {
-  return await request.put({ url: '/elderly-assess-nutritional-risk/update', data })
+  return await request.put({ url: '/elderly-nutritional-risk/update', data })
 }
 
 // 根据ID获取营养风险评估记录
 export const nutritionalRiskGetById = async (id: number) => {
-  return await request.get({ url: '/elderly-assess-nutritional-risk/get?id=' + id })
+  return await request.get({ url: '/elderly-nutritional-risk/get?id=' + id })
 }
 
 // 获取长者的营养风险评估记录
@@ -1200,12 +1200,12 @@ export const nutritionalRiskGetByElderId = async (elderId: number) => {
 
 // 分页查询营养风险评估记录
 export const nutritionalRiskPage = async (params: any) => {
-  return await request.get({ url: '/elderly-assess-nutritional-risk/page', params })
+  return await request.get({ url: '/elderly-nutritional-risk/page', params })
 }
 
 // 删除营养风险评估记录
 export const nutritionalRiskDelete = async (id: number) => {
-  return await request.delete({ url: `/elderly-assess-nutritional-risk/delete?id=${id}` })
+  return await request.delete({ url: `/elderly-nutritional-risk/delete?id=${id}` })
 }
 
 // 导出营养风险评估记录

+ 17 - 1
src/components/business-components/selectElder.vue

@@ -100,6 +100,19 @@ const toggleTypeFmt = computed(() => {
   return formToggleType.value || false
 })
 
+const upData = async (str,id?:any) => {
+  inputValue.value = str
+  if(id && id!='NaN'){
+    try {
+      const res = await getElderInfoById(id)
+      emit('elder', res)
+      return res
+    }catch (e) {}
+  }
+
+}
+
+
 interface listType {
   id: number
   elderName: string
@@ -194,7 +207,7 @@ const fmtDict = (name) => {
 watch(
   () => props.modelValue,
   async () => {
-    if (isEdit.value && props.modelValue) {
+    if (isEdit.value && props.modelValue && inputValue.value) {
       const res = await getElderInfoById(inputValue.value)
       list.value = [res]
       if (!toggleTypeFmt.value) fmtDict(props.modelValue)
@@ -208,6 +221,9 @@ const handleGetList = () => {
     getList()
   }
 }
+
+defineExpose({ upData })
+
 </script>
 <style scoped lang="scss">
 .flex {

+ 3 - 32
src/views/elderly/apply/nine-precautions/asphyxiation-by-choking/AddForm.vue

@@ -148,36 +148,8 @@
         </el-checkbox-group>
       </div>
 
-      <!-- 提交参数字段说明 -->
-      <div class="api-params-section">
-        <div class="section-title">接口参数说明</div>
-        <el-descriptions :column="1" border>
-          <el-descriptions-item label="接口地址">POST /elderly-assess-asphyxiation/create 或 PUT /elderly-assess-asphyxiation/update</el-descriptions-item>
-          <el-descriptions-item label="id">记录ID(更新时必填)</el-descriptions-item>
-          <el-descriptions-item label="elderId">长者ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="tenantId">机构ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="elderName">长者姓名</el-descriptions-item>
-          <el-descriptions-item label="elderSex">长者性别</el-descriptions-item>
-          <el-descriptions-item label="elderAge">长者年龄</el-descriptions-item>
-          <el-descriptions-item label="bedName">房号/床号</el-descriptions-item>
-          <el-descriptions-item label="assessData">
-            JSON字符串,包含:<br/>
-            - assessment: 评估记录 {assessDate, assessor, level, dietSuggestions[]}<br/>
-            - preventionMeasures: 预防措施选项数组<br/>
-            - riskLevel: 风险等级(none/low/medium/high)
-          </el-descriptions-item>
-          <el-descriptions-item label="assessor">评估人()</el-descriptions-item>
-          <el-descriptions-item label="assessDate">评估日期(YYYY-MM-DD)</el-descriptions-item>
-        </el-descriptions>
-
-        <div class="risk-rules">
-          <div class="rules-title">风险等级规则:</div>
-          <el-tag type="success" class="rule-tag">I级(5秒内):无风险</el-tag>
-          <el-tag type="info" class="rule-tag">I级(5秒以上):低风险</el-tag>
-          <el-tag type="warning" class="rule-tag">II级:中风险</el-tag>
-          <el-tag type="danger" class="rule-tag">III、IV、V级:高风险</el-tag>
-        </div>
-      </div>
+    
+          
     </div>
 
     <template #footer>
@@ -195,8 +167,7 @@ import dayjs from 'dayjs'
 import {
   asphyxiationCreate,
   asphyxiationGetById,
-  asphyxiationUpdate,
-  asphyxiationGetByElderId
+  asphyxiationUpdate
 } from "@/api/social-work";
 
 const message = useMessage()

+ 9 - 35
src/views/elderly/apply/nine-precautions/daily-life/AddForm.vue

@@ -6,8 +6,9 @@
           <el-row :gutter="20">
             <el-col :span="6">
               <el-form-item label="姓名" prop="elderName">
-                <SelectElder ref="selectElderRef" :tenantId="dataForm.tenantId" @elder="elderUp" :disabled="isDetail"
-                  :elderName="dataForm.elderName" />
+                <SelectElder
+                  ref="selectElderRef" :tId="dataForm.tenantId" @elder="elderUp" :disabled="isDetail"
+                  v-model="dataForm.elderId" />
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -333,39 +334,12 @@
         </div>
       </div>
 
-      <!-- 提交参数字段说明 -->
-      <div class="api-params-section">
-        <div class="section-title">接口参数说明</div>
-        <el-descriptions :column="1" border>
-          <el-descriptions-item label="接口地址">POST /elderly-assess-daily-life/create 或 PUT /elderly-assess-daily-life/update</el-descriptions-item>
-          <el-descriptions-item label="id">记录ID(更新时必填)</el-descriptions-item>
-          <el-descriptions-item label="elderId">长者ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="tenantId">机构ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="assessData">JSON字符串,包含所有评估数据</el-descriptions-item>
-          <el-descriptions-item label="assessor">评估人</el-descriptions-item>
-          <el-descriptions-item label="assessDate">评估日期(YYYY-MM-DD)</el-descriptions-item>
-        </el-descriptions>
-
-        <div class="section-title" style="margin-top: 15px;">assessData 字段详情</div>
-        <el-descriptions :column="1" border>
-          <el-descriptions-item label="scores">10项评分数组 [大便控制, 小便控制, 个人卫生, 入厕, 进食, 床和椅转移, 行走于平地上, 穿脱衣服, 上下楼梯, 洗澡]</el-descriptions-item>
-          <el-descriptions-item label="totalScore">评估总得分(满分100分)</el-descriptions-item>
-          <el-descriptions-item label="resultLevel">结果等级:complete_dependence-生活完全依赖, large_help-生活需要很大帮助, need_help-生活需要帮忙, basic_independent-生活基本自理</el-descriptions-item>
-        </el-descriptions>
-
-        <div class="risk-rules">
-          <div class="rules-title">评分结果规则:</div>
-          <el-tag type="danger" class="rule-tag">&lt;20分:生活完全依赖</el-tag>
-          <el-tag type="warning" class="rule-tag">20~40分:生活需要很大帮助</el-tag>
-          <el-tag type="info" class="rule-tag">40~60分:生活需要帮忙</el-tag>
-          <el-tag type="success" class="rule-tag">&gt;60分:生活基本自理</el-tag>
-        </div>
-      </div>
+
     </div>
 
     <template #footer>
       <el-button @click="handleClosed">关闭</el-button>
-      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>
+<!--      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>-->
       <el-button style="margin-left: 22px;margin-right: 30px" v-loading="formLoading" type="primary"
         v-show="!isDetail" @click="submitForm">确定</el-button>
     </template>
@@ -378,8 +352,7 @@ import dayjs from 'dayjs'
 import {
   dailyLifeCreate,
   dailyLifeGetById,
-  dailyLifeUpdate,
-  dailyLifeGetByElderId
+  dailyLifeUpdate
 } from "@/api/social-work";
 
 const message = useMessage()
@@ -478,8 +451,7 @@ const deserializeFormData = (formData: Record<string, any>) => {
 
   form.totalScore = formData.totalScore || 0
   form.resultLevel = formData.resultLevel || ''
-  form.assessor = formData.assessor || ''
-  form.assessDate = formData.assessDate || ''
+  // assessor 和 assessDate 从 res 直接读取,不从 assessData 中解析
 }
 
 /** 重置表单数据 */
@@ -560,6 +532,8 @@ const submitForm = async () => {
       elderId: dataForm.value.elderId,
       tenantId: dataForm.value.tenantId,
       assessData: JSON.stringify(formData),
+      riskLevel: getResultText(form.resultLevel),
+      assessScore: form.totalScore || 0,
       assessor: form.assessor,
       assessDate: form.assessDate ? dayjs(form.assessDate).format('YYYY-MM-DD') : ''
     }

+ 4 - 4
src/views/elderly/apply/nine-precautions/daily-life/index.vue

@@ -66,11 +66,11 @@
       <el-table-column prop="elderName" header-align="center" align="center" label="长者姓名" min-width="150" show-overflow-tooltip/>
       <el-table-column prop="assessor" header-align="center" align="center" label="评估人" min-width="150" show-overflow-tooltip/>
       <el-table-column prop="assessDate" header-align="center" align="center" label="记录日期" min-width="150" show-overflow-tooltip/>
-      <el-table-column prop="totalScore" header-align="center" align="center" label="评估总得分" min-width="120" show-overflow-tooltip/>
-      <el-table-column prop="resultLevel" header-align="center" align="center" label="结果等级" min-width="150" show-overflow-tooltip>
+      <el-table-column prop="assessScore" header-align="center" align="center" label="评估总得分" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="riskLevel" header-align="center" align="center" label="结果等级" min-width="150" show-overflow-tooltip>
         <template #default="scope">
-          <el-tag :type="getResultLevelType(scope.row.resultLevel)">
-            {{ getResultLevelText(scope.row.resultLevel) }}
+          <el-tag :type="getResultLevelType(scope.row.riskLevel)">
+            {{ (scope.row.riskLevel) }}
           </el-tag>
         </template>
       </el-table-column>

+ 5 - 33
src/views/elderly/apply/nine-precautions/empyrosis/AddForm.vue

@@ -7,7 +7,7 @@
             <el-col :span="6">
               <el-form-item label="姓名" prop="elderName">
                 <SelectElder
-                  ref="selectElderRef" :tenantId="dataForm.tenantId" @elder="elderUp" :disabled="isDetail"
+                  ref="selectElderRef" :tId="dataForm.tenantId" @elder="elderUp" :disabled="isDetail"
                   v-model="dataForm.elderId" />
               </el-form-item>
             </el-col>
@@ -137,41 +137,12 @@
         </el-checkbox-group>
       </div>
 
-      <!-- 提交参数字段说明 -->
-      <div class="api-params-section">
-        <div class="section-title">接口参数说明</div>
-        <el-descriptions :column="1" border>
-          <el-descriptions-item label="接口地址">POST /elderly-assess-burn-prevention/create 或 PUT /elderly-assess-burn-prevention/update</el-descriptions-item>
-          <el-descriptions-item label="id">记录ID(更新时必填)</el-descriptions-item>
-          <el-descriptions-item label="elderId">长者ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="tenantId">机构ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="elderName">长者姓名</el-descriptions-item>
-          <el-descriptions-item label="elderSex">长者性别</el-descriptions-item>
-          <el-descriptions-item label="elderAge">长者年龄</el-descriptions-item>
-          <el-descriptions-item label="bedName">房号/床号</el-descriptions-item>
-          <el-descriptions-item label="assessData">
-            JSON字符串,包含:<br/>
-            - assessment: 评估记录 {assessDate, assessor, scores[], totalScore}<br/>
-            - preventionMeasures: 预防措施选项数组<br/>
-            - riskLevel: 风险等级(none/low/medium/high)
-          </el-descriptions-item>
-          <el-descriptions-item label="assessor">评估人()</el-descriptions-item>
-          <el-descriptions-item label="assessDate">评估日期(YYYY-MM-DD)</el-descriptions-item>
-        </el-descriptions>
-
-        <div class="risk-rules">
-          <div class="rules-title">风险等级规则:</div>
-          <el-tag type="success" class="rule-tag">≤1分:无风险</el-tag>
-          <el-tag type="info" class="rule-tag">2分:低风险</el-tag>
-          <el-tag type="warning" class="rule-tag">3分:中风险</el-tag>
-          <el-tag type="danger" class="rule-tag">≥4分:高风险</el-tag>
-        </div>
-      </div>
+
     </div>
 
     <template #footer>
       <el-button @click="handleClosed">关闭</el-button>
-      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>
+<!--      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>-->
       <el-button style="margin-left: 22px;margin-right: 30px" v-loading="formLoading" type="primary"
         v-show="!isDetail" @click="submitForm">确定</el-button>
     </template>
@@ -298,7 +269,7 @@ const deserializeFormData = (formData: Record<string, any>) => {
   if (!formData) return
 
   if (formData.assessment) {
-    form.assessment.assessDate = formData.assessment.assessDate ? dayjs(formData.assessment.assessDate).toDate() : ''
+    form.assessment.assessDate = formData.assessment.assessDate || ''
     form.assessment.assessor = formData.assessment.assessor || ''
     form.assessment.scores = formData.assessment.scores || new Array(8).fill(0)
     form.assessment.totalScore = formData.assessment.totalScore || 0
@@ -390,6 +361,7 @@ const submitForm = async () => {
       bedName: dataForm.value.bedName,
       assessData: JSON.stringify(formData),
       riskLevel: form.riskLevel,
+      assessScore: form.assessment.totalScore || 0,
       assessor: form.assessment.assessor,
       assessDate: form.assessment.assessDate ? dayjs(form.assessment.assessDate).format('YYYY-MM-DD') : ''
     }

+ 10 - 38
src/views/elderly/apply/nine-precautions/equilibrium/AddForm.vue

@@ -6,8 +6,10 @@
           <el-row :gutter="20">
             <el-col :span="6">
               <el-form-item label="姓名" prop="elderName">
-                <SelectElder ref="selectElderRef" :tenantId="dataForm.tenantId" @elder="elderUp" :disabled="isDetail"
-                  :elderName="dataForm.elderName" />
+                <SelectElder
+                  v-model="dataForm.elderId"
+                  ref="selectElderRef" :tId="dataForm.tenantId" @elder="elderUp" :disabled="isDetail"
+                />
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -409,43 +411,12 @@
         </div>
       </div>
 
-      <!-- 提交参数字段说明 -->
-      <div class="api-params-section">
-        <div class="section-title">接口参数说明</div>
-        <el-descriptions :column="1" border>
-          <el-descriptions-item label="接口地址">POST /elderly-assess-equilibrium/create 或 PUT /elderly-assess-equilibrium/update</el-descriptions-item>
-          <el-descriptions-item label="id">记录ID(更新时必填)</el-descriptions-item>
-          <el-descriptions-item label="elderId">长者ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="tenantId">机构ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="elderName">长者姓名</el-descriptions-item>
-          <el-descriptions-item label="elderSex">长者性别</el-descriptions-item>
-          <el-descriptions-item label="elderAge">长者年龄</el-descriptions-item>
-          <el-descriptions-item label="bedName">房号/床号</el-descriptions-item>
-          <el-descriptions-item label="assessData">
-            JSON字符串,包含:<br/>
-            - staticBalance: 静态平衡能力数组 [5项,每项0-2分]<br/>
-            - postureControl: 姿势控制能力数组 [4项,每项0-2分]<br/>
-            - dynamicBalance: 动态平衡能力数组 [8项,每项0-1分]<br/>
-            - totalScore: 评估总得分<br/>
-            - riskLevel: 风险等级(none/low/medium/high)
-          </el-descriptions-item>
-          <el-descriptions-item label="assessor">评估人</el-descriptions-item>
-          <el-descriptions-item label="assessDate">评估日期(YYYY-MM-DD)</el-descriptions-item>
-        </el-descriptions>
-
-        <div class="risk-rules">
-          <div class="rules-title">风险等级规则:</div>
-          <el-tag type="success" class="rule-tag">0分:无风险</el-tag>
-          <el-tag type="info" class="rule-tag">1-4分:低风险</el-tag>
-          <el-tag type="warning" class="rule-tag">5-16分:中风险</el-tag>
-          <el-tag type="danger" class="rule-tag">≥17分:高风险</el-tag>
-        </div>
-      </div>
+
     </div>
 
     <template #footer>
       <el-button @click="handleClosed">关闭</el-button>
-      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>
+<!--      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>-->
       <el-button style="margin-left: 22px;margin-right: 30px" v-loading="formLoading" type="primary"
         v-show="!isDetail" @click="submitForm">确定</el-button>
     </template>
@@ -458,8 +429,7 @@ import dayjs from 'dayjs'
 import {
   equilibriumCreate,
   equilibriumGetById,
-  equilibriumUpdate,
-  equilibriumGetByElderId
+  equilibriumUpdate
 } from "@/api/social-work";
 
 const message = useMessage()
@@ -663,6 +633,8 @@ const submitForm = async () => {
       elderAge: dataForm.value.elderAge,
       bedName: dataForm.value.bedName,
       assessData: JSON.stringify(formData),
+      riskLevel: form.riskLevel,
+      assessScore: form.totalScore || 0,
       assessor: form.assessor,
       assessDate: form.assessDate ? dayjs(form.assessDate).format('YYYY-MM-DD') : ''
     }
@@ -677,7 +649,7 @@ const submitForm = async () => {
     dialogVisible.value = false
     emit('success')
   } catch (error) {
-    message.error('提交失败')
+    message.error('提交失败'+error.message)
   } finally {
     formLoading.value = false
   }

+ 1 - 1
src/views/elderly/apply/nine-precautions/equilibrium/index.vue

@@ -66,7 +66,7 @@
       <el-table-column prop="elderName" header-align="center" align="center" label="长者姓名" min-width="150" show-overflow-tooltip/>
       <el-table-column prop="assessor" header-align="center" align="center" label="评估人" min-width="150" show-overflow-tooltip/>
       <el-table-column prop="assessDate" header-align="center" align="center" label="记录日期" min-width="150" show-overflow-tooltip/>
-      <el-table-column prop="totalScore" header-align="center" align="center" label="评估总得分" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="assessScore" header-align="center" align="center" label="评估总得分" min-width="120" show-overflow-tooltip/>
       <el-table-column prop="riskLevel" header-align="center" align="center" label="风险等级" min-width="120" show-overflow-tooltip>
         <template #default="scope">
           <el-tag :type="getRiskLevelType(scope.row.riskLevel)">

+ 11 - 36
src/views/elderly/apply/nine-precautions/fall-down/AddForm.vue

@@ -6,8 +6,10 @@
           <el-row :gutter="20">
             <el-col :span="6">
               <el-form-item label="姓名" prop="elderName">
-                <SelectElder ref="selectElderRef" :tenantId="dataForm.tenantId" @elder="elderUp" :disabled="isDetail"
-                  :elderName="dataForm.elderName" />
+                <SelectElder
+                   v-model="dataForm.elderId"
+                    ref="selectElderRef" :tId="dataForm.tenantId" @elder="elderUp" :disabled="isDetail"
+                   />
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -194,41 +196,13 @@
         </el-checkbox-group>
       </div>
 
-      <!-- 提交参数字段说明 -->
-      <div class="api-params-section">
-        <div class="section-title">接口参数说明</div>
-        <el-descriptions :column="1" border>
-          <el-descriptions-item label="接口地址">POST /elderly-assess-fall-down/create 或 PUT /elderly-assess-fall-down/update</el-descriptions-item>
-          <el-descriptions-item label="id">记录ID(更新时必填)</el-descriptions-item>
-          <el-descriptions-item label="elderId">长者ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="tenantId">机构ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="elderName">长者姓名</el-descriptions-item>
-          <el-descriptions-item label="elderSex">长者性别</el-descriptions-item>
-          <el-descriptions-item label="elderAge">长者年龄</el-descriptions-item>
-          <el-descriptions-item label="bedName">房号/床号</el-descriptions-item>
-          <el-descriptions-item label="assessData">
-            JSON字符串,包含:<br/>
-            - assessment: 评估记录 {assessDate, assessor, scores[], totalScore}<br/>
-            - preventionMeasures: 预防措施选项数组<br/>
-            - riskLevel: 风险等级(none/low/medium/high)
-          </el-descriptions-item>
-          <el-descriptions-item label="assessor">评估人()</el-descriptions-item>
-          <el-descriptions-item label="assessDate">评估日期(YYYY-MM-DD)</el-descriptions-item>
-        </el-descriptions>
-
-        <div class="risk-rules">
-          <div class="rules-title">风险等级规则:</div>
-          <el-tag type="success" class="rule-tag">0分:无风险</el-tag>
-          <el-tag type="info" class="rule-tag">10-24分:低风险</el-tag>
-          <el-tag type="warning" class="rule-tag">25-45分:中风险</el-tag>
-          <el-tag type="danger" class="rule-tag">≥46分:高风险</el-tag>
-        </div>
-      </div>
+
+
     </div>
 
     <template #footer>
       <el-button @click="handleClosed">关闭</el-button>
-      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>
+<!--      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>-->
       <el-button
         style="margin-left: 22px;margin-right: 30px" v-loading="formLoading" type="primary"
         v-show="!isDetail" @click="submitForm">确定</el-button>
@@ -242,8 +216,7 @@ import dayjs from 'dayjs'
 import {
   fallDownCreate,
   fallDownGetById,
-  fallDownUpdate,
-  fallDownGetByElderId
+  fallDownUpdate
 } from "@/api/social-work";
 
 const message = useMessage()
@@ -266,6 +239,7 @@ let dataForm = ref({
 })
 
 const elderUp = (e: any) => {
+  console.log(e)
   dataForm.value.elderName = e.elderName
   dataForm.value.elderId = e.id
   dataForm.value.elderSex = e.elderSex === 1 ? '男' : '女'
@@ -344,7 +318,7 @@ const deserializeFormData = (formData: Record<string, any>) => {
   if (!formData) return
 
   if (formData.assessment) {
-    form.assessment.assessDate = formData.assessment.assessDate ? dayjs(formData.assessment.assessDate).toDate() : ''
+    form.assessment.assessDate = formData.assessment.assessDate || ''
     form.assessment.assessor = formData.assessment.assessor || ''
     form.assessment.scores = formData.assessment.scores || new Array(6).fill(0)
     form.assessment.totalScore = formData.assessment.totalScore || 0
@@ -436,6 +410,7 @@ const submitForm = async () => {
       bedName: dataForm.value.bedName,
       assessData: JSON.stringify(formData),
       riskLevel: form.riskLevel,
+      assessScore: form.assessment.totalScore || 0,
       assessor: form.assessment.assessor,
       assessDate: form.assessment.assessDate ? dayjs(form.assessment.assessDate).format('YYYY-MM-DD') : ''
     }

+ 1 - 1
src/views/elderly/apply/nine-precautions/fall-down/index.vue

@@ -66,7 +66,7 @@
       <el-table-column prop="elderName" header-align="center" align="center" label="长者姓名" min-width="150" show-overflow-tooltip/>
       <el-table-column prop="assessor" header-align="center" align="center" label="评估人" min-width="150" show-overflow-tooltip/>
       <el-table-column prop="assessDate" header-align="center" align="center" label="记录日期" min-width="150" show-overflow-tooltip/>
-      <el-table-column prop="totalScore" header-align="center" align="center" label="评估总得分" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="assessScore" header-align="center" align="center" label="评估总得分" min-width="120" show-overflow-tooltip/>
       <el-table-column prop="riskLevel" header-align="center" align="center" label="风险等级" min-width="120" show-overflow-tooltip>
         <template #default="scope">
           <el-tag :type="getRiskLevelType(scope.row.riskLevel)">

+ 9 - 36
src/views/elderly/apply/nine-precautions/fall-prevention-measures/AddForm.vue

@@ -6,8 +6,10 @@
           <el-row :gutter="20">
             <el-col :span="6">
               <el-form-item label="姓名" prop="elderName">
-                <SelectElder ref="selectElderRef" :tenantId="dataForm.tenantId" @elder="elderUp" :disabled="isDetail"
-                  :elderName="dataForm.elderName" />
+                <SelectElder
+                  v-model="dataForm.elderId"
+                  ref="selectElderRef" :tId="dataForm.tenantId" @elder="elderUp" :disabled="isDetail"
+                />
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -136,41 +138,12 @@
         </el-checkbox-group>
       </div>
 
-      <!-- 提交参数字段说明 -->
-      <div class="api-params-section">
-        <div class="section-title">接口参数说明</div>
-        <el-descriptions :column="1" border>
-          <el-descriptions-item label="接口地址">POST /elderly-assess-fall-prevention/create 或 PUT /elderly-assess-fall-prevention/update</el-descriptions-item>
-          <el-descriptions-item label="id">记录ID(更新时必填)</el-descriptions-item>
-          <el-descriptions-item label="elderId">长者ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="tenantId">机构ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="elderName">长者姓名</el-descriptions-item>
-          <el-descriptions-item label="elderSex">长者性别</el-descriptions-item>
-          <el-descriptions-item label="elderAge">长者年龄</el-descriptions-item>
-          <el-descriptions-item label="bedName">房号/床号</el-descriptions-item>
-          <el-descriptions-item label="assessData">
-            JSON字符串,包含:<br/>
-            - assessment: 评估记录 {assessDate, assessor, scores[], totalScore}<br/>
-            - preventionMeasures: 预防措施选项数组<br/>
-            - riskLevel: 风险等级(none/low/medium/high)
-          </el-descriptions-item>
-          <el-descriptions-item label="assessor">评估人()</el-descriptions-item>
-          <el-descriptions-item label="assessDate">评估日期(YYYY-MM-DD)</el-descriptions-item>
-        </el-descriptions>
-
-        <div class="risk-rules">
-          <div class="rules-title">风险等级规则:</div>
-          <el-tag type="success" class="rule-tag">≤1分:无风险</el-tag>
-          <el-tag type="info" class="rule-tag">2分:低风险</el-tag>
-          <el-tag type="warning" class="rule-tag">3分:中风险</el-tag>
-          <el-tag type="danger" class="rule-tag">≥4分:高风险</el-tag>
-        </div>
-      </div>
+
     </div>
 
     <template #footer>
       <el-button @click="handleClosed">关闭</el-button>
-      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>
+<!--      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>-->
       <el-button style="margin-left: 22px;margin-right: 30px" v-loading="formLoading" type="primary"
         v-show="!isDetail" @click="submitForm">确定</el-button>
     </template>
@@ -183,8 +156,7 @@ import dayjs from 'dayjs'
 import {
   fallPreventionCreate,
   fallPreventionGetById,
-  fallPreventionUpdate,
-  fallPreventionGetByElderId
+  fallPreventionUpdate
 } from "@/api/social-work";
 
 const message = useMessage()
@@ -301,7 +273,7 @@ const deserializeFormData = (formData: Record<string, any>) => {
   if (!formData) return
 
   if (formData.assessment) {
-    form.assessment.assessDate = formData.assessment.assessDate ? dayjs(formData.assessment.assessDate).toDate() : ''
+    form.assessment.assessDate = formData.assessment.assessDate || ''
     form.assessment.assessor = formData.assessment.assessor || ''
     form.assessment.scores = formData.assessment.scores || new Array(12).fill(0)
     form.assessment.totalScore = formData.assessment.totalScore || 0
@@ -392,6 +364,7 @@ const submitForm = async () => {
       elderAge: dataForm.value.elderAge,
       bedName: dataForm.value.bedName,
       assessData: JSON.stringify(formData),
+      assessScore: form.assessment.totalScore || 0,
       riskLevel: form.riskLevel,
       assessor: form.assessment.assessor,
       assessDate: form.assessment.assessDate ? dayjs(form.assessment.assessDate).format('YYYY-MM-DD') : ''

+ 1 - 1
src/views/elderly/apply/nine-precautions/fall-prevention-measures/index.vue

@@ -66,7 +66,7 @@
       <el-table-column prop="elderName" header-align="center" align="center" label="长者姓名" min-width="150" show-overflow-tooltip/>
       <el-table-column prop="assessor" header-align="center" align="center" label="评估人" min-width="150" show-overflow-tooltip/>
       <el-table-column prop="assessDate" header-align="center" align="center" label="记录日期" min-width="150" show-overflow-tooltip/>
-      <el-table-column prop="totalScore" header-align="center" align="center" label="评估总得分" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="assessScore" header-align="center" align="center" label="评估总得分" min-width="120" show-overflow-tooltip/>
       <el-table-column prop="riskLevel" header-align="center" align="center" label="风险等级" min-width="120" show-overflow-tooltip>
         <template #default="scope">
           <el-tag :type="getRiskLevelType(scope.row.riskLevel)">

+ 38 - 48
src/views/elderly/apply/nine-precautions/nutritional-risk/AddForm.vue

@@ -6,8 +6,10 @@
           <el-row :gutter="20">
             <el-col :span="6">
               <el-form-item label="姓名" prop="elderName">
-                <SelectElder ref="selectElderRef" :tenantId="dataForm.tenantId" @elder="elderUp" :disabled="isDetail"
-                  :elderName="dataForm.elderName" />
+                <SelectElder
+                  v-model="dataForm.elderId"
+                  ref="selectElderRef" :tId="dataForm.tenantId" @elder="elderUp" :disabled="isDetail"
+                />
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -16,6 +18,11 @@
               </el-form-item>
             </el-col>
             <el-col :span="6">
+              <el-form-item label="床位号">
+                <el-input v-model="dataForm.bedName" disabled />
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
               <el-form-item label="性别">
                 <el-input v-model="dataForm.elderSex" disabled />
               </el-form-item>
@@ -416,7 +423,11 @@
           </div>
           <div class="summary-item">
             <span class="label">评估分数(小计满分16分):</span>
-            <span class="value">{{ form.assessScore }} 分</span>
+            <span class="value">{{ form.assessScore + form.measureScore }} 分</span>
+          </div>
+          <div class="summary-item">
+            <span class="label">年龄调整(≥70岁加1分):</span>
+            <span class="value">{{ form.ageAdjust }} 分</span>
           </div>
           <div class="summary-item">
             <span class="label">量表总分(满分30分):</span>
@@ -451,39 +462,7 @@
         </div>
       </div>
 
-      <!-- 提交参数字段说明 -->
-      <div class="api-params-section">
-        <div class="section-title">接口参数说明</div>
-        <el-descriptions :column="1" border>
-          <el-descriptions-item label="接口地址">POST /elderly-assess-nutritional-risk/create 或 PUT /elderly-assess-nutritional-risk/update</el-descriptions-item>
-          <el-descriptions-item label="id">记录ID(更新时必填)</el-descriptions-item>
-          <el-descriptions-item label="elderId">长者ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="tenantId">机构ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="assessData">JSON字符串,包含所有评估数据</el-descriptions-item>
-          <el-descriptions-item label="assessor">评估人</el-descriptions-item>
-          <el-descriptions-item label="assessDate">评估日期</el-descriptions-item>
-        </el-descriptions>
-
-        <div class="subsection-title" style="margin-top: 15px;">assessData 字段详情</div>
-        <el-descriptions :column="1" border>
-          <el-descriptions-item label="assessDate">评估日期</el-descriptions-item>
-          <el-descriptions-item label="height">身高(m)</el-descriptions-item>
-          <el-descriptions-item label="weight">体重(Kg)</el-descriptions-item>
-          <el-descriptions-item label="bmi">BMI指数</el-descriptions-item>
-          <el-descriptions-item label="initialScores">初筛分数数组[6项],每项0-3分</el-descriptions-item>
-          <el-descriptions-item label="initialScore">初筛总分(满分14分)</el-descriptions-item>
-          <el-descriptions-item label="assessScores">评估分数数组[11项]</el-descriptions-item>
-          <el-descriptions-item label="assessScore">评估分数(满分15分)</el-descriptions-item>
-          <el-descriptions-item label="measureScores">测量分数数组[2项]:18.蔬菜水果, 19.小腿围</el-descriptions-item>
-          <el-descriptions-item label="measureScore">测量分数(满分3分)</el-descriptions-item>
-          <el-descriptions-item label="waistScore">第20题腰围:0=男>90cm, 1=男≤90cm, 2=女>80cm, 3=女≤80cm</el-descriptions-item>
-          <el-descriptions-item label="calfCircumference">小腿围测量值(cm)</el-descriptions-item>
-          <el-descriptions-item label="waistCircumference">腰围测量值(cm)</el-descriptions-item>
-          <el-descriptions-item label="ageAdjust">年龄调整分(≥70岁为1分)</el-descriptions-item>
-          <el-descriptions-item label="totalScore">量表总分(满分30分)</el-descriptions-item>
-          <el-descriptions-item label="resultLevel">结果等级:good-营养状况良好, at_risk-有营养不良风险, malnutrition-有营养不良</el-descriptions-item>
-        </el-descriptions>
-      </div>
+
     </div>
 
     <template #footer>
@@ -491,7 +470,7 @@
         <el-button v-if="!isDetail" type="primary" @click="submitForm">保存</el-button>
         <el-button v-if="!isDetail" @click="handleClosed">取消</el-button>
         <el-button v-if="isDetail" @click="handleClosed">关闭</el-button>
-        <el-button v-if="isDetail" type="primary" @click="handleExport">打印</el-button>
+<!--        <el-button v-if="isDetail" type="primary" @click="handleExport">打印</el-button>-->
       </div>
     </template>
   </el-drawer>
@@ -506,6 +485,7 @@ import {
   nutritionalRiskGetById,
   NutritionalRiskFormData
 } from '@/api/social-work'
+import {getTenantId} from "@/utils/auth";
 
 const message = useMessage()
 const appStore = useAppStore()
@@ -523,6 +503,7 @@ const dataForm = reactive({
   tenantId: appStore.getTenantId,
   elderName: '',
   elderSex: '',
+  bedName: '',
   elderAge: ''
 })
 
@@ -662,11 +643,12 @@ const resetForm = () => {
   form.assessor = ''
 }
 
-const elderUp = (row: any) => {
-  dataForm.elderId = row.id
-  dataForm.elderName = row.name
-  dataForm.elderSex = row.sex
-  dataForm.elderAge = row.age
+const elderUp = (e: any) => {
+  dataForm.elderName = e.elderName
+  dataForm.elderId = e.id
+  dataForm.elderSex = e.elderSex === 1 ? '男' : '女'
+  dataForm.bedName = e.bedName || ''
+  dataForm.elderAge = e.elderAge
   // 年龄变化时重新计算
   calculateScores()
 }
@@ -676,6 +658,7 @@ const open = async (id?: number) => {
   title.value = '新增营养风险评估'
   isDetail.value = false
   dialogVisible.value = true
+  dataForm.tenantId = getTenantId()
   await nextTick()
   selectElderRef.value?.reset()
 }
@@ -714,16 +697,20 @@ const loadData = async (row: any, id: number) => {
       if (res.assessData) {
         const assessData = JSON.parse(res.assessData)
         Object.assign(form, assessData)
+        // 从assessData中解析分数(优先使用assessData中的值)
+        form.initialScore = assessData.initialScore ?? res.initialScore ?? 0
+        form.assessScore = assessData.assessScore ?? res.assessScore ?? 0
+        form.measureScore = assessData.measureScore ?? res.measureScore ?? 0
+        form.totalScore = assessData.totalScore ?? res.totalScore ?? 0
       }
 
       form.assessor = res.assessor || ''
       form.assessDate = res.assessDate || ''
-      form.initialScore = res.initialScore || 0
-      form.assessScore = res.assessScore || 0
-      form.measureScore = res.measureScore || 0
       form.ageAdjust = res.ageAdjust || 0
-      form.totalScore = res.totalScore || 0
-      form.resultLevel = res.resultLevel || ''
+      form.resultLevel = res.riskLevel || ''
+      dataForm.tenantId = res.tenantId || ''
+
+      await selectElderRef.value.upData(res.elderName, res.elderId)
     }
   } catch (error) {
     console.error('加载数据失败:', error)
@@ -741,6 +728,7 @@ const submitForm = async () => {
     height: form.height,
     weight: form.weight,
     bmi: form.bmi,
+    tenantId: dataForm.tenantId,
     initialScores: form.initialScores,
     assessScores: form.assessScores,
     measureScores: form.measureScores,
@@ -752,7 +740,7 @@ const submitForm = async () => {
     measureScore: form.measureScore,
     ageAdjust: form.ageAdjust,
     totalScore: form.totalScore,
-    resultLevel: form.resultLevel
+    riskLevel: form.resultLevel
   }
 
   const submitData: NutritionalRiskFormData = {
@@ -761,6 +749,8 @@ const submitForm = async () => {
     tenantId: dataForm.tenantId,
     assessData: JSON.stringify(assessData),
     assessor: form.assessor,
+    riskLevel: form.resultLevel,
+    assessScore: form.totalScore,
     assessDate: form.assessDate
   }
 

+ 5 - 5
src/views/elderly/apply/nine-precautions/nutritional-risk/index.vue

@@ -174,13 +174,13 @@ onMounted(() => {
       <el-table-column prop="elderName" header-align="center" align="center" label="长者姓名" min-width="150" show-overflow-tooltip/>
       <el-table-column prop="assessor" header-align="center" align="center" label="评估人" min-width="150" show-overflow-tooltip/>
       <el-table-column prop="assessDate" header-align="center" align="center" label="记录日期" min-width="150" show-overflow-tooltip/>
-      <el-table-column prop="initialScore" header-align="center" align="center" label="初筛分数" min-width="100" show-overflow-tooltip/>
-      <el-table-column prop="assessScore" header-align="center" align="center" label="评估分数" min-width="100" show-overflow-tooltip/>
-      <el-table-column prop="totalScore" header-align="center" align="center" label="量表总分" min-width="100" show-overflow-tooltip/>
+<!--      <el-table-column prop="initialScore" header-align="center" align="center" label="初筛分数" min-width="100" show-overflow-tooltip/>-->
+<!--      <el-table-column prop="assessScore" header-align="center" align="center" label="评估分数" min-width="100" show-overflow-tooltip/>-->
+      <el-table-column prop="assessScore" header-align="center" align="center" label="量表总分" min-width="100" show-overflow-tooltip/>
       <el-table-column prop="resultLevel" header-align="center" align="center" label="评估结果" min-width="150" show-overflow-tooltip>
         <template #default="scope">
-          <el-tag :type="getResultLevelType(scope.row.resultLevel)">
-            {{ getResultLevelText(scope.row.resultLevel) }}
+          <el-tag :type="getResultLevelType(scope.row.riskLevel)">
+            {{ getResultLevelText(scope.row.riskLevel) }}
           </el-tag>
         </template>
       </el-table-column>

+ 4 - 35
src/views/elderly/apply/nine-precautions/pressure-sores/AddForm.vue

@@ -142,42 +142,12 @@
         </el-checkbox-group>
       </div>
 
-      <!-- 提交参数字段说明 -->
-      <div class="api-params-section">
-        <div class="section-title">接口参数说明</div>
-        <el-descriptions :column="1" border>
-          <el-descriptions-item label="接口地址">POST /elderly-assess-pressure-sores/create 或 PUT /elderly-assess-pressure-sores/update</el-descriptions-item>
-          <el-descriptions-item label="id">记录ID(更新时必填)</el-descriptions-item>
-          <el-descriptions-item label="elderId">长者ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="tenantId">机构ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="elderName">长者姓名</el-descriptions-item>
-          <el-descriptions-item label="elderSex">长者性别</el-descriptions-item>
-          <el-descriptions-item label="elderAge">长者年龄</el-descriptions-item>
-          <el-descriptions-item label="bedName">房号/床号</el-descriptions-item>
-          <el-descriptions-item label="assessData">
-            JSON字符串,包含:<br/>
-            - assessments: 3次评估记录数组 [{assessDate, assessor, scores[], totalScore, riskLevel}]<br/>
-            - preventionMeasures: 预防措施选项数组<br/>
-            - totalScore: 评估总得分(取最高得分)<br/>
-            - riskLevel: 风险等级(none/low/medium/high)
-          </el-descriptions-item>
-          <el-descriptions-item label="assessor">评估人()</el-descriptions-item>
-          <el-descriptions-item label="assessDate">评估日期(YYYY-MM-DD)</el-descriptions-item>
-        </el-descriptions>
-
-        <div class="risk-rules">
-          <div class="rules-title">风险等级规则:</div>
-          <el-tag type="success" class="rule-tag">&gt;18分:无风险</el-tag>
-          <el-tag type="info" class="rule-tag">15-18分:低风险</el-tag>
-          <el-tag type="warning" class="rule-tag">13-14分:中风险</el-tag>
-          <el-tag type="danger" class="rule-tag">≤12分:高风险</el-tag>
-        </div>
-      </div>
+
     </div>
 
     <template #footer>
       <el-button @click="handleClosed">关闭</el-button>
-      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>
+<!--      <el-button v-if="isDetail" type="success" @click="handleExport">打印</el-button>-->
       <el-button style="margin-left: 22px;margin-right: 30px" v-loading="formLoading" type="primary"
         v-show="!isDetail" @click="submitForm">确定</el-button>
     </template>
@@ -190,8 +160,7 @@ import dayjs from 'dayjs'
 import {
   pressureSoresCreate,
   pressureSoresGetById,
-  pressureSoresUpdate,
-  pressureSoresGetByElderId
+  pressureSoresUpdate
 } from "@/api/social-work";
 
 const message = useMessage()
@@ -412,7 +381,7 @@ const submitForm = async () => {
     const tempParams = {
       ...dataForm.value,
       assessData: JSON.stringify(assessData),
-      totalScore: overallTotalScore.value,
+      assessScore: overallTotalScore.value,
       riskLevel: overallRiskLevel.value,
       assessor: form.assessments[0]?.assessor || '',
       assessDate: form.assessments[0]?.assessDate ? dayjs(form.assessments[0].assessDate).format('YYYY-MM-DD') : ''

+ 1 - 1
src/views/elderly/apply/nine-precautions/pressure-sores/index.vue

@@ -66,7 +66,7 @@
       <el-table-column prop="elderName" header-align="center" align="center" label="长者姓名" min-width="150" show-overflow-tooltip/>
       <el-table-column prop="assessor" header-align="center" align="center" label="评估人" min-width="150" show-overflow-tooltip/>
       <el-table-column prop="assessDate" header-align="center" align="center" label="记录日期" min-width="150" show-overflow-tooltip/>
-      <el-table-column prop="totalScore" header-align="center" align="center" label="评估总得分" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="assessScore" header-align="center" align="center" label="评估总得分" min-width="120" show-overflow-tooltip/>
       <el-table-column prop="riskLevel" header-align="center" align="center" label="风险等级" min-width="120" show-overflow-tooltip>
         <template #default="scope">
           <el-tag :type="getRiskLevelType(scope.row.riskLevel)">

+ 77 - 59
src/views/elderly/apply/nine-precautions/risk-disclosure-statement/Form.vue

@@ -13,6 +13,7 @@
       label-width="120px"
       :rules="dataRule"
       v-loading="loading"
+      :disabled="isView"
     >
       <!-- 长者搜索 - 参照 ProcessForm.vue 中的 SelectElder 使用方式 -->
       <div class="section-title">长者信息</div>
@@ -25,7 +26,7 @@
               @elder="handleSelectElder"
               type="1"
               :tId="dataForm.tenantId"
-              :disabled="isEdit"
+              :disabled="isEdit || isView"
             />
           </el-form-item>
         </el-col>
@@ -64,9 +65,9 @@
             <el-checkbox v-model="item.checked" :label="item.name" />
             <span class="risk-label">风险程度:</span>
             <el-radio-group v-model="item.riskLevel" size="small">
-              <el-radio label="low">低危</el-radio>
-              <el-radio label="medium">中危</el-radio>
-              <el-radio label="high">高危</el-radio>
+              <el-radio value="low">低危</el-radio>
+              <el-radio value="medium">中危</el-radio>
+              <el-radio value="high">高危</el-radio>
             </el-radio-group>
           </div>
         </div>
@@ -85,7 +86,7 @@
             <div style="display: flex;flex-direction: row">
               <div style="display: flex;align-items: center;width: 560px">
                 通过对老年人的整体评估,老年人有可能发生:
-                <TgInput v-model="dataForm.firstInformer" placeholder="输入风险" style="width: 250px;margin-left: 10px"/>
+                <TgInput v-model="dataForm.firstRisk" placeholder="输入风险" style="width: 250px;margin-left: 10px"/>
               </div>
               其风险及防范措施已向老年人或相关第三方进行了如实告知。
             </div>
@@ -93,14 +94,14 @@
         </el-col>
         <el-col :span="24">
           <el-form-item label="护理人员签名" label-width="170">
-            <TgInput v-model="dataForm.firstNurse" placeholder="签字人" />
+            <TgInput v-model="dataForm.firstNurseSign" placeholder="签字人" />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="老年人/相关第三方签字" label-width="170">
-            <TgInput v-model="dataForm.firstSign" placeholder="签字人" />
+            <TgInput v-model="dataForm.firstElderSign" placeholder="签字人" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
@@ -118,7 +119,7 @@
             <div style="display: flex;flex-direction: row">
               <div style="display: flex;align-items: center;width: 700px">
                 通过对老年人的整体评估,随着病情的发展变化,老年人有可能发生:
-                <TgInput v-model="dataForm.firstInformer" placeholder="输入风险" style="width: 250px;margin-left: 10px"/>
+                <TgInput v-model="dataForm.secondRisk" placeholder="输入风险" style="width: 250px;margin-left: 10px"/>
               </div>
               其风险及防范措施已向老年人或相关第三方进行了如实告知。
             </div>
@@ -126,22 +127,22 @@
         </el-col>
         <el-col :span="24">
           <el-form-item label="护理人员" label-width="170">
-            <TgInput v-model="dataForm.secondNurse" placeholder="签字人" />
+            <TgInput v-model="dataForm.secondNurseSign" placeholder="签字人" />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="变动风险" label-width="170">
-            <TgInput v-model="dataForm.changedRisk" placeholder="变动风险描述" />
+            <TgInput v-model="dataForm.secondChangeRisk" placeholder="变动风险描述" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="风险程度">
-            <el-radio-group v-model="dataForm.changedRiskLevel" size="small">
-              <el-radio label="low">低危</el-radio>
-              <el-radio label="medium">中危</el-radio>
-              <el-radio label="high">高危</el-radio>
+            <el-radio-group v-model="dataForm.secondRiskLevel" size="small">
+              <el-radio value="low">低危</el-radio>
+              <el-radio value="medium">中危</el-radio>
+              <el-radio value="high">高危</el-radio>
             </el-radio-group>
           </el-form-item>
         </el-col>
@@ -149,7 +150,7 @@
       <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="老年人/相关第三方签字" label-width="170">
-            <TgInput v-model="dataForm.secondSign" placeholder="签字人" />
+            <TgInput v-model="dataForm.secondElderSign" placeholder="签字人" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
@@ -169,27 +170,28 @@
       <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="护理人员">
-            <TgInput v-model="dataForm.finalNurse" placeholder="护理人员签字" />
+            <TgInput v-model="dataForm.nurseSign" placeholder="护理人员签字" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="老年人/相关第三方签字" label-width="170">
-            <TgInput v-model="dataForm.finalSign" placeholder="签字人" />
+            <TgInput v-model="dataForm.elderSign" placeholder="签字人" />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :span="12" :offset="12">
           <el-form-item label="签字日期" label-width="170">
-            <TgDatePicker v-model="dataForm.finalSignDate" type="date" placeholder="选择日期" />
+            <TgDatePicker v-model="dataForm.signDate" type="date" placeholder="选择日期" />
           </el-form-item>
         </el-col>
       </el-row>
     </el-form>
 
     <template #footer>
-      <el-button @click="handleClosed">取消</el-button>
-      <el-button type="primary" @click="submitForm" :loading="submitLoading">确定</el-button>
+      <el-button v-if="!isView" @click="handleClosed">取消</el-button>
+      <el-button v-if="!isView" type="primary" @click="submitForm" :loading="submitLoading">确定</el-button>
+      <el-button v-if="isView" @click="handleClosed">关闭</el-button>
     </template>
   </Dialog>
 </template>
@@ -203,7 +205,7 @@ import {
   getSafetyRiskNoticeById
 } from '@/api/elderly/apply/check-in'
 import { getTenantId } from '@/utils/auth'
-import { formatTime } from '@/utils'
+const message = useMessage() // 消息弹窗
 
 defineOptions({ name: 'RiskDisclosureStatementForm' })
 
@@ -214,6 +216,7 @@ const dialogTitle = ref('新增服务安全风险知情告知书')
 const loading = ref(false)
 const submitLoading = ref(false)
 const isEdit = ref(false)
+const isView = ref(false)
 const formRef = ref()
 const selectElderRef = ref()
 
@@ -238,26 +241,26 @@ const dataForm = reactive({
   elderId: '',
   idCard: '',
   tenantId: undefined,
-  // 风险项目数据 (JSON格式存储)
-  riskItemsJson: '',
+  // 风险项目数据 (JSON格式存储到 riskData)
+  riskData: '',
   otherRisk: '',
   // 首次告知签名
-  firstInformer: '',
-  firstNurse: '',
-  firstSign: '',
+  firstRisk: '',
+  firstNurseSign: '',
+  firstElderSign: '',
   firstSignDate: '',
   // 第二次告知签名
-  secondInformer: '',
-  secondNurse: '',
-  secondSign: '',
+  secondRisk: '',
+  secondNurseSign: '',
+  secondElderSign: '',
   secondSignDate: '',
-  changedRisk: '',
-  changedRiskLevel: '',
+  secondChangeRisk: '',
+  secondRiskLevel: '',
   // 其他
   remark: '',
-  finalNurse: '',
-  finalSign: '',
-  finalSignDate: ''
+  nurseSign: '',
+  elderSign: '',
+  signDate: ''
 })
 
 // 表单校验规则
@@ -281,32 +284,42 @@ const handleSelectElder = async (item: any) => {
 }
 
 // 打开弹窗
-const open = async (row?: any) => {
+const open = async (row?: any, viewMode = false) => {
   dialogVisible.value = true
   isEdit.value = false
-  dialogTitle.value = '新增服务安全风险知情告知书'
+  isView.value = viewMode
+  dialogTitle.value = viewMode ? '查看服务安全风险知情告知书' : '新增服务安全风险知情告知书'
   resetForm()
   dataForm.tenantId = getTenantId()
 
   if (row && row.id) {
-    isEdit.value = true
-    dialogTitle.value = '编辑服务安全风险知情告知书'
+    isEdit.value = !viewMode
+    dialogTitle.value = viewMode ? '查看服务安全风险知情告知书' : '编辑服务安全风险知情告知书'
     loading.value = true
     try {
       const res = await getSafetyRiskNoticeById(row.id)
       Object.assign(dataForm, res)
       // 解析风险项目
-      if (res.riskItemsJson) {
-        const savedRiskItems = JSON.parse(res.riskItemsJson)
-        riskItems.value = riskItems.value.map(item => {
-          const saved = savedRiskItems.find((s: any) => s.name === item.name)
-          return saved || item
-        })
+      if (res.riskData) {
+        const parsedData = JSON.parse(res.riskData)
+        // 解析风险项目列表
+        if (parsedData.risks && Array.isArray(parsedData.risks)) {
+          riskItems.value = riskItems.value.map(item => {
+            const saved = parsedData.risks.find((s: any) => s.name === item.name)
+            return saved || item
+          })
+        }
+        // 解析其他风险
+        if (parsedData.otherRisk !== undefined) {
+          dataForm.otherRisk = parsedData.otherRisk
+        }
       }
-      // 获取长者详情
+      // 获取长者详情 - 调用 SelectElder 的 upData 方法设置显示
       if (res.elderId) {
         const elderRes = await getElderInfoById(res.elderId)
         elderDetail.value = elderRes
+        // 调用 SelectElder 组件的 upData 方法来设置值和触发 elder 事件
+        selectElderRef.value?.upData?.(res.elderName, res.elderId)
       }
     } catch (e) {
       console.error('获取详情失败', e)
@@ -323,22 +336,22 @@ const resetForm = () => {
     elderId: '',
     idCard: '',
     tenantId: getTenantId(),
-    riskItemsJson: '',
+    riskData: '',
     otherRisk: '',
-    firstInformer: '',
-    firstNurse: '',
-    firstSign: '',
+    firstRisk: '',
+    firstNurseSign: '',
+    firstElderSign: '',
     firstSignDate: '',
-    secondInformer: '',
-    secondNurse: '',
-    secondSign: '',
+    secondRisk: '',
+    secondNurseSign: '',
+    secondElderSign: '',
     secondSignDate: '',
-    changedRisk: '',
-    changedRiskLevel: '',
+    secondChangeRisk: '',
+    secondRiskLevel: '',
     remark: '',
-    finalNurse: '',
-    finalSign: '',
-    finalSignDate: ''
+    nurseSign: '',
+    elderSign: '',
+    signDate: ''
   })
   elderDetail.value = {}
   riskItems.value = [
@@ -356,6 +369,7 @@ const resetForm = () => {
 // 关闭弹窗
 const handleClosed = () => {
   dialogVisible.value = false
+  isView.value = false
 }
 
 // 提交表单
@@ -366,11 +380,15 @@ const submitForm = async () => {
 
   submitLoading.value = true
   try {
-    // 处理风险项目数据
+    // 处理风险项目数据 - 包含风险项目列表和其他风险
     const selectedRisks = riskItems.value.filter(item => item.checked)
+    const riskDataObj = {
+      risks: selectedRisks,
+      otherRisk: dataForm.otherRisk
+    }
     const submitData = {
       ...dataForm,
-      riskItemsJson: JSON.stringify(selectedRisks)
+      riskData: JSON.stringify(riskDataObj)
     }
 
     if (isEdit.value) {

+ 17 - 11
src/views/elderly/apply/nine-precautions/risk-disclosure-statement/index.vue

@@ -61,6 +61,11 @@ const handleEdit = (row: any) => {
   formRef.value?.open(row)
 }
 
+// 详情
+const handleView = (row: any) => {
+  formRef.value?.open(row, true)
+}
+
 // 删除
 const handleDelete = async (row: any) => {
   try {
@@ -97,14 +102,14 @@ onMounted(() => {
           @keyup.enter="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="楼层" prop="floorName">
-        <el-input
-          v-model="queryParams.floorName"
-          placeholder="请输入楼层"
-          class="!w-240px"
-          @keyup.enter="handleQuery"
-        />
-      </el-form-item>
+<!--      <el-form-item label="楼层" prop="floorName">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.floorName"-->
+<!--          placeholder="请输入楼层"-->
+<!--          class="!w-240px"-->
+<!--          @keyup.enter="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
       <el-form-item>
         <el-button @click="handleQuery">
           <Icon icon="ep:search" class="mr-5px" /> 搜索
@@ -135,8 +140,8 @@ onMounted(() => {
         </template>
       </el-table-column>
       <el-table-column label="年龄" prop="elderAge" min-width="80" />
-      <el-table-column label="楼层" prop="floorName" min-width="100" />
-      <el-table-column label="床号" prop="bedName" min-width="100" />
+
+      <el-table-column label="床号" prop="bedName" min-width="200" />
       <el-table-column label="首次告知日期" prop="firstSignDate" min-width="120">
         <template #default="{ row }">
           {{ row.firstSignDate ? formatTime(row.firstSignDate, 'yyyy-MM-dd') : '-' }}
@@ -152,8 +157,9 @@ onMounted(() => {
           {{ row.createTime ? formatTime(row.createTime, 'yyyy-MM-dd HH:mm') : '-' }}
         </template>
       </el-table-column>
-      <el-table-column label="操作" width="180" fixed="right">
+      <el-table-column label="操作" width="220" fixed="right">
         <template #default="{ row }">
+          <el-button link type="primary" @click="handleView(row)">详情</el-button>
           <el-button link type="primary" @click="handleEdit(row)">编辑</el-button>
           <el-button link type="danger" @click="handleDelete(row)">删除</el-button>
         </template>

+ 6 - 33
src/views/elderly/apply/nine-precautions/wander-away/AddForm.vue

@@ -7,8 +7,9 @@
             <el-col :span="6">
               <el-form-item label="姓名" prop="elderName">
                 <SelectElder
-                    ref="selectElderRef" :tenantId="dataForm.tenantId" @up="elderUp" :disabled="isDetail"
-                  :elderName="dataForm.elderName" />
+                  v-model="dataForm.elderId"
+                  ref="selectElderRef" :tId="dataForm.tenantId" @elder="elderUp" :disabled="isDetail"
+                />
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -352,36 +353,7 @@
         </el-checkbox-group>
       </div>
 
-      <!-- 提交参数字段说明 -->
-      <div class="api-params-section">
-        <div class="section-title">接口参数说明</div>
-        <el-descriptions :column="1" border>
-          <el-descriptions-item label="接口地址">POST /elderly-assess-wander-away/create 或 PUT /elderly-assess-wander-away/update</el-descriptions-item>
-          <el-descriptions-item label="id">记录ID(更新时必填)</el-descriptions-item>
-          <el-descriptions-item label="elderId">长者ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="tenantId">机构ID(必填)</el-descriptions-item>
-          <el-descriptions-item label="elderName">长者姓名</el-descriptions-item>
-          <el-descriptions-item label="elderSex">长者性别</el-descriptions-item>
-          <el-descriptions-item label="elderAge">长者年龄</el-descriptions-item>
-          <el-descriptions-item label="bedName">房号/床号</el-descriptions-item>
-          <el-descriptions-item label="assessData">
-            JSON字符串,包含:<br/>
-            - assessment: 评估记录 {assessDate, assessor, scores[], totalScore}<br/>
-            - preventionMeasures: 预防措施选项数组<br/>
-            - riskLevel: 风险等级(none/low/medium/high)
-          </el-descriptions-item>
-          <el-descriptions-item label="assessor">评估人()</el-descriptions-item>
-          <el-descriptions-item label="assessDate">评估日期(YYYY-MM-DD)</el-descriptions-item>
-        </el-descriptions>
-
-        <div class="risk-rules">
-          <div class="rules-title">风险等级规则:</div>
-          <el-tag type="success" class="rule-tag">0-3分:无风险</el-tag>
-          <el-tag type="info" class="rule-tag">4分:低风险</el-tag>
-          <el-tag type="warning" class="rule-tag">5-6分:中风险</el-tag>
-          <el-tag type="danger" class="rule-tag">≥7分:高风险</el-tag>
-        </div>
-      </div>
+
     </div>
 
     <template #footer>
@@ -500,7 +472,7 @@ const deserializeFormData = (formData: Record<string, any>) => {
   if (!formData) return
 
   if (formData.assessment) {
-    form.assessment.assessDate = formData.assessment.assessDate ? dayjs(formData.assessment.assessDate).toDate() : ''
+    form.assessment.assessDate = formData.assessment.assessDate || ''
     form.assessment.assessor = formData.assessment.assessor || ''
     form.assessment.scores = formData.assessment.scores || new Array(14).fill(0)
     form.assessment.totalScore = formData.assessment.totalScore || 0
@@ -592,6 +564,7 @@ const submitForm = async () => {
       bedName: dataForm.value.bedName,
       assessData: JSON.stringify(formData),
       riskLevel: form.riskLevel,
+      assessScore: form.assessment.totalScore || 0,
       assessor: form.assessment.assessor,
       assessDate: form.assessment.assessDate ? dayjs(form.assessment.assessDate).format('YYYY-MM-DD') : ''
     }

+ 1 - 1
src/views/elderly/apply/nine-precautions/wander-away/index.vue

@@ -66,7 +66,7 @@
       <el-table-column prop="elderName" header-align="center" align="center" label="长者姓名" min-width="150" show-overflow-tooltip/>
       <el-table-column prop="assessor" header-align="center" align="center" label="评估人" min-width="150" show-overflow-tooltip/>
       <el-table-column prop="assessDate" header-align="center" align="center" label="记录日期" min-width="150" show-overflow-tooltip/>
-      <el-table-column prop="totalScore" header-align="center" align="center" label="评估总得分" min-width="120" show-overflow-tooltip/>
+      <el-table-column prop="assessScore" header-align="center" align="center" label="评估总得分" min-width="120" show-overflow-tooltip/>
       <el-table-column prop="riskLevel" header-align="center" align="center" label="风险等级" min-width="120" show-overflow-tooltip>
         <template #default="scope">
           <el-tag :type="getRiskLevelType(scope.row.riskLevel)">