Browse Source

修改 bug

master
王泽彦 1 year ago
parent
commit
96690ca9d4
  1. 14
      admin/src/app/views/course_schedule/course_schedule.vue
  2. 1
      niucloud/app/api/controller/apiController/CustomerResources.php
  3. 3
      uniapp/pages-coach/coach/schedule/adjust_course.vue
  4. 36
      uniapp/pages-coach/coach/schedule/schedule_table.vue
  5. 641
      uniapp/pages-market/clue/add_clues.vue
  6. 3
      uniapp/pages-market/clue/class_arrangement.vue
  7. 3
      uniapp/pages-market/clue/class_arrangement_detail.vue

14
admin/src/app/views/course_schedule/course_schedule.vue

@ -263,15 +263,29 @@ const venueFilterList = ref<any[]>([])
// 根据ID获取校区名称
const getCampusName = (id: string | number) => {
// 处理campusList可能是对象或数组的情况
if (Array.isArray(campusList.value)) {
const campus = campusList.value.find(item => item.id === id)
return campus ? campus.campus_name : id
} else if (campusList.value && typeof campusList.value === 'object') {
// 如果是对象格式,遍历对象的值
const campusArray = Object.values(campusList.value)
const campus = campusArray.find((item: any) => item.id === id)
return campus ? campus.campus_name : id
}
return id
}
// 获取校区列表
const loadCampusList = () => {
getWithCampusList({})
.then((res) => {
// 处理API返回的对象格式数据,转换为数组
if (res.data && typeof res.data === 'object' && !Array.isArray(res.data)) {
campusList.value = Object.values(res.data)
} else {
campusList.value = res.data || []
}
})
.catch(() => {})
}

1
niucloud/app/api/controller/apiController/CustomerResources.php

@ -115,6 +115,7 @@ class CustomerResources extends BaseApiService
"communication" => $request->param('communication', ''),//沟通备注
"staff_id" => $request->param('staff_id', ''),//人员ID
"efficacious" => $request->param('efficacious', 1),
"emotional_stickiness_score" => $request->param('emotional_stickiness_score', 1),
];
if (strlen($customer_resources_data['phone_number']) > 12) {

3
uniapp/pages-coach/coach/schedule/adjust_course.vue

@ -24,7 +24,8 @@
</view>
<view class="info-row">
<text class="info-label">授课教练:</text>
<text class="info-value">{{ scheduleInfo.coach_name }}</text>
<text class="info-value">主教练:{{ scheduleInfo.coach_name }}</text>
<text class="info-value">助教:{{ scheduleInfo.coach_name }}</text>
</view>
<view class="info-row">
<text class="info-label">上课场地:</text>

36
uniapp/pages-coach/coach/schedule/schedule_table.vue

@ -71,6 +71,11 @@
class="frozen-content-scroll"
scroll-y
:scroll-top="scrollTop"
:enable-flex="true"
:scroll-anchoring="false"
:enhanced="true"
:bounces="false"
:scroll-with-animation="false"
>
<view class="frozen-content">
<!-- 时间模式 -->
@ -132,6 +137,11 @@
scroll-x
scroll-y
:scroll-top="scrollTop"
:enable-flex="true"
:scroll-anchoring="false"
:enhanced="true"
:bounces="false"
:scroll-with-animation="false"
@scroll="onScroll"
>
<view class="schedule-container-inner" :style="{ width: tableWidth + 'rpx', minWidth: '1260rpx' }">
@ -429,6 +439,7 @@ export default {
// 滚动相关
scrollTop: 0,
scrollTimer: null, // 滚动防抖定时器
// 表格配置
tableWidth: 1500, // 表格总宽度,确保7天都能显示 (7*180+120=1380rpx)
@ -537,6 +548,12 @@ export default {
},
beforeDestroy() {
// 清理滚动定时器
if (this.scrollTimer) {
clearTimeout(this.scrollTimer)
this.scrollTimer = null
}
// 移除事件监听(仅在H5环境下)
// #ifndef MP-WEIXIN
if (typeof window !== 'undefined') {
@ -1155,12 +1172,19 @@ export default {
});
},
// 滚动事件处理函数 - 只处理垂直滚动同步
// 滚动事件处理函数 - 优化垂直滚动同步
onScroll(e) {
// 使用防抖优化滚动同步性能
if (this.scrollTimer) {
clearTimeout(this.scrollTimer)
}
this.scrollTimer = setTimeout(() => {
// 只需要同步垂直滚动位置给左侧时间列
if (e.detail.scrollTop !== undefined) {
if (e.detail.scrollTop !== undefined && e.detail.scrollTop !== this.scrollTop) {
this.scrollTop = e.detail.scrollTop
}
}, 16) // 约60fps的更新频率
},
// 单元格点击
@ -1492,6 +1516,10 @@ export default {
.frozen-content-scroll {
flex: 1;
overflow: hidden;
/* 优化滚动性能 */
-webkit-overflow-scrolling: touch;
scroll-behavior: auto;
overscroll-behavior: none;
}
.frozen-content {
@ -1578,6 +1606,10 @@ export default {
.schedule-scroll {
flex: 1;
overflow: scroll;
/* 优化滚动性能 */
-webkit-overflow-scrolling: touch;
scroll-behavior: auto;
overscroll-behavior: none;
}
.schedule-grid {

641
uniapp/pages-market/clue/add_clues.vue

File diff suppressed because it is too large

3
uniapp/pages-market/clue/class_arrangement.vue

@ -94,7 +94,8 @@
<view class="row">时间:{{ course.course_date || '未设置' }} {{ course.time_slot || '' }}</view>
<view class="row">校区:{{ course.campus_name || '未设置' }}</view>
<view class="row">教室:{{ course.venue ? course.venue.venue_name : '未设置' }}</view>
<view class="row">课程:{{ course.course ? course.course.course_name : '未设置' }}</view>
<!-- <view class="row">课程:{{ course.course ? course.course.course_name : '未设置' }}</view>-->
<view class="row">班级:{{ course.class_id ? course.classmodel.class_name : '未设置' }}</view>
<view class="row">人数:{{ course.available_capacity || 0 }}</view>
<view class="row">安排情况:{{ course.student ? course.student.length : 0 }}/{{course.max_students ? course.max_students : '不限'}}</view>
</view>

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

@ -5,7 +5,8 @@
<text class="course-title">课程安排详情</text>
<view class="course-detail">
<text class="course-item">日期:{{ schedule_info.course_date }}</text>
<text class="course-item">课程名称:{{ schedule_info.course_name }}</text>
<!-- <text class="course-item">课程名称:{{ schedule_info.course_name }}</text>-->
<text class="course-item">班级名称:{{ schedule_info.class_name }}</text>
<text class="course-item">课程时间:{{ schedule_info.time_slot }}</text>
<text class="course-item">主教练:{{ schedule_info.coach_name || '待安排' }}</text>
<text class="course-item">场地信息:{{ schedule_info.venue_name }}</text>

Loading…
Cancel
Save