2025-06-06 15:17:30 +08:00

147 lines
3.6 KiB
JavaScript

const { get } = require('../../../utils/http');
Page({
data: {
homeworkList: [], // 作业列表数据
pageIndex: 1, // 当前页码
pageSize: 10, // 每页数量
isLoading: false, // 加载状态
hasMore: true, // 是否有更多数据
totalCount: 0, // 总数据量
},
onLoad(options) {
this.loadHomeworkData(true);
},
onShow(){
},
// 加载作业数据
loadHomeworkData(showLoading = false) {
if (this.data.isLoading || !this.data.hasMore) return;
this.setData({ isLoading: true });
if (showLoading) {
wx.showLoading({ title: '加载中...' });
}
let params = {
PageIndex: this.data.pageIndex,
PageSize: this.data.pageSize,
IsHistory :true
};
// 使用get方法调用接口
get('Patriarch/HomeWorkRecordByTeacher', params)
.then(res => {
wx.hideLoading();
if (res.success) {
const newList = this.processHomeworkData(res.data.datas || []);
this.setData({
homeworkList: this.data.pageIndex === 1 ? newList : [...this.data.homeworkList, ...newList],
pageIndex: this.data.pageIndex + 1,
hasMore: (this.data.homeworkList.length + newList.length) < (res.data.total || 0),
totalCount: res.data.total || 0
});
} else {
wx.showToast({ title: res.message || "加载失败", icon: "none" });
}
})
.catch(err => {
wx.hideLoading();
console.error("加载作业失败:", err);
wx.showToast({ title: "网络错误", icon: "none" });
})
.finally(() => {
this.setData({ isLoading: false });
if (showLoading) {
wx.hideLoading()
wx.stopPullDownRefresh();
}
});
},
// 处理作业数据
processHomeworkData(list) {
return list.map(item => {
// 根据实际返回字段调整
const status = item.workStatus || 0; // 默认未开始
return {
id: item.id,
name: item.workName +'-'+ item.workTypeName,
startTime: this.formatTime(item.startTime),
endTime: this.formatTime(item.endTime),
statusText: this.getStatusText(status),
statusClass: this.getStatusClass(status)
};
});
},
// 格式化时间(简单示例)
formatTime(timeStr) {
if (!timeStr) return '--';
// 简单处理,实际应根据接口返回格式调整
return timeStr.length > 10 ? timeStr.substring(0, 10) : timeStr;
},
// 获取状态文本
getStatusText(status) {
const statusMap = {
1: '未开始',
2: '进行中',
3: '已结束'
};
return statusMap[status] || '';
},
// 获取状态class
getStatusClass(status) {
const classMap = {
1: 'not-started',
2: 'in-progress',
3: 'ended'
};
return classMap[status] || '';
},
// wxb15c952e563a9517
//
// 下拉刷新
onPullDownRefresh() {
this.setData({
homeworkList: [],
pageIndex: 1,
hasMore: true
});
this.loadHomeworkData(true);
},
// 上拉加载更多
onReachBottom() {
this.loadHomeworkData();
},
// 点击作业项
onHomeworkItemTap(e) {
const { id } = e.currentTarget.dataset;
wx.navigateTo({
url: `/subpackage/teacher/homework-detail/home-detail?id=${id}`
});
},
// goDetail(e){
// const {item} = e.currentTarget.dataset
// },
newWork(){
wx.navigateTo({
url: '/subpackage/teacher/new-work/new-work',
})
},
historyWork(){
wx.navigateTo({
url: '',
})
}
});