first commit
This commit is contained in:
commit
6a599ddbec
751
onekey-root.sh
Normal file
751
onekey-root.sh
Normal 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>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user