| | |
| | | <template> |
| | | <div class="home-container layout-pd "> |
| | | <el-row gutter="10"> |
| | | <el-row :gutter="10"> |
| | | <el-col class="patTabel" :xs="6" :sm="6" :md="4" :lg="3" :xl="3" v-if="state.isTable"> |
| | | <el-table :data="state.filterTableData" stripe :height="state.tableHeight.left" size="default" |
| | | highlight-current-row @current-change="handleCurrentChange" style="width: 100%"> |
| | |
| | | </div> |
| | | <el-input size="default" @change="getPatients" v-model="state.search" placeholder="支持模糊查询" |
| | | :prefix-icon="Search" /> |
| | | |
| | | <el-row style="margin-top: 5px;"> |
| | | <el-col :span="10">姓名</el-col> |
| | | <el-col :span="5">性别</el-col> |
| | | <el-col :span="4">年龄</el-col> |
| | | <el-col :span="5">床号</el-col> |
| | | </el-row> |
| | | </template> |
| | | <template #default="scope"> |
| | | <el-row> |
| | | <el-col :span="12">{{ scope.row.patientName }}</el-col> |
| | | <el-col :span="6">{{ scope.row.patientGenderText }}</el-col> |
| | | <el-col :span="6">{{ scope.row.age }}</el-col> |
| | | <el-col :span="10">{{ scope.row.patientName }}</el-col> |
| | | <el-col :span="5">{{ scope.row?.patientGender===0?'男':'女' }}</el-col> |
| | | <el-col :span="4">{{ scope.row.age }}</el-col> |
| | | <el-col :span="5">{{ scope.row.deviceNo }}</el-col> |
| | | </el-row> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | </span> |
| | | </template> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="生化数据" name="生化数据"> |
| | | <el-tab-pane label="营养筛查评估" name="营养筛查评估"> |
| | | <template #label> |
| | | <span class="custom-tabs-label home-title"> |
| | | <el-icon> |
| | | <Aim /> |
| | | <Histogram /> |
| | | </el-icon> |
| | | <span style="margin-left: 5px">生化数据</span> |
| | | <span style="margin-left: 5px">营养筛查评估</span> |
| | | </span> |
| | | </template> |
| | | <lisUi ref="lisUiRef"></lisUi> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="用药记录" name="用药记录"> |
| | | <template #label> |
| | | <span class="custom-tabs-label home-title"> |
| | | <el-icon> |
| | | <Edit /> |
| | | </el-icon> |
| | | <span style="margin-left: 5px">用药记录</span> |
| | | </span> |
| | | </template> |
| | | |
| | | </el-tab-pane> |
| | | <el-tab-pane label="历史服务" name="历史服务"> |
| | | <template #label> |
| | | <span class="custom-tabs-label home-title"> |
| | | <el-icon> |
| | | <ZoomIn /> |
| | | </el-icon> |
| | | <span style="margin-left: 5px">历史服务</span> |
| | | </span> |
| | | </template> |
| | | <el-empty description="该功能未开发"></el-empty> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="膳食调查" name="膳食调查"> |
| | | <template #label> |
| | |
| | | </template> |
| | | |
| | | </el-tab-pane> |
| | | <el-tab-pane label="营养筛查评估" name="营养筛查评估"> |
| | | |
| | | <el-tab-pane label="食物过敏原及胃肠功能调查" name="食物过敏原及胃肠功能调查"> |
| | | <template #label> |
| | | <span class="custom-tabs-label home-title"> |
| | | <el-icon> |
| | | <Histogram /> |
| | | <Notification /> |
| | | </el-icon> |
| | | <span style="margin-left: 5px">营养筛查评估</span> |
| | | <span style="margin-left: 5px">食物过敏原及胃肠功能调查</span> |
| | | </span> |
| | | </template> |
| | | |
| | | </el-tab-pane> |
| | | <el-tab-pane label="方案" name="方案"> |
| | | <template #label> |
| | | <span class="custom-tabs-label home-title"> |
| | | <el-icon> |
| | | <Grid /> |
| | | </el-icon> |
| | | <span style="margin-left: 5px">方案</span> |
| | | </span> |
| | | </template> |
| | | <el-empty description="该功能未开发"></el-empty> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="随访记录" name="随访记录"> |
| | | <template #label> |
| | |
| | | <span style="margin-left: 5px">随访记录</span> |
| | | </span> |
| | | </template> |
| | | <el-empty description="该功能未开发"></el-empty> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="营养饮食指导方案" name="营养饮食指导方案"> |
| | | <template #label> |
| | | <span class="custom-tabs-label home-title"> |
| | | <el-icon> |
| | | <Grid /> |
| | | </el-icon> |
| | | <span style="margin-left: 5px">营养饮食指导方案</span> |
| | | </span> |
| | | </template> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="生化数据" name="生化数据"> |
| | | <template #label> |
| | | <span class="custom-tabs-label home-title"> |
| | | <el-icon> |
| | | <Aim /> |
| | | </el-icon> |
| | | <span style="margin-left: 5px">生化数据</span> |
| | | </span> |
| | | </template> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="用药记录" name="用药记录"> |
| | | <template #label> |
| | | <span class="custom-tabs-label home-title"> |
| | | <el-icon> |
| | | <Edit /> |
| | | </el-icon> |
| | | <span style="margin-left: 5px">用药记录</span> |
| | | </span> |
| | | </template> |
| | | |
| | | </el-tab-pane> |
| | | <el-tab-pane label="营养服务管理记录" name="营养服务管理记录"> |
| | | <template #label> |
| | | <span class="custom-tabs-label home-title"> |
| | | <el-icon> |
| | | <Edit /> |
| | | </el-icon> |
| | | <span style="margin-left: 5px">营养服务管理记录</span> |
| | | </span> |
| | | </template> |
| | | |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <div class="itemDoby"> |
| | |
| | | <MedicationRecords v-show="state.activeName === '用药记录'" :tableHeight="state.tableHeight.detailRight" ref="MedicationRecordsRef"> |
| | | </MedicationRecords> |
| | | <dietarySurvey ref="dietarySurveyRef" v-show="state.activeName === '膳食调查'" :tableHeight="state.tableHeight.detailRight"></dietarySurvey> |
| | | <shiwuguoming ref="shiwuguomingRef" v-show="state.activeName === '食物过敏原及胃肠功能调查'" :tableHeight="state.tableHeight.detailRight"></shiwuguoming> |
| | | <pinggubiao ref="pinggubiaoRef" v-show="state.activeName === '营养筛查评估'" :tableHeight="state.tableHeight.detailRight"></pinggubiao> |
| | | <fangAn ref="fangAnRef" v-show="state.activeName === '营养饮食指导方案'" :tableHeight="state.tableHeight.detailRight"></fangAn> |
| | | <suifangjilu ref="suifangjiluRef" v-show="state.activeName === '随访记录'" :tableHeight="state.tableHeight.detailRight"></suifangjilu> |
| | | |
| | | <jilubiao ref="jilubiaoRef" v-show="state.activeName === '营养服务管理记录'" :tableHeight="state.tableHeight.detailRight"></jilubiao> |
| | | |
| | | |
| | | </div> |
| | | |
| | |
| | | </el-row> |
| | | <div class="fixed-div" v-show="patientsInfo.patientName"> |
| | | <el-avatar :size="80" :src="patientsInfo.patientAvatarIcon" /> |
| | | <div @click="state.isTable = false">{{ patientsInfo.patientName }}</div> |
| | | <div>{{ patientsInfo.patientName }}</div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | <script setup lang="ts" name="home"> |
| | | import huanzheliebiao from '/@/assets/imgs/huanzheliebiao.png' |
| | | import { reactive, onMounted, ref, watch, nextTick, onActivated, markRaw } from 'vue'; |
| | | import { QueryList } from '/@/api/Patients' |
| | | import { QueryList,getRecordsInToday2 } from '/@/api/Patients' |
| | | import { storeToRefs } from 'pinia'; |
| | | import {formatDate} from '/@/utils/formatTime' |
| | | import { useUserInfo } from '/@/stores/userInfo'; |
| | | import { usePatientsInfo } from '/@/stores/patientsInfo'; |
| | | const stores = useUserInfo(); |
| | |
| | | import MedicationRecords from './components/Medication_records.vue' |
| | | // 膳食调查 |
| | | import dietarySurvey from './components/dietary_survey.vue' |
| | | import shiwuguoming from './components/shiwuguoming/index.vue' |
| | | // 患者档案 |
| | | import patientFile from './components/patient_file.vue' |
| | | // 化验结果 |
| | | import lisUi from './components/lis_.ui.vue' |
| | | // 评估表 |
| | | import pinggubiao from './components/pingubiao/index.vue' |
| | | // 方案 |
| | | import fangAn from './components/fangAn/index.vue' |
| | | // 随访记录 |
| | | import suifangjilu from './components/suifangjilu/index.vue' |
| | | // 营养记录表 |
| | | import jilubiao from './components/jilubiao/index.vue' |
| | | interface User { |
| | | code: string, |
| | | patientName: string |
| | |
| | | const lisUiRef = ref() |
| | | const pinggubiaoRef=ref() |
| | | const dietarySurveyRef=ref()// 膳食调查 |
| | | const shiwuguomingRef=ref() |
| | | const fangAnRef=ref() |
| | | const suifangjiluRef=ref() |
| | | const jilubiaoRef=ref() |
| | | const state = reactive({ |
| | | global: { |
| | | homeChartOne: null, |
| | |
| | | }) |
| | | const handleCurrentChange = (val: any | undefined) => { |
| | | if (val) { |
| | | currentRow.value = val |
| | | //缓存到vuex 中 |
| | | storesPat.setPatientsInfo(val) |
| | | console.log(val) |
| | | currentRow.value = val |
| | | const ps={ |
| | | id: val.patientId, |
| | | code: val.patientCode, |
| | | age: val.age, |
| | | patientName:val.patientName, |
| | | patientGenderText: val?.patientGender?'女':'男', |
| | | patientAvatarIcon: val?.patientAvatar, |
| | | clientCode:val.clientCode |
| | | } |
| | | //缓存到vuex 中 |
| | | storesPat.setPatientsInfo(ps) |
| | | getTabsData() |
| | | } |
| | | } |
| | | /**获取患者列表 */ |
| | | const getPatients = () => { |
| | | const loading = ElLoading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }) |
| | | var ps = { |
| | | page: 0, |
| | | size: 0, |
| | | wherecondition: `client_code="${userInfos.value.clientCode}" and (patient_name like "%${state.search.toLowerCase()}%" |
| | | OR patient_name_py like "%${state.search.toLowerCase()}%")` |
| | | } |
| | | // 初始化患者信息 |
| | | storesPat.setPatientsInfo({ |
| | | id: '', |
| | | code: '', |
| | | age: 0, |
| | | patientName: '', |
| | | patientGenderText: '', |
| | | patientAvatarIcon: '' |
| | | patientAvatarIcon: '', |
| | | clientCode:'' |
| | | |
| | | }) |
| | | QueryList(ps).then(res => { |
| | | console.log('----------------患者--------') |
| | | console.log(res.data) |
| | | state.filterTableData = res.data.list |
| | | // 患者信息查询条件 |
| | | const pp={ |
| | | timeSlot:3, |
| | | patientFrom:-1, |
| | | patientName:state.search.toLowerCase(), |
| | | orderCondition:2, |
| | | clientCode:userInfos.value.clientCode, |
| | | dateBegin:formatDate(new Date(),'YYYY-mm-dd')+ " 00:00:00", |
| | | dateEnd:formatDate(new Date(),'YYYY-mm-dd')+" 23:59:59" |
| | | } |
| | | const loading = ElLoading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }) |
| | | getRecordsInToday2(pp).then(re=>{ |
| | | console.log(re.data) |
| | | state.filterTableData = re.data |
| | | }).finally(() => { |
| | | loading.close() |
| | | }) |
| | | loading.close() |
| | | }) |
| | | |
| | | // var ps = { |
| | | // page: 0, |
| | | // size: 0, |
| | | // wherecondition: `client_code="${userInfos.value.clientCode}" and (patient_name like "%${state.search.toLowerCase()}%" |
| | | // OR patient_name_py like "%${state.search.toLowerCase()}%")` |
| | | // } |
| | | |
| | | // QueryList(ps).then(res => { |
| | | // console.log('----------------患者--------') |
| | | // console.log(res.data) |
| | | // state.filterTableData = res.data.list |
| | | // }).finally(() => { |
| | | // loading.close() |
| | | // }) |
| | | } |
| | | /**设置高度 */ |
| | | const setTableHeight = () => { |
| | |
| | | patientFileRef.value.getData() |
| | | } else if(state.activeName === '膳食调查'){ |
| | | dietarySurveyRef.value.getData() |
| | | |
| | | }else if(state.activeName === '营养筛查评估'){ |
| | | }else if(state.activeName === '食物过敏原及胃肠功能调查'){ |
| | | shiwuguomingRef.value.getData() |
| | | } |
| | | else if(state.activeName === '营养筛查评估'){ |
| | | pinggubiaoRef.value.getData() |
| | | |
| | | }else if(state.activeName==='营养饮食指导方案'){ |
| | | fangAnRef.value.getData() |
| | | }else if(state.activeName==='随访记录'){ |
| | | suifangjiluRef.value.getData() |
| | | }else if(state.activeName==='营养服务管理记录'){ |
| | | jilubiaoRef.value.getData() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | $homeNavLengh: 8; |
| | | |
| | | .home-container { |
| | | overflow: hidden; |
| | | |
| | | .patTabel { |
| | | .el-table th.el-table__cell { |
| | | background-color: #6babfa; |
| | | color: #606266; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .el-table__body tr.current-row>td.el-table__cell { |
| | | background: #E4F6DE; |
| | | color: #5FCD00; |
| | | background: rgb(197.7, 225.9, 255); |
| | | color: #409EFF; |
| | | /* height: 25px; */ |
| | | /* border: tomato solid 1px; */ |
| | | } |
| | |
| | | right: 30px; |
| | | width: 200px; |
| | | height: 100px; |
| | | background-color: #ffffff; |
| | | color: rgb(16, 3, 3); |
| | | padding: 10px; |
| | | z-index: 999; |
| | |
| | | } |
| | | } |
| | | |
| | | .parent { |
| | | display: grid; |
| | | grid-template-columns: minmax(150px, 20%) 1fr; |
| | | } |
| | | </style> |