| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340 | 
							- <!DOCTYPE html>
 
- <!--suppress ALL -->
 
- <html>
 
- <head>
 
-     <meta charset="utf-8"/>
 
-     <meta name="author" content=""/>
 
-     <meta name="description" content=""/>
 
-     <meta name="keywords" content="扫码支付,线上投币,运营数据,物联网"/>
 
-     <meta name="format-detection" content="telphone=no,email=no"/>
 
-     <meta name="viewport"
 
-           content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
 
-     <meta http-equiv="pragma" content="no-cache">
 
-     <meta http-equiv="cache-control" content="no-cache">
 
-     <meta http-equiv="expires" content="0">
 
-     <title>设备管理</title>
 
-     <link rel="stylesheet" href="https://cdn.washpayer.com/components/lib/mui.min.css"/>
 
-     <link rel="stylesheet" href="../components/custom/css/common.css"/>
 
-     <link rel="stylesheet" href="css/xyf.common.min.css"/>
 
-     <link rel="stylesheet" href="https://cdn.washpayer.com/components/lib/mui.picker.min.css"/>
 
- </head>
 
- <style>
 
-     .nav-container {
 
-         padding-bottom: 60px;
 
-         position: absolute;
 
-         height: 100%;
 
-         width: 100%;
 
-     }
 
-     /*定制样式*/
 
-     .mgr-bd {
 
-         transition: .25s all ease-in-out;
 
-         height: calc(100% - 80px - 50px);
 
-         margin-top: 80px;
 
-     }
 
-     .mui-icon.mui-icon-clear {
 
-         right: 0;
 
-     }
 
-     .or-order-status .mui-radio input {
 
-         position: relative;
 
-         right: auto;
 
-         top: 2px;
 
-     }
 
-     #pullrefresh .mui-scroll {
 
-         top: 1px;
 
-     }
 
-     .device-mgr .c-handle-panel {
 
-         bottom: 50px;
 
-     }
 
-     .hide_device_working_status .working-status {
 
-         display: none;
 
-     }
 
-     /*由于批量设置的按钮可能存在多行,得多留点底部空间*/
 
-     .list {
 
-         padding-bottom: 40px;
 
-     }
 
- </style>
 
- <body class="device-mgr">
 
- <div class="nav-container">
 
-     <div class="mui-input-group mui-reset">
 
-         <form class="mui-row" action="">
 
-             <div class="mui-col-xs-7 mui-col-sm-7">
 
-                 <div class="mui-input-row mui-search">
 
-                     <input type="search" class="mui-input-clear" id="searchKey" placeholder="设备编号/投放地址">
 
-                 </div>
 
-             </div>
 
-             <div class="mui-col-xs-5 mui-col-sm-5 mui-text-right">
 
-                 <div class="filter-btn"><span>筛选</span><i class="iconfont icon-triangle-up"></i></div>
 
-                 <div class="in-row-btn" onclick="batchOper()">多选<i class="iconfont icon-triangle-up"></i></div>
 
-             </div>
 
-         </form>
 
-     </div>
 
-     <div class="filter-panel" style="display: none" id="options">
 
-         <div class="input-group-vertical mui-table-view clear-b-border">
 
-             <div class="or-border-fir mui-input-row input-clear or-order-status" id="showPickerAddress">
 
-                 <label class="or-label-text">地址</label>
 
-                 <span class="mui-icon mui-icon-arrowright"></span>
 
-                 <span class="or-order-status-font or-longWrap selected-text or-ellipsis">全部</span>
 
-             </div>
 
-             <div class="or-border-fir mui-input-row input-clear or-order-status" id="showPickerStatus">
 
-                 <label class="or-label-text">状态</label>
 
-                 <span class="mui-icon mui-icon-arrowright"></span>
 
-                 <span class="or-order-status-font or-longWrap selected-text or-ellipsis">全部</span>
 
-             </div>
 
-             <div class="or-border-fir mui-input-row input-clear or-order-status">
 
-                 <label class="or-label-text">排序<span></span></label>
 
-                 <div class="mui-row or-order-status-font">
 
-                     <div class="mui-radio mui-col-xs-4 mui-col-sm-4">
 
-                         <input class="" value="logicalCode" type="radio" name="sortName" checked>
 
-                         <span class="font-14">编号</span>
 
-                     </div>
 
-                     <div class="mui-radio mui-col-xs-4 mui-col-sm-4">
 
-                         <input class="" value="devType" type="radio" name="sortName">
 
-                         <span class="font-14">类型</span>
 
-                     </div>
 
-                     <div class="mui-radio mui-col-xs-4 mui-col-sm-4">
 
-                         <input class="" value="tag" type="radio" name="sortName">
 
-                         <span class="font-14">标签</span>
 
-                     </div>
 
-                     <div class="mui-radio mui-col-xs-4 mui-col-sm-4">
 
-                         <input class="" value="remarks" type="radio" name="sortName">
 
-                         <span class="font-14">备注</span>
 
-                     </div>
 
-                 </div>
 
-             </div>
 
-             <div class="mui-input-row filter-panel-btn flexbox">
 
-                 <span class="cancel-btn flex">取消</span>
 
-                 <span class="ok-btn flex">确定</span>
 
-             </div>
 
-         </div>
 
-     </div>
 
-     <h5 class="dev-top-info flexbox">
 
-         <div class="flex"><span class="putOnAddress">0</span>个地址,<span class="equipmentNum">0</span>台设备</div>
 
-         <span class="text-right handle-reg c-blue" onclick="goReg()">手动注册</span>
 
-     </h5>
 
-     <div id="pullrefresh" class="mui-content mui-clearfix mui-scroll-wrapper mgr-bd">
 
-         <!-- 设备列表 -->
 
-         <div class="mui-scroll">
 
-             <div class="list"></div>
 
-         </div>
 
-     </div>
 
-     <div class="mgr-tip mui-hidden"></div>
 
-     <div class="c-handle-panel mui-hidden">
 
-         <div class="handle-btn">
 
-             <div class="mui-checkbox ">
 
-                 <input id="checkbox-all" class="checkbox-all" type="checkbox">
 
-                 <label for="checkbox-all">全选</label>
 
-             </div>
 
-         </div>
 
-         <div class="handle-btn-list mui-text-right by-dev">
 
-             <button type="button" class="mui-btn mui-btn-outlined mui-btn-primary mui-hidden batchSettingParams"
 
-                     onclick="editParams()">设备参数
 
-             </button>
 
-             <button type="button" class="mui-btn mui-btn-outlined mui-btn-primary mui-hidden batchSettingServerParams"
 
