629 lines
15 KiB
JavaScript
629 lines
15 KiB
JavaScript
|
|
// pages/FacialDeviceBinding/FacialDeviceBinding.js
|
|||
|
|
// 人脸设备绑定页面逻辑
|
|||
|
|
const app = getApp()
|
|||
|
|
// 导入请求中心
|
|||
|
|
import {
|
|||
|
|
GetHostsInfo,
|
|||
|
|
GetFaceSN,
|
|||
|
|
GetFaceCode,
|
|||
|
|
CheckFaceSNAutho,
|
|||
|
|
CheckFaceSN,
|
|||
|
|
OpenDoorTest
|
|||
|
|
} from '../../../lib/RequestingCenter';
|
|||
|
|
|
|||
|
|
Page({
|
|||
|
|
data: {
|
|||
|
|
autho:null,
|
|||
|
|
RoomIndex: 0, // 当前选中房间索引
|
|||
|
|
Hotelinfo: null, // 酒店信息
|
|||
|
|
HostsData: null, // 原始设备数据
|
|||
|
|
HostsDataFilters: [], // 过滤后的设备数据
|
|||
|
|
onlineFaceDevices: 0, // 在线人脸设备数量
|
|||
|
|
inputValue: "", // 搜索输入值
|
|||
|
|
scrollHeight: 0, // 滚动区域高度
|
|||
|
|
toView: '', // 滚动位置
|
|||
|
|
modal: '', // 弹窗状态
|
|||
|
|
selHosts: null, // 当前选中的房间
|
|||
|
|
faceSNCode: '', // 人脸设备SN输入
|
|||
|
|
bdHosts: [], // 已绑定的主机列表
|
|||
|
|
Help: false, // 帮助状态
|
|||
|
|
islogs: false, // 操作记录状态
|
|||
|
|
showinfo: 0, // 显示信息类型
|
|||
|
|
faceAddress: '', // 人脸设备地址
|
|||
|
|
input: 0, // 输入类型
|
|||
|
|
ISLoopDebugging: 0, // 回路调试状态
|
|||
|
|
message: [], // 弹窗信息
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 页面的初始数据
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
onLoad:async function(options) {
|
|||
|
|
|
|||
|
|
if (!options.HotelId || app.globalData.autho == null) {
|
|||
|
|
app.toast(2, "无酒店信息~")
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
this.setData({
|
|||
|
|
autho: app.globalData.autho ,
|
|||
|
|
HotelId:options.HotelId
|
|||
|
|
})
|
|||
|
|
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("已经找到,无需循环~")
|
|||
|
|
}
|
|||
|
|
// 计算滚动区域高度
|
|||
|
|
this.calcScrollHeight();
|
|||
|
|
// 获取人脸设备数据
|
|||
|
|
this.GetHostsInfo();
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 生命周期函数--监听页面初次渲染完成
|
|||
|
|
*/
|
|||
|
|
onReady: function () {
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 生命周期函数--监听页面显示
|
|||
|
|
*/
|
|||
|
|
onShow: function () {
|
|||
|
|
// 页面显示时重新获取数据
|
|||
|
|
this.GetHostsInfo();
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 生命周期函数--监听页面隐藏
|
|||
|
|
*/
|
|||
|
|
onHide: function () {
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 生命周期函数--监听页面卸载
|
|||
|
|
*/
|
|||
|
|
onUnload: function () {
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|||
|
|
*/
|
|||
|
|
onPullDownRefresh: function () {
|
|||
|
|
this.GetHostsInfo();
|
|||
|
|
wx.stopPullDownRefresh();
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 页面上拉触底事件的处理函数
|
|||
|
|
*/
|
|||
|
|
onReachBottom: function () {
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 用户点击右上角分享
|
|||
|
|
*/
|
|||
|
|
onShareAppMessage: function () {
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 返回上一页
|
|||
|
|
back: function () {
|
|||
|
|
wx.navigateBack({
|
|||
|
|
delta: 1
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 计算滚动区域高度
|
|||
|
|
calcScrollHeight: function () {
|
|||
|
|
|
|||
|
|
// 1. 拿到屏幕可用高度(px)
|
|||
|
|
const sys = wx.getSystemInfoSync();
|
|||
|
|
const screenHeight = sys.windowHeight; // px
|
|||
|
|
|
|||
|
|
// 2. 拿到 scroll-view 的 top(px)
|
|||
|
|
wx.createSelectorQuery()
|
|||
|
|
.in(this)
|
|||
|
|
.select('#myScroll')
|
|||
|
|
.boundingClientRect(rect => {
|
|||
|
|
if (rect) {
|
|||
|
|
const topPx = rect.top; // px
|
|||
|
|
const bottomPx = 10 / 2; // 10rpx → 5px(2倍屏)
|
|||
|
|
const heightPx = screenHeight - topPx - bottomPx;
|
|||
|
|
|
|||
|
|
// 3. 转 rpx 并写入
|
|||
|
|
this.setData({
|
|||
|
|
scrollHeight: heightPx * 2 // px→rpx
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
.exec();
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 获取人脸设备数据
|
|||
|
|
GetHostsInfo: function () {
|
|||
|
|
const that = this;
|
|||
|
|
// 显示加载提示
|
|||
|
|
wx.showLoading({
|
|||
|
|
title: '加载中...',
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 调用获取主机信息接口
|
|||
|
|
GetHostsInfo({
|
|||
|
|
HotelID: that.data.HotelId
|
|||
|
|
}).then(res => {
|
|||
|
|
// 隐藏加载提示
|
|||
|
|
wx.hideLoading();
|
|||
|
|
|
|||
|
|
if (res.Status == 200) {
|
|||
|
|
// 处理数据
|
|||
|
|
const HostsData = res.Data;
|
|||
|
|
const HostsDataFilters = HostsData;
|
|||
|
|
|
|||
|
|
// 统计在线人脸设备数量
|
|||
|
|
let onlineFaceDevices = 0;
|
|||
|
|
for (let i = 0; i < HostsDataFilters.length; i++) {
|
|||
|
|
if (HostsDataFilters[i].FaceStatus) {
|
|||
|
|
onlineFaceDevices++;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 更新数据
|
|||
|
|
that.setData({
|
|||
|
|
HostsData: HostsData,
|
|||
|
|
HostsDataFilters: HostsDataFilters,
|
|||
|
|
onlineFaceDevices: onlineFaceDevices,
|
|||
|
|
RoomIndex: 0
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 获取位置信息
|
|||
|
|
that.GetLOC();
|
|||
|
|
} else {
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '获取数据失败',
|
|||
|
|
icon: 'none'
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}).catch(err => {
|
|||
|
|
wx.hideLoading();
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '网络异常',
|
|||
|
|
icon: 'none'
|
|||
|
|
});
|
|||
|
|
console.error('获取主机信息失败:', err);
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 获取位置信息
|
|||
|
|
GetLOC: function () {
|
|||
|
|
const that = this;
|
|||
|
|
// 调用微信获取位置接口
|
|||
|
|
wx.getFuzzyLocation({
|
|||
|
|
type: 'wgs84',
|
|||
|
|
success(res) {
|
|||
|
|
const latitude = res.latitude;
|
|||
|
|
const longitude = res.longitude;
|
|||
|
|
const address = `${latitude},${longitude}`;
|
|||
|
|
that.setData({
|
|||
|
|
faceAddress: address
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
fail(err) {
|
|||
|
|
console.error('获取位置信息失败:', err);
|
|||
|
|
// 位置信息获取失败不影响主流程
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 搜索输入
|
|||
|
|
inputSearchForHotels: function (e) {
|
|||
|
|
this.setData({
|
|||
|
|
inputValue: e.detail.value
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 搜索房间
|
|||
|
|
SearchForHotels: function () {
|
|||
|
|
const that = this;
|
|||
|
|
const inputValue = that.data.inputValue;
|
|||
|
|
const HostsData = that.data.HostsData;
|
|||
|
|
|
|||
|
|
if (inputValue === '') {
|
|||
|
|
// 搜索条件为空,显示所有数据
|
|||
|
|
that.setData({
|
|||
|
|
HostsDataFilters: HostsData
|
|||
|
|
});
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 根据房号搜索
|
|||
|
|
const filters = HostsData.filter(item => {
|
|||
|
|
return item.RoomNumber.indexOf(inputValue) !== -1;
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
that.setData({
|
|||
|
|
HostsDataFilters: filters
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 刷新房间数据
|
|||
|
|
RefreshTheRoom: function () {
|
|||
|
|
this.GetHostsInfo();
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 跳转到人脸设备详情或直接扫码绑定
|
|||
|
|
goFaceDetail: function (e) {
|
|||
|
|
const index = e.currentTarget.id.split('-')[1];
|
|||
|
|
const HostsDataFilters = this.data.HostsDataFilters;
|
|||
|
|
const selHosts = HostsDataFilters[index];
|
|||
|
|
selHosts.index = index;
|
|||
|
|
|
|||
|
|
this.setData({
|
|||
|
|
RoomIndex: index,
|
|||
|
|
selHosts: selHosts
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 判断条件:离线且未绑定
|
|||
|
|
if (!selHosts.FaceStatus && (!selHosts.FaceSN || selHosts.FaceSN === '')) {
|
|||
|
|
|
|||
|
|
// 直接调用摄像头扫码绑定
|
|||
|
|
this.GetFaceCode();
|
|||
|
|
} else {
|
|||
|
|
// 设置消息数据
|
|||
|
|
this.setData({
|
|||
|
|
message: [selHosts.FaceSN, selHosts.RoomNumber],
|
|||
|
|
// 显示设备详情
|
|||
|
|
modal: -1
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 关闭弹窗
|
|||
|
|
GetHide: function () {
|
|||
|
|
this.setData({
|
|||
|
|
modal: ''
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 反馈错误
|
|||
|
|
ErrorInfo: function () {
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '反馈功能开发中',
|
|||
|
|
icon: 'none'
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 人脸设备解绑
|
|||
|
|
JbSn: function (params) {
|
|||
|
|
let jbjd = null;
|
|||
|
|
let faceSN = null;
|
|||
|
|
let that = this;
|
|||
|
|
let index = -1;
|
|||
|
|
|
|||
|
|
// 检查是否从SN已绑定弹窗点击解绑按钮
|
|||
|
|
if (typeof params.currentTarget.dataset['index'] != 'undefined') {
|
|||
|
|
faceSN = this.data.faceSNCode;
|
|||
|
|
index = params.currentTarget.dataset['index'];
|
|||
|
|
// 解绑的房间
|
|||
|
|
jbjd = this.data.bdHosts[index];
|
|||
|
|
} else {
|
|||
|
|
jbjd = this.data.selHosts;
|
|||
|
|
faceSN = this.data.selHosts.FaceSN;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
wx.showModal({
|
|||
|
|
title: '解绑确认',
|
|||
|
|
content: `确定要解除${jbjd.RoomNumber}房间的人脸设备绑定吗?`,
|
|||
|
|
success(res) {
|
|||
|
|
if (res.confirm) {
|
|||
|
|
// 调用解绑接口
|
|||
|
|
GetFaceSN({
|
|||
|
|
faceSN: faceSN,
|
|||
|
|
roomID: jbjd.Id,
|
|||
|
|
roomNumber: jbjd.RoomNumber,
|
|||
|
|
faceAddress: that.data.faceAddress,
|
|||
|
|
HotelID: jbjd.HotelID,
|
|||
|
|
isjb: true
|
|||
|
|
}).then(res => {
|
|||
|
|
if (res.Status == 200) {
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '解绑成功',
|
|||
|
|
icon: 'success'
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 如果是从SN已绑定弹窗解绑,需要更新bdHosts数据
|
|||
|
|
if (index > -1) {
|
|||
|
|
let databdHosts = that.data.bdHosts;
|
|||
|
|
databdHosts.splice(index, 1);
|
|||
|
|
that.setData({
|
|||
|
|
bdHosts: databdHosts
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 如果bdHosts为空,继续执行绑定
|
|||
|
|
if (databdHosts.length <= 0) {
|
|||
|
|
that.GetFaceSNend();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 重新获取数据
|
|||
|
|
that.GetHostsInfo();
|
|||
|
|
// 关闭弹窗
|
|||
|
|
that.GetHide();
|
|||
|
|
} else {
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '解绑失败',
|
|||
|
|
icon: 'none'
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}).catch(err => {
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '网络异常',
|
|||
|
|
icon: 'none'
|
|||
|
|
});
|
|||
|
|
console.error('解绑失败:', err);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 扫码绑定人脸设备
|
|||
|
|
GetFaceCode: function () {
|
|||
|
|
const that = this;
|
|||
|
|
|
|||
|
|
// 检查权限
|
|||
|
|
if (!that.CheckFaceSNAutho()) {
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '您没有权限绑定人脸设备',
|
|||
|
|
icon: 'none'
|
|||
|
|
});
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 调用微信扫码接口
|
|||
|
|
wx.scanCode({
|
|||
|
|
success: (res) => {
|
|||
|
|
const code = res.result;
|
|||
|
|
that.setData({
|
|||
|
|
faceSNCode: code
|
|||
|
|
});
|
|||
|
|
debugger
|
|||
|
|
that.GetFaceSNOK();
|
|||
|
|
},
|
|||
|
|
fail: (err) => {
|
|||
|
|
console.error('扫码失败:', err);
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '扫码失败',
|
|||
|
|
icon: 'none'
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 手动输入人脸设备SN
|
|||
|
|
ShowInputsn: function () {
|
|||
|
|
// 检查权限
|
|||
|
|
if (!this.CheckFaceSNAutho()) {
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '您没有权限绑定人脸设备',
|
|||
|
|
icon: 'none'
|
|||
|
|
});
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
this.setData({
|
|||
|
|
modal: 'showBindConfirm'
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
GetFaceSNOK:function(){
|
|||
|
|
let that = this;
|
|||
|
|
if (!this.CheckFaceMAC(that.data.faceSNCode)) {
|
|||
|
|
this.setData({
|
|||
|
|
modal: 520
|
|||
|
|
})
|
|||
|
|
return;
|
|||
|
|
};
|
|||
|
|
if (that.data.selHosts.FaceSN == that.data.faceSNCode) {
|
|||
|
|
app.toast(2, "条码一致,无需更改~")
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
this.CheckFaceMACWL()
|
|||
|
|
},
|
|||
|
|
CheckFaceMACWL(){
|
|||
|
|
let that = this;
|
|||
|
|
CheckFaceSN({faceSN:this.data.faceSNCode}).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, "网络繁忙")
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
CheckFaceMAC:function(vlues){
|
|||
|
|
return true;
|
|||
|
|
console.log(vlues.length != 16)
|
|||
|
|
return vlues.length == 16;
|
|||
|
|
},
|
|||
|
|
// 完成人脸设备绑定
|
|||
|
|
GetFaceSNend: function () {
|
|||
|
|
const that = this;
|
|||
|
|
const selHosts = that.data.selHosts;
|
|||
|
|
const faceSNCode = that.data.faceSNCode;
|
|||
|
|
|
|||
|
|
// 显示加载提示
|
|||
|
|
wx.showLoading({
|
|||
|
|
title: '绑定中...',
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 调用绑定接口
|
|||
|
|
GetFaceSN({
|
|||
|
|
faceSN: faceSNCode,
|
|||
|
|
roomID: selHosts.Id,
|
|||
|
|
roomNumber: selHosts.RoomNumber,
|
|||
|
|
faceAddress: that.data.faceAddress,
|
|||
|
|
HotelID: selHosts.HotelID,
|
|||
|
|
isjb: false
|
|||
|
|
}).then(res => {
|
|||
|
|
// 隐藏加载提示
|
|||
|
|
wx.hideLoading();
|
|||
|
|
|
|||
|
|
if (res.Status == 200) {
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '绑定成功',
|
|||
|
|
icon: 'success'
|
|||
|
|
});
|
|||
|
|
// 重新获取数据
|
|||
|
|
that.GetHostsInfo();
|
|||
|
|
// 关闭弹窗
|
|||
|
|
that.GetHide();
|
|||
|
|
} else if (res.Status == 400) {
|
|||
|
|
// 设备已被绑定
|
|||
|
|
that.setData({
|
|||
|
|
bdHosts: res.Data,
|
|||
|
|
code: faceSNCode,
|
|||
|
|
modal: -200
|
|||
|
|
});
|
|||
|
|
} else {
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '绑定失败',
|
|||
|
|
icon: 'none'
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}).catch(err => {
|
|||
|
|
// 隐藏加载提示
|
|||
|
|
wx.hideLoading();
|
|||
|
|
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '网络异常',
|
|||
|
|
icon: 'none'
|
|||
|
|
});
|
|||
|
|
console.error('绑定失败:', err);
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 检查人脸设备绑定权限
|
|||
|
|
CheckFaceSNAutho: function () {
|
|||
|
|
let res = false;
|
|||
|
|
this.data.Hotelinfo.Auth.forEach(x => {
|
|||
|
|
if (x.AuthorityId == 21 && x.AuthotypeId == 3) {
|
|||
|
|
res = true;
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
return res;
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 设置操作
|
|||
|
|
testinfo: function (e) {
|
|||
|
|
var jbjd = this.data.selHosts;
|
|||
|
|
wx.navigateTo({
|
|||
|
|
url: '/pages/test/test?Hotelinfo=' + e.currentTarget.id + '&RoomID=' + jbjd.Id + '&faceadd=' + this.data.faceAddress
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 开门操作
|
|||
|
|
OpenDoor: function (e) {
|
|||
|
|
const sn = e.currentTarget.id.split('_');
|
|||
|
|
OpenDoorTest({faceSN:sn[2],isjb:true}).then(
|
|||
|
|
res=>{
|
|||
|
|
if (res.Status == 200) {
|
|||
|
|
wx.showToast({
|
|||
|
|
title: res.Message,
|
|||
|
|
icon: 'none'
|
|||
|
|
})
|
|||
|
|
}else{
|
|||
|
|
wx.showToast({
|
|||
|
|
title: res.Message,
|
|||
|
|
icon: 'none'
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
},rej=>{
|
|||
|
|
wx.showToast({
|
|||
|
|
title: "网络繁忙",
|
|||
|
|
icon: 'none'
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
);
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 切换显示信息
|
|||
|
|
GetshowinfoClick: function (e) {
|
|||
|
|
const index = e.currentTarget.dataset.index;
|
|||
|
|
this.setData({
|
|||
|
|
showinfo: index
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 切换显示信息(刷新)
|
|||
|
|
GetshowinfoClick1: function () {
|
|||
|
|
this.GetHostsInfo();
|
|||
|
|
},
|
|||
|
|
})
|