Files
xj-screen/src/components/dialog/Dialog.vue
T
2023-12-22 17:15:26 +08:00

74 lines
1.7 KiB
Vue

<template>
<a-modal class="dialog" v-model:visible="props.openVis" :title="props.title" :width="props.width" :maskClosable="true" @cancel="handleCancel">
<slot name="container"></slot>
<template #footer></template>
</a-modal>
</template>
<script setup lang="ts">
import { defineProps, defineEmits } from 'vue';
const emit = defineEmits(['close']);
const props = defineProps({
width: {
type: String,
},
openVis: {
type: Boolean,
},
title: {
type: String,
},
});
function handleCancel() {
emit('close');
}
</script>
<style lang="less">
.dialog {
.ant-modal-title {
position: relative;
display: flex;
align-items: center;
width: 100%;
height: 40px;
background: url('../../assets/images/dialog.png') no-repeat;
background-size: 100% 100%;
color: #ffffff !important;
padding-left: 2%;
font-size: 18px;
font-weight: bold;
}
.ant-modal-header {
padding: 0 !important;
border-bottom: none;
}
.ant-modal-header,
.ant-modal-content {
background-color: transparent !important;
}
.ant-modal-body {
padding: 0 !important;
}
.ant-modal-close-x,
.anticon {
color: #999999 !important;
height: 40px;
line-height: 40px;
}
.ant-modal-footer {
border-top: none !important;
}
.ant-modal-wrap {
background-color: rgba(0, 0, 0, 0.6);
}
}
</style>