mirror of
https://gitee.com/elegant_wings/dbd-meeting-wx-small.git
synced 2025-06-22 06:39:37 +08:00
361 lines
8.8 KiB
JavaScript
361 lines
8.8 KiB
JavaScript
const app = getApp()
|
||
|
||
import Dialog from '@vant/weapp/dialog/dialog';
|
||
import Notify from '@vant/weapp/notify/notify';
|
||
|
||
import {
|
||
selfFormatTimeYMD,
|
||
selfFormatTimeHM
|
||
} from "../../../../utils/util.js"
|
||
|
||
import {
|
||
selectReservationListByUserIdRq,
|
||
selectVisitorInvitationRecordRq,
|
||
cancelOrderRq,
|
||
approveOrderRq
|
||
} from "../../../../api/meeting/meetingRoom.js"
|
||
|
||
Page({
|
||
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
IMG_NAME: app.IMG_NAME,
|
||
userData: null,
|
||
dataChange: false,
|
||
tabTitle: '会务服务',
|
||
// 预约记录参数
|
||
reservationPageNum: 1,
|
||
reservationPageSize: 10,
|
||
reservationDataList: [],
|
||
reservationIsDataAll: false,
|
||
search: {
|
||
title: {
|
||
text: '会议名称',
|
||
value: ''
|
||
},
|
||
status: {
|
||
value: 7,
|
||
option: [{
|
||
text: '全部会议',
|
||
value: ''
|
||
},
|
||
{
|
||
text: '待开始',
|
||
value: 7
|
||
},
|
||
{
|
||
text: '已结束',
|
||
value: 11
|
||
},
|
||
{
|
||
text: '进行中',
|
||
value: 9
|
||
},
|
||
]
|
||
}
|
||
},
|
||
},
|
||
changeSearchTitle(e) {
|
||
this.setData({
|
||
['search.title.value']: e.detail,
|
||
})
|
||
},
|
||
searchTitle() {
|
||
// 刷新预约数据
|
||
this.setData({
|
||
reservationPageNum: 1,
|
||
reservationDataList: [],
|
||
reservationIsDataAll: false,
|
||
})
|
||
this.getDataList()
|
||
this.selectComponent('#item').toggle()
|
||
},
|
||
changeSearchStatus(e) {
|
||
// 刷新预约数据
|
||
this.setData({
|
||
reservationPageNum: 1,
|
||
reservationDataList: [],
|
||
reservationIsDataAll: false,
|
||
['search.status.value']: e.detail
|
||
})
|
||
this.getDataList()
|
||
},
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad(options) {
|
||
let _this = this;
|
||
_this.setData({
|
||
userData: wx.getStorageSync('user'),
|
||
})
|
||
// 获取数据
|
||
let userId = _this.data.userData.id
|
||
// 获取预约数据
|
||
_this.getReservationData({
|
||
userId,
|
||
pageNum: _this.data.reservationPageNum,
|
||
pageSize: _this.data.reservationPageSize,
|
||
})
|
||
},
|
||
|
||
// 获取数据
|
||
getDataList() {
|
||
// 获取参数
|
||
let _this = this;
|
||
let tabTitle = _this.data.tabTitle
|
||
let userId = _this.data.userData.id
|
||
let isDataAll = null
|
||
let pageNum = null
|
||
let pageSize = null
|
||
// 预约记录参数,目前只保留预约记录,其余去掉
|
||
isDataAll = _this.data.reservationIsDataAll
|
||
pageNum = _this.data.reservationPageNum
|
||
pageSize = _this.data.reservationPageSize
|
||
|
||
// 判断数据是否已全部加载
|
||
if (isDataAll) {
|
||
return;
|
||
}
|
||
// 传递参数
|
||
let param = {
|
||
userId,
|
||
pageNum,
|
||
pageSize
|
||
}
|
||
_this.getReservationData(param)
|
||
},
|
||
|
||
// 获取预约数据
|
||
getReservationData(param) {
|
||
let _this = this;
|
||
let {
|
||
pageNum,
|
||
pageSize,
|
||
userId
|
||
} = param
|
||
// 查询数据
|
||
selectReservationListByUserIdRq({
|
||
role: 3, // 按不同角色去查询预约记录。1.普通用户, 3.会议服务人员 ,5.会议管理员
|
||
pageNum,
|
||
pageSize,
|
||
title: _this.data.search.title.value,
|
||
status: _this.data.search.status.value
|
||
}).then(res => {
|
||
console.log('selectReservationListByUserIdRq', res);
|
||
// 判断数据是否全部查询
|
||
let queryDataList = res.rows;
|
||
if (_this.data.reservationDataList.length < res.total) {
|
||
// 更新参数
|
||
let reservationDataList = _this.data.reservationDataList.concat(_this.formartData(queryDataList));
|
||
let reservationPageNum = _this.data.reservationPageNum + 1;
|
||
_this.setData({
|
||
reservationPageNum,
|
||
reservationDataList,
|
||
})
|
||
// 超过总大小,则加载完成
|
||
if (_this.data.reservationDataList.length >= res.total) {
|
||
_this.setData({
|
||
reservationIsDataAll: true
|
||
})
|
||
}
|
||
} else {
|
||
_this.setData({
|
||
reservationIsDataAll: true
|
||
})
|
||
}
|
||
})
|
||
},
|
||
|
||
// 获取参与数据,此处不需要
|
||
getParticipateData(param) {
|
||
let _this = this;
|
||
let {
|
||
pageNum,
|
||
pageSize,
|
||
userId
|
||
} = param
|
||
// 查询数据
|
||
selectVisitorInvitationRecordRq({
|
||
pageNum,
|
||
pageSize,
|
||
userId
|
||
}).then(res => {
|
||
console.log('selectVisitorInvitationRecordRq', res);
|
||
// 判断数据是否全部查询
|
||
let queryDataList = res.page.records;
|
||
if (queryDataList && queryDataList.length > 0) {
|
||
// 更新参数
|
||
let participateDataList = _this.data.participateDataList.concat(_this.formartData(queryDataList));
|
||
let participatePageNum = _this.data.participatePageNum + 1;
|
||
_this.setData({
|
||
participatePageNum,
|
||
participateDataList,
|
||
})
|
||
} else {
|
||
_this.setData({
|
||
participateIsDataAll: true
|
||
})
|
||
}
|
||
})
|
||
},
|
||
|
||
// 格式化数据
|
||
formartData(queryDataList) {
|
||
// 格式化数据
|
||
return queryDataList.map(item => {
|
||
item.timeSlot = selfFormatTimeYMD(item.start) + ' '+ getWeekday(item.start) + ' ' + selfFormatTimeHM(item.start) + '~' + selfFormatTimeHM(item.end);
|
||
// 状态字体颜色
|
||
let statusColor = "#FFB119";
|
||
// 按钮是否显示
|
||
let statusValue = item.status;
|
||
let showCancel = false // 显示取消操作
|
||
let showEdit = false // 显示编辑操作
|
||
let showStaff = false // 显示会务人员
|
||
let showApprove = false // 显示审批操作
|
||
let statusName = ''
|
||
// 预约状态,1 取消 3 驳回 4 占用 5 待审核 7 审核通过,待开始 9 进行中 11已结束
|
||
if (statusValue == 1) {
|
||
// 取消
|
||
// 状态字体颜色
|
||
statusColor = "#333333"
|
||
statusName = '已取消'
|
||
}
|
||
if (statusValue == 3) {
|
||
// 驳回,可以修改
|
||
statusColor = "#333333"
|
||
showCancel = true
|
||
showEdit = true
|
||
statusName = '已驳回'
|
||
}
|
||
if (statusValue == 4) {
|
||
// 占用,可以修改,取消
|
||
showEdit = true
|
||
showCancel = true
|
||
showStaff = true
|
||
statusName = '已占用'
|
||
}
|
||
if (statusValue == 5) {
|
||
// 待审核,普通用户只能取消,管理员可以修改
|
||
showEdit = true
|
||
showCancel = true
|
||
showApprove = true
|
||
showStaff = true
|
||
statusName = '待审核'
|
||
}
|
||
if (statusValue == 7) {
|
||
// 审核通过,可以取消,不允许修改
|
||
showCancel = true
|
||
showStaff = true
|
||
statusName = '待开始'
|
||
}
|
||
if (statusValue == 11) {
|
||
// 已结束
|
||
statusColor = "#333333"
|
||
statusName = '已结束'
|
||
}
|
||
// 赋值
|
||
item.showCancel = false
|
||
item.showEdit = false
|
||
item.showApprove = false
|
||
item.showStaff = false
|
||
item.statusName = statusName
|
||
// 状态字体颜色
|
||
item.statusColor = statusColor;
|
||
// 图片
|
||
if (item.imgs) {
|
||
try {
|
||
item.indoorPicUrlFirst = item.imgs[0].url
|
||
} catch (error) {
|
||
console.log(`JSON error : ${error}`);
|
||
}
|
||
}
|
||
return item
|
||
})
|
||
},
|
||
|
||
// 跳转-预约详情
|
||
jumpMeetingDetail(e) {
|
||
console.log('jumpMeetingDetail', e);
|
||
let id = e.currentTarget.dataset.id
|
||
wx.navigateTo({
|
||
url: "/pages/meeting/reservationRecord/meetingRecord/meetingDetail/meetingDetail?act=serve&id=" + id,
|
||
})
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow() {
|
||
let _this = this;
|
||
// 数据是否变化
|
||
if (_this.data.dataChange) {
|
||
// 刷新数据
|
||
_this.setData({
|
||
dataChange: false,
|
||
// 预约记录参数
|
||
reservationPageNum: 1,
|
||
reservationDataList: [],
|
||
reservationIsDataAll: false,
|
||
})
|
||
_this.getDataList()
|
||
}
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh() {
|
||
console.log('onPullDownRefresh', '页面相关事件处理函数--监听用户下拉动作');
|
||
},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom() {
|
||
console.log('onReachBottom', '页面上拉触底事件的处理函数');
|
||
let _this = this;
|
||
// 获取数据
|
||
_this.getDataList()
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage(e) {
|
||
console.log('onShareAppMessage', e);
|
||
let _this = this;
|
||
let id = e.target.dataset.id;
|
||
let detail = _this.data.reservationDataList.find(item => item.id == id)
|
||
//
|
||
let param = {
|
||
title: detail.title,
|
||
path: "/pages/meeting/invite/invite?id=" + id,
|
||
imageUrl: app.IMG_NAME + detail.roomContent.indoorPicUrlFirst,
|
||
}
|
||
console.log('onShareAppMessage', param);
|
||
return param;
|
||
}
|
||
}) |