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