初始化
This commit is contained in:
273
pages/index/index.js
Normal file
273
pages/index/index.js
Normal file
@@ -0,0 +1,273 @@
|
||||
// pages/basics/MakingRounds/MakingRounds.js
|
||||
const app = getApp()
|
||||
import {
|
||||
GetHostsInfo,
|
||||
GetMAC,
|
||||
GetFaceSN,
|
||||
ErrorInfo,
|
||||
CheckFaceSN,
|
||||
OpenDoorTest,
|
||||
GetRoomType,
|
||||
GetRoomTypeAndModalsListLog,
|
||||
WebChatUpgrade,
|
||||
QueryUpdateHostStatus,
|
||||
ForwardQueryUpdateHostProgressBar,
|
||||
GetRoomTypeNode,
|
||||
SetRCULight,
|
||||
SetRCUAir,
|
||||
SetRCUCurtain,
|
||||
} from '../../lib/RequestingCenter.js'
|
||||
Page({
|
||||
data: {
|
||||
userInfo: null,
|
||||
autho: null,
|
||||
selectGroupIndex:-1,
|
||||
ishotel: false,
|
||||
hotelIndex: 0,
|
||||
issel:false ,
|
||||
curNav:1,
|
||||
curIndex:0,
|
||||
top_height:0,
|
||||
inputValue:""
|
||||
},
|
||||
selectNav (event) {
|
||||
let id = event.target.dataset.id,
|
||||
index = parseInt(event.target.dataset.index);
|
||||
self = this;
|
||||
this.setData({
|
||||
curNav:id,
|
||||
curIndex:index
|
||||
})
|
||||
},
|
||||
///选择酒店
|
||||
SelHotel: function (e) {
|
||||
let index = e.currentTarget.dataset['index'];
|
||||
this.setData({
|
||||
hotelIndex: index
|
||||
})
|
||||
wx.setStorageSync(this.data.userInfo.Id + '_xiaoxi_hotelId', this.data.autho[this.data.selectGroupIndex].Hotels[this.data.hotelIndex].HotelId)
|
||||
},
|
||||
//确定选择酒店
|
||||
ShowSelHotel: async function (e) {
|
||||
|
||||
let id = e.currentTarget.dataset['id'];
|
||||
if(id==-1){
|
||||
id = this.data.autho[this.data.selectGroupIndex].Hotels[this.data.hotelIndex].HotelId;
|
||||
}
|
||||
if(this.data.hotelIndex>=0){
|
||||
|
||||
app.globalData.HotelId=id
|
||||
|
||||
|
||||
|
||||
wx.navigateTo({
|
||||
url: '/pages/NewHome/NewHome?HotelId=' + id
|
||||
})
|
||||
}else{
|
||||
app.toast(2,'未选择酒店')
|
||||
}
|
||||
},
|
||||
//选择酒店组
|
||||
bindgroup: function (e) {
|
||||
|
||||
let index
|
||||
try {
|
||||
index = e.currentTarget.dataset['index']
|
||||
} catch (error) {
|
||||
index=0
|
||||
}
|
||||
|
||||
|
||||
this.setData({
|
||||
selectGroupIndex: index,
|
||||
hotelIndex: 0,
|
||||
ishotel: true
|
||||
})
|
||||
wx.setStorageSync(this.data.userInfo.Id + '_xiaoxi_hotelId', this.data.autho[this.data.selectGroupIndex].Hotels[this.data.hotelIndex].HotelId)
|
||||
wx.setStorageSync(this.data.userInfo.Id + '_xiaoxi_selectGroupId', this.data.autho[this.data.selectGroupIndex].HotelGroupsId)
|
||||
},
|
||||
codebindgroup: function (GroupIndex,hotelIndex) {
|
||||
|
||||
this.setData({
|
||||
selectGroupIndex: GroupIndex,
|
||||
hotelIndex:hotelIndex,
|
||||
ishotel: true
|
||||
})
|
||||
wx.setStorageSync(this.data.userInfo.Id + '_xiaoxi_hotelId', this.data.autho[this.data.selectGroupIndex].Hotels[this.data.hotelIndex].HotelId)
|
||||
wx.setStorageSync(this.data.userInfo.Id + '_xiaoxi_selectGroupId', this.data.autho[this.data.selectGroupIndex].HotelGroupsId)
|
||||
},
|
||||
|
||||
|
||||
//登录
|
||||
onLoad: async function (option) {
|
||||
let that=this
|
||||
|
||||
this.setData({
|
||||
userInfo: app.globalData.userinfo,
|
||||
autho: app.globalData.autho
|
||||
})
|
||||
|
||||
if (this.data.userInfo == null) {
|
||||
app.checkLoginReadyCallback = res => {
|
||||
this.setData({
|
||||
userInfo: app.globalData.userinfo,
|
||||
autho: app.globalData.autho
|
||||
})
|
||||
this.ReaSel()
|
||||
};
|
||||
} else {
|
||||
this.ReaSel()
|
||||
}
|
||||
setTimeout(function () {
|
||||
// 1.使用wx.createSelectorQuery()查询到需要滚动到的元素位置
|
||||
wx.createSelectorQuery().select('#Headcustom').boundingClientRect(res => {
|
||||
// 2.使用wx.getSysTemInfo()获取设备及页面高度windowHeight(px)
|
||||
wx.getSystemInfo({
|
||||
success(ress) {
|
||||
|
||||
that.setData({
|
||||
top_height: ress.windowHeight - res.bottom,
|
||||
})
|
||||
|
||||
}
|
||||
})
|
||||
}).exec(function (params) {
|
||||
console.log(params)
|
||||
})
|
||||
}, 100)
|
||||
let e=[]
|
||||
|
||||
|
||||
this.bindgroup(e)
|
||||
console.log(this.data.top_height)
|
||||
},
|
||||
inputSearchForHotels(e){
|
||||
this.setData({
|
||||
inputValue: e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
SearchForHotels(e) {
|
||||
//debugger //hotelIndex
|
||||
let inputValue =this.data.inputValue.trim()
|
||||
if (inputValue.length==0) {
|
||||
wx.showModal({
|
||||
title: "提示",
|
||||
content: "无效搜索",
|
||||
showCancel:false
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
let autho = this.data.autho
|
||||
let selectGroupIndex = this.data.selectGroupIndex
|
||||
const Naelement = autho[selectGroupIndex]
|
||||
const CNaelement =this.sortHotelsByFuzzyMatch(Naelement.Hotels,inputValue)
|
||||
autho[selectGroupIndex].Hotels=CNaelement
|
||||
this.setData({
|
||||
autho:autho
|
||||
})
|
||||
|
||||
for (let aindex = 0; aindex < autho.length; aindex++) {
|
||||
const aelement = autho[aindex];
|
||||
|
||||
for (let bindex = 0; bindex < aelement.Hotels.length; bindex++) {
|
||||
const belement = aelement.Hotels[bindex];
|
||||
if (belement.Code==inputValue) {
|
||||
this.codebindgroup(aindex,bindex)
|
||||
return
|
||||
}
|
||||
if (belement.HotelName==inputValue) {
|
||||
this.codebindgroup(aindex,bindex)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
wx.showModal({
|
||||
title: "提示",
|
||||
content: "未找到该酒店!",
|
||||
showCancel:false
|
||||
})
|
||||
} ,
|
||||
//读取历史选择酒店
|
||||
ReaSel: function () {
|
||||
let _xiaoxi_hotelId = wx.getStorageSync(this.data.userInfo.Id + '_xiaoxi_hotelId')
|
||||
let _xiaoxi_selectGroupId = wx.getStorageSync(this.data.userInfo.Id + '_xiaoxi_selectGroupId')
|
||||
let _xiaoxi_selectGroupIndex = -1;
|
||||
let _xiaoxi_hotelIndex = -1;
|
||||
this.data.autho.forEach((element, index) => {
|
||||
if (element.HotelGroupsId == _xiaoxi_selectGroupId) {
|
||||
_xiaoxi_selectGroupIndex = index;
|
||||
element.Hotels.forEach((elements, indexs) => {
|
||||
if (elements.HotelId == _xiaoxi_hotelId) {
|
||||
_xiaoxi_hotelIndex = indexs;
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
this.setData({
|
||||
selectGroupIndex: _xiaoxi_selectGroupIndex,
|
||||
hotelIndex: _xiaoxi_hotelIndex
|
||||
})
|
||||
//非选择 读取上次进行跳转
|
||||
if(!this.data.issel && this.data.hotelIndex>-1){
|
||||
wx.navigateTo({
|
||||
url: '/pages/NewHome/NewHome?HotelId='+this.data.autho[this.data.selectGroupIndex].Hotels[this.data.hotelIndex].HotelId
|
||||
})
|
||||
}
|
||||
// console.log(this.data.autho.length==1 && this.data.autho[0].Hotels.length==1 && option.issel!=0)
|
||||
//非选择 如果只有一个酒店就直接进行跳转
|
||||
if(this.data.autho.length==1 && this.data.autho[0].Hotels.length==1 && !this.data.issel){
|
||||
wx.navigateTo({
|
||||
url: '/pages/NewHome/NewHome?HotelId='+this.data.autho[0].Hotels[0].HotelId
|
||||
})
|
||||
}
|
||||
} ,
|
||||
sortHotelsByFuzzyMatch:function(hotels, keyword) {
|
||||
// 1. 参数验证
|
||||
if (!Array.isArray(hotels)) {
|
||||
console.warn('第一个参数必须是数组');
|
||||
return [];
|
||||
}
|
||||
|
||||
if (typeof keyword !== 'string') {
|
||||
console.warn('第二个参数必须是字符串');
|
||||
return hotels.slice();
|
||||
}
|
||||
|
||||
// 2. 处理空数组或空关键字的情况
|
||||
const trimmedKeyword = keyword.trim();
|
||||
if (hotels.length === 0 || trimmedKeyword === '') {
|
||||
return hotels.slice();
|
||||
}
|
||||
|
||||
const lowerKeyword = trimmedKeyword.toLowerCase();
|
||||
|
||||
// 3. 分离匹配和不匹配的酒店
|
||||
const matchedHotels = [];
|
||||
const unmatchedHotels = [];
|
||||
|
||||
hotels.forEach(hotel => {
|
||||
// 检查是否为有效酒店对象
|
||||
if (!hotel || typeof hotel !== 'object' || !hotel.HotelName) {
|
||||
unmatchedHotels.push(hotel);
|
||||
return;
|
||||
}
|
||||
|
||||
const hotelName = String(hotel.HotelName).toLowerCase();
|
||||
const isMatch = hotelName.includes(lowerKeyword);
|
||||
|
||||
if (isMatch) {
|
||||
matchedHotels.push(hotel);
|
||||
} else {
|
||||
unmatchedHotels.push(hotel);
|
||||
}
|
||||
});
|
||||
|
||||
// 4. 合并数组并返回
|
||||
return [...matchedHotels, ...unmatchedHotels];
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user