loadingmap.vue 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <template>
  2. <div class="app">
  3. <div class='picA'>
  4. <mapOpenlayers ref="map"></mapOpenlayers>
  5. <div class='picB'>
  6. <Imgopenseadragon style="width: calc(100% - 16px);z-index: 99;background: #fff;left: 16px;" :strpdetails='strpdetails'></Imgopenseadragon>
  7. <div readonly class='resizeElement'></div>
  8. </div>
  9. </div>
  10. </div>
  11. </template>
  12. <script>
  13. import Imgopenseadragon from '../../../assembly/imgOpenseadragon.vue'
  14. import mapOpenlayers from '../../../assembly/mapOpenlayers.vue'
  15. export default {
  16. name: "Demolition",
  17. props: ['strpdetails'],
  18. components: {
  19. Imgopenseadragon,
  20. mapOpenlayers
  21. },
  22. data() {
  23. return {}
  24. },
  25. mounted() {
  26. let timer = setTimeout(() => {
  27. this.$refs.map.initMap()
  28. clearTimeout(timer)
  29. }, 500)
  30. },
  31. watch: {},
  32. methods: {}
  33. }
  34. </script>
  35. <style scoped lang="less">
  36. .app{
  37. width: 100%;
  38. height: 100%;
  39. }
  40. .picA {
  41. width: 100%;
  42. height: 100%;
  43. padding: 0;
  44. position: relative;
  45. overflow: hidden;
  46. }
  47. .picB {
  48. height: 100%;
  49. position: absolute;
  50. top: 0;
  51. right: 0;
  52. min-width: 0;
  53. max-width: calc(100% - 170px);
  54. box-sizing: border-box;
  55. }
  56. .picB:before {
  57. content: "↔";
  58. position: absolute;
  59. background: rgba(0, 0, 0, 0.5);
  60. font-size: 16px;
  61. color: white;
  62. top: 0;
  63. left: 0;
  64. height: 100%;
  65. line-height: 340px;
  66. }
  67. .resizeElement {
  68. border: 1px solid #000;
  69. resize: horizontal;
  70. overflow: scroll;
  71. opacity: 0;
  72. position: relative;
  73. top: 0%;
  74. left: 0px;
  75. max-width: 100%;
  76. min-width: 280px;
  77. width: 350px;
  78. cursor: move;
  79. transform: scaleY(200) rotate(180deg);
  80. transform-origin: center center;
  81. animation: delta 3s normal ease-in-out 0.5s;
  82. }
  83. @keyframes delta {
  84. 0% {
  85. width: 0;
  86. }
  87. 30% {
  88. width: 350px;
  89. }
  90. 60% {
  91. width: 0px;
  92. }
  93. 100% {
  94. width: 350px;
  95. }
  96. }
  97. </style>