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

专病随访联调

parent 3cd3ca5e
import { fetchBase } from '@/api/doctor/doctorFetch'
// 新增高血压随访
export function addHypertensionForm(params) {
return fetchBase({ url: `/chronic-admin/v1/chronic-visit-hypertension/save`, body: params, loading: true })
}
\ No newline at end of file
......@@ -66,7 +66,7 @@ export default {
if (!token) {
token = sessionStorage.getItem('token')
if (process.env.NODE_ENV !== 'production') {
token = '754c4502-5f2e-4b43-93d4-8c0e67bc9352'
token = '2fd52bba-1093-41d2-b8c9-987e81f891b4'
}
}
if (token) {
......
<template>
<van-form>
<van-form ref="form">
<div class="label-title" required>专病名称</div>
<van-field
v-model="form.diseaseTypeName"
......@@ -11,12 +11,6 @@
class="form-input"
/>
<van-popup v-model:show="showDiseaseType" position="bottom">
<!-- <van-picker
:columns-field-names="{ text: 'name', value: 'value' }"
:columns="store.getDict('CP00117')"
@confirm="diseaseConfirm"
@cancel="showDiseaseType = false"
/> -->
<div class="p-4" style="height: 100%">
<div class="flex justify-between items-center mb-4 pop-title">
<div class="greyColor" @click="showDiseaseType = false">取消</div>
......@@ -37,7 +31,7 @@
</van-popup>
<div class="label-title mt-5" required>请选择</div>
<van-field style="padding: 0" class="mb-5">
<van-field :rules="rules.serveType" style="padding: 0" class="mb-5">
<template #input>
<van-radio-group
v-model="form.serveType"
......@@ -51,25 +45,6 @@
</template>
</van-field>
<!-- <div class="font-semibold mt-4">居民信息</div> -->
<!-- <div class="label-title mt-4" required>证件类型</div>
<van-field
v-model="form.certificateTypeName"
isLink
readonly
placeholder="请选择"
:rules="rules.certificateTypeName"
@click="showCertificateType = true"
class="form-input"
/>
<van-popup v-model:show="showCertificateType" position="bottom">
<van-picker
:columns-field-names="{ text: 'name', value: 'value' }"
:columns="store.getDict('DC00004')"
@confirm="certificateConfirm"
@cancel="showDiseaseType = false"
/>
</van-popup> -->
<ArchiveCommon ref="archive" :info="info"></ArchiveCommon>
</van-form>
</template>
......@@ -84,7 +59,14 @@ export default {
return {
store: useStore(),
form: {},
rules: {},
rules: {
diseaseTypeName: [
{ required: true, message: '请选择' }
],
serveType: [
{ required: true, message: '请选择' }
]
},
showDiseaseType: false,
showCertificateType: false,
info: {}
......@@ -107,25 +89,33 @@ export default {
this.info = res.data || {}
},
diseaseTypeChange() {
},
diseaseConfirm({ selectedValues, selectedOptions }) {
this.form.diseaseType = selectedValues[0]
this.form.diseaseTypeName = selectedOptions[0].name
this.store.getDict('CP00117').forEach(item => {
if (item.value === this.form.diseaseType) {
this.form.diseaseTypeName = item.name
}
})
this.showDiseaseType = false
},
certificateConfirm({ selectedValues, selectedOptions }) {
this.form.certificateType = selectedValues[0]
this.form.certificateTypeName = selectedOptions[0].name
this.showCertificateType = false
},
async onSubmit() {
let baseInfo = {}
try {
baseInfo = await this.$refs.archive.onSubmit()
} catch(e) {
const baseInfo = await this.$refs.archive.onSubmit()
return new Promise((resolve, reject) => {
this.$refs.form.validate().then(() => {
resolve({
baseInfo,
diseaseInfo: this.form
})
}).catch(e => {
})
})
// let baseInfo = {}
// try {
// baseInfo = await this.$refs.archive.onSubmit()
// } catch(e) {
}
// }
}
}
}
......
......@@ -5,16 +5,39 @@
</template>
<script>
import HypertensionForm from './components/HypertensionForm.vue'
import { addHypertensionForm } from '@/api/doctor/separateFU'
export default {
components: { HypertensionForm },
props: {
baseInfo: {
type: Object,
default: () => {}
},
diseaseInfo: {
type: Object,
default: () => {}
}
},
data() {
return {
diseaseType: 1
}
},
computed: {
residentInfoId() {
return this.$route.query.residentInfoId
}
},
methods: {
submit() {
this.$refs.hypertensionForm.submit()
async submit() {
const hypertensionForm = await this.$refs.hypertensionForm.submit()
let form = {
...this.diseaseInfo,
residentsRecord: this.baseInfo,
...hypertensionForm,
residentInfoId: this.residentInfoId,
}
return await addHypertensionForm(form, true)
}
}
}
......
......@@ -8,7 +8,7 @@
<div class="p-4 h-overflow">
<BaseInfo v-if="step === 1" ref="baseInfo"></BaseInfo>
<FormCont v-if="step === 2" ref="formCont"></FormCont>
<FormCont v-if="step === 2" ref="formCont" :baseInfo="baseInfo" :diseaseInfo="diseaseInfo"></FormCont>
</div>
<div class="bottom-small-line"></div>
<div class="p-4">
......@@ -25,7 +25,9 @@ export default {
components: { BaseInfo, FormCont },
data() {
return {
step: 1
step: 1,
baseInfo: {},
diseaseInfo: {}
}
},
computed: {
......@@ -45,12 +47,16 @@ export default {
}
},
async toNext() {
// this.$refs.baseInfo.onSubmit()
// console.log(666, obj)
const { baseInfo, diseaseInfo } = await this.$refs.baseInfo.onSubmit()
this.baseInfo = baseInfo
this.diseaseInfo = diseaseInfo
this.step = 2
},
onSubmit() {
this.$refs.formCont.submit()
this.$refs.formCont.submit().then(() => {
this.$message.success('新增成功')
this.$router.go(-1)
})
}
}
}
......
......@@ -981,7 +981,7 @@
<script>
import { useStore } from '@/doctor/store'
import CheckBtn from '@/doctor/components/checkBtn/CheckBtn.vue'
import { checkboxReject, calculateBMI } from '@/utils/common'
import { checkboxReject, calculateBMI, fetchDataHandle } from '@/utils/common'
import BloodPressurePanel from '@/doctor/components/bloodPressure/BloodPressurePanel.vue'
import BloodPressureBt from '@/doctor/components/bloodPressure/BloodPressureBt.vue'
import DocImageUpload from '@/doctor/components/docImageUpload/DocImageUpload.vue'
......@@ -1417,10 +1417,16 @@ export default {
},
submit() {
this.$refs.form.validate().then(() => {
console.log(this.form)
}).catch(e => {
return new Promise((resolve, reject) => {
this.$refs.form.validate().then(() => {
const form = fetchDataHandle(this.form, {
symptom: 'arrToStr',
currentDiagnosis: 'arrToStr'
})
resolve(form)
}).catch(e => {
})
})
}
},
......
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