-                     onclick="editServerParams()">服务器参数
 
-             </button>
 
-             <button type="button" class="mui-btn mui-btn-outlined mui-btn-primary " onclick="editDesc()">说明
 
-             </button>
 
-             <button type="button" class="mui-btn mui-btn-outlined mui-btn-primary " onclick="editPackage()">套餐
 
-             </button>
 
-             <button type="button" class="mui-btn mui-btn-outlined mui-btn-danger mui-hidden" id="editTempPackage"
 
-                     onclick="editTempPackage()">临时套餐
 
-             </button>
 
-             <button type="button" class="mui-btn mui-btn-outlined mui-btn-danger mui-hidden" id="setAutoRefund"
 
-                     onclick="setAutoRefund()">自动退款
 
-             </button>
 
-             <button type="button" class="mui-btn mui-btn-outlined mui-btn-danger "
 
-                     onclick="setBatchDevsSwitch()">禁用
 
-             </button>
 
-             <button type="button" class="mui-btn mui-btn-outlined mui-btn-danger "
 
-                     onclick="setDND()">勿扰
 
-             </button>
 
-         </div>
 
-         <div class="handle-btn-list mui-text-right by-group">
 
-             <button type="button" class="mui-btn mui-btn-outlined mui-btn-primary mui-hidden batchGroupSettingParams"
 
-                     onclick="editParams()">设备参数
 
-             </button>
 
-             <button type="button" class="mui-btn mui-btn-outlined mui-btn-primary mui-hidden batchGroupSettingServerParams"
 
-                     onclick="editServerParams()">服务器参数
 
-             </button>
 
-         </div>
 
-     </div>
 
-     <!--使用说明-->
 
-     <div class="instructionsDialog edit-back mui-hidden">
 
-         <div class="edit-content">
 
-             <div class="edit-box">
 
-                 <div class="reg-des">
 
-                     <label>使用说明</label>
 
-                     <textarea id="instructionsContent" maxlength="100" rows="3" placeholder=""></textarea>
 
-                 </div>
 
-             </div>
 
-             <div class="mui-popup-buttons">
 
-                 <span class="mui-popup-button">取消</span>
 
-                 <span class="mui-popup-button mui-popup-button-bold">保存</span>
 
-             </div>
 
-         </div>
 
-     </div>
 
-     <!--多选模式,支持直接多选地址-->
 
-     <div id="batchMenu" class="mui-popover mui-popover-action mui-popover-bottom">
 
-         <ul class="mui-table-view">
 
-             <li class="mui-table-view-cell batch-dev">
 
-                 设备多选
 
-             </li>
 
-             <li class="mui-table-view-cell batch-group">
 
-                 地址多选
 
-             </li>
 
-         </ul>
 
-         <ul class="mui-table-view">
 
-             <li class="mui-table-view-cell batch-cancel">
 
-                 取消多选
 
-             </li>
 
-         </ul>
 
-     </div>
 
- </div>
 
- <script src="https://cdn.washpayer.com/components/lib/jquery.min.js?v=1"></script>
 
- <script src="https://cdn.washpayer.com/components/lib/mui.min.js"></script>
 
- <script src="https://cdn.washpayer.com/components/lib/mui.picker.min.js"></script>
 
- <script src="https://cdn.washpayer.com/components/lib/moment.min.js"></script>
 
- <script src="../components/lib/moment.zh.js"></script>
 
- <script src="/components/custom/js/common.js"></script>
 
- <script src="js/xyf.common.js"></script>
 
- <script src="js/device-features.js"></script>
 
- <script>
 
-     window.initDealerNav && initDealerNav('device_management'); // initDealerNav内有获取当前账号菜单权限
 
-     var statusEnum = [{value: null, text: '全部状态'},
 
-         {value: '1', text: '在线'},
 
-         {value: '0', text: '离线'},]
 
-     //设备地址 选择器
 
-     var statusPicker = new mui.PopPicker({
 
-         layer: 1
 
-     });
 
-     statusPicker.setData(statusEnum);
 
-     //设备地址 选择器
 
-     var addressPicker = new mui.PopPicker({
 
-         layer: 1
 
-     });
 
-     var condition = {};
 
-     var pageType = 'deviceMgr';
 
-     var pageIndex = 0;
 
-     var pageSize = 20;
 
-     var total = 0;
 
-     var groupCount = 0;
 
-     var isOnline = "";
 
-     var equipmentGroupId = "";
 
-     var groupName = "";
 
-     var setCondition = function () {
 
-         var data = {
 
-             searchKey: $("#searchKey").val(),
 
-             equipmentGroupId: equipmentGroupId,
 
-             groupName: groupName,
 
-             isOnline: isOnline,
 
-             sortName: $("input[name='sortName']:checked").val(),
 
-         };
 
-         var conArr = localStorage.condition ? JSON.parse(localStorage.condition) : {};
 
-         conArr[pageType] = data;
 
-         localStorage.condition = JSON.stringify(conArr);
 
-     };
 
-     //如果调到子页面,返回后还是保留查询条件
 
-     var orRecordBack = getQueryString('orRecord');
 
-     if (orRecordBack) {
 
-         history.replaceState(null, null, "device-mgr.html");//清除orRecord
 
-         condition = localStorage.condition ? JSON.parse(localStorage.condition)[pageType] : {};
 
-         if (condition.searchKey) {
 
-             $("#searchKey").val(condition.searchKey);
 
-         }
 
-         if (condition.isOnline != null) {
 
-             isOnline = condition.isOnline
 
-             for (var index in statusEnum) {
 
-                 if (statusEnum[index].value == condition.isOnline) {
 
-                     statusPicker.pickers[0].setSelectedValue(statusEnum[index].value);
 
-                     $('#showPickerStatus .selected-text').html(statusEnum[index].text);
 
-                 }
 
-             }
 
-         }
 
-         if (condition.equipmentGroupId) {
 
-             equipmentGroupId = condition.equipmentGroupId
 
-             groupName = condition.groupName
 
-         }
 
-         if (condition.sortName) {
 
-             $("[value='" + condition.sortName + "']")[0].checked = true;
 
-         }
 
-     } else {
 
-         // 如果是刷新进来该页面,则清空掉条件缓存
 
-         setCondition()
 
-     }
 
