layui/.svn/pristine/18/18395b309711d1ced25e88589bd97d5d71f35d02.svn-base
2022-12-09 16:41:41 +08:00

79 lines
2.3 KiB
Plaintext

<script lang="ts">
export default {
name: "LayResult",
};
</script>
<script setup lang="ts">
import "./index.less";
import { useSlots } from "vue";
export interface ResultProps {
title?: string;
status?: "success" | "failure";
describe?: string;
}
const slots = useSlots();
const props = withDefaults(defineProps<ResultProps>(), {
title: "提交信息",
status: "success",
describe: "请核对并修改以下信息后,再重新提交。",
});
</script>
<template>
<div class="result">
<div :class="[status]">
<svg
v-if="status === 'failure'"
viewBox="64 64 896 896"
data-icon="close-circle"
width="80px"
height="80px"
fill="currentColor"
aria-hidden="true"
focusable="false"
class=""
>
<path
d="M685.4 354.8c0-4.4-3.6-8-8-8l-66 .3L512 465.6l-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155L340.5 670a8.32 8.32 0 0 0-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3L512 564.4l99.3 118.4 66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.5 515l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z"
></path>
<path
d="M512 65C264.6 65 64 265.6 64 513s200.6 448 448 448 448-200.6 448-448S759.4 65 512 65zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"
></path>
</svg>
<svg
v-else
viewBox="64 64 896 896"
data-icon="check-circle"
width="80px"
height="80px"
fill="currentColor"
aria-hidden="true"
focusable="false"
class=""
>
<path
d="M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0 0 51.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z"
></path>
<path
d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"
></path>
</svg>
</div>
<h2 class="title">{{ title }}</h2>
<p class="desc">
{{ describe }}
</p>
<div class="content">
<slot name="content"></slot>
</div>
<div class="extra">
<slot name="extra"></slot>
</div>
</div>
</template>