From 3f10e79964115107e750a2c7bbfc5247fdb7ff32 Mon Sep 17 00:00:00 2001
From: Jay <csj123456>
Date: 星期二, 12 十一月 2024 10:58:11 +0800
Subject: [PATCH] 计划数据导出功能问题解决,新增查询loading功能

---
 src/views/data/point/DaPointChart.vue |   93 ++++++++++++++++------------------------------
 1 files changed, 32 insertions(+), 61 deletions(-)

diff --git a/src/views/data/point/DaPointChart.vue b/src/views/data/point/DaPointChart.vue
index ddc9a2d..19a6b23 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>
@@ -41,7 +45,7 @@
         </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>
 
@@ -49,67 +53,32 @@
   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";
   const message = useMessage() // 消息弹窗
   const visible = ref(false);
   const chartDom = ref(null);
   let myChart = null;
+  const chartParams = reactive({
+    codes:[],
+    startDate : undefined,
+    endDate: undefined,
+  })
   const dataForm = ref({
     id: "",
     pointNo: "",
     pointName: "",
     pointTypeName: "",
-    startTime: getYMDHMS(),
-    endTime: undefined,
+    startTime: getYMDHM0(new Date() - 60 * 60 * 1000),
+    endTime: "",
   });
-  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();
-
-    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 loading = ref(true) // 列表的加载中
   /** 打开弹窗 */
   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();
   }
 
@@ -117,12 +86,14 @@
 
   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({
@@ -196,15 +167,15 @@
   /** 导出按钮操作 */
   const exportLoading = ref(false)
   const handleExport = async () => {
-    queryParams.pointNos=[dataForm.value.pointNo];
-    queryParams.start = dataForm.value.startTime;
-    queryParams.end = dataForm.value.endTime;
+    chartParams.codes=[dataForm.value.pointNo];
+    chartParams.startDate = dataForm.value.startTime;
+    chartParams.endDate = dataForm.value.endTime;
     try {
       // 导出的二次确认
       await message.exportConfirm()
       // 发起导出
       exportLoading.value = true
-      const data = await DaPoint.exportDaPointValue(queryParams)
+      const data = await DaPoint.exportDaPointValue(chartParams)
       download.excel(data, dataForm.value.pointName +'.xls')
     } catch {
     } finally {

--
Gitblit v1.9.3