ソースを参照

目录和录用修改

zlSun 4 ヶ月 前
コミット
aee78f69da

+ 9 - 98
src/layout/Aside/index.vue

@@ -2,109 +2,20 @@
   <el-aside class="MainAside">
     <el-menu class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose" background-color="transparent"
       text-color="#fff" active-text-color="#19c3eb" :default-active="$route.path" :collapse="isCollapse" router>
-      <!-- <el-menu-item index="/home/taskManagement" style="margin-top:20px;">
-        <dv-decoration-11 style="width:200px;height:60px;">任务管理显控</dv-decoration-11>
-      </el-menu-item>
-      <el-menu-item index="/home/networkManagement">
-        <dv-decoration-11 style="width:200px;height:60px;">通信管理显控</dv-decoration-11>
-      </el-menu-item>
-      <el-menu-item index="/home/functionalityManagement">
-        <dv-decoration-11 style="width:200px;height:60px;">健康管理显控</dv-decoration-11>
-      </el-menu-item>
-      <el-submenu index="4">
-        <template slot="title">
-          <dv-decoration-11 style="width:200px;height:60px;">侦察资源显控</dv-decoration-11>
-        </template>
-        <el-menu-item index="/home/radarInvestigation">
-          <dv-decoration-7 style="width:200px;height:60px;">雷侦显控</dv-decoration-7>
-        </el-menu-item>
-        <el-menu-item index="/home/telecomInvestigation">
-          <dv-decoration-7 style="width:200px;height:60px;">通侦显控</dv-decoration-7>
-        </el-menu-item>
-        <el-menu-item index="/home/opticalInvestigation">
-          <dv-decoration-7 style="width:200px;height:60px;">光电成像显控</dv-decoration-7>
-        </el-menu-item>
-        <el-menu-item index="/home/sarInvestigation">
-          <dv-decoration-7 style="width:200px;height:60px;">雷达成像显控</dv-decoration-7>
-        </el-menu-item>
-      </el-submenu>
-      <el-menu-item index="/home/intelESMProcess">
-        <dv-decoration-11 style="width:200px;height:60px;">情报处理分发</dv-decoration-11>
-      </el-menu-item>
-      <el-menu-item index="/home/situation">
-        <dv-decoration-11 style="width:200px;height:60px;">态势显控</dv-decoration-11>
-      </el-menu-item>
-      <el-menu-item index="/home/dataManagement">
-        <dv-decoration-11 style="width:200px;height:60px;">数据管理显控</dv-decoration-11>
-      </el-menu-item>  -->
-
-      <!-- <el-submenu index="1">
-        <template slot="title">
-          <dv-decoration-11 style="width:200px;height:60px;">任务平台</dv-decoration-11>
-        </template>
-        <el-submenu index="11">
-          <template slot="title">
-          <dv-decoration-7 style="width:200px;height:60px;">状态监控</dv-decoration-7>
-          </template>
-          <el-menu-item index="/home/telecomInvestigation">
-            <dv-decoration-7 style="width:200px;height:60px;">干扰方监控</dv-decoration-7>
-          </el-menu-item>
-          <el-menu-item index="/home/radarInvestigation">
-            <dv-decoration-7 style="width:200px;height:60px;">雷达方监控</dv-decoration-7>
-          </el-menu-item>
-          <el-menu-item index="/home/opticalInvestigation">
-            <dv-decoration-7 style="width:200px;height:60px;">半实物设备监控</dv-decoration-7>
-          </el-menu-item>
-        </el-submenu>
-        <el-submenu index="12">
-          <template slot="title">
-          <dv-decoration-7 style="width:200px;height:60px;">任务构建</dv-decoration-7>
-          </template>
-          <el-menu-item index="/home/taskManagement">
-            <dv-decoration-7 style="width:200px;height:60px;">干扰协同任务管理</dv-decoration-7>
-          </el-menu-item>
-          <el-menu-item index="/home/radarTask">
-            <dv-decoration-7 style="width:200px;height:60px;">雷达协同任务管理</dv-decoration-7>
-          </el-menu-item>
-          <el-menu-item index="/home/sarInvestigation">
-            <dv-decoration-7 style="width:200px;height:60px;">场景想定</dv-decoration-7>
-          </el-menu-item>
-        </el-submenu>
-        <el-submenu index="13">
-          <template slot="title">
-          <dv-decoration-7 style="width:200px;height:60px;">策略注入</dv-decoration-7>
-          </template>
-          <el-menu-item index="/home/planManagement/algoManagement">
-            <dv-decoration-7 style="width:200px;height:60px;">算法部署</dv-decoration-7>
-          </el-menu-item>
-          <el-menu-item index="/home/planManagement/planConfig">
-            <dv-decoration-7 style="width:200px;height:60px;">策略配置</dv-decoration-7>
-          </el-menu-item>
-          <el-menu-item index="/home/planManagement/resultEvaluate">
-            <dv-decoration-7 style="width:200px;height:60px;">效果评估</dv-decoration-7>
-          </el-menu-item>
-        </el-submenu>
-        <el-menu-item index="14">
-          <dv-decoration-7 style="width:200px;height:60px;">模型参数配置</dv-decoration-7>
-        </el-menu-item>
-        <el-menu-item index="/home/situation">
-          <dv-decoration-7 style="width:200px;height:60px;">态势显示</dv-decoration-7>
-        </el-menu-item>
-      </el-submenu> -->
       <el-submenu index="2">
         <template slot="title">
           <dv-decoration-11 style="width:200px;height:60px;">数据交换平台</dv-decoration-11>
         </template>
-        <el-menu-item index="/home/intelESMProcess">
+        <el-menu-item index="/home/messageManagement">
           <dv-decoration-7 style="width:200px;height:60px;">消息管理</dv-decoration-7>
         </el-menu-item>
-        <el-menu-item index="/home/intelGroup">
+        <el-menu-item index="/home/groupManagement">
           <dv-decoration-7 style="width:200px;height:60px;">网络分组</dv-decoration-7>
         </el-menu-item>
-        <el-menu-item index="/home/functionalityManagement">
+        <el-menu-item index="/home/communicationManagement">
           <dv-decoration-7 style="width:200px;height:60px;">通信状态质量管理</dv-decoration-7>
         </el-menu-item>
-        <el-menu-item index="/home/sar">
+        <el-menu-item index="/home/semiPhysicalSystem">
           <dv-decoration-7 style="width:200px;height:60px;">半实物系统数据交互</dv-decoration-7>
         </el-menu-item>
       </el-submenu>
