预约逻辑整理

完成预约列表、审核列表、预约详情页接口对接和逻辑处理
This commit is contained in:
471615499@qq.com 2024-09-26 22:31:45 +08:00
parent 29cfc35a84
commit e19302020f
8 changed files with 367 additions and 330 deletions

View File

@ -97,10 +97,12 @@ export function selectVisitorInvitationRecordRq(data) {
} }
// 根据id查询预约信息 // 根据id查询预约信息
export function selectReservationByIdRq(id) { export function selectReservationByIdRq(data) {
return request({ return request({
url: '/api/roomContent/selectReservationById/' + id, // url: '/api/roomContent/selectReservationById/' + id,
method: "get", url: '/app/mr/getInfo',
method: "post",
data
}); });
} }
@ -142,10 +144,12 @@ export function roomContentAddVisitorRq(data) {
// 会议室-取消预约 // 会议室-取消预约
export function cancelOrderRq(data) { export function cancelOrderRq(data) {
data.operate = 'CANCEL'
return request({ return request({
url: '/api/roomContent/cancelOrder', // url: '/api/roomContent/cancelOrder',
url: '/app/mr/handle',
method: "post", method: "post",
data data,
}); });
} }
@ -178,9 +182,10 @@ export function queryServiceMsgRq(data) {
// 提交会议预约 // 提交会议预约
export function saveChangyangMeetingRecordRq(data) { export function saveChangyangMeetingRecordRq(data) {
let act = data.mr.id == '' ? 'booking' : 'update'
return request({ return request({
// url: '/api/roomContent/saveChangyangMeetingRecord', // url: '/api/roomContent/saveChangyangMeetingRecord',
url: '/app/mr/booking', url: '/app/mr/' + act,
method: "post", method: "post",
data data
}); });

View File

@ -102,34 +102,40 @@ Page({
if (_meetingRoomId !== null) { if (_meetingRoomId !== null) {
_this.getRoomInfo(_meetingRoomId) _this.getRoomInfo(_meetingRoomId)
} }
selectReservationByIdRq(_dataId).then(res => { selectReservationByIdRq({id: _dataId}).then(res => {
console.log('编辑,获取信息', res) console.log('编辑,获取信息', res)
let recordDetail = res.mr
let roomDetail = res.room
let serveDetail = res.serve
if (_meetingRoomId === null) { if (_meetingRoomId === null) {
_meetingRoomId = res.data.roomContentId _meetingRoomId = roomDetail.id
_this.setData({ _this.setData({
meetingRoomId: _meetingRoomId, meetingRoomId: _meetingRoomId,
startTime: res.data.startTime, startTime: recordDetail.start,
endTime: res.data.endDate, endTime: recordDetail.end,
timeRange: res.data.timeRange timeRange: recordDetail.timeFormat
}) })
let serviceId = [] let serviceId = []
for (let key in res.data.reservationServes) { for (let key in serveDetail) {
let eachObj = res.data.reservationServes[key] let eachObj = serveDetail[key]
serviceId.push(eachObj.serveId) serviceId.push(eachObj.value)
} }
_this.getRoomInfo(_meetingRoomId, serviceId) _this.getRoomInfo(_meetingRoomId, serviceId)
// 计算日期和时间 // 计算日期和时间
_this.getTimeDetail(res.data.startTime, res.data.endDate) _this.getTimeDetail(recordDetail.start, recordDetail.end)
} }
_this.setData({ _this.setData({
dep: recordDetail.userOrg,
depId: recordDetail.userOrgId,
detail: { detail: {
orderUser: res.data.orderUser, orderUser: recordDetail.bookingUserName,
orderTel: res.data.orderTel, orderTel: recordDetail.bookingUserPhone,
title: res.data.title, title: recordDetail.title,
personNum: res.data.personNum, personNum: recordDetail.personNum,
leader: res.data.leader, leader: recordDetail.leader,
depName: res.data.depName, depId: recordDetail.userOrgId,
remark: res.data.remark, depName: recordDetail.userOrg,
remark: recordDetail.remark,
} }
}) })
}) })
@ -292,6 +298,7 @@ Page({
} }
let data = { let data = {
"mr": { "mr": {
"id": _this.data.rId,
"roomId": _this.data.meetingRoomId, "roomId": _this.data.meetingRoomId,
"start": _this.data.startTime, "start": _this.data.startTime,
"end": _this.data.endTime, "end": _this.data.endTime,

View File

@ -35,30 +35,36 @@ Page({
value: '' value: ''
}, },
status: { status: {
value: 1, value: 5,
option: [{ option: [{
text: '全部预约', text: '全部预约',
value: '' value: ''
}, },
{ {
text: '待审核', text: '待审核',
value: 1 value: 5
}, },
{ {
text: '待开始', text: '待开始',
value: 2 value: 7
}, },
{ {
text: '已结束', text: '已结束',
value: 3 value: 11
}, },
{ {
text: '已取消', text: '已取消',
value: 4 value: 1
}, },
{ {
text: '已驳回', text: '已驳回',
value: 5 value: 3
}, {
text: '占用',
value: 4
}, {
text: '进行中',
value: 9
}, },
] ]
} }
@ -196,17 +202,16 @@ Page({
} = param } = param
// 查询数据 // 查询数据
selectReservationListByUserIdRq({ selectReservationListByUserIdRq({
role: 5, // 按不同角色去查询预约记录。1.普通用户, 3.会议服务人员 ,5.会议管理员
pageNum, pageNum,
pageSize, pageSize,
userId,
parkId: 25,
title: _this.data.search.title.value, title: _this.data.search.title.value,
statusValue: _this.data.search.status.value status: _this.data.search.status.value
}).then(res => { }).then(res => {
console.log('selectReservationListByUserIdRq', res); console.log('selectReservationListByUserIdRq', res);
// 判断数据是否全部查询 // 判断数据是否全部查询
let queryDataList = res.page.records; let queryDataList = res.rows;
if (queryDataList && queryDataList.length > 0) { if (_this.data.reservationDataList.length < res.total) {
// 更新参数 // 更新参数
let reservationDataList = _this.data.reservationDataList.concat(_this.formartData(queryDataList)); let reservationDataList = _this.data.reservationDataList.concat(_this.formartData(queryDataList));
let reservationPageNum = _this.data.reservationPageNum + 1; let reservationPageNum = _this.data.reservationPageNum + 1;
@ -259,71 +264,74 @@ Page({
formartData(queryDataList) { formartData(queryDataList) {
// 格式化数据 // 格式化数据
return queryDataList.map(item => { return queryDataList.map(item => {
item.timeSlot = selfFormatTimeYMD(item.startTime) + ' ' + selfFormatTimeHM(item.startTime) + '~' + selfFormatTimeHM(item.endDate); item.timeSlot = selfFormatTimeYMD(item.start) + ' ' + selfFormatTimeHM(item.start) + '~' + selfFormatTimeHM(item.end);
// 状态字体颜色 // 状态字体颜色
let statusColor = "#FFB119"; let statusColor = "#FFB119";
// 按钮是否显示 // 按钮是否显示
let statusValue = item.statusValue; let statusValue = item.status;
let showPay = false; let showCancel = false // 显示取消操作
let showInvite = false; let showEdit = false // 显示编辑操作
let showCancel = false; let showSatff = false // 显示会务人员
let showDetail = false; let showApprove = false // 显示审批操作
// 待支付 0 :去支付、取消订单、查看详情 let statusName = ''
if (statusValue == 0) { // 预约状态1 取消 3 驳回 4 占用 5 待审核 7 审核通过,待开始 9 进行中 11已结束
showPay = true;
showCancel = true;
showDetail = true;
// 状态字体颜色
statusColor = "#FFB119";
}
// 待使用 1去邀请、取消订单、查看详情
if (statusValue == 1) { if (statusValue == 1) {
showInvite = true; // 取消
showCancel = true;
showDetail = true;
// 状态字体颜色 // 状态字体颜色
statusColor = "#3794FF"; statusColor = "#333333"
// 待使用 修改为 预约成功 statusName = '已取消'
item.statusName = '预约成功'
} }
// 进行中 2去邀请、查看详情
if (statusValue == 2) {
showInvite = true;
showDetail = true;
// 状态字体颜色
statusColor = "#FF4040";
}
// 已结束 3查看详情
if (statusValue == 3) { if (statusValue == 3) {
showDetail = true; // 驳回,可以修改
// 状态字体颜色 statusColor = "#333333"
statusColor = "#333333"; showCancel = true
showEdit = true
statusName = '已驳回'
} }
// 已取消 4查看详情
if (statusValue == 4) { if (statusValue == 4) {
showDetail = true; // 占用,可以修改,取消
// 状态字体颜色 showEdit = true
statusColor = "#7F7F7F"; showCancel = true
showSatff = true
statusName = '已占用'
}
if (statusValue == 5) {
// 待审核,普通用户只能取消,管理员可以修改
showEdit = true
showCancel = true
showApprove = true
showSatff = true
statusName = '待审核'
}
if (statusValue == 7) {
// 审核通过,可以取消,不允许修改
showCancel = true
showSatff = true
statusName = '已通过'
}
if (statusValue == 11) {
// 已结束
statusColor = "#333333"
statusName = '已结束'
} }
//
// 赋值 // 赋值
item.showPay = showPay; item.showCancel = showCancel
item.showInvite = showInvite; item.showEdit = showEdit
item.showCancel = showCancel; item.showApprove = showApprove
item.showDetail = showDetail; item.showSatff = showSatff
item.statusName = statusName
// 状态字体颜色 // 状态字体颜色
item.statusColor = statusColor; item.statusColor = statusColor;
// 图片 // 图片
if (item.roomContent.indoorPicUrl) { if (item.imgs) {
try { try {
item.roomContent.indoorPicUrlFirst = JSON.parse(item.roomContent.indoorPicUrl)[0].url item.indoorPicUrlFirst = item.imgs[0].url
} catch (error) { } catch (error) {
console.log(`JSON error : ${error}`); console.log(`JSON error : ${error}`);
} }
} }
return item; return item
}) })
}, },
// 跳转-预约详情 // 跳转-预约详情
@ -383,7 +391,7 @@ Page({
} }
cancelOrderRq({ cancelOrderRq({
id: id, id: id,
cancelResaon: reason content: reason
}).then(res => { }).then(res => {
console.log('cancelOrderRq', res); console.log('cancelOrderRq', res);
if (res.code == 0) { if (res.code == 0) {
@ -558,19 +566,8 @@ Page({
reservationPageNum: 1, reservationPageNum: 1,
reservationDataList: [], reservationDataList: [],
reservationIsDataAll: false, reservationIsDataAll: false,
// 搜索重置
['search.title.value']: '',
['search.status.value']: 0
})
// 获取数据
let userId = _this.data.userData.id
// 获取预约数据
_this.getReservationData({
userId,
pageNum: _this.data.reservationPageNum,
pageSize: _this.data.reservationPageSize,
}) })
_this.getDataList()
} }
}, },

View File

@ -18,25 +18,25 @@
<view class="status" style="color: {{item.statusColor}};">{{item.statusName}}</view> <view class="status" style="color: {{item.statusColor}};">{{item.statusName}}</view>
</view> </view>
<view class="contentView" bind:tap="jumpMeetingDetail" data-id="{{item.id}}"> <view class="contentView" bind:tap="jumpMeetingDetail" data-id="{{item.id}}">
<image class="img" src="{{IMG_NAME + item.roomContent.indoorPicUrlFirst}}" mode="aspectFill"></image> <image class="img" src="{{IMG_NAME + item.indoorPicUrlFirst}}" mode="aspectFill"></image>
<view class="msgView"> <view class="msgView">
<view class="title">{{item.roomContent.buildingName}} | {{item.roomContent.roomName}} | {{item.roomContent.capacityNum}} | {{item.roomContent.shape}}</view> <view class="title">{{item.floor}} | {{item.roomNum}} | {{item.capacityNum}}人 | {{item.typeName}}</view>
<view class="name">预约人: {{item.createBy}}</view> <view class="name">预约人: {{item.bookingUserName}}</view>
<view class="time">{{item.timeSlot}}</view> <view class="time">{{item.timeSlot}}</view>
</view> </view>
</view> </view>
<view class="priceView"> <view class="priceView">
<view class="cancelContent" wx:if="{{item.statusValue == 4 && item.cancelResaon}}">{{item.cancelResaon}}</view> <view class="cancelContent" wx:if="{{item.status == 1 && item.operate[0].content}}">取消原因:{{item.operate[0].content}}</view>
</view> </view>
<view class="btnView"> <view class="btnView">
<!-- <view class="btn" wx:if="{{item.showInvite}}">去邀请 <!-- <view class="btn" wx:if="{{item.showInvite}}">去邀请
<button class="shareBtn" open-type="share" data-id="{{item.id}}">转发</button> <button class="shareBtn" open-type="share" data-id="{{item.id}}">转发</button>
</view> --> </view> -->
<!-- <view class="btn" wx:if="{{item.showCancel}}" bind:tap="cancelConfirm" data-id="{{item.id}}">取消预约</view> --> <!-- <view class="btn" wx:if="{{item.showCancel}}" bind:tap="cancelConfirm" data-id="{{item.id}}">取消预约</view> -->
<van-button style="margin-right: 10rpx;" size="small" plain type="info" wx:if="{{item.showCancel}}" bind:tap="editConfirm" data-id="{{item.id}}">修改信息</van-button> <van-button style="margin-right: 10rpx;" size="small" plain type="info" wx:if="{{item.showEdit}}" bind:tap="editConfirm" data-id="{{item.id}}">修改信息</van-button>
<van-button style="margin-right: 10rpx;" size="small" plain type="warning" bind:tap="goStaff" data-id="{{item.id}}">会务负责人</van-button> <van-button style="margin-right: 10rpx;" size="small" plain type="warning" wx:if="{{item.showStaff}}" bind:tap="goStaff" data-id="{{item.id}}">会务负责人</van-button>
<van-button style="margin-right: 10rpx;" size="small" plain type="primary" bind:tap="pass" data-id="{{item.id}}">通过</van-button> <van-button style="margin-right: 10rpx;" size="small" plain type="primary" wx:if="{{item.showApprove}}" bind:tap="pass" data-id="{{item.id}}">通过</van-button>
<van-button style="margin-right: 10rpx;" size="small" plain type="danger" bind:tap="rejectConfirm" data-id="{{item.id}}">驳回</van-button> <van-button style="margin-right: 10rpx;" size="small" plain type="danger" wx:if="{{item.showApprove}}" bind:tap="rejectConfirm" data-id="{{item.id}}">驳回</van-button>
<!-- <view class="btn" wx:if="{{item.showDetail}}" bind:tap="jumpMeetingDetail" data-id="{{item.id}}">查看详情</view> --> <!-- <view class="btn" wx:if="{{item.showDetail}}" bind:tap="jumpMeetingDetail" data-id="{{item.id}}">查看详情</view> -->
</view> </view>

View File

@ -106,86 +106,116 @@ Page({
getDetail() { getDetail() {
let _this = this; let _this = this;
let id = _this.data.id; let id = _this.data.id;
selectReservationByIdRq(id).then(res => { selectReservationByIdRq({id: id}).then(res => {
let detail = res.data; console.log(res)
let recordDetail = res.mr
// let detail = res.data
// 时间段 // 时间段
detail.timeSlot = selfFormatTimeYMD(detail.startTime) + ' ' + selfFormatTimeHM(detail.startTime) + '~' + selfFormatTimeHM(detail.endDate); recordDetail.timeSlot = selfFormatTimeYMD(recordDetail.start) + ' ' + selfFormatTimeHM(recordDetail.start) + '~' + selfFormatTimeHM(recordDetail.end);
// 合计时间 // 合计时间
detail.countTime = twoTimeIntervalReturnHours(detail.startTime, detail.endDate) recordDetail.countTime = twoTimeIntervalReturnHours(recordDetail.start, recordDetail.end)
// 状态字体颜色 // 状态字体颜色
let statusColor = "#FFB119"; let statusColor = "#FFB119";
// 按钮是否显示 // 按钮是否显示
let statusValue = detail.statusValue; let statusValue = recordDetail.status;
let showPay = false; let showCancel = false // 显示取消操作
let showInvite = false; let showEdit = false // 显示编辑操作
let showCancel = false; let showSatff = false // 显示会务人员
let showDetail = false; let showApprove = false // 显示审批操作
// 待支付 0 :去支付、取消订单、查看详情 let statusName = ''
if (statusValue == 0) { // 预约状态1 取消 3 驳回 4 占用 5 待审核 7 审核通过,待开始 9 进行中 11已结束
showPay = true;
showCancel = true;
showDetail = true;
// 状态字体颜色
statusColor = "#FFB119";
}
// 待使用 1去邀请、取消订单、查看详情
if (statusValue == 1) { if (statusValue == 1) {
showInvite = true; // 取消
showCancel = true;
showDetail = true;
// 状态字体颜色 // 状态字体颜色
statusColor = "#3794FF"; if (_this.data.act == '') {
// 待使用 修改为 预约成功 // 已取消 用户可修改
detail.statusName = '预约成功' showEdit = true
} }
// 进行中 2去邀请、查看详情 statusColor = "#333333"
if (statusValue == 2) { statusName = '已取消'
showInvite = true;
showDetail = true;
// 状态字体颜色
statusColor = "#FF4040";
} }
// 已结束 3查看详情
if (statusValue == 3) { if (statusValue == 3) {
showDetail = true; // 驳回,可以修改
// 状态字体颜色 statusColor = "#333333"
statusColor = "#333333"; showCancel = true
showEdit = true
statusName = '已驳回'
} }
// 已取消 4查看详情
if (statusValue == 4) { if (statusValue == 4) {
showDetail = true; // 占用,可以修改,取消
// 状态字体颜色 showEdit = true
statusColor = "#7F7F7F"; showCancel = true
showSatff = true
statusName = '已占用'
}
if (statusValue == 5) {
// 待审核,普通用户只能取消,管理员可以修改
if (_this.data.act == 'approve') {
showEdit = true
showApprove = true
showSatff = true
} else {
showCancel = true
}
// showEdit = true
statusName = '待审核'
}
if (statusValue == 7) {
// 审核通过,管理员可以修改
if (_this.data.act == 'approve') {
showEdit = true
showSatff = true
}
statusName = '已通过'
}
if (statusValue == 9) {
// 进行中
statusColor = "#333333"
statusName = '进行中'
}
if (statusValue == 11) {
// 已结束
statusColor = "#333333"
statusName = '已结束'
} }
//
// 赋值 // 赋值
detail.showPay = showPay; recordDetail.showCancel = showCancel
detail.showInvite = showInvite; recordDetail.showEdit = showEdit
detail.showCancel = showCancel; recordDetail.showApprove = showApprove
detail.showDetail = showDetail; recordDetail.showSatff = showSatff
recordDetail.statusName = statusName
// 状态字体颜色 // 状态字体颜色
detail.statusColor = statusColor; recordDetail.statusColor = statusColor;
let roomDetail = res.room
recordDetail.room = roomDetail
// 图片 // 图片
if (detail.roomContent.indoorPicUrl) { if (roomDetail.imgs) {
try { try {
detail.roomContent.indoorPicUrlFirst = JSON.parse(detail.roomContent.indoorPicUrl)[0].url recordDetail.room.indoorPicUrlFirst = roomDetail.imgs[0].url
} catch (error) { } catch (error) {
console.log(`JSON error : ${error}`); console.log(`JSON error : ${error}`);
} }
} }
_this.setData({ let device = recordDetail.room.device
detail // 处理设备
}) device = device.replaceAll(' ','')
let deviceArr = device.split('#')
// 删除第一个,第一个为空
deviceArr.shift()
recordDetail.roomDevice = deviceArr
// 查询服务 // 处理服务
getMeetingRoomServiceAndEquipmentRq(_this.data.detail.roomContent.id).then(res => { let serve = res.serve
let serveArr = []
for(let key in serve) {
serveArr.push(serve[key].name)
}
recordDetail.serve = serveArr
console.log(recordDetail)
_this.setData({ _this.setData({
facilities: res.data detail: recordDetail
}) })
}) })
})
// 查询参与会议预约人员列表
_this.getInviteRecordPersonList()
}, },
// 查询参与会议预约人员列表 // 查询参与会议预约人员列表
@ -316,7 +346,7 @@ Page({
} }
cancelOrderRq({ cancelOrderRq({
id: id, id: id,
cancelResaon: reason content: reason
}).then(res => { }).then(res => {
console.log('cancelOrderRq', res); console.log('cancelOrderRq', res);
if (res.code == 0) { if (res.code == 0) {
@ -456,7 +486,7 @@ Page({
let param = { let param = {
title: detail.title, title: detail.title,
path: "/pages/meeting/invite/invite?id=" + id, path: "/pages/meeting/invite/invite?id=" + id,
imageUrl: app.IMG_NAME + detail.roomContent.indoorPicUrlFirst, imageUrl: app.IMG_NAME + detail.room.indoorPicUrlFirst,
} }
console.log('onShareAppMessage', param); console.log('onShareAppMessage', param);
return param; return param;

View File

@ -2,10 +2,10 @@
<!-- 展示区域 --> <!-- 展示区域 -->
<view class="itemView"> <view class="itemView">
<view class="contentView"> <view class="contentView">
<image class="img" src="{{IMG_NAME + detail.roomContent.indoorPicUrlFirst}}" mode="aspectFill"></image> <image class="img" src="{{IMG_NAME + detail.room.indoorPicUrlFirst}}" mode="aspectFill"></image>
<view class="msgView"> <view class="msgView">
<view class="title">{{detail.roomContent.buildingName}} | {{detail.roomContent.roomName}} | {{detail.roomContent.capacityNum}}人 | {{detail.roomContent.shape}}</view> <view class="title">{{detail.room.floor}} | {{detail.room.roomNum}} | {{detail.roomContent.capacityNum}}人 | {{detail.room.typeName}}</view>
<view class="name">{{detail.roomContent.meetingName}}</view> <view class="name">{{detail.room.name}}</view>
<view class="time">{{detail.timeSlot}}</view> <view class="time">{{detail.timeSlot}}</view>
</view> </view>
<!-- <view class="priceView"> <!-- <view class="priceView">
@ -22,9 +22,9 @@
<view class="label">预约状态</view> <view class="label">预约状态</view>
<view class="content status" style="color: {{detail.statusColor}};">{{detail.statusName}}</view> <view class="content status" style="color: {{detail.statusColor}};">{{detail.statusName}}</view>
</view> </view>
<view class="cellView" wx:if="{{detail.statusValue == 4}}"> <view class="cellView" wx:if="{{detail.status == 1}}">
<view class="label">取消原因</view> <view class="label">取消原因</view>
<view class="content status" style="color: {{detail.statusColor}};">{{detail.cancelResaon}}</view> <view class="content status" style="color: {{detail.statusColor}};">{{detail.operate[0].content}}</view>
</view> </view>
</view> </view>
@ -48,15 +48,15 @@
</view> </view>
<view class="cellView"> <view class="cellView">
<view class="label">预约部门</view> <view class="label">预约部门</view>
<view class="content">{{detail.depName}}</view> <view class="content">{{detail.userOrg}}</view>
</view> </view>
<view class="cellView"> <view class="cellView">
<view class="label">会议预约人</view> <view class="label">会议预约人</view>
<view class="content">{{detail.userName}}</view> <view class="content">{{detail.bookingUserName}}</view>
</view> </view>
<view class="cellView"> <view class="cellView">
<view class="label">联系方式</view> <view class="label">联系方式</view>
<view class="content">{{detail.phone}}</view> <view class="content">{{detail.bookingUserPhone}}</view>
</view> </view>
<view class="cellView"> <view class="cellView">
<view class="label">备注</view> <view class="label">备注</view>
@ -65,15 +65,15 @@
<view class="serviceItemView"> <view class="serviceItemView">
<view class="label">会议室设备</view> <view class="label">会议室设备</view>
<view class="serviceItem" wx:for="{{facilities.roomItem}}" wx:key="*this"> <view class="serviceItem" wx:for="{{detail.roomDevice}}" wx:key="*this">
<view class="name">{{item.name}}</view> <view class="name">{{item}}</view>
</view> </view>
</view> </view>
<view class="serviceItemView"> <view class="serviceItemView">
<view class="label">会议服务</view> <view class="label">会议服务</view>
<view class="serviceItem" wx:for="{{detail.reservationServes}}" wx:key="*this"> <view class="serviceItem" wx:for="{{detail.serve}}" wx:key="*this">
<view class="name">{{item.serveName}}</view> <view class="name">{{item}}</view>
<!-- <view class="name">{{item.num}}</view> --> <!-- <view class="name">{{item.num}}</view> -->
</view> </view>
</view> </view>
@ -83,29 +83,16 @@
</view> </view>
</view> </view>
<!-- 参与人员 -->
<!-- <view class="basicView">
<view class="labelTitle leftLineTitle">参与人员({{joinPersonList.length}}/{{detail.personNum}}</view>
<view class="cellView borderNone">
<view class="joinView">
<view class="joinPersonView" wx:for="{{joinPersonList}}" wx:key="*this">
<image class="img" src="{{item.avatar ? IMG_NAME + item.avatar : IMG_NAME + '/profile/static/user/headImg.png'}}" mode="aspectFill"></image>
<view class="name">{{item.userName}}</view>
</view>
</view>
</view>
</view> -->
<!-- 底部区域 --> <!-- 底部区域 -->
<view class="bottomFix" wx:if="{{detail.showPay || detail.showInvite || detail.showCancel}}"> <view class="bottomFix" wx:if="{{detail.showEdit || detail.showCancel || detail.showApprove}}">
<!-- <view class="btn" wx:if="{{detail.showPay}}" bind:tap="jumpPay" data-id="{{detail.id}}">去支付</view> --> <!-- <view class="btn" wx:if="{{detail.showPay}}" bind:tap="jumpPay" data-id="{{detail.id}}">去支付</view> -->
<!-- <view class="btn" wx:if="{{detail.showInvite}}">去邀请 <!-- <view class="btn" wx:if="{{detail.showInvite}}">去邀请
<button class="shareBtn" open-type="share" data-id="{{detail.id}}">转发</button> <button class="shareBtn" open-type="share" data-id="{{detail.id}}">转发</button>
</view> --> </view> -->
<van-button style="margin-right: 10rpx;" size="normal" plain type="warning" wx:if="{{detail.showCancel && act !== 'approve'}}" bind:tap="cancelConfirm" data-id="{{detail.id}}">取消预约</van-button> <van-button style="margin-right: 10rpx;" size="normal" plain type="warning" wx:if="{{detail.showCancel}}" bind:tap="cancelConfirm" data-id="{{detail.id}}">取消预约</van-button>
<van-button style="margin-right: 10rpx;" size="normal" plain type="info" wx:if="{{detail.showCancel}}" bind:tap="editConfirm" data-id="{{detail.id}}">修改信息</van-button> <van-button style="margin-right: 10rpx;" size="normal" plain type="info" wx:if="{{detail.showEdit}}" bind:tap="editConfirm" data-id="{{detail.id}}">修改信息</van-button>
<van-button style="margin-right: 10rpx;" size="normal" plain type="primary" wx:if="{{act === 'approve'}}" bind:tap="pass" data-id="{{detail.id}}">通过</van-button> <van-button style="margin-right: 10rpx;" size="normal" plain type="primary" wx:if="{{detail.showApprove}}" bind:tap="pass" data-id="{{detail.id}}">通过</van-button>
<van-button style="margin-right: 10rpx;" size="normal" plain type="danger" wx:if="{{act === 'approve'}}" bind:tap="rejectConfirm" data-id="{{detail.id}}">驳回</van-button> <van-button style="margin-right: 10rpx;" size="normal" plain type="danger" wx:if="{{detail.showApprove}}" bind:tap="rejectConfirm" data-id="{{detail.id}}">驳回</van-button>
<!-- <view class="btn" wx:if="{{detail.showCancel}}" bind:tap="cancelConfirm" data-id="{{detail.id}}">取消预约</view> <!-- <view class="btn" wx:if="{{detail.showCancel}}" bind:tap="cancelConfirm" data-id="{{detail.id}}">取消预约</view>
<view class="btn" wx:if="{{detail.showCancel}}" bind:tap="editConfirm" data-id="{{detail.id}}">修改信息</view> --> <view class="btn" wx:if="{{detail.showCancel}}" bind:tap="editConfirm" data-id="{{detail.id}}">修改信息</view> -->
</view> </view>

View File

@ -42,23 +42,29 @@ Page({
}, },
{ {
text: '待审核', text: '待审核',
value: 1 value: 5
}, },
{ {
text: '待开始', text: '待开始',
value: 2 value: 7
}, },
{ {
text: '已结束', text: '已结束',
value: 3 value: 11
}, },
{ {
text: '已取消', text: '已取消',
value: 4 value: 1
}, },
{ {
text: '已驳回', text: '已驳回',
value: 5 value: 3
}, {
text: '占用',
value: 4
}, {
text: '进行中',
value: 9
}, },
] ]
} }
@ -298,6 +304,14 @@ Page({
let showCancel = false // 显示取消操作 let showCancel = false // 显示取消操作
let showEdit = false // 显示编辑操作 let showEdit = false // 显示编辑操作
let statusName = '' let statusName = ''
// 该处为普通用户列表
// 1)待审核 管理员可修改 5
// 2)已取消 用户可修改 1
// 3)已驳回 用户可修改,管理员可修改
// 4)待开始 管理员可修改 7
// 5)进行中 不修改 9
// 6)已结束 不修改 11
// 预约状态1 取消 3 驳回 4 占用 5 待审核 7 审核通过,待开始 9 进行中 11已结束 // 预约状态1 取消 3 驳回 4 占用 5 待审核 7 审核通过,待开始 9 进行中 11已结束
if (statusValue == 1) { if (statusValue == 1) {
// 取消 // 取消
@ -307,6 +321,8 @@ Page({
} }
if (statusValue == 3) { if (statusValue == 3) {
// 驳回,可以修改 // 驳回,可以修改
statusColor = "#333333"
// showCancel = true
showEdit = true showEdit = true
statusName = '已驳回' statusName = '已驳回'
} }
@ -317,16 +333,18 @@ Page({
statusName = '已占用' statusName = '已占用'
} }
if (statusValue == 5) { if (statusValue == 5) {
// 待审核 // 待审核,普通用户只能取消,管理员可以修改
showEdit = true
showCancel = true
statusName = '待审核' statusName = '待审核'
} }
if (statusValue == 7) { if (statusValue == 7) {
// 审核通过,可以取消,不允许修改 // 审核通过,不允许修改
showCancel = true
statusName = '已通过' statusName = '已通过'
} }
if (statusValue == 9) {
// 已结束
statusColor = "#333333"
statusName = '进行中'
}
if (statusValue == 11) { if (statusValue == 11) {
// 已结束 // 已结束
statusColor = "#333333" statusColor = "#333333"
@ -348,7 +366,6 @@ Page({
} }
return item return item
}) })
}, },
// 跳转-支付,此处不需要 // 跳转-支付,此处不需要
@ -427,7 +444,7 @@ Page({
} }
cancelOrderRq({ cancelOrderRq({
id: id, id: id,
cancelResaon: reason content: reason
}).then(res => { }).then(res => {
console.log('cancelOrderRq', res); console.log('cancelOrderRq', res);
if (res.code == 0) { if (res.code == 0) {
@ -524,23 +541,17 @@ Page({
reservationPageNum: 1, reservationPageNum: 1,
reservationDataList: [], reservationDataList: [],
reservationIsDataAll: false, reservationIsDataAll: false,
// 搜索重置
['search.title.value']: '',
['search.status.value']: 0
// 参与记录参数
// participatePageNum: 1,
// participateDataList: [],
// participateIsDataAll: false,
}) })
// 刷新预约数据
_this.getDataList()
// 获取数据 // 获取数据
let userId = _this.data.userData.id // let userId = _this.data.userData.id
// 获取预约数据 // // 获取预约数据
_this.getReservationData({ // _this.getReservationData({
userId, // userId,
pageNum: _this.data.reservationPageNum, // pageNum: _this.data.reservationPageNum,
pageSize: _this.data.reservationPageSize, // pageSize: _this.data.reservationPageSize,
}) // })
// 获取参与数据 // 获取参与数据
// _this.getParticipateData({ // _this.getParticipateData({
// userId, // userId,

View File

@ -71,13 +71,13 @@
<view class="contentView" bind:tap="jumpMeetingDetail" data-id="{{item.id}}"> <view class="contentView" bind:tap="jumpMeetingDetail" data-id="{{item.id}}">
<image class="img" src="{{IMG_NAME + item.indoorPicUrlFirst}}" mode="aspectFill"></image> <image class="img" src="{{IMG_NAME + item.indoorPicUrlFirst}}" mode="aspectFill"></image>
<view class="msgView"> <view class="msgView">
<view class="title">{{item.floor}} | {{item.roomNum}} | {{item.capacityNum}} | {{item.typeName}}</view> <view class="title">{{item.floor}} | {{item.roomNum}} | {{item.capacityNum}} | {{item.typeName}}</view>
<view class="name">预约人: {{item.bookingUserName}}</view> <view class="name">预约人: {{item.bookingUserName}}</view>
<view class="time">{{item.timeSlot}}</view> <view class="time">{{item.timeSlot}}</view>
</view> </view>
</view> </view>
<view class="priceView"> <view class="priceView">
<view class="cancelContent" wx:if="{{item.statusValue == 4 && item.cancelResaon}}">{{item.cancelResaon}}</view> <view class="cancelContent" wx:if="{{item.status == 1 && item.operate[0].content}}">取消原因:{{item.operate[0].content}}</view>
</view> </view>
<view class="btnView"> <view class="btnView">
<!-- <view class="btn" wx:if="{{item.showInvite}}">去邀请 <!-- <view class="btn" wx:if="{{item.showInvite}}">去邀请