From c4b4d2d8acf0ecd37a9cc6650f5c5d9f0343725b Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期二, 29 十月 2024 17:48:30 +0800
Subject: [PATCH] PointChart

---
 src/views/data/point/index.vue        |   16 ++++---
 src/api/data/da/point/daPointChart.ts |    2 
 src/utils/dict.ts                     |    2 
 src/views/data/point/DaPointChart.vue |   54 +++++++++++---------------
 src/views/data/point/DaPointForm.vue  |   35 ++++++++++-------
 5 files changed, 55 insertions(+), 54 deletions(-)

diff --git a/src/api/data/da/point/daPointChart.ts b/src/api/data/da/point/daPointChart.ts
index 658a7ec..1090f88 100644
--- a/src/api/data/da/point/daPointChart.ts
+++ b/src/api/data/da/point/daPointChart.ts
@@ -8,7 +8,7 @@
 
 // 查询chart列表
 export const getPointDaChart = (data: DaPointChartReqVO) => {
-  return request.post({ url: '/data/api/data/point/history', data })
+  return request.post({ url: '/data/api/query-points/chart', data })
 }
 
 //导出DaPointValue
diff --git a/src/utils/dict.ts b/src/utils/dict.ts
index a9b5c62..62875a9 100644
--- a/src/utils/dict.ts
+++ b/src/utils/dict.ts
@@ -179,7 +179,7 @@
   COM_IS_INT = 'com_is_int',
   DATA_POINT_TYPE = 'data_point_type',
   MINFREQID = 'minfreqid',
-  VALUETYPE = 'value_type',
+  MEASURE_VALUE_TYPE = 'measure_value_type',
   NVR_ONLINE_STATUS = 'nvr_online_status',
   CAMERA_BRAND = 'camera_brand',
 }
