From 1360f46832c70b30d50d7afa20a501ac59cb397d Mon Sep 17 00:00:00 2001
From: dengzedong <dengzedong@email>
Date: 星期五, 16 五月 2025 10:33:11 +0800
Subject: [PATCH] 是否累计负数 getIntDictOptions(DICT_TYPE.COM_IS_INT)

---
 src/views/data/point/DaPointForm.vue |  118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 112 insertions(+), 6 deletions(-)

diff --git a/src/views/data/point/DaPointForm.vue b/src/views/data/point/DaPointForm.vue
index 5f502a6..43cb4f2 100644
--- a/src/views/data/point/DaPointForm.vue
+++ b/src/views/data/point/DaPointForm.vue
@@ -25,6 +25,7 @@
             <el-select
               v-model="formData.pointType"
               clearable
+              :disabled = "formType !== 'create'"
               placeholder="请选择测点类型"
             >
               <el-option
@@ -123,7 +124,7 @@
           </el-form-item>
         </el-col>
       </el-row>
-      <!--计量点-->
+      <!--测量点-->
       <el-row v-if="formData.pointType === 'MEASURE'">
         <el-col :span="24">
           <el-form-item prop="sourceOption" label="数据源">
@@ -135,6 +136,7 @@
           </el-form-item>
         </el-col>
       </el-row>
+      <!--测量点-->
       <el-row v-if="formData.pointType === 'MEASURE'">
         <el-col :span="12">
           <el-form-item label="测量值类型" prop="measurePoint.valueType">
@@ -299,21 +301,105 @@
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col :span="12">
+        <el-col :span="6">
           <el-form-item label="累计长度" prop="cumulatePoint.length">
             <el-input-number v-model="formData.cumulatePoint.length" style="width: 100%"
                              :min="1" :max="3000"
                              :controls="false"/>
           </el-form-item>
         </el-col>
-        <el-col :span="12">
+        <el-col :span="6">
+          <el-form-item label="累计单位" prop="cumulatePoint.cumulateUnit">
+            <el-select
+              v-model="formData.cumulatePoint.cumulateUnit"
+              placeholder="请选择累计单位"
+            >
+              <el-option
+                v-for="dict in getDictOptions(DICT_TYPE.CUMULATEUNIT)"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
           <el-form-item label="除数" prop="cumulatePoint.divisor">
             <el-input-number v-model="formData.cumulatePoint.divisor" style="width: 100%"
                              :min="1" :max="3000"
                              :controls="false"/>
           </el-form-item>
         </el-col>
+        <el-col :span="6">
+          <el-form-item label="是否累计负数" prop="cumulatePoint.isCumuNeg">
+            <el-select
+              v-model="formData.cumulatePoint.isCumuNeg"
+              placeholder="请选择是否累计负数"
+            >
+              <el-option
+                v-for="dict in getIntDictOptions(DICT_TYPE.COM_IS_INT)"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
 
+      </el-row>
+      <!--极值点-->
+      <el-row :gutter="20" v-if="formData.pointType === 'EXTREMAL'">
+        <el-col :span="24">
+          <el-form-item label="瞬时测点" prop="extremalPoint.momentPoint">
+            <el-select
+              v-model="formData.extremalPoint.momentPoint"
+              filterable
+              placeholder="请选择">
+              <el-option
+                v-for="(item, index) in pointList2"
+                :key="index"
+                :label="item.pointName"
+                :value="item.pointNo"/>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="统计长度" prop="extremalPoint.length">
+            <el-input-number v-model="formData.extremalPoint.length" style="width: 100%"
+                             :min="1" :max="1440 * 30"
+                             :controls="false"/>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="统计单位" prop="extremalPoint.extremalUnit">
+            <el-select
+              v-model="formData.extremalPoint.extremalUnit"
+              placeholder="请选择统计单位"
+            >
+              <el-option
+                v-for="dict in getDictOptions(DICT_TYPE.EXTREMALUNIT)"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="统计类型" prop="extremalPoint.extremalType">
+            <el-select
+              v-model="formData.extremalPoint.extremalType"
+              placeholder="请选择统计类型"
+            >
+              <el-option
+                v-for="dict in getDictOptions(DICT_TYPE.EXTREMALTYPE)"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
       </el-row>
     </el-form>
     <template #footer>
@@ -326,6 +412,7 @@
 import * as DaPoint from '@/api/data/da/point'
 import * as TagApi from '@/api/data/channel/tag'
 import {DICT_TYPE, getDictOptions, getIntDictOptions} from "@/utils/dict";
+import {getPointSimpleList} from "@/api/data/da/point";
 
 defineOptions({name: 'DataDaPointForm'})
 
@@ -389,6 +476,14 @@
     momentPoint: '',
     length: '',
     divisor: ''
+  },
+  extremalPoint: {
+    id: '',
+    pointId: '',
+    momentPoint: '',
+    length: '',
+    extremalUnit: '',
+    extremalType: ''
   }
 })
 const formRules = reactive({
@@ -401,6 +496,7 @@
   "cumulatePoint.momentPoint": [{required: true, message: '累计测点不能为空', trigger: 'blur'}],
   "cumulatePoint.length": [{required: true, message: '累计长度不能为空', trigger: 'blur'}],
   "cumulatePoint.divisor": [{required: true, message: '除数不能为空', trigger: 'blur'}],
+  "extremalPoint.momentPoint": [{required: true, message: '测点不能为空', trigger: 'blur'}],
 })
 const formRef = ref() // 表单 Ref
 
@@ -497,7 +593,7 @@
     unittransfactor: 1,
     defaultValue: 0,
     maxValue: 100000000,
-    minValue: 0,
+    minValue: -100000000,
     minfreqid: undefined,
     remark: undefined,
     isEnable: 1,
@@ -521,7 +617,17 @@
       pointId: '',
       momentPoint: '',
       length: 60,
+      cumulateUnit: 'min',
+      isCumuNeg: 1,
       divisor: 60
+    },
+    extremalPoint: {
+      id: '',
+      pointId: '',
+      momentPoint: '',
+      length: '',
+      extremalUnit: 'min',
+      extremalType: 'max'
     }
   }
   formRef.value?.resetFields()
@@ -582,11 +688,11 @@
 }
 
 const getPointList = async () => {
-  pointList.value = await DaPoint.getPointList(queryParams)
+  pointList.value = await DaPoint.getPointSimpleList(queryParams)
 }
 
 const getPointList2 = async () => {
-  pointList2.value = await DaPoint.getPointList(queryParams2)
+  pointList2.value = await DaPoint.getPointSimpleList(queryParams2)
 }
 
 const getInfo = async (id) => {

--
Gitblit v1.9.3