rwyxzt.vue 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514
  1. <template>
  2. <div class="rwyxzt-content">
  3. <div class="upTalbe-area">
  4. <div class="rwxx-area">
  5. <div class="rwxx-title"></div>
  6. <div class="rwxx-content">
  7. <div class="rwxx-operateArea">
  8. <div class="rwxx-timePicker">
  9. <span class="startTime-icon"><i class="el-icon-date"></i></span>
  10. <span class="endTime-icon"><i class="el-icon-date"></i></span>
  11. <el-date-picker
  12. v-model="rwSearchTime"
  13. type="datetimerange"
  14. align="right"
  15. start-placeholder="开始日期"
  16. end-placeholder="结束日期"
  17. value-format="yyyy-MM-dd HH:mm:ss"
  18. :default-time="['12:00:00', '08:00:00']">
  19. </el-date-picker>
  20. </div>
  21. <div class="rwxx-searchBnt">
  22. <el-button type="primary" size="mini" @click="getRwxxTableData(rwSearchTime ? {startTime:rwSearchTime[0],endTime:rwSearchTime[1]} : undefined)">搜索</el-button>
  23. </div>
  24. </div>
  25. <div class="rwxx-tableArea">
  26. <el-table
  27. height="390"
  28. ref="rwxxMultipleTable"
  29. :data="rwxxTableData"
  30. tooltip-effect="light"
  31. style="width: 100%"
  32. :header-row-style="{background:'rgba(160, 160, 160, 0.3)',height:'30px',outline: 'rgb(229, 229, 229) solid 1px'}"
  33. :header-cell-style="{padding:'0px',fontFamily: 'SourceHanSansCN-Regular', fontSize: '14px', color: '#fff',backgroundColor:'transparent'}"
  34. :cell-style="{'padding':'0px'}"
  35. :row-style="rwxxRowStyle"
  36. @cell-mouse-enter="rwxxHandleCellHover"
  37. @row-click="rwxxRowClick"
  38. >
  39. <el-table-column
  40. v-for="(rwxxitemProp, rwxxitemPropi) in rwxxTitleProp"
  41. :key="rwxxitemPropi"
  42. :prop="rwxxitemProp[0]"
  43. :label="rwxxitemProp[1]"
  44. :width="rwxxitemProp[2]"
  45. :show-overflow-tooltip="rwxxitemProp[3]"
  46. align="center">
  47. </el-table-column>
  48. </el-table>
  49. </div>
  50. <!-- <div class="rwxx-pagination">
  51. <el-pagination
  52. @size-change="rwxxPaginationHandleSizeChange"
  53. @current-change="rwxxPaginationHandleCurrentChange"
  54. :current-page="rwxxPaginationcurrentPage"
  55. :page-size="rwxxPaginationPageSize"
  56. prev-text="上一页"
  57. next-text="下一页"
  58. layout="total, prev, pager, next, jumper"
  59. :pager-count="5"
  60. :total="rwxxPaginationTotal">
  61. </el-pagination>
  62. </div> -->
  63. </div>
  64. </div>
  65. <div class="wxgcxx-area">
  66. <div class="tableData-area">
  67. <el-table
  68. height="228"
  69. ref="wxgcxxMultipleTable"
  70. :data="wxgcxxTableData"
  71. tooltip-effect="light"
  72. style="width: 100%"
  73. :header-row-style="{background:'rgba(160, 160, 160, 0.3)',height:'30px',outline: 'rgb(229, 229, 229) solid 1px'}"
  74. :header-cell-style="{padding:'0px',fontFamily: 'SourceHanSansCN-Regular', fontSize: '14px', color: '#fff',backgroundColor:'transparent'}"
  75. :cell-style="{'padding':'0px'}"
  76. :row-style="wxgcxxRowStyle"
  77. @cell-mouse-enter="handleCellHover"
  78. @row-click="wxgcxxRowClick"
  79. >
  80. <el-table-column
  81. v-for="(itemProp, itemPropi) in wxgcxxTitleProp"
  82. :key="itemPropi"
  83. :prop="itemProp[0]"
  84. :label="itemProp[1]"
  85. :width="itemProp[2]"
  86. :show-overflow-tooltip="itemProp[3]"
  87. align="center">
  88. </el-table-column>
  89. </el-table>
  90. </div>
  91. </div>
  92. </div>
  93. <!-- <div class="downTimeLine-area">
  94. 地球时间轴
  95. </div> -->
  96. </div>
  97. </template>
  98. <script>
  99. import {selAllTargetList, selStripByParentId} from '@/api/rwjsApi.js'
  100. export default {
  101. name:"rwjsRwyxzt",
  102. data() {
  103. return {
  104. rwSearchTime:'',
  105. rwxxTitleProp:[
  106. ['parentId','编号',65, true],
  107. ['observationPurpose_use','目的',80, true],
  108. ['type_use','任务类型',65, false],
  109. ['startTime','开始时间',88, true],
  110. ['endTime','结束时间',88, true],
  111. ['status_use','执行状态',62, false],
  112. ],
  113. rwxxTableData:[],
  114. rwxxTempHoverRow:null,
  115. rwxxPaginationcurrentPage:1,
  116. rwxxPaginationTotal:10000,
  117. rwxxPaginationPageSize:6,
  118. wxgcxxTitleProp:[
  119. ['parentId','任务编号',100, true],
  120. ['satelliteName','卫星',100, false],
  121. ['targetName','目标',125, false],
  122. ['workMode','工作模式',120, false],
  123. ['accessTime','访问时刻',120, false],
  124. ],
  125. wxgcxxTableData:[],
  126. wxrwTempHoverRow:null,
  127. }
  128. },
  129. methods: {
  130. wxgcxxRowClick(row){
  131. this.$events.emit("rwjs-wxgcxxStripe", [row]);
  132. },
  133. rwxxRowClick(row){
  134. // console.log("@row", row);
  135. // let target = row.pointDTOList;
  136. row.pointDTOList = row.pointDTOList.sort((a, b) => a.sequence - b.sequence); //按点的顺序排列
  137. this.$events.emit("rwjs-targetList", [row]);
  138. const parentIds = [row.parentId];
  139. this.getWxgcxxTableData({parentIds});
  140. },
  141. rwxxRowStyle(row){
  142. let rwxxTempRwoStyle = {
  143. background: 'rgba(160, 160, 160, 0.3)',
  144. height:'30px',
  145. outline: 'rgb(128, 128, 128) solid 1px'
  146. };
  147. if (this.rwxxTempHoverRow == row.row) {
  148. rwxxTempRwoStyle.outline = 'rgb(229, 229, 229) solid 1px';
  149. rwxxTempRwoStyle.background = '#0095ff';
  150. }
  151. return rwxxTempRwoStyle;
  152. },
  153. rwxxHandleCellHover(row){
  154. this.rwxxTempHoverRow = row
  155. },
  156. rwxxPaginationHandleSizeChange(val){
  157. //val 为 每页的数据 条数
  158. },
  159. rwxxPaginationHandleCurrentChange(val){
  160. //val 为 当前是第几页
  161. // console.log("val 为 当前是第几页:",val);
  162. },
  163. wxgcxxRowStyle(row){
  164. let wxgcTempRwoStyle = {
  165. background: 'rgba(160, 160, 160, 0.3)',
  166. height:'30px',
  167. outline: 'rgb(128, 128, 128) solid 1px'
  168. };
  169. if (this.wxrwTempHoverRow == row.row) {
  170. wxgcTempRwoStyle.outline = 'rgb(229, 229, 229) solid 1px';
  171. wxgcTempRwoStyle.background = '#0095ff';
  172. }
  173. return wxgcTempRwoStyle;
  174. },
  175. handleCellHover(row){
  176. this.wxrwTempHoverRow = row
  177. },
  178. getRwxxTableData(data={}){
  179. const purposeDic = {
  180. 1: "快响应急观测",
  181. 2: "陆地伪装识别",
  182. 3: "早期异常监测",
  183. 4: "海上搜索发现",
  184. 5: "海上持续跟踪",
  185. 6: "海上识别确认"
  186. }
  187. const typeDic = {
  188. 0: "点目标",
  189. 1: "移动目标",
  190. 2: "区域目标",
  191. 3: "线目标",
  192. 4: "点群目标",
  193. "-1": "未知"
  194. }
  195. const statusDic = {
  196. 0: "未提交",
  197. 1: "已提交"
  198. }
  199. selAllTargetList(data).then(res => {
  200. if (res.code === 200) {
  201. this.rwxxTableData = res.data;
  202. this.rwxxTableData.forEach(item => {
  203. item.observationPurpose_use = purposeDic[item.observationPurpose];
  204. item.type_use = typeDic[item.type];
  205. item.status_use = statusDic[item.status];
  206. })
  207. } else {
  208. this.$message.error(res.msg);
  209. }
  210. })
  211. },
  212. getWxgcxxTableData(data={}){
  213. selStripByParentId(data).then(res => {
  214. if (res.code === 200) {
  215. this.wxgcxxTableData = res.data;
  216. // this.wxgcxxTableData.forEach(item => {
  217. // })
  218. } else {
  219. this.$message.error(res.msg);
  220. }
  221. })
  222. }
  223. },
  224. mounted(){
  225. this.getRwxxTableData();
  226. this.getWxgcxxTableData();
  227. }
  228. }
  229. </script>
  230. <style lang="scss" scoped>
  231. .rwyxzt-content{
  232. height: calc(100% - 84px);
  233. .upTalbe-area{
  234. width: 100%;
  235. height: calc(100% - 172px);
  236. display:flex;
  237. justify-content: space-between;
  238. .rwxx-area{
  239. margin-left: 48px;
  240. .rwxx-title{
  241. width: 471px;
  242. height: 37px;
  243. margin-bottom: 10px;
  244. background: url('@/assets/ClipImage/dikuang/rwjs_rwyxzt_rwxx_title.png') no-repeat;
  245. background-size: 100% 100%;
  246. }
  247. .rwxx-content{
  248. width: 471px;
  249. height: calc(100% - 57px);
  250. background: url('@/assets/ClipImage/dikuang/rwjs_rwyxzt_rwxx.png') no-repeat;
  251. background-size: 100% 100%;
  252. overflow: hidden;
  253. .rwxx-operateArea{
  254. width: 451px;
  255. height: 48px;
  256. margin: 0 auto;
  257. // background-color: pink;
  258. display: flex;
  259. justify-content: space-between;
  260. align-items: center;
  261. .rwxx-timePicker{
  262. width: 274px;
  263. height: 24px;
  264. margin-left: 20px;
  265. position: relative;
  266. /deep/.el-range-editor.el-input__inner{
  267. padding: 0px;
  268. width: 360px;
  269. height: 24px;
  270. border: none;
  271. background-color: transparent;
  272. }
  273. /deep/.el-date-editor .el-range__icon{
  274. display: none;
  275. }
  276. /deep/.el-range-editor .el-range-input{
  277. text-align: left;
  278. padding-left: 6px;
  279. line-height: 1;
  280. border: 1px solid rgba(213, 213, 213, 0.8);
  281. border-radius: 5px;
  282. width: 154px;
  283. height: 23px;
  284. background-color: rgba(160,160,160,0.8);
  285. color: #fff;
  286. font-family: SourceHanSansCN-Regular;
  287. }
  288. /deep/.el-date-editor .el-range-separator{
  289. color: #fff;
  290. line-height: 24px;
  291. width: 21px;
  292. }
  293. /deep/.el-date-editor .el-range__close-icon{
  294. line-height: 24px;
  295. }
  296. .startTime-icon{
  297. position: absolute;
  298. left: 142px;
  299. top: 4px;
  300. }.endTime-icon{
  301. position: absolute;
  302. left: 326px;
  303. top: 4px;
  304. }
  305. }
  306. .rwxx-searchBnt{
  307. width: 40px;
  308. height: 24px;
  309. margin-right: 8px;
  310. /deep/.el-button--mini, .el-button--mini.is-round{
  311. padding: 5px 7px;
  312. }
  313. }
  314. }
  315. .rwxx-tableArea{
  316. width: 451px;
  317. height: 400px;
  318. margin: 0 auto;
  319. // background-color: green;
  320. //表格内部样式
  321. /deep/.el-table {
  322. font-size: 14px;
  323. font-family: SourceHanSansCN-Regular;
  324. color: #fff;
  325. background-color: rgba(160, 160, 160, 0.3);
  326. }
  327. //行外边框遮挡部分
  328. /deep/.el-table__body,
  329. /deep/.el-table__header{
  330. padding: 1px;
  331. }
  332. //单元格内 无padding
  333. /deep/ .cell{
  334. padding:0;
  335. // white-space:pre-line;
  336. }
  337. /deep/th.el-table__cell>.cell{
  338. padding:0;
  339. }
  340. /deep/.is-leaf{
  341. border-bottom:none;
  342. }
  343. //设置表格内容区域背景色为透明色
  344. /deep/ .el-table,.el-table__expanded-ceel{
  345. background-color: transparent !important
  346. }
  347. //表格行与行之间存在8px的间距
  348. ::v-deep .el-table__body{
  349. -webkit-border-vertical-spacing:8px; //垂直间距
  350. // -webkit-border-horizontal-spacing:8px //水平间距
  351. }
  352. //设置表格区域内容背景色为透明时,出现表格底部的横线(表格外层的下边框),以下代码可去掉该横线
  353. /deep/ .el-table:before{
  354. height:0
  355. }
  356. //去掉表格内容的下边框
  357. /deep/ .el-table td,.el-table th.is-leaf{
  358. border:none
  359. }
  360. //取消鼠标滑过某行时,更改背景色
  361. /deep/.el-table tbody tr:hover > td {
  362. background-color: transparent !important;
  363. }
  364. }
  365. .rwxx-pagination{
  366. width: 431px;
  367. height: 30px;
  368. margin: 0 auto;
  369. padding: 0 10px;
  370. // background-color: red;
  371. /deep/ .el-pagination{
  372. height: 30px;
  373. font-family: SourceHanSansCN-Regular;
  374. font-size: 12px;
  375. color: #fff;
  376. }
  377. /deep/ .el-pagination__total{
  378. color: #fff;
  379. margin-right: 4px;
  380. }
  381. /deep/ .el-pagination .btn-prev,
  382. /deep/.btn-next {
  383. padding-right: 12px;
  384. color: #fff;
  385. background-color: transparent;
  386. font-family: SourceHanSansCN-Regular;
  387. padding: 0;
  388. }
  389. /deep/ .el-pager li{
  390. padding: 0px;
  391. margin: 0px 2px;
  392. font-size: 12px;
  393. min-width: 2px;
  394. height: 24px;
  395. width: 24px;
  396. line-height: 24px;
  397. background-color: #044978;
  398. border-radius: 4px;
  399. }
  400. /deep/ .el-pager li.active{
  401. color: #fff;
  402. background: #0095ff;
  403. }
  404. /deep/ .el-pagination .el-pagination__jump{
  405. color: #fff;
  406. margin-left: 4px;
  407. }
  408. /deep/ .el-pagination__editor.el-input{
  409. background: transparent;
  410. width: 34px;
  411. }
  412. /deep/ .el-pagination__editor.el-input .el-input__inner {
  413. height: 20px;
  414. background: transparent;
  415. width: 32px;
  416. border: 1px solid #bfbfbf;
  417. color: #fff;
  418. }
  419. }
  420. }
  421. }
  422. .wxgcxx-area{
  423. width: 587px;
  424. height: 284px;
  425. margin: 18px;
  426. background: url('@/assets/ClipImage/dikuang/rwjs_rwyxzt_wxgcxx.png') no-repeat;
  427. background-size: 100% 100%;
  428. overflow: hidden;
  429. .tableData-area{
  430. width: 567px;
  431. height: 228px;
  432. margin: 52px 10px 0px;
  433. // background-color: pink;
  434. //表格内部样式
  435. /deep/.el-table {
  436. font-size: 14px;
  437. font-family: SourceHanSansCN-Regular;
  438. color: #fff;
  439. background-color: rgba(160, 160, 160, 0.3);
  440. }
  441. //行外边框遮挡部分
  442. /deep/.el-table__body,
  443. /deep/.el-table__header{
  444. padding: 1px;
  445. }
  446. //单元格内 无padding
  447. /deep/ .cell{
  448. padding:0;
  449. // white-space:pre-line;
  450. }
  451. /deep/th.el-table__cell>.cell{
  452. padding:0;
  453. }
  454. /deep/.is-leaf{
  455. border-bottom:none;
  456. }
  457. //设置表格内容区域背景色为透明色
  458. /deep/ .el-table,.el-table__expanded-ceel{
  459. background-color: transparent !important
  460. }
  461. //表格行与行之间存在8px的间距
  462. ::v-deep .el-table__body{
  463. -webkit-border-vertical-spacing:8px; //垂直间距
  464. // -webkit-border-horizontal-spacing:8px //水平间距
  465. }
  466. //设置表格区域内容背景色为透明时,出现表格底部的横线(表格外层的下边框),以下代码可去掉该横线
  467. /deep/ .el-table:before{
  468. height:0
  469. }
  470. //去掉表格内容的下边框
  471. /deep/ .el-table td,.el-table th.is-leaf{
  472. border:none
  473. }
  474. //取消鼠标滑过某行时,更改背景色
  475. /deep/.el-table tbody tr:hover > td {
  476. background-color: transparent !important;
  477. }
  478. }
  479. }
  480. }
  481. .downTimeLine-area{
  482. width: 100%;
  483. height: 172px;
  484. line-height: 172px;
  485. text-align: center;
  486. background: #282828;
  487. }
  488. }
  489. </style>