Commit d3ea72cf authored by gengchunlei's avatar gengchunlei

居民端小程序 v1.2 删除无效文件

parent 9de9fa56
<template>
<div class='all-back'>
<van-nav-bar title='慢病管理' left-text='' left-arrow
@click-right="toSearch" @click-left='toBack'>
<template #right>
<doc-icon type="doc-search" style="color: #262626"/>
</template>
</van-nav-bar>
<van-pull-refresh v-model="loading" @refresh="onRefresh"
:disabled='isRefreshDisable'>
<div class='top-title'>
我的待随访({{ total }})
</div>
<van-tabs v-model:active='active'>
<van-tab :name='item.name' v-for='item in tabList' :key="item.name">
<template #title>
<span>{{ item.title }}({{ item.num }})</span>
</template>
</van-tab>
</van-tabs>
<div class='list-data' ref='list'>
<div class='mt-10 white-back p-16' v-for='item in activeData' :key="item.id">
<div class='flex items-center'>
<div class='base-title'>{{ item.residentName }}</div>
<div class='second-title plr-8'>{{ getInfoByIdCard(item.idCard).age }}岁</div>
<div class='second-title plr-6'>{{ item.genderName }}</div>
</div>
<div class='mt-3 flex items-center'>
<div class='detail-left'>
身份证号
</div>
<div class='detail-right'>
{{ $idCardHide(item.idCard) }}
</div>
</div>
<div class='mt-3 flex items-center'>
<div class='detail-left'>
是否逾期
</div>
<div class='detail-right'>
{{ item.isOverdueName }}
</div>
</div>
<div class='mt-3 flex items-center'>
<div class='detail-left'>
逾期天数
</div>
<div class='detail-right'>
{{ item.overdueDay }} 天
</div>
</div>
<div class='flex mt-3' style='align-items: baseline'>
<div class='detail-left'>
慢病标签
</div>
<div class='detail-right' style='flex: 1'>
<ChronicTag :list="item.chronicTagsArray"/>
</div>
</div>
<van-divider class='mt-3' />
<div class='mt-3 flex word-right'>
<div></div>
<div>
<van-button round size='small' class='btn' @click='toGeneralDetail(item)'>详情</van-button>
<van-button round size='small' class='btn' style='margin-left: 16px' @click='toAddGeneral(item)'>通用随访
</van-button>
</div>
</div>
</div>
<div class="text-center empty" v-if="!activeData.length">
<img src="@/assets/image/doctor/empty.png" alt="" style="width: 1.2rem;">
<p>暂无数据</p>
</div>
</div>
</van-pull-refresh>
</div>
</template>
<script>
import dayjs from 'dayjs'
import { getVisitAll } from '@/api/doctor/generalFU.js'
import ChronicTag from '@/doctor/components/chronicTag/ChronicTag.vue'
import { backHome, getInfoByIdCard } from '@/utils/common'
export default {
name: 'List',
components: {
ChronicTag
},
data() {
return {
active: 1,
tabList: [
{ title: '高血压', name: 1, num: 0 },
{ title: '糖尿病', name: 2, num: 0 },
{ title: '冠心病', name: 3, num: 0 },
{ title: '脑卒中', name: 4, num: 0 },
{ title: '慢阻肺', name: 5, num: 0 },
{ title: '慢性肾病', name: 6, num: 0 },
{ title: '血脂异常', name: 7, num: 0 }
],
detailInfo: [],
total: 0,
// 下拉刷新
loading: false,
isRefreshDisable: false
}
},
computed: {
activeData() {
return this.detailInfo.filter(e => e.diseaseType === this.active)
}
},
created() {
this.init()
},
mounted() {
const list = this.$refs.list
list.addEventListener('scroll', () => {
if (list.scrollTop > 0) {
this.isRefreshDisable = true
} else {
this.isRefreshDisable = false
}
})
},
methods: {
getInfoByIdCard,
init() {
this.load()
},
load(loading = true) {
// const nextVisitDateStart = dayjs().format('YYYY-MM-DD')
// const nextVisitDateEnd = dayjs().add(6, 'day').format('YYYY-MM-DD')
const query = {
// nextVisitDateStart,
// nextVisitDateEnd
}
getVisitAll(query, loading).then(res => {
console.log('getVisitAll', res)
this.detailInfo = res.data || []
this.total = this.detailInfo.length
this.tabList.forEach(e => {
e.num = this.detailInfo.filter(i => i.diseaseType === e.name).length
})
}).finally(() => {
this.loading = false
})
},
scrollHandle(dom) {
if (!dom) return
if (dom.scrollTop > 0) {
this.isRefreshDisable = true
} else {
this.isRefreshDisable = false
}
},
onRefresh() {
this.load(false)
},
toGeneralDetail(item) {
this.$router.push({
path: `/doctor/resident/base`,
query: {
residentId: item.residentInfoId
}
})
},
toAddGeneral(val) {
const {id, ...others} = val
this.$router.push({
path: `/doctor/followUp/generalFU/add`,
query: {...others}
})
},
toSearch() {
this.$router.push({
path: `/doctor/followUp/search`
})
},
toBack() {
backHome()
}
}
}
</script>
<style scoped lang='less'>
.all-back {
background: #F5F5F5;
.top-title {
padding: 10px 12px;
}
.white-back {
background: #FFFFFF;
}
.mt-10 {
margin-top: 10px;
}
.p-16 {
padding: 16px;
}
.plr-8 {
padding: 0px 8px;
}
.plr-6 {
padding: 0px 6px;
}
.base-title {
font-weight: bold;
font-size: 16px;
}
.second-title {
background: #F0F3FF;
line-height: 24px;
margin-left: 10px;
}
.detail-left {
width: 104px;
font-size: 14px;
color: #8C8C8C;
}
.detail-right {
font-size: 14px;
}
.word-right {
justify-content: space-between;
align-items: center;
}
.btn {
background: #F0F3FF;
color: #607FF0;
border: 0px;
line-height: 26px;
height: 26px;
//padding: 4px 8px 4px 8px;
padding: 0px 8px;
}
.list-data {
height: calc(100vh - 140px);
overflow-y: auto;
}
}
</style>
\ No newline at end of file
<template>
<div class='all-back'>
<van-nav-bar title='慢病管理' left-text='' left-arrow
@click-right='toSearch' @click-left='toBack'>
<template #right>
<doc-icon type='doc-search' style='color: #262626' />
</template>
</van-nav-bar>
<div class='top-title'>
我的待随访({{ total }})
</div>
<van-tabs v-model:active='active' @change='changeTab'>
<van-tab :name='item.name' v-for='item in tabList' :key='item.name'>
<template #title>
<span>{{ item.title }}({{ item.num }})</span>
</template>
</van-tab>
</van-tabs>
<van-pull-refresh v-model='loading' @refresh='onRefresh'
:disabled='isRefreshDisable'>
<div class='list-data' ref='list'>
<van-list
v-model:loading='loadingTable'
:finished='finished'
:finished-text="detailInfo.length ? '没有更多了' : ''"
@load='onMore'
>
<div class='mt-10 white-back p-16' v-for='item in detailInfo' :key='item.id'>
<div class='flex items-center'>
<div class='base-title'>{{ item.residentName }}</div>
<div class='second-title plr-8'>{{ getInfoByIdCard(item.idCard).age }}岁</div>
<div class='second-title plr-6'>{{ item.genderName }}</div>
</div>
<div class='mt-3 flex items-center'>
<div class='detail-left'>
身份证号
</div>
<div class='detail-right'>
{{ $idCardHide(item.idCard) }}
</div>
</div>
<div class='mt-3 flex items-center'>
<div class='detail-left'>
是否逾期
</div>
<div class='detail-right'>
{{ item.isOverdueName }}
</div>
</div>
<div class='mt-3 flex items-center'>
<div class='detail-left'>
逾期天数
</div>
<div class='detail-right'>
{{ item.overdueDay }} 天
</div>
</div>
<div class='flex mt-3' style='align-items: baseline'>
<div class='detail-left'>
慢病标签
</div>
<div class='detail-right' style='flex: 1'>
<ChronicTag :list='item.chronicTagsArray' />
</div>
</div>
<van-divider class='mt-3' />
<div class='mt-3 flex word-right'>
<div></div>
<div>
<van-button round size='small' class='btn' @click='toGeneralDetail(item)'>详情
</van-button>
<van-button round size='small' class='btn' style='margin-left: 16px'
@click='toAddGeneral(item)'>通用随访
</van-button>
</div>
</div>
</div>
</van-list>
<div class='text-center empty' v-if='!detailInfo.length'>
<img src='@/assets/image/doctor/empty.png' alt='' style='width: 1.2rem;'>
<p>暂无数据</p>
</div>
</div>
</van-pull-refresh>
</div>
</template>
<script>
import dayjs from 'dayjs'
import { getVisitAll, queryVisitByPage } from '@/api/doctor/generalFU.js'
import ChronicTag from '@/doctor/components/chronicTag/ChronicTag.vue'
import { backHome, getInfoByIdCard } from '@/utils/common'
export default {
name: 'List',
components: {
ChronicTag
},
data() {
return {
active: 1,
tabList: [
{ title: '高血压', name: 1, num: 0 },
{ title: '糖尿病', name: 2, num: 0 },
{ title: '冠心病', name: 3, num: 0 },
{ title: '脑卒中', name: 4, num: 0 },
{ title: '慢阻肺', name: 5, num: 0 },
{ title: '慢性肾病', name: 6, num: 0 },
{ title: '血脂异常', name: 7, num: 0 }
],
detailInfo: [],
total: 0,
// 下拉刷新
loading: false,
isRefreshDisable: false,
//列表刷新
loadingTable: false,
pagination: {
total: 0,
pageIndex: 1,
pageSize: 5
},
finished: false
}
},
mounted() {
const list = this.$refs.list
list.addEventListener('scroll', () => {
if (list.scrollTop > 0) {
this.isRefreshDisable = true
} else {
this.isRefreshDisable = false
}
})
},
methods: {
getInfoByIdCard,
changeTab() {
this.detailInfo = []
this.pagination.pageIndex = 1
this.load()
},
onMore() {
this.pagination.pageIndex++
this.load()
},
load(loading = true) {
const query = {
diseaseType: this.active,
pageIndex: this.pagination.pageIndex,
pageSize: this.pagination.pageSize
}
getVisitAll(query, loading).then(res => {
console.log('getVisitAll', res)
this.detailInfo = this.detailInfo.concat(res.data || [])
this.total = this.detailInfo.length
this.finished = this.detailInfo.length >= this.pagination.total
}).finally(() => {
this.loading = false
this.loadingTable = false
})
},
scrollHandle(dom) {
if (!dom) return
if (dom.scrollTop > 0) {
this.isRefreshDisable = true
} else {
this.isRefreshDisable = false
}
},
onRefresh() {
this.detailInfo = []
this.pagination.pageIndex = 1
this.load(false)
},
toGeneralDetail(item) {
this.$router.push({
path: `/doctor/resident/base`,
query: {
residentId: item.residentInfoId
}
})
},
toAddGeneral(val) {
const { id, ...others } = val
this.$router.push({
path: `/doctor/followUp/generalFU/add`,
query: { ...others }
})
},
toSearch() {
this.$router.push({
path: `/doctor/followUp/search`
})
},
toBack() {
backHome()
}
}
}
</script>
<style scoped lang='less'>
.all-back {
background: #F5F5F5;
.top-title {
padding: 10px 12px;
}
.white-back {
background: #FFFFFF;
}
.mt-10 {
margin-top: 10px;
}
.p-16 {
padding: 16px;
}
.plr-8 {
padding: 0px 8px;
}
.plr-6 {
padding: 0px 6px;
}
.base-title {
font-weight: bold;
font-size: 16px;
}
.second-title {
background: #F0F3FF;
line-height: 24px;
margin-left: 10px;
}
.detail-left {
width: 104px;
font-size: 14px;
color: #8C8C8C;
}
.detail-right {
font-size: 14px;
}
.word-right {
justify-content: space-between;
align-items: center;
}
.btn {
background: #F0F3FF;
color: #607FF0;
border: 0px;
line-height: 26px;
height: 26px;
//padding: 4px 8px 4px 8px;
padding: 0px 8px;
}
.list-data {
height: calc(100vh - 140px);
overflow-y: auto;
}
}
</style>
\ No newline at end of file
<template>
<div class="flex flex-col pt-2 search">
<div class="flex items-center px-4 pb-1 shrink-0 top-bar">
<span class="shrink-0 pr-2 back-bt" @click="toBack">
<doc-icon type="doc-left-1" style="color: #262626"/>
</span>
<div class="grow flex items-center px-2 mr-2 input-box">
<doc-icon type="doc-search" class="shrink-0" style="color: #595959"/>
<van-field v-model="idCard" placeholder="请输入身份证号查询"
autocomplete="off"
clearable
:formatter="formatter"
@clear="idCardClear"
ref="idCardField"/>
<!-- <van-uploader :max-size="5 * 1024 * 1024" :after-read="afterRead" max-count="1">
<doc-icon type="doc-camera" class="shrink-0 mr-3" style="color: #575B66"/>
</van-uploader>-->
</div>
<span class="text-16 shrink-0 text-primary" @click="search">
搜索
</span>
</div>
<div class="grow px-4 overflow-y-auto">
<div class="pt-3" v-if="state === 1">
<div class="flex justify-between items-end pt-2 pb-1">
<span class="text-16 font-semibold">搜索历史</span>
<span class="flex items-center"
@click="clearHistory">
<doc-icon type="doc-delete" style="color: #8c8c8c"/>
<span class="ml-1" style="color: #595959">清除历史</span>
</span>
</div>
<div class="flex flex-wrap mt-4 history-list">
<span v-for="item in history" :key="item"
@click="toSearch(item)">{{ $idCardHide(item) }}</span>
</div>
</div>
<div class="pt-2" v-if="state === 2">
<div class="text-12" style="color: #8c8c8c">查找结果:</div>
<div class="card"
v-if="result.chronicTagsArrayName || result.firstScreenResult || result.highTagsArray">
<div class="py-3">
<span class="text-16 font-semibold mr-3">{{ result.residentName }}</span>
<span class="text-12 mr-3">{{ result.currentAge || '-' }}</span>
<span class="text-12 mr-3">{{ result.genderName }}</span>
<span class="text-12" v-if="result.chronicStatus == 9">死亡</span>
</div>
<div class="mb-2">
<span class="label">身份证号</span>
<span>{{ $idCardHide(result.idCard) }}</span>
</div>
<div class="mb-2">
<span class="label">高危评估</span>
<span>{{ result.firstScreenResultName || '-' }}</span>
</div>
<div class="flex mb-2">
<span class="shrink-0 label">专病高危评估</span>
<span>{{ result.highTagsArrayName || '-' }}</span>
</div>
<div class="flex mb-2">
<span class="shrink-0 label">慢病标签</span>
<ChronicTag :list="result.chronicTagsArray"/>
<!-- <span>{{ result.chronicTagsArrayName }}</span> -->
</div>
<div class="text-12 tip">
<div style="color: #A5AEBE;" >提示:</div>
<div style="color: #768092;">如需为居民进行 慢病诊断筛查 ,请在医生PC端进行操作</div>
</div>
<div class="text-center mt-5">
<van-button round type="primary" class="detail-bt" @click="toDetail">详情</van-button>
</div>
</div>
<div class="card" v-else-if="!!result.id">
<div class="py-3">
<span class="text-16 font-semibold mr-3">{{ result.residentName }}</span>
<span class="text-12 mr-3">{{ result.currentAge || '-' }}</span>
<span class="text-12">{{ result.genderName }}</span>
</div>
<div class="mb-2">
<span class="label">身份证号</span>
<span>{{ $idCardHide(result.idCard) }}</span>
</div>
<div class="text-12 tip">
<div style="color: #A5AEBE;" >提示:</div>
<div style="color: #768092;">如需为居民进行 慢病诊断筛查 ,请在医生PC端进行操作</div>
</div>
</div>
<div class="text-center empty" v-else>
<img src="@/assets/image/doctor/empty.png" alt="" style="width: 1.2rem;">
<p>暂无数据</p>
</div>
</div>
</div>
</div>
</template>
<script>
import { getResidentByPage } from '@/api/doctor/generalFU.js'
import { validateIdCard } from '@/utils/commonReg.js'
import { setLocalStorage, getLocalStorage } from '@/utils/common.js'
import { showFailToast } from 'vant'
import ChronicTag from '@/doctor/components/chronicTag/ChronicTag.vue'
export default {
components: {
ChronicTag
},
data() {
return {
// 查询使用
idCard: undefined,
// 历史记录
history: [],
result: {},
state: 1,
show: false,
value1: undefined,
value2: undefined
}
},
computed: {
historyKey() {
return 'search-history'
},
},
created() {
this.history = getLocalStorage(this.historyKey) || []
},
methods: {
formatter(value) {
return value.replace(/[\u4e00-\u9fa5/\s+/]|[^a-zA-Z0-9\u4E00-\u9FA5]/g, '');
},
search() {
if (!this.idCard) return
if (!validateIdCard(this.idCard)) {
showFailToast('请输入正确的身份证号')
return
}
const query = {
idCard: this.idCard,
pageIndex: 1,
pageSize: 10
}
getResidentByPage(query).then(res => {
const result = res?.data?.dataList || []
this.result = result[0] || {}
this.setHistory()
}).finally(() => {
this.state = 2
})
},
toSearch(idCard) {
this.idCard = idCard
this.search()
},
toDetail() {
this.$router.push({
path: `/doctor/resident/base`,
query: {
residentId: this.result.residentInfoId
}
})
},
toBack() {
this.$router.back()
},
idCardClear() {
this.state = 1
},
setHistory() {
const history = getLocalStorage(this.historyKey) || []
const index = history.findIndex(e => e === this.idCard)
if (index > -1) {
history.splice(index, 1)
}
history.unshift(this.idCard)
if (history.length > 8) {
history.pop()
}
this.history = history
setLocalStorage(this.historyKey, history)
},
clearHistory() {
setLocalStorage(this.historyKey, [])
this.history = []
},
// 证件上传后
afterRead(file) {
console.log(file)
showNotify({ type: 'primary', message: '文件上传' })
}
}
}
</script>
<style lang="less" scoped>
.search {
height: 100vh;
}
.top-bar {
border-bottom: 1px solid #e5e5e5;
.back-bt {
flex-basis: 24px;
text-align: center;
}
.input-box {
background-color: #FAFAFA;
border: 1px solid #F5F5F5;
border-radius: 4px;
.svg-icon {
font-size: 16px;
}
.van-cell {
font-size: 14px;
padding: 4px 10px;
background: transparent;
&::after {
display: none;
}
}
}
}
.history-list {
gap: 10px;
>span {
border-radius: 34px;
background-color: #EFF2F7;
padding: 2px 12px;
}
}
.card {
line-height: 1.2;
.label {
display: inline-block;
color: #8C8C8C;
min-width: 8em;
}
.tip {
background-color: #F8FAFC;
padding: 8px 10px;
line-height: 1.5;
}
.detail-bt {
color: #607FF0;
background-color: #F0F3FF;
border: 0;
width: 50%;
height: 32px;
}
}
</style>
<template>
<div class="h-full base">
<div class='mt-3 p-4 card' v-if="info.id">
<div class='flex items-center'>
<div class='text-16 font-semibold base-title'>{{ info.residentName }}</div>
<div class='second-title px-2'>{{ info.currentAge }}</div>
<div class='second-title px-2'>{{ info.genderName }}</div>
<div class="second-title px-2" v-if="info.chronicStatus === 9" >死亡</div>
</div>
<div class='mt-3 flex items-center'>
<div class='detail-left'>
身份证号
</div>
<div class='detail-right'>
{{ $idCardHide(info.idCard) }}
</div>
</div>
<div class='mt-3 flex items-center'>
<div class='detail-left'>
建档状态
</div>
<div class='detail-right'>
<span v-if="!!info.residentsBaseDTO">已建档</span>
<span v-else>未建档</span>
</div>
</div>
<div class='mt-3 flex items-center'>
<div class='detail-left'>
签约状态
</div>
<div class='detail-right'>
<span v-if="!!info.signedInfoDTO">已签约</span>
<span v-else>未签约</span>
</div>
</div>
<div class='mt-3 flex items-center'>
<div class='detail-left'>
高危评估
</div>
<div class='detail-right'>
<span>{{ info.firstScreenResultName || '-' }}</span>
</div>
</div>
<div class='mt-3 flex items-center'>
<div class='detail-left'>
专病高危评估
</div>
<div class='detail-right'>
<span>{{ info.highTagsArrayName || '-' }}</span>
</div>
</div>
<div class='flex mt-3'>
<div class='detail-left'>
慢病标签
</div>
<div class='detail-right' style='flex: 1'>
<ChronicTag :list="info.chronicTagsArray"/>
</div>
</div>
<div class="text-center mt-5">
<van-button round type="primary" class="detail-bt" @click="toEdit">修改基本信息</van-button>
</div>
</div>
<div class="text-center empty" v-else>
<img src="@/assets/image/doctor/empty.png" alt="" style="width: 1.2rem;">
<p>暂无数据</p>
</div>
</div>
</template>
<script>
import ChronicTag from '@/doctor/components/chronicTag/ChronicTag.vue'
export default {
components: {
ChronicTag
},
inject: ['getBaseInfo'],
data() {
return {}
},
computed: {
info() {
return this.getBaseInfo() || {}
}
},
methods: {
toEdit() {
let par = {
residentInfoId: this.info.residentInfoId
}
this.$router.push({path: `/doctor/resident/base/update`, query: par})
}
}
}
</script>
<style lang="less" scoped>
.card {
background-color: #fff;
.second-title {
background: #F0F3FF;
line-height: 24px;
margin-left: 10px;
}
.detail-left {
width: 8em;
color: #8C8C8C;
flex-shrink: 0;
}
.detail-bt {
color: #607FF0;
background-color: #F0F3FF;
border: 0;
width: 80%;
height: 40px;
}
}
</style>
<template>
<div class="h-full flex flex-col">
<van-nav-bar title='居民详情' left-text='' left-arrow class="shrink-0"
@click-left="toBack"></van-nav-bar>
<div class="flex shrink-0 justify-center pb-1">
<van-tabs v-model:active='activeTab' class="w-1/2 top-tabs"
@change="tabChange">
<van-tab v-for='item in tabList' :key="item.name"
:title='item.title' :name='item.name'></van-tab>
</van-tabs>
</div>
<div class="grow" style="background-color: #f5f5f5;min-height: 0;">
<router-view v-slot='{ Component }'>
<Transition name='route' mode='out-in'>
<component :is='Component' />
</Transition>
</router-view>
</div>
</div>
</template>
<script>
import { showNotify } from 'vant'
import { queryResidentInfo } from '@/api/doctor/resident'
export default {
data() {
return {
tabList: [
{ title: '基本信息', name: 'base', path: '/doctor/resident/base' },
{ title: '随访记录', name: 'visit', path: '/doctor/resident/visit' }
],
activeTab: 'base',
residentId: null,
// 基础信息
baseInfo: null
}
},
computed: {
routeQuery() {
return this.$route.query
}
},
provide() {
return {
getBaseInfo: () => this.baseInfo
}
},
created() {
this.residentId = this.routeQuery.residentId
this.init()
if (!this.residentId) {
showNotify({ type: 'warning', message: '未获取到医生信息', duration: 0 })
return
}
this.load()
},
methods: {
init() {
if (this.$route.name === 'doctor-resident-visit') {
this.activeTab = 'visit'
} else if (this.$route.name === 'doctor-resident-base') {
this.activeTab = 'base'
}
},
tabChange() {
console.log(this.activeTab)
const item = this.tabList.find(e => e.name === this.activeTab)
if (!item) return
this.$router.replace({
path: item.path,
query: { residentId: this.residentId }
})
},
load() {
const query = {
residentInfoId: this.residentId
}
queryResidentInfo(query).then(res => {
this.baseInfo = res.data || {}
})
},
toBack() {
this.$router.go(-1)
}
}
}
</script>
<style lang="less" scoped>
.top-tabs {
:deep(.van-tab) {
color: #262626;
}
:deep(.van-tab--active) {
color: var(--van-tab-active-text-color);
}
:deep(.van-tabs__line) {
height: 2px;
width: 28px;
bottom: 20px;
}
}
</style>
This diff is collapsed.
This diff is collapsed.
......@@ -60,13 +60,6 @@ const routes = [
name: 'doctor-archives-form',
component: () => import(/* webpackChunkName: "doctor" */ '@/doctor/archives/form/BaseInfo.vue')
},
{
path: 'followUp/list',
name: 'followUp-list',
component: () => import(/* webpackChunkName: "doctor" */ '@/doctor/followUp/List')
},
{
path: 'followUp/generalFU/detail',
name: 'followUp-generalFU-detail',
......@@ -77,32 +70,6 @@ const routes = [
name: 'followUp-generalFU-add',
component: () => import(/* webpackChunkName: "doctor" */ '@/doctor/followUp/generalFU/form/Index')
},
{
path: 'resident',
name: 'doctor-resident',
redirect: '/doctor/resident/base',
component: () => import(/* webpackChunkName: "doctor" */ '@/doctor/resident/Index.vue'),
children: [
// 基本信息
{
path: 'base',
name: 'doctor-resident-base',
component: () => import(/* webpackChunkName: "doctor" */ '@/doctor/resident/Base.vue')
},
// 随访记录
{
path: 'visit',
name: 'doctor-resident-visit',
component: () => import(/* webpackChunkName: "doctor" */ '@/doctor/resident/Visit.vue')
}
]
},
//修改基本信息
{
path: 'resident/base/update',
name: 'doctor-resident-base-update',
component: () => import(/* webpackChunkName: "page-doctor" */ '@/doctor/resident/form/BaseInfo.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