// 地址表单初始化 FromInit('form.form-validation-address'); // 备案表单初始化 FromInit('form.form-validation-filing'); /** * 地址返回处理 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2019-11-12 * @desc description * @param {[object]} data [地址信息] */ function AddressModalHandle (data) { // 参数处理 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 province_city_county = data.province_city_county || null; var lng = data.lng || null; var lat = data.lat || null; // 获取省市区的数组 var province_city_county_list = province_city_county.split(' '); var province_city_county_obj = { province_name: province_city_county_list.length > 0 ? province_city_county_list[0] : '', city_name: province_city_county_list.length > 1 ? province_city_county_list[1] : '', county_name: province_city_county_list.length > 2 ? province_city_county_list[2] : '', } data = Object.assign({}, data, province_city_county_obj); if (name == null || tel == null || province == null || city == null || address == null) { Prompt(window['lang_operate_params_error'] || '数据填写有误'); return false; } // 数据拼接 var html = '
  • '; html += '
    '; if (logo != null) { html += ' '; } html += ''; html += '' + province_city_county + ' ' + address + '(' + name + '-' + tel + ')'; if (alias != null) { html += '' + alias + ''; } html += ''; html += '
    '; html += '
    '; 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(encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(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(CryptoJS.enc.Base64.parse(decodeURIComponent(value)).toString(CryptoJS.enc.Utf8)); } /** * 备案信息返回处理 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2019-11-12 * @desc description * @param {[object]} data [地址信息] */ function FilingModalHandle (data) { // 参数处理 var icon = data.icon || null; var name = data.name || null; var show_name = data.show_name || null; var url = data.url || null; if (name == null || show_name == null) { Prompt(window['lang_operate_params_error'] || '数据填写有误'); return false; } // 数据拼接 var html = '
  • '; html += '
    '; if (icon != null) { html += '' + name + ' '; } html += ''; html += '' + name + '(' + show_name + ')'; if (url != null) { html += ' ' + url + ''; } html += ''; html += '
    '; html += '
    '; html += '编辑 '; html += '移除'; html += '
    '; html += '
  • '; // 数据处理 var value = FilingValue(); // 弹层 var $popup_filing = $('#popup-filing-win'); // 操作类型(add, edit) var form_type = $popup_filing.attr('data-type') || 'add'; if (form_type == 'add') { $('ul.filing-list').append(html); data['id'] = value.length; value.push(data); } else { var form_index = $popup_filing.attr('data-index') || 0; data['id'] = form_index; value.splice(form_index, 1, data); $('ul.filing-list').find('li').eq(form_index).replaceWith(html); } $popup_filing.modal('close'); $('.filing-value').val(encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(value))))); } /** * 获取备案信息 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2019-11-12 * @desc description */ function FilingValue () { var value = $('.filing-value').val() || null; return (value == null) ? [] : JSON.parse(CryptoJS.enc.Base64.parse(decodeURIComponent(value)).toString(CryptoJS.enc.Utf8)); } $(function () { // 地址弹层 var $popup_address = $('#popup-address-win'); // 地址添加开启 $(document).on('click', '.address-submit-add', function () { $popup_address.modal(); $popup_address.attr('data-type', 'add'); // 清空数据 FormDataFill({ "alias": "", "name": "", "tel": "", "address": "", "province": 0, "city": 0, "county": 0, "province_city_county": '', "lng": "", "lat": "" }, 'form.form-validation-address'); // 地图初始化 MapInit(); // 地区初始化 RegionLinkageInit(); // logo var html = '
  • '; html += ''; html += '
  • '; $popup_address.find('.sitetype-logo').html(html); }); // 地址移除 $(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: window['lang_reminder_title'] || '温馨提示', content: window['lang_remove_confirm_tips'] || '移除后保存生效、确认继续吗?', onConfirm: function (options) { value.splice(index, 1); $('.self-extraction-address-value').val(encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(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(window['lang_address_no_data'] || '地址数据为空'); return false; } var item = value[index] || null; if (item == null) { Prompt(window['lang_address_not_exist'] || '地址不存在'); return false; } // logo var html = '
  • '; if ((item.logo || null) != null) { html += ''; html += ''; html += '' + item.name + ''; html += ''; } else { html += ''; } html += '
  • '; $popup_address.find('.sitetype-logo').html(html); // 地区初始化 RegionNodeData(0, 'province', 'province', item['province'], false); RegionNodeData(item['province'], 'city', 'city', item['city'], false); RegionNodeData(item['city'], 'county', 'county', item['county'], false); var province = $popup_address.find('.region-linkage .province li.am-active').data('name'); var city = $popup_address.find('.region-linkage .city li.am-active').data('name'); var county = $popup_address.find('.region-linkage .county li.am-active').data('name'); var province_city_county = { province_city_county: (province ? province : '') + (city ? ' ' + city : '') + (county ? ' ' + county : '') } item = Object.assign({}, item, province_city_county) // 数据填充 FormDataFill(item, 'form.form-validation-address'); // 基础数据 $popup_address.modal(); $popup_address.attr('data-type', 'edit'); $popup_address.attr('data-index', index); // 地图初始化 MapInit(item.lng, item.lat); }); // 备案弹层 var $popup_filing = $('#popup-filing-win'); // 备案添加开启 $(document).on('click', '.filing-submit-add', function () { $popup_filing.modal(); $popup_filing.attr('data-type', 'add'); // 清空数据 FormDataFill({ "name": "", "show_name": "", "url": "" }, 'form.form-validation-filing'); // icon var html = '
  • '; html += ''; html += '
  • '; $popup_filing.find('.filing-icon').html(html); }); // 备案移除 $(document).on('click', '.filing-list .delete-submit', function () { var index = $(this).parents('li').index(); var value = FilingValue(); if (value.length > 0) { AMUI.dialog.confirm({ title: window['lang_reminder_title'] || '温馨提示', content: window['lang_remove_confirm_tips'] || '移除后保存生效、确认继续吗?', onConfirm: function (options) { value.splice(index, 1); $('.filing-value').val(encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(value))))); $('ul.filing-list').find('li').eq(index).remove(); }, onCancel: function () { } }); } else { $('ul.filing-list').find('li').eq(index).remove(); } }); // 备案编辑 $(document).on('click', '.filing-list .edit-submit', function () { var index = $(this).parents('li').index(); var value = FilingValue(); if (value.length <= 0) { Prompt(window['lang_filing_no_data'] || '备案数据为空'); return false; } var item = value[index] || null; if (item == null) { Prompt(window['lang_filing_not_exist'] || '备案不存在'); return false; } // icon var html = '
  • '; if ((item.icon || null) != null) { html += ''; html += ''; html += '' + item.name + ''; html += ''; } else { html += ''; } html += '
  • '; $popup_filing.find('.filing-icon').html(html); // 数据填充 FormDataFill(item, 'form.form-validation-filing'); // 基础数据 $popup_filing.modal(); $popup_filing.attr('data-type', 'edit'); $popup_filing.attr('data-index', index); }); // 商品列表拖拽 $('ul.manual-mode-goods-container').dragsort({ dragSelector: 'li', placeHolderTemplate: '
  • ' }); // 商品搜索popup容器 var $popup_siteset_goods = $('#siteset-goods-popup'); // 分页 $('.goods-page-container').html(PageLibrary()); // 开启商品弹窗 $(document).on('click', '.goods-popup-add', function () { // 操作标记 $popup_siteset_goods.attr('data-tag', $(this).data('tag') || ''); $popup_siteset_goods.attr('data-form-name', $(this).data('form-name') || ''); // 初始化搜索数据 $popup_siteset_goods.modal(); $popup_siteset_goods.find('.search-submit').trigger('click'); }); // 搜索商品 $(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 $btn = $('.forth-selection-container .search-submit'); $btn.button('loading'); $.AMUI.progress.start(); $('.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(); $btn.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(); $btn.button('reset'); var msg = HtmlToString(xhr.responseText) || (window['lang_error_text'] || '异常错误'); 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 + '' + goods_title + '
  • '); } $this.parent().html(icon_html); }); // 添加域名 $(document).on('click', '.domain-submit-add', function () { var please_select_tip = $(this).data('please-select-tips') || '请选择...'; var select_html = ''; var json = $(this).data('json') || null; if (json != null) { json = JSON.parse(CryptoJS.enc.Base64.parse(decodeURIComponent(json)).toString(CryptoJS.enc.Utf8)); for (var i in json) { select_html += ''; } } var form_name = $(this).data('form-name'); var index = parseInt(Math.random() * 1000001); var html = `
  • `+ ($(this).data('remove-title') || '移除') + `
  • `; $('.domain-multilingual-list > ul').append(html); // 下拉选择组件初始化 SelectChosenInit(); }); // cookie域名移除 $(document).on('click', '.domain-multilingual-list .delete-submit', function () { var $parent = $(this).parents('li'); AMUI.dialog.confirm({ title: window['lang_reminder_title'] || '温馨提示', content: window['lang_remove_confirm_tips'] || '移除后保存生效、确认继续吗?', onConfirm: function (options) { $parent.remove(); }, onCancel: function () { } }); }); // 首页楼层数据模式类型切换 $(document).on('click', '.check-radio-change', function () { var key = parseInt($(this).val() || 0); $("[data-key='" + key + "']").addClass('am-active').siblings('.item').removeClass('am-active'); if (key == 0 || key == 1) { $(".reverse-drop-show").removeClass('am-hide'); } else { $(".reverse-drop-show").addClass('am-hide'); } }) // 商品分类层级 $(document).on('click', '.level-type input', function () { var key = $(this).val(); $(".level-type-content .item[data-key='" + key + "']").addClass('am-active').siblings('.item').removeClass('am-active'); }); // 订单溯源-添加 $(document).on('click', '.trace-source-submit-add', function() { var index = parseInt(Math.random() * 1000001); var select_html = $('.trace-source-goods-category-select-html').prop('outerHTML').replace('{index}', index); var required_html = $('.trace-source-required-html').prop('outerHTML').replace(/{index}/g, index); var html = ` `+select_html+` `+required_html+`
    `+(window['lang_operate_remove_name'] || '移除')+`
    `; $('.trace-source-list tbody').append(html); // 移除多余的class $('.trace-source-list select').removeClass('am-hide').removeClass('trace-source-goods-category-select-html').removeClass('chosen-init-success'); $('.trace-source-list .am-checkbox-group').removeClass('am-hide').removeClass('trace-source-required-html'); // 多选插件事件更新 SelectChosenInit(); }); // 订单溯源-移除 $(document).on('click', '.trace-source-list .delete-submit', function() { $(this).parents('tr').remove(); }); });