master
lion 1 week ago
parent c71fbd57e1
commit fe26ed53be

@ -12,7 +12,16 @@
</div>
</div>
</template>
<template v-slot:sort>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>排序
</div>
<div class="xy-table-item-content">
<el-input v-model="form.sort" placeholder="请输入排序" clearable style="width: 100%;"></el-input>
</div>
</div>
</template>
<template v-slot:status>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
@ -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,

@ -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

@ -185,7 +185,7 @@
<div class="tab" :class="{ active: mapType === 'suzhou' }" @click="mapType = 'suzhou'">苏州</div>
<div class="tab" :class="{ active: mapType === 'national' }" @click="mapType = 'national'">全国</div>
</div>
<div style="font-size: 1.1vw; font-weight: bold; color: #fff;" v-if="mapType = 'suzhou'"></div>
<div style="font-size: 1.1vw; font-weight: bold; color: #fff;" v-if="mapType == 'suzhou'"></div>
</div>
<div class="map-chart-wrapper">
<div class="suzhou-map-wrapper" v-show="mapType === 'suzhou'">

@ -147,12 +147,14 @@
</div>
<div class="detail-table">
<el-table
ref="courseDetailTable"
:key="courseDetailTableKey"
:data="courseDetailData"
:span-method="objectSpanMethod"
:header-cell-style="headerCellStyle"
show-summary
:summary-method="getCourseDetailSummary"
height="600">
max-height="600">
<el-table-column prop="courseSystem" label="课程体系" width="200" align="center" fixed="left"></el-table-column>
<el-table-column prop="totalPeople" label="培养人数(未去重)" width="200" align="center"></el-table-column>
<el-table-column prop="uniquePeople" label="培养人数(课程体系内已去重)" width="280" align="center"></el-table-column>
@ -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;

Loading…
Cancel
Save