| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528 | <!DOCTYPE html><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="https://cdn.washpayer.com/components/lib/mui.picker.min.css"/>    <link rel="stylesheet" href="../components/custom/css/common.css"/>    <link rel="stylesheet" href="css/xyf.common.min.css">    <style>        .partnerPanel {            margin-bottom: 0;        }        .partnerPanel:before {            display: none;        }        .p-operation {            margin-top: 12px;        }        .p-operation em {            padding: 6px 4px;            margin-left: 10px;        }        .p-operation em i {            font-size: 18px;            vertical-align: middle;        }    </style></head><body><div class="mui-content custom-top add-addr" style="padding-bottom: 52px">    <h5 class="mui-content-padded">小提示:不同的投放地址设置一个分组,便于管理设备和用户,<span class="c-red">建立后不可删除</span></h5>    <div class="mui-input-group">        <div class="mui-input-row" permission="manage-edit">            <label>分组名称</label>            <input type="text" id="name" placeholder="请填写" class="mui-text-right">        </div>        <div class="mui-input-row" permission="manage-edit">            <label>地址标签</label>            <input type="text" id="tag" placeholder="可以不填" class="mui-text-right">        </div>        <div class="mui-input-row" permission="manage-edit">            <label>地址类型</label>            <input type="text" id="area" name="option" placeholder="请选择" class="mui-text-right" readonly>            <input type="hidden" id="addressType"/>        </div>    </div>    <div class="mui-input-group custom-top">        <div class="mui-input-row" permission="manage-edit">            <label>省市县</label>            <input type="text" id="location" name="option" placeholder="请选择" class="mui-text-right">            <input type="hidden" id="districtId"/>        </div>        <div class="mui-input-row mui-hidden" id="needCountry" permission="manage-edit">            <label>乡镇/街道</label>            <input type="text" id="country" placeholder="请填写乡镇/街道" class="mui-text-right">        </div>        <div class="mui-input-row" permission="manage-edit">            <label>详细地址</label>            <input type="text" id="address" placeholder="请填写详细地址" class="mui-text-right">        </div>    </div>    <div class="mui-input-group custom-top" permission="manage-show">        <div class="mui-input-row autoheight">            <div class="mui-pull-left">                设为默认投放地址                <span>每次注册设备时优先使用该地址</span>            </div>            <div class="mui-switch mui-switch-mini mui-active isDefault">                <div class="mui-switch-handle"></div>            </div>        </div>        <div class="mui-input-row autoheight">            <div class="mui-pull-left">                强制用户充值                <span>如果用户没有余额,需要充值才能使用</span>            </div>            <div class="mui-switch mui-switch-mini beforeCharge">                <div class="mui-switch-handle"></div>            </div>        </div>    </div></div><div class="mui-table-view handleBtn mui-text-center">    <button type="button" value="" class="mui-btn mui-btn-blue padding-l-r-20"            onclick="save()">保存    </button></div><script src="https://cdn.washpayer.com/components/lib/jquery.min.js"></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="/components/custom/js/common.js"></script><script src="../components/lib/gcoord.js"></script><script type="text/javascript"        src="https://api.map.baidu.com/api?v=2.0&ak=9579bf3cb9fdab9d6b49cdaf72c9907f"></script><script src="https://res.wx.qq.com/open/js/jweixin-1.1.0.js"></script><script src="js/xyf.common.js"></script><script src="js/xyf.city.three.js"></script><script src="js/xyf.picker.js"></script><script>    var citySelEntity = CreateCitySelect({});    // 某些厂商必须要填写 乡镇 ,由于目前我们只有3级地区联动,所以需要手动填写;zhenguduo为加盟设备 需求非常特殊;    var needCountry = false;    getFeatureList("dealer", {list: ['needCountry', 'zhenguduo']}, function (payload) {        if (payload.needCountry) {            $('#needCountry').removeClass('mui-hidden')        }        if (payload.zhenguduo) {            getZhengguduoInfo()        }    });    function getZhengguduoInfo() {        sendRequest({            url: "/dealer/homepageData?random=" + Math.random() * 1000,            type: "GET",            data: null,            mask: "加载数据...",            success: function (response) {                if (response.result == 1) {                    var payload = response.payload                    setDefaultPartner(payload)                } else {                    mui.toast(response.description);                }            }        });    }    function setDefaultPartner(payload) {        // 隐藏合伙人开关,因为一定有合伙人        $('.partner').addClass('mui-active').closest('.mui-input-row').addClass('mui-hidden')        $('.partner-mui-collapse').addClass('mui-active')        $(".partnerPanelSub").removeClass("mui-hidden");        needPartner = true;        console.log('发现有默认合伙人')        partnerData.push({            name: '默认加盟商',            tel: payload["defaultJoinerUsername"],            percent: payload["defaultJoinerScale"],            editDisabled: true        })        var partner = partnerData        //展现合伙人信息到页面        for (var i = 0; i < partner.length; i++) {            var item = partner[i];            //转换数据类型            item.percent = parseFloat(item.percent);            addPartner({name:item.name, tel:item.tel, percent:item.percent, editDisabled:item.editDisabled});        }        setMyPercent();    }    if (window.BMap) {        //百度 地图mask等待,因为地图可能加载非常慢        var mask = new Mask("正在获取位置信息...").show();        setTimeout(function () {            mask && mask.remove();//避免超时卡死        }, 15 * 1000);        getLocation(function (res) {            mask && mask.remove();            if (res) {                //转换为百度可用的坐标                var pointList = gcoord.transform(                    [res.lng, res.lat],                    gcoord.GCJ02,  // 当前坐标系                    gcoord.BD09 // 目标坐标系                );                var currentPoint = new BMap.Point(pointList[0], pointList[1]);                // 创建地理编码实例                var myGeo = new BMap.Geocoder();                // 根据坐标得到地址描述                myGeo.getLocation(currentPoint, function (result) {                    if (result) {                        var addComp = result.addressComponents;                        var address = addComp.street + addComp.streetNumber;                        $("#address").val(address);//详细地址                        //如果有地理位置信息,则根据地理位置初始化下拉框【百度地图没有权限一般也能至少获取到city】                        citySelEntity.setAddressSelected({addressComponents: addComp});                    }                });                var isFirst = true;                //地址搜索建议                var ac = new BMap.Autocomplete({                    "input": "address", location: currentPoint, "onSearchComplete": function (result) {                        if (isFirst) {                            $(".tangram-suggestion-main").hide();                            isFirst = false;                        }                    }                });                //鼠标点击下拉列表后的事件                ac.addEventListener("onconfirm", function (e) {                    var _value = e.item.value;                    var myValue = _value.street + _value.business;                    return myValue;                });            } else {                uplog({level: "error", short_message: "异常:定位失败,地区相关组件未初始化", full_message: r});            }        }, function () {            mask && mask.remove();        });    }    //阻止冒泡    $('.add-addr input[name]').tap(function (e) {        e.preventDefault();        $('.add-addr input').blur();    });    //合伙人数据缓存    var partnerData = [];    var needPartner = false;    $(".partnerColl").tap(function (e) {        $(".partnerColl").focus();        e.preventDefault();    });    //合伙人开关    $(".partner").on("toggle", function (event) {        if (event.detail.isActive) {            $(".partnerPanelSub").removeClass("mui-hidden");            needPartner = true;        } else {            $(".partnerPanelSub").addClass("mui-hidden");            needPartner = false;        }    });    $("body").on("click", ".p-edit", function (event) {        var dom = $(this).closest(".mui-table-view-cell");        var tel = dom.attr("data-id");        for (var i = 0; i < partnerData.length; i++) {            var item = partnerData[i];            if (item.tel == tel) {                editPartner(item.name, item.tel, item.percent, i);            }        }    }).on("click", ".p-delete", function (event) {        var dom = $(this).closest(".mui-table-view-cell");        var btnArray = ['取消', '确认'];        mui.confirm('确定要删除信息?', '温馨提示', btnArray, function (e) {            if (e.index == 0) {            } else {                var tel = dom.attr("data-id");                for (var i = 0; i < partnerData.length; i++) {                    var item = partnerData[i];                    if (item.tel == tel) {                        dom.remove();                        partnerData.splice(i, 1);                    }                }                setMyPercent();            }        });    });    //重新计算我的分成    function setMyPercent() {        var sumPercent = 0;        //展现合伙人信息到页面        for (var i = 0; i < partnerData.length; i++) {            var item = partnerData[i];            sumPercent = sumPercent + parseFloat(item.percent);        }        if (sumPercent > 100) {            return false;        }        $(".my-percent em").text((100 - sumPercent) + "%");    }    var isPopup = false;//弹窗标记    //编辑合伙人    function editPartner(name, tel, percent, editIndex) {        if (editIndex == null && partnerData.length >= 10) {            mui.toast("最多只能添加10个合伙人");            return;        }        if (!isPopup) {            isPopup = true;            $('.partnerDialog').removeClass('mui-hidden');            $("#p-name").val(name);            $("#p-tel").val(tel);            $("#p-percent").val(percent);            window.editIndex = editIndex;        }    }    //保存合伙人    $('.partner-oper span').click(function () {        //点击取消        if ($(this).index() == 0) {        } else {            //点击确定            var name = $("#p-name").val();            if (name == "") {                mui.toast("姓名不能为空");                return;            }            var tel = $("#p-tel").val();            if (!isPhone(tel)) {                mui.toast("请输入11位正确手机号码");                return;            }            var percent = parseFloat($("#p-percent").val());            var percentReg = /^(100|(([1-9]\d|\d)(\.\d{1,2})?))$/;            if (!percentReg.test(percent)) {                mui.toast("百分比保持在0-100%");                return;            }            //缓存合伙人数据            if (editIndex != null) {                var editItem = partnerData[editIndex];                var dom = $("[data-id='" + editItem.tel + "']");                var sumP = 0;                for (var index = 0; index < partnerData.length; index++) {                    var otherItem = partnerData[index];                    if (index != editIndex && otherItem.tel == tel) {                        mui.toast("不能和其他合伙人重复手机");                        return;                    }                    if (index != editIndex) {                        sumP = sumP + otherItem.percent;                    }                }                //校验分成比例                if (percent > (100 - sumP)) {                    mui.toast("分成比例最多只能是" + (100 - sumP) + "%");                    $("#p-percent").val(100 - sumP);                    return;                }                editItem.name = name;                editItem.tel = tel;                editItem.percent = percent;                dom.find(".p-name-show").text(name);                dom.find(".p-tel-show").text(tel);                dom.find(".p-percent-show ").text(percent + "%");                dom.attr("data-id", tel);            } else {                var sumP1 = 0;                for (var i = 0; i < partnerData.length; i++) {                    var item = partnerData[i];                    if (item.tel == tel) {                        mui.toast("不能重复添加相同手机");                        return;                    }                    sumP1 = sumP1 + item.percent;                }                //校验分成比例                if (percent > (100 - sumP1)) {                    mui.toast("分成比例最多只能是" + (100 - sumP1) + "%");                    $("#p-percent").val(100 - sumP1);                    return;                }                partnerData.push({                    name: name,                    tel: tel,                    percent: percent                });                addPartner({name: name, tel: tel, percent: percent});            }        }        $('.partnerDialog').addClass('mui-hidden');        //不能立即赋值,否则会出现不停弹出的情况        setTimeout(function () {            isPopup = false;        }, 500);        setMyPercent();//刷新我的比例    });    function addPartner(option) {        var name = option.name;        var tel = option.tel;        var percent = option.percent;        var editDisabled = option.editDisabled;        var dom = $('<div class="mui-table-view-cell">' +            '<p class="font-b-16">' +            '<span class="p-name-show"></span> ' +            '<span class="mui-pull-right font-b-16-8">分成 <em class="p-percent-show c-success"></em></span>' +            '</p>' +            '<p class="p-operation clearfix">' +            '<span class="p-tel-show"></span>' +            '<span data-id="" class="font-b-16-6 mui-pull-right edit-row" permission="manage-show">' +            '<em class="p-edit"><i class="iconfont icon-edit"></i>编辑</em>' +            '<em class="p-delete"><i class="iconfont icon-delete"></i>删除</em>' +            '</span></p></div>');        dom.find(".p-name-show").text(name);        dom.find(".p-tel-show").text(tel);        dom.find(".p-percent-show ").text(percent + "%");        dom.attr("data-id", tel);        if (editDisabled) {            dom.find('.edit-row').remove()        }        $(".my-percent").after(dom);    }    var saveFlag = false;    function save() {        var name = $("#name").val();        var tag = $("#tag").val();        var districtId = $("#districtId").val();        var country = $("#country").val();        var address = $("#address").val();        var addressType = $("#addressType").val();        if (!name) {            mui.toast("请填写分组名称");            return;        }        if (!addressType) {            mui.toast("请填写地址类型");            return;        }        if (!districtId) {            mui.toast("请选择所在地区");            return;        }        if (!country && needCountry) {            mui.toast("请填写正确的乡镇");            return;        }        if (!address) {            mui.toast("请填写详细地址");            return;        }        var isDefault = $(".isDefault").hasClass("mui-active");        var beforeCharge = $(".beforeCharge").hasClass("mui-active");        if (!saveFlag) {            saveFlag = true;            var url = "/device/saveEquipmentGroup";            var data = {                "name": name,                tag: tag,                "districtId": districtId, country: country, "address": address,                "addressType": addressType, "isDefault": isDefault, "beforeCharge": beforeCharge,            };            if ($(".partner").hasClass("mui-active")) {                if (needPartner && partnerData.length > 0) {                    data.partner = partnerData;                }            } else {                data.partner = null;            }            sendRequest(url, "POST", data, function (res) {                if (res.result == 1) {                    var btnArray = ['关闭', '返回上一页'];                    mui.confirm('添加地址成功', '温馨提示', btnArray, function (e) {                        if (e.index === 0) {                        } else if (e.index === 1) {                            history.back();                        }                    });                } else {                    saveFlag = false;                    mui.toast(res.description);                }            }, "json");        }    }</script></body></html>
 |