index.vue 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <template>
  2. <div style="width: 100%;height: 100%;" class="ibps-layout-header-aside-group" :style="styleLayoutMainGroup">
  3. <div class="ibps-layout-header-aside-mask" />
  4. <div class="unlock-con">
  5. <unlock :show-unlock="showUnlock" @on-unlock="handleUnlock" />
  6. </div>
  7. </div>
  8. </template>
  9. <script>
  10. import { mapGetters } from 'vuex'
  11. import unlock from './unlock.vue'
  12. import Utils from '@/utils/util'
  13. export default {
  14. components: {
  15. unlock
  16. },
  17. data() {
  18. return {
  19. showUnlock: false
  20. }
  21. },
  22. computed: {
  23. ...mapGetters('ibps', {
  24. themeActiveSetting: 'theme/activeSetting'
  25. }),
  26. /**
  27. * @description 最外层容器的背景图片样式
  28. */
  29. styleLayoutMainGroup() {
  30. return {
  31. ...this.themeActiveSetting.backgroundImage ? {
  32. backgroundImage: `url('${this.$baseUrl}${this.themeActiveSetting.backgroundImage}')`
  33. } : {}
  34. }
  35. }
  36. },
  37. mounted() {
  38. this.showUnlock = true
  39. if (!document.getElementById('lock_screen_back')) {
  40. const lockdiv = document.createElement('div')
  41. lockdiv.setAttribute('id', 'lock_screen_back')
  42. lockdiv.setAttribute('class', 'lock-screen-back')
  43. document.body.appendChild(lockdiv)
  44. }
  45. const lockScreenBack = document.getElementById('lock_screen_back')
  46. lockScreenBack.style.zIndex = -1
  47. },
  48. methods: {
  49. handleUnlock() {
  50. const lockScreenBack = document.getElementById('lock_screen_back')
  51. this.showUnlock = false
  52. lockScreenBack.style.zIndex = -1
  53. lockScreenBack.style.boxShadow = '0 0 0 0 #667aa6 inset'
  54. const path = Utils.cookies.get('redirect')
  55. this.$router.push({
  56. path: path || '/' // 解锁之后跳转到锁屏之前的页面
  57. })
  58. }
  59. }
  60. }
  61. </script>