预约逻辑整理

完成预约列表、审核列表、预约详情页接口对接和逻辑处理
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

@ -1,51 +1,51 @@
import {
request
request
} from '../selfRequest';
// 查询条件筛选,废弃
// 1.会议室类型2.人数3.会议室设备4.形式
export function meetingRoomDict(param) {
return request({
// url: '/api/roomContent/searchInfo/' + param,
url: '/app/mr/getConstData',
method: "post",
});
return request({
// url: '/api/roomContent/searchInfo/' + param,
url: '/app/mr/getConstData',
method: "post",
});
}
// 会议室列表
export function meetingRoomListRq(data) {
return request({
// url: '/api/roomContent/list',
url: '/app/mr/getAllRoom',
method: "post",
data
});
return request({
// url: '/api/roomContent/list',
url: '/app/mr/getAllRoom',
method: "post",
data
});
}
// 会议室详情信息
export function meetingRoomDetailRq(data) {
return request({
url: '/app/mr/roomMrs',
method: "post",
data
});
return request({
url: '/app/mr/roomMrs',
method: "post",
data
});
}
// 当前会议室已预约的记录
export function meetingRoomBookedRecordRq(id) {
return request({
url: '/api/roomContent/getMeetingRoomRecord/' + id,
method: "get",
});
return request({
url: '/api/roomContent/getMeetingRoomRecord/' + id,
method: "get",
});
}
// 当前会议室是否可以预约
export function selectFreeMeetingRoomRq(data) {
return request({
url: '/api/roomContent/selectFreeMeetingRoom',
method: "post",
data
});
return request({
url: '/api/roomContent/selectFreeMeetingRoom',
method: "post",
data
});
}
// 获取优惠卷
@ -53,135 +53,140 @@ export function selectFreeMeetingRoomRq(data) {
// "customerId":33,
// "type":1 类型 1.会议室2.展厅
export function getCustomerTicketRq(data) {
return request({
url: '/api/roomContent/getCustomerTicket',
method: "post",
data
});
return request({
url: '/api/roomContent/getCustomerTicket',
method: "post",
data
});
}
// 计算会议室金额
export function calculateMeetingRoomAmountRq(data) {
return request({
url: '/api/roomContent/calculateMeetingRoomAmount',
method: "post",
data
});
return request({
url: '/api/roomContent/calculateMeetingRoomAmount',
method: "post",
data
});
}
// 提交会议预约
export function saveMeetingRecordRq(data) {
return request({
url: '/api/roomContent/saveMeetingRecord',
method: "post",
data
});
return request({
url: '/api/roomContent/saveMeetingRecord',
method: "post",
data
});
}
// 根据用户id查询预约记录
export function selectReservationListByUserIdRq(data) {
return request({
// url: '/api/roomContent/selectReservationListByUserId?pageNum=' + data.pageNum + '&pageSize=' + data.pageSize,
url: '/app/mr/list?pageNum=' + data.pageNum + '&pageSize=' + data.pageSize,
method: "post",
data
});
return request({
// url: '/api/roomContent/selectReservationListByUserId?pageNum=' + data.pageNum + '&pageSize=' + data.pageSize,
url: '/app/mr/list?pageNum=' + data.pageNum + '&pageSize=' + data.pageSize,
method: "post",
data
});
}
// 根据用户id查询参与记录
export function selectVisitorInvitationRecordRq(data) {
return request({
url: '/api/visitor/selectVisitorInvitationRecord/' + data.userId + '?pageNum=' + data.pageNum + '&pageSize=' + data.pageSize,
method: "get",
});
return request({
url: '/api/visitor/selectVisitorInvitationRecord/' + data.userId + '?pageNum=' + data.pageNum + '&pageSize=' + data.pageSize,
method: "get",
});
}
// 根据id查询预约信息
export function selectReservationByIdRq(id) {
return request({
url: '/api/roomContent/selectReservationById/' + id,
method: "get",
});
export function selectReservationByIdRq(data) {
return request({
// url: '/api/roomContent/selectReservationById/' + id,
url: '/app/mr/getInfo',
method: "post",
data
});
}
// 获取公司地址信息经纬度
export function selectCoordinateRq(data) {
return request({
url: '/api/roomContent/selectCoordinate',
method: "get",
data
});
return request({
url: '/api/roomContent/selectCoordinate',
method: "get",
data
});
}
// 根据会议室id查询所有的会议室服务与设备
export function getMeetingRoomServiceAndEquipmentRq(id) {
return request({
url: '/api/roomContent/getMeetingRoomServiceAndEquipment/' + id,
method: "get",
});
return request({
url: '/api/roomContent/getMeetingRoomServiceAndEquipment/' + id,
method: "get",
});
}
// 判断是否参与过会议
export function roomContentIsVisitorRq(data) {
return request({
url: '/api/roomContent/isVisitor',
method: "post",
data
});
return request({
url: '/api/roomContent/isVisitor',
method: "post",
data
});
}
// 参与会议
export function roomContentAddVisitorRq(data) {
return request({
url: '/api/roomContent/addVisitor',
method: "post",
data
});
return request({
url: '/api/roomContent/addVisitor',
method: "post",
data
});
}
// 会议室-取消预约
export function cancelOrderRq(data) {
return request({
url: '/api/roomContent/cancelOrder',
method: "post",
data
});
data.operate = 'CANCEL'
return request({
// url: '/api/roomContent/cancelOrder',
url: '/app/mr/handle',
method: "post",
data,
});
}
// 会议室-支付订单
export function meetingRoomPayOrderRq(data) {
return request({
url: '/api/roomContent/payOrder',
method: "post",
data
});
return request({
url: '/api/roomContent/payOrder',
method: "post",
data
});
}
// 查询参与会议预约人员列表
export function inviteRecordPersonListRq(id) {
return request({
url: '/api/roomContent/inviteRecord?reservationId=' + id,
method: "get",
});
return request({
url: '/api/roomContent/inviteRecord?reservationId=' + id,
method: "get",
});
}
// 会议室-查询服务信息
export function queryServiceMsgRq(data) {
return request({
url: '/api/showroom/listByType',
method: "post",
data
});
return request({
url: '/api/showroom/listByType',
method: "post",
data
});
}
// 提交会议预约
export function saveChangyangMeetingRecordRq(data) {
return request({
// url: '/api/roomContent/saveChangyangMeetingRecord',
url: '/app/mr/booking',
method: "post",
data
});
let act = data.mr.id == '' ? 'booking' : 'update'
return request({
// url: '/api/roomContent/saveChangyangMeetingRecord',
url: '/app/mr/' + act,
method: "post",
data
});
}

View File

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

View File

@ -35,30 +35,36 @@ Page({
value: ''
},
status: {
value: 1,
value: 5,
option: [{
text: '全部预约',
value: ''
},
{
text: '待审核',
value: 1
value: 5
},
{
text: '待开始',
value: 2
value: 7
},
{
text: '已结束',
value: 3
value: 11
},
{
text: '已取消',
value: 4
value: 1
},
{
text: '已驳回',
value: 5
value: 3
}, {
text: '占用',
value: 4
}, {
text: '进行中',
value: 9
},
]
}
@ -196,17 +202,16 @@ Page({
} = param
// 查询数据
selectReservationListByUserIdRq({
role: 5, // 按不同角色去查询预约记录。1.普通用户, 3.会议服务人员 ,5.会议管理员
pageNum,
pageSize,
userId,
parkId: 25,
title: _this.data.search.title.value,
statusValue: _this.data.search.status.value
status: _this.data.search.status.value
}).then(res => {
console.log('selectReservationListByUserIdRq', res);
// 判断数据是否全部查询
let queryDataList = res.page.records;
if (queryDataList && queryDataList.length > 0) {
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;
@ -259,71 +264,74 @@ Page({
formartData(queryDataList) {
// 格式化数据
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 statusValue = item.statusValue;
let showPay = false;
let showInvite = false;
let showCancel = false;
let showDetail = false;
// 待支付 0 :去支付、取消订单、查看详情
if (statusValue == 0) {
showPay = true;
showCancel = true;
showDetail = true;
// 状态字体颜色
statusColor = "#FFB119";
}
// 待使用 1去邀请、取消订单、查看详情
let statusValue = item.status;
let showCancel = false // 显示取消操作
let showEdit = false // 显示编辑操作
let showSatff = false // 显示会务人员
let showApprove = false // 显示审批操作
let statusName = ''
// 预约状态1 取消 3 驳回 4 占用 5 待审核 7 审核通过,待开始 9 进行中 11已结束
if (statusValue == 1) {
showInvite = true;
showCancel = true;
showDetail = true;
// 取消
// 状态字体颜色
statusColor = "#3794FF";
// 待使用 修改为 预约成功
item.statusName = '预约成功'
statusColor = "#333333"
statusName = '已取消'
}
// 进行中 2去邀请、查看详情
if (statusValue == 2) {
showInvite = true;
showDetail = true;
// 状态字体颜色
statusColor = "#FF4040";
}
// 已结束 3查看详情
if (statusValue == 3) {
showDetail = true;
// 状态字体颜色
statusColor = "#333333";
// 驳回,可以修改
statusColor = "#333333"
showCancel = true
showEdit = true
statusName = '已驳回'
}
// 已取消 4查看详情
if (statusValue == 4) {
showDetail = true;
// 状态字体颜色
statusColor = "#7F7F7F";
// 占用,可以修改,取消
showEdit = true
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.showInvite = showInvite;
item.showCancel = showCancel;
item.showDetail = showDetail;
item.showCancel = showCancel
item.showEdit = showEdit
item.showApprove = showApprove
item.showSatff = showSatff
item.statusName = statusName
// 状态字体颜色
item.statusColor = statusColor;
// 图片
if (item.roomContent.indoorPicUrl) {
if (item.imgs) {
try {
item.roomContent.indoorPicUrlFirst = JSON.parse(item.roomContent.indoorPicUrl)[0].url
item.indoorPicUrlFirst = item.imgs[0].url
} catch (error) {
console.log(`JSON error : ${error}`);
}
}
return item;
return item
})
},
// 跳转-预约详情
@ -383,7 +391,7 @@ Page({
}
cancelOrderRq({
id: id,
cancelResaon: reason
content: reason
}).then(res => {
console.log('cancelOrderRq', res);
if (res.code == 0) {
@ -558,19 +566,8 @@ Page({
reservationPageNum: 1,
reservationDataList: [],
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>
<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="title">{{item.roomContent.buildingName}} | {{item.roomContent.roomName}} | {{item.roomContent.capacityNum}} | {{item.roomContent.shape}}</view>
<view class="name">预约人: {{item.createBy}}</view>
<view class="title">{{item.floor}} | {{item.roomNum}} | {{item.capacityNum}}人 | {{item.typeName}}</view>
<view class="name">预约人: {{item.bookingUserName}}</view>
<view class="time">{{item.timeSlot}}</view>
</view>
</view>
<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 class="btnView">
<!-- <view class="btn" wx:if="{{item.showInvite}}">去邀请
<button class="shareBtn" open-type="share" data-id="{{item.id}}">转发</button>
</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="warning" 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="danger" bind:tap="rejectConfirm" 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" wx:if="{{item.showStaff}}" bind:tap="goStaff" 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" 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>
@ -46,22 +46,22 @@
</view>
</view>
<!-- 提示框 -->
<van-dialog id="van-dialog" />
<van-dialog use-slot title="驳回申请" show="{{ showRejectReason }}" show-cancel-button bind:close="onCloseRejct" bind:confirm="rejectOrder" beforeClose="{{ beforeReject }}" zIndex="109">
<van-cell-group style="margin: 20px;">
<van-field bind:change="onChangeRejectReason" value="{{ rejectReason }}" clearable label="" type="textarea" placeholder="请输入驳回原因" autosize />
</van-cell-group>
</van-dialog>
<van-dialog use-slot title="取消预约" show="{{ showCancelReason }}" show-cancel-button bind:close="onCloseCancel" bind:confirm="cancelOrder" beforeClose="{{ beforeClose }}" zIndex="109">
<van-cell-group style="margin: 20px;">
<van-field bind:change="onChangeCancelReason" value="{{ cancelReason }}" clearable label="" type="textarea" placeholder="请输入取消预约原因" autosize />
</van-cell-group>
</van-dialog>
<!-- 提示框 -->
<van-notify id="van-notify" />
<!-- 提示框 -->
<van-dialog id="van-dialog" />
<van-dialog use-slot title="驳回申请" show="{{ showRejectReason }}" show-cancel-button bind:close="onCloseRejct" bind:confirm="rejectOrder" beforeClose="{{ beforeReject }}" zIndex="109">
<van-cell-group style="margin: 20px;">
<van-field bind:change="onChangeRejectReason" value="{{ rejectReason }}" clearable label="" type="textarea" placeholder="请输入驳回原因" autosize />
</van-cell-group>
</van-dialog>
<van-dialog use-slot title="取消预约" show="{{ showCancelReason }}" show-cancel-button bind:close="onCloseCancel" bind:confirm="cancelOrder" beforeClose="{{ beforeClose }}" zIndex="109">
<van-cell-group style="margin: 20px;">
<van-field bind:change="onChangeCancelReason" value="{{ cancelReason }}" clearable label="" type="textarea" placeholder="请输入取消预约原因" autosize />
</van-cell-group>
</van-dialog>
<!-- 提示框 -->
<van-notify id="van-notify" />
<!-- 修改信息 -->
<van-action-sheet show="{{ showEdit }}" actions="{{ editAction }}" cancel-text="取消" bind:cancel="hideEdit" bind:select="editMode" bind:close="hideEdit"/>
<van-action-sheet show="{{ showEdit }}" actions="{{ editAction }}" cancel-text="取消" bind:cancel="hideEdit" bind:select="editMode" bind:close="hideEdit" />
<van-popup show="{{ timeShow }}" bind:close="hideTimePicker" position="bottom" round="true">
<van-datetime-picker title="请重新选择会议日期" type="date" value="{{ currentDate }}" min-date="{{ minDate }}" max-date="{{ maxDate }}" formatter="{{ formatter }}" bind:confirm="goRes" bind:cancel="hideTimePicker" />

View File

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

View File

@ -2,10 +2,10 @@
<!-- 展示区域 -->
<view class="itemView">
<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="title">{{detail.roomContent.buildingName}} | {{detail.roomContent.roomName}} | {{detail.roomContent.capacityNum}}人 | {{detail.roomContent.shape}}</view>
<view class="name">{{detail.roomContent.meetingName}}</view>
<view class="title">{{detail.room.floor}} | {{detail.room.roomNum}} | {{detail.roomContent.capacityNum}}人 | {{detail.room.typeName}}</view>
<view class="name">{{detail.room.name}}</view>
<view class="time">{{detail.timeSlot}}</view>
</view>
<!-- <view class="priceView">
@ -22,9 +22,9 @@
<view class="label">预约状态</view>
<view class="content status" style="color: {{detail.statusColor}};">{{detail.statusName}}</view>
</view>
<view class="cellView" wx:if="{{detail.statusValue == 4}}">
<view class="cellView" wx:if="{{detail.status == 1}}">
<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>
@ -48,15 +48,15 @@
</view>
<view class="cellView">
<view class="label">预约部门</view>
<view class="content">{{detail.depName}}</view>
<view class="content">{{detail.userOrg}}</view>
</view>
<view class="cellView">
<view class="label">会议预约人</view>
<view class="content">{{detail.userName}}</view>
<view class="content">{{detail.bookingUserName}}</view>
</view>
<view class="cellView">
<view class="label">联系方式</view>
<view class="content">{{detail.phone}}</view>
<view class="content">{{detail.bookingUserPhone}}</view>
</view>
<view class="cellView">
<view class="label">备注</view>
@ -65,15 +65,15 @@
<view class="serviceItemView">
<view class="label">会议室设备</view>
<view class="serviceItem" wx:for="{{facilities.roomItem}}" wx:key="*this">
<view class="name">{{item.name}}</view>
<view class="serviceItem" wx:for="{{detail.roomDevice}}" wx:key="*this">
<view class="name">{{item}}</view>
</view>
</view>
<view class="serviceItemView">
<view class="label">会议服务</view>
<view class="serviceItem" wx:for="{{detail.reservationServes}}" wx:key="*this">
<view class="name">{{item.serveName}}</view>
<view class="serviceItem" wx:for="{{detail.serve}}" wx:key="*this">
<view class="name">{{item}}</view>
<!-- <view class="name">{{item.num}}</view> -->
</view>
</view>
@ -83,29 +83,16 @@
</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.showInvite}}">去邀请
<button class="shareBtn" open-type="share" data-id="{{detail.id}}">转发</button>
</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="info" wx:if="{{detail.showCancel}}" 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="danger" wx:if="{{act === 'approve'}}" bind:tap="rejectConfirm" 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.showEdit}}" bind:tap="editConfirm" 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="{{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="editConfirm" data-id="{{detail.id}}">修改信息</view> -->
</view>

View File

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

View File

@ -71,13 +71,13 @@
<view class="contentView" bind:tap="jumpMeetingDetail" data-id="{{item.id}}">
<image class="img" src="{{IMG_NAME + item.indoorPicUrlFirst}}" mode="aspectFill"></image>
<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="time">{{item.timeSlot}}</view>
</view>
</view>
<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 class="btnView">
<!-- <view class="btn" wx:if="{{item.showInvite}}">去邀请