-     var addressPickerOper = {
 
-         getEquipmentNumAndAdressList: function (callback) {
 
-             var $scope = this;
 
-             sendRequest('/device/getEquipmentNumAndAddressList', 'post', {}, function (res) {
 
-                 if (res.result == 1) {
 
-                     var pickerDatas = []
 
-                     pickerDatas.push({
 
-                         value: null,
 
-                         text: '全部投放地址',
 
-                     });
 
-                     var datas = res.para.groups
 
-                     for (var i = 0, length = datas.length; i < length; i++) {
 
-                         var item = {
 
-                             value: datas[i].groupId,
 
-                             text: datas[i].name,
 
-                         };
 
-                         pickerDatas.push(item);
 
-                     }
 
-                     addressPicker.setData(pickerDatas);
 
-                     if (callback) {
 
-                         callback()
 
-                     }
 
-                 } else {
 
-                     mui.toast(res.description);
 
-                 }
 
-             })
 
-         },
 
-         setEquipmentNumAndAddressNum: function (AddressNum, equipmentNum) {
 
-             $('.putOnAddress').text(AddressNum);
 
-             $('.equipmentNum').text(equipmentNum);
 
-         },
 
-     };
 
-     // 需要等待地址加载出来,然后才初始化所有的参数
 
-     addressPickerOper.getEquipmentNumAndAdressList(function () {
 
-         if (equipmentGroupId) {
 
-             addressPicker.pickers[0].setSelectedValue(equipmentGroupId);
 
-             $('#showPickerAddress .selected-text').html(groupName);
 
-         }
 
-     });
 
-     var FeatureMap = {}
 
-     var groupBatchFeature = ['batchGroupSettingParams', 'batchGroupSettingServerParams']
 
-     var queryFeature = ['hide_device_working_status', 'batchSettingParams', 'batchSettingServerParams',].concat(groupBatchFeature)
 
-     getFeatureList("dealer", {list: queryFeature}, function (payload) {
 
-         FeatureMap = payload;
 
-         // 隐藏工作状态的特性
 
-         if (payload.hide_device_working_status) {
 
-             $('body').addClass('hide_device_working_status')
 
-         }
 
-         // 批量设置参数的特性
 
-         if (payload.batchSettingParams) {
 
-             $(".batchSettingParams").removeClass("mui-hidden")
 
-         }
 
-         // 批量设置参数的特性
 
-         if (payload.batchSettingServerParams) {
 
-             $(".batchSettingServerParams").removeClass("mui-hidden")
 
-         }
 
-         if (payload.batchGroupSettingParams) {
 
-             $(".batchGroupSettingParams").removeClass("mui-hidden")
 
-         }
 
-         if (payload.batchGroupSettingServerParams) {
 
-             $(".batchGroupSettingServerParams").removeClass("mui-hidden")
 
-         }
 
-     });
 
-     sendRequest("/dealer/accountInfo", "GET", null, function (response) {
 
-         if (response.result == 1) {
 
-             var payload = response.payload
 
-             // 临时套餐
 
-             if (payload.hasTempPackage) {
 
-                 $("#editTempPackage").removeClass("mui-hidden")
 
-             }
 
-         } else {
 
-             mui.toast(response.description);
 
-         }
 
-     });
 
-     FilterComponent({
 
-         ok: function () {
 
-             /*合法性验证*/
 
-             pageIndex = 0;
 
-             searchByKey()
 
-         }
 
-     });
 
-     //全选
 
-     $("#checkbox-all").on("change", function () {
 
-         if ($(this).is(":checked")) {
 
-             $(".checkbox-btn").prop("checked", true);
 
-         } else {
 
-             $(".checkbox-btn").prop("checked", false);
 
-         }
 
-     });
 
-     //复选框事件重写
 
-     $("#pullrefresh").on("tap", ".mui-checkbox-wear", function (evt) {
 
-         var box = $(this).find(".mui-checkbox input");
 
-         if (box.is(":checked")) {
 
-             box.prop("checked", false);
 
-         } else {
 
-             box.prop("checked", true);
 
-         }
 
-         evt.stopPropagation();
 
-         evt.preventDefault();
 
-     }).on("tap", ".groupSelect", function () {
 
-         //组全选:该事件必须在上个事件之后
 
-         var input = $(this).find("input");
 
-         var checked = input.is(":checked");
 
-         var groupDom = $(this).closest("li").find(".group-content");
 
-         if (checked) {
 
-             groupDom.find(".checkbox-btn").prop("checked", true);
 
-         } else {
 
-             groupDom.find(".checkbox-btn").prop("checked", false);
 
-         }
 
-     });
 
-     // 页面跳转前标记说明:要缓存过滤条件
 
-     function pageJumpOper(url) {
 
-         history.replaceState(null, null, "device-mgr.html?orRecord=true&t=" + new Date().getTime());//再次返回该页面会带上orRecord
 
-         goPage(url);
 
-     }
 
-     //去手动注册
 
-     function goReg() {
 
-         var url = "/dealer/index.html#/deviceReg?handle=true";
 
-         pageJumpOper(url);
 
-     }
 
-     mui('#batchMenu').on('tap', 'li', function () {
 
-         if ($(this).hasClass('batch-dev')) {
 
-             batchOperByDev()
 
-         } else if ($(this).hasClass('batch-group')) {
 
-             batchOperByGroup()
 
-         } else if ($(this).hasClass('batch-cancel')) {
 
-             batchOperCancel()
 
-         }
 
-         mui('#batchMenu').popover('toggle');
 
-     });
 
-     //激活批量操作
 
-     function batchOper() {
 
-         // 默认为设备多选,如果配置了地址批量选择,则多一个地址批量选择的选项
 
-         var flag = false
 
-         $(groupBatchFeature).each(function (index, item) {
 
-             if (FeatureMap[item]) {
 
-                 flag = true
 
-             }
 
-         })
 
-         if (flag) {
 
-             mui('#batchMenu').popover('toggle');
 
-             return
 
-         }
 
-         batchOperJustDev();
 
-     }
 
-     function batchOperJustDev() {
 
-         if ($("body").hasClass("batch-model")) {
 
-             batchOperCancel();
 
-         } else {
 
-             batchOperActive();
 
-         }
 
-     }
 
-     function batchOperByDev() {
 
-         $("body").removeClass("batch-model-group");
 
-         batchOperActive();
 
-     }
 
-     function batchOperByGroup() {
 
-         $("body").addClass("batch-model-group");
 
-         batchOperActive();
 
-     }
 
-     function batchOperActive() {
 
-         $(".in-row-btn").addClass('active');
 
-         $("body").addClass("batch-model");
 
-         $(".c-handle-panel").removeClass('mui-hidden')
 
-     }
 
-     function batchOperCancel() {
 
-         $(".in-row-btn").removeClass('active');
 
-         $("body").removeClass("batch-model");
 
-         $(".c-handle-panel").addClass('mui-hidden')
 
-     }
 
-     // 批量参数设置:主要是发到设备测的参数
 
