From 2d93f91490c605dceb60adb8c4ca74ed02739a16 Mon Sep 17 00:00:00 2001
From: zhangchen <1652267879@qq.com>
Date: 星期五, 25 七月 2025 15:47:11 +0800
Subject: [PATCH] ID1625-定时任务加判断

---
 src/views/mobile/bedsideAuxiliaryScreen/pages/UnderTreatment.vue |   55 +++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 43 insertions(+), 12 deletions(-)

diff --git a/src/views/mobile/bedsideAuxiliaryScreen/pages/UnderTreatment.vue b/src/views/mobile/bedsideAuxiliaryScreen/pages/UnderTreatment.vue
index b05d642..341fdc5 100644
--- a/src/views/mobile/bedsideAuxiliaryScreen/pages/UnderTreatment.vue
+++ b/src/views/mobile/bedsideAuxiliaryScreen/pages/UnderTreatment.vue
@@ -318,9 +318,11 @@
       </div>
     </div>
   </div>
+  <!-- 定时任务 -->
+  <ScheduledTaskDialog ref="scheduledTaskDialogRef" />
 </template>
 <script lang="ts" setup name="UnderTreatment">
-import { computed, ref, onMounted, onBeforeUnmount, watch } from "vue";
+import { computed, ref, onMounted, onBeforeUnmount, watch, defineAsyncComponent } from "vue";
 import * as echarts from "echarts";
 import dayjs from "dayjs";
 
@@ -331,6 +333,9 @@
 import DoctorAdvice from "../components/DoctorAdvice/index.vue";
 // @ts-ignore
 import BlockBotttom from "../components/BlockBotttom.vue";
+const ScheduledTaskDialog = defineAsyncComponent(
+  () => import("../components/ScheduledTask.vue")
+);
 import { useBedsideAuxiliaryScreenStore } from "@/store/bedsideAuxiliaryScreen";
 import {
   formatSubstituteMode,
@@ -364,6 +369,9 @@
 const props = defineProps<Props>();
 
 const bedsideAuxiliaryScreenStore = useBedsideAuxiliaryScreenStore();
+
+const scheduledTaskDialogRef = ref<any>(null);
+
 
 // ktv趋势图的
 const ktvListEchartRef = ref<HTMLElement | null>(null);
@@ -410,6 +418,14 @@
   { deep: true }
 );
 
+watch(
+  () => props.height,
+  () => {
+    generateKtvListEchart(pageData.value.ktvList);
+    generatBloodPressureAndPulseEchart(pageData.value.monitoringRecord);
+  }
+);
+
 /** 生成ktv趋势图 */
 const generateKtvListEchart = (ktvList: KtvItem[]) => {
   if (!ktvListEchartRef.value) return;
@@ -454,7 +470,7 @@
           color: "#70CAAE",
         },
         itemStyle: {
-          color: "#70CAAE",
+          color: (params: any) => getColor(params.value),
         },
       },
     ],
@@ -464,6 +480,12 @@
   };
 
   chart.setOption(option, true); // 第二个参数为 true 表示全量更新
+};
+
+const getColor = (val: number) => {
+  if (val < 1.2) return "#FE0201"; // 红色
+  if (val <= 1.6) return "#70CAAE"; // 绿色
+  return "#FE6500"; // 橙色
 };
 
 /** 生成血压脉搏趋势图 */
@@ -491,9 +513,9 @@
 
   const option = {
     grid: [
-      { top: "10%", height: "25%", left: 30, right: 20 },
-      { top: "38%", height: "25%", left: 30, right: 20 },
-      { top: "66%", height: "25%", 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",
@@ -508,6 +530,7 @@
         axisLabel: { show: false },
         splitLine: { show: false },
         gridIndex: 0,
+        show: false,
       },
       {
         type: "category",
@@ -518,6 +541,7 @@
         axisLabel: { show: false },
         splitLine: { show: false },
         gridIndex: 1,
+        show: false,
       },
       {
         type: "category",
@@ -528,6 +552,7 @@
         axisLabel: { show: true }, // 最下面一层显示时间轴
         splitLine: { show: false },
         gridIndex: 2,
+        show: false,
       },
     ],
     yAxis: [
@@ -538,8 +563,9 @@
         axisTick: { show: false },
         axisLabel: { show: false },
         splitLine: { show: false },
-        min: "dataMin", // 自动以数据最小值为最小值
-        max: "dataMax",
+        min: 0,
+        max: 300,
+        interval: 2,
         gridIndex: 0,
       },
       {
@@ -549,8 +575,9 @@
         axisTick: { show: false },
         axisLabel: { show: false },
         splitLine: { show: false },
-        min: "dataMin", // 自动以数据最小值为最小值
-        max: "dataMax",
+        min: 0,
+        max: 300,
+        interval: 2,
         gridIndex: 1,
       },
       {
@@ -560,8 +587,9 @@
         axisTick: { show: false },
         axisLabel: { show: false },
         splitLine: { show: false },
-        min: "dataMin", // 自动以数据最小值为最小值
-        max: "dataMax",
+        min: 0,
+        max: 300,
+        interval: 2,
         gridIndex: 2,
       },
     ],
@@ -624,7 +652,10 @@
 };
 
 /** 定时任务 */
-const onScheduledTasksClick = () => {};
+const onScheduledTasksClick = () => {
+  if (!bedsideAuxiliaryScreenStore.deviceCode || !bedsideAuxiliaryScreenStore.deviceData.deviceCode) return ElMessage.warning('未初始化或正在进行初始化操作中');
+  scheduledTaskDialogRef.value?.openDialog();
+};
 
 /** 叫号 */
 const onCallBumberClick = () => {

--
Gitblit v1.8.0