From a5d06bcaaf7761b594ee7425206e2732b05c5e16 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期四, 16 一月 2025 15:02:07 +0800
Subject: [PATCH] gx生化显示

---
 src/views/home/index.vue              |   70 +++++++------
 src/views/home/components/lis_.ui.vue |  212 ++++++++---------------------------------
 2 files changed, 80 insertions(+), 202 deletions(-)

diff --git a/src/views/home/components/lis_.ui.vue b/src/views/home/components/lis_.ui.vue
index 7c5684e..31f5806 100644
--- a/src/views/home/components/lis_.ui.vue
+++ b/src/views/home/components/lis_.ui.vue
@@ -1,31 +1,6 @@
 <template>
 	<div class="inspection_project_report_container">
 		<el-row>
-			<el-col :span="24" class="card_box card_box_search">
-				<el-form :model="searchForm" inline size="small">
-					<!-- <el-form-item label="收费项目">
-						<el-select v-model="searchForm.feeItemName" filterable placeholder="收费项目" :loading="feeItemNameLoading" @change="feeItemChange">
-							<el-option v-for="(item, index) in feeItemOptions" :key="index" :label="item" :value="item" />
-						</el-select>
-					</el-form-item> -->
-					<!-- <el-form-item label="患者">
-						<el-select v-model="searchForm.patCode" filterable placeholder="患者" :loading="patLoading">
-							<el-option v-for="(item, index) in patOptions" :key="index" :label="item.patientName" :value="item.code" />
-						</el-select>
-					</el-form-item> -->
-					<el-form-item>
-						<el-button type="primary" :loading="loading" @click="searchFun">
-							<el-icon><RefreshRight /></el-icon>
-							刷新
-						</el-button>
-						<!-- <el-button type="success" :loading="loading" @click="addFun">
-							<el-icon><Plus /></el-icon>
-							新增检验数据
-						</el-button> -->
-					</el-form-item>
-					<el-form-item></el-form-item>
-				</el-form>
-			</el-col>
 			<el-col :span="24" v-loading="loading">
 				<el-row :gutter="15">
 					<el-col :span="4">
@@ -41,8 +16,7 @@
 									:row-class-name="feeItemTableRowClassName"
 									@row-click="feeItemRowClick"
 								>
-									<!-- <el-table-column label="序号" type="index" width="100" /> -->
-									<el-table-column label="收费项目">
+									<el-table-column label="检验项目">
 										<template #default="scope">
 											{{ scope.row }}
 										</template>
@@ -51,150 +25,25 @@
 							</el-col>
 						</el-row>
 					</el-col>
-					<el-col :span="20" class="card_box" v-loading="loading">
+					<el-col :span="20" class="card_box patTabel" v-loading="loading" >
 						<el-empty v-if="tableData.length <= 0" description="暂无检验数据" />
-
-						<div class="result_box" v-if="tableHeight > 0" :style="{ height: (tableHeight-10) + 'px' }">
-							<el-descriptions
-								v-for="item in tableData"
-								:key="item.reportCode"
-								class="fee_item_box"
-								:title="formatDescriptionsTitle(item.sampleDate)"
-								:column="4"
-								size="small"
-								border
-							>
-								<!-- <template #extra>
-									<el-button type="primary" size="small" :loading="false" @click="editRow(item)">编辑</el-button>
-									<el-button type="danger" size="small" :loading="false" @click="delRow(item)">删除</el-button>
-								</template> -->
-								<el-descriptions-item v-for="(td, index) in item.results" :key="index">
-									<template #label>
-										<div class="cell-item">
-											{{ td.itemName }}
-										</div>
-									</template>
-									<el-popover placement="right" :width="220" trigger="click">
-										<template #reference>
-											<span class="item_res_text" :style="{ color: formatResultColor(td.resultFlag) }"
-												>{{ td.itemResult }} {{ td.itemResultUnit ? `(${td.itemResultUnit})` : '' }}</span
-											>
-										</template>
-										<div>
-											<el-button type="success" size="mini" @click="editItem(td, item)">编辑</el-button>
-											<el-button type="danger" size="mini" @click="delItem(td)">删除</el-button>
-										</div>
-									</el-popover>
-								</el-descriptions-item>
-							</el-descriptions>
-						</div>
+						<el-table  stripe border :data="tableData" class="patient_table" :row-class-name="feeItemTableRowClassName">
+							<el-table-column  min-width="110"  fixed  prop="itemType" label="检验日期">
+								<template #default="scope">
+									{{scope.row.sampleDate.substring(0,11)}}
+								</template>
+							</el-table-column>
+							<el-table-column  min-width="100" v-for="(col,index) in tableCols" :key="index" >
+								<template #header> {{col.name}}<br/>{{`${col.参考值 || ''}${col.单位 || ''}`}}</template>
+								<template #default="scope">
+									<span  v-html="funJg(col,scope.row)"></span>
+								</template>
+							</el-table-column>
+						</el-table>
 					</el-col>
 				</el-row>
 			</el-col>
 		</el-row>
