diff --git a/admin/components.d.ts b/admin/components.d.ts index fda0a77e..2b5fc725 100644 --- a/admin/components.d.ts +++ b/admin/components.d.ts @@ -56,7 +56,6 @@ 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'] ElTree: typeof import('element-plus/es')['ElTree'] ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect'] diff --git a/admin/src/addon/zhjw/api/assignments.ts b/admin/src/addon/zhjw/api/assignments.ts new file mode 100644 index 00000000..dbb800e8 --- /dev/null +++ b/admin/src/addon/zhjw/api/assignments.ts @@ -0,0 +1,58 @@ +import request from '@/utils/request' + +// USER_CODE_BEGIN -- zhjw_assignments +/** + * 获取作业管理列表 + * @param params + * @returns + */ +export function getAssignmentsList(params: Record) { + return request.get(`zhjw/assignments`, {params}) +} + +/** + * 获取作业管理详情 + * @param id 作业管理id + * @returns + */ +export function getAssignmentsInfo(id: number) { + return request.get(`zhjw/assignments/${id}`); +} + +/** + * 添加作业管理 + * @param params + * @returns + */ +export function addAssignments(params: Record) { + return request.post('zhjw/assignments', params, { showErrorMessage: true, showSuccessMessage: true }) +} + +/** + * 编辑作业管理 + * @param id + * @param params + * @returns + */ +export function editAssignments(params: Record) { + return request.put(`zhjw/assignments/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) +} + +/** + * 删除作业管理 + * @param id + * @returns + */ +export function deleteAssignments(id: number) { + return request.delete(`zhjw/assignments/${id}`, { showErrorMessage: true, showSuccessMessage: true }) +} + +export function getWithStudentsList(params: Record){ + return request.get('zhjw/students_all', {params}) +}export function getWithClassesList(params: Record){ + return request.get('zhjw/classes_all', {params}) +}export function getWithStaffList(params: Record){ + return request.get('zhjw/staff_all', {params}) +} + +// USER_CODE_END -- zhjw_assignments diff --git a/admin/src/addon/zhjw/api/schedules.ts b/admin/src/addon/zhjw/api/schedules.ts new file mode 100644 index 00000000..9091fcd5 --- /dev/null +++ b/admin/src/addon/zhjw/api/schedules.ts @@ -0,0 +1,58 @@ +import request from '@/utils/request' + + + +// USER_CODE_BEGIN -- zhjw_schedules +/** + * 获取排班管理列表 + * @param params + * @returns + */ +export function getSchedulesList(params: Record) { + return request.get(`zhjw/schedules`, {params}) +} + +/** + * 获取排班管理详情 + * @param id 排班管理id + * @returns + */ +export function getSchedulesInfo(id: number) { + return request.get(`zhjw/schedules/${id}`); +} + +/** + * 添加排班管理 + * @param params + * @returns + */ +export function addSchedules(params: Record) { + return request.post('zhjw/schedules', params, { showErrorMessage: true, showSuccessMessage: true }) +} + +/** + * 编辑排班管理 + * @param id + * @param params + * @returns + */ +export function editSchedules(params: Record) { + return request.put(`zhjw/schedules/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) +} + +/** + * 删除排班管理 + * @param id + * @returns + */ +export function deleteSchedules(id: number) { + return request.delete(`zhjw/schedules/${id}`, { showErrorMessage: true, showSuccessMessage: true }) +} + +export function getWithStaffList(params: Record){ + return request.get('zhjw/staff_all', {params}) +}export function getWithClassesList(params: Record){ + return request.get('zhjw/classes_all', {params}) +} + +// USER_CODE_END -- zhjw_schedules diff --git a/admin/src/addon/zhjw/lang/zh-cn/assignments.assignments.json b/admin/src/addon/zhjw/lang/zh-cn/assignments.assignments.json new file mode 100644 index 00000000..0442e7e1 --- /dev/null +++ b/admin/src/addon/zhjw/lang/zh-cn/assignments.assignments.json @@ -0,0 +1,26 @@ +{ + "id":"序号", + "idPlaceholder":"请输入序号", + "studentId":"学员", + "studentIdPlaceholder":"全部", + "classId":"班级", + "classIdPlaceholder":"全部", + "staffId":"批改教练", + "staffIdPlaceholder":"全部", + "contentType":"作业类型", + "contentTypePlaceholder":"请输入作业类型", + "submitTime":"提交时间", + "submitTimePlaceholder":"请输入提交时间", + "score":"评分", + "scorePlaceholder":"请输入评分", + "status":"状态", + "statusPlaceholder":"请输入状态", + "createTime":"添加时间", + "createTimePlaceholder":"请输入添加时间", + "updateTime":"更新时间", + "addAssignments":"添加作业管理", + "updateAssignments":"编辑作业管理", + "assignmentsDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/addon/zhjw/lang/zh-cn/assignments.assignments_edit.json b/admin/src/addon/zhjw/lang/zh-cn/assignments.assignments_edit.json new file mode 100644 index 00000000..0a14e25d --- /dev/null +++ b/admin/src/addon/zhjw/lang/zh-cn/assignments.assignments_edit.json @@ -0,0 +1,23 @@ +{ + "studentId":"学员", + "classId":"班级", + "staffId":"批改教练", + "contentType":"作业类型", + "content":"图片或视频附件", + "contentText":"文字作业内容", + "submitTime":"提交时间", + "score":"评分", + "status":"状态", + "studentIdPlaceholder":"请选择学员", + "classIdPlaceholder":"请选择班级", + "staffIdPlaceholder":"请选择批改教练", + "contentTypePlaceholder":"请选择作业类型", + "contentPlaceholder":"请输入图片或视频附件", + "contentTextPlaceholder":"请输入文字作业内容", + "submitTimePlaceholder":"请选择提交时间", + "scorePlaceholder":"请输入评分", + "statusPlaceholder":"请选择状态", + "addAssignments":"添加作业管理", + "updateAssignments":"编辑作业管理", + "assignmentsDeleteTips":"确定要删除该作业管理吗?" +} \ No newline at end of file diff --git a/admin/src/addon/zhjw/lang/zh-cn/schedules.schedules.json b/admin/src/addon/zhjw/lang/zh-cn/schedules.schedules.json new file mode 100644 index 00000000..e5fd3405 --- /dev/null +++ b/admin/src/addon/zhjw/lang/zh-cn/schedules.schedules.json @@ -0,0 +1,20 @@ +{ + "id":"序号", + "staffId":"人员", + "staffIdPlaceholder":"全部", + "classId":"班级", + "classIdPlaceholder":"全部", + "dateTime":"排班日期", + "dateTimePlaceholder":"请输入排班日期", + "timeSlot":"时间段", + "task":"任务描述", + "taskPlaceholder":"请输入任务描述", + "createTime":"添加时间", + "createTimePlaceholder":"请输入添加时间", + "updateTime":"更新时间", + "addSchedules":"添加排班管理", + "updateSchedules":"编辑排班管理", + "schedulesDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/addon/zhjw/lang/zh-cn/schedules.schedules_edit.json b/admin/src/addon/zhjw/lang/zh-cn/schedules.schedules_edit.json new file mode 100644 index 00000000..2ca95e0a --- /dev/null +++ b/admin/src/addon/zhjw/lang/zh-cn/schedules.schedules_edit.json @@ -0,0 +1,15 @@ +{ + "staffId":"人员", + "classId":"班级", + "dateTime":"排班日期", + "timeSlot":"时间段", + "task":"任务描述", + "staffIdPlaceholder":"请选择人员", + "classIdPlaceholder":"请选择班级", + "dateTimePlaceholder":"请选择排班日期", + "timeSlotPlaceholder":"请输入时间段", + "taskPlaceholder":"请输入任务描述", + "addSchedules":"添加排班管理", + "updateSchedules":"编辑排班管理", + "schedulesDeleteTips":"确定要删除该排班管理吗?" +} \ No newline at end of file diff --git a/admin/src/addon/zhjw/views/assignments/assignments.vue b/admin/src/addon/zhjw/views/assignments/assignments.vue new file mode 100644 index 00000000..9c06b113 --- /dev/null +++ b/admin/src/addon/zhjw/views/assignments/assignments.vue @@ -0,0 +1,297 @@ + + + + + diff --git a/admin/src/addon/zhjw/views/assignments/assignments_edit.vue b/admin/src/addon/zhjw/views/assignments/assignments_edit.vue new file mode 100644 index 00000000..f3419310 --- /dev/null +++ b/admin/src/addon/zhjw/views/assignments/assignments_edit.vue @@ -0,0 +1,291 @@ + + + + + diff --git a/admin/src/addon/zhjw/views/schedules/schedules.vue b/admin/src/addon/zhjw/views/schedules/schedules.vue new file mode 100644 index 00000000..30f78e1f --- /dev/null +++ b/admin/src/addon/zhjw/views/schedules/schedules.vue @@ -0,0 +1,224 @@ + + + + + diff --git a/admin/src/addon/zhjw/views/schedules/schedules_edit.vue b/admin/src/addon/zhjw/views/schedules/schedules_edit.vue new file mode 100644 index 00000000..34e2921e --- /dev/null +++ b/admin/src/addon/zhjw/views/schedules/schedules_edit.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/niucloud/addon/zhjw/admin/api/assignments.ts b/niucloud/addon/zhjw/admin/api/assignments.ts new file mode 100644 index 00000000..dbb800e8 --- /dev/null +++ b/niucloud/addon/zhjw/admin/api/assignments.ts @@ -0,0 +1,58 @@ +import request from '@/utils/request' + +// USER_CODE_BEGIN -- zhjw_assignments +/** + * 获取作业管理列表 + * @param params + * @returns + */ +export function getAssignmentsList(params: Record) { + return request.get(`zhjw/assignments`, {params}) +} + +/** + * 获取作业管理详情 + * @param id 作业管理id + * @returns + */ +export function getAssignmentsInfo(id: number) { + return request.get(`zhjw/assignments/${id}`); +} + +/** + * 添加作业管理 + * @param params + * @returns + */ +export function addAssignments(params: Record) { + return request.post('zhjw/assignments', params, { showErrorMessage: true, showSuccessMessage: true }) +} + +/** + * 编辑作业管理 + * @param id + * @param params + * @returns + */ +export function editAssignments(params: Record) { + return request.put(`zhjw/assignments/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) +} + +/** + * 删除作业管理 + * @param id + * @returns + */ +export function deleteAssignments(id: number) { + return request.delete(`zhjw/assignments/${id}`, { showErrorMessage: true, showSuccessMessage: true }) +} + +export function getWithStudentsList(params: Record){ + return request.get('zhjw/students_all', {params}) +}export function getWithClassesList(params: Record){ + return request.get('zhjw/classes_all', {params}) +}export function getWithStaffList(params: Record){ + return request.get('zhjw/staff_all', {params}) +} + +// USER_CODE_END -- zhjw_assignments diff --git a/niucloud/addon/zhjw/admin/api/schedules.ts b/niucloud/addon/zhjw/admin/api/schedules.ts new file mode 100644 index 00000000..9091fcd5 --- /dev/null +++ b/niucloud/addon/zhjw/admin/api/schedules.ts @@ -0,0 +1,58 @@ +import request from '@/utils/request' + + + +// USER_CODE_BEGIN -- zhjw_schedules +/** + * 获取排班管理列表 + * @param params + * @returns + */ +export function getSchedulesList(params: Record) { + return request.get(`zhjw/schedules`, {params}) +} + +/** + * 获取排班管理详情 + * @param id 排班管理id + * @returns + */ +export function getSchedulesInfo(id: number) { + return request.get(`zhjw/schedules/${id}`); +} + +/** + * 添加排班管理 + * @param params + * @returns + */ +export function addSchedules(params: Record) { + return request.post('zhjw/schedules', params, { showErrorMessage: true, showSuccessMessage: true }) +} + +/** + * 编辑排班管理 + * @param id + * @param params + * @returns + */ +export function editSchedules(params: Record) { + return request.put(`zhjw/schedules/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) +} + +/** + * 删除排班管理 + * @param id + * @returns + */ +export function deleteSchedules(id: number) { + return request.delete(`zhjw/schedules/${id}`, { showErrorMessage: true, showSuccessMessage: true }) +} + +export function getWithStaffList(params: Record){ + return request.get('zhjw/staff_all', {params}) +}export function getWithClassesList(params: Record){ + return request.get('zhjw/classes_all', {params}) +} + +// USER_CODE_END -- zhjw_schedules diff --git a/niucloud/addon/zhjw/admin/lang/zh-cn/assignments.assignments.json b/niucloud/addon/zhjw/admin/lang/zh-cn/assignments.assignments.json new file mode 100644 index 00000000..0442e7e1 --- /dev/null +++ b/niucloud/addon/zhjw/admin/lang/zh-cn/assignments.assignments.json @@ -0,0 +1,26 @@ +{ + "id":"序号", + "idPlaceholder":"请输入序号", + "studentId":"学员", + "studentIdPlaceholder":"全部", + "classId":"班级", + "classIdPlaceholder":"全部", + "staffId":"批改教练", + "staffIdPlaceholder":"全部", + "contentType":"作业类型", + "contentTypePlaceholder":"请输入作业类型", + "submitTime":"提交时间", + "submitTimePlaceholder":"请输入提交时间", + "score":"评分", + "scorePlaceholder":"请输入评分", + "status":"状态", + "statusPlaceholder":"请输入状态", + "createTime":"添加时间", + "createTimePlaceholder":"请输入添加时间", + "updateTime":"更新时间", + "addAssignments":"添加作业管理", + "updateAssignments":"编辑作业管理", + "assignmentsDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/niucloud/addon/zhjw/admin/lang/zh-cn/assignments.assignments_edit.json b/niucloud/addon/zhjw/admin/lang/zh-cn/assignments.assignments_edit.json new file mode 100644 index 00000000..0a14e25d --- /dev/null +++ b/niucloud/addon/zhjw/admin/lang/zh-cn/assignments.assignments_edit.json @@ -0,0 +1,23 @@ +{ + "studentId":"学员", + "classId":"班级", + "staffId":"批改教练", + "contentType":"作业类型", + "content":"图片或视频附件", + "contentText":"文字作业内容", + "submitTime":"提交时间", + "score":"评分", + "status":"状态", + "studentIdPlaceholder":"请选择学员", + "classIdPlaceholder":"请选择班级", + "staffIdPlaceholder":"请选择批改教练", + "contentTypePlaceholder":"请选择作业类型", + "contentPlaceholder":"请输入图片或视频附件", + "contentTextPlaceholder":"请输入文字作业内容", + "submitTimePlaceholder":"请选择提交时间", + "scorePlaceholder":"请输入评分", + "statusPlaceholder":"请选择状态", + "addAssignments":"添加作业管理", + "updateAssignments":"编辑作业管理", + "assignmentsDeleteTips":"确定要删除该作业管理吗?" +} \ No newline at end of file diff --git a/niucloud/addon/zhjw/admin/lang/zh-cn/schedules.schedules.json b/niucloud/addon/zhjw/admin/lang/zh-cn/schedules.schedules.json new file mode 100644 index 00000000..e5fd3405 --- /dev/null +++ b/niucloud/addon/zhjw/admin/lang/zh-cn/schedules.schedules.json @@ -0,0 +1,20 @@ +{ + "id":"序号", + "staffId":"人员", + "staffIdPlaceholder":"全部", + "classId":"班级", + "classIdPlaceholder":"全部", + "dateTime":"排班日期", + "dateTimePlaceholder":"请输入排班日期", + "timeSlot":"时间段", + "task":"任务描述", + "taskPlaceholder":"请输入任务描述", + "createTime":"添加时间", + "createTimePlaceholder":"请输入添加时间", + "updateTime":"更新时间", + "addSchedules":"添加排班管理", + "updateSchedules":"编辑排班管理", + "schedulesDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/niucloud/addon/zhjw/admin/lang/zh-cn/schedules.schedules_edit.json b/niucloud/addon/zhjw/admin/lang/zh-cn/schedules.schedules_edit.json new file mode 100644 index 00000000..2ca95e0a --- /dev/null +++ b/niucloud/addon/zhjw/admin/lang/zh-cn/schedules.schedules_edit.json @@ -0,0 +1,15 @@ +{ + "staffId":"人员", + "classId":"班级", + "dateTime":"排班日期", + "timeSlot":"时间段", + "task":"任务描述", + "staffIdPlaceholder":"请选择人员", + "classIdPlaceholder":"请选择班级", + "dateTimePlaceholder":"请选择排班日期", + "timeSlotPlaceholder":"请输入时间段", + "taskPlaceholder":"请输入任务描述", + "addSchedules":"添加排班管理", + "updateSchedules":"编辑排班管理", + "schedulesDeleteTips":"确定要删除该排班管理吗?" +} \ No newline at end of file diff --git a/niucloud/addon/zhjw/admin/views/assignments/assignments.vue b/niucloud/addon/zhjw/admin/views/assignments/assignments.vue new file mode 100644 index 00000000..9c06b113 --- /dev/null +++ b/niucloud/addon/zhjw/admin/views/assignments/assignments.vue @@ -0,0 +1,297 @@ + + + + + diff --git a/niucloud/addon/zhjw/admin/views/assignments/assignments_edit.vue b/niucloud/addon/zhjw/admin/views/assignments/assignments_edit.vue new file mode 100644 index 00000000..f3419310 --- /dev/null +++ b/niucloud/addon/zhjw/admin/views/assignments/assignments_edit.vue @@ -0,0 +1,291 @@ + + + + + diff --git a/niucloud/addon/zhjw/admin/views/schedules/schedules.vue b/niucloud/addon/zhjw/admin/views/schedules/schedules.vue new file mode 100644 index 00000000..30f78e1f --- /dev/null +++ b/niucloud/addon/zhjw/admin/views/schedules/schedules.vue @@ -0,0 +1,224 @@ + + + + + diff --git a/niucloud/addon/zhjw/admin/views/schedules/schedules_edit.vue b/niucloud/addon/zhjw/admin/views/schedules/schedules_edit.vue new file mode 100644 index 00000000..34e2921e --- /dev/null +++ b/niucloud/addon/zhjw/admin/views/schedules/schedules_edit.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/niucloud/addon/zhjw/app/adminapi/controller/assignments/Assignments.php b/niucloud/addon/zhjw/app/adminapi/controller/assignments/Assignments.php new file mode 100644 index 00000000..8e50c9d8 --- /dev/null +++ b/niucloud/addon/zhjw/app/adminapi/controller/assignments/Assignments.php @@ -0,0 +1,120 @@ +request->params([ + ["student_id",""], + ["class_id",""], + ["staff_id",""], + ["content_type",""], + ["submit_time",["",""]], + ["score",["",""]], + ["status",""], + ["create_time",["",""]] + ]); + return success((new AssignmentsService())->getPage($data)); + } + + /** + * 作业管理详情 + * @param int $id + * @return \think\Response + */ + public function info(int $id){ + return success((new AssignmentsService())->getInfo($id)); + } + + /** + * 添加作业管理 + * @return \think\Response + */ + public function add(){ + $data = $this->request->params([ + ["student_id",0], + ["class_id",0], + ["staff_id",0], + ["content_type",""], + ["content",""], + ["content_text",""], + ["submit_time","2025-03-06 15:05:34"], + ["score",0.00], + ["status",""], + + ]); + $this->validate($data, 'addon\zhjw\app\validate\assignments\Assignments.add'); + $id = (new AssignmentsService())->add($data); + return success('ADD_SUCCESS', ['id' => $id]); + } + + /** + * 作业管理编辑 + * @param $id 作业管理id + * @return \think\Response + */ + public function edit(int $id){ + $data = $this->request->params([ + ["student_id",0], + ["class_id",0], + ["staff_id",0], + ["content_type",""], + ["content",""], + ["content_text",""], + ["submit_time","2025-03-06 15:05:34"], + ["score",0.00], + ["status",""], + + ]); + $this->validate($data, 'addon\zhjw\app\validate\assignments\Assignments.edit'); + (new AssignmentsService())->edit($id, $data); + return success('EDIT_SUCCESS'); + } + + /** + * 作业管理删除 + * @param $id 作业管理id + * @return \think\Response + */ + public function del(int $id){ + (new AssignmentsService())->del($id); + return success('DELETE_SUCCESS'); + } + + + public function getStudentsAll(){ + return success(( new AssignmentsService())->getStudentsAll()); + } + + public function getClassesAll(){ + return success(( new AssignmentsService())->getClassesAll()); + } + + public function getStaffAll(){ + return success(( new AssignmentsService())->getStaffAll()); + } + +} diff --git a/niucloud/addon/zhjw/app/adminapi/controller/schedules/Schedules.php b/niucloud/addon/zhjw/app/adminapi/controller/schedules/Schedules.php new file mode 100644 index 00000000..5f26ae57 --- /dev/null +++ b/niucloud/addon/zhjw/app/adminapi/controller/schedules/Schedules.php @@ -0,0 +1,105 @@ +request->params([ + ["staff_id",""], + ["class_id",""], + ["date_time",["",""]], + ["task",""], + ["create_time",["",""]] + ]); + return success((new SchedulesService())->getPage($data)); + } + + /** + * 排班管理详情 + * @param int $id + * @return \think\Response + */ + public function info(int $id){ + return success((new SchedulesService())->getInfo($id)); + } + + /** + * 添加排班管理 + * @return \think\Response + */ + public function add(){ + $data = $this->request->params([ + ["staff_id",0], + ["class_id",0], + ["date_time","2025-03-06 15:10:47"], + ["time_slot",""], + ["task",""], + + ]); + $this->validate($data, 'addon\zhjw\app\validate\schedules\Schedules.add'); + $id = (new SchedulesService())->add($data); + return success('ADD_SUCCESS', ['id' => $id]); + } + + /** + * 排班管理编辑 + * @param $id 排班管理id + * @return \think\Response + */ + public function edit(int $id){ + $data = $this->request->params([ + ["staff_id",0], + ["class_id",0], + ["date_time","2025-03-06 15:10:47"], + ["time_slot",""], + ["task",""], + + ]); + $this->validate($data, 'addon\zhjw\app\validate\schedules\Schedules.edit'); + (new SchedulesService())->edit($id, $data); + return success('EDIT_SUCCESS'); + } + + /** + * 排班管理删除 + * @param $id 排班管理id + * @return \think\Response + */ + public function del(int $id){ + (new SchedulesService())->del($id); + return success('DELETE_SUCCESS'); + } + + + public function getStaffAll(){ + return success(( new SchedulesService())->getStaffAll()); + } + + public function getClassesAll(){ + return success(( new SchedulesService())->getClassesAll()); + } + +} diff --git a/niucloud/addon/zhjw/app/adminapi/route/route.php b/niucloud/addon/zhjw/app/adminapi/route/route.php index cd92ee6f..2d026c84 100644 --- a/niucloud/addon/zhjw/app/adminapi/route/route.php +++ b/niucloud/addon/zhjw/app/adminapi/route/route.php @@ -203,3 +203,58 @@ Route::group('zhjw', function () { AdminLog::class ]); // USER_CODE_END -- courses + +// USER_CODE_BEGIN -- zhjw_assignments + +Route::group('zhjw', function () { + + //作业管理列表 + Route::get('assignments', 'addon\zhjw\app\adminapi\controller\assignments\Assignments@lists'); + //作业管理详情 + Route::get('assignments/:id', 'addon\zhjw\app\adminapi\controller\assignments\Assignments@info'); + //添加作业管理 + Route::post('assignments', 'addon\zhjw\app\adminapi\controller\assignments\Assignments@add'); + //编辑作业管理 + Route::put('assignments/:id', 'addon\zhjw\app\adminapi\controller\assignments\Assignments@edit'); + //删除作业管理 + Route::delete('assignments/:id', 'addon\zhjw\app\adminapi\controller\assignments\Assignments@del'); + + Route::get('students_all','addon\zhjw\app\adminapi\controller\assignments\Assignments@getStudentsAll'); + + Route::get('classes_all','addon\zhjw\app\adminapi\controller\assignments\Assignments@getClassesAll'); + + Route::get('staff_all','addon\zhjw\app\adminapi\controller\assignments\Assignments@getStaffAll'); + +})->middleware([ + AdminCheckToken::class, + AdminCheckRole::class, + AdminLog::class +]); +// USER_CODE_END -- zhjw_assignments + + +// USER_CODE_BEGIN -- zhjw_schedules + +Route::group('zhjw', function () { + + //排班管理列表 + Route::get('schedules', 'addon\zhjw\app\adminapi\controller\schedules\Schedules@lists'); + //排班管理详情 + Route::get('schedules/:id', 'addon\zhjw\app\adminapi\controller\schedules\Schedules@info'); + //添加排班管理 + Route::post('schedules', 'addon\zhjw\app\adminapi\controller\schedules\Schedules@add'); + //编辑排班管理 + Route::put('schedules/:id', 'addon\zhjw\app\adminapi\controller\schedules\Schedules@edit'); + //删除排班管理 + Route::delete('schedules/:id', 'addon\zhjw\app\adminapi\controller\schedules\Schedules@del'); + + Route::get('staff_all','addon\zhjw\app\adminapi\controller\schedules\Schedules@getStaffAll'); + + Route::get('classes_all','addon\zhjw\app\adminapi\controller\schedules\Schedules@getClassesAll'); + +})->middleware([ + AdminCheckToken::class, + AdminCheckRole::class, + AdminLog::class +]); +// USER_CODE_END -- zhjw_schedules diff --git a/niucloud/addon/zhjw/app/model/assignments/Assignments.php b/niucloud/addon/zhjw/app/model/assignments/Assignments.php new file mode 100644 index 00000000..8bcce153 --- /dev/null +++ b/niucloud/addon/zhjw/app/model/assignments/Assignments.php @@ -0,0 +1,202 @@ +where("id", $value); + } + } + + /** + * 搜索器:作业管理学员 + * @param $value + * @param $data + */ + public function searchStudentIdAttr($query, $value, $data) + { + if ($value) { + $query->where("student_id", $value); + } + } + + /** + * 搜索器:作业管理班级 + * @param $value + * @param $data + */ + public function searchClassIdAttr($query, $value, $data) + { + if ($value) { + $query->where("class_id", $value); + } + } + + /** + * 搜索器:作业管理批改教练 + * @param $value + * @param $data + */ + public function searchStaffIdAttr($query, $value, $data) + { + if ($value) { + $query->where("staff_id", $value); + } + } + + /** + * 搜索器:作业管理作业类型 + * @param $value + * @param $data + */ + public function searchContentTypeAttr($query, $value, $data) + { + if ($value) { + $query->where("content_type", $value); + } + } + + /** + * 搜索器:作业管理提交时间 + * @param $value + * @param $data + */ + public function searchSubmitTimeAttr($query, $value, $data) + { + $start = empty($value[0]) ? 0 : strtotime($value[0]); + $end = empty($value[1]) ? 0 : strtotime($value[1]); + if ($start > 0 && $end > 0) { + $query->where([["submit_time", "between", [$start, $end]]]); + } else if ($start > 0 && $end == 0) { + $query->where([["submit_time", ">=", $start]]); + } else if ($start == 0 && $end > 0) { + $query->where([["submit_time", "<=", $end]]); + } + } + + /** + * 搜索器:作业管理评分 + * @param $value + * @param $data + */ + public function searchScoreAttr($query, $value, $data) + { + $start = empty($value[0]) ? 0 : $value[0]; + $end = empty($value[1]) ? 0 : $value[1]; + if ($start > 0 && $end > 0) { + $query->where([["score", "between", [$start, $end]]]); + } else if ($start > 0 && $end == 0) { + $query->where([["score", ">=", $start]]); + } else if ($start == 0 && $end > 0) { + $query->where([["score", "<=", $end]]); + } + } + + /** + * 搜索器:作业管理状态 + * @param $value + * @param $data + */ + public function searchStatusAttr($query, $value, $data) + { + if ($value) { + $query->where("status", $value); + } + } + + /** + * 搜索器:作业管理添加时间 + * @param $value + * @param $data + */ + public function searchCreateTimeAttr($query, $value, $data) + { + $start = empty($value[0]) ? 0 : strtotime($value[0]); + $end = empty($value[1]) ? 0 : strtotime($value[1]); + if ($start > 0 && $end > 0) { + $query->where([["create_time", "between", [$start, $end]]]); + } else if ($start > 0 && $end == 0) { + $query->where([["create_time", ">=", $start]]); + } else if ($start == 0 && $end > 0) { + $query->where([["create_time", "<=", $end]]); + } + } + + + + + + + public function students(){ + return $this->hasOne(Students::class, 'id', 'student_id')->joinType('left')->withField('name,id')->bind(['student_id_name'=>'name']); + } + + public function classes(){ + return $this->hasOne(Classes::class, 'id', 'class_id')->joinType('left')->withField('name,id')->bind(['class_id_name'=>'name']); + } + + public function staff(){ + return $this->hasOne(Staff::class, 'id', 'staff_id')->joinType('left')->withField('name,id')->bind(['staff_id_name'=>'name']); + } + +} diff --git a/niucloud/addon/zhjw/app/model/schedules/Schedules.php b/niucloud/addon/zhjw/app/model/schedules/Schedules.php new file mode 100644 index 00000000..ffd93c56 --- /dev/null +++ b/niucloud/addon/zhjw/app/model/schedules/Schedules.php @@ -0,0 +1,142 @@ +where("staff_id", $value); + } + } + + /** + * 搜索器:排班管理班级 + * @param $value + * @param $data + */ + public function searchClassIdAttr($query, $value, $data) + { + if ($value) { + $query->where("class_id", $value); + } + } + + /** + * 搜索器:排班管理排班日期 + * @param $value + * @param $data + */ + public function searchDateTimeAttr($query, $value, $data) + { + $start = empty($value[0]) ? 0 : strtotime($value[0]); + $end = empty($value[1]) ? 0 : strtotime($value[1]); + if ($start > 0 && $end > 0) { + $query->where([["date_time", "between", [$start, $end]]]); + } else if ($start > 0 && $end == 0) { + $query->where([["date_time", ">=", $start]]); + } else if ($start == 0 && $end > 0) { + $query->where([["date_time", "<=", $end]]); + } + } + + /** + * 搜索器:排班管理任务描述 + * @param $value + * @param $data + */ + public function searchTaskAttr($query, $value, $data) + { + if ($value) { + $query->where("task", $value); + } + } + + /** + * 搜索器:排班管理添加时间 + * @param $value + * @param $data + */ + public function searchCreateTimeAttr($query, $value, $data) + { + $start = empty($value[0]) ? 0 : strtotime($value[0]); + $end = empty($value[1]) ? 0 : strtotime($value[1]); + if ($start > 0 && $end > 0) { + $query->where([["create_time", "between", [$start, $end]]]); + } else if ($start > 0 && $end == 0) { + $query->where([["create_time", ">=", $start]]); + } else if ($start == 0 && $end > 0) { + $query->where([["create_time", "<=", $end]]); + } + } + + + + + + + public function staff(){ + return $this->hasOne(Staff::class, 'id', 'staff_id')->joinType('left')->withField('name,id')->bind(['staff_id_name'=>'name']); + } + + public function classes(){ + return $this->hasOne(Classes::class, 'id', 'class_id')->joinType('left')->withField('name,id')->bind(['class_id_name'=>'name']); + } + +} diff --git a/niucloud/addon/zhjw/app/service/admin/assignments/AssignmentsService.php b/niucloud/addon/zhjw/app/service/admin/assignments/AssignmentsService.php new file mode 100644 index 00000000..b203afdb --- /dev/null +++ b/niucloud/addon/zhjw/app/service/admin/assignments/AssignmentsService.php @@ -0,0 +1,117 @@ +model = new Assignments(); + } + + /** + * 获取作业管理列表 + * @param array $where + * @return array + */ + public function getPage(array $where = []) + { + $field = 'id,student_id,class_id,staff_id,content_type,content,content_text,submit_time,score,status,is_deleted,create_time,update_time,created_by,created_role,updated_by,updated_role'; + $order = 'id desc'; + + $search_model = $this->model->withSearch(["id","student_id","class_id","staff_id","content_type","submit_time","score","status","create_time"], $where)->with(['students','classes','staff'])->field($field)->order($order); + $list = $this->pageQuery($search_model); + return $list; + } + + /** + * 获取作业管理信息 + * @param int $id + * @return array + */ + public function getInfo(int $id) + { + $field = 'id,student_id,class_id,staff_id,content_type,content,content_text,submit_time,score,status,is_deleted,create_time,update_time,created_by,created_role,updated_by,updated_role'; + + $info = $this->model->field($field)->where([['id', "=", $id]])->with(['students','classes','staff'])->findOrEmpty()->toArray(); + return $info; + } + + /** + * 添加作业管理 + * @param array $data + * @return mixed + */ + public function add(array $data) + { + $res = $this->model->create($data); + return $res->id; + + } + + /** + * 作业管理编辑 + * @param int $id + * @param array $data + * @return bool + */ + public function edit(int $id, array $data) + { + + $this->model->where([['id', '=', $id]])->update($data); + return true; + } + + /** + * 删除作业管理 + * @param int $id + * @return bool + */ + public function del(int $id) + { + $model = $this->model->where([['id', '=', $id]])->find(); + $res = $model->delete(); + return $res; + } + + + public function getStudentsAll(){ + $studentsModel = new Students(); + return $studentsModel->select()->toArray(); + } + + public function getClassesAll(){ + $classesModel = new Classes(); + return $classesModel->select()->toArray(); + } + + public function getStaffAll(){ + $staffModel = new Staff(); + return $staffModel->select()->toArray(); + } + + +} diff --git a/niucloud/addon/zhjw/app/service/admin/schedules/SchedulesService.php b/niucloud/addon/zhjw/app/service/admin/schedules/SchedulesService.php new file mode 100644 index 00000000..479faabd --- /dev/null +++ b/niucloud/addon/zhjw/app/service/admin/schedules/SchedulesService.php @@ -0,0 +1,111 @@ +model = new Schedules(); + } + + /** + * 获取排班管理列表 + * @param array $where + * @return array + */ + public function getPage(array $where = []) + { + $field = 'id,staff_id,class_id,date_time,time_slot,task,is_deleted,create_time,update_time,created_by,created_role,updated_by,updated_role'; + $order = 'id desc'; + + $search_model = $this->model->withSearch(["staff_id","class_id","date_time","task","create_time"], $where)->with(['staff','classes'])->field($field)->order($order); + $list = $this->pageQuery($search_model); + return $list; + } + + /** + * 获取排班管理信息 + * @param int $id + * @return array + */ + public function getInfo(int $id) + { + $field = 'id,staff_id,class_id,date_time,time_slot,task,is_deleted,create_time,update_time,created_by,created_role,updated_by,updated_role'; + + $info = $this->model->field($field)->where([['id', "=", $id]])->with(['staff','classes'])->findOrEmpty()->toArray(); + return $info; + } + + /** + * 添加排班管理 + * @param array $data + * @return mixed + */ + public function add(array $data) + { + $res = $this->model->create($data); + return $res->id; + + } + + /** + * 排班管理编辑 + * @param int $id + * @param array $data + * @return bool + */ + public function edit(int $id, array $data) + { + + $this->model->where([['id', '=', $id]])->update($data); + return true; + } + + /** + * 删除排班管理 + * @param int $id + * @return bool + */ + public function del(int $id) + { + $model = $this->model->where([['id', '=', $id]])->find(); + $res = $model->delete(); + return $res; + } + + + public function getStaffAll(){ + $staffModel = new Staff(); + return $staffModel->select()->toArray(); + } + + public function getClassesAll(){ + $classesModel = new Classes(); + return $classesModel->select()->toArray(); + } + + +} diff --git a/niucloud/addon/zhjw/app/validate/assignments/Assignments.php b/niucloud/addon/zhjw/app/validate/assignments/Assignments.php new file mode 100644 index 00000000..244de0fb --- /dev/null +++ b/niucloud/addon/zhjw/app/validate/assignments/Assignments.php @@ -0,0 +1,43 @@ + 'require', + 'class_id' => 'require', + 'staff_id' => 'require', + 'content_type' => 'require', + 'status' => 'require', + ]; + + protected $message = [ + 'student_id.require' => ['common_validate.require', ['student_id']], + 'class_id.require' => ['common_validate.require', ['class_id']], + 'staff_id.require' => ['common_validate.require', ['staff_id']], + 'content_type.require' => ['common_validate.require', ['content_type']], + 'status.require' => ['common_validate.require', ['status']], + ]; + + protected $scene = [ + "add" => ['student_id', 'class_id', 'staff_id', 'content_type', 'content', 'content_text', 'submit_time', 'score', 'status'], + "edit" => ['student_id', 'class_id', 'staff_id', 'content_type', 'content', 'content_text', 'submit_time', 'score', 'status'] + ]; + +} diff --git a/niucloud/addon/zhjw/app/validate/schedules/Schedules.php b/niucloud/addon/zhjw/app/validate/schedules/Schedules.php new file mode 100644 index 00000000..4e46ae97 --- /dev/null +++ b/niucloud/addon/zhjw/app/validate/schedules/Schedules.php @@ -0,0 +1,41 @@ + 'require', + 'class_id' => 'require', + 'date_time' => 'require', + 'time_slot' => 'require', + ]; + + protected $message = [ + 'staff_id.require' => ['common_validate.require', ['staff_id']], + 'class_id.require' => ['common_validate.require', ['class_id']], + 'date_time.require' => ['common_validate.require', ['date_time']], + 'time_slot.require' => ['common_validate.require', ['time_slot']], + ]; + + protected $scene = [ + "add" => ['staff_id', 'class_id', 'date_time', 'time_slot', 'task'], + "edit" => ['staff_id', 'class_id', 'date_time', 'time_slot', 'task'] + ]; + +}