From 9e99a844327e230f466f594d183b18b44b00c32e Mon Sep 17 00:00:00 2001 From: "1213317725@qq.com" <1213317725@qq.com> Date: Fri, 23 May 2025 11:19:27 +0800 Subject: [PATCH 1/2] 1 --- .../controller/customer_resources/CustomerResources.php | 4 ++-- .../admin/customer_resources/CustomerResourcesService.php | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/niucloud/app/adminapi/controller/customer_resources/CustomerResources.php b/niucloud/app/adminapi/controller/customer_resources/CustomerResources.php index f72cee5b..e3ab8bae 100644 --- a/niucloud/app/adminapi/controller/customer_resources/CustomerResources.php +++ b/niucloud/app/adminapi/controller/customer_resources/CustomerResources.php @@ -81,7 +81,7 @@ class CustomerResources extends BaseAdminController ["communication",""], ["promised_visit_time",""], ["actual_visit_time",""], - ["call_intent",""], + ["call_intent","low"], ["first_visit_status",""], ["second_visit_status",""], ["is_closed",""] @@ -124,7 +124,7 @@ class CustomerResources extends BaseAdminController ["communication",""], ["promised_visit_time",""], ["actual_visit_time",""], - ["call_intent",""], + ["call_intent","low"], ["first_visit_status",""], ["second_visit_status",""], ["is_closed",""] diff --git a/niucloud/app/service/admin/customer_resources/CustomerResourcesService.php b/niucloud/app/service/admin/customer_resources/CustomerResourcesService.php index 52fdd479..a752cf5d 100644 --- a/niucloud/app/service/admin/customer_resources/CustomerResourcesService.php +++ b/niucloud/app/service/admin/customer_resources/CustomerResourcesService.php @@ -191,7 +191,7 @@ class CustomerResourcesService extends BaseAdminService // return fail("操作失败"); // } - $data['consultant'] = 1; +// $data['consultant'] = 1; $res = $this->model->where([['id', '=', $id]])->findOrEmpty()->toArray(); @@ -222,7 +222,7 @@ class CustomerResourcesService extends BaseAdminService if($resources_save['is_save']){ $customerResourceChanges->insert([ 'customer_resource_id' => $id, - 'operator_id' => $data['consultant'], + 'operator_id' => $res['consultant'], 'campus_id' => $data['campus'], 'modified_fields' => $resources_save['modified_fields'], 'old_values' => $resources_save['old_values'], @@ -262,7 +262,7 @@ class CustomerResourcesService extends BaseAdminService $sixSpeedModificationLog->insert([ 'customer_resource_id' => $id, - 'operator_id' => $data['consultant'], + 'operator_id' => $res['consultant'], 'campus_id' => $data['campus'], 'modified_field' => $six_save['modified_fields'], 'old_value' => $six_save['old_values'], From 5c2081278a06ff0e6c79d0d2517392f4f1d371c7 Mon Sep 17 00:00:00 2001 From: "1213317725@qq.com" <1213317725@qq.com> Date: Fri, 23 May 2025 18:33:29 +0800 Subject: [PATCH 2/2] 1 --- admin/src/app/api/attendance.ts | 35 +- admin/src/app/api/contract.ts | 25 +- admin/src/app/api/exam_answers.ts | 33 +- admin/src/app/api/exam_papers.ts | 23 +- admin/src/app/api/exam_questions.ts | 23 +- admin/src/app/api/exam_records.ts | 29 +- admin/src/app/api/performance_records.ts | 30 +- admin/src/app/api/student.ts | 60 ++ .../app/lang/zh-cn/attendance.attendance.json | 48 +- .../src/app/lang/zh-cn/contract.contract.json | 42 +- .../lang/zh-cn/exam_answers.exam_answers.json | 35 +- .../lang/zh-cn/exam_papers.exam_papers.json | 30 +- .../zh-cn/exam_questions.exam_questions.json | 53 +- .../lang/zh-cn/exam_records.exam_records.json | 42 +- ...rformance_records.performance_records.json | 42 +- admin/src/app/lang/zh-cn/student.student.json | 31 + admin/src/app/views/attendance/attendance.vue | 559 ++++++++--------- .../attendance/components/attendance-edit.vue | 556 ++++++++--------- .../campus_person_role/campus_person_role.vue | 5 +- .../contract/components/contract-edit.vue | 484 +++++++-------- admin/src/app/views/contract/contract.vue | 506 +++++++-------- .../components/exam-answers-edit.vue | 456 +++++++------- .../app/views/exam_answers/exam_answers.vue | 451 ++++++-------- .../components/exam-papers-edit.vue | 487 +++++++++------ .../src/app/views/exam_papers/exam_papers.vue | 415 ++++++------- .../components/exam-questions-edit.vue | 287 +++++++++ .../views/exam_questions/exam_questions.vue | 576 +++++++----------- .../components/exam-records-edit.vue | 516 ++++++++-------- .../app/views/exam_records/exam_records.vue | 508 +++++++-------- .../components/performance-records-edit.vue | 510 ++++++++-------- .../performance_records.vue | 520 +++++++--------- .../views/student/components/student-edit.vue | 315 ++++++++++ admin/src/app/views/student/student.vue | 240 ++++++++ .../controller/attendance/Attendance.php | 32 +- .../adminapi/controller/contract/Contract.php | 15 +- .../controller/exam_answers/ExamAnswers.php | 18 +- .../controller/exam_papers/ExamPapers.php | 9 +- .../exam_questions/ExamQuestions.php | 37 +- .../controller/exam_records/ExamRecords.php | 26 +- .../PerformanceRecords.php | 20 +- .../adminapi/controller/student/Student.php | 121 ++++ niucloud/app/adminapi/route/attendance.php | 9 + niucloud/app/adminapi/route/contract.php | 2 + niucloud/app/adminapi/route/exam_answers.php | 9 + niucloud/app/adminapi/route/exam_papers.php | 1 + .../app/adminapi/route/exam_questions.php | 1 + niucloud/app/adminapi/route/exam_records.php | 7 + .../adminapi/route/performance_records.php | 7 + niucloud/app/adminapi/route/student.php | 44 ++ niucloud/app/model/attendance/Attendance.php | 68 ++- niucloud/app/model/contract/Contract.php | 136 +---- .../app/model/exam_answers/ExamAnswers.php | 78 +-- niucloud/app/model/exam_papers/ExamPapers.php | 40 +- .../model/exam_questions/ExamQuestions.php | 165 +---- .../app/model/exam_records/ExamRecords.php | 84 +-- .../PerformanceRecords.php | 96 +-- niucloud/app/model/student/Student.php | 111 +++- .../admin/attendance/AttendanceService.php | 20 +- .../admin/contract/ContractService.php | 2 +- .../admin/exam_answers/ExamAnswersService.php | 23 +- .../admin/exam_papers/ExamPapersService.php | 8 +- .../exam_questions/ExamQuestionsService.php | 8 +- .../admin/exam_records/ExamRecordsService.php | 22 +- .../PerformanceRecordsService.php | 22 +- .../service/admin/student/StudentService.php | 117 ++++ .../app/validate/attendance/Attendance.php | 8 +- niucloud/app/validate/contract/Contract.php | 4 +- .../app/validate/exam_papers/ExamPapers.php | 10 +- .../validate/exam_questions/ExamQuestions.php | 10 +- .../app/validate/exam_records/ExamRecords.php | 2 + .../PerformanceRecords.php | 6 +- niucloud/app/validate/student/Student.php | 43 ++ 72 files changed, 5046 insertions(+), 4367 deletions(-) create mode 100644 admin/src/app/api/student.ts create mode 100644 admin/src/app/lang/zh-cn/student.student.json create mode 100644 admin/src/app/views/exam_questions/components/exam-questions-edit.vue create mode 100644 admin/src/app/views/student/components/student-edit.vue create mode 100644 admin/src/app/views/student/student.vue create mode 100644 niucloud/app/adminapi/controller/student/Student.php create mode 100644 niucloud/app/adminapi/route/student.php create mode 100644 niucloud/app/service/admin/student/StudentService.php create mode 100644 niucloud/app/validate/student/Student.php diff --git a/admin/src/app/api/attendance.ts b/admin/src/app/api/attendance.ts index 8223e775..e2ac6892 100644 --- a/admin/src/app/api/attendance.ts +++ b/admin/src/app/api/attendance.ts @@ -1,5 +1,15 @@ import request from '@/utils/request' + + + + + + + + + + // USER_CODE_BEGIN -- attendance /** * 获取考勤列表 @@ -7,7 +17,7 @@ import request from '@/utils/request' * @returns */ export function getAttendanceList(params: Record) { - return request.get(`attendance/attendance`, { params }) + return request.get(`attendance/attendance`, {params}) } /** @@ -16,7 +26,7 @@ export function getAttendanceList(params: Record) { * @returns */ export function getAttendanceInfo(id: number) { - return request.get(`attendance/attendance/${id}`) + return request.get(`attendance/attendance/${id}`); } /** @@ -25,10 +35,7 @@ export function getAttendanceInfo(id: number) { * @returns */ export function addAttendance(params: Record) { - return request.post('attendance/attendance', params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.post('attendance/attendance', params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -38,10 +45,7 @@ export function addAttendance(params: Record) { * @returns */ export function editAttendance(params: Record) { - return request.put(`attendance/attendance/${params.id}`, params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.put(`attendance/attendance/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -50,10 +54,13 @@ export function editAttendance(params: Record) { * @returns */ export function deleteAttendance(id: number) { - return request.delete(`attendance/attendance/${id}`, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.delete(`attendance/attendance/${id}`, { showErrorMessage: true, showSuccessMessage: true }) +} + +export function getWithCampusList(params: Record){ + return request.get('attendance/campus_all', {params}) +}export function getWithPersonnelList(params: Record){ + return request.get('attendance/personnel_all', {params}) } // USER_CODE_END -- attendance diff --git a/admin/src/app/api/contract.ts b/admin/src/app/api/contract.ts index f0fe4f80..cc9ac7f3 100644 --- a/admin/src/app/api/contract.ts +++ b/admin/src/app/api/contract.ts @@ -1,5 +1,9 @@ import request from '@/utils/request' + + + + // USER_CODE_BEGIN -- contract /** * 获取合同列表 @@ -7,7 +11,7 @@ import request from '@/utils/request' * @returns */ export function getContractList(params: Record) { - return request.get(`contract/contract`, { params }) + return request.get(`contract/contract`, {params}) } /** @@ -16,7 +20,7 @@ export function getContractList(params: Record) { * @returns */ export function getContractInfo(id: number) { - return request.get(`contract/contract/${id}`) + return request.get(`contract/contract/${id}`); } /** @@ -25,10 +29,7 @@ export function getContractInfo(id: number) { * @returns */ export function addContract(params: Record) { - return request.post('contract/contract', params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.post('contract/contract', params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -38,10 +39,7 @@ export function addContract(params: Record) { * @returns */ export function editContract(params: Record) { - return request.put(`contract/contract/${params.id}`, params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.put(`contract/contract/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -50,10 +48,9 @@ export function editContract(params: Record) { * @returns */ export function deleteContract(id: number) { - return request.delete(`contract/contract/${id}`, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.delete(`contract/contract/${id}`, { showErrorMessage: true, showSuccessMessage: true }) } + + // USER_CODE_END -- contract diff --git a/admin/src/app/api/exam_answers.ts b/admin/src/app/api/exam_answers.ts index 923edcba..56a9e60a 100644 --- a/admin/src/app/api/exam_answers.ts +++ b/admin/src/app/api/exam_answers.ts @@ -1,5 +1,11 @@ import request from '@/utils/request' + + + + + + // USER_CODE_BEGIN -- exam_answers /** * 获取答题记录列表 @@ -7,7 +13,7 @@ import request from '@/utils/request' * @returns */ export function getExamAnswersList(params: Record) { - return request.get(`exam_answers/exam_answers`, { params }) + return request.get(`exam_answers/exam_answers`, {params}) } /** @@ -16,7 +22,7 @@ export function getExamAnswersList(params: Record) { * @returns */ export function getExamAnswersInfo(id: number) { - return request.get(`exam_answers/exam_answers/${id}`) + return request.get(`exam_answers/exam_answers/${id}`); } /** @@ -25,10 +31,7 @@ export function getExamAnswersInfo(id: number) { * @returns */ export function addExamAnswers(params: Record) { - return request.post('exam_answers/exam_answers', params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.post('exam_answers/exam_answers', params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -38,10 +41,7 @@ export function addExamAnswers(params: Record) { * @returns */ export function editExamAnswers(params: Record) { - return request.put(`exam_answers/exam_answers/${params.id}`, params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.put(`exam_answers/exam_answers/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -50,10 +50,15 @@ export function editExamAnswers(params: Record) { * @returns */ export function deleteExamAnswers(id: number) { - return request.delete(`exam_answers/exam_answers/${id}`, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.delete(`exam_answers/exam_answers/${id}`, { showErrorMessage: true, showSuccessMessage: true }) +} + +export function getWithCampusList(params: Record){ + return request.get('exam_answers/campus_all', {params}) +}export function getWithPersonnelList(params: Record){ + return request.get('exam_answers/personnel_all', {params}) +}export function getWithExamQuestionsList(params: Record){ + return request.get('exam_answers/exam_questions_all', {params}) } // USER_CODE_END -- exam_answers diff --git a/admin/src/app/api/exam_papers.ts b/admin/src/app/api/exam_papers.ts index 61a382dd..7d094a9d 100644 --- a/admin/src/app/api/exam_papers.ts +++ b/admin/src/app/api/exam_papers.ts @@ -1,5 +1,7 @@ import request from '@/utils/request' + + // USER_CODE_BEGIN -- exam_papers /** * 获取试卷列表 @@ -7,7 +9,7 @@ import request from '@/utils/request' * @returns */ export function getExamPapersList(params: Record) { - return request.get(`exam_papers/exam_papers`, { params }) + return request.get(`exam_papers/exam_papers`, {params}) } /** @@ -16,7 +18,7 @@ export function getExamPapersList(params: Record) { * @returns */ export function getExamPapersInfo(id: number) { - return request.get(`exam_papers/exam_papers/${id}`) + return request.get(`exam_papers/exam_papers/${id}`); } /** @@ -25,10 +27,7 @@ export function getExamPapersInfo(id: number) { * @returns */ export function addExamPapers(params: Record) { - return request.post('exam_papers/exam_papers', params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.post('exam_papers/exam_papers', params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -38,10 +37,7 @@ export function addExamPapers(params: Record) { * @returns */ export function editExamPapers(params: Record) { - return request.put(`exam_papers/exam_papers/${params.id}`, params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.put(`exam_papers/exam_papers/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -50,10 +46,9 @@ export function editExamPapers(params: Record) { * @returns */ export function deleteExamPapers(id: number) { - return request.delete(`exam_papers/exam_papers/${id}`, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.delete(`exam_papers/exam_papers/${id}`, { showErrorMessage: true, showSuccessMessage: true }) } + + // USER_CODE_END -- exam_papers diff --git a/admin/src/app/api/exam_questions.ts b/admin/src/app/api/exam_questions.ts index 3b3e57c9..9f039f71 100644 --- a/admin/src/app/api/exam_questions.ts +++ b/admin/src/app/api/exam_questions.ts @@ -1,5 +1,7 @@ import request from '@/utils/request' + + // USER_CODE_BEGIN -- exam_questions /** * 获取试题列表 @@ -7,7 +9,7 @@ import request from '@/utils/request' * @returns */ export function getExamQuestionsList(params: Record) { - return request.get(`exam_questions/exam_questions`, { params }) + return request.get(`exam_questions/exam_questions`, {params}) } /** @@ -16,7 +18,7 @@ export function getExamQuestionsList(params: Record) { * @returns */ export function getExamQuestionsInfo(id: number) { - return request.get(`exam_questions/exam_questions/${id}`) + return request.get(`exam_questions/exam_questions/${id}`); } /** @@ -25,10 +27,7 @@ export function getExamQuestionsInfo(id: number) { * @returns */ export function addExamQuestions(params: Record) { - return request.post('exam_questions/exam_questions', params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.post('exam_questions/exam_questions', params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -38,10 +37,7 @@ export function addExamQuestions(params: Record) { * @returns */ export function editExamQuestions(params: Record) { - return request.put(`exam_questions/exam_questions/${params.id}`, params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.put(`exam_questions/exam_questions/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -50,10 +46,9 @@ export function editExamQuestions(params: Record) { * @returns */ export function deleteExamQuestions(id: number) { - return request.delete(`exam_questions/exam_questions/${id}`, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.delete(`exam_questions/exam_questions/${id}`, { showErrorMessage: true, showSuccessMessage: true }) } + + // USER_CODE_END -- exam_questions diff --git a/admin/src/app/api/exam_records.ts b/admin/src/app/api/exam_records.ts index ebff7e88..1deb360f 100644 --- a/admin/src/app/api/exam_records.ts +++ b/admin/src/app/api/exam_records.ts @@ -1,5 +1,7 @@ import request from '@/utils/request' + + // USER_CODE_BEGIN -- exam_records /** * 获取考试记录列表 @@ -7,7 +9,7 @@ import request from '@/utils/request' * @returns */ export function getExamRecordsList(params: Record) { - return request.get(`exam_records/exam_records`, { params }) + return request.get(`exam_records/exam_records`, {params}) } /** @@ -16,7 +18,7 @@ export function getExamRecordsList(params: Record) { * @returns */ export function getExamRecordsInfo(id: number) { - return request.get(`exam_records/exam_records/${id}`) + return request.get(`exam_records/exam_records/${id}`); } /** @@ -25,10 +27,7 @@ export function getExamRecordsInfo(id: number) { * @returns */ export function addExamRecords(params: Record) { - return request.post('exam_records/exam_records', params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.post('exam_records/exam_records', params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -38,10 +37,7 @@ export function addExamRecords(params: Record) { * @returns */ export function editExamRecords(params: Record) { - return request.put(`exam_records/exam_records/${params.id}`, params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.put(`exam_records/exam_records/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -50,10 +46,15 @@ export function editExamRecords(params: Record) { * @returns */ export function deleteExamRecords(id: number) { - return request.delete(`exam_records/exam_records/${id}`, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.delete(`exam_records/exam_records/${id}`, { showErrorMessage: true, showSuccessMessage: true }) +} + +export function getWithCampusList(params: Record){ + return request.get('exam_records/campus_all', {params}) +}export function getWithPersonnelList(params: Record){ + return request.get('exam_records/personnel_all', {params}) +}export function getWithExamPapersList(params: Record){ + return request.get('exam_records/exam_papers_all', {params}) } // USER_CODE_END -- exam_records diff --git a/admin/src/app/api/performance_records.ts b/admin/src/app/api/performance_records.ts index 3af2386a..a3eb01b0 100644 --- a/admin/src/app/api/performance_records.ts +++ b/admin/src/app/api/performance_records.ts @@ -1,5 +1,7 @@ import request from '@/utils/request' + + // USER_CODE_BEGIN -- performance_records /** * 获取绩效记录列表 @@ -7,7 +9,7 @@ import request from '@/utils/request' * @returns */ export function getPerformanceRecordsList(params: Record) { - return request.get(`performance_records/performance_records`, { params }) + return request.get(`performance_records/performance_records`, {params}) } /** @@ -16,7 +18,7 @@ export function getPerformanceRecordsList(params: Record) { * @returns */ export function getPerformanceRecordsInfo(id: number) { - return request.get(`performance_records/performance_records/${id}`) + return request.get(`performance_records/performance_records/${id}`); } /** @@ -25,10 +27,7 @@ export function getPerformanceRecordsInfo(id: number) { * @returns */ export function addPerformanceRecords(params: Record) { - return request.post('performance_records/performance_records', params, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.post('performance_records/performance_records', params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -38,11 +37,7 @@ export function addPerformanceRecords(params: Record) { * @returns */ export function editPerformanceRecords(params: Record) { - return request.put( - `performance_records/performance_records/${params.id}`, - params, - { showErrorMessage: true, showSuccessMessage: true } - ) + return request.put(`performance_records/performance_records/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) } /** @@ -51,10 +46,15 @@ export function editPerformanceRecords(params: Record) { * @returns */ export function deletePerformanceRecords(id: number) { - return request.delete(`performance_records/performance_records/${id}`, { - showErrorMessage: true, - showSuccessMessage: true, - }) + return request.delete(`performance_records/performance_records/${id}`, { showErrorMessage: true, showSuccessMessage: true }) +} + +export function getWithPersonnelList(params: Record){ + return request.get('performance_records/personnel_all', {params}) +}export function getWithCustomerResourcesList(params: Record){ + return request.get('performance_records/customer_resources_all', {params}) +}export function getWithOrderTableList(params: Record){ + return request.get('performance_records/order_table_all', {params}) } // USER_CODE_END -- performance_records diff --git a/admin/src/app/api/student.ts b/admin/src/app/api/student.ts new file mode 100644 index 00000000..bbc567d5 --- /dev/null +++ b/admin/src/app/api/student.ts @@ -0,0 +1,60 @@ +import request from '@/utils/request' + + + +// USER_CODE_BEGIN -- student +/** + * 获取学员列表 + * @param params + * @returns + */ +export function getStudentList(params: Record) { + return request.get(`student/student`, {params}) +} + +/** + * 获取学员详情 + * @param id 学员id + * @returns + */ +export function getStudentInfo(id: number) { + return request.get(`student/student/${id}`); +} + +/** + * 添加学员 + * @param params + * @returns + */ +export function addStudent(params: Record) { + return request.post('student/student', params, { showErrorMessage: true, showSuccessMessage: true }) +} + +/** + * 编辑学员 + * @param id + * @param params + * @returns + */ +export function editStudent(params: Record) { + return request.put(`student/student/${params.id}`, params, { showErrorMessage: true, showSuccessMessage: true }) +} + +/** + * 删除学员 + * @param id + * @returns + */ +export function deleteStudent(id: number) { + return request.delete(`student/student/${id}`, { showErrorMessage: true, showSuccessMessage: true }) +} + +export function getWithCampusList(params: Record){ + return request.get('student/campus_all', {params}) +}export function getWithClassGradeList(params: Record){ + return request.get('student/class_grade_all', {params}) +}export function getWithMemberList(params: Record){ + return request.get('student/member_all', {params}) +} + +// USER_CODE_END -- student diff --git a/admin/src/app/lang/zh-cn/attendance.attendance.json b/admin/src/app/lang/zh-cn/attendance.attendance.json index 66853807..d378ae51 100644 --- a/admin/src/app/lang/zh-cn/attendance.attendance.json +++ b/admin/src/app/lang/zh-cn/attendance.attendance.json @@ -1,29 +1,21 @@ { - "id": "考勤编号", - "idPlaceholder": "请输入考勤编号", - "campusId": "校区ID", - "campusIdPlaceholder": "请输入校区ID", - "staffId": "人员ID", - "staffIdPlaceholder": "请输入人员ID", - "attendanceDate": "考勤日期", - "attendanceDatePlaceholder": "请输入考勤日期", - "checkInTime": "签到时间", - "checkInTimePlaceholder": "请输入签到时间", - "checkOutTime": "签退时间", - "checkOutTimePlaceholder": "请输入签退时间", - "status": "考勤状态", - "statusPlaceholder": "请输入考勤状态", - "remarks": "备注", - "remarksPlaceholder": "请输入备注", - "createdAt": "创建时间", - "createdAtPlaceholder": "请输入创建时间", - "updatedAt": "修改时间", - "updatedAtPlaceholder": "请输入修改时间", - "coordinate": "坐标", - "coordinatePlaceholder": "请输入坐标", - "addAttendance": "添加考勤", - "updateAttendance": "编辑考勤", - "attendanceDeleteTips": "确定要删除该数据吗?", - "startDate": "请选择开始时间", - "endDate": "请选择结束时间" -} + "campusId":"校区", + "campusIdPlaceholder":"全部", + "staffId":"人员", + "staffIdPlaceholder":"全部", + "attendanceDate":"考勤日期", + "attendanceDatePlaceholder":"请输入考勤日期", + "checkInTime":"签到时间", + "checkInTimePlaceholder":"请输入签到时间", + "checkOutTime":"签退时间", + "checkOutTimePlaceholder":"请输入签退时间", + "remarks":"备注", + "remarksPlaceholder":"请输入备注", + "status":"考勤状态", + "statusPlaceholder":"请输入考勤状态", + "addAttendance":"添加考勤", + "updateAttendance":"编辑考勤", + "attendanceDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/app/lang/zh-cn/contract.contract.json b/admin/src/app/lang/zh-cn/contract.contract.json index 47ab4bd0..1aaeeaee 100644 --- a/admin/src/app/lang/zh-cn/contract.contract.json +++ b/admin/src/app/lang/zh-cn/contract.contract.json @@ -1,25 +1,19 @@ { - "id": "合同编号", - "idPlaceholder": "请输入合同编号", - "contractName": "合同名称", - "contractNamePlaceholder": "请输入合同名称", - "contractTemplate": "合同模板", - "contractTemplatePlaceholder": "请输入合同模板", - "contractStatus": "合同状态", - "contractStatusPlaceholder": "请输入合同状态", - "contractType": "合同类型", - "contractTypePlaceholder": "请输入合同类型", - "remarks": "合同备注", - "remarksPlaceholder": "请输入合同备注", - "createdAt": "创建时间", - "createdAtPlaceholder": "请输入创建时间", - "updatedAt": "修改时间", - "updatedAtPlaceholder": "请输入修改时间", - "deletedAt": "逻辑删除时间", - "deletedAtPlaceholder": "请输入逻辑删除时间", - "addContract": "添加合同", - "updateContract": "编辑合同", - "contractDeleteTips": "确定要删除该数据吗?", - "startDate": "请选择开始时间", - "endDate": "请选择结束时间" -} + "contractName":"合同名称", + "contractNamePlaceholder":"请输入合同名称", + "contractTemplate":"合同模板", + "contractTemplatePlaceholder":"请输入合同模板", + "contractStatus":"合同状态", + "contractStatusPlaceholder":"请输入合同状态", + "contractType":"合同类型", + "contractTypePlaceholder":"请输入合同类型", + "remarks":"合同备注", + "remarksPlaceholder":"请输入合同备注", + "createdAt":"创建时间", + "createdAtPlaceholder":"请输入创建时间", + "addContract":"添加合同", + "updateContract":"编辑合同", + "contractDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/app/lang/zh-cn/exam_answers.exam_answers.json b/admin/src/app/lang/zh-cn/exam_answers.exam_answers.json index 83e78d05..a86828d3 100644 --- a/admin/src/app/lang/zh-cn/exam_answers.exam_answers.json +++ b/admin/src/app/lang/zh-cn/exam_answers.exam_answers.json @@ -1,19 +1,18 @@ { - "id": "答题记录编号", - "idPlaceholder": "请输入答题记录编号", - "campusId": "校区ID", - "campusIdPlaceholder": "请输入校区ID", - "userId": "人员ID", - "userIdPlaceholder": "请输入人员ID", - "questionId": "试题ID", - "questionIdPlaceholder": "请输入试题ID", - "answer": "用户答案", - "answerPlaceholder": "请输入用户答案", - "isCorrect": "是否正确", - "isCorrectPlaceholder": "请输入是否正确", - "addExamAnswers": "添加答题记录", - "updateExamAnswers": "编辑答题记录", - "examAnswersDeleteTips": "确定要删除该数据吗?", - "startDate": "请选择开始时间", - "endDate": "请选择结束时间" -} + "campusId":"校区", + "campusIdPlaceholder":"全部", + "userId":"人员", + "userIdPlaceholder":"请输入人员", + "questionId":"试题", + "questionIdPlaceholder":"请输入试题", + "answer":"用户答案", + "answerPlaceholder":"请输入用户答案", + "isCorrect":"是否正确", + "isCorrectPlaceholder":"请输入是否正确", + "createdAt":"创建时间", + "addExamAnswers":"添加答题记录", + "updateExamAnswers":"编辑答题记录", + "examAnswersDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/app/lang/zh-cn/exam_papers.exam_papers.json b/admin/src/app/lang/zh-cn/exam_papers.exam_papers.json index 59d962da..5bff88dc 100644 --- a/admin/src/app/lang/zh-cn/exam_papers.exam_papers.json +++ b/admin/src/app/lang/zh-cn/exam_papers.exam_papers.json @@ -1,15 +1,17 @@ { - "id": "试卷编号", - "idPlaceholder": "请输入试卷编号", - "selectionMode": "题目选择模式: random-随机主题, manual-自选题目", - "selectionModePlaceholder": "请输入题目选择模式: random-随机主题, manual-自选题目", - "totalScore": "总分", - "totalScorePlaceholder": "请输入总分", - "passingScore": "合格分数", - "passingScorePlaceholder": "请输入合格分数", - "addExamPapers": "添加试卷", - "updateExamPapers": "编辑试卷", - "examPapersDeleteTips": "确定要删除该数据吗?", - "startDate": "请选择开始时间", - "endDate": "请选择结束时间" -} + "selectionMode":"题目选择模式", + "selectionModePlaceholder":"请输入题目选择模式", + "questionsIds":"自选试题", + "questionsIdsPlaceholder":"请输入自选试题", + "totalScore":"总分", + "totalScorePlaceholder":"请输入总分", + "passingScore":"合格分数", + "passingScorePlaceholder":"请输入合格分数", + "createdAt":"创建时间", + "createdAtPlaceholder":"请输入创建时间", + "addExamPapers":"添加试卷", + "updateExamPapers":"编辑试卷", + "examPapersDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/app/lang/zh-cn/exam_questions.exam_questions.json b/admin/src/app/lang/zh-cn/exam_questions.exam_questions.json index 0d9cb179..294014fc 100644 --- a/admin/src/app/lang/zh-cn/exam_questions.exam_questions.json +++ b/admin/src/app/lang/zh-cn/exam_questions.exam_questions.json @@ -1,33 +1,22 @@ { - "id": "试题编号", - "idPlaceholder": "请输入试题编号", - "questionType": "题型: single_choice-单选, multiple_choice-多选, true_false-判断", - "questionTypePlaceholder": "请输入题型: single_choice-单选, multiple_choice-多选, true_false-判断", - "questionContentType": "题干类型: text-文本, image-图片", - "questionContentTypePlaceholder": "请输入题干类型: text-文本, image-图片", - "questionContent": "题干内容(如果是图片则存储URL)", - "questionContentPlaceholder": "请输入题干内容(如果是图片则存储URL)", - "optionAContentType": "选项A类型: text-文本, image-图片", - "optionAContentTypePlaceholder": "请输入选项A类型: text-文本, image-图片", - "optionAContent": "选项A内容(如果是图片则存储URL)", - "optionAContentPlaceholder": "请输入选项A内容(如果是图片则存储URL)", - "optionBContentType": "选项B类型: text-文本, image-图片", - "optionBContentTypePlaceholder": "请输入选项B类型: text-文本, image-图片", - "optionBContent": "选项B内容(如果是图片则存储URL)", - "optionBContentPlaceholder": "请输入选项B内容(如果是图片则存储URL)", - "optionCContentType": "选项C类型: text-文本, image-图片", - "optionCContentTypePlaceholder": "请输入选项C类型: text-文本, image-图片", - "optionCContent": "选项C内容(如果是图片则存储URL)", - "optionCContentPlaceholder": "请输入选项C内容(如果是图片则存储URL)", - "optionDContentType": "选项D类型: text-文本, image-图片", - "optionDContentTypePlaceholder": "请输入选项D类型: text-文本, image-图片", - "optionDContent": "选项D内容(如果是图片则存储URL)", - "optionDContentPlaceholder": "请输入选项D内容(如果是图片则存储URL)", - "correctAnswer": "正确答案(如果是多选,答案格式为如A,B,D)", - "correctAnswerPlaceholder": "请输入正确答案(如果是多选,答案格式为如A,B,D)", - "addExamQuestions": "添加试题", - "updateExamQuestions": "编辑试题", - "examQuestionsDeleteTips": "确定要删除该数据吗?", - "startDate": "请选择开始时间", - "endDate": "请选择结束时间" -} + "title":"题目标题", + "titlePlaceholder":"请输入题目标题", + "questionType":"题型", + "questionTypePlaceholder":"请输入题型", + "questionContentType":"题干类型", + "questionContentTypePlaceholder":"请输入题干类型", + "questionContent":"题干内容", + "questionContentPlaceholder":"请输入题干内容", + "optionJson":"选项", + "optionJsonPlaceholder":"请输入选项", + "correctAnswer":"正确答案", + "correctAnswerPlaceholder":"请输入正确答案", + "createdAt":"创建时间", + "createdAtPlaceholder":"请输入创建时间", + "updatedAt":"修改时间", + "addExamQuestions":"添加试题", + "updateExamQuestions":"编辑试题", + "examQuestionsDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/app/lang/zh-cn/exam_records.exam_records.json b/admin/src/app/lang/zh-cn/exam_records.exam_records.json index 7ead4afd..bdc8ea18 100644 --- a/admin/src/app/lang/zh-cn/exam_records.exam_records.json +++ b/admin/src/app/lang/zh-cn/exam_records.exam_records.json @@ -1,23 +1,21 @@ { - "id": "记录编号", - "idPlaceholder": "请输入记录编号", - "campusId": "校区ID", - "campusIdPlaceholder": "请输入校区ID", - "userId": "人员ID", - "userIdPlaceholder": "请输入人员ID", - "paperId": "试卷ID", - "paperIdPlaceholder": "请输入试卷ID", - "score": "得分", - "scorePlaceholder": "请输入得分", - "status": "考试状态: in_progress-进行中, completed-已完成", - "statusPlaceholder": "请输入考试状态: in_progress-进行中, completed-已完成", - "startTime": "考试开始时间", - "startTimePlaceholder": "请输入考试开始时间", - "endTime": "考试结束时间", - "endTimePlaceholder": "请输入考试结束时间", - "addExamRecords": "添加考试记录", - "updateExamRecords": "编辑考试记录", - "examRecordsDeleteTips": "确定要删除该数据吗?", - "startDate": "请选择开始时间", - "endDate": "请选择结束时间" -} + "campusId":"校区", + "campusIdPlaceholder":"全部", + "userId":"人员", + "userIdPlaceholder":"请输入人员", + "paperId":"试卷", + "paperIdPlaceholder":"全部", + "score":"得分", + "scorePlaceholder":"请输入得分", + "status":"考试状态", + "statusPlaceholder":"请输入考试状态", + "startTime":"考试开始时间", + "startTimePlaceholder":"请输入考试开始时间", + "endTime":"考试结束时间", + "endTimePlaceholder":"请输入考试结束时间", + "addExamRecords":"添加考试记录", + "updateExamRecords":"编辑考试记录", + "examRecordsDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/app/lang/zh-cn/performance_records.performance_records.json b/admin/src/app/lang/zh-cn/performance_records.performance_records.json index bfd5c65c..e7019abe 100644 --- a/admin/src/app/lang/zh-cn/performance_records.performance_records.json +++ b/admin/src/app/lang/zh-cn/performance_records.performance_records.json @@ -1,23 +1,21 @@ { - "id": "绩效编号", - "idPlaceholder": "请输入绩效编号", - "staffId": "员工ID", - "staffIdPlaceholder": "请输入员工ID", - "resourceId": "资源ID", - "resourceIdPlaceholder": "请输入资源ID", - "orderId": "订单ID", - "orderIdPlaceholder": "请输入订单ID", - "orderStatus": "订单状态: pending-待处理, completed-已完成, cancelled-已取消", - "orderStatusPlaceholder": "请输入订单状态: pending-待处理, completed-已完成, cancelled-已取消", - "performanceType": "绩效类型: sales-销售绩效, marketing-市场绩效, other-其他", - "performanceTypePlaceholder": "请输入绩效类型: sales-销售绩效, marketing-市场绩效, other-其他", - "performanceValue": "绩效金额或分值", - "performanceValuePlaceholder": "请输入绩效金额或分值", - "remarks": "备注", - "remarksPlaceholder": "请输入备注", - "addPerformanceRecords": "添加绩效记录", - "updatePerformanceRecords": "编辑绩效记录", - "performanceRecordsDeleteTips": "确定要删除该数据吗?", - "startDate": "请选择开始时间", - "endDate": "请选择结束时间" -} + "staffId":"员工", + "staffIdPlaceholder":"全部", + "resourceId":"资源", + "resourceIdPlaceholder":"请输入资源", + "orderStatus":"订单状态", + "orderStatusPlaceholder":"请输入订单状态", + "performanceType":"绩效类型", + "performanceTypePlaceholder":"请输入绩效类型", + "performanceValue":"绩效金额或分值", + "performanceValuePlaceholder":"请输入绩效金额或分值", + "remarks":"备注", + "remarksPlaceholder":"请输入备注", + "createdAt":"创建时间", + "createdAtPlaceholder":"请输入创建时间", + "addPerformanceRecords":"添加绩效记录", + "updatePerformanceRecords":"编辑绩效记录", + "performanceRecordsDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/app/lang/zh-cn/student.student.json b/admin/src/app/lang/zh-cn/student.student.json new file mode 100644 index 00000000..f59a612e --- /dev/null +++ b/admin/src/app/lang/zh-cn/student.student.json @@ -0,0 +1,31 @@ +{ + "campusId":"校区", + "campusIdPlaceholder":"全部", + "classId":"班级", + "classIdPlaceholder":"请输入班级", + "userId":"用户", + "userIdPlaceholder":"请输入用户", + "name":"学员姓名", + "namePlaceholder":"请输入学员姓名", + "gender":"性别", + "genderPlaceholder":"请输入性别", + "age":"年龄", + "agePlaceholder":"请输入年龄", + "birthday":"生日", + "birthdayPlaceholder":"请输入生日", + "emergencyContact":"紧急联系人", + "emergencyContactPlaceholder":"请输入紧急联系人", + "contactPhone":"联系人电话", + "contactPhonePlaceholder":"请输入联系人电话", + "note":"备注信息", + "notePlaceholder":"请输入备注信息", + "status":"学员状态", + "statusPlaceholder":"请输入学员状态", + "createdAt":"创建时间", + "createdAtPlaceholder":"请输入创建时间", + "addStudent":"添加学员", + "updateStudent":"编辑学员", + "studentDeleteTips":"确定要删除该数据吗?", + "startDate":"请选择开始时间", + "endDate":"请选择结束时间" +} \ No newline at end of file diff --git a/admin/src/app/views/attendance/attendance.vue b/admin/src/app/views/attendance/attendance.vue index 6f59285b..aaff21dc 100644 --- a/admin/src/app/views/attendance/attendance.vue +++ b/admin/src/app/views/attendance/attendance.vue @@ -1,318 +1,241 @@ - - - - - + + + + + diff --git a/admin/src/app/views/attendance/components/attendance-edit.vue b/admin/src/app/views/attendance/components/attendance-edit.vue index 5e2354af..7c2e6ab3 100644 --- a/admin/src/app/views/attendance/components/attendance-edit.vue +++ b/admin/src/app/views/attendance/components/attendance-edit.vue @@ -1,296 +1,260 @@ - - - - - - + + + + + + diff --git a/admin/src/app/views/campus_person_role/campus_person_role.vue b/admin/src/app/views/campus_person_role/campus_person_role.vue index 7802c064..fc3a2edd 100644 --- a/admin/src/app/views/campus_person_role/campus_person_role.vue +++ b/admin/src/app/views/campus_person_role/campus_person_role.vue @@ -49,7 +49,7 @@ - + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + + + + + + + + + + + + + + + .diy-dialog-wrap .el-form-item__label { + height: auto !important; + } + \ No newline at end of file diff --git a/admin/src/app/views/exam_papers/exam_papers.vue b/admin/src/app/views/exam_papers/exam_papers.vue index 354fe785..3d85d494 100644 --- a/admin/src/app/views/exam_papers/exam_papers.vue +++ b/admin/src/app/views/exam_papers/exam_papers.vue @@ -1,220 +1,195 @@ - - - - - + + + + + diff --git a/admin/src/app/views/exam_questions/components/exam-questions-edit.vue b/admin/src/app/views/exam_questions/components/exam-questions-edit.vue new file mode 100644 index 00000000..b3886d66 --- /dev/null +++ b/admin/src/app/views/exam_questions/components/exam-questions-edit.vue @@ -0,0 +1,287 @@ + + + + + + \ No newline at end of file diff --git a/admin/src/app/views/exam_questions/exam_questions.vue b/admin/src/app/views/exam_questions/exam_questions.vue index 14104344..0225bc45 100644 --- a/admin/src/app/views/exam_questions/exam_questions.vue +++ b/admin/src/app/views/exam_questions/exam_questions.vue @@ -1,360 +1,216 @@ - - - - - + + + + + diff --git a/admin/src/app/views/exam_records/components/exam-records-edit.vue b/admin/src/app/views/exam_records/components/exam-records-edit.vue index 185f2332..bd39d02b 100644 --- a/admin/src/app/views/exam_records/components/exam-records-edit.vue +++ b/admin/src/app/views/exam_records/components/exam-records-edit.vue @@ -1,249 +1,267 @@ - - - - - - + + + + + + diff --git a/admin/src/app/views/exam_records/exam_records.vue b/admin/src/app/views/exam_records/exam_records.vue index e75367ec..2076f185 100644 --- a/admin/src/app/views/exam_records/exam_records.vue +++ b/admin/src/app/views/exam_records/exam_records.vue @@ -1,276 +1,232 @@ - - - - - + + + + + diff --git a/admin/src/app/views/performance_records/components/performance-records-edit.vue b/admin/src/app/views/performance_records/components/performance-records-edit.vue index 36bc6f84..579fb9ab 100644 --- a/admin/src/app/views/performance_records/components/performance-records-edit.vue +++ b/admin/src/app/views/performance_records/components/performance-records-edit.vue @@ -1,259 +1,251 @@ - - - - - - + + + + + + diff --git a/admin/src/app/views/performance_records/performance_records.vue b/admin/src/app/views/performance_records/performance_records.vue index 2cb0fb7e..50d21270 100644 --- a/admin/src/app/views/performance_records/performance_records.vue +++ b/admin/src/app/views/performance_records/performance_records.vue @@ -1,284 +1,236 @@ - - - - - + + + + + diff --git a/admin/src/app/views/student/components/student-edit.vue b/admin/src/app/views/student/components/student-edit.vue new file mode 100644 index 00000000..a0cd3911 --- /dev/null +++ b/admin/src/app/views/student/components/student-edit.vue @@ -0,0 +1,315 @@ + + + + + + diff --git a/admin/src/app/views/student/student.vue b/admin/src/app/views/student/student.vue new file mode 100644 index 00000000..f91581a4 --- /dev/null +++ b/admin/src/app/views/student/student.vue @@ -0,0 +1,240 @@ + + + + + diff --git a/niucloud/app/adminapi/controller/attendance/Attendance.php b/niucloud/app/adminapi/controller/attendance/Attendance.php index ed3d0ad7..5f603281 100644 --- a/niucloud/app/adminapi/controller/attendance/Attendance.php +++ b/niucloud/app/adminapi/controller/attendance/Attendance.php @@ -31,13 +31,7 @@ class Attendance extends BaseAdminController ["campus_id",""], ["staff_id",""], ["attendance_date",""], - ["check_in_time",""], - ["check_out_time",""], - ["status",""], - ["remarks",""], - ["created_at",""], - ["updated_at",""], - ["coordinate",""] + ["status",""] ]); return success((new AttendanceService())->getPage($data)); } @@ -59,14 +53,12 @@ class Attendance extends BaseAdminController $data = $this->request->params([ ["campus_id",0], ["staff_id",0], - ["attendance_date","2025-05-16 17:06:01"], + ["attendance_date","2025-05-23 12:44:09"], ["check_in_time",""], ["check_out_time",""], - ["status",""], ["remarks",""], - ["created_at",1747386361], - ["updated_at",1747386361], - ["coordinate",""] + ["status",""], + ]); $this->validate($data, 'app\validate\attendance\Attendance.add'); $id = (new AttendanceService())->add($data); @@ -82,14 +74,12 @@ class Attendance extends BaseAdminController $data = $this->request->params([ ["campus_id",0], ["staff_id",0], - ["attendance_date","2025-05-16 17:06:01"], + ["attendance_date","2025-05-23 12:44:09"], ["check_in_time",""], ["check_out_time",""], - ["status",""], ["remarks",""], - ["created_at",1747386361], - ["updated_at",1747386361], - ["coordinate",""] + ["status",""], + ]); $this->validate($data, 'app\validate\attendance\Attendance.edit'); (new AttendanceService())->edit($id, $data); @@ -107,4 +97,12 @@ class Attendance extends BaseAdminController } + public function getCampusAll(){ + return success(( new AttendanceService())->getCampusAll()); + } + + public function getPersonnelAll(){ + return success(( new AttendanceService())->getPersonnelAll()); + } + } diff --git a/niucloud/app/adminapi/controller/contract/Contract.php b/niucloud/app/adminapi/controller/contract/Contract.php index d453b6e4..b5323efa 100644 --- a/niucloud/app/adminapi/controller/contract/Contract.php +++ b/niucloud/app/adminapi/controller/contract/Contract.php @@ -28,14 +28,9 @@ class Contract extends BaseAdminController */ public function lists(){ $data = $this->request->params([ - ["contract_name",""], - ["contract_template",""], ["contract_status",""], ["contract_type",""], - ["remarks",""], - ["created_at",""], - ["updated_at",""], - ["deleted_at",""] + ["created_at",["",""]] ]); return success((new ContractService())->getPage($data)); } @@ -60,9 +55,7 @@ class Contract extends BaseAdminController ["contract_status",""], ["contract_type",""], ["remarks",""], - ["created_at",1747387361], - ["updated_at",1747387361], - ["deleted_at",1747387361] + ]); $this->validate($data, 'app\validate\contract\Contract.add'); $id = (new ContractService())->add($data); @@ -81,9 +74,7 @@ class Contract extends BaseAdminController ["contract_status",""], ["contract_type",""], ["remarks",""], - ["created_at",1747387361], - ["updated_at",1747387361], - ["deleted_at",1747387361] + ]); $this->validate($data, 'app\validate\contract\Contract.edit'); (new ContractService())->edit($id, $data); diff --git a/niucloud/app/adminapi/controller/exam_answers/ExamAnswers.php b/niucloud/app/adminapi/controller/exam_answers/ExamAnswers.php index 9e928a47..174ca5e1 100644 --- a/niucloud/app/adminapi/controller/exam_answers/ExamAnswers.php +++ b/niucloud/app/adminapi/controller/exam_answers/ExamAnswers.php @@ -28,11 +28,7 @@ class ExamAnswers extends BaseAdminController */ public function lists(){ $data = $this->request->params([ - ["campus_id",""], - ["user_id",""], - ["question_id",""], - ["answer",""], - ["is_correct",""] + ["campus_id",""] ]); return success((new ExamAnswersService())->getPage($data)); } @@ -94,4 +90,16 @@ class ExamAnswers extends BaseAdminController } + public function getCampusAll(){ + return success(( new ExamAnswersService())->getCampusAll()); + } + + public function getPersonnelAll(){ + return success(( new ExamAnswersService())->getPersonnelAll()); + } + + public function getExamQuestionsAll(){ + return success(( new ExamAnswersService())->getExamQuestionsAll()); + } + } diff --git a/niucloud/app/adminapi/controller/exam_papers/ExamPapers.php b/niucloud/app/adminapi/controller/exam_papers/ExamPapers.php index 08c4c835..5897438a 100644 --- a/niucloud/app/adminapi/controller/exam_papers/ExamPapers.php +++ b/niucloud/app/adminapi/controller/exam_papers/ExamPapers.php @@ -29,8 +29,7 @@ class ExamPapers extends BaseAdminController public function lists(){ $data = $this->request->params([ ["selection_mode",""], - ["total_score",""], - ["passing_score",""] + ["created_at",["",""]] ]); return success((new ExamPapersService())->getPage($data)); } @@ -50,7 +49,9 @@ class ExamPapers extends BaseAdminController */ public function add(){ $data = $this->request->params([ + ["title",""], ["selection_mode",""], + ["questions_ids",""], ["total_score",0.00], ["passing_score",0.00], @@ -67,7 +68,9 @@ class ExamPapers extends BaseAdminController */ public function edit(int $id){ $data = $this->request->params([ + ["title",""], ["selection_mode",""], + ["questions_ids",""], ["total_score",0.00], ["passing_score",0.00], @@ -87,5 +90,5 @@ class ExamPapers extends BaseAdminController return success('DELETE_SUCCESS'); } - + } diff --git a/niucloud/app/adminapi/controller/exam_questions/ExamQuestions.php b/niucloud/app/adminapi/controller/exam_questions/ExamQuestions.php index 042a2f6e..02b21317 100644 --- a/niucloud/app/adminapi/controller/exam_questions/ExamQuestions.php +++ b/niucloud/app/adminapi/controller/exam_questions/ExamQuestions.php @@ -28,18 +28,9 @@ class ExamQuestions extends BaseAdminController */ public function lists(){ $data = $this->request->params([ + ["title",""], ["question_type",""], - ["question_content_type",""], - ["question_content",""], - ["option_a_content_type",""], - ["option_a_content",""], - ["option_b_content_type",""], - ["option_b_content",""], - ["option_c_content_type",""], - ["option_c_content",""], - ["option_d_content_type",""], - ["option_d_content",""], - ["correct_answer",""] + ["created_at",["",""]] ]); return success((new ExamQuestionsService())->getPage($data)); } @@ -59,18 +50,11 @@ class ExamQuestions extends BaseAdminController */ public function add(){ $data = $this->request->params([ + ["title",""], ["question_type",""], ["question_content_type",""], ["question_content",""], - ["option_a_content_type",""], - ["option_a_content",""], - ["option_b_content_type",""], - ["option_b_content",""], - ["option_c_content_type",""], - ["option_c_content",""], - ["option_d_content_type",""], - ["option_d_content",""], - ["correct_answer",""], + ["option_json",[]] ]); $this->validate($data, 'app\validate\exam_questions\ExamQuestions.add'); @@ -85,18 +69,11 @@ class ExamQuestions extends BaseAdminController */ public function edit(int $id){ $data = $this->request->params([ + ["title",""], ["question_type",""], ["question_content_type",""], ["question_content",""], - ["option_a_content_type",""], - ["option_a_content",""], - ["option_b_content_type",""], - ["option_b_content",""], - ["option_c_content_type",""], - ["option_c_content",""], - ["option_d_content_type",""], - ["option_d_content",""], - ["correct_answer",""], + ["option_json",[]] ]); $this->validate($data, 'app\validate\exam_questions\ExamQuestions.edit'); @@ -114,5 +91,5 @@ class ExamQuestions extends BaseAdminController return success('DELETE_SUCCESS'); } - + } diff --git a/niucloud/app/adminapi/controller/exam_records/ExamRecords.php b/niucloud/app/adminapi/controller/exam_records/ExamRecords.php index 48ab8e12..42d1f0ae 100644 --- a/niucloud/app/adminapi/controller/exam_records/ExamRecords.php +++ b/niucloud/app/adminapi/controller/exam_records/ExamRecords.php @@ -29,12 +29,8 @@ class ExamRecords extends BaseAdminController public function lists(){ $data = $this->request->params([ ["campus_id",""], - ["user_id",""], ["paper_id",""], - ["score",""], - ["status",""], - ["start_time",""], - ["end_time",""] + ["status",""] ]); return success((new ExamRecordsService())->getPage($data)); } @@ -59,8 +55,8 @@ class ExamRecords extends BaseAdminController ["paper_id",0], ["score",0.00], ["status",""], - ["start_time","2025-05-16 17:43:09"], - ["end_time","2025-05-16 17:43:09"], + ["start_time","2025-05-23 17:15:15"], + ["end_time","2025-05-23 17:15:15"], ]); $this->validate($data, 'app\validate\exam_records\ExamRecords.add'); @@ -80,8 +76,8 @@ class ExamRecords extends BaseAdminController ["paper_id",0], ["score",0.00], ["status",""], - ["start_time","2025-05-16 17:43:09"], - ["end_time","2025-05-16 17:43:09"], + ["start_time","2025-05-23 17:15:15"], + ["end_time","2025-05-23 17:15:15"], ]); $this->validate($data, 'app\validate\exam_records\ExamRecords.edit'); @@ -100,4 +96,16 @@ class ExamRecords extends BaseAdminController } + public function getCampusAll(){ + return success(( new ExamRecordsService())->getCampusAll()); + } + + public function getPersonnelAll(){ + return success(( new ExamRecordsService())->getPersonnelAll()); + } + + public function getExamPapersAll(){ + return success(( new ExamRecordsService())->getExamPapersAll()); + } + } diff --git a/niucloud/app/adminapi/controller/performance_records/PerformanceRecords.php b/niucloud/app/adminapi/controller/performance_records/PerformanceRecords.php index 375bb4bd..946d2952 100644 --- a/niucloud/app/adminapi/controller/performance_records/PerformanceRecords.php +++ b/niucloud/app/adminapi/controller/performance_records/PerformanceRecords.php @@ -29,12 +29,8 @@ class PerformanceRecords extends BaseAdminController public function lists(){ $data = $this->request->params([ ["staff_id",""], - ["resource_id",""], - ["order_id",""], ["order_status",""], - ["performance_type",""], - ["performance_value",""], - ["remarks",""] + ["created_at",["",""]] ]); return success((new PerformanceRecordsService())->getPage($data)); } @@ -56,7 +52,6 @@ class PerformanceRecords extends BaseAdminController $data = $this->request->params([ ["staff_id",0], ["resource_id",0], - ["order_id",0], ["order_status",""], ["performance_type",""], ["performance_value",0.00], @@ -77,7 +72,6 @@ class PerformanceRecords extends BaseAdminController $data = $this->request->params([ ["staff_id",0], ["resource_id",0], - ["order_id",0], ["order_status",""], ["performance_type",""], ["performance_value",0.00], @@ -100,4 +94,16 @@ class PerformanceRecords extends BaseAdminController } + public function getPersonnelAll(){ + return success(( new PerformanceRecordsService())->getPersonnelAll()); + } + + public function getCustomerResourcesAll(){ + return success(( new PerformanceRecordsService())->getCustomerResourcesAll()); + } + + public function getOrderTableAll(){ + return success(( new PerformanceRecordsService())->getOrderTableAll()); + } + } diff --git a/niucloud/app/adminapi/controller/student/Student.php b/niucloud/app/adminapi/controller/student/Student.php new file mode 100644 index 00000000..5ba7e270 --- /dev/null +++ b/niucloud/app/adminapi/controller/student/Student.php @@ -0,0 +1,121 @@ +request->params([ + ["campus_id",""], + ["name",""], + ["emergency_contact",""], + ["contact_phone",""], + ["created_at",["",""]] + ]); + return success((new StudentService())->getPage($data)); + } + + /** + * 学员详情 + * @param int $id + * @return \think\Response + */ + public function info(int $id){ + return success((new StudentService())->getInfo($id)); + } + + /** + * 添加学员 + * @return \think\Response + */ + public function add(){ + $data = $this->request->params([ + ["campus_id",0], + ["class_id",0], + ["user_id",0], + ["name",""], + ["gender",0], + ["age",0.00], + ["birthday","2025-05-23 17:31:39"], + ["emergency_contact",""], + ["contact_phone",""], + ["note",""], + ["status",0], + + ]); + $this->validate($data, 'app\validate\student\Student.add'); + $id = (new StudentService())->add($data); + return success('ADD_SUCCESS', ['id' => $id]); + } + + /** + * 学员编辑 + * @param $id 学员id + * @return \think\Response + */ + public function edit(int $id){ + $data = $this->request->params([ + ["campus_id",0], + ["class_id",0], + ["user_id",0], + ["name",""], + ["gender",0], + ["age",0.00], + ["birthday","2025-05-23 17:31:39"], + ["emergency_contact",""], + ["contact_phone",""], + ["note",""], + ["status",0], + + ]); + $this->validate($data, 'app\validate\student\Student.edit'); + (new StudentService())->edit($id, $data); + return success('EDIT_SUCCESS'); + } + + /** + * 学员删除 + * @param $id 学员id + * @return \think\Response + */ + public function del(int $id){ + (new StudentService())->del($id); + return success('DELETE_SUCCESS'); + } + + + public function getCampusAll(){ + return success(( new StudentService())->getCampusAll()); + } + + public function getClassGradeAll(){ + return success(( new StudentService())->getClassGradeAll()); + } + + public function getMemberAll(){ + return success(( new StudentService())->getMemberAll()); + } + +} diff --git a/niucloud/app/adminapi/route/attendance.php b/niucloud/app/adminapi/route/attendance.php index 57bbda6a..c193c40a 100644 --- a/niucloud/app/adminapi/route/attendance.php +++ b/niucloud/app/adminapi/route/attendance.php @@ -16,6 +16,11 @@ use app\adminapi\middleware\AdminCheckToken; use app\adminapi\middleware\AdminLog; + + + + + // USER_CODE_BEGIN -- attendance Route::group('attendance', function () { @@ -31,6 +36,10 @@ Route::group('attendance', function () { //删除考勤 Route::delete('attendance/:id', 'attendance.Attendance/del'); + Route::get('campus_all','attendance.Attendance/getCampusAll'); + + Route::get('personnel_all','attendance.Attendance/getPersonnelAll'); + })->middleware([ AdminCheckToken::class, AdminCheckRole::class, diff --git a/niucloud/app/adminapi/route/contract.php b/niucloud/app/adminapi/route/contract.php index e62b105f..75e42ca8 100644 --- a/niucloud/app/adminapi/route/contract.php +++ b/niucloud/app/adminapi/route/contract.php @@ -14,6 +14,8 @@ use think\facade\Route; use app\adminapi\middleware\AdminCheckRole; use app\adminapi\middleware\AdminCheckToken; use app\adminapi\middleware\AdminLog; + + // USER_CODE_BEGIN -- contract Route::group('contract', function () { diff --git a/niucloud/app/adminapi/route/exam_answers.php b/niucloud/app/adminapi/route/exam_answers.php index 9d902bd6..ad894747 100644 --- a/niucloud/app/adminapi/route/exam_answers.php +++ b/niucloud/app/adminapi/route/exam_answers.php @@ -14,6 +14,9 @@ use think\facade\Route; use app\adminapi\middleware\AdminCheckRole; use app\adminapi\middleware\AdminCheckToken; use app\adminapi\middleware\AdminLog; + + + // USER_CODE_BEGIN -- exam_answers Route::group('exam_answers', function () { @@ -29,6 +32,12 @@ Route::group('exam_answers', function () { //删除答题记录 Route::delete('exam_answers/:id', 'exam_answers.ExamAnswers/del'); + Route::get('campus_all','exam_answers.ExamAnswers/getCampusAll'); + + Route::get('personnel_all','exam_answers.ExamAnswers/getPersonnelAll'); + + Route::get('exam_questions_all','exam_answers.ExamAnswers/getExamQuestionsAll'); + })->middleware([ AdminCheckToken::class, AdminCheckRole::class, diff --git a/niucloud/app/adminapi/route/exam_papers.php b/niucloud/app/adminapi/route/exam_papers.php index cfd6cf8e..108fa3bb 100644 --- a/niucloud/app/adminapi/route/exam_papers.php +++ b/niucloud/app/adminapi/route/exam_papers.php @@ -14,6 +14,7 @@ use think\facade\Route; use app\adminapi\middleware\AdminCheckRole; use app\adminapi\middleware\AdminCheckToken; use app\adminapi\middleware\AdminLog; + // USER_CODE_BEGIN -- exam_papers Route::group('exam_papers', function () { diff --git a/niucloud/app/adminapi/route/exam_questions.php b/niucloud/app/adminapi/route/exam_questions.php index 5351e45f..d39aa69b 100644 --- a/niucloud/app/adminapi/route/exam_questions.php +++ b/niucloud/app/adminapi/route/exam_questions.php @@ -14,6 +14,7 @@ use think\facade\Route; use app\adminapi\middleware\AdminCheckRole; use app\adminapi\middleware\AdminCheckToken; use app\adminapi\middleware\AdminLog; + // USER_CODE_BEGIN -- exam_questions Route::group('exam_questions', function () { diff --git a/niucloud/app/adminapi/route/exam_records.php b/niucloud/app/adminapi/route/exam_records.php index 065bfb1e..0060bb49 100644 --- a/niucloud/app/adminapi/route/exam_records.php +++ b/niucloud/app/adminapi/route/exam_records.php @@ -14,6 +14,7 @@ use think\facade\Route; use app\adminapi\middleware\AdminCheckRole; use app\adminapi\middleware\AdminCheckToken; use app\adminapi\middleware\AdminLog; + // USER_CODE_BEGIN -- exam_records Route::group('exam_records', function () { @@ -29,6 +30,12 @@ Route::group('exam_records', function () { //删除考试记录 Route::delete('exam_records/:id', 'exam_records.ExamRecords/del'); + Route::get('campus_all','exam_records.ExamRecords/getCampusAll'); + + Route::get('personnel_all','exam_records.ExamRecords/getPersonnelAll'); + + Route::get('exam_papers_all','exam_records.ExamRecords/getExamPapersAll'); + })->middleware([ AdminCheckToken::class, AdminCheckRole::class, diff --git a/niucloud/app/adminapi/route/performance_records.php b/niucloud/app/adminapi/route/performance_records.php index b3b00e30..609491ec 100644 --- a/niucloud/app/adminapi/route/performance_records.php +++ b/niucloud/app/adminapi/route/performance_records.php @@ -14,6 +14,7 @@ use think\facade\Route; use app\adminapi\middleware\AdminCheckRole; use app\adminapi\middleware\AdminCheckToken; use app\adminapi\middleware\AdminLog; + // USER_CODE_BEGIN -- performance_records Route::group('performance_records', function () { @@ -29,6 +30,12 @@ Route::group('performance_records', function () { //删除绩效记录 Route::delete('performance_records/:id', 'performance_records.PerformanceRecords/del'); + Route::get('personnel_all','performance_records.PerformanceRecords/getPersonnelAll'); + + Route::get('customer_resources_all','performance_records.PerformanceRecords/getCustomerResourcesAll'); + + Route::get('order_table_all','performance_records.PerformanceRecords/getOrderTableAll'); + })->middleware([ AdminCheckToken::class, AdminCheckRole::class, diff --git a/niucloud/app/adminapi/route/student.php b/niucloud/app/adminapi/route/student.php new file mode 100644 index 00000000..cbad5514 --- /dev/null +++ b/niucloud/app/adminapi/route/student.php @@ -0,0 +1,44 @@ +middleware([ + AdminCheckToken::class, + AdminCheckRole::class, + AdminLog::class +]); +// USER_CODE_END -- student diff --git a/niucloud/app/model/attendance/Attendance.php b/niucloud/app/model/attendance/Attendance.php index 0f5e48e3..dc07ee30 100644 --- a/niucloud/app/model/attendance/Attendance.php +++ b/niucloud/app/model/attendance/Attendance.php @@ -9,22 +9,26 @@ // | Author: Niucloud Team // +---------------------------------------------------------------------- -namespace app\model\campus; +namespace app\model\attendance; use core\base\BaseModel; use think\model\concern\SoftDelete; use think\model\relation\HasMany; use think\model\relation\HasOne; +use app\model\campus\Campus; + +use app\model\personnel\Personnel; + /** - * 校区模型 - * Class Campus - * @package app\model\campus + * 考勤模型 + * Class Attendance + * @package app\model\attendance */ -class Campus extends BaseModel +class Attendance extends BaseModel { - use SoftDelete; + /** * 数据表主键 @@ -36,53 +40,57 @@ class Campus extends BaseModel * 模型名称 * @var string */ - protected $name = 'campus'; + protected $name = 'attendance'; - /** - * 定义软删除标记字段. - * @var string - */ - protected $deleteTime = 'delete_time'; + - /** - * 定义软删除字段的默认值. - * @var int - */ - protected $defaultSoftDelete = 0; + /** - * 搜索器:校区校区名称 + * 搜索器:考勤校区 + * @param $value + * @param $data + */ + public function searchCampusIdAttr($query, $value, $data) + { + if ($value) { + $query->where("campus_id", $value); + } + } + + /** + * 搜索器:考勤人员 * @param $value * @param $data */ - public function searchCampusNameAttr($query, $value, $data) + public function searchStaffIdAttr($query, $value, $data) { if ($value) { - $query->where("campus_name", "like", "%".$value."%"); + $query->where("staff_id", $value); } } /** - * 搜索器:校区校区地址 + * 搜索器:考勤考勤日期 * @param $value * @param $data */ - public function searchCampusAddressAttr($query, $value, $data) + public function searchAttendanceDateAttr($query, $value, $data) { if ($value) { - $query->where("campus_address", $value); + $query->where("attendance_date", $value); } } /** - * 搜索器:校区校区状态 + * 搜索器:考勤考勤状态 * @param $value * @param $data */ - public function searchCampusStatusAttr($query, $value, $data) + public function searchStatusAttr($query, $value, $data) { if ($value) { - $query->where("campus_status", $value); + $query->where("status", $value); } } @@ -91,4 +99,12 @@ class Campus extends BaseModel + public function campus(){ + return $this->hasOne(Campus::class, 'id', 'campus_id')->joinType('left')->withField('campus_name,id')->bind(['campus_id_name'=>'campus_name']); + } + + public function personnel(){ + return $this->hasOne(Personnel::class, 'id', 'staff_id')->joinType('left')->withField('name,id')->bind(['staff_id_name'=>'name']); + } + } diff --git a/niucloud/app/model/contract/Contract.php b/niucloud/app/model/contract/Contract.php index 9e643c88..c4b72d41 100644 --- a/niucloud/app/model/contract/Contract.php +++ b/niucloud/app/model/contract/Contract.php @@ -9,7 +9,7 @@ // | Author: Niucloud Team // +---------------------------------------------------------------------- -namespace app\model\campus; +namespace app\model\contract; use core\base\BaseModel; use think\model\concern\SoftDelete; @@ -17,14 +17,14 @@ use think\model\relation\HasMany; use think\model\relation\HasOne; /** - * 校区模型 - * Class Campus - * @package app\model\campus + * 合同模型 + * Class Contract + * @package app\model\contract */ -class Campus extends BaseModel +class Contract extends BaseModel { - + use SoftDelete; /** * 数据表主键 @@ -36,129 +36,59 @@ class Campus extends BaseModel * 模型名称 * @var string */ - protected $name = 'campus'; - - - - + protected $name = 'contract'; /** - * 搜索器:校区主键ID - * @param $value - * @param $data - */ - public function searchIdAttr($query, $value, $data) - { - if ($value) { - $query->where("id", $value); - } - } - - /** - * 搜索器:校区校区名称 - * @param $value - * @param $data - */ - public function searchCampusNameAttr($query, $value, $data) - { - if ($value) { - $query->where("campus_name", $value); - } - } - - /** - * 搜索器:校区校区地址 - * @param $value - * @param $data - */ - public function searchCampusAddressAttr($query, $value, $data) - { - if ($value) { - $query->where("campus_address", $value); - } - } - - /** - * 搜索器:校区校区预览图,存储图片路径 - * @param $value - * @param $data - */ - public function searchCampusPreviewImageAttr($query, $value, $data) - { - if ($value) { - $query->where("campus_preview_image", $value); - } - } - - /** - * 搜索器:校区校区坐标,格式为经度,纬度 - * @param $value - * @param $data - */ - public function searchCampusCoordinatesAttr($query, $value, $data) - { - if ($value) { - $query->where("campus_coordinates", $value); - } - } - - /** - * 搜索器:校区校区介绍 - * @param $value - * @param $data - */ - public function searchCampusIntroductionAttr($query, $value, $data) - { - if ($value) { - $query->where("campus_introduction", $value); - } - } - + * 定义软删除标记字段. + * @var string + */ + protected $deleteTime = 'deleted_at'; + /** - * 搜索器:校区校区状态:0-禁用,1-启用 - * @param $value - * @param $data - */ - public function searchCampusStatusAttr($query, $value, $data) - { - if ($value) { - $query->where("campus_status", $value); - } - } - + * 定义软删除字段的默认值. + * @var int + */ + protected $defaultSoftDelete = 0; + /** - * 搜索器:校区校区创建时间 + * 搜索器:合同合同状态 * @param $value * @param $data */ - public function searchCreateTimeAttr($query, $value, $data) + public function searchContractStatusAttr($query, $value, $data) { if ($value) { - $query->where("create_time", $value); + $query->where("contract_status", $value); } } /** - * 搜索器:校区校区更新时间 + * 搜索器:合同合同类型 * @param $value * @param $data */ - public function searchUpdateTimeAttr($query, $value, $data) + public function searchContractTypeAttr($query, $value, $data) { if ($value) { - $query->where("update_time", $value); + $query->where("contract_type", $value); } } /** - * 搜索器:校区逻辑删除字段,NULL表示未删除,非空表示已删除 + * 搜索器:合同创建时间 * @param $value * @param $data */ - public function searchDeleteTimeAttr($query, $value, $data) + public function searchCreatedAtAttr($query, $value, $data) { - if ($value) { - $query->where("delete_time", $value); + $start = empty($value[0]) ? 0 : strtotime($value[0]); + $end = empty($value[1]) ? 0 : strtotime($value[1]); + if ($start > 0 && $end > 0) { + $query->where([["created_at", "between", [$start, $end]]]); + } else if ($start > 0 && $end == 0) { + $query->where([["created_at", ">=", $start]]); + } else if ($start == 0 && $end > 0) { + $query->where([["created_at", "<=", $end]]); } } diff --git a/niucloud/app/model/exam_answers/ExamAnswers.php b/niucloud/app/model/exam_answers/ExamAnswers.php index b3548d04..62202b9c 100644 --- a/niucloud/app/model/exam_answers/ExamAnswers.php +++ b/niucloud/app/model/exam_answers/ExamAnswers.php @@ -16,6 +16,12 @@ use think\model\concern\SoftDelete; use think\model\relation\HasMany; use think\model\relation\HasOne; +use app\model\campus\Campus; + +use app\model\personnel\Personnel; + +use app\model\exam_questions\ExamQuestions; + /** * 答题记录模型 * Class ExamAnswers @@ -43,19 +49,7 @@ class ExamAnswers extends BaseModel /** - * 搜索器:答题记录答题记录编号 - * @param $value - * @param $data - */ - public function searchIdAttr($query, $value, $data) - { - if ($value) { - $query->where("id", $value); - } - } - - /** - * 搜索器:答题记录校区ID + * 搜索器:答题记录校区 * @param $value * @param $data */ @@ -66,57 +60,21 @@ class ExamAnswers extends BaseModel } } - /** - * 搜索器:答题记录人员ID - * @param $value - * @param $data - */ - public function searchUserIdAttr($query, $value, $data) - { - if ($value) { - $query->where("user_id", $value); - } - } - /** - * 搜索器:答题记录试题ID - * @param $value - * @param $data - */ - public function searchQuestionIdAttr($query, $value, $data) - { - if ($value) { - $query->where("question_id", $value); - } - } + - /** - * 搜索器:答题记录用户答案 - * @param $value - * @param $data - */ - public function searchAnswerAttr($query, $value, $data) - { - if ($value) { - $query->where("answer", $value); - } - } + - /** - * 搜索器:答题记录是否正确 - * @param $value - * @param $data - */ - public function searchIsCorrectAttr($query, $value, $data) - { - if ($value) { - $query->where("is_correct", $value); - } + public function campus(){ + return $this->hasOne(Campus::class, 'id', 'campus_id')->joinType('left')->withField('campus_name,id')->bind(['campus_id_name'=>'campus_name']); } - - - + public function personnel(){ + return $this->hasOne(Personnel::class, 'id', 'user_id')->joinType('left')->withField('name,id')->bind(['user_id_name'=>'name']); + } + + public function examQuestions(){ + return $this->hasOne(ExamQuestions::class, 'id', 'question_id')->joinType('left')->withField('title,id')->bind(['question_id_name'=>'title']); + } - } diff --git a/niucloud/app/model/exam_papers/ExamPapers.php b/niucloud/app/model/exam_papers/ExamPapers.php index e46d0b0e..6bc830c3 100644 --- a/niucloud/app/model/exam_papers/ExamPapers.php +++ b/niucloud/app/model/exam_papers/ExamPapers.php @@ -43,19 +43,7 @@ class ExamPapers extends BaseModel /** - * 搜索器:试卷试卷编号 - * @param $value - * @param $data - */ - public function searchIdAttr($query, $value, $data) - { - if ($value) { - $query->where("id", $value); - } - } - - /** - * 搜索器:试卷题目选择模式: random-随机主题, manual-自选题目 + * 搜索器:试卷题目选择模式 * @param $value * @param $data */ @@ -67,26 +55,20 @@ class ExamPapers extends BaseModel } /** - * 搜索器:试卷总分 + * 搜索器:试卷创建时间 * @param $value * @param $data */ - public function searchTotalScoreAttr($query, $value, $data) + public function searchCreatedAtAttr($query, $value, $data) { - if ($value) { - $query->where("total_score", $value); - } - } - - /** - * 搜索器:试卷合格分数 - * @param $value - * @param $data - */ - public function searchPassingScoreAttr($query, $value, $data) - { - if ($value) { - $query->where("passing_score", $value); + $start = empty($value[0]) ? 0 : strtotime($value[0]); + $end = empty($value[1]) ? 0 : strtotime($value[1]); + if ($start > 0 && $end > 0) { + $query->where([["created_at", "between", [$start, $end]]]); + } else if ($start > 0 && $end == 0) { + $query->where([["created_at", ">=", $start]]); + } else if ($start == 0 && $end > 0) { + $query->where([["created_at", "<=", $end]]); } } diff --git a/niucloud/app/model/exam_questions/ExamQuestions.php b/niucloud/app/model/exam_questions/ExamQuestions.php index 45fb99d3..7e466b92 100644 --- a/niucloud/app/model/exam_questions/ExamQuestions.php +++ b/niucloud/app/model/exam_questions/ExamQuestions.php @@ -24,7 +24,7 @@ use think\model\relation\HasOne; class ExamQuestions extends BaseModel { - + /** * 数据表主键 @@ -38,24 +38,29 @@ class ExamQuestions extends BaseModel */ protected $name = 'exam_questions'; - - + + // 设置json类型字段 + protected $json = [ 'option_json' ]; + + // 设置JSON数据返回数组 + protected $jsonAssoc = true; + /** - * 搜索器:试题试题编号 + * 搜索器:试题题目标题 * @param $value * @param $data */ - public function searchIdAttr($query, $value, $data) + public function searchTitleAttr($query, $value, $data) { if ($value) { - $query->where("id", $value); + $query->where("title", $value); } } - + /** - * 搜索器:试题题型: single_choice-单选, multiple_choice-多选, true_false-判断 + * 搜索器:试题题型 * @param $value * @param $data */ @@ -65,142 +70,28 @@ class ExamQuestions extends BaseModel $query->where("question_type", $value); } } - - /** - * 搜索器:试题题干类型: text-文本, image-图片 - * @param $value - * @param $data - */ - public function searchQuestionContentTypeAttr($query, $value, $data) - { - if ($value) { - $query->where("question_content_type", $value); - } - } - - /** - * 搜索器:试题题干内容(如果是图片则存储URL) - * @param $value - * @param $data - */ - public function searchQuestionContentAttr($query, $value, $data) - { - if ($value) { - $query->where("question_content", $value); - } - } - - /** - * 搜索器:试题选项A类型: text-文本, image-图片 - * @param $value - * @param $data - */ - public function searchOptionAContentTypeAttr($query, $value, $data) - { - if ($value) { - $query->where("option_a_content_type", $value); - } - } - - /** - * 搜索器:试题选项A内容(如果是图片则存储URL) - * @param $value - * @param $data - */ - public function searchOptionAContentAttr($query, $value, $data) - { - if ($value) { - $query->where("option_a_content", $value); - } - } - - /** - * 搜索器:试题选项B类型: text-文本, image-图片 - * @param $value - * @param $data - */ - public function searchOptionBContentTypeAttr($query, $value, $data) - { - if ($value) { - $query->where("option_b_content_type", $value); - } - } - - /** - * 搜索器:试题选项B内容(如果是图片则存储URL) - * @param $value - * @param $data - */ - public function searchOptionBContentAttr($query, $value, $data) - { - if ($value) { - $query->where("option_b_content", $value); - } - } - - /** - * 搜索器:试题选项C类型: text-文本, image-图片 - * @param $value - * @param $data - */ - public function searchOptionCContentTypeAttr($query, $value, $data) - { - if ($value) { - $query->where("option_c_content_type", $value); - } - } - - /** - * 搜索器:试题选项C内容(如果是图片则存储URL) - * @param $value - * @param $data - */ - public function searchOptionCContentAttr($query, $value, $data) - { - if ($value) { - $query->where("option_c_content", $value); - } - } - - /** - * 搜索器:试题选项D类型: text-文本, image-图片 - * @param $value - * @param $data - */ - public function searchOptionDContentTypeAttr($query, $value, $data) - { - if ($value) { - $query->where("option_d_content_type", $value); - } - } - - /** - * 搜索器:试题选项D内容(如果是图片则存储URL) - * @param $value - * @param $data - */ - public function searchOptionDContentAttr($query, $value, $data) - { - if ($value) { - $query->where("option_d_content", $value); - } - } - + /** - * 搜索器:试题正确答案(如果是多选,答案格式为如"A,B,D") + * 搜索器:试题创建时间 * @param $value * @param $data */ - public function searchCorrectAnswerAttr($query, $value, $data) + public function searchCreatedAtAttr($query, $value, $data) { - if ($value) { - $query->where("correct_answer", $value); + $start = empty($value[0]) ? 0 : strtotime($value[0]); + $end = empty($value[1]) ? 0 : strtotime($value[1]); + if ($start > 0 && $end > 0) { + $query->where([["created_at", "between", [$start, $end]]]); + } else if ($start > 0 && $end == 0) { + $query->where([["created_at", ">=", $start]]); + } else if ($start == 0 && $end > 0) { + $query->where([["created_at", "<=", $end]]); } } - - - - + + + + } diff --git a/niucloud/app/model/exam_records/ExamRecords.php b/niucloud/app/model/exam_records/ExamRecords.php index 6f14a346..2757766f 100644 --- a/niucloud/app/model/exam_records/ExamRecords.php +++ b/niucloud/app/model/exam_records/ExamRecords.php @@ -16,6 +16,12 @@ use think\model\concern\SoftDelete; use think\model\relation\HasMany; use think\model\relation\HasOne; +use app\model\campus\Campus; + +use app\model\personnel\Personnel; + +use app\model\exam_papers\ExamPapers; + /** * 考试记录模型 * Class ExamRecords @@ -43,19 +49,7 @@ class ExamRecords extends BaseModel /** - * 搜索器:考试记录记录编号 - * @param $value - * @param $data - */ - public function searchIdAttr($query, $value, $data) - { - if ($value) { - $query->where("id", $value); - } - } - - /** - * 搜索器:考试记录校区ID + * 搜索器:考试记录校区 * @param $value * @param $data */ @@ -67,19 +61,7 @@ class ExamRecords extends BaseModel } /** - * 搜索器:考试记录人员ID - * @param $value - * @param $data - */ - public function searchUserIdAttr($query, $value, $data) - { - if ($value) { - $query->where("user_id", $value); - } - } - - /** - * 搜索器:考试记录试卷ID + * 搜索器:考试记录试卷 * @param $value * @param $data */ @@ -91,19 +73,7 @@ class ExamRecords extends BaseModel } /** - * 搜索器:考试记录得分 - * @param $value - * @param $data - */ - public function searchScoreAttr($query, $value, $data) - { - if ($value) { - $query->where("score", $value); - } - } - - /** - * 搜索器:考试记录考试状态: in_progress-进行中, completed-已完成 + * 搜索器:考试记录考试状态 * @param $value * @param $data */ @@ -114,33 +84,21 @@ class ExamRecords extends BaseModel } } - /** - * 搜索器:考试记录考试开始时间 - * @param $value - * @param $data - */ - public function searchStartTimeAttr($query, $value, $data) - { - if ($value) { - $query->where("start_time", $value); - } - } - - /** - * 搜索器:考试记录考试结束时间 - * @param $value - * @param $data - */ - public function searchEndTimeAttr($query, $value, $data) - { - if ($value) { - $query->where("end_time", $value); - } - } - + public function campus(){ + return $this->hasOne(Campus::class, 'id', 'campus_id')->joinType('left')->withField('campus_name,id')->bind(['campus_id_name'=>'campus_name']); + } + + public function personnel(){ + return $this->hasOne(Personnel::class, 'id', 'user_id')->joinType('left')->withField('name,id')->bind(['user_id_name'=>'name']); + } + + public function examPapers(){ + return $this->hasOne(ExamPapers::class, 'id', 'paper_id')->joinType('left')->withField('title,id')->bind(['paper_id_name'=>'title']); + } + } diff --git a/niucloud/app/model/performance_records/PerformanceRecords.php b/niucloud/app/model/performance_records/PerformanceRecords.php index 2a13faad..f4fd48e0 100644 --- a/niucloud/app/model/performance_records/PerformanceRecords.php +++ b/niucloud/app/model/performance_records/PerformanceRecords.php @@ -16,6 +16,12 @@ use think\model\concern\SoftDelete; use think\model\relation\HasMany; use think\model\relation\HasOne; +use app\model\personnel\Personnel; + +use app\model\customer_resources\CustomerResources; + +use app\model\order_table\OrderTable; + /** * 绩效记录模型 * Class PerformanceRecords @@ -43,19 +49,7 @@ class PerformanceRecords extends BaseModel /** - * 搜索器:绩效记录绩效编号 - * @param $value - * @param $data - */ - public function searchIdAttr($query, $value, $data) - { - if ($value) { - $query->where("id", $value); - } - } - - /** - * 搜索器:绩效记录员工ID + * 搜索器:绩效记录员工 * @param $value * @param $data */ @@ -67,31 +61,7 @@ class PerformanceRecords extends BaseModel } /** - * 搜索器:绩效记录资源ID - * @param $value - * @param $data - */ - public function searchResourceIdAttr($query, $value, $data) - { - if ($value) { - $query->where("resource_id", $value); - } - } - - /** - * 搜索器:绩效记录订单ID - * @param $value - * @param $data - */ - public function searchOrderIdAttr($query, $value, $data) - { - if ($value) { - $query->where("order_id", $value); - } - } - - /** - * 搜索器:绩效记录订单状态: pending-待处理, completed-已完成, cancelled-已取消 + * 搜索器:绩效记录订单状态 * @param $value * @param $data */ @@ -103,38 +73,20 @@ class PerformanceRecords extends BaseModel } /** - * 搜索器:绩效记录绩效类型: sales-销售绩效, marketing-市场绩效, other-其他 + * 搜索器:绩效记录创建时间 * @param $value * @param $data */ - public function searchPerformanceTypeAttr($query, $value, $data) + public function searchCreatedAtAttr($query, $value, $data) { - if ($value) { - $query->where("performance_type", $value); - } - } - - /** - * 搜索器:绩效记录绩效金额或分值 - * @param $value - * @param $data - */ - public function searchPerformanceValueAttr($query, $value, $data) - { - if ($value) { - $query->where("performance_value", $value); - } - } - - /** - * 搜索器:绩效记录备注 - * @param $value - * @param $data - */ - public function searchRemarksAttr($query, $value, $data) - { - if ($value) { - $query->where("remarks", $value); + $start = empty($value[0]) ? 0 : strtotime($value[0]); + $end = empty($value[1]) ? 0 : strtotime($value[1]); + if ($start > 0 && $end > 0) { + $query->where([["created_at", "between", [$start, $end]]]); + } else if ($start > 0 && $end == 0) { + $query->where([["created_at", ">=", $start]]); + } else if ($start == 0 && $end > 0) { + $query->where([["created_at", "<=", $end]]); } } @@ -143,4 +95,16 @@ class PerformanceRecords extends BaseModel + public function personnel(){ + return $this->hasOne(Personnel::class, 'id', 'staff_id')->joinType('left')->withField('name,id')->bind(['staff_id_name'=>'name']); + } + + public function customerResources(){ + return $this->hasOne(CustomerResources::class, 'id', 'resource_id')->joinType('left')->withField('name,id')->bind(['resource_id_name'=>'name']); + } + + public function orderTable(){ + return $this->hasOne(OrderTable::class, 'id', 'order_id')->joinType('left')->withField('payment_id,id')->bind(['order_id_name'=>'payment_id']); + } + } diff --git a/niucloud/app/model/student/Student.php b/niucloud/app/model/student/Student.php index 026edee0..51271e2e 100644 --- a/niucloud/app/model/student/Student.php +++ b/niucloud/app/model/student/Student.php @@ -16,11 +16,21 @@ use think\model\concern\SoftDelete; use think\model\relation\HasMany; use think\model\relation\HasOne; +use app\model\campus\Campus; +use app\model\class_grade\ClassGrade; + +use app\model\member\Member; + +/** + * 学员模型 + * Class Student + * @package app\model\student + */ class Student extends BaseModel { - use SoftDelete; + use SoftDelete; /** * 数据表主键 @@ -34,22 +44,99 @@ class Student extends BaseModel */ protected $name = 'student'; - - /** - * 定义软删除标记字段 - * @var string - */ + * 定义软删除标记字段. + * @var string + */ protected $deleteTime = 'deleted_at'; /** - * 定义软删除字段的默认值 - * @var int - */ + * 定义软删除字段的默认值. + * @var int + */ protected $defaultSoftDelete = 0; - - - + /** + * 搜索器:学员校区 + * @param $value + * @param $data + */ + public function searchCampusIdAttr($query, $value, $data) + { + if ($value) { + $query->where("campus_id", $value); + } + } + + /** + * 搜索器:学员学员姓名 + * @param $value + * @param $data + */ + public function searchNameAttr($query, $value, $data) + { + if ($value) { + $query->where("name", $value); + } + } + + /** + * 搜索器:学员紧急联系人 + * @param $value + * @param $data + */ + public function searchEmergencyContactAttr($query, $value, $data) + { + if ($value) { + $query->where("emergency_contact", $value); + } + } + + /** + * 搜索器:学员联系人电话 + * @param $value + * @param $data + */ + public function searchContactPhoneAttr($query, $value, $data) + { + if ($value) { + $query->where("contact_phone", $value); + } + } + + /** + * 搜索器:学员创建时间 + * @param $value + * @param $data + */ + public function searchCreatedAtAttr($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([["created_at", "between", [$start, $end]]]); + } else if ($start > 0 && $end == 0) { + $query->where([["created_at", ">=", $start]]); + } else if ($start == 0 && $end > 0) { + $query->where([["created_at", "<=", $end]]); + } + } + + + + + + + public function campus(){ + return $this->hasOne(Campus::class, 'id', 'campus_id')->joinType('left')->withField('campus_name,id')->bind(['campus_id_name'=>'campus_name']); + } + + public function classGrade(){ + return $this->hasOne(ClassGrade::class, 'id', 'class_id')->joinType('left')->withField('class_name,id')->bind(['class_id_name'=>'class_name']); + } + + public function member(){ + return $this->hasOne(Member::class, 'member_id', 'user_id')->joinType('left')->withField('nickname,member_id')->bind(['user_id_name'=>'nickname']); + } } diff --git a/niucloud/app/service/admin/attendance/AttendanceService.php b/niucloud/app/service/admin/attendance/AttendanceService.php index 097f3944..c52cb538 100644 --- a/niucloud/app/service/admin/attendance/AttendanceService.php +++ b/niucloud/app/service/admin/attendance/AttendanceService.php @@ -12,6 +12,8 @@ namespace app\service\admin\attendance; use app\model\attendance\Attendance; +use app\model\campus\Campus; +use app\model\personnel\Personnel; use core\base\BaseAdminService; @@ -36,10 +38,10 @@ class AttendanceService extends BaseAdminService */ public function getPage(array $where = []) { - $field = 'id,campus_id,staff_id,attendance_date,check_in_time,check_out_time,status,remarks,created_at,updated_at,coordinate'; + $field = 'id,campus_id,staff_id,attendance_date,check_in_time,check_out_time,remarks,status,created_at,updated_at,coordinate'; $order = 'id desc'; - $search_model = $this->model->withSearch(["id","campus_id","staff_id","attendance_date","check_in_time","check_out_time","status","remarks","created_at","updated_at","coordinate"], $where)->field($field)->order($order); + $search_model = $this->model->withSearch(["campus_id","staff_id","attendance_date","status"], $where)->with(['campus','personnel'])->field($field)->order($order); $list = $this->pageQuery($search_model); return $list; } @@ -51,9 +53,9 @@ class AttendanceService extends BaseAdminService */ public function getInfo(int $id) { - $field = 'id,campus_id,staff_id,attendance_date,check_in_time,check_out_time,status,remarks,created_at,updated_at,coordinate'; + $field = 'id,campus_id,staff_id,attendance_date,check_in_time,check_out_time,remarks,status,created_at,updated_at,coordinate'; - $info = $this->model->field($field)->where([['id', "=", $id]])->findOrEmpty()->toArray(); + $info = $this->model->field($field)->where([['id', "=", $id]])->with(['campus','personnel'])->findOrEmpty()->toArray(); return $info; } @@ -95,5 +97,15 @@ class AttendanceService extends BaseAdminService } + public function getCampusAll(){ + $campusModel = new Campus(); + return $campusModel->select()->toArray(); + } + + public function getPersonnelAll(){ + $personnelModel = new Personnel(); + return $personnelModel->select()->toArray(); + } + } diff --git a/niucloud/app/service/admin/contract/ContractService.php b/niucloud/app/service/admin/contract/ContractService.php index 519a07a7..e330386f 100644 --- a/niucloud/app/service/admin/contract/ContractService.php +++ b/niucloud/app/service/admin/contract/ContractService.php @@ -39,7 +39,7 @@ class ContractService extends BaseAdminService $field = 'id,contract_name,contract_template,contract_status,contract_type,remarks,created_at,updated_at,deleted_at'; $order = 'id desc'; - $search_model = $this->model->withSearch(["id","contract_name","contract_template","contract_status","contract_type","remarks","created_at","updated_at","deleted_at"], $where)->field($field)->order($order); + $search_model = $this->model->withSearch(["contract_status","contract_type","created_at"], $where)->field($field)->order($order); $list = $this->pageQuery($search_model); return $list; } diff --git a/niucloud/app/service/admin/exam_answers/ExamAnswersService.php b/niucloud/app/service/admin/exam_answers/ExamAnswersService.php index c168ba9b..8b86a5d9 100644 --- a/niucloud/app/service/admin/exam_answers/ExamAnswersService.php +++ b/niucloud/app/service/admin/exam_answers/ExamAnswersService.php @@ -12,6 +12,9 @@ namespace app\service\admin\exam_answers; use app\model\exam_answers\ExamAnswers; +use app\model\campus\Campus; +use app\model\personnel\Personnel; +use app\model\exam_questions\ExamQuestions; use core\base\BaseAdminService; @@ -39,7 +42,7 @@ class ExamAnswersService extends BaseAdminService $field = 'id,campus_id,user_id,question_id,answer,is_correct,created_at,updated_at'; $order = 'id desc'; - $search_model = $this->model->withSearch(["id","campus_id","user_id","question_id","answer","is_correct"], $where)->field($field)->order($order); + $search_model = $this->model->withSearch(["campus_id"], $where)->with(['campus','personnel','examQuestions'])->field($field)->order($order); $list = $this->pageQuery($search_model); return $list; } @@ -53,7 +56,8 @@ class ExamAnswersService extends BaseAdminService { $field = 'id,campus_id,user_id,question_id,answer,is_correct,created_at,updated_at'; - $info = $this->model->field($field)->where([['id', "=", $id]])->findOrEmpty()->toArray(); + $info = $this->model->field($field)->where([['id', "=", $id]])->with(['campus','personnel','examQuestions'])->findOrEmpty()->toArray(); + $info['is_correct'] = strval($info['is_correct']); return $info; } @@ -95,5 +99,20 @@ class ExamAnswersService extends BaseAdminService } + public function getCampusAll(){ + $campusModel = new Campus(); + return $campusModel->select()->toArray(); + } + + public function getPersonnelAll(){ + $personnelModel = new Personnel(); + return $personnelModel->select()->toArray(); + } + + public function getExamQuestionsAll(){ + $examQuestionsModel = new ExamQuestions(); + return $examQuestionsModel->select()->toArray(); + } + } diff --git a/niucloud/app/service/admin/exam_papers/ExamPapersService.php b/niucloud/app/service/admin/exam_papers/ExamPapersService.php index a8649158..e90f581b 100644 --- a/niucloud/app/service/admin/exam_papers/ExamPapersService.php +++ b/niucloud/app/service/admin/exam_papers/ExamPapersService.php @@ -36,10 +36,10 @@ class ExamPapersService extends BaseAdminService */ public function getPage(array $where = []) { - $field = 'id,selection_mode,total_score,passing_score,created_at,updated_at'; + $field = 'id,title,selection_mode,questions_ids,total_score,passing_score,created_at,updated_at'; $order = 'id desc'; - $search_model = $this->model->withSearch(["id","selection_mode","total_score","passing_score"], $where)->field($field)->order($order); + $search_model = $this->model->withSearch(["selection_mode","created_at"], $where)->field($field)->order($order); $list = $this->pageQuery($search_model); return $list; } @@ -51,7 +51,7 @@ class ExamPapersService extends BaseAdminService */ public function getInfo(int $id) { - $field = 'id,selection_mode,total_score,passing_score,created_at,updated_at'; + $field = 'id,title,selection_mode,questions_ids,total_score,passing_score,created_at,updated_at'; $info = $this->model->field($field)->where([['id', "=", $id]])->findOrEmpty()->toArray(); return $info; @@ -94,6 +94,6 @@ class ExamPapersService extends BaseAdminService return $res; } - + } diff --git a/niucloud/app/service/admin/exam_questions/ExamQuestionsService.php b/niucloud/app/service/admin/exam_questions/ExamQuestionsService.php index a76b34e7..28a71908 100644 --- a/niucloud/app/service/admin/exam_questions/ExamQuestionsService.php +++ b/niucloud/app/service/admin/exam_questions/ExamQuestionsService.php @@ -36,10 +36,10 @@ class ExamQuestionsService extends BaseAdminService */ public function getPage(array $where = []) { - $field = 'id,question_type,question_content_type,question_content,option_a_content_type,option_a_content,option_b_content_type,option_b_content,option_c_content_type,option_c_content,option_d_content_type,option_d_content,correct_answer,created_at,updated_at'; + $field = 'id,title,question_type,question_content_type,question_content,option_json,created_at,updated_at'; $order = 'id desc'; - $search_model = $this->model->withSearch(["id","question_type","question_content_type","question_content","option_a_content_type","option_a_content","option_b_content_type","option_b_content","option_c_content_type","option_c_content","option_d_content_type","option_d_content","correct_answer"], $where)->field($field)->order($order); + $search_model = $this->model->withSearch(["title","question_type","created_at"], $where)->field($field)->order($order); $list = $this->pageQuery($search_model); return $list; } @@ -51,7 +51,7 @@ class ExamQuestionsService extends BaseAdminService */ public function getInfo(int $id) { - $field = 'id,question_type,question_content_type,question_content,option_a_content_type,option_a_content,option_b_content_type,option_b_content,option_c_content_type,option_c_content,option_d_content_type,option_d_content,correct_answer,created_at,updated_at'; + $field = 'id,title,question_type,question_content_type,question_content,option_json,created_at,updated_at'; $info = $this->model->field($field)->where([['id', "=", $id]])->findOrEmpty()->toArray(); return $info; @@ -94,6 +94,6 @@ class ExamQuestionsService extends BaseAdminService return $res; } - + } diff --git a/niucloud/app/service/admin/exam_records/ExamRecordsService.php b/niucloud/app/service/admin/exam_records/ExamRecordsService.php index 27e4d950..0aac5faa 100644 --- a/niucloud/app/service/admin/exam_records/ExamRecordsService.php +++ b/niucloud/app/service/admin/exam_records/ExamRecordsService.php @@ -12,6 +12,9 @@ namespace app\service\admin\exam_records; use app\model\exam_records\ExamRecords; +use app\model\campus\Campus; +use app\model\personnel\Personnel; +use app\model\exam_papers\ExamPapers; use core\base\BaseAdminService; @@ -39,7 +42,7 @@ class ExamRecordsService extends BaseAdminService $field = 'id,campus_id,user_id,paper_id,score,status,start_time,end_time,created_at,updated_at'; $order = 'id desc'; - $search_model = $this->model->withSearch(["id","campus_id","user_id","paper_id","score","status","start_time","end_time"], $where)->field($field)->order($order); + $search_model = $this->model->withSearch(["campus_id","paper_id","status"], $where)->with(['campus','personnel','examPapers'])->field($field)->order($order); $list = $this->pageQuery($search_model); return $list; } @@ -53,7 +56,7 @@ class ExamRecordsService extends BaseAdminService { $field = 'id,campus_id,user_id,paper_id,score,status,start_time,end_time,created_at,updated_at'; - $info = $this->model->field($field)->where([['id', "=", $id]])->findOrEmpty()->toArray(); + $info = $this->model->field($field)->where([['id', "=", $id]])->with(['campus','personnel','examPapers'])->findOrEmpty()->toArray(); return $info; } @@ -95,5 +98,20 @@ class ExamRecordsService extends BaseAdminService } + public function getCampusAll(){ + $campusModel = new Campus(); + return $campusModel->select()->toArray(); + } + + public function getPersonnelAll(){ + $personnelModel = new Personnel(); + return $personnelModel->select()->toArray(); + } + + public function getExamPapersAll(){ + $examPapersModel = new ExamPapers(); + return $examPapersModel->select()->toArray(); + } + } diff --git a/niucloud/app/service/admin/performance_records/PerformanceRecordsService.php b/niucloud/app/service/admin/performance_records/PerformanceRecordsService.php index 5e970409..ef369b98 100644 --- a/niucloud/app/service/admin/performance_records/PerformanceRecordsService.php +++ b/niucloud/app/service/admin/performance_records/PerformanceRecordsService.php @@ -12,6 +12,9 @@ namespace app\service\admin\performance_records; use app\model\performance_records\PerformanceRecords; +use app\model\personnel\Personnel; +use app\model\customer_resources\CustomerResources; +use app\model\order_table\OrderTable; use core\base\BaseAdminService; @@ -39,7 +42,7 @@ class PerformanceRecordsService extends BaseAdminService $field = 'id,staff_id,resource_id,order_id,order_status,performance_type,performance_value,remarks,created_at,updated_at'; $order = 'id desc'; - $search_model = $this->model->withSearch(["id","staff_id","resource_id","order_id","order_status","performance_type","performance_value","remarks"], $where)->field($field)->order($order); + $search_model = $this->model->withSearch(["staff_id","order_status","created_at"], $where)->with(['personnel','customerResources','orderTable'])->field($field)->order($order); $list = $this->pageQuery($search_model); return $list; } @@ -53,7 +56,7 @@ class PerformanceRecordsService extends BaseAdminService { $field = 'id,staff_id,resource_id,order_id,order_status,performance_type,performance_value,remarks,created_at,updated_at'; - $info = $this->model->field($field)->where([['id', "=", $id]])->findOrEmpty()->toArray(); + $info = $this->model->field($field)->where([['id', "=", $id]])->with(['personnel','customerResources','orderTable'])->findOrEmpty()->toArray(); return $info; } @@ -95,5 +98,20 @@ class PerformanceRecordsService extends BaseAdminService } + public function getPersonnelAll(){ + $personnelModel = new Personnel(); + return $personnelModel->select()->toArray(); + } + + public function getCustomerResourcesAll(){ + $customerResourcesModel = new CustomerResources(); + return $customerResourcesModel->select()->toArray(); + } + + public function getOrderTableAll(){ + $orderTableModel = new OrderTable(); + return $orderTableModel->select()->toArray(); + } + } diff --git a/niucloud/app/service/admin/student/StudentService.php b/niucloud/app/service/admin/student/StudentService.php new file mode 100644 index 00000000..49d47d0f --- /dev/null +++ b/niucloud/app/service/admin/student/StudentService.php @@ -0,0 +1,117 @@ +model = new Student(); + } + + /** + * 获取学员列表 + * @param array $where + * @return array + */ + public function getPage(array $where = []) + { + $field = 'id,campus_id,class_id,user_id,name,gender,age,birthday,emergency_contact,contact_phone,note,status,created_at,updated_at,deleted_at'; + $order = 'id asc'; + + $search_model = $this->model->withSearch(["campus_id","name","emergency_contact","contact_phone","created_at"], $where)->with(['campus','classGrade','member'])->field($field)->order($order); + $list = $this->pageQuery($search_model); + return $list; + } + + /** + * 获取学员信息 + * @param int $id + * @return array + */ + public function getInfo(int $id) + { + $field = 'id,campus_id,class_id,user_id,name,gender,age,birthday,emergency_contact,contact_phone,note,status,created_at,updated_at,deleted_at'; + + $info = $this->model->field($field)->where([['id', "=", $id]])->with(['campus','classGrade','member'])->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 getCampusAll(){ + $campusModel = new Campus(); + return $campusModel->select()->toArray(); + } + + public function getClassGradeAll(){ + $classGradeModel = new ClassGrade(); + return $classGradeModel->select()->toArray(); + } + + public function getMemberAll(){ + $memberModel = new Member(); + return $memberModel->select()->toArray(); + } + + +} diff --git a/niucloud/app/validate/attendance/Attendance.php b/niucloud/app/validate/attendance/Attendance.php index f276854c..d9c4b63e 100644 --- a/niucloud/app/validate/attendance/Attendance.php +++ b/niucloud/app/validate/attendance/Attendance.php @@ -23,6 +23,8 @@ class Attendance extends BaseValidate 'campus_id' => 'require', 'staff_id' => 'require', 'attendance_date' => 'require', + 'check_in_time' => 'require', + 'check_out_time' => 'require', 'status' => 'require', ]; @@ -30,12 +32,14 @@ class Attendance extends BaseValidate 'campus_id.require' => ['common_validate.require', ['campus_id']], 'staff_id.require' => ['common_validate.require', ['staff_id']], 'attendance_date.require' => ['common_validate.require', ['attendance_date']], + 'check_in_time.require' => ['common_validate.require', ['check_in_time']], + 'check_out_time.require' => ['common_validate.require', ['check_out_time']], 'status.require' => ['common_validate.require', ['status']], ]; protected $scene = [ - "add" => ['campus_id', 'staff_id', 'attendance_date', 'check_in_time', 'check_out_time', 'status', 'remarks', 'created_at', 'updated_at', 'coordinate'], - "edit" => ['campus_id', 'staff_id', 'attendance_date', 'check_in_time', 'check_out_time', 'status', 'remarks', 'created_at', 'updated_at', 'coordinate'] + "add" => ['campus_id', 'staff_id', 'attendance_date', 'check_in_time', 'check_out_time', 'remarks', 'status'], + "edit" => ['campus_id', 'staff_id', 'attendance_date', 'check_in_time', 'check_out_time', 'remarks', 'status'] ]; } diff --git a/niucloud/app/validate/contract/Contract.php b/niucloud/app/validate/contract/Contract.php index 12b40e8c..8a37e5e7 100644 --- a/niucloud/app/validate/contract/Contract.php +++ b/niucloud/app/validate/contract/Contract.php @@ -34,8 +34,8 @@ class Contract extends BaseValidate ]; protected $scene = [ - "add" => ['contract_name', 'contract_template', 'contract_status', 'contract_type', 'remarks', 'created_at', 'updated_at', 'deleted_at'], - "edit" => ['contract_name', 'contract_template', 'contract_status', 'contract_type', 'remarks', 'created_at', 'updated_at', 'deleted_at'] + "add" => ['contract_name', 'contract_template', 'contract_status', 'contract_type', 'remarks'], + "edit" => ['contract_name', 'contract_template', 'contract_status', 'contract_type', 'remarks'] ]; } diff --git a/niucloud/app/validate/exam_papers/ExamPapers.php b/niucloud/app/validate/exam_papers/ExamPapers.php index 6c1e5e9e..04450a23 100644 --- a/niucloud/app/validate/exam_papers/ExamPapers.php +++ b/niucloud/app/validate/exam_papers/ExamPapers.php @@ -21,19 +21,21 @@ class ExamPapers extends BaseValidate protected $rule = [ 'selection_mode' => 'require', - 'total_score' => 'require', - 'passing_score' => 'require', + 'total_score' => 'require|between:0,100', + 'passing_score' => 'require|between:0,100', ]; protected $message = [ 'selection_mode.require' => ['common_validate.require', ['selection_mode']], 'total_score.require' => ['common_validate.require', ['total_score']], + 'total_score.between' => ['common_validate.between', ['total_score','0','100']], 'passing_score.require' => ['common_validate.require', ['passing_score']], + 'passing_score.between' => ['common_validate.between', ['passing_score','0','100']], ]; protected $scene = [ - "add" => ['selection_mode', 'total_score', 'passing_score'], - "edit" => ['selection_mode', 'total_score', 'passing_score'] + "add" => ['selection_mode', 'questions_ids', 'total_score', 'passing_score'], + "edit" => ['selection_mode', 'questions_ids', 'total_score', 'passing_score'] ]; } diff --git a/niucloud/app/validate/exam_questions/ExamQuestions.php b/niucloud/app/validate/exam_questions/ExamQuestions.php index 92755f49..84f76ba3 100644 --- a/niucloud/app/validate/exam_questions/ExamQuestions.php +++ b/niucloud/app/validate/exam_questions/ExamQuestions.php @@ -20,22 +20,24 @@ class ExamQuestions extends BaseValidate { protected $rule = [ + 'title' => 'require', 'question_type' => 'require', 'question_content_type' => 'require', 'question_content' => 'require', - 'correct_answer' => 'require', + 'option_json' => 'require', ]; protected $message = [ + 'title.require' => ['common_validate.require', ['title']], 'question_type.require' => ['common_validate.require', ['question_type']], 'question_content_type.require' => ['common_validate.require', ['question_content_type']], 'question_content.require' => ['common_validate.require', ['question_content']], - 'correct_answer.require' => ['common_validate.require', ['correct_answer']], + 'option_json.require' => ['common_validate.require', ['option_json']], ]; protected $scene = [ - "add" => ['question_type', 'question_content_type', 'question_content', 'option_a_content_type', 'option_a_content', 'option_b_content_type', 'option_b_content', 'option_c_content_type', 'option_c_content', 'option_d_content_type', 'option_d_content', 'correct_answer'], - "edit" => ['question_type', 'question_content_type', 'question_content', 'option_a_content_type', 'option_a_content', 'option_b_content_type', 'option_b_content', 'option_c_content_type', 'option_c_content', 'option_d_content_type', 'option_d_content', 'correct_answer'] + "add" => ['title', 'question_type', 'question_content_type', 'question_content', 'option_json'], + "edit" => ['title', 'question_type', 'question_content_type', 'question_content', 'option_json'] ]; } diff --git a/niucloud/app/validate/exam_records/ExamRecords.php b/niucloud/app/validate/exam_records/ExamRecords.php index b8a41ffe..f7086ffb 100644 --- a/niucloud/app/validate/exam_records/ExamRecords.php +++ b/niucloud/app/validate/exam_records/ExamRecords.php @@ -23,12 +23,14 @@ class ExamRecords extends BaseValidate 'campus_id' => 'require', 'user_id' => 'require', 'paper_id' => 'require', + 'score' => 'between:0,100', ]; protected $message = [ 'campus_id.require' => ['common_validate.require', ['campus_id']], 'user_id.require' => ['common_validate.require', ['user_id']], 'paper_id.require' => ['common_validate.require', ['paper_id']], + 'score.between' => ['common_validate.between', ['score','0','100']], ]; protected $scene = [ diff --git a/niucloud/app/validate/performance_records/PerformanceRecords.php b/niucloud/app/validate/performance_records/PerformanceRecords.php index d3e8bb63..13b8c1be 100644 --- a/niucloud/app/validate/performance_records/PerformanceRecords.php +++ b/niucloud/app/validate/performance_records/PerformanceRecords.php @@ -22,6 +22,7 @@ class PerformanceRecords extends BaseValidate protected $rule = [ 'staff_id' => 'require', 'resource_id' => 'require', + 'order_status' => 'require', 'performance_type' => 'require', 'performance_value' => 'require', ]; @@ -29,13 +30,14 @@ class PerformanceRecords extends BaseValidate protected $message = [ 'staff_id.require' => ['common_validate.require', ['staff_id']], 'resource_id.require' => ['common_validate.require', ['resource_id']], + 'order_status.require' => ['common_validate.require', ['order_status']], 'performance_type.require' => ['common_validate.require', ['performance_type']], 'performance_value.require' => ['common_validate.require', ['performance_value']], ]; protected $scene = [ - "add" => ['staff_id', 'resource_id', 'order_id', 'order_status', 'performance_type', 'performance_value', 'remarks'], - "edit" => ['staff_id', 'resource_id', 'order_id', 'order_status', 'performance_type', 'performance_value', 'remarks'] + "add" => ['staff_id', 'resource_id', 'order_status', 'performance_type', 'performance_value', 'remarks'], + "edit" => ['staff_id', 'resource_id', 'order_status', 'performance_type', 'performance_value', 'remarks'] ]; } diff --git a/niucloud/app/validate/student/Student.php b/niucloud/app/validate/student/Student.php new file mode 100644 index 00000000..a018ae10 --- /dev/null +++ b/niucloud/app/validate/student/Student.php @@ -0,0 +1,43 @@ + 'require', + 'user_id' => 'require', + 'name' => 'require', + 'gender' => 'require', + 'status' => 'require', + ]; + + protected $message = [ + 'class_id.require' => ['common_validate.require', ['class_id']], + 'user_id.require' => ['common_validate.require', ['user_id']], + 'name.require' => ['common_validate.require', ['name']], + 'gender.require' => ['common_validate.require', ['gender']], + 'status.require' => ['common_validate.require', ['status']], + ]; + + protected $scene = [ + "add" => ['campus_id', 'class_id', 'user_id', 'name', 'gender', 'age', 'birthday', 'emergency_contact', 'contact_phone', 'note', 'status'], + "edit" => ['campus_id', 'class_id', 'user_id', 'name', 'gender', 'age', 'birthday', 'emergency_contact', 'contact_phone', 'note', 'status'] + ]; + +}