Commit 44594fd1 authored by songrui's avatar songrui

个人详情疾病列表;工作台配置弹窗

parent 6512eb34
import {fetchBase} from '@/api/doctor/doctorFetch'
//列表查询
export function fetchDiseaseTypeList(params) {
return fetchBase({ url: `/chronic-admin/v1/chronic-diagnose-record/manage-record`, body: params, loading: true })
//列表查询 疾病信息相关 诊断列表、治疗方案、随访方案
export function fetchDiseaseTypeList(params, loading) {
return fetchBase({ url: `/chronic-admin/v1/chronic-diagnose-record/manage-record`, body: params, loading })
}
// 查询随访列表
export function getVisitManageList(params, loading) {
return fetchBase({ url: `/chronic-admin/v1/chronic-visit-record/page`, body: params, loading })
}
\ No newline at end of file
......@@ -24,3 +24,18 @@ export function getReferralList(params, loading) {
export function getConsultationList(params, loading) {
return fetchBase({ url: `/chronic-admin/v1/base-info/consultation-list`, body: params, loading })
}
// 获取用户配置
export function getUserConfig() {
return fetchBase({ url: `/tumour-admin/v1/sys-user-config/query-by-user`, loading: true })
}
// 添加个性化配置
export function addUserConfig(params, loading = true) {
return fetchBase({ url: `/tumour-admin/v1/sys-user-config/add-config`, body: params, loading })
}
// 修改个性化配置
export function updateUserConfig(params, loading = true) {
return fetchBase({ url: `/tumour-admin/v1/sys-user-config/update-config`, body: params, loading })
}
\ No newline at end of file
<svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.6675 9.27291C11.6675 10.5326 10.6465 11.5536 9.38677 11.5536C8.12707 11.5536 7.10571 10.5326 7.10571 9.27291C7.10571 8.01321 8.12707 6.99219 9.38677 6.99219C10.6465 6.99219 11.6675 8.01321 11.6675 9.27291Z" stroke="currentColor" stroke-width="1.2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.7508 8.14H14.9998C14.9913 8.14 14.9835 8.09478 14.975 8.09512C14.8285 7.42362 14.5629 6.77388 14.2032 6.21356C14.21 6.2071 14.2175 6.19112 14.2243 6.18466L15.4622 4.94026C15.8264 4.57612 15.8264 3.98282 15.4622 3.61868L15.0444 3.19912C14.6802 2.83498 14.0897 2.8343 13.7255 3.19844L12.4872 4.43604C12.4808 4.44284 12.4764 4.45032 12.4702 4.45678C11.9096 4.0974 11.2364 3.83152 10.5649 3.68498C10.5652 3.67648 10.52 3.66866 10.52 3.66016V1.90916C10.52 1.39406 10.1973 1 9.68224 1H9.09098C8.57588 1 8.14 1.39406 8.14 1.90916V3.66016C8.14 3.66866 8.15156 3.67648 8.1519 3.68498C7.4804 3.83152 6.85888 4.09706 6.29856 4.45678C6.2921 4.44998 6.29006 4.4425 6.2836 4.4357L5.04668 3.19776C4.68254 2.83362 4.09264 2.83362 3.7285 3.19776L3.31064 3.61562C2.9465 3.97976 2.9465 4.57034 3.31098 4.93448L4.54892 6.17276C4.55572 6.17922 4.56354 6.1833 4.57 6.18976C4.21028 6.75042 3.94474 7.42362 3.7982 8.09512C3.7897 8.09478 3.78188 8.14 3.77338 8.14H2.02238C1.50728 8.14 1 8.46266 1 8.97776V9.56902C1 10.0838 1.50728 10.52 2.02238 10.52H3.77338C3.78188 10.52 3.7897 10.5084 3.7982 10.5081C3.94474 11.1796 4.21028 11.8011 4.57 12.3614C4.56354 12.3679 4.55572 12.3699 4.54926 12.3764L3.31098 13.6133C2.94684 13.9775 2.94684 14.5674 3.31098 14.9315L3.72884 15.3494C4.09332 15.7135 4.68356 15.7135 5.0477 15.349L6.28598 14.1107C6.29244 14.1043 6.29686 14.0965 6.30298 14.09C6.86364 14.4497 7.4804 14.7153 8.1519 14.8618C8.15156 14.8703 8.14 14.8781 8.14 14.8866V16.6376C8.14 17.1527 8.57588 17.66 9.09098 17.66H9.68224C10.1973 17.66 10.52 17.1527 10.52 16.6376V14.8866C10.52 14.8781 10.5652 14.8703 10.5649 14.8618C11.2364 14.7153 11.8858 14.4497 12.4464 14.09C12.4529 14.0965 12.4689 14.1043 12.4753 14.1107L13.7197 15.349C14.0839 15.7132 14.6772 15.7132 15.0413 15.349L15.4609 14.9312C15.825 14.5667 15.8257 13.9764 15.4616 13.6123L14.224 12.374C14.2172 12.3676 14.2097 12.3631 14.2029 12.357C14.5626 11.7964 14.8285 11.1796 14.975 10.5081C14.9835 10.5084 14.9913 10.52 14.9998 10.52H16.7508C17.2659 10.52 17.66 10.0838 17.66 9.56902V8.97776C17.66 8.46266 17.2659 8.14 16.7508 8.14Z" stroke="currentColor" stroke-width="1.2"/>
</svg>
<svg width="8" height="9" viewBox="0 0 8 9" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.6432 3.90404C7.26987 4.29571 7.26987 5.20837 6.6432 5.60004L1.53 8.79579C0.863951 9.21207 0 8.73323 0 7.94779V1.55629C0 0.770851 0.863951 0.292008 1.53 0.708288L6.6432 3.90404Z" fill="#5FC3B7"/>
<svg width="8" height="9" viewBox="0 0 8 9" xmlns="http://www.w3.org/2000/svg">
<path d="M6.6432 3.90404C7.26987 4.29571 7.26987 5.20837 6.6432 5.60004L1.53 8.79579C0.863951 9.21207 0 8.73323 0 7.94779V1.55629C0 0.770851 0.863951 0.292008 1.53 0.708288L6.6432 3.90404Z"/>
</svg>
......@@ -52,7 +52,7 @@ export default {
if (!token) {
token = sessionStorage.getItem('token')
if (process.env.NODE_ENV !== 'production') {
token = '5ddd5348-b7df-4ef7-947a-596ccfa2bbdc'
token = '33ba1a56-770a-4fc4-83c7-68e1dc0abb15'
}
}
if (token) {
......
......@@ -32,7 +32,7 @@ export default {
activeMediaUrl: { default: '' },
remove: Boolean
},
emits: ['onRemove'],
emits: ['play', 'onRemove'],
data() {
return {
player: {},
......
......@@ -39,7 +39,7 @@ export default {
files: { default: () => [] },
remove: Boolean
},
emits: ['onRemove'],
emits: ['play', 'onRemove'],
data() {
return {
visible: false,
......@@ -83,6 +83,7 @@ export default {
background-color: #E4F2F0;
font-size: 15px;
padding-left: 2px;
color: var(--van-primary-color);
}
.close-btn {
position: absolute;
......
......@@ -62,6 +62,7 @@
<GeneralList v-else-if="activeTabItem.id === 'CURRENCY'"/>
<ReferralList v-else-if="activeTabItem.id === 'REFERRAL'"/>
<ConsultationList v-else-if="activeTabItem.id === 'CONSULTATION'"/>
<DiseaseList v-else :diseaseName="activeTabItem.name" :diseaseType="activeTabItem.value"/>
</div>
<van-popup
v-model:show="addVisible"
......@@ -95,6 +96,7 @@ import ScreeningList from './components/screening/Index.vue'
import GeneralList from './components/generalFU/List.vue'
import ReferralList from './components/referral/List.vue'
import ConsultationList from './components/consultation/List.vue'
import DiseaseList from './components/disease/Index.vue'
export default {
......@@ -105,6 +107,7 @@ export default {
GeneralList,
ReferralList,
ConsultationList,
DiseaseList,
CheckBtn
},
data() {
......
<template>
<div class="h-full flex flex-col disease-index">
<van-tabs shrink type="card" class="shrink-0 doc-tab-round"
v-model:active="activeTab">
<van-tab :title="`${diseaseName}信息`"></van-tab>
<van-tab :title="`${diseaseName}管理`"></van-tab>
</van-tabs>
<div class="pt-3"></div>
<div class="grow pb-3 overflow-y-auto">
<DiseaseList :diseaseType="diseaseType" v-if="activeTab == 0"/>
<DiseaseVisit :diseaseType="diseaseType" v-if="activeTab == 1"/>
</div>
</div>
</template>
<script>
import DiseaseList from './List.vue'
import DiseaseVisit from './Visit.vue'
export default {
components: {
DiseaseList,
DiseaseVisit
},
inject: ['residentInfo'],
props: {
diseaseName: String,
diseaseType: Number
},
data() {
return {
activeTab: 0
}
}
}
</script>
<style lang="less" scoped>
:deep(.card-back-1) {
border-radius: 12px;
background: linear-gradient(to bottom, #FFC9D3, #FFE9E9);
.title {
color: #8E2A4A;
}
}
:deep(.card-back-2) {
border-radius: 12px;
background: linear-gradient(to bottom, #FFD8BC, #FFF0E9);
.title {
color: #8E562A;
}
}
:deep(.card-back-3) {
border-radius: 12px;
background: linear-gradient(to bottom, #B3F5F7, #FFFFE9);
.title {
color: #2A8E75;
}
}
</style>
<template>
<div class="disease-list"></div>
<div class="disease-list" ref="list">
<van-pull-refresh v-model='loadingRefresh' @refresh='onRefresh'
:disabled='isRefreshDisable'>
<div v-for="item in diagnoseRecord" :key="item.id"
class="card-back-1 mb-3">
<div class="title px-4 py-1">诊断列表</div>
<div class="flex flex-col gap-y-2.5 py-3 px-4 doc-list-card">
<div class="text-ellipsis">
<span class="label">诊断名称</span>
<span>{{ item.diseaseName }}({{item.icdCode}})</span>
</div>
<div class="text-ellipsis">
<span class="label">诊断评估</span>
<span>{{ item.diagnoseResultValue || '-' }}</span>
</div>
<div>
<span class="label">诊断单位</span>
<span>{{ item.diseaseUnitName }}</span>
</div>
<div>
<span class="label">诊断科室</span>
<span>{{ item.diseaseOfficeName }}</span>
</div>
<div>
<span class="label">诊断医生</span>
<span>{{ item.diseaseDoctorName }}</span>
</div>
<div>
<span class="label">数据来源</span>
<span>{{ item.sourceName || '-' }}</span>
</div>
<div>
<span class="label">诊断日期</span>
<span>{{ item.diseaseDate }}</span>
</div>
<div>
<span class="label">纳入管理日期</span>
<span>{{ item.manageDate }}</span>
</div>
<div class="divider"></div>
<div class="bt-group">
<van-button round size="small" class="doc-btn-primary" @click="toDetail(item)">详情</van-button>
<van-button round size="small" class="doc-btn-primary" @click='editBtn(item)'
v-if="item.allowUpdate == 1">修改</van-button>
<van-button round size="small" class="doc-btn-red" @click="delBtn(item)"
v-if="item.allowDelete ==1">删除</van-button>
</div>
</div>
</div>
<div v-for="item in treatmentRecord" :key="item.id"
class="card-back-2 mb-3">
<div class="title px-4 py-1">治疗方案</div>
<div class="flex flex-col gap-y-2.5 py-3 px-4 doc-list-card">
<div class="text-ellipsis">
<span class="label">慢病标签</span>
<span>{{ item.diseaseTypeName }}</span>
</div>
<div class="text-ellipsis">
<span class="label">治疗方式</span>
<span>{{ item.therapyMethodName || '-' }}</span>
</div>
<div>
<span class="label">创建单位</span>
<span>{{ item.createUnitName }}</span>
</div>
<div>
<span class="label">创建科室</span>
<span>{{ item.createOfficeName }}</span>
</div>
<div>
<span class="label">创建医生</span>
<span>{{ item.createDoctorName }}</span>
</div>
<div class="divider"></div>
<div class="bt-group">
<van-button round size="small" class="doc-btn-primary" @click="toDetail(item)">详情</van-button>
<van-button round size="small" class="doc-btn-primary" @click='editBtn(item)'
v-if="item.allowUpdate == 1">修改</van-button>
<van-button round size="small" class="doc-btn-red" @click="delBtn(item)"
v-if="item.allowDelete ==1">删除</van-button>
</div>
</div>
</div>
<div v-for="item in treatmentRecord" :key="item.id"
class="card-back-3 mb-3">
<div class="title px-4 py-1">随访方案</div>
<div class="flex flex-col gap-y-2.5 py-3 px-4 doc-list-card">
<div class="text-ellipsis">
<span class="label">随访方案</span>
<span>
<span v-if="item.visitScheme">{{item.visitSchemeOther}}</span>
<span>{{item.visitSchemeName}}</span>
</span>
</div>
<div class="text-ellipsis">
<span class="label">预计随访地点</span>
<span>{{ item.visitPlace || '-' }}</span>
</div>
<div>
<span class="label">创建单位</span>
<span>{{ item.createUnitName }}</span>
</div>
<div>
<span class="label">创建科室</span>
<span>{{ item.createOfficeName }}</span>
</div>
<div>
<span class="label">创建医生</span>
<span>{{ item.createDoctorName }}</span>
</div>
<div>
<span class="label">下次随访日期</span>
<span>{{ item.nextVisitDate || '-' }}</span>
</div>
<div class="divider"></div>
<div class="bt-group">
<van-button round size="small" class="doc-btn-primary" @click="toDetail(item)">详情</van-button>
<van-button round size="small" class="doc-btn-primary" @click='editBtn(item)'
v-if="item.allowUpdate == 1">修改</van-button>
<van-button round size="small" class="doc-btn-red" @click="delBtn(item)"
v-if="item.allowDelete ==1">删除</van-button>
</div>
</div>
</div>
</van-pull-refresh>
<div class='text-center shrink-0 empty'
v-if='!diagnoseRecord.length && !treatmentRecord.length && !followUpRecord.length'>
<img src='@/assets/image/doctor/empty.png' alt='' style='width: 1.2rem;'>
<p>暂无数据</p>
</div>
</div>
</template>
<script>
import { fetchDiseaseTypeList } from '@/api/doctor/disease.js'
export default {
inject: ['residentInfo'],
props: {
diseaseType: Number
},
data() {
return {
loadingRefresh: false,
isRefreshDisable: false,
diagnoseRecord: [],
treatmentRecord: [],
followUpRecord: []
}
},
computed: {
residentInfoId() {
return this.residentInfo().residentInfoId
}
},
created() {
this.load()
},
mounted() {
const list = this.$refs.list
list.addEventListener('scroll', () => {
if (list.scrollTop > 0) {
this.isRefreshDisable = true
} else {
this.isRefreshDisable = false
}
})
},
methods: {
load(loading = true) {
const query = {
residentInfoId: this.residentInfoId,
diseaseType: this.diseaseType
}
fetchDiseaseTypeList(query, loading).then(res => {
const result = res.data || {}
this.diagnoseRecord = result.chronicDiagnoseList || []
this.treatmentRecord = result.chronicTreatmentRecordList || []
this.followUpRecord = result.chronicVisitSchemeRecordList || []
}).finally(() => {
this.loadingRefresh = false
})
},
onRefresh() {
this.load(false)
},
toDetail() {
},
editBtn() {
},
delBtn() {
}
}
}
</script>
......
<template>
<div class="h-full disease-visit" ref="list">
<van-pull-refresh v-model='loadingRefresh' @refresh='onRefresh'
:disabled='isRefreshDisable' style="min-height: 100%">
<van-list
v-model:loading='loading'
:finished='finished'
:finished-text="list.length ? '没有更多了' : ''"
:immediate-check='false'
@load='onMore'
>
<div class="flex flex-col">
<div class="flex flex-col gap-y-2.5 py-3 px-4 mb-3 doc-list-card"
v-for='item in list' :key="item.id">
<div>
<span class="label">服务类型</span>
<span>{{ item.serveTypeName || '-' }}</span>
</div>
<div>
<span class="label">随访日期</span>
<span>{{ item.serveDate }}</span>
</div>
<div>
<span class="label">随访分类</span>
<span>{{ item.visitTypeName || '-' }}</span>
</div>
<div v-if="item.patientNo">
<span class="label">就诊号</span>
<span>{{ item.patientNo || '-' }}</span>
</div>
<div class="text-ellipsis" v-if="item.diagnose">
<span class="label">诊断</span>
<span>{{ item.diagnose || '-' }}</span>
</div>
<div v-if="item.bloodPressure">
<span class="label">血压</span>
<span>{{ item.bloodPressure || '-' }}</span>
</div>
<div>
<span class="label">数据来源</span>
<span>{{ item.sourceName || '-' }}</span>
</div>
<div>
<span class="label">随访医生</span>
<span>{{ item.serveDoctorName || '-' }}</span>
</div>
<div class="text-ellipsis">
<span class="label">随访机构</span>
<span>{{ item.serveUnitName || '-' }}</span>
</div>
<div class="divider"></div>
<div class="bt-group">
<van-button round size="small" class="doc-btn-primary" @click="toDetail(item)">详情</van-button>
<van-button round size="small" class="doc-btn-primary" v-if="item.allowUpdate == 1">转诊</van-button>
<van-button round size="small" class="doc-btn-primary" @click='editBtn(item)'
v-if="!(item.allowUpdate !==1 || item.serveType == 5)">修改</van-button>
<van-button round size="small" class="doc-btn-red" @click="delBtn(item)"
v-if="!(item.allowUpdate !==1 || item.serveType == 5)">删除</van-button>
</div>
</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>
</template>
<script>
import { getVisitManageList } from '@/api/doctor/disease.js'
export default {
inject: ['residentInfo'],
props: {
diseaseType: Number
},
data() {
return {
list: [],
pagination: {
total: 0,
pageIndex: 1,
pageSize: 8
},
loading: false,
finished: false,
loadingRefresh: false,
isRefreshDisable: false
}
},
computed: {
residentInfoId() {
return this.residentInfo().residentInfoId
}
},
created() {
this.load()
},
mounted() {
const list = this.$refs.list
list.addEventListener('scroll', () => {
if (list.scrollTop > 0) {
this.isRefreshDisable = true
} else {
this.isRefreshDisable = false
}
})
},
methods: {
load(loading = true) {
const query = {
pageIndex: this.pagination.pageIndex,
pageSize: this.pagination.pageSize,
residentInfoId: this.residentInfoId,
diseaseType: this.diseaseType,
}
getVisitManageList(query, loading).then(res => {
if (this.pagination.pageIndex === 1) {
this.list = []
}
this.list = this.list.concat(res.data.dataList || [])
this.pagination.total = res.data.total || 0
this.finished = this.list.length >= this.pagination.total
}).finally(() => {
this.loading = false
this.loadingRefresh = false
})
},
onMore() {
this.pagination.pageIndex++
this.load(false)
},
onRefresh() {
this.pagination.pageIndex = 1
this.load(false)
},
toDetail(record) {
if (!record) return
if (record.id == null) {
showToast('暂时无法查看 详情信息')
return
}
if (record.serveType === 5) {
// 通用随访
this.$router.push({
path: '/doctor/followUp/generalFU/detail',
query: {
relationId: record.id
}
})
}
},
editBtn() {
},
delBtn() {
}
}
}
</script>
<style lang="less" scoped>
</style>
......@@ -40,8 +40,8 @@
<div class="pt-2" v-if="state === 2">
<div class="text-12" style="color: #8c8c8c">查找结果:</div>
<div class="card"
v-if="result.chronicTagsArrayName || result.firstScreenResult || result.highTagsArray">
<div class="card" >
<!-- v-if="result.chronicTagsArrayName || result.firstScreenResult || result.highTagsArray" -->
<div class="py-3">
<span class="text-16 font-semibold mr-3">{{ result.residentName }}</span>
<span class="text-12 mr-3">{{ result.currentAge || '-' }}</span>
......@@ -75,7 +75,7 @@
</div>
</div>
<div class="card" v-else-if="!!result.id">
<!-- <div class="card" v-else-if="!!result.id">
<div class="py-3">
<span class="text-16 font-semibold mr-3">{{ result.residentName }}</span>
<span class="text-12 mr-3">{{ result.currentAge || '-' }}</span>
......@@ -89,9 +89,9 @@
<div style="color: #A5AEBE;" >提示:</div>
<div style="color: #768092;">如需为居民进行 慢病诊断筛查 ,请在医生PC端进行操作</div>
</div>
</div>
</div> -->
<div class="text-center empty" v-else>
<div class="text-center empty" v-if="!total">
<img src="@/assets/image/doctor/empty.png" alt="" style="width: 1.2rem;">
<p>暂无数据</p>
</div>
......@@ -120,7 +120,9 @@ export default {
// 历史记录
history: [],
result: {},
// 显示切换
state: 1,
total: 0,
show: false,
value1: undefined,
value2: undefined
......@@ -152,6 +154,7 @@ export default {
getResidentByPage(query).then(res => {
const result = res?.data?.dataList || []
this.result = result[0] || {}
this.total = res.data.total || 0
this.setHistory()
}).finally(() => {
this.state = 2
......@@ -163,9 +166,9 @@ export default {
},
toDetail() {
this.$router.push({
path: `/doctor/resident/base`,
path: `/doctor/patient-detail`,
query: {
residentId: this.result.residentInfoId
residentInfoId: this.result.residentInfoId
}
})
},
......
......@@ -2,11 +2,13 @@
<div class="h-full flex flex-col workbench">
<DocNavBar title="慢病管理" class="shrink-0">
<template #right>
<doc-icon type="doc-search" style="color: #262626"
<doc-icon type="doc-config" style="color: #262626" class="mr-3 text-16"
@click="toConfig"/>
<doc-icon type="doc-search" style="color: #262626" class="text-16"
@click="toSearch"/>
</template>
</DocNavBar>
<div class="grow flex flex-col" style="min-height: 0;position: relative;">
<div class="grow flex flex-col" style="min-height: 0;position: relative;" ref="list">
<div class="shrink-0 workbench-tab">
<div class="back"></div>
<div class="flex workbench-tab-inner" ref="tab-inner">
......@@ -16,13 +18,33 @@
</div>
<div class="grow" style="background: #F8FAFC;min-height: 0;">
<component :is="tabActive.component"
:ref="tabActive.key"/>
:ref="tabActive.key"
:searchType="configRange"/>
<van-popup v-model:show="configVisible" position="top" :style="{ height: '20%' }"
style="position: absolute;transition: none"
:overlay-style="{ position: 'absolute' }"
transition="viewer-fade"
:teleport="(() => $refs.list)()">
<div class="h-full flex flex-col workbench-search-box">
<div class="px-4 py-3 grow">
<div class="mb-3">查询范围</div>
<van-radio-group v-model="configValue.range" direction="horizontal">
<van-radio :name="1">本科室</van-radio>
<van-radio :name="2">本人</van-radio>
</van-radio-group>
</div>
<div class="text-16 flex shrink-0 text-center bt-group">
<div class="grow py-3 submit-btn" @click="saveConfig">确定</div>
</div>
</div>
</van-popup>
</div>
</div>
</div>
</template>
<script>
import { getUserConfig, addUserConfig, updateUserConfig } from '@/api/doctor/resident.js'
import DocNavBar from '@/doctor/components/docNavBar/DocNavBar.vue'
import TableWork from './tables/Work.vue'
import TableVisit from './tables/Visit.vue'
......@@ -49,18 +71,53 @@ export default {
{ key: 'firstScreen', component: 'TableFirstScreen', name: '初筛高危待筛查' },
{ key: 'highRisk', component: 'TableHighRisk', name: '高危待诊断' }
],
tabActive:{}
tabActive:{},
configName: '慢病APP个性化配置',
configVisible: false,
// 工作台查询范围 1:本科室 2:本人
configRange: 1,
configValue: { range: 1 },
configOption: null
}
},
created() {
this.tabActive = this.configTab[0]
this.init()
},
methods: {
init() {
this.tabActive = this.configTab[0]
// 加载配置
getUserConfig().then(res => {
const result = res.data || {}
const config = result.find(e => e.configName === this.configName)
this.configOption = config
if (config) {
this.configValue = JSON.parse(config.configValue)
this.configRange = this.configValue.range
}
})
},
toSearch() {
this.$router.push({
path: '/doctor/search'
})
},
toConfig() {
this.configVisible = true
},
saveConfig() {
const func = this.configOption ? updateUserConfig : addUserConfig
const configValue = this.configValue
let query = [{
configName: this.configName,
configValue: JSON.stringify(configValue),
id: this.configOption?.id
}]
func(query).then(res => {
this.configVisible = false
this.configRange = configValue.range
})
},
tabSelect(item, index) {
this.tabActive = item
const dom = this.$refs['tab-inner']
......
......@@ -125,6 +125,9 @@ export default {
CheckBtn,
IdCardScan
},
props: {
searchType: { default: 1 }
},
data() {
return {
store: useStore(),
......@@ -170,7 +173,7 @@ export default {
const query = {
pageIndex: this.pagination.pageIndex,
pageSize: this.pagination.pageSize,
searchType: 1,
searchType: this.searchType,
serveType: 2,
...this.form
}
......@@ -242,6 +245,11 @@ export default {
}, 800);
})
}
},
watch: {
searchType() {
this.onRefresh()
}
}
}
</script>
......
......@@ -25,7 +25,7 @@
<div class="py-3 px-4 doc-list-card" v-for='item in list' :key="item.id">
<div class="mb-4">
<span class="name mr-2">{{ item.residentName }}</span>
<span class="tag mr-2">{{ item.age }}</span>
<span class="tag mr-2">{{ item.currentAge }}</span>
<span class="tag mr-2">{{ item.genderName || '-' }}</span>
</div>
<div class="flex flex-col gap-y-2.5">
......@@ -129,6 +129,9 @@ export default {
CheckBtn,
IdCardScan
},
props: {
searchType: { default: 1 }
},
data() {
return {
store: useStore(),
......@@ -195,7 +198,7 @@ export default {
pageIndex: this.pagination.pageIndex,
pageSize: this.pagination.pageSize,
serveType: 3,
searchType: 1,
searchType: this.searchType,
diseaseType: this.activeTabItem.value,
...this.form
}
......@@ -271,6 +274,11 @@ export default {
}, 800);
})
},
},
watch: {
searchType() {
this.onRefresh()
}
}
}
</script>
......
......@@ -138,6 +138,9 @@ export default {
IdCardScan,
DocUnit
},
props: {
searchType: { default: 1 }
},
data() {
return {
store: useStore(),
......@@ -185,7 +188,7 @@ export default {
const query = {
pageIndex: this.pagination.pageIndex,
pageSize: this.pagination.pageSize,
searchType: 1,
searchType: this.searchType,
...this.form
}
getReceiveByPage(query, loading).then(res => {
......@@ -256,6 +259,11 @@ export default {
}, 800);
})
}
},
watch: {
searchType() {
this.onRefresh()
}
}
}
</script>
......
......@@ -104,7 +104,7 @@
<CheckBtn :options="store.getDict('CP00124')" v-model:value="form.source" column-3
class="check-btn-workbench"/>
<div class="my-3">是否逾期</div>
<CheckBtn :options="isValidArray" v-model:value="form.isValid"
<CheckBtn :options="isOverdueArray" v-model:value="form.isOverdue"
class="check-btn-workbench"/>
</div>
<div class="text-16 flex shrink-0 text-center bt-group">
......@@ -129,7 +129,7 @@ const DefaultForm = {
// 数据来源,[CP00124]
source: undefined,
// 是否逾期
isValid: '',
isOverdue: '',
// 下次随访日期-开始日期
nextVisitDateStart: undefined,
// 下次随访日期-截止日期
......@@ -147,6 +147,9 @@ export default {
CheckBtn,
IdCardScan
},
props: {
searchType: { default: 1 }
},
data() {
return {
store: useStore(),
......@@ -187,7 +190,7 @@ export default {
listDom() {
return this.$refs.list
},
isValidArray() {
isOverdueArray() {
return [
{ name: '是', value: 1 },
{ name: '否', value: 2 }
......@@ -212,7 +215,7 @@ export default {
const query = {
pageIndex: this.pagination.pageIndex,
pageSize: this.pagination.pageSize,
searchType: 1,
searchType: this.searchType,
diseaseType: this.activeTabItem.value,
...this.form
}
......@@ -291,6 +294,11 @@ export default {
query: {...others}
})
}
},
watch: {
searchType() {
this.onRefresh()
}
}
}
</script>
......
......@@ -127,6 +127,9 @@ const DefaultForm = {
export default {
name: 'TableWork',
props: {
searchType: { default: 1 }
},
components: {
CheckBtn,
IdCardScan
......@@ -176,7 +179,7 @@ export default {
const query = {
pageIndex: this.pagination.pageIndex,
pageSize: this.pagination.pageSize,
searchType: 1,
searchType: this.searchType,
...this.form
}
getWorkByPage(query, loading).then(res => {
......@@ -234,6 +237,11 @@ export default {
}
})
}
},
watch: {
searchType() {
this.onRefresh()
}
}
}
</script>
......
......@@ -74,6 +74,7 @@ export default {
background-color: #E4F2F0;
font-size: 15px;
padding-left: 2px;
color: var(--van-primary-color);
}
}
.wrapper {
......
......@@ -37,8 +37,8 @@
<h4>MP4</h4>
<Mp4 :files="mp4Data" remove/>
<h4>MP3</h4>
<Mp3 :file="mp3Data" remove/>
<h4 @click="mp3Show">MP3</h4>
<Mp3 v-for="item in mp3Data" :file="item" :key="item.annexId" remove/>
</div>
</template>
......@@ -72,11 +72,16 @@ export default {
{ name: '电解质', value: 5 }
],
mp4Data: [{ annexId: 1, annexUrl: 'https://beta-tumour.zmnyjk.com/chronic-admin/file-proxy/tumour/20241025/1729847263522306995.mp4?e=1733300684&token=yrkyCAltqk1WVrw1ZNWUl5F5gLxE0O8LJ0Vq4hzi:xukYHUsfX6OuAXIagBuHMCJ8XNg=', annexFileName: 'kanna.mp4' }],
mp3Data: { annexId: 2, annexUrl: 'https://beta-tumour.zmnyjk.com/chronic-admin/file-proxy/tumour/20241025/1729847336798585370.mp3?e=1733300684&token=yrkyCAltqk1WVrw1ZNWUl5F5gLxE0O8LJ0Vq4hzi:RTqkJZsScil9rGf9kdA0Lq1TEOs=', annexFileName: 'Never Gonna Give You Up-Rick Astley.mp3'}
mp3Data: []
}
},
created() {
sessionStorage.setItem('token', 'dd16fd27-4cfc-492e-a772-c817033133bb')
},
methods: {
mp3Show() {
this.mp3Data = [{ annexId: 2, annexUrl: 'https://beta-tumour.zmnyjk.com/chronic-admin/file-proxy/tumour/20241025/1729847336798585370.mp3?e=1733300684&token=yrkyCAltqk1WVrw1ZNWUl5F5gLxE0O8LJ0Vq4hzi:RTqkJZsScil9rGf9kdA0Lq1TEOs=', annexFileName: 'Never Gonna Give You Up-Rick Astley.mp3'}]
}
}
}
</script>
......
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