| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463 | <!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="/components/lib/mui.min.css"/>    <link rel="stylesheet" href="/components/custom/css/common.css"/>    <link rel="stylesheet" href="/app/css/xyf.common.min.css"/>    <link rel="stylesheet" href="/components/lib/mui.picker.min.css"/></head><style>    /*定制样式*/    .mgr-bd{        bottom: 0;        margin-top: 80px;    }    #pullrefresh .mui-scroll {        top: 1px;    }    .or-order-status .mui-radio input {        position: relative;        right: auto;        top: 2px;    }</style><body class="device-mgr"><div class="mui-input-group mui-reset">    <form class="mui-row" action="">        <div class="mui-col-xs-9 mui-col-sm-9">            <div class="mui-input-row mui-search">                <input type="search" class="mui-input-clear" id="searchKey" placeholder="设备编号/投放地址">            </div>        </div>        <div class="mui-col-xs-3 mui-col-sm-3 mui-text-right">            <div class="filter-btn"><span>筛选</span><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="showPicker">            <label class="or-label-text">设备场地<span></span></label>            <span class="mui-icon mui-icon-arrowright"></span>            <span class="or-order-status-font or-longWrap selected-text or-ellipsis " id="groupText">                   <span class="putOnAddress">0</span>场地<span class="equipmentNum">0</span>设备            </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="all" type="radio" name="online" checked>                    <span class="font-14">不限</span>                </div>                <div class="mui-radio mui-col-xs-4 mui-col-sm-4">                    <input class="" value="0" type="radio" name="online">                    <span class="font-14">离线</span>                </div>                <div class="mui-radio mui-col-xs-4 mui-col-sm-4">                    <input class="" value="1" type="radio" name="online">                    <span class="font-14">在线</span>                </div>            </div>        </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-3 mui-col-sm-3">                    <input class="" value="normal" type="radio" name="expireStatus">                    <span class="font-14">正常</span>                </div>                <div class="mui-radio mui-col-xs-4 mui-col-sm-4">                    <input class="" value="expire" type="radio" name="expireStatus">                    <span class="font-14">已过期</span>                </div>                <div class="mui-radio mui-col-xs-65 mui-col-sm-5">                    <input class="" value="toExpire" type="radio" name="expireStatus">                    <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></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><script src="/components/lib/jquery.min.js"></script><script src="/components/lib/mui.min.js"></script><script src="/components/lib/mui.picker.min.js"></script><script src="/components/lib/moment.min.js"></script><script src="/components/lib/moment.zh.js"></script><script src="/components/custom/js/common.js"></script><script src="/app/js/xyf.common.js"></script><script>    var dealerId = getQueryString("dealerId");    $(function () {        //全选        $("#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 batchOper() {        if ($("body").hasClass("batch-model")) {            $("body").removeClass("batch-model");        } else {            $("body").addClass("batch-model");        }    }    //检测过期时间,经销商修改的过期时间不得早于流量卡的过期时间    function validateExpireDate() {        var validate = true;        var targetExpireDate = $('#expireDate').val();        $(".devCheck").each(function () {            var checked = $(this).find("input").is(":checked");            if (checked) {                var expireDate = $(this).closest(".deviceRow").attr("expireDate");                if (targetExpireDate < expireDate) {                    validate = false;                    return;                }            }        });        return validate;    }    //获取被选中设备的ID,并检测选中的设备是否同类型    function getSelectIdInfo() {        var idList = [];        var typeId = null;        var typeSame = true;//检测是否同设备类型        $(".devCheck").each(function () {            var checked = $(this).find("input").is(":checked");            if (checked) {                var id = $(this).closest(".deviceRow").attr("data-id");                var getTypeId = $(this).closest(".deviceRow").attr("type-id");                if (typeId != null && getTypeId != typeId) {                    typeSame = false;                    return false;                } else {                    typeId = getTypeId;                }                if (id) {                    idList.push(id);                }            }        });        if (!typeSame) {            return null;        } else {            return {idList: idList, typeId: typeId};        }    }    var picker = new mui.PopPicker({        layer: 1    });    /**     * 地址筛选     * @private     */    var _filterPicker = {        pickerDatas: [],        /**         * 获取设备数量和投放地址列表         */        getEquipmentNumAndAdressList: function () {            var $scope = this;//todo 改为get            sendRequest('/device/getEquipmentNumAndAddressList', 'post', {dealerId: dealerId}, function (res) {                if (res.result == 1) {                    $scope.setPickerData(res.para.groups);                    picker.setData($scope.pickerDatas);                } else {                    mui.toast(res.description);                }            })        },        /**         * 设置设备投放地址数和设备数量         * @param equipmentNum 设备数         * @param AddressNum 地址数         */        setEquipmentNumAndAddressNum: function (AddressNum, equipmentNum) {            $('.putOnAddress').text(AddressNum);            $('.equipmentNum').text(equipmentNum);        },        /**         * 设置picker的数据         * @param datas         */        setPickerData: function (datas) {            this.pickerDatas.push({                value: 'all',                text: '全部投放地址',            });            var addressHtml = "";            for (var i = 0, length = datas.length; i < length; i++) {                var item = {                    value: datas[i].groupId,                    text: datas[i].name,                };                this.pickerDatas.push(item);                addressHtml += '<li class="mui-table-view-cell">' + datas[i].name + '</li>';            }        }    };    FilterComponent({        ok: function () {            searchByKey()        }    });    //关键字搜索    document.onkeydown = function (ev) {        if (ev.keyCode == 13) {            ev.preventDefault();            searchByKey();        }    };    function searchByKey() {        pageIndex = 0;        $(".list").empty();//清空设备列表        mui('#pullrefresh').pullRefresh().refresh(true);//重置上拉加载        pullupRefresh();//加载设备数据    }    //searchBar    $(function () {        _filterPicker.getEquipmentNumAndAdressList();        $("#showPicker").on("tap", function () {            picker.show(function (rs) {                equipmentGroupId = rs[0].value;                $('#groupText').html(rs[0].text);            });            return false;        })    });    mui.init({        pullRefresh: {            container: '#pullrefresh',            up: {                contentrefresh: '正在加载...',                contentnomore: '',                callback: pullupRefresh            }        }    });    /* 上拉加载具体业务实现*/    var pageIndex = 0;    var total = 0;    var groupCount = 0;    var equipmentGroupId = "";    function pullupRefresh() {        var groupName = null;        pageIndex++;        var data = {            "dealerId": dealerId,            "pageIndex": pageIndex,            "pageSize": 10,            "searchKey": $("#searchKey").val(),            "online": $("input[name='online']:checked").val(),            "expireStatus": $("input[name='expireStatus']:checked").val(),            "equipmentGroupId": equipmentGroupId        };        var groupList = "";        sendRequest("/agent/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 = "";                    groupName = null;                }                var length = res.para.dataList.length;                _filterPicker.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 * 10 >= total));                var dataTree = [];                for (var i = 0; i < length; i++) {                    var obj = res.para.dataList[i];                    //展示分组                    if (obj.name != groupName) {                        var p = {};                        p[obj.groupId] = [];                        dataTree.push(p);                        groupName = obj.name;                        if ($("#" + obj.groupId).length == 0) {                            if (obj.isManager) {                                var role = "manage";                            } else {                                var role = "limit-user";                            }                            groupList += '<ul role="' + role + '" class="mui-table-view"><li class="mui-table-view-cell mui-collapse"><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 + '">' +                                    groupName + '</span><em permission="limit-user-show" class="total-mark">合伙</em><span class="mui-pull-right group-ele-total">' +                                    '台</span></a><div class="mui-collapse-content"><ul class="mui-table-view group-content">';                            groupList += '</ul></div></li></ul>';                        }                    }                    var simStatusEnum = {                        'chargedUnupdated': '充值待更新',                        'illegal': '非法卡',                        'updated': '已更新',                        'undefined': '',                    }                    var expireDateHtml = simStatusEnum[obj.simStatus] || ('到期时间:' + obj.expireDate)                    //追加分组下面的设备                    var resultList = "";                    resultList += '<li class="mui-table-view-cell deviceRow" data-id="' + obj.id + '" type-id="' + obj.typeId + '" expireDate="' + obj.expireDate + '">' +                            '<div class="mui-row" href="javascript:void(0)">' +                            '<div class="devCheck mui-checkbox-wear"><div class="mui-checkbox"><input class="checkbox-btn" value="" type="checkbox"></div></div>' +                            '<span class="mui-text-left">' + "<i class='c-primary iconfont " + getDevIconName(obj.type) + "'></i> " + obj.type + ' ' + obj.logicalCode + '</span>' +                            '<p class="mui-text-left mui-ellipsis font-b-14-4" style="min-height: 1.5em">' + expireDateHtml + '</p>' +                            '</div>' +                            '</li>';                    var lastElement = dataTree[dataTree.length - 1];                    lastElement[obj.groupId].push(resultList);                }                $(".list").append(groupList);                $.each(dataTree, function (i, e) {                    for (var key in e) {                        $("#" + key).parent().next().find(".group-content").append(e[key].join(""));                    }                });                // 设备刷新完后刷新设备在线 总数目                setDevCount();            } else {                mui.toast(res.description);            }        });    }    // 翻页或是刷新信号,可能会引起设备数量的变化,所以每次都要根据dom树去找在线或离线的设备    function setDevCount() {        var g = $(".group-content");        $.each(g, function () {            var e = $(this);            var len = e.children().length;            //找到在线的数量            var onlineLength = 0;//暂时不要            e.parent().prev("a").find(".group-ele-total").html(len + "台");        });    }    if (mui.os.plus) {        mui.plusReady(function () {            setTimeout(function () {                mui('#pullrefresh').pullRefresh().pullupLoading();            }, 1000);        });    } else {        mui.ready(function () {            mui('#pullrefresh').pullRefresh().pullupLoading();        });    }    /**     * 初始化全局变量     */    function initGlobalVar() {        pageIndex = 0;    }</script></body></html>
 |