Haobin Luo 2 년 전
부모
커밋
9ffd964367
3개의 변경된 파일283개의 추가작업 그리고 24100개의 파일을 삭제
  1. 1 23809
      vue/package-lock.json
  2. 250 236
      vue/src/views/ECMManager/index.vue
  3. 32 55
      vue/src/views/taskManagement/index.vue

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 23809
vue/package-lock.json


+ 250 - 236
vue/src/views/ECMManager/index.vue

@@ -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>

+ 32 - 55
vue/src/views/taskManagement/index.vue

@@ -23,58 +23,29 @@
           <div style="display: flex">
             <div>
               目标执行区域:
-              <el-select
-                :change="areaChange()"
-                placeholder="请选择"
-                v-model="airLine.TargetArea"
-              >
-                <el-option
-                  v-for="item in options1"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
+              <el-select :change="areaChange()" placeholder="请选择" v-model="airLine.TargetArea">
+                <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value">
                 </el-option>
               </el-select>
             </div>
             <div v-if="this.axioShow" 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>
+                <el-input-number v-model="num9" :precision="2" :step="0.1" :max="10"></el-input-number>
               </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>
+                <el-input-number v-model="num9" :precision="2" :step="0.1" :max="10"></el-input-number>
               </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>
+                <el-input-number v-model="num9" :precision="2" :step="0.1" :max="10"></el-input-number>
               </div>
             </div>
             <div style="margin-left: 5px">
               <el-row>
                 <span>半径:</span>
-                <el-input
-                  style="width: unset !important"
-                  placeholder="请输入内容"
-                  v-model="radius"
-                  clearable
-                >
+                <el-input style="width: unset !important" placeholder="请输入内容" v-model="radius" clearable>
                 </el-input>
               </el-row>
             </div>
@@ -83,17 +54,8 @@
           <div style="display: flex">
             <div style="padding-top: 5px">
               任务:
-              <el-select
-                :change="areaChange()"
-                v-model="areaValue"
-                placeholder="请选择"
-              >
-                <el-option
-                  v-for="item in options2"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
+              <el-select :change="areaChange()" v-model="areaValue" placeholder="请选择">
+                <el-option v-for="item in options2" :key="item.value" :label="item.label" :value="item.value">
                 </el-option>
               </el-select>
             </div>
@@ -124,12 +86,12 @@
           <div slot="header" class="clearfix">
             <span>外部协同管理</span>
           </div>
-          <el-cascader
-            :options="options"
-            v-model="selectedOptions"
-            @change="handleChange"
-          >
+          <el-cascader :options="options" v-model="selectedOptions" @change="handleChange">
           </el-cascader>
+          <el-select v-model="selectedCoopPlatform" @change="handleCoopPlatformChange">
+            <el-option v-for="item in platforms" :key="item.platformID" :label="item.platformID" :value="item.value">
+            </el-option>
+          </el-select>
         </el-card>
       </el-row>
     </el-col>
@@ -140,7 +102,7 @@
 import { mapGetters } from "vuex";
 export default {
   computed: {
-    ...mapGetters(["init", "leadPost", "platformID", "airLine", "taskPlan"]),
+    ...mapGetters(["init", "leadPost", "platforms", "platformID", "airLine", "taskPlan"]),
   },
   watch: {
     init: {
@@ -161,8 +123,13 @@ export default {
         this.$wst.send({ url: "getTaskPlan", data: { PlatformID: val } });
       },
     },
+    platforms: {
+      handler: function (val, oldVal) {
+        this.optionsCoopPlatform = val;
+      }
+    },
     leadPost: {
-      handler: function (val, oldVal) {},
+      handler: function (val, oldVal) { },
     },
   },
   data() {
@@ -170,6 +137,7 @@ export default {
       axioShow: false,
       areaValue: null,
       selectedOptions: null,
+      selectedCoopPlatform: null,
       radius: "",
       options: [
         {
@@ -225,6 +193,9 @@ export default {
           label: "雷达扫描",
         },
       ],
+      optionsCoopPlatform: [
+
+      ]
     };
   },
   mounted() {
@@ -233,7 +204,8 @@ export default {
         url: "getLeadPost",
         data: { platformID: this.platformID },
       });
-    }
+    };
+    this.optionsCoopPlatform = platforms;
   },
   methods: {
     areaChange() {
@@ -243,7 +215,12 @@ export default {
         this.axioShow = false;
       }
     },
-    handleChange() {},
+    handleChange() {
+      this.optionsCoopPlatform = platforms
+    },
+    handleCoopPlatformChange(val, oldVal) {
+      this.selectedCoopPlatform = val
+    }
   },
 };
 </script>

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.