xqglTable_XQTB.vue 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <template>
  2. <div class="xqgl-tableStyle">
  3. <!-- :data="xqglTableTBData" -->
  4. <el-table
  5. height="350"
  6. ref="multipleTable"
  7. :data="newTableXQTBData"
  8. tooltip-effect="light"
  9. style="width: 100%"
  10. :header-row-style="{background:'rgba(160, 160, 160, 0.3)'}"
  11. :header-cell-style="{padding:'0px',fontFamily: 'SourceHanSansCN-Regular',color: '#fff',backgroundColor:'transparent'}"
  12. :cell-style="{'padding':'0px'}"
  13. :row-style="{background: 'rgba(160, 160, 160, 0.3)',height:'30px'}"
  14. @row-click="handleClick"
  15. @row-contextmenu="rightClick"
  16. @select="handleSelection"
  17. @select-all="handleSelectionAll"
  18. >
  19. <el-table-column
  20. type="selection"
  21. align="center"
  22. width="55"
  23. tooltip-effect="light">
  24. </el-table-column>
  25. <el-table-column
  26. prop="targetName"
  27. label="目标"
  28. width="113"
  29. align="center"
  30. show-overflow-tooltip>
  31. </el-table-column>
  32. <el-table-column
  33. prop="observationPurposeChinese"
  34. label="目的"
  35. width="80"
  36. align="center"
  37. show-overflow-tooltip>
  38. </el-table-column>
  39. <el-table-column
  40. prop="statusChinese"
  41. label="状态"
  42. width="80"
  43. align="center">
  44. </el-table-column>
  45. <el-table-column
  46. prop="typeChinese"
  47. label="类型"
  48. width="80"
  49. align="center">
  50. </el-table-column>
  51. <el-table-column
  52. prop="parentId"
  53. label="编号"
  54. width="120"
  55. align="center"
  56. show-overflow-tooltip>
  57. </el-table-column>
  58. </el-table>
  59. </div>
  60. </template>
  61. <script>
  62. export default{
  63. name:'xqglTable',
  64. props:["tableXQTBData"],
  65. data() {
  66. return {
  67. xqglTableTBData: [],
  68. multipleSelection: [],
  69. leftClickSentData:{},
  70. rightClickSentData:{},
  71. }
  72. },
  73. methods: {
  74. handleClick(row, column, event){
  75. console.log('row, column, event:',row, column, event)
  76. this.leftClickSentData['rowClickFlag']='1'
  77. this.leftClickSentData['rowData']=row
  78. this.$emit("getValues",this.leftClickSentData)
  79. },
  80. rightClick(row, column, event){
  81. console.log('row, column, event:',row, column, event)
  82. // event.preventDefault();
  83. this.rightClickSentData['row'] = row
  84. this.rightClickSentData['event'] = event
  85. this.$emit("getRightClickValue", this.rightClickSentData)
  86. },
  87. handleSelection(sel,val){
  88. if (sel.length > 0) {
  89. this.$store.dispatch("xqglClickedTargetRowForCesiumSetView",val);
  90. }
  91. },
  92. handleSelectionAll(val){
  93. if (val.length > 0) {
  94. this.$store.dispatch("xqglClickedTargetRowForCesiumSetView",this.tableXQTBData[0]);
  95. }
  96. }
  97. },
  98. computed:{
  99. newTableXQTBData(){
  100. let tempTableXQTBData = this.tableXQTBData;
  101. tempTableXQTBData.forEach(element => {
  102. element["observationPurposeChinese"] = "";
  103. element["typeChinese"] = "";
  104. element["statusChinese"] = "";
  105. if (element.observationPurpose === 1) {
  106. element.observationPurposeChinese = '快响应急观测';
  107. }
  108. if (element.observationPurpose === 2) {
  109. element.observationPurposeChinese = '陆地伪装识别';
  110. }
  111. if (element.observationPurpose === 3) {
  112. element.observationPurposeChinese = '早期异常监测';
  113. }
  114. if (element.observationPurpose === 4) {
  115. element.observationPurposeChinese = '海上搜索发现';
  116. }
  117. if (element.observationPurpose === 5) {
  118. element.observationPurposeChinese = '海上持续跟踪';
  119. }
  120. if (element.observationPurpose === 6) {
  121. element.observationPurposeChinese = '海上识别确认';
  122. }
  123. if (element.type === 0) {
  124. element.typeChinese = '点目标';
  125. }
  126. if (element.type === 1) {
  127. element.typeChinese = '移动目标';
  128. }
  129. if (element.type === 2) {
  130. element.typeChinese = '区域目标';
  131. }
  132. if (element.status === 0) {
  133. element.statusChinese = '未提交';
  134. }
  135. if (element.status === 1) {
  136. element.statusChinese = '已提交';
  137. }
  138. });
  139. // return this.tableXQTBData;
  140. return tempTableXQTBData;
  141. }
  142. },
  143. mounted() {
  144. // this.axios.get('/api/xqglTableTBData').then(res=>{
  145. // this.xqglTableTBData = res.data.data.data;
  146. // console.log(this.xqglTableTBData);
  147. // }).catch(err=>{
  148. // alert(err)
  149. // })
  150. //后端接口
  151. },
  152. }
  153. </script>
  154. <style lang="scss" scoped>
  155. .xqgl-tableStyle{
  156. width:500px;
  157. height:350px;
  158. }
  159. //表格内部样式
  160. /deep/.el-table {
  161. font-size: 14px;
  162. font-family: SourceHanSansCN-Regular;
  163. color: #fff;
  164. background-color: rgba(160, 160, 160, 0.3);
  165. }
  166. //设置表格内容区域背景色为透明色
  167. /deep/ .el-table,.el-table__expanded-ceel{
  168. background-color: transparent !important
  169. }
  170. //表格行与行之间存在8px的间距
  171. ::v-deep .el-table__body{
  172. -webkit-border-vertical-spacing:8px; //垂直间距
  173. // -webkit-border-horizontal-spacing:8px //水平间距
  174. }
  175. //设置表格区域内容背景色为透明时,出现表格底部的横线(表格外层的下边框),以下代码可去掉该横线
  176. /deep/ .el-table:before{
  177. height:0
  178. }
  179. //去掉表格内容的下边框--没有成功
  180. /deep/ .el-table td,.el-table th.is-leaf{
  181. border:none
  182. }
  183. //取消鼠标滑过某行时,更改背景色
  184. /deep/.el-table tbody tr:hover > td {
  185. background-color: transparent !important;
  186. }
  187. </style>