|
@@ -1,182 +1,187 @@
|
|
|
<template>
|
|
|
- <el-row style="height:100%;" :gutter="10">
|
|
|
- <el-col :span="6">
|
|
|
- <el-row>
|
|
|
- <el-card class="tableHeight">
|
|
|
- <div slot="header" class="clearfix">
|
|
|
- <span>实例状态表</span>
|
|
|
- </div>
|
|
|
- <el-table :data="instancetable">
|
|
|
- <el-table-column prop="instanceID" label="实例ID"></el-table-column>
|
|
|
- <el-table-column prop="instanceName" label="实例名称"></el-table-column>
|
|
|
- <el-table-column prop="instanceState" label="实例工作类型"></el-table-column>
|
|
|
- </el-table>
|
|
|
- </el-card>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-card class="tableHeight">
|
|
|
- <div slot="header" class="clearfix">
|
|
|
- <span>运行状态</span>
|
|
|
- </div>
|
|
|
- <el-table :data="propertycontroltable" :row-style="{height:'20px'}" :cell-style="{padding:'0px'}" style="font-size: 10px;width: 100%;" height="100%" highlight-current-row border>
|
|
|
- <el-table-column prop="key" label="属性"></el-table-column>
|
|
|
- <el-table-column prop="value" label="值"></el-table-column>
|
|
|
- </el-table>
|
|
|
- </el-card>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-card>
|
|
|
- <div slot="header" class="clearfix">
|
|
|
- <span>干扰目标选择</span>
|
|
|
- </div>
|
|
|
- </el-card>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- </el-col>
|
|
|
- <el-col :span="18">
|
|
|
- <el-row>
|
|
|
- <el-card class="tableHeight">
|
|
|
- <div slot="header" class="clearfix">
|
|
|
- <span>工作参数设置</span>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div>
|
|
|
- 频率范围:
|
|
|
- <el-select :change="frequenceChange()" v-model="frequencevalue" placeholder="请选择">
|
|
|
- <el-option v-for="item in options" :key="item.value" :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <div v-if="frequenceAverageShow" style="padding-top:5px;display:flex;">
|
|
|
- <div style="flex:1;">
|
|
|
+ <el-row style="height:100%;" :gutter="10">
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-row>
|
|
|
+ <el-card class="tableHeight">
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>实例状态表</span>
|
|
|
+ </div>
|
|
|
+ <el-table :data="instancetable" @current-change="instanceChange">
|
|
|
+ <el-table-column prop="instanceID" label="实例ID"></el-table-column>
|
|
|
+ <el-table-column prop="instanceName" label="实例名称"></el-table-column>
|
|
|
+ <el-table-column prop="instanceState" label="开关机状态"></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-card>
|
|
|
+ </el-row>
|
|
|
+ <!-- <el-row>
|
|
|
+ <el-card class="tableHeight">
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>运行状态</span>
|
|
|
+ </div>
|
|
|
+ <el-table :data="propertycontroltable" :row-style="{ height: '20px' }" :cell-style="{ padding: '0px' }"
|
|
|
+ style="font-size: 10px;width: 100%;" height="100%" highlight-current-row border>
|
|
|
+ <el-table-column prop="key" label="属性"></el-table-column>
|
|
|
+ <el-table-column prop="value" label="值"></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-card>
|
|
|
+ </el-row> -->
|
|
|
+ <el-row>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>干扰目标选择</span>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ 干扰目标:
|
|
|
+ <el-select :change="targetChange()" v-model="targetID" placeholder="请选择">
|
|
|
+ <el-option v-for="item in targetTable" :key="item.value" :label="item.label" :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="18">
|
|
|
+ <el-row>
|
|
|
+ <el-card class="tableHeight">
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>工作参数设置</span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- <div>
|
|
|
+ 频率范围:
|
|
|
+ <el-select :change="frequenceChange()" v-model="frequencevalue" placeholder="请选择">
|
|
|
+ <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div v-if="frequenceAverageShow" style="padding-top:5px;display:flex;">
|
|
|
+ <div style="flex:1;">
|
|
|
<span>频率下限:</span>
|
|
|
<el-input-number v-model="num9" :precision="2" :step="0.1" :max="10"></el-input-number>
|
|
|
- </div>
|
|
|
- <div style="flex:1;">
|
|
|
+ </div>
|
|
|
+ <div style="flex:1;">
|
|
|
<span style="padding-left:10px;"> 频率上限:</span>
|
|
|
<el-input-number v-model="num9" :precision="2" :step="0.1" :max="10"></el-input-number>
|
|
|
- </div>
|
|
|
</div>
|
|
|
- <div style="padding-top:5px;">
|
|
|
- 干扰样式:
|
|
|
- <el-select v-model="workvalue" placeholder="请选择">
|
|
|
- <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <el-table :data="propertyinittable" :row-style="{height:'20px'}" :cell-style="{padding:'0px'}" style="font-size: 10px;width: 100%;" height="100%" highlight-current-row border>
|
|
|
- <el-table-column prop="key" label="属性"></el-table-column>
|
|
|
- <el-table-column prop="value" label="值"></el-table-column>
|
|
|
- </el-table>
|
|
|
- </el-card>
|
|
|
-
|
|
|
- </el-row>
|
|
|
+ </div> -->
|
|
|
+ <div style="padding-top:5px;">
|
|
|
+ 干扰样式:
|
|
|
+ <el-select v-model="workvalue" placeholder="请选择" @change="workStyleChange">
|
|
|
+ <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <el-table :data="propertyinittable" :row-style="{ height: '20px' }" :cell-style="{ padding: '0px' }"
|
|
|
+ style="font-size: 10px;width: 100%;" height="100%" highlight-current-row border>
|
|
|
+ <el-table-column prop="key" label="属性"></el-table-column>
|
|
|
+ <el-table-column prop="value" label="值"></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-card>
|
|
|
|
|
|
- <el-row>
|
|
|
- <el-card>
|
|
|
- <div slot="header" class="clearfix">
|
|
|
- <span>干扰脉冲描述</span>
|
|
|
- </div>
|
|
|
- <el-table>
|
|
|
- <el-table-column prop="uState" label="是否有效"></el-table-column>
|
|
|
- <el-table-column prop="ulCarryAcID" label="载机编号"></el-table-column>
|
|
|
- <el-table-column prop="ulTgtAcID" label="目标(电磁波指向)飞机的编号"></el-table-column>
|
|
|
- <el-table-column prop="ulJamType" label="干扰类型"></el-table-column>
|
|
|
- <el-table-column prop="dRadBegTim" label="干扰起始时间"></el-table-column>
|
|
|
- <el-table-column prop="dRadEndTim" label="干扰结束时间"></el-table-column>
|
|
|
- <el-table-column prop="fF0" label="载频信号"></el-table-column>
|
|
|
- <el-table-column prop="fPeakPower" label="辐射峰值功率"></el-table-column>
|
|
|
- <el-table-column prop="fGain" label="干扰发射增益"></el-table-column>
|
|
|
- <el-table-column prop="ulNoiseModule" label="噪声干扰调制类型"></el-table-column>
|
|
|
- <el-table-column prop="fNoiseBandWid" label="噪声信号带宽"></el-table-column>
|
|
|
- <el-table-column prop="ulFalseTgtNum" label="假目标欺骗个数"></el-table-column>
|
|
|
- <el-table-column prop="fCheatDeltFreq" label="载频信号附加单位频率偏移"></el-table-column>
|
|
|
- <el-table-column prop="fCheatDeltRng" label="载频信号附加单位距离偏移"></el-table-column>
|
|
|
- <el-table-column prop="fRadBeamAzWidth" label="发射波束方位宽度"></el-table-column>
|
|
|
- <el-table-column prop="fRadBeamElWidth" label="发射波束俯仰宽度"></el-table-column>
|
|
|
- <el-table-column prop="fAziGe" label="地理系方位指向角度"></el-table-column>
|
|
|
- <el-table-column prop="fEliGe" label="地理系俯仰指向角度"></el-table-column>
|
|
|
- <el-table-column prop="fAzAn" label="机体系方位指向角度"></el-table-column>
|
|
|
- <el-table-column prop="fElAn" label="机体系俯仰指向角度"></el-table-column>
|
|
|
- </el-table>
|
|
|
- </el-card>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>干扰脉冲描述</span>
|
|
|
+ </div>
|
|
|
+ <el-table>
|
|
|
+ <el-table-column prop="uState" label="是否有效"></el-table-column>
|
|
|
+ <el-table-column prop="ulCarryAcID" label="载机编号"></el-table-column>
|
|
|
+ <el-table-column prop="ulTgtAcID" label="目标(电磁波指向)飞机的编号"></el-table-column>
|
|
|
+ <el-table-column prop="ulJamType" label="干扰类型"></el-table-column>
|
|
|
+ <el-table-column prop="dRadBegTim" label="干扰起始时间"></el-table-column>
|
|
|
+ <el-table-column prop="dRadEndTim" label="干扰结束时间"></el-table-column>
|
|
|
+ <el-table-column prop="fF0" label="载频信号"></el-table-column>
|
|
|
+ <el-table-column prop="fPeakPower" label="辐射峰值功率"></el-table-column>
|
|
|
+ <el-table-column prop="fGain" label="干扰发射增益"></el-table-column>
|
|
|
+ <el-table-column prop="ulNoiseModule" label="噪声干扰调制类型"></el-table-column>
|
|
|
+ <el-table-column prop="fNoiseBandWid" label="噪声信号带宽"></el-table-column>
|
|
|
+ <el-table-column prop="ulFalseTgtNum" label="假目标欺骗个数"></el-table-column>
|
|
|
+ <el-table-column prop="fCheatDeltFreq" label="载频信号附加单位频率偏移"></el-table-column>
|
|
|
+ <el-table-column prop="fCheatDeltRng" label="载频信号附加单位距离偏移"></el-table-column>
|
|
|
+ <el-table-column prop="fRadBeamAzWidth" label="发射波束方位宽度"></el-table-column>
|
|
|
+ <el-table-column prop="fRadBeamElWidth" label="发射波束俯仰宽度"></el-table-column>
|
|
|
+ <el-table-column prop="fAziGe" label="地理系方位指向角度"></el-table-column>
|
|
|
+ <el-table-column prop="fEliGe" label="地理系俯仰指向角度"></el-table-column>
|
|
|
+ <el-table-column prop="fAzAn" label="机体系方位指向角度"></el-table-column>
|
|
|
+ <el-table-column prop="fElAn" label="机体系俯仰指向角度"></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-card>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import { mapGetters } from 'vuex'
|
|
|
export default {
|
|
|
computed: {
|
|
|
- ...mapGetters([
|
|
|
- 'map',
|
|
|
- 'init',
|
|
|
- 'platforms',
|
|
|
- 'instances',
|
|
|
- 'properties',
|
|
|
- 'jamInstances',
|
|
|
- 'platformID'
|
|
|
- ]),
|
|
|
+ ...mapGetters([
|
|
|
+ 'map',
|
|
|
+ 'init',
|
|
|
+ 'platforms',
|
|
|
+ 'instances',
|
|
|
+ 'properties',
|
|
|
+ 'jamInstances',
|
|
|
+ 'thaadInstances',
|
|
|
+ 'platformID'
|
|
|
+ ]),
|
|
|
},
|
|
|
watch: {
|
|
|
- init: {
|
|
|
- handler: function(val, oldVal){
|
|
|
-
|
|
|
- this.setTimer();
|
|
|
- }
|
|
|
- },
|
|
|
- platforms: {
|
|
|
- handler: function(val, oldVal){
|
|
|
-
|
|
|
- }
|
|
|
- },
|
|
|
- platformID: {
|
|
|
- handler: function(val, oldVal){
|
|
|
- this.$wst.send({
|
|
|
- url:'getJammingInstances',
|
|
|
- data:{PlatformID: val}
|
|
|
- })
|
|
|
+ init: {
|
|
|
+ handler: function (val, oldVal) {
|
|
|
+
|
|
|
+ this.setTimer();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ platforms: {
|
|
|
+ handler: function (val, oldVal) {
|
|
|
|
|
|
- }
|
|
|
- },
|
|
|
- jamInstances: {
|
|
|
- handler: function(val, oldVal){
|
|
|
+ }
|
|
|
+ },
|
|
|
+ platformID: {
|
|
|
+ handler: function (val, oldVal) {
|
|
|
+ this.$wst.send({
|
|
|
+ url: 'getJammingInstances',
|
|
|
+ data: { PlatformID: val }
|
|
|
+ })
|
|
|
|
|
|
- this.instancetable = val
|
|
|
- }
|
|
|
- },
|
|
|
- properties: {
|
|
|
- handler: function(val,oldVal){
|
|
|
- this.propertyinittable = val.InitParams
|
|
|
- this.propertycontroltable = val.CtrlParams
|
|
|
+ }
|
|
|
+ },
|
|
|
+ thaadInstances: {
|
|
|
+ handler: function (val, oldVal) {
|
|
|
+ this.targetTable = val
|
|
|
+ }
|
|
|
+ },
|
|
|
+ jamInstances: {
|
|
|
+ handler: function (val, oldVal) {
|
|
|
+
|
|
|
+ this.instancetable = val
|
|
|
+ }
|
|
|
+ },
|
|
|
+ properties: {
|
|
|
+ handler: function (val, oldVal) {
|
|
|
+ this.propertyinittable = val.InitParams
|
|
|
+ this.propertycontroltable = val.CtrlParams
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
frequencevalue: '',
|
|
|
workvalue: '',
|
|
|
- frequenceAverageShow : false,
|
|
|
+ frequenceAverageShow: false,
|
|
|
radarEchart: null,
|
|
|
instancetable: null,
|
|
|
+ instanceID: null,
|
|
|
+ targetTable: null,
|
|
|
+ targetID: null,
|
|
|
propertyinittable: null,
|
|
|
- propertycontroltable: null,
|
|
|
- radars:[
|
|
|
- {
|
|
|
- key: 1,
|
|
|
- value: "雷达1",
|
|
|
- instanceID: "11"
|
|
|
+ propertycontroltable: null,
|
|
|
|
|
|
- }
|
|
|
- , {
|
|
|
- key: 2,
|
|
|
- value: "雷达2",
|
|
|
- instanceID: 12
|
|
|
- }
|
|
|
- ],
|
|
|
options: [{
|
|
|
value: 1,
|
|
|
label: '0.5~2GHz'
|
|
@@ -191,111 +196,120 @@ export default {
|
|
|
label: '自定义'
|
|
|
}],
|
|
|
options1: [{
|
|
|
- value: 1,
|
|
|
- label: '干涉仪'
|
|
|
+ value: 1,
|
|
|
+ label: '噪声调频干扰'
|
|
|
}, {
|
|
|
- value: 2,
|
|
|
- label: 'DBF'
|
|
|
+ value: 2,
|
|
|
+ label: '噪声调幅干扰'
|
|
|
}, {
|
|
|
- value: 3,
|
|
|
- label: 'ABF'
|
|
|
- },{
|
|
|
- value: 4,
|
|
|
- label: 'SEI'
|
|
|
- },{
|
|
|
- value: 5,
|
|
|
- label: '精分析'
|
|
|
- }
|
|
|
- ],
|
|
|
-
|
|
|
- echartoption: {
|
|
|
- dataZoom: {
|
|
|
- },
|
|
|
- polar: {
|
|
|
-
|
|
|
- },
|
|
|
- radiusAxis: {
|
|
|
-
|
|
|
- },
|
|
|
- angleAxis: {
|
|
|
- type: 'category',
|
|
|
- // boundaryGap: false,
|
|
|
- data: [
|
|
|
- '0°~60°',
|
|
|
- '60°~120°',
|
|
|
- '120°~180°',
|
|
|
- '180°~240°',
|
|
|
- '240°~300°',
|
|
|
- '300°~360°',
|
|
|
- ]
|
|
|
- },
|
|
|
- series: {
|
|
|
- type: 'line',
|
|
|
- coordinateSystem: 'polar',
|
|
|
- data: [12,32,42,52,62]
|
|
|
- }
|
|
|
+ value: 3,
|
|
|
+ label: '射频噪声干扰'
|
|
|
+ }, {
|
|
|
+ value: 4,
|
|
|
+ label: '距离假目标'
|
|
|
+ }, {
|
|
|
+ value: 5,
|
|
|
+ label: '速度假目标'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 6,
|
|
|
+ label: '速度拖引干扰'
|
|
|
},
|
|
|
- // radarData: {
|
|
|
- // [12, 32,42]
|
|
|
- // }
|
|
|
+ {
|
|
|
+ value: 7,
|
|
|
+ label: '间接采样转发干扰'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 8,
|
|
|
+ label: '切片转发干扰'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 9,
|
|
|
+ label: 'DRFM噪声干扰'
|
|
|
+ }
|
|
|
+ ]
|
|
|
}
|
|
|
},
|
|
|
- mounted(){
|
|
|
+ mounted() {
|
|
|
this.echartsInit();
|
|
|
- // 页面加载设置高度自适应
|
|
|
- window.onresize = () => {
|
|
|
-
|
|
|
- this.resizeDom()
|
|
|
- };
|
|
|
- // 页面加载设置高度自适应
|
|
|
- this.resizeDom()
|
|
|
+ // 页面加载设置高度自适应
|
|
|
+ window.onresize = () => {
|
|
|
+
|
|
|
+ this.resizeDom()
|
|
|
+ };
|
|
|
+ // 页面加载设置高度自适应
|
|
|
+ this.resizeDom()
|
|
|
},
|
|
|
- methods:{
|
|
|
- frequenceChange(){
|
|
|
- if(this.frequencevalue== 4) {
|
|
|
+ methods: {
|
|
|
+ frequenceChange() {
|
|
|
+ if (this.frequencevalue == 4) {
|
|
|
this.frequenceAverageShow = true;
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
this.frequenceAverageShow = false;
|
|
|
}
|
|
|
},
|
|
|
- echartsInit() {
|
|
|
- this.$echarts.init(document.getElementById('radarEchart')).setOption(this.echartoption);
|
|
|
- if(this.localEchart == null){
|
|
|
- this.radarEchart = this.$echarts.init(document.getElementById('radarEchart'))
|
|
|
- }else{
|
|
|
- this.radarEchart.setOption(this.echartoption);
|
|
|
- }
|
|
|
+ resizeDom() {
|
|
|
+ console.log("高度自适应")
|
|
|
+ // const boxHeight = document.getElementsByClassName("echarts-box")[0].clientHeight
|
|
|
+ // var Echart = document.getElementById('radarEchart')
|
|
|
+ // Echart.style.height = (boxHeight/2-65)+'px';
|
|
|
+ this.$echarts.init(document.getElementById('radarEchart')).resize()
|
|
|
},
|
|
|
- //通过窗体高宽计算容器高宽,渲染echart图表的div的宽高度以达到自适应目的
|
|
|
- resizeDom() {
|
|
|
- console.log("高度自适应")
|
|
|
- // const boxHeight = document.getElementsByClassName("echarts-box")[0].clientHeight
|
|
|
- // var Echart = document.getElementById('radarEchart')
|
|
|
- // Echart.style.height = (boxHeight/2-65)+'px';
|
|
|
- this.$echarts.init(document.getElementById('radarEchart')).resize()
|
|
|
- },
|
|
|
-
|
|
|
+ instanceChange(val) {
|
|
|
+ this.instanceID = val.instanceID;
|
|
|
+ if (val.instanceState == "开机") {
|
|
|
+ this.objecttable = this.platforms;
|
|
|
+ this.$wst.send({
|
|
|
+ url: 'getJammingParams',
|
|
|
+ data: {
|
|
|
+ InstanceID: val.instanceID,
|
|
|
+ PlatformID: this.platformID
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ this.objecttable = null;
|
|
|
+ this.propertycontroltable = null;
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ workStyleChange(val) {
|
|
|
+ console.log(val);
|
|
|
+ this.$wst.send({
|
|
|
+ url: 'setJammingStyle',
|
|
|
+ data: {
|
|
|
+ InstanceID: this.instanceID,
|
|
|
+ PlatformID: this.platformID,
|
|
|
+ Style: val
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ targetChange(val) {
|
|
|
+ console.log(val);
|
|
|
+ }
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
</script>
|
|
|
<style scoped>
|
|
|
-.tableHeight{
|
|
|
-}
|
|
|
+.tableHeight {}
|
|
|
|
|
|
-.echarts-box{
|
|
|
- height: 100%;
|
|
|
- width: 100%;
|
|
|
+.echarts-box {
|
|
|
+ height: 100%;
|
|
|
+ width: 100%;
|
|
|
}
|
|
|
-.mapecharts{
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
+
|
|
|
+.mapecharts {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
}
|
|
|
-.radar{
|
|
|
+
|
|
|
+.radar {
|
|
|
height: 100%;
|
|
|
}
|
|
|
-.radar /deep/ .el-card__body{
|
|
|
- height: calc(100% - 100px);
|
|
|
+
|
|
|
+.radar /deep/ .el-card__body {
|
|
|
+ height: calc(100% - 100px);
|
|
|
|
|
|
}
|
|
|
</style>
|