style(ui): 去掉卡片包裹边框,收紧页面留白
- .main-container 去掉通道默认的 1px 描边(保留白底/圆角/阴影) - 24 个视图根容器剥离自带的 border/圆角/背景/padding——它与卡片 16px 叠加成 32px, 是「双层边框 + 空隙过大」的主因 - 学科管理不再 flex:1 把图例推到卡片底部;时段设置工具条去灰底,避免与表头双色带 - 教师管理页签 activeTab 统一为字符串,与 TabPane name 一致
This commit is contained in:
@@ -157,4 +157,9 @@ body {
|
|||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
margin: 0 2px;
|
margin: 0 2px;
|
||||||
}
|
}
|
||||||
|
/* 卡片只要白底/圆角,去掉通道默认的描边(页面自身也不再包边框,避免双层) */
|
||||||
|
.base-wrap-main .main-container {
|
||||||
|
border: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -114,14 +114,7 @@
|
|||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
/* 页面撑满父容器高度,必须设置父级html、body高度100% */
|
/* 页面撑满父容器高度,必须设置父级html、body高度100% */
|
||||||
.page-wrap {
|
.page-wrap {height: 100%; display: flex; flex-direction: column; box-sizing: border-box}
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
padding: 16px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
background: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search-wrap {
|
.search-wrap {
|
||||||
flex-shrink: 0; /* 固定高度,不压缩 */
|
flex-shrink: 0; /* 固定高度,不压缩 */
|
||||||
|
|||||||
@@ -267,18 +267,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.outer-wrap {
|
.outer-wrap {width: 100%; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; overflow-y: auto}
|
||||||
border: 1px solid #e5e7eb;
|
|
||||||
border-radius: 4px;
|
|
||||||
padding: 16px;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
background: #fff;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
overflow-y: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.header-bar {
|
.header-bar {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -573,17 +573,7 @@ onClick: () => this.delRow(params.index)})
|
|||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
/* 外层统一边框,和前面所有管理页面样式统一 */
|
/* 外层统一边框,和前面所有管理页面样式统一 */
|
||||||
.outer-wrap {
|
.outer-wrap {width: 100%; height: 100%; box-sizing: border-box; display: flex; flex-direction: column}
|
||||||
border: 1px solid #e5e7eb;
|
|
||||||
border-radius: 4px;
|
|
||||||
padding: 16px;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
background: #fff;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
.page-container {
|
.page-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
|||||||
@@ -618,15 +618,7 @@ onClick: () => this.singleSync(params.row)})
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.page-container {
|
.page-container {width: 100%; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; gap: 14px}
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
padding: 16px;
|
|
||||||
gap: 14px;
|
|
||||||
}
|
|
||||||
/* 顶部Tab栏整体布局 */
|
/* 顶部Tab栏整体布局 */
|
||||||
.tab-header {
|
.tab-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -255,15 +255,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.student-class-page {
|
.student-class-page {width: 100%; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; gap: 16px}
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
padding: 16px;
|
|
||||||
gap: 16px;
|
|
||||||
}
|
|
||||||
/* 顶部标题栏 */
|
/* 顶部标题栏 */
|
||||||
.page-top-bar {
|
.page-top-bar {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -233,14 +233,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.class-history-wrap {
|
.class-history-wrap {width: 100%; height: 100%; display: flex; gap: 16px; box-sizing: border-box}
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
gap: 16px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 左侧树固定宽度+固定高度滚动 */
|
/* 左侧树固定宽度+固定高度滚动 */
|
||||||
.left-tree-box {
|
.left-tree-box {
|
||||||
|
|||||||
@@ -79,14 +79,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.student-teach-detail-wrap {
|
.student-teach-detail-wrap {width: 100%; height: 100%; display: flex; flex-direction: column; box-sizing: border-box}
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 顶部头部行 */
|
/* 顶部头部行 */
|
||||||
.top-header-bar {
|
.top-header-bar {
|
||||||
|
|||||||
@@ -533,20 +533,15 @@ onClick: () => {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.page-container {
|
.page-container {}
|
||||||
padding:0 16px;
|
|
||||||
background: #fff;
|
|
||||||
}
|
|
||||||
.page-title {
|
.page-title {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
margin: 0 0 12px;
|
margin: 0 0 12px;
|
||||||
}
|
}
|
||||||
.btn-top-wrap {
|
.btn-top-wrap {
|
||||||
background: #f7f8fa;
|
/* 卡片内不再铺灰底(会与表头形成双色带),只留底部间距 */
|
||||||
border-radius: 4px;
|
padding: 0 0 12px;
|
||||||
padding: 10px;
|
|
||||||
/* margin: 10px 0 15px; */
|
|
||||||
}
|
}
|
||||||
.term-table :deep(.ivu-table-row td) {
|
.term-table :deep(.ivu-table-row td) {
|
||||||
padding: 6px 0;
|
padding: 6px 0;
|
||||||
|
|||||||
@@ -219,13 +219,13 @@ class: 'drag-handle drag-icon'})
|
|||||||
// 切换标签页重新初始化拖拽
|
// 切换标签页重新初始化拖拽
|
||||||
activeTab(val) {
|
activeTab(val) {
|
||||||
if (val === 'major') {
|
if (val === 'major') {
|
||||||
this.$nextTick(() => this.initTableDrag())
|
// this.$nextTick(() => this.initTableDrag())
|
||||||
this.getmajorslist();
|
this.getmajorslist();
|
||||||
} else if(val === 'campus') {
|
} else if(val === 'campus') {
|
||||||
if (this.tableDrag) this.tableDrag.destroy();
|
// if (this.tableDrag) this.tableDrag.destroy();
|
||||||
this.getcampuslist();
|
this.getcampuslist();
|
||||||
}else{
|
}else{
|
||||||
if (this.tableDrag) this.tableDrag.destroy();
|
// if (this.tableDrag) this.tableDrag.destroy();
|
||||||
this.getdivisionlist();
|
this.getdivisionlist();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -544,14 +544,7 @@ class: 'drag-handle drag-icon'})
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.page-wrap {
|
.page-wrap {width: 100%; height: 100%; box-sizing: border-box; display: flex; flex-direction: column}
|
||||||
padding: 16px;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
.page-title {
|
.page-title {
|
||||||
margin: 0 0 12px;
|
margin: 0 0 12px;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
|
|||||||
@@ -846,14 +846,7 @@ onClick: () => this.openEditStudent(params.row)})
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.student-manage-wrap {
|
.student-manage-wrap {width: 100%; height: 100%; display: flex; gap: 16px; box-sizing: border-box}
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
gap: 16px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
/* 左侧树固定高度 */
|
/* 左侧树固定高度 */
|
||||||
.left-tree-box {
|
.left-tree-box {
|
||||||
width: 220px;
|
width: 220px;
|
||||||
|
|||||||
@@ -829,14 +829,7 @@ onClick: () => this.openEditStudent(params.row)})
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.student-manage-wrap {
|
.student-manage-wrap {width: 100%; height: 100%; display: flex; gap: 16px; box-sizing: border-box}
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
gap: 16px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
/* 左侧树固定高度 */
|
/* 左侧树固定高度 */
|
||||||
.left-tree-box {
|
.left-tree-box {
|
||||||
width: 220px;
|
width: 220px;
|
||||||
|
|||||||
@@ -287,14 +287,7 @@ onClick: () => this.openEditModal(params.row)})
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.student-manage-wrap {
|
.student-manage-wrap {width: 100%; height: 100%; display: flex; gap: 16px; box-sizing: border-box}
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
gap: 16px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
/* 左侧树固定高度 */
|
/* 左侧树固定高度 */
|
||||||
.left-tree-box {
|
.left-tree-box {
|
||||||
width: 220px;
|
width: 220px;
|
||||||
|
|||||||
@@ -280,14 +280,7 @@ onClick: () => this.openEditModal(params.row)})
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.student-manage-wrap {
|
.student-manage-wrap {width: 100%; height: 100%; display: flex; gap: 16px; box-sizing: border-box}
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
gap: 16px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
/* 左侧树固定高度 */
|
/* 左侧树固定高度 */
|
||||||
.left-tree-box {
|
.left-tree-box {
|
||||||
width: 220px;
|
width: 220px;
|
||||||
|
|||||||
@@ -243,12 +243,7 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.edu-layout-wrap {
|
.edu-layout-wrap {width: 100%; height: 100%}
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
padding: 10px;
|
|
||||||
background: #fff;
|
|
||||||
}
|
|
||||||
.layout-row {
|
.layout-row {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -374,18 +374,8 @@ onClick: () => this.delRow(params.index)})
|
|||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
/* 全局外边框,和之前校区/系部/专业页面样式统一 */
|
/* 全局外边框,和之前校区/系部/专业页面样式统一 */
|
||||||
.outer-wrap {
|
.outer-wrap {width: 100%; height: 100%; box-sizing: border-box; display: flex; /* margin:0 10px; */
|
||||||
border: 1px solid #e5e7eb;
|
flex-direction: column}
|
||||||
border-radius: 4px;
|
|
||||||
padding: 16px;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
background: #fff;
|
|
||||||
display: flex;
|
|
||||||
/* margin:0 10px; */
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 顶部操作筛选栏 */
|
/* 顶部操作筛选栏 */
|
||||||
.top-bar {
|
.top-bar {
|
||||||
|
|||||||
@@ -263,24 +263,14 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.outer-wrap {
|
.outer-wrap {width: 100%; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; overflow-y: auto}
|
||||||
border: 1px solid #e5e7eb;
|
|
||||||
border-radius: 4px;
|
|
||||||
padding: 16px;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
background: #ffffff;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
overflow-y: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.top-select-wrap {
|
.top-select-wrap {
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
}
|
}
|
||||||
.subject-box {
|
.subject-box {
|
||||||
flex: 1;
|
/* 不再 flex:1 撑高,否则图例被推到卡片底部留出大片空白 */
|
||||||
|
flex: none;
|
||||||
}
|
}
|
||||||
.btn-container {
|
.btn-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -7,10 +7,10 @@
|
|||||||
<TabPane label="教师分组管理" name="3"></TabPane>
|
<TabPane label="教师分组管理" name="3"></TabPane>
|
||||||
<!-- <TabPane label="教师变动查询" name="4"></TabPane> -->
|
<!-- <TabPane label="教师变动查询" name="4"></TabPane> -->
|
||||||
</Tabs>
|
</Tabs>
|
||||||
<teacherinfo v-if="activeTab==1"></teacherinfo>
|
<teacherinfo v-if="activeTab=='1'"></teacherinfo>
|
||||||
<teachseeting v-if="activeTab==2"></teachseeting>
|
<teachseeting v-if="activeTab=='2'"></teachseeting>
|
||||||
<Teachergrouping v-if="activeTab==3"></Teachergrouping>
|
<Teachergrouping v-if="activeTab=='3'"></Teachergrouping>
|
||||||
<Teachertransfer v-if="activeTab==4"></Teachertransfer>
|
<Teachertransfer v-if="activeTab=='4'"></Teachertransfer>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
components: { teacherinfo,teachseeting,Teachergrouping,Teachertransfer },
|
components: { teacherinfo,teachseeting,Teachergrouping,Teachertransfer },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
activeTab:1,
|
activeTab:'1',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
@@ -440,14 +440,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.group-manage-page {
|
.group-manage-page {width: 100%; height: 100%; display: flex; flex-direction: column; box-sizing: border-box}
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
/* 顶部栏 */
|
/* 顶部栏 */
|
||||||
.top-header {
|
.top-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -141,14 +141,7 @@ export default {
|
|||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
/* 页面根容器:占满父高度,纵向弹性布局 */
|
/* 页面根容器:占满父高度,纵向弹性布局 */
|
||||||
.page-wrap {
|
.page-wrap {width: 100%; height: 100%; display: flex; flex-direction: column; box-sizing: border-box}
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 顶部搜索栏 固定高度不压缩 */
|
/* 顶部搜索栏 固定高度不压缩 */
|
||||||
.top-search-bar {
|
.top-search-bar {
|
||||||
|
|||||||
@@ -913,18 +913,8 @@ onClick: () => this.editSingleTeacher(params.row, params.index)})
|
|||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
/* 全局布局逐级修复高度 + min-height:0 解决flex塌陷 */
|
/* 全局布局逐级修复高度 + min-height:0 解决flex塌陷 */
|
||||||
.outer-wrap {
|
.outer-wrap {/* border: 1px solid #e5e7eb; */
|
||||||
/* border: 1px solid #e5e7eb; */
|
border-radius: 4px; width: 100%; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; overflow-y: auto}
|
||||||
border-radius: 4px;
|
|
||||||
padding: 16px;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
background: #fff;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
overflow-y: auto;
|
|
||||||
}
|
|
||||||
.page-flex-layout {
|
.page-flex-layout {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
@@ -932,7 +922,7 @@ onClick: () => this.editSingleTeacher(params.row, params.index)})
|
|||||||
min-height: 0; /* 第一层修复 */
|
min-height: 0; /* 第一层修复 */
|
||||||
}
|
}
|
||||||
.tree-sidebar {
|
.tree-sidebar {
|
||||||
width: 225px;
|
width: 250px;
|
||||||
border: 1px solid #e8e8e8;
|
border: 1px solid #e8e8e8;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|||||||
@@ -273,14 +273,7 @@ onClick: () => this.openTransferModal(params.row)},'转入')
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.teacher-transfer-wrap {
|
.teacher-transfer-wrap {width: 100%; height: 100%; display: flex; flex-direction: column; box-sizing: border-box}
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 顶部筛选行 */
|
/* 顶部筛选行 */
|
||||||
.top-filter-bar {
|
.top-filter-bar {
|
||||||
|
|||||||
@@ -296,14 +296,7 @@ onClick: () => this.openMoveModal(params.row)},'转入')
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.student-move-wrap {
|
.student-move-wrap {width: 100%; height: 100%; display: flex; flex-direction: column; box-sizing: border-box}
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 顶部筛选栏 */
|
/* 顶部筛选栏 */
|
||||||
.top-filter-bar {
|
.top-filter-bar {
|
||||||
|
|||||||
@@ -241,14 +241,7 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.student-move-wrap {
|
.student-move-wrap {width: 100%; height: 100%; display: flex; flex-direction: column; box-sizing: border-box}
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 顶部筛选栏 */
|
/* 顶部筛选栏 */
|
||||||
.top-filter-bar {
|
.top-filter-bar {
|
||||||
|
|||||||
Reference in New Issue
Block a user