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