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>
|