diff --git a/api/apiRoute.js b/api/apiRoute.js index 49f3ed2..bc91222 100644 --- a/api/apiRoute.js +++ b/api/apiRoute.js @@ -334,4 +334,20 @@ export default { async updateCallUp(data={}) { return await http.post('/per_update_call_up', data); }, + async getDate(data={}) { + return await http.get('/course/get_date', data); + }, + async courseAllList(data = {}) { + return await http.get('/course/courseAllList', data); + }, + async addSchedule(data = {}) { + return await http.post('/course/addSchedule', data); + }, + async scheduleList(data = {}) { + return await http.get('/course/scheduleList', data); + }, + + + + } \ No newline at end of file diff --git a/pages/market/clue/class_arrangement.vue b/pages/market/clue/class_arrangement.vue index 11a5c4d..d152a0e 100644 --- a/pages/market/clue/class_arrangement.vue +++ b/pages/market/clue/class_arrangement.vue @@ -1,196 +1,238 @@ \ No newline at end of file + .class-arrange-root { + background: #232323; + min-height: 100vh; + padding-bottom: 30rpx; + } + + .date-bar { + display: flex; + align-items: center; + background: #232323; + padding: 0 0 10rpx 0; + overflow-x: auto; + border-bottom: 1px solid #333; + + .date-item { + flex: 1; + text-align: center; + color: #bdbdbd; + padding: 16rpx 0 0 0; + + .week { + font-size: 22rpx; + } + + .day { + font-size: 28rpx; + margin-top: 4rpx; + } + + &.active { + color: #29d3b4; + + .day { + border-radius: 50%; + background: #333; + color: #29d3b4; + padding: 2rpx 10rpx; + } + } + } + } + + .more-bar-wrapper { + width: 100%; + display: flex; + justify-content: center; + margin: 10rpx 0 0 0; + } + + .more-bar { + display: flex; + align-items: center; + color: #bdbdbd; + font-size: 22rpx; + cursor: pointer; + background: #333; + border-radius: 20rpx; + padding: 8rpx 24rpx; + } + + .course-list { + margin-top: 20rpx; + + .course-card { + background: #434544; + border-radius: 10rpx; + margin: 0 0 20rpx 0; + padding: 0 0 20rpx 0; + box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.08); + + .card-header { + display: flex; + justify-content: flex-end; + padding: 10rpx 20rpx 0 0; + + .status-end { + background: #e95c6b; + color: #fff; + border-radius: 10rpx; + padding: 4rpx 18rpx; + font-size: 22rpx; + } + } + + .card-body { + padding: 0 20rpx; + + .row { + color: #fff; + font-size: 24rpx; + margin: 8rpx 0; + } + } + + .card-footer { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 20rpx; + + .sign-info { + color: #bdbdbd; + font-size: 22rpx; + } + + .detail-btn { + background: transparent; + border: 2rpx solid #ffd86b; + color: #ffd86b; + border-radius: 8rpx; + padding: 6rpx 24rpx; + font-size: 24rpx; + margin-left: 10rpx; + } + } + } + } + \ No newline at end of file diff --git a/pages/market/clue/class_arrangement_detail.vue b/pages/market/clue/class_arrangement_detail.vue index 5a65e69..8e29894 100644 --- a/pages/market/clue/class_arrangement_detail.vue +++ b/pages/market/clue/class_arrangement_detail.vue @@ -1,148 +1,224 @@ \ No newline at end of file + .detail-root { + background: #232323; + min-height: 100vh; + padding-bottom: 30rpx; + } + + .header { + padding: 40rpx 30rpx 20rpx 30rpx; + + .title { + color: #fff; + font-size: 36rpx; + font-weight: bold; + } + + .date { + color: #29d3b4; + font-size: 26rpx; + margin-top: 10rpx; + } + } + + .section { + margin: 30rpx; + background: #434544; + border-radius: 16rpx; + padding: 30rpx 20rpx; + } + + .section-title { + color: #ffd86b; + font-size: 28rpx; + margin-bottom: 20rpx; + } + + .student-list { + display: flex; + flex-wrap: wrap; + gap: 20rpx; + } + + .student-item { + background: #333; + border-radius: 12rpx; + display: flex; + align-items: center; + padding: 18rpx 24rpx; + min-width: 260rpx; + + .avatar { + width: 60rpx; + height: 60rpx; + border-radius: 50%; + background: #29d3b4; + color: #fff; + display: flex; + align-items: center; + justify-content: center; + font-size: 32rpx; + margin-right: 18rpx; + } + + .info { + .name { + color: #fff; + font-size: 28rpx; + } + + .desc { + color: #bdbdbd; + font-size: 22rpx; + margin-top: 4rpx; + } + } + + &.empty { + border: 2rpx dashed #ffd86b; + background: #232323; + + .avatar.empty-avatar { + background: #ffd86b; + color: #232323; + font-size: 36rpx; + } + + .info .name { + color: #ffd86b; + } + + .info .desc { + color: #ffd86b; + } + } + } + \ No newline at end of file