Commit 7884aa78 authored by gengchunlei's avatar gengchunlei

Merge branch 'chronic-master' into chronic-master-his-1.1

# Conflicts:
#	public/index.html
parents e9a6c515 295a98d9
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
<meta name='viewport' content='width=device-width, initial-scale=1.0, user-scalable=0, viewport-fit=cover' /> <meta name='viewport' content='width=device-width, initial-scale=1.0, user-scalable=0, viewport-fit=cover' />
<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 -->
<script src='https://cdn.bootcdn.net/ajax/libs/vConsole/3.3.4/vconsole.min.js'></script> <script src='https://beta-copd-img.yiboshi.com/20241106/1730860078278931285.js'></script>
</head> </head>
<body> <body>
<noscript> <noscript>
......
...@@ -2,7 +2,7 @@ import { fetchBase } from '../fetch.js' ...@@ -2,7 +2,7 @@ import { fetchBase } from '../fetch.js'
// 根据居民ID查询服务医生 // 根据居民ID查询服务医生
export function getServiceDoc(params) { export function getServiceDoc(params) {
return fetchBase({ url: `/chronic-resident/v1/chronic-visit-record/service-doctor`, body: params, loading: true }) return fetchBase({ url: `/chronic-resident/v1/chronic-visit-record/service-doctor-info`, body: params, loading: true })
} }
// 获取IM账号信息 // 获取IM账号信息
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<script> <script>
import { getDict, getResidentByInfo } from '@/api/base.js' import { getDict, getResidentByInfo } from '@/api/base.js'
import { useStore } from './store/index.js' import { useStore } from './store/index.js'
import { getQueryVariable, showNav } from '@/utils/common' import { getQueryVariable, isResidentInfo, showNav } from '@/utils/common'
import { showNotify } from 'vant' import { showNotify } from 'vant'
export default { export default {
...@@ -42,7 +42,7 @@ export default { ...@@ -42,7 +42,7 @@ export default {
fieldLabelColor: '#262626', fieldLabelColor: '#262626',
cellBorderColor: '#d9d9d9', cellBorderColor: '#d9d9d9',
// 进度条 // 进度条
sliderActiveBackground: '#54CCBD' sliderActiveBackground: '#54CCBD',
} }
} }
}, },
...@@ -55,12 +55,12 @@ export default { ...@@ -55,12 +55,12 @@ export default {
}, },
provide() { provide() {
return { return {
showNav: showNav showNav: showNav,
isResidentInfo: isResidentInfo,
} }
}, },
methods: { methods: {
async init() { async init() {
console.log(this.visible)
const res = await getDict() const res = await getDict()
this.store.$patch({ dict: res.data || {} }) this.store.$patch({ dict: res.data || {} })
let idCard = getQueryVariable('idCard') let idCard = getQueryVariable('idCard')
...@@ -70,15 +70,15 @@ export default { ...@@ -70,15 +70,15 @@ export default {
} }
if (idCard) { if (idCard) {
const user = await getResidentByInfo({ idCard: idCard }) const user = await getResidentByInfo({ idCard: idCard })
if (!user.data) { // if (!user.data) {
showNotify({ type: 'warning', message: '未获取到慢病信息', duration: 0 }) // showNotify({ type: 'warning', message: '未获取到慢病信息', duration: 0 })
return // return
} // }
this.store.$patch({ userInfo: user.data || {} }) this.store.$patch({ userInfo: user.data || {} })
window.sessionStorage.setItem('userInfo', JSON.stringify(user.data)) window.sessionStorage.setItem('userInfo', JSON.stringify(user.data || {}))
} else { } else {
let user = JSON.parse(window.sessionStorage.getItem('userInfo')) let user = JSON.parse(window.sessionStorage.getItem('userInfo'))
this.store.$patch({ userInfo: user.data || {} }) this.store.$patch({ userInfo: user || {} })
} }
this.visible = true this.visible = true
} }
......
<template>
<div>
<div class='list gap-x-2.5 gap-y-1 flex items-center flex-wrap'>
<div v-for="(url, index) in imgList" :key="index" @click='toPreview(index)'>
<img style='width: 1.47rem;height: 2.04rem' :src="url.trueDownloadUrl" />
</div>
</div>
<van-overlay :show='imgShow' @click='imgShow = false'>
<div class='wrapper'>
<van-swipe class='block' :initial-swipe='initSwipe'>
<van-swipe-item v-for='image in imgList' :key='image'>
<img :src='image.trueDownloadUrl' style='width: 100%;height: 100%'/>
</van-swipe-item>
</van-swipe>
</div>
</van-overlay>
</div>
</template>
<script>
export default {
name: 'imagePreview',
props: {
imgList: Array,
},
data() {
return {
imgShow: false,
initSwipe: 0
}
},
methods: {
//图片预览
toPreview(index) {
this.initSwipe = index
this.imgShow = true
},
}
}
</script>
<style scoped lang='less'>
.wrapper {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
.block {
width: 100%;
}
}
</style>
\ No newline at end of file
...@@ -10,13 +10,23 @@ ...@@ -10,13 +10,23 @@
<div v-if="item.annexFileName" class="text-12 my-1 text-ellipsis">{{ item.annexFileName }}</div> <div v-if="item.annexFileName" class="text-12 my-1 text-ellipsis">{{ item.annexFileName }}</div>
</div> </div>
</div> </div>
<van-popup v-model:show="visible" :close-on-click-overlay="false" closeable <!-- <van-popup v-model:show="visible" :close-on-click-overlay="false" closeable
close-icon-position="top-right"> close-icon-position="top-right"
<video controls width="100%" v-if="visible"> close-icon="clear">
<video controls v-if="visible" style="width: calc(100vw - var(--van-padding-md) * 2)">
<source :src="activeVideo.annexUrl" type="video/mp4" /> <source :src="activeVideo.annexUrl" type="video/mp4" />
播放失败! 播放失败!
</video> </video>
</van-popup> </van-popup> -->
<van-overlay :show="visible">
<div class="h-full flex items-center justify-center wrapper" @click.stop>
<video controls v-if="visible">
<source :src="activeVideo.annexUrl" type="video/mp4" />
播放失败!
</video>
<van-icon name="close" class="close-icon" @click="visible = false"/>
</div>
</van-overlay>
</div> </div>
</template> </template>
...@@ -65,4 +75,18 @@ export default { ...@@ -65,4 +75,18 @@ export default {
padding-left: 2px; padding-left: 2px;
} }
} }
.wrapper {
position: relative;
.close-icon {
position: absolute;
top: 16px;
right: 16px;
color: #ccc;
font-size: 24px;
}
video {
width: calc(100vw - var(--van-padding-md) * 2);
background-color: #fff;
}
}
</style> </style>
...@@ -25,8 +25,8 @@ ...@@ -25,8 +25,8 @@
</div> </div>
<div class="p-3 grow cont-box"> <div class="p-3 grow cont-box">
<div class="p-3 h-full cont-inner"> <div class="p-3 h-full cont-inner">
<div class="flex justify-between collapse-head"> <div class="flex justify-between collapse-head mt-2">
<span class="text-16">全部内容</span> <span class="text-16 font-semibold">全部内容</span>
<!-- <span @click="toggleAll"> <!-- <span @click="toggleAll">
<span v-if="!collapseAll">展开全部</span> <span v-if="!collapseAll">展开全部</span>
<span v-else>展开收起</span> <span v-else>展开收起</span>
...@@ -116,6 +116,7 @@ export default { ...@@ -116,6 +116,7 @@ export default {
} }
}, },
created() { created() {
document.title = '指导详情'
if (!this.id) { if (!this.id) {
showNotify({ type: 'warning', message: '未获取到查询信息', duration: 0 }) showNotify({ type: 'warning', message: '未获取到查询信息', duration: 0 })
return return
......
...@@ -28,15 +28,15 @@ ...@@ -28,15 +28,15 @@
<span>{{ item.visitDate }}</span> <span>{{ item.visitDate }}</span>
</div> </div>
<div> <div>
<span class="label">筛查单位</span> <span class="label">指导单位</span>
<span>{{ item.visitUnitName }}</span> <span>{{ item.visitUnitName }}</span>
</div> </div>
<div> <div>
<span class="label">筛查科室</span> <span class="label">指导科室</span>
<span>{{ item.visitOfficeName }}</span> <span>{{ item.visitOfficeName }}</span>
</div> </div>
<span class="tag tag-orange" v-show="item.visitWayRules.includes('2')">健康指导</span> <span class="tag tag-orange" v-show="activeTab=='2'">健康指导</span>
<span class="tag tag-green" v-show="item.visitWayRules.includes('3')">健康宣教</span> <span class="tag tag-green" v-show="activeTab=='3'">健康宣教</span>
</div> </div>
</div> </div>
</van-list> </van-list>
...@@ -54,13 +54,13 @@ import { queryGuideList } from '@/api/residentWX/guide.js' ...@@ -54,13 +54,13 @@ import { queryGuideList } from '@/api/residentWX/guide.js'
import { useStore } from '@/residentWX/store' import { useStore } from '@/residentWX/store'
export default { export default {
inject: ['showNav'], inject: ['showNav', 'isResidentInfo'],
data() { data() {
return { return {
store: useStore(), store: useStore(),
activeTab: '', activeTab: '',
tabList: [ tabList: [
{ title: '全部', name: '' }, // { title: '全部', name: '' },
{ title: '健康指导', name: '2' }, { title: '健康指导', name: '2' },
{ title: '健康宣教', name: '3' }, { title: '健康宣教', name: '3' },
], ],
...@@ -82,7 +82,7 @@ export default { ...@@ -82,7 +82,7 @@ export default {
}, },
}, },
created() { created() {
this.init() document.title = '健康指导'
}, },
mounted() { mounted() {
const list = this.$refs.list const list = this.$refs.list
...@@ -95,10 +95,8 @@ export default { ...@@ -95,10 +95,8 @@ export default {
}) })
}, },
methods: { methods: {
init() {
this.load()
},
load(loading = true) { load(loading = true) {
if (!this.isResidentInfo()) return
const query = { const query = {
residentInfoId: this.userInfo.residentInfoId, residentInfoId: this.userInfo.residentInfoId,
pageIndex: this.pagination.pageIndex, pageIndex: this.pagination.pageIndex,
...@@ -163,7 +161,7 @@ export default { ...@@ -163,7 +161,7 @@ export default {
position: relative; position: relative;
display: flex; display: flex;
margin-bottom: 8px; margin-bottom: 8px;
&:last-child { &:last-of-type {
margin-bottom: 0; margin-bottom: 0;
} }
} }
......
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
</template> </template>
<script> <script>
import { showDialog } from 'vant'
import { copyToClip } from '@/utils/common.js'
export default { export default {
props: { props: {
...@@ -31,7 +33,20 @@ export default { ...@@ -31,7 +33,20 @@ export default {
}, },
methods: { methods: {
onDown() { onDown() {
window.open(this.file.url, '_blank') console.log(this.file)
let wx = window.sessionStorage.getItem('embed')
if (wx == 'wx') {
// 复制链接到浏览器下载
if (copyToClip(this.file.url)) {
showDialog({
message: '链接复制成功,请在浏览器中打开下载'
}).then(() => {})
} else {
console.warn('链接复制失败')
}
} else {
window.open(this.file.url, '_blank')
}
}, },
viewImage() { viewImage() {
this.$emit('view-image', this.file) this.$emit('view-image', this.file)
......
...@@ -7,19 +7,19 @@ ...@@ -7,19 +7,19 @@
<div style="color: #8C8C8C;" class="py-2 px-3">以下为您提供慢病筛查的专家,可向其进行慢病咨询</div> <div style="color: #8C8C8C;" class="py-2 px-3">以下为您提供慢病筛查的专家,可向其进行慢病咨询</div>
<div class="grow flex"> <div class="grow flex">
<div class="h-full list-l"> <div class="h-full list-l">
<div v-for="item in orgList" :key="item.unitId" <div v-for="item in orgList" :key="item"
:class="['p-3', { 'active': item.unitId === activeOrg.unitId }]" :class="['p-3', { 'active': item === activeOrg }]"
@click="onOrgChange(item)"> @click="onOrgChange(item)">
<span>{{ item.unitName || '-' }}</span> <span>{{ item || '-' }}</span>
</div> </div>
</div> </div>
<div class="h-full p-3 list-r"> <div class="h-full p-3 list-r">
<div class="mb-3 p-4 card" v-for="item in innerDoctorList" :key="item.identityCard"> <div class="mb-3 p-4 card" v-for="item in innerDoctorList" :key="item.serviceDoctorId">
<div class="mb-3"> <div class="mb-3">
<span class="text-16 mr-2 font-semibold">{{item.staffName}}</span> <span class="text-16 mr-2 font-semibold">{{item.serviceDoctorName}}</span>
<span>{{item.officeName || '-'}}</span> <span>{{item.serviceOfficeName || '-'}}</span>
</div> </div>
<div class="mb-3">{{item.unitName || '-'}}</div> <div class="mb-3">{{item.serviceUnitName || '-'}}</div>
<div> <div>
<van-button plain round type="primary" <van-button plain round type="primary"
@click="toSession(item)">咨询医生</van-button> @click="toSession(item)">咨询医生</van-button>
...@@ -40,7 +40,7 @@ import { getServiceDoc } from '@/api/residentWX/nim.js' ...@@ -40,7 +40,7 @@ import { getServiceDoc } from '@/api/residentWX/nim.js'
import { showFailToast } from 'vant' import { showFailToast } from 'vant'
export default { export default {
inject:['showNav'], inject:['showNav', 'isResidentInfo'],
data() { data() {
return { return {
store: useStore(), store: useStore(),
...@@ -56,14 +56,17 @@ export default { ...@@ -56,14 +56,17 @@ export default {
return this.store.userInfo return this.store.userInfo
}, },
innerDoctorList() { innerDoctorList() {
if (this.activeOrg.unitId === 'record') { if (this.activeOrg === '咨询过的专家') {
return this.recordList return this.recordList
} }
return this.doctorList.filter(e => e.unitId === this.activeOrg.unitId) return this.doctorList.filter(e => e.serviceUnitName === this.activeOrg)
} }
}, },
created() { created() {
this.init() document.title = '专家在线咨询'
if (this.isResidentInfo()) {
this.init()
}
}, },
methods: { methods: {
init() { init() {
...@@ -72,25 +75,20 @@ export default { ...@@ -72,25 +75,20 @@ export default {
}, },
load() { load() {
getServiceDoc({ residentInfoId: this.userInfo.residentInfoId }).then(res => { getServiceDoc({ residentInfoId: this.userInfo.residentInfoId }).then(res => {
const list = res.data || [] const result = res.data || {}
const orgList = [] const orgList = []
this.doctorList = list let doctorList = []
list.forEach(e => { Reflect.ownKeys(result).forEach(key => {
if (orgList.some(e => e.unitId === e.unitId)) return orgList.push(key)
orgList.push({ doctorList = doctorList.concat(result[key])
unitId: e.unitId,
unitName: e.unitName
})
}) })
this.orgList = [{ this.doctorList = doctorList
unitId: 'record', this.orgList = ['咨询过的专家'].concat(orgList)
unitName: '咨询过的专家'
}].concat(orgList)
this.activeOrg = this.orgList[0] this.activeOrg = this.orgList[0]
}) })
}, },
onOrgChange(item) { onOrgChange(item) {
this.activeOrg = item || {} this.activeOrg = item || ''
}, },
// 聊天页面 // 聊天页面
toSession(item = {}) { toSession(item = {}) {
...@@ -102,7 +100,8 @@ export default { ...@@ -102,7 +100,8 @@ export default {
this.$router.push({ this.$router.push({
path, path,
query: { query: {
name: item.staffName name: item.serviceDoctorName,
gender: this.userInfo.gender || 0
} }
}) })
} }
......
<template>
<div class="flex flex-col nim-index" style="height: 100vh">
<div class="py-2 px-3 text-black text-center shrink-0 doc-nav-bar" v-if='showNav()'>
<span>专家在线咨询</span>
</div>
<img src="@/assets/image/residentWX/banner.png" alt="" class="shrink-0 w-full">
<div style="color: #8C8C8C;" class="py-2 px-3">以下为您提供慢病筛查的专家,可向其进行慢病咨询</div>
<div class="grow flex">
<div class="h-full list-l">
<div v-for="item in orgList" :key="item.unitId"
:class="['p-3', { 'active': item.unitId === activeOrg.unitId }]"
@click="onOrgChange(item)">
<span>{{ item.unitName || '-' }}</span>
</div>
</div>
<div class="h-full p-3 list-r">
<div class="mb-3 p-4 card" v-for="item in innerDoctorList" :key="item.identityCard">
<div class="mb-3">
<span class="text-16 mr-2 font-semibold">{{item.staffName}}</span>
<span>{{item.officeName || '-'}}</span>
</div>
<div class="mb-3">{{item.unitName || '-'}}</div>
<div>
<van-button plain round type="primary"
@click="toSession(item)">咨询医生</van-button>
</div>
</div>
<div class='text-center shrink-0 empty' v-if='!innerDoctorList.length'>
<img src='@/assets/image/doctor/empty.png' alt='' style='width: 1.2rem;'>
<p>暂无数据</p>
</div>
</div>
</div>
</div>
</template>
<script>
import { useStore } from '@/residentWX/store'
import { getServiceDoc } from '@/api/residentWX/nim.js'
import { showFailToast } from 'vant'
export default {
inject:['showNav'],
data() {
return {
store: useStore(),
orgList: [],
doctorList: [],
// 沟通过的医生列表
recordList: [],
activeOrg: {}
}
},
computed: {
userInfo() {
return this.store.userInfo
},
innerDoctorList() {
if (this.activeOrg.unitId === 'record') {
return this.recordList
}
return this.doctorList.filter(e => e.unitId === this.activeOrg.unitId)
}
},
created() {
this.init()
},
methods: {
init() {
console.log(this.userInfo)
this.load()
},
load() {
getServiceDoc({ residentInfoId: this.userInfo.residentInfoId }).then(res => {
const list = res.data || []
const orgList = []
this.doctorList = list
list.forEach(e => {
if (orgList.some(e => e.unitId === e.unitId)) return
orgList.push({
unitId: e.unitId,
unitName: e.unitName
})
})
this.orgList = [{
unitId: 'record',
unitName: '咨询过的专家'
}].concat(orgList)
this.activeOrg = this.orgList[0]
})
},
onOrgChange(item) {
this.activeOrg = item || {}
},
// 聊天页面
toSession(item = {}) {
if (!item.identityCard) {
showFailToast('缺失医生信息')
return
}
const path = `/residentWX/nim/${item.identityCard}`
this.$router.push({
path,
query: {
name: item.staffName
}
})
}
},
}
</script>
<style lang="less" scoped>
@import url('../utils/common.less');
.nim-index {
background: #f8fafc;
}
.list-l {
width: 35%;
background: transparent;
>div {
line-height: 1.5;
}
.active {
background-color: #fff;
}
}
.list-r {
width: 65%;
background: #fff;
.card {
background-color: #E4E8EE;
background: linear-gradient(to bottom, #E5F3FF 0%, #E9FAFC 100%);
border-radius: 8px;
border: 1px solid #E4E8EE;
.van-button {
height: 26px;
line-height: 26px;
font-size: 14px;
}
}
}
</style>
...@@ -26,7 +26,10 @@ ...@@ -26,7 +26,10 @@
@viewImage="viewImage"/> @viewImage="viewImage"/>
</div> </div>
<div class="shrink-0 avatar"> <div class="shrink-0 avatar">
<img src="@/assets/image/residentWX/avatar-man.png" alt="" v-show="item.from === accountId"> <div v-show="item.from === accountId">
<img src="@/assets/image/residentWX/avatar-woman.png" alt="" v-if="targetGender == 2">
<img src="@/assets/image/residentWX/avatar-man.png" alt="" v-else>
</div>
</div> </div>
</div> </div>
</van-list> </van-list>
...@@ -118,6 +121,10 @@ export default { ...@@ -118,6 +121,10 @@ export default {
targetName() { targetName() {
return this.$route.query.name return this.$route.query.name
}, },
// 聊天对象性别
targetGender() {
return this.$route.query.gender
},
targetId() { targetId() {
return `doc_${this.$route.params.id}`.toLocaleLowerCase() return `doc_${this.$route.params.id}`.toLocaleLowerCase()
} }
...@@ -399,7 +406,7 @@ export default { ...@@ -399,7 +406,7 @@ export default {
} }
.avatar { .avatar {
width: 38px; width: 38px;
>img { img {
width: 100%; width: 100%;
height: 100%; height: 100%;
object-fit: cover; object-fit: cover;
......
...@@ -43,6 +43,10 @@ ...@@ -43,6 +43,10 @@
</div> </div>
</div> </div>
</van-list> </van-list>
<div class='text-center shrink-0 empty' v-if='!list.length'>
<img src='@/assets/image/doctor/empty.png' alt='' style='width: 1.2rem;'>
<p>暂无数据</p>
</div>
</van-pull-refresh> </van-pull-refresh>
</div> </div>
</div> </div>
...@@ -53,7 +57,7 @@ import { useStore } from '@/residentWX/store' ...@@ -53,7 +57,7 @@ import { useStore } from '@/residentWX/store'
import { queryScreenList } from '@/api/residentWX/screening.js' import { queryScreenList } from '@/api/residentWX/screening.js'
export default { export default {
inject:['showNav'], inject:['showNav', 'isResidentInfo'],
data() { data() {
return { return {
store: useStore(), store: useStore(),
...@@ -86,7 +90,7 @@ export default { ...@@ -86,7 +90,7 @@ export default {
}, },
}, },
created() { created() {
this.init() document.title = '慢病筛查记录'
}, },
mounted() { mounted() {
const list = this.$refs.list const list = this.$refs.list
...@@ -99,10 +103,8 @@ export default { ...@@ -99,10 +103,8 @@ export default {
}) })
}, },
methods: { methods: {
init() {
this.load()
},
load(loading = true) { load(loading = true) {
if (!this.isResidentInfo()) return
const query = { const query = {
screeningType: this.activeTab, screeningType: this.activeTab,
residentInfoId: this.userInfo.residentInfoId, residentInfoId: this.userInfo.residentInfoId,
...@@ -158,11 +160,10 @@ export default { ...@@ -158,11 +160,10 @@ export default {
background-color: #fff; background-color: #fff;
border-radius: 12px; border-radius: 12px;
>div { >div {
position: relative;
display: flex; display: flex;
margin-bottom: 8px; margin-bottom: 8px;
&:last-child { &:last-of-type {
margin-bottom: 0; margin-bottom: 0!important;
} }
} }
.label { .label {
......
...@@ -8,24 +8,22 @@ ...@@ -8,24 +8,22 @@
</div> </div>
<div class="px-4 py-3 flex shrink-0 base-info"> <div class="px-4 py-3 flex shrink-0 base-info">
<div class="flex w-full"> <div class="flex w-full">
<img src="@/assets/image/residentWX/avatar.png" alt="" class="shrink-0" <div class="grow flex flex-col justify-between">
style="width: .56rem">
<div class="grow flex flex-col justify-between pl-3">
<div class="flex justify-between"> <div class="flex justify-between">
<span class="name">{{ userInfo.residentName }}</span> <span class="name">{{ userInfo.residentName }}</span>
<span>筛查日期:{{ info.screenDate || '-' }}</span>
</div> </div>
<div> <div class='lh-22'>
<div class='mt-3'>筛查日期:<span class='color-26'>{{ info.screenDate || '-' }}</span></div>
<span>慢病高危评估结果:</span> <span>慢病高危评估结果:</span>
<span :class="{'text-red': info.screenResult !== 1 }">{{ info.screenResultName }}</span> <span :class="{'text-red': info.screenResult !== 1, 'color-26': info.screenResult === 1 }">{{ info.screenResultName }}</span>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="p-3 grow cont-box"> <div class="p-3 grow cont-box">
<div class="p-3 h-full cont-inner"> <div class="p-3 h-full cont-inner">
<div class="flex justify-between collapse-head"> <div class="flex justify-between collapse-head mt-2">
<span class="text-16">全部内容</span> <span class="text-16 font-semibold">全部内容</span>
<span @click="toggleAll"> <span @click="toggleAll">
<span v-if="!collapseAll">展开全部</span> <span v-if="!collapseAll">展开全部</span>
<span v-else>展开收起</span> <span v-else>展开收起</span>
...@@ -35,7 +33,7 @@ ...@@ -35,7 +33,7 @@
</span> </span>
</div> </div>
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse" <van-collapse :model-value="activeCollapse" ref="collapse" class="doc-collapse"
@change="collapseChange"> @change="collapseChange">
<van-collapse-item v-for="collapse in collapseList" :key="collapse.name" <van-collapse-item v-for="collapse in collapseList" :key="collapse.name"
:title="collapse.title" :name="collapse.name"> :title="collapse.title" :name="collapse.name">
...@@ -159,6 +157,7 @@ export default { ...@@ -159,6 +157,7 @@ export default {
}, },
}, },
created() { created() {
document.title = '筛查详情'
if (!this.id) { if (!this.id) {
showNotify({ type: 'warning', message: '未获取到查询信息', duration: 0 }) showNotify({ type: 'warning', message: '未获取到查询信息', duration: 0 })
return return
...@@ -167,9 +166,10 @@ export default { ...@@ -167,9 +166,10 @@ export default {
}, },
methods: { methods: {
init() { init() {
this.collapseList[0].info = this.userInfo
firstScreenDetail({ id: this.id }).then(res => { firstScreenDetail({ id: this.id }).then(res => {
this.info = res.data || {} this.info = res.data || {}
this.collapseList[0].info = this.info?.residentsRecord
this.collapseList[1].info = this.info this.collapseList[1].info = this.info
this.collapseList[2].info = this.info this.collapseList[2].info = this.info
}) })
...@@ -179,6 +179,17 @@ export default { ...@@ -179,6 +179,17 @@ export default {
}, },
// 折叠面板切换 // 折叠面板切换
collapseChange(val) { collapseChange(val) {
// console.log(val, this.activeCollapse)
if (val && val.length <= 2) {
this.activeCollapse = val.slice(val.length - 1)
} else {
if (this.activeCollapse.length > val.length) {
this.activeCollapse = val
}
if (this.activeCollapse.length < val.length) {
this.activeCollapse = val.slice(val.length - 1)
}
}
if (val && val.length === this.collapseList.length) { if (val && val.length === this.collapseList.length) {
this.collapseAll = true this.collapseAll = true
} else { } else {
...@@ -256,4 +267,11 @@ table { ...@@ -256,4 +267,11 @@ table {
min-width: 5em; min-width: 5em;
} }
} }
.lh-22 {
line-height: 22px;
}
.color-26 {
color: #262626;
}
</style> </style>
...@@ -8,14 +8,15 @@ ...@@ -8,14 +8,15 @@
</div> </div>
<div class='px-4 py-3 flex shrink-0 base-info'> <div class='px-4 py-3 flex shrink-0 base-info'>
<div class='flex w-full'> <div class='flex w-full'>
<img src='@/assets/image/residentWX/avatar.png' alt='' class='shrink-0' <div class='grow flex flex-col justify-between'>
style='width: .56rem;height: .56rem'>
<div class='grow flex flex-col justify-between pl-3'>
<div class='flex justify-between'> <div class='flex justify-between'>
<span class='name'>{{ residentInfo.residentName }}</span> <span class='name'>{{ residentInfo.residentName }}</span>
<span class='top-label'>报告日期:<span class='color-b'>{{ info.screenDate || '-' }}</span></span>
</div> </div>
<div class='top-label mt-3'> <div class='top-label mt-3'>
<span >报告日期:<span class='color-b'>{{ info.screenDate || '-' }}</span></span>
</div>
<div class='top-label'>
<span>慢病高危评估结果:</span> <span>慢病高危评估结果:</span>
</div> </div>
<div class='top-label color-b'> <div class='top-label color-b'>
...@@ -24,9 +25,9 @@ ...@@ -24,9 +25,9 @@
<span v-if='info.specialScreenResult ==9'>您并未存在高危风险。</span> <span v-if='info.specialScreenResult ==9'>您并未存在高危风险。</span>
</div> </div>
<div v-if='info.specialScreenResult && info.specialScreenResult !=9' <div v-if='info.specialScreenResult && info.specialScreenResult !=9'
class='flex items-center flex-wrap gap-x-2.5 gap-y-1'> class='flex items-center flex-wrap gap-x-2.5 gap-y-1 mt-2'>
<div v-for='(item, index) in highRiskList' :key='index' class='tag tag-red'> <div v-for='(item, index) in highRiskList' :key='index' class='tag tag-red'>
<span>{{ item.name }}</span><span>{{ item.num || 0 }}</span> <span>{{ item.name }}</span><span class='color-red'>{{ item.num || 0 }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -34,8 +35,8 @@ ...@@ -34,8 +35,8 @@
</div> </div>
<div class='p-3 grow cont-box'> <div class='p-3 grow cont-box'>
<div class='p-3 h-full cont-inner'> <div class='p-3 h-full cont-inner'>
<div class='flex justify-between collapse-head'> <div class='flex justify-between collapse-head mt-2'>
<span class='text-16'>全部内容</span> <span class='text-16 font-semibold'>全部内容</span>
<span @click='toggleAll'> <span @click='toggleAll'>
<span v-if='!collapseAll'>展开全部</span> <span v-if='!collapseAll'>展开全部</span>
<span v-else>展开收起</span> <span v-else>展开收起</span>
...@@ -45,7 +46,7 @@ ...@@ -45,7 +46,7 @@
</span> </span>
</div> </div>
<van-collapse v-model='activeCollapse' ref='collapse' class='doc-collapse' <van-collapse :model-value='activeCollapse' ref='collapse' class='doc-collapse'
@change='collapseChange'> @change='collapseChange'>
<van-collapse-item key='1' title='居民信息' name='1'> <van-collapse-item key='1' title='居民信息' name='1'>
<template #right-icon> <template #right-icon>
...@@ -459,10 +460,8 @@ ...@@ -459,10 +460,8 @@
<template #right-icon> <template #right-icon>
<doc-icon type='doc-down' /> <doc-icon type='doc-down' />
</template> </template>
<div class='list gap-x-2.5 gap-y-1 flex items-center flex-wrap'> <div>
<div v-for="(url, index) in info.informedConsentUrl" :key="index" > <image-preview :img-list='info.informedConsentUrl'></image-preview>
<img style='width: 1.47rem;height: 2.04rem' :src="url.trueDownloadUrl" />
</div>
</div> </div>
</van-collapse-item> </van-collapse-item>
...@@ -492,8 +491,10 @@ import { showNotify } from 'vant' ...@@ -492,8 +491,10 @@ import { showNotify } from 'vant'
import { secondScreenDetail } from '@/api/residentWX/screening.js' import { secondScreenDetail } from '@/api/residentWX/screening.js'
import { useStore } from '@/residentWX/store' import { useStore } from '@/residentWX/store'
import { fetchDataHandle } from '@/utils/common' import { fetchDataHandle } from '@/utils/common'
import ImagePreview from '@/residentWX/components/imagePreview/imagePreview'
export default { export default {
components: { ImagePreview },
inject:['showNav'], inject:['showNav'],
data() { data() {
return { return {
...@@ -725,6 +726,7 @@ export default { ...@@ -725,6 +726,7 @@ export default {
} }
}, },
created() { created() {
document.title = '筛查详情'
if (!this.id) { if (!this.id) {
showNotify({ type: 'warning', message: '未获取到查询信息', duration: 0 }) showNotify({ type: 'warning', message: '未获取到查询信息', duration: 0 })
return return
...@@ -797,6 +799,16 @@ export default { ...@@ -797,6 +799,16 @@ export default {
}, },
// 折叠面板切换 // 折叠面板切换
collapseChange(val) { collapseChange(val) {
if (val && val.length <= 2) {
this.activeCollapse = val.slice(val.length - 1)
} else {
if (this.activeCollapse.length > val.length) {
this.activeCollapse = val
}
if (this.activeCollapse.length < val.length) {
this.activeCollapse = val.slice(val.length - 1)
}
}
if (val && val.length === this.collapseList.length) { if (val && val.length === this.collapseList.length) {
this.collapseAll = true this.collapseAll = true
} else { } else {
...@@ -846,12 +858,13 @@ export default { ...@@ -846,12 +858,13 @@ export default {
border-radius: 2px; border-radius: 2px;
padding: 3px 8px; padding: 3px 8px;
font-size: 12px; font-size: 12px;
line-height: 18px;
} }
.tag-red { .tag-red {
border: 1px solid #FFA39E; border: 1px solid #EFF2F7;
color: #F5222D; color: #262626;
background-color: #FFF1F0; background-color: #EFF2F7;
} }
} }
......
...@@ -33,7 +33,8 @@ ...@@ -33,7 +33,8 @@
} }
.van-cell { .van-cell {
padding: .1rem 0; padding: .1rem 0;
color: #595959; color: #8C8C8C;
font-weight: 600;
background: transparent; background: transparent;
&::after { &::after {
display: none; display: none;
...@@ -46,6 +47,7 @@ ...@@ -46,6 +47,7 @@
.van-collapse-item { .van-collapse-item {
.van-collapse-item__content { .van-collapse-item__content {
padding: 0; padding: 0;
color: #262626;
} }
&::after { &::after {
display: none; display: none;
......
...@@ -69,7 +69,7 @@ import { useStore } from '@/residentWX/store' ...@@ -69,7 +69,7 @@ import { useStore } from '@/residentWX/store'
import { queryVisitList } from '@/api/residentWX/visit' import { queryVisitList } from '@/api/residentWX/visit'
export default { export default {
inject: ['showNav'], inject: ['showNav', 'isResidentInfo'],
data() { data() {
return { return {
store: useStore(), store: useStore(),
...@@ -111,6 +111,7 @@ export default { ...@@ -111,6 +111,7 @@ export default {
} }
}, },
mounted() { mounted() {
document.title = '随访记录'
const list = this.$refs.list const list = this.$refs.list
list.addEventListener('scroll', () => { list.addEventListener('scroll', () => {
if (list.scrollTop > 0) { if (list.scrollTop > 0) {
...@@ -122,6 +123,7 @@ export default { ...@@ -122,6 +123,7 @@ export default {
}, },
methods: { methods: {
load(loading = true) { load(loading = true) {
if (!this.isResidentInfo()) return
const query = { const query = {
residentInfoId: this.baseInfo.residentInfoId, residentInfoId: this.baseInfo.residentInfoId,
diseaseType: this.activeTab, diseaseType: this.activeTab,
...@@ -192,12 +194,12 @@ export default { ...@@ -192,12 +194,12 @@ export default {
position: relative; position: relative;
display: flex; display: flex;
margin-bottom: 8px; margin-bottom: 8px;
&:last-child { &:last-of-type {
margin-bottom: 0; margin-bottom: 0;
} }
} }
.label { .label {
min-width: 6em; min-width: 7em;
color: #8C8C8C; color: #8C8C8C;
} }
} }
......
...@@ -9,9 +9,7 @@ ...@@ -9,9 +9,7 @@
</div> </div>
<div class='px-4 py-3 flex shrink-0 base-info'> <div class='px-4 py-3 flex shrink-0 base-info'>
<div class='flex w-full'> <div class='flex w-full'>
<img src='@/assets/image/residentWX/avatar.png' alt='' class='shrink-0' <div class='grow flex flex-col justify-between'>
style='width: .56rem;height: .56rem'>
<div class='grow flex flex-col justify-between pl-3'>
<div class='flex justify-between'> <div class='flex justify-between'>
<span class='name'>{{ residentInfo.residentName }}</span> <span class='name'>{{ residentInfo.residentName }}</span>
</div> </div>
...@@ -27,8 +25,8 @@ ...@@ -27,8 +25,8 @@
</div> </div>
<div class='p-3 grow cont-box'> <div class='p-3 grow cont-box'>
<div class='p-3 h-full cont-inner'> <div class='p-3 h-full cont-inner'>
<div class='flex justify-between collapse-head'> <div class='flex justify-between collapse-head mt-2'>
<span class='text-16'>全部内容</span> <span class='text-16 font-semibold'>全部内容</span>
<span @click='toggleAll'> <span @click='toggleAll'>
<span v-if='!collapseAll'>展开全部</span> <span v-if='!collapseAll'>展开全部</span>
<span v-else>收起全部</span> <span v-else>收起全部</span>
...@@ -37,8 +35,7 @@ ...@@ -37,8 +35,7 @@
</span> </span>
</span> </span>
</div> </div>
<van-collapse :model-value="activeCollapse" ref='collapse' class='doc-collapse'
<van-collapse v-model='activeCollapse' ref='collapse' class='doc-collapse'
@change='collapseChange'> @change='collapseChange'>
<van-collapse-item key='1' title='居民信息' name='1'> <van-collapse-item key='1' title='居民信息' name='1'>
<template #right-icon> <template #right-icon>
...@@ -195,24 +192,30 @@ ...@@ -195,24 +192,30 @@
</div> </div>
</div> </div>
</van-collapse-item> </van-collapse-item>
<van-collapse-item key='11' title='上传随访记录' name='11' v-if="showOne && info.visitSituation == 1"> <van-collapse-item key='11' title='上传随访记录' name='11' v-if="showOne">
<template #right-icon> <template #right-icon>
<doc-icon type='doc-down' /> <doc-icon type='doc-down' />
</template> </template>
<div class='list gap-x-2.5 gap-y-1 flex items-center flex-wrap'> <!-- <div class='list gap-x-2.5 gap-y-1 flex items-center flex-wrap'>
<div v-for="(url, index) in info.uploadVisitRecordImageList" :key="index" > <div v-for="(url, index) in info.uploadVisitRecordImageList" :key="index" >
<img style='width: 1.47rem;height: 2.04rem' :src="url.trueDownloadUrl" /> <img style='width: 1.47rem;height: 2.04rem' :src="url.trueDownloadUrl" />
</div> </div>
</div>-->
<div>
<image-preview :img-list='info.uploadVisitRecordImageList'></image-preview>
</div> </div>
</van-collapse-item> </van-collapse-item>
<van-collapse-item key='12' title='现场随访照片' name='12' v-if="showOne && info.visitSituation == 1"> <van-collapse-item key='12' title='现场随访照片' name='12' v-if="showOne">
<template #right-icon> <template #right-icon>
<doc-icon type='doc-down' /> <doc-icon type='doc-down' />
</template> </template>
<div class='list gap-x-2.5 gap-y-1 flex items-center flex-wrap'> <!-- <div class='list gap-x-2.5 gap-y-1 flex items-center flex-wrap'>
<div v-for="(url, index) in info.sceneVisitImageList" :key="index" > <div v-for="(url, index) in info.sceneVisitImageList" :key="index" >
<img style='width: 1.47rem;height: 2.04rem' :src="url.trueDownloadUrl" /> <img style='width: 1.47rem;height: 2.04rem' :src="url.trueDownloadUrl" />
</div> </div>
</div>-->
<div>
<image-preview :img-list='info.sceneVisitImageList'></image-preview>
</div> </div>
</van-collapse-item> </van-collapse-item>
<van-collapse-item key='13' title='随访机构' name='13'> <van-collapse-item key='13' title='随访机构' name='13'>
...@@ -241,10 +244,11 @@ import { showToast } from 'vant' ...@@ -241,10 +244,11 @@ import { showToast } from 'vant'
import { queryGeneralFUDetail } from '@/api/residentWX/visit' import { queryGeneralFUDetail } from '@/api/residentWX/visit'
import Mp3 from '@/residentWX/components/mediaPlay/Mp3.vue' import Mp3 from '@/residentWX/components/mediaPlay/Mp3.vue'
import Mp4 from '@/residentWX/components/mediaPlay/Mp4' import Mp4 from '@/residentWX/components/mediaPlay/Mp4'
import ImagePreview from '@/residentWX/components/imagePreview/imagePreview'
export default { export default {
name: 'CurrencyFUDetail.vue', name: 'CurrencyFUDetail.vue',
components: { Mp4, Mp3 }, components: { ImagePreview, Mp4, Mp3 },
inject: ['showNav'], inject: ['showNav'],
data() { data() {
return { return {
...@@ -289,7 +293,7 @@ export default { ...@@ -289,7 +293,7 @@ export default {
{ title: '随访单位', key: 'visitUnitName' }, { title: '随访单位', key: 'visitUnitName' },
{ title: '随访科室', key: 'visitOfficeName' }, { title: '随访科室', key: 'visitOfficeName' },
{ title: '随访医生', key: 'visitDoctorName' } { title: '随访医生', key: 'visitDoctorName' }
] ],
} }
}, },
computed: { computed: {
...@@ -397,6 +401,16 @@ export default { ...@@ -397,6 +401,16 @@ export default {
}, },
// 折叠面板切换 // 折叠面板切换
collapseChange(val) { collapseChange(val) {
if (val && val.length <= 2) {
this.activeCollapse = val.slice(val.length - 1)
} else {
if (this.activeCollapse.length > val.length) {
this.activeCollapse = val
}
if (this.activeCollapse.length < val.length) {
this.activeCollapse = val.slice(val.length - 1)
}
}
if (val && val.length === this.collapseList.length) { if (val && val.length === this.collapseList.length) {
this.collapseAll = true this.collapseAll = true
} else { } else {
...@@ -498,4 +512,4 @@ table { ...@@ -498,4 +512,4 @@ table {
border-radius: 4px; border-radius: 4px;
color: #4D5665; color: #4D5665;
} }
</style> </style>
\ No newline at end of file
...@@ -8,8 +8,7 @@ ...@@ -8,8 +8,7 @@
</div> </div>
<div class="px-4 py-3 flex shrink-0 base-info"> <div class="px-4 py-3 flex shrink-0 base-info">
<div class="flex w-full"> <div class="flex w-full">
<img src="@/assets/image/residentWX/avatar.png" alt="" class="shrink-0" style="width: .56rem; height: .56rem"> <div class="grow flex flex-col justify-between">
<div class="grow flex flex-col justify-between pl-3">
<div class="flex justify-between"> <div class="flex justify-between">
<span class="name">{{ residentInfo.residentName }}</span> <span class="name">{{ residentInfo.residentName }}</span>
</div> </div>
...@@ -69,6 +68,7 @@ export default { ...@@ -69,6 +68,7 @@ export default {
} }
}, },
created() { created() {
document.title = '随访详情'
this.load() this.load()
}, },
methods: { methods: {
......
<template> <template>
<div class="p-3 grow cont-box"> <div class="p-3 grow cont-box">
<div class="p-3 h-full cont-inner"> <div class="p-3 h-full cont-inner">
<div class="flex justify-between collapse-head"> <div class="flex justify-between collapse-head mt-2">
<span class="text-16">全部内容</span> <span class="text-16 font-semibold">全部内容</span>
<span @click="toggleAll"> <span @click="toggleAll">
<span v-if="!collapseAll">展开全部</span> <span v-if="!collapseAll">展开全部</span>
<span v-else>收起全部</span> <span v-else>收起全部</span>
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</span> </span>
</div> </div>
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange"> <van-collapse :model-value="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange">
<van-collapse-item key="1" title="居民信息" name="1"> <van-collapse-item key="1" title="居民信息" name="1">
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
...@@ -192,7 +192,15 @@ ...@@ -192,7 +192,15 @@
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
</template> </template>
<div v-for="(x, xIndex) in info.diagnoseInfoList" :key="xIndex"> <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">
{{ info.currentDiagnosisName || '-' }}
</span>
</div>
</div>
<!-- <div v-for="(x, xIndex) in info.diagnoseInfoList" :key="xIndex">
<div style="color: #262626"> <div style="color: #262626">
{{ (store.getDict('CP00086').find(e => e.value === x.currentDiagnoseType)).name }} {{ (store.getDict('CP00086').find(e => e.value === x.currentDiagnoseType)).name }}
</div> </div>
...@@ -256,7 +264,7 @@ ...@@ -256,7 +264,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div> -->
</van-collapse-item> </van-collapse-item>
<van-collapse-item key="10" title="用药情况" name="10"> <van-collapse-item key="10" title="用药情况" name="10">
<template #right-icon> <template #right-icon>
...@@ -293,14 +301,18 @@ ...@@ -293,14 +301,18 @@
</template> </template>
<div class="list"> <div class="list">
<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="text-end">{{ info.isReferralName }}</span>
</div>
<div v-if="info.isReferral === 1" 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">{{ info.referralReason }}</span> <span class="text-end">{{ info.referralReason }}</span>
</div> </div>
<div class="flex justify-between py-1 border-bottom item"> <div v-if="info.isReferral === 1" 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">{{ info.referralUnitName }}</span> <span class="text-end">{{ info.referralUnitName }}</span>
</div> </div>
<div class="flex justify-between py-1 border-bottom item"> <div v-if="info.isReferral === 1" 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">{{ info.referralOfficeName }}</span> <span class="text-end">{{ info.referralOfficeName }}</span>
</div> </div>
...@@ -310,6 +322,9 @@ ...@@ -310,6 +322,9 @@
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
</template> </template>
<div>
<image-preview :img-list='info.visitImageList'></image-preview>
</div>
</van-collapse-item> </van-collapse-item>
<van-collapse-item key="13" title="下次随访日期" name="13"> <van-collapse-item key="13" title="下次随访日期" name="13">
<template #right-icon> <template #right-icon>
...@@ -342,7 +357,9 @@ ...@@ -342,7 +357,9 @@
<script> <script>
import { fetchDataHandle } from '@/utils/common.js' import { fetchDataHandle } from '@/utils/common.js'
import { useStore } from '@/resident/store/index.js' import { useStore } from '@/resident/store/index.js'
import ImagePreview from '@/residentWX/components/imagePreview/imagePreview'
export default { export default {
components: { ImagePreview },
props: { props: {
visitInfo: { visitInfo: {
type: Object, type: Object,
...@@ -442,6 +459,16 @@ export default { ...@@ -442,6 +459,16 @@ export default {
}, },
// 折叠面板切换 // 折叠面板切换
collapseChange(val) { collapseChange(val) {
if (val && val.length <= 2) {
this.activeCollapse = val.slice(val.length - 1)
} else {
if (this.activeCollapse.length > val.length) {
this.activeCollapse = val
}
if (this.activeCollapse.length < val.length) {
this.activeCollapse = val.slice(val.length - 1)
}
}
if (val.length === 14) { if (val.length === 14) {
this.collapseAll = true this.collapseAll = true
} else { } else {
......
<template> <template>
<div class="p-3 grow cont-box"> <div class="p-3 grow cont-box">
<div class="p-3 h-full cont-inner"> <div class="p-3 h-full cont-inner">
<div class="flex justify-between collapse-head"> <div class="flex justify-between collapse-head mt-2">
<span class="text-16">全部内容</span> <span class="text-16 font-semibold">全部内容</span>
<span @click="toggleAll"> <span @click="toggleAll">
<span v-if="!collapseAll">展开全部</span> <span v-if="!collapseAll">展开全部</span>
<span v-else>收起全部</span> <span v-else>收起全部</span>
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</span> </span>
</div> </div>
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange"> <van-collapse :model-value="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange">
<van-collapse-item key="1" title="居民信息" name="1"> <van-collapse-item key="1" title="居民信息" name="1">
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
...@@ -192,7 +192,15 @@ ...@@ -192,7 +192,15 @@
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
</template> </template>
<div v-for="(x, xIndex) in info.diagnoseInfoList" :key="xIndex"> <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">
{{ info.currentDiagnosisName || '-' }}
</span>
</div>
</div>
<!-- <div v-for="(x, xIndex) in info.diagnoseInfoList" :key="xIndex">
<div style="color: #262626"> <div style="color: #262626">
{{ (store.getDict('CP00086').find(e => e.value === x.currentDiagnoseType)).name }} {{ (store.getDict('CP00086').find(e => e.value === x.currentDiagnoseType)).name }}
</div> </div>
...@@ -256,7 +264,7 @@ ...@@ -256,7 +264,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div> -->
</van-collapse-item> </van-collapse-item>
<van-collapse-item key="10" title="用药情况" name="10"> <van-collapse-item key="10" title="用药情况" name="10">
<template #right-icon> <template #right-icon>
...@@ -293,14 +301,18 @@ ...@@ -293,14 +301,18 @@
</template> </template>
<div class="list"> <div class="list">
<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="text-end">{{ info.isReferralName }}</span>
</div>
<div v-if="info.isReferral === 1" 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">{{ info.referralReason }}</span> <span class="text-end">{{ info.referralReason }}</span>
</div> </div>
<div class="flex justify-between py-1 border-bottom item"> <div v-if="info.isReferral === 1" 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">{{ info.referralUnitName }}</span> <span class="text-end">{{ info.referralUnitName }}</span>
</div> </div>
<div class="flex justify-between py-1 border-bottom item"> <div v-if="info.isReferral === 1" 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">{{ info.referralOfficeName }}</span> <span class="text-end">{{ info.referralOfficeName }}</span>
</div> </div>
...@@ -310,6 +322,9 @@ ...@@ -310,6 +322,9 @@
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
</template> </template>
<div>
<image-preview :img-list='info.visitImageList'></image-preview>
</div>
</van-collapse-item> </van-collapse-item>
<van-collapse-item key="13" title="下次随访日期" name="13"> <van-collapse-item key="13" title="下次随访日期" name="13">
<template #right-icon> <template #right-icon>
...@@ -342,7 +357,9 @@ ...@@ -342,7 +357,9 @@
<script> <script>
import { fetchDataHandle } from '@/utils/common.js' import { fetchDataHandle } from '@/utils/common.js'
import { useStore } from '@/resident/store/index.js' import { useStore } from '@/resident/store/index.js'
import ImagePreview from '@/residentWX/components/imagePreview/imagePreview'
export default { export default {
components: { ImagePreview },
props: { props: {
visitInfo: { visitInfo: {
type: Object, type: Object,
...@@ -442,6 +459,16 @@ export default { ...@@ -442,6 +459,16 @@ export default {
}, },
// 折叠面板切换 // 折叠面板切换
collapseChange(val) { collapseChange(val) {
if (val && val.length <= 2) {
this.activeCollapse = val.slice(val.length - 1)
} else {
if (this.activeCollapse.length > val.length) {
this.activeCollapse = val
}
if (this.activeCollapse.length < val.length) {
this.activeCollapse = val.slice(val.length - 1)
}
}
if (val.length === 14) { if (val.length === 14) {
this.collapseAll = true this.collapseAll = true
} else { } else {
......
<template> <template>
<div class="p-3 grow cont-box"> <div class="p-3 grow cont-box">
<div class="p-3 h-full cont-inner"> <div class="p-3 h-full cont-inner">
<div class="flex justify-between collapse-head"> <div class="flex justify-between collapse-head mt-2">
<span class="text-16">全部内容</span> <span class="text-16 font-semibold">全部内容</span>
<span @click="toggleAll"> <span @click="toggleAll">
<span v-if="!collapseAll">展开全部</span> <span v-if="!collapseAll">展开全部</span>
<span v-else>收起全部</span> <span v-else>收起全部</span>
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</span> </span>
</div> </div>
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange"> <van-collapse :model-value="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange">
<van-collapse-item key="1" title="居民信息" name="1"> <van-collapse-item key="1" title="居民信息" name="1">
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
...@@ -192,7 +192,15 @@ ...@@ -192,7 +192,15 @@
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
</template> </template>
<div v-for="(x, xIndex) in info.diagnoseInfoList" :key="xIndex"> <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">
{{ info.currentDiagnosisName || '-' }}
</span>
</div>
</div>
<!-- <div v-for="(x, xIndex) in info.diagnoseInfoList" :key="xIndex">
<div style="color: #262626"> <div style="color: #262626">
{{ (store.getDict('CP00086').find(e => e.value === x.currentDiagnoseType)).name }} {{ (store.getDict('CP00086').find(e => e.value === x.currentDiagnoseType)).name }}
</div> </div>
...@@ -256,7 +264,7 @@ ...@@ -256,7 +264,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div> -->
</van-collapse-item> </van-collapse-item>
<van-collapse-item key="10" title="用药情况" name="10"> <van-collapse-item key="10" title="用药情况" name="10">
<template #right-icon> <template #right-icon>
...@@ -293,14 +301,18 @@ ...@@ -293,14 +301,18 @@
</template> </template>
<div class="list"> <div class="list">
<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="text-end">{{ info.isReferralName }}</span>
</div>
<div v-if="info.isReferral === 1" 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">{{ info.referralReason }}</span> <span class="text-end">{{ info.referralReason }}</span>
</div> </div>
<div class="flex justify-between py-1 border-bottom item"> <div v-if="info.isReferral === 1" 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">{{ info.referralUnitName }}</span> <span class="text-end">{{ info.referralUnitName }}</span>
</div> </div>
<div class="flex justify-between py-1 border-bottom item"> <div v-if="info.isReferral === 1" 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">{{ info.referralOfficeName }}</span> <span class="text-end">{{ info.referralOfficeName }}</span>
</div> </div>
...@@ -310,6 +322,9 @@ ...@@ -310,6 +322,9 @@
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
</template> </template>
<div>
<image-preview :img-list='info.visitImageList'></image-preview>
</div>
</van-collapse-item> </van-collapse-item>
<van-collapse-item key="13" title="下次随访日期" name="13"> <van-collapse-item key="13" title="下次随访日期" name="13">
<template #right-icon> <template #right-icon>
...@@ -342,7 +357,9 @@ ...@@ -342,7 +357,9 @@
<script> <script>
import { fetchDataHandle } from '@/utils/common.js' import { fetchDataHandle } from '@/utils/common.js'
import { useStore } from '@/resident/store/index.js' import { useStore } from '@/resident/store/index.js'
import ImagePreview from '@/residentWX/components/imagePreview/imagePreview'
export default { export default {
components: { ImagePreview },
props: { props: {
visitInfo: { visitInfo: {
type: Object, type: Object,
...@@ -441,6 +458,16 @@ export default { ...@@ -441,6 +458,16 @@ export default {
}, },
// 折叠面板切换 // 折叠面板切换
collapseChange(val) { collapseChange(val) {
if (val && val.length <= 2) {
this.activeCollapse = val.slice(val.length - 1)
} else {
if (this.activeCollapse.length > val.length) {
this.activeCollapse = val
}
if (this.activeCollapse.length < val.length) {
this.activeCollapse = val.slice(val.length - 1)
}
}
if (val.length === 14) { if (val.length === 14) {
this.collapseAll = true this.collapseAll = true
} else { } else {
......
<template> <template>
<div class="p-3 grow cont-box"> <div class="p-3 grow cont-box">
<div class="p-3 h-full cont-inner"> <div class="p-3 h-full cont-inner">
<div class="flex justify-between collapse-head"> <div class="flex justify-between collapse-head mt-2">
<span class="text-16">全部内容</span> <span class="text-16 font-semibold">全部内容</span>
<span @click="toggleAll"> <span @click="toggleAll">
<span v-if="!collapseAll">展开全部</span> <span v-if="!collapseAll">展开全部</span>
<span v-else>收起全部</span> <span v-else>收起全部</span>
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</span> </span>
</div> </div>
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange"> <van-collapse :model-value="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange">
<van-collapse-item key="1" title="居民信息" name="1"> <van-collapse-item key="1" title="居民信息" name="1">
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
...@@ -190,7 +190,15 @@ ...@@ -190,7 +190,15 @@
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
</template> </template>
<div v-for="(x, xIndex) in info.diagnoseInfoList" :key="xIndex"> <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">
{{ info.currentDiagnosisName || '-' }}
</span>
</div>
</div>
<!-- <div v-for="(x, xIndex) in info.diagnoseInfoList" :key="xIndex">
<div style="color: #262626"> <div style="color: #262626">
{{ (store.getDict('CP00086').find(e => e.value === x.currentDiagnoseType)).name }} {{ (store.getDict('CP00086').find(e => e.value === x.currentDiagnoseType)).name }}
</div> </div>
...@@ -254,7 +262,7 @@ ...@@ -254,7 +262,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div> -->
</van-collapse-item> </van-collapse-item>
<van-collapse-item key="10" title="用药情况" name="10"> <van-collapse-item key="10" title="用药情况" name="10">
<template #right-icon> <template #right-icon>
...@@ -291,14 +299,18 @@ ...@@ -291,14 +299,18 @@
</template> </template>
<div class="list"> <div class="list">
<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="text-end">{{ info.isReferralName }}</span>
</div>
<div v-if="info.isReferral === 1" 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">{{ info.referralReason }}</span> <span class="text-end">{{ info.referralReason }}</span>
</div> </div>
<div class="flex justify-between py-1 border-bottom item"> <div v-if="info.isReferral === 1" 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">{{ info.referralUnitName }}</span> <span class="text-end">{{ info.referralUnitName }}</span>
</div> </div>
<div class="flex justify-between py-1 border-bottom item"> <div v-if="info.isReferral === 1" 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">{{ info.referralOfficeName }}</span> <span class="text-end">{{ info.referralOfficeName }}</span>
</div> </div>
...@@ -308,6 +320,9 @@ ...@@ -308,6 +320,9 @@
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
</template> </template>
<div>
<image-preview :img-list='info.visitImageList'></image-preview>
</div>
</van-collapse-item> </van-collapse-item>
<van-collapse-item key="13" title="下次随访日期" name="13"> <van-collapse-item key="13" title="下次随访日期" name="13">
<template #right-icon> <template #right-icon>
...@@ -340,7 +355,9 @@ ...@@ -340,7 +355,9 @@
<script> <script>
import { fetchDataHandle } from '@/utils/common.js' import { fetchDataHandle } from '@/utils/common.js'
import { useStore } from '@/resident/store/index.js' import { useStore } from '@/resident/store/index.js'
import ImagePreview from '@/residentWX/components/imagePreview/imagePreview'
export default { export default {
components: { ImagePreview },
props: { props: {
visitInfo: { visitInfo: {
type: Object, type: Object,
...@@ -447,6 +464,16 @@ export default { ...@@ -447,6 +464,16 @@ export default {
}, },
// 折叠面板切换 // 折叠面板切换
collapseChange(val) { collapseChange(val) {
if (val && val.length <= 2) {
this.activeCollapse = val.slice(val.length - 1)
} else {
if (this.activeCollapse.length > val.length) {
this.activeCollapse = val
}
if (this.activeCollapse.length < val.length) {
this.activeCollapse = val.slice(val.length - 1)
}
}
if (val.length === 14) { if (val.length === 14) {
this.collapseAll = true this.collapseAll = true
} else { } else {
......
<template> <template>
<div class="p-3 grow cont-box"> <div class="p-3 grow cont-box">
<div class="p-3 h-full cont-inner"> <div class="p-3 h-full cont-inner">
<div class="flex justify-between collapse-head"> <div class="flex justify-between collapse-head mt-2">
<span class="text-16">全部内容</span> <span class="text-16 font-semibold">全部内容</span>
<span @click="toggleAll"> <span @click="toggleAll">
<span v-if="!collapseAll">展开全部</span> <span v-if="!collapseAll">展开全部</span>
<span v-else>收起全部</span> <span v-else>收起全部</span>
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</span> </span>
</div> </div>
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange"> <van-collapse :model-value="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange">
<van-collapse-item key="1" title="居民信息" name="1"> <van-collapse-item key="1" title="居民信息" name="1">
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
...@@ -192,7 +192,15 @@ ...@@ -192,7 +192,15 @@
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
</template> </template>
<div v-for="(x, xIndex) in info.diagnoseInfoList" :key="xIndex"> <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">
{{ info.currentDiagnosisName || '-' }}
</span>
</div>
</div>
<!-- <div v-for="(x, xIndex) in info.diagnoseInfoList" :key="xIndex">
<div style="color: #262626"> <div style="color: #262626">
{{ (store.getDict('CP00086').find(e => e.value === x.currentDiagnoseType)).name }} {{ (store.getDict('CP00086').find(e => e.value === x.currentDiagnoseType)).name }}
</div> </div>
...@@ -256,7 +264,7 @@ ...@@ -256,7 +264,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div> -->
</van-collapse-item> </van-collapse-item>
<van-collapse-item key="10" title="用药情况" name="10"> <van-collapse-item key="10" title="用药情况" name="10">
<template #right-icon> <template #right-icon>
...@@ -293,14 +301,18 @@ ...@@ -293,14 +301,18 @@
</template> </template>
<div class="list"> <div class="list">
<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="text-end">{{ info.isReferralName }}</span>
</div>
<div v-if="info.isReferral === 1" 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">{{ info.referralReason }}</span> <span class="text-end">{{ info.referralReason }}</span>
</div> </div>
<div class="flex justify-between py-1 border-bottom item"> <div v-if="info.isReferral === 1" 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">{{ info.referralUnitName }}</span> <span class="text-end">{{ info.referralUnitName }}</span>
</div> </div>
<div class="flex justify-between py-1 border-bottom item"> <div v-if="info.isReferral === 1" 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">{{ info.referralOfficeName }}</span> <span class="text-end">{{ info.referralOfficeName }}</span>
</div> </div>
...@@ -310,6 +322,9 @@ ...@@ -310,6 +322,9 @@
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
</template> </template>
<div>
<image-preview :img-list='info.visitImageList'></image-preview>
</div>
</van-collapse-item> </van-collapse-item>
<van-collapse-item key="13" title="下次随访日期" name="13"> <van-collapse-item key="13" title="下次随访日期" name="13">
<template #right-icon> <template #right-icon>
...@@ -342,7 +357,9 @@ ...@@ -342,7 +357,9 @@
<script> <script>
import { fetchDataHandle } from '@/utils/common.js' import { fetchDataHandle } from '@/utils/common.js'
import { useStore } from '@/resident/store/index.js' import { useStore } from '@/resident/store/index.js'
import ImagePreview from '@/residentWX/components/imagePreview/imagePreview'
export default { export default {
components: { ImagePreview },
props: { props: {
visitInfo: { visitInfo: {
type: Object, type: Object,
...@@ -442,6 +459,16 @@ export default { ...@@ -442,6 +459,16 @@ export default {
}, },
// 折叠面板切换 // 折叠面板切换
collapseChange(val) { collapseChange(val) {
if (val && val.length <= 2) {
this.activeCollapse = val.slice(val.length - 1)
} else {
if (this.activeCollapse.length > val.length) {
this.activeCollapse = val
}
if (this.activeCollapse.length < val.length) {
this.activeCollapse = val.slice(val.length - 1)
}
}
if (val.length === 14) { if (val.length === 14) {
this.collapseAll = true this.collapseAll = true
} else { } else {
......
<template> <template>
<div class="p-3 grow cont-box"> <div class="p-3 grow cont-box">
<div class="p-3 h-full cont-inner"> <div class="p-3 h-full cont-inner">
<div class="flex justify-between collapse-head"> <div class="flex justify-between collapse-head mt-2">
<span class="text-16">全部内容</span> <span class="text-16 font-semibold">全部内容</span>
<span @click="toggleAll"> <span @click="toggleAll">
<span v-if="!collapseAll">展开全部</span> <span v-if="!collapseAll">展开全部</span>
<span v-else>收起全部</span> <span v-else>收起全部</span>
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</span> </span>
</div> </div>
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange"> <van-collapse :model-value="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange">
<van-collapse-item key="1" title="居民信息" name="1"> <van-collapse-item key="1" title="居民信息" name="1">
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
...@@ -233,7 +233,15 @@ ...@@ -233,7 +233,15 @@
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
</template> </template>
<div v-for="(x, xIndex) in info.diagnoseInfoList" :key="xIndex"> <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">
{{ info.currentDiagnosisName || '-' }}
</span>
</div>
</div>
<!-- <div v-for="(x, xIndex) in info.diagnoseInfoList" :key="xIndex">
<div style="color: #262626"> <div style="color: #262626">
{{ (store.getDict('CP00086').find(e => e.value === x.currentDiagnoseType)).name }} {{ (store.getDict('CP00086').find(e => e.value === x.currentDiagnoseType)).name }}
</div> </div>
...@@ -297,7 +305,7 @@ ...@@ -297,7 +305,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div> -->
</van-collapse-item> </van-collapse-item>
<van-collapse-item key="10" title="用药情况" name="10"> <van-collapse-item key="10" title="用药情况" name="10">
<template #right-icon> <template #right-icon>
...@@ -331,14 +339,18 @@ ...@@ -331,14 +339,18 @@
</template> </template>
<div class="list"> <div class="list">
<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="text-end">{{ info.isReferralName }}</span>
</div>
<div v-if="info.isReferral === 1" 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">{{ info.referralReason }}</span> <span class="text-end">{{ info.referralReason }}</span>
</div> </div>
<div class="flex justify-between py-1 border-bottom item"> <div v-if="info.isReferral === 1" 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">{{ info.referralUnitName }}</span> <span class="text-end">{{ info.referralUnitName }}</span>
</div> </div>
<div class="flex justify-between py-1 border-bottom item"> <div v-if="info.isReferral === 1" 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">{{ info.referralOfficeName }}</span> <span class="text-end">{{ info.referralOfficeName }}</span>
</div> </div>
...@@ -348,6 +360,9 @@ ...@@ -348,6 +360,9 @@
<template #right-icon> <template #right-icon>
<doc-icon type="doc-down" /> <doc-icon type="doc-down" />
</template> </template>
<div>
<image-preview :img-list='info.visitImageList'></image-preview>
</div>
</van-collapse-item> </van-collapse-item>
<van-collapse-item key="13" title="下次随访日期" name="13"> <van-collapse-item key="13" title="下次随访日期" name="13">
<template #right-icon> <template #right-icon>
...@@ -380,7 +395,9 @@ ...@@ -380,7 +395,9 @@
<script> <script>
import { fetchDataHandle } from '@/utils/common.js' import { fetchDataHandle } from '@/utils/common.js'
import { useStore } from '@/resident/store/index.js' import { useStore } from '@/resident/store/index.js'
import ImagePreview from '@/residentWX/components/imagePreview/imagePreview'
export default { export default {
components: { ImagePreview },
props: { props: {
visitInfo: { visitInfo: {
type: Object, type: Object,
...@@ -487,6 +504,16 @@ export default { ...@@ -487,6 +504,16 @@ export default {
}, },
// 折叠面板切换 // 折叠面板切换
collapseChange(val) { collapseChange(val) {
if (val && val.length <= 2) {
this.activeCollapse = val.slice(val.length - 1)
} else {
if (this.activeCollapse.length > val.length) {
this.activeCollapse = val
}
if (this.activeCollapse.length < val.length) {
this.activeCollapse = val.slice(val.length - 1)
}
}
if (val.length === 14) { if (val.length === 14) {
this.collapseAll = true this.collapseAll = true
} else { } else {
......
...@@ -38,8 +38,8 @@ ...@@ -38,8 +38,8 @@
</div> </div>
<div class="p-3 grow cont-box"> <div class="p-3 grow cont-box">
<div class="p-3 h-full cont-inner"> <div class="p-3 h-full cont-inner">
<div class="flex justify-between collapse-head"> <div class="flex justify-between collapse-head mt-2">
<span class="text-16">全部内容</span> <span class="text-16 font-semibold">全部内容</span>
<span @click="toggleAll"> <span @click="toggleAll">
<span v-if="!collapseAll">展开全部</span> <span v-if="!collapseAll">展开全部</span>
<span v-else>收起全部</span> <span v-else>收起全部</span>
......
...@@ -66,6 +66,26 @@ export function debounce(fu, wait = 300) { ...@@ -66,6 +66,26 @@ export function debounce(fu, wait = 300) {
} }
} }
// 复制文本
export function copyToClip(content) {
if (!content) {
console.warn('copyToClip content 为空')
}
if (navigator.clipboard) {
return navigator.clipboard.writeText(content)
}
if (document.execCommand) {
let dom = document.createElement('textarea')
dom.value = content
document.body.appendChild(dom)
dom.select()
document.execCommand('copy')
document.body.removeChild(dom)
return true
}
return
}
/** /**
* 请求参数处理 * 请求参数处理
* @param {Object} source 原数据 * @param {Object} source 原数据
...@@ -254,4 +274,16 @@ export function showNav() { ...@@ -254,4 +274,16 @@ export function showNav() {
res = true res = true
} }
return res return res
}
//用户是否存在慢病档案
export function isResidentInfo() {
let res = false
let jsonInfo =window.sessionStorage.getItem('userInfo')
if (jsonInfo == '{}') {
res = false
} else {
res = true
}
return res
} }
\ No newline at end of file
...@@ -39,10 +39,11 @@ module.exports = defineConfig({ ...@@ -39,10 +39,11 @@ module.exports = defineConfig({
} }
}, },
'/chronic-resident': { '/chronic-resident': {
// target: 'http://192.168.1.187:8903', // target: 'http://192.168.1.200:8903',
target: 'https://beta-tumour.zmnyjk.com', target: 'https://beta-tumour.zmnyjk.com',
changOrigin: true, changOrigin: true,
pathRewrite: { pathRewrite: {
// '^/chronic-resident': '/',
'^/chronic-resident': '/chronic-resident' '^/chronic-resident': '/chronic-resident'
} }
} }
......
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