diff --git a/admin/components.d.ts b/admin/components.d.ts
index a24ce0e0..3ebd5aca 100644
--- a/admin/components.d.ts
+++ b/admin/components.d.ts
@@ -17,7 +17,10 @@ declare module '@vue/runtime-core' {
ElButton: typeof import('element-plus/es')['ElButton']
ElCard: typeof import('element-plus/es')['ElCard']
ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
+ ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup']
ElCol: typeof import('element-plus/es')['ElCol']
+ ElCollapse: typeof import('element-plus/es')['ElCollapse']
+ ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem']
ElColorPicker: typeof import('element-plus/es')['ElColorPicker']
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
ElContainer: typeof import('element-plus/es')['ElContainer']
@@ -41,6 +44,8 @@ declare module '@vue/runtime-core' {
ElOption: typeof import('element-plus/es')['ElOption']
ElPagination: typeof import('element-plus/es')['ElPagination']
ElPopover: typeof import('element-plus/es')['ElPopover']
+ ElRadio: typeof import('element-plus/es')['ElRadio']
+ ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
ElRow: typeof import('element-plus/es')['ElRow']
ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
ElSelect: typeof import('element-plus/es')['ElSelect']
@@ -50,7 +55,9 @@ declare module '@vue/runtime-core' {
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
ElTabPane: typeof import('element-plus/es')['ElTabPane']
ElTabs: typeof import('element-plus/es')['ElTabs']
+ ElTag: typeof import('element-plus/es')['ElTag']
ElTooltip: typeof import('element-plus/es')['ElTooltip']
+ ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect']
ElUpload: typeof import('element-plus/es')['ElUpload']
ExportSure: typeof import('./src/components/export-sure/index.vue')['default']
HeatMap: typeof import('./src/components/heat-map/index.vue')['default']
diff --git a/admin/src/app/views/timetables/timetables.vue b/admin/src/app/views/timetables/timetables.vue
index 746bec0c..696d3502 100644
--- a/admin/src/app/views/timetables/timetables.vue
+++ b/admin/src/app/views/timetables/timetables.vue
@@ -12,23 +12,21 @@
+ 上一周
- 查询
+ 下一周
+ 查询
添加课程
@@ -102,54 +100,243 @@
}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ availableCapacity }}
+
+
+
+
+ 班级
+ 学员
+ 试课
+
+
+
+
+
+
+ {{ item.class_name }}
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
@@ -292,4 +667,17 @@ onMounted(() => {
.classroom-name {
margin-bottom: 5px;
}
+
+.week-picker {
+ width: 180px;
+}
+
+.student-checkbox-list {
+ max-height: 200px;
+ overflow-y: auto;
+ border: 1px solid #EBEEF5;
+ border-radius: 4px;
+ padding: 10px;
+ margin-top: 8px;
+}
diff --git a/niucloud/app/adminapi/controller/course_schedule/CourseSchedule.php b/niucloud/app/adminapi/controller/course_schedule/CourseSchedule.php
index 8f7510a1..ebff1ef5 100644
--- a/niucloud/app/adminapi/controller/course_schedule/CourseSchedule.php
+++ b/niucloud/app/adminapi/controller/course_schedule/CourseSchedule.php
@@ -123,4 +123,11 @@ class CourseSchedule extends BaseAdminController
]);
return success((new CourseScheduleService())->getTimetables($data));
}
+ public function getCampusVenue()
+ {
+ $data = $this->request->params([
+ ["campus_id", ""],
+ ]);
+ return success((new CourseScheduleService())->getCampusVenue($data));
+ }
}
diff --git a/niucloud/app/adminapi/route/course_schedule.php b/niucloud/app/adminapi/route/course_schedule.php
index 2f53222f..0f7e8671 100644
--- a/niucloud/app/adminapi/route/course_schedule.php
+++ b/niucloud/app/adminapi/route/course_schedule.php
@@ -29,6 +29,8 @@ Route::group('course_schedule', function () {
Route::put('course_schedule/:id', 'course_schedule.CourseSchedule/edit');
//删除课程安排
Route::delete('course_schedule/:id', 'course_schedule.CourseSchedule/del');
+ //获取校区下的场地
+ Route::get('campus_venue', 'course_schedule.CourseSchedule/getCampusVenue');
})->middleware([
AdminCheckToken::class,
diff --git a/niucloud/app/service/admin/course_schedule/CourseScheduleService.php b/niucloud/app/service/admin/course_schedule/CourseScheduleService.php
index 6ac616e0..dda4e156 100644
--- a/niucloud/app/service/admin/course_schedule/CourseScheduleService.php
+++ b/niucloud/app/service/admin/course_schedule/CourseScheduleService.php
@@ -121,15 +121,7 @@ class CourseScheduleService extends BaseAdminService
// 查询指定日期范围内的课程安排
$schedules = $this->model->where($query_condition)->select()->toArray();
-
- // 检查是否需要自动创建课程安排记录
- $need_auto_create = empty($schedules) && $campus_id > 0;
-
- // 如果需要自动创建记录
- if ($need_auto_create) {
- $schedules = $this->autoCreateSchedules($start_date, $end_date, $campus_id);
- }
-
+
// 获取所有相关的人员课程安排关系
$schedule_ids = array_column($schedules, 'id');
$person_schedules = [];
@@ -279,4 +271,9 @@ class CourseScheduleService extends BaseAdminService
return $schedules;
}
+
+ public function getCampusVenue($id)
+ {
+ return $this->model->where('availability_status', 1)->where('campus_id',$id)->select();
+ }
}