Commit 5a1f1424 authored by gengchunlei's avatar gengchunlei

Merge branch 'chronic-dev' of http://gitlab.yiboshi.com/nightkis1995/frontend-h5 into chronic-dev

 Conflicts:
	src/doctor/Doctor.vue
parents c8e9880c 6474e61a
<svg width="17" height="18" viewBox="0 0 17 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.03599 0.953125C9.15199 0.953125 10.199 1.16613 11.177 1.59212C12.155 2.01813 13.01 2.59412 13.742 3.32012C14.474 4.04612 15.05 4.89812 15.47 5.87612C15.89 6.85413 16.1 7.90112 16.1 9.01713C16.1 10.1331 15.89 11.1771 15.47 12.1491C15.05 13.1211 14.474 13.9731 13.742 14.7051C13.01 15.4371 12.155 16.0131 11.177 16.4331C10.199 16.8531 9.15199 17.0631 8.03599 17.0631C6.91999 17.0631 5.87599 16.8531 4.90399 16.4331C3.93199 16.0131 3.07999 15.4371 2.34799 14.7051C1.61599 13.9731 1.03999 13.1211 0.61999 12.1491C0.19999 11.1771 -0.0100098 10.1331 -0.0100098 9.01713C-0.0100098 7.90112 0.19999 6.85413 0.61999 5.87612C1.03999 4.89812 1.61599 4.04612 2.34799 3.32012C3.07999 2.59412 3.93199 2.01813 4.90399 1.59212C5.87599 1.16613 6.91999 0.953125 8.03599 0.953125ZM8.05399 14.5251C8.36599 14.5251 8.62699 14.4201 8.83699 14.2101C9.04699 14.0001 9.15199 13.7451 9.15199 13.4451C9.15199 13.1331 9.04699 12.8721 8.83699 12.6621C8.62699 12.4521 8.36599 12.3471 8.05399 12.3471C7.74199 12.3471 7.48099 12.4521 7.27099 12.6621C7.06099 12.8721 6.95599 13.1331 6.95599 13.4451C6.95599 13.7451 7.06099 14.0001 7.27099 14.2101C7.48099 14.4201 7.74199 14.5251 8.05399 14.5251ZM8.97199 10.0971C8.95999 9.90513 9.07999 9.70113 9.33199 9.48513C9.58399 9.26912 9.86599 9.02912 10.178 8.76512C10.49 8.50112 10.778 8.20412 11.042 7.87413C11.306 7.54413 11.45 7.16313 11.474 6.73113C11.498 6.26312 11.45 5.82512 11.33 5.41712C11.21 5.00912 11.012 4.65813 10.736 4.36413C10.46 4.07013 10.103 3.83612 9.66499 3.66213C9.22699 3.48813 8.71399 3.40112 8.12599 3.40112C7.39399 3.40112 6.78499 3.53012 6.29899 3.78813C5.81299 4.04612 5.41999 4.35812 5.11999 4.72412C4.81999 5.09012 4.60999 5.46813 4.48999 5.85813C4.36999 6.24813 4.31599 6.57512 4.32799 6.83912C4.33999 7.15112 4.43899 7.37913 4.62499 7.52313C4.81099 7.66713 5.01199 7.74213 5.22799 7.74813C5.44399 7.75413 5.64199 7.69413 5.82199 7.56813C6.00199 7.44213 6.09199 7.25912 6.09199 7.01912C6.09199 6.87512 6.13699 6.69812 6.22699 6.48812C6.31699 6.27813 6.43999 6.07712 6.59599 5.88512C6.75199 5.69312 6.94099 5.53113 7.16299 5.39913C7.38499 5.26713 7.63399 5.20113 7.90999 5.20113C8.44999 5.20113 8.88199 5.33613 9.20599 5.60613C9.52999 5.87613 9.67999 6.21513 9.65599 6.62313C9.65599 6.82713 9.59599 7.01613 9.47599 7.19012C9.35599 7.36413 9.20299 7.53212 9.01699 7.69413C8.83099 7.85612 8.63299 8.01812 8.42299 8.18012C8.21299 8.34212 8.01499 8.51012 7.82899 8.68412C7.64299 8.85812 7.48699 9.04712 7.36099 9.25113C7.23499 9.45512 7.16599 9.67712 7.15399 9.91712L7.17199 10.6011C7.17199 10.7811 7.25599 10.9521 7.42399 11.1141C7.59199 11.2761 7.81399 11.3631 8.08999 11.3751C8.36599 11.3631 8.58499 11.2731 8.74699 11.1051C8.90899 10.9371 8.98399 10.7451 8.97199 10.5291V10.0971Z" fill="#FA8C16"/>
</svg>
......@@ -66,7 +66,7 @@ export default {
if (!token) {
token = sessionStorage.getItem('token')
if (process.env.NODE_ENV !== 'production') {
token = '145924b1-430d-4683-b914-37a74a8d21b0'
token = '4df45197-d2f8-42ba-9ab5-8b8100c53bcf'
}
}
if (token) {
......
<template>
<div class="movement-tip">
<!-- 运动强度说明 -->
<span @click="visible = !visible">
<slot>
<doc-icon type="doc-question-circle" />
</slot>
</span>
<!-- <van-popup v-model:show="visible" round style="height: 70%;"> -->
<van-overlay :show="visible" @click="visible = false"
class="flex items-center justify-center">
<div class="py-3 px-2 panel" @click.stop>
<div class="title mb-2">确定有氧运动强度的常用方法</div>
<table class="w-full">
<tr>
<th>强度分级</th>
<th>PRE(0-10分)</th>
<th>谈话实验</th>
</tr>
<tr>
<td></td>
<td>很轻松(&lt;3)</td>
<td rowspan="2">能说话也能唱歌</td>
</tr>
<tr>
<td>较低</td>
<td>很轻松到轻松(3-4)</td>
</tr>
<tr>
<td>中等</td>
<td>轻松到有些吃力(5-6)</td>
<td>能说话不能唱歌</td>
</tr>
<tr>
<td>较大</td>
<td>有些吃力到很吃力(7-8)</td>
<td rowspan="2">不能说出完整句子</td>
</tr>
<tr>
<td>次最大到最大</td>
<td>很吃力(≥9)</td>
</tr>
</table>
</div>
<doc-icon type="close-circle" class="close-btn" @click="visible = false"/>
</van-overlay>
<!-- </van-popup> -->
</div>
</template>
<script>
export default {
data() {
return {
visible: false
}
}
}
</script>
<style lang="less" scoped>
.panel {
background-color: #fff;
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
color: #262626;
max-height: 80%;
overflow-y: auto;
border-radius: 8px;
.title {
color: #000;
font-size: 14px;
// font-weight: 600;
text-align: center;
}
}
table {
border-collapse: collapse;
border-right: 1px solid #768092;
border-bottom: 1px solid #768092;
font-size: 12px;
text-align: center;
td, th{
border-left: 1px solid #768092;
border-top: 1px solid #768092;
padding: 8px 4px;
}
th {
font-weight: 600;
}
}
.close-btn {
position: absolute;
top: 24px;
right: 24px;
font-size: 24px;
}
</style>
......@@ -87,7 +87,7 @@
class="form-input mt-2"
/>
</div>
<div style="background-color: #fff; padding: 8px; border-radius: 8px" class="mt-2">
<div v-if="y.itemValue === 2" style="background-color: #fff; padding: 8px; border-radius: 8px" class="mt-2">
<div class="label-title">影像报告</div>
<DocImageUpload
description="温馨提示:请上传JPG、PNG格式图片,文件大小不超过10M"
......
......@@ -52,7 +52,7 @@
<div class="p-4" style="height: 100%">
<div class="flex justify-between items-center mb-4 pop-title">
<div class="greyColor" @click="item.showUnit = false">取消</div>
<div>随访方式(单选)</div>
<div>单位(单选)</div>
<div></div>
</div>
<div style="height: 80%; overflow: auto">
......@@ -81,7 +81,7 @@
<div class="p-4" style="height: 100%">
<div class="flex justify-between items-center mb-4 pop-title">
<div class="greyColor" @click="item.showFrequency = false">取消</div>
<div>随访方式(单选)</div>
<div>频次(单选)</div>
<div></div>
</div>
<div style="height: 80%; overflow: auto">
......@@ -110,7 +110,7 @@
<div class="p-4" style="height: 100%">
<div class="flex justify-between items-center mb-4 pop-title">
<div class="greyColor" @click="item.showUsage = false">取消</div>
<div>随访方式(单选)</div>
<div>用法(单选)</div>
<div></div>
</div>
<div style="height: 80%; overflow: auto">
......
......@@ -21,10 +21,12 @@
<script>
import BaseInfo from './BaseInfo.vue'
import FormCont from './FormCont.vue'
import { useStore } from '@/doctor/store'
export default {
components: { BaseInfo, FormCont },
data() {
return {
store: useStore(),
step: 1,
baseInfo: {},
diseaseInfo: {}
......@@ -56,6 +58,7 @@ export default {
this.$refs.formCont.submit().then(() => {
this.$message.success('新增成功')
this.$router.go(-1)
this.store.onRefreshMark()
})
}
}
......
......@@ -426,7 +426,10 @@
</van-field>
</div>
<div v-if="form.regularExercise === 1" class="bg-fa mt-2">
<div class="label-title" required style="color: #262626; font-size: 14px">运动强度</div>
<div class="flex items-center">
<div class="label-title" required style="color: #262626; font-size: 14px">运动强度</div>
<MovementTip class="ml-2 mb-2"/>
</div>
<van-field :rules="rules.exerciseStrength" style="padding: 0">
<template #input>
<van-radio-group
......@@ -849,12 +852,13 @@ import DocImageUpload from '@/doctor/components/docImageUpload/DocImageUpload.vu
import DocUnit from '@/doctor/components/docUnit/DocUnit.vue'
import DocOffice from '@/doctor/components/docOffice/DocOffice.vue'
import DocOfficeDoctor from '@/doctor/components/docOfficeDoctor/DocOfficeDoctor.vue'
import MovementTip from '@/doctor/components/movementTip/MovementTip.vue'
import InspectV2 from '../../components/InspectV2.vue'
import TreatmentPlan from '../../components/TreatmentPlan.vue'
import dayjs from 'dayjs'
export default {
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, InspectV2, TreatmentPlan },
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, InspectV2, TreatmentPlan, MovementTip },
inject: ['pressureObj'],
props: {
diseaseInfo: {
......
......@@ -358,7 +358,10 @@
</van-field>
</div>
<div v-if="form.regularExercise === 1" class="bg-fa mt-2">
<div class="label-title" required style="color: #262626; font-size: 14px">运动强度</div>
<div class="flex items-center">
<div class="label-title" required style="color: #262626; font-size: 14px">运动强度</div>
<MovementTip class="ml-2 mb-2"/>
</div>
<van-field :rules="rules.exerciseStrength" style="padding: 0">
<template #input>
<van-radio-group
......@@ -1204,12 +1207,13 @@ import DocImageUpload from '@/doctor/components/docImageUpload/DocImageUpload.vu
import DocUnit from '@/doctor/components/docUnit/DocUnit.vue'
import DocOffice from '@/doctor/components/docOffice/DocOffice.vue'
import DocOfficeDoctor from '@/doctor/components/docOfficeDoctor/DocOfficeDoctor.vue'
import MovementTip from '@/doctor/components/movementTip/MovementTip.vue'
import InspectV2 from '../../components/InspectV2.vue'
import TreatmentPlan from '../../components/TreatmentPlan.vue'
import dayjs from 'dayjs'
export default {
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, InspectV2, TreatmentPlan },
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, InspectV2, TreatmentPlan, MovementTip },
inject: ['pressureObj'],
props: {
diseaseInfo: {
......
......@@ -429,7 +429,10 @@
</van-field>
</div>
<div v-if="form.regularExercise === 1" class="bg-fa mt-2">
<div class="label-title" required style="color: #262626; font-size: 14px">运动强度</div>
<div class="flex items-center">
<div class="label-title" required style="color: #262626; font-size: 14px">运动强度</div>
<MovementTip class="ml-2 mb-2"/>
</div>
<van-field :rules="rules.exerciseStrength" style="padding: 0">
<template #input>
<van-radio-group
......@@ -853,12 +856,13 @@ import DocImageUpload from '@/doctor/components/docImageUpload/DocImageUpload.vu
import DocUnit from '@/doctor/components/docUnit/DocUnit.vue'
import DocOffice from '@/doctor/components/docOffice/DocOffice.vue'
import DocOfficeDoctor from '@/doctor/components/docOfficeDoctor/DocOfficeDoctor.vue'
import MovementTip from '@/doctor/components/movementTip/MovementTip.vue'
import InspectV2 from '../../components/InspectV2.vue'
import TreatmentPlan from '../../components/TreatmentPlan.vue'
import dayjs from 'dayjs'
export default {
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, InspectV2, TreatmentPlan },
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, InspectV2, TreatmentPlan, MovementTip },
inject: ['pressureObj'],
props: {
diseaseInfo: {
......
......@@ -459,7 +459,10 @@
</van-field>
</div>
<div v-if="form.regularExercise === 1" class="bg-fa mt-2">
<div class="label-title" required style="color: #262626; font-size: 14px">运动强度</div>
<div class="flex items-center">
<div class="label-title" required style="color: #262626; font-size: 14px">运动强度</div>
<MovementTip class="ml-2 mb-2"/>
</div>
<van-field :rules="rules.exerciseStrength" style="padding: 0">
<template #input>
<van-radio-group
......@@ -599,13 +602,13 @@
</van-field>
<!-- 辅助检查 -->
<div class="label-title mt-2" required>辅助检查</div>
<div class="label-title mt-2">辅助检查</div>
<div class="bg-fa mt-2">
<div class="label-title" style="color: #262626; font-size: 14px">空腹静脉血糖值</div>
<div class="label-title" required style="color: #262626; font-size: 14px">空腹静脉血糖值</div>
<van-field
v-model="form.emptyBloodGlucose"
placeholder="0~50,2位小数"
:rules="rules.emptyBloodGlucose"
:rules="[{ required: true, message: '请输入' }]"
class="card-input"
>
<template #extra>
......@@ -790,13 +793,12 @@
<!-- 治疗方案 -->
<TreatmentPlan ref="treatmentPlan" :form="form"></TreatmentPlan>
<!-- 胰岛素 -->
<div class="label-title mt-2" required>胰岛素</div>
<div class="label-title mt-2">胰岛素</div>
<van-field
v-model="form.insulinTypeName"
isLink
readonly
placeholder="请选择"
:rules="rules.insulinTypeName"
@click="showInsulinType = true"
class="form-input"
/>
......@@ -1067,12 +1069,13 @@ import DocUnit from '@/doctor/components/docUnit/DocUnit.vue'
import DocOffice from '@/doctor/components/docOffice/DocOffice.vue'
import DocOfficeDoctor from '@/doctor/components/docOfficeDoctor/DocOfficeDoctor.vue'
import DocImageUpload from '@/doctor/components/docImageUpload/DocImageUpload.vue'
import MovementTip from '@/doctor/components/movementTip/MovementTip.vue'
import Inspect from '../../components/Inspect.vue'
import TreatmentPlan from '../../components/TreatmentPlan.vue'
import dayjs from 'dayjs'
export default {
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocUnit, DocOffice, DocOfficeDoctor, DocImageUpload, Inspect, TreatmentPlan },
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocUnit, DocOffice, DocOfficeDoctor, DocImageUpload, Inspect, TreatmentPlan, MovementTip },
inject: ['pressureObj'],
props: {
diseaseInfo: {
......
......@@ -429,7 +429,10 @@
</van-field>
</div>
<div v-if="form.regularExercise === 1" class="bg-fa mt-2">
<div class="label-title" required style="color: #262626; font-size: 14px">运动强度</div>
<div class="flex items-center">
<div class="label-title" required style="color: #262626; font-size: 14px">运动强度</div>
<MovementTip class="ml-2 mb-2"/>
</div>
<van-field :rules="rules.exerciseStrength" style="padding: 0">
<template #input>
<van-radio-group
......@@ -852,11 +855,12 @@ import DocImageUpload from '@/doctor/components/docImageUpload/DocImageUpload.vu
import DocUnit from '@/doctor/components/docUnit/DocUnit.vue'
import DocOffice from '@/doctor/components/docOffice/DocOffice.vue'
import DocOfficeDoctor from '@/doctor/components/docOfficeDoctor/DocOfficeDoctor.vue'
import MovementTip from '@/doctor/components/movementTip/MovementTip.vue'
import InspectV2 from '../../components/InspectV2.vue'
import TreatmentPlan from '../../components/TreatmentPlan.vue'
export default {
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, InspectV2, TreatmentPlan },
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, InspectV2, TreatmentPlan, MovementTip },
inject: ['pressureObj'],
props: {
diseaseInfo: {
......
......@@ -472,7 +472,10 @@
</van-field>
</div>
<div v-if="form.regularExercise === 1" class="bg-fa mt-2">
<div class="label-title" required style="color: #262626; font-size: 14px">运动强度</div>
<div class="flex items-center">
<div class="label-title" required style="color: #262626; font-size: 14px">运动强度</div>
<MovementTip class="ml-2 mb-2"/>
</div>
<van-field :rules="rules.exerciseStrength" style="padding: 0">
<template #input>
<van-radio-group
......@@ -611,30 +614,7 @@
<Inspect ref="inspectRef" :form="form" :diseaseInfo="diseaseInfo"></Inspect>
<!-- 目前高血压用药及依从性 -->
<div class="label-title mt-2" required>目前高血压用药及依从性</div>
<div class="bg-fa">
<div class="label-title" required style="color: #262626; font-size: 14px; line-height: 24px">您目前是否在服用降压药、降脂(如他汀类)或抗血小板(如阿司匹林)等心血管病相关药物</div>
<van-field :rules="rules.medicationCompliance" style="padding: 0">
<template #input>
<van-radio-group
v-model="form.medicationCompliance"
shape="dot"
direction="horizontal"
class="doc-radio-group-now"
>
<van-radio
v-for="item in store.getDict('DC00001')"
:key="item.value"
:name="item.value"
label-position="left"
style="width: 48%"
>
{{ item.name }}
</van-radio>
</van-radio-group>
</template>
</van-field>
</div>
<HypertensionDrugs ref="hypertensionDrugsRef" :form="form"></HypertensionDrugs>
<!-- 药物不良反应 -->
<div class="label-title mt-2" required>药物不良反应</div>
......@@ -899,12 +879,15 @@ import DocImageUpload from '@/doctor/components/docImageUpload/DocImageUpload.vu
import DocUnit from '@/doctor/components/docUnit/DocUnit.vue'
import DocOffice from '@/doctor/components/docOffice/DocOffice.vue'
import DocOfficeDoctor from '@/doctor/components/docOfficeDoctor/DocOfficeDoctor.vue'
import MovementTip from '@/doctor/components/movementTip/MovementTip.vue'
import Inspect from '../../components/Inspect.vue'
import TreatmentPlan from '../../components/TreatmentPlan.vue'
import dayjs from 'dayjs'
import HypertensionDrugs from '../../components/HypertensionDrugs.vue'
export default {
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, Inspect, TreatmentPlan },
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, Inspect, TreatmentPlan, MovementTip, HypertensionDrugs },
inject: ['pressureObj'],
props: {
diseaseInfo: {
......@@ -1339,16 +1322,27 @@ export default {
this.$refs.form.validate().then(async () => {
// 辅助检查
const inspectList = await this.$refs.inspectRef.submit()
// 目前高血压用药及依从性
const { currentMedicateCase, addMedicateCase } = await this.$refs.hypertensionDrugsRef.submit()
// 治疗方案
const medicateCase = await this.$refs.treatmentPlan.submit()
const form = fetchDataHandle(this.form, {
symptom: 'arrToStr',
noComplianceReason: 'arrToStr',
currentDiagnosis: 'arrToStr',
auxiliaryExamination: 'arrToStr'
})
resolve({
...form,
inspectList: inspectList
// 辅助检查
inspectList: inspectList,
// 目前高血压用药及依从性
currentMedicateCase: JSON.stringify(currentMedicateCase),
addMedicateCase: JSON.stringify(addMedicateCase),
// 治疗方案
medicateCase: JSON.stringify(medicateCase)
})
}).catch(e => {
......@@ -1387,7 +1381,7 @@ export default {
// this.insulinDosage = this.store.getDict('CP00123')
// console.log(this.insulinDosage)
}
}
},
},
watch: {
'form.signHeight': {
......
......@@ -429,7 +429,10 @@
</van-field>
</div>
<div v-if="form.regularExercise === 1" class="bg-fa mt-2">
<div class="label-title" required style="color: #262626; font-size: 14px">运动强度</div>
<div class="flex items-center">
<div class="label-title" required style="color: #262626; font-size: 14px">运动强度</div>
<MovementTip class="ml-2 mb-2"/>
</div>
<van-field :rules="rules.exerciseStrength" style="padding: 0">
<template #input>
<van-radio-group
......@@ -852,12 +855,13 @@ import DocImageUpload from '@/doctor/components/docImageUpload/DocImageUpload.vu
import DocUnit from '@/doctor/components/docUnit/DocUnit.vue'
import DocOffice from '@/doctor/components/docOffice/DocOffice.vue'
import DocOfficeDoctor from '@/doctor/components/docOfficeDoctor/DocOfficeDoctor.vue'
import MovementTip from '@/doctor/components/movementTip/MovementTip.vue'
import InspectV2 from '../../components/InspectV2.vue'
import TreatmentPlan from '../../components/TreatmentPlan.vue'
import dayjs from 'dayjs'
export default {
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, InspectV2, TreatmentPlan },
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, InspectV2, TreatmentPlan, MovementTip },
inject: ['pressureObj'],
props: {
diseaseInfo: {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment