From 291bf570b2106cb99b0e689af7d6ccaacc9e5c1c Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期三, 25 十二月 2024 18:10:42 +0800
Subject: [PATCH] Merge branch 'master' of http://dlindusit.com:53929/r/iailab-plat-ui-vue3

---
 src/views/data/point/DaPointChart.vue |  279 +++++++++++++++++++++++++------------------------------
 1 files changed, 128 insertions(+), 151 deletions(-)

diff --git a/src/views/data/point/DaPointChart.vue b/src/views/data/point/DaPointChart.vue
index ddc9a2d..caaa271 100644
--- a/src/views/data/point/DaPointChart.vue
+++ b/src/views/data/point/DaPointChart.vue
@@ -10,21 +10,25 @@
       :model="dataForm"
       @keydown.enter="getDataList()"
     >
-      <el-form-item>
+      <el-form-item label="开始时间">
         <el-date-picker
+          size="mini"
           v-model="dataForm.startTime"
+          format="YYYY-MM-DD HH:mm:00"
+          value-format="YYYY-MM-DD HH:mm:00"
           type="datetime"
-          value-format="yyyy-MM-dd HH:mm:ss"
-          placeholder="选择日期时间"
-       />
+          :clearable="false"
+          placeholder="选择日期时间"/>
       </el-form-item>
-      <el-form-item>
+      <el-form-item label="结束时间">
         <el-date-picker
+          size="mini"
           v-model="dataForm.endTime"
+          format="YYYY-MM-DD HH:mm:00"
+          value-format="YYYY-MM-DD HH:mm:00"
           type="datetime"
-          value-format="yyyy-MM-dd HH:mm:ss"
-          placeholder="选择日期时间"
-        />
+          :clearable="false"
+          placeholder="选择日期时间"/>
       </el-form-item>
       <el-form-item>
         <el-button @click="getDataList()">查询</el-button>
@@ -37,92 +41,63 @@
           :loading="exportLoading"
           v-hasPermi="['data:point:export']"
         >
-          <Icon icon="ep:download" />导出
+          <Icon icon="ep:download"/>
+          导出
         </el-button>
       </el-form-item>
     </el-form>
-    <div ref="chartDom" class="result-chart"></div>
+    <div ref="chartDom" class="result-chart" v-loading="loading"></div>
   </el-dialog>
 </template>
 
 <script lang="ts" setup>
-  import {ref} from 'vue';
-  import * as echarts from 'echarts';
-  import * as DaPoint from '@/api/data/da/point/daPointChart'
-  import download from "@/utils/download";
-  const message = useMessage() // 消息弹窗
-  const visible = ref(false);
-  const chartDom = ref(null);
-  let myChart = null;
-  const dataForm = ref({
-    id: "",
-    pointNo: "",
-    pointName: "",
-    pointTypeName: "",
-    startTime: getYMDHMS(),
-    endTime: undefined,
-  });
-  const queryParams = reactive({
-    codes: [],
-    startDate: undefined,
-    endDate: undefined,
-  })
-  function getYMDHMS() {
-    let timestamp = new Date().getTime();
-    let time = new Date(timestamp - 1000 * 60 * 30);
-    let year = time.getFullYear();
-    let month = (time.getMonth() + 1).toString();
-    let date = time.getDate().toString();
-    let hours = time.getHours().toString();
-    let minute = time.getMinutes().toString();
+import {ref} from 'vue';
+import * as echarts from 'echarts';
+import * as DaPoint from '@/api/data/da/point/daPointChart'
+import {getYMDHM0} from "@/utils/dateUtil"
+import download from "@/utils/download";
 
-    if (month < 10) {
-      month = "0" + month;
-    }
-    if (date < 10) {
-      date = "0" + date;
-    }
-    if (hours < 10) {
-      hours = "0" + hours;
-    }
-    if (minute < 10) {
-      minute = "0" + minute;
-    }
-    return (
-      year +
-      "-" +
-      month +
-      "-" +
-      date +
-      " " +
-      hours +
-      ":" +
-      minute +
-      ":" +
-      "00"
-    );
-  }
-  /** 打开弹窗 */
-  const open = async (row: object) => {
-    visible.value = true
-    dataForm.value.id = row.id;
-    dataForm.value.pointNo = row.pointNo;
-    dataForm.value.pointName = row.pointName;
-    dataForm.value.startTime = getYMDHMS();
-    dataForm.value.endTime = "";
-    getDataList();
-  }
+const message = useMessage() // 消息弹窗
+const visible = ref(false);
+const chartDom = ref(null);
+let myChart = null;
+const chartParams = reactive({
+  codes: [],
+  pointNo: undefined,
+  startDate: undefined,
+  endDate: undefined,
+})
+const dataForm = ref({
+  id: "",
+  pointNo: "",
+  pointName: "",
+  pointTypeName: "",
+  startTime: getYMDHM0(new Date() - 60 * 60 * 1000),
+  endTime: "",
+});
 
-  defineExpose({open}) // 提供 open 方法,用于打开弹窗
+/** 打开弹窗 */
+const open = async (row: object) => {
+  visible.value = true
+  dataForm.value.id = row.id;
+  dataForm.value.pointNo = row.pointNo;
+  dataForm.value.pointName = row.pointName;
+  getDataList();
+}
 
+defineExpose({open}) // 提供 open 方法,用于打开弹窗
+
+  const loading = ref(false)
   async function getDataList() {
     visible.value = true;
+    loading.value = true
     if (dataForm.value.id) {
       try {
-        queryParams.codes=[dataForm.value.pointNo];
-        queryParams.startDate = dataForm.value.startTime;
-        queryParams.endDate = dataForm.value.endTime;
-        const data = await DaPoint.getPointDaChart(queryParams)
+        chartParams.codes=[dataForm.value.pointNo];
+        chartParams.startDate = dataForm.value.startTime;
+        chartParams.endDate = dataForm.value.endTime;
+        const data = await DaPoint.getPointDaChart(chartParams)
+        loading.value = false
         let seriesData = []
         data.series.forEach(item => {
           seriesData.push({
@@ -140,84 +115,86 @@
           });
         })
 
-        myChart = echarts.init(chartDom.value);
-        const option = {
-          title: {
-            text: dataForm.value.pointName,
-            top: 0,
-            left: "1%",
-            textStyle: {
-              fontSize: 14,
+      myChart = echarts.init(chartDom.value);
+      const option = {
+        title: {
+          text: dataForm.value.pointName,
+          top: 0,
+          left: "1%",
+          textStyle: {
+            fontSize: 14,
+          },
+        },
+        tooltip: {
+          trigger: "axis",
+          axisPointer: {
+            type: "line",
+            lineStyle: {
+              color: "#cccccc",
+              width: "1",
+              type: "dashed",
             },
           },
-          tooltip: {
-            trigger: "axis",
-            axisPointer: {
-              type: "line",
-              lineStyle: {
-                color: "#cccccc",
-                width: "1",
-                type: "dashed",
-              },
-            },
+        },
+        legend: {
+          show: false,
+          top: 10,
+        },
+        grid: {
+          top: 30,
+          left: "3%",
+          right: "5%",
+          bottom: 10,
+          containLabel: true,
+        },
+        xAxis: {
+          type: "category",
+          boundaryGap: false,
+          data: data.categories,
+        },
+        yAxis: {
+          type: "value",
+        },
+        dataZoom: [
+          {
+            type: "inside",
           },
-          legend: {
-            show: false,
-            top: 10,
-          },
-          grid: {
-            top: 30,
-            left: "3%",
-            right: "5%",
-            bottom: 10,
-            containLabel: true,
-          },
-          xAxis: {
-            type: "category",
-            boundaryGap: false,
-            data: data.categories,
-          },
-          yAxis: {
-            type: "value",
-          },
-          dataZoom: [
-            {
-              type: "inside",
-            },
-          ],
-          series: seriesData,
-        };
-        myChart.setOption(option);
-      } catch (error) {
-        console.error(error)
-      }
+        ],
+        series: seriesData,
+      };
+      myChart.setOption(option);
+    } catch (error) {
+      console.error(error)
     }
   }
-  /** 导出按钮操作 */
-  const exportLoading = ref(false)
-  const handleExport = async () => {
-    queryParams.pointNos=[dataForm.value.pointNo];
-    queryParams.start = dataForm.value.startTime;
-    queryParams.end = dataForm.value.endTime;
-    try {
-      // 导出的二次确认
-      await message.exportConfirm()
-      // 发起导出
-      exportLoading.value = true
-      const data = await DaPoint.exportDaPointValue(queryParams)
-      download.excel(data, dataForm.value.pointName +'.xls')
-    } catch {
-    } finally {
-      exportLoading.value = false
-    }
+}
+
+/** 导出按钮操作 */
+const exportLoading = ref(false)
+const handleExport = async () => {
+  try {
+    // 导出的二次确认
+    await message.exportConfirm()
+    // 发起导出
+    exportLoading.value = true
+    const data = await DaPoint.exportDaPointValue({
+      pointNo: dataForm.value.pointNo,
+      start: dataForm.value.startTime,
+      end: dataForm.value.endTime
+    })
+    download.excel(data, dataForm.value.pointName + '.xls')
+  } catch {
+  } finally {
+    exportLoading.value = false
   }
+}
 </script>
 <style>
-  .el-select {
-    width: 100%;
-  }
+.el-select {
+  width: 100%;
+}
 
-  .result-chart {
-    height: 500px;
-  }
+.result-chart {
+  height: 500px;
+}
 </style>

--
Gitblit v1.9.3