jhwxapp/miniprogram/pageage/project_train/list/index.js

219 lines
5.6 KiB
JavaScript
Raw Normal View History

2023-08-29 00:50:44 +08:00
// pageage/safetyManagement/securityCheckGR/index.js
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
deptId:"",
loginName:"",
userName:"",
projectId:"",
projectData:{},
projectNameArgs:"",
initData: {},
show:false,
listData:[],
displayListData: [], // 用于显示的数据
2023-08-29 00:50:44 +08:00
trainType:"",
title:"",
minTitle:"",
request:app.globalData.reqUrl,
currentPage: 1, // 当前页码
pageSize: 20, // 每页显示条数
totalPage: 0, // 总页数
isLoading: false // 是否正在加载
2023-08-29 00:50:44 +08:00
},
onClose(){
this.setData({ show: false });
},
showPopup() {
this.setData({ show: true });
},
skipAdd(){
wx.redirectTo({
2023-08-29 21:48:51 +08:00
url: `../add/index?projectId=${this.data.initData.id}&projectName=${this.data.initData.text}&trainType=`+this.data.trainType,
2023-08-29 00:50:44 +08:00
})
},
getInfo(e){
let {id} = e.currentTarget.dataset.set
wx.redirectTo({
url: `../info/index?id=${id}&trainType=`+this.data.trainType,
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
let {trainType} = options
//获取缓存数据
wx.getStorage({
key: 'userinfo',
success:res=>{
let title="";
let minTitle="";
if(trainType==0){
2024-01-21 20:09:42 +08:00
title="教育培训管理";
2023-08-29 00:50:44 +08:00
minTitle="培训";
}else{
title="应急演练管理";
minTitle="演练";
}
this.setData({
title,
minTitle,
trainType,
deptId:res.data.deptId,
loginName:res.data.loginName,
userName:res.data.userName,
projectId:app.globalData.projectId,
projectNameArgs:app.globalData.projectName,
minRoleId:res.data.minRoleId,
initData:{text:app.globalData.projectName,id:app.globalData.projectId}
})
this.getListData(app.globalData.projectId,res.data.deptId,trainType);
}
})
},
/**
* 查询项目举牌验收数据
*/
getListData(projectId,deptId,trainType) {
var that = this;
//判断角色,
if(this.data.minRoleId==2||this.data.minRoleId==3||this.data.minRoleId==4){
deptId=0;
}
wx.request({
url: app.globalData.reqUrl + '/wechat/projectTrain/list',
data: {
"deptId":deptId,
"trainType":trainType,
"projectId": projectId
},
method: "get",
success: function (res) {
// 计算总页数
const total = res.data.data.length;
const pageSize = that.data.pageSize;
const totalPage = Math.ceil(total / pageSize);
2023-08-29 00:50:44 +08:00
that.setData({
listData: res.data.data,
totalPage: totalPage,
displayListData: res.data.data.slice(0, pageSize),
currentPage: 1
2023-08-29 00:50:44 +08:00
})
}
})
},
returnToPage: function () {
/*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/
2023-09-02 23:45:35 +08:00
if(wx.getStorageSync('nav-menu')=="gd"){
wx.redirectTo({
2024-03-19 23:25:38 +08:00
url: '../../../pages/gengduogongneng/index',
2023-09-02 23:45:35 +08:00
})
}else{
wx.redirectTo({
url: '../../../pages/safety_manage/index',
})
}
2023-08-29 00:50:44 +08:00
},
//项目切换 返回值
onProjectSelect(e){
let projectId = e.detail.id;
let projectName = e.detail.text;
app.globalData.projectId = projectId;
app.globalData.projectName = projectName;
this.onLoad({trainType:this.data.trainType});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
// 下拉刷新,重新加载第一页数据
this.getListData(this.data.projectId, this.data.deptId, this.data.trainType);
wx.stopPullDownRefresh(); // 停止下拉刷新
2023-08-29 00:50:44 +08:00
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
this.loadMoreData();
2023-08-29 00:50:44 +08:00
},
/**
* 加载更多数据
*/
loadMoreData() {
// 如果正在加载或已到最后一页,则不再加载
if (this.data.isLoading || this.data.currentPage >= this.data.totalPage) {
return;
}
this.setData({
isLoading: true
});
// 使用 setTimeout 模拟网络请求延迟
setTimeout(() => {
const nextPage = this.data.currentPage + 1;
const pageSize = this.data.pageSize;
const startIndex = (nextPage - 1) * pageSize;
const endIndex = Math.min(startIndex + pageSize, this.data.listData.length);
// 从完整数据中取出下一页的数据
const nextData = this.data.listData.slice(startIndex, endIndex);
const newData = [...this.data.displayListData, ...nextData];
this.setData({
displayListData: newData,
currentPage: nextPage,
isLoading: false
});
}, 300); // 减少模拟延迟时间
},
2023-08-29 00:50:44 +08:00
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})