From 6e015f71927ea207d398735db5a2e6f2d592538f Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期一, 17 二月 2025 16:55:53 +0800
Subject: [PATCH] gx
---
src/i18n/lang/zh-cn.ts | 1
src/layout/navBars/topBar/breadcrumb.vue | 3
src/layout/navBars/topBar/user.vue | 2
src/router/route.ts | 15 +
src/views/tongji/index.vue | 211 +++++++++++++++++++++
src/api/Patients/index.ts | 11 +
src/views/home/components/jilubiao/index.vue | 337 ---------------------------------
7 files changed, 248 insertions(+), 332 deletions(-)
diff --git a/src/api/Patients/index.ts b/src/api/Patients/index.ts
index 7e1af0b..09f1df4 100644
--- a/src/api/Patients/index.ts
+++ b/src/api/Patients/index.ts
@@ -93,3 +93,14 @@
data: params,
});
}
+
+export function nutritionalSummary(params: object) {
+ return request({
+ url: '/nutrition/food/survey/nutritionalSummary',
+ method: 'post',
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ params
+ });
+}
\ No newline at end of file
diff --git a/src/i18n/lang/zh-cn.ts b/src/i18n/lang/zh-cn.ts
index cfca441..177f0d2 100644
--- a/src/i18n/lang/zh-cn.ts
+++ b/src/i18n/lang/zh-cn.ts
@@ -71,6 +71,7 @@
visualizingLinkDemo1: '数据可视化演示1',
visualizingLinkDemo2: '数据可视化演示2',
personal: '个人中心',
+ tongji:'患者健康服务统计',
tools: '工具类集合',
layoutLinkView: '外链',
layoutIframeViewOne: '内嵌 iframe1',
diff --git a/src/layout/navBars/topBar/breadcrumb.vue b/src/layout/navBars/topBar/breadcrumb.vue
index eac7ad4..5c3680d 100644
--- a/src/layout/navBars/topBar/breadcrumb.vue
+++ b/src/layout/navBars/topBar/breadcrumb.vue
@@ -26,6 +26,8 @@
<el-avatar shape="square" style="width: 48px; height: 35px;background-color: #ffffff;margin-right: 10px;margin-left: 10px;" fit="contain" :src="logo" />
<div class="titleHome">营养管理系统</div>
+
+
</div>
</template>
@@ -109,7 +111,6 @@
// 路由更新时
onBeforeRouteUpdate((to) => {
initRouteSplit(to.path);
- alert(to.path)
});
</script>
diff --git a/src/layout/navBars/topBar/user.vue b/src/layout/navBars/topBar/user.vue
index 10bdec4..fa73b14 100644
--- a/src/layout/navBars/topBar/user.vue
+++ b/src/layout/navBars/topBar/user.vue
@@ -91,7 +91,7 @@
<el-dropdown-item command="/home">{{ $t('message.user.dropdown1') }}</el-dropdown-item>
<!-- <el-dropdown-item command="wareHouse">{{ $t('message.user.dropdown6') }}</el-dropdown-item> -->
<el-dropdown-item command="/personal">{{ $t('message.user.dropdown2') }}</el-dropdown-item>
- <!-- <el-dropdown-item command="/404">{{ $t('message.user.dropdown3') }}</el-dropdown-item> -->
+ <el-dropdown-item command="/tongji">患者健康服务统计</el-dropdown-item>
<!-- <el-dropdown-item command="/401">{{ $t('message.user.dropdown4') }}</el-dropdown-item> -->
<el-dropdown-item divided command="logOut">{{ $t('message.user.dropdown5') }}</el-dropdown-item>
</el-dropdown-menu>
diff --git a/src/router/route.ts b/src/router/route.ts
index 8c71fd8..5851d91 100644
--- a/src/router/route.ts
+++ b/src/router/route.ts
@@ -1120,6 +1120,21 @@
},
},
{
+ path: '/tongji',
+ name: 'tongji',
+ component: () => import('/@/views/tongji/index.vue'),
+ meta: {
+ title: 'message.router.tongji',
+ isLink: '',
+ isHide: false,
+ isKeepAlive: true,
+ isAffix: false,
+ isIframe: false,
+ roles: ['admin', 'common'],
+ icon: 'iconfont icon-gerenzhongxin',
+ },
+ },
+ {
path: '/tools',
name: 'tools',
component: () => import('/@/views/tools/index.vue'),
diff --git a/src/views/home/components/jilubiao/index.vue b/src/views/home/components/jilubiao/index.vue
index 90f1d3a..24386dd 100644
--- a/src/views/home/components/jilubiao/index.vue
+++ b/src/views/home/components/jilubiao/index.vue
@@ -392,331 +392,7 @@
<!-- </template> -->
</template>
- <!-- 用药管理 -->
- <tr>
- <td rowspan="6">用药管理</td>
- <!-- <td rowspan="2">1</td> -->
- <td rowspan="2">用药调查</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
-
- <!-- <td rowspan="2">2</td> -->
- <td rowspan="2">用药监督</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
-
- <!-- <td rowspan="2">3</td> -->
- <td rowspan="2">指导建议</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <!-- 随访 -->
- <tr>
- <td rowspan="2">随访</td>
- <!-- <td rowspan="2">1</td> -->
- <td rowspan="2">随访情况</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <!-- 营养筛查评估 -->
- <tr>
- <td rowspan="4">营养筛查评估</td>
- <!-- <td rowspan="2">1</td> -->
- <td rowspan="2">营养筛查结果</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <!-- <td rowspan="2">2</td> -->
- <td rowspan="2">营养评估结果</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <!-- 数据评估 -->
- <tr>
- <td rowspan="12">数据评估</td>
- <!-- <td rowspan="2">1</td> -->
- <td rowspan="2">干体重</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <!-- <td rowspan="2">2</td> -->
- <td rowspan="2">BMI </td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <!-- <td rowspan="2">3</td> -->
- <td rowspan="2">生化指标 </td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <!-- <td rowspan="2">4</td> -->
- <td rowspan="2">脱水量 </td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <!-- <td rowspan="2">5</td> -->
- <td rowspan="2">血压 </td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <!-- <td rowspan="2">6</td> -->
- <td rowspan="2">血糖 </td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td rowspan="8">个性化管理</td>
- <!-- <td rowspan="2">1</td> -->
- <td rowspan="2">指导目标</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <!-- <td rowspan="2">2</td> -->
- <td rowspan="2">指导建议</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <!-- <td rowspan="2">3</td> -->
- <td rowspan="2">指导方案</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <!-- <td rowspan="2">4</td> -->
- <td rowspan="2">随访情况</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <!-- 效果反馈 -->
- <tr>
- <td rowspan="4">效果反馈</td>
- <!-- <td rowspan="2">1</td> -->
- <td rowspan="2">生化数据改善</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <!-- <td rowspan="2">2</td> -->
- <td rowspan="2">主观感受改善</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <!-- 产品管理 -->
- <tr>
- <td rowspan="4">产品管理</td>
- <!-- <td rowspan="2">1</td> -->
- <td rowspan="2">好馨意</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <!-- <td rowspan="2">2</td> -->
- <td rowspan="2">其他品牌</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td rowspan="4">健康营养宣教</td>
- <!-- <td rowspan="2">1</td> -->
- <td rowspan="2">生化指标</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <!-- <td rowspan="2">2</td> -->
- <td rowspan="2">营养饮食</td>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td colspan="2"></td>
- <td></td>
- <td></td>
- </tr>
-
+
</table>
</el-scrollbar>
</div>
@@ -799,6 +475,11 @@
try {
state.loading = true
state.from1Datas=[]
+ state.from2Datas[0].list=[]
+ state.from2Datas[1].list=[]
+ state.from2Datas[2].list=[]
+ state.from2Datas[3].list=[]
+ state.from2Datas[4].list=[]
const [res1,fromData1,fromData2,fromData3,fromData4] = await Promise.all([
getPatData(pam),
getFrom1(),
@@ -815,11 +496,7 @@
}
if(fromData2.data.list.length>0){
- state.from2Datas[0].list=[]
- state.from2Datas[1].list=[]
- state.from2Datas[2].list=[]
- state.from2Datas[3].list=[]
- state.from2Datas[4].list=[]
+
fromData2.data.list.forEach((element:any)=>{
console.log('0000000000000',element)
if(element.suveryFormName==='NRS-2002'){
diff --git a/src/views/tongji/index.vue b/src/views/tongji/index.vue
new file mode 100644
index 0000000..8fc503c
--- /dev/null
+++ b/src/views/tongji/index.vue
@@ -0,0 +1,211 @@
+<template>
+ <div class="personal layout-pd">
+ <el-form size="small" :inline="true" :model="state.formInline">
+ <el-form-item label="填报日期">
+ <el-date-picker
+ v-model="state.formInline.date"
+ type="daterange"
+ unlink-panels
+ range-separator="To"
+ start-placeholder="开始"
+ end-placeholder="结束"
+ :shortcuts="shortcuts"
+ format="YYYY/MM/DD"
+ value-format="YYYY-MM-DD"
+ />
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="onSubmit">查询</el-button>
+ </el-form-item>
+ </el-form>
+
+ <div>
+ <table id="tabledome" class="gridtable">
+ <tr>
+ <th colspan="22">健康管理服务明显表</th>
+ </tr>
+ <tr>
+ <td colspan="10">服务单位:{{clientName}}</td>
+ <td colspan="22">服务期({{state.formInline.date[0]}}到{{state.formInline.date[2]}})</td>
+ </tr>
+ <tr>
+ <th rowspan="2">序号</th>
+ <th rowspan="2">姓名</th>
+ <th rowspan="2">干体重</th>
+ <th rowspan="2">最新生化检验数据更新</th>
+ <th colspan="5">营养风险&营养评估</th>
+ <th rowspan="2">膳食调查</th>
+ <th colspan="8">个性化饮食指导</th>
+ <th>团体宣教</th>
+ <th rowspan="2">随访跟进</th>
+ <th rowspan="2">营养咨询回复</th>
+ <th rowspan="2">购买套餐</th>
+ </tr>
+ <tr>
+
+ <th>NRS-2002</th>
+ <th>SGA</th>
+ <th>MIS</th>
+ <th>GNRI</th>
+ <th>PEW</th>
+ <!-- <th>膳食调查</th> -->
+ <!-- <th colspan="8">个性化饮食指导</th> -->
+ <th>控磷</th>
+ <th>控钾</th>
+ <th>控水</th>
+ <th>贫血</th>
+ <th>蛋白质</th>
+ <th>便秘</th>
+ <th>腹泻</th>
+ <th>体重管理</th>
+ <th style="color: red;">专题勾选</th>
+
+
+ </tr>
+ <tbody>
+
+ <tr v-for="(row,index) in state.tableData" :key="index">
+ <td>{{index+1}}</td>
+ <td>{{row?.patientName}}</td>
+ <td>{{row?.patientDryWeight}}</td>
+ <td>{{row?.checkIsData?'✔':''}}</td>
+ <td>{{row?.surveryTimeMap?.['NRS-2002']?.id?'✔':''}}</td>
+ <td>{{row?.surveryTimeMap?.['SGA']?.id?'✔':''}}</td>
+ <td>{{row?.surveryTimeMap?.['MIS']?.id?'✔':''}}</td>
+ <td>{{row?.surveryTimeMap?.['GNRI']?.id?'✔':''}}</td>
+ <td>{{row?.surveryTimeMap?.['PEW']?.id?'✔':''}}</td>
+ <td>{{row?.surveryTimeMap?.['膳食生活调查表']?.id?'✔':''}}</td>
+ <td>{{row?.surveryTimeMap?.['营养饮食指导方案']?.id?'✔':''}}</td>
+ <td>{{row?.surveryTimeMap?.['营养饮食指导方案']?.id?'✔':''}}</td>
+ <td>{{row?.surveryTimeMap?.['营养饮食指导方案']?.id?'✔':''}}</td>
+ <td>{{row?.surveryTimeMap?.['营养饮食指导方案']?.id?'✔':''}}</td>
+ <td>{{row?.surveryTimeMap?.['营养饮食指导方案']?.id?'✔':''}}</td>
+ <td>{{row?.surveryTimeMap?.['营养饮食指导方案']?.id?'✔':''}}</td>
+ <td>{{row?.surveryTimeMap?.['营养饮食指导方案']?.id?'✔':''}}</td>
+ <td>{{row?.surveryTimeMap?.['营养饮食指导方案']?.id?'✔':''}}</td>
+ <td></td>
+ <td>{{row?.surveryTimeMap?.['随访记录']?.id?'✔':''}}</td>
+ <td></td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+</template>
+
+<script setup lang="ts" name="personal">
+import { reactive, computed, onMounted, ref } from 'vue';
+import { formatAxis } from '/@/utils/formatTime';
+import { storeToRefs } from 'pinia';
+import { useUserInfo } from '/@/stores/userInfo';
+import {nutritionalSummary} from '/@/api/Patients'
+import {editUserInfo} from '/@/api/login'
+import { ElLoading } from 'element-plus';
+import {formatDate} from '/@/utils/formatTime'
+const stores = useUserInfo();
+const { userInfos } = storeToRefs(stores);
+const shortcuts = [
+ {
+ text: '上一周',
+ value: () => {
+ const end = new Date()
+ const start = new Date()
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
+ return [start, end]
+ },
+ },
+ {
+ text: '上一个月',
+ value: () => {
+ const end = new Date()
+ const start = new Date()
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
+ return [start, end]
+ },
+ },
+ {
+ text: '前三个月',
+ value: () => {
+ const end = new Date()
+ const start = new Date()
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
+ return [start, end]
+ },
+ },
+]
+const clientName=computed(()=>{
+ return userInfos.value.clientName
+})
+const tableHe = computed(() => {
+ let height = document.documentElement.clientHeight;
+ console.log('窗口高度')
+ const navDom = document.querySelector('.layout-navbars-breadcrumb-index');
+ if (navDom) {
+ height -= navDom.scrollHeight;
+ }
+ return height+'px'
+})
+// 当前时间提示语
+const end = new Date()
+const start = new Date()
+start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
+const state = reactive({
+ tableData: <any>[],
+ page:1,
+ size:10,
+ total:0,
+ loading: false,
+ formInline:{
+ date: [formatDate(start,'YYYY-mm-dd'), formatDate(end,'YYYY-mm-dd')],
+ },
+ dialogTableVisible:false
+})
+const onSubmit=()=>{
+ const pasm={
+ startTime:state.formInline.date[0]+ ' 00:00:00',
+ endTime:state.formInline.date[1]+ ' 23:59:59',
+ clientCode:userInfos.value.clientCode,
+ queryValue:''
+ }
+ console.log(pasm)
+ nutritionalSummary(pasm).then(re=>{
+ console.log(re.data)
+ state.tableData=re.data
+ })
+
+}
+onMounted(()=>{
+ onSubmit()
+})
+</script>
+
+<style scoped lang="scss">
+.gridtable {
+ width: 100%;
+ font-family: verdana, arial, sans-serif;
+ font-size: 11px;
+ color: #333333;
+ border-width: 1px;
+ border-color: #666666;
+ border-collapse: collapse;
+
+}
+
+.gridtable th {
+ border-width: 1px;
+ padding: 8px;
+ border-style: solid;
+ border-color: #666666;
+ background-color: #a4b0e2;
+}
+
+.gridtable td {
+ border-width: 1px;
+ padding: 8px;
+ border-style: solid;
+ border-color: #666666;
+ background-color: #ffffff;
+ text-align: center;
+}
+</style>
--
Gitblit v1.8.0