-		<!-- 修改单项的dialog -->
-		<el-dialog v-model="isEditItemDialogShow" title="编辑" center width="400px">
-			<el-form ref="editItemFormRef" :model="editItemForm" size="small" :rules="editItemFormRules">
-				<el-form-item label="检验日期">
-					<el-date-picker v-model="editItemForm.sampleDate" type="date" style="width: 100%" placeholder="检验日期" :clearable="false" />
-				</el-form-item>
-				<el-form-item label="检验项目">
-					<el-input disabled v-model="editItemForm.itemName"></el-input>
-				</el-form-item>
-				<el-form-item label="检验结果" prop="itemResult">
-					<el-input v-model="editItemForm.itemResult" @change="(e) => itemInpChangeyz(e, editItemForm)" placeholder="检验结果" clearable>
-						<template #append>
-							<span v-if="editItemForm.itemResultUnit">{{ editItemForm.itemResultUnit }}</span>
-						</template>
-					</el-input>
-				</el-form-item>
-			</el-form>
-			<template #footer>
-				<el-button size="small" :loading="loading" @click="isEditItemDialogShow = false">取消</el-button>
-				<el-button type="primary" size="small" :loading="loading" @click="editItemSubmit(editItemFormRef)">保存</el-button>
-			</template>
-		</el-dialog>
-		<!-- 修改多项 -->
-		<el-dialog v-model="isManyFeeShow" title="编辑" center width="800px" :close-on-click-modal="false">
-			<el-form ref="editManyFeeFormRef" :model="editManyFeeForm" size="small" label-width="150px" label-position="right">
-				<el-row :gutter="10">
-					<el-col :span="12" class="m_b_20">
-						<el-form-item label="检验日期">
-							<el-date-picker v-model="editManyFeeForm.sampleDate" type="date" style="width: 100%" placeholder="检验日期" :clearable="false" />
-						</el-form-item>
-					</el-col>
-					<el-col :span="12" class="m_b_20">
-						<el-form-item label="收费项目">
-							<el-input v-model="searchForm.feeItemName" disabled></el-input>
-						</el-form-item>
-					</el-col>
-					<el-col v-for="(item, index) in editManyFeeForm.children" :key="item.code" :span="12" class="m_b_20">
-						<el-form-item :label="item.itemName">
-							<el-input
-								v-model="item.itemResult"
-								:disabled="item.itemSystemName === '转铁蛋白饱和度' || disabledItem.includes(item.itemSystemName)"
-								@change="(e) => itemInpChangeyz(e, item)"
-								@input="(e) => itemInpChange2(e, item)"
-							>
-								<template #append>
-									<span v-if="item.itemResultUnit">{{ item.itemResultUnit }}</span>
-								</template>
-							</el-input>
-						</el-form-item>
-					</el-col>
-					<el-col :span="24" v-if="searchForm.feeItemName === 'KT/V检查'">
-						<el-form-item label=" ">
-							<el-button type="success" size="small" :loading="loading || addLoading" @click="calculatorKtvAndUrrByUpdate">计算URR K/TV</el-button>
-						</el-form-item>
-					</el-col>
-				</el-row>
-			</el-form>
-			<template #footer>
-				<el-button size="small" :loading="loading" @click="isManyFeeShow = false">取消</el-button>
-				<el-button type="primary" size="small" :loading="loading" @click="editManySubmit(editManyFeeFormRef)">保存</el-button>
-			</template>
-		</el-dialog>
-		<!-- 新增 -->
-		<el-dialog v-model="isShowAddFeeShow" title="新增检验数据" center width="800px" :close-on-click-modal="false">
-			<el-form :model="addFeeForm" v-loading="addLoading" size="small" label-width="150px" label-position="right">
-				<el-row :gutter="10">
-					<el-col :span="12" class="m_b_20">
-						<el-form-item label="检验日期">
-							<el-date-picker v-model="addFeeForm.sampleDate" type="date" style="width: 100%" placeholder="检验日期" :clearable="false" />
-						</el-form-item>
-					</el-col>
-					<el-col :span="12" class="m_b_20">
-						<el-form-item label="收费项目">
-							<el-select v-model="addFeeForm.feeItemName" filterable placeholder="收费项目" @change="feeItemChangeByAdd">
-								<el-option v-for="(item, index) in feeItemOptions" :key="index" :label="item" :value="item" />
-							</el-select>
-						</el-form-item>
-					</el-col>
-					<el-col v-for="(item, index) in addFeeForm.details" :key="index" :span="12" class="m_b_20">
-						<el-form-item :label="item.testItem">
-							<el-input
-								v-model="item.testValue"
-								:disabled="disabledItem.includes(item.stName)"
-								:placeholder="item.placeholder"
-								@change="(e) => itemInpChangeyz(e, item)"
-								@input="(e) => itemInpChange(e, item)"
-							>
-								<template #append>{{ item.testItemUnit }}</template>
-							</el-input>
-						</el-form-item>
-					</el-col>
-					<el-col :span="24" v-if="addFeeForm.feeItemName === 'KT/V检查'">
-						<el-form-item label=" ">
-							<el-button type="success" size="small" :loading="loading || addLoading" @click="calculatorKtvAndUrr">计算URR K/TV</el-button>
-						</el-form-item>
-					</el-col>
-				</el-row>
-			</el-form>
-			<template #footer>
-				<el-button size="small" :loading="loading || addLoading" @click="isShowAddFeeShow = false">取消</el-button>
-				<el-button type="primary" size="small" :loading="loading || addLoading" @click="addSubmit">保存</el-button>
-			</template>
-		</el-dialog>
 	</div>
 </template>
 
