|
@@ -5,13 +5,45 @@
|
|
<div class="btuGroup"><span class="topRightBtuBg topRightBtu" style="cursor: pointer;" @click="push()">后台管理</span>
|
|
<div class="btuGroup"><span class="topRightBtuBg topRightBtu" style="cursor: pointer;" @click="push()">后台管理</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div id="fline" style="width: 900px;height: 450px"></div>
|
|
|
|
|
|
+ <div id="fline" style="float:left;width: 900px;height: 450px"></div>
|
|
|
|
+ <div style="float:right;top:50px;width: 900px;height: 450px">
|
|
|
|
+ <div>
|
|
|
|
+ <el-form ref="testform" :model="rtForm" label-width="250px" size="small">
|
|
|
|
+ <fieldset>
|
|
|
|
+ <legend>实时区</legend>
|
|
|
|
+ <el-form-item label="当前频率">
|
|
|
|
+ <el-input v-model="rtForm.fm" style="width: 240px" readonly></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="当前有功">
|
|
|
|
+ <el-input v-model="rtForm.act" style="width: 240px" readonly></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </fieldset>
|
|
|
|
+ </el-form>
|
|
|
|
+ </div>
|
|
|
|
+ <el-form ref="testform" :model="testform" label-width="250px" size="small">
|
|
|
|
+ <fieldset>
|
|
|
|
+ <legend>调试设定值</legend>
|
|
|
|
+ <el-form-item label="模拟频率">
|
|
|
|
+ <el-input v-model="testform.fm" style="width: 240px"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="模拟有功">
|
|
|
|
+ <el-input v-model="testform.act" style="width: 240px"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-button type="primary" @click="testSubmit">保存</el-button>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </fieldset>
|
|
|
|
+ </el-form>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
// import electricityBar from './components/electricityBar'
|
|
// import electricityBar from './components/electricityBar'
|
|
|
|
|
|
|
|
+import {debounce} from "lodash";
|
|
|
|
+import store from "@/store";
|
|
|
|
+
|
|
export default {
|
|
export default {
|
|
name: "index",
|
|
name: "index",
|
|
data() {
|
|
data() {
|
|
@@ -23,7 +55,6 @@ export default {
|
|
datas:[],
|
|
datas:[],
|
|
chart: null,
|
|
chart: null,
|
|
time: '',
|
|
time: '',
|
|
- dialogTitle: '负载预测',
|
|
|
|
dialogShow: false,
|
|
dialogShow: false,
|
|
componentName: 'loadForecasting',
|
|
componentName: 'loadForecasting',
|
|
websock: null, //建立的连接
|
|
websock: null, //建立的连接
|
|
@@ -32,7 +63,15 @@ export default {
|
|
timeoutObj: null, //心跳心跳倒计时
|
|
timeoutObj: null, //心跳心跳倒计时
|
|
serverTimeoutObj: null, //心跳倒计时
|
|
serverTimeoutObj: null, //心跳倒计时
|
|
timeoutnum: null, //断开 重连倒计时
|
|
timeoutnum: null, //断开 重连倒计时
|
|
- fmOption:null
|
|
|
|
|
|
+ fmOption:null,
|
|
|
|
+ testform: {
|
|
|
|
+ fm: '',
|
|
|
|
+ act: ''
|
|
|
|
+ },
|
|
|
|
+ rtForm:{
|
|
|
|
+ fm: '',
|
|
|
|
+ act: ''
|
|
|
|
+ }
|
|
}
|
|
}
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
@@ -86,18 +125,17 @@ export default {
|
|
bottom: '8%',
|
|
bottom: '8%',
|
|
containLabel: true
|
|
containLabel: true
|
|
},
|
|
},
|
|
- tooltip: {
|
|
|
|
- trigger: 'axis',
|
|
|
|
- formatter: function(params) {
|
|
|
|
- var temp = "";
|
|
|
|
|
|
+ // tooltip: {
|
|
|
|
+ // trigger: 'axis',
|
|
|
|
+ // formatter: function(params) {
|
|
|
|
+ // var temp = "";
|
|
// if (params[0]!=undefined && params[1]!=undefined){
|
|
// if (params[0]!=undefined && params[1]!=undefined){
|
|
// temp = "时间:"+_this.$echarts.format.formatTime('hh:mm:ss.SSS', params[0].name) + "<br/>" + "有功:" + params[0].data[1]+ " MW<br/>" + "频率:" + params[0].data[1]+" Hz";
|
|
// temp = "时间:"+_this.$echarts.format.formatTime('hh:mm:ss.SSS', params[0].name) + "<br/>" + "有功:" + params[0].data[1]+ " MW<br/>" + "频率:" + params[0].data[1]+" Hz";
|
|
- temp = "时间:"+_this.$echarts.format.formatTime('hh:mm:ss.SSS', params[0].name);
|
|
|
|
|
|
+ // temp = "时间:"+_this.$echarts.format.formatTime('hh:mm:ss.SSS', params[0].name);
|
|
// }
|
|
// }
|
|
-
|
|
|
|
- return temp;
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
|
|
+ // return temp;
|
|
|
|
+ // },
|
|
|
|
+ // },
|
|
xAxis: {
|
|
xAxis: {
|
|
type: 'time',
|
|
type: 'time',
|
|
min: this.fmMinTime,
|
|
min: this.fmMinTime,
|
|
@@ -144,9 +182,9 @@ export default {
|
|
splitLine: {show: false},
|
|
splitLine: {show: false},
|
|
position: 'right',
|
|
position: 'right',
|
|
name: '频率',
|
|
name: '频率',
|
|
- min: 48,
|
|
|
|
- max: 51.5,
|
|
|
|
- interval: 0.05,
|
|
|
|
|
|
+ min: 49.5,
|
|
|
|
+ max: 50.5,
|
|
|
|
+ interval: 0.1,
|
|
axisLabel: {
|
|
axisLabel: {
|
|
formatter: '{value} Hz'
|
|
formatter: '{value} Hz'
|
|
},
|
|
},
|
|
@@ -236,6 +274,12 @@ export default {
|
|
// console.log("收到服务器信息",event.data);
|
|
// console.log("收到服务器信息",event.data);
|
|
let data=event.data
|
|
let data=event.data
|
|
var tempFm = JSON.parse(data)
|
|
var tempFm = JSON.parse(data)
|
|
|
|
+ if (tempFm.f==-99){
|
|
|
|
+ tempFm.f=null
|
|
|
|
+ }
|
|
|
|
+ if (tempFm.activePower==-99){
|
|
|
|
+ tempFm.activePower=null
|
|
|
|
+ }
|
|
// 存入频率数组
|
|
// 存入频率数组
|
|
this.fms.push({name: tempFm.time, value: [tempFm.time, tempFm.f]})
|
|
this.fms.push({name: tempFm.time, value: [tempFm.time, tempFm.f]})
|
|
this.activePower.push({name: tempFm.time, value: [tempFm.time, tempFm.activePower]})
|
|
this.activePower.push({name: tempFm.time, value: [tempFm.time, tempFm.activePower]})
|
|
@@ -254,11 +298,29 @@ export default {
|
|
this.fmOption.series[0].data=this.activePower
|
|
this.fmOption.series[0].data=this.activePower
|
|
this.fmOption.series[1].data=this.fms
|
|
this.fmOption.series[1].data=this.fms
|
|
this.chart.setOption(this.fmOption,true)
|
|
this.chart.setOption(this.fmOption,true)
|
|
|
|
+
|
|
|
|
+ this.rtForm.fm = tempFm.f
|
|
|
|
+ this.rtForm.act = tempFm.activePower
|
|
},
|
|
},
|
|
websocketsend(msg) {
|
|
websocketsend(msg) {
|
|
//向服务器发送信息
|
|
//向服务器发送信息
|
|
this.websock.send(msg);
|
|
this.websock.send(msg);
|
|
- }
|
|
|
|
|
|
+ },
|
|
|
|
+ testSubmit: debounce(async function () {
|
|
|
|
+ this.$refs["testform"].validate(async valid => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ const param = {
|
|
|
|
+ fm: this.testform.fm,
|
|
|
|
+ act: this.testform.act
|
|
|
|
+ }
|
|
|
|
+ this.$axios.post('/frequencyController/testFmAct', this.$qs.stringify(param)).then((res) => {
|
|
|
|
+ this.$message.success('调试设定成功')
|
|
|
|
+ }).catch((error) => {
|
|
|
|
+
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }, 1000)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|