Browse Source

修改 bug

master
王泽彦 8 months ago
parent
commit
c8fa0c663a
  1. 10
      niucloud/app/api/controller/student/CourseBookingController.php
  2. 3
      niucloud/app/service/api/student/StudentService.php
  3. 16
      uniapp/api/apiRoute.js
  4. 2
      uniapp/pages-market/clue/class_arrangement_detail.vue
  5. 35
      uniapp/pages-student/course-booking/index.vue

10
niucloud/app/api/controller/student/CourseBookingController.php

@ -33,6 +33,11 @@ class CourseBookingController extends BaseController
]);
$data['student_id'] = $student_id;
// 验证student_id参数
if (empty($student_id) || !is_numeric($student_id) || $student_id <= 0) {
return fail('学员ID参数无效');
}
$this->validate($data, [
'student_id' => 'require|integer|gt:0',
'date' => 'date',
@ -101,6 +106,11 @@ class CourseBookingController extends BaseController
]);
$data['student_id'] = $student_id;
// 验证student_id参数
if (empty($student_id) || !is_numeric($student_id) || $student_id <= 0) {
return fail('学员ID参数无效');
}
$this->validate($data, [
'student_id' => 'require|integer|gt:0',
'start_date' => 'date',

3
niucloud/app/service/api/student/StudentService.php

@ -47,6 +47,9 @@ class StudentService extends BaseService
$student['gender_text'] = $student['gender'] == 1 ? '男' : '女';
$student['headimg'] = $student['headimg'] ? get_image_url($student['headimg']) : '';
// 添加student_id字段,确保前端能正确获取学员ID
$student['student_id'] = $student['id'];
// 获取学员课时统计信息
$courseStats = $this->getStudentCourseStats($student['id']);
$student['course_stats'] = $courseStats;

16
uniapp/api/apiRoute.js

@ -843,11 +843,17 @@ export default {
// 获取我的预约列表
async getMyBookingList(data = {}) {
try {
const params = {
status: data.status,
start_date: data.start_date,
end_date: data.end_date
};
// 过滤掉undefined值,避免传递"undefined"字符串
const params = {};
if (data.status !== undefined && data.status !== null && data.status !== '') {
params.status = data.status;
}
if (data.start_date !== undefined && data.start_date !== null && data.start_date !== '') {
params.start_date = data.start_date;
}
if (data.end_date !== undefined && data.end_date !== null && data.end_date !== '') {
params.end_date = data.end_date;
}
const response = await http.get('/course-booking/my-list/' + data.student_id, params);

2
uniapp/pages-market/clue/class_arrangement_detail.vue

@ -291,7 +291,7 @@
courseInfo = customer.course_info || [];
}
}
console.log('客户资源详情:', res);
this.presetStudent = {
id: res.data.id,
name: res.data.name,

35
uniapp/pages-student/course-booking/index.vue

@ -255,18 +255,17 @@
},
async loadStudentInfo() {
try {
//
const mockStudentInfo = {
id: this.studentId,
name: '小明',
remaining_courses: 24,
total_courses: 48
}
this.studentInfo = mockStudentInfo
} catch (error) {
console.error('获取学员信息失败:', error)
}
try {
// API
const response = await apiRoute.getStudentSummary(this.studentId)
if (response.code === 1) {
this.studentInfo = response.data
} else {
console.error('获取学员信息失败:', response)
}
} catch (error) {
console.error('获取学员信息失败:', error)
}
},
generateDateList() {
@ -365,7 +364,17 @@
async loadMyBookings() {
try {
console.log('加载我的预约')
console.log('加载我的预约, studentId:', this.studentId)
// studentId
if (!this.studentId || this.studentId <= 0) {
console.error('无效的studentId:', this.studentId)
uni.showToast({
title: '学员ID无效',
icon: 'none'
})
return
}
// API
const response = await apiRoute.getMyBookingList({

Loading…
Cancel
Save