rwyxzt.vue 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513
  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. }
  186. const typeDic = {
  187. 0: "点目标",
  188. 1: "移动目标",
  189. 2: "区域目标",
  190. 3: "线目标",
  191. 4: "点群目标",
  192. "-1": "未知"
  193. }
  194. const statusDic = {
  195. 0: "未提交",
  196. 1: "已提交"
  197. }
  198. selAllTargetList(data).then(res => {
  199. if (res.code === 200) {
  200. this.rwxxTableData = res.data;
  201. this.rwxxTableData.forEach(item => {
  202. item.observationPurpose_use = purposeDic[item.observationPurpose];
  203. item.type_use = typeDic[item.type];
  204. item.status_use = statusDic[item.status];
  205. })
  206. } else {
  207. this.$message.error(res.msg);
  208. }
  209. })
  210. },
  211. getWxgcxxTableData(data={}){
  212. selStripByParentId(data).then(res => {
  213. if (res.code === 200) {
  214. this.wxgcxxTableData = res.data;
  215. // this.wxgcxxTableData.forEach(item => {
  216. // })
  217. } else {
  218. this.$message.error(res.msg);
  219. }
  220. })
  221. }
  222. },
  223. mounted(){
  224. this.getRwxxTableData();
  225. this.getWxgcxxTableData();
  226. }
  227. }
  228. </script>
  229. <style lang="scss" scoped>
  230. .rwyxzt-content{
  231. height: calc(100% - 84px);
  232. .upTalbe-area{
  233. width: 100%;
  234. height: calc(100% - 172px);
  235. display:flex;
  236. justify-content: space-between;
  237. .rwxx-area{
  238. margin-left: 48px;
  239. .rwxx-title{
  240. width: 471px;
  241. height: 37px;
  242. margin-bottom: 10px;
  243. background: url('@/assets/ClipImage/dikuang/rwjs_rwyxzt_rwxx_title.png') no-repeat;
  244. background-size: 100% 100%;
  245. }
  246. .rwxx-content{
  247. width: 471px;
  248. height: calc(100% - 57px);
  249. background: url('@/assets/ClipImage/dikuang/rwjs_rwyxzt_rwxx.png') no-repeat;
  250. background-size: 100% 100%;
  251. overflow: hidden;
  252. .rwxx-operateArea{
  253. width: 451px;
  254. height: 48px;
  255. margin: 0 auto;
  256. // background-color: pink;
  257. display: flex;
  258. justify-content: space-between;
  259. align-items: center;
  260. .rwxx-timePicker{
  261. width: 274px;
  262. height: 24px;
  263. margin-left: 20px;
  264. position: relative;
  265. /deep/.el-range-editor.el-input__inner{
  266. padding: 0px;
  267. width: 360px;
  268. height: 24px;
  269. border: none;
  270. background-color: transparent;
  271. }
  272. /deep/.el-date-editor .el-range__icon{
  273. display: none;
  274. }
  275. /deep/.el-range-editor .el-range-input{
  276. text-align: left;
  277. padding-left: 6px;
  278. line-height: 1;
  279. border: 1px solid rgba(213, 213, 213, 0.8);
  280. border-radius: 5px;
  281. width: 154px;
  282. height: 23px;
  283. background-color: rgba(160,160,160,0.8);
  284. color: #fff;
  285. font-family: SourceHanSansCN-Regular;
  286. }
  287. /deep/.el-date-editor .el-range-separator{
  288. color: #fff;
  289. line-height: 24px;
  290. width: 21px;
  291. }
  292. /deep/.el-date-editor .el-range__close-icon{
  293. line-height: 24px;
  294. }
  295. .startTime-icon{
  296. position: absolute;
  297. left: 142px;
  298. top: 4px;
  299. }.endTime-icon{
  300. position: absolute;
  301. left: 326px;
  302. top: 4px;
  303. }
  304. }
  305. .rwxx-searchBnt{
  306. width: 40px;
  307. height: 24px;
  308. margin-right: 8px;
  309. /deep/.el-button--mini, .el-button--mini.is-round{
  310. padding: 5px 7px;
  311. }
  312. }
  313. }
  314. .rwxx-tableArea{
  315. width: 451px;
  316. height: 400px;
  317. margin: 0 auto;
  318. // background-color: green;
  319. //表格内部样式
  320. /deep/.el-table {
  321. font-size: 14px;
  322. font-family: SourceHanSansCN-Regular;
  323. color: #fff;
  324. background-color: rgba(160, 160, 160, 0.3);
  325. }
  326. //行外边框遮挡部分
  327. /deep/.el-table__body,
  328. /deep/.el-table__header{
  329. padding: 1px;
  330. }
  331. //单元格内 无padding
  332. /deep/ .cell{
  333. padding:0;
  334. // white-space:pre-line;
  335. }
  336. /deep/th.el-table__cell>.cell{
  337. padding:0;
  338. }
  339. /deep/.is-leaf{
  340. border-bottom:none;
  341. }
  342. //设置表格内容区域背景色为透明色
  343. /deep/ .el-table,.el-table__expanded-ceel{
  344. background-color: transparent !important
  345. }
  346. //表格行与行之间存在8px的间距
  347. ::v-deep .el-table__body{
  348. -webkit-border-vertical-spacing:8px; //垂直间距
  349. // -webkit-border-horizontal-spacing:8px //水平间距
  350. }
  351. //设置表格区域内容背景色为透明时,出现表格底部的横线(表格外层的下边框),以下代码可去掉该横线
  352. /deep/ .el-table:before{
  353. height:0
  354. }
  355. //去掉表格内容的下边框
  356. /deep/ .el-table td,.el-table th.is-leaf{
  357. border:none
  358. }
  359. //取消鼠标滑过某行时,更改背景色
  360. /deep/.el-table tbody tr:hover > td {
  361. background-color: transparent !important;
  362. }
  363. }
  364. .rwxx-pagination{
  365. width: 431px;
  366. height: 30px;
  367. margin: 0 auto;
  368. padding: 0 10px;
  369. // background-color: red;
  370. /deep/ .el-pagination{
  371. height: 30px;
  372. font-family: SourceHanSansCN-Regular;
  373. font-size: 12px;
  374. color: #fff;
  375. }
  376. /deep/ .el-pagination__total{
  377. color: #fff;
  378. margin-right: 4px;
  379. }
  380. /deep/ .el-pagination .btn-prev,
  381. /deep/.btn-next {
  382. padding-right: 12px;
  383. color: #fff;
  384. background-color: transparent;
  385. font-family: SourceHanSansCN-Regular;
  386. padding: 0;
  387. }
  388. /deep/ .el-pager li{
  389. padding: 0px;
  390. margin: 0px 2px;
  391. font-size: 12px;
  392. min-width: 2px;
  393. height: 24px;
  394. width: 24px;
  395. line-height: 24px;
  396. background-color: #044978;
  397. border-radius: 4px;
  398. }
  399. /deep/ .el-pager li.active{
  400. color: #fff;
  401. background: #0095ff;
  402. }
  403. /deep/ .el-pagination .el-pagination__jump{
  404. color: #fff;
  405. margin-left: 4px;
  406. }
  407. /deep/ .el-pagination__editor.el-input{
  408. background: transparent;
  409. width: 34px;
  410. }
  411. /deep/ .el-pagination__editor.el-input .el-input__inner {
  412. height: 20px;
  413. background: transparent;
  414. width: 32px;
  415. border: 1px solid #bfbfbf;
  416. color: #fff;
  417. }
  418. }
  419. }
  420. }
  421. .wxgcxx-area{
  422. width: 587px;
  423. height: 284px;
  424. margin: 18px;
  425. background: url('@/assets/ClipImage/dikuang/rwjs_rwyxzt_wxgcxx.png') no-repeat;
  426. background-size: 100% 100%;
  427. overflow: hidden;
  428. .tableData-area{
  429. width: 567px;
  430. height: 228px;
  431. margin: 52px 10px 0px;
  432. // background-color: pink;
  433. //表格内部样式
  434. /deep/.el-table {
  435. font-size: 14px;
  436. font-family: SourceHanSansCN-Regular;
  437. color: #fff;
  438. background-color: rgba(160, 160, 160, 0.3);
  439. }
  440. //行外边框遮挡部分
  441. /deep/.el-table__body,
  442. /deep/.el-table__header{
  443. padding: 1px;
  444. }
  445. //单元格内 无padding
  446. /deep/ .cell{
  447. padding:0;
  448. // white-space:pre-line;
  449. }
  450. /deep/th.el-table__cell>.cell{
  451. padding:0;
  452. }
  453. /deep/.is-leaf{
  454. border-bottom:none;
  455. }
  456. //设置表格内容区域背景色为透明色
  457. /deep/ .el-table,.el-table__expanded-ceel{
  458. background-color: transparent !important
  459. }
  460. //表格行与行之间存在8px的间距
  461. ::v-deep .el-table__body{
  462. -webkit-border-vertical-spacing:8px; //垂直间距
  463. // -webkit-border-horizontal-spacing:8px //水平间距
  464. }
  465. //设置表格区域内容背景色为透明时,出现表格底部的横线(表格外层的下边框),以下代码可去掉该横线
  466. /deep/ .el-table:before{
  467. height:0
  468. }
  469. //去掉表格内容的下边框
  470. /deep/ .el-table td,.el-table th.is-leaf{
  471. border:none
  472. }
  473. //取消鼠标滑过某行时,更改背景色
  474. /deep/.el-table tbody tr:hover > td {
  475. background-color: transparent !important;
  476. }
  477. }
  478. }
  479. }
  480. .downTimeLine-area{
  481. width: 100%;
  482. height: 172px;
  483. line-height: 172px;
  484. text-align: center;
  485. background: #282828;
  486. }
  487. }
  488. </style>