<template>
|
<div class="app-container" v-loading="loading">
|
<template v-if="archive">
|
<div class="action-bar">
|
<el-button @click="$router.go(-1)" icon="el-icon-back">返回</el-button>
|
<el-button :type="editing ? 'success' : 'primary'" :icon="editing ? 'el-icon-check' : 'el-icon-edit'" @click="toggleEdit">{{ editing ? '保存' : '编辑' }}</el-button>
|
<el-tag :type="archive.subType === 'pregnancy' ? 'success' : 'warning'" style="margin-left:12px">{{ archive.subTypeLabel }}</el-tag>
|
</div>
|
|
<!-- 患者基本信息 -->
|
<el-card class="info-card" shadow="never">
|
<div slot="header" class="card-header"><span>患者基本信息</span></div>
|
<el-row :gutter="20">
|
<el-col :span="6"><InfoField label="姓名" :value="archive.patname" /></el-col>
|
<el-col :span="6"><InfoField label="性别" :value="archive.sex == 1 ? '男' : '女'" /></el-col>
|
<el-col :span="6"><InfoField label="年龄" :value="archive.age" /></el-col>
|
<el-col :span="6"><InfoField label="电话" :value="archive.telcode" /></el-col>
|
</el-row>
|
<el-row :gutter="20" style="margin-top:10px">
|
<el-col :span="6"><InfoField label="科室" :value="archive.deptname" /></el-col>
|
<el-col :span="6"><InfoField label="诊断" :value="archive.diagname" /></el-col>
|
<el-col :span="6"><InfoField label="主治医生" :value="archive.drname" /></el-col>
|
<el-col :span="6"><InfoField label="来源" :value="sourceLabel" /></el-col>
|
</el-row>
|
</el-card>
|
|
<!-- 档案基本信息 -->
|
<el-card class="info-card" shadow="never" style="margin-top:14px">
|
<div slot="header" class="card-header">
|
<span>档案基本信息</span>
|
<span class="header-sub">{{ archive.createTime ? archive.createTime.substring(0,10) : '-' }} 建档</span>
|
</div>
|
<el-row :gutter="20">
|
<el-col :span="8"><InfoField label="建档类型" :value="archive.subTypeLabel" /></el-col>
|
<el-col :span="8"><InfoField label="建档医生" :value="archive.archiveForm.doctorName" :editing="editing" v-model="archive.archiveForm.doctorName" /></el-col>
|
<el-col :span="8"><InfoField label="建档时间" :value="archive.createTime" /></el-col>
|
</el-row>
|
<!-- 孕妇专属 -->
|
<el-row v-if="archive.subType === 'pregnancy'" :gutter="20" style="margin-top:10px">
|
<el-col :span="6"><InfoField label="孕周" :value="archive.archiveForm.gestationalWeek" :editing="editing" v-model="archive.archiveForm.gestationalWeek" type="number" /></el-col>
|
<el-col :span="6"><InfoField label="孕次/产次" :value="'G'+(archive.archiveForm.gravidity||1)+'P'+(archive.archiveForm.parity||0)" /></el-col>
|
<el-col :span="6"><InfoField label="预产期" :value="archive.archiveForm.edd" /></el-col>
|
<el-col :span="6"><InfoField label="高危妊娠" :value="archive.archiveForm.highRiskPregnancy ? '是' : '否'" /></el-col>
|
</el-row>
|
<el-row v-if="archive.subType === 'menopause'" :gutter="20" style="margin-top:10px">
|
<el-col :span="8"><InfoField label="月经状态" :value="menstrualLabel" /></el-col>
|
<el-col :span="8"><InfoField label="末次月经" :value="archive.archiveForm.lmp" /></el-col>
|
</el-row>
|
</el-card>
|
|
<!-- ===== 孕妇随访:3个表单 ===== -->
|
<template v-if="archive.subType === 'pregnancy'">
|
<el-card class="info-card" shadow="never" style="margin-top:14px">
|
<div slot="header" class="card-header"><span>孕妇随访管理</span></div>
|
<el-tabs v-model="activeTab" type="border-card">
|
<!-- 1. 孕妇随访系统问题 -->
|
<el-tab-pane label="孕妇随访系统问题" name="sysQ">
|
<el-form :model="form.pregSysQ" label-width="150px" size="small" :disabled="!editing">
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="填写日期"><el-date-picker v-model="form.pregSysQ.date" value-format="yyyy-MM-dd" style="width:100%" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="孕周"><el-input-number v-model="form.pregSysQ.gestWeek" :min="1" :max="42" /></el-form-item></el-col>
|
</el-row>
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="体重(kg)"><el-input-number v-model="form.pregSysQ.weight" :precision="1" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="血压"><el-input v-model="form.pregSysQ.bloodPressure" placeholder="收缩压/舒张压" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="宫高(cm)"><el-input-number v-model="form.pregSysQ.fundalHeight" /></el-form-item></el-col>
|
</el-row>
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="胎心(次/分)"><el-input-number v-model="form.pregSysQ.fetalHeart" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="水肿"><el-select v-model="form.pregSysQ.edema" style="width:100%"><el-option label="无" value="无" /><el-option label="+" value="+" /><el-option label="++" value="++" /><el-option label="+++" value="+++" /></el-select></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="尿蛋白"><el-select v-model="form.pregSysQ.urineProtein" style="width:100%"><el-option label="-" value="-" /><el-option label="±" value="±" /><el-option label="+" value="+" /><el-option label="++" value="++" /></el-select></el-form-item></el-col>
|
</el-row>
|
<el-form-item label="自觉症状"><el-input v-model="form.pregSysQ.symptoms" type="textarea" :rows="2" placeholder="头晕/眼花/胸闷/腹痛等" /></el-form-item>
|
<el-form-item label="处理意见"><el-input v-model="form.pregSysQ.advice" type="textarea" :rows="2" /></el-form-item>
|
<el-form-item label="下次随访日期"><el-date-picker v-model="form.pregSysQ.nextVisit" value-format="yyyy-MM-dd" style="width:200px" /></el-form-item>
|
<el-form-item label="随访医生"><el-input v-model="form.pregSysQ.doctor" style="width:200px" /></el-form-item>
|
</el-form>
|
</el-tab-pane>
|
|
<!-- 2. 孕妇首诊信息登记表 -->
|
<el-tab-pane label="丽水妇幼保健院孕妇首诊信息登记表" name="firstVisit">
|
<el-form :model="form.pregFirst" label-width="160px" size="small" :disabled="!editing">
|
<el-divider content-position="left">基本信息</el-divider>
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="建档日期"><el-date-picker v-model="form.pregFirst.regDate" value-format="yyyy-MM-dd" style="width:100%" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="丈夫姓名"><el-input v-model="form.pregFirst.husbandName" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="丈夫电话"><el-input v-model="form.pregFirst.husbandPhone" /></el-form-item></el-col>
|
</el-row>
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="末次月经"><el-date-picker v-model="form.pregFirst.lmp" value-format="yyyy-MM-dd" style="width:100%" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="预产期"><el-date-picker v-model="form.pregFirst.edd" value-format="yyyy-MM-dd" style="width:100%" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="孕次/产次"><el-input v-model="form.pregFirst.gp" placeholder="G_P_" /></el-form-item></el-col>
|
</el-row>
|
<el-divider content-position="left">既往史</el-divider>
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="剖宫产史"><el-select v-model="form.pregFirst.csHistory" style="width:100%"><el-option label="无" :value="0" /><el-option label="有" :value="1" /></el-select></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="流产史"><el-select v-model="form.pregFirst.abortionHistory" style="width:100%"><el-option label="无" :value="0" /><el-option label="有" :value="1" /></el-select></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="疾病史"><el-input v-model="form.pregFirst.diseaseHistory" placeholder="高血压/糖尿病/甲状腺等" /></el-form-item></el-col>
|
</el-row>
|
<el-divider content-position="left">本次妊娠情况</el-divider>
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="身高(cm)"><el-input-number v-model="form.pregFirst.height" :precision="1" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="孕前体重(kg)"><el-input-number v-model="form.pregFirst.preWeight" :precision="1" /></el-form-item></el-col>
|
</el-row>
|
<el-form-item label="高危因素评估"><el-input v-model="form.pregFirst.riskAssessment" type="textarea" :rows="2" /></el-form-item>
|
<el-form-item label="建册医生"><el-input v-model="form.pregFirst.doctor" style="width:200px" /></el-form-item>
|
</el-form>
|
</el-tab-pane>
|
|
<!-- 3. 早孕随访登记表 -->
|
<el-tab-pane label="丽水妇幼保健院早孕随访登记表" name="earlyFollow">
|
<el-form :model="form.pregEarly" label-width="150px" size="small" :disabled="!editing">
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="随访日期"><el-date-picker v-model="form.pregEarly.date" value-format="yyyy-MM-dd" style="width:100%" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="孕周"><el-input-number v-model="form.pregEarly.gestWeek" :min="1" :max="14" /></el-form-item></el-col>
|
</el-row>
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="早孕反应"><el-select v-model="form.pregEarly.morningSickness" style="width:100%"><el-option label="无" value="无" /><el-option label="轻度" value="轻度" /><el-option label="中度" value="中度" /><el-option label="重度" value="重度" /></el-select></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="阴道出血"><el-select v-model="form.pregEarly.bleeding" style="width:100%"><el-option label="无" value="无" /><el-option label="有" value="有" /></el-select></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="腹痛"><el-select v-model="form.pregEarly.abdominalPain" style="width:100%"><el-option label="无" value="无" /><el-option label="有" value="有" /></el-select></el-form-item></el-col>
|
</el-row>
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="血常规"><el-input v-model="form.pregEarly.bloodRoutine" placeholder="Hb/PLT等" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="尿常规"><el-input v-model="form.pregEarly.urineRoutine" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="B超检查"><el-input v-model="form.pregEarly.ultrasound" placeholder="CRL/NT等" /></el-form-item></el-col>
|
</el-row>
|
<el-form-item label="叶酸补充"><el-select v-model="form.pregEarly.folicAcid" style="width:200px"><el-option label="规律服用" value="规律服用" /><el-option label="偶尔服用" value="偶尔服用" /><el-option label="未服用" value="未服用" /></el-select></el-form-item>
|
<el-form-item label="指导意见"><el-input v-model="form.pregEarly.advice" type="textarea" :rows="2" /></el-form-item>
|
<el-form-item label="随访医生"><el-input v-model="form.pregEarly.doctor" style="width:200px" /></el-form-item>
|
</el-form>
|
</el-tab-pane>
|
</el-tabs>
|
</el-card>
|
</template>
|
|
<!-- ===== 更年期随访:6个表单 ===== -->
|
<template v-if="archive.subType === 'menopause'">
|
<el-card class="info-card" shadow="never" style="margin-top:14px">
|
<div slot="header" class="card-header"><span>更年期随访管理</span></div>
|
<el-tabs v-model="activeTab" type="border-card">
|
<!-- 1. 更年期随访系统问题表 -->
|
<el-tab-pane label="更年期随访系统问题表" name="sysQ">
|
<el-form :model="form.menoSysQ" label-width="150px" size="small" :disabled="!editing">
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="填写日期"><el-date-picker v-model="form.menoSysQ.date" value-format="yyyy-MM-dd" style="width:100%" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="年龄"><el-input-number v-model="form.menoSysQ.age" /></el-form-item></el-col>
|
</el-row>
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="月经情况"><el-input v-model="form.menoSysQ.menstruation" placeholder="周期/经期/经量" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="末次月经"><el-date-picker v-model="form.menoSysQ.lmp" value-format="yyyy-MM-dd" style="width:100%" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="绝经年龄"><el-input-number v-model="form.menoSysQ.menopauseAge" /></el-form-item></el-col>
|
</el-row>
|
<el-row :gutter="20">
|
<el-col :span="6"><el-form-item label="潮热出汗"><el-select v-model="form.menoSysQ.hotFlash" style="width:100%"><el-option :value="0" label="无" /><el-option :value="1" label="轻" /><el-option :value="2" label="中" /><el-option :value="3" label="重" /></el-select></el-form-item></el-col>
|
<el-col :span="6"><el-form-item label="失眠"><el-select v-model="form.menoSysQ.insomnia" style="width:100%"><el-option :value="0" label="无" /><el-option :value="1" label="轻" /><el-option :value="2" label="中" /><el-option :value="3" label="重" /></el-select></el-form-item></el-col>
|
<el-col :span="6"><el-form-item label="情绪波动"><el-select v-model="form.menoSysQ.mood" style="width:100%"><el-option :value="0" label="无" /><el-option :value="1" label="轻" /><el-option :value="2" label="中" /><el-option :value="3" label="重" /></el-select></el-form-item></el-col>
|
<el-col :span="6"><el-form-item label="疲乏"><el-select v-model="form.menoSysQ.fatigue" style="width:100%"><el-option :value="0" label="无" /><el-option :value="1" label="轻" /><el-option :value="2" label="中" /><el-option :value="3" label="重" /></el-select></el-form-item></el-col>
|
</el-row>
|
<el-row :gutter="20">
|
<el-col :span="6"><el-form-item label="关节痛"><el-select v-model="form.menoSysQ.jointPain" style="width:100%"><el-option :value="0" label="无" /><el-option :value="1" label="轻" /><el-option :value="2" label="中" /><el-option :value="3" label="重" /></el-select></el-form-item></el-col>
|
<el-col :span="6"><el-form-item label="心悸"><el-select v-model="form.menoSysQ.palpitation" style="width:100%"><el-option :value="0" label="无" /><el-option :value="1" label="轻" /><el-option :value="2" label="中" /><el-option :value="3" label="重" /></el-select></el-form-item></el-col>
|
<el-col :span="6"><el-form-item label="阴道干涩"><el-select v-model="form.menoSysQ.dryness" style="width:100%"><el-option :value="0" label="无" /><el-option :value="1" label="轻" /><el-option :value="2" label="中" /><el-option :value="3" label="重" /></el-select></el-form-item></el-col>
|
<el-col :span="6"><el-form-item label="性欲减退"><el-select v-model="form.menoSysQ.libido" style="width:100%"><el-option :value="0" label="无" /><el-option :value="1" label="轻" /><el-option :value="2" label="中" /><el-option :value="3" label="重" /></el-select></el-form-item></el-col>
|
</el-row>
|
<el-form-item label="其他症状"><el-input v-model="form.menoSysQ.otherSymptoms" type="textarea" :rows="2" /></el-form-item>
|
<el-form-item label="处理意见"><el-input v-model="form.menoSysQ.advice" type="textarea" :rows="2" /></el-form-item>
|
<el-form-item label="医生"><el-input v-model="form.menoSysQ.doctor" style="width:200px" /></el-form-item>
|
</el-form>
|
</el-tab-pane>
|
|
<!-- 2. MHT首诊病历表 -->
|
<el-tab-pane label="MHT首诊病历表" name="mhtFirst">
|
<el-form :model="form.mhtFirst" label-width="160px" size="small" :disabled="!editing">
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="就诊日期"><el-date-picker v-model="form.mhtFirst.date" value-format="yyyy-MM-dd" style="width:100%" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="主诉"><el-input v-model="form.mhtFirst.chiefComplaint" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="绝经年限"><el-input-number v-model="form.mhtFirst.menopauseYears" :precision="1" /></el-form-item></el-col>
|
</el-row>
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="身高(cm)"><el-input-number v-model="form.mhtFirst.height" :precision="1" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="体重(kg)"><el-input-number v-model="form.mhtFirst.weight" :precision="1" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="BMI"><el-input-number v-model="form.mhtFirst.bmi" :precision="1" disabled /></el-form-item></el-col>
|
</el-row>
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="血压"><el-input v-model="form.mhtFirst.bloodPressure" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="血糖"><el-input-number v-model="form.mhtFirst.glucose" :precision="1" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="血脂"><el-input v-model="form.mhtFirst.lipid" placeholder="TC/TG/LDL/HDL" /></el-form-item></el-col>
|
</el-row>
|
<el-form-item label="既往史"><el-input v-model="form.mhtFirst.pastHistory" type="textarea" :rows="2" placeholder="高血压/糖尿病/血栓/乳腺癌/子宫肌瘤等" /></el-form-item>
|
<el-form-item label="妇科检查"><el-input v-model="form.mhtFirst.gynExam" type="textarea" :rows="2" /></el-form-item>
|
<el-form-item label="乳腺检查"><el-input v-model="form.mhtFirst.breastExam" type="textarea" :rows="2" /></el-form-item>
|
<el-form-item label="辅助检查"><el-input v-model="form.mhtFirst.auxExam" type="textarea" :rows="2" placeholder="B超/骨密度/激素水平等" /></el-form-item>
|
<el-form-item label="MHT方案"><el-input v-model="form.mhtFirst.mhtPlan" type="textarea" :rows="2" placeholder="药物名称/剂量/用法/疗程" /></el-form-item>
|
<el-form-item label="医生"><el-input v-model="form.mhtFirst.doctor" style="width:200px" /></el-form-item>
|
</el-form>
|
</el-tab-pane>
|
|
<!-- 3. MHT复诊病历表 -->
|
<el-tab-pane label="MHT复诊病历表" name="mhtFollow">
|
<el-form :model="form.mhtFollow" label-width="160px" size="small" :disabled="!editing">
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="复诊日期"><el-date-picker v-model="form.mhtFollow.date" value-format="yyyy-MM-dd" style="width:100%" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="用药依从性"><el-select v-model="form.mhtFollow.compliance" style="width:100%"><el-option label="良好" value="良好" /><el-option label="一般" value="一般" /><el-option label="差" value="差" /></el-select></el-form-item></el-col>
|
</el-row>
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="症状改善"><el-select v-model="form.mhtFollow.symptomImprove" style="width:100%"><el-option label="明显" value="明显" /><el-option label="部分" value="部分" /><el-option label="无变化" value="无变化" /></el-select></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="不良反应"><el-input v-model="form.mhtFollow.sideEffect" placeholder="如乳房胀痛/阴道出血等" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="阴道出血"><el-select v-model="form.mhtFollow.bleeding" style="width:100%"><el-option label="无" value="无" /><el-option label="点滴" value="点滴" /><el-option label="少量" value="少量" /><el-option label="中量" value="中量" /></el-select></el-form-item></el-col>
|
</el-row>
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="体重(kg)"><el-input-number v-model="form.mhtFollow.weight" :precision="1" /></el-form-item></el-col>
|
<el-col :span="8"><el-form-item label="血压"><el-input v-model="form.mhtFollow.bloodPressure" /></el-form-item></el-col>
|
</el-row>
|
<el-form-item label="复查结果"><el-input v-model="form.mhtFollow.reExamResult" type="textarea" :rows="2" placeholder="B超/乳腺/激素等检查结果" /></el-form-item>
|
<el-form-item label="方案调整"><el-input v-model="form.mhtFollow.planAdjust" type="textarea" :rows="2" /></el-form-item>
|
<el-form-item label="下次复诊"><el-date-picker v-model="form.mhtFollow.nextVisit" value-format="yyyy-MM-dd" style="width:200px" /></el-form-item>
|
<el-form-item label="医生"><el-input v-model="form.mhtFollow.doctor" style="width:200px" /></el-form-item>
|
</el-form>
|
</el-tab-pane>
|
|
<!-- 4. 改良Kupperman评分标准表 -->
|
<el-tab-pane label="改良Kupperman评分标准表" name="kupperman">
|
<el-form :model="form.kupperman" label-width="160px" size="small" :disabled="!editing">
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="评估日期"><el-date-picker v-model="form.kupperman.date" value-format="yyyy-MM-dd" style="width:100%" /></el-form-item></el-col>
|
</el-row>
|
<KuppermanScoreTable v-model="form.kupperman" :editing="editing" />
|
</el-form>
|
</el-tab-pane>
|
|
<!-- 5. 更年期评分量表(MRS) -->
|
<el-tab-pane label="更年期评分量表(MRS)" name="mrs">
|
<el-form :model="form.mrs" label-width="160px" size="small" :disabled="!editing">
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="评估日期"><el-date-picker v-model="form.mrs.date" value-format="yyyy-MM-dd" style="width:100%" /></el-form-item></el-col>
|
</el-row>
|
<MRSScoreTable v-model="form.mrs" :editing="editing" />
|
</el-form>
|
</el-tab-pane>
|
|
<!-- 6. 匹兹堡睡眠质量评分量表(PSQI) -->
|
<el-tab-pane label="匹兹堡睡眠质量评分量表(PSQI)" name="psqi">
|
<el-form :model="form.psqi" label-width="160px" size="small" :disabled="!editing">
|
<el-row :gutter="20">
|
<el-col :span="8"><el-form-item label="评估日期"><el-date-picker v-model="form.psqi.date" value-format="yyyy-MM-dd" style="width:100%" /></el-form-item></el-col>
|
</el-row>
|
<PSQIScoreTable v-model="form.psqi" :editing="editing" />
|
</el-form>
|
</el-tab-pane>
|
</el-tabs>
|
</el-card>
|
</template>
|
</template>
|
<div v-else class="empty-wrap">档案不存在或已删除</div>
|
</div>
|
</template>
|
|
<script>
|
import InfoField from "../childHealth/InfoField.vue";
|
import KuppermanScoreTable from "./KuppermanScoreTable.vue";
|
import MRSScoreTable from "./MRSScoreTable.vue";
|
import PSQIScoreTable from "./PSQIScoreTable.vue";
|
|
export default {
|
name: "MaternalHealthArchiveDetail",
|
components: { InfoField, KuppermanScoreTable, MRSScoreTable, PSQIScoreTable },
|
data() {
|
return {
|
loading: false, archive: null, editing: false, activeTab: "sysQ",
|
form: {
|
pregSysQ: { date:"", gestWeek:null, weight:null, bloodPressure:"", fundalHeight:null, fetalHeart:null, edema:"无", urineProtein:"-", symptoms:"", advice:"", nextVisit:"", doctor:"" },
|
pregFirst: { regDate:"", husbandName:"", husbandPhone:"", lmp:"", edd:"", gp:"", csHistory:0, abortionHistory:0, diseaseHistory:"", height:null, preWeight:null, riskAssessment:"", doctor:"" },
|
pregEarly: { date:"", gestWeek:null, morningSickness:"无", bleeding:"无", abdominalPain:"无", bloodRoutine:"", urineRoutine:"", ultrasound:"", folicAcid:"规律服用", advice:"", doctor:"" },
|
menoSysQ: { date:"", age:null, menstruation:"", lmp:"", menopauseAge:null, hotFlash:0, insomnia:0, mood:0, fatigue:0, jointPain:0, palpitation:0, dryness:0, libido:0, otherSymptoms:"", advice:"", doctor:"" },
|
mhtFirst: { date:"", chiefComplaint:"", menopauseYears:null, height:null, weight:null, bmi:null, bloodPressure:"", glucose:null, lipid:"", pastHistory:"", gynExam:"", breastExam:"", auxExam:"", mhtPlan:"", doctor:"" },
|
mhtFollow: { date:"", compliance:"良好", symptomImprove:"部分", sideEffect:"", bleeding:"无", weight:null, bloodPressure:"", reExamResult:"", planAdjust:"", nextVisit:"", doctor:"" },
|
kupperman: { date:"", 潮热出汗:0,感觉异常:0,失眠:0,情绪波动:0,抑郁:0,眩晕:0,疲乏:0,关节痛:0,头痛:0,心悸:0,皮肤蚁走感:0,性生活:0,泌尿系感染:0 },
|
mrs: { date:"" },
|
psqi: { date:"" },
|
},
|
};
|
},
|
computed: {
|
sourceLabel() { const m={standalone:"独立建档",outpatient:"门诊记录",inpatient:"在院记录"}; return m[this.archive?.sourcePage]||this.archive?.sourcePage||"-"; },
|
menstrualLabel() { const m={irregular:"月经紊乱",amenorrhea_short:"闭经(<12个月)",menopause:"绝经(≥12个月)",surgical:"人工绝经"}; return m[this.archive?.archiveForm?.menstrualStatus]||"-"; },
|
},
|
created() {
|
const id = this.$route.query.id;
|
if (id) this.loadArchive(id);
|
},
|
methods: {
|
loadArchive(id) {
|
this.loading = true;
|
const all = JSON.parse(localStorage.getItem("patientArchives") || "[]");
|
this.archive = all.find(item => item.id === id) || null;
|
if (this.archive) {
|
if (this.archive.subType === 'pregnancy') this.activeTab = "sysQ";
|
else if (this.archive.subType === 'menopause') this.activeTab = "sysQ";
|
if (this.archive.formData) {
|
Object.keys(this.form).forEach(k => {
|
if (this.archive.formData[k]) Object.assign(this.form[k], this.archive.formData[k]);
|
});
|
}
|
}
|
this.loading = false;
|
},
|
toggleEdit() {
|
if (this.editing) {
|
this.archive.formData = JSON.parse(JSON.stringify(this.form));
|
this.archive.updateTime = new Date().toISOString().replace("T"," ").substring(0,19);
|
const all = JSON.parse(localStorage.getItem("patientArchives") || "[]");
|
const idx = all.findIndex(item => item.id === this.archive.id);
|
if (idx >= 0) all[idx] = JSON.parse(JSON.stringify(this.archive));
|
localStorage.setItem("patientArchives", JSON.stringify(all));
|
this.$message.success("保存成功");
|
}
|
this.editing = !this.editing;
|
},
|
},
|
};
|
</script>
|
|
<style lang="scss" scoped>
|
.action-bar { margin-bottom: 16px; }
|
.info-card { margin-bottom: 0; }
|
.card-header { display: flex; justify-content: space-between; align-items: center; font-size: 16px; font-weight: 600; }
|
.header-sub { font-size: 13px; color: #909399; font-weight: normal; }
|
.empty-wrap { text-align: center; padding: 100px 0; color: #c0c4cc; font-size: 16px; }
|
</style>
|