diff --git a/src/views/data/point/DaPointChart.vue b/src/views/data/point/DaPointChart.vue
index fabc2f6..ddc9a2d 100644
--- a/src/views/data/point/DaPointChart.vue
+++ b/src/views/data/point/DaPointChart.vue
@@ -63,9 +63,9 @@
     endTime: undefined,
   });
   const queryParams = reactive({
-    pointNo: "",
-    start: undefined,
-    end: undefined,
+    codes: [],
+    startDate: undefined,
+    endDate: undefined,
   })
   function getYMDHMS() {
     let timestamp = new Date().getTime();
@@ -119,34 +119,27 @@
     visible.value = true;
     if (dataForm.value.id) {
       try {
-        queryParams.pointNo=dataForm.value.pointNo;
-        queryParams.start = dataForm.value.startTime;
-        queryParams.end = dataForm.value.endTime;
+        queryParams.codes=[dataForm.value.pointNo];
+        queryParams.startDate = dataForm.value.startTime;
+        queryParams.endDate = dataForm.value.endTime;
         const data = await DaPoint.getPointDaChart(queryParams)
-        const dataList = [];
-        const xAxisData = [];
-        data[dataForm.value.pointNo].forEach(function (value) {
-          // 判断数据是否为布尔型
-          if (typeof value["value"] === "boolean") {
-            value["value"] = value["value"]? 1 : 0;
-          }
-          dataList.push([value["time"], value["value"]]);
-          xAxisData.push(value["time"]);
-        });
-        let seriesData = [];
-        seriesData.push({
-          name: "采集值",
-          type: "line",
-          data: dataList,
-          showSymbol: false,
-          smooth: false,
-          lineStyle: {
-            normal: {
-              color: "#5B8FF9",
-              width: 1,
+        let seriesData = []
+        data.series.forEach(item => {
+          seriesData.push({
+            name: item.name,
+            type: "line",
+            data: item.data,
+            showSymbol: true,
+            smooth: false,
+            lineStyle: {
+              normal: {
+                color: "#5B8FF9",
+                width: 1,
+              },
             },
-          },
-        });
+          });
+        })
+
         myChart = echarts.init(chartDom.value);
         const option = {
           title: {
@@ -182,7 +175,7 @@
           xAxis: {
             type: "category",
             boundaryGap: false,
-            data: xAxisData,
+            data: data.categories,
           },
           yAxis: {
             type: "value",
@@ -194,7 +187,6 @@
           ],
           series: seriesData,
         };
-        myChart.clear();
         myChart.setOption(option);
       } catch (error) {
         console.error(error)
diff --git a/src/views/data/point/DaPointForm.vue b/src/views/data/point/DaPointForm.vue
index 85758ec..ac36580 100644
--- a/src/views/data/point/DaPointForm.vue
+++ b/src/views/data/point/DaPointForm.vue
@@ -1,5 +1,5 @@
 <template>
-  <Dialog v-model="dialogVisible" :title="dialogTitle" width="50%">
+  <Dialog v-model="dialogVisible" :title="dialogTitle" width="60%">
     <el-form
       ref="formRef"
       v-loading="formLoading"
@@ -137,14 +137,14 @@
       </el-row>
       <el-row v-if="formData.pointType === 'MEASURE'">
         <el-col :span="12">
-          <el-form-item label="值类型" prop="valueType">
+          <el-form-item label="测量值类型" prop="measurePoint.valueType">
             <el-select
               v-model="formData.measurePoint.valueType"
               clearable
               placeholder="请选择值类型"
             >
               <el-option
-                v-for="dict in getDictOptions(DICT_TYPE.VALUETYPE)"
+                v-for="dict in getDictOptions(DICT_TYPE.MEASURE_VALUE_TYPE)"
                 :key="dict.value"
                 :label="dict.label"
                 :value="dict.value"
@@ -153,8 +153,10 @@
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="平滑尺度" prop="dimension">
-            <el-input-number v-model="formData.measurePoint.dimension" style="width: 100%" :controls="false"/>
+          <el-form-item label="平滑尺度(min)" prop="measurePoint.dimension">
+            <el-input-number v-model="formData.measurePoint.dimension" style="width: 100%"
+                             :min="0" :max="100"
+                             :controls="false"/>
           </el-form-item>
         </el-col>
       </el-row>
@@ -166,11 +168,11 @@
               :data="expressionList"
               border
               style="width: 100%">
-<!--              <el-table-column
+              <el-table-column
                 type="index"
                 align="center"
-                width="50"
-                label="序号"/>-->
+                width="60"
+                label="序号"/>
               <el-table-column
                 prop=""
                 label="左括号"
@@ -194,6 +196,7 @@
               <el-table-column
                 prop=""
                 label="测点"
+                min-width="160"
                 align="center">
                 <template #default="scope">
                   <el-select
@@ -211,6 +214,7 @@
               <el-table-column
                 prop=""
                 label="运算值"
+                min-width="120"
                 align="center">
                 <template #default="scope">
                   <el-input
@@ -243,7 +247,7 @@
               <el-table-column
                 prop=""
                 label="运算符"
-                width="120"
+                width="100"
                 align="center">
                 <template #default="scope">
                   <el-select v-model="scope.row.operator" clearable>
@@ -258,19 +262,19 @@
               <el-table-column
                 prop=""
                 label="操作"
-                width="140"
+                width="120"
                 align="center">
                 <template #default="scope">
                   <el-button
                     @click="addExpressionRow(scope.$index, expressionList)"
                     type="text"
-                    size="small">
+                    size="mini">
                     添加
                   </el-button>
                   <el-button
                     @click="deleteExpressionRow(scope.$index, expressionList)"
                     type="text"
-                    size="small">
+                    size="mini">
                     删除
                   </el-button>
                 </template>
@@ -345,6 +349,9 @@
   pointName: [{required: true, message: '测点名称不能为空', trigger: 'blur'}],
   pointType: [{required: true, message: '测点类型不能为空', trigger: 'blur'}],
   dataType: [{required: true, message: '数据类型不能为空', trigger: 'blur'}],
+  minfreqid: [{required: true, message: '采集频率不能为空', trigger: 'blur'}],
+  "measurePoint.valueType": [{required: true, message: '采集频率不能为空', trigger: 'blur'}],
+  "measurePoint.dimension": [{required: true, message: '采集频率不能为空', trigger: 'blur'}],
 })
 const formRef = ref() // 表单 Ref
 
@@ -438,8 +445,8 @@
     storeType: undefined,
     unit: undefined,
     unittransfactor: 1,
-    defaultValue: 10,
-    maxValue: 10000000,
+    defaultValue: 0,
+    maxValue: 100000000,
     minValue: 0,
     minfreqid: undefined,
     remark: undefined,
diff --git a/src/views/data/point/index.vue b/src/views/data/point/index.vue
index dcc989c..7011dfb 100644
--- a/src/views/data/point/index.vue
+++ b/src/views/data/point/index.vue
@@ -77,7 +77,7 @@
   <!-- 列表 -->
   <ContentWrap>
     <el-table border stripe v-loading="loading" :data="list">
-      <el-table-column fixed label="测点编码" header-align="center" align="left" min-width="100" prop="pointNo" />
+      <el-table-column fixed label="测点编码" header-align="center" align="left" min-width="120" prop="pointNo" />
       <el-table-column label="测点名称" header-align="center" align="left" min-width="200" prop="pointName" />
       <el-table-column label="测点类型" align="center" prop="pointType" width="100">
         <template #default="scope">
@@ -94,12 +94,12 @@
           <dict-tag :type="DICT_TYPE.VALUETYPE" :value="scope.row.valueType" />
         </template>
       </el-table-column>
-      <el-table-column label="测量单位" align="center" prop="unit" width="100"/>
+      <el-table-column label="测量单位" align="center" prop="unit" width="80"/>
       <el-table-column label="单位转换" align="center" prop="unittransfactor" />
-      <el-table-column label="默认值" align="center" prop="defaultValue" />
+      <el-table-column label="默认值" align="center" prop="defaultValue" width="100"/>
       <el-table-column label="采集频率" align="center" prop="minfreqid" width="100"/>
-      <el-table-column label="数据源类型" align="center" prop="sourceType" width="100"/>
-      <el-table-column label="数据源名称" align="center" prop="sourceName" width="100"/>
+      <el-table-column label="数据源类型" align="center" prop="sourceType" min-width="100"/>
+      <el-table-column label="数据源名称" align="center" prop="sourceName" min-width="100"/>
       <el-table-column label="测点Tag" header-align="center" align="left" prop="tagNo" min-width="150"/>
       <el-table-column label="是否启用" align="center" prop="isEnable" width="100">
         <template #default="scope">
@@ -108,19 +108,21 @@
         </template>
       </el-table-column>
 
-      <el-table-column label="操作" align="center" min-width="130" fixed="right" width="120">
+      <el-table-column label="操作" align="center" min-width="130" fixed="right" width="160">
         <template #default="scope">
           <el-button
             link
+            size="mini"
             type="primary"
             @click="openForm('update', scope.row.id)"
             v-hasPermi="['data:point:update']"
           >
             编辑
           </el-button>
-          <el-button link type="primary" @click="chartHandle(scope.row)">数据查看</el-button>
+          <el-button link size="mini" type="primary" @click="chartHandle(scope.row)">数据</el-button>
           <el-button
             link
+            size="mini"
             type="danger"
             @click="handleDelete(scope.row.id)"
             v-hasPermi="['data:point:delete']"

--
Gitblit v1.9.3