|
|
@@ -40,11 +40,11 @@
|
|
|
<el-row :gutter="40">
|
|
|
<el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12" class="row">
|
|
|
<text>评估人签字</text>
|
|
|
- <el-input v-model="form.assessor" />
|
|
|
+ <el-input :disabled="isDetail" v-model="form.assessor" />
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12" class="row">
|
|
|
<text>评估日期</text>
|
|
|
- <el-date-picker v-model="form.assessDate" type="date" style="width: 100%;"/>
|
|
|
+ <el-date-picker :disabled="isDetail" v-model="form.assessDate" type="date" style="width: 100%;"/>
|
|
|
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -58,26 +58,26 @@
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">1.</span>
|
|
|
<span class="item-label">收入来源:</span>
|
|
|
- <el-checkbox-group v-model="form.incomeSource" class="inline-checkbox-group">
|
|
|
+ <el-checkbox-group :disabled="isDetail" v-model="form.incomeSource" class="inline-checkbox-group">
|
|
|
<el-checkbox v-for="opt in incomeSourceOptions" :key="opt.value" :value="opt.value">
|
|
|
{{ opt.label }}
|
|
|
</el-checkbox>
|
|
|
</el-checkbox-group>
|
|
|
<template v-if="form.incomeSource.includes('其他')">
|
|
|
- <el-input v-model="form.incomeSourceOther" class="other-input" />
|
|
|
+ <el-input :disabled="isDetail" v-model="form.incomeSourceOther" class="other-input" />
|
|
|
</template>
|
|
|
</div>
|
|
|
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">2.</span>
|
|
|
<span class="item-label">财政处理:</span>
|
|
|
- <el-checkbox-group v-model="form.financialManagement" class="inline-checkbox-group">
|
|
|
+ <el-checkbox-group :disabled="isDetail" v-model="form.financialManagement" class="inline-checkbox-group">
|
|
|
<el-checkbox v-for="opt in financialManagementOptions" :key="opt.value" :value="opt.value">
|
|
|
{{ opt.label }}
|
|
|
</el-checkbox>
|
|
|
</el-checkbox-group>
|
|
|
<template v-if="form.financialManagement.includes('其他')">
|
|
|
- <el-input v-model="form.financialManagementOther" class="other-input" />
|
|
|
+ <el-input :disabled="isDetail" v-model="form.financialManagementOther" class="other-input" />
|
|
|
</template>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -89,7 +89,7 @@
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">3.</span>
|
|
|
<span class="item-label">婚姻状况:</span>
|
|
|
- <el-radio-group v-model="form.maritalStatus" class="inline-radio-group">
|
|
|
+ <el-radio-group :disabled="isDetail" v-model="form.maritalStatus" class="inline-radio-group">
|
|
|
<el-radio v-for="opt in maritalStatusOptions" :key="opt.value" :value="opt.value">
|
|
|
{{ opt.label }}
|
|
|
</el-radio>
|
|
|
@@ -99,43 +99,43 @@
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">4.</span>
|
|
|
<span class="item-label">近亲家属:</span>
|
|
|
- <span class="sub-item">儿子<el-input v-model="form.familyMembers.son" class="tiny-input" />名</span>
|
|
|
- <span class="sub-item">女儿<el-input v-model="form.familyMembers.daughter" class="tiny-input" />名</span>
|
|
|
- <span class="sub-item">女婿<el-input v-model="form.familyMembers.sonInLaw" class="tiny-input" />名</span>
|
|
|
- <span class="sub-item">儿媳<el-input v-model="form.familyMembers.daughterInLaw" class="tiny-input" />名</span>
|
|
|
- <span class="sub-item">孙子女<el-input v-model="form.familyMembers.grandChildren" class="tiny-input" />名</span>
|
|
|
+ <span class="sub-item">儿子<el-input :disabled="isDetail" v-model="form.familyMembers.son" class="tiny-input" />名</span>
|
|
|
+ <span class="sub-item">女儿<el-input :disabled="isDetail" v-model="form.familyMembers.daughter" class="tiny-input" />名</span>
|
|
|
+ <span class="sub-item">女婿<el-input :disabled="isDetail" v-model="form.familyMembers.sonInLaw" class="tiny-input" />名</span>
|
|
|
+ <span class="sub-item">儿媳<el-input :disabled="isDetail" v-model="form.familyMembers.daughterInLaw" class="tiny-input" />名</span>
|
|
|
+ <span class="sub-item">孙子女<el-input :disabled="isDetail" v-model="form.familyMembers.grandChildren" class="tiny-input" />名</span>
|
|
|
</div>
|
|
|
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">5.</span>
|
|
|
<span class="item-label">主要照顾亲属:</span>
|
|
|
- <span class="sub-item">姓名:<el-input v-model="form.mainCaregiver.name" class="short-input" /></span>
|
|
|
- <span class="sub-item">关系:<el-input v-model="form.mainCaregiver.relation" class="short-input" /></span>
|
|
|
+ <span class="sub-item">姓名:<el-input :disabled="isDetail" v-model="form.mainCaregiver.name" class="short-input" /></span>
|
|
|
+ <span class="sub-item">关系:<el-input :disabled="isDetail" v-model="form.mainCaregiver.relation" class="short-input" /></span>
|
|
|
</div>
|
|
|
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">6.</span>
|
|
|
<span class="item-label">入院前居住情况:</span>
|
|
|
- <el-radio-group v-model="form.preAdmissionLiving" class="inline-radio-group">
|
|
|
+ <el-radio-group :disabled="isDetail" v-model="form.preAdmissionLiving" class="inline-radio-group">
|
|
|
<el-radio v-for="opt in preAdmissionLivingOptions" :key="opt.value" :value="opt.value">
|
|
|
{{ opt.label }}
|
|
|
</el-radio>
|
|
|
</el-radio-group>
|
|
|
<template v-if="form.preAdmissionLiving === '其他'">
|
|
|
- <el-input v-model="form.preAdmissionLivingOther" class="other-input" />
|
|
|
+ <el-input :disabled="isDetail" v-model="form.preAdmissionLivingOther" class="other-input" />
|
|
|
</template>
|
|
|
</div>
|
|
|
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">7.</span>
|
|
|
<span class="item-label">家人/亲友到访情况:</span>
|
|
|
- <el-radio-group v-model="form.familyVisitFrequency" class="inline-radio-group">
|
|
|
+ <el-radio-group :disabled="isDetail" v-model="form.familyVisitFrequency" class="inline-radio-group">
|
|
|
<el-radio v-for="opt in familyVisitFrequencyOptions" :key="opt.value" :value="opt.value">
|
|
|
{{ opt.label }}
|
|
|
</el-radio>
|
|
|
</el-radio-group>
|
|
|
<template v-if="form.familyVisitFrequency === 'not_applicable'">
|
|
|
- <el-input v-model="form.familyVisitFrequencyOther" class="other-input" />
|
|
|
+ <el-input :disabled="isDetail" v-model="form.familyVisitFrequencyOther" class="other-input" />
|
|
|
</template>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -147,14 +147,14 @@
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">8.</span>
|
|
|
<span class="item-label">健康状况:</span>
|
|
|
- <el-radio-group v-model="form.healthStatus" class="inline-radio-group">
|
|
|
+ <el-radio-group :disabled="isDetail" v-model="form.healthStatus" class="inline-radio-group">
|
|
|
<el-radio v-for="opt in healthStatusOptions" :key="opt.value" :value="opt.value">
|
|
|
{{ opt.label }}
|
|
|
</el-radio>
|
|
|
</el-radio-group>
|
|
|
<template v-if="form.healthStatus === 'poor'">
|
|
|
<span class="sub-label">(请注明病类:</span>
|
|
|
- <el-input v-model="form.healthStatusDisease" class="short-input" />
|
|
|
+ <el-input :disabled="isDetail" v-model="form.healthStatusDisease" class="short-input" />
|
|
|
<span class="sub-label">)</span>
|
|
|
</template>
|
|
|
</div>
|
|
|
@@ -167,45 +167,45 @@
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">9.</span>
|
|
|
<span class="item-label">教育程度:</span>
|
|
|
- <el-radio-group v-model="form.educationLevel" class="inline-radio-group">
|
|
|
+ <el-radio-group :disabled="isDetail" v-model="form.educationLevel" class="inline-radio-group">
|
|
|
<el-radio v-for="opt in educationLevelOptions" :key="opt.value" :value="opt.value">
|
|
|
{{ opt.label }}
|
|
|
</el-radio>
|
|
|
</el-radio-group>
|
|
|
<template v-if="form.educationLevel === '其他'">
|
|
|
- <el-input v-model="form.educationLevelOther" class="other-input" />
|
|
|
+ <el-input :disabled="isDetail" v-model="form.educationLevelOther" class="other-input" />
|
|
|
</template>
|
|
|
</div>
|
|
|
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">10.</span>
|
|
|
<span class="item-label">政治面貌:</span>
|
|
|
- <el-input v-model="form.politicalStatus" class="medium-input" />
|
|
|
+ <el-input :disabled="isDetail" v-model="form.politicalStatus" class="medium-input" />
|
|
|
</div>
|
|
|
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">11.</span>
|
|
|
<span class="item-label">以往职业:</span>
|
|
|
- <el-input v-model="form.previousOccupation" class="medium-input" />
|
|
|
+ <el-input :disabled="isDetail" v-model="form.previousOccupation" class="medium-input" />
|
|
|
</div>
|
|
|
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">12.</span>
|
|
|
<span class="item-label">以前是否入住过养老院:</span>
|
|
|
- <el-radio-group v-model="form.hasStayedInNursingHome" class="inline-radio-group">
|
|
|
+ <el-radio-group :disabled="isDetail" v-model="form.hasStayedInNursingHome" class="inline-radio-group">
|
|
|
<el-radio v-for="opt in hasStayedInNursingHomeOptions" :key="opt.value" :value="opt.value">
|
|
|
{{ opt.label }}
|
|
|
</el-radio>
|
|
|
</el-radio-group>
|
|
|
<template v-if="form.hasStayedInNursingHome === '有'">
|
|
|
- <el-input v-model="form.nursingHomeStayDetail" class="other-input" />
|
|
|
+ <el-input :disabled="isDetail" v-model="form.nursingHomeStayDetail" class="other-input" />
|
|
|
</template>
|
|
|
</div>
|
|
|
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">13.</span>
|
|
|
<span class="item-label">来老人院的原因:</span>
|
|
|
- <el-input v-model="form.reasonForAdmission" class="long-input" />
|
|
|
+ <el-input :disabled="isDetail" v-model="form.reasonForAdmission" class="long-input" />
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
@@ -216,13 +216,13 @@
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">14.</span>
|
|
|
<span class="item-label">院内好友:</span>
|
|
|
- <el-input v-model="form.friendsInHome" class="long-input" />
|
|
|
+ <el-input :disabled="isDetail" v-model="form.friendsInHome" class="long-input" />
|
|
|
</div>
|
|
|
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">15.</span>
|
|
|
<span class="item-label">社交喜好:</span>
|
|
|
- <el-radio-group v-model="form.socialPreference" class="inline-radio-group">
|
|
|
+ <el-radio-group :disabled="isDetail" v-model="form.socialPreference" class="inline-radio-group">
|
|
|
<el-radio v-for="opt in socialPreferenceOptions" :key="opt.value" :value="opt.value">
|
|
|
{{ opt.label }}
|
|
|
</el-radio>
|
|
|
@@ -232,7 +232,7 @@
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">16.</span>
|
|
|
<span class="item-label">心情不好时的反应:</span>
|
|
|
- <el-input v-model="form.badMoodReaction" class="long-input" />
|
|
|
+ <el-input :disabled="isDetail" v-model="form.badMoodReaction" class="long-input" />
|
|
|
</div>
|
|
|
|
|
|
<div class="form-item hobby-item">
|
|
|
@@ -241,15 +241,15 @@
|
|
|
<span class="item-label">兴趣爱好:</span>
|
|
|
</div>
|
|
|
|
|
|
- <el-checkbox-group v-model="form.hobbies" class="hobby-checkbox-group">
|
|
|
- <el-checkbox v-for="opt in hobbyOptions" :key="opt.value" :value="opt.value">
|
|
|
+ <el-checkbox-group :disabled="isDetail" v-model="form.hobbies" class="hobby-checkbox-group">
|
|
|
+ <el-checkbox v-for="opt in hobbyOptions" :key="opt.value" :value="opt.value">
|
|
|
{{ opt.label }}
|
|
|
</el-checkbox>
|
|
|
</el-checkbox-group>
|
|
|
<template v-if="form.hobbies.includes('其他')">
|
|
|
<div class="hobby-other">
|
|
|
<span class="sub-label">(请注明:</span>
|
|
|
- <el-input v-model="form.hobbiesOther" class="short-input" />
|
|
|
+ <el-input :disabled="isDetail" v-model="form.hobbiesOther" class="short-input" />
|
|
|
<span class="sub-label">)</span>
|
|
|
</div>
|
|
|
</template>
|
|
|
@@ -258,36 +258,22 @@
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">18.</span>
|
|
|
<span class="item-label">特别喜欢/重视的东西或节日等:</span>
|
|
|
- <el-input v-model="form.specialFestival" class="long-input" />
|
|
|
+ <el-input :disabled="isDetail" v-model="form.specialFestival" class="long-input" />
|
|
|
</div>
|
|
|
|
|
|
<div class="form-item">
|
|
|
<span class="item-number">19.</span>
|
|
|
<span class="item-label">其他特别的事项记录:</span>
|
|
|
- <el-input v-model="form.otherSpecialNotes" class="long-input" />
|
|
|
+ <el-input :disabled="isDetail" v-model="form.otherSpecialNotes" class="long-input" />
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
- <div><div style="font-weight: bold">这是提交字段,后端可照此字段创建数据表</div>:
|
|
|
- {
|
|
|
- "fileNumber": "NS20190098",
|
|
|
- "elderName": "陈木娣",
|
|
|
- "bedName": "养护楼-4层-407-04",
|
|
|
- "checkInTime": 1562284800000,
|
|
|
- "elderId": 17563,
|
|
|
- "tenantId": 211,
|
|
|
- "assessmentData": "{\"assessor\":\"啊啊\",\"assessDate\":\"2026-03-14\",\"incomeSource\":[],\"incomeSourceOther\":\"\",\"financialManagement\":[],\"financialManagementOther\":\"\",\"maritalStatus\":\"已婚\",\"familyMembers\":{\"son\":\"1\",\"daughter\":\"\",\"sonInLaw\":\"\",\"daughterInLaw\":\"\",\"grandChildren\":\"\"},\"mainCaregiver\":{\"name\":\"2\",\"relation\":\"\"},\"preAdmissionLiving\":\"\",\"preAdmissionLivingOther\":\"\",\"familyVisitFrequency\":\"\",\"familyVisitFrequencyOther\":\"\",\"healthStatus\":\"\",\"healthStatusDisease\":\"\",\"educationLevel\":\"高中\",\"educationLevelOther\":\"\",\"politicalStatus\":\"\",\"previousOccupation\":\"\",\"hasStayedInNursingHome\":\"\",\"nursingHomeStayDetail\":\"\",\"reasonForAdmission\":\"\",\"friendsInHome\":\"\",\"socialPreference\":\"\",\"badMoodReaction\":\"\",\"hobbies\":[],\"hobbiesOther\":\"\",\"specialFestival\":\"\",\"otherSpecialNotes\":\"\"}",
|
|
|
- "assessor": "啊啊",
|
|
|
- "assessDate": "2026-03-14",
|
|
|
- "orgType": 1
|
|
|
- }
|
|
|
- </div>
|
|
|
|
|
|
<template #footer>
|
|
|
<el-button @click="handleClosed">关闭</el-button>
|
|
|
- <el-button 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>
|
|
|
|
|
|
@@ -499,10 +485,10 @@ const open = async (tenantId, id?: any, detail: boolean = false) => {
|
|
|
await loadPsychologicalSocialData(id)
|
|
|
} else {
|
|
|
title.value = "新增-长者心理社交情况"
|
|
|
- // 如果选择了长者,尝试加载已有的心理社交情况数据
|
|
|
- if (dataForm.value.elderId) {
|
|
|
- await loadPsychologicalSocialByElderId(dataForm.value.elderId)
|
|
|
- }
|
|
|
+ // // 如果选择了长者,尝试加载已有的心理社交情况数据
|
|
|
+ // if (dataForm.value.elderId) {
|
|
|
+ // await loadPsychologicalSocialByElderId(dataForm.value.elderId)
|
|
|
+ // }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -662,10 +648,11 @@ const loadPsychologicalSocialData = async (id: number) => {
|
|
|
dataForm.value.checkInTime = res.checkInTime || ''
|
|
|
dataForm.value.fileNumber = res.fileNumber || ''
|
|
|
dataForm.value.elderAge = res.elderAge || ''
|
|
|
+ await selectElderRef.value.upData(res.elderName, res.elderId)
|
|
|
|
|
|
- // 解析 assessmentData
|
|
|
- if (res.assessmentData) {
|
|
|
- const formData = JSON.parse(res.assessmentData)
|
|
|
+ // 解析 assessData
|
|
|
+ if (res.assessData) {
|
|
|
+ const formData = JSON.parse(res.assessData)
|
|
|
deserializeFormData(formData)
|
|
|
}
|
|
|
}
|
|
|
@@ -678,8 +665,8 @@ const loadPsychologicalSocialData = async (id: number) => {
|
|
|
const loadPsychologicalSocialByElderId = async (elderId: number) => {
|
|
|
try {
|
|
|
const res = await psychologicalSocialGetByElderId(elderId)
|
|
|
- if (res && res.assessmentData) {
|
|
|
- const formData = JSON.parse(res.assessmentData)
|
|
|
+ if (res && res.assessData) {
|
|
|
+ const formData = JSON.parse(res.assessData)
|
|
|
deserializeFormData(formData)
|
|
|
}
|
|
|
} catch (error) {
|
|
|
@@ -696,10 +683,10 @@ const submitForm = async () => {
|
|
|
formLoading.value = true
|
|
|
// 提交请求
|
|
|
try {
|
|
|
- const assessmentData = serializeFormData()
|
|
|
+ const assessData = serializeFormData()
|
|
|
const tempParams = {
|
|
|
...dataForm.value,
|
|
|
- assessmentData: JSON.stringify(assessmentData),
|
|
|
+ assessData: JSON.stringify(assessData),
|
|
|
assessor: form.assessor,
|
|
|
assessDate: form.assessDate ? dayjs(form.assessDate).format('YYYY-MM-DD') : ''
|
|
|
}
|