jeecg-boot-vue3/src/layouts/default/header/components/LockScreen.vue

48 lines
1.6 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<Tooltip :title="t('layout.header.tooltipLock')" placement="bottom" :mouseEnterDelay="0.5" @click="handleLock">
<LockOutlined />
</Tooltip>
<LockModal ref="modalRef" v-if="lockModalVisible" @register="register" />
</template>
<script lang="ts">
import { defineComponent, computed, ref } from 'vue';
import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent';
import { Tooltip } from 'ant-design-vue';
import { LockOutlined } from '@ant-design/icons-vue';
import Icon from '/@/components/Icon';
import { useI18n } from '/@/hooks/web/useI18n';
import { useModal } from '/@/components/Modal';
import { getRefPromise } from '/@/utils/index';
export default defineComponent({
name: 'LockScreen',
inheritAttrs: false,
components: {
Icon,
Tooltip,
LockOutlined,
LockModal: createAsyncComponent(() => import('./lock/LockModal.vue')),
},
setup() {
const { t } = useI18n();
const [register, { openModal }] = useModal();
// update-begin--author:liaozhiyang---date:20230901---for【QQYUN-6333】空路由问题—首次访问资源太大
const lockModalVisible = ref(false);
const modalRef = ref(null);
async function handleLock() {
lockModalVisible.value = true;
await getRefPromise(modalRef);
openModal(true);
}
// update-end--author:liaozhiyang---date:20230901---for【QQYUN-6333】空路由问题—首次访问资源太大
return {
t,
register,
handleLock,
lockModalVisible,
modalRef,
};
},
});
</script>