🐛 打开生成页面背景不为灰色;页面关闭无动画
This commit is contained in:
parent
bc17aa3dd4
commit
72d9deadb3
|
@ -1,11 +1,11 @@
|
||||||
const MainGeneratorPage = defineComponent({
|
const MainGeneratorPage = defineComponent({
|
||||||
name: "MainGeneratorPage",
|
name: "MainGeneratorPage",
|
||||||
template: `
|
template: `
|
||||||
<div :class="{'show': generatorPageFlag}" class="offcanvas offcanvas-start w-50" data-bs-scroll="false">
|
<div class="offcanvas offcanvas-start" data-bs-scroll="false" tabindex="-1" ref="offcanvasElementRef">
|
||||||
<!-- 侧边栏头部 -->
|
<!-- 侧边栏头部 -->
|
||||||
<div class="offcanvas-header bg-primary text-white">
|
<div class="offcanvas-header bg-primary text-white">
|
||||||
<div>
|
<div>
|
||||||
<h5 class="offcanvas-title mb-1" id="offcanvasWithBothOptionsLabel">
|
<h5 class="offcanvas-title mb-1">
|
||||||
<i class="bi bi-file-earmark-code me-2"></i>模板生成页面
|
<i class="bi bi-file-earmark-code me-2"></i>模板生成页面
|
||||||
</h5>
|
</h5>
|
||||||
<p class="small mb-0 opacity-75">已生成的文件列表</p>
|
<p class="small mb-0 opacity-75">已生成的文件列表</p>
|
||||||
|
@ -30,7 +30,7 @@ const MainGeneratorPage = defineComponent({
|
||||||
role="button" data-bs-toggle="collapse" :data-bs-target="'#collapse-' + item.id" aria-expanded="false">
|
role="button" data-bs-toggle="collapse" :data-bs-target="'#collapse-' + item.id" aria-expanded="false">
|
||||||
<div class="d-flex align-items-center">
|
<div class="d-flex align-items-center">
|
||||||
<i class="bi bi-bi-file-earmark-code me-2 text-primary fs-5"></i>
|
<i class="bi bi-bi-file-earmark-code me-2 text-primary fs-5"></i>
|
||||||
<span class="text-truncate" style="max-width: 80%">
|
<span class="text-truncate" style="max-width: 90%">
|
||||||
【{{item.comment}}】{{item.path}}
|
【{{item.comment}}】{{item.path}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -73,6 +73,7 @@ const MainGeneratorPage = defineComponent({
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
`,
|
`,
|
||||||
props: {
|
props: {
|
||||||
// 是否显示生成页面
|
// 是否显示生成页面
|
||||||
|
@ -83,7 +84,9 @@ const MainGeneratorPage = defineComponent({
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 控制图标状态的响应式变量
|
// 控制图标状态的响应式变量
|
||||||
copied: false
|
copied: ref(false),
|
||||||
|
// 存储 offcanvas 实例
|
||||||
|
offcanvas: ref(null)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -153,7 +156,24 @@ const MainGeneratorPage = defineComponent({
|
||||||
|
|
||||||
/* 关闭窗口 */
|
/* 关闭窗口 */
|
||||||
onGeneratorPageFlagClick() {
|
onGeneratorPageFlagClick() {
|
||||||
this.$emit("update:generatorPageFlag", !this.generatorPageFlag)
|
this.$emit("update:generatorPageFlag", !this.generatorPageFlag);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
mounted() {
|
||||||
|
// 初始化 OffCanvas
|
||||||
|
this.offcanvas = new bootstrap.Offcanvas(this.$refs.offcanvasElementRef);
|
||||||
|
// 监听隐藏事件
|
||||||
|
this.$refs.offcanvasElementRef.addEventListener('hidden.bs.offcanvas', () => {
|
||||||
|
this.$emit("update:generatorPageFlag", false);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
generatorPageFlag(newVal) {
|
||||||
|
if (newVal) {
|
||||||
|
this.offcanvas.show();
|
||||||
|
} else {
|
||||||
|
this.offcanvas.hide();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
});
|
});
|
|
@ -30,6 +30,30 @@
|
||||||
<script th:src="@{/src/lib/js/dayjs/antd.min.js}"></script>
|
<script th:src="@{/src/lib/js/dayjs/antd.min.js}"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
/* 提高 Antd Message 的 z-index */
|
||||||
|
.ant-message {
|
||||||
|
z-index: 1100 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 响应式 OffCanvas 宽度 */
|
||||||
|
.offcanvas.offcanvas-start {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 991.98px) {
|
||||||
|
.offcanvas.offcanvas-start {
|
||||||
|
width: 75%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 767.98px) {
|
||||||
|
.offcanvas.offcanvas-start {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="app">
|
<div id="app">
|
||||||
<div class="container my-4">
|
<div class="container my-4">
|
||||||
|
@ -50,7 +74,7 @@
|
||||||
:raw-table-list="rawTableList" :table-list="tableList" v-model:form="form"></main-table>
|
:raw-table-list="rawTableList" :table-list="tableList" v-model:form="form"></main-table>
|
||||||
|
|
||||||
<!-- 模板生成页面 -->
|
<!-- 模板生成页面 -->
|
||||||
<main-generator-page :generator-data="generatorData"
|
<main-generator-page :generator-data="generatorData" ref="mainGeneratorRef"
|
||||||
v-model:generator-page-flag="generatorPageFlag"></main-generator-page>
|
v-model:generator-page-flag="generatorPageFlag"></main-generator-page>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -152,8 +176,8 @@
|
||||||
else antd.message.success(message);
|
else antd.message.success(message);
|
||||||
|
|
||||||
// 显示生成的页面
|
// 显示生成的页面
|
||||||
this.generatorPageFlag = true;
|
|
||||||
this.generatorData = data;
|
this.generatorData = data;
|
||||||
|
this.generatorPageFlag = true;
|
||||||
|
|
||||||
// 等待 DOM 更新,之后手动更新代码高亮
|
// 等待 DOM 更新,之后手动更新代码高亮
|
||||||
await this.$nextTick();
|
await this.$nextTick();
|
||||||
|
@ -181,7 +205,7 @@
|
||||||
this.tableList = this.tableList.filter(table => table.tableName.includes(val) || table.tablePrefixes.includes(val));
|
this.tableList = this.tableList.filter(table => table.tableName.includes(val) || table.tablePrefixes.includes(val));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
// 注册组件
|
// 注册组件
|
||||||
|
|
Loading…
Reference in New Issue