@@ -231,6 +240,7 @@
id: '',
form: {
name:'',
+ sort:0,
open_mobile:0,
status:1,
is_chart:0,
@@ -282,10 +292,18 @@
show({
id: this.id
}).then(res => {
- this.form = this.base.deepCopy(res)
- this.form.open_mobile = res.open_mobile?res.open_mobile:0
+ // this.form = this.base.deepCopy(res)
+ this.form.name = res.name?res.name:''
+ this.form.sort = res.sort?res.sort:0
this.form.status = res.status?res.status:0
+ this.form.open_mobile = res.open_mobile?res.open_mobile:0
this.form.is_chart = res.is_chart?res.is_chart:0
+ this.form.wait_tip = res.wait_tip?res.wait_tip:''
+ this.form.pass_tip = res.pass_tip?res.pass_tip:''
+ this.form.fault_tip = res.fault_tip?res.fault_tip:''
+ this.form.back_tip = res.back_tip?res.back_tip:''
+ this.form.year_total = res.year_total?res.year_total:''
+ this.form.color = res.color?res.color:''
this.form.is_fee = res.is_fee?res.is_fee:(res.is_fee==0?0:'')
this.form.is_arrange = res.is_arrange?res.is_arrange:(res.is_arrange==0?0:'')
this.form.show_txl = res.show_txl?res.show_txl:(res.show_txl==0?0:'')
@@ -309,7 +327,7 @@
this.id = ''
this.form = {
name:'',
-
+ sort:0,
open_mobile:0,
status:1,
is_chart:0,
diff --git a/src/views/course/types.vue b/src/views/course/types.vue
index 64e594d..669cb2c 100644
--- a/src/views/course/types.vue
+++ b/src/views/course/types.vue
@@ -107,6 +107,11 @@
align: 'center',
width: 120,
}, {
+ prop: 'sort',
+ label: '排序',
+ align: 'center',
+ width: 120,
+ },{
prop: 'is_history',
label: '是否额外添加课程体系',
align: 'center',
@@ -150,6 +155,8 @@
const res = await index({
page: this.select.page,
page_size: this.select.page_size,
+ sort_name: 'sort',
+ sort_type: 'ASC',
filter: filter
})
this.list = res.data
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index 98e9869..a9cf6cb 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -185,7 +185,7 @@
苏州
全国
-
校友分布
+
校友分布
diff --git a/src/views/statistics/index.vue b/src/views/statistics/index.vue
index 13794a9..37a63e2 100644
--- a/src/views/statistics/index.vue
+++ b/src/views/statistics/index.vue
@@ -147,12 +147,14 @@
+ max-height="600">
@@ -382,6 +384,7 @@ export default {
}
],
courseDetailData: [],
+ courseDetailTableKey: 0,
courseDetailSummary: {
totalPeople: 0,
uniquePeople: 0,
@@ -397,6 +400,24 @@ export default {
}
}
},
+ watch: {
+ courseDetailData: {
+ handler() {
+ // 当数据更新时,强制表格重新计算合计行
+ this.$nextTick(() => {
+ setTimeout(() => {
+ if (this.$refs.courseDetailTable) {
+ this.courseDetailTableKey += 1
+ this.$nextTick(() => {
+ this.$refs.courseDetailTable.doLayout()
+ })
+ }
+ }, 100)
+ })
+ },
+ deep: true
+ }
+ },
mounted() {
this.initDates()
this.getCourseTypeList()
@@ -423,6 +444,17 @@ export default {
this.$message.error('获取课程图表数据失败')
} finally {
this.chartLoading = false
+ // 数据加载完成后,确保合计行显示
+ this.$nextTick(() => {
+ setTimeout(() => {
+ if (this.$refs.courseDetailTable) {
+ this.courseDetailTableKey += 1
+ this.$nextTick(() => {
+ this.$refs.courseDetailTable.doLayout()
+ })
+ }
+ }, 200)
+ })
}
},
@@ -909,9 +941,22 @@ export default {
}, { totalPeople: 0, uniquePeople: 0, coursePeople: 0, genban_total: 0, yh_invested_total: 0, company_join_total: 0 })
this.courseDetailSummary = summary
} else {
+ this.courseDetailData = []
this.courseDetailSummary = { totalPeople: 0, uniquePeople: 0, coursePeople: 0, genban_total: 0, yh_invested_total: 0, company_join_total: 0 }
}
+ // 强制表格重新渲染合计行(延迟执行,确保数据完全更新)
+ this.$nextTick(() => {
+ setTimeout(() => {
+ this.courseDetailTableKey += 1
+ this.$nextTick(() => {
+ if (this.$refs.courseDetailTable) {
+ this.$refs.courseDetailTable.doLayout()
+ }
+ })
+ }, 150)
+ })
+
// 更新区域明细统计表格
if (data && data.areas && Array.isArray(data.areas)) {
this.regionData = data.areas.map(item => ({
@@ -1366,6 +1411,8 @@ export default {
}
.el-table__body-wrapper {
+ max-height: calc(600px - 60px) !important;
+ overflow-y: auto !important;
.el-table__body {
td {
vertical-align: middle !important;
@@ -1412,7 +1459,12 @@ export default {
/* 合计行样式 */
.detail-table .el-table .el-table__footer-wrapper {
+ display: block !important;
+ position: relative !important;
+ z-index: 10 !important;
.el-table__footer {
+ display: table !important;
+ width: 100% !important;
background: rgba(15, 76, 117, 0.05) !important;
td {
@@ -1425,6 +1477,27 @@ export default {
}
}
+/* 确保合计行在固定列时也能显示 */
+.detail-table .el-table .el-table__fixed,
+.detail-table .el-table .el-table__fixed-right {
+ .el-table__fixed-footer-wrapper {
+ display: block !important;
+ .el-table__footer {
+ display: table !important;
+ width: 100% !important;
+ background: rgba(15, 76, 117, 0.05) !important;
+
+ td {
+ background: rgba(15, 76, 117, 0.05) !important;
+ color: #0f4c75 !important;
+ font-weight: 600 !important;
+ border-top: 1px solid rgba(15, 76, 117, 0.12) !important;
+ border-bottom: 1px solid rgba(15, 76, 117, 0.12) !important;
+ }
+ }
+ }
+}
+
.table-summary {
display: flex;
flex-wrap: wrap;