From c353554427f56eeda8a7cb75cc12bfa572dd1c85 Mon Sep 17 00:00:00 2001
From: he wei <858544502@qq.com>
Date: 星期四, 26 六月 2025 09:22:27 +0800
Subject: [PATCH] U 大小写问题

---
 src/views/realtime/tabs/system.vue |  190 +++++++++++++++++++++++++++--------------------
 1 files changed, 110 insertions(+), 80 deletions(-)

diff --git a/src/views/realtime/tabs/system.vue b/src/views/realtime/tabs/system.vue
index dcde4af..d75cb0e 100644
--- a/src/views/realtime/tabs/system.vue
+++ b/src/views/realtime/tabs/system.vue
@@ -18,15 +18,17 @@
 
 
 import {
-	getHalfHourBattDevData,
-	getHalfHourPwrHisAcinData,
-	getHalfHourPwrHisDcoutData,
+	getBattDevData100,
+	getPwrHisAcinData100,
+	getPwrHisDcoutData100,
+  getPwrHeartParam,
 } from "@/api/realtime";
 
 import {
   stopDis,
   restart,
 } from '@/api/control';
+
 
 const props = defineProps({
 	data: {
@@ -137,6 +139,7 @@
 		if (!n) return;
 
 		nextTick(() => {
+      getHeartParam();
 			// getAcinData();
 			// getDevData();
 			// getDcoutData();
@@ -182,6 +185,7 @@
 const startIdx = ref(0);
 
 // 鍗婂皬鏃剁殑鏁版嵁鏉℃暟 1绉掍竴绗旇
+// 鏀逛负100绗� 鍙厤缃� 涓変釜灞炴�у彲浠ヨ缃笉鍚�
 const counter = 30 * 60;
 
 let xLabels1 = ref([]);
@@ -296,7 +300,7 @@
 }
 
 async function getAcinData() {
-	let { code, data, data2 } = await getHalfHourPwrHisAcinData(props.powerId, show_num.acin);
+	let { code, data, data2 } = await getPwrHisAcinData100(props.powerId);
 	let list = [];
 	if (code && data) {
 		list = data2;
@@ -305,7 +309,7 @@
 }
 
 async function getDevData() {
-	let { code, data, data2 } = await getHalfHourBattDevData(props.battgroupId, show_num.dev);
+	let { code, data, data2 } = await getBattDevData100(props.battgroupId, props.powerId);
 	let list = [];
 	if (code && data) {
 		list = data2;
@@ -314,7 +318,7 @@
 }
 
 async function getDcoutData() {
-	let { code, data, data2, data3 } = await getHalfHourPwrHisDcoutData(props.powerId, show_num.dcout);
+	let { code, data, data2, data3 } = await getPwrHisDcoutData100(props.powerId);
 	let list = [];
 	let cfg = [];
 	if (code && data) {
@@ -508,8 +512,8 @@
 	// let num = Math.ceil(counter / show_num['dev']);
 	// TODO battRtstate 缂哄皯loadCurr
 	let devObj = props.data.battRtstate;
-	xLabels1.value.shift();
-	xLabels1.value.push(devObj.recordDatetime);
+	xLabels2.value.shift();
+	xLabels2.value.push(devObj.recDatetime);
 	chartData['dev'].shift();
 	chartData['dev'].push(devObj);
 	updateChart2();
@@ -517,6 +521,46 @@
 	// 钃勭數姹犱俊鎭�
 	battInfo.value = props.data.sticRtdata;
 }
+
+const configVisible = ref(false);
+const formRef = ref();
+const form1 = reactive({
+  time: 5,
+  count: 100,
+});
+
+function validatorTime(rule, value, callback) {
+  if(/^\d+$/.test(value)) {
+    if(value<1 || value>30) {
+      callback(new Error('鑼冨洿1~30'));
+    } else {
+      callback();
+    }
+  }else {
+    callback(new Error('璇疯緭鍏ユ暣鏁�'));
+  }
+}
+
+function validatorCount(rule, value, callback) {
+  if(/^\d+$/.test(value)) {
+    if (value<50 || value>200) {
+      callback(new Error('鑼冨洿50~200'));
+    } else {
+      callback();
+    }
+  }else {
+    callback(new Error('璇疯緭鍏ユ暣鏁�'));
+  }
+}
+
+const rules = {
+  time: [{ required: true, message: '璇疯緭鍏ユ椂闂�', trigger: ['blur', 'change'] },
+    { validator: validatorTime, trigger: ['blur', 'change'] },
+  ],
+  count: [{ required: true, message: '璇疯緭鍏ユ潯鏁�', trigger: ['blur', 'change'] }, 
+    { validator: validatorCount, trigger: ['blur', 'change'] },
+  ],
+};
 
 // 鍙栧墠鍗婂皬鏃舵暟鎹� 鏇存柊鍥捐〃
 
@@ -554,24 +598,46 @@
 	hrParamVisible.value = true;
 }
 
+const config = ref({});
+
+async function getHeartParam() {
+  let res = await getPwrHeartParam(props.powerId);
+  let { code, data, data2 } = res.data;
+  let cfg = {};
+  if (code && data) {
+    cfg = data2;
+  }
+  config.value = cfg;
+}
+
+const configTitle = ref('');
+function setConfig(type) {
+  switch(type) {
+    case 0:
+      configTitle.value = '璁剧疆浜ゆ祦杈撳叆閲囬泦鍙傛暟';
+      form1.time = config.value.acinInterverCfg || 5;
+      form1.count = config.value.acinCountCfg || 100;
+      break;
+    case 1:
+      configTitle.value = '璁剧疆鐩存祦杈撳嚭閲囬泦鍙傛暟';
+      form1.time = config.value.acoutInterverCfg || 5;
+      form1.count = config.value.acoutCountCfg || 100;
+      break;
+    case 2:
+      configTitle.value = '璁剧疆鏍稿璁惧閲囬泦鍙傛暟';
+      form1.time = config.value.hrInterverCfg || 5;
+      form1.count = config.value.hrCountCfg || 100;
+      break;
+  }
+  configVisible.value = true;
+}
+
+function updateConfig() {
+  configVisible.value = false;
+}
 
 onMounted(async () => {
-	numChange('acin');
-	numChange('dcout');
-	numChange('dev');
 
-	// await getAcinData();
-	// await getDevData();
-	// await getDcoutData();
-
-	// if (chart1.value) {
-	// 	chart1.value.updateChart(['04:12', '04:13', '04:14'], {
-	// 		'璁惧娓╁害': [100, 200, 220],
-	// 		'缁勭鐢垫祦': [100, 200, 220],
-	// 		'缁勭鐢靛帇': [100, 200, 220],
-	// 		'璐熻浇鐢垫祦': [100, 200, 220],
-	// 	});
-	// }
 });
 </script>
 
@@ -648,28 +714,11 @@
       <div class="card-item">
         <card title="浜ゆ祦杈撳叆">
           <template #tools>
-            <div class="page-filter">
-              <div class="label">绮掑害</div>
-              <div class="value">
-                <el-select
-                  v-model="show_num['acin']"
-                  size="small"
-                  style="width: 50px"
-                  @change="numChange('acin')"
-                >
-                  <el-option
-                    v-for="(n, i) in 10"
-                    :key="'list0_' + i"
-                    :label="'x' + n"
-                    :value="n"
-                  />
-                </el-select>
-              </div>
-            </div>
             <el-radio-group class="tab-idx" v-model="tabIdx0" size="small">
               <el-radio-button label="鐢垫祦" :value="0" />
               <el-radio-button label="鐢靛帇" :value="1" />
             </el-radio-group>
+            <svg-icon class-name="btn-setting" icon-class="setting" @click="setConfig(0)"></svg-icon>
           </template>
           <line-chart ref="chart0"></line-chart>
         </card>
@@ -677,28 +726,11 @@
       <div class="card-item">
         <card title="鐩存祦杈撳嚭">
           <template #tools>
-            <div class="page-filter">
-              <div class="label">绮掑害</div>
-              <div class="value">
-                <el-select
-                  v-model="show_num['dcout']"
-                  size="small"
-                  style="width: 50px"
-                  @change="numChange('dcout')"
-                >
-                  <el-option
-                    v-for="(n, i) in 10"
-                    :key="'list0_' + i"
-                    :label="'x' + n"
-                    :value="n"
-                  />
-                </el-select>
-              </div>
-            </div>
             <el-radio-group class="tab-idx" v-model="tabIdx1" size="small">
               <el-radio-button label="鐢垫祦" :value="0" />
               <el-radio-button label="鐢靛帇" :value="1" />
             </el-radio-group>
+            <svg-icon class-name="btn-setting" icon-class="setting" @click="setConfig(1)"></svg-icon>
           </template>
           <line-chart3
             ref="chart1"
@@ -713,25 +745,7 @@
       <div class="card-item">
         <card title="鏍稿璁惧淇℃伅">
           <template #tools>
-            <div class="page-filter">
-              <div class="label">绮掑害</div>
-              <div class="value">
-                <el-select
-                  v-model="show_num['dev']"
-                  size="small"
-                  style="width: 50px"
-                  @change="numChange('dev')"
-                >
-                  <el-option
-                    v-for="(n, i) in 10"
-                    :key="'list0_' + i"
-                    :label="'x' + n"
-                    :value="n"
-                  />
-                </el-select>
-              </div>
-            </div>
-            <!-- <svg-icon class-name="btn-setting" icon-class="setting"></svg-icon> -->
+            <svg-icon class-name="btn-setting" icon-class="setting" @click="setConfig(2)"></svg-icon>
           </template>
           <line-chart2 ref="chart2"></line-chart2>
         </card>
@@ -815,12 +829,28 @@
         </card>
       </div>
     </div>
+    <!-- 璁剧疆闂撮殧鍙傛暟 -->
+    <el-dialog v-model="configVisible" draggable :title="configTitle" width="560">
+      <el-form ref="formRef" :model="form1" :rules="rules" label-width="10em">
+        <el-form-item label="闂撮殧鏃堕棿(鍒�)" prop="time">
+          <el-input v-model="form1.time"></el-input>
+        </el-form-item>
+        <el-form-item label="鏁版嵁绗旀暟" prop="count">
+          <el-input v-model="form1.count"></el-input>
+        </el-form-item>
+      </el-form>
+      <template #footer>
+        <el-button @click="configVisible = false">鍏抽棴</el-button>
+        <!-- <el-button type="primary" @click="getConfig">璇诲彇</el-button> -->
+        <el-button type="primary" @click="updateConfig">璁惧畾</el-button>
+      </template>
+    </el-dialog>
     <!-- 璁剧疆鏍稿鍙傛暟 -->
-    <el-dialog v-model="hrParamVisible" :title="hrParamTitle" width="960">
+    <el-dialog v-model="hrParamVisible" draggable :title="hrParamTitle" width="960">
       <hr-params :devId="devId" v-model:visible="hrParamVisible" :battgroupId="battgroupId"></hr-params>
     </el-dialog>
     <!-- 璁剧疆璁惧鍛婅鍙傛暟 -->
-    <el-dialog v-model="devAlmVisible" title="璁惧鍛婅鍙傛暟" width="960">
+    <el-dialog v-model="devAlmVisible" draggable title="璁惧鍛婅鍙傛暟" width="960">
       <dev-alarm-params :devId="devId" v-model:visible="devAlmVisible"></dev-alarm-params>
     </el-dialog>
   </div>

--
Gitblit v1.9.1