-     function editParams() {
 
-         var isGroupModel = $('body').hasClass('batch-model-group')
 
-         var idInfo = getSelectIdInfo(true);
 
-         var type = "";
 
-         var code = null;
 
-         var logicalCodeList = [];
 
-         if (!idInfo || idInfo.idList.length == 0) {
 
-             if (isGroupModel) {
 
-                 mui.toast("请选择设备组。");
 
-             } else {
 
-                 mui.toast("请确保选中的都是同类设备,请重新选择。");
 
-             }
 
-             return;
 
-         } else {
 
-             type = idInfo.type;
 
-             code = idInfo.code;
 
-             logicalCodeList = idInfo.logicalCodeList;
 
-         }
 
-         // 判断要去哪个参数设置的页面
 
-         var devFeatures = getDeviceFeatures({code: code});
 
-         var url = devFeatures.param;
 
-         if (isGroupModel) {
 
-             if (url) {
 
-                 var url = url + "?groupId=" + JSON.stringify(idInfo.idList) + "&code=" + code + "&type=" + type
 
-                 pageJumpOper(url)
 
-             } else {
 
-                 mui.alert('该设备无法进行参数配置', '提示', '确定');
 
-             }
 
-             return;
 
-         }
 
-         if (url) {
 
-             var url = url + "?logicalCode=" + JSON.stringify(logicalCodeList) + "&code=" + code + "&type=" + type
 
-             pageJumpOper(url)
 
-         } else {
 
-             mui.alert('该设备无法进行参数配置', '提示', '确定');
 
-         }
 
-     }
 
-     // 服务器参数,不用远程发命令给设备(后续服务器参数都单独的提取出来,和设备测的参数分开)
 
-     function editServerParams() {
 
-         var isGroupModel = $('body').hasClass('batch-model-group')
 
-         var idInfo = getSelectIdInfo(true);
 
-         var type = "";
 
-         var code = null;
 
-         var logicalCodeList = [];
 
-         if (!idInfo || idInfo.idList.length == 0) {
 
-             if (isGroupModel) {
 
-                 mui.toast("请选择设备组。");
 
-             } else {
 
-                 mui.toast("请确保选中的都是同类设备,请重新选择。");
 
-             }
 
-             return;
 
-         } else {
 
-             type = idInfo.type;
 
-             code = idInfo.code;
 
-             logicalCodeList = idInfo.logicalCodeList;
 
-         }
 
-         // 判断要去哪个参数设置的页面
 
-         var devFeatures = getDeviceFeatures({code: code});
 
-         var url = devFeatures.serverParam;
 
-         if (isGroupModel) {
 
-             if (url) {
 
-                 var url = url + "?groupId=" + JSON.stringify(idInfo.idList) + "&code=" + code + "&type=" + type
 
-                 pageJumpOper(url)
 
-             } else {
 
-                 mui.alert('此设备无服务器参数特性', '提示', '确定');
 
-             }
 
-             return;
 
-         }
 
-         if (url) {
 
-             var url = url + "?logicalCode=" + JSON.stringify(logicalCodeList) + "&code=" + code + "&type=" + type
 
-             pageJumpOper(url)
 
-         } else {
 
-             mui.alert('此设备无服务器参数特性', '提示', '确定');
 
-         }
 
-     }
 
-     //批量编辑使用说明
 
-     function editDesc() {
 
-         var idInfo = getSelectIdInfo(true);
 
-         var idList = [];
 
-         if (!idInfo) {
 
-             mui.toast("请确保选中的都是同类设备,请重新选择。");
 
-             return;
 
-         }
 
-         if (idInfo.idList.length == 0) {
 
-             mui.toast("请您选择设备。");
 
-             return;
 
-         } else {
 
-             idList = idInfo.idList;
 
-         }
 
-         $('.instructionsDialog').removeClass('mui-hidden');
 
-         $('body').on('touchmove', function (e) {
 
-             e.preventDefault();
 
-         });
 
-         var data = {"typeId": idInfo.typeId};
 
-         var url = "/device/getInstructionsByType";
 
-         sendRequest(url, "GET", data, function (res) {
 
-             if (res.result == 1) {
 
-                 //使用说明
 
-                 if (res.para) {
 
-                     $('#instructionsContent').val(res.para);
 
-                     $('#instructionsContent').prop("placeholder", res.para);
 
-                 }
 
-             }
 
-         });
 
-         $('.instructionsDialog .mui-popup-buttons span').off().tap(function () {
 
-             if ($(this).index() == 0) {
 
-                 //点击取消
 
-                 $('.instructionsDialog').addClass('mui-hidden');
 
-                 $('body').off('touchmove');
 
-             } else {
 
-                 //点击保存
 
-                 var instructionsText = $('#instructionsContent').val();
 
-                 if ($.isEmptyObject(instructionsText)) {
 
-                     return;
 
-                 }
 
-                 var data = {"value": idList, "instructions": instructionsText};
 
-                 var url = "/device/updateEquipmentInstructions";
 
-                 sendRequest(url, "POST", data, function (res) {
 
-                     if (res.result == 1) {
 
-                         $('.instructionsDialog').addClass('mui-hidden');
 
-                         mui.toast("保存成功");
 
-                         $('body').off('touchmove');
 
-                     } else {
 
-                         mui.toast(res.description);
 
-                     }
 
-                 }, "json");
 
-             }
 
-             return false;
 
-         });
 
-     }
 
-     //批量编辑套餐
 
-     function editPackage() {
 
-         var idInfo = getSelectIdInfo(true);
 
-         var typeId = null;
 
-         var type = "";
 
-         var code = null;
 
-         var unit = '分钟';
 
-         var logicalCodeList = [];
 
-         if (!idInfo) {
 
-             mui.toast("请确保选中的都是同类设备,请重新选择。");
 
-             return;
 
-         } else {
 
-             if (idInfo.code == 110000 || idInfo.code == 111000) {
 
-                 mui.toast("售货柜不用设置套餐");
 
-                 return;
 
-             }
 
-             typeId = idInfo.typeId;
 
-             type = idInfo.type;
 
-             code = idInfo.code;
 
-             unit = idInfo.unit;
 
-             logicalCodeList = idInfo.logicalCodeList;
 
-         }
 
-         if (idInfo.idList.length == 0) {
 
-             mui.toast("请您选择设备。");
 
-             return;
 
-         }
 
-         var url = "/dealer/index.html#/packageSettingsBatch?logicalCode=" + JSON.stringify(logicalCodeList) + "&unit=" + unit + "&code=" + code + "&type=" + type + "&typeId=" + typeId;
 
-         pageJumpOper(url)
 
-     }
 
