mirror of
https://gitee.com/zongzhige/shopxo.git
synced 2026-07-07 06:15:29 +08:00
自提点管理地址开发
This commit is contained in:
@ -35,9 +35,6 @@ class Region extends Common
|
||||
|
||||
// 登录校验
|
||||
$this->IsLogin();
|
||||
|
||||
// 权限校验
|
||||
$this->IsPower();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -49,6 +46,9 @@ class Region extends Common
|
||||
*/
|
||||
public function Index()
|
||||
{
|
||||
// 权限校验
|
||||
$this->IsPower();
|
||||
|
||||
// 是否启用
|
||||
$this->assign('common_is_enable_list', lang('common_is_enable_list'));
|
||||
|
||||
@ -64,6 +64,9 @@ class Region extends Common
|
||||
*/
|
||||
public function GetNodeSon()
|
||||
{
|
||||
// 权限校验
|
||||
$this->IsPower();
|
||||
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
@ -83,6 +86,9 @@ class Region extends Common
|
||||
*/
|
||||
public function Save()
|
||||
{
|
||||
// 权限校验
|
||||
$this->IsPower();
|
||||
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
@ -102,6 +108,9 @@ class Region extends Common
|
||||
*/
|
||||
public function Delete()
|
||||
{
|
||||
// 权限校验
|
||||
$this->IsPower();
|
||||
|
||||
// 是否ajax
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
@ -113,5 +122,31 @@ class Region extends Common
|
||||
$params['admin'] = $this->admin;
|
||||
return RegionService::RegionDelete($params);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取地区节点数据
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-09-21
|
||||
* @desc description
|
||||
*/
|
||||
public function Node()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
// 获取地区
|
||||
$params = [
|
||||
'where' => [
|
||||
'pid' => intval(input('pid', 0)),
|
||||
],
|
||||
];
|
||||
$data = RegionService::RegionNode($params);
|
||||
return DataReturn('操作成功', 0, $data);
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -49,6 +49,10 @@ class Site extends Common
|
||||
*/
|
||||
public function Index()
|
||||
{
|
||||
// 导航
|
||||
$nav_type = input('nav_type', 'base');
|
||||
$this->assign('nav_type', $nav_type);
|
||||
|
||||
// 时区
|
||||
$this->assign('site_timezone_list', lang('site_timezone_list'));
|
||||
|
||||
@ -77,14 +81,23 @@ class Site extends Common
|
||||
$this->assign('common_site_type_list', lang('common_site_type_list'));
|
||||
|
||||
// 配置信息
|
||||
$this->assign('data', ConfigService::ConfigList());
|
||||
$data = ConfigService::ConfigList();
|
||||
$this->assign('data', $data);
|
||||
|
||||
// 自提点地址处理
|
||||
if($nav_type == 'sitetype' && !empty($data['common_self_extraction_address']) && !empty($data['common_self_extraction_address']['value']))
|
||||
{
|
||||
$address_list = json_decode($data['common_self_extraction_address']['value'], true);
|
||||
if(!empty($address_list) && is_array($address_list))
|
||||
{
|
||||
$this->assign('sitetype_address_list', $address_list);
|
||||
}
|
||||
}
|
||||
|
||||
// 编辑器文件存放地址
|
||||
$this->assign('editor_path_type', 'common');
|
||||
|
||||
// 导航/视图
|
||||
$nav_type = input('nav_type', 'base');
|
||||
$this->assign('nav_type', $nav_type);
|
||||
// 视图
|
||||
return $this->fetch($nav_type);
|
||||
}
|
||||
|
||||
@ -103,33 +116,33 @@ class Site extends Common
|
||||
// 字段不存在赋空值
|
||||
$field_list = [];
|
||||
|
||||
// 用户注册
|
||||
if($nav_type == 'register')
|
||||
// 导航类型
|
||||
switch($nav_type)
|
||||
{
|
||||
$field_list[] = 'home_user_reg_state';
|
||||
$field_list[] = 'home_site_user_register_bg_images';
|
||||
}
|
||||
// 用户注册
|
||||
case 'register' :
|
||||
$field_list[] = 'home_user_reg_state';
|
||||
$field_list[] = 'home_site_user_register_bg_images';
|
||||
break;
|
||||
|
||||
// 用户登录
|
||||
if($nav_type == 'login')
|
||||
{
|
||||
$field_list[] = 'home_site_user_login_ad1_images';
|
||||
$field_list[] = 'home_site_user_login_ad2_images';
|
||||
$field_list[] = 'home_site_user_login_ad3_images';
|
||||
}
|
||||
// 用户登录
|
||||
case 'login' :
|
||||
$field_list[] = 'home_site_user_login_ad1_images';
|
||||
$field_list[] = 'home_site_user_login_ad2_images';
|
||||
$field_list[] = 'home_site_user_login_ad3_images';
|
||||
break;
|
||||
|
||||
// 密码找回
|
||||
if($nav_type == 'forgetpwd')
|
||||
{
|
||||
$field_list[] = 'home_site_user_forgetpwd_ad1_images';
|
||||
$field_list[] = 'home_site_user_forgetpwd_ad2_images';
|
||||
$field_list[] = 'home_site_user_forgetpwd_ad3_images';
|
||||
}
|
||||
// 密码找回
|
||||
case 'forgetpwd' :
|
||||
$field_list[] = 'home_site_user_forgetpwd_ad1_images';
|
||||
$field_list[] = 'home_site_user_forgetpwd_ad2_images';
|
||||
$field_list[] = 'home_site_user_forgetpwd_ad3_images';
|
||||
break;
|
||||
|
||||
// 图片验证码
|
||||
if($nav_type == 'imagesverify')
|
||||
{
|
||||
$field_list[] = 'common_images_verify_rules';
|
||||
// 图片验证码
|
||||
case 'imagesverify' :
|
||||
$field_list[] = 'common_images_verify_rules';
|
||||
break;
|
||||
}
|
||||
|
||||
// 开始处理空值
|
||||
|
||||
@ -674,10 +674,9 @@
|
||||
<!-- 拖拽排序初始化 -->
|
||||
<script type="text/javascript">
|
||||
// 规格扩展返回处理
|
||||
function SpecificationsExtendsBack()
|
||||
function SpecificationsExtendsBack(data)
|
||||
{
|
||||
var $extends_popup = $('#specifications-extends-popup');
|
||||
var data = GetFormVal('#specifications-extends-popup', true);
|
||||
$('.specifications-table').find($extends_popup.attr('data-line-extend')).find('.line-extend-input').val(JSON.stringify(data));
|
||||
$extends_popup.modal('close');
|
||||
}
|
||||
|
||||
12
application/admin/view/default/lib/region_linkage.html
Executable file
12
application/admin/view/default/lib/region_linkage.html
Executable file
@ -0,0 +1,12 @@
|
||||
<div class="am-form-group region-linkage" data-url="{{:MyUrl('admin/region/node')}}">
|
||||
<label class="block">省市区</label>
|
||||
<select name="province" data-next="city" class="am-radius chosen-select" data-placeholder="省份" data-validation-message="请选择省份" data-value="{{if isset($data['province'])}}{{$data.province}}{{else /}}0{{/if}}" required>
|
||||
<option value="">省份</option>
|
||||
</select>
|
||||
<select name="city" data-next="county" class="am-radius chosen-select" data-placeholder="城市" data-validation-message="请选择城市" data-value="{{if isset($data['city'])}}{{$data.city}}{{else /}}0{{/if}}" required>
|
||||
<option value="">城市</option>
|
||||
</select>
|
||||
<select name="county" class="am-radius chosen-select" data-placeholder="区/县" data-validation-message="请选择区/县" data-value="{{if isset($data['county'])}}{{$data.county}}{{else /}}0{{/if}}" required>
|
||||
<option value="">区/县</option>
|
||||
</select>
|
||||
</div>
|
||||
@ -34,4 +34,4 @@
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end
|
||||
<!-- footer end -->
|
||||
@ -98,4 +98,4 @@
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end
|
||||
<!-- footer end -->
|
||||
@ -35,4 +35,4 @@
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end
|
||||
<!-- footer end -->
|
||||
@ -48,4 +48,4 @@
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end
|
||||
<!-- footer end -->
|
||||
@ -126,4 +126,4 @@
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end
|
||||
<!-- footer end -->
|
||||
@ -47,4 +47,4 @@
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end
|
||||
<!-- footer end -->
|
||||
@ -144,4 +144,4 @@
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end
|
||||
<!-- footer end -->
|
||||
@ -36,4 +36,4 @@
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end
|
||||
<!-- footer end -->
|
||||
@ -71,4 +71,4 @@
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end
|
||||
<!-- footer end -->
|
||||
@ -34,4 +34,4 @@
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end
|
||||
<!-- footer end -->
|
||||
@ -46,7 +46,19 @@
|
||||
<span class="am-panel-title">自提点</span>
|
||||
</div>
|
||||
<div class="am-panel-bd">
|
||||
hello 自提点地址配置
|
||||
<ul class="am-list am-list-static am-list-border am-list-striped am-form-group am-btn-sm am-margin-bottom-0 am-padding-bottom-0 address-list">
|
||||
{{if !empty($sitetype_address_list) and is_array($sitetype_address_list)}}
|
||||
{{foreach $sitetype_address_list as $address}}
|
||||
<li>
|
||||
<span>{{$address.province_name}} {{$address.city_name}} {{$address.county_name}} {{$address.address}}{{if !empty($address['alias'])}}<span class="am-badge am-radius am-badge-success am-margin-left-xs">{{$address.alias}}</span>{{/if}}</span>
|
||||
<span class="am-badge am-radius am-icon-remove delete-submit"> 移除</span>
|
||||
<span class="am-badge am-radius am-icon-edit edit-submit"> 编辑</span>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
<input type="hidden" name="{{$data.common_self_extraction_address.only_tag}}" value="{{$data.common_self_extraction_address.value}}" class="self-extraction-address-value" />
|
||||
<button type="button" class="am-btn am-btn-secondary am-radius am-icon-plus am-btn-sm am-margin-top-sm address-submit-add"> 添加地址</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -59,7 +71,63 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
|
||||
<!-- 自提点地址添加弹层 -->
|
||||
<div class="am-popup" id="popup-address-win">
|
||||
<div class="am-popup-inner">
|
||||
<div class="am-popup-hd">
|
||||
<h4 class="am-popup-title">地址添加</h4>
|
||||
<span data-am-modal-close class="am-close">×</span>
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<form class="am-form form-validation-address" method="post" request-type="sync" request-value="ViewAddressModalBack">
|
||||
<div class="am-form-group">
|
||||
<label>别名</label>
|
||||
<input type="text" name="alias" placeholder="别名" minlength="0" maxlength="16" data-validation-message="别名格式最多 16 个字符" class="am-radius" />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>联系人</label>
|
||||
<input type="text" name="name" placeholder="联系人" minlength="2" maxlength="16" data-validation-message="联系人格式 2~16 个字符之间" class="am-radius" required />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>联系电话</label>
|
||||
<input type="text" name="tel" placeholder="联系电话" minlength="6" maxlength="30" data-validation-message="联系电话格式有误" class="am-radius" required />
|
||||
</div>
|
||||
|
||||
{{include file="lib/region_linkage" /}}
|
||||
<div class="am-form-group address-detail">
|
||||
<label>详细地址</label>
|
||||
<div class="am-input-group am-input-group-sm">
|
||||
<input type="hidden" name="lng" id="form-lng" />
|
||||
<input type="hidden" name="lat" id="form-lat" />
|
||||
<input type="text" name="address" id="form-address" placeholder="详细地址" minlength="2" maxlength="80" data-validation-message="详细地址格式 1~80 个字符之间" class="am-radius" required />
|
||||
<span class="am-input-group-btn">
|
||||
<button class="am-btn am-btn-default am-radius" type="button" id="map-location-submit"><span class="am-icon-map-marker"></span> 定位</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="map" data-level="17" class="am-form-group"></div>
|
||||
|
||||
<div class="am-form-group am-form-group-refreshing">
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm am-btn-block" data-am-loading="{loadingText:'处理中...'}">确认</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- map -->
|
||||
<script type="text/javascript" src="{{$Think.__MY_HTTP__}}://api.map.baidu.com/api?v=2.0&ak={{:MyC('common_baidu_map_ak')}}"></script>
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end
|
||||
<!-- footer end -->
|
||||
|
||||
<script type="text/javascript">
|
||||
// 返回处理
|
||||
function ViewAddressModalBack(data)
|
||||
{
|
||||
AddressModalHandle(data);
|
||||
}
|
||||
</script>
|
||||
@ -46,46 +46,18 @@
|
||||
</div>
|
||||
<!-- conntent end -->
|
||||
|
||||
<!-- map -->
|
||||
<!-- <script type="text/javascript" src="{{$Think.__MY_HTTP__}}://api.map.baidu.com/api?v=2.0&ak={{:MyC('common_baidu_map_ak')}}"></script> -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
|
||||
<!-- map -->
|
||||
<!-- <script type="text/javascript" src="{{$Think.__MY_HTTP__}}://api.map.baidu.com/api?v=2.0&ak={{:MyC('common_baidu_map_ak')}}"></script> -->
|
||||
<script type="text/javascript">
|
||||
$(function()
|
||||
{
|
||||
/*// 百度地图API功能
|
||||
var map = new BMap.Map("map", {enableMapClick:false});
|
||||
var level = $('#map').data('level') || 16;
|
||||
var point = new BMap.Point({{if !empty($data['lng'])}}{{$data['lng']}}{{else /}}116.400244{{/if}},{{if !empty($data['lat'])}}{{$data['lat']}}{{else /}}39.92556{{/if}});
|
||||
map.centerAndZoom(point, level);
|
||||
|
||||
// 添加控件
|
||||
var navigationControl = new BMap.NavigationControl({
|
||||
// 靠左上角位置
|
||||
anchor: BMAP_ANCHOR_TOP_LEFT,
|
||||
// LARGE类型
|
||||
type: BMAP_NAVIGATION_CONTROL_LARGE,
|
||||
});
|
||||
map.addControl(navigationControl);
|
||||
|
||||
// 创建标注
|
||||
var marker = new BMap.Marker(point); // 创建标注
|
||||
map.addOverlay(marker); // 将标注添加到地图中
|
||||
marker.enableDragging(); // 可拖拽
|
||||
marker.addEventListener("dragend", function(e) {
|
||||
map.panTo(e.point);
|
||||
$('#form-lng').val(e.point.lng);
|
||||
$('#form-lat').val(e.point.lat);
|
||||
});
|
||||
|
||||
// 设置版权控件位置
|
||||
var cr = new BMap.CopyrightControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT});
|
||||
map.addControl(cr); //添加版权控件
|
||||
var bs = map.getBounds(); //返回地图可视区域
|
||||
cr.addCopyright({id: 1, content: "<div class='map-copy'><span>拖动红色图标直接定位</span></div>", bounds:bs});*/
|
||||
// // 百度地图初始化
|
||||
// MapInit({{if !empty($data['lng'])}}{{$data['lng']}}{{else /}}116.400244{{/if}},{{if !empty($data['lat'])}}{{$data['lat']}}{{else /}}39.92556{{/if}});
|
||||
});
|
||||
|
||||
// 返回处理
|
||||
|
||||
@ -31,6 +31,7 @@ class ConfigService
|
||||
'home_email_user_email_binding',
|
||||
'home_site_close_reason',
|
||||
'common_agreement_userregister',
|
||||
'common_self_extraction_address',
|
||||
];
|
||||
|
||||
// 附件字段列表
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -24,4 +24,35 @@ ul.home_site_user_register_bg_images-images-view li {
|
||||
.content-right .am-panel .am-panel-bd .am-form-group {
|
||||
border-bottom: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 地址添加/编辑
|
||||
*/
|
||||
.region-linkage .chosen-select {
|
||||
display: -webkit-inline-box;
|
||||
width: calc(33.3% - 3px) !important;
|
||||
}
|
||||
.region-linkage .chosen-select .chosen-single {
|
||||
width: 100%;
|
||||
}
|
||||
.address-detail {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
#map {
|
||||
width: calc(100% - 10px);
|
||||
height: 250px;
|
||||
padding: 0 !important;
|
||||
margin: 0 5px 20px 5px;
|
||||
}
|
||||
.address-detail, #map {
|
||||
border-bottom: 0 !important;
|
||||
}
|
||||
.address-list {
|
||||
padding: 0 20% 0 0 !important;
|
||||
}
|
||||
.address-list .edit-submit,
|
||||
.address-list .delete-submit {
|
||||
cursor: pointer;
|
||||
}
|
||||
158
public/static/admin/default/js/site.js
Executable file → Normal file
158
public/static/admin/default/js/site.js
Executable file → Normal file
@ -1,13 +1,151 @@
|
||||
// 地址表单初始化
|
||||
FromInit('form.form-validation-address');
|
||||
|
||||
/**
|
||||
* 地址返回处理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2019-11-12
|
||||
* @desc description
|
||||
* @param {[object]} data [地址信息]
|
||||
*/
|
||||
function AddressModalHandle(data)
|
||||
{
|
||||
$(function()
|
||||
{
|
||||
// 参数处理
|
||||
var alias = data.alias || null;
|
||||
var name = data.name || null;
|
||||
var tel = data.tel || null;
|
||||
var province = data.province || null;
|
||||
var city = data.city || null;
|
||||
var county = data.county || null;
|
||||
var address = data.address || null;
|
||||
var lng = data.lng || null;
|
||||
var lat = data.lat || null;
|
||||
if(name == null || tel == null || province == null || city == null || county == null || address == null)
|
||||
{
|
||||
Prompt('数据填写有误');
|
||||
return false;
|
||||
}
|
||||
|
||||
// 地区名称
|
||||
data['province_name'] = $('.region-linkage select[name="province"]').find('option:selected').text();
|
||||
data['city_name'] = $('.region-linkage select[name="city"]').find('option:selected').text();
|
||||
data['county_name'] = $('.region-linkage select[name="county"]').find('option:selected').text();
|
||||
|
||||
// 数据拼接
|
||||
var html = '<li>';
|
||||
html += '<span>'+data['province_name']+' '+data['city_name']+' '+data['county_name']+' '+address;
|
||||
if(alias != null)
|
||||
{
|
||||
html += '<span class="am-badge am-radius am-badge-success am-margin-left-xs">'+alias+'</span>';
|
||||
}
|
||||
html += '</span>';
|
||||
html += '<span class="am-badge am-radius am-icon-remove delete-submit"> 移除</span>';
|
||||
html += '<span class="am-badge am-radius am-icon-edit edit-submit"> 编辑</span>';
|
||||
html += '</li>';
|
||||
|
||||
// 数据处理
|
||||
var value = SelfExtractionAddressValue();
|
||||
|
||||
// 弹层
|
||||
var $popup = $('#popup-address-win');
|
||||
|
||||
// 操作类型(add, edit)
|
||||
var form_type = $popup.attr('data-type') || 'add';
|
||||
if(form_type == 'add')
|
||||
{
|
||||
$('ul.address-list').append(html);
|
||||
value.push(data);
|
||||
} else {
|
||||
var form_index = $popup.attr('data-index') || 0;
|
||||
value.splice(form_index, 1, data);
|
||||
$('ul.address-list').find('li').eq(form_index).replaceWith(html);
|
||||
}
|
||||
$popup.modal('close');
|
||||
$('.self-extraction-address-value').val(JSON.stringify(value));
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取自提地址
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2019-11-12
|
||||
* @desc description
|
||||
*/
|
||||
function SelfExtractionAddressValue()
|
||||
{
|
||||
var value = $('.self-extraction-address-value').val() || null;
|
||||
return (value == null) ? [] : JSON.parse(value);
|
||||
}
|
||||
|
||||
$(function()
|
||||
{
|
||||
// 图片选择名称展示
|
||||
$('input.site-logo').on('change', function()
|
||||
{
|
||||
var fileNames = '';
|
||||
$.each(this.files, function()
|
||||
{
|
||||
fileNames += '<span class="am-badge">' + this.name + '</span> ';
|
||||
});
|
||||
$($(this).data('tils-tag')).html(fileNames);
|
||||
});
|
||||
// 弹层
|
||||
var $popup = $('#popup-address-win');
|
||||
|
||||
// 地址添加开启
|
||||
$('.address-submit-add').on('click', function()
|
||||
{
|
||||
$popup.modal();
|
||||
$popup.attr('data-type', 'add');
|
||||
|
||||
// 地图初始化
|
||||
MapInit();
|
||||
});
|
||||
|
||||
// 地址移除
|
||||
$(document).on('click', '.address-list .delete-submit', function()
|
||||
{
|
||||
var index = $(this).parents('li').index();
|
||||
var value = SelfExtractionAddressValue();
|
||||
if(value.length > 0)
|
||||
{
|
||||
AMUI.dialog.confirm({
|
||||
title: '温馨提示',
|
||||
content: '移除后保存生效、确认继续吗?',
|
||||
onConfirm: function(options)
|
||||
{
|
||||
value.splice(index, 1);
|
||||
$('.self-extraction-address-value').val(JSON.stringify(value));
|
||||
$('ul.address-list').find('li').eq(index).remove();
|
||||
},
|
||||
onCancel: function(){}
|
||||
});
|
||||
} else {
|
||||
$('ul.address-list').find('li').eq(index).remove();
|
||||
}
|
||||
});
|
||||
|
||||
// 地址编辑
|
||||
$(document).on('click', '.address-list .edit-submit', function()
|
||||
{
|
||||
var index = $(this).parents('li').index();
|
||||
var value = SelfExtractionAddressValue();
|
||||
if(value.length <= 0)
|
||||
{
|
||||
Prompt('地址数据为空');
|
||||
return false;
|
||||
}
|
||||
|
||||
var item = value[index] || null;
|
||||
if(item == null)
|
||||
{
|
||||
Prompt('地址不存在');
|
||||
return false;
|
||||
}
|
||||
|
||||
// 数据填充
|
||||
FormDataFill(item, 'form.form-validation-address');
|
||||
$popup.modal();
|
||||
$popup.attr('data-type', 'edit');
|
||||
$popup.attr('data-index', index);
|
||||
|
||||
// 地图初始化
|
||||
MapInit(item.lng, item.lat);
|
||||
});
|
||||
});
|
||||
@ -226,6 +226,10 @@ function FromInit(form_name)
|
||||
}
|
||||
var editor_tag_name = 'editor-tag';
|
||||
var $form = $(form_name);
|
||||
if($form.length <= 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
var $editor_tag = $form.find('[id='+editor_tag_name+']');
|
||||
var editor_count = $editor_tag.length;
|
||||
if(editor_count > 0)
|
||||
@ -385,7 +389,7 @@ function FromInit(form_name)
|
||||
$button.button('reset');
|
||||
if(IsExitsFunction(request_value))
|
||||
{
|
||||
window[request_value]();
|
||||
window[request_value](GetFormVal(form_name, true));
|
||||
} else {
|
||||
Prompt('['+request_value+']表单定义的方法未定义');
|
||||
}
|
||||
@ -1280,6 +1284,57 @@ function PageLibrary(total, number, page, sub_number)
|
||||
return html;
|
||||
}
|
||||
|
||||
/**
|
||||
* 地图初始化
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2019-11-12
|
||||
* @desc description
|
||||
* @param {[float]} lng [经度]
|
||||
* @param {[float]} lat [维度]
|
||||
* @param {[int]} level [层级]
|
||||
* @param {[object]} point [中心对象]
|
||||
*/
|
||||
function MapInit(lng, lat, level, point)
|
||||
{
|
||||
// 百度地图API功能
|
||||
var map = new BMap.Map("map", {enableMapClick:false});
|
||||
level = level || $('#map').data('level') || 16;
|
||||
point = point || (new BMap.Point(lng || 116.400244, lat || 39.92556));
|
||||
map.centerAndZoom(point, level);
|
||||
|
||||
// 添加控件
|
||||
var navigationControl = new BMap.NavigationControl({
|
||||
// 靠左上角位置
|
||||
anchor: BMAP_ANCHOR_TOP_LEFT,
|
||||
// LARGE类型
|
||||
type: BMAP_NAVIGATION_CONTROL_LARGE,
|
||||
});
|
||||
map.addControl(navigationControl);
|
||||
|
||||
// 创建标注
|
||||
var marker = new BMap.Marker(point); // 创建标注
|
||||
map.addOverlay(marker); // 将标注添加到地图中
|
||||
marker.enableDragging(); // 可拖拽
|
||||
marker.addEventListener("dragend", function(e) {
|
||||
map.panTo(e.point);
|
||||
$('#form-lng').val(e.point.lng);
|
||||
$('#form-lat').val(e.point.lat);
|
||||
});
|
||||
|
||||
// 设置版权控件位置
|
||||
var cr = new BMap.CopyrightControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT});
|
||||
map.addControl(cr); //添加版权控件
|
||||
var bs = map.getBounds(); //返回地图可视区域
|
||||
cr.addCopyright({id: 1, content: "<div class='map-copy'><span>拖动红色图标直接定位</span></div>", bounds:bs});
|
||||
|
||||
//获取地址坐标
|
||||
var p = marker.getPosition();
|
||||
$('#form-lng').val(p.lng);
|
||||
$('#form-lat').val(p.lat);
|
||||
}
|
||||
|
||||
// 公共数据操作
|
||||
$(function()
|
||||
{
|
||||
@ -1755,56 +1810,30 @@ $(function()
|
||||
for(var i in region)
|
||||
{
|
||||
var $temp_obj = $('.region-linkage select[name='+region[i]+']');
|
||||
var v = $temp_obj.find('option:selected').val();
|
||||
if(v.length > 0)
|
||||
var v = $temp_obj.find('option:selected').val() || null;
|
||||
if(v != null)
|
||||
{
|
||||
if(i == 0) province = $temp_obj.find('option:selected').text();
|
||||
address += $temp_obj.find('option:selected').text();
|
||||
if(i == 0)
|
||||
{
|
||||
province = $temp_obj.find('option:selected').text() || '';
|
||||
}
|
||||
address += $temp_obj.find('option:selected').text() || '';
|
||||
}
|
||||
}
|
||||
address += $('#form-address').val();
|
||||
|
||||
var map = new BMap.Map("map", {enableMapClick:false});
|
||||
var point = new BMap.Point(116.331398,39.897445);
|
||||
var level = $('#map').attr('data-level') || 16;
|
||||
map.centerAndZoom(point, level);
|
||||
if(province.length <= 0 || address.length <= 0)
|
||||
{
|
||||
Prompt('地址为空');
|
||||
return false;
|
||||
}
|
||||
|
||||
// 创建地址解析器实例
|
||||
var myGeo = new BMap.Geocoder();
|
||||
// 将地址解析结果显示在地图上,并调整地图视野
|
||||
myGeo.getPoint(address, function(point) {
|
||||
if (point) {
|
||||
map.centerAndZoom(point, level);
|
||||
var navigationControl = new BMap.NavigationControl({
|
||||
// 靠左上角位置
|
||||
anchor: BMAP_ANCHOR_TOP_LEFT,
|
||||
// LARGE类型
|
||||
type: BMAP_NAVIGATION_CONTROL_LARGE,
|
||||
});
|
||||
map.addControl(navigationControl);
|
||||
|
||||
var marker = new BMap.Marker(point); // 创建标注
|
||||
map.addOverlay(marker); // 将标注添加到地图中
|
||||
marker.enableDragging(); // 可拖拽
|
||||
|
||||
/* 设置版权控件位置 */
|
||||
var cr = new BMap.CopyrightControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT});
|
||||
map.addControl(cr); //添加版权控件
|
||||
var bs = map.getBounds(); //返回地图可视区域
|
||||
cr.addCopyright({id: 1, content: "<div class='map-copy'><span>拖动红色图标直接定位</span></div>", bounds:bs});
|
||||
|
||||
//增加拖动后事件
|
||||
marker.addEventListener("dragend", function(e) {
|
||||
map.panTo(e.point);
|
||||
$('#form-lng').val(e.point.lng);
|
||||
$('#form-lat').val(e.point.lat);
|
||||
});
|
||||
|
||||
//获取地址坐标
|
||||
var p = marker.getPosition(); //获取marker的位置
|
||||
$('#form-lng').val(p.lng);
|
||||
$('#form-lat').val(p.lat);
|
||||
}else{
|
||||
MapInit(null, null, null, point);
|
||||
} else {
|
||||
Prompt("您选择地址没有解析到结果!");
|
||||
}
|
||||
}, province);
|
||||
|
||||
Reference in New Issue
Block a user