From 17bf58ac59f5cb3e01ac028cdbc37a3c7c6737ed Mon Sep 17 00:00:00 2001
From: zhangchen <1652267879@qq.com>
Date: 星期五, 25 七月 2025 15:37:53 +0800
Subject: [PATCH] Merge branch 'ID1825-床旁副屏改版' into test

---
 src/views/mobile/bedsideAuxiliaryScreen/pages/UnderTreatment.vue |   93 +++++++++++++++++++++++++++++++++++++---------
 1 files changed, 74 insertions(+), 19 deletions(-)

diff --git a/src/views/mobile/bedsideAuxiliaryScreen/pages/UnderTreatment.vue b/src/views/mobile/bedsideAuxiliaryScreen/pages/UnderTreatment.vue
index 57cde83..c6c8849 100644
--- a/src/views/mobile/bedsideAuxiliaryScreen/pages/UnderTreatment.vue
+++ b/src/views/mobile/bedsideAuxiliaryScreen/pages/UnderTreatment.vue
@@ -308,8 +308,9 @@
           class="btn"
         />
         <BlockBotttom
+          v-if="!whetherDialysisHasBeenEnded"
           :icon="kaiShiImg"
-          text="j结束透析"
+          text="结束透析"
           backgroundColor="#E6A23C"
           @click="() => onEndClick()"
           class="btn"
@@ -319,7 +320,7 @@
   </div>
 </template>
 <script lang="ts" setup name="UnderTreatment">
-import { computed, ref, onMounted, onBeforeUnmount } from "vue";
+import { computed, ref, onMounted, onBeforeUnmount, watch } from "vue";
 import * as echarts from "echarts";
 import dayjs from "dayjs";
 
@@ -355,6 +356,7 @@
 import cljdImg from "@/img/cljd.png";
 import sjjdImg from "@/img/sjjd.png";
 import yizhuImg from "@/img/yizhu.png";
+import { ElMessage } from "element-plus";
 
 interface Props {
   height: number;
@@ -385,7 +387,36 @@
   return "未知状态";
 });
 
-// const;
+/** 是否已结束透析 */
+const whetherDialysisHasBeenEnded = computed(() => {
+  return (
+    +bedsideAuxiliaryScreenStore.deviceData.treatmentStatus >= EMedStatus.END
+  );
+});
+
+watch(
+  () => pageData.value.ktvList,
+  (newVal) => {
+    generateKtvListEchart(newVal);
+  },
+  { deep: true }
+);
+
+watch(
+  () => pageData.value.monitoringRecord,
+  (newVal) => {
+    generatBloodPressureAndPulseEchart(newVal);
+  },
+  { deep: true }
+);
+
+watch(
+  () => props.height,
+  () => {
+    generateKtvListEchart(pageData.value.ktvList);
+    generatBloodPressureAndPulseEchart(pageData.value.monitoringRecord);
+  }
+);
 
 /** 生成ktv趋势图 */
 const generateKtvListEchart = (ktvList: KtvItem[]) => {
@@ -431,7 +462,7 @@
           color: "#70CAAE",
         },
         itemStyle: {
-          color: "#70CAAE",
+          color: (params: any) => getColor(params.value),
         },
       },
     ],
@@ -441,6 +472,12 @@
   };
 
   chart.setOption(option, true); // 第二个参数为 true 表示全量更新
+};
+
+const getColor = (val: number) => {
+  if (val < 1.2) return "#FE0201"; // 红色
+  if (val <= 1.6) return "#70CAAE"; // 绿色
+  return "#FE6500"; // 橙色
 };
 
 /** 生成血压脉搏趋势图 */
@@ -468,9 +505,9 @@
 
   const option = {
     grid: [
-      { top: "20%", height: "27%", left: 30, right: 20 }, // 伸缩压
-      { top: "45%", height: "27%", left: 30, right: 20 }, // 舒张压
-      { top: "67%", height: "27%", left: 30, right: 20 }, // 脉搏
+      { top: "5%", height: "28%", left: 40, right: 20, containLabel: true },
+      { top: "35%", height: "28%", left: 40, right: 20, containLabel: true },
+      { top: "65%", height: "28%", left: 40, right: 20, containLabel: true },
     ],
     tooltip: {
       trigger: "axis",
@@ -485,6 +522,7 @@
         axisLabel: { show: false },
         splitLine: { show: false },
         gridIndex: 0,
+        show: false,
       },
       {
         type: "category",
@@ -495,6 +533,7 @@
         axisLabel: { show: false },
         splitLine: { show: false },
         gridIndex: 1,
+        show: false,
       },
       {
         type: "category",
@@ -505,6 +544,7 @@
         axisLabel: { show: true }, // 最下面一层显示时间轴
         splitLine: { show: false },
         gridIndex: 2,
+        show: false,
       },
     ],
     yAxis: [
@@ -515,9 +555,9 @@
         axisTick: { show: false },
         axisLabel: { show: false },
         splitLine: { show: false },
-        min: 80,
-        max: 180,
-        interval: 20,
+        min: 0,
+        max: 300,
+        interval: 2,
         gridIndex: 0,
       },
       {
@@ -527,9 +567,9 @@
         axisTick: { show: false },
         axisLabel: { show: false },
         splitLine: { show: false },
-        min: 40,
-        max: 120,
-        interval: 20,
+        min: 0,
+        max: 300,
+        interval: 2,
         gridIndex: 1,
       },
       {
@@ -539,9 +579,9 @@
         axisTick: { show: false },
         axisLabel: { show: false },
         splitLine: { show: false },
-        min: 40,
-        max: 140,
-        interval: 20,
+        min: 0,
+        max: 300,
+        interval: 2,
         gridIndex: 2,
       },
     ],
@@ -607,13 +647,28 @@
 const onScheduledTasksClick = () => {};
 
 /** 叫号 */
-const onCallBumberClick = () => {};
+const onCallBumberClick = () => {
+  ElMessage({
+    message: "功能开发中,敬请期待!",
+    type: "warning",
+  });
+};
 
 /** 添加记录 */
-const onAddRecordClick = () => {};
+const onAddRecordClick = () => {
+  ElMessage({
+    message: "功能开发中,敬请期待!",
+    type: "warning",
+  });
+};
 
 /** 结束透析 */
-const onEndClick = () => {};
+const onEndClick = () => {
+  ElMessage({
+    message: "功能开发中,敬请期待!",
+    type: "warning",
+  });
+};
 
 onMounted(() => {
   // 生成ktv趋势图

--
Gitblit v1.8.0