-     //批量编辑临时套餐
 
-     function editTempPackage() {
 
-         var idInfo = getSelectIdInfo(true);
 
-         var typeId = null;
 
-         var type = "";
 
-         var code = null;
 
-         var unit = '分钟';
 
-         var logicalCodeList = [];
 
-         if (!idInfo) {
 
-             mui.toast("请确保选中的都是同类设备,请重新选择。");
 
-             return;
 
-         } else {
 
-             if (idInfo.code == 110000 || idInfo.code == 111000) {
 
-                 mui.toast("售货柜不用设置套餐");
 
-                 return;
 
-             }
 
-             typeId = idInfo.typeId;
 
-             type = idInfo.type;
 
-             code = idInfo.code;
 
-             unit = idInfo.unit;
 
-             logicalCodeList = idInfo.logicalCodeList;
 
-         }
 
-         if (idInfo.idList.length == 0) {
 
-             mui.toast("请您选择设备。");
 
-             return;
 
-         }
 
-         var url = "/dealer/index.html#/tempPackageSettingsBatch?logicalCode=" + JSON.stringify(logicalCodeList) + "&unit=" + unit + "&code=" + code + "&type=" + type + "&typeId=" + typeId;
 
-         pageJumpOper(url)
 
-     }
 
-     //批量禁用
 
-     function setBatchDevsSwitch() {
 
-         var idInfo = getSelectIdInfo();
 
-         var idList = [];
 
-         if (idInfo.idList.length == 0) {
 
-             mui.toast("请您选择设备。");
 
-             return;
 
-         } else {
 
-             idList = idInfo.idList;
 
-         }
 
-         var btnArray = ['<span class="c-red noClick">禁用</span>', '<span class="c-green noClick">启用</span>', '取消'];
 
-         mui.confirm("停用或启用这些设备", '设置', btnArray, function (e) {
 
-             if (e.index == 0 || e.index == 1) {
 
-                 sendRequest({
 
-                     url: "/dealer/setBatchDevsSwitch",
 
-                     type: "POST",
 
-                     data: {
 
-                         logicalCodes: idList,
 
-                         isFault: e.index == 0
 
-                     },
 
-                     contentType: "json",
 
-                     success: function (res) {
 
-                         if (res.result == 1) {
 
-                             mui.toast("禁用成功!");
 
-                             setTimeout(function () {
 
-                                 location.reload();
 
-                             }, 1200);
 
-                         } else {
 
-                             mui.toast(res.description);
 
-                         }
 
-                     }
 
-                 });
 
-             }
 
-         });
 
-     }
 
-     // 去设置勿扰模式
 
-     function setDND() {
 
-         var idInfo = getSelectIdInfo();
 
-         var idList = [];
 
-         if (idInfo.logicalCodeList.length == 0) {
 
-             mui.toast("请您选择设备。");
 
-             return;
 
-         } else {
 
-             idList = idInfo.logicalCodeList;
 
-         }
 
-         localStorage.setItem('dnd_config', JSON.stringify({
 
-             isDND: true,
 
-             logicalCodes: idList
 
-         }))
 
-         goPage('/dealer/index.html#/device/switch/dnd')
 
-     }
 
-     // 某些设备支持自动退款
 
-     function setAutoRefund() {
 
-         var idInfo = getSelectIdInfo();
 
-         var idList = [];
 
-         if (idInfo.idList.length == 0) {
 
-             mui.toast("请您选择设备。");
 
-             return;
 
-         } else {
 
-             idList = idInfo.idList;
 
-         }
 
-         var btnArray = ['<span class="c-red noClick">关</span>', '<span class="c-green noClick">开</span>', '取消'];
 
-         mui.confirm("自动退款功能开关", '设置', btnArray, function (e) {
 
-             if (e.index == 0 || e.index == 1) {
 
-                 sendRequest({
 
-                     url: "/device/setDevAutoRefund",
 
-                     type: "POST",
 
-                     data: {
 
-                         logicalCodes: idList,
 
-                         autoRefund: e.index,
 
-                     },
 
-                     contentType: "json",
 
-                     success: function (res) {
 
-                         if (res.result == 1) {
 
-                             mui.toast(res.description);
 
-                         } else {
 
-                             mui.toast(res.description);
 
-                         }
 
-                     }
 
-                 });
 
-             }
 
-         });
 
-     }
 
-     //获取被选中设备的ID,并检测选中的设备是否同类型,todo待后台鉴权管理员才能修改后,前台不带入合伙设备ID
 
-     function getSelectIdInfo(sameTypeFlag) {
 
-         var idList = [];
 
-         var logicalCodeList = [];
 
-         var typeId = null;
 
-         var type = "";
 
-         var code = null;
 
-         var typeSame = true;//检测是否同设备类型
 
-         var unit;
 
-         // 地址批量选择模式
 
-         if ($('body').hasClass('batch-model-group')) {
 
-             $("[role='manage'] .groupSelect").each(function () {
 
-                 var checked = $(this).find("input").is(":checked");
 
-                 if (checked) {
 
-                     if ($(this).next()) {
 
-                         idList.push($(this).next().attr('id'))
 
-                     }
 
-                 }
 
-                 var dataStr = $(this).closest("li").find('.deviceRow:eq(0)').attr("data");
 
-                 var dataJSON = {devType: {}};
 
-                 if (dataStr) {
 
-                     dataJSON = JSON.parse(dataStr);
 
-                     type = dataJSON.type;
 
-                     code = dataJSON.devType.code; // 默认取最后一组的第一个code作为参数入口,暂时先就这样
 
-                 }
 
-             });
 
-             if (idList.length) {
 
-                 return {
 
-                     idList: idList,
 
-                     code: code,
 
-                     type: type,
 
-                 }
 
-             }
 
-             return null
 
-         }
 
-         // 只遍历管理员下的设备
 
-         $("[role='manage'] .devCheck").each(function () {
 
-             var checked = $(this).find("input").is(":checked");
 
-             if (checked) {
 
-                 var dataStr = $(this).closest(".deviceRow").attr("data");
 
-                 var dataJSON = {devType: {}};
 
-                 if (dataStr) {
 
-                     dataJSON = JSON.parse(dataStr);
 
-                 }
 
-                 var role = $(this).closest(".groupRow").attr("role");
 
-                 var id = dataJSON.id;
 
-                 var logicalCode = dataJSON.logicalCode;
 
-                 var getTypeId = dataJSON.typeId;
 
-                 var getType = dataJSON.type;
 
-                 var getCode = dataJSON.devType.code;
 
-                 var timeBased = dataJSON.timeBased;
 
-                 //判断设备类型是否相同,合伙人设备不判断
 
-                 if (role != "limit-user" && typeId != null && getTypeId != typeId && sameTypeFlag) {
 
-                     typeSame = false;
 
-                     return false;//结束循环
 
-                 } else {
 
-                     typeId = getTypeId;
 
-                     code = getCode;
 
-                     type = getType;
 
-                     if (unit == null) {
 
-                         unit = dataJSON.unit;
 
-                         if (unit && unit != "null" && unit != "undefined") {
 
-                         } else {
 
-                             // 如果没有单位,则根据timeBased得到单位
 
-                             unit = (timeBased == true ? "分钟" : "次");
 
-                         }
 
-                     }
 
-                 }
 
-                 //判断是否是合伙人设备,合伙人设备不记录
 
-                 if (role == "limit-user") {
 
-                     return;//继续循环
 
-                 }
 
-                 if (id) {
 
-                     idList.push(id);
 
-                 }
 
-                 if (logicalCode) {
 
-                     logicalCodeList.push(logicalCode);
 
-                 }
 
-             }
 
-         });
 
-         if (!typeSame) {
 
-             return null;
 
-         } else {
 
-             return {
 
-                 idList: idList,
 
-                 logicalCodeList: logicalCodeList,
 
-                 typeId: typeId,
 
-                 unit: unit,
 
-                 code: code,
 
-                 type: type
 
-             };
 
-         }
 
-     }
 
