menu.vue 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. <template>
  2. <div class="pinBottom-container">
  3. <div class="pinBottom center">
  4. <div id="view-controllers"></div>
  5. </div>
  6. <div class="pinBottom left">
  7. <div>
  8. <div class="viewContainer">
  9. <div
  10. id="previous"
  11. class="previous desktop-only ui-icon"
  12. style="display: none"
  13. >
  14. <a>
  15. <img
  16. rel="tooltip"
  17. title=""
  18. :src="require('@/assets/images/play.png')"
  19. width="24"
  20. height="24"
  21. data-original-title="播放"
  22. />
  23. </a>
  24. </div>
  25. <div
  26. id="play"
  27. class="ui-icon"
  28. rel="tooltip"
  29. data-original-title="播放"
  30. >
  31. <a>
  32. <img
  33. title=""
  34. :src="require('@/assets/images/icon/play.png')"
  35. width="24"
  36. height="24"
  37. />
  38. </a>
  39. </div>
  40. <div id="pause" class="ui-icon" style="display: none">
  41. <a>
  42. <img
  43. rel="tooltip"
  44. title=""
  45. :src="require('@/assets/images/icon/pause.png')"
  46. width="24"
  47. height="24"
  48. data-original-title="暂停"
  49. />
  50. </a>
  51. </div>
  52. <div
  53. id="next"
  54. class="next desktop-only ui-icon wide"
  55. style="display: none"
  56. >
  57. <a>
  58. <i
  59. rel="tooltip"
  60. title=""
  61. class="icon icon-dpad-right"
  62. data-original-title="下一个"
  63. ></i>
  64. </a>
  65. </div>
  66. <div id="gui-modes-map" class="ui-icon double active">
  67. <div
  68. data-original-title="导览"
  69. @click="isGuide = !isGuide"
  70. id="pullTab"
  71. rel="tooltip"
  72. title=""
  73. >
  74. <img
  75. class="icon icon-inside"
  76. :src="
  77. require(`@/assets/images/icon/auto${
  78. !isGuide ? '_active' : ''
  79. }.png`)
  80. "
  81. />
  82. </div>
  83. <div
  84. data-original-title="全景漫游"
  85. id="gui-modes-inside"
  86. rel="tooltip"
  87. >
  88. <img
  89. class="icon icon-inside"
  90. :src="require('@/assets/images/icon/inside.png')"
  91. />
  92. <img
  93. class="icon icon-inside active"
  94. :src="require('@/assets/images/icon/inside_active.png')"
  95. />
  96. </div>
  97. <div
  98. data-original-title="迷你模型"
  99. id="gui-modes-dollhouse"
  100. rel="tooltip"
  101. >
  102. <img
  103. class="icon icon-inside"
  104. :src="require('@/assets/images/icon/dollhouse.png')"
  105. />
  106. <img
  107. class="icon icon-inside active"
  108. :src="require('@/assets/images/icon/dollhouse_active.png')"
  109. title="navigation icon "
  110. />
  111. </div>
  112. <div
  113. data-original-title="俯视图"
  114. id="gui-modes-floorplan"
  115. rel="tooltip"
  116. title=""
  117. >
  118. <img
  119. class="icon icon-inside"
  120. :src="require('@/assets/images/icon/floor.png')"
  121. />
  122. <img
  123. class="active icon icon-inside active"
  124. :src="require('@/assets/images/icon/floor_active.png')"
  125. />
  126. </div>
  127. <div
  128. data-original-title="VR"
  129. id="vr"
  130. rel="tooltip"
  131. title=""
  132. style="display: none"
  133. >
  134. <img
  135. class="icon icon-inside"
  136. :src="require('@/assets/images/VR.png')"
  137. />
  138. </div>
  139. <!-- <div
  140. data-original-title="热点列表"
  141. id="hotList"
  142. rel="tooltip"
  143. title=""
  144. style="display: none"
  145. >
  146. <img
  147. class="icon icon-inside"
  148. :src="require('@/assets/images/hotlist.png')"
  149. />
  150. <img
  151. class="icon icon-inside active"
  152. :src="require('@/assets/images/hotlist.png')"
  153. />
  154. </div> -->
  155. <div
  156. data-original-title="消除外壳"
  157. id="gui-remove-face"
  158. rel="tooltip"
  159. title=""
  160. style="display: none; float: left"
  161. >
  162. <img
  163. class="icon icon-inside"
  164. :src="require('@/assets/images/face.jpg')"
  165. />
  166. </div>
  167. </div>
  168. </div>
  169. </div>
  170. </div>
  171. <div class="pinBottom right hideTarget">
  172. <div class="rightViewContainer clearfix">
  173. <div class="gui-floor">
  174. <div class="gui-floor-title"></div>
  175. <div class="gui-floor-icon">
  176. <span class="gui-floor-number"></span>
  177. </div>
  178. <div class="container"></div>
  179. </div>
  180. <div class="bgandshare">
  181. <div id="volume" @click="switchBGM" class="ui-icon wide">
  182. <div>
  183. <img :src="require('@/assets/images/icon/musicon.png')" />
  184. </div>
  185. </div>
  186. <div @click="handleshare">
  187. <div>
  188. <img
  189. :src="
  190. require(`@/assets/images/icon/share${
  191. !isShare ? 'on' : 'off'
  192. }.png`)
  193. "
  194. />
  195. </div>
  196. </div>
  197. </div>
  198. <div id="vr" class="ui-icon wide hidden" style="display: none">
  199. <a>
  200. <i
  201. rel="tooltip"
  202. title="{[{ VIEW_IN_VR }]}"
  203. class="icon icon-webvr"
  204. ></i>
  205. </a>
  206. </div>
  207. <div id="sharing" class="ui-icon wide hidden" style="display: none">
  208. <a>
  209. <i
  210. rel="tooltip"
  211. title="{[{ SOCIAL_SHARING }]}"
  212. class="icon icon-share"
  213. ></i>
  214. </a>
  215. </div>
  216. <div
  217. id="gui-fullscreen"
  218. class="ui-icon wide"
  219. data-placement="top"
  220. rel="tooltip"
  221. title="{[{ VIEW_FULLSCREEN }]}"
  222. >
  223. <a>
  224. <i class="icon icon-fullscreen"></i>
  225. </a>
  226. </div>
  227. <div
  228. id="gui-fullscreen-exit"
  229. class="ui-icon wide"
  230. data-placement="top"
  231. rel="tooltip"
  232. title="{[{ EXIT_FULLSCREEN }]}"
  233. style="display: none"
  234. >
  235. <a>
  236. <i class="icon icon-fullscreen-exit"></i>
  237. </a>
  238. </div>
  239. <div class="pull-right terms terms2">
  240. <a>{[{ TERMS }]}</a>
  241. </div>
  242. </div>
  243. </div>
  244. </div>
  245. </template>
  246. <script>
  247. export default {
  248. components: {},
  249. data() {
  250. return {
  251. isGuide: true,
  252. isShare: false,
  253. };
  254. },
  255. computed: {},
  256. watch:{
  257. isShare(newVal){
  258. if (newVal) {
  259. this.$showShare()
  260. }
  261. }
  262. },
  263. mounted(){
  264. this.$bus.$on('closeShare',()=>{
  265. this.isShare = false
  266. })
  267. },
  268. methods: {
  269. handleshare(){
  270. if (this.isShare) {
  271. return
  272. }
  273. this.isShare = true
  274. },
  275. switchBGM() {
  276. if ($("#volume img")[0].src.indexOf("on.png") > -1) {
  277. window.manage.switchBgmState(true);
  278. } else if ($("#volume img")[0].src.indexOf("off.png") > -1) {
  279. window.manage.switchBgmState(false);
  280. }
  281. },
  282. },
  283. };
  284. </script>
  285. <style lang="less" scoped>
  286. @wh: 90px;
  287. @margin: 10px;
  288. #play,
  289. #pause {
  290. margin-right: @margin;
  291. img {
  292. width: @wh;
  293. height: @wh;
  294. }
  295. }
  296. #gui-modes-map {
  297. > div {
  298. margin-right: @margin;
  299. > img {
  300. width: @wh;
  301. height: @wh;
  302. display: block!important;
  303. }
  304. .active {
  305. display: none!important;
  306. }
  307. }
  308. .active {
  309. > img {
  310. display: none!important;
  311. }
  312. .active {
  313. display: block!important;
  314. }
  315. }
  316. }
  317. .bgandshare {
  318. display: flex;
  319. justify-content: center;
  320. align-items: center;
  321. > div {
  322. background: none !important;
  323. width: @wh!important;
  324. cursor: pointer;
  325. img {
  326. width: 100%;
  327. }
  328. }
  329. }
  330. @media only screen and (max-width: 487px) {
  331. @wh: 70px;
  332. #play,
  333. #pause {
  334. margin-right: @margin;
  335. img {
  336. width: @wh;
  337. height: @wh;
  338. }
  339. }
  340. #gui-modes-map {
  341. > div {
  342. margin-right: @margin;
  343. > img {
  344. width: @wh;
  345. height: @wh;
  346. display: block;
  347. }
  348. .active {
  349. display: none;
  350. }
  351. }
  352. .active {
  353. > img {
  354. display: none;
  355. }
  356. .active {
  357. display: block;
  358. }
  359. }
  360. }
  361. .bgandshare {
  362. display: flex;
  363. position: fixed;
  364. top: 12%;
  365. right: 6px;
  366. flex-direction: column;
  367. > div {
  368. width: @wh!important;
  369. img {
  370. width: 100%;
  371. }
  372. }
  373. }
  374. }
  375. </style>