74 lines
1.7 KiB
Vue
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> |