toolBar.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. <template>
  2. <div v-if="ToolBarShow">
  3. <div class="resourceTree" @click="choose(0)"></div>
  4. <div class="toolBar">
  5. <li
  6. class="sm-btn sm-tool-btn"
  7. :title="Resource.analysis"
  8. @click="choose(6)"
  9. >
  10. <span class="iconfont iconsanweifenxi"></span>
  11. </li>
  12. <ul v-if="show">
  13. <!-- <li
  14. class="sm-btn sm-tool-btn"
  15. :title="Resource.addLayer"
  16. @click="choose(1)"
  17. >
  18. <span class="iconfont iconjiazaituceng"></span>
  19. </li> -->
  20. <li class="sm-btn sm-tool-btn" title="点击查询" @click="choose(9)">
  21. <Icon
  22. type="md-information-circle"
  23. style="color: #51e9ff !important"
  24. />
  25. </li>
  26. <li class="sm-btn sm-tool-btn" title="地名地址" @click="choose(10)">
  27. <Icon type="logo-xbox" style="color: #51e9ff !important" />
  28. </li>
  29. <!-- <li
  30. class="sm-btn sm-tool-btn"
  31. :title="Resource.setBaseLayer"
  32. @click="choose(2)"
  33. >
  34. <span class="iconfont iconditushezhi"></span>
  35. </li> -->
  36. <li
  37. class="sm-btn sm-tool-btn"
  38. :title="Resource.sceneOptions"
  39. @click="choose(3)"
  40. >
  41. <span class="iconfont iconchangjingshezhi"></span>
  42. </li>
  43. <li
  44. class="sm-btn sm-tool-btn"
  45. :title="Resource.clip"
  46. @click="choose(4)"
  47. >
  48. <span class="iconfont iconiEarth-R8-xiugai_caijian"></span>
  49. </li>
  50. <li
  51. class="sm-btn sm-tool-btn"
  52. :title="Resource.terrain"
  53. @click="choose(5)"
  54. >
  55. <span class="iconfont icondixing"></span>
  56. </li>
  57. <!-- <li
  58. class="sm-btn sm-tool-btn"
  59. :title="Resource.analysis"
  60. @click="choose(6)"
  61. >
  62. <span class="iconfont iconsanweifenxi"></span>
  63. </li> -->
  64. <li
  65. class="sm-btn sm-tool-btn"
  66. :title="Resource.measure"
  67. @click="choose(7)"
  68. >
  69. <span class="iconfont iconliangsuan"></span>
  70. </li>
  71. <li
  72. class="sm-btn sm-tool-btn"
  73. :title="Resource.onlineEditing"
  74. @click="choose(8)"
  75. >
  76. <span class="iconfont iconzaixianbianji"></span>
  77. </li>
  78. <!-- <li class="sm-btn sm-tool-btn" title="城市设计" @click="choose(9)">
  79. <span class="iconfont iconVue-sightline"></span>
  80. </li> -->
  81. </ul>
  82. <div
  83. class="sm-tool-btn"
  84. @click="toggleVisibility"
  85. :class="{ 'sm-tool-btn-only': !show }"
  86. >
  87. <span
  88. class="iconfont"
  89. :class="
  90. !show
  91. ? 'iconiEarth-R8-xiugai_shouqi'
  92. : 'iconiEarth-R8-xiugai_zhankai'
  93. "
  94. ></span>
  95. </div>
  96. </div>
  97. <!-- 调用子组件-->
  98. <layer-manage></layer-manage>
  99. <add-layers></add-layers>
  100. <add-base-layer></add-base-layer>
  101. <scene-atttribute></scene-atttribute>
  102. <terrain-analysis></terrain-analysis>
  103. <clip-analysis></clip-analysis>
  104. <sm3d-measure></sm3d-measure>
  105. <sm3d-analysis></sm3d-analysis>
  106. <online-edit></online-edit>
  107. <!-- <city-plan></city-plan> -->
  108. <!-- 图层属性 -->
  109. <layer-attribute></layer-attribute>
  110. <!-- 特效 -->
  111. <air-lines-trail-lines></air-lines-trail-lines>
  112. <scan-effect></scan-effect>
  113. <wind-particle></wind-particle>
  114. <placename-location
  115. class="sm-panel"
  116. v-if="plan"
  117. style="width: 400px; height: 400px; z-index: 999999"
  118. ></placename-location>
  119. <click-query
  120. class="sm-panel"
  121. v-if="clickShow"
  122. style="width: 400px; height: 400px; z-index: 999999"
  123. ></click-query>
  124. </div>
  125. </template>
  126. <script>
  127. import clickQuery from "../../Query/clickQuery/clickQuery.vue";
  128. export default {
  129. components: { clickQuery },
  130. name: "ToolBar",
  131. props: {},
  132. data() {
  133. return {
  134. sharedState: store.state,
  135. show: false,
  136. clickShow: false,
  137. plan: false,
  138. };
  139. },
  140. computed: {
  141. ToolBarShow: function () {
  142. return this.sharedState.ToolBarShow;
  143. },
  144. },
  145. methods: {
  146. toggleVisibility() {
  147. // 验证是否为点击事件,是则继续执行click事件,否则不执行
  148. // let isClick = document
  149. // .getElementById("dragbtn")
  150. // .getAttribute("data-flag");
  151. // if (isClick !== "true") {
  152. // return false;
  153. // }
  154. //控制组件界面显隐
  155. this.show = !this.show;
  156. },
  157. choose(i) {
  158. console.log(i);
  159. console.log(store.state.toolBar);
  160. if (i == 9) {
  161. this.clickShow = !this.clickShow;
  162. } else if (i == 10) {
  163. this.plan = !this.plan;
  164. } else {
  165. this.clickShow = false;
  166. this.plan = false;
  167. store.setToolBarAction(i);
  168. }
  169. // 验证是否为点击事件,是则继续执行click事件,否则不执行
  170. // let isClick = document
  171. // .getElementById("dragbtn")
  172. // .getAttribute("data-flag");
  173. // if (isClick !== "true") {
  174. // return false;
  175. // }
  176. },
  177. },
  178. };
  179. </script>
  180. <style lang="scss" scoped>
  181. @import "toolBar";
  182. </style>