jt-popup3.vue 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512
  1. <template>
  2. <!-- 弹出框组件 -->
  3. <div :class="['popup-main',animationClass]" v-drag v-show="isshow" :isEmit="isEmit" id="popup" :style="{height:height,width:width}">
  4. <!-- <div class="borderstyle" :style="{height:height}">
  5. <div class="angle-border-blue left-top-border"></div>
  6. <div class="angle-border-blue right-top-border"></div>
  7. <div class="angle-border left-bottom-border"></div>
  8. <div class="angle-border right-bottom-border"></div>
  9. </div> -->
  10. <div class="header">
  11. <div style="width: 41rem;"></div>
  12. <span>{{title}}</span>
  13. <!-- <i class='iconfont icon-chahao' @click="closebasicLayer" /> -->
  14. </div>
  15. <div class="middle">
  16. <slot></slot>
  17. </div>
  18. <div class="footers"></div>
  19. </div>
  20. <div :class="['popup-main2',animationClass]" v-drag v-show="isshow" :isEmit="isEmit" id="popup" :style="{height:height,width:width}">
  21. <!-- <div class="borderstyle" :style="{height:height}">
  22. <div class="angle-border-blue left-top-border"></div>
  23. <div class="angle-border-blue right-top-border"></div>
  24. <div class="angle-border left-bottom-border"></div>
  25. <div class="angle-border right-bottom-border"></div>
  26. </div> -->
  27. <div class="header2">
  28. <div style="width: 41rem;"></div>
  29. <span>能耗同比统计</span>
  30. <!-- <i class='iconfont icon-chahao' @click="closebasicLayer" /> -->
  31. </div>
  32. <div class="middle2">
  33. <slot></slot>
  34. </div>
  35. <div class="footers2"></div>
  36. </div>
  37. <div :class="['popup-main3',animationClass]" v-drag v-show="isshow" :isEmit="isEmit" id="popup" :style="{height:height,width:width}">
  38. <!-- <div class="borderstyle" :style="{height:height}">
  39. <div class="angle-border-blue left-top-border"></div>
  40. <div class="angle-border-blue right-top-border"></div>
  41. <div class="angle-border left-bottom-border"></div>
  42. <div class="angle-border right-bottom-border"></div>
  43. </div> -->
  44. <div class="header3">
  45. <div style="width: 41rem;"></div>
  46. <span>智能监控</span>
  47. <!-- <i class='iconfont icon-chahao' @click="closebasicLayer" /> -->
  48. </div>
  49. <div class="middle3">
  50. <slot></slot>
  51. </div>
  52. <div class="footers3"></div>
  53. </div>
  54. </template>
  55. <script>
  56. export default {
  57. data() {
  58. return {
  59. isshow: true,
  60. title: '',
  61. }
  62. },
  63. // watch: {
  64. // isshow(newVal, oldVal) {
  65. // if (newVal) {
  66. // let popup = document.getElementById('popup')
  67. // popup.style.left = '0rem'
  68. // popup.style.right = '10rem'
  69. // }
  70. // }
  71. // },
  72. props: ['height', 'title', 'width', 'isEmit', 'animationClass'],
  73. methods: {
  74. closebasicLayer() {
  75. this.isshow = true
  76. if (this.isEmit) {
  77. this.$emit('closeJTPopup');
  78. }
  79. }
  80. },
  81. mounted() {}
  82. }
  83. </script>
  84. <style scoped lang="scss">
  85. .popup-main {
  86. position: absolute;
  87. right: 1rem;
  88. top: 90rem;
  89. // height: 490rem;
  90. height: calc((100% - 115rem) / 3);
  91. width: 350rem;
  92. // padding: 10rem;
  93. background-color: rgba(0, 45, 66, 0.5);
  94. z-index: 1000;
  95. font-size: 16rem;
  96. color: white;
  97. user-select: none;
  98. animation-name: slide-right;
  99. animation-duration: .8s;
  100. //头部背景图
  101. .header {
  102. height: 41rem;
  103. width: calc(100% + 20rem);
  104. background: url('@/assets/images/tcheader.png') no-repeat;
  105. background-size: 100%;
  106. margin: -10rem;
  107. margin-bottom: 0rem;
  108. line-height: 41rem;
  109. display: flex;
  110. text-align: center;
  111. span {
  112. // flex: 15;
  113. font-weight: bold;
  114. }
  115. i {
  116. z-index: 101;
  117. flex: 1;
  118. margin: 0rem 8rem;
  119. font-size: 20rem;
  120. }
  121. }
  122. //滚动条-鼠标悬浮显示
  123. // .middle {
  124. // height: calc(100% - 71rem);
  125. // width: 100%;
  126. // overflow-y: hidden;
  127. // padding: 15rem 0 0 0;
  128. // }
  129. // .middle:hover{
  130. // overflow-y:auto;
  131. // }
  132. //滚动条一直显示
  133. .middle {
  134. height: calc(100% - 71rem);
  135. width: 100%;
  136. overflow-y: auto;
  137. padding: 15rem 0 0 0;
  138. }
  139. .footers {
  140. position: absolute;
  141. left: 0;
  142. bottom: 0;
  143. height: 30rem;
  144. width: 100%;
  145. line-height: 30rem;
  146. background: url('@/assets/images/footerss.webp') no-repeat center;
  147. opacity: 0.7;
  148. }
  149. /* 四个边角样式 */
  150. .borderstyle {
  151. position: relative;
  152. width: 100%;
  153. // height: 490rem;
  154. height: calc(100% - 30rem);
  155. padding: 10rem;
  156. border: 1rem solid #008aff70 !important;
  157. background-color: rgba(5, 45, 115, 0.7) !important;
  158. box-shadow: 0 4rem 15rem 1rem #02213bb3;
  159. .angle-border {
  160. position: absolute;
  161. width: 12rem;
  162. height: 12rem;
  163. }
  164. .angle-border-blue {
  165. position: absolute;
  166. width: 70rem;
  167. height: 30rem;
  168. }
  169. .left-top-border {
  170. top: -2rem;
  171. left: -2rem;
  172. border-left: 2rem solid #008affdd;
  173. border-top: 2rem solid #008affdd;
  174. }
  175. .right-top-border {
  176. top: -2rem;
  177. right: -2rem;
  178. border-right: 2rem solid #008affdd;
  179. border-top: 2rem solid #008affdd;
  180. }
  181. .left-bottom-border {
  182. bottom: -2rem;
  183. left: -2rem;
  184. border-bottom: 2rem solid #FFFFFF;
  185. border-left: 2rem solid #FFFFFF;
  186. }
  187. .right-bottom-border {
  188. bottom: -2rem;
  189. right: -2rem;
  190. border-right: 2rem solid #FFFFFF;
  191. border-bottom: 2rem solid #FFFFFF;
  192. }
  193. }
  194. }
  195. .popup-main2 {
  196. position: absolute;
  197. right: 1rem;
  198. top: calc(calc(100% - 115rem) / 3 + 90rem);
  199. // height: 490rem;
  200. height: calc((100% - 115rem) / 3);
  201. width: 350rem;
  202. // padding: 10rem;
  203. background-color: rgba(0, 45, 66, 0.5);
  204. z-index: 1000;
  205. font-size: 16rem;
  206. color: white;
  207. user-select: none;
  208. animation-name: slide-right;
  209. animation-duration: .8s;
  210. //头部背景图
  211. .header2 {
  212. height: 41rem;
  213. width: calc(100% + 20rem);
  214. background: url('@/assets/images/tcheader.png') no-repeat;
  215. background-size: 100%;
  216. margin: -10rem;
  217. margin-bottom: 0rem;
  218. line-height: 41rem;
  219. display: flex;
  220. text-align: center;
  221. span {
  222. // flex: 15;
  223. font-weight: bold;
  224. }
  225. i {
  226. z-index: 101;
  227. flex: 1;
  228. margin: 0rem 8rem;
  229. font-size: 20rem;
  230. }
  231. }
  232. //滚动条-鼠标悬浮显示
  233. // .middle {
  234. // height: calc(100% - 71rem);
  235. // width: 100%;
  236. // overflow-y: hidden;
  237. // padding: 15rem 0 0 0;
  238. // }
  239. // .middle:hover{
  240. // overflow-y:auto;
  241. // }
  242. //滚动条一直显示
  243. .middle2 {
  244. height: calc(100% - 71rem);
  245. width: 100%;
  246. overflow-y: auto;
  247. padding: 15rem 0 0 0;
  248. }
  249. .footers2 {
  250. position: absolute;
  251. left: 0;
  252. bottom: 0;
  253. height: 30rem;
  254. width: 100%;
  255. line-height: 30rem;
  256. background: url('@/assets/images/footerss.webp') no-repeat center;
  257. opacity: 0.7;
  258. }
  259. /* 四个边角样式 */
  260. .borderstyle {
  261. position: relative;
  262. width: 100%;
  263. // height: 490rem;
  264. height: calc(100% - 30rem);
  265. padding: 10rem;
  266. border: 1rem solid #008aff70 !important;
  267. background-color: rgba(5, 45, 115, 0.7) !important;
  268. box-shadow: 0 4rem 15rem 1rem #02213bb3;
  269. .angle-border {
  270. position: absolute;
  271. width: 12rem;
  272. height: 12rem;
  273. }
  274. .angle-border-blue {
  275. position: absolute;
  276. width: 70rem;
  277. height: 30rem;
  278. }
  279. .left-top-border {
  280. top: -2rem;
  281. left: -2rem;
  282. border-left: 2rem solid #008affdd;
  283. border-top: 2rem solid #008affdd;
  284. }
  285. .right-top-border {
  286. top: -2rem;
  287. right: -2rem;
  288. border-right: 2rem solid #008affdd;
  289. border-top: 2rem solid #008affdd;
  290. }
  291. .left-bottom-border {
  292. bottom: -2rem;
  293. left: -2rem;
  294. border-bottom: 2rem solid #FFFFFF;
  295. border-left: 2rem solid #FFFFFF;
  296. }
  297. .right-bottom-border {
  298. bottom: -2rem;
  299. right: -2rem;
  300. border-right: 2rem solid #FFFFFF;
  301. border-bottom: 2rem solid #FFFFFF;
  302. }
  303. }
  304. }
  305. .popup-main3 {
  306. position: absolute;
  307. right: 1rem;
  308. top: calc(calc(100% - 115rem) / 3 + calc(100% - 115rem) / 3 + 90rem);
  309. // height: 490rem;
  310. height: calc((100% - 115rem) / 3);
  311. width: 350rem;
  312. // padding: 10rem;
  313. background-color: rgba(0, 45, 66, 0.5);
  314. z-index: 1000;
  315. font-size: 16rem;
  316. color: white;
  317. user-select: none;
  318. animation-name: slide-right;
  319. animation-duration: .8s;
  320. //头部背景图
  321. .header3 {
  322. height: 41rem;
  323. width: calc(100% + 20rem);
  324. background: url('@/assets/images/tcheader.png') no-repeat;
  325. background-size: 100%;
  326. margin: -10rem;
  327. margin-bottom: 0rem;
  328. line-height: 41rem;
  329. display: flex;
  330. text-align: center;
  331. span {
  332. // flex: 15;
  333. font-weight: bold;
  334. }
  335. i {
  336. z-index: 101;
  337. flex: 1;
  338. margin: 0rem 8rem;
  339. font-size: 20rem;
  340. }
  341. }
  342. //滚动条-鼠标悬浮显示
  343. // .middle {
  344. // height: calc(100% - 71rem);
  345. // width: 100%;
  346. // overflow-y: hidden;
  347. // padding: 15rem 0 0 0;
  348. // }
  349. // .middle:hover{
  350. // overflow-y:auto;
  351. // }
  352. //滚动条一直显示
  353. .middle3 {
  354. height: calc(100% - 71rem);
  355. width: 100%;
  356. overflow-y: auto;
  357. padding: 15rem 0 0 0;
  358. }
  359. .footers3 {
  360. position: absolute;
  361. left: 0;
  362. bottom: 0;
  363. height: 30rem;
  364. width: 100%;
  365. line-height: 30rem;
  366. background: url('@/assets/images/footerss.webp') no-repeat center;
  367. opacity: 0.7;
  368. }
  369. /* 四个边角样式 */
  370. .borderstyle {
  371. position: relative;
  372. width: 100%;
  373. // height: 490rem;
  374. height: calc(100% - 30rem);
  375. padding: 10rem;
  376. border: 1rem solid #008aff70 !important;
  377. background-color: rgba(5, 45, 115, 0.7) !important;
  378. box-shadow: 0 4rem 15rem 1rem #02213bb3;
  379. .angle-border {
  380. position: absolute;
  381. width: 12rem;
  382. height: 12rem;
  383. }
  384. .angle-border-blue {
  385. position: absolute;
  386. width: 70rem;
  387. height: 30rem;
  388. }
  389. .left-top-border {
  390. top: -2rem;
  391. left: -2rem;
  392. border-left: 2rem solid #008affdd;
  393. border-top: 2rem solid #008affdd;
  394. }
  395. .right-top-border {
  396. top: -2rem;
  397. right: -2rem;
  398. border-right: 2rem solid #008affdd;
  399. border-top: 2rem solid #008affdd;
  400. }
  401. .left-bottom-border {
  402. bottom: -2rem;
  403. left: -2rem;
  404. border-bottom: 2rem solid #FFFFFF;
  405. border-left: 2rem solid #FFFFFF;
  406. }
  407. .right-bottom-border {
  408. bottom: -2rem;
  409. right: -2rem;
  410. border-right: 2rem solid #FFFFFF;
  411. border-bottom: 2rem solid #FFFFFF;
  412. }
  413. }
  414. }
  415. // .fadein-right {
  416. // animation-name: slide-right;
  417. // animation-duration: .8s;
  418. // }
  419. @keyframes slide-right {
  420. 0% {
  421. opacity: 0;
  422. transform: translateX(100%)
  423. }
  424. 100% {
  425. opacity: 1;
  426. transform: translateX(0)
  427. }
  428. }
  429. .fadein-left {
  430. animation-name: slide-left;
  431. animation-duration: .8s;
  432. left: 40rem;
  433. }
  434. @keyframes slide-left {
  435. from {
  436. opacity: 0;
  437. transform: translate3d(-100%, 0, 0);
  438. }
  439. to {
  440. opacity: 1;
  441. transform: none;
  442. }
  443. }
  444. </style>