mirror of
https://gitee.com/elegant_wings/dbd-meeting-wx-small.git
synced 2025-06-21 15:29:37 +08:00
预约逻辑整理
完成预约列表、审核列表、预约详情页接口对接和逻辑处理
This commit is contained in:
parent
29cfc35a84
commit
e19302020f
@ -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
|
||||
});
|
||||
}
|
@ -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,
|
||||
|
@ -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()
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -18,26 +18,26 @@
|
||||
<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>
|
||||
</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" />
|
||||
|
@ -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;
|
||||
|
@ -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>
|
||||
|
@ -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 = '已驳回'
|
||||
}
|
||||
@ -315,18 +331,20 @@ Page({
|
||||
showEdit = true
|
||||
showCancel = true
|
||||
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,
|
||||
|
@ -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}}">去邀请
|
||||
|
Loading…
x
Reference in New Issue
Block a user