From f31c4d2ff7aff6b5e74490dad9a660259f48618c Mon Sep 17 00:00:00 2001 From: lion <120344285@qq.com> Date: Thu, 15 Jan 2026 11:47:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/tinymce/plugins/attachment/plugin.js | 6 + src/views/dashboard/index.vue | 196 ++++++++++++-------- src/views/statistics/index.vue | 28 +-- src/views/student/schoolmate.vue | 8 +- src/views/student/schoolmateCompany.vue | 6 +- 5 files changed, 144 insertions(+), 100 deletions(-) diff --git a/public/tinymce/plugins/attachment/plugin.js b/public/tinymce/plugins/attachment/plugin.js index 7b831f3..4ba972a 100644 --- a/public/tinymce/plugins/attachment/plugin.js +++ b/public/tinymce/plugins/attachment/plugin.js @@ -18,6 +18,12 @@ console.warn('无法获取baseURL', e); } + // 注册自定义图标,使用 📎 emoji + var icons = editor.ui.registry.getAll().icons; + if (!icons || !icons.attachment) { + editor.ui.registry.addIcon('attachment', '
📎
'); + } + editor.ui.registry.addButton('attachment', { icon: 'attachment', tooltip: '上传附件', diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index a8dce91..7a829f7 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -74,54 +74,6 @@ - -
-
"三个全覆盖"完成度
-
-
{{ item.title }}
-
-
-
- {{ item.current }}{{ item.unit }} {{ getProgressPercent(item) }}% -
-
-
{{ getProgressPercent(item) }}%
-
{{ item.current }}{{ item.unit }}
-
-
-
{{ item.total }}{{ item.unit }}
-
-
-
- - -
-
- 本月课程 -
-
-
-
课程
-
地点
-
带班老师
-
- -
-
{{ course.name }}
-
{{ course.location }}
-
{{ course.teacher }}
-
-
-
-
- - - -
课程体系数据总览
@@ -166,8 +118,28 @@
- -
+ +
+ +
+
"三个全覆盖"完成度
+
+
{{ item.title }}
+
+
+
+ {{ item.current }}{{ item.unit }} {{ getProgressPercent(item) }}% +
+
+
{{ getProgressPercent(item) }}%
+
{{ item.current }}{{ item.unit }}
+
+
+
{{ item.total }}{{ item.unit }}
+
+
+
+
@@ -227,6 +199,34 @@
+
+ + +
+ +
+
+ 本月课程 +
+
+
+
课程
+
地点
+
带班老师
+
+ +
+
{{ course.name }}
+
{{ course.location }}
+
{{ course.teacher }}
+
+
+
+
@@ -284,8 +284,7 @@ export default { statisticsList: {}, // 本月课程 - monthCourses: [ - ], + monthCourses: [], courseGroupIndex: 0, courseTimer: null, @@ -394,8 +393,8 @@ export default { courseGroups() { if (!this.monthCourses || !this.monthCourses.length) return [] const chunk = [] - for (let i = 0; i < this.monthCourses.length; i += 3) { - chunk.push(this.monthCourses.slice(i, i + 3)) + for (let i = 0; i < this.monthCourses.length; i += 4) { + chunk.push(this.monthCourses.slice(i, i + 4)) } return chunk }, @@ -1110,7 +1109,7 @@ export default { flex-direction: column; background: linear-gradient(135deg, rgba(59, 130, 246, 0.2) 0%, rgba(99, 102, 241, 0.1) 100%); border: 1px solid rgba(59, 130, 246, 0.3); - padding: 2vh 1.5vw; + padding: 2vh 1.5vw!important; gap:0!important; backdrop-filter: blur(10px); } @@ -1126,7 +1125,7 @@ export default { display: flex; align-items: center; // gap: 1vw; - padding: 0.5vw 0; + padding: 0.2vw 0; // justify-content: center; } @@ -1151,14 +1150,14 @@ export default { } .alumni-card .card-icon.flat { - width: 2.8vw; - height: 5.6vh; + width: 2.3vw; + height: 4.5vh; } .yearly-card .card-icon.flat { - width: 2.5vw; - height: 5vh; + width: 2vw; + height: 4vh; } .card-icon.flat img { @@ -1174,10 +1173,11 @@ export default { } .card-value { - font-size: 1.8vw; + font-size: 1.5vw; font-weight: bold; background: linear-gradient(90deg, #f4dcae 0%, #b78d60 100%); -webkit-background-clip: text; + background-clip: text; color: transparent; text-shadow: 0 0 10px rgba(59, 130, 246, 0.25); line-height: 1.1; @@ -1185,14 +1185,14 @@ export default { .card-label { color: #fff; - font-size: 0.8vw; - margin-top: 0.4vh; + font-size: 0.7vw; + margin-top: 0.3vh; } .card-note { color: #fff; - font-size: 0.7vw; - margin-top: 0.5vh; + font-size: 0.6vw; + margin-top: 0.4vh; opacity: 0.8; width: 100%; text-align: left; @@ -1205,15 +1205,15 @@ export default { .training-people-card .card-icon.flat, .genban-card .card-icon.flat, .invested-company-card .card-icon.flat { - width: 2.5vw; - height: 5vh; + width: 2vw; + height: 4vh; } .progress-container { background: linear-gradient(135deg, rgba(59, 130, 246, 0.2) 0%, rgba(99, 102, 241, 0.1) 100%); border: 1px solid rgba(59, 130, 246, 0.3); border-radius: 8px; - padding: 1.5vh 1.5vw!important; + padding: 3.4vh 1.5vw!important; backdrop-filter: blur(10px); // padding-bottom: 2vh!important; } @@ -1362,16 +1362,22 @@ export default { background: rgba(7, 24, 71, 0.65); border: 1px solid rgba(60, 152, 255, 0.4); padding: 0; - flex: 1; + flex: 0 0 auto; // 不自动伸缩,固定高度 display: flex; overflow: hidden; gap: 0 !important; padding:0!important; + height: auto; // 由内容决定高度 + width: 100%; + max-width: 100%; + box-sizing: border-box; } .course-title-vertical { width: 4.5vw; - min-width: 70px; + // min-width: 70px; + // max-width: 4.5vw; + flex-shrink: 0; background: linear-gradient(180deg, rgba(55, 124, 255, 0.4), rgba(15, 51, 135, 0.7)); display: flex; align-items: center; @@ -1383,12 +1389,16 @@ export default { text-orientation: upright; font-weight: bold; text-shadow: 0 0 12px rgba(57, 146, 255, 0.6); + box-sizing: border-box; } .course-table, .system-table { width: 100%; + max-width: 100%; border-spacing: 0; + box-sizing: border-box; + overflow: hidden; } .system-table { @@ -1399,19 +1409,28 @@ export default { } .course-table { - padding: 2vh 1.2vw; - flex: 1; + padding: 2vh 0.8vw; + flex: 0 0 auto; // 不自动伸缩,使用固定高度 min-width: 0; display: flex; flex-direction: column; + height: auto; // 由内容决定高度 + width: calc(100% - 4.5vw); + max-width: 100%; + box-sizing: border-box; + overflow: hidden; } .table-header, .table-row { display: grid; - grid-template-columns: 1.4fr 0.5fr 0.6fr; - padding: 0.8vh 0.5vw; + grid-template-columns: 1.1fr 0.6fr 0.8fr; + padding: 0.6vh 0.3vw; align-items: center; + width: 100%; + max-width: 100%; + box-sizing: border-box; + min-height: 3.5vh; // 确保每行有足够高度 } .table-header { @@ -1431,6 +1450,13 @@ export default { position: relative; } +/* 本月课程表的table-body固定高度 - 4条数据 */ +.course-table .table-body { + height: 16vh; // 固定高度:4条数据的高度(每行约4vh,4行 = 16vh) + min-height: 16vh; + max-height: 16vh; +} + .table-row { position: relative; color: #fff; @@ -1455,6 +1481,15 @@ export default { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; + max-width: 100%; + box-sizing: border-box; + padding: 0; + margin: 0; +} + +/* 本月课程表格的单元格特殊处理 */ +.course-table .table-cell { + padding: 0 0.2vw; } .course-table .table-cell:nth-child(2), @@ -1483,6 +1518,8 @@ export default { min-width: 0; display: flex; flex-direction: column; + gap: 2vh; + overflow-y: auto; } .course-system-container { @@ -1507,7 +1544,7 @@ export default { color: #93ccfd; font-size: 1.3vw; text-align: center; - margin-bottom: 0.5vh; + // margin-bottom: 0.5vh; font-weight: bold; } .course-system-container .table-header { @@ -1561,10 +1598,10 @@ export default { /* 年份按钮组 */ .year-buttons-wrapper { - margin-bottom: 1.5vh; + // margin-bottom: 1.5vh; overflow: visible; position: relative; - padding: 0.5vh 0; + // padding: 0.5vh 0; } .year-buttons { @@ -1619,10 +1656,11 @@ export default { display: flex; flex-direction: column; gap: 2vh; + overflow-y: auto; } .map-container { - flex: 6; + flex: 1; display: flex; flex-direction: column; padding: 1.2vh 1.2vw; @@ -1951,7 +1989,7 @@ export default { overflow: hidden; text-overflow: ellipsis; font-weight: bold; - padding: 0.6vh 0.8vw; + padding: 1vh 0.8vw; font-size: 1vw; } diff --git a/src/views/statistics/index.vue b/src/views/statistics/index.vue index 497e12f..08b6ed0 100644 --- a/src/views/statistics/index.vue +++ b/src/views/statistics/index.vue @@ -318,7 +318,7 @@ export default { key: 'company_market_total', icon: 'el-icon-office-building', value: '0', - label: '上市公司数', + label: '上市公司覆盖数', cardClass: 'student-card-1' }, { @@ -1326,21 +1326,21 @@ export default { } .stats-card { - border-radius: 15px; - padding: 20px 15px; + border-radius: 12px; + padding: 16px 12px; margin-bottom: 0; - box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); + box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1); transition: all 0.4s ease; position: relative; overflow: hidden; text-align: center; - height: 150px; + height: 120px; display: flex; flex-direction: column; justify-content: center; align-items: center; flex: 1 1 calc(20% - 15px); - min-width: 180px; + min-width: 150px; &::before { content: ''; @@ -1348,25 +1348,25 @@ export default { top: 0; left: 0; right: 0; - height: 4px; + height: 3px; background: linear-gradient(90deg, #00a8ff, #0097e6); } &:hover { - transform: translateY(-8px); - box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15); + transform: translateY(-6px); + box-shadow: 0 16px 32px rgba(0, 0, 0, 0.15); } h3 { - font-size: 1.6rem; + font-size: 1.3rem; font-weight: bold; - margin-bottom: 8px; + margin-bottom: 6px; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); flex-shrink: 0; } p { - font-size: 0.85rem; + font-size: 0.75rem; opacity: 0.95; margin: 0; font-weight: 500; @@ -1391,9 +1391,9 @@ export default { } .stats-icon { - font-size: 2rem; + font-size: 1.6rem; opacity: 0.9; - margin-bottom: 8px; + margin-bottom: 6px; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); flex-shrink: 0; } diff --git a/src/views/student/schoolmate.vue b/src/views/student/schoolmate.vue index ba02a1d..53ede0c 100644 --- a/src/views/student/schoolmate.vue +++ b/src/views/student/schoolmate.vue @@ -416,12 +416,8 @@ import { download } from '@/utils/downloadRequest' label: '邮箱', align: 'center', width: 120, - }, { - prop: 'is_company_schoolmate_text', - label: '是否校友企业', - align: 'center', - width: 120, - }, { + }, + { prop: 'company_name', label: '公司名称', align: 'left', diff --git a/src/views/student/schoolmateCompany.vue b/src/views/student/schoolmateCompany.vue index 7a286b8..b7a855e 100644 --- a/src/views/student/schoolmateCompany.vue +++ b/src/views/student/schoolmateCompany.vue @@ -430,7 +430,11 @@ this.table_item.map(item => { if (item.type === 'index') { } else { - _export[item.prop] = item.label + if(item.prop === 'is_yh_invested'){ + _export['is_yh_invested_text'] = '集团标签' + }else{ + _export[item.prop] = item.label + } } }) download(