单应用项目,可以创建很多独立工具类页面 ,不用登录 初始化的页面
zhangchen
2025-08-09 bd04819722a54b11749c040dda40f64ddf5da7e2
Merge branch 'master' of http://dh.leon056.com:7499/r/data2/Single_application into ID1963-透析中状态的血压监测修改
2个文件已修改
295 ■■■■■ 已修改文件
src/store/type/bedsideAuxiliaryScreen.type.ts 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mobile/bedsideAuxiliaryScreen/pages/UnderTreatment.vue 292 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/type/bedsideAuxiliaryScreen.type.ts
@@ -123,6 +123,7 @@
  最近最大脱水量透析时长: string;
  透析龄: number | null;
  iot_血液流速: number | null;
  透析液流量: number | null;
}
export interface VascularAccess {
@@ -570,7 +571,7 @@
        // underTreatment.bloodFlow = seeMsg.透析状态?.iot_血流量 ?? null;
        underTreatment.bloodFlow = seeMsg.透析状态?.iot_血液流速 ?? null;
        underTreatment.dialysisFluidFlowRate =
          seeMsg.透析状态?.iot_血流量 ?? null;
          seeMsg.透析状态?.透析液流量 ?? null;
        underTreatment.bloodVolumeMonitoring =  null;
        underTreatment.ktvList =
          seeMsg.透析状态?.实时ktv计算结果列表
src/views/mobile/bedsideAuxiliaryScreen/pages/UnderTreatment.vue
@@ -505,6 +505,26 @@
  return "#FE6500"; // 橙色
};
const formatMarkPoint = (
  name: string,
  value: number,
  yAxis: number,
  xAxis: number,
  symbolSize: number,
  symbolOffset: number[],
  color: string
) => {
  return {
    name,
    value,
    yAxis,
    xAxis,
    symbolSize,
    symbolOffset,
    label: { fontSize: 8, color },
  };
};
/** 生成血压脉搏趋势图 */
const generatBloodPressureAndPulseEchart = (
  bloodPressureAndPulses: MonitoringRecord[]
@@ -519,136 +539,204 @@
  const telescopicPressureDatas: number[] = []; // 伸缩压
  const diastolicPressureDatas: number[] = []; // 舒张压
  const pulseDatas: number[] = []; // 脉搏
  const xAxisData: string[] = []; // 横坐标
  const xAxisData: number[] = []; // 横坐标
  const markPointTelescopicPressureDatas: any[] = []; // 伸缩压的markPoint
  const markPointDiastolicPressureDatas: any[] = []; // 舒张压的markPoint
  const markPointPulseDatas: any[] = []; // 脉搏的markPoint
  bloodPressureAndPulses.forEach((item, index) => {
    telescopicPressureDatas.push(+item.伸缩压);
    diastolicPressureDatas.push(+item.舒张压);
    pulseDatas.push(+item.脉搏);
    xAxisData.push(String(index + 1));
    xAxisData.push(index);
    if (index === 0) {
      markPointTelescopicPressureDatas.push(
        formatMarkPoint(
          "伸缩压",
          +item.伸缩压,
          +item.伸缩压,
          0,
          0,
          [0, 10],
          "red"
        )
      );
      markPointDiastolicPressureDatas.push(
        formatMarkPoint(
          "舒张压",
          +item.舒张压,
          +item.舒张压,
          0,
          0,
          [15, 5],
          "#409EFF"
        )
      );
      markPointPulseDatas.push(
        formatMarkPoint(
          "脉搏",
          +item.脉搏,
          +item.脉搏,
          0,
          0,
          [10, -15],
          "#D940FF"
        )
      );
    } else if (
      bloodPressureAndPulses.length > 1 &&
      index === bloodPressureAndPulses.length - 1
    ) {
      markPointTelescopicPressureDatas.push(
        formatMarkPoint(
          "伸缩压",
          +item.伸缩压,
          +item.伸缩压,
          index,
          0,
          [-15, -20],
          "red"
        )
      );
      markPointDiastolicPressureDatas.push(
        formatMarkPoint(
          "舒张压",
          +item.舒张压,
          +item.舒张压,
          index,
          0,
          [-15, 0],
          "#409EFF"
        )
      );
      markPointPulseDatas.push(
        formatMarkPoint(
          "脉搏",
          +item.脉搏,
          +item.脉搏,
          index,
          0,
          [0, 0],
          "#D940FF"
        )
      );
    }
  });
  if (bloodPressureAndPulses.length === 1) {
    xAxisData.push(1);
  }
  const option = {
    grid: [
      { top: "15%", 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 },
    ],
    backgroundColor: "#ffffff",
    tooltip: {
      trigger: "axis",
    },
    xAxis: [
      {
        type: "category",
        data: xAxisData,
        boundaryGap: false,
        axisLine: { show: false },
        axisTick: { show: false },
        axisLabel: { show: false },
        splitLine: { show: false },
        gridIndex: 0,
    toolbox: {
      show: false,
    },
    grid: {
      left: 20,
      top: 0,
      bottom: 0,
    },
    xAxis: {
      type: "category",
      // 标记做右往左排列
      boundaryGap: false,
      data: xAxisData,
      axisTick: {
        show: true, // 显示 X 轴刻度
      },
    },
    yAxis: {
      show: false,
      name: "",
      type: "value",
      min: 40,
      max: 220,
      interval: 10, // 指定刻度间隔,
      splitLine: {
        show: false,
      },
      {
        type: "category",
        data: xAxisData,
        boundaryGap: false,
        axisLine: { show: false },
        axisTick: { show: false },
        axisLabel: { show: false },
        splitLine: { show: false },
        gridIndex: 1,
        show: false,
      },
      {
        type: "category",
        data: xAxisData,
        boundaryGap: false,
        axisLine: { show: false },
        axisTick: { show: false },
        axisLabel: { show: true }, // 最下面一层显示时间轴
        splitLine: { show: false },
        gridIndex: 2,
        show: false,
      },
    ],
    yAxis: [
      {
        type: "value",
        show: false,
        axisLine: { show: false },
        axisTick: { show: false },
        axisLabel: { show: false },
        splitLine: { show: false },
        min: 0,
        max: 300,
        interval: 2,
        gridIndex: 0,
      },
      {
        type: "value",
        show: false,
        axisLine: { show: false },
        axisTick: { show: false },
        axisLabel: { show: false },
        splitLine: { show: false },
        min: 0,
        max: 300,
        interval: 2,
        gridIndex: 1,
      },
      {
        type: "value",
        show: false,
        axisLine: { show: false },
        axisTick: { show: false },
        axisLabel: { show: false },
        splitLine: { show: false },
        min: 0,
        max: 300,
        interval: 2,
        gridIndex: 2,
      },
    ],
    },
    series: [
      {
        name: "伸缩压",
        xAxisIndex: 0,
        yAxisIndex: 0,
        data: wrapData(telescopicPressureDatas),
        type: "line",
        smooth: false,
        symbol: "circle",
        symbol: "triangle",
        symbolSize: 6,
        lineStyle: { width: 2, color: "#FE0201" },
        itemStyle: { color: "#FE0201" },
        label: { color: "#FE0201" },
        symbolRotate: 180,
        data: telescopicPressureDatas,
        lineStyle: {
          width: 2, // 设置线条宽度为5
          color: "red",
        },
        itemStyle: {
          borderWidth: 2,
          borderColor: "red",
          color: "red",
        },
        markPoint: {
          data: markPointTelescopicPressureDatas,
        },
        markLine: {
          symbol: "none",
          lineStyle: { color: "#409EFF", width: 2 },
          data: [
            { name: "y90", yAxis: 90, label: { show: false }, symbol: "none" },
          ],
        },
      },
      {
        name: "舒张压",
        xAxisIndex: 1,
        yAxisIndex: 1,
        data: wrapData(diastolicPressureDatas),
        type: "line",
        smooth: false,
        symbol: "circle",
        symbol: "triangle",
        symbolSize: 6,
        lineStyle: { width: 2, color: "#70A3DD" },
        itemStyle: { color: "#70A3DD" },
        label: { color: "#70A3DD" },
        data: diastolicPressureDatas,
        lineStyle: {
          color: "#409EFF",
          width: 2, // 设置线条宽度为5
        },
        itemStyle: {
          borderWidth: 2,
          borderColor: "#409EFF",
          color: "#409EFF",
        },
        markPoint: {
          data: markPointDiastolicPressureDatas,
        },
        markLine: {
          symbol: "none",
          lineStyle: { color: "#F56C6C", width: 2 },
          data: [
            {
              name: "y140",
              yAxis: 140,
              label: { show: false },
              symbol: "none",
            },
          ],
        },
      },
      {
        name: "脉搏",
        xAxisIndex: 2,
        yAxisIndex: 2,
        data: wrapData(pulseDatas),
        type: "line",
        smooth: false,
        symbol: "circle",
        symbolSize: 6,
        lineStyle: { width: 2, color: "#8079CB" },
        itemStyle: { color: "#8079CB" },
        label: { color: "#8079CB" },
        data: pulseDatas,
        lineStyle: {
          color: "#D940FF",
          width: 2, // 设置线条宽度为5
        },
        itemStyle: {
          borderWidth: 2,
          borderColor: "#D940FF",
          color: "#D940FF",
        },
        markPoint: {
          data: markPointPulseDatas,
        },
      },
    ],
  };