@@ -117,7 +28,7 @@ export default {
   name: 'Aside',
   data() {
     return {
-      
+
     };
   },
   computed: {
@@ -157,7 +68,7 @@ export default {
     color: #f46827 !important;
     background: none !important;
     text-decoration: underline;
-    
+
 }
 .el-menu-item:hover i {
       color: #f46827 !important;
@@ -177,18 +88,18 @@ export default {
     color: #f46827 !important;
     background: none !important;
     text-decoration: underline;
-    
+
 }
 
 /deep/ .el-submenu__title:hover i{
     color: #f46827 !important;
     background: none !important;
     text-decoration: underline;
-    
+
 }
 
 /deep/ .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{
-	display: none; 
+	display: none;
 
 }
 

+ 14 - 82
src/router/index.js

@@ -16,100 +16,32 @@ export const constantRoutes = [ // 配置路由,这里是个数组
     {
         path: '/home',
         component: Layout,
-        redirect: '/home/intelESMProcess',
-        children: [{
-                path: 'taskManagement',
-                name: 'taskManagement',
-                component: () =>
-                    import ('@/views/taskManagement/index')
-            },
-            {
-                path: 'radarTask',
-                name: 'radarTask',
-                component: () =>
-                    import ('@/views/radarTask/index')
-            },
-            {
-                path: 'networkManagement',
-                name: 'networkManagement',
-                component: () =>
-                    import ('@/views/networkManagement/index')
-            },
-            {
-                path: 'functionalityManagement',
-                name: 'functionalityManagement',
-                component: () =>
-                    import ('@/views/networkManagement/index')
-            },
-            {
-                path: 'radarInvestigation',
-                name: 'radarInvestigation',
-                component: () =>
-                    import ('@/views/radarInvestigation/index')
-            },
-            {
-                path: 'telecomInvestigation',
-                name: 'telecomInvestigation',
-                component: () =>
-                    import ('@/views/telecomInvestigation/index')
-            },
+        redirect: '/home/messageManagement',
+        children: [
             {
-                path: 'opticalInvestigation',
-                name: 'opticalInvestigation',
+                path: 'messageManagement',
+                name: 'messageManagement',
                 component: () =>
-                    import ('@/views/opticalInvestigation/index')
+                    import ('@/views/messageManagement/index')
             },
             {
-                path: 'sarInvestigation',
-                name: 'sarInvestigation',
+                path: 'groupManagement',
+                name: 'groupManagement',
                 component: () =>
-                    import ('@/views/sarInvestigation/index')
+                    import ('@/views/groupManagement/index')
             },
             {
-                path: 'intelESMProcess',
-                name: 'intelESMProcess',
+                path: 'communicationManagement',
+                name: 'communicationManagement',
                 component: () =>
-                    import ('@/views/intelESMProcess/index')
+                    import ('@/views/communicationManagement/index')
             },
             {
-                path: 'situation',
-                name: 'situation',
+                path: 'semiPhysicalSystem',
+                name: 'semiPhysicalSystem',
                 component: () =>
-                    import ('@/views/situation/index')
+                    import ('@/views/semiPhysicalSystem/index')
             },
-            {
-                path: 'planManagement/algoManagement',
-                name: 'algoManagement',
-                component: () =>
-                    import ('@/views/planManagement/algoManagement')
-            },
-            {
-                path: 'planManagement/planConfig',
-                name: 'planConfig',
-                component: () =>
-                    import ('@/views/planManagement/planConfig')
-            },
-            {
-                path: 'planManagement/resultEvaluate',
-                name: 'resultEvaluate',
-                component: () =>
-                    import ('@/views/planManagement/resultEvaluate')
-            },
-            {
-                path: 'intelGroup',
-                name: 'intelGroup',
-                component: () =>
-                    import ('@/views/intelESMProcess/intelGroup')
-            },
-            {
-                path: 'sar',
-                name: 'sar',
-                component: () =>
-                    import ('@/views/sar/index')
-            }
-
-
-
         ]
     }
 

+ 2 - 1
src/views/networkManagement/index.vue → src/views/communicationManagement/index.vue

@@ -179,6 +179,8 @@ export default {
   },
   activated() {
     this.init();
+    this.interval=setInterval(this.fetchData, 5000)
+
   },
   deactivated() {
     if(this.interval){
@@ -193,7 +195,6 @@ export default {
     };
     // 页面加载设置高度自适应
     this.resizeDom();
-    this.interval=setInterval(this.fetchData, 5000)
   },
   methods: {
     async init() {

+ 0 - 245
src/views/functionalityManagement/index.vue

@@ -1,245 +0,0 @@
-<template>
-  <el-row :gutter="20" class="fullheight">
-    <el-col :span="12" class="fullheight">
-        <el-card class="boxcard" style="height:33%">
-          <div slot="header" class="clearfix">
-            <span>系统健康状态:{{ platformID }}</span>
-          </div>
-          <div style="display: flex; height: 100%">
-            <div style="margin: 0 auto">
-              <el-progress
-                type="circle"
-                :percentage="systemFunctionality"
-                status="success"
-              ></el-progress>
-            </div>
-          </div>
-        </el-card>
-        <el-card class="flexcard" style="height:33%">
-          <div slot="header" class="clearfix">
-            <span>软件线程健康状态</span>
-          </div>
-          <div style="display: flex">
-            <template v-for="thread in threads">
-              <el-card class="flexcard">
-                <div slot="header" class="clearfix">
-                  <span>{{ thread.key }}</span>
-                </div>
-                <div style="display: flex; height: 100%">
-                  <div style="margin: 0 auto">
-                    <el-progress
-                      type="circle"
-                      :percentage="thread.value"
-                      status="success"
-                      :width="80"
-                    ></el-progress>
-                  </div>
-                </div>
-              </el-card>
-            </template>
-          </div>
-        </el-card>
-        <el-card class="flexcard" style="height:34%">
-          <div slot="header" class="clearfix">
-            <span>传感器健康状态</span>
-          </div>
-          <div style="display: flex">
-            <template v-for="sensor in sensors">
-              <el-card class="flexcard">
-                <div slot="header" class="clearfix">
-                  <span>{{ sensor.key }}</span>
-                </div>
-                <div style="display: flex; height: 100%">
-                  <div style="margin: 0 auto">
-                    <el-progress
-                      type="circle"
-                      :percentage="sensor.value"
-                      status="success"
-                      :width="80"
-                    ></el-progress>
-                  </div>
-                </div>
-              </el-card>
-            </template>
-          </div>
-        </el-card>
-    </el-col>
-    <el-col :span="12" class="fullheight">
-        <el-card class="box-card" style="height: 33%">
-          <div slot="header" class="clearfix">
-            <span>V/U通信设备健康状态</span>
-          </div>
-          <div style="display: flex">
-            <template v-for="i in deviceVU">
-              <el-card class="flexcard">
-                <div slot="header" class="clearfix">
-                  <span>{{ i.key }}</span>
-                </div>
-                <div style="display: flex">
-                  <div style="margin: 0 auto">
-                    <el-progress
-                      type="circle"
-                      :percentage="i.value"
-                      status="success"
-                      :width="60"
-                    ></el-progress>
-                  </div>
-                </div>
-              </el-card>
-            </template>
-          </div>
-        </el-card>
-        <el-card class="box-card" style="height: 33%">
-          <div slot="header" class="clearfix">
-            <span>J通信设备健康状态</span>
-          </div>
-          <div style="display: flex">
-            <template v-for="i in deviceJ">
-              <el-card class="flexcard">
-                <div slot="header" class="clearfix">
-                  <span>{{ i.key }}</span>
-                </div>
-                <div style="display: flex">
-                  <div style="margin: 0 auto">
-                    <el-progress
-                      type="circle"
-                      :percentage="i.value"
-                      status="success"
-                      :width="60"
-                    ></el-progress>
-                  </div>
-                </div>
-              </el-card>
-            </template>
-          </div>
-        </el-card>
-        <el-card class="box-card" style="height: 34%">
-          <div slot="header" class="clearfix">
-            <span>ZY通信设备健康状态</span>
-          </div>
-          <div style="display: flex">
-            <template v-for="i in deviceZY">
-              <el-card class="flexcard">
-                <div slot="header" class="clearfix">
-                  <span>{{ i.key }}</span>
-                </div>
-                <div style="display: flex">
-                  <div style="margin: 0 auto">
-                    <el-progress
-                      type="circle"
-                      :percentage="i.value"
-                      status="success"
-                      :width="60"
-                    ></el-progress>
-                  </div>
-                </div>
-              </el-card>
-            </template>
-          </div>
-        </el-card>
-    </el-col>
-  </el-row>
-</template>
-<script>
-import { mapGetters } from "vuex";
-export default {
-  data() {
-    return {
-      systemFunctionalityTemplate: 100,
-      threadsTemplate: [
-        { key: "导航接口", value: 100 },
-        { key: "ESM接口", value: 100 },
-        { key: "图侦接口", value: 0 },
-        { key: "情报接口", value: 100 },
-        { key: "多站分选", value: 100 },
-        { key: "多站定位", value: 100 },
-      ],
-      sensorsTemplate: [
-        { key: "导航模拟器", value: 100 },
-        { key: "信号侦察模拟器", value: 100 },
-        { key: "图像侦察模拟器", value: 0 },
-      ],
-      deviceVUTemplate: [
-        { key: "发射机", value: 100 },
-        { key: "功放", value: 100 },
-        { key: "接收机", value: 100 },
-        { key: "数据处理", value: 100 },
-      ],
-      deviceJTemplate: [
-        { key: "发射机", value: 100 },
-        { key: "功放", value: 100 },
-        { key: "接收机", value: 100 },
-        { key: "数据处理", value: 100 },
-      ],
-      deviceZYTemplate: [
-        { key: "发射机", value: 0 },
-        { key: "功放", value: 0 },
-        { key: "接收机", value: 0 },
-        { key: "数据处理", value: 0 },
-      ],
-    };
-  },
-  computed: {
-    ...mapGetters([
-      "platformID",
-      "systemFunctionality",
-      "threads",
-      "sensors",
-      "deviceVU",
-      "deviceJ",
-      "deviceZY",
-    ]),
-  },
-  watch: {
-    platformID: {
-      handler: function (val, oldVal) {
-        this.$store.commit(
-          "app/setSystemFunctionality",
-          this.systemFunctionalityTemplate
-        );
-        this.$store.commit("app/setThreads", this.threadsTemplate);
-        this.$store.commit("app/setSensors", this.sensorsTemplate);
-        this.$store.commit("app/setDeviceVU", this.deviceVUTemplate);
-        this.$store.commit("app/setDeviceJ", this.deviceJTemplate);
-        this.$store.commit("app/setDeviceZY", this.deviceZYTemplate);
-      },
-    },
-  },
-  mounted() {
-    if (this.platformID != null) {
-      this.$store.commit(
-        "app/setSystemFunctionality",
-        this.systemFunctionalityTemplate
-      );
-      this.$store.commit("app/setThreads", this.threadsTemplate);
-      this.$store.commit("app/setSensors", this.sensorsTemplate);
-      this.$store.commit("app/setDeviceVU", this.deviceVUTemplate);
-      this.$store.commit("app/setDeviceJ", this.deviceJTemplate);
-      this.$store.commit("app/setDeviceZY", this.deviceZYTemplate);
-    }
-  },
-};
-</script>
-
-<style scoped>
-.flexcard {
-  flex: 1;
-  margin: 0 auto;
-}
-.boxcard {
-  height: 33%;
-}
-.fullheight {
-  height: 100%;
-  min-height: 100%;
-  max-height: 100%;
-}
-.clearfix:before,
-.clearfix:after {
-  display: table;
-  content: "";
-}
-.clearfix:after {
-  clear: both;
-}
-</style>

+ 0 - 0
src/views/intelESMProcess/intelGroup.vue → src/views/groupManagement/index.vue


+ 2 - 11
src/views/intelESMProcess/index.vue → src/views/messageManagement/index.vue

@@ -48,13 +48,8 @@
               <el-table-column prop="area" label="区域" width="55"></el-table-column>
               <el-table-column prop="strategy" label="干扰策略" width="80"></el-table-column>
               <el-table-column prop="target" label="干扰目标" width="80"></el-table-column>
-              <el-table-column prop="isCollaborated" label="是否协同干扰" width="110">
-                <template v-slot="scope">
-                     <span v-if="scope.row.isCollaborated === 1">是</span>
-                     <span v-else>否</span>
-                </template>
-              </el-table-column>
-              <el-table-column prop="pri" label="PRI(MHz)"></el-table-column>
+              <el-table-column prop="isCollaborated" label="是否协同干扰" width="110"/>
+              <el-table-column prop="pri" label="PRI(MHz)" width="100"></el-table-column>
               <el-table-column prop="from" label="发送方"></el-table-column>
               <el-table-column prop="to" label="接收方"></el-table-column>
             </el-table>
@@ -86,10 +81,6 @@
             <el-table-column prop="type" label="消息类型"></el-table-column>
             <el-table-column prop="priority" label="优先级"></el-table-column>
             <el-table-column prop="isBroadcast" label="是否广播">
-              <template v-slot="scope">
-                <span v-if="scope.row.isBroadcast === 1">是</span>
-                <span v-else>否</span>
-              </template>
             </el-table-column>
             <el-table-column prop="from" label="发送方"></el-table-column>
             <el-table-column prop="to" label="接收方"></el-table-column>

+ 0 - 142
src/views/opticalInvestigation/index.vue

@@ -1,142 +0,0 @@
-<template>
-    <el-container>
-      <el-header>
-        <el-button type="primary" @click="addDevice()">添加新设备</el-button>
-      </el-header>
-      <el-main>
-        <el-table :data="devices" style="width: 100%">
-          <el-table-column prop="id" label="ID" width="80"></el-table-column>
-          <el-table-column prop="name" label="名称" width="120"></el-table-column>
-          <el-table-column prop="model" label="型号" width="120"></el-table-column>
-          <el-table-column prop="manufacturer" label="制造商" width="120"></el-table-column>
-          <el-table-column prop="version" label="版本" width="120"></el-table-column>
-          <el-table-column prop="status" label="状态" width="120">
-            <template #default="scope">
-              <el-tag :type="scope.row.status === '正常' ? 'success' : 'warning'">{{ scope.row.status }}</el-tag>
-            </template>
-          </el-table-column>
-          <el-table-column prop="lastUpdated" label="最后更新时间" width="160"></el-table-column>
-          <el-table-column fixed="right" label="操作" width="180">
-            <template #default="scope">
-              <el-button size="small" @click="editDevice(scope.row)">编辑</el-button>
-              <el-button size="small" type="danger" @click="deleteDevice(scope.row)">删除</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-      </el-main>
-  
-      <!-- 添加/编辑设备的对话框 -->
-      <el-dialog v-model="showAddDialog" title="添加/编辑设备">
-        <el-form ref="deviceForm" :model="currentDevice" :rules="formRules" label-width="80px">
-          <el-form-item label="名称" prop="name">
-            <el-input v-model="currentDevice.name"></el-input>
-          </el-form-item>
-          <el-form-item label="型号" prop="model">
-            <el-input v-model="currentDevice.model"></el-input>
-          </el-form-item>
-          <el-form-item label="制造商" prop="manufacturer">
-            <el-input v-model="currentDevice.manufacturer"></el-input>
-          </el-form-item>
-          <el-form-item label="版本" prop="version">
-            <el-input v-model="currentDevice.version"></el-input>
-          </el-form-item>
-          <el-form-item label="状态" prop="status">
-            <el-select v-model="currentDevice.status" placeholder="请选择">
-              <el-option v-for="item in statusOptions" :key="item.value" :label="item.label" :value="item.value">
-              </el-option>
-            </el-select>
-          </el-form-item>
-        </el-form>
-        <template #footer>
-          <span class="dialog-footer">
-            <el-button @click="showAddDialog = false">取消</el-button>
-            <el-button type="primary" @click="saveDevice">保存</el-button>
-          </span>
-        </template>
-      </el-dialog>
-    </el-container>
-  </template>
-  
-  <script>
-  export default {
-    data() {
-      return {
-        devices: [
-          { id: 1, name: '设备A', model: 'Model 123', manufacturer: 'XYZ 公司', version: '1.0.0', status: '正常', lastUpdated: '2024-08-28 15:00:00' },
-          { id: 2, name: '设备B', model: 'Model 456', manufacturer: 'ABC 公司', version: '2.1.3', status: '维护中', lastUpdated: '2024-08-28 16:00:00' }
-        ],
-        showAddDialog: false,
-        currentDevice: { id: null, name: '', model: '', manufacturer: '', version: '', status: '', lastUpdated: '' },
-        statusOptions: [
-          { value: '正常', label: '正常' },
-          { value: '维护中', label: '维护中' },
-          { value: '故障', label: '故障' }
-        ],
-        formRules: {
-          name: [{ required: true, message: '请输入设备名称', trigger: 'blur' }],
-          model: [{ required: true, message: '请输入设备型号', trigger: 'blur' }],
-          manufacturer: [{ required: true, message: '请输入制造商', trigger: 'blur' }],
-          version: [{ required: true, message: '请输入版本号', trigger: 'blur' }],
-          status: [{ required: true, message: '请选择状态', trigger: 'change' }]
-        }
-      };
-    },
-    methods: {
-      addDevice() {
-        this.currentDevice = { id: null, name: '', model: '', manufacturer: '', version: '', status: '', lastUpdated: '' };
-        this.showAddDialog = true;
-      },
-      editDevice(device) {
-        this.currentDevice = { ...device };
-        this.showAddDialog = true;
-      },
-      deleteDevice(device) {
-        this.$confirm('确定删除该设备?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          const index = this.devices.findIndex(d => d.id === device.id);
-          if (index !== -1) {
-            this.devices.splice(index, 1);
-            this.$message({
-              type: 'success',
-              message: '删除成功!'
-            });
-          }
-        }).catch(() => {});
-      },
-      saveDevice() {
-        this.$refs.deviceForm.validate(valid => {
-          if (valid) {
-            if (this.currentDevice.id) {
-              // 更新现有设备
-              const index = this.devices.findIndex(d => d.id === this.currentDevice.id);
-              if (index !== -1) {
-                this.devices[index] = this.currentDevice;
-              }
-            } else {
-              // 添加新设备
-              this.currentDevice.id = this.devices.length + 1;
-              this.currentDevice.lastUpdated = new Date().toISOString();
-              this.devices.push(this.currentDevice);
-            }
-            this.showAddDialog = false;
-            this.$message({
-              type: 'success',
-              message: '保存成功!'
-            });
-          }
-        });
-      }
-    }
-  };
-  </script>
-  
-  <style scoped>
-  .el-header {
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-  }
-  </style>

+ 0 - 143
src/views/planManagement/algoManagement.vue

@@ -1,143 +0,0 @@
-<template>
-  <div id="app">
-      <div>
-        <el-button type="primary" @click="openUploadDialog">上传算法</el-button>
-        <el-table :data="algorithms" style="width: 100%">
-          <el-table-column prop="name" label="算法名称"></el-table-column>
-          <el-table-column prop="type" label="算法类型"></el-table-column>
-          <el-table-column prop="description" label="算法描述"></el-table-column>
-          <el-table-column prop="uploadDate" label="上传日期"></el-table-column>
-          <el-table-column prop="status" label="状态"></el-table-column>
-          <el-table-column label="操作">
-            <template slot-scope="scope">
-              <el-button @click="openEditDialog(scope.row)" size="small">修改</el-button>
-              <el-button @click="deleteAlgorithm(scope.row.id)" type="danger" size="small">删除</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-
-    <!-- 上传对话框 -->
-    <el-dialog title="上传算法" :visible.sync="uploadDialogVisible">
-      <el-form :model="newAlgorithm" label-width="120px">
-        <el-form-item label="算法名称">
-          <el-input v-model="newAlgorithm.name"></el-input>
-        </el-form-item>
-        <el-form-item label="算法类型">
-          <el-select v-model="newAlgorithm.type" placeholder="请选择算法类型">
-            <el-option label="雷达方拦截算法" value="radar_intercept"></el-option>
-            <el-option label="干扰方电子干扰算法" value="electronic_interference"></el-option>
-            <el-option label="深度学习算法" value="deep_learning"></el-option>
-            <el-option label="强化学习算法" value="reinforcement_learning"></el-option>
-            <el-option label="雷达探测与抗干扰算法" value="radar_detection"></el-option>
-            <el-option label="智能干扰机协同干扰算法" value="cooperative_interference"></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="算法描述">
-          <el-input type="textarea" v-model="newAlgorithm.description"></el-input>
-        </el-form-item>
-        <el-form-item label="状态">
-          <el-select v-model="newAlgorithm.status" placeholder="请选择状态">
-            <el-option label="启用" value="enabled"></el-option>
-            <el-option label="禁用" value="disabled"></el-option>
-          </el-select>
-        </el-form-item>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="uploadDialogVisible = false">取消</el-button>
-        <el-button type="primary" @click="uploadAlgorithm">上传</el-button>
-      </span>
-    </el-dialog>
-
-    <!-- 修改对话框 -->
-    <el-dialog title="修改算法" :visible.sync="editDialogVisible">
-      <el-form :model="selectedAlgorithm" label-width="120px">
-        <el-form-item label="算法名称">
-          <el-input v-model="selectedAlgorithm.name"></el-input>
-        </el-form-item>
-        <el-form-item label="算法类型">
-          <el-select v-model="selectedAlgorithm.type" placeholder="请选择算法类型">
-            <el-option label="雷达方拦截算法" value="radar_intercept"></el-option>
-            <el-option label="干扰方电子干扰算法" value="electronic_interference"></el-option>
-            <el-option label="深度学习算法" value="deep_learning"></el-option>
-            <el-option label="强化学习算法" value="reinforcement_learning"></el-option>
-            <el-option label="雷达探测与抗干扰算法" value="radar_detection"></el-option>
-            <el-option label="智能干扰机协同干扰算法" value="cooperative_interference"></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="算法描述">
-          <el-input type="textarea" v-model="selectedAlgorithm.description"></el-input>
-        </el-form-item>
-        <el-form-item label="状态">
-          <el-select v-model="selectedAlgorithm.status" placeholder="请选择状态">
-            <el-option label="启用" value="enabled"></el-option>
-            <el-option label="禁用" value="disabled"></el-option>
-          </el-select>
-        </el-form-item>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="editDialogVisible = false">取消</el-button>
-        <el-button type="primary" @click="saveChanges">保存</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      algorithms: [
-        { id: 1, name: '雷达方拦截算法A', type: 'radar_intercept', description: '描述A', uploadDate: '2024-08-01', status: 'enabled' },
-        { id: 2, name: '电子干扰算法B', type: 'electronic_interference', description: '描述B', uploadDate: '2024-08-15', status: 'disabled' },
-        { id: 3, name: '深度学习算法C', type: 'deep_learning', description: '描述C', uploadDate: '2024-08-20', status: 'enabled' },
-        // 更多示例数据
-      ],
-      uploadDialogVisible: false,
-      editDialogVisible: false,
-      newAlgorithm: {
-        name: '',
-        type: '',
-        description: '',
-        status: ''
-      },
-      selectedAlgorithm: {}
-    };
-  },
-  methods: {
-    openUploadDialog() {
-      this.uploadDialogVisible = true;
-    },
-    uploadAlgorithm() {
-      // 添加上传日期
-      const newAlgorithm = { ...this.newAlgorithm, id: Date.now(), uploadDate: new Date().toISOString().split('T')[0] };
-      this.algorithms.push(newAlgorithm);
-      this.uploadDialogVisible = false;
-      this.newAlgorithm = { name: '', type: '', description: '', status: '' };
-    },
-    openEditDialog(algorithm) {
-      this.selectedAlgorithm = { ...algorithm };
-      this.editDialogVisible = true;
-    },
-    saveChanges() {
-      const index = this.algorithms.findIndex(alg => alg.id === this.selectedAlgorithm.id);
-      if (index !== -1) {
-        this.algorithms.splice(index, 1, this.selectedAlgorithm);
-      }
-      this.editDialogVisible = false;
-    },
-    deleteAlgorithm(id) {
-      this.algorithms = this.algorithms.filter(alg => alg.id !== id);
-    }
-  }
-};
-</script>
-
-<style>
-#app {
-  padding: 20px;
-}
-.el-table {
-  margin-top: 20px;
-}
-</style>

+ 0 - 141
src/views/planManagement/planConfig.vue

@@ -1,141 +0,0 @@
-<template>
-    <div id="app">
-      <el-container>
-        <el-main>
-          <el-button type="primary" @click="openUploadDialog">配置策略</el-button>
-          <el-table :data="strategies" style="width: 100%" >
-            <el-table-column prop="name" label="策略名称"></el-table-column>
-            <el-table-column prop="algorithms" label="算法组合">
-              <template slot-scope="scope">
-                <div v-for="alg in scope.row.algorithms" :key="alg">{{ alg }}</div>
-              </template>
-            </el-table-column>
-            <el-table-column prop="modelAddress" label="模型地址"></el-table-column>
-            <el-table-column prop="modelPort" label="模型端口"></el-table-column>
-            <el-table-column label="操作">
-              <template slot-scope="scope">
-                <el-button @click="openEditDialog(scope.row)" size="small">修改</el-button>
-                <el-button @click="deleteStrategy(scope.row.id)" type="danger" size="small">删除</el-button>
-              </template>
-            </el-table-column>
-          </el-table>
-        </el-main>
-      </el-container>
-  
-      <!-- 上传对话框 -->
-      <el-dialog title="配置策略" :visible.sync="uploadDialogVisible">
-        <el-form :model="newStrategy" label-width="120px">
-          <el-form-item label="策略名称">
-            <el-input v-model="newStrategy.name"></el-input>
-          </el-form-item>
-          <el-form-item label="算法组合">
-            <el-select v-model="newStrategy.algorithms" multiple placeholder="请选择算法">
-              <el-option label="雷达方拦截算法" value="radar_intercept"></el-option>
-              <el-option label="干扰方电子干扰算法" value="electronic_interference"></el-option>
-              <el-option label="深度学习算法" value="deep_learning"></el-option>
-              <el-option label="强化学习算法" value="reinforcement_learning"></el-option>
-              <el-option label="雷达探测与抗干扰算法" value="radar_detection"></el-option>
-              <el-option label="智能干扰机协同干扰算法" value="cooperative_interference"></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="模型地址">
-            <el-input v-model="newStrategy.modelAddress"></el-input>
-          </el-form-item>
-          <el-form-item label="模型端口">
-            <el-input type="number" v-model="newStrategy.modelPort"></el-input>
-          </el-form-item>
-        </el-form>
-        <span slot="footer" class="dialog-footer">
-          <el-button @click="uploadDialogVisible = false">取消</el-button>
-          <el-button type="primary" @click="uploadStrategy">提交</el-button>
-        </span>
-      </el-dialog>
-  
-      <!-- 修改对话框 -->
-      <el-dialog title="修改策略" :visible.sync="editDialogVisible">
-        <el-form :model="selectedStrategy" label-width="120px">
-          <el-form-item label="策略名称">
-            <el-input v-model="selectedStrategy.name"></el-input>
-          </el-form-item>
-          <el-form-item label="算法组合">
-            <el-select v-model="selectedStrategy.algorithms" multiple placeholder="请选择算法">
-              <el-option label="雷达方拦截算法" value="radar_intercept"></el-option>
-              <el-option label="干扰方电子干扰算法" value="electronic_interference"></el-option>
-              <el-option label="深度学习算法" value="deep_learning"></el-option>
-              <el-option label="强化学习算法" value="reinforcement_learning"></el-option>
-              <el-option label="雷达探测与抗干扰算法" value="radar_detection"></el-option>
-              <el-option label="智能干扰机协同干扰算法" value="cooperative_interference"></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="模型地址">
-            <el-input v-model="selectedStrategy.modelAddress"></el-input>
-          </el-form-item>
-          <el-form-item label="模型端口">
-            <el-input type="number" v-model="selectedStrategy.modelPort"></el-input>
-          </el-form-item>
-        </el-form>
-        <span slot="footer" class="dialog-footer">
-          <el-button @click="editDialogVisible = false">取消</el-button>
-          <el-button type="primary" @click="saveChanges">保存</el-button>
-        </span>
-      </el-dialog>
-    </div>
-  </template>
-  
-  <script>
-  export default {
-    data() {
-      return {
-        strategies: [
-          { id: 1, name: '策略A', algorithms: ['radar_intercept', 'deep_learning'], modelAddress: 'http://localhost', modelPort: 8080 },
-          { id: 2, name: '策略B', algorithms: ['electronic_interference', 'radar_detection'], modelAddress: 'http://192.168.1.1', modelPort: 9090 },
-          // 更多示例数据
-        ],
-        uploadDialogVisible: false,
-        editDialogVisible: false,
-        newStrategy: {
-          name: '',
-          algorithms: [],
-          modelAddress: '',
-          modelPort: ''
-        },
-        selectedStrategy: {}
-      };
-    },
-    methods: {
-      openUploadDialog() {
-        this.uploadDialogVisible = true;
-      },
-      uploadStrategy() {
-        const newStrategy = { ...this.newStrategy, id: Date.now() };
-        this.strategies.push(newStrategy);
-        this.uploadDialogVisible = true;
-        this.newStrategy = { name: '', algorithms: [], modelAddress: '', modelPort: '' };
-      },
-      openEditDialog(strategy) {
-        this.selectedStrategy = { ...strategy };
-        this.editDialogVisible = true;
-      },
-      saveChanges() {
-        const index = this.strategies.findIndex(str => str.id === this.selectedStrategy.id);
-        if (index !== -1) {
-          this.strategies.splice(index, 1, this.selectedStrategy);
-        }
-        this.editDialogVisible = false;
-      },
-      deleteStrategy(id) {
-        this.strategies = this.strategies.filter(str => str.id !== id);
-      }
-    }
-  };
-  </script>
-  
-  <style>
-  #app {
-    padding: 20px;
-  }
-  .el-table {
-    margin-top: 20px;
-  }
-  </style>
-  

+ 0 - 94
src/views/planManagement/resultEvaluate.vue

@@ -1,94 +0,0 @@
-<template>
-    <div>
-      <el-card>
-  
-        <!-- 筛选条件 -->
-        <el-form :model="filters" label-width="120px" class="filter-form">
-          <el-form-item label="算法类型">
-            <el-select v-model="filters.algorithmType" placeholder="请选择算法类型">
-              <el-option v-for="type in algorithmTypes" :key="type" :label="type" :value="type"></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="电磁干扰目标">
-            <el-select v-model="filters.target" placeholder="请选择目标">
-              <el-option v-for="target in targets" :key="target" :label="target" :value="target"></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item>
-            <el-button type="primary" @click="applyFilters">应用筛选</el-button>
-            <el-button @click="resetFilters">重置筛选</el-button>
-          </el-form-item>
-        </el-form>
-  
-        <!-- 表格显示 -->
-        <el-table :data="filteredRecords" border>
-          <el-table-column prop="algorithmType" label="算法类型"></el-table-column>
-          <el-table-column prop="target" label="电磁干扰目标"></el-table-column>
-          <el-table-column prop="computeTime" label="计算时间"></el-table-column>
-          <el-table-column prop="error" label="误差"></el-table-column>
-          <el-table-column prop="snrChangeRate" label="雷达信噪比变化率"></el-table-column>
-          <el-table-column
-            label="操作"
-            width="180">
-            <template slot-scope="scope">
-              <el-button @click="viewDetail(scope.row)" type="text" size="small">查看详情</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-      </el-card>
-    </div>
-  </template>
-  
-  <script>
-  export default {
-    data() {
-      return {
-        records: [
-          { algorithmType: '算法A', target: '目标1', computeTime: '123ms', error: '0.01', snrChangeRate: '3dB' },
-          { algorithmType: '算法B', target: '目标2', computeTime: '98ms', error: '0.02', snrChangeRate: '2dB' },
-          { algorithmType: '算法C', target: '目标3', computeTime: '76ms', error: '0.03', snrChangeRate: '1dB' },
-          { algorithmType: '算法D', target: '目标4', computeTime: '54ms', error: '0.04', snrChangeRate: '0dB' },
-          { algorithmType: '算法E', target: '目标5', computeTime: '32ms', error: '0.05', snrChangeRate: '-1dB' },
-          { algorithmType: '算法F', target: '目标6', computeTime: '10ms', error: '0.06', snrChangeRate: '-2dB' },
-          // 其他记录
-        ],
-        filters: {
-          algorithmType: '',
-          target: ''
-        },
-        algorithmTypes: ['算法A', '算法B'],
-        targets: ['目标1', '目标2']
-      };
-    },
-    computed: {
-      filteredRecords() {
-        return this.records.filter(record => {
-          return (!this.filters.algorithmType || record.algorithmType === this.filters.algorithmType) &&
-                 (!this.filters.target || record.target === this.filters.target);
-        });
-      }
-    },
-    methods: {
-      applyFilters() {
-        // 过滤逻辑已经在computed属性中实现
-      },
-      resetFilters() {
-        this.filters.algorithmType = '';
-        this.filters.target = '';
-      },
-      viewDetail(record) {
-        this.$message({
-          message: `查看详情: ${JSON.stringify(record)}`,
-          type: 'info'
-        });
-      }
-    }
-  };
-  </script>
-  
-  <style scoped>
-  .filter-form {
-    margin-bottom: 20px;
-  }
-  </style>
-  

+ 0 - 436
src/views/radarInvestigation/index.vue

@@ -1,436 +0,0 @@
-<template>
-  <div style="height: 100%">
-    <el-row style="height: 67%" :gutter="20">
-      <el-col :span="6" style="height: 100%">
-        <el-row style="height: 28px">
-          <span class="select">
-            <span style="width: 40%; text-align: center">当前传感器:</span>
-            <el-select
-              style="width: 60%"
-              v-model="currentESM"
-              placeholder="选择传感器"
-              @change="instanceChange"
-              size="mini"
-            >
-              <el-option
-                v-for="item in esmInstances"
-                :key="item.instanceID"
-                :label="item.instanceName"
-                :value="item.instanceID"
-              >
-              </el-option>
-            </el-select>
-          </span>
-        </el-row>
-        <el-row style="height: calc(100% - 28px)">
-          <el-card class="tableHeight">
-            <div slot="header" class="clearfix">
-              <span>工作参数设置</span>
-            </div>
-            <el-table :data="esmParams.CtrlParams" style="width: 100%">
-              <!-- @current-change="instanceChange" -->
-              <el-table-column
-                width="130"
-                prop="key"
-                label="属性"
-              ></el-table-column>
-              <el-table-column
-                width="80"
-                prop="value"
-                label="值"
-              ></el-table-column>
-              <el-table-column label="操作">
-                <template slot-scope="scope">
-                  <el-switch
-                    v-if="scope.row.key == '工作状态'"
-                    active-text="打开"
-                    inactive-text="关闭"
-                    v-model="currentESMParam.uRrPowerOn"
-                  ></el-switch>
-                  <el-select
-                    v-if="scope.row.key == '工作模式'"
-                    v-model="currentESMParam.uRrWorkMode"
-                    size="mini"
-                  >
-                    <el-option
-                      v-for="item in esmModes"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value"
-                    >
-                    </el-option>
-                  </el-select>
-
-                  <el-input-number
-                    v-if="scope.row.key == '侦察方位中心'"
-                    :precision="2"
-                    :step="0.1"
-                    :max="10"
-                    :min="-10"
-                    size="small"
-                    v-model="currentESMParam.dScanAzCentDeg"
-                  ></el-input-number>
-
-                  <el-input-number
-                    v-if="scope.row.key == '侦察俯仰中心'"
-                    :precision="2"
-                    :step="0.1"
-                    :max="10"
-                    :min="-10"
-                    v-model="currentESMParam.dScanElCentDeg"
-                    size="small"
-                  ></el-input-number>
-
-                  <el-input-number
-                    v-if="scope.row.key == '景幅行数'"
-                    :step="5"
-                    :max="100"
-                    :min="5"
-                    v-model="currentESMParam.uLineNumPerFrame"
-                    size="small"
-                  ></el-input-number>
-
-                  <el-select
-                    v-if="scope.row.key == '侦收起始频率'"
-                    v-model="currentESMParam.fFreqMode"
-                    size="mini"
-                    placeholder="请选择侦收频率范围"
-                  >
-                    <el-option
-                      v-for="item in esmFreqs"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value"
-                    >
-                    </el-option>
-                  </el-select>
-                  <el-row v-if="scope.row.key == '侦收终止频率'">
-                    <el-button size="mini" type="success" @click="handleEdit"
-                      >变更</el-button
-                    >
-                    <el-button size="mini" type="danger">撤销</el-button>
-                  </el-row>
-                </template>
-              </el-table-column>
-            </el-table>
-          </el-card>
-        </el-row>
-      </el-col>
-      <el-col :span="12" style="height: 100%">
-        <el-card class="radar">
-          <div slot="header" class="clearfix">
-            <span>雷侦状态显示</span>
-          </div>
-          <div class="echarts-box">
-            <div id="radarEchart"></div>
-          </div>
-        </el-card>
-      </el-col>
-      <el-col :span="6" style="height: 100%">
-        <el-card class="tableHeight">
-          <div slot="header" class="clearfix">
-            <span>传感器工作状态</span>
-          </div>
-          <el-table :data="esmStatus">
-            <el-table-column prop="key" label="属性"></el-table-column>
-            <el-table-column prop="value" label="值"></el-table-column>
-          </el-table>
-        </el-card>
-      </el-col>
-    </el-row>
-    <el-row style="height: 33%">
-      <el-card class="target">
-        <div slot="header" class="clearfix">
-          <span>雷侦目标列表</span>
-        </div>
-        <el-table :data="ESMresults" class="targetTable" height="100%;">
-          <!-- <el-table-column prop="az" label="方位角" width="150">
-                    </el-table-column> -->
-          <el-table-column prop="az" label="方位角(°)"> </el-table-column>
-          <el-table-column prop="range" label="距离(km)"> </el-table-column>
-          <el-table-column prop="type" label="类型"> </el-table-column>
-          <el-table-column prop="freq" label="频率"> </el-table-column>
-          <el-table-column prop="PRF" label="PRF"> </el-table-column>
-          <el-table-column prop="lon" label="经度"> </el-table-column>
-          <el-table-column prop="lat" label="纬度"> </el-table-column>
-          <el-table-column prop="height" label="高度"> </el-table-column>
-        </el-table>
-      </el-card>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import { mapGetters } from "vuex";
-export default {
-  computed: {
-    ...mapGetters([
-      "map",
-      "init",
-      "platforms",
-      "esmInstances",
-      "esmParams",
-      "esmStatus",
-      "esmData",
-      "platformID",
-    ]),
-  },
-  watch: {
-    init: {
-      handler: function (val, oldVal) {
-        this.setTimer();
-      },
-    },
-    platformID: {
-      handler: function (val, oldVal) {
-        this.$wst.send({
-          url: "getESMInstances",
-          data: {
-            PlatformID: this.platformID,
-          },
-        });
-      },
-    },
-  },
-  data() {
-    return {
-      data: [],
-      ESMresults: [],
-
-      frequencevalue: "",
-      workvalue: "",
-      radarEchart: null,
-      currentESM: null,
-      currentESMParam: {
-        uRrPowerOn: true,
-        uRrWorkMode: 0,
-        dScanAzCentDeg: 0,
-        dScanAzWidthDeg: 0,
-        dScanElCentDeg: 0,
-        uLineNumPerFrame: 20,
-        fAntScanVel: 100,
-        fFreqMode: null,
-      },
-      esmFreqs: [
-        {
-          value: 1,
-          label: "0.5~2GHz",
-        },
-        {
-          value: 2,
-          label: "2~5GHz",
-        },
-        {
-          value: 3,
-          label: "5~18GHz",
-        },
-      ],
-      esmModes: [
-        {
-          value: 0,
-          label: "全面搜索模式",
-        },
-        {
-          value: 1,
-          label: "精测向模式",
-        },
-        {
-          value: 2,
-          label: "干涉仪",
-        },
-        {
-          value: 3,
-          label: "DBF",
-        },
-        {
-          value: 4,
-          label: "ABF",
-        },
-        {
-          value: 5,
-          label: "SEI",
-        },
-      ],
-
-      echartoption: {
-        polar: {},
-        tooltip: {
-          trigger: "axis",
-          axisPointer: {
-            type: "cross",
-          },
-        },
-        angleAxis: {
-          max: 360,
-          min: 0,
-          type: "value",
-          startAngle: 90,
-        },
-        radiusAxis: {
-          max: 10,
-          min: 0,
-          splitArea: {
-            show: true,
-          },
-          axisLine: {
-            lineStyle: {
-              color: "#f7f7f7", // 设置轴线的颜色为红色
-            },
-          },
-          axisPointer: {
-            show: false,
-          },
-        },
-        series: [
-          {
-            coordinateSystem: "polar",
-            name: "line",
-            type: "scatter",
-            data: null,
-          },
-        ],
-      },
-      // radarData: {
-      //     [12, 32,42]
-      // }
-    };
-  },
-  mounted() {
-    for (let i = 0; i <= 7; i++) {
-      let theta = (i / 100) * 180 + Math.random() * 90;
-      let r = 5 * (1 + Math.sin((theta / 180) * Math.PI));
-      this.data.push([r, theta]);
-
-      this.ESMresults.push({
-        az: theta,
-        range: r,
-      });
-    }
-
-    this.echartoption.series[0].data = this.data;
-
-    this.echartsInit();
-    // 页面加载设置高度自适应
-    window.onresize = () => {
-      this.resizeDom();
-    };
-    // 页面加载设置高度自适应
-    this.resizeDom();
-  },
-  methods: {
-    setTimer() {
-      if (this.timer == null) {
-        this.timer = setInterval(() => {
-          setTimeout(this.timerRefresh, 0);
-        }, 1000);
-      }
-    },
-    timerRefresh() {
-      this.echartsInit();
-      this.$wst.send({
-        url: "getESMInstances",
-        data: {
-          PlatformID: this.platformID,
-        },
-      });
-      if (this.currentESM != null) {
-        this.$wst.send({
-          url: "getESMParams",
-          data: {
-            InstanceID: this.currentESM,
-            PlatformID: this.platformID,
-          },
-        });
-        this.$wst.send({
-          url: "getESMStatus",
-          data: {
-            InstanceID: this.currentESM,
-            PlatformID: this.platformID,
-          },
-        });
-        this.$wst.send({
-          url: "getESMData",
-          data: {
-            InstanceID: this.currentESM,
-            PlatformID: this.platformID,
-          },
-        });
-      }
-    },
-    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);
-      }
-    },
-    //通过窗体高宽计算容器高宽,渲染echart图表的div的宽高度以达到自适应目的
-    resizeDom() {
-      console.log("高度自适应");
-      const boxHeight =
-        document.getElementsByClassName("echarts-box")[0].clientHeight;
-      var Echart = document.getElementById("radarEchart");
-      Echart.style.height = boxHeight - 65 + "px";
-      this.$echarts.init(document.getElementById("radarEchart")).resize();
-    },
-    instanceChange(val) {
-      this.$wst.send({
-        url: "getESMParams",
-        data: {
-          InstanceID: val.instanceID,
-          PlatformID: this.platformID,
-        },
-      });
-    },
-    handleEdit() {
-      this.$wst.send({
-        url: "setESMParams",
-        data: {
-          InstanceID: this.currentESM,
-          PlatformID: this.platformID,
-          uRrPowerOn: this.currentESMParam.uRrPowerOn,
-          uRrWorkMode: this.currentESMParam.uRrWorkMode,
-          dScanAzCentDeg: this.currentESMParam.dScanAzCentDeg,
-          dScanAzWidthDeg: this.currentESMParam.dScanAzWidthDeg,
-          dScanElCentDeg: this.currentESMParam.dScanElCentDeg,
-          uLineNumPerFrame: this.currentESMParam.uLineNumPerFrame,
-          fAntScanVel: this.currentESMParam.fAntScanVel,
-          fFreqMode: this.currentESMParam.fFreqMode,
-        },
-      });
-      //   currentESMParam: {
-      //     uRrPowerOn: false,
-      //     uRrWorkMode: 0,
-      //     dScanAzCentDeg: 0,
-      //     dScanAzWidthDeg: 0,
-      //     dScanElCentDeg: 0,
-      //     uLineNumPerFrame: 20,
-      //     fAntScanVel: 100,
-      //     fFreqMode: null,
-      //   },
-    },
-  },
-};
-</script>
-<style scoped>
-.tableHeight {
-}
-
-.echarts-box {
-  height: 100%;
-  width: 100%;
-}
-
-.radar {
-  height: 100%;
-}
-
-.select {
-  display: flex;
-}
-</style>

