From 7f67f2e6fbb7d47249fef0905a40a66f13ae2f2b Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期五, 21 八月 2026 10:05:32 +0800
Subject: [PATCH] 青岛维护
---
src/views/business/maintain/maintainInfo.vue | 228 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 211 insertions(+), 17 deletions(-)
diff --git a/src/views/business/maintain/maintainInfo.vue b/src/views/business/maintain/maintainInfo.vue
index ec052b2..8dbb0ef 100644
--- a/src/views/business/maintain/maintainInfo.vue
+++ b/src/views/business/maintain/maintainInfo.vue
@@ -1,6 +1,6 @@
<template>
<div class="maintenance-detail">
- <case-basic-info :case-id="caseId" :show-attachment="true" />
+ <case-basic-info :case-id="caseId" :show-attachment="true":column="3" />
<el-card class="assessment-card">
<div slot="header" class="clearfix">
@@ -52,20 +52,55 @@
/>
<el-table-column label="鍩瑰吇缁撴灉" align="center" prop="result">
<template slot-scope="scope">
+ <!-- 闃虫�х粨鏋滃甫鎮诞鎻愮ず -->
+ <el-tooltip
+ v-if="
+ scope.row.result === '闃虫��' && scope.row.positiveDetails
+ "
+ effect="light"
+ placement="top"
+ :open-delay="200"
+ popper-class="custom-positive-tooltip"
+ >
+ <div slot="content">
+ <div
+ style="font-weight: bold; color: #f56c6c; margin-bottom: 8px;"
+ >
+ <i class="el-icon-warning"></i> 闃虫�х粨鏋滆鎯�
+ </div>
+ <div
+ style="color: #606266; line-height: 1.6; white-space: pre-wrap;"
+ >
+ {{ scope.row.positiveDetails }}
+ </div>
+ </div>
+ <el-tag
+ type="danger"
+ effect="plain"
+ @click="handleResultClick(scope.row)"
+ style="cursor: pointer;"
+ >
+ {{ scope.row.result }}
+ <i class="el-icon-info" style="margin-left: 4px;"></i>
+ </el-tag>
+ </el-tooltip>
+
+ <!-- 闃虫�т絾娌℃湁璇︽儏鐨� -->
<el-tag
- :type="scope.row.result === '闃存��' ? 'success' : 'danger'"
+ v-else-if="
+ scope.row.result === '闃虫��' && !scope.row.positiveDetails
+ "
+ type="danger"
effect="plain"
@click="handleResultClick(scope.row)"
style="cursor: pointer;"
>
{{ scope.row.result }}
- <i
- v-if="
- scope.row.result === '闃虫��' && scope.row.positiveDetails
- "
- class="el-icon-info"
- style="margin-left: 4px;"
- ></i>
+ </el-tag>
+
+ <!-- 闃存�х粨鏋� -->
+ <el-tag v-else type="success" effect="plain">
+ {{ scope.row.result }}
</el-tag>
</template>
</el-table-column>
@@ -215,6 +250,30 @@
:initial-data="assessmentData.urineRoutine"
:is-editing="isEdit && activeTab === 'urineRoutine'"
@data-change="handleUrineRoutineDataChange"
+ />
+ </el-tab-pane>
+ <el-tab-pane label="蹇冭剰鍖栭獙" name="heartLab">
+ <heart-lab-panel
+ ref="heartLab"
+ :initial-data="assessmentData.heartLab"
+ :is-editing="isEdit && activeTab === 'heartLab'"
+ @data-change="handleHeartLabDataChange"
+ />
+ </el-tab-pane>
+ <el-tab-pane label="鑲鸿剰鍖栭獙" name="lungLab">
+ <lung-lab-panel
+ ref="lungLab"
+ :initial-data="assessmentData.lungLab"
+ :is-editing="isEdit && activeTab === 'lungLab'"
+ @data-change="handleLungLabDataChange"
+ />
+ </el-tab-pane>
+ <el-tab-pane label="鑳拌吅鍖栭獙" name="pancreasLab">
+ <pancreas-lab-panel
+ ref="pancreasLab"
+ :initial-data="assessmentData.pancreasLab"
+ :is-editing="isEdit && activeTab === 'pancreasLab'"
+ @data-change="handlePancreasLabDataChange"
/>
</el-tab-pane>
</el-tabs>
@@ -463,6 +522,9 @@
import LiverKidneyPanel from "@/components/MaintainComponents/LiverKidneyPanel.vue";
import BloodRoutinePanel from "@/components/MaintainComponents/BloodRoutinePanel.vue";
import UrineRoutinePanel from "@/components/MaintainComponents/UrineRoutinePanel.vue";
+import HeartLabPanel from "@/components/MaintainComponents/HeartLabPanel.vue";
+import LungLabPanel from "@/components/MaintainComponents/LungLabPanel.vue";
+import PancreasLabPanel from "@/components/MaintainComponents/PancreasLabPanel.vue";
import CaseBasicInfo from "@/components/CaseBasicInfo";
import store from "@/store";
import dayjs from "dayjs";
@@ -476,7 +538,10 @@
LiverKidneyPanel,
BloodRoutinePanel,
UrineRoutinePanel,
- CaseBasicInfo
+ CaseBasicInfo,
+ HeartLabPanel,
+ LungLabPanel,
+ PancreasLabPanel
},
dicts: [
"sys_donornode",
@@ -546,6 +611,7 @@
{ value: "3", label: "灏垮煿鍏�" },
{ value: "4", label: "浼ゅ彛鍒嗘硨鐗�" },
{ value: "5", label: "鑴戣剨娑插煿鍏�" },
+ { value: "5", label: "鐨偆" },
{ value: "6", label: "鍏朵粬" }
],
@@ -594,6 +660,9 @@
liverKidney: {},
bloodRoutine: {},
urineRoutine: {},
+ heartLab: {}, // 鏂板
+ lungLab: {}, // 鏂板
+ pancreasLab: {}, // 鏂板
cultureResults: [],
nursingRecords: []
}
@@ -667,6 +736,15 @@
if (itemDescData.urineRoutine) {
this.assessmentData.urineRoutine = itemDescData.urineRoutine;
}
+ if (itemDescData.heartLab) {
+ this.assessmentData.heartLab = itemDescData.heartLab;
+ }
+ if (itemDescData.lungLab) {
+ this.assessmentData.lungLab = itemDescData.lungLab;
+ }
+ if (itemDescData.pancreasLab) {
+ this.assessmentData.pancreasLab = itemDescData.pancreasLab;
+ }
} catch (error) {
console.error("瑙f瀽itemDesc JSON澶辫触:", error);
}
@@ -734,6 +812,9 @@
liverKidney: this.assessmentData.liverKidney,
bloodRoutine: this.assessmentData.bloodRoutine,
urineRoutine: this.assessmentData.urineRoutine,
+ heartLab: this.assessmentData.heartLab, // 鏂板
+ lungLab: this.assessmentData.lungLab, // 鏂板
+ pancreasLab: this.assessmentData.pancreasLab, // 鏂板
cultureResults: this.cultureList,
nursingRecords: this.recordList
}
@@ -743,7 +824,7 @@
}
this.extracontentinfo.specialMedicalHistory = this.form.specialMedicalHistory;
let response;
- if (this.isEditMode && this.currentMaintenanceId) {
+ if (this.currentMaintenanceId) {
saveData.id = this.currentMaintenanceId;
response = await maintainedit(saveData);
} else {
@@ -752,7 +833,7 @@
if (response.code === 200) {
this.$message.success("淇濆瓨鎴愬姛");
- this.isEdit = false;
+ // this.isEdit = false;
if (!this.currentMaintenanceId) {
this.currentMaintenanceId = response.data;
}
@@ -772,13 +853,22 @@
this.$message.error("淇濆瓨澶辫触");
}
},
-
+ // 5. 鍦� methods 涓坊鍔犳暟鎹鐞嗘柟娉�
+ handleHeartLabDataChange(data) {
+ this.assessmentData.heartLab = data;
+ },
+ handleLungLabDataChange(data) {
+ this.assessmentData.lungLab = data;
+ },
+ handlePancreasLabDataChange(data) {
+ this.assessmentData.pancreasLab = data;
+ },
// 鍒囨崲缂栬緫妯″紡
toggleEditMode() {
- this.isEdit = !this.isEdit;
- if (!this.isEdit) {
- this.handleSave();
- }
+ // this.isEdit = !this.isEdit;
+ // if (!this.isEdit) {
+ // }
+ this.handleSave();
},
accomplish() {
this.$confirm("鏄惁瀹屾垚璇ユ渚嬫崘鐚‘璁ゆ楠わ紵", "鎻愰啋", {
@@ -1273,4 +1363,108 @@
color: #f56c6c;
font-weight: bold;
}
+.custom-positive-tooltip {
+ max-width: 400px;
+}
+
+/* ===== 绾歌川琛ㄦ牸缃戞牸鏍峰紡 ===== */
+.paper-card >>> .el-card__body {
+ padding: 0;
+}
+
+.paper-form {
+ border-left: 1px solid #d0d3db;
+ background: #fff;
+ /* 瓒呭灞忛檺鍒惰〃鍗曟渶澶у搴︼紝鍙充晶鐣欑櫧锛岄伩鍏嶅瓧娈靛垎甯冭繃寮� */
+ max-width: 1400px;
+}
+
+.paper-form >>> .form-row {
+ display: flex;
+ width: 100%;
+ border-top: 1px solid #d0d3db;
+ /* 涓婄Щ1px涓庝笂涓�琛岀殑border-bottom閲嶅彔锛屼袱琛屼箣闂村彧鏄剧ず涓�鏉�1px缁嗙嚎 */
+ margin-top: -1px;
+}
+.paper-form >>> .form-row:first-child {
+ margin-top: 0;
+}
+
+/* 琛屽熬绌虹櫧濉厖锛氫笉婊℃暣琛岀殑鍙充晶鑷姩琛ヤ竴涓┖鐧芥牸瀛愶紝缃戞牸淇濇寔闂悎锛堝彸渚ч�傚綋鐣欑櫧锛� */
+.paper-form >>> .form-row::after {
+ content: "";
+ flex: 1 1 0;
+ min-height: 42px;
+ background: linear-gradient(to left, #d0d3db 1px, transparent 1px),
+ linear-gradient(to top, #d0d3db 1px, transparent 1px);
+ background-color: #fff;
+}
+
+.paper-form >>> .el-form-item {
+ flex: 0 0 33.3333%;
+ display: flex;
+ margin: 0;
+ background: #fff;
+ border-right: 1px solid #d0d3db;
+ border-bottom: 1px solid #d0d3db;
+}
+.paper-form >>> .el-form-item::after,
+.paper-form >>> .el-form-item::before {
+ display: none;
+}
+
+.paper-form >>> .col-1-3 { flex: 0 0 33.3333%; }
+.paper-form >>> .col-half { flex: 0 0 50%; }
+.paper-form >>> .col-2-3 { flex: 0 0 66.6666%; }
+.paper-form >>> .col-full { flex: 0 0 100%; }
+
+.paper-form >>> .el-form-item__label {
+ flex: 0 0 150px;
+ width: 150px !important;
+ float: none;
+ padding: 0 8px !important;
+ background: #ecf5ff;
+ border-right: 1px solid #d0d3db;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+ font-size: 13px;
+ font-weight: 600;
+ color: #2c3038;
+ line-height: 1.3;
+ white-space: nowrap;
+}
+.paper-form >>> .el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label:before {
+ color: #f56c6c;
+ margin-right: 2px;
+}
+
+.paper-form >>> .el-form-item__content {
+ flex: 1;
+ margin-left: 0 !important;
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+ padding: 6px 10px;
+ background: #fff;
+ min-height: 42px;
+ line-height: 1.4;
+}
+
+/* 鎺т欢瀹藉害閫備腑锛屼笉閾烘弧鏁存牸锛堝唴瀹圭煭鏃惰緭鍏ユ涓嶅啀鎷夊緱寰堥暱锛� */
+.paper-form >>> .el-form-item__content .el-input,
+.paper-form >>> .el-form-item__content .el-select,
+.paper-form >>> .el-form-item__content .el-cascader {
+ width: 220px;
+ max-width: 100%;
+}
+.paper-form >>> .el-form-item__content .el-date-editor {
+ width: 240px;
+ max-width: 100%;
+}
+.paper-form >>> .el-form-item__content .el-range-editor {
+ width: 360px;
+ max-width: 100%;
+}
</style>
--
Gitblit v1.9.3