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 @@
-
-
+
+
+
+ 本月课程
+
+
+
+
+
+
{{ 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(