+ 0 - 345
src/views/radarTask/index.vue

@@ -1,345 +0,0 @@
-<template>
-  <el-row :gutter="6" style="height: 100%">
-    <el-col :span="12" style="height: 100%">
-      <el-card class="box-card">
-        <div slot="header" class="clearfix">
-          <span>已创建的协同任务</span>
-        </div>
-        <el-table :data="leadPost">
-          <el-table-column prop="time" label="时间"></el-table-column>
-          <el-table-column prop="GroupID" label="编队号"></el-table-column>
-          <el-table-column prop="LeaderID" label="主站平台"></el-table-column>
-          <el-table-column prop="Abstract" label="摘要"></el-table-column>
-        </el-table>
-      </el-card>
-    </el-col>
-    <el-col :span="12" style="height: 100%">
-      <el-row style="height: 50%">
-        <el-card class="box-card">
-          <div slot="header" class="clearfix">
-            <span>雷达模型任务规划管理</span>
-          </div>
-          <h4>拦截区域:</h4>
-          <div>
-            <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-option>
-              </el-select>
-            </div>
-            <div v-if="this.axioShow" style="padding-top: 5px;">
-              <div style="position:relative; left:-9px; margin:5px 0 10px;">
-                <span style="padding-left: 10px">经度:</span>
-                <el-input-number
-                  v-model="num9"
-                  :precision="2"
-                  :step="0.1"
-                  :max="10"
-                ></el-input-number>
-              </div>
-              <div style="position:relative; left:-9px; margin:10px 0;">
-                <span style="padding-left: 10px"> 纬度:</span>
-                <el-input-number
-                  v-model="num9"
-                  :precision="2"
-                  :step="0.1"
-                  :max="10"
-                ></el-input-number>
-              </div>
-              <div style="position:relative; left:-9px; margin:10px 0;">
-                <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="position:relative; left:1px; margin:10px 0;">
-              <el-row>
-                <span>半径:</span>
-                <el-input
-                  style="width: unset !important"
-                  placeholder="请输入内容"
-                  v-model="radius"
-                  clearable
-                >
-                </el-input>
-              </el-row>
-            </div>
-          </div>
-          <h4 style="padding-top: 5px">使用计划规划:</h4>
-          <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-option>
-              </el-select>
-            </div>
-            <div style="padding-top: 5px; line-height: 40px; margin-left: 5px">
-              拦截弹装配:
-              <!-- v-model="value2" -->
-              <el-switch active-color="#13ce66" inactive-color="#ff4949">
-              </el-switch>
-            </div>
-            <div style="padding-top: 5px; line-height: 40px; margin-left: 5px">
-              协同拦截:
-              <!-- v-model="value2" -->
-              <el-switch active-color="#13ce66" inactive-color="#ff4949">
-              </el-switch>
-            </div>
-          </div>
-        </el-card>
-      </el-row>
-      <!-- <el-row>
-        <el-card class="box-card">
-          <div slot="header" class="clearfix">
-            <span>任务监控管理</span>
-          </div>
-        </el-card>
-      </el-row> -->
-      <el-row style="height: 50%">
-        <el-card class="box-card">
-          <div slot="header" class="clearfix">
-            <span>外部协同管理</span>
-          </div>
-          <el-cascader
-            :options="options"
-            v-model="selectedOptions"
-            @change="handleChange"
-            class="elselect"
-          >
-          </el-cascader>
-
-          <el-select class="elselect" v-model="coopLink" placeholder="选择链路">
-            <template v-for="item in linkVU">
-              <el-option
-                v-if="item.key === '链路开关' && item.value === 1"
-                :key="1"
-                :label="'VU'"
-                :value="1"
-              >
-              </el-option>
-            </template>
-            <template v-for="item in linkJ">
-              <el-option
-                v-if="item.key === '链路开关' && item.value === 1"
-                :key="2"
-                :label="'J'"
-                :value="2"
-              >
-              </el-option>
-            </template>
-            <template v-for="item in linkZY">
-              <el-option
-                v-if="item.key === '链路开关' && item.value === 1"
-                :key="3"
-                :label="'ZY'"
-                :value="3"
-              >
-              </el-option>
-            </template>
-          </el-select>
-
-          <el-select
-            class="elselect"
-            v-model="coopPlat"
-            placeholder="请选择协同平台"
-          >
-            <template v-if="coopLink === 1">
-              <template v-for="item in memberVU">
-                <el-option
-                  v-if="item.isOnline === '在网' && item.platID != platformID"
-                  :key="item.platID"
-                  :label="item.platName"
-                  :value="item.platID"
-                >
-                </el-option>
-              </template>
-            </template>
-            <template v-else-if="coopLink === 2">
-              <template v-for="item in memberJ">
-                <el-option
-                  v-if="item.isOnline === '在网' && item.platID != platformID"
-                  :key="item.platID"
-                  :label="item.platName"
-                  :value="item.platID"
-                >
-                </el-option>
-              </template>
-            </template>
-            <template v-else-if="coopLink === 3">
-              <template v-for="item in memberZY">
-                <el-option
-                  v-if="item.isOnline === '在网' && item.platID != platformID"
-                  :key="item.platID"
-                  :label="item.platName"
-                  :value="item.platID"
-                >
-                </el-option>
-              </template>
-            </template>
-          </el-select>
-
-          <el-button type="primary" @click="onSubmit"
-            class="elselect">发送任务分配情报
-          </el-button>
-        </el-card>
-      </el-row>
-    </el-col>
-  </el-row>
-</template>
-
-<script>
-import { mapGetters } from "vuex";
-export default {
-  computed: {
-    ...mapGetters([
-      "init",
-      "leadPost",
-      "platformID",
-      "airLine",
-      "taskPlan",
-      "platforms",
-      "linkVU",
-      "linkJ",
-      "linkZY",
-      "memberVU",
-      "memberJ",
-      "memberZY",
-    ]),
-  },
-  watch: {
-    init: {
-      handler: function (val, oldVal) {
-        this.$wst.send({
-          url: "getLeadPost",
-          data: { PlatformID: this.platformID },
-        });
-        this.$wst.send({
-          url: "getTaskPlan",
-          data: { PlatformID: this.platformID },
-        });
-      },
-    },
-    platformID: {
-      handler: function (val, oldVal) {
-        this.$wst.send({ url: "getLeadPost", data: { PlatformID: val } });
-        this.$wst.send({ url: "getTaskPlan", data: { PlatformID: val } });
-      },
-    },
-    leadPost: {
-      handler: function (val, oldVal) { },
-    },
-  },
-  data() {
-    return {
-      coopPlat: null,
-      coopLink: null,
-      axioShow: false,
-      areaValue: null,
-      selectedOptions: null,
-      radius: "",
-      options: [
-        {
-          value: "co-investigate",
-          label: "协同侦察",
-          children: [
-            { value: "air-air", label: "空-空协同侦察" },
-            { value: "air-land", label: "空-地协同侦察" },
-          ],
-        },
-        {
-          value: "co-opration",
-          label: "协同作战",
-          children: [
-            { value: "coop-jamming", label: "干扰机协同作战" },
-            { value: "coop-warning", label: "预警机协同作战" },
-          ],
-        },
-      ],
-      options1: [
-        {
-          value: 1,
-          label: "区域A",
-        },
-        {
-          value: 2,
-          label: "区域B",
-        },
-        {
-          value: 3,
-          label: "自定义",
-        },
-      ],
-      options2: [
-        {
-          value: 1,
-          label: "DD攻击",
-        },
-        {
-          value: 2,
-          label: "电子攻击",
-        },
-        {
-          value: 3,
-          label: "电子防护",
-        },
-        {
-          value: 4,
-          label: "电子侦察",
-        },
-        {
-          value: 5,
-          label: "雷达扫描",
-        },
-      ],
-    };
-  },
-  mounted() {
-    if (this.init == 100) {
-      this.$wst.send({
-        url: "getLeadPost",
-        data: { platformID: this.platformID },
-      });
-    }
-  },
-  methods: {
-    areaChange() {
-      if (this.airLine.TargetArea == 3) {
-        this.axioShow = true;
-      } else {
-        this.axioShow = false;
-      }
-    },
-    handleChange() {},
-  },
-};
-</script>
-
-<style scoped>
-.elselect {
-  margin: 1px;
-}
-</style>

+ 0 - 159
src/views/sarInvestigation/index.vue

@@ -1,159 +0,0 @@
-<template>
-    <div>
-      <el-row class="toolbar" style="margin-bottom: 20px;">
-        <el-col :span="24">
-          <el-button type="primary" @click="openAddDialog">新增想定</el-button>
-          <el-button @click="fetchScenarios">查询想定</el-button>
-          <el-button @click="saveScenario">保存想定</el-button>
-        </el-col>
-      </el-row>
-
-      <el-table :data="scenarios" style="width: 100%">
-        <el-table-column prop="id" label="ID" width="80" />
-        <el-table-column prop="name" label="想定名称" />
-        <el-table-column prop="description" label="描述" />
-        <el-table-column prop="startDate" label="开始日期" />
-        <el-table-column prop="endDate" label="结束日期" />
-        <el-table-column prop="participants" label="参与者" />
-        <el-table-column prop="status" label="状态" />
-        <el-table-column
-          label="操作"
-          width="180px"
-          fixed="right"
-        >
-          <template slot-scope="scope">
-            <el-button @click="editScenario(scope.row)">编辑</el-button>
-            <el-button type="danger" @click="deleteScenario(scope.row)">删除</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-
-      <!-- 添加/编辑想定对话框 -->
-      <el-dialog :visible.sync="dialogVisible" title="想定">
-        <el-form :model="currentScenario" label-width="120px">
-          <el-form-item label="ID">
-            <el-input v-model="currentScenario.id" disabled />
-          </el-form-item>
-          <el-form-item label="想定名称">
-            <el-input v-model="currentScenario.name" />
-          </el-form-item>
-          <el-form-item label="描述">
-            <el-input type="textarea" v-model="currentScenario.description" />
-          </el-form-item>
-          <el-form-item label="开始日期">
-            <el-date-picker v-model="currentScenario.startDate" type="date" placeholder="选择开始日期" />
-          </el-form-item>
-          <el-form-item label="结束日期">
-            <el-date-picker v-model="currentScenario.endDate" type="date" placeholder="选择结束日期" />
-          </el-form-item>
-          <el-form-item label="参与者">
-            <el-input v-model="currentScenario.participants" />
-          </el-form-item>
-          <el-form-item label="状态">
-            <el-select v-model="currentScenario.status" placeholder="选择状态">
-              <el-option label="进行中" value="ongoing" />
-              <el-option label="已完成" value="completed" />
-              <el-option label="已取消" value="canceled" />
-            </el-select>
-          </el-form-item>
-        </el-form>
-        <span slot="footer" class="dialog-footer">
-          <el-button @click="dialogVisible = false">取 消</el-button>
-          <el-button type="primary" @click="saveCurrentScenario">确 定</el-button>
-        </span>
-      </el-dialog>
-    </div>
-  </template>
-
-  <script>
-  export default {
-    data() {
-      return {
-        scenarios: [
-          {
-            id: '1',
-            name: 'Scenario Alpha',
-            description: 'Alpha scenario with multiple stages.',
-            startDate: '2024-01-01',
-            endDate: '2024-01-10',
-            participants: 'Team A, Team B',
-            status: 'ongoing',
-          },
-          {
-            id: '2',
-            name: 'Scenario Beta',
-            description: 'Beta scenario focusing on logistics.',
-            startDate: '2024-02-01',
-            endDate: '2024-02-15',
-            participants: 'Team C, Team D',
-            status: 'completed',
-          },
-          {
-            id: '3',
-            name: 'Scenario Gamma',
-            description: 'Gamma scenario with new tactical approaches.',
-            startDate: '2024-03-01',
-            endDate: '2024-03-20',
-            participants: 'Team E, Team F',
-            status: 'canceled',
-          },
-        ],
-        dialogVisible: false,
-        currentScenario: {
-          id: '',
-          name: '',
-          description: '',
-          startDate: '',
-          endDate: '',
-          participants: '',
-          status: 'ongoing',
-        },
-        editingIndex: null,
-      };
-    },
-    methods: {
-      openAddDialog() {
-        this.currentScenario = {
-          id: '',
-          name: '',
-          description: '',
-          startDate: '',
-          endDate: '',
-          participants: '',
-          status: 'ongoing',
-        };
-        this.editingIndex = null;
-        this.dialogVisible = true;
-      },
-      editScenario(scenario) {
-        this.currentScenario = { ...scenario };
-        this.editingIndex = this.scenarios.indexOf(scenario);
-        this.dialogVisible = true;
-      },
-      saveCurrentScenario() {
-        if (this.editingIndex !== null) {
-          this.$set(this.scenarios, this.editingIndex, this.currentScenario);
-        } else {
-          this.scenarios.push(this.currentScenario);
-        }
-        this.dialogVisible = false;
-      },
-      deleteScenario(scenario) {
-        this.scenarios = this.scenarios.filter(s => s !== scenario);
-      },
-      fetchScenarios() {
-        // Simulated fetch
-      },
-      saveScenario() {
-        // Simulated save
-        console.log('保存想定:', this.scenarios);
-      },
-    },
-  };
-  </script>
-
-  <style>
-  .dialog-footer {
-    text-align: right;
-  }
-  </style>

+ 0 - 0
src/views/sar/index.vue → src/views/semiPhysicalSystem/index.vue


+ 0 - 415
src/views/situation/index.vue

@@ -1,415 +0,0 @@
-<template>
-  <div class="container">
-    <el-row :gutter="10" style="height:100%;">
-
-      <el-col style="height:100%;position: relative;" :span="24">
-        <el-card class="table1">
-          <div slot="header" class="clearfix">
-            <span>兵力装备显示</span>
-          </div>
-          <el-table :data="maptable" @current-change="instanceChange" :row-style="{ height: '20px' }" :cell-style="{ padding: '0px' }">
-            <el-table-column prop="platID" label="ID"></el-table-column>
-            <el-table-column prop="platName" label="名称"></el-table-column>
-            <el-table-column prop="isEnemy" label="敌我属性"></el-table-column>
-          </el-table>
-        </el-card>
-        <el-card class="table2">
-          <div slot="header" class="clearfix">
-            <span>战损显示</span>
-          </div>
-          <el-table :data="healthtable" @current-change="instanceChange" :row-style="{ height: '20px' }" :cell-style="{ padding: '0px' }">
-            <el-table-column prop="platID" label="ID"></el-table-column>
-            <el-table-column prop="platName" label="名称"></el-table-column>
-            <el-table-column prop="platState" label="健康度"></el-table-column>
-          </el-table>
-        </el-card>
-        <div class="main-layout">
-          <div id="cesiumContainer" class="mapecharts"></div>
-        </div>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-<script>
-import { mapGetters } from 'vuex'
-
-import friendplane from "../../../public/static/friend.glb"
-import enemyplane from "../../../public/static/enemy.glb"
-export default ({
-  computed: {
-    ...mapGetters([
-      'map',
-      'init'
-    ]),
-  },
-  
-  data() {
-    return {
-      pattern: "two-dimensional",
-      instancetable: null,
-      propertyinittable: null,
-      propertycontroltable: null,
-      timer: null,
-      viewer: null,
-      mapEchart: null,
-      maptable: [
-        {
-          'platID': '1001',
-          'platName': '弹道导弹1',
-          'isEnemy': '我方'
-        },
-        {
-          'platID': '1002',
-          'platName': '弹道导弹2',
-          'isEnemy': '我方'
-        },
-        // {
-        //   'platID': '1003',
-        //   'platName': '弹道导弹3',
-        //   'isEnemy': '我方'
-        // },
-        // {
-        //   'platID': '1004',
-        //   'platName': '弹道导弹4',
-        //   'isEnemy': '我方'
-        // },
-        // {
-        //   'platID': '1005',
-        //   'platName': '弹道导弹5',
-        //   'isEnemy': '我方'
-        // },
-        // {
-        //   'platID': '1006',
-        //   'platName': '弹道导弹6',
-        //   'isEnemy': '我方'
-        // },
-        // {
-        //   'platID': '1007',
-        //   'platName': '弹道导弹7',
-        //   'isEnemy': '我方'
-        // },
-        {
-          'platID': '6001',
-          'platName': 'THADD系统1',
-          'isEnemy': '敌方'
-        },
-        {
-          'platID': '6002',
-          'platName': 'THADD系统2',
-          'isEnemy': '敌方'
-        },
-      ],
-      healthtable: [
-        {
-          'platID': '1001',
-          'platName': '弹道导弹1',
-          'platState': "85%"
-        },
-        {
-          'platID': '1002',
-          'platName': '弹道导弹2',
-          'platState': "90%"
-        },
-        // {
-        //   'platID': '1003',
-        //   'platName': '弹道导弹3',
-        //   'platState': "90%"
-        // },
-        // {
-        //   'platID': '1004',
-        //   'platName': '弹道导弹4',
-        //   'platState': "95%"
-        // },
-        // {
-        //   'platID': '1005',
-        //   'platName': '弹道导弹5',
-        //   'platState': "100%"
-        // },
-        // {
-        //   'platID': '1006',
-        //   'platName': '弹道导弹6',
-        //   'platState': "100%"
-        // },
-        // {
-        //   'platID': '1007',
-        //   'platName': '弹道导弹7',
-        //   'platState': "100%"
-        // },
-        {
-          'platID': '6001',
-          'platName': 'THADD系统1',
-          'platState': "80%"
-        },
-        {
-          'platID': '6002',
-          'platName': 'THADD系统2',
-          'platState': '80%'
-        },
-      ]
-
-
-
-    }
-
-  },
-  mounted() {
-    
-    this.cesiumInit();
-    if (this.init == 100) {
-      this.$wst.send({url:"getLocalMap"});
-      this.setTimer();
-    }
-  },
-  beforeDestroy() {
-    this.timerDestory()
-  },
-  methods: {
-    setTimer() {
-      if (this.timer == null) {
-        this.timer = setInterval(() => {
-          
-        }, 1000)
-      }
-    },
-    //初始化echarts
-    cesiumInit() {
-      this.viewer = new this.Cesium.Viewer('cesiumContainer', {
-        animation: false, // 是否显示时间轴动画
-        baseLayerPicker: false,
-        homeButton: false,
-        geocoder: false,
-        timeline: false,
-        fullscreenButton: false,
-        sceneModePicker: false,
-        navigationHelpButton: false,
-        selectionIndicator: false,
-        // imageryProvider:  new this.Cesium.WebMapServiceImageryProvider({
-        //   url: '/geoserver/map/wms',
-        //     // 这里是自定义的图层名称
-        //     layers: 'map',
-        //     parameters: {
-        //         service: 'WMS',
-        //         format: 'image/png',
-        //         transparent: true
-        //     }
-        // }),
-
-      // imageryProvider:  new this.Cesium.WebMapTileServiceImageryProvider({
-      //     url: "http://localhost:8080/geoserver/gwc/service/wmts/rest/map:map/{style}/{TileMatrixSet}/{TileMatrixSet}:{TileMatrix}/{TileRow}/{TileCol}?format=image/png",
-      //     layer: 'map:map',
-      //     style: 'raster',
-      //     format: 'image/png',
-      //     tileMatrixSetID: 'EPSG:900913',      //一般使用EPSG:3857坐标系
-        
-      //   }),
-
-      imageryProvider:  new this.Cesium.ArcGisMapServerImageryProvider({
-        url:"https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer",
-      
-    })
-      });
-      this.viewer._cesiumWidget._creditContainer.style.display = "none";
-      this.viewer.camera.setView({
-        destination: new this.Cesium.Cartesian3.fromDegrees(117.918977,25.0,1500000),
-        // 方向,俯视和仰视的视角
-        // orientation:{
-        //   heading: this.Cesium.Math.toRadians(90),//坐标系旋转90度
-        //   pitch: this.Cesium.Math.toRadians(-45) ,//设置俯仰角度为-45度
-        // }
-      })
-      // this.viewer.scene.screenSpaceCameraController.maximumZoomDistance = 1500000;  //相机高度的最大值
-    },
-    removeAllModel(){
-      this.viewer.entities.removeAll(); // 移除全部模型
-    },
-    initFriendModel(){
-      this.map.data.friend.forEach((element) => {
-        console.log(element.value[0])
-        console.log(element.value[1])
-        console.log(element.value[2])
-
-        this.viewer.entities.add({
-
-          name: element.name,
-
-          position: this.Cesium.Cartesian3.fromDegrees(element.value[0], element.value[1], element.value[2]),
-
-          model: {
-
-          uri: friendplane,
-
-          minimumPixelSize: 128,
-
-          maximumScale: 2000,
-
-          },
-
-          });
-     });
-    },
-    initEnemyModel(){
-      this.map.data.enemy.forEach((element) => {
-        console.log(element.value[0])
-        console.log(element.value[1])
-        console.log(element.value[2])
-
-        this.viewer.entities.add({
-
-          name: element.name,
-
-          id: element.value[0], 
-
-          position: this.Cesium.Cartesian3.fromDegrees(element.value[0], element.value[1], element.value[2]),
-
-          model: {
-
-          uri: enemyplane,
-
-          minimumPixelSize: 228,
-
-          maximumScale: 4000,
-
-          },
-
-          });
-     });
-
-    },
-    //通过窗体高宽计算容器高宽,渲染echart图表的div的宽高度以达到自适应目的
-    timerDestory() {
-      if (this.timer) {
-        clearInterval(this.timer);
-      }
-    },
-    instanceChange(val) {
-
-      if (val.instanceName.includes("信号侦察")) {
-        this.$wst.send({
-          url: 'getESMParams',
-          data: { InstanceID: val.instanceID }
-        })
-      } else
-        if (val.instanceName.includes("导航")) {
-          this.$wst.send({
-            url: 'getNavParams',
-            data: { InstanceID: val.instanceID }
-          })
-
-        } else
-          if (val.instanceName.includes("雷达")) {
-            this.$wst.send({
-              url: 'getRadarParams',
-              data: { InstanceID: val.instanceID }
-            })
-
-          } else
-            if (val.instanceName.includes("电子攻击")) {
-              this.$wst.send({
-                url: 'getECMParams',
-                data: { InstanceID: val.instanceID }
-              })
-            }
-
-    }
-  },
-  watch: {
-    init: {
-      handler: function (val, oldVal) {
-        console.log(val)
-        this.setTimer();
-      }
-    },
-    map: {
-      handler: function (val, oldVal) {
-        if(this.viewer != null){
-        this.removeAllModel();
-        this.initFriendModel();
-        this.initEnemyModel();
-        }
-      }
-    }
-  },  
-})
-</script>
-<style scoped>
-.model {
-  position: absolute;
-  top: 20px;
-  left: 100px;
-  z-index: 999;
-}
-
-.table1 {
-  position: absolute;
-  top: 10px;
-  left: 10px;
-  z-index: 999;
-  width: 400px;
-  height: 400px;
-
-}
-
-.table1 /deep/ .el-card__header {
-  background-color: #11144e;
-  color: white;
-}
-
-.table2 {
-  position: absolute;
-  top: 430px;
-  right: 20px;
-  z-index: 999;
-  width: 400px;
-  height: 400px;
-
-}
-
-.table2 /deep/ .el-card__header {
-  background-color: #11144e;
-  color: white;
-}
-
-
-
-.box-card {
-  min-height: 100%;
-  height: 100%;
-}
-
-/deep/ .el-card__body {
-  height: 100% !important;
-  padding: 0px !important;
-}
-
-.echarts-box {
-  height: 100%;
-  width: 100%;
-  background-image: url('~@/assets/image/map-bg.png');
-  background-repeat: no-repeat;
-  background-size: 100% 100%;
-}
-
-.main-layout {
-  height: 100%;
-  width: 100%;
-}
-
-.container {
-  height: 100%;
-}
-
-.mapecharts {
-  width: 100%;
-  height: 100%;
-}
-
-.tableHeight {
-  flex-grow: 1;
-  height: 33%;
-}
-
-.tableHeight /deep/ .el-card__body {
-  height: calc(100% - 95px) !important;
-
-}
-</style>  

+ 0 - 345
src/views/taskManagement/index.vue

@@ -1,345 +0,0 @@
-<template>
-  <el-row :gutter="6" style="height: 100%">
-    <el-col :span="12" style="height: 100%">
-      <el-card class="box-card">
-        <div slot="header" class="clearfix">
-          <span>已创建的协同任务</span>
-        </div>
-        <el-table :data="leadPost">
-          <el-table-column prop="time" label="时间"></el-table-column>
-          <el-table-column prop="GroupID" label="编队号"></el-table-column>
-          <el-table-column prop="LeaderID" label="长机平台"></el-table-column>
-          <el-table-column prop="Abstract" label="摘要"></el-table-column>
-        </el-table>
-      </el-card>
-    </el-col>
-    <el-col :span="12" style="height: 100%">
-      <el-row style="height: 50%">
-        <el-card class="box-card">
-          <div slot="header" class="clearfix">
-            <span>干扰模型任务规划管理</span>
-          </div>
-          <h4>航线:</h4>
-          <div>
-            <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-option>
-              </el-select>
-            </div>
-            <div v-if="this.axioShow" style="padding-top: 5px;">
-              <div style="position:relative; left:-9px; margin:5px 0 10px;">
-                <span style="padding-left: 10px">经度:</span>
-                <el-input-number
-                  v-model="num9"
-                  :precision="2"
-                  :step="0.1"
-                  :max="10"
-                ></el-input-number>
-              </div>
-              <div style="position:relative; left:-9px; margin:10px 0;">
-                <span style="padding-left: 10px"> 纬度:</span>
-                <el-input-number
-                  v-model="num9"
-                  :precision="2"
-                  :step="0.1"
-                  :max="10"
-                ></el-input-number>
-              </div>
-              <div style="position:relative; left:-9px; margin:10px 0;">
-                <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="position:relative; left:1px; margin:10px 0;">
-              <el-row>
-                <span>半径:</span>
-                <el-input
-                  style="width: unset !important"
-                  placeholder="请输入内容"
-                  v-model="radius"
-                  clearable
-                >
-                </el-input>
-              </el-row>
-            </div>
-          </div>
-          <h4 style="padding-top: 5px">使用计划规划:</h4>
-          <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-option>
-              </el-select>
-            </div>
-            <div style="padding-top: 5px; line-height: 40px; margin-left: 5px">
-              投掷油箱:
-              <!-- v-model="value2" -->
-              <el-switch active-color="#13ce66" inactive-color="#ff4949">
-              </el-switch>
-            </div>
-            <div style="padding-top: 5px; line-height: 40px; margin-left: 5px">
-              投掷箔条:
-              <!-- v-model="value2" -->
-              <el-switch active-color="#13ce66" inactive-color="#ff4949">
-              </el-switch>
-            </div>
-          </div>
-        </el-card>
-      </el-row>
-      <!-- <el-row>
-        <el-card class="box-card">
-          <div slot="header" class="clearfix">
-            <span>任务监控管理</span>
-          </div>
-        </el-card>
-      </el-row> -->
-      <el-row style="height: 50%">
-        <el-card class="box-card">
-          <div slot="header" class="clearfix">
-            <span>外部协同管理</span>
-          </div>
-          <el-cascader
-            :options="options"
-            v-model="selectedOptions"
-            @change="handleChange"
-            class="elselect"
-          >
-          </el-cascader>
-
-          <el-select class="elselect" v-model="coopLink" placeholder="选择链路">
-            <template v-for="item in linkVU">
-              <el-option
-                v-if="item.key === '链路开关' && item.value === 1"
-                :key="1"
-                :label="'VU'"
-                :value="1"
-              >
-              </el-option>
-            </template>
-            <template v-for="item in linkJ">
-              <el-option
-                v-if="item.key === '链路开关' && item.value === 1"
-                :key="2"
-                :label="'J'"
-                :value="2"
-              >
-              </el-option>
-            </template>
-            <template v-for="item in linkZY">
-              <el-option
-                v-if="item.key === '链路开关' && item.value === 1"
-                :key="3"
-                :label="'ZY'"
-                :value="3"
-              >
-              </el-option>
-            </template>
-          </el-select>
-
-          <el-select
-            class="elselect"
-            v-model="coopPlat"
-            placeholder="请选择协同平台"
-          >
-            <template v-if="coopLink === 1">
-              <template v-for="item in memberVU">
-                <el-option
-                  v-if="item.isOnline === '在网' && item.platID != platformID"
-                  :key="item.platID"
-                  :label="item.platName"
-                  :value="item.platID"
-                >
-                </el-option>
-              </template>
-            </template>
-            <template v-else-if="coopLink === 2">
-              <template v-for="item in memberJ">
-                <el-option
-                  v-if="item.isOnline === '在网' && item.platID != platformID"
-                  :key="item.platID"
-                  :label="item.platName"
-                  :value="item.platID"
-                >
-                </el-option>
-              </template>
-            </template>
-            <template v-else-if="coopLink === 3">
-              <template v-for="item in memberZY">
-                <el-option
-                  v-if="item.isOnline === '在网' && item.platID != platformID"
-                  :key="item.platID"
-                  :label="item.platName"
-                  :value="item.platID"
-                >
-                </el-option>
-              </template>
-            </template>
-          </el-select>
-
-          <el-button type="primary" @click="onSubmit"
-            class="elselect">发送任务分配情报
-          </el-button>
-        </el-card>
-      </el-row>
-    </el-col>
-  </el-row>
-</template>
-
-<script>
-import { mapGetters } from "vuex";
-export default {
-  computed: {
-    ...mapGetters([
-      "init",
-      "leadPost",
-      "platformID",
-      "airLine",
-      "taskPlan",
-      "platforms",
-      "linkVU",
-      "linkJ",
-      "linkZY",
-      "memberVU",
-      "memberJ",
-      "memberZY",
-    ]),
-  },
-  watch: {
-    init: {
-      handler: function (val, oldVal) {
-        this.$wst.send({
-          url: "getLeadPost",
-          data: { PlatformID: this.platformID },
-        });
-        this.$wst.send({
-          url: "getTaskPlan",
-          data: { PlatformID: this.platformID },
-        });
-      },
-    },
-    platformID: {
-      handler: function (val, oldVal) {
-        this.$wst.send({ url: "getLeadPost", data: { PlatformID: val } });
-        this.$wst.send({ url: "getTaskPlan", data: { PlatformID: val } });
-      },
-    },
-    leadPost: {
-      handler: function (val, oldVal) { },
-    },
-  },
-  data() {
-    return {
-      coopPlat: null,
-      coopLink: null,
-      axioShow: false,
-      areaValue: null,
-      selectedOptions: null,
-      radius: "",
-      options: [
-        {
-          value: "co-investigate",
-          label: "协同侦察",
-          children: [
-            { value: "air-air", label: "空-空协同侦察" },
-            { value: "air-land", label: "空-地协同侦察" },
-          ],
-        },
-        {
-          value: "co-opration",
-          label: "协同作战",
-          children: [
-            { value: "coop-jamming", label: "干扰机协同作战" },
-            { value: "coop-warning", label: "预警机协同作战" },
-          ],
-        },
-      ],
-      options1: [
-        {
-          value: 1,
-          label: "区域A",
-        },
-        {
-          value: 2,
-          label: "区域B",
-        },
-        {
-          value: 3,
-          label: "自定义",
-        },
-      ],
-      options2: [
-        {
-          value: 1,
-          label: "DD攻击",
-        },
-        {
-          value: 2,
-          label: "电子攻击",
-        },
-        {
-          value: 3,
-          label: "电子防护",
-        },
-        {
-          value: 4,
-          label: "电子侦察",
-        },
-        {
-          value: 5,
-          label: "雷达扫描",
-        },
-      ],
-    };
-  },
-  mounted() {
-    if (this.init == 100) {
-      this.$wst.send({
-        url: "getLeadPost",
-        data: { platformID: this.platformID },
-      });
-    }
-  },
-  methods: {
-    areaChange() {
-      if (this.airLine.TargetArea == 3) {
-        this.axioShow = true;
-      } else {
-        this.axioShow = false;
-      }
-    },
-    handleChange() {},
-  },
-};
-</script>
-
-<style scoped>
-.elselect {
-  margin: 1px;
-}
-</style>

+ 0 - 295
src/views/telecomInvestigation/index.vue

@@ -1,295 +0,0 @@
-<template>
-        <el-row style="height:100%;">
-            <el-col :span="6">
-                <el-row>
-                    <el-card class="tableHeight" style="height: 60vh;">
-                        <div slot="header" class="clearfix">
-                            <span>干扰方实例状态表</span>
-                        </div>
-                        <el-table>
-                            <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>
-                        
-                        <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;">
-                            <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>
-            </el-col>
-            <el-col style="height:100vh;" :span="12">
-                <el-card class="radar">
-                    <div slot="header" class="clearfix">
-                        <span>干扰信号显示</span>
-                    </div>
-                    <div class="echarts-box">
-                      <div id="radarEchart" class="mapecharts"></div>
-                    </div> 
-                </el-card>
-            </el-col>
-            <el-col :span="6">
-                <el-card style="height: 100vh;">
-                    <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-col>
-        </el-row>
-</template>
-
-<script>
-import { mapGetters } from 'vuex'
-import * as echarts from "echarts";
-export default {
-    computed: {
-    ...mapGetters([
-      'map',
-      'init',
-      'platforms',
-      'instances',
-      'properties',
-      'platformShow'
-       
-    ]),
-    },
-    watch: {
-       init: {
-          handler: function(val, oldVal){
-            
-            this.setTimer();
-          }
-       },
-       platforms: {
-          handler: function(val, oldVal){
-            
-          }
-       },
-       instances: {
-        handler: function(val, oldVal){
-
-            this.instancetable = val 
-          }
-       },
-       properties: {
-        handler: function(val,oldVal){
-            this.propertyinittable = val.InitParams
-            this.propertycontroltable = val.CtrlParams
-        }
-       }
-    },
-    data() {
-        return {
-            
-            frequencevalue: '',
-            data:[],
-            workvalue: '',
-            frequenceAverageShow : false,
-            radarEchart: null,
-            instancetable: null,
-            propertyinittable: null,
-            propertycontroltable: null, 
-            radars:[
-                {
-                    key: 1,
-                    value: "雷达1",
-                    instanceID: "11"
-
-                }
-                , {
-                    key: 2,
-                    value: "雷达2",
-                    instanceID: 12
-                }
-            ],
-            options: [{
-                value: 1,
-                label: '1.5MHz~18GHz全景普'
-            }, {
-                value: 4,
-                label: '自定义'
-            }],
-            options1: [{
-                value:  1,
-                label: '常规数据链侦察'
-            }
-            ],
-    
-            echartoption: {
-                tooltip: {
-    trigger: 'axis',
-    position: function (pt) {
-      return [pt[0], '10%'];
-    }
-  },
-  title: {
-    left: 'center',
-    text: 'Large Area Chart'
-  },
-  toolbox: {
-    feature: {
-      dataZoom: {
-        yAxisIndex: 'none'
-      },
-      restore: {},
-      saveAsImage: {}
-    }
-  },
-  xAxis: {
-    type: 'category',
-    boundaryGap: false,
-    data: null,
-  },
-  yAxis: {
-    type: 'value',
-    boundaryGap: [0, '100%']
-  },
-  dataZoom: [
-    {
-      type: 'inside',
-      start: 0,
-      end: 10
-    },
-    {
-      start: 0,
-      end: 10
-    }
-  ],
-  series: [
-    {
-      name: 'Fake Data',
-      type: 'line',
-      symbol: 'none',
-      sampling: 'lttb',
-      itemStyle: {
-        color: 'rgb(255, 70, 131)'
-      },
-      areaStyle: {
-        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-          {
-            offset: 0,
-            color: 'rgb(255, 158, 68)'
-          },
-          {
-            offset: 1,
-            color: 'rgb(255, 70, 131)'
-          }
-        ])
-      },
-      data: null
-    }
-  ]
-            }
-                
-        }
-    },
-    mounted(){
-        let base = +new Date(1968, 9, 3);
-        let oneDay = 24 * 3600 * 1000;
-        let date = [];
-        let data = [Math.random() * 300];
-        for (let i = 1; i < 20000; i++) {
-        var now = new Date((base += oneDay));
-        date.push([now.getFullYear(), now.getMonth() + 1, now.getDate()].join('/'));
-        data.push(Math.round((Math.random() - 0.5) * 20 + data[i - 1]));
-        }
-          this.echartoption.series[0].data = data;
-          this.echartoption.xAxis.data = date;
-          console.log(this.echartoption.series)
-        this.echartsInit();
-              // 页面加载设置高度自适应
-  window.onresize = () => {
-    
-    this.resizeDom()
-  };
-  // 页面加载设置高度自适应
-    this.resizeDom()
-    },
-    methods:{
-        frequenceChange(){
-            if(this.frequencevalue== 4) {
-                this.frequenceAverageShow = true;
-            }else{
-                this.frequenceAverageShow = false;
-            }
-        },
-        echartsInit() {
-          console.log("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);
-        //   }
-        },
-        //通过窗体高宽计算容器高宽,渲染echart图表的div的宽高度以达到自适应目的
-      resizeDom() {
-        console.log("高度自适应")
-        this.$echarts.init(document.getElementById('radarEchart')).resize()
-        // const boxHeight = document.getElementsByClassName("echarts-box")[0].clientHeight
-        // var Echart = document.getElementById('radarEchart')
-        // Echart.style.height = (boxHeight/2-65)+'px';
-      },
-        
-    },
-    
-}
-</script>
-<style scoped>
-.tableHeight{
-}
-
-.echarts-box{
-  height: 100%;
-  width: 100%;
-}
-.mapecharts{
-  width: 100%;
-  height: 100%;
-}
-.radar{
-    height: 100%;
-}
-.radar /deep/ .el-card__body{
-  height: calc(100% - 100px);
-
-}
-
-</style>