-     /**
 
-      * 信号操作
 
-      */
 
-     var _SignalOperate = {
 
-         signalIcon: '',
 
-         setSignalIcon: function (online, signal) {
 
-             var iconClass = '';
 
-             if (signal == 0) {
 
-                 iconClass = '';
 
-             } else if (signal > 0 && signal <= 6) {
 
-                 iconClass = 'icon-xinhao1';
 
-             } else if (signal >= 7 && signal <= 12) {
 
-                 iconClass = 'icon-xinhao2';
 
-             } else if (signal >= 13 && signal <= 18) {
 
-                 iconClass = 'icon-xinhao3';
 
-             } else if (signal >= 19 && signal <= 24) {
 
-                 iconClass = 'icon-xinhao4';
 
-             } else {
 
-                 iconClass = 'icon-xinhao5';
 
-             }
 
-             // 离线的话图片灰色
 
-             if (online == 0) {
 
-                 iconClass = iconClass + ' font-b-4'
 
-             } else {
 
-                 iconClass = iconClass + ' c-green'
 
-             }
 
-             this.signalIcon = iconClass
 
-         }
 
-     };
 
-     //关键字搜索
 
-     document.onkeydown = function (ev) {
 
-         if (ev.keyCode == 13) {
 
-             ev.preventDefault();
 
-             searchByKey();
 
-         }
 
-     };
 
-     function searchByKey() {
 
-         pageIndex = 0; // 分页重置
 
-         $(".list").empty(); // 清空数据
 
-         mui('#pullrefresh').pullRefresh().refresh(true);//重置上拉加载
 
-         pullupRefresh();
 
-         // 只能放在此处,因为只有用户操作界面上的过滤条件才缓存过滤条件,如果放字 pullupRefresh 里面,会导致初始化设置空条件。。。
 
-         setCondition()
 
-     }
 
-     //设备点击
 
-     mui('body').on('tap', '.deviceRow', function () {
 
-         if ($("body").hasClass("batch-model")) {
 
-         } else {
 
-             var dataStr = $(this).closest(".deviceRow").attr("data");
 
-             var dataJSON = {devType: {}};
 
-             if (dataStr) {
 
-                 dataJSON = JSON.parse(dataStr);
 
-             }
 
-             var code = dataJSON.devType.code
 
-             var url = url = 'device-details.html'
 
-             // 父节点是100263,可以扫码绑定子。直接跳走,因为只需要几个基础菜单;
 
-             if (code == 100263) {
 
-                 url = 'device-details-100263.html'
 
-             }
 
-             if (code == 100274) {
 
-                 // 暂时就用设备详情 ,需要扫码绑定子节点功能
 
-             }
 
-             if (code == 100287) {
 
-                 url = 'device-details-100287.html'
 
-             }
 
-             url = url + '?logicalCode=' + dataJSON.logicalCode
 
-             pageJumpOper(url);
 
-         }
 
-     });
 
-     //点击信号值
 
-     mui('body').on('tap', '.editSignal', function () {
 
-         var $scope = $(this);
 
-         var deviceRow = $scope.closest(".deviceRow");
 
-         var dataStr = deviceRow.attr("data");
 
-         var dataJSON = {devType: {}};
 
-         if (dataStr) {
 
-             dataJSON = JSON.parse(dataStr);
 
-         }
 
-         var logicalCode = dataJSON.logicalCode;
 
-         sendRequest({
 
-             url: "/device/sendSignal",
 
-             type: "GET",
 
-             data: {logicalCode: logicalCode},
 
-             mask: "正在获取信号值...",
 
-             success: function (res) {
 
-                 if (res.result == 1) {
 
-                     var signal = res.para;
 
-                     dataJSON.signal = signal;
 
-                     if (signal > 0) {
 
-                         dataJSON.online = 1;
 
-                     } else {
 
-                         dataJSON.online = 0;
 
-                     }
 
-                     var signalConfig = getSignalConfig(dataJSON)
 
-                     var onlineMarkDom = signalConfig.onlineMarkDom;
 
-                     var onlineSignalDom = signalConfig.onlineSignalDom;
 
-                     deviceRow.find('.online-mark').replaceWith(onlineMarkDom);
 
-                     $scope.replaceWith(onlineSignalDom);
 
-                 } else {
 
-                     mui.toast(res.description);
 
-                 }
 
-             }
 
-         })
 
-         return false;
 
-     });
 
-     var lastHelpDevDom = null
 
-     var lastSelectedDev = {}
 
-     mui('body').on('tap', '.offline-help', function () {
 
-         lastHelpDevDom = $(this);
 
-         var off = lastHelpDevDom.find('.offline')
 
-         var deviceRow = lastHelpDevDom.closest(".deviceRow");
 
-         var dataStr = deviceRow.attr("data");
 
-         var dataJSON = {devType: {}};
 
-         if (dataStr) {
 
-             dataJSON = JSON.parse(dataStr);
 
-         }
 
-         lastSelectedDev = dataJSON
 
-         if (off.length > 0) {
 
-             goPage('/dealer/index.html#/signal/chart?logicalCode=' + lastSelectedDev.logicalCode);
 
-             return false;
 
-         }
 
-     });
 
