Commit b6636cd3 authored by gengchunlei's avatar gengchunlei

医生端小程序 v1.2 1、死亡记录

parent c29634df
......@@ -66,7 +66,7 @@ export default {
if (!token) {
token = sessionStorage.getItem('token')
if (process.env.NODE_ENV !== 'production') {
token = 'a0b01a59-8e07-4a71-9c1c-0cf25e41810d'
token = '12d2fd58-ee1f-45b5-b455-cce7126fe19a'
}
}
if (token) {
......
<template>
</template>
<script>
export default {
name: 'Detail'
}
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div>
<van-form ref='form'>
<div class='title'>死亡信息</div>
<div class='label-title'>死亡日期</div>
<van-field
v-model='form.deathDate'
is-link
readonly
name='deathDate'
placeholder='死亡日期'
class='input-back mt-2 form-input'
:rules='rules.deathDate'
@click='showDate = true' />
<van-popup v-model:show='showDate' position='bottom'>
<van-date-picker v-model='form._deathDate'
:min-date='deathDateRange.min'
:max-date='deathDateRange.max'
@confirm='dataConfirm' @cancel='showDate = false' />
</van-popup>
<div class='label-title mt-5'>死亡原因</div>
<van-field
class='no-back form-input mt-2'
style='padding: 0'
>
<template #input>
<van-radio-group v-model='form.reasonItem'
shape="dot"
direction='horizontal'
class='w-full doc-radio-group'
:rules='rules.reasonItem'
>
<van-radio v-for="item in store.getDict('CP00169')"
:key='item.value' :name='item.value'
label-position='left'>
<span class='lh-24'>{{ item.name }}</span>
</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field
v-if='form.reasonItem == 9'
v-model='form.deathReasonOther'
name='deathReasonOther'
placeholder='其他意外情况'
class='input-back mt-3 form-input'
rows='2'
autosize
type='textarea'
/>
</van-form>
</div>
</template>
<script>
import dayjs from 'dayjs'
import { useStore } from '@/doctor/store'
export default {
name: 'DeathRecordForm',
data() {
return {
store: useStore(),
showDate: false,
// 筛查日期可选范围
deathDateRange: {
min: undefined,
max: undefined
},
form: {},
rules: {
deathDate: [{required: true, message: "请选择"}],
reasonItem: [{required: true, message: "请选择"}],
}
}
},
created() {
const date = dayjs()
this.deathDateRange.max = new Date(date.year(), date.month(), date.date())
// this.deathDateRange.min = new Date(date.year() - 10)
this.form._deathDate = [date.year(), date.month(), date.date()]
this.form.deathDate = dayjs().format('YYYY-MM-DD')
},
methods: {
dataConfirm({ selectedValues }) {
this.form.deathDate = selectedValues.join('-')
this.showDate = false
},
}
}
</script>
<style scoped lang='less'>
.title {
font-weight: bold;
margin-bottom: 20px;
}
.label-title {
font-size: 13px;
color: #595959;
font-weight: 500;
&::after {
content: "*";
color: red;
font-weight: bold;
margin-left: 4px;
}
}
.form-input {
padding: 8px 12px;
border-radius: 8px;
}
.input-back {
background: #FAFAFA;
}
.lh-24 {
//line-height: 24px;
}
:deep(.van-cell:after) {
border-bottom: 0px;
}
</style>
\ No newline at end of file
<template>
<div>
<van-nav-bar title='新增死亡记录' left-text='' left-arrow
@click-left='toBack'></van-nav-bar>
<div class='p-4 h-overflow' ref='all'>
<archive-common :info='info'
v-if='step == 1'
ref='baseInfo'
></archive-common>
<death-record-form
v-if='step == 2'
:info='info'
ref='deathRecordForm'
></death-record-form>
</div>
<div class='bottom-small-line'></div>
<div class='pt-2 pb-2'>
<div class='px-5 grow flex flex-col justify-end' v-if='step == 1'>
<van-button type='primary' block round
@click='toNext(2)'>下一步
</van-button>
</div>
<div class='px-5 grow flex flex-col justify-end' v-if='step == 2'>
<van-button type='primary' block round
@click='onsubmit'>提交
</van-button>
</div>
</div>
</div>
</template>
<script>
import { useStore } from '@/doctor/store'
import ArchiveCommon from '@/doctor/components/archiveCommon/archiveCommon'
import DeathRecordForm from '@/doctor/deathRecord/form/DeathRecordForm'
import { getChronicResidentsId } from '@/api/doctor/generalFU'
export default {
name: 'deathRecordIndex',
components: { DeathRecordForm, ArchiveCommon },
data() {
return {
store: useStore(),
info: {},
resident: {},
step: 1
}
},
computed: {
routerDetail() {
return this.$route.query
}
},
created() {
this.init()
},
methods: {
async init() {
this.info = {}
const res = await getChronicResidentsId(this.routerDetail.residentInfoId)
const {
id,
createDate,
createDoctorId,
createDoctorName,
createOfficeId,
createOfficeName,
createUnitId,
createUnitName,
updated,
...others
} = res.data
this.info = {
personId: id,
...others,
}
},
async toNext(val) {
this.$refs.all.scrollTo(0, 0)
if (val == 2) {
await this.$refs.baseInfo.onSubmit()
}
this.step = val
},
onsubmit() {
},
toBack() {
if (this.step != 1) {
this.step--
return
}
this.$router.back()
}
}
}
</script>
<style scoped lang='less'>
:deep(.van-nav-bar .van-icon) {
color: #000000;
}
.h-overflow {
height: calc(100vh - 110px);
overflow-y: auto;
}
</style>
\ No newline at end of file
......@@ -34,7 +34,7 @@
v-model:value="form.icdCode"
:diseaseType="diseaseType"
@change="icdChange"/>
<div class='doc-form-label' required>诊断日期</div>
<van-field
v-model="form.diseaseDate"
......@@ -69,7 +69,7 @@
:rules="rules.requiredSelect"
/>
</template>
<template v-else-if="diseaseType == 4">
<div class='doc-form-label' required>缺血性脑卒中</div>
<van-field
......@@ -114,7 +114,7 @@
:rules="rules.requiredSelect"
/>
</template>
<van-popup v-model:show="resultSelectOption.show" position="bottom">
<div class="pt-4 pb-4 popup-checkbox">
......@@ -132,7 +132,7 @@
class="py-3 px-4"
activeStyleNone :clearable="false"
@change="optionChange"/>
<CheckBtn v-else
v-model:value="resultSelectOption.value"
:options="resultSelectOption.array"
......@@ -150,6 +150,7 @@
<template #input>
<van-radio-group v-model="form.isInspect"
direction="horizontal"
shape="dot"
class="w-full doc-radio-group">
<van-radio v-for="item in store.getDict('CP00120')"
:key="item.value" :name="item.value"
......@@ -171,6 +172,7 @@
<template #input>
<van-radio-group v-model="form.isCheck"
direction="horizontal"
shape="dot"
class="w-full doc-radio-group">
<van-radio v-for="item in store.getDict('CP00120')"
:key="item.value" :name="item.value"
......@@ -332,7 +334,7 @@ export default {
inspectFileList: e.inspectFileList,
insType: pList[0]?.insType,
insName: pList[0]?.insName,
itemCode: pList[0]?.insType + '-2'
itemCode: pList[0]?.insType + '-2'
})
}
//未上传图片并存在结论的数据
......
......@@ -133,7 +133,7 @@ export default {
{ name: '新增专病高危筛查', value: 2, path: '/doctor/screening/secondForm' },
{ name: '新增慢病诊断', value: 3, path: '/doctor/diagnose/form' },
{ name: '新增通用随访', value: 4, path: '/doctor/followUp/generalFU/add' },
{ name: '新增死亡记录', value: 5, path: '/doctor/deathRecord/add' },
]
}
},
......
......@@ -143,6 +143,7 @@
<template #input>
<van-radio-group v-model="form.isSmoking"
direction="horizontal"
shape="dot"
class="w-full doc-radio-group">
<van-radio v-for="item in store.getDict('CP00120')"
:key="item.value" :name="item.value"
......@@ -301,6 +302,7 @@
<template #input>
<van-radio-group v-model="form.exerciseIntensity"
direction="horizontal"
shape="dot"
class="w-full doc-radio-group">
<van-radio v-for="item in store.getDict('CP00120')"
:key="item.value" :name="item.value"
......@@ -318,6 +320,7 @@
<template #input>
<van-radio-group v-model="form.screenResult"
direction="horizontal"
shape="dot"
class="w-full doc-radio-group">
<van-radio v-for="item in store.getDict('CP00119')"
:key="item.value" :name="item.value"
......
......@@ -224,6 +224,7 @@
<template #input>
<van-radio-group v-model='form.mediumStrength'
direction='horizontal'
shape="dot"
class='w-full doc-radio-group'>
<van-radio v-for="item in store.getDict('CP00120')"
:key='item.value' :name='item.value'
......@@ -513,6 +514,7 @@
<template #input>
<van-radio-group v-model='form.drinkFrequency'
direction='horizontal'
shape="dot"
class='w-full doc-radio-group-now'
@change='drinkFrequencyChange'
>
......@@ -618,6 +620,7 @@
<template #input>
<van-radio-group v-model='form.giveDrink'
direction='horizontal'
shape="dot"
class='w-full doc-radio-group-now'
style='background: #F5F5F5'
>
......@@ -658,6 +661,7 @@
<template #input>
<van-radio-group v-model='form.isSmoking'
direction='horizontal'
shape="dot"
class='w-full doc-radio-group-now'
>
<van-radio v-for="item in store.getDict('CP00162')"
......@@ -718,6 +722,7 @@
<template #input>
<van-radio-group v-model='form.secondSmoking'
direction='horizontal'
shape="dot"
class='w-full doc-radio-group-now'
style='background: #F5F5F5'
>
......@@ -740,6 +745,7 @@
<template #input>
<van-radio-group v-model='form.blackSpinySkin'
direction='horizontal'
shape="dot"
class='w-full doc-radio-group'>
<van-radio v-for="item in store.getDict('CP00134')"
:key='item.value' :name='item.value'
......@@ -759,6 +765,7 @@
<template #input>
<van-radio-group v-model='form.mentalTension'
direction='horizontal'
shape="dot"
class='w-full doc-radio-group'>
<van-radio v-for="item in store.getDict('CP00135')"
:key='item.value' :name='item.value'
......@@ -778,6 +785,7 @@
<template #input>
<van-radio-group v-model='form.xanthoma'
direction='horizontal'
shape="dot"
class='w-full doc-radio-group'>
<van-radio v-for="item in store.getDict('CP00135')"
:key='item.value' :name='item.value'
......@@ -797,6 +805,7 @@
<template #input>
<van-radio-group v-model='form.tendoIncrassation'
direction='horizontal'
shape="dot"
class='w-full doc-radio-group'>
<van-radio v-for="item in store.getDict('CP00120')"
:key='item.value' :name='item.value'
......@@ -816,6 +825,7 @@
<template #input>
<van-radio-group v-model='riskScoreInfo'
direction='horizontal'
shape="dot"
class='w-full doc-radio-group'>
<van-radio v-for="item in store.getDict('CP00136')"
:key='item.value' :name='item.value'
......
......@@ -28,7 +28,7 @@
<div class="h-full flex flex-col workbench-search-box">
<div class="px-4 py-3 grow">
<div class="mb-3">查询范围</div>
<van-radio-group v-model="configValue.range" direction="horizontal">
<van-radio-group v-model="configValue.range" direction="horizontal" shape="dot">
<van-radio :name="1">本科室</van-radio>
<van-radio :name="2">本人</van-radio>
</van-radio-group>
......
......@@ -99,7 +99,12 @@ const routes = [
path: 'diagnose/detail',
name: 'diagnose-detail',
component: () => import(/* webpackChunkName: "doctor" */ '@/doctor/diagnose/detail/DiagnoseDtail.vue')
}
},
{
path: 'deathRecord/add',
name: 'deathRecord-add',
component: () => import(/* webpackChunkName: "doctor" */ '@/doctor/deathRecord/form/Index.vue')
},
]
},
{
......
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