地址添加更新,选择记忆
parent
c0c8a9b92b
commit
58b9822f1c
|
|
@ -3,6 +3,7 @@
|
|||
namespace Home\Controller;
|
||||
|
||||
use Service\BuyService;
|
||||
use Service\UserService;
|
||||
|
||||
/**
|
||||
* 用户地址管理
|
||||
|
|
@ -67,13 +68,88 @@ class UserAddressController extends CommonController
|
|||
{
|
||||
$data = array();
|
||||
} else {
|
||||
$data = M('Article')->find(I('id'));
|
||||
$params = $_REQUEST;
|
||||
$params['user'] = $this->user;
|
||||
$data = UserService::UserAddressRow($params);
|
||||
}
|
||||
$this->assign('data', $data);
|
||||
|
||||
// 地区
|
||||
|
||||
$this->assign('data', $data['data']);
|
||||
$this->display('SaveInfo');
|
||||
}
|
||||
|
||||
/**
|
||||
* [Save 用户地址保存]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2018-09-23T22:36:18+0800
|
||||
*/
|
||||
public function Save()
|
||||
{
|
||||
$params = $_POST;
|
||||
$params['user'] = $this->user;
|
||||
$ret = UserService::UserAddressSave($params);
|
||||
$this->ajaxReturn($ret['msg'], $ret['code'], $ret['data']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除地址
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-07-18
|
||||
* @desc description
|
||||
*/
|
||||
public function Delete()
|
||||
{
|
||||
$params = $_POST;
|
||||
$params['user'] = $this->user;
|
||||
$ret = UserService::UserAddressDelete($params);
|
||||
$this->ajaxReturn($ret['msg'], $ret['code'], $ret['data']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 默认地址设置
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-07-18
|
||||
* @desc description
|
||||
*/
|
||||
public function SetDefault()
|
||||
{
|
||||
// 请求参数
|
||||
$params = [
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'address_id',
|
||||
'error_msg' => '地址ID不能为空',
|
||||
]
|
||||
];
|
||||
$ret = params_checked($_POST, $params);
|
||||
if($ret !== true)
|
||||
{
|
||||
$this->ajaxReturn($ret);
|
||||
}
|
||||
|
||||
// 模型
|
||||
$m = M('UserAddress');
|
||||
|
||||
// 开启事务
|
||||
$m->startTrans();
|
||||
|
||||
// 先全部设置为0 再将当前设置为1
|
||||
$all_status = $m->where(['user_id' => $this->user['id']])->save(['is_default'=>0]);
|
||||
$my_status = $m->where(['user_id' => $this->user['id'], 'id'=>$_POST['address_id']])->save(['is_default'=>1]);
|
||||
if($all_status && $my_status)
|
||||
{
|
||||
// 提交事务
|
||||
$m->commit();
|
||||
$this->ajaxReturn(L('common_operation_set_success'), 0);
|
||||
} else {
|
||||
// 回滚事务
|
||||
$m->rollback();
|
||||
$this->ajaxReturn(L('common_operation_delete_error'), -100);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
<notempty name="user_address_list">
|
||||
<ul class="address-list">
|
||||
<foreach name="user_address_list" item="address">
|
||||
<li class="<if condition="isset($address['is_default']) and $address['is_default'] eq 1">address-default</if>">
|
||||
<li class="<if condition="isset($address['is_default']) and $address['is_default'] eq 1">address-default</if>" id="data-list-{{$address.id}}">
|
||||
<div class="address-left">
|
||||
<div class="user DefaultAddr">
|
||||
<span class="buy-address-detail">
|
||||
|
|
@ -56,9 +56,9 @@
|
|||
<div class="new-addr-btn">
|
||||
<a href="#" class="hidden">设为默认</a>
|
||||
<span class="new-addr-bar hidden">|</span>
|
||||
<a href="#">编辑</a>
|
||||
<a href="javascript:;" class="address-submit-save" data-url="{{:U('Home/UserAddress/SaveInfo', ['id'=>$address['id']])}}">编辑</a>
|
||||
<span class="new-addr-bar">|</span>
|
||||
<a href="javascript:void(0);" onclick="delClick(this);">删除</a>
|
||||
<a href="javascript:;" class="address-submit-delete" data-url="{{:U('Home/UserAddress/Delete')}}" data-id="{{$address.id}}">删除</a>
|
||||
</div>
|
||||
</li>
|
||||
</foreach>
|
||||
|
|
@ -67,7 +67,7 @@
|
|||
</div>
|
||||
|
||||
<!-- 物流 -->
|
||||
<div class="business-item logistics">
|
||||
<div class="business-item logistics" data-type="logistics">
|
||||
<h3>选择物流方式</h3>
|
||||
<notempty name="express_list">
|
||||
<ul class="logistics-list">
|
||||
|
|
@ -85,7 +85,7 @@
|
|||
</div>
|
||||
|
||||
<!-- 支付方式 -->
|
||||
<div class="business-item payment">
|
||||
<div class="business-item payment" data-type="payment">
|
||||
<h3>选择支付方式</h3>
|
||||
<notempty name="payment_list">
|
||||
<ul class="payment-list">
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
<div class="am-form-group region-linkage" data-url="{{:U('Home/Region/Index')}}">
|
||||
<label class="block">{{:L('common_linkage_text')}}</label>
|
||||
<select name="province" data-next="city" class="am-radius c-p chosen-select" data-placeholder="{{:L('common_linkage_province_text')}}" data-validation-message="{{:L('common_linkage_province_format')}}" required>
|
||||
<select name="province" data-next="city" class="am-radius c-p chosen-select" data-placeholder="{{:L('common_linkage_province_text')}}" data-validation-message="{{:L('common_linkage_province_format')}}" data-value="<if condition="isset($data['province'])">{{$data.province}}<else />0</if>" required>
|
||||
<option value="">{{:L('common_linkage_province_text')}}</option>
|
||||
</select>
|
||||
<select name="city" data-next="county" class="am-radius c-p chosen-select" data-placeholder="{{:L('common_linkage_city_text')}}" data-validation-message="{{:L('common_linkage_city_format')}}" required>
|
||||
<select name="city" data-next="county" class="am-radius c-p chosen-select" data-placeholder="{{:L('common_linkage_city_text')}}" data-validation-message="{{:L('common_linkage_city_format')}}" data-value="<if condition="isset($data['city'])">{{$data.city}}<else />0</if>" required>
|
||||
<option value="">{{:L('common_linkage_city_text')}}</option>
|
||||
</select>
|
||||
<select name="county" class="am-radius c-p chosen-select" data-placeholder="{{:L('common_linkage_county_text')}}" data-validation-message="{{:L('common_linkage_county_format')}}" required>
|
||||
<select name="county" class="am-radius c-p chosen-select" data-placeholder="{{:L('common_linkage_county_text')}}" data-validation-message="{{:L('common_linkage_county_format')}}" data-value="<if condition="isset($data['county'])">{{$data.county}}<else />0</if>" required>
|
||||
<option value="">{{:L('common_linkage_county_text')}}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
<!-- conntent start -->
|
||||
<div class="am-g my-content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation" method="post" action="{{:U('Home/User/Login')}}" request-type="ajax-fun" request-value="ViewModalBack">
|
||||
<form class="am-form form-validation" method="post" action="{{:U('Home/UserAddress/Save')}}" request-type="ajax-fun" request-value="ViewModalBack">
|
||||
<div class="am-form-group">
|
||||
<label>{{:L('useraddress_name_text')}}</label>
|
||||
<input type="text" name="name" placeholder="{{:L('useraddress_name_text')}}" minlength="2" maxlength="16" data-validation-message="{{:L('useraddress_name_format')}}" class="am-radius" <present name="data"> value="{{$data.name}}"</present> required />
|
||||
|
|
@ -16,8 +16,16 @@
|
|||
<include file="Lib/RegionLinkage" />
|
||||
<div class="am-form-group">
|
||||
<label>{{:L('useraddress_address_text')}}</label>
|
||||
<input type="text" name="address" class="am-radius" minlength="1" maxlength="80" placeholder="{{:L('useraddress_address_text')}}" data-validation-message="{{:L('useraddress_address_format')}}" <present name="data"> value="{{$data.address}}"</present> required />
|
||||
<div class="am-form-group am-input-group am-input-group-sm">
|
||||
<input type="hidden" name="lng" id="form-lng" <notempty name="data"> value="{{$data.lng}}"</notempty> />
|
||||
<input type="hidden" name="lat" id="form-lat" <notempty name="data"> value="{{$data.lat}}"</notempty> />
|
||||
<input type="text" name="address" id="form-address" placeholder="{{:L('useraddress_address_text')}}" minlength="2" maxlength="80" data-validation-message="{{:L('useraddress_address_format')}}" class="am-radius" <notempty name="data"> value="{{$data.address}}"</notempty> 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> {{:L('common_location_submit')}}</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="map" data-level="17" class="am-form-group" style="width: 100%; height: 260px;"></div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>{{:L('useraddress_alias_text')}}</label>
|
||||
|
|
@ -42,22 +50,58 @@
|
|||
<include file="Public/Footer" />
|
||||
<!-- footer end -->
|
||||
|
||||
<!-- map -->
|
||||
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak={{:MyC('common_baidu_map_ak')}}"></script>
|
||||
<script type="text/javascript">
|
||||
// 返回处理
|
||||
function ViewModalBack(e)
|
||||
$(function()
|
||||
{
|
||||
// 百度地图API功能
|
||||
var map = new BMap.Map("map", {enableMapClick:false});
|
||||
var level = $('#map').data('level') || 16;
|
||||
var point = new BMap.Point(<if condition="!empty($data['lng'])">{{$data['lng']}}<else />116.400244</if>,<if condition="!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});
|
||||
});
|
||||
|
||||
// 返回处理
|
||||
function ViewModalBack(e)
|
||||
{
|
||||
if(e.code == 0)
|
||||
{
|
||||
if(e.code == 0)
|
||||
$.AMUI.progress.done();
|
||||
Prompt(e.msg, 'success');
|
||||
setTimeout(function()
|
||||
{
|
||||
$.AMUI.progress.done();
|
||||
Prompt(e.msg, 'success');
|
||||
setTimeout(function()
|
||||
{
|
||||
parent.location.reload();
|
||||
}, 1500);
|
||||
} else {
|
||||
$('form.form-validation').find('button[type="submit"]').button('reset');
|
||||
$.AMUI.progress.done();
|
||||
Prompt(e.msg);
|
||||
}
|
||||
parent.location.reload();
|
||||
}, 1500);
|
||||
} else {
|
||||
$('form.form-validation').find('button[type="submit"]').button('reset');
|
||||
$.AMUI.progress.done();
|
||||
Prompt(e.msg);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
@ -57,6 +57,47 @@ class UserService
|
|||
return DataReturn(L('common_operation_success'), 0, $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* [UserAddressRow 获取地址详情]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2018-09-23T23:19:25+0800
|
||||
* @param array $params [description]
|
||||
*/
|
||||
public static function UserAddressRow($params = [])
|
||||
{
|
||||
// 请求参数
|
||||
$p = [
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'id',
|
||||
'error_msg' => '地址id不能为空',
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'user',
|
||||
'error_msg' => '用户信息有误',
|
||||
],
|
||||
];
|
||||
$ret = params_checked($params, $p);
|
||||
if($ret !== true)
|
||||
{
|
||||
return DataReturn($ret);
|
||||
}
|
||||
|
||||
// 获取用户地址
|
||||
$params['where'] = [
|
||||
'id' => intval($params['id']),
|
||||
];
|
||||
$ret = self::UserAddressList($params);
|
||||
if(!empty($ret['data'][0]))
|
||||
{
|
||||
$ret['data'] = $ret['data'][0];
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户默认地址
|
||||
* @author Devil
|
||||
|
|
@ -91,5 +132,149 @@ class UserService
|
|||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* [UserAddressSave 用户地址保存]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2018-09-23T22:28:31+0800
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public static function UserAddressSave($params = [])
|
||||
{
|
||||
// 请求参数
|
||||
$p = [
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'name',
|
||||
'error_msg' => '姓名不能为空',
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'tel',
|
||||
'error_msg' => '联系电话不能为空',
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'province',
|
||||
'error_msg' => '省不能为空',
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'city',
|
||||
'error_msg' => '城市不能为空',
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'county',
|
||||
'error_msg' => '区/县不能为空',
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'address',
|
||||
'error_msg' => '详细地址不能为空',
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'user',
|
||||
'error_msg' => '用户信息有误',
|
||||
],
|
||||
];
|
||||
$ret = params_checked($params, $p);
|
||||
if($ret !== true)
|
||||
{
|
||||
return DataReturn($ret);
|
||||
}
|
||||
|
||||
$m = M('UserAddress');
|
||||
if(!empty($params['id']))
|
||||
{
|
||||
$where = ['user_id' => $params['user']['id'], 'id'=>$params['id']];
|
||||
$temp = $m->where($where)->find();
|
||||
}
|
||||
|
||||
// 操作数据
|
||||
$is_default = intval(I('is_default', 0));
|
||||
$data = [
|
||||
'name' => I('name', '', '', $params),
|
||||
'alias' => I('alias', '', '', $params),
|
||||
'tel' => I('tel', '', '', $params),
|
||||
'province' => I('province', '', '', $params),
|
||||
'city' => I('city', '', '', $params),
|
||||
'county' => I('county', '', '', $params),
|
||||
'address' => I('address', '', '', $params),
|
||||
'is_default' => $is_default,
|
||||
'lng' => floatval(I('lng')),
|
||||
'lat' => floatval(I('lat')),
|
||||
];
|
||||
|
||||
// 默认地址处理
|
||||
if($is_default == 1)
|
||||
{
|
||||
$m->where(['user_id'=>$params['user']['id'], 'is_default'=>1])->save(['is_default'=>0]);
|
||||
}
|
||||
|
||||
// 添加/更新数据
|
||||
if(empty($temp))
|
||||
{
|
||||
$data['user_id'] = $params['user']['id'];
|
||||
$data['add_time'] = time();
|
||||
if($m->add($data) > 0)
|
||||
{
|
||||
return DataReturn(L('common_operation_add_success'), 0);
|
||||
} else {
|
||||
return DataReturn(L('common_operation_add_error'));
|
||||
}
|
||||
} else {
|
||||
$data['upd_time'] = time();
|
||||
if($m->where($where)->save($data))
|
||||
{
|
||||
return DataReturn(L('common_operation_update_success'), 0);
|
||||
} else {
|
||||
return DataReturn(L('common_operation_update_error'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* [UserAddressDelete 用户地址删除]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2018-09-23T23:55:51+0800
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public static function UserAddressDelete($params = [])
|
||||
{
|
||||
// 请求参数
|
||||
$p = [
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'id',
|
||||
'error_msg' => '地址id不能为空',
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'user',
|
||||
'error_msg' => '用户信息有误',
|
||||
],
|
||||
];
|
||||
$ret = params_checked($params, $p);
|
||||
if($ret !== true)
|
||||
{
|
||||
return DataReturn($ret);
|
||||
}
|
||||
|
||||
// 软删除数据
|
||||
$where = ['user_id' => $params['user']['id'], 'id'=>$params['id']];
|
||||
$data = ['is_delete_time' => time()];
|
||||
if(M('UserAddress')->where($where)->save($data))
|
||||
{
|
||||
return DataReturn(L('common_operation_delete_success'), 0);
|
||||
} else {
|
||||
return DataReturn(L('common_operation_delete_error'), -100);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -671,6 +671,60 @@ function FomatFloat(value, pos)
|
|||
return s_x;
|
||||
}
|
||||
|
||||
/**
|
||||
* [DataDelete 数据删除]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2018-09-24T08:24:58+0800
|
||||
* @param {[object]} e [当前元素对象]
|
||||
*/
|
||||
function DataDelete(e)
|
||||
{
|
||||
var id = e.data('id');
|
||||
var url = e.data('url');
|
||||
var title = e.data('title') || '温馨提示';
|
||||
var msg = e.data('msg') || '删除后不可恢复、确认操作吗?';
|
||||
|
||||
AMUI.dialog.confirm({
|
||||
title: title,
|
||||
content: msg,
|
||||
onConfirm: function(options)
|
||||
{
|
||||
if((id || null) == null || (url || null) == null)
|
||||
{
|
||||
Prompt('参数配置有误');
|
||||
} else {
|
||||
// 请求删除数据
|
||||
$.ajax({
|
||||
url:url,
|
||||
type:'POST',
|
||||
dataType:"json",
|
||||
timeout:10000,
|
||||
data:{"id":id},
|
||||
success:function(result)
|
||||
{
|
||||
if(result.code == 0)
|
||||
{
|
||||
Prompt(result.msg, 'success');
|
||||
|
||||
// 成功则删除数据列表
|
||||
$('#data-list-'+id).remove();
|
||||
} else {
|
||||
Prompt(result.msg);
|
||||
}
|
||||
},
|
||||
error:function(xhr, type)
|
||||
{
|
||||
Prompt('网络异常出错');
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
onCancel: function(){}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// 公共数据操作
|
||||
$(function()
|
||||
|
|
@ -704,48 +758,7 @@ $(function()
|
|||
*/
|
||||
$(document).on('click', '.submit-delete', function()
|
||||
{
|
||||
var id = $(this).data('id');
|
||||
var url = $(this).data('url');
|
||||
var title = $(this).data('title') || '温馨提示';
|
||||
var msg = $(this).data('msg') || '删除后不可恢复、确认操作吗?';
|
||||
|
||||
AMUI.dialog.confirm({
|
||||
title: title,
|
||||
content: msg,
|
||||
onConfirm: function(options)
|
||||
{
|
||||
if((id || null) == null || (url || null) == null)
|
||||
{
|
||||
Prompt('参数配置有误');
|
||||
} else {
|
||||
// 请求删除数据
|
||||
$.ajax({
|
||||
url:url,
|
||||
type:'POST',
|
||||
dataType:"json",
|
||||
timeout:10000,
|
||||
data:{"id":id},
|
||||
success:function(result)
|
||||
{
|
||||
if(result.code == 0)
|
||||
{
|
||||
Prompt(result.msg, 'success');
|
||||
|
||||
// 成功则删除数据列表
|
||||
$('#data-list-'+id).remove();
|
||||
} else {
|
||||
Prompt(result.msg);
|
||||
}
|
||||
},
|
||||
error:function(xhr, type)
|
||||
{
|
||||
Prompt('网络异常出错');
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
onCancel: function(){}
|
||||
});
|
||||
DataDelete($(this));
|
||||
});
|
||||
|
||||
/**
|
||||
|
|
@ -1071,6 +1084,16 @@ $(function()
|
|||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* [RegionNodeData 地区联动]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2018-09-23T22:00:30+0800
|
||||
* @param {[int]} value [数据值]
|
||||
* @param {[string]} name [当前节点name名称]
|
||||
* @param {[string]} next_name [下一个节点名称(数据渲染节点)]
|
||||
*/
|
||||
function RegionNodeData(value, name, next_name)
|
||||
{
|
||||
if(value != null)
|
||||
|
|
@ -1086,9 +1109,15 @@ $(function()
|
|||
{
|
||||
/* html拼接 */
|
||||
var html = '';
|
||||
var value = $('.region-linkage select[name='+next_name+']').data('value') || 0;
|
||||
for(var i in result.data)
|
||||
{
|
||||
html += '<option value="'+result.data[i]['id']+'">'+result.data[i]['name']+'</option>';
|
||||
html += '<option value="'+result.data[i]['id']+'"';
|
||||
if(value != 0 && value == result.data[i]['id'])
|
||||
{
|
||||
html += ' selected ';
|
||||
}
|
||||
html += '>'+result.data[i]['name']+'</option>';
|
||||
}
|
||||
|
||||
/* 下一级数据添加 */
|
||||
|
|
@ -1137,7 +1166,22 @@ $(function()
|
|||
});
|
||||
if($('.region-linkage select').length > 0)
|
||||
{
|
||||
// 省初始化
|
||||
RegionNodeData(0, 'province', 'province');
|
||||
|
||||
// 市初始化
|
||||
var value = $('.region-linkage select[name=province]').data('value') || 0;
|
||||
if(value != 0)
|
||||
{
|
||||
RegionNodeData(value, 'city', 'city');
|
||||
}
|
||||
|
||||
// 区/县初始化
|
||||
var value = $('.region-linkage select[name=city]').data('value') || 0;
|
||||
if(value != 0)
|
||||
{
|
||||
RegionNodeData(value, 'county', 'county');
|
||||
}
|
||||
}
|
||||
|
||||
// 根据字符串地址获取坐标位置
|
||||
|
|
@ -1160,14 +1204,15 @@ $(function()
|
|||
|
||||
var map = new BMap.Map("map", {enableMapClick:false});
|
||||
var point = new BMap.Point(116.331398,39.897445);
|
||||
map.centerAndZoom(point,12);
|
||||
var level = $('#map').data('level') || 16;
|
||||
map.centerAndZoom(point, level);
|
||||
|
||||
// 创建地址解析器实例
|
||||
var myGeo = new BMap.Geocoder();
|
||||
// 将地址解析结果显示在地图上,并调整地图视野
|
||||
myGeo.getPoint(address, function(point) {
|
||||
if (point) {
|
||||
map.centerAndZoom(point, 16);
|
||||
map.centerAndZoom(point, level);
|
||||
var navigationControl = new BMap.NavigationControl({
|
||||
// 靠左上角位置
|
||||
anchor: BMAP_ANCHOR_TOP_LEFT,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
.hidden { display: none !important;}
|
||||
.address-default { display:block !important;}
|
||||
/*地址管理*/
|
||||
.concent h3,.business-item h3{border-bottom: 2px solid #e7c3c8; margin-top:15px;}
|
||||
.concent h3,.business-item h3{border-bottom: 3px solid #e3e3e3; margin-top:15px;}
|
||||
h3 { font-size: 14px;font-weight: 700;}
|
||||
.address h3 { border-bottom:none;}
|
||||
ul.address-list li{display:none;width:100%;padding:10px;position: relative;min-height:80px;}
|
||||
|
|
@ -26,7 +26,7 @@ ul.logistics-list li.selected i.icon-active, ul.payment-list li.selected i.icon-
|
|||
line-height: 0;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
background: url(../images/sys_item_selected.gif) no-repeat right bottom;
|
||||
background: url(../Images/sys_item_selected.gif) no-repeat right bottom;
|
||||
}
|
||||
.business-item ul { padding: 10px 3px 5px 5px;}
|
||||
.business-item ul li { float: left; cursor: pointer; padding: 5px; border: 1px solid #eee; }
|
||||
|
|
@ -132,8 +132,8 @@ ul.address-list, .business-item ul { overflow: hidden; }
|
|||
.link-list{margin:0px auto;}
|
||||
/*地址管理*/
|
||||
.address ul{margin-top:10px ;}
|
||||
ul.address-list li{display:block; width: calc(33% - 5px);height: 150px;float: left;background-image: url(../images/peraddbg.png); background-repeat: no-repeat; background-size: 100% 100%; margin:0 10px 10px 0 ;padding:10px;}
|
||||
ul.address-list li.address-default{background-image: url(../images/peraddressbg.png);}
|
||||
ul.address-list li{display:block; width: calc(33% - 5px);height: 150px;float: left;background-image: url(../Images/peraddbg.png); background-repeat: no-repeat; background-size: 100% 100%; margin:0 10px 10px 0 ;padding:10px;}
|
||||
ul.address-list li.address-default{background-image: url(../Images/peraddressbg.png);}
|
||||
ul.address-list li:nth-child(3n) { margin-right: 0; }
|
||||
.address-left{ width:100%;position: relative;}
|
||||
.th .td-inner{padding-left:0 ;}
|
||||
|
|
@ -169,7 +169,7 @@ ul.address-list, .business-item ul { overflow: hidden; }
|
|||
.address { margin-top: 10px; padding-top: 10px; }
|
||||
.address, .buy-message { border-top: 1px solid #eee; }
|
||||
.address .control { display: none; }
|
||||
.address-default {background: url(../images/peraddress.png) repeat-x; background-position: bottom; }
|
||||
.address-default {background: url(../Images/peraddress.png) repeat-x; background-position: bottom; }
|
||||
ul.address-list li { padding: 0 5px; min-height: 65px; }
|
||||
|
||||
.business-item ul li { width: calc(50% - 6px); }
|
||||
|
|
|
|||
|
|
@ -1,24 +1,90 @@
|
|||
$(function() {
|
||||
var store = $.AMUI.store;
|
||||
if(!store.enabled)
|
||||
{
|
||||
alert('Local storage is not supported by your browser. Please disable "Private Mode", or upgrade to a modern browser.');
|
||||
} else {
|
||||
// 选择缓存key
|
||||
var store_address_key = 'store-buy-address-selected-index';
|
||||
var store_logistics_key = 'store-lbuy-ogistics-selected-index';
|
||||
var store_payment_key = 'store-buy-payment-selected-index';
|
||||
}
|
||||
|
||||
$(function()
|
||||
{
|
||||
// 选中处理
|
||||
if(store.enabled)
|
||||
{
|
||||
// 地址
|
||||
var store_address_value = store.get(store_address_key);
|
||||
if(store_address_value !== undefined)
|
||||
{
|
||||
$('ul.address-list li').eq(store_address_value).addClass('address-default').siblings().removeClass('address-default');
|
||||
}
|
||||
// 快递
|
||||
var store_logistics_value = store.get(store_logistics_key);
|
||||
if(store_logistics_value !== undefined)
|
||||
{
|
||||
$('ul.logistics-list li').eq(store_logistics_value).addClass('selected');
|
||||
}
|
||||
// 快递
|
||||
var store_payment_value = store.get(store_payment_key);
|
||||
if(store_payment_value !== undefined)
|
||||
{
|
||||
$('ul.payment-list li').eq(store_payment_value).addClass('selected');
|
||||
}
|
||||
}
|
||||
|
||||
// 地址选择
|
||||
$('ul.address-list li').click(function() {
|
||||
$(this).addClass("address-default").siblings().removeClass("address-default");
|
||||
$('ul.address-list li').click(function()
|
||||
{
|
||||
$(this).addClass('address-default').siblings().removeClass('address-default');
|
||||
store.set(store_address_key, $(this).index());
|
||||
});
|
||||
|
||||
// 混合列表选择
|
||||
$('.business-item ul li').on('click', function() {
|
||||
$('.business-item ul li').on('click', function()
|
||||
{
|
||||
var type = $(this).parents('.business-item').data('type') || null;
|
||||
var temp_store_key = null;
|
||||
switch(type)
|
||||
{
|
||||
case 'payment' :
|
||||
temp_store_key = store_payment_key;
|
||||
break;
|
||||
|
||||
case 'logistics' :
|
||||
temp_store_key = store_logistics_key;
|
||||
break;
|
||||
}
|
||||
if ($(this).hasClass('selected')) {
|
||||
$(this).removeClass('selected');
|
||||
if(temp_store_key != null)
|
||||
{
|
||||
store.remove(temp_store_key);
|
||||
}
|
||||
} else {
|
||||
$(this).addClass('selected').siblings("li").removeClass('selected');
|
||||
$(this).addClass('selected').siblings('li').removeClass('selected');
|
||||
if(temp_store_key != null)
|
||||
{
|
||||
store.set(temp_store_key, $(this).index());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
// 弹出地址选择
|
||||
$('.address-submit').on('click', function()
|
||||
$('.address-submit-save').on('click', function(e)
|
||||
{
|
||||
ModalLoad($(this).data('url'), '地址管理', 'popup-modal-address', 'common-address-modal');
|
||||
|
||||
// 阻止事件冒泡
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
// 阻止事件冒泡
|
||||
$('.address-submit-delete').on('click', function(e)
|
||||
{
|
||||
DataDelete($(this));
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue