mirror of
https://github.com/jeecgboot/JeecgBoot.git
synced 2026-01-04 04:45:28 +08:00
47 lines
1.4 KiB
Vue
47 lines
1.4 KiB
Vue
<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();
|
|
// 代码逻辑说明: 【QQYUN-6333】空路由问题—首次访问资源太大
|
|
const lockModalVisible = ref(false);
|
|
const modalRef = ref(null);
|
|
async function handleLock() {
|
|
lockModalVisible.value = true;
|
|
await getRefPromise(modalRef);
|
|
openModal(true);
|
|
}
|
|
return {
|
|
t,
|
|
register,
|
|
handleLock,
|
|
lockModalVisible,
|
|
modalRef,
|
|
};
|
|
},
|
|
});
|
|
</script>
|