Browse Source

fix(前端): 修复删除页面功能并优化样式

为删除页面功能添加二次确认对话框,防止误操作
优化页面列表项的宽度自适应和文本显示样式
调整操作按钮布局防止挤压内容
master
主管理员 2 weeks ago
parent
commit
d3e4f85a8e
2 changed files with 56 additions and 44 deletions
  1. +1
    -1
      jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml
  2. +55
    -43
      jeecgboot-vue3/src/views/applet/course-page/AppletCoursePageList.vue

+ 1
- 1
jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml View File

@ -1,5 +1,5 @@
server:
port: 8003
port: 8002
undertow:
# max-http-post-size: 10MB # 平替 tomcat server.tomcat.max-swallow-siz, undertow该值默认为-1
worker-threads: 16 # 4核CPU标准配置


+ 55
- 43
jeecgboot-vue3/src/views/applet/course-page/AppletCoursePageList.vue View File

@ -262,7 +262,7 @@ import WordTable from './components/WordTable.vue';
const route = useRoute();
const router = useRouter();
const { createMessage } = useMessage();
const { createMessage, createConfirm } = useMessage();
//
const pageList = ref([]);
@ -498,50 +498,59 @@ function editPage(page: any) {
}
/**
* 删除页面
* 删除页面二次确认
*/
async function deletePage(page: any) {
if (!page.id) {
//
const index = pageList.value.findIndex(p => p === page);
if (index > -1) {
pageList.value.splice(index, 1);
//
updatePageSortOrder();
//
if (currentPageId.value === page.id || currentPageId.value === '') {
if (pageList.value.length > 0) {
selectPage(pageList.value[0]);
} else {
//
handleAddPage();
createConfirm({
iconType: 'warning',
title: '确认删除',
content: '删除后不可恢复,是否继续?',
okText: '删除',
cancelText: '取消',
onOk: async () => {
if (!page.id) {
//
const index = pageList.value.findIndex(p => p === page);
if (index > -1) {
pageList.value.splice(index, 1);
//
updatePageSortOrder();
//
if (currentPageId.value === page.id || currentPageId.value === '') {
if (pageList.value.length > 0) {
selectPage(pageList.value[0]);
} else {
//
await handleAddPage();
}
}
}
return;
}
}
return;
}
try {
await deleteOne({ id: page.id }, () => {
createMessage.success('删除成功');
//
loadPageList();
//
if (currentPageId.value === page.id) {
if (pageList.value.length > 1) {
const index = pageList.value.findIndex(p => p.id === page.id);
const nextPage = pageList.value[index === 0 ? 1 : index - 1];
selectPage(nextPage);
} else {
//
handleAddPage();
}
try {
await deleteOne({ id: page.id }, () => {
createMessage.success('删除成功');
//
loadPageList();
//
if (currentPageId.value === page.id) {
if (pageList.value.length > 1) {
const index = pageList.value.findIndex(p => p.id === page.id);
const nextPage = pageList.value[index === 0 ? 1 : index - 1];
selectPage(nextPage);
} else {
//
handleAddPage();
}
}
});
} catch (error) {
console.error('删除页面失败:', error);
createMessage.error('删除失败');
}
});
} catch (error) {
console.error('删除页面失败:', error);
createMessage.error('删除失败');
}
},
});
}
/**
@ -887,8 +896,10 @@ function getPageTypeName(type: string) {
.page-item {
display: flex;
align-items: center;
min-width: 160px;
width: 160px;
/* 自适应内容宽度,保留一个合理的最小宽度 */
flex: 0 0 auto;
width: auto;
min-width: 120px;
padding: 8px;
background: #fff;
border: 1px solid #d9d9d9;
@ -933,9 +944,8 @@ function getPageTypeName(type: string) {
font-weight: 500;
color: #262626;
margin-bottom: 6px;
/* 保持单行显示,允许容器宽度随内容扩展 */
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.page-meta {
@ -954,6 +964,8 @@ function getPageTypeName(type: string) {
display: flex;
justify-content: center;
gap: 8px;
/* 防止操作按钮挤压内容,保持自身宽度 */
flex-shrink: 0;
}
.empty-page-list {


Loading…
Cancel
Save