Commit a48eac1c authored by 芮自成's avatar 芮自成

用药修改

parent 61df1df3
...@@ -158,4 +158,9 @@ export function getScreenDyslipemiaLastTime(params) { ...@@ -158,4 +158,9 @@ export function getScreenDyslipemiaLastTime(params) {
// 引用最近一次随访记录-血脂异常 // 引用最近一次随访记录-血脂异常
export function getVisitDyslipemiaLastTime(params) { export function getVisitDyslipemiaLastTime(params) {
return fetchBase({ url: `/chronic-admin/v1/chronic-visit-dyslipemia/reference-last-time`, body: params, loading: true }) return fetchBase({ url: `/chronic-admin/v1/chronic-visit-dyslipemia/reference-last-time`, body: params, loading: true })
}
// 药品列表
export function getDrugList(params) {
return fetchBase({ url: `/chronic-admin/v1/base-info/phl-drug-list`, body: params })
} }
\ No newline at end of file
...@@ -66,7 +66,7 @@ export default { ...@@ -66,7 +66,7 @@ export default {
if (!token) { if (!token) {
token = sessionStorage.getItem('token') token = sessionStorage.getItem('token')
if (process.env.NODE_ENV !== 'production') { if (process.env.NODE_ENV !== 'production') {
token = '009ae809-1235-4991-97be-4333260fa794' token = 'e91f5936-1adb-41bd-984b-b4e2ce5f33b2'
} }
} }
if (token) { if (token) {
......
<template>
<div>
<van-field
v-model='innerValueName'
readonly
is-link
label='药品名称:'
placeholder='请选择'
class='input-back mt-2 form-input w-full'
:rules="[{required: true, message:'请选择'}]"
@click='showDrug= true'
/>
<!-- {{ array }} -->
<van-popup v-model:show='showDrug' position='bottom'>
<div class='pb-4 pr-4 pl-4'>
<van-picker
:columns='array'
:columns-field-names='fieldNames'
@confirm='drugConfirm'
@cancel='showDrug = false'
>
<template #columns-top>
<van-search v-model="searchStr" :placeholder='placeholder' @search='onSearch' clearable/>
</template>
</van-picker>
</div>
</van-popup>
</div>
</template>
<script>
import { getDrugList } from '@/api/doctor/separateFU'
import { debounce } from '@/utils/common'
export default {
name: 'DocDrug',
props: {
value: [String, Number],
valueName: String,
placeholder: String,
fieldNames: {
type: Object,
default: () => {
return { text: 'chemicalName', value: 'id' }
}
}
},
emits: ['update:value', 'change'],
data() {
return {
innerValue: null,
innerValueName: undefined,
array: [],
loading: false,
showDrug: false,
searchStr: ''
}
},
created() {
this.onSearch = debounce(this.onSearch, 500)
this.onSearch('')
},
methods: {
onSearch(value) {
if (this.loading) return
this.array = []
if (!value) {
return
}
if (!value.trim()) return
this.loading = true
getDrugList({ pinyinCode: value }).then(res => {
this.array = res.data || []
if (this.array.length && this.innerValue) {
let list = this.array.filter(item => item.id == this.innerValue)
if (list && list.length) {
this.innerValueName = list[0].chemicalName
}
}
}).finally(() => {
this.loading = false
})
},
drugConfirm({ selectedOptions }) {
this.innerValueName = selectedOptions[0].chemicalName
this.$emit('update:value', selectedOptions[0].id)
this.$emit('change', selectedOptions[0])
this.searchStr = ''
this.showDrug = false
}
},
watch: {
value: {
handler(value) {
this.innerValue = value
},
immediate: true
},
valueName: {
handler(value) {
if (!value) {
return
}
this.onSearch(value)
},
immediate: true
},
searchStr: {
handler(val) {
if (!val) return
this.onSearch(val)
}
}
}
}
</script>
<style lang='less' scoped>
.form-input {
padding: 8px 12px;
border-radius: 8px;
}
.input-back {
background: #FAFAFA;
}
//灰色
.greyColor {
color: var(--van-text-color-2);
}
//确认按钮颜色
.blueColor {
color: var(--van-primary-color)
}
</style>
\ No newline at end of file
<template>
</template>
\ No newline at end of file
...@@ -294,7 +294,7 @@ ...@@ -294,7 +294,7 @@
</template> </template>
<script> <script>
import { useStore } from '@/doctor/store' import { useStore } from '@/doctor/store'
import DocDrug from '@/doctor/components/docDrug/DocDrug.vue' import DocDrug from './DocDrug.vue'
import CheckBtn from '@/doctor/components/checkBtn/CheckBtn.vue' import CheckBtn from '@/doctor/components/checkBtn/CheckBtn.vue'
export default { export default {
name: 'HypertensionDrugs', name: 'HypertensionDrugs',
......
...@@ -133,7 +133,7 @@ ...@@ -133,7 +133,7 @@
</template> </template>
<script> <script>
import { useStore } from '@/doctor/store' import { useStore } from '@/doctor/store'
import DocDrug from '@/doctor/components/docDrug/DocDrug.vue' import DocDrug from './DocDrug.vue'
import CheckBtn from '@/doctor/components/checkBtn/CheckBtn.vue' import CheckBtn from '@/doctor/components/checkBtn/CheckBtn.vue'
export default { export default {
components: { DocDrug, CheckBtn }, components: { DocDrug, CheckBtn },
...@@ -218,7 +218,12 @@ export default { ...@@ -218,7 +218,12 @@ export default {
watch: { watch: {
'form.medicateCase': { 'form.medicateCase': {
handler() { handler() {
this.medicateCase = JSON.parse(this.form.medicateCase) this.medicateCase = JSON.parse(this.form.medicateCase) || []
this.medicateCase.map(item => {
item.unitName = item.unitName || this.store.getDictValue('CP00081', item.unit)
item.frequencyName = item.frequencyName || this.store.getDictValue('CP00084', item.frequency)
item.usageName = item.usageName || this.store.getDictValue('CP00083', item.usage)
})
} }
} }
} }
......
...@@ -72,12 +72,25 @@ ...@@ -72,12 +72,25 @@
</div> </div>
</div> </div>
</van-collapse-item> </van-collapse-item>
<van-collapse-item key="5" title="生活方式指导" name="5"> <van-collapse-item key="5" title="合并症" name="5">
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
</template> </template>
<div style="color: #262626">吸烟</div> <div class="list">
<div class="gray-box mt-2"> <div class="flex justify-between py-1 border-bottom item">
<span class="shrink-0 mr-2 label">合并症</span>
<span class="text-end">
{{ visitInfo.complicationName || '-' }}
</span>
</div>
</div>
</van-collapse-item>
<van-collapse-item key="6" title="生活方式指导" name="6">
<template #right-icon>
<doc-icon type="doc-down" />
</template>
<div class="py-1">吸烟</div>
<div class="gray-box">
<div> <div>
<span>是否正在吸烟:</span> <span>是否正在吸烟:</span>
<span>{{ visitInfo.isSmokingName }}</span> <span>{{ visitInfo.isSmokingName }}</span>
...@@ -93,44 +106,15 @@ ...@@ -93,44 +106,15 @@
<div v-if="visitInfo.isSmoking === 1 || visitInfo.isSmoking === 2"> <div v-if="visitInfo.isSmoking === 1 || visitInfo.isSmoking === 2">
<span>日吸烟量:</span> <span>日吸烟量:</span>
<span>{{ visitInfo.daySmoking || '-' }}支</span> <span>{{ visitInfo.daySmoking || '-' }}支</span>
<!-- <span class="ml-4">目标日吸烟量:</span>
<span>{{ visitInfo.goalDaySmoking || '-' }}支</span> -->
</div> </div>
<div v-if="visitInfo.isSmoking === 1 || visitInfo.isSmoking === 2"> <div v-if="visitInfo.isSmoking === 1 || visitInfo.isSmoking === 2">
<span>目标日吸烟量:</span> <span>目标日吸烟量:</span>
<span>{{ visitInfo.goalDaySmoking || '-' }}支</span> <span>{{ visitInfo.goalDaySmoking || '-' }}支</span>
</div> </div>
</div> </div>
<div style="color: #262626" class="mt-2">饮酒</div>
<div class="gray-box mt-2"> <div class="py-1">运动</div>
<div> <div class="gray-box">
<span>是否正在饮酒:</span>
<span>{{ visitInfo.isDrinkName }}</span>
</div>
<div v-if="visitInfo.isDrink === 1 || visitInfo.isDrink === 2">
<span>日饮酒量:</span>
<span>{{ visitInfo.dayDrink || '-' }}ml</span>
<span class="ml-4">目标日饮酒量:</span>
<span>{{ visitInfo.goalDayDrink || '-' }}ml</span>
</div>
<div v-if="visitInfo.isDrink === 1 || visitInfo.isDrink === 2">
<span>白酒:</span>
<span>{{ visitInfo.drinkLiquor || '-' }}ml/日</span>
<span class="ml-2">啤酒:</span>
<span>{{ visitInfo.drinkBeer || '-' }}ml/日</span>
<span class="ml-2">红酒:</span>
<span>{{ visitInfo.drinkRed || '-' }}ml/日</span>
</div>
<div v-if="visitInfo.isDrink === 1 || visitInfo.isDrink === 2">
<span>黄酒:</span>
<span>{{ visitInfo.drinkYellow || '-' }}ml/日</span>
<span class="ml-2">其他:</span>
<span>{{ visitInfo.drinkOther || '-' }}ml/日</span>
</div>
</div>
<div style="color: #262626" class="mt-2">运动</div>
<div class="gray-box mt-2">
<div> <div>
<span>有无规律活动:</span> <span>有无规律活动:</span>
<span>{{ visitInfo.regularExerciseName }}</span> <span>{{ visitInfo.regularExerciseName }}</span>
...@@ -150,10 +134,22 @@ ...@@ -150,10 +134,22 @@
<span>{{ visitInfo.targetExerciseMinute || '-' }}分钟/次</span> <span>{{ visitInfo.targetExerciseMinute || '-' }}分钟/次</span>
</div> </div>
</div> </div>
<div class="py-1">呼吸锻炼</div>
<div class="gray-box">
<div>
<span>有无呼吸锻炼:</span>
<span>{{ visitInfo.isBreathExerciseName }}</span>
</div>
<div v-if="visitInfo.isBreathExercise === 1">
<span>呼吸锻炼频率:</span>
<span>{{ visitInfo.breathExerciseWeek }}次/周、</span>
<span>{{ visitInfo.breathExerciseMinute }}分钟/次</span>
</div>
</div>
<div class="list mt-2"> <div class="list mt-2">
<div class="flex justify-between py-1 border-bottom item"> <div class="flex justify-between py-1 border-bottom item">
<span class="shrink-0 mr-2 label">摄盐情况(咸淡)</span> <span class="shrink-0 mr-2 label">健康教育</span>
<span class="text-end">{{ visitInfo.saltIntakeName || '-' }}</span> <span class="text-end">{{ visitInfo.healthEducationName || '-' }}</span>
</div> </div>
<div class="flex justify-between py-1 border-bottom item"> <div class="flex justify-between py-1 border-bottom item">
<span class="shrink-0 mr-2 label">心理调整</span> <span class="shrink-0 mr-2 label">心理调整</span>
...@@ -164,6 +160,20 @@ ...@@ -164,6 +160,20 @@
<span class="text-end">{{ visitInfo.doctorAdviceName || '-' }}</span> <span class="text-end">{{ visitInfo.doctorAdviceName || '-' }}</span>
</div> </div>
</div> </div>
<div class="list">
<div class="flex justify-between py-1 border-bottom item">
<span class="shrink-0 mr-2 label">疫苗免疫史</span>
<span class="text-end">
{{ visitInfo.vaccinesHistoryName || '-' }}
</span>
</div>
<div v-if="visitInfo.vaccinesHistory === 1" class="flex justify-between py-1 border-bottom item">
<span class="shrink-0 mr-2 label">疫苗名称</span>
<span class="text-end">
{{ visitInfo.vaccinesHistoryHaveName || '-' }}
</span>
</div>
</div>
</van-collapse-item> </van-collapse-item>
<van-collapse-item key="6" title="辅助检查" name="6"> <van-collapse-item key="6" title="辅助检查" name="6">
<template #right-icon> <template #right-icon>
......
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