Sin Descripción

loginedHome.vue 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <template>
  2. <div class="main-info">
  3. <el-tabs :tab-position="tabPosition">
  4. <el-tab-pane label="站点列表"></el-tab-pane>
  5. </el-tabs>
  6. <el-row :gutter="10">
  7. <el-col :span="24">
  8. <ul class="site" v-if="siteList.length">
  9. <li v-for="item in siteList" :key="item.id">
  10. <div class="name">{{item.name}}<span class="state">{{item.open ? '公开' : '未公开'}}</span></div>
  11. <div>站点编号:{{item.code}}</div>
  12. <div>{{item.location}}</div>
  13. <div class="floatModule">
  14. <div>
  15. <el-button type="warning" @click="monitor(item)">实时监测</el-button>
  16. </div>
  17. <div>
  18. <el-button type="primary" @click="load">下载数据</el-button>
  19. </div>
  20. </div>
  21. </li>
  22. </ul>
  23. </el-col>
  24. </el-row>
  25. <download ref="downloadModul"></download>
  26. </div>
  27. </template>
  28. <script>
  29. import download from '@/views/timeMonitoring/component/download'
  30. import { getCookiesId } from '@/utils/auth'
  31. import { siteList } from '@/api/loginedHome'
  32. export default {
  33. data() {
  34. return {
  35. tabPosition: 'top',
  36. siteObj: {
  37. uid: getCookiesId('id'),
  38. active: [1],
  39. pageSize: 20,
  40. pageNo: 1
  41. },
  42. siteList: []
  43. }
  44. },
  45. components: {
  46. download
  47. },
  48. created() {
  49. siteList(this.siteObj).then(res => {
  50. if (res.success) {
  51. this.siteList = res.data.data
  52. }
  53. })
  54. },
  55. methods: {
  56. monitor(data) {
  57. this.$router.push({ name: 'realtimeMonitor', query: { title: data.name, id: data.id }})
  58. },
  59. load() {
  60. this.$refs.downloadModul.dialogTableVisible = true
  61. }
  62. }
  63. }
  64. </script>
  65. <style rel="stylesheet/scss" lang="scss">
  66. .site {
  67. padding: 10px;
  68. margin: 0;
  69. li {
  70. margin-bottom: 15px;
  71. padding: 20px 20px;
  72. list-style: none;
  73. box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
  74. position: relative;
  75. div {
  76. margin-bottom: 10px;
  77. font-size: 15px;
  78. color: #1f2d3d;
  79. }
  80. .name {
  81. color: #304156;
  82. font-size: 18px;
  83. .state {
  84. margin-left: 10px;
  85. }
  86. }
  87. .floatModule {
  88. position: absolute;
  89. top: 20px;
  90. right: 30px;
  91. }
  92. }
  93. }
  94. .el-tabs__nav-wrap{
  95. z-index: 0;
  96. }
  97. </style>