1477 lines
39 KiB
JavaScript
1477 lines
39 KiB
JavaScript
|
|
// pages/Hosts/Hosts.js
|
|||
|
|
const app = getApp()
|
|||
|
|
//导入酒店信息请求发方法
|
|||
|
|
import {
|
|||
|
|
GetHostsInfo,
|
|||
|
|
GetMAC,
|
|||
|
|
GetFaceSN,
|
|||
|
|
ErrorInfo,
|
|||
|
|
CheckFaceSN,
|
|||
|
|
OpenDoorTest,
|
|||
|
|
GetRoomType,
|
|||
|
|
GetRoomTypeAndModalsListLog,
|
|||
|
|
WebChatUpgrade,
|
|||
|
|
QueryUpdateHostStatus,
|
|||
|
|
} from '../../lib/RequestingCenter.js'
|
|||
|
|
import md5 from '../../utils/md5.min.js'
|
|||
|
|
|
|||
|
|
Page({
|
|||
|
|
/**
|
|||
|
|
* 页面的初始数据
|
|||
|
|
*/
|
|||
|
|
data: {
|
|||
|
|
islogs: false,
|
|||
|
|
//手动输入
|
|||
|
|
FaceSNinput: 0,
|
|||
|
|
//手动输入
|
|||
|
|
input: 0,
|
|||
|
|
//显示 0 全部 1 主机 2 人脸机
|
|||
|
|
showinfo:0,
|
|||
|
|
//帮助
|
|||
|
|
Help: false,
|
|||
|
|
//弹窗
|
|||
|
|
modal: 0,
|
|||
|
|
//房间数据
|
|||
|
|
HostsData: null,
|
|||
|
|
//过滤后房间数据
|
|||
|
|
HostsDataFilters: null,
|
|||
|
|
//酒店信息
|
|||
|
|
Hotelinfo: null,
|
|||
|
|
//是否返回 只有一个酒店不能返回
|
|||
|
|
isback: true,
|
|||
|
|
//已经绑定是数量
|
|||
|
|
YMac: 0,
|
|||
|
|
//未绑定是数量
|
|||
|
|
NMac: 0,
|
|||
|
|
//筛选按钮的值
|
|||
|
|
sel: 0,
|
|||
|
|
//权限信息
|
|||
|
|
autho: null,
|
|||
|
|
//选择的房间信息
|
|||
|
|
selHosts: null,
|
|||
|
|
//扫描的条形码
|
|||
|
|
code: null,
|
|||
|
|
//swview高度
|
|||
|
|
top_height: 0,
|
|||
|
|
//本次操作的状态数据
|
|||
|
|
statusdata: [0, 0, 0, 0],
|
|||
|
|
//mac绑定的酒店 服务器获取
|
|||
|
|
bdHosts:[],
|
|||
|
|
//房型信息
|
|||
|
|
roomtype:[],
|
|||
|
|
//升级状态
|
|||
|
|
Upgradestatus:"",
|
|||
|
|
UpgradestatusTimeout:"",
|
|||
|
|
UpgradestatusTimeout2:"",
|
|||
|
|
UpgradestIstrue:true,
|
|||
|
|
//房间信息
|
|||
|
|
roomtypeInfo:[],
|
|||
|
|
//房间回路信息
|
|||
|
|
roomtypeInfoNode:[],
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
// 监听单个字段
|
|||
|
|
|
|||
|
|
|
|||
|
|
observersUpgradestatus: function() {
|
|||
|
|
let Upgradestatus=this.data.Upgradestatus
|
|||
|
|
let UpgradestatusTimeout2=this.data.UpgradestatusTimeout2
|
|||
|
|
if (Upgradestatus=='升级就绪'||Upgradestatus[0]=='.') {
|
|||
|
|
if (UpgradestatusTimeout2>0) {
|
|||
|
|
this.setData({
|
|||
|
|
UpgradestatusTimeout:UpgradestatusTimeout2
|
|||
|
|
})
|
|||
|
|
this.observersUpgradestatusTimeout()
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
observersUpgradestatusTimeout:function () {
|
|||
|
|
let Upgradestatus=this.data.Upgradestatus
|
|||
|
|
var timestampSec = Math.floor(Date.now() / 1000);
|
|||
|
|
var UpgradestatusTimeout=this.data.UpgradestatusTimeout
|
|||
|
|
if ((timestampSec-UpgradestatusTimeout) >60) {
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:"升级超时!",
|
|||
|
|
UpgradestatusTimeout2:0
|
|||
|
|
})
|
|||
|
|
}else{
|
|||
|
|
setTimeout(function () {
|
|||
|
|
let selHosts =this.data.selHosts
|
|||
|
|
let ID =selHosts.Id
|
|||
|
|
let RoomTypeID = selHosts.RoomTypeID
|
|||
|
|
let dastr =this.data.Upgradestatus
|
|||
|
|
if (dastr.length>6) {
|
|||
|
|
dastr='.'
|
|||
|
|
}else{
|
|||
|
|
dastr=dastr+'.'
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
QueryUpdateHostStatus({
|
|||
|
|
hotelid:ID,
|
|||
|
|
roomTypeID:RoomTypeID
|
|||
|
|
}).then(res => {
|
|||
|
|
if (res.IsSuccess ==true) {
|
|||
|
|
if (res.Response.length>0) {
|
|||
|
|
if (res.Response.BaiFenBi=='100%') {
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:'升级完成!',
|
|||
|
|
UpgradestatusTimeout2:0
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
} else{
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:dastr,
|
|||
|
|
UpgradestatusTimeout2:timestampSec
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
}else
|
|||
|
|
{
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:dastr
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
} else{
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:"服务器反馈设备升级失败!",
|
|||
|
|
UpgradestatusTimeout2:0
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}, err => {
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:"服务器接口调用异常,设备升级失败!",
|
|||
|
|
UpgradestatusTimeout2:0
|
|||
|
|
})
|
|||
|
|
}).catch(err => {
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:"服务器接口调用异常,设备升级失败!",
|
|||
|
|
UpgradestatusTimeout2:0
|
|||
|
|
})
|
|||
|
|
});
|
|||
|
|
this.observersUpgradestatus()
|
|||
|
|
|
|||
|
|
}, 1000)
|
|||
|
|
|
|||
|
|
//定时询问
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
GetFaceSN_long:function (params) {
|
|||
|
|
if (!this.CheckFaceSNAutho()) {
|
|||
|
|
app.toast(2, "无绑定权限~")
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
let index = params.currentTarget.dataset['index']
|
|||
|
|
// console.log(index)
|
|||
|
|
let selHosts = this.data.HostsDataFilters[index];
|
|||
|
|
selHosts.index = index;
|
|||
|
|
this.setData({
|
|||
|
|
selHosts: selHosts,
|
|||
|
|
FaceSNinput: 100
|
|||
|
|
})
|
|||
|
|
if (this.data.HostsDataFilters[index].FaceSN != "" && this.data.HostsDataFilters[index].FaceSN != null) {
|
|||
|
|
this.setData({
|
|||
|
|
modal: -1,
|
|||
|
|
message: [ this.data.HostsDataFilters[index].FaceSN,selHosts.RoomNumber]
|
|||
|
|
})
|
|||
|
|
} else {
|
|||
|
|
this.ShowInputsn();
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
/// 解绑sn
|
|||
|
|
JbSn:function(params) {
|
|||
|
|
let jbjd = null;
|
|||
|
|
let faceSN = null;
|
|||
|
|
let that = this;
|
|||
|
|
let index = -1;
|
|||
|
|
debugger
|
|||
|
|
if( typeof params.currentTarget.dataset['index'] != 'undefined'){
|
|||
|
|
faceSN = this.data.code;
|
|||
|
|
index = params.currentTarget.dataset['index']
|
|||
|
|
//解绑的房间
|
|||
|
|
jbjd = this.data.bdHosts[index];
|
|||
|
|
// 0 表示绑定成功~
|
|||
|
|
// 1 表示绑定失败~
|
|||
|
|
// 2 表示取消绑定~
|
|||
|
|
// xg
|
|||
|
|
}else{
|
|||
|
|
jbjd = this.data.selHosts;
|
|||
|
|
faceSN = this.data.selHosts.FaceSN;
|
|||
|
|
}
|
|||
|
|
console.log(jbjd)
|
|||
|
|
|
|||
|
|
GetFaceSN({faceSN:faceSN,roomID:jbjd.Id,roomNumber:jbjd.RoomNumber,faceAddress:this.data.address,HotelID:jbjd.HotelID,isjb:true}).then(
|
|||
|
|
res => {
|
|||
|
|
if (res.Status == 200) {
|
|||
|
|
switch (res.Data) {
|
|||
|
|
case 0:
|
|||
|
|
try {
|
|||
|
|
app.toast(1, "解绑成功~");
|
|||
|
|
let data = that.data.HostsData;
|
|||
|
|
let OLD = -1;
|
|||
|
|
try {
|
|||
|
|
data.forEach(
|
|||
|
|
(x, INDEX) => {
|
|||
|
|
if (x.RoomNumber === jbjd.RoomNumber) {
|
|||
|
|
OLD = INDEX;
|
|||
|
|
throw new Error();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
)} catch (error) {
|
|||
|
|
}
|
|||
|
|
if (OLD >= 0) {
|
|||
|
|
// 0 表示绑定成功~
|
|||
|
|
// 1 表示绑定失败~
|
|||
|
|
// 2 表示取消绑定~
|
|||
|
|
data[OLD].xg = 2;
|
|||
|
|
data[OLD].FaceSN = "";
|
|||
|
|
}
|
|||
|
|
let res = that.GetFilters(that.data.sel, data);
|
|||
|
|
let databdHosts = that.data.bdHosts;
|
|||
|
|
let selHosts = that.data.selHosts;
|
|||
|
|
// 表示 是查询到 sn被绑定 index>-1 ==-1 表示是长安解绑
|
|||
|
|
if(index>-1){
|
|||
|
|
databdHosts.splice(index,1);
|
|||
|
|
}else{
|
|||
|
|
selHosts.FaceSN = null
|
|||
|
|
}
|
|||
|
|
that.setData({
|
|||
|
|
selHosts:selHosts,
|
|||
|
|
HostsData: data,
|
|||
|
|
bdHosts:databdHosts,
|
|||
|
|
HostsDataFilters: res[0],
|
|||
|
|
statusdata: res[1],
|
|||
|
|
input: 0
|
|||
|
|
})
|
|||
|
|
} catch (error) {
|
|||
|
|
console.log(error)
|
|||
|
|
}
|
|||
|
|
break;
|
|||
|
|
case 1:
|
|||
|
|
app.toast(2, "SN已经绑定酒店~")
|
|||
|
|
break;
|
|||
|
|
case 2:
|
|||
|
|
app.toast(2, "SN绑定酒店失败~")
|
|||
|
|
break;
|
|||
|
|
case 3:
|
|||
|
|
app.toast(2, "SN注册绑定酒店失败~")
|
|||
|
|
break;
|
|||
|
|
case 4:
|
|||
|
|
app.toast(2, "未知错误~")
|
|||
|
|
break;
|
|||
|
|
case 5:
|
|||
|
|
app.toast(2, "数据不符合~")
|
|||
|
|
break;
|
|||
|
|
case 6:
|
|||
|
|
app.toast(2, "解绑失败~")
|
|||
|
|
break;
|
|||
|
|
default:
|
|||
|
|
app.toast(2, "其他错误~")
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
/// 0 成功
|
|||
|
|
/// 1 已经注册已经绑定酒店
|
|||
|
|
/// 2 已经注册更新失败
|
|||
|
|
/// 3 未注册为分配酒店 添加注册 添加酒店是啊比
|
|||
|
|
/// 4 未能预计的结果--
|
|||
|
|
/// 5 数据不符合
|
|||
|
|
/// 6 解绑失败
|
|||
|
|
console.log(0)
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
err => {
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
}
|
|||
|
|
).catch(err => {
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
CheckFaceMAC:function(vlues){
|
|||
|
|
return true;
|
|||
|
|
console.log(vlues.length != 16)
|
|||
|
|
return vlues.length == 16;
|
|||
|
|
},
|
|||
|
|
GetFaceSNend:function(){
|
|||
|
|
this.GetHide();
|
|||
|
|
let that = this;
|
|||
|
|
let xg = 1;
|
|||
|
|
GetFaceSN({faceSN:this.data.code, roomID:this.data.selHosts.Id,roomNumber:this.data.selHosts.RoomNumber,faceAddress:this.data.address,HotelID:this.data.Hotelinfo.HotelId}).then(
|
|||
|
|
res => {
|
|||
|
|
if (res.Status == 200) {
|
|||
|
|
switch (res.Data) {
|
|||
|
|
case 0:
|
|||
|
|
app.toast(1, "绑定成功~");
|
|||
|
|
xg = 0;
|
|||
|
|
break;
|
|||
|
|
case 1:
|
|||
|
|
app.toast(2, "SN已经绑定酒店~");
|
|||
|
|
break;
|
|||
|
|
case 2:
|
|||
|
|
xg = 1;
|
|||
|
|
app.toast(2, "SN绑定酒店失败~");
|
|||
|
|
break;
|
|||
|
|
case 3:
|
|||
|
|
app.toast(2, "SN注册绑定酒店失败~");
|
|||
|
|
break;
|
|||
|
|
case 4:
|
|||
|
|
app.toast(2, "未知错误~");
|
|||
|
|
break;
|
|||
|
|
case 5:
|
|||
|
|
app.toast(2, "数据不符合~");
|
|||
|
|
break;
|
|||
|
|
case 6:
|
|||
|
|
app.toast(2, "解绑失败~");
|
|||
|
|
break;
|
|||
|
|
default:
|
|||
|
|
app.toast(2, "其他错误~");
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// 0 成功
|
|||
|
|
/// 1 已经注册已经绑定酒店
|
|||
|
|
/// 2 已经注册更新失败
|
|||
|
|
/// 3 未注册为分配酒店 添加注册 添加酒店是啊比
|
|||
|
|
/// 4 未能预计的结果--
|
|||
|
|
/// 5 数据不符合
|
|||
|
|
/// 6 解绑失败
|
|||
|
|
try {
|
|||
|
|
|
|||
|
|
|
|||
|
|
that.data.selHosts.xg = xg;
|
|||
|
|
if(xg==0){
|
|||
|
|
that.data.selHosts.FaceSN = this.data.code;
|
|||
|
|
}
|
|||
|
|
let data = that.data.HostsData;
|
|||
|
|
data[that.data.selHosts.index] = that.data.selHosts;
|
|||
|
|
let res = that.GetFilters(that.data.sel, that.data.HostsData);
|
|||
|
|
that.setData({
|
|||
|
|
HostsData: data,
|
|||
|
|
HostsDataFilters: res[0],
|
|||
|
|
statusdata: res[1],
|
|||
|
|
code: null,
|
|||
|
|
input: 0
|
|||
|
|
})
|
|||
|
|
} catch (error) {
|
|||
|
|
console.log(error)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
err => {
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
}
|
|||
|
|
).catch(err => {
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
CheckFaceMACWL(){
|
|||
|
|
let that = this;
|
|||
|
|
CheckFaceSN({faceSN:this.data.code}).then(
|
|||
|
|
res => {
|
|||
|
|
if (res.Status == 200) {
|
|||
|
|
if(res.Data<=0){
|
|||
|
|
that.setData({
|
|||
|
|
modal:-521,
|
|||
|
|
})
|
|||
|
|
}else{
|
|||
|
|
let remove = [];
|
|||
|
|
let bdHosts = res.Data;
|
|||
|
|
try {
|
|||
|
|
//记录已经分配酒店但是未分配房间 且酒店是当前酒店 那就判断为没有绑定
|
|||
|
|
that.data.autho.forEach((element, index) => {
|
|||
|
|
element.Hotels.forEach((elements, indexs) => {
|
|||
|
|
for (let index = 0; index < bdHosts.length; index++) {
|
|||
|
|
if (elements.HotelId == bdHosts[index].HotelID) {
|
|||
|
|
if(bdHosts[index].HotelID == that.data.Hotelinfo.HotelId && bdHosts[index].Id==0){
|
|||
|
|
remove.push(index);
|
|||
|
|
}
|
|||
|
|
elements.Auth.forEach (Auth=>{
|
|||
|
|
if(Auth.AuthorityId == 21 && Auth.AuthotypeId == 3){
|
|||
|
|
//有权限
|
|||
|
|
bdHosts[index].qx = 0;
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
});
|
|||
|
|
} catch (error) {
|
|||
|
|
console.log(error)
|
|||
|
|
}
|
|||
|
|
remove.forEach (x=>{
|
|||
|
|
bdHosts.splice(x, 1);
|
|||
|
|
})
|
|||
|
|
let modalval = -200;
|
|||
|
|
if(bdHosts.length<=0){
|
|||
|
|
modalval = -521;
|
|||
|
|
}
|
|||
|
|
that.setData({
|
|||
|
|
modal:modalval,
|
|||
|
|
bdHosts:bdHosts
|
|||
|
|
})
|
|||
|
|
// app.toast(2, "已经被绑定")
|
|||
|
|
}
|
|||
|
|
}else{
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
err => {
|
|||
|
|
console.log(err)
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
}).catch(err => {
|
|||
|
|
console.log(err)
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
GetFaceSNOK:function(){
|
|||
|
|
let that = this;
|
|||
|
|
if (!this.CheckFaceMAC(that.data.code)) {
|
|||
|
|
this.setData({
|
|||
|
|
modal: 520
|
|||
|
|
})
|
|||
|
|
return;
|
|||
|
|
};
|
|||
|
|
if (that.data.selHosts.FaceSN == that.data.code) {
|
|||
|
|
app.toast(2, "条码一致,无需更改~")
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
this.CheckFaceMACWL()
|
|||
|
|
},
|
|||
|
|
//GetFaceCode 人脸机扫码
|
|||
|
|
GetFaceCode:function(){
|
|||
|
|
var that = this;
|
|||
|
|
setTimeout(function () {
|
|||
|
|
that.GetHide()
|
|||
|
|
}, 100);
|
|||
|
|
wx.scanCode({
|
|||
|
|
// onlyFromCamera: true,// 只允许从相机扫码
|
|||
|
|
success(res) {
|
|||
|
|
// 扫码成功后 在此处理接下来的逻辑
|
|||
|
|
that.setData({
|
|||
|
|
code: res.result
|
|||
|
|
})
|
|||
|
|
that.GetFaceSNOK();
|
|||
|
|
},
|
|||
|
|
fail(err) {
|
|||
|
|
app.toast(2, "未识别到有效条形码")
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
//检查人脸机房间权限
|
|||
|
|
CheckFaceSNAutho: function () {
|
|||
|
|
let res = false;
|
|||
|
|
this.data.Hotelinfo.Auth.forEach(x=>{
|
|||
|
|
if(x.AuthorityId==21 && x.AuthotypeId == 3){
|
|||
|
|
res = true;
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
return res;
|
|||
|
|
},
|
|||
|
|
// 点击人脸机
|
|||
|
|
GetFaceSN:function (params) {
|
|||
|
|
//长按事件
|
|||
|
|
if (this.endTime - this.startTime > 350) {
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
if (!this.CheckFaceSNAutho()) {
|
|||
|
|
app.toast(2, "无绑定权限~")
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
let index = params.currentTarget.dataset['index']
|
|||
|
|
// console.log(index)
|
|||
|
|
let selHosts = this.data.HostsDataFilters[index];
|
|||
|
|
selHosts.index = index;
|
|||
|
|
this.setData({
|
|||
|
|
selHosts: selHosts,
|
|||
|
|
FaceSNinput: 0
|
|||
|
|
})
|
|||
|
|
if (this.data.HostsDataFilters[index].FaceSN != "" && this.data.HostsDataFilters[index].FaceSN != null) {
|
|||
|
|
this.setData({
|
|||
|
|
modal:-1,
|
|||
|
|
message: [this.data.HostsDataFilters[index].FaceSN, selHosts.RoomNumber]
|
|||
|
|
})
|
|||
|
|
} else {
|
|||
|
|
this.GetFaceCode()
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
//人脸机测试
|
|||
|
|
testinfo:function(e){
|
|||
|
|
// console.log(e.currentTarget.id)
|
|||
|
|
var jbjd=this.data.selHosts
|
|||
|
|
// console.log(jbjd)
|
|||
|
|
wx.navigateTo({
|
|||
|
|
url: '/pages/test/test?Hotelinfo=' + e.currentTarget.id+'&RoomID='+jbjd.Id+'&faceadd='+this.data.address
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//开门测试
|
|||
|
|
OpenDoor:function(e){
|
|||
|
|
var that=this;
|
|||
|
|
console.log(e.currentTarget.id)
|
|||
|
|
var sn=e.currentTarget.id.split("_")
|
|||
|
|
console.log(sn)
|
|||
|
|
OpenDoorTest({faceSN:sn[2],isjb:true}).then(
|
|||
|
|
res => {
|
|||
|
|
if (res.Status == 200) {
|
|||
|
|
app.toast(2, res.Message)
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
app.toast(2, res.Message)
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
err => {
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
}
|
|||
|
|
).catch(err => {
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//检查房间权限
|
|||
|
|
CheckAutho: function () {
|
|||
|
|
let res = false;
|
|||
|
|
this.data.Hotelinfo.Auth.forEach(x=>{
|
|||
|
|
if(x.AuthorityId==16 && x.AuthotypeId == 3){
|
|||
|
|
res = true;
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
return res;
|
|||
|
|
},
|
|||
|
|
//touch start 开始触摸房间区域
|
|||
|
|
handleTouchStart: function (e) {
|
|||
|
|
this.startTime = e.timeStamp;
|
|||
|
|
//console.log(" startTime = " + e.timeStamp);
|
|||
|
|
},
|
|||
|
|
//touch end结束触摸房间区域
|
|||
|
|
handleTouchEnd: function (e) {
|
|||
|
|
this.endTime = e.timeStamp;
|
|||
|
|
//console.log(" endTime = " + e.timeStamp);
|
|||
|
|
},
|
|||
|
|
// 帮助
|
|||
|
|
HelpClick: function (params) {
|
|||
|
|
this.setData({
|
|||
|
|
islogs: false,
|
|||
|
|
Help: !this.data.Help
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
//日志信息
|
|||
|
|
islogsClick: function (params) {
|
|||
|
|
this.setData({
|
|||
|
|
islogs: !this.data.islogs,
|
|||
|
|
Help: false
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
// 长按房间
|
|||
|
|
GetMAC_long: function (params) {
|
|||
|
|
if (!this.CheckAutho()) {
|
|||
|
|
app.toast(2, "无绑定权限~")
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
let index = params.currentTarget.dataset['index']
|
|||
|
|
// console.log(index)
|
|||
|
|
let selHosts = this.data.HostsDataFilters[index];
|
|||
|
|
selHosts.index = index;
|
|||
|
|
this.setData({
|
|||
|
|
selHosts: selHosts,
|
|||
|
|
input: 100
|
|||
|
|
})
|
|||
|
|
if (this.data.HostsDataFilters[index].MAC != "" && this.data.HostsDataFilters[index].MAC != null) {
|
|||
|
|
this.setData({
|
|||
|
|
modal: 1,
|
|||
|
|
message: [selHosts.RoomNumber, this.data.HostsDataFilters[index].MAC]
|
|||
|
|
})
|
|||
|
|
} else {
|
|||
|
|
this.ShowInput();
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
// 手动输入mac
|
|||
|
|
ShowInput: function (params) {
|
|||
|
|
this.setData({
|
|||
|
|
modal: 1000,
|
|||
|
|
code:""
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
// 手动输入sn
|
|||
|
|
ShowInputsn: function (params) {
|
|||
|
|
this.setData({
|
|||
|
|
modal: -1000,
|
|||
|
|
code:""
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
//解绑MAC
|
|||
|
|
Jb:async function(params) {
|
|||
|
|
let index = params.currentTarget.dataset['index']
|
|||
|
|
//解绑的酒店
|
|||
|
|
let jbjd = this.data.bdHosts[index];
|
|||
|
|
// this.GetMacOKend(false);
|
|||
|
|
let that = this;
|
|||
|
|
await GetMAC({
|
|||
|
|
roomNumber: jbjd.RoomNumber,
|
|||
|
|
roomID: jbjd.Id,
|
|||
|
|
HotelID: jbjd.HotelID,
|
|||
|
|
MAC: "",
|
|||
|
|
NoCheck: false,
|
|||
|
|
loc: that.data.address
|
|||
|
|
}).then(
|
|||
|
|
res => {
|
|||
|
|
if (res.Status == 1000) {
|
|||
|
|
app.toast(2, "无权限")
|
|||
|
|
}
|
|||
|
|
if (res.Status == 200) {
|
|||
|
|
app.toast(1, "解绑成功")
|
|||
|
|
var databdHosts = that.data.bdHosts;
|
|||
|
|
databdHosts.splice(index,1);
|
|||
|
|
that.setData({
|
|||
|
|
bdHosts:databdHosts
|
|||
|
|
})
|
|||
|
|
//如果酒店是当前酒店 就把当前酒店的房间 标记为解绑
|
|||
|
|
if(jbjd.HotelID != that.data.HotelId)
|
|||
|
|
{
|
|||
|
|
// console.log(jbjd.HotelID)
|
|||
|
|
// console.log(that.data.HotelId)
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
let data = that.data.HostsData;
|
|||
|
|
let OLD = -1;
|
|||
|
|
try {
|
|||
|
|
data.forEach(
|
|||
|
|
(x, INDEX) => {
|
|||
|
|
if (x.RoomNumber === jbjd.RoomNumber) {
|
|||
|
|
OLD = INDEX;
|
|||
|
|
throw new Error();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
)} catch (error) {
|
|||
|
|
}
|
|||
|
|
if (OLD >= 0) {
|
|||
|
|
// 0 表示绑定成功~
|
|||
|
|
// 1 表示绑定失败~
|
|||
|
|
// 2 表示取消绑定~
|
|||
|
|
data[OLD].xg = 2;
|
|||
|
|
data[OLD].MAC = "";
|
|||
|
|
}
|
|||
|
|
let res = that.GetFilters(that.data.sel, data);
|
|||
|
|
that.setData({
|
|||
|
|
HostsData: data,
|
|||
|
|
HostsDataFilters: res[0],
|
|||
|
|
statusdata: res[1]
|
|||
|
|
})
|
|||
|
|
console.log(data[OLD])
|
|||
|
|
} else {
|
|||
|
|
app.toast(2, "解绑失败")
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
err => {
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
}).catch(err => {
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
//检查mac地址
|
|||
|
|
GetMACOK: function () {
|
|||
|
|
let that = this;
|
|||
|
|
if (!this.CheckMAC(that.data.code)) {
|
|||
|
|
this.setData({
|
|||
|
|
modal: 520
|
|||
|
|
})
|
|||
|
|
return;
|
|||
|
|
};
|
|||
|
|
var newmac = "";
|
|||
|
|
for (var i = 0; i < that.data.code.length; i += 2) {
|
|||
|
|
if (i + 2 >= that.data.code.length) {
|
|||
|
|
newmac += that.data.code[i] + that.data.code[i + 1];
|
|||
|
|
} else {
|
|||
|
|
newmac += that.data.code[i] + that.data.code[i + 1] + "-";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (that.data.selHosts.MAC == newmac) {
|
|||
|
|
app.toast(2, "条码一致,无需更改~")
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
this.setData({
|
|||
|
|
modal: 521,
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
//最终绑定MAC
|
|||
|
|
GetMacOKend: async function (type) {
|
|||
|
|
let that = this;
|
|||
|
|
if (type != true && type != false) {
|
|||
|
|
type = type.currentTarget.dataset['type']
|
|||
|
|
}
|
|||
|
|
this.GetHide();
|
|||
|
|
let xg = null;
|
|||
|
|
await GetMAC({
|
|||
|
|
roomNumber: that.data.selHosts.RoomNumber,
|
|||
|
|
HotelID: that.data.selHosts.HotelID,
|
|||
|
|
MAC: that.data.code,
|
|||
|
|
NoCheck: type,
|
|||
|
|
loc: that.data.address
|
|||
|
|
}).then(
|
|||
|
|
res => {
|
|||
|
|
if (res.Status == 1000) {
|
|||
|
|
xg = 100;
|
|||
|
|
app.toast(2, "无权限")
|
|||
|
|
}
|
|||
|
|
if (res.Status == 200) {
|
|||
|
|
xg = 0;
|
|||
|
|
app.toast(1, "绑定成功")
|
|||
|
|
} else {
|
|||
|
|
if (!type) {
|
|||
|
|
xg = 1;
|
|||
|
|
app.toast(2, "绑定失败")
|
|||
|
|
} else {
|
|||
|
|
try {
|
|||
|
|
if (res.Status == 100) {
|
|||
|
|
xg = 100;
|
|||
|
|
let modal = 3;
|
|||
|
|
let mesg = [that.data.code];
|
|||
|
|
//mac绑定的房间
|
|||
|
|
let bdHosts = res.Data.Hosts;
|
|||
|
|
try {
|
|||
|
|
that.data.autho.forEach((element, index) => {
|
|||
|
|
element.Hotels.forEach((elements, indexs) => {
|
|||
|
|
for (let index = 0; index < res.Data.Hosts.length; index++) {
|
|||
|
|
if (elements.HotelId == res.Data.Hosts[index].HotelID) {
|
|||
|
|
elements.Auth.forEach (Auth=>{
|
|||
|
|
if(Auth.AuthorityId == 16 && Auth.AuthotypeId == 3){
|
|||
|
|
//有权限
|
|||
|
|
bdHosts[index].qx = 0;
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
});
|
|||
|
|
} catch (error) {
|
|||
|
|
console.log(error)
|
|||
|
|
}
|
|||
|
|
that.setData({
|
|||
|
|
modal: modal,
|
|||
|
|
bdHosts:bdHosts,
|
|||
|
|
message: mesg
|
|||
|
|
})
|
|||
|
|
} else {
|
|||
|
|
if (res.Status == 150) {
|
|||
|
|
xg = 1;
|
|||
|
|
app.toast(2, "绑定失败")
|
|||
|
|
} else {
|
|||
|
|
xg = 100;
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
} catch (error) {
|
|||
|
|
xg = 100;
|
|||
|
|
console.log(error)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
err => {
|
|||
|
|
xg = 100;
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
}).catch(err => {
|
|||
|
|
xg = 100;
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
});
|
|||
|
|
try {
|
|||
|
|
// 100表示检查MAC并没有执行绑定操作 或者 请求过程出错 不执行下面的操作
|
|||
|
|
if (xg == 100) {
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
//标记修改
|
|||
|
|
that.data.selHosts.xg = xg;
|
|||
|
|
|
|||
|
|
// return;
|
|||
|
|
var newmac = "";
|
|||
|
|
for (var i = 0; i < that.data.code.length; i += 2) {
|
|||
|
|
if (i + 2 >= that.data.code.length) {
|
|||
|
|
newmac += that.data.code[i] + that.data.code[i + 1];
|
|||
|
|
} else {
|
|||
|
|
newmac += that.data.code[i] + that.data.code[i + 1] + "-";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
that.data.selHosts.MAC = newmac;
|
|||
|
|
let data = that.data.HostsData;
|
|||
|
|
// 本房间有相同的 mac的房间标记为取消绑定 已经弃用了
|
|||
|
|
// let OLD = -1;
|
|||
|
|
// try {
|
|||
|
|
// data.forEach(
|
|||
|
|
// (x, INDEX) => {
|
|||
|
|
// if (x.MAC == newmac && that.data.selHosts.Id != x.Id) {
|
|||
|
|
// OLD = INDEX;
|
|||
|
|
// throw new Error();
|
|||
|
|
// }
|
|||
|
|
// }
|
|||
|
|
// )
|
|||
|
|
// } catch (error) {
|
|||
|
|
// console.log("房间 已经找到,无需循环~")
|
|||
|
|
// }
|
|||
|
|
// if (OLD >= 0) {
|
|||
|
|
// // 0 表示绑定成功~
|
|||
|
|
// // 1 表示绑定失败~
|
|||
|
|
// // 2 表示取消绑定~
|
|||
|
|
// data[OLD].xg = 2;
|
|||
|
|
// data[OLD].MAC = "";
|
|||
|
|
// }
|
|||
|
|
data[that.data.selHosts.index] = that.data.selHosts;
|
|||
|
|
let res = that.GetFilters(that.data.sel, that.data.HostsData);
|
|||
|
|
that.setData({
|
|||
|
|
HostsData: data,
|
|||
|
|
HostsDataFilters: res[0],
|
|||
|
|
statusdata: res[1],
|
|||
|
|
code: null,
|
|||
|
|
input: 0
|
|||
|
|
})
|
|||
|
|
} catch (error) {
|
|||
|
|
console.log(error)
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
//检查Mac
|
|||
|
|
CheckMAC: function (vlues) {
|
|||
|
|
return (vlues.indexOf("34D0B8") == 0 && vlues.length == 12 && vlues.indexOf(" ") < 0);
|
|||
|
|
},
|
|||
|
|
//扫码~
|
|||
|
|
GetCode: async function () {
|
|||
|
|
var that = this;
|
|||
|
|
setTimeout(function () {
|
|||
|
|
that.GetHide()
|
|||
|
|
}, 100);
|
|||
|
|
wx.scanCode({
|
|||
|
|
// onlyFromCamera: true,// 只允许从相机扫码
|
|||
|
|
success(res) {
|
|||
|
|
// 扫码成功后 在此处理接下来的逻辑
|
|||
|
|
that.setData({
|
|||
|
|
code: res.result
|
|||
|
|
})
|
|||
|
|
that.GetMACOK();
|
|||
|
|
},
|
|||
|
|
fail(err) {
|
|||
|
|
app.toast(2, "未识别到有效条形码")
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
//隐藏提示~
|
|||
|
|
GetHide() {
|
|||
|
|
this.setData({
|
|||
|
|
modal: 0,
|
|||
|
|
input: 0,
|
|||
|
|
FaceSNinput:0 ,
|
|||
|
|
Upgradestatus:"",
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
// 房间点击事件
|
|||
|
|
GetMAC: function (e) {
|
|||
|
|
//长按事件
|
|||
|
|
if (this.endTime - this.startTime > 350) {
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
if (!this.CheckAutho()) {
|
|||
|
|
app.toast(2, "无绑定权限~")
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
let index = e.currentTarget.dataset['index']
|
|||
|
|
// console.log(index)
|
|||
|
|
let selHosts = this.data.HostsDataFilters[index];
|
|||
|
|
selHosts.index = index;
|
|||
|
|
this.setData({
|
|||
|
|
selHosts: selHosts,
|
|||
|
|
input: 0
|
|||
|
|
})
|
|||
|
|
if (this.data.HostsDataFilters[index].MAC != "" && this.data.HostsDataFilters[index].MAC != null) {
|
|||
|
|
this.setData({
|
|||
|
|
modal: 1,
|
|||
|
|
message: [this.data.HostsDataFilters[index].MAC, selHosts.RoomNumber]
|
|||
|
|
})
|
|||
|
|
} else {
|
|||
|
|
this.GetCode()
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
// 未分配max
|
|||
|
|
GetMaxby(type = 0, arry = null) {
|
|||
|
|
let y = 0;
|
|||
|
|
let n = 0;
|
|||
|
|
if (arry == null) {
|
|||
|
|
arry = this.data.HostsData;
|
|||
|
|
}
|
|||
|
|
arry.forEach(x => {
|
|||
|
|
if (x.MAC == "" || x.MAC == null) {
|
|||
|
|
n++;
|
|||
|
|
} else {
|
|||
|
|
y++;
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
if (type == 0) {
|
|||
|
|
return y;
|
|||
|
|
}
|
|||
|
|
return n;
|
|||
|
|
},
|
|||
|
|
//分类过滤方法
|
|||
|
|
GetFilters(type = -1, arry = null) {
|
|||
|
|
if (type == -1) {
|
|||
|
|
type = this.data.sel
|
|||
|
|
}
|
|||
|
|
if (arry == null && this.data.HostsData != null) {
|
|||
|
|
arry = this.data.HostsData;
|
|||
|
|
}
|
|||
|
|
if (arry == null) {
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
let ok = 0;
|
|||
|
|
let err = 0;
|
|||
|
|
let no = 0;
|
|||
|
|
let df = 0;
|
|||
|
|
let res = [];
|
|||
|
|
arry.forEach(x => {
|
|||
|
|
switch (x.xg) {
|
|||
|
|
case 0:
|
|||
|
|
ok++;
|
|||
|
|
break;
|
|||
|
|
case 1:
|
|||
|
|
err++;
|
|||
|
|
break;
|
|||
|
|
case 2:
|
|||
|
|
no++;
|
|||
|
|
break;
|
|||
|
|
default:
|
|||
|
|
df++;
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
if (type == 0) {
|
|||
|
|
res.push(x)
|
|||
|
|
} else {
|
|||
|
|
if (x.MAC == "" || x.MAC == null) {
|
|||
|
|
if (type == 2) {
|
|||
|
|
res.push(x)
|
|||
|
|
}
|
|||
|
|
} else {
|
|||
|
|
if (type == 1) {
|
|||
|
|
res.push(x)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
return [res, [ok, err, no, df]];
|
|||
|
|
},
|
|||
|
|
// 分类点击事件
|
|||
|
|
GetshowinfoClick(e) {
|
|||
|
|
|
|||
|
|
let showinfo = e.currentTarget.dataset['index']
|
|||
|
|
this.setData({
|
|||
|
|
showinfo:showinfo
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
GetRoomTypeList(){
|
|||
|
|
debugger
|
|||
|
|
GetHostsInfo({
|
|||
|
|
HotelID: that.data.Hotelinfo.HotelId
|
|||
|
|
}).then(res =>{
|
|||
|
|
if (res.Status == 200) {
|
|||
|
|
console.log('获取房型成功')
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
console.log('获取房型失败:'+that.data.Hotelinfo.HotelId)
|
|||
|
|
}
|
|||
|
|
}).catch(err => {
|
|||
|
|
console.log('网络访问错误')
|
|||
|
|
console.log(err)
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
GetshowinfoClick1(e){
|
|||
|
|
let showinfo = e.currentTarget.dataset['index']
|
|||
|
|
var that=this;
|
|||
|
|
that.setData({
|
|||
|
|
showinfo:showinfo
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
GetHostsInfo({
|
|||
|
|
HotelID: that.data.Hotelinfo.HotelId
|
|||
|
|
}).then(res => {
|
|||
|
|
|
|||
|
|
if (res.Status == 200) {
|
|||
|
|
that.setData({
|
|||
|
|
HostsData: res.Data,
|
|||
|
|
HostsDataFilters: res.Data,
|
|||
|
|
isback: (app.globalData.autho.length > 1 || app.globalData.autho[0].Hotels.length > 1),
|
|||
|
|
HotelId: that.data.Hotelinfo.HotelId,
|
|||
|
|
statusdata: [0, 0, 0, 0],
|
|||
|
|
YMac: this.GetMaxby(0, res.Data),
|
|||
|
|
NMac: this.GetMaxby(1, res.Data)
|
|||
|
|
})
|
|||
|
|
that.GetLOC();
|
|||
|
|
} else {
|
|||
|
|
|
|||
|
|
app.toast(2, res.Message || "网络繁忙")
|
|||
|
|
}
|
|||
|
|
}, err => {
|
|||
|
|
console.log(err)
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
}).catch(err => {
|
|||
|
|
console.log(err)
|
|||
|
|
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// 绑定筛选分类点击事件
|
|||
|
|
GetClick(e) {
|
|||
|
|
this.setData({
|
|||
|
|
islogs: false,
|
|||
|
|
Help: false
|
|||
|
|
})
|
|||
|
|
let index = e.currentTarget.dataset['index']
|
|||
|
|
let res = this.GetFilters(index, this.data.HostsData);
|
|||
|
|
this.setData({
|
|||
|
|
sel: index,
|
|||
|
|
HostsDataFilters: res[0],
|
|||
|
|
statusdata: res[1]
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* 生命周期函数--监听页面加载
|
|||
|
|
*/
|
|||
|
|
onLoad: async function (options) {
|
|||
|
|
if (!options.HotelId || app.globalData.autho == null) {
|
|||
|
|
app.toast(2, "无酒店信息~")
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
this.setData({
|
|||
|
|
autho: app.globalData.autho
|
|||
|
|
})
|
|||
|
|
// console.log(this.data.autho)
|
|||
|
|
|
|||
|
|
try {
|
|||
|
|
this.data.autho.forEach((element, index) => {
|
|||
|
|
element.Hotels.forEach((elements, indexs) => {
|
|||
|
|
if (elements.HotelId == options.HotelId) {
|
|||
|
|
this.setData({
|
|||
|
|
Hotelinfo: elements
|
|||
|
|
})
|
|||
|
|
throw new Error();
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
});
|
|||
|
|
} catch (error) {
|
|||
|
|
console.log("已经找到,无需循环~")
|
|||
|
|
}
|
|||
|
|
let that = this;
|
|||
|
|
setTimeout(function () {
|
|||
|
|
// 1.使用wx.createSelectorQuery()查询到需要滚动到的元素位置
|
|||
|
|
wx.createSelectorQuery().select('#scroll').boundingClientRect(res => {
|
|||
|
|
// 2.使用wx.getSysTemInfo()获取设备及页面高度windowHeight(px)
|
|||
|
|
wx.getSystemInfo({
|
|||
|
|
success(ress) {
|
|||
|
|
that.setData({
|
|||
|
|
top_height: ress.windowHeight - res.top
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}).exec(function (params) {
|
|||
|
|
console.log(params)
|
|||
|
|
})
|
|||
|
|
}, 100)
|
|||
|
|
|
|||
|
|
await GetHostsInfo({
|
|||
|
|
HotelID: this.data.Hotelinfo.HotelId
|
|||
|
|
}).then(res => {
|
|||
|
|
|
|||
|
|
if (res.Status == 200) {
|
|||
|
|
that.setData({
|
|||
|
|
HostsData: res.Data,
|
|||
|
|
HostsDataFilters: res.Data,
|
|||
|
|
isback: (app.globalData.autho.length > 1 || app.globalData.autho[0].Hotels.length > 1),
|
|||
|
|
HotelId: options.HotelId,
|
|||
|
|
statusdata: [0, 0, 0, res.Data.length],
|
|||
|
|
YMac: this.GetMaxby(0, res.Data),
|
|||
|
|
NMac: this.GetMaxby(1, res.Data)
|
|||
|
|
})
|
|||
|
|
app.globalData.HotelId=options.HotelId
|
|||
|
|
|
|||
|
|
|
|||
|
|
that.GetLOC();
|
|||
|
|
} else {
|
|||
|
|
|
|||
|
|
app.toast(2, res.Message || "网络繁忙")
|
|||
|
|
}
|
|||
|
|
}, err => {
|
|||
|
|
console.log(err)
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
}).catch(err => {
|
|||
|
|
console.log(err)
|
|||
|
|
|
|||
|
|
app.toast(2, "网络繁忙")
|
|||
|
|
});
|
|||
|
|
console.log(app.globalData.HotelId)
|
|||
|
|
|
|||
|
|
await GetRoomType({
|
|||
|
|
HotelID: this.data.Hotelinfo.HotelId
|
|||
|
|
}).then(res => {
|
|||
|
|
app.SetroontypeListindex(res)
|
|||
|
|
that.setData({
|
|||
|
|
roomtype:app.globalData.roomIDName
|
|||
|
|
})
|
|||
|
|
}, err => {
|
|||
|
|
console.log('GetRoomType error')
|
|||
|
|
}).catch(err => {
|
|||
|
|
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
await GetRoomTypeAndModalsListLog({
|
|||
|
|
code:this.data.Hotelinfo.Code
|
|||
|
|
}).then(res =>{
|
|||
|
|
if (res.IsSuccess==true) {
|
|||
|
|
|
|||
|
|
that.setData({
|
|||
|
|
roomtypeInfo:res.Result
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
//页面卸载
|
|||
|
|
onUnload: function name(params) {
|
|||
|
|
let data = wx.getStorageSync("oldHotelinfo") || []
|
|||
|
|
let ok = false;
|
|||
|
|
try {
|
|||
|
|
for (let index = 0; index < data.length; index++) {
|
|||
|
|
const element = data[index];
|
|||
|
|
if (element.key == this.data.Hotelinfo.HotelId) {
|
|||
|
|
ok = true;
|
|||
|
|
data[index].data = this.data.HostsData;
|
|||
|
|
throw new Error();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
} catch (error) {
|
|||
|
|
console.log('已经找到了')
|
|||
|
|
}
|
|||
|
|
if (!ok) {
|
|||
|
|
data.push({
|
|||
|
|
key: this.data.Hotelinfo.HotelId,
|
|||
|
|
data: this.data.HostsData
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
try {
|
|||
|
|
wx.setStorageSync('oldHotelinfo', data)
|
|||
|
|
} catch (error) {
|
|||
|
|
console.log(error)
|
|||
|
|
}
|
|||
|
|
console.log('000')
|
|||
|
|
// 获取页面栈
|
|||
|
|
var pages = getCurrentPages();
|
|||
|
|
var currPage = pages[pages.length - 1]; // 当前页
|
|||
|
|
var prevPage = pages[pages.length - 2]; // 上一个页面
|
|||
|
|
prevPage.setData({
|
|||
|
|
issel: this.data.Hotelinfo.HotelId
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//固件升级
|
|||
|
|
ConfigurationUpgrade: async function(e){
|
|||
|
|
console.log('固件升级')
|
|||
|
|
|
|||
|
|
let selHosts =this.data.selHosts
|
|||
|
|
this. Carryoutupgrade(false)
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//配置升级
|
|||
|
|
FirmwareUpgrade: async function (e){
|
|||
|
|
console.log('配置升级')
|
|||
|
|
this.Carryoutupgrade(true)
|
|||
|
|
},
|
|||
|
|
// 进行升级
|
|||
|
|
Carryoutupgrade:function (params) {
|
|||
|
|
//debugger
|
|||
|
|
let selHosts =this.data.selHosts
|
|||
|
|
let ID =selHosts.Id
|
|||
|
|
let RoomTypeID = selHosts.RoomTypeID
|
|||
|
|
let roontypeList =app.globalData.roontypeList
|
|||
|
|
let Gfilename =""
|
|||
|
|
let Pfilename =""
|
|||
|
|
for (let index = 0; index < roontypeList.length; index++) {
|
|||
|
|
const element = roontypeList[index];
|
|||
|
|
if (RoomTypeID==element.ROOM_TYPE_OLD_ID) {
|
|||
|
|
if (element.App_Cfg_For_L2.length>0) {
|
|||
|
|
Gfilename=element.App_Cfg_For_L2
|
|||
|
|
}
|
|||
|
|
if (element.App_Cfg_For_L4.length>0) {
|
|||
|
|
Gfilename=element.App_Cfg_For_L4
|
|||
|
|
}
|
|||
|
|
if (element.APPTYPE=="App_Cfg") {
|
|||
|
|
Pfilename=element.CONFIG_BIN
|
|||
|
|
}else{
|
|||
|
|
Pfilename=""
|
|||
|
|
}
|
|||
|
|
break
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
debugger
|
|||
|
|
Gfilename=Gfilename.replace('.hex','.bin')
|
|||
|
|
if (params) {
|
|||
|
|
if (Pfilename.length>0) {
|
|||
|
|
WebChatUpgrade({
|
|||
|
|
roomTypeID:RoomTypeID,
|
|||
|
|
hostid_lists:'['+ID+']',
|
|||
|
|
upgradefileName:Pfilename
|
|||
|
|
}).then(res => {
|
|||
|
|
if (res.IsSuccess ==true) {
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:"升级就绪",
|
|||
|
|
UpgradestIstrue:params
|
|||
|
|
})
|
|||
|
|
this.observersUpgradestatus()
|
|||
|
|
} else{
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:'服务器升级配置失败!'
|
|||
|
|
})
|
|||
|
|
this.DisplayPrompt('服务器升级配置失败!',1000)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}, err => {
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:'升级配置失败,服务器响应异常'
|
|||
|
|
})
|
|||
|
|
this.DisplayPrompt('升级配置失败,服务器响应异常',1000)
|
|||
|
|
}).catch(err => {
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:'升级配置失败,服务器响应异常'
|
|||
|
|
})
|
|||
|
|
this.DisplayPrompt('升级配置失败,服务器响应异常',1000)
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
}else{
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:'升级配置失败!服务器未获取到配置!'
|
|||
|
|
})
|
|||
|
|
this.DisplayPrompt('升级配置失败!服务器未获取到配置!',1000)
|
|||
|
|
}
|
|||
|
|
}else{
|
|||
|
|
if (Gfilename.length>0) {
|
|||
|
|
WebChatUpgrade({
|
|||
|
|
roomTypeID:RoomTypeID,
|
|||
|
|
hostid_lists:'['+ID+']',
|
|||
|
|
upgradefileName:Gfilename
|
|||
|
|
}).then(res => {
|
|||
|
|
if (res.IsSuccess ==true) {
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:"升级就绪",
|
|||
|
|
UpgradestIstrue:params
|
|||
|
|
})
|
|||
|
|
this.observersUpgradestatus()
|
|||
|
|
} else{
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:'服务器升级固件失败!'
|
|||
|
|
})
|
|||
|
|
this.DisplayPrompt('服务器升级固件失败!',1000)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}, err => {
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:'升级固件失败,服务器响应异常'
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
this.DisplayPrompt('升级固件失败,服务器响应异常',1000)
|
|||
|
|
}).catch(err => {
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:'升级固件失败,服务器响应异常'
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
this.DisplayPrompt('升级固件失败,服务器响应异常',1000)
|
|||
|
|
});
|
|||
|
|
}else
|
|||
|
|
{
|
|||
|
|
this.setData({
|
|||
|
|
Upgradestatus:"升级固件失败!!"
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
this.DisplayPrompt('升级固件失败!!',1000)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
DisplayPrompt(tipstr, showtime)
|
|||
|
|
{
|
|||
|
|
wx.showLoading({
|
|||
|
|
title: tipstr,
|
|||
|
|
})
|
|||
|
|
setTimeout(function () {
|
|||
|
|
wx.hideLoading()
|
|||
|
|
}, showtime)
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 反馈异常
|
|||
|
|
ErrorInfo: async function (e) {
|
|||
|
|
let type = e.currentTarget.dataset['type']
|
|||
|
|
let that = this;
|
|||
|
|
await ErrorInfo({
|
|||
|
|
type: type,
|
|||
|
|
MAC: this.data.selHosts.MAC,
|
|||
|
|
roomNumber: this.data.selHosts.RoomNumber,
|
|||
|
|
HotelID: this.data.selHosts.HotelID,
|
|||
|
|
}).then(res => {
|
|||
|
|
if (res.Status == 200) {
|
|||
|
|
that.GetHide();
|
|||
|
|
app.globalData.userinfo.error.push({
|
|||
|
|
HostsId: that.data.selHosts.Id,
|
|||
|
|
MAC: that.data.selHosts.MAC,
|
|||
|
|
type: type
|
|||
|
|
});
|
|||
|
|
app.toast(1, "反馈成功~")
|
|||
|
|
} else {
|
|||
|
|
app.toast(2, "反馈失败~")
|
|||
|
|
}
|
|||
|
|
}, err => {
|
|||
|
|
app.toast(2, "反馈失败~")
|
|||
|
|
}).catch((e) => {
|
|||
|
|
app.toast(2, "反馈失败~")
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
// 微信api,获取经纬度
|
|||
|
|
getFuzzyLocations() {
|
|||
|
|
wx.getFuzzyLocation({
|
|||
|
|
type: 'wgs84',
|
|||
|
|
success: this.updateLocation,
|
|||
|
|
fail: (e) => {
|
|||
|
|
console.log(e)
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
// 根据经纬度,设置数据
|
|||
|
|
updateLocation(res) {
|
|||
|
|
let {
|
|||
|
|
latitude: lat,
|
|||
|
|
longitude: lon
|
|||
|
|
} = res
|
|||
|
|
let data = {
|
|||
|
|
lat,
|
|||
|
|
lon
|
|||
|
|
}
|
|||
|
|
// this.setData(data)
|
|||
|
|
this.getAddress(lat, lon)
|
|||
|
|
},
|
|||
|
|
// 根据经纬度,逆地址解析
|
|||
|
|
getAddress(lat, lon) {
|
|||
|
|
// 在wx.request中,this指向wx.request,故无法setData,此处将this指向that
|
|||
|
|
var that = this
|
|||
|
|
let SIG = md5("/ws/geocoder/v1?key=" + app.globalData.MapKey + "&location=" + String(lat) + "," + String(lon) + app.globalData.MapSk)
|
|||
|
|
wx.request({
|
|||
|
|
url: 'https://apis.map.qq.com/ws/geocoder/v1',
|
|||
|
|
data: {
|
|||
|
|
key: app.globalData.MapKey,
|
|||
|
|
location: `${lat},${lon}`,
|
|||
|
|
sig: SIG
|
|||
|
|
},
|
|||
|
|
success(res) {
|
|||
|
|
let result = res.data.result
|
|||
|
|
// console.log(result)
|
|||
|
|
// formatted_addresses.recommend是经过腾讯地图优化过的描述方式,更具人性化特点
|
|||
|
|
let formatted_addresses = result.formatted_addresses.recommend
|
|||
|
|
// 此处的that指向app
|
|||
|
|
that.setData({
|
|||
|
|
address: formatted_addresses
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
fail: (e) => {
|
|||
|
|
console.log(e)
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
//每次展示获取一次定位
|
|||
|
|
onShow() {
|
|||
|
|
let that = this;
|
|||
|
|
wx.getSetting({
|
|||
|
|
success: (res) => {
|
|||
|
|
console.log(JSON.stringify(res))
|
|||
|
|
// res.authSetting['scope.userFuzzyLocation'] == undefined 表示 初始化进入该页面
|
|||
|
|
// res.authSetting['scope.userFuzzyLocation'] == false 表示 非初始化进入该页面,且未授权
|
|||
|
|
// res.authSetting['scope.userFuzzyLocation'] == true 表示 地理位置授权
|
|||
|
|
if (res.authSetting['scope.userFuzzyLocation'] != undefined && res.authSetting['scope.userFuzzyLocation'] != true) {
|
|||
|
|
//以前被拒绝授权指引用户授权
|
|||
|
|
wx.showModal({
|
|||
|
|
title: '请求授权当前位置',
|
|||
|
|
content: '需要获取您的地理位置,请确认授权',
|
|||
|
|
success: function (res) {
|
|||
|
|
if (res.cancel) {
|
|||
|
|
app.toast(2, "拒绝授权")
|
|||
|
|
} else if (res.confirm) {
|
|||
|
|
wx.openSetting({
|
|||
|
|
success: function (dataAu) {
|
|||
|
|
if (dataAu.authSetting["scope.userFuzzyLocation"] == true) {
|
|||
|
|
app.toast(1, "授权成功")
|
|||
|
|
that.getFuzzyLocations();
|
|||
|
|
} else {
|
|||
|
|
app.toast(2, "授权失败")
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
} else if (res.authSetting['scope.userFuzzyLocation'] == undefined) {
|
|||
|
|
//调用wx.getFuzzyLocation
|
|||
|
|
that.getFuzzyLocations();
|
|||
|
|
} else {
|
|||
|
|
that.getFuzzyLocations();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
//读取本地历史缓存 并且 修改房间信息
|
|||
|
|
GetLOC() {
|
|||
|
|
let hc = null;
|
|||
|
|
let data = wx.getStorageSync("oldHotelinfo") || []
|
|||
|
|
try {
|
|||
|
|
for (let index = 0; index < data.length; index++) {
|
|||
|
|
const element = data[index];
|
|||
|
|
if (element.key == this.data.Hotelinfo.HotelId) {
|
|||
|
|
hc = data[index].data;
|
|||
|
|
throw new Error();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
} catch (error) {
|
|||
|
|
console.log('已经找到')
|
|||
|
|
}
|
|||
|
|
if (hc != null) {
|
|||
|
|
let data = this.data.HostsData;
|
|||
|
|
hc.forEach(x => {
|
|||
|
|
for (let index = 0; index < data.length; index++) {
|
|||
|
|
if (data[index].Id == x.Id) {
|
|||
|
|
data[index].xg = x.xg;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
this.setData({
|
|||
|
|
HostsData: data,
|
|||
|
|
HostsDataFilters: data
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|