@@ -310,7 +159,8 @@
 			isFilterTestItem: 1,
 		};
 		const { data } = await listReportsByPatientApi(params);
-		tableCols.value = data.cols;
+		// tableCols.value = data.cols;
+		tableCols.value=[...data.cols.filter(e => e.排序 !== null).sort((a, b) => a.排序 - b.排序), ...data.cols.filter(e => e.排序 === null)]
 		tableData.value = data.reports;
 	} finally {
 		loading.value = false;
@@ -822,7 +672,33 @@
 		addLoading.value = false;
 	}
 };
-
+const funJg=(col:any,row:any)=>{
+	const name=col.系统默认名称;
+	if(row.results.length>0){
+		const x= row.results.findIndex((e:any)=>{return e.itemSystemName===name})
+		if(x==-1){
+			return ''
+		}else{
+			if(row.results[x].resultFlag==='正常'){
+				return `<span style="color: black;">${row.results[x].itemResult}</span>` 
+			}else if(row.results[x].resultFlag==='偏高'){
+				return `<span style="color: red;">${row.results[x].itemResult}</span>` 
+			}else if(row.results[x].resultFlag==='高'){
+				return `<span style="color: red;">${row.results[x].itemResult}</span>` 
+			}
+			else if(row.results[x].resultFlag==='偏低'){
+				return `<span style="color: #409EFF;">${row.results[x].itemResult}</span>` 
+			}else if(row.results[x].resultFlag==='低'){
+				return `<span style="color: #409EFF;">${row.results[x].itemResult}</span>` 
+			} else {
+				return `<span>${row.results[x].itemResult}</span>` 
+			}
+			
+		}
+	}else{
+		return ''
+	}
+}
 onMounted(async () => {
 	setTableHeight();
 	// await getPatients();
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 8d30a9e..98d4402 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -37,28 +37,8 @@
                             </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="历史服务">
+                    
+                    <!-- <el-tab-pane label="历史服务" name="历史服务">
                         <template #label>
                             <span class="custom-tabs-label home-title">
                                 <el-icon>
@@ -68,6 +48,17 @@
                             </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>
+                                    <Histogram />
+                                </el-icon>
+                                <span style="margin-left: 5px">营养筛查评估</span>
+                            </span>
+                        </template>
+                        
                     </el-tab-pane>
                     <el-tab-pane label="膳食调查" name="膳食调查">
                         <template #label>
@@ -80,17 +71,7 @@
                         </template>
                         
                     </el-tab-pane>
-                    <el-tab-pane label="营养筛查评估" name="营养筛查评估">
-                        <template #label>
-                            <span class="custom-tabs-label home-title">
-                                <el-icon>
-                                    <Histogram />
-                                </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">
@@ -112,6 +93,27 @@
                             </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>
+                                    <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-tabs>
                 <div class="itemDoby">
@@ -287,7 +289,7 @@
     .patTabel {
         .el-table th.el-table__cell {
             background-color: #6babfa;
-            color: #606266;
+            color: #ffffff;
         }
 
         .el-table__body tr.current-row>td.el-table__cell {

--
Gitblit v1.8.0