refactor: 同步通知公告弹窗样式与编辑器高度设置

This commit is contained in:
Ray.Hao
2026-02-05 18:27:31 +08:00
parent 4ecb3ebda5
commit 1a3f39a0d1

View File

@@ -168,11 +168,31 @@
<!-- 通知公告表单弹窗 --> <!-- 通知公告表单弹窗 -->
<el-dialog <el-dialog
v-model="dialog.visible" v-model="dialog.visible"
:title="dialog.title" :show-close="false"
top="3vh" :fullscreen="dialog.fullscreen"
width="80%" top="6vh"
width="70%"
custom-class="notice-dialog"
@close="handleCloseDialog" @close="handleCloseDialog"
> >
<template #header>
<div class="flex-x-between">
<span>{{ dialog.title }}</span>
<div class="dialog-toolbar">
<el-button circle @click="toggleDialogFullscreen">
<template #icon>
<FullScreen v-if="!dialog.fullscreen" />
<CopyDocument v-else />
</template>
</el-button>
<el-button circle @click="handleCloseDialog">
<template #icon>
<Close />
</template>
</el-button>
</div>
</div>
</template>
<el-form ref="dataFormRef" :model="formData" :rules="rules" label-width="100px"> <el-form ref="dataFormRef" :model="formData" :rules="rules" label-width="100px">
<el-form-item label="通知标题" prop="title"> <el-form-item label="通知标题" prop="title">
<el-input v-model="formData.title" placeholder="通知标题" clearable /> <el-input v-model="formData.title" placeholder="通知标题" clearable />
@@ -201,7 +221,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="通知内容" prop="content"> <el-form-item label="通知内容" prop="content">
<WangEditor v-model="formData.content" /> <WangEditor v-model="formData.content" height="350px" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
@@ -285,6 +305,7 @@ const pageData = ref<NoticeItem[]>([]);
const dialog = reactive({ const dialog = reactive({
title: "", title: "",
visible: false, visible: false,
fullscreen: false,
}); });
// 通知公告表单数据 // 通知公告表单数据
@@ -351,6 +372,7 @@ function handleSelectionChange(selection: any) {
// 打开通知公告弹窗 // 打开通知公告弹窗
function handleOpenDialog(id?: string) { function handleOpenDialog(id?: string) {
dialog.fullscreen = false;
UserAPI.getOptions().then((data) => { UserAPI.getOptions().then((data) => {
userOptions.value = data; userOptions.value = data;
}); });
@@ -451,9 +473,15 @@ function normalizeTargetUsers(value?: unknown) {
// 关闭通知公告弹窗 // 关闭通知公告弹窗
function handleCloseDialog() { function handleCloseDialog() {
dialog.visible = false; dialog.visible = false;
dialog.fullscreen = false;
resetForm(); resetForm();
} }
// 弹窗全屏切换
function toggleDialogFullscreen() {
dialog.fullscreen = !dialog.fullscreen;
}
// 删除通知公告 // 删除通知公告
function handleDelete(id?: number) { function handleDelete(id?: number) {
const deleteIds = [id || selectIds.value].join(","); const deleteIds = [id || selectIds.value].join(",");
@@ -482,10 +510,12 @@ function handleDelete(id?: number) {
); );
} }
// 关闭通知详情弹窗
const closeDetailDialog = () => { const closeDetailDialog = () => {
detailDialog.visible = false; detailDialog.visible = false;
}; };
// 打开通知详情弹窗
const openDetailDialog = async (id: string) => { const openDetailDialog = async (id: string) => {
const noticeDetail = await NoticeAPI.getDetail(id); const noticeDetail = await NoticeAPI.getDetail(id);
currentNotice.value = noticeDetail; currentNotice.value = noticeDetail;