Files
xj-screen/src/components/dialog/Dialog.vue
T
weixin f617922cd3 update
1.应急事件显示信息过长,精简一下。
2.救护车图标配色调整
3.医院图标增大一点,显示图标及应急求助时的推荐图标
4.急救弹窗添加呼吸效果
5.急救路线搜索框,控制只搜索新疆境内
6.咨询大屏也要监听事件并弹出弹窗
2025-10-31 17:51:22 +08:00

122 lines
2.9 KiB
Vue

<template>
<template v-if="props.title">
<a-modal
:class="['dialog', themeType]"
v-model:visible="props.openVis"
:title="props.title"
:width="props.width"
:maskClosable="true"
@cancel="handleCancel"
v-bind="$attrs"
destroy-on-close
>
<template #title>
<slot name="modalTitle"></slot>
</template>
<slot name="container"></slot>
<template #footer></template>
</a-modal>
</template>
<template v-else>
<a-modal
:class="['dialog', themeType]"
v-model:visible="props.openVis"
:width="props.width"
:maskClosable="true"
@cancel="handleCancel"
v-bind="$attrs"
destroy-on-close
>
<template #title>
<slot name="modalTitle"></slot>
</template>
<slot name="container"></slot>
<template #footer></template>
</a-modal>
</template>
</template>
<script setup lang="ts">
import { useTheme } from '/@/hooks/theme/useTheme.ts';
const emit = defineEmits(['close']);
const props = defineProps({
width: {
type: String,
},
openVis: {
type: Boolean,
},
title: {
type: String,
default: () => '',
},
});
const { themeType } = useTheme();
function handleCancel() {
emit('close');
}
</script>
<style lang="less">
.dialog {
border: 1px solid #0a50a0;
background-color: #00152b;
padding-bottom: 0;
min-height: 300px;
box-shadow:
0 3px 6px -4px #0000001f,
0 6px 16px #00000014,
0 9px 28px 8px #0000000d;
.ant-modal-title {
position: relative;
display: flex;
align-items: center;
width: 100%;
min-height: 40px;
height: 40px;
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;
box-shadow: none;
}
.ant-modal-body {
padding: 0 !important;
}
.anticon {
color: #999999 !important;
height: 40px;
}
.ant-modal-close-x {
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>