index.vue 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <template>
  2. <div
  3. class="relative size-full bg-[url('@/assets/images/login-bg.png')] bg-[length:100%_100%] bg-no-repeat"
  4. >
  5. <img
  6. class="absolute top-11 left-15 h-11 w-69"
  7. src="@/assets/images/taiji-logo.png"
  8. />
  9. <div
  10. class="absolute top-0 right-0 flex h-full w-[42.5rem] items-center justify-center bg-[var(--czr-dialog-bg)]"
  11. >
  12. <div class="flex w-[26.5rem] flex-col">
  13. <div class="text-[1.88rem] font-bold text-[#373D4C]">xxx邀请您加入</div>
  14. <div class="mt-4 text-[1.88rem] font-bold text-[#3363DE]">xxx组织</div>
  15. <div
  16. class="__hover mt-2 mt-12 flex h-[2.5rem] w-full items-center justify-center bg-[#3363DE] text-sm text-[#ffffff]"
  17. @click="onSubmit"
  18. v-loading="state.loading"
  19. >
  20. 加入组织
  21. </div>
  22. <div class="mt-3 text-sm text-[#576275]">
  23. 链接将在 <span class="text-[#3363DE]">2025-07-31 12:22:33</span> 失效
  24. </div>
  25. </div>
  26. </div>
  27. </div>
  28. </template>
  29. <script setup lang="ts">
  30. import { computed, getCurrentInstance, reactive, ref, onMounted } from 'vue'
  31. import { User, Lock, Clock } from '@element-plus/icons-vue'
  32. import { ElMessage } from 'element-plus'
  33. import { useRouter } from 'vue-router'
  34. import { useAppStore } from '@/stores'
  35. const AppStore = useAppStore()
  36. const router = useRouter()
  37. const emit = defineEmits([])
  38. const props = defineProps({})
  39. const { proxy }: any = getCurrentInstance()
  40. const state: any = reactive({
  41. loading: false,
  42. })
  43. const onSubmit = () => {
  44. if (!state.loading) {
  45. state.loading = true
  46. ElMessage.success('加入组织成功!')
  47. router.replace({ name: 'root' })
  48. }
  49. }
  50. onMounted(() => {})
  51. </script>
  52. <style lang="scss" scoped></style>