chore: abnormal page adjustment

This commit is contained in:
vben
2020-11-03 22:26:26 +08:00
parent 0c28ffa8e6
commit 21a225c2b2
13 changed files with 48 additions and 78 deletions

View File

@@ -6,8 +6,6 @@ import { defineComponent, ref, computed, unref } from 'vue';
import { ExceptionEnum } from '/@/enums/exceptionEnum';
import netWorkImg from '/@/assets/images/exception/net-work.png';
import error404 from '/@/assets/images/exception/404.png';
import error500 from '/@/assets/images/exception/500.png';
import notDataImg from '/@/assets/images/no-data.png';
import { useRoute } from 'vue-router';
@@ -22,6 +20,7 @@ interface MapValue {
btnText?: string;
icon?: string;
handler?: Fn;
status?: string;
}
export default defineComponent({
@@ -63,50 +62,52 @@ export default defineComponent({
}
);
unref(statusMapRef).set(ExceptionEnum.PAGE_NOT_ACCESS, {
title: '403',
status: `${ExceptionEnum.PAGE_NOT_ACCESS}`,
subTitle: `Sorry, you don't have access to this page.!`,
btnText: props.full ? 'Back Login' : 'Back Home',
handler: () => (props.full ? go(PageEnum.BASE_LOGIN) : go()),
});
unref(statusMapRef).set(ExceptionEnum.PAGE_NOT_FOUND, {
title: '404',
subTitle: '抱歉,您访问的页面不存在!',
btnText: props.full ? '返回登录' : '返回首页',
status: `${ExceptionEnum.PAGE_NOT_FOUND}`,
subTitle: `Sorry, the page you visited does not exist.`,
btnText: props.full ? 'Back Login' : 'Back Home',
handler: () => (props.full ? go(PageEnum.BASE_LOGIN) : go()),
icon: error404,
});
unref(statusMapRef).set(ExceptionEnum.ERROR, {
title: '500',
subTitle: '抱歉,服务器出现异常!',
btnText: '返回首页',
status: `${ExceptionEnum.ERROR}`,
subTitle: `Sorry, the server is reporting an error.`,
btnText: 'Back Home',
handler: () => go(),
icon: error500,
});
unref(statusMapRef).set(ExceptionEnum.PAGE_NOT_DATA, {
title: '当前页面无数据',
title: 'No data on the current page',
subTitle: '',
btnText: '刷新',
btnText: 'Refresh',
handler: () => redo(),
icon: notDataImg,
});
unref(statusMapRef).set(ExceptionEnum.NET_WORK_ERROR, {
title: '网络错误',
subTitle: '抱歉,您的网络连接已断开,请检查您的网络!',
btnText: '刷新',
title: 'Network Error',
subTitle: 'SorryYour network connection has been disconnected, please check your network!',
btnText: 'Refresh',
handler: () => redo(),
icon: netWorkImg,
});
unref(statusMapRef).set(ExceptionEnum.PAGE_TIMEOUT, {
title: '页面加载失败',
subTitle: '抱歉,您的页面加载出错或者过久未响应,请检查您的网络!',
btnText: '刷新',
handler: () => redo(),
icon: netWorkImg,
});
return () => {
const { title, subTitle, btnText, icon, handler } = unref(getMapValue) || {};
const { title, subTitle, btnText, icon, handler, status } = unref(getMapValue) || {};
return (
<Result
class="exception "
status={status as any}
title={props.title || title}
sub-title={props.subTitle || subTitle}
>
@@ -117,7 +118,7 @@ export default defineComponent({
{() => btnText}
</Button>
),
icon: () => icon && <img src={icon} />,
icon: () => (icon ? <img src={icon} /> : null),
}}
</Result>
);

View File

@@ -1,17 +0,0 @@
<template>
<Exception :status="ExceptionEnum.PAGE_TIMEOUT" />
</template>
<script lang="ts">
import { defineComponent } from 'vue';
import { Exception } from '/@/views/sys/exception';
import { ExceptionEnum } from '/@/enums/exceptionEnum';
export default defineComponent({
name: 'LoadTimeout',
components: { Exception },
setup() {
return { ExceptionEnum };
},
});
</script>

View File

@@ -1,2 +1 @@
export { default as Exception } from './Exception';
export { default as LoadTimeOut } from './LoadTimeOut.vue';