index.vue 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. <template>
  2. <el-col style="height:100%;">
  3. <el-row :gutter="20" style="height: 50%;">
  4. <el-col :span="12" style="height:100%;">
  5. <el-card class="box-card" style="width: 100%;">
  6. <div slot="header" class="clearfix" style="height: 28px">
  7. <span>雷达脉冲数据</span>
  8. </div>
  9. <div style="height: calc(100% - 40px)">
  10. <el-table :data="this.singleData" height="100%">
  11. <el-table-column label="序号" width="55" type="index" :index='(index) => { return (index + 1) + (radarPageIndex - 1) * radarPageSize }'></el-table-column>
  12. <el-table-column prop="type" label="类型" width="55"></el-table-column>
  13. <el-table-column prop="environment" label="环境" width="55"></el-table-column>
  14. <el-table-column prop="longitude" label="经度" width="55"></el-table-column>
  15. <el-table-column prop="latitude" label="纬度" width="55"></el-table-column>
  16. <el-table-column prop="height" label="高度" width="55"></el-table-column>
  17. <el-table-column prop="frequency" label="频率(MHz)"></el-table-column>
  18. <el-table-column prop="pri" label="PRI(MHz)"></el-table-column>
  19. <el-table-column prop="from" label="发送方"></el-table-column>
  20. <el-table-column prop="to" label="接收方"></el-table-column>
  21. </el-table>
  22. </div>
  23. <div style="height: 30px">
  24. <el-pagination
  25. background
  26. @size-change="radarSizeChangeHandle"
  27. @current-change="radarCurrentChangeHandle"
  28. :current-page="radarPageIndex"
  29. :page-sizes="[10, 20, 50, 100]"
  30. :page-size="radarPageSize"
  31. :total="radarTotalPage"
  32. layout="total, sizes, prev, pager, next, jumper">
  33. </el-pagination>
  34. </div>
  35. </el-card>
  36. </el-col>
  37. <el-col :span="12" style="height:100%;">
  38. <el-card class="box-card" style="width: 100%;height: 100%">
  39. <div slot="header" class="clearfix" style="height: 28px">
  40. <span>电子干扰数据</span>
  41. </div>
  42. <div style="height: calc(100% - 40px)">
  43. <el-table :data="this.interferenceData" height="100%">
  44. <el-table-column label="序号" type="index" width="55" :index='(index) => { return (index + 1) + (interferencePageIndex - 1) * interferencePageSize }'></el-table-column>
  45. <el-table-column prop="type" label="类型" width="80"></el-table-column>
  46. <el-table-column prop="environment" label="环境" width="55"></el-table-column>
  47. <el-table-column prop="area" label="区域" width="55"></el-table-column>
  48. <el-table-column prop="strategy" label="干扰策略" width="80"></el-table-column>
  49. <el-table-column prop="target" label="干扰目标" width="80"></el-table-column>
  50. <el-table-column prop="isCollaborated" label="是否协同干扰" width="110"/>
  51. <el-table-column prop="pri" label="PRI(MHz)" width="100"></el-table-column>
  52. <el-table-column prop="from" label="发送方"></el-table-column>
  53. <el-table-column prop="to" label="接收方"></el-table-column>
  54. </el-table>
  55. </div>
  56. <div style="height: 30px;">
  57. <el-pagination
  58. background
  59. @size-change="interferenceSizeChangeHandle"
  60. @current-change="interferenceCurrentChangeHandle"
  61. :current-page="interferencePageIndex"
  62. :page-sizes="[10, 20, 50, 100]"
  63. :page-size="interferencePageSize"
  64. :total="interferenceTotalPage"
  65. layout="total, sizes, prev, pager, next, jumper">
  66. </el-pagination>
  67. </div>
  68. </el-card>
  69. </el-col>
  70. </el-row>
  71. <el-row style="height: 50%;">
  72. <el-card class="box-card" style="width: 100%;">
  73. <div slot="header" class="clearfix" style="height: 28px">
  74. <span>综合/战术/自由</span>
  75. </div>
  76. <div style="height: calc(100% - 30px)">
  77. <el-table :data="this.otherData" height="100%">
  78. <el-table-column label="序号" type="index" :index='(index) => { return (index + 1) + (otherPageIndex - 1) * otherPageSize }'></el-table-column>
  79. <el-table-column prop="type" label="消息类型"></el-table-column>
  80. <el-table-column prop="priority" label="优先级"></el-table-column>
  81. <el-table-column prop="isBroadcast" label="是否广播">
  82. </el-table-column>
  83. <el-table-column prop="from" label="发送方"></el-table-column>
  84. <el-table-column prop="to" label="接收方"></el-table-column>
  85. <el-table-column prop="message" label="消息内容"></el-table-column>
  86. </el-table>
  87. </div>
  88. <div style="height: 30px">
  89. <el-pagination
  90. background
  91. @size-change="otherSizeChangeHandle"
  92. @current-change="otherCurrentChangeHandle"
  93. :current-page="otherPageIndex"
  94. :page-sizes="[10, 20, 50, 100]"
  95. :page-size="otherPageSize"
  96. :total="otherTotalPage"
  97. layout="total, sizes, prev, pager, next, jumper">
  98. </el-pagination>
  99. </div>
  100. </el-card>
  101. </el-row>
  102. </el-col>
  103. </template>
  104. <script>
  105. export default {
  106. data() {
  107. return {
  108. dialogVisible: false,
  109. radarPageIndex: 1,
  110. radarPageSize: 10,
  111. radarTotalPage: 0,
  112. interferencePageIndex: 1,
  113. interferencePageSize: 10,
  114. interferenceTotalPage: 0,
  115. otherPageIndex: 1,
  116. otherPageSize: 10,
  117. otherTotalPage: 0,
  118. singleData: [],
  119. interferenceData: [],
  120. otherData: [],
  121. };
  122. },
  123. created() {
  124. this.getRadarMessage();
  125. this.getInterferenceMessage();
  126. this.getOtherMessage();
  127. // 设置定时器,每隔 5 秒更新一次数据(可以根据需求调整时间)
  128. // this.dataUpdateInterval = setInterval(() => {
  129. // this.getRadarMessage();
  130. // this.getInterferenceMessage();
  131. // }, 5000); // 5000 毫秒 = 5 秒
  132. },
  133. activated() {
  134. this.radarCurrentChangeHandle(1);
  135. this.interferenceCurrentChangeHandle(1);
  136. this.otherCurrentChangeHandle(1);
  137. },
  138. methods:{
  139. handleClose(){},
  140. //获取雷达脉冲数据
  141. getRadarMessage(){
  142. this.singleData=[]
  143. const params = {
  144. page: this.radarPageIndex,
  145. limit: this.radarPageSize,
  146. };
  147. this.$http({
  148. url: this.$http.adornUrl("/message/listRadarPulses"),
  149. method: "get",
  150. params: this.$http.adornParams(params),
  151. }).then(({ data }) => {
  152. if (data && data.code === 0) {
  153. this.singleData = data.page.list;
  154. this.radarTotalPage = data.page.totalCount;
  155. } else {
  156. this.singleData = [];
  157. this.radarTotalPage = 0;
  158. }
  159. // this.dataListLoading = false;
  160. });
  161. },
  162. // 雷达脉冲数据每页数
  163. radarSizeChangeHandle(val) {
  164. this.radarPageSize = val;
  165. this.radarPageIndex = 1;
  166. this.getRadarMessage();
  167. },
  168. // 雷达脉冲数据当前页
  169. radarCurrentChangeHandle(val) {
  170. this.radarPageIndex = val;
  171. this.getRadarMessage();
  172. },
  173. //获取电子干扰数据
  174. getInterferenceMessage(){
  175. const params = {
  176. page: this.interferencePageIndex,
  177. limit: this.interferencePageSize,
  178. };
  179. this.$http({
  180. url: this.$http.adornUrl("/message/listEleInters"),
  181. method: "get",
  182. params: this.$http.adornParams(params),
  183. }).then(({ data }) => {
  184. if (data && data.code === 0) {
  185. this.interferenceData = data.page.list;
  186. this.interferenceTotalPage = data.page.totalCount;
  187. } else {
  188. this.interferenceData = [];
  189. this.interferenceTotalPage = 0;
  190. }
  191. // this.dataListLoading = false;
  192. });
  193. },
  194. // 电子干扰数据每页数
  195. interferenceSizeChangeHandle(val) {
  196. this.interferencePageSize = val;
  197. this.interferencePageIndex = 1;
  198. this.getInterferenceMessage();
  199. },
  200. // 电子干扰数据当前页
  201. interferenceCurrentChangeHandle(val) {
  202. this.interferencePageIndex = val;
  203. this.getInterferenceMessage();
  204. },
  205. //获取其他数据
  206. getOtherMessage(){
  207. const params = {
  208. page: this.otherPageIndex,
  209. limit: this.otherPageSize,
  210. };
  211. this.$http({
  212. url: this.$http.adornUrl("/message/listComInts"),
  213. method: "get",
  214. params: this.$http.adornParams(params),
  215. }).then(({ data }) => {
  216. if (data && data.code === 0) {
  217. this.otherData = data.page.list;
  218. this.otherTotalPage = data.page.totalCount;
  219. } else {
  220. this.otherData = [];
  221. this.otherTotalPage = 0;
  222. }
  223. // this.dataListLoading = false;
  224. });
  225. },
  226. // 其他数据每页数
  227. otherSizeChangeHandle(val) {
  228. this.otherPageSize = val;
  229. this.otherPageIndex = 1;
  230. this.getOtherMessage();
  231. },
  232. // 其他数据当前页
  233. otherCurrentChangeHandle(val) {
  234. this.otherPageIndex = val;
  235. this.getOtherMessage();
  236. },
  237. }
  238. };
  239. </script>
  240. <style scoped>
  241. .clearfix:before,
  242. .clearfix:after {
  243. display: table;
  244. content: "";
  245. }
  246. .clearfix:after {
  247. clear: both;
  248. }
  249. .box-card {
  250. width: 480px;
  251. }
  252. </style>