// 地址表单初始化
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 logo = data.logo || null;
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 = '
';
if(logo != null)
{
html += '
';
}
html += '';
html += ''+data['province_name']+' '+data['city_name']+' '+data['county_name']+' '+address+'('+name+'-'+tel+')';
if(alias != null)
{
html += ''+alias+'';
}
html += '';
html += ' 移除';
html += ' 编辑';
html += '';
// 数据处理
var value = SelfExtractionAddressValue();
// 弹层
var $popup_address = $('#popup-address-win');
// 操作类型(add, edit)
var form_type = $popup_address.attr('data-type') || 'add';
if(form_type == 'add')
{
$('ul.address-list').append(html);
data['id'] = value.length;
value.push(data);
} else {
var form_index = $popup_address.attr('data-index') || 0;
data['id'] = form_index;
value.splice(form_index, 1, data);
$('ul.address-list').find('li').eq(form_index).replaceWith(html);
}
$popup_address.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()
{
// 弹层
var $popup_address = $('#popup-address-win');
// 地址添加开启
$('.address-submit-add').on('click', function()
{
$popup_address.modal();
$popup_address.attr('data-type', 'add');
// logo
$popup_address.find('.sitetype-logo').html('');
// 清空数据
FormDataFill({"alias":"", "name":"", "tel":"", "address":"", "province":0, "city":0, "county":0, "lng":"", "lat":""}, 'form.form-validation-address');
// 地图初始化
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;
}
// logo
var html = '';
if((item.logo || null) != null)
{
html += '';
html += '';
html += '
';
html += '×';
html += '';
}
$popup_address.find('.sitetype-logo').html(html);
// 数据填充
FormDataFill(item, 'form.form-validation-address');
// 地区初始化
RegionNodeData(item['province'], 'city', 'city', item['city']);
RegionNodeData(item['city'], 'county', 'county', item['county']);
// 基础数据
$popup_address.modal();
$popup_address.attr('data-type', 'edit');
$popup_address.attr('data-index', index);
// 地图初始化
MapInit(item.lng, item.lat);
});
// 商品列表拖拽
$('ul.manual-mode-goods-container').dragsort({ dragSelector: 'li', placeHolderTemplate: ''});
// 商品搜索popup容器
var $popup_siteset_goods = $('#siteset-goods-popup');
// 分页
$('.goods-page-container').html(PageLibrary());
// 开启商品弹窗
$('.goods-popup-add').on('click', function()
{
// 操作标记
$popup_siteset_goods.attr('data-tag', $(this).data('tag') || '');
$popup_siteset_goods.attr('data-form-name', $(this).data('form-name') || '');
// 初始化搜索数据
$('.goods-list-container ul.am-gallery').html(' 请搜索商品
');
$('.goods-page-container').html(PageLibrary());
$popup_siteset_goods.modal();
});
// 搜索商品
$(document).on('click', '.forth-selection-container .search-submit, .pagelibrary li a', function()
{
// 分页处理
var is_active = $(this).data('is-active') || 0;
if(is_active == 1)
{
return false;
}
var page = $(this).data('page') || 1;
// 请求参数
var url = $('.forth-selection-container').data('search-url');
var category_id = $('.forth-selection-form-category').val();
var keywords = $('.forth-selection-form-keywords').val();
var goods_ids = [];
$($popup_siteset_goods.attr('data-tag')).find('input[type="hidden"]').each(function(k, v)
{
goods_ids.push($(this).val());
});
var $this = $(this);
$.AMUI.progress.start();
$this.button('loading');
$('.goods-list-container ul.am-gallery').html(' '+($('.goods-list-container').data('loading-msg'))+'
');
$.ajax({
url: RequestUrlHandle(url),
type: 'post',
data: {"page":page, "category_id":category_id, "keywords":keywords, "goods_ids":goods_ids},
dataType: 'json',
success: function(res)
{
$.AMUI.progress.done();
$this.button('reset');
if(res.code == 0)
{
$('.goods-list-container').attr('data-is-init', 0);
$('.goods-list-container ul.am-gallery').html(res.data.data);
$('.goods-page-container').html(PageLibrary(res.data.total, res.data.page_size, res.data.page, 4));
} else {
Prompt(res.msg);
$('.goods-list-container ul.am-gallery').html(' '+res.msg+'
');
}
},
error: function(xhr, type)
{
$.AMUI.progress.done();
$this.button('reset');
var msg = HtmlToString(xhr.responseText) || '异常错误';
Prompt(msg, null, 30);
$('.goods-list-container ul.am-gallery').html(' '+msg+'
');
}
});
});
// 删除列表
$(document).on('click', '.manual-mode-goods-container li button.am-close', function()
{
$(this).parent('li').remove();
});
// 商品添加/删除
$(document).on('click', '.goods-list-container .goods-add-submit, .goods-list-container .goods-del-submit', function()
{
// 基础参数
var $this = $(this);
var type = $this.data('type');
var icon_html = $this.parents('li').data((type == 'add' ? 'del' : 'add')+'-html');
var goods_id = $this.parents('li').data('gid');
var goods_title = $this.parents('li').data('title');
var goods_url = $this.parents('li').data('url');
var goods_img = $this.parents('li').data('img');
var tag = $popup_siteset_goods.attr('data-tag') || '';
var form_name = $popup_siteset_goods.attr('data-form-name') || '';
// 商品是否已经添加
if($(tag).find('.manual-mode-goods-item-'+goods_id).length > 0)
{
$(tag).find('.manual-mode-goods-item-'+goods_id).remove();
} else {
$(tag).append('
'+goods_title+'');
}
$this.parent().html(icon_html);
});
// 弹窗全屏
$('#siteset-goods-popup').on('click', '.am-popup-hd .am-full', function()
{
var width = $(window).width();
var height = $(window).height();
if(width >= 630 && height >= 630)
{
var $parent = $(this).parents('.am-popup');
if($parent.hasClass('popup-full'))
{
$parent.find('.am-gallery').addClass('am-avg-lg-5').removeClass('am-avg-lg-8');
} else {
$parent.find('.am-gallery').addClass('am-avg-lg-8').removeClass('am-avg-lg-5');
}
}
});
});