Commit 89182fb2 authored by songrui's avatar songrui

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

parents f865115a 3c913b28
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<link rel='icon' href='<%= BASE_URL %>favicon.ico'> <link rel='icon' href='<%= BASE_URL %>favicon.ico'>
<title><%= htmlWebpackPlugin.options.title %></title> <title><%= htmlWebpackPlugin.options.title %></title>
<!-- 3.3.4/vconsole.min.js --> <!-- 3.3.4/vconsole.min.js -->
<script src='https://beta-copd-img.yiboshi.com/20241106/1730860078278931285.js'></script> <!-- <script src='https://beta-copd-img.yiboshi.com/20241106/1730860078278931285.js'></script>-->
</head> </head>
<body> <body>
<noscript> <noscript>
...@@ -79,6 +79,6 @@ ...@@ -79,6 +79,6 @@
<!-- built files will be auto injected --> <!-- built files will be auto injected -->
</body> </body>
<script> <script>
var vConsole =new VConsole(); // var vConsole =new VConsole();
</script> </script>
</html> </html>
...@@ -4,8 +4,7 @@ ...@@ -4,8 +4,7 @@
<!-- <GwDetail :info="detailInfo" v-if="showGw"/>--> <!-- <GwDetail :info="detailInfo" v-if="showGw"/>-->
<!-- 通用随访详情 --> <!-- 通用随访详情 -->
<CurrencyFUDetail :id="detailInfo.relationId" :resident-id="residentId" v-if="showCommon"></CurrencyFUDetail> <CurrencyFUDetail :id="detailInfo.relationId" :resident-id="residentId" v-if="showCommon"></CurrencyFUDetail>
<!-- 专病随访详情 -->
<!-- <VisitDetail :id="detailInfo.relationId" :resident-id="residentId" :disease-type="diseaseType" v-else-if="showFU"></VisitDetail>-->
<!-- his --> <!-- his -->
<!-- <HisDetail :info="detailInfo" v-else-if="showHis"></HisDetail>--> <!-- <HisDetail :info="detailInfo" v-else-if="showHis"></HisDetail>-->
<!-- 报卡随访详情 --> <!-- 报卡随访详情 -->
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<div class="del-btn" @click="onDel(index)">删除</div> <div class="del-btn" @click="onDel(index)">删除</div>
</div> </div>
</div> </div>
<van-button type="primary" plain block @click="onPlus">增加检查</van-button> <van-button type="primary" size="small" plain block @click="onPlus">增加检查</van-button>
</template> </template>
<script> <script>
import DocImageUpload from '@/doctor/components/docImageUpload/DocImageUpload.vue' import DocImageUpload from '@/doctor/components/docImageUpload/DocImageUpload.vue'
......
<template>
<div class="label-title mt-2">治疗方案</div>
<div class="bg-fa">
<div style="font-size: 14px">是否调整治疗方案</div>
<van-field style="padding: 0" class="mt-2">
<template #input>
<van-radio-group
v-model="form.adjustTreat"
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"
>
{{ item.name }}
</van-radio>
</van-radio-group>
</template>
</van-field>
</div>
<div v-if="form.adjustTreat === 1" class="bg-fa mt-2">
<div v-for="(item, index) in medicateCase" :key="index" style="background-color: #fff; padding: 8px" class="mb-2">
<DocDrug
v-model:value="item.drugId"
placeholder="拼音码查询药品"
@change="drugChange($event, item)">
</DocDrug>
<div class="flex items-center justify-between w-full mt-2">
<van-field
v-model="item.dose"
placeholder="请输入"
label="剂量:"
class="form-input"
style="flex: 0.6"
/>
<van-field
v-model="item.unitName"
isLink
readonly
placeholder="请选择"
@click="item.showUnit = true"
class="form-input"
style="flex: 0.4"
/>
</div>
<van-popup v-model:show="item.showUnit" position="bottom">
<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 style="height: 80%; overflow: auto">
<CheckBtn
clearable
column-1
:options="store.getDict('CP00081')"
v-model:value="item.unit"
:fieldNames="{ text: 'name', value: 'value' }"
@change="unitChange(item)"
/>
</div>
</div>
</van-popup>
<!-- 频次 -->
<van-field
label="频次:"
v-model="item.frequencyName"
isLink
readonly
placeholder="请选择"
@click="item.showFrequency = true"
class="form-input mt-2"
/>
<van-popup v-model:show="item.showFrequency" position="bottom">
<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 style="height: 80%; overflow: auto">
<CheckBtn
clearable
column-2
:options="store.getDict('CP00084')"
v-model:value="item.frequency"
:fieldNames="{ text: 'name', value: 'value' }"
@change="frequencyChange(item)"
/>
</div>
</div>
</van-popup>
<!-- 用法 -->
<van-field
label="用法:"
v-model="item.usageName"
isLink
readonly
placeholder="请选择"
@click="item.showUsage = true"
class="form-input mt-2"
/>
<van-popup v-model:show="item.showUsage" position="bottom">
<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 style="height: 80%; overflow: auto">
<CheckBtn
clearable
column-1
:options="store.getDict('CP00083')"
v-model:value="item.usage"
:fieldNames="{ text: 'name', value: 'value' }"
@change="usageChange(item)"
/>
</div>
</div>
</van-popup>
<div @click="onDel(index)" class="del-btn">删除</div>
</div>
<van-button type="primary" plain block size="small" @click="onPlus">增加服用药物</van-button>
</div>
</template>
<script>
import { useStore } from '@/doctor/store'
import DocDrug from '@/doctor/components/docDrug/DocDrug.vue'
import CheckBtn from '@/doctor/components/checkBtn/CheckBtn.vue'
export default {
components: { DocDrug, CheckBtn },
data() {
return {
store: useStore(),
form: {},
showUnit: false,
showFrequency: false,
showUsage: false,
medicateCase: [{}]
}
},
methods: {
drugChange(option, item) {
item.drugName = option.chemicalName
item.pinyinCode = option.helpCode
},
unitChange(item) {
this.store.getDict('CP00081').forEach(e => {
if (e.value === item.unit) {
item.unitName = e.name
}
})
item.showUnit = false
},
frequencyChange(item) {
this.store.getDict('CP00084').forEach(e => {
if (e.value === item.frequency) {
item.frequencyName = e.name
}
})
item.showFrequency = false
},
usageChange(item) {
this.store.getDict('CP00083').forEach(e => {
if (e.value === item.usage) {
item.usageName = e.name
}
})
item.showUsage = false
},
onPlus() {
this.medicateCase.push({})
},
onDel(index) {
this.medicateCase.splice(index, 1)
},
submit() {
return new Promise((resolve, reject) => {
resolve(this.medicateCase)
})
}
}
}
</script>
<style lang="less" scoped>
.label-title {
font-size: 13px;
color: #595959;
font-weight: 500;
margin-bottom: 8px;
&[required] {
&::after {
content: '*';
color: #FF4D4F;
font-weight: bold;
margin-left: 4px;
}
}
}
.bg-fa {
background-color: #FAFAFA;
padding: 8px;
border-radius: 8px;
}
.doc-radio-group-now {
column-gap: 10px;
row-gap: 8px;
background-color: #FAFAFA;
width: 100%;
.van-radio {
background-color: #FFF;
padding: 8px 12px;
border-radius: 8px;
justify-content: space-between;
margin-right: 0;
flex-grow: 1;
}
}
.form-input {
background-color: #FAFAFA;
padding: 8px 12px;
border-radius: 8px;
}
:deep(.van-field) {
border-radius: .08rem;
.van-field__label {
width: auto;
}
}
.pop-title {
color: #262626;
font-size: 16px;
font-weight: 600;
}
.greyColor {
color: var(--van-text-color-2);
font-weight: 400;
}
.del-btn {
text-align: center;
margin: 8px auto;
padding: 4px 8px;
border-radius: 38px;
border: 1px solid #BFBFBF;
width: 112px;
color: #8C8C8C;
font-size: 13px;
}
</style>
\ No newline at end of file
...@@ -50,14 +50,29 @@ export default { ...@@ -50,14 +50,29 @@ export default {
computed: { computed: {
residentInfoId() { residentInfoId() {
return this.$route.query.residentInfoId return this.$route.query.residentInfoId
},
serveType() {
if (this.diseaseInfo.diseaseType === 1 || this.diseaseInfo.diseaseType === 2) {
return this.diseaseInfo.serveType
} else {
return 3
}
} }
}, },
methods: { methods: {
async submit() { async submit() {
let form = { let form = {
...this.diseaseInfo, // 本次随访情况-默认在访
visitSituation: 1,
// 随访类型(高血压和糖尿病分为常规和新增,其余病种不区分)
serveType: this.serveType,
// 居民档案信息
residentsRecord: this.baseInfo, residentsRecord: this.baseInfo,
// 居民id
residentInfoId: this.residentInfoId, residentInfoId: this.residentInfoId,
// 病种
diseaseType: this.diseaseInfo.diseaseType,
// 数据来源(2为慢综app)
source: 2 source: 2
} }
if (this.diseaseInfo.diseaseType === 1) { if (this.diseaseInfo.diseaseType === 1) {
...@@ -74,8 +89,6 @@ export default { ...@@ -74,8 +89,6 @@ export default {
}, true) }, true)
} else if (this.diseaseInfo.diseaseType === 3) { } else if (this.diseaseInfo.diseaseType === 3) {
const coronaryHeartDiseaseForm = await this.$refs.coronaryHeartDiseaseForm.submit() const coronaryHeartDiseaseForm = await this.$refs.coronaryHeartDiseaseForm.submit()
console.log(coronaryHeartDiseaseForm)
return
return await addCoronaryHeartDiseaseForm({ return await addCoronaryHeartDiseaseForm({
...form, ...form,
...coronaryHeartDiseaseForm ...coronaryHeartDiseaseForm
......
...@@ -653,6 +653,10 @@ ...@@ -653,6 +653,10 @@
@click="showCurrentDiagnosis = true" @click="showCurrentDiagnosis = true"
class="form-input" class="form-input"
/> />
<!-- 治疗方案 -->
<TreatmentPlan ref="treatmentPlan"></TreatmentPlan>
<!-- 目前诊断 -->
<van-popup v-model:show="showCurrentDiagnosis" position="bottom"> <van-popup v-model:show="showCurrentDiagnosis" position="bottom">
<div class="p-4" style="height: 100%"> <div class="p-4" style="height: 100%">
<div class="flex justify-between items-center mb-4 pop-title"> <div class="flex justify-between items-center mb-4 pop-title">
...@@ -851,8 +855,9 @@ import DocOffice from '@/doctor/components/docOffice/DocOffice.vue' ...@@ -851,8 +855,9 @@ import DocOffice from '@/doctor/components/docOffice/DocOffice.vue'
import DocOfficeDoctor from '@/doctor/components/docOfficeDoctor/DocOfficeDoctor.vue' import DocOfficeDoctor from '@/doctor/components/docOfficeDoctor/DocOfficeDoctor.vue'
import InspectV2 from '../../components/InspectV2.vue' import InspectV2 from '../../components/InspectV2.vue'
import TreatmentPlan from '../../components/TreatmentPlan.vue'
export default { export default {
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, InspectV2 }, components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, InspectV2, TreatmentPlan },
inject: ['pressureObj'], inject: ['pressureObj'],
props: { props: {
diseaseInfo: { diseaseInfo: {
...@@ -1180,7 +1185,7 @@ export default { ...@@ -1180,7 +1185,7 @@ export default {
}, },
symptomConfirm() { symptomConfirm() {
let list = [] let list = []
this.store.getDict('CP00058').forEach(item => { this.store.getDict('CP00060').forEach(item => {
let selected = this.form.symptom.filter(e => e === item.value) let selected = this.form.symptom.filter(e => e === item.value)
if (selected && selected.length) { if (selected && selected.length) {
list.push(item.name) list.push(item.name)
...@@ -1231,6 +1236,8 @@ export default { ...@@ -1231,6 +1236,8 @@ export default {
this.$refs.form.validate().then(async () => { this.$refs.form.validate().then(async () => {
// 辅助检查 // 辅助检查
const inspectList = await this.$refs.inspectRef.submit() const inspectList = await this.$refs.inspectRef.submit()
// 治疗方案
const medicateCase = await this.$refs.treatmentPlan.submit()
const form = fetchDataHandle(this.form, { const form = fetchDataHandle(this.form, {
symptom: 'arrToStr', symptom: 'arrToStr',
...@@ -1238,7 +1245,8 @@ export default { ...@@ -1238,7 +1245,8 @@ export default {
}) })
resolve({ resolve({
...form, ...form,
inspectList: inspectList inspectList: inspectList,
medicateCase: JSON.stringify(medicateCase)
}) })
}).catch(e => { }).catch(e => {
......
...@@ -176,8 +176,17 @@ export default { ...@@ -176,8 +176,17 @@ export default {
}) })
} }
}, },
editBtn() { editBtn(item) {
if (item.serveType === 3 || item.serveType === 4) {
this.$router.push({
path: '/doctor/followUp/separateFU/add',
query: {
residentInfoId: item.residentInfoId,
diseaseType: item.diseaseType,
id: item.relationId
}
})
}
}, },
delBtn() { delBtn() {
......
...@@ -123,14 +123,15 @@ export default { ...@@ -123,14 +123,15 @@ export default {
}, },
toDetail(record) { toDetail(record) {
if (!record) return if (!record) return
if (record.id == null) { if (record.relationUuid == null) {
this.$message.info('暂时无法查看 详情信息') this.$message.info('暂时无法查看 详情信息')
return return
} }
this.$router.push({ this.$router.push({
path: '/doctor/followUp/generalFU/detail', path: '/doctor/followUp/detail',
query: { query: {
relationId: record.id relationUuid: record.relationUuid,
residentInfoId: this.residentInfoId,
} }
}) })
}, },
......
...@@ -176,6 +176,7 @@ ...@@ -176,6 +176,7 @@
placeholder='请选择' placeholder='请选择'
class='input-back mt-2 form-input' class='input-back mt-2 form-input'
@click='showExerciseFrequency = true' @click='showExerciseFrequency = true'
:rules='rules.exerciseFrequencyName'
> >
<template #input> <template #input>
<span class='text-end' v-if='form.exerciseFrequencyName'>{{ form.exerciseFrequencyName }}</span> <span class='text-end' v-if='form.exerciseFrequencyName'>{{ form.exerciseFrequencyName }}</span>
...@@ -478,6 +479,7 @@ ...@@ -478,6 +479,7 @@
placeholder='请选择' placeholder='请选择'
class='input-back mt-2 form-input' class='input-back mt-2 form-input'
@click='showDietaryHabit= true' @click='showDietaryHabit= true'
:rules='rules.dietaryHabitName'
> >
<template #input> <template #input>
<span class='text-end' v-if='form.dietaryHabitName'>{{ form.dietaryHabitName }}</span> <span class='text-end' v-if='form.dietaryHabitName'>{{ form.dietaryHabitName }}</span>
...@@ -509,7 +511,8 @@ ...@@ -509,7 +511,8 @@
<div class='label-title lh-24'>饮酒频率</div> <div class='label-title lh-24'>饮酒频率</div>
<van-field <van-field
class='form-input mt-2' class='form-input mt-2'
style='padding: 0' style='padding: 0;background: #FAFAFA'
:rules='rules.drinkFrequency'
> >
<template #input> <template #input>
<van-radio-group v-model='form.drinkFrequency' <van-radio-group v-model='form.drinkFrequency'
...@@ -531,7 +534,8 @@ ...@@ -531,7 +534,8 @@
<div class='label-title lh-24'>饮酒种类</div> <div class='label-title lh-24'>饮酒种类</div>
<van-field <van-field
class='form-input mt-2' class='form-input mt-2'
style='padding: 0' style='padding: 0;background: #F5F5F5'
:rules='rules.drinkKind'
> >
<template #input> <template #input>
<div class='flex justify-between gap-x-2.5 w-full' style='background: #F5F5F5'> <div class='flex justify-between gap-x-2.5 w-full' style='background: #F5F5F5'>
...@@ -604,6 +608,7 @@ ...@@ -604,6 +608,7 @@
placeholder='请输入' placeholder='请输入'
class='mt-2' class='mt-2'
style='padding: 8px;border-radius: 4px' style='padding: 8px;border-radius: 4px'
:rules='rules.startDrinkAge'
> >
<template #extra> <template #extra>
<span class='mr-2'></span> <span class='mr-2'></span>
...@@ -615,7 +620,8 @@ ...@@ -615,7 +620,8 @@
<div class='label-title lh-24'>是否戒酒</div> <div class='label-title lh-24'>是否戒酒</div>
<van-field <van-field
class='form-input mt-2' class='form-input mt-2'
style='padding: 0' style='padding: 0;background: #F5F5F5'
:rules='rules.giveDrink'
> >
<template #input> <template #input>
<van-radio-group v-model='form.giveDrink' <van-radio-group v-model='form.giveDrink'
...@@ -641,6 +647,7 @@ ...@@ -641,6 +647,7 @@
placeholder='请输入' placeholder='请输入'
class='mt-2' class='mt-2'
style='padding: 8px;border-radius: 4px' style='padding: 8px;border-radius: 4px'
:rules='rules.giveDrinkStart'
> >
<template #extra> <template #extra>
<span class='mr-2'></span> <span class='mr-2'></span>
...@@ -656,7 +663,8 @@ ...@@ -656,7 +663,8 @@
<div class='label-title lh-24'>吸烟情况</div> <div class='label-title lh-24'>吸烟情况</div>
<van-field <van-field
class='form-input mt-2' class='form-input mt-2'
style='padding: 0' style='padding: 0;background: #FAFAFA'
:rules='rules.isSmoking'
> >
<template #input> <template #input>
<van-radio-group v-model='form.isSmoking' <van-radio-group v-model='form.isSmoking'
...@@ -680,6 +688,7 @@ ...@@ -680,6 +688,7 @@
placeholder='请输入' placeholder='请输入'
class='mt-2' class='mt-2'
style='padding: 8px;border-radius: 4px' style='padding: 8px;border-radius: 4px'
:rules='rules.daySmoking'
> >
</van-field> </van-field>
</div> </div>
...@@ -691,6 +700,7 @@ ...@@ -691,6 +700,7 @@
placeholder='请输入' placeholder='请输入'
class='mt-2' class='mt-2'
style='padding: 8px;border-radius: 4px' style='padding: 8px;border-radius: 4px'
:rules='rules.startSmoking'
> >
<template #extra> <template #extra>
<span class='mr-2'></span> <span class='mr-2'></span>
...@@ -706,6 +716,7 @@ ...@@ -706,6 +716,7 @@
placeholder='请输入' placeholder='请输入'
class='mt-2' class='mt-2'
style='padding: 8px;border-radius: 4px' style='padding: 8px;border-radius: 4px'
:rules='rules.giveSmokingAge'
> >
<template #extra> <template #extra>
<span class='mr-2'></span> <span class='mr-2'></span>
...@@ -717,7 +728,8 @@ ...@@ -717,7 +728,8 @@
<div class='label-title lh-24'>经常吸入二手烟(家中有吸烟者,且经常吸入二手烟)</div> <div class='label-title lh-24'>经常吸入二手烟(家中有吸烟者,且经常吸入二手烟)</div>
<van-field <van-field
class='form-input mt-2' class='form-input mt-2'
style='padding: 0' style='padding: 0;background: #F5F5F5'
:rules='rules.secondSmoking'
> >
<template #input> <template #input>
<van-radio-group v-model='form.secondSmoking' <van-radio-group v-model='form.secondSmoking'
...@@ -1677,6 +1689,7 @@ export default { ...@@ -1677,6 +1689,7 @@ export default {
} }
list = Array.from(new Set(list)) list = Array.from(new Set(list))
this.specialScreenResultSelect = list this.specialScreenResultSelect = list
// this.form.specialScreenResult = this.specialScreenResultSelect
}, },
//清洗右侧高危选项表单 //清洗右侧高危选项表单
cleanFormRight() { cleanFormRight() {
...@@ -2462,6 +2475,7 @@ export default { ...@@ -2462,6 +2475,7 @@ export default {
this.specialScreenResultSelect.push(val.value) this.specialScreenResultSelect.push(val.value)
} }
this.specialScreenResultSelect = this.checkboxReject(this.specialScreenResultSelect, [9]) this.specialScreenResultSelect = this.checkboxReject(this.specialScreenResultSelect, [9])
// this.form.specialScreenResult = this.specialScreenResultSelect
}, },
//提交 //提交
onSubmit() { onSubmit() {
......
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