From 7a9e757b4750de5bc2b430bb5e6f66a227fdcdd9 Mon Sep 17 00:00:00 2001 From: wangzeyan <258785420@qq.com> Date: Tue, 27 May 2025 20:08:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=92=E8=AF=BE=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/src/app/api/course.ts | 3 + admin/src/app/api/course_schedule.ts | 2 +- admin/src/app/api/customer_resources.ts | 4 + admin/src/app/lang/zh-cn/course.course.json | 10 +- .../course_schedule.course_schedule.json | 42 +- .../components/course-schedule-edit.vue | 390 ++++++++++++++---- .../views/course_schedule/course_schedule.vue | 184 ++++++--- .../timetables/components/schedule-add.vue | 288 ++++++++----- .../timetables/components/seat-selector.vue | 315 +++++++++++--- admin/src/app/views/timetables/timetables.vue | 23 +- admin/src/utils/timeslots.ts | 113 +++++ .../app/adminapi/controller/course/Course.php | 93 +++-- .../course_schedule/CourseSchedule.php | 101 ++--- .../customer_resources/CustomerResources.php | 195 +++++---- niucloud/app/adminapi/route/classroom.php | 2 +- niucloud/app/adminapi/route/course.php | 2 + .../app/adminapi/route/course_schedule.php | 2 + .../app/adminapi/route/customer_resources.php | 3 + .../model/course_schedule/CourseSchedule.php | 63 ++- niucloud/app/model/venue/Venue.php | 2 +- .../service/admin/course/CourseService.php | 10 +- .../course_schedule/CourseScheduleService.php | 172 ++++---- .../CustomerResourcesService.php | 139 ++++--- .../app/service/admin/venue/VenueService.php | 99 +++-- .../course_schedule/CourseSchedule.php | 6 +- 25 files changed, 1583 insertions(+), 680 deletions(-) create mode 100644 admin/src/utils/timeslots.ts diff --git a/admin/src/app/api/course.ts b/admin/src/app/api/course.ts index 09938cfd..d3bfcf95 100644 --- a/admin/src/app/api/course.ts +++ b/admin/src/app/api/course.ts @@ -56,4 +56,7 @@ export function deleteCourse(id: number) { }) } +export function getAllCourseList(params: Record) { + return request.get(`course/getAllCourseList`, { params }) +} // USER_CODE_END -- course diff --git a/admin/src/app/api/course_schedule.ts b/admin/src/app/api/course_schedule.ts index fc141be0..b9ab655b 100644 --- a/admin/src/app/api/course_schedule.ts +++ b/admin/src/app/api/course_schedule.ts @@ -62,7 +62,7 @@ export function deleteCourseSchedule(id: number) { * @returns */ export function getTimetables(params: Record) { - return request.get(`course_schedule/course_schedule/timetables`, { params }) + return request.get(`course_schedule/timetables`, { params }) } // USER_CODE_END -- course_schedule diff --git a/admin/src/app/api/customer_resources.ts b/admin/src/app/api/customer_resources.ts index bd5cba65..e43e8779 100644 --- a/admin/src/app/api/customer_resources.ts +++ b/admin/src/app/api/customer_resources.ts @@ -72,3 +72,7 @@ export function fpEdit(params: Record) { showSuccessMessage: true, }) } + +export function getWithCoachList(params: Record) { + return request.get('customer_resources/coach_person', { params }) +} diff --git a/admin/src/app/lang/zh-cn/course.course.json b/admin/src/app/lang/zh-cn/course.course.json index ee23f55d..1e9f94ba 100644 --- a/admin/src/app/lang/zh-cn/course.course.json +++ b/admin/src/app/lang/zh-cn/course.course.json @@ -23,5 +23,13 @@ "updateCourse": "编辑课程", "courseDeleteTips": "确定要删除该数据吗?", "startDate": "请选择开始时间", - "endDate": "请选择结束时间" + "endDate": "请选择结束时间", + "pending": "待开始", + "upcoming": "即将开始", + "ongoing": "进行中", + "completed": "已结束", + "autoSchedule": "自动排课", + "autoSchedulePlaceholder": "请选择是否自动排课", + "yes": "是", + "no": "否" } diff --git a/admin/src/app/lang/zh-cn/course_schedule.course_schedule.json b/admin/src/app/lang/zh-cn/course_schedule.course_schedule.json index 6b02e8a0..383fadd2 100644 --- a/admin/src/app/lang/zh-cn/course_schedule.course_schedule.json +++ b/admin/src/app/lang/zh-cn/course_schedule.course_schedule.json @@ -1,29 +1,37 @@ { "id": "课程安排编号", "idPlaceholder": "请输入课程安排编号", - "campusId": "校区ID", - "campusIdPlaceholder": "请输入校区ID", - "venueId": "场地ID", - "venueIdPlaceholder": "请输入场地ID", + "campusId": "校区", + "campusIdPlaceholder": "请选择校区", + "venueId": "场地", + "venueIdPlaceholder": "请选择场地", "courseDate": "上课日期", - "courseDatePlaceholder": "请输入上课日期", + "courseDatePlaceholder": "请选择上课日期", "timeSlot": "上课时段", - "timeSlotPlaceholder": "请输入上课时段", - "courseId": "课程ID", - "courseIdPlaceholder": "请输入课程ID", - "coachId": "上课教练ID", - "coachIdPlaceholder": "请输入上课教练ID", - "participants": "参与人员列表", - "participantsPlaceholder": "请输入参与人员列表", - "studentIds": "上课学生列表", - "studentIdsPlaceholder": "请输入上课学生列表", + "timeSlotPlaceholder": "请选择上课时段", + "courseId": "课程", + "courseIdPlaceholder": "请选择课程", + "coachId": "上课教练", + "coachIdPlaceholder": "请选择上课教练", + "participants": "参与人员", + "participantsPlaceholder": "请选择参与人员", + "studentIds": "参与学生", + "studentIdsPlaceholder": "请选择参与学生", "availableCapacity": "根据场地容量判断的可安排学员位置数量", "availableCapacityPlaceholder": "请输入根据场地容量判断的可安排学员位置数量", - "status": "课程状态:", - "statusPlaceholder": "请输入课程状态:", + "status": "课程状态", + "statusPlaceholder": "请选择课程状态", "addCourseSchedule": "添加课程安排", "updateCourseSchedule": "编辑课程安排", "courseScheduleDeleteTips": "确定要删除该数据吗?", "startDate": "请选择开始时间", - "endDate": "请选择结束时间" + "endDate": "请选择结束时间", + "pending": "待开始", + "upcoming": "即将开始", + "ongoing": "进行中", + "completed": "已结束", + "autoSchedule": "自动排课", + "autoSchedulePlaceholder": "请选择是否自动排课", + "yes": "是", + "no": "否" } diff --git a/admin/src/app/views/course_schedule/components/course-schedule-edit.vue b/admin/src/app/views/course_schedule/components/course-schedule-edit.vue index 8c7d63d8..4b106f05 100644 --- a/admin/src/app/views/course_schedule/components/course-schedule-edit.vue +++ b/admin/src/app/views/course_schedule/components/course-schedule-edit.vue @@ -15,93 +15,107 @@ v-loading="loading" > - + > + + - + > + + - - + style="width: 100%" + allow-create + filterable + > + + - + > + + - - - - - - - - - - - - - + > + + - - + + + {{ t('yes') }} + {{ t('no') }} + @@ -120,7 +134,7 @@ - + \ No newline at end of file diff --git a/admin/src/app/views/timetables/components/seat-selector.vue b/admin/src/app/views/timetables/components/seat-selector.vue index 6138f573..807367d0 100644 --- a/admin/src/app/views/timetables/components/seat-selector.vue +++ b/admin/src/app/views/timetables/components/seat-selector.vue @@ -1,20 +1,30 @@