You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

480 lines
12 KiB

// pages/openLockLog/openLockLog.js
const app = getApp()
const WXAPI = require('../../utils/request')
var util = require('../../utils/util');
import moment from "../../utils/moment"
Page({
/**
* 页面的初始数据
*/
data: {
locklogList: [],
locklogListOne:[],
locklogListTwo:[],
pageNum: 1,
pageNumOne:1,
pageNumTwo:1,
pageSize: 10,
roomId: '',
cardId:'',
stoppull: false,
active:0,
openType:0,
bottomroolTwo:true,
bottomroolOne:true
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
if (options.roomId && !options.cardId) {
this.data.roomId = options.roomId
this.getopenlocklog(options.roomId)
}else{
this.data.roomId = options.roomId
this.data.cardId = options.cardId
this.minGetopenlocklog()
}
},
onChange(event){
this.setData({
active:event.detail.name
})
if(this.data.cardId){
this.minGetopenlocklog()
}else{
if(event.detail.name==0){
this.getopenlocklog(this.data.roomId)
}else if(event.detail.name==1){
this.getopenlocklogOne(this.data.roomId)
}else if(event.detail.name==2){
this.getopenlocklogTwo(this.data.roomId)
}
}
},
timestampToTime(cjsj) {
if (cjsj.toString().length == 10) {
cjsj = cjsj * 1000
}
var date = new Date(cjsj); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + "-";
var M =
(date.getMonth() + 1 < 10 ?
"0" + (date.getMonth() + 1) :
date.getMonth() + 1) + "-";
var D = (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
var h = (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) + ":";
var m = (date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes()) + ":";
var s = (date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds());
return Y + M + D + h + m + s;
},
getopenlocklogTwo(roomId){
let operUrl="",q={}
var carname=wx.getStorageSync('username')
var deviceinfo=wx.getStorageSync('deviceinfo')
operUrl="/v1/device/isp/openLock"
q= util.searchParaProcess({
operUrl:operUrl,
roomIds:[this.data.roomId],
request:[carname],
})
var dataq = {
pageNum: this.data.pageNumTwo,
pageSize: 30,
orderType: "desc",
orderBy:"createAt",
q: q
};
WXAPI.getOperateList(dataq).then(res=>{
if(res.success){
var data = [];
if(res.data.total<30){
this.setData({
bottomroolTwo:false
})
}
res.data.list.map((li, index) => {
var operRequ=JSON.parse(li.operRequ).param[0]
let path="",compli=""
if(operRequ.hasOwnProperty("data")){
path=deviceinfo.roomName
li.roomName = path?path:operRequ.data.roomName?operRequ.data.roomName:'';
li.roomId = operRequ.data.roomId;
li.name=operRequ.data.cardName
li.deviceNum=operRequ.data.lockerId?operRequ.data.lockerId:operRequ.data.deviceNum;
}else{
li.roomName = operRequ.roomName
li.name=operRequ.cardName
li.deviceNum=operRequ.deviceNum || operRequ.imei
}
li.openType="远程开锁"
li.openTime = moment(li.createAt).format("YYYY-MM-DD HH:mm:ss");
});
var locklogListTwo=this.data.locklogListTwo.concat(res.data.list)
this.setData({
locklogListTwo:locklogListTwo
})
}
})
},
getopenlocklogOne(roomId){
let operUrl="",q={}
var carname=wx.getStorageSync('username')
operUrl="/v1/device/send/bleCommand"
q= util.searchParaProcess({
operRequ: "bleUnlockRecord",
// operUrl:operUrl,
roomIds:[this.data.roomId],
request:[carname],
})
var dataq = {
pageNum: this.data.pageNumOne,
pageSize: 30,
orderType: "desc",
orderBy:"createAt",
q: q
};
WXAPI.getOperateList(dataq).then(res=>{
if(res.success){
if(res.data.total<30){
this.setData({
bottomroolOne:false
})
}
var data = [];
res.data.list.map((li, index) => {
var operRequ=JSON.parse(li.operRequ).param[0]
let path="",compli=""
if(operRequ.hasOwnProperty("data")){
path=wx.getStorageSync('deviceinfo').roomName
li.roomName = path?path:operRequ.data.roomName?operRequ.data.roomName:'';
li.roomId = operRequ.data.roomId;
li.name=operRequ.data.cardName
li.deviceNum=operRequ.data.lockerId?operRequ.data.lockerId:operRequ.data.deviceNum;
}else{
li.roomName = operRequ.roomName
li.name=operRequ.cardName
li.deviceNum=operRequ.deviceNum || operRequ.imei
}
li.openType="蓝牙开锁"
li.openTime = moment(li.createAt).format("YYYY-MM-DD HH:mm:ss");
});
var locklogListOne=this.data.locklogListOne.concat(res.data.list)
this.setData({
locklogListOne:locklogListOne
})
}
})
},
// 租客获取开锁记录
minGetopenlocklog(){
var q = {
// roomId: this.data.roomId,
cardId:this.data.cardId
}
var data1 = {
param:{
pageNum: this.data.pageNum,
pageSize: this.data.pageSize,
orderBy:"open_time desc",
q: JSON.stringify(q)
},
signature:wx.getStorageSync('signature')
}
let deviceinfo = wx.getStorageSync('deviceinfo')
let data2={
param:{
pageNum: 1,
pageSize:10,
orderType: "desc",
orderBy:"createAt",
q: JSON.stringify({
operateName:deviceinfo.name,
roomId:deviceinfo.roomId
})
},
signature:wx.getStorageSync('signature')
}
WXAPI.getBleUnlockRecord(data2).then(res2=>{
if(res2.success){
this.setData({
locklogListOne:res2.data.list
})
}
})
WXAPI.minGetOpenLocks(data1).then(res=>{
if (res.success) {
if (res.data.list.length<10) {
this.data.stoppull = true
this.data.pageNum = 1
wx.showToast({
title: '暂无更多数据!',
duration:2000,
icon:'none'
})
}
res.data.list.map((li, index) => {
var str = ""
switch (li.openType) {
case 1:
str = "指纹开锁";
break;
case 2:
str = "数字键盘开锁";
break;
case 3:
str = "NFC开锁";
break;
case 4:
str = "机械钥匙开锁";
break;
case 5:
str = "蓝牙开锁";
break;
case 6:
str = "NB开锁";
break;
case 7:
str = "身份证";
break;
case 8:
str = "单机密码开锁";
break;
case 9:
str = "人脸开锁";
break;
default:
break;
}
li.openTime = this.timestampToTime(li.openTime)
li.openType = str
})
var locklogList=this.data.locklogList.concat(res.data.list)
console.log(locklogList)
this.setData({
locklogList:locklogList
})
}
})
},
getopenlocklog(roomId) {
var q = {
roomId: roomId
}
var data1 = {
pageNum: this.data.pageNum,
pageSize: this.data.pageSize,
orderBy:"open_time desc",
q: JSON.stringify(q)
}
WXAPI.getOpenRecord(data1).then(res=>{
console.log(res);
if (res.success) {
if (res.data.length<10) {
this.data.stoppull = true
}
res.data.list.map((li, index) => {
var str = ""
switch (li.openType) {
case 1:
str = "指纹开锁";
break;
case 2:
str = "数字键盘开锁";
break;
case 3:
str = "NFC开锁";
break;
case 4:
str = "机械钥匙开锁";
break;
case 5:
str = "蓝牙开锁";
break;
case 6:
str = "NB开锁";
break;
case 7:
str = "身份证";
break;
case 8:
str = "单机密码开锁";
break;
case 9:
str = "人脸开锁";
break;
default:
break;
}
li.openTime = this.timestampToTime(li.openTime)
li.openType = str
})
var locklogList=this.data.locklogList.concat(res.data.list)
console.log(locklogList)
this.setData({
locklogList:locklogList
})
}
})
},
getopenlocklog1() {
var data1 = {
pageNum: this.data.pageNum,
pageSize: this.data.pageSize,
orderBy: "open_time desc",
q: JSON.stringify({
roomId: this.data.roomId
}),
};
WXAPI.getOpenRecord(data1).then(res=>{
if (res.success) {
if (res.data.list.length<10) {
this.data.stoppull = true
}
res.data.list.map((li, index) => {
var str = ""
switch (li.openType) {
case 1:
str = "指纹开锁";
break;
case 2:
str = "数字键盘开锁";
break;
case 3:
str = "NFC开锁";
break;
case 4:
str = "机械钥匙开锁";
break;
case 5:
str = "蓝牙开锁";
break;
case 6:
str = "NB开锁";
break;
case 7:
str = "身份证";
break;
case 8:
str = "单机密码开锁";
break;
case 9:
str = "人脸开锁";
break;
default:
break;
}
li.openTime = this.timestampToTime(li.openTime)
li.openType = str
})
var array = []
var locklogList = array.concat(this.data.locklogList, res.data.list)
this.setData({
locklogList
})
}
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
if(this.data.cardId){
// this.getopenlocklogOne()
let pageNum = this.data.pageNum+1
this.setData({
pageNum
})
this.minGetopenlocklog()
}else{
if(this.data.active==0){
if (!this.data.stoppull) {
this.data.pageNum = this.data.pageNum + 1
this.getopenlocklog1()
setTimeout(() => {
wx.stopPullDownRefresh()
})
} else {
wx.showToast({
title: "暂无更多数据!",
icon: "none",
duration: 2000
})
}
}else if(this.data.active==1){
if (!this.data.bottomroolOne) {
this.data.pageNumOne = this.data.pageNumOne + 1
this.getopenlocklogOne(this.data.roomId)
setTimeout(() => {
wx.stopPullDownRefresh()
})
} else {
wx.showToast({
title: "暂无更多数据!",
icon: "none",
duration: 2000
})
}
}else if(this.data.active==2){
if (!this.data.bottomroolTwo) {
this.data.pageNumTwo = this.data.pageNumTwo + 1
this.getopenlocklogTwo(this.data.roomId)
setTimeout(() => {
wx.stopPullDownRefresh()
})
} else {
wx.showToast({
title: "暂无更多数据!",
icon: "none",
duration: 2000
})
}
}
}
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})