DataManage.vue 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. <template>
  2. <div id="dataManage">
  3. <br/>
  4. <div class="left">
  5. <el-menu default-active="1-1" class="dataManage-menu" @select="handleMenuSelect">
  6. <el-sub-menu index="1">
  7. <template #title>
  8. <el-icon>
  9. <IconPark-table-file/>
  10. </el-icon>
  11. <span>数据管理</span>
  12. </template>
  13. <el-menu-item index="1-1">
  14. <el-icon>
  15. <IconPark-multi-triangular/>
  16. </el-icon>
  17. <span>二维数据</span>
  18. </el-menu-item>
  19. <el-menu-item index="1-2">
  20. <el-icon>
  21. <IconPark-sphere/>
  22. </el-icon>
  23. <span>三维数据</span>
  24. </el-menu-item>
  25. <el-menu-item index="1-3">
  26. <el-icon>
  27. <IconPark-internal-data/>
  28. </el-icon>
  29. <span>业务数据</span>
  30. </el-menu-item>
  31. <el-menu-item index="1-4">
  32. <el-icon>
  33. <IconPark-graphic-stitching/>
  34. </el-icon>
  35. <span>模型数据</span>
  36. </el-menu-item>
  37. <el-menu-item index="1-5">
  38. <el-icon :color="'#303133'">
  39. <IconPark-data/>
  40. </el-icon>
  41. <span>元数据</span>
  42. </el-menu-item>
  43. <el-menu-item index="1-6">
  44. <el-icon>
  45. <IconPark-connection-point/>
  46. </el-icon>
  47. <span>物联感知数据</span>
  48. </el-menu-item>
  49. </el-sub-menu>
  50. <el-menu-item index="2">
  51. <el-icon>
  52. <IconPark-external-transmission/>
  53. </el-icon>
  54. <span>数据导入</span>
  55. </el-menu-item>
  56. <!--<el-menu-item index="3">-->
  57. <!-- <el-icon>-->
  58. <!-- <IconPark-refresh/>-->
  59. <!-- </el-icon>-->
  60. <!-- <span>接口同步</span>-->
  61. <!--</el-menu-item>-->
  62. </el-menu>
  63. </div>
  64. <div class="content">
  65. <TwoDimensionalData v-if="pageShow['DTB-DATAMANAGE-TWOD'] && activeName==='1-1'"/>
  66. <ThreeDimensionalData v-if="pageShow['DTB-DATAMANAGE-THREED'] && activeName==='1-2'"/>
  67. <BusinessData v-if="pageShow['DTB-DATAMANAGE-BASEDATA'] && activeName==='1-3'"/>
  68. <ModelData v-if="pageShow['DTB-DATAMANAGE-MODEL'] && activeName==='1-4'"/>
  69. <MetaData v-if="pageShow['DTB-DATAMANAGE-METADATA'] && activeName==='1-5'"/>
  70. <IotData v-if="pageShow['DTB-DATAMANAGE-IOTDATA'] && activeName==='1-6'"/>
  71. <ImportData v-if="auth && activeName==='2'" />
  72. <!--<SyncInterface v-if="activeName==='3'"/>-->
  73. </div>
  74. </div>
  75. </template>
  76. <script>
  77. import {defineAsyncComponent} from "vue";
  78. export default {
  79. data() {
  80. return {
  81. activeName: '1-1',
  82. pageShow: {},
  83. tableHeight: 200,
  84. }
  85. },
  86. components: {
  87. TwoDimensionalData: defineAsyncComponent(() => import("@/components/dataManage/dataShow/TwoDimensionalData.vue")),
  88. ThreeDimensionalData: defineAsyncComponent(() => import("@/components/dataManage/dataShow/ThreeDimensionalData.vue")),
  89. BusinessData: defineAsyncComponent(() => import("@/components/dataManage/dataShow/BusinessData.vue")),
  90. ModelData: defineAsyncComponent(() => import("@/components/dataManage/dataShow/ModelData.vue")),
  91. MetaData: defineAsyncComponent(() => import("@/components/dataManage/dataShow/MetaData.vue")),
  92. IotData: defineAsyncComponent(() => import("@/components/dataManage/dataShow/IotData.vue")),
  93. ImportData: defineAsyncComponent(() => import("@/components/dataManage/ImportData.vue")),
  94. // SyncInterface: defineAsyncComponent(() => import("@/components/dataManage/SyncInterface.vue")),
  95. },
  96. created() {
  97. let userInfo = this.$store.state.userInfo;
  98. if (userInfo.userLevel < 2
  99. || (userInfo.userLevel === 2) && userInfo.serviceId.split(',').indexOf(this.$constant.serviceId) > -1) {
  100. this.auth = true;
  101. }
  102. },
  103. mounted() {
  104. let app = this;
  105. this.pageShow = this.$store.state.pageShow;
  106. },
  107. methods: {
  108. handleMenuSelect(val) {
  109. this.activeName = '-1';
  110. setTimeout(() => {
  111. this.activeName = val;
  112. }, 10);
  113. }
  114. }
  115. }
  116. </script>
  117. <style scoped>
  118. #dataManage {
  119. width: 100%;
  120. height: 100%;
  121. }
  122. #dataManage .left {
  123. width: 16%;
  124. display: inline-block;
  125. }
  126. #dataManage .content {
  127. width: 80%;
  128. height: 100%;
  129. display: inline-block;
  130. vertical-align: top;
  131. margin-left: 2%;
  132. }
  133. </style>
  134. <style>
  135. #dataManage .el-menu-item,.el-sub-menu__title {
  136. font-size: 17px !important;
  137. font-weight: 600;
  138. color: #373737;
  139. }
  140. .data {
  141. display: inline-block;
  142. width: 83%;
  143. vertical-align: top;
  144. }
  145. .data .operation {
  146. margin-top: 10px;
  147. margin-left: 10px;
  148. display: block;
  149. }
  150. </style>