diff --git a/pages/basics/HostUpgrade/EquipmentCaontrol/EquipmentCaontrol.js b/pages/basics/HostUpgrade/EquipmentCaontrol/EquipmentCaontrol.js index 41bf26d..c88fc94 100644 --- a/pages/basics/HostUpgrade/EquipmentCaontrol/EquipmentCaontrol.js +++ b/pages/basics/HostUpgrade/EquipmentCaontrol/EquipmentCaontrol.js @@ -144,6 +144,7 @@ if (Nres.Status==200) { break } } + console.log("roomtypeInfoNodeinfo") console.log(this.data.roomtypeInfoNodeinfo) this.LoopDebugging(null) @@ -394,7 +395,7 @@ if (Nres.Status==200) { if ( element2[0] == addrtype[0][0]) { li= myMap[index2][1] - li.push([element.ModalAddress,element.Name,addrtype[0][1]]) + li.push([element.ModalAddress,element.Name,addrtype[0][1],element.addrindex]) myMap[index2][1]=li addrtypelist=false break @@ -403,7 +404,7 @@ if (Nres.Status==200) { if (addrtypelist) { li=[] - li.push([element.ModalAddress,element.Name,addrtype[0][1]]) + li.push([element.ModalAddress,element.Name,addrtype[0][1],element.addrindex]) myMap.push([addrtype[0][0],li]) } @@ -412,6 +413,7 @@ if (Nres.Status==200) { roomtypeInfoNodeinfo=myMap.sort((a, b) => a[0] - b[0]) //获取房间在线状态 roomstart + console.log(roomtypeInfoNodeinfo) @@ -421,6 +423,7 @@ if (Nres.Status==200) { this.setData({ roomtypeInfoNodeinfo:roomtypeInfoNodeinfo }) + console.log(this.data.roomtypeInfoNode) }, GetloopType(loopaddr){ @@ -503,6 +506,7 @@ if (Nres.Status==200) { let iset = await this.ControlStatusMainCircuit(id, narry, devarr) if (iset) { roomtypeInfoNodeinfo[index][1][nindex][2] = narry + this.setData({ roomtypeInfoNodeinfo: roomtypeInfoNodeinfo }) diff --git a/pages/basics/HostUpgrade/EquipmentCaontrol/EquipmentCaontrol.wxml b/pages/basics/HostUpgrade/EquipmentCaontrol/EquipmentCaontrol.wxml index 02e1d28..9014bf5 100644 --- a/pages/basics/HostUpgrade/EquipmentCaontrol/EquipmentCaontrol.wxml +++ b/pages/basics/HostUpgrade/EquipmentCaontrol/EquipmentCaontrol.wxml @@ -75,7 +75,7 @@ - + 播放测试: @@ -91,7 +91,7 @@ - + 设置设备开关状态: @@ -106,7 +106,7 @@ - + 设置调光亮度: {{row[1][DimIndex][3]}}_{{row[1][DimIndex][1]}} @@ -117,7 +117,7 @@ - + 色温控制: 开关 色温 @@ -165,7 +165,7 @@ - + 设置设备开停关状态: @@ -184,7 +184,7 @@ - + 设置温控设备状态: diff --git a/pages/basics/HostUpgrade/HostUpgrade.js b/pages/basics/HostUpgrade/HostUpgrade.js index 472cd33..30de8fd 100644 --- a/pages/basics/HostUpgrade/HostUpgrade.js +++ b/pages/basics/HostUpgrade/HostUpgrade.js @@ -54,6 +54,9 @@ Page({ CurrentUpgradeDev:'', //当前升级设备 CurrentUpgradeDevStart:'',//当前升级设备状态 UpgradeAllCount:0, + RoomNumberSort: false, + ConfigVersionSort: false, + FirmwareVersionSort: false, //MAC绑定相关 selHosts: null, code: null, @@ -951,6 +954,7 @@ Page({ devlist[nindex].UpgradeProgress = ""; devlist[nindex].Model =_this.removeNullCharsAndInvisibleChars(devlist[nindex].Model) } + devlist = this.applyDevlistSort(devlist) } const Nres = await GetRoomType({ HotelID:app.globalData.HotelId @@ -1001,6 +1005,133 @@ if (Nres.Status==200) { } }, + sortDevlistByRoomNumber(devlist) { + if (!Array.isArray(devlist)) { + return [] + } + + return devlist.slice().sort((left, right) => { + const leftRoom = String(left && left.RoomNumber != null ? left.RoomNumber : '') + const rightRoom = String(right && right.RoomNumber != null ? right.RoomNumber : '') + const leftNumber = Number(leftRoom) + const rightNumber = Number(rightRoom) + + const leftIsNumber = Number.isFinite(leftNumber) + const rightIsNumber = Number.isFinite(rightNumber) + + if (leftIsNumber && rightIsNumber) { + return leftNumber - rightNumber + } + + return leftRoom.localeCompare(rightRoom, 'zh-Hans-CN', { numeric: true, sensitivity: 'base' }) + }) + }, + sortDevlistByConfigVersion(devlist) { + if (!Array.isArray(devlist)) { + return [] + } + + return devlist.slice().sort((left, right) => { + const leftConfig = String(left && left.ConfigVersion != null ? left.ConfigVersion : '') + const rightConfig = String(right && right.ConfigVersion != null ? right.ConfigVersion : '') + const leftPrefix = leftConfig.split('_')[0] + const rightPrefix = rightConfig.split('_')[0] + const leftNumber = Number(leftPrefix) + const rightNumber = Number(rightPrefix) + + const leftIsNumber = Number.isFinite(leftNumber) + const rightIsNumber = Number.isFinite(rightNumber) + + if (leftIsNumber && rightIsNumber) { + return leftNumber - rightNumber + } + + if (leftIsNumber) { + return -1 + } + + if (rightIsNumber) { + return 1 + } + + return leftPrefix.localeCompare(rightPrefix, 'zh-Hans-CN', { numeric: true, sensitivity: 'base' }) + }) + }, + sortDevlistByFirmwareVersion(devlist) { + if (!Array.isArray(devlist)) { + return [] + } + + return devlist.slice().sort((left, right) => { + const leftName = String(left && (left.VersionName || left.Version || left.Gfilename || left.FirmwareName) != null ? (left.VersionName || left.Version || left.Gfilename || left.FirmwareName) : '') + const rightName = String(right && (right.VersionName || right.Version || right.Gfilename || right.FirmwareName) != null ? (right.VersionName || right.Version || right.Gfilename || right.FirmwareName) : '') + const leftParts = leftName.split('_') + const rightParts = rightName.split('_') + const leftKey = leftParts.length >= 3 ? leftParts[2] : '' + const rightKey = rightParts.length >= 3 ? rightParts[2] : '' + const leftNumber = Number(leftKey) + const rightNumber = Number(rightKey) + + const leftIsNumber = Number.isFinite(leftNumber) + const rightIsNumber = Number.isFinite(rightNumber) + + if (leftIsNumber && rightIsNumber) { + return leftNumber - rightNumber + } + + if (leftIsNumber) { + return -1 + } + + if (rightIsNumber) { + return 1 + } + + return String(leftKey).localeCompare(String(rightKey), 'zh-Hans-CN', { numeric: true, sensitivity: 'base' }) + }) + }, + applyDevlistSort(devlist) { + if (this.data.RoomNumberSort) { + return this.sortDevlistByRoomNumber(devlist) + } + + if (this.data.ConfigVersionSort) { + return this.sortDevlistByConfigVersion(devlist) + } + + if (this.data.FirmwareVersionSort) { + return this.sortDevlistByFirmwareVersion(devlist) + } + + return Array.isArray(devlist) ? devlist.slice() : [] + }, + RoomNumberSortTap() { + const devlist = this.sortDevlistByRoomNumber(this.data.devlist) + this.setData({ + RoomNumberSort: true, + ConfigVersionSort: false, + FirmwareVersionSort: false, + devlist + }, () => { this.updateCounts && this.updateCounts(); }) + }, + ConfigVersionSortTap() { + const devlist = this.sortDevlistByConfigVersion(this.data.devlist) + this.setData({ + RoomNumberSort: false, + ConfigVersionSort: true, + FirmwareVersionSort: false, + devlist + }, () => { this.updateCounts && this.updateCounts(); }) + }, + FirmwareVersionSortTap() { + const devlist = this.sortDevlistByFirmwareVersion(this.data.devlist) + this.setData({ + RoomNumberSort: false, + ConfigVersionSort: false, + FirmwareVersionSort: true, + devlist + }, () => { this.updateCounts && this.updateCounts(); }) + }, updateCounts() { try { const devlist = Array.isArray(this.data.devlist) ? this.data.devlist : []; diff --git a/pages/basics/HostUpgrade/HostUpgrade.wxml b/pages/basics/HostUpgrade/HostUpgrade.wxml index 996d28c..54285c6 100644 --- a/pages/basics/HostUpgrade/HostUpgrade.wxml +++ b/pages/basics/HostUpgrade/HostUpgrade.wxml @@ -56,6 +56,7 @@ bindtouchend="handleTouchEnd" style="margin-bottom: 30rpx;"> {{item.RoomNumber}} {{item.MAC || (item.Status !== 1 ? '点击扫码绑定主机' : '')}} +
长按输入MAC地址绑定主机
升级: {{CurrentUpgradeDevStart}} @@ -123,16 +124,16 @@ bindtouchend="handleTouchEnd" style="margin-bottom: 30rpx;"> - - + + 房号排序 - - + + 固件版本排序 - - + + 配置版本排序