-     //地址选择器展示
 
-     $("#showPickerAddress").on("tap", function () {
 
-         addressPicker.show(function (rs) {
 
-             equipmentGroupId = rs[0].value;
 
-             groupName = rs[0].text;
 
-             $('#showPickerAddress .selected-text').html(rs[0].text);
 
-         });
 
-         return false;
 
-     })
 
-     //状态选择器展示
 
-     $("#showPickerStatus").on("tap", function () {
 
-         statusPicker.show(function (rs) {
 
-             isOnline = rs[0].value;
 
-             $('#showPickerStatus .selected-text').html(rs[0].text);
 
-         });
 
-         return false;
 
-     })
 
-     mui.init({
 
-         pullRefresh: {
 
-             container: '#pullrefresh',
 
-             up: {
 
-                 contentrefresh: '正在加载...',
 
-                 contentnomore: '',
 
-                 callback: pullupRefresh
 
-             }
 
-         }
 
-     });
 
-     function getSignalConfig(obj) {
 
-         var onlineStatus = "";//离线状态文字
 
-         var onlineClass = "";//在线状态样式
 
-         var helpTip = ''
 
-         var signalStatus = "";//信号状态
 
-         var offTimeDate = obj.offTimeDate;
 
-         //如果是纯蓝牙设备,则不展示离线、在线
 
-         if (obj.channelType && obj.channelType.indexOf('BlueTooth') > -1) {
 
-             onlineStatus = "蓝牙";
 
-             onlineClass = "mark-blue iconfont icon-lanya online";//蓝牙设备永久在线
 
-             signalStatus = false;
 
-         } else {
 
-             if (obj.online == 1) {
 
-                 onlineStatus = "在线";
 
-                 onlineClass = "online";
 
-             } else if (obj.online == 0) {
 
-                 onlineStatus = "离线";
 
-                 onlineClass = "offline";
 
-                 helpTip = ',<span class="c-red">点击帮助</span>'
 
-                 if (offTimeDate) {
 
-                     onlineStatus = moment(offTimeDate).fromNow() + "离线";
 
-                 }
 
-             }
 
-             signalStatus = true;
 
-         }
 
-         var onlineMarkDom = '<span class="offline-help padding-t-b-10"><em class="online-mark ' + onlineClass + '">' + onlineStatus + helpTip + '</em>'
 
-         onlineMarkDom = onlineMarkDom + '</span>'
 
-         _SignalOperate.setSignalIcon(obj.online, obj.signal);
 
-         var onlineSignalDom = "";
 
-         if (signalStatus) {
 
-             onlineSignalDom = ('<div class="custom-signal editSignal">' +
 
-                 '<span class="signal-type">' + (obj.channelType || '') + '</span>' +
 
-                 '<i class="signal-icon iconfont ' + _SignalOperate.signalIcon + '"></i><i class="iconfont icon-xinhao5 signal-icon-back"></i>' +
 
-                 '</div>')
 
-         }
 
-         return {
 
-             onlineMarkDom: onlineMarkDom,
 
-             onlineSignalDom: onlineSignalDom,
 
-         }
 
-     }
 
-     /* 上拉加载具体业务实现*/
 
-     function pullupRefresh() {
 
-         var groupId = null;
 
-         pageIndex++;
 
-         var searchKey = $("#searchKey").val();
 
-         var data = {
 
-             "pageIndex": pageIndex,
 
-             "pageSize": pageSize,
 
-             "searchKey": searchKey,
 
-             "sort": $("input[name='sortName']:checked").val(),
 
-             "online": isOnline,
 
-             "equipmentGroupId": equipmentGroupId
 
-         };
 
-         sendRequest("/dealer/equipmentList?random=" + Math.random() * 1000, "GET", data, function (res) {
 
-             if (res.result == 1) {
 
-                 if (pageIndex == 1) {
 
-                     total = res.para.total;
 
-                     groupCount = res.para.groupCount;
 
-                     resultList = "";
 
-                     groupId = null;
 
-                 }
 
-                 var length = res.para.dataList.length;
 
-                 addressPickerOper.setEquipmentNumAndAddressNum(groupCount, total);
 
-                 if (pageIndex == 1 && length == 0) {
 
-                     $(".mgr-bd").hide();
 
-                     $(".mgr-tip").removeClass("mui-hidden");
 
-                 } else {
 
-                     $(".mgr-bd").show();
 
-                     $(".mgr-tip").addClass("mui-hidden");
 
-                 }
 
-                 mui('#pullrefresh').pullRefresh().endPullupToRefresh((pageIndex * pageSize >= total));
 
-                 var dataTree = [];
 
-                 var expandFlag = "";
 
-                 for (var i = 0; i < length; i++) {
 
-                     var obj = res.para.dataList[i];
 
-                     // 只要有一台设备支持 自动退款的功能,则显示设置按钮
 
-                     if (obj.autoRefundEnable) {
 
-                         $("#setAutoRefund").removeClass('mui-hidden')
 
-                     }
 
-                     // 如果是搜索,默认展开第一组数据
 
-                     if (i == 0 && searchKey != "") {
 
-                         expandFlag = "mui-active";
 
-                     } else {
 
-                         expandFlag = "";
 
-                     }
 
-                     if (obj.groupId != groupId) {
 
-                         var cacthData = {};
 
-                         cacthData[obj.groupId] = [];
 
-                         dataTree.push(cacthData);
 
-                         // 如果改分组还没有在页面上,说明是新分组,则展示在页面上
 
-                         groupId = obj.groupId;
 
-                         if ($("#" + obj.groupId).length == 0) {
 
-                             if (obj.isManager) {
 
-                                 var role = "manage";
 
-                             } else {
 
-                                 var role = "limit-user";
 
-                             }
 
-                             var groupList = '<ul role="' + role + '" class="mui-table-view groupRow"><li class="mui-table-view-cell mui-collapse ' + expandFlag + '"><a class="mui-navigate-right" href="javascript:void 0;">' +
 
-                                 '<div class="mui-checkbox-wear groupSelect"><div class="mui-checkbox"><input class="checkbox-btn" value="" type="checkbox"></div></div>' +
 
-                                 '<span class="font-18 v-middle" id="' + obj.groupId + '">' +
 
-                                 obj.name + '</span><em permission="limit-user-show" class="total-mark">合伙</em><span class="mui-pull-right group-ele-total font-12">' +
 
-                                 '0台</span></a><div class="mui-collapse-content"><ul class="mui-table-view group-content">'
 
-                                 + '</ul></div></li></ul>';
 
-                             $(".list").append(groupList)
 
-                         }
 
-                     }
 
-                     var workStatus = null;//工作状态文字
 
-                     var workClass = null;//工作状态样式
 
-                     // 设备工作信息: 0空闲 1工作 异常的单独走
 
-                     if (obj.status == 0) {
 
-                         workClass = "c-success";
 
-                         workStatus = "空闲";
 
-                     } else if (obj.status == 1) {
 
-                         workClass = "c-lgreen";
 
-                         workStatus = obj.statusInfo || "繁忙";
 
-                     // } else if (obj.status == 2) {
 
-                     //     workClass = "c-red";
 
-                     //     workStatus = obj.statusInfo || "故障";
 
-                     } else {
 
-                         workClass = "font-4";
 
-                         workStatus = obj.statusInfo;
 
-                     }
 
-                     //设备管理状态【人为设置的暂停使用优于一切设备的工作状态】
 
-                     if (obj.isFault == true) {
 
-                         workStatus = "暂停使用";
 
-                         workClass = "c-red";
 
-                     }
 
-                     var portInfo = ''
 
-                     // 如果有端口信息
 
-                     if (!$.isEmptyObject(obj.portStatus)) {
 
-                         var portStatus = obj.portStatus
 
-                         portInfo = '<span class="mui-col-xs-10 mui-col-sm-10 mui-text-left font-b-14-8 margin-t-5">' + portStatus.all + '个端口:';
 
-                         if (portStatus.idle) {
 
-                             portInfo = portInfo + '<span class="c-green">' + portStatus.idle + '空闲 </span>'
 
-                         }
 
-                         if (portStatus.used) {
 
-                             portInfo = portInfo + '<span class="c-lgreen">' + portStatus.used + '工作 </span>'
 
-                         }
 
-                         if (portStatus.fault) {
 
-                             portInfo = portInfo + '<span class="c-red">' + portStatus.fault + '故障 </span>'
 
-                         }
 
-                         portInfo = portInfo + '</span>'
 
-                         // 置空设备工作信息,因为有端口信息后不需要工作信息
 
-                         workStatus = '';
 
-                     }
 
-                     var signalConfig = getSignalConfig(obj);
 
-                     var onlineMarkDom = signalConfig.onlineMarkDom;
 
-                     var onlineSignalDom = signalConfig.onlineSignalDom;
 
-                     var devDataJson = JSON.stringify(obj);
 
-                     var resultList = $('<li class="mui-table-view-cell deviceRow">' +
 
-                         '<div class="mui-row">' +
 
-                         '<div class="devCheck mui-checkbox-wear"><div class="mui-checkbox"><input class="checkbox-btn" value="" type="checkbox"></div></div>' +
 
-                         '<div class=" mui-text-left">' + "<i class='c-blue iconfont v-middle " + getDevIconName(obj.type) + "'></i> <span class='v-middle'>" + obj.type + ' ' + obj.logicalCode + '</span>' + onlineMarkDom + '</div>' +
 
-                         onlineSignalDom +
 
-                         portInfo +
 
-                         '<span class="mui-col-xs-7 mui-col-sm-7 mui-text-left mui-ellipsis font-b-14-4 margin-t-5" style="min-height: 1.5em">' + wordlimit(obj.remarks, 10) +
 
-                         (obj.sevenDaysAverage!=null ? ('<div>近7日平均使用率为:<span class="c-green">'+obj.sevenDaysAverage+'%<span></div>') : "") +
 
-                         (obj.isDND ? ('<div class="c-green">勿扰模式</div>') : "") +
 
-                         '</span><div class="mui-pull-right text-right font-12">' +
 
-                         (workStatus ? ('<div class="working-status  margin-t-5 ' + workClass + '">' + workStatus + '</div>') : "") +
 
-                         (obj.deviceWarning ? ('<div class="c-red deviceWarning">' + "告警状态" + '</div>') : "") +
 
-                         (obj.simExpireDate ? ('<div class="c-red">SIM卡过期</div>') : "") +
 
-                         '</div></div>' +
 
-                         '</li>');
 
-                     resultList.attr("data", devDataJson)
 
-                     var lastElement = dataTree[dataTree.length - 1];
 
-                     lastElement[obj.groupId].push(resultList);
 
-                 }
 
-                 $.each(dataTree, function (i, groupDomMap) {
 
-                     //获取到该组id的dom
 
-                     for (var groupId in groupDomMap) {
 
-                         $("#" + groupId).closest("ul").find(".group-content").append(groupDomMap[groupId]);
 
-                     }
 
-                 });
 
-                 // 设备刷新完后刷新设备在线 总数目
 
-                 setDevCount();
 
-             } else {
 
-                 mui.toast(res.description);
 
-             }
 
-         });
 
-     }
 
-     // 主机故障点击
 
-     mui('body').on('tap', '.deviceWarning', function (e) {
 
-         // 阻止事件冒泡传递到设备点击事件
 
-         event.stopPropagation();
 
-         var dataStr = $(this).closest(".deviceRow").attr("data");
 
-         var dataJSON;
 
-         var url;
 
-         if (dataStr) {
 
-             dataJSON = JSON.parse(dataStr);
 
-         } else {
 
-             dataJSON = {devType: {}};
 
-         }
 
-         url = 'device-fault.html?logicalCode=' + dataJSON.logicalCode + '&type=' + dataJSON.type;
 
-         pageJumpOper(url);
 
-     });
 
-     // 翻页或是刷新信号,可能会引起设备数量的变化,所以每次都要根据dom树去找在线或离线的设备
 
-     function setDevCount() {
 
-         var g = $(".group-content");
 
-         var onlineTotal = 0;
 
-         $.each(g, function () {
 
-             var e = $(this);
 
-             var len = e.children().length;
 
-             //找到在线的数量
 
-             var onlineLength = $(this).find('.online').length;
 
-             e.parent().prev("a").find(".group-ele-total").html('<em class="c-green">' + onlineLength + '</em>/' + len + "台");
 
-             onlineTotal = onlineLength + onlineTotal
 
-         });
 
-         // 刷新总的数目
 
-         $('.equipmentNum').html('<em class="c-green">' + onlineTotal + '</em>/' + $('.deviceRow').length);
 
-     }
 
-     if (mui.os.plus) {
 
-         mui.plusReady(function () {
 
-             setTimeout(function () {
 
-                 mui('#pullrefresh').pullRefresh().pullupLoading();
 
-             }, 1000);
 
-         });
 
-     } else {
 
-         mui.ready(function () {
 
-             mui('#pullrefresh').pullRefresh().pullupLoading();
 
-         });
 
-     }
 
- </script>
 
- </body>
 
- </html>
 
 
  |