287 lines
7.5 KiB
JavaScript
Raw Normal View History

2024-02-26 17:17:27 +08:00
const app = getApp()
2024-03-01 16:42:56 +08:00
import {
meetingRoomDict,
2024-03-01 17:41:59 +08:00
meetingRoomListRq,
2024-03-01 16:42:56 +08:00
} from "../../../api/meeting/meetingRoom.js"
2024-05-17 09:15:54 +08:00
import Notify from '@vant/weapp/notify/notify';
2024-02-26 09:06:34 +08:00
Page({
/**
* 页面的初始数据
*/
data: {
2024-03-01 15:07:02 +08:00
IMG_NAME: app.IMG_NAME,
2024-03-01 17:41:59 +08:00
roomDataList: [],
2024-03-01 15:07:02 +08:00
queryParam: {
meetingTypeDict: {
2024-03-01 16:42:56 +08:00
list: [],
value: null,
},
personDict: {
list: [],
value: null,
},
itemDict: {
list: [],
value: null,
title: '设备'
},
shapeDict: {
list: [],
value: null,
},
2024-03-01 15:07:02 +08:00
}
2024-02-26 09:06:34 +08:00
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
// 页面初始化 options为页面跳转所带来的参数
2024-03-12 17:30:21 +08:00
if (options.name) {
wx.setNavigationBarTitle({
title: options.name
})
}
2024-03-01 16:42:56 +08:00
// 初始化数据
this.initData();
},
// 初始化数据
initData() {
let _this = this;
// 1.会议室类型2.人数3.会议室设备4.形式
meetingRoomDict("1").then(res => {
console.log('meetingRoomDict("1")', res);
// 封装参数
let list = res.roomContents.map(item => {
return {
text: item.typeName,
value: item.typeValue
}
})
list = [{
text: "类型",
value: null
}, ...list]
// 赋值参数
let queryParam = _this.data.queryParam;
queryParam.meetingTypeDict.list = list;
_this.setData({
queryParam
})
console.log('meetingRoomDict("1")=>', list);
})
meetingRoomDict("2").then(res => {
console.log('meetingRoomDict("2")', res);
// 封装参数
let list = res.roomContents.map(item => {
return {
text: item.capacityNum + '人',
value: item.capacityNum
}
})
list = [{
text: "人数",
value: null
}, ...list]
// 赋值参数
let queryParam = _this.data.queryParam;
queryParam.personDict.list = list;
_this.setData({
queryParam
})
console.log('meetingRoomDict("2")=>', list);
})
meetingRoomDict("3").then(res => {
console.log('meetingRoomDict("3")', res);
// 封装参数
let list = res.roomItem.map(item => {
return {
text: item.name,
2024-03-02 15:43:06 +08:00
value: item.id
2024-03-01 16:42:56 +08:00
}
})
// 赋值参数
let queryParam = _this.data.queryParam;
queryParam.itemDict.list = list;
_this.setData({
queryParam
})
console.log('meetingRoomDict("3")=>', list);
})
meetingRoomDict("4").then(res => {
console.log('meetingRoomDict("4")', res);
// 封装参数
let list = res.roomContents.map(item => {
return {
text: item.shape,
value: item.shape
}
})
list = [{
text: "形式",
value: null
}, ...list]
// 赋值参数
let queryParam = _this.data.queryParam;
queryParam.shapeDict.list = list;
_this.setData({
queryParam
})
console.log('meetingRoomDict("4")=>', list);
})
2024-03-01 17:41:59 +08:00
// 数据-会议室列表
this.meetingRoomList()
2024-02-26 09:06:34 +08:00
},
2024-03-01 16:42:56 +08:00
// 查询条件变动
dictChange(e) {
console.log('dictChange', e);
2024-03-01 15:07:02 +08:00
let queryParam = this.data.queryParam;
2024-03-01 16:42:56 +08:00
queryParam[e.currentTarget.dataset.type].value = e.detail;
2024-03-01 15:07:02 +08:00
this.setData({
queryParam
})
2024-03-01 17:41:59 +08:00
// 数据-会议室列表
this.meetingRoomList()
2024-03-01 15:07:02 +08:00
},
2024-03-01 16:42:56 +08:00
// 设备-多选
dictSwitchChange(e) {
console.log('dictSwitchChange', e);
let select = e.detail;
let name = e.currentTarget.dataset.name;
2024-03-02 15:43:06 +08:00
let id = e.currentTarget.dataset.id;
2024-03-01 16:42:56 +08:00
let queryParam = this.data.queryParam;
queryParam.itemDict.list = queryParam.itemDict.list.map(item => {
2024-03-02 15:43:06 +08:00
if (item.value == id) {
2024-03-01 16:42:56 +08:00
item.select = select;
}
return item
})
2024-03-01 17:41:59 +08:00
// 计算选择数量
let selectCount = queryParam.itemDict.list.filter(item => item.select).length;
console.log('selectCount', selectCount);
if (selectCount > 0) {
queryParam.itemDict.title = '设备+' + selectCount;
} else {
queryParam.itemDict.title = '设备';
}
2024-03-01 16:42:56 +08:00
this.setData({
queryParam
})
2024-03-01 17:41:59 +08:00
// 数据-会议室列表
this.meetingRoomList()
2024-03-01 16:42:56 +08:00
},
2024-03-01 17:41:59 +08:00
// 设备多选收起
2024-03-01 16:42:56 +08:00
itemDictConfirm() {
this.selectComponent('#itemSelect').toggle();
},
2024-03-01 17:41:59 +08:00
// 数据-会议室列表
meetingRoomList() {
let _this = this;
let queryParam = _this.data.queryParam;
let roomItemList = queryParam.itemDict.list.filter(item => item.select).map(item => {
return {
2024-03-02 15:43:06 +08:00
"id": item.value,
"name": item.text
2024-03-01 17:41:59 +08:00
}
})
let param = {
"type": queryParam.meetingTypeDict.value,
"capacityNum": queryParam.personDict.value,
"roomItemList": roomItemList,
"shape": queryParam.shapeDict.value,
}
// 会议室列表数据
meetingRoomListRq(param).then(res => {
console.log('meetingRoomListRq', res);
let roomDataList = res.rows.map(item => {
if (item.indoorPicUrl) {
try {
item.indoorPicUrlFirst = JSON.parse(item.indoorPicUrl)[0].url
} catch (error) {
console.log(`JSON error : ${error}`);
}
}
return item
})
2024-03-02 15:17:40 +08:00
_this.setData({
roomDataList
2024-03-02 15:17:40 +08:00
})
2024-03-01 17:41:59 +08:00
})
},
2024-02-26 17:17:27 +08:00
// 会议室
2024-03-02 15:17:40 +08:00
jumpMeetingRoom(e) {
2024-03-12 17:30:21 +08:00
console.log('jumpMeetingRoom', e);
2024-05-17 09:15:54 +08:00
if (e.currentTarget.dataset.id == 47) {
Notify({
type: 'danger',
message: '内部会议室不可预约',
duration: 3 * 1000,
});
return
}
// 跳转预约详情
2024-02-26 17:17:27 +08:00
wx.navigateTo({
2024-03-02 15:17:40 +08:00
url: "/pages/meeting/meetingRoom/meetingRoom?id=" + e.currentTarget.dataset.id,
2024-02-26 17:17:27 +08:00
})
},
2024-02-26 09:06:34 +08:00
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})