first commit

This commit is contained in:
cirry 2023-11-13 18:00:01 +08:00
commit 6a599ddbec

751
onekey-root.sh Normal file
View File

@ -0,0 +1,751 @@
<template>
<section class="form-component">
<el-row :class="[printable?'mb-2':'form-body']">
<el-col :span="13">
<el-form :model="form" :rules="rules" ref="formRef" label-width="14em">
<el-row class="form-title"><span class="title-line my-class"></span>{{ $t('elder.elderInformation') }}
</el-row>
<el-row :gutter="10">
<!-- 长者姓名 -->
<el-col :span="12">
<el-form-item class="required" :label="$t('elder.eldersName')+''" :prop="'careObject.name'"
:rules="otherRule.careObjectId">
<elder-autocomplete :name="form.careObject.name" @change="elderChange"
:disabled="openType!=='1'"></elder-autocomplete>
</el-form-item>
</el-col>
<!-- 身份证类型 -->
<el-col :span="12">
<el-form-item class="required" :label="$t('elder.identityType') + ''" prop="careObject.identityType"
:rules="identityType">
<el-select v-model="form.careObject.identityType" :placeholder="printable? '':$t('common.pleaseSelect')"
:disabled="true">
<el-option v-for="(item, index) in identityTypes" :key="index" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<!-- 身份证号 -->
<el-col :span="12">
<el-form-item :label="$t('common.identity')+''" prop="identity">
<el-input type="text" v-model="form.careObject.identity" auto-complete="off"
:placeholder="printable? '':$t('common.identityPlaceholder')" :disabled="true"></el-input>
</el-form-item>
</el-col>
<!-- 性别 -->
<el-col :span="12">
<el-form-item :label="$t('common.gender')+''" prop="gender">
<el-select v-model="form.careObject.gender" :placeholder="printable? '':$t('common.pleaseSelect')"
class="search-select" :disabled="true">
<el-option v-for="(item, index) in genderList" :key="index" :label="item.value"
:value="item.key"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!-- 民族、文化程度 -->
<el-row :gutter="10">
<!-- 年龄 -->
<!-- <el-col :span="12">
<el-form-item :label="$t('common.age')+''" prop="age">
<el-input type="text" v-model="form.careObject.age" auto-complete="off"
:placeholder="printable? '':$t('common.agePlaceholder')" :disabled="true"></el-input>
</el-form-item>
</el-col> -->
<!-- 出生日期 -->
<el-col :span="12">
<el-form-item :label="$t('elder.birthDate') + ''" prop="birthdayStr">
<el-date-picker v-model="form.careObject.birthdayStr" type="date" value-format="yyyy-MM-dd"
:placeholder="printable? '':$t('common.selectDate')" :disabled="true">
</el-date-picker>
</el-form-item>
</el-col>
<!-- 手机号 -->
<el-col :span="12">
<el-form-item :label="$t('system.phoneNumber')+ ''" :prop="'careObject.phoneNum'"
:rules="otherRule.phoneNum">
<el-input type="text" v-model="form.careObject.phoneNum"
:placeholder="printable? '':$t('common.pleaseEnter')"
auto-complete="off" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<!-- 宗教信仰、婚姻状况 -->
<el-row :gutter="10">
<!-- 民族 -->
<el-col :span="12">
<el-form-item :label="$t('elder.national')+''" prop="nation">
<el-select v-model="form.careObject.nation" :placeholder="printable? '':$t('common.pleaseSelect')"
class="search-select" :disabled="true">
<el-option v-for="(item, index) in nationList" :key="index" :label="item.value"
:value="item.key"></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- 文化程度 -->
<el-col :span="12">
<el-form-item :label="$t('elder.levelOfEducation')+''" prop="educationalLevel">
<el-select v-model="form.careObject.educationalLevel"
:placeholder="printable? '':$t('common.pleaseSelect')"
class="search-select" :disabled="true">
<el-option v-for="(item, index) in educationalLevelList" :key="index" :label="item.value"
:value="item.key"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!-- 居住情况、经济来源 -->
<el-row :gutter="10">
<el-col :span="12">
<el-form-item :label="$t('elder.religiousBeliefs')+''" prop="faith">
<el-select v-model="form.careObject.faith" :placeholder="printable? '':$t('common.pleaseSelect')"
class="search-select" :disabled="true">
<el-option v-for="(item, index) in faithList" :key="index" :label="item.value"
:value="item.key"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('elder.maritalStatus')+''" prop="maritalStatus">
<el-select v-model="form.careObject.maritalStatus"
:placeholder="printable? '':$t('common.pleaseSelect')"
class="search-select" :disabled="true">
<el-option v-for="(item, index) in maritalStatusList" :key="index" :label="item.value"
:value="item.key"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item :label="$t('elder.livingCondition')+''" prop="srcLive">
<el-select v-model="form.careObject.srcLive" :placeholder="printable? '':$t('common.pleaseSelect')"
class="search-select" :disabled="true">
<el-option v-for="(item, index) in srcLiveList" :key="index" :label="item.value"
:value="item.key"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('elder.economicSources')+''" prop="economicSources">
<el-select v-model="form.careObject.economicSources"
:placeholder="printable? '':$t('common.pleaseSelect')"
class="search-select" :disabled="true">
<el-option v-for="(item, index) in economicSourcesList" :key="index" :label="item.value"
:value="item.key"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!-- 社保卡号、医疗费用支付方式 -->
<el-row :gutter="10">
<!-- 劳动能力 -->
<el-col :span="12">
<el-form-item :label="$t('elder.abilityToWork')+ ''" :prop="'careObject.laborPower'"
:rules="otherRule.laborPower">
<el-select v-model="form.careObject.laborPower" :placeholder="printable? '':$t('common.pleaseSelect')"
class="search-select" disabled>
<el-option v-for="(item, index) in abilityList" :key="index" :label="item.value"
:value="item.key"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('elder.socialSecurityCardNumber')+''" :prop="'careObject.medicalNumber'"
:rules="otherRule.medicalNumber">
<el-input type="text" v-model="form.careObject.medicalNumber" auto-complete="off"
:placeholder="printable? '':$t('elder.elderInfoPlaceholder5')"
:disabled="openType==='4'"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('elder.medicalExpensesPayment')+''" prop="medicareType">
<el-select v-model="form.careObject.medicareType" :placeholder="printable? '':$t('common.pleaseSelect')"
class="search-select" :disabled="openType==='4'">
<el-option :label="printable?'':$t('common.pleaseSelect')" value=""></el-option>
<el-option v-for="(item, index) in medicalTypeList" :key="index" :label="item.value"
:value="item.key"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row class="form-title"><span class="title-line"></span>{{ $t('elder.assessmentBaseInfo') }}</el-row>
<!-- 评估编号、评估基准日期 -->
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="评估标准" prop="assessmentRecord.assessmentStandard">
<el-select v-model="form.assessmentRecord.assessmentStandard"
:placeholder="printable? '':$t('common.pleaseSelect')+ ''"
class="search-select" :disabled="openType === '4' || finished">
<el-option v-for="(item, index) in assessmentStandardList" :key="index" :label="item.value"
:value="item.key"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('elder.assessmentNumber')+''" prop="assessmentRecord.assessmentNumber">
<el-input type="text" v-model="form.assessmentRecord.assessmentNumber" auto-complete="off"
:placeholder="printable? '':$t('reception.fileNumberPlaceholder')"
:disabled="true"></el-input>
</el-form-item>
</el-col>
</el-row>
<!-- 评估原因 -->
<el-row :gutter="10">
<el-col :span="12">
<el-form-item class="required" :label="$t('elder.assessmentDate')+''"
prop="assessmentRecord.assessmentTimeStr" :rules="otherRule.assessmentTimeStr">
<el-date-picker type="date" v-model="form.assessmentRecord.assessmentTimeStr"
:picker-options="pickerOptions" value-format="timestamp"
:placeholder="printable? '':$t('common.pleaseSelect')"
:disabled="openType==='4'"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('elder.assessmentCase')+''" :prop="'assessmentRecord.assessmentReason'"
:rules="otherRule.assessmentReason">
<el-input type="text" v-model="form.assessmentRecord.assessmentReason" auto-complete="off"
:placeholder="printable? '':$t('common.pleaseEnter')" :disabled="openType==='4'"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row class="form-title"><span class="title-line"></span>{{ $t('elder.provideInfo') }}</el-row>
<!-- 信息提供者姓名、信息提供者是长者的 -->
<el-row :gutter="10">
<el-col :span="12">
<el-form-item :label="$t('elder.provideName')+''" :prop="'assessmentRecord.provideName'"
:rules="otherRule.provideName">
<el-input type="text" v-model="form.assessmentRecord.provideName" auto-complete="off"
:placeholder="printable? '':$t('common.namePlaceholder')"
:disabled="openType==='4'"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('elder.provideRelative')+''" :prop="'assessmentRecord.provideRelation'">
<el-select v-model="form.assessmentRecord.provideRelation"
:disabled="!form.assessmentRecord.provideName || openType==='4'"
:placeholder="printable? '':$t('common.pleaseSelect')"
class="search-select">
<el-option v-if="!printable" :label="$t('common.pleaseSelect')" value=""></el-option>
<el-option v-for="(item, index) in relationList" :key="index" :label="item.value"
:value="item.key"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<!-- 信息提供者手机号、紧急联系人姓名 -->
<el-col :span="12" v-if="openType!=='1' && openType!=='2'">
<el-form-item :label="$t('elder.informationProviderPhoneNumber')+''"
:prop="'assessmentRecord.providePhone'" :rules="otherRule.providePhone">
<el-input type="text" v-model="form.assessmentRecord.providePhone" auto-complete="off"
:placeholder="printable? '':$t('common.phoneNumPlaceholder')"
:disabled="openType==='4'"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('elder.emergencyName')+''" prop="contactsName">
<el-input type="text" v-model="form.assessmentRecord.contactsName" auto-complete="off"
:placeholder="printable? '':$t('common.namePlaceholder')" :disabled="true"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<!-- 紧急联系人手机号 -->
<el-col :span="12">
<el-form-item :label="$t('elder.emergencyContactPhoneNumber')+''" prop="contactsPhone">
<el-input type="text" v-model="form.assessmentRecord.contactsPhone" auto-complete="off"
:placeholder="printable? '':$t('common.phoneNumPlaceholder')" :disabled="true"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-col>
</el-row>
<el-row v-if="openType!=='4' && openType!=='5' && !printable" class="form-btns">
<el-button class="lb-btn lb-btn-primary" @click="save" :loading="btnLoad">{{
$t('common.save')
}}
</el-button>
</el-row>
</section>
</template>
<script>
import dictionary from "@ims/components2/system/dictionary/dictionary";
import elderAutocomplete from "../../../elder/components/elderAutocomplete";
import bedJs from '@ims/components2/bed/bed'
import {sexList} from 'lonbon-common/lib/dict.js'
export default {
components: {
elderAutocomplete
},
mixins: [dictionary, bedJs],
props: {
finished: {
type: Boolean
},
openType: {
type: String,
},
printable: {
type: Boolean,
}
},
data() {
let validateNumLetter = (rule, value, callback) => {
const repStr = /^[A-Za-z0-9]+$/
if (value && !repStr.test(value)) {
callback(new Error(this.$t('elder.validateTip3')));
} else {
callback();
}
};
return {
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now();
}
},
btnLoad: false,
elderInfo: {}, // 长者信息
identityTypes: [{
label: "中国居民身份证",
value: "0"
}, {
label: "香港身份证",
value: "1"
}, {
label: "澳门身份证",
value: "2"
}, {
label: "台湾身份证",
value: "3"
}],
form: {
// 基本信息
careObject: {
careObjectId: '', // 长者id
name: '', // 长者姓名
identityType: '0', // 身份证类别
identity: '', // 身份证
gender: '', // 性别
age: '', // 年龄
birthdayStr: '', // 出生日期
nation: '', //民族,
educationalLevel: '', //文化程度
faith: '', //宗教信仰
maritalStatus: '', //婚姻状况
srcLive: '', //居住情况
economicSources: '',//经济来源
medicalNumber: '', //社保卡号
medicareType: '',//医疗费用支付方式
laborPower: '', // 劳动能力
phoneNum: '', // 手机号
},
// 评估信息开始
assessmentRecord: {
assessmentTime: '', //评估时间
assessmentTimeStr: '', //展示的评估时间
assessmentNumber: '', //评估编号
assessmentReason: '', //评估原因
assessmentStandard: '2', // 评估标准
//信息提供者
provideName: '', //信息提供者姓名
provideRelation: '', //信息提供者与长者关系
contactsName: '', //联系人姓名
contactsPhone: '', //联系人手机号
providePhone: '', // 信息提供者手机号
},
},
otherRule: {
careObjectId: [{validator: this.$validate.empty, trigger: 'blur'}],
assessmentTimeStr: [{validator: this.$validate.empty, trigger: 'blur'}],
provideName: [{max: 4, message: this.$t('common.validateTip3', [4]), trigger: 'blur'}],
providePhone: [{validator: this.$validate.phone, trigger: 'blur',}],
assessmentReason: [{max: 20, message: this.$t('common.validateTip3', [20]), trigger: 'blur'}],
medicalNumber: [{validator: validateNumLetter, trigger: 'blur',}, {
max: 32,
message: this.$t('common.validateTip3', [32]),
trigger: 'blur'
}]
},
genderList: sexList, // 性别列表
nationList: [],// 民族列表
educationalLevelList: [], // 文化程度列表
faithList: [], // 宗教信仰列表
maritalStatusList: [], // 婚姻状态列表
srcLiveList: [], //居住情况列表
economicSourcesList: [],// 经济来源列表
medicalTypeList: [], // 医疗费用支付方式
careObjectId: '', // 长者信息id
resultInfo: '',// 评估结果 json字符串
relationList: [], // 关系列表
before: '', // 长者入住状态
abilityList: [], // 劳动能力列表
assessmentStandardList: [
{key: '1', value: '2013年评估标准'},
{key: '2', value: '2022年评估标准'},
],
}
},
async mounted() {
await this.getDictList(); // 获取字典数据
if (this.openType === '1') {// 健康状况监测,评估管理, 新增进入
return '';
} else if (this.openType === '2') { // 健康状况监测,评估管理, 编辑进入
await this.getNewBaseInfo(); // 获取个人基本信息
} else {
await this.getOldBaseInfo(); // 获取个人基本信息
}
},
methods: {
/**
* 获取用户基本信息
* @author: cirry
* @date: 2020/9/28 - 下午6:12
*/
async getOldBaseInfo() {
if (this.finished) { //判断是从已完成页面进入还是从未完成页面进入
this.careObjectId = localStorage.getItem('FinishAssessCareObjectId' + sessionStorage.accountId)
this.before = localStorage.getItem('FinishAssessTryStatus' + sessionStorage.accountId)
} else {
this.careObjectId = localStorage.getItem('AssessCareObjectId' + sessionStorage.accountId)
this.before = localStorage.getItem('AssessTryStatus' + sessionStorage.accountId)
}
// 如果是详情页面,覆写
if (this.openType === '4') {
this.careObjectId = localStorage.getItem('DetailAssessCareObjectId' + sessionStorage.accountId)
this.before = localStorage.getItem('DetailAssessTryStatus' + sessionStorage.accountId)
} else if (this.openType === '5') {
this.careObjectId = localStorage.getItem('DetailNotFinishAssessCareObjectId' + sessionStorage.accountId)
this.before = localStorage.getItem('DetailNotFinishAssessTryStatus' + sessionStorage.accountId)
}
let bedStr = ''; // 床位号
let response = await this.$axios.get("/api/v2.0/reception/elder-info", {
params: {careObjectId: this.careObjectId, type: '1'}
})
if (response.status === '200') {
let item = response.body;
if (item.bedName) {
bedStr = item.bedName
}
}
let params = {
before: this.before
}
let result = await this.$axios.get(`/api/v2.0/reception/health-assess/object/${this.careObjectId}`, {params})
if (result.status === '200') {
this.$emit('saveElderInfo', {...result.body, bedStr})
if (result.body.assessmentTime) {
result.body.assessmentTimeStr = result.body.assessmentTime * 1000
}
Object.keys(this.form.careObject).forEach(key => {
if (result.body[key]) {
this.form.careObject[key] = result.body[key].toString()
}
})
this.form.careObject.birthdayStr = (result.body.birthday || result.body.birthday === 0) ? this.$moment(result.body.birthday * 1000).format("YYYY-MM-DD") : ''
Object.keys(this.form.assessmentRecord).forEach(key => {
if (result.body[key]) {
this.form.assessmentRecord[key] = result.body[key].toString()
}
})
let temp = _.find(this.medicalTypeList, (item) => item.key === result.body.medicareType)
if (temp && temp.value) {
this.form.careObject.medicareType = result.body.medicareType
} else {
this.form.careObject.medicareType = ''
}
if (this.finished) { // 如果是已完成的用户在查询阶段就会保存assessmentId和评估结果
localStorage.setItem('FinishAssessmentRecordId' + sessionStorage.accountId, result.body.assessmentRecordId)
if (this.openType === '4') {
localStorage.setItem('DetailAssessmentRecordId' + sessionStorage.accountId, result.body.assessmentRecordId)
}
// 将总分传给父组件后,传递给长者评估页面,渲染页面
this.$emit('saveAssessmentGrade', result.body.assessmentGrade);
}
localStorage.setItem('EditAssessmentStandard' + sessionStorage.accountId, result.body.assessmentStandard ? result.body.assessmentStandard : '2')
if (this.openType === '4') {
localStorage.setItem('DetailAssessmentStandard' + sessionStorage.accountId, result.body.assessmentStandard ? result.body.assessmentStandard : '2')
}
}
},
/**
* 健康管理监测,评估管理,新增/编辑页面进入此页面调用的方法
* @author: cirry
* @date: 2020/11/10 - 下午6:10
*/
async getNewBaseInfo() {
// 需要两个接口才能渲染完这个baseInfo页面
if (this.openType === '2') {
this.careObjectId = localStorage.getItem('EditCapabilityAssessCareObjectId' + sessionStorage.accountId)
let params = {
careObjectId: this.careObjectId
}
let response = await this.$axios.get('/api/v2.0/service/health/assessment/ability/object', {params})
this.form.careObject.name = response.body.name
this.form.careObject.gender = response.body.gender
this.form.careObject.identity = response.body.identity
this.form.careObject.phoneNum = response.body.phoneNum
this.form.careObject.age = response.body.age
this.form.careObject.bedStr = response.body.bedStr
this.form.careObject.nation = response.body.nation
this.form.careObject.medicalNumber = response.body.medicalNumber
this.form.careObject.medicareType = response.body.medicareType
this.form.careObject.gender = response.body.gender
let temp = _.find(this.medicalTypeList, (item) => item.key === response.body.medicareType)
if (temp && temp.value) {
this.form.careObject.medicareType = response.body.medicareType
} else {
this.form.careObject.medicareType = ''
}
this.form.careObject.economicSources = response.body.economicSources
this.form.careObject.faith = response.body.faith
this.form.careObject.srcLive = response.body.srcLive
if (response.body.maritalStatus) {
this.form.careObject.maritalStatus = response.body.maritalStatus.toString()
}
if (response.body.educationalLevel) {
this.form.careObject.educationalLevel = response.body.educationalLevel.toString()
}
this.form.assessmentRecord.contactsName = response.body.contactsName
this.form.assessmentRecord.contactsPhone = response.body.contactsPhone
await this.getAssessmentResult()
// 传递给父页面elderInfo信息在最后的【评估结果】页面中使用
this.$emit('saveElderInfo', {
name: this.form.careObject.name,
identity: this.form.careObject.identity,
careObjectId: this.careObjectId,
assessmentStandard: this.form.assessmentRecord.assessmentStandard.toString()
})
localStorage.setItem('EditCapabilityAssessStandard' + sessionStorage.accountId, this.form.assessmentRecord.assessmentStandard.toString())
}
},
async getAssessmentResult() {
let params = {
assessmentRecordId: localStorage.getItem('EditCapabilityAssessmentRecordId' + sessionStorage.accountId)
}
let response = await this.$axios.get('/api/v2.0/service/health/assessment/ability', {params})
if (response.status == '200') {
if (response.body.assessmentTime) {
this.form.assessmentRecord.assessmentTimeStr = response.body.assessmentTime * 1000
}
this.form.assessmentRecord.assessmentStandard = response.body.assessmentStandard.toString()
this.form.assessmentRecord.assessmentReason = response.body.assessmentReason
this.form.assessmentRecord.provideName = response.body.provideName
this.form.assessmentRecord.provideRelation = response.body.provideRelation
this.form.assessmentRecord.assessmentNumber = response.body.assessmentNumber
this.form.careObject.medicalNumber = response.body.medicalNumber
this.form.careObject.medicareType = response.body.medicareType
let temp = _.find(this.medicalTypeList, (item) => item.key === response.body.medicareType)
if (temp && temp.value) {
this.form.careObject.medicareType = response.body.medicareType
} else {
this.form.careObject.medicareType = ''
}
// 将总分传给父组件后,传递给长者评估页面,渲染页面
this.$emit('saveAssessmentGrade', response.body.assessmentGrade);
}
},
/**
* 获取页面所需字典数据
* @author: cirry
* @date: 2020/9/28 - 下午6:12
*/
async getDictList() {
let arr = ['medical_expenses_pay_type', 'national', 'educational_level', 'religion_faith', 'marital_status', 'live_status', 'economic_sources', 'information_provider', 'work_power']
let res = await this.getDictionaryByTypeList(arr)
this.nationList = res.national
this.educationalLevelList = res['educational_level']
this.faithList = res['religion_faith']
this.maritalStatusList = res['marital_status']
this.srcLiveList = res['live_status']
this.economicSourcesList = res['economic_sources']
this.relationList = res['information_provider']
this.abilityList = res['work_power']
// 获取 医疗费用的支付方式
this.medicalTypeList = res['medical_expenses_pay_type']
},
/**
* 基本信息保存按钮方法
* @author: cirry
* @date: 2020/9/25 - 上午9:22
* @returns {Promise<boolean>} assessmentRecordId // 评估结果id
*/
save() {
this.$refs.formRef.validate(async (valid) => {
if (valid) {
this.btnLoad = true
let accessParams = _.cloneDeep(this.form)
if (this.openType === '1') { // 如果有长者id说明是健康状况监测新增进来的
this.careObjectId = this.form.careObject.careObjectId
} else if (this.openType === '2') {
this.careObjectId = localStorage.getItem('EditCapabilityAssessCareObjectId' + sessionStorage.accountId)
} else {
if (this.finished) { //判断是从已完成页面进入还是从未完成页面进入
this.careObjectId = localStorage.getItem('FinishAssessCareObjectId' + sessionStorage.accountId)
accessParams.before = localStorage.getItem('FinishAssessTryStatus' + sessionStorage.accountId)
if (this.openType === '4') {
this.careObjectId = localStorage.getItem('DetailAssessCareObjectId' + sessionStorage.accountId)
accessParams.before = localStorage.getItem('DetailAssessTryStatus' + sessionStorage.accountId)
}
} else {
this.careObjectId = localStorage.getItem('AssessCareObjectId' + sessionStorage.accountId)
accessParams.before = localStorage.getItem('AssessTryStatus' + sessionStorage.accountId)
}
}
// 处理日期格式 /1000
this.form.assessmentRecord.assessmentTime = this.form.assessmentRecord.assessmentTimeStr / 1000;
accessParams.assessmentRecord.assessmentTime = accessParams.assessmentRecord.assessmentTimeStr / 1000;
// 获取主键id
if (this.openType === '1') { //从健康状况监测 新增进来的
let params = {
careObjectId: this.careObjectId,
assessmentTime: this.form.assessmentRecord.assessmentTime,
assessmentReason: this.form.assessmentRecord.assessmentReason,
provideName: this.form.assessmentRecord.provideName,
provideRelation: this.form.assessmentRecord.provideRelation,
medicalNumber: this.form.careObject.medicalNumber,
medicareType: this.form.careObject.medicareType,
assessmentStandard: this.form.assessmentRecord.assessmentStandard,
}
let result = await this.$axios.post(`/api/v2.0/service/health/assessment/ability`, params)
if (result.status == '200') {
this.$message.success(this.$t('common.saveSuccess'));
// 保存长者能力评估接口会用到长着评估id, 新增的长者id和长者评估id
localStorage.setItem('CapabilityAssessCareObjectId' + sessionStorage.accountId, this.careObjectId)
localStorage.setItem('CapabilityAssessmentRecordId' + sessionStorage.accountId, result.body.assessmentRecordId)
localStorage.setItem('CapabilityAssessmentStandard' + sessionStorage.accountId, this.form.assessmentRecord.assessmentStandard,)
this.$emit('saveElderInfo', {
name: this.form.careObject.name,
identity: this.form.careObject.identity,
careObjectId: this.careObjectId,
assessmentStandard: this.form.assessmentRecord.assessmentStandard.toString()
})
// 跳转到下一个页面
this.$emit('next')
}
} else if (this.openType === '2') {// 健康状况监测编辑进来的
let params = {
careObjectId: this.careObjectId,
assessmentTime: this.form.assessmentRecord.assessmentTime,
assessmentRecordId: localStorage.getItem('EditCapabilityAssessmentRecordId' + sessionStorage.accountId),
assessmentReason: this.form.assessmentRecord.assessmentReason,
provideName: this.form.assessmentRecord.provideName,
provideRelation: this.form.assessmentRecord.provideRelation,
medicalNumber: this.form.careObject.medicalNumber,
medicareType: this.form.careObject.medicareType,
assessmentStandard: this.form.assessmentRecord.assessmentStandard,
}
let result = await this.$axios.put(`/api/v2.0/service/health/assessment/ability`, params)
if (result.status == '200') {
localStorage.setItem('EditCapabilityAssessStandard' + sessionStorage.accountId, this.form.assessmentRecord.assessmentStandard,)
this.$message.success(this.$t('common.saveSuccess'));
// 跳转到下一个页面
this.$emit('next')
}
} else {
let result = await this.$axios.put(`/api/v2.0/reception/health-assess/object/${this.careObjectId}`, accessParams)
if (result.status == '200') {
this.$message.success(this.$t('common.saveSuccess'));
// 获取到的评估id并存储
// 未完成点击保存后后台会返回这个id已完成的在查询基本信息的时候就能查到此id
localStorage.setItem('AssessmentRecordId' + sessionStorage.accountId, result.body.assessmentRecordId)
// 跳转到下一个页面
this.$emit('next')
}
if (!this.finished) {
localStorage.setItem('EditAssessmentStandard' + sessionStorage.accountId, this.form.assessmentRecord.assessmentStandard)
}
}
this.btnLoad = false
}
})
},
async elderChange(elderInfo) {
// 获取到长者信息之后给表单赋值
this.form.careObject.careObjectId = elderInfo.careObjectId
// 根据此id 去查询长者的其他基本信息
await this.getElderInfo()
},
async getElderInfo() {
let params = {
careObjectId: this.form.careObject.careObjectId
}
let response = await this.$axios.get('/api/v2.0/service/health/assessment/ability/object', {params})
if (response.status == '200') {
this.form.careObject.name = response.body.name
this.form.careObject.gender = response.body.gender
this.form.careObject.identity = response.body.identity
this.form.careObject.phoneNum = response.body.phoneNum
this.form.careObject.laborPower = response.body.laborPower
this.form.careObject.age = response.body.age
this.form.careObject.bedStr = response.body.bedStr
this.form.careObject.nation = response.body.nation
this.form.careObject.medicalNumber = response.body.medicalNumber
this.form.careObject.economicSources = response.body.economicSources
this.form.careObject.faith = response.body.faith
this.form.careObject.medicareType = response.body.medicareType
this.form.careObject.srcLive = response.body.srcLive
if (_.toString(response.body.maritalStatus)) {
this.form.careObject.maritalStatus = response.body.maritalStatus.toString()
}
if (_.toString(response.body.educationalLevel)) {
this.form.careObject.educationalLevel = response.body.educationalLevel.toString()
}
this.form.assessmentRecord.contactsName = response.body.contactsName
this.form.assessmentRecord.contactsPhone = response.body.contactsPhone
}
}
},
watch: {
'form.assessmentRecord.provideName': {
handler(newVal, oldVal) {
if (!newVal) {
this.form.assessmentRecord.provideRelation = ''
}
},
immediate: true,
deep: true
}
}
}
</script>
<style lang="less" scoped>
.mb-2 {
margin-bottom: 2em;
}
</style>