style: 调整对话框和按钮尺寸,更新工具提示文本以提高清晰度,并对教师和创建者的选择实施下拉可见性处理。

This commit is contained in:
huweihang
2025-12-17 01:23:03 +08:00
parent 4ebd8f5225
commit 6bee4e8e87
2 changed files with 66 additions and 9 deletions

View File

@@ -394,7 +394,7 @@ li{
.custom-confirm-dialog { .custom-confirm-dialog {
max-width: 692px; max-width: 692px;
min-width: 692px; min-width: 600px;
min-height: 222px !important; min-height: 222px !important;
padding: 0px 0px 0px; padding: 0px 0px 0px;
border-radius: 10px; border-radius: 10px;
@@ -465,9 +465,9 @@ li{
padding-bottom: 20px; padding-bottom: 20px;
.el-button { .el-button {
min-width: 120px; width: 70px;
height: 40px; height: 32px;
font-size: 16px; font-size: 14px;
border-radius: 6px; border-radius: 6px;
padding: 0 18px; padding: 0 18px;
} }

View File

@@ -26,6 +26,7 @@
:remote-method="remoteSearchTeacher" :remote-method="remoteSearchTeacher"
:loading="teacherLoading" :loading="teacherLoading"
@input.native="limitTeacherInput" @input.native="limitTeacherInput"
@visible-change="handleTeacherVisibleChange"
@change="handleTeacherChange" @change="handleTeacherChange"
@clear="handleTeacherClear" @clear="handleTeacherClear"
> >
@@ -70,8 +71,8 @@
{{ showAdvancedFilter ? '收起' : '展开' }} {{ showAdvancedFilter ? '收起' : '展开' }}
<i :class="showAdvancedFilter ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"></i> <i :class="showAdvancedFilter ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"></i>
</el-button> </el-button>
<el-tooltip content="搜索" placement="top" effect="dark" popper-class="icon-btn-tooltip"> <el-tooltip content="查询" placement="top" effect="dark" popper-class="icon-btn-tooltip">
<div class="icon-btn icon-btn--search" @click="searchData(true)" aria-label="搜索"></div> <div class="icon-btn icon-btn--search" @click="searchData(true)" aria-label="查询"></div>
</el-tooltip> </el-tooltip>
<el-tooltip content="重置" placement="top" effect="dark" popper-class="icon-btn-tooltip"> <el-tooltip content="重置" placement="top" effect="dark" popper-class="icon-btn-tooltip">
<div class="icon-btn icon-btn--reset" @click="reset" aria-label="重置"></div> <div class="icon-btn icon-btn--reset" @click="reset" aria-label="重置"></div>
@@ -103,6 +104,7 @@
@change="handleResOwnerChange" @change="handleResOwnerChange"
@input.native="limitResOwnerInput" @input.native="limitResOwnerInput"
filterable filterable
:filter-method="resOwnerFilterMethod"
></el-cascader> ></el-cascader>
</div> </div>
<div class="filter-field filter-field--creator creator-filter"> <div class="filter-field filter-field--creator creator-filter">
@@ -121,6 +123,7 @@
:remote-method="remoteSearchCreator" :remote-method="remoteSearchCreator"
:loading="creatorLoading" :loading="creatorLoading"
@input.native="limitCreatorInput" @input.native="limitCreatorInput"
@visible-change="handleCreatorVisibleChange"
@change="handleCreatorChange" @change="handleCreatorChange"
@clear="handleCreatorClear" @clear="handleCreatorClear"
> >
@@ -143,8 +146,8 @@
{{ showAdvancedFilter ? '收起' : '展开' }} {{ showAdvancedFilter ? '收起' : '展开' }}
<i :class="showAdvancedFilter ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"></i> <i :class="showAdvancedFilter ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"></i>
</el-button> </el-button>
<el-tooltip content="搜索" placement="top" effect="dark" popper-class="icon-btn-tooltip"> <el-tooltip content="查询" placement="top" effect="dark" popper-class="icon-btn-tooltip">
<div class="icon-btn icon-btn--search" @click="searchData(true)" aria-label="搜索"></div> <div class="icon-btn icon-btn--search" @click="searchData(true)" aria-label="查询"></div>
</el-tooltip> </el-tooltip>
<el-tooltip content="重置" placement="top" effect="dark" popper-class="icon-btn-tooltip"> <el-tooltip content="重置" placement="top" effect="dark" popper-class="icon-btn-tooltip">
<div class="icon-btn icon-btn--reset" @click="reset" aria-label="重置"></div> <div class="icon-btn icon-btn--reset" @click="reset" aria-label="重置"></div>
@@ -741,6 +744,16 @@ export default {
this.teacherOptions = []; this.teacherOptions = [];
this.params.teacherId = ''; this.params.teacherId = '';
}, },
// 授课教师下拉展开时,如果当前没有关键字,则清空上一次的查询结果
handleTeacherVisibleChange(visible) {
if (!visible) return;
// 打开时才处理
const select = this.$refs.teacherSelect;
const query = (select && select.query) || '';
if (!query) {
this.teacherOptions = [];
}
},
async remoteSearchCreator(keyword) { async remoteSearchCreator(keyword) {
const limited = (keyword || '').slice(0, 50); const limited = (keyword || '').slice(0, 50);
if (this.$refs.creatorSelect && this.$refs.creatorSelect.query !== limited) { if (this.$refs.creatorSelect && this.$refs.creatorSelect.query !== limited) {
@@ -793,6 +806,15 @@ export default {
this.creatorSelected = []; this.creatorSelected = [];
this.params.createUserId = ''; this.params.createUserId = '';
}, },
// 创建人下拉展开时,如果当前没有关键字,则清空上一次的查询结果
handleCreatorVisibleChange(visible) {
if (!visible) return;
const select = this.$refs.creatorSelect;
const query = (select && select.query) || '';
if (!query) {
this.creatorOptions = [];
}
},
limitTeacherInput(event) { limitTeacherInput(event) {
const limited = (event && event.target && event.target.value ? event.target.value : '').slice(0, 50); const limited = (event && event.target && event.target.value ? event.target.value : '').slice(0, 50);
if (event && event.target && event.target.value !== limited) { if (event && event.target && event.target.value !== limited) {
@@ -820,6 +842,12 @@ export default {
this.$refs.resOwnerCascader.inputValue = limited; this.$refs.resOwnerCascader.inputValue = limited;
} }
}, },
resOwnerFilterMethod(node, keyword) {
if (!keyword) return true;
const text = (node.label || (node.data && node.data.name) || '').toString().toLowerCase();
const kw = keyword.toString().toLowerCase();
return text.includes(kw);
},
handleTopSort() { handleTopSort() {
if (this.$refs.topSorter) { if (this.$refs.topSorter) {
this.$refs.topSorter.open(); this.$refs.topSorter.open();
@@ -1078,7 +1106,7 @@ export default {
const url = window.URL.createObjectURL(blob); const url = window.URL.createObjectURL(blob);
const timestamp = new Date().toISOString().replace(/[-:T]/g, '').split('.')[0]; const timestamp = new Date().toISOString().replace(/[-:T]/g, '').split('.')[0];
link.href = url; link.href = url;
link.download = `课程管理_${timestamp}.xlsx`; link.download = `在线课列表.xlsx`;
document.body.appendChild(link); document.body.appendChild(link);
link.click(); link.click();
document.body.removeChild(link); document.body.removeChild(link);
@@ -2150,6 +2178,35 @@ export default {
padding: 5px 0; padding: 5px 0;
} }
} }
.qrcode-img {
width: 150px;
height: 150px;
display: block;
position: relative;
.downloadn-container {
position: absolute;
width: 40px;
height: 45px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 99;
background: white;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
transition: all 0.3s ease;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
cursor: pointer;
span {
color: #409eff;
display: block;
font-size: 12px;
line-height: 12px;
}
}
}
</style> </style>
<style lang="scss"> <style lang="scss">