4063 lines
178 KiB
JavaScript
4063 lines
178 KiB
JavaScript
// 公共列表 form 搜索条件
|
||
FromInit('form.form-validation-layout-config');
|
||
FromInit('form.form-validation-module-offcanvas-images');
|
||
FromInit('form.form-validation-module-offcanvas-many-images');
|
||
FromInit('form.form-validation-module-offcanvas-images-text');
|
||
FromInit('form.form-validation-module-offcanvas-images-magic-cube');
|
||
FromInit('form.form-validation-module-offcanvas-video');
|
||
FromInit('form.form-validation-module-offcanvas-goods');
|
||
FromInit('form.form-validation-module-offcanvas-title');
|
||
FromInit('form.form-validation-module-offcanvas-custom');
|
||
FromInit('form.form-validation-module-offcanvas-border');
|
||
FromInit('form.form-validation-module-offcanvas-height');
|
||
|
||
FromInit('form.form-validation-module-modal-title-keywords');
|
||
FromInit('form.form-validation-module-modal-rolling-config');
|
||
FromInit('form.form-validation-module-modal-list-config');
|
||
|
||
FromInit('form.form-validation-module-popup-goods-search');
|
||
|
||
// 弹窗容器
|
||
var $layout_content_obj = null;
|
||
var $page_parent_obj = null;
|
||
var $base_show_style_value_obj = null;
|
||
var $base_title_keywords_obj = null;
|
||
var $layout = $('.layout-container');
|
||
var $offcanvas_layout_config = $('#offcanvas-layout-config');
|
||
var $offcanvas_config_images = $('#offcanvas-module-config-images');
|
||
var $offcanvas_config_many_images = $('#offcanvas-module-config-many-images');
|
||
var $offcanvas_config_images_text = $('#offcanvas-module-config-images-text');
|
||
var $offcanvas_config_images_magic_cube = $('#offcanvas-module-config-images-magic-cube');
|
||
var $offcanvas_config_video = $('#offcanvas-module-config-video');
|
||
var $offcanvas_config_goods = $('#offcanvas-module-config-goods');
|
||
var $offcanvas_config_title = $('#offcanvas-module-config-title');
|
||
var $offcanvas_config_custom = $('#offcanvas-module-config-custom');
|
||
var $offcanvas_config_border = $('#offcanvas-module-config-border');
|
||
var $offcanvas_config_height = $('#offcanvas-module-config-height');
|
||
|
||
var $modal_pages_select = $('#modal-module-pages-select');
|
||
var $modal_rolling_config = $('#modal-module-rolling-config');
|
||
var $modal_list_config = $('#modal-module-list-config');
|
||
var $modal_title_keywords = $('#modal-module-title-keywords');
|
||
|
||
var $popup_goods_select = $('#popup-module-goods-select');
|
||
var $popup_goods_search = $('#popup-module-goods-search');
|
||
var $popup_goods_category = $('#popup-module-goods-category');
|
||
|
||
// 布局模块类型信息
|
||
var layout_module_type_arr = {};
|
||
$('#renovation-tabs-module button').each(function (k, v) {
|
||
layout_module_type_arr[$(this).data('value')] = $(this).text();
|
||
});
|
||
|
||
/**
|
||
* 模块拖拽初始化
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-13
|
||
* @desc description
|
||
* @param {[object]} event [初始化容器]
|
||
*/
|
||
function ModuleDragSortInit (event) {
|
||
// 是否指定初始化容器
|
||
if ((event || null) == null) {
|
||
event = $('.layout-content');
|
||
}
|
||
|
||
// 模块拖拽
|
||
event.dragsort({
|
||
dragSelector: '.module-view-submit-drag',
|
||
placeHolderTemplate: '<div class="drag-sort-dotted"></div>'
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 布局生成
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-10
|
||
* @desc description
|
||
* @param {[string]} value [布局比例值]
|
||
*/
|
||
function StructureDragHtmlCreate (value) {
|
||
// 基础
|
||
var switch_on = $layout.data('switch-on-text') || '开启';
|
||
var switch_off = $layout.data('switch-off-text') || '关闭';
|
||
var set_title = $layout.data('layout-set-title') || '布局设置';
|
||
var del_title = $layout.data('layout-del-title') || '布局移除';
|
||
var content_tips = $layout.data('layout-content-tips') || '模块内容区域';
|
||
var html = '<div class="layout-view" data-value="' + value + '">';
|
||
html += '<i class="layout-view-dragenter-icon am-icon-sort-asc am-icon-lg am-hide"></i>';
|
||
html += '<div class="layout-content-submit drag-submit">';
|
||
html += '<input type="checkbox" data-am-switch class="switch-checkbox am-switch-mini" checked="true" data-size="xs" data-on-color="success" data-off-color="warning" data-off-text="' + switch_off + '" data-on-text="' + switch_on + '" />';
|
||
html += ' <button type="button" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-square-o layout-submit layout-submit-set"> ' + set_title + '</button>';
|
||
html += ' <button type="button" class="am-btn am-btn-danger am-radius am-btn-xs am-icon-trash-o layout-submit layout-submit-del"> ' + del_title + '</button>';
|
||
html += '</div>';
|
||
|
||
// 容器设置
|
||
var content_submit = '<div class="layout-content-submit-container">';
|
||
content_submit += '<button type="button" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-gear layout-submit layout-content-submit-set"></button>';
|
||
content_submit += '</div>';
|
||
|
||
// 默认内容提示信息
|
||
var content_tips = '<div class="layout-content-tips">' + content_tips + '</div>';
|
||
|
||
// 根据布局类型处理
|
||
var arr = value.toString().split(':');
|
||
var length = arr.length;
|
||
if (length <= 1) {
|
||
// 100%
|
||
html += '<div class="layout-content-children">';
|
||
html += '<div class="layout-content-container">';
|
||
html += content_submit;
|
||
html += '<div class="layout-content">';
|
||
html += content_tips;
|
||
html += '</div>';
|
||
html += '</div>';
|
||
html += '</div>';
|
||
} else {
|
||
// 多个格子
|
||
html += '<div class="layout-content-children">';
|
||
for (var i in arr) {
|
||
html += '<div class="am-u-md-' + arr[i] + '">';
|
||
html += '<div class="layout-content-container">';
|
||
html += content_submit;
|
||
html += '<div class="layout-content">';
|
||
html += content_tips;
|
||
html += '</div>';
|
||
html += '</div>';
|
||
html += '</div>';
|
||
}
|
||
html += '</div>';
|
||
}
|
||
html += '</div>';
|
||
return html;
|
||
}
|
||
|
||
/**
|
||
* 模块生成
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-13
|
||
* @desc description
|
||
* @param {[string]} value [模块类型]
|
||
*/
|
||
function RenovationModuleDragHtmlCreate (value) {
|
||
// 根据模块类型处理
|
||
if ((layout_module_type_arr[value] || null) == null) {
|
||
Prompt(($layout.data('module-not-exist-tips') || '模块未定义') + '[' + value + ']');
|
||
return false;
|
||
}
|
||
|
||
// 基础
|
||
var config_first_tips = $layout.data('config-first-tips') || '请配置';
|
||
var index = parseInt(Math.random() * 1000001);
|
||
var doc = 'module-content-index-' + value + '-' + index;
|
||
var html = '<div class="module-view">';
|
||
html += '<div class="module-view-submit-container" data-value="' + value + '" data-index="' + index + '" data-doc=".' + doc + '">';
|
||
html += '<button type="button" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-reorder layout-submit module-view-submit-drag"></button>';
|
||
html += ' <button type="button" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-folder-open-o layout-submit module-view-submit-set"></button>';
|
||
html += ' <button type="button" class="am-btn am-btn-danger am-radius am-btn-xs am-icon-trash-o layout-submit module-view-submit-del"></button>';
|
||
html += '</div>';
|
||
html += '<div class="module-content module-content-type-' + value + ' ' + doc + '">';
|
||
html += '<div class="am-text-center am-padding-vertical-sm am-text-primary">' + config_first_tips + layout_module_type_arr[value] + '</div>';
|
||
html += '</div>';
|
||
html += '</div>';
|
||
return html;
|
||
}
|
||
|
||
/**
|
||
* 模块-链接提示信息
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-04
|
||
* @desc description
|
||
* @param {[string]} to_name [链接地址名称]
|
||
*/
|
||
function ModuleToPrompt (to_name) {
|
||
Prompt(to_name || ($layout.data('url-not-set-tips') || '未设置链接地址'), 'warning');
|
||
}
|
||
|
||
/**
|
||
* 基础样式处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-09
|
||
* @desc description
|
||
* @param {[object]} data [数据]
|
||
* @param {[string]} key [key]
|
||
* @param {[array]} replace_rules [替换规则]
|
||
* @param {[array]} exclude [排除css]
|
||
*/
|
||
function StyleBaseHandle (data, key, replace_rules, exclude) {
|
||
// 样式容器
|
||
var style = '';
|
||
|
||
// 上下左右处理
|
||
// 边线类型、边线、外边距、内边距
|
||
var arr = [
|
||
{
|
||
"type": "border_style",
|
||
"css": "border-style",
|
||
"unit": "",
|
||
"value": ""
|
||
},
|
||
{
|
||
"type": "border_width",
|
||
"css": "border-width",
|
||
"unit": "px",
|
||
"value": 0
|
||
},
|
||
{
|
||
"type": "margin",
|
||
"css": "margin",
|
||
"unit": "px",
|
||
"value": 0
|
||
},
|
||
{
|
||
"type": "padding",
|
||
"css": "padding",
|
||
"unit": "px",
|
||
"value": 0
|
||
}
|
||
];
|
||
for (var i in arr) {
|
||
var type = arr[i]['type'];
|
||
var value = arr[i]['value'];
|
||
var unit = arr[i]['unit'];
|
||
var t = data[key + type + '_top'] || value;
|
||
var r = data[key + type + '_right'] || value;
|
||
var b = data[key + type + '_bottom'] || value;
|
||
var l = data[key + type + '_left'] || value;
|
||
if ((t != 0 || r != 0 || b != 0 || l != 0) || (t != '' || r != '' || b != '' || l != '')) {
|
||
if ((exclude || null) != null) {
|
||
if (exclude.indexOf(arr[i][t]) != -1) {
|
||
t = 0;
|
||
}
|
||
if (exclude.indexOf(arr[i][r]) != -1) {
|
||
r = 0;
|
||
}
|
||
if (exclude.indexOf(arr[i][b]) != -1) {
|
||
b = 0;
|
||
}
|
||
if (exclude.indexOf(arr[i][l]) != -1) {
|
||
l = 0;
|
||
}
|
||
}
|
||
style += arr[i]['css'] + ':' + t + unit + ' ' + r + unit + ' ' + b + unit + ' ' + l + unit + ';';
|
||
}
|
||
}
|
||
|
||
// 单个处理
|
||
var arr2 = [
|
||
{ type: "border_style", css: "border-style", unit: "" },
|
||
{ type: "border_width", css: "border-width", unit: "px" },
|
||
{ type: "border_color", css: "border-color", unit: "" },
|
||
{ type: "border_radius", css: "border-radius", unit: "px" },
|
||
{ type: "background_color", css: "background-color", unit: "" },
|
||
{ type: "color", css: "color", unit: "" },
|
||
{ type: "align", css: "text-align", unit: "" },
|
||
{ type: "font_size", css: "font-size", unit: "px" },
|
||
{ type: "margin", css: "margin", unit: "px" },
|
||
{ type: "padding", css: "padding", unit: "px" },
|
||
{ type: "height", css: "height", unit: "px" },
|
||
{ type: "width", css: "width", unit: "px" },
|
||
{ type: "max_height", css: "max-height", unit: "px" },
|
||
{ type: "max_width", css: "max-width", unit: "px" }
|
||
];
|
||
for (var i in arr2) {
|
||
if ((data[key + arr2[i]['type']] || null) != null) {
|
||
if ((exclude || null) == null || exclude.indexOf(arr2[i]['css']) == -1) {
|
||
// 样式值
|
||
var v = data[key + arr2[i]['type']] + arr2[i]['unit'];
|
||
|
||
// 替换规则
|
||
// rules {"field":{"value":"hello","var":"var"}}
|
||
if ((replace_rules || null) != null && (replace_rules[arr2[i]['type']] || null) != null) {
|
||
var rules = replace_rules[arr2[i]['type']];
|
||
var reg = new RegExp(rules['var'], 'g');
|
||
v = rules['value'].replace(reg, data[key + arr2[i]['type']]);
|
||
}
|
||
style += arr2[i]['css'] + ':' + v + ';';
|
||
}
|
||
}
|
||
}
|
||
|
||
return style;
|
||
}
|
||
|
||
/**
|
||
* 表单回调数据列表处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2022-11-25
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
* @param {[object]} fields [处理字段]
|
||
*/
|
||
function FormBackDataListHandle (data, fields) {
|
||
var key_temp = [];
|
||
var data_list = [];
|
||
for (var i in data) {
|
||
var loc = i.lastIndexOf('_');
|
||
if (loc != -1) {
|
||
var key = i.substr(0, loc + 1);
|
||
var last = i.substr(loc + 1);
|
||
for (var f in fields) {
|
||
if (key == f) {
|
||
// 临时索引记录
|
||
var index = key_temp.indexOf(last);
|
||
if (index == -1) {
|
||
key_temp.push(last);
|
||
index = key_temp.length - 1;
|
||
}
|
||
|
||
// 数据组合
|
||
if (data_list[index] == undefined) {
|
||
data_list[index] = {};
|
||
}
|
||
data_list[index][fields[f]] = (fields[f] != 'value' || (data[i] || null) == null) ? data[i] : (JSON.parse(decodeURIComponent(data[i])) || '');
|
||
delete data[i];
|
||
}
|
||
}
|
||
}
|
||
}
|
||
return {
|
||
data: data,
|
||
data_list: data_list
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 元素固定处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-09
|
||
* @desc description
|
||
* @param {[object]} data [数据]
|
||
*/
|
||
function MediaFixedHandle (data) {
|
||
// 文件容器
|
||
var media_container_ent = '';
|
||
// 文件容器样式
|
||
var media_container_style = StyleBaseHandle(data, 'style_media_fixed_');
|
||
if ((media_container_style || null) != null) {
|
||
media_container_ent += 'module-fixed-doc ';
|
||
}
|
||
// 文件容器加上居中、避免容器没居中导致内容居中无效
|
||
if ((data['style_media_fixed_is_auto'] || 0) == 1) {
|
||
media_container_ent += 'module-fixed-doc-ent-auto ';
|
||
}
|
||
|
||
// 文件
|
||
var media_ent = '';
|
||
var arr = ['width', 'height', 'auto', 'cover'];
|
||
for (var i in arr) {
|
||
var key = 'style_media_fixed_is_' + arr[i];
|
||
if ((data[key] || 0) == 1) {
|
||
media_ent += 'module-fixed-doc-ent-' + arr[i] + ' ';
|
||
}
|
||
}
|
||
|
||
// 鼠标悬停在图片上方放大
|
||
if (parseInt(data.style_mouse_hover_images_amplify_value || 0) == 1) {
|
||
media_ent += 'module-mouse-hover-images-amplify ';
|
||
}
|
||
|
||
return {
|
||
"media_container_ent": media_container_ent,
|
||
"media_container_style": media_container_style,
|
||
"media_ent": media_ent
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 布局-容器设置处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-18
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
*/
|
||
function FormBackLayoutConfigHandle (data) {
|
||
// 基础信息
|
||
if ($layout_content_obj == null) {
|
||
Prompt('操作标记有误');
|
||
return false;
|
||
}
|
||
|
||
// 标签类定义
|
||
var ent = '';
|
||
|
||
// 边线大小、外边距、内边距
|
||
var size_arr = ['sm', 'md', 'lg'];
|
||
var angle_arr = ['top', 'right', 'bottom', 'left'];
|
||
var type_arr = {
|
||
"style_{var}_border_width": "layout-{var}-border",
|
||
"style_{var}_margin": "layout-{var}-margin",
|
||
"style_{var}_padding": "layout-{var}-padding",
|
||
};
|
||
for (var a in size_arr) {
|
||
for (var b in type_arr) {
|
||
for (var c in angle_arr) {
|
||
var key = b.replace('{var}', size_arr[a]) + '_' + angle_arr[c];
|
||
if ((data[key] || 0) > 0) {
|
||
ent += type_arr[b].replace('{var}', size_arr[a]) + '-' + angle_arr[c] + '-' + data[key] + ' ';
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
// 边线类型
|
||
for (var a in size_arr) {
|
||
for (var b in angle_arr) {
|
||
var key = 'style_' + size_arr[a] + '_border_style_' + angle_arr[b];
|
||
if ((data[key] || null) != null) {
|
||
ent += 'layout-' + size_arr[a] + '-border-' + angle_arr[b] + '-' + data[key] + ' ';
|
||
}
|
||
}
|
||
}
|
||
// 圆角
|
||
for (var i in size_arr) {
|
||
var key = 'style_' + size_arr[i] + '_border_radius';
|
||
if ((data[key] || 0) > 0) {
|
||
ent += 'layout-' + size_arr[i] + '-border-radius-' + data[key] + ' ';
|
||
}
|
||
}
|
||
// 系统标准限宽、兼容老版本的参数
|
||
if ((data['style_width_max_limit_value'] || null) != null || (data['width_max_limit_value'] || null) != null) {
|
||
ent += 'am-container ';
|
||
}
|
||
|
||
// 样式处理
|
||
var style = '';
|
||
|
||
// 背景色
|
||
if ((data['style_background_color'] || null) != null) {
|
||
style += 'background-color:' + data['style_background_color'] + ';';
|
||
}
|
||
// 边线颜色
|
||
if ((data['style_border_color'] || null) != null) {
|
||
style += 'border-color:' + data['style_border_color'] + ';';
|
||
}
|
||
|
||
// 背景样式
|
||
// 是否不允许重复
|
||
if (parseInt(data.style_background_images_no_repeat || 0) == 1) {
|
||
style += 'background-repeat:no-repeat;';
|
||
}
|
||
// 是否铺满
|
||
if (parseInt(data.style_background_images_size_cover || 0) == 1) {
|
||
style += 'background-size:cover;';
|
||
}
|
||
// 是否居中
|
||
if (parseInt(data.style_background_images_position_center || 0) == 1) {
|
||
style += 'background-position:center;';
|
||
}
|
||
// 背景图片
|
||
var temp_style = style;
|
||
if ((data.style_background_images || null) != null) {
|
||
temp_style += 'background-image:url(' + data.style_background_images + ');';
|
||
}
|
||
|
||
// 类和样式处理
|
||
$layout_content_obj.attr('class', $offcanvas_layout_config.attr('data-ent') + ' ' + ent);
|
||
$layout_content_obj.attr('style', temp_style);
|
||
|
||
// 数据加入配置
|
||
data['frontend_config'] = {
|
||
style: style,
|
||
ent: ent
|
||
}
|
||
$layout_content_obj.attr('data-json', encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(data)))));
|
||
$offcanvas_layout_config.offCanvas('close');
|
||
}
|
||
|
||
/**
|
||
* 模块-图片处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-18
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
*/
|
||
function FormBackModuleConfigImagesHandle (data) {
|
||
// 基础信息
|
||
var doc = $offcanvas_config_images.attr('data-doc') || null;
|
||
if (doc == null) {
|
||
Prompt($layout.data('module-tab-tips') || '模块标记有误');
|
||
return false;
|
||
}
|
||
|
||
// 图片必须
|
||
if ((data.content_images || null) == null) {
|
||
Prompt($layout.data('upload-images-tips') || '请上传图片');
|
||
return false;
|
||
}
|
||
|
||
// 样式处理
|
||
var style = StyleBaseHandle(data, 'style_');
|
||
|
||
// 图片样式
|
||
var media_fixed = MediaFixedHandle(data);
|
||
|
||
// html拼接
|
||
var html = '<div class="module-images-container" style="' + style + '">';
|
||
html += '<a href="javascript:ModuleToPrompt(\'' + (data.content_to_name || '') + '\');" class="' + media_fixed.media_container_ent + '" style="' + media_fixed.media_container_style + '">';
|
||
html += '<img src="' + data['content_images'] + '" class="' + media_fixed.media_ent + '" style="' + media_fixed.media_container_style + '" />';
|
||
html += '</a>';
|
||
html += '</div>';
|
||
var $doc = $(doc);
|
||
$doc.html(html);
|
||
|
||
// 数据加入配置
|
||
data['frontend_config'] = {
|
||
style: style,
|
||
media_fixed: media_fixed
|
||
}
|
||
$doc.attr('data-json', encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(data)))));
|
||
$offcanvas_config_images.offCanvas('close');
|
||
}
|
||
|
||
/**
|
||
* 模块-多图处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-18
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
*/
|
||
function FormBackModuleConfigManyImagesHandle (data) {
|
||
// 基础信息
|
||
var doc = $offcanvas_config_many_images.attr('data-doc') || null;
|
||
if (doc == null) {
|
||
Prompt($layout.data('module-tab-tips') || '模块标记有误');
|
||
return false;
|
||
}
|
||
|
||
// 数据字段
|
||
var fields = {
|
||
content_images_: "images",
|
||
content_to_name_: "name",
|
||
content_to_type_: "type",
|
||
content_to_value_: "value"
|
||
};
|
||
var res = FormBackDataListHandle(data, fields);
|
||
data = res.data;
|
||
var data_list = res.data_list;
|
||
if (data_list.length <= 0) {
|
||
Prompt($layout.data('config-images-tips') || '请先添加图片并配置');
|
||
return false;
|
||
}
|
||
for (var i in data_list) {
|
||
if ((data_list[i]['images'] || null) == null) {
|
||
Prompt($layout.data('upload-images-tips') || '请上传图片');
|
||
return false;
|
||
}
|
||
}
|
||
|
||
// 样式处理
|
||
var style = StyleBaseHandle(data, 'style_');
|
||
|
||
// 展示模式
|
||
var show_style = data.view_list_show_style || 'routine';
|
||
|
||
// 图片样式
|
||
var media_fixed = MediaFixedHandle(data);
|
||
|
||
// 数据项html
|
||
var item_html = '';
|
||
if (show_style != 'list') {
|
||
for (var i in data_list) {
|
||
item_html += '<li>';
|
||
item_html += '<a href="javascript:ModuleToPrompt(\'' + (data_list[i]['name'] || '') + '\');" class="' + media_fixed.media_container_ent + '" style="' + media_fixed.media_container_style + '">'
|
||
item_html += '<img src="' + data_list[i]['images'] + '" class="' + media_fixed.media_ent + '" style="' + media_fixed.media_container_style + '" />';
|
||
item_html += '</a>';
|
||
item_html += '</li>';
|
||
}
|
||
}
|
||
|
||
// html拼接
|
||
var html = '<div class="module-slider-container" style="' + style + '">';
|
||
|
||
// 初始化参数
|
||
var option = {};
|
||
|
||
// 展示模式处理
|
||
var nav_dot_ent = '';
|
||
var list_ent = '';
|
||
switch (show_style) {
|
||
// 滚动
|
||
case 'rolling':
|
||
// 参数处理
|
||
var show_style_value = ViewRollingShowStyleValueHandle(data.view_list_show_style_value);
|
||
|
||
// 是否展示导航点
|
||
nav_dot_ent = show_style_value.is_nav_dot ? '' : 'slides-rolling-not-dot';
|
||
|
||
// html拼接
|
||
html += '<div class="am-slider am-slider-default am-slider-carousel ' + nav_dot_ent + '">';
|
||
html += '<ul class="am-slides">';
|
||
html += item_html;
|
||
html += '</ul>';
|
||
html += '</div>';
|
||
|
||
// 组件参数
|
||
option = {
|
||
itemWidth: show_style_value.item_width,
|
||
itemMargin: show_style_value.item_margin,
|
||
slideshow: show_style_value.is_auto_play,
|
||
controlNav: show_style_value.is_nav_dot
|
||
};
|
||
break;
|
||
|
||
// 列表
|
||
case 'list':
|
||
// 参数处理
|
||
var show_style_value = ViewListShowStyleValueHandle(data.view_list_show_style_value);
|
||
|
||
// 列表展示数量
|
||
var sm = show_style_value.view_list_number_sm || 2;
|
||
var md = show_style_value.view_list_number_md || 5;
|
||
var lg = show_style_value.view_list_number_lg || 5;
|
||
|
||
// 外边距
|
||
var item_margin = parseInt(show_style_value.style_margin || 0);
|
||
|
||
// 数据项样式处理
|
||
var item_style = (item_margin > 0) ? 'margin:' + item_margin + 'px 0 0 ' + item_margin + 'px;' : '';
|
||
|
||
// 设置了外边距,则计算平均移动值
|
||
var avg = (item_margin > 0) ? 'module-list-content-avg-' + item_margin : '';
|
||
|
||
// 列表class
|
||
list_ent = avg + ' module-list-sm-' + sm + ' module-list-md-' + md + ' module-list-lg-' + md + ' ';
|
||
|
||
html += '<ul class="module-list-content ' + list_ent + '">';
|
||
for (var i in data_list) {
|
||
html += '<li>';
|
||
html += '<div class="module-item" style="' + item_style + '">';
|
||
html += '<a href="javascript:ModuleToPrompt(\'' + (data_list[i]['name'] || '') + '\');" class="' + media_fixed.media_container_ent + '" style="' + media_fixed.media_container_style + '">'
|
||
html += '<img src="' + data_list[i]['images'] + '" class="' + media_fixed.media_ent + '" style="' + media_fixed.media_container_style + '" />';
|
||
html += '</a>';
|
||
html += '</div>';
|
||
html += '</li>';
|
||
}
|
||
html += '</ul>';
|
||
break;
|
||
|
||
// 常规、默认
|
||
default:
|
||
// html拼接
|
||
html += '<div data-am-widget="slider" class="am-slider am-slider-a1" data-am-slider=\'{"directionNav":false}\'>';
|
||
html += '<ul class="am-slides">';
|
||
html += item_html;
|
||
html += '</ul>';
|
||
html += '</div>';
|
||
break;
|
||
}
|
||
html += '</div>';
|
||
|
||
// 模块容器设置
|
||
var $doc = $(doc);
|
||
$doc.html(html);
|
||
|
||
// 数据加入配置
|
||
data['frontend_config'] = {
|
||
style: style,
|
||
item_style: item_style,
|
||
nav_dot_ent: nav_dot_ent,
|
||
list_ent: list_ent,
|
||
media_fixed: media_fixed
|
||
}
|
||
data['data_list'] = data_list;
|
||
$doc.attr('data-json', encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(data)))));
|
||
|
||
// 滚动初始化
|
||
if (show_style != 'list') {
|
||
$doc.find('.am-slider').flexslider(option);
|
||
}
|
||
$offcanvas_config_many_images.offCanvas('close');
|
||
}
|
||
|
||
/**
|
||
* 模块-图文处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-18
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
*/
|
||
function FormBackModuleConfigImagesTextHandle (data) {
|
||
// 基础信息
|
||
var doc = $offcanvas_config_images_text.attr('data-doc') || null;
|
||
if (doc == null) {
|
||
Prompt($layout.data('module-tab-tips') || '模块标记有误');
|
||
return false;
|
||
}
|
||
|
||
// 数据字段
|
||
var fields = {
|
||
content_images_: "images",
|
||
content_title_: "title",
|
||
content_title_style_color_: "title_style_color",
|
||
content_title_style_font_size_: "title_style_font_size",
|
||
content_title_style_align_: "title_style_align",
|
||
content_title_style_margin_top_: "title_style_margin_top",
|
||
content_title_style_margin_right_: "title_style_margin_right",
|
||
content_title_style_margin_bottom_: "title_style_margin_bottom",
|
||
content_title_style_margin_left_: "title_style_margin_left",
|
||
content_desc_: "desc",
|
||
content_desc_style_color_: "desc_style_color",
|
||
content_desc_style_font_size_: "desc_style_font_size",
|
||
content_desc_style_align_: "desc_style_align",
|
||
content_desc_style_margin_top_: "desc_style_margin_top",
|
||
content_desc_style_margin_right_: "desc_style_margin_right",
|
||
content_desc_style_margin_bottom_: "desc_style_margin_bottom",
|
||
content_desc_style_margin_left_: "desc_style_margin_left",
|
||
content_to_name_: "name",
|
||
content_to_type_: "type",
|
||
content_to_value_: "value"
|
||
};
|
||
var res = FormBackDataListHandle(data, fields);
|
||
data = res.data;
|
||
var data_list = res.data_list;
|
||
if (data_list.length <= 0) {
|
||
Prompt($layout.data('config-images-text-tips') || '请先添加图文并配置');
|
||
return false;
|
||
}
|
||
for (var i in data_list) {
|
||
if ((data_list[i]['images'] || null) == null && (data_list[i]['title'] || null) == null) {
|
||
Prompt($layout.data('upload-images-or-title-tips') || '图片和标题必填一项');
|
||
return false;
|
||
}
|
||
}
|
||
// 展示模式
|
||
var show_style = data.view_list_show_style || null;
|
||
if (show_style == null) {
|
||
Prompt($layout.data('data-show-modal-tips') || '请选择数据展示模式');
|
||
return false;
|
||
}
|
||
|
||
// 样式处理
|
||
var style = StyleBaseHandle(data, 'style_');
|
||
|
||
// 图片样式
|
||
var media_fixed = MediaFixedHandle(data);
|
||
|
||
// html拼接
|
||
var html = '<div class="module-slider-container" style="' + style + '">';
|
||
// 初始化参数
|
||
var option = {};
|
||
|
||
// 参数处理
|
||
var show_style_value = ViewListShowStyleValueHandle(data.view_list_show_style_value);
|
||
|
||
// 外边距
|
||
var item_margin = parseInt(show_style_value.style_margin || 0);
|
||
|
||
// 数据项样式处理
|
||
var item_style = (item_margin > 0 && show_style != 'rolling') ? 'margin:' + item_margin + 'px 0 0 ' + item_margin + 'px;' : '';
|
||
|
||
// 内容处理
|
||
var item_html = '';
|
||
var item_right_style = '';
|
||
var item_field_style = [];
|
||
for (var i in data_list) {
|
||
// 字段样式
|
||
if (item_field_style[i] == undefined) {
|
||
item_field_style[i] = {};
|
||
}
|
||
item_field_style[i]['title'] = StyleBaseHandle(data_list[i], 'title_style_');
|
||
item_field_style[i]['desc'] = StyleBaseHandle(data_list[i], 'desc_style_');
|
||
|
||
// 拼接html
|
||
item_html += '<li>';
|
||
item_html += '<div class="module-item" style="' + item_style + '">';
|
||
switch (show_style) {
|
||
// 左右
|
||
case 'leftright':
|
||
var style_media_fixed_width = parseInt(data.style_media_fixed_width || 0);
|
||
item_right_style = 'margin-left:10px;' + ((style_media_fixed_width > 0) ? 'width: calc(100% - ' + (style_media_fixed_width + 10) + 'px);' : '');
|
||
if ((data_list[i]['images'] || null) != null) {
|
||
item_html += '<a href="javascript:ModuleToPrompt(\'' + (data_list[i]['name'] || '') + '\');" class="am-fl ' + media_fixed.media_container_ent + '" style="' + media_fixed.media_container_style + '">';
|
||
item_html += '<img src="' + data_list[i]['images'] + '" class="' + media_fixed.media_ent + '" style="' + media_fixed.media_container_style + '" />';
|
||
item_html += '</a>';
|
||
}
|
||
item_html += '<div class="am-fl" style="' + item_right_style + '">';
|
||
if ((data_list[i]['title'] || null) != null) {
|
||
item_html += '<a href="javascript:ModuleToPrompt(\'' + (data_list[i]['name'] || '') + '\');">';
|
||
item_html += '<p style="' + item_field_style[i]['title'] + '">' + data_list[i]['title'] + '</p>';
|
||
item_html += '</a>';
|
||
}
|
||
if ((data_list[i]['desc'] || null) != null) {
|
||
item_html += '<p style="' + item_field_style[i]['desc'] + '">' + data_list[i]['desc'] + '</p>';
|
||
}
|
||
item_html += '</div>';
|
||
break;
|
||
|
||
// 默认 上下、滚动
|
||
case 'updown':
|
||
default:
|
||
if ((data_list[i]['images'] || null) != null) {
|
||
item_html += '<a href="javascript:ModuleToPrompt(\'' + (data_list[i]['name'] || '') + '\');" class="' + media_fixed.media_container_ent + '" style="' + media_fixed.media_container_style + '">'
|
||
item_html += '<img src="' + data_list[i]['images'] + '" class="' + media_fixed.media_ent + '" style="' + media_fixed.media_container_style + '" />';
|
||
item_html += '</a>';
|
||
}
|
||
if ((data_list[i]['title'] || null) != null) {
|
||
item_html += '<a href="javascript:ModuleToPrompt(\'' + (data_list[i]['name'] || '') + '\');">';
|
||
item_html += '<p style="' + item_field_style[i]['title'] + '">' + data_list[i]['title'] + '</p>';
|
||
item_html += '</a>';
|
||
}
|
||
if ((data_list[i]['desc'] || null) != null) {
|
||
item_html += '<p style="' + item_field_style[i]['desc'] + '">' + data_list[i]['desc'] + '</p>';
|
||
}
|
||
break;
|
||
}
|
||
item_html += '</div>';
|
||
item_html += '</li>';
|
||
}
|
||
|
||
// 滚动
|
||
var nav_dot_ent = '';
|
||
var list_ent = '';
|
||
if (show_style == 'rolling') {
|
||
// 参数处理
|
||
var show_style_value = ViewRollingShowStyleValueHandle(data.view_list_show_style_value);
|
||
|
||
// 是否展示导航点
|
||
nav_dot_ent = show_style_value.is_nav_dot ? '' : 'slides-rolling-not-dot';
|
||
|
||
// html拼接
|
||
html += '<div class="am-slider am-slider-default am-slider-carousel ' + nav_dot_ent + '">';
|
||
html += '<ul class="am-slides">';
|
||
html += item_html;
|
||
html += '</ul>';
|
||
html += '</div>';
|
||
|
||
// 组件参数
|
||
option = {
|
||
itemWidth: show_style_value.item_width,
|
||
itemMargin: show_style_value.item_margin,
|
||
slideshow: show_style_value.is_auto_play,
|
||
controlNav: show_style_value.is_nav_dot
|
||
};
|
||
} else {
|
||
// 列表展示数量
|
||
var sm = show_style_value.view_list_number_sm || 2;
|
||
var md = show_style_value.view_list_number_md || 5;
|
||
var lg = show_style_value.view_list_number_lg || 5;
|
||
// 设置了外边距,则计算平均移动值
|
||
var avg = (item_margin > 0) ? 'module-list-content-avg-' + item_margin : '';
|
||
|
||
// 列表class
|
||
list_ent = avg + ' module-list-sm-' + sm + ' module-list-md-' + md + ' module-list-lg-' + md + ' ';
|
||
html += '<ul class="module-list-content ' + list_ent + '">';
|
||
html += item_html;
|
||
html += '</ul>';
|
||
}
|
||
html += '</div>';
|
||
|
||
// 模块容器设置
|
||
var $doc = $(doc);
|
||
$doc.html(html);
|
||
|
||
// 数据加入配置
|
||
data['frontend_config'] = {
|
||
style: style,
|
||
item_style: item_style,
|
||
item_right_style: item_right_style,
|
||
item_field_style: item_field_style,
|
||
nav_dot_ent: nav_dot_ent,
|
||
list_ent: list_ent,
|
||
media_fixed: media_fixed
|
||
}
|
||
data['data_list'] = data_list;
|
||
$doc.attr('data-json', encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(data)))));
|
||
|
||
// 滚动初始化
|
||
if (show_style == 'rolling') {
|
||
$doc.find('.am-slider').flexslider(option);
|
||
}
|
||
$offcanvas_config_images_text.offCanvas('close');
|
||
}
|
||
|
||
/**
|
||
* 模块-图片魔方处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-18
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
*/
|
||
function FormBackModuleConfigImagesMagicCubeHandle (data) {
|
||
// 基础信息
|
||
var doc = $offcanvas_config_images_magic_cube.attr('data-doc') || null;
|
||
if (doc == null) {
|
||
Prompt($layout.data('module-tab-tips') || '模块标记有误');
|
||
return false;
|
||
}
|
||
|
||
// 数据字段
|
||
var fields = {
|
||
content_images_: "images",
|
||
content_to_name_: "name",
|
||
content_to_type_: "type",
|
||
content_to_value_: "value"
|
||
};
|
||
var res = FormBackDataListHandle(data, fields);
|
||
data = res.data;
|
||
var data_list = res.data_list;
|
||
for (var i in data_list) {
|
||
if ((data_list[i]['images'] || null) == null) {
|
||
Prompt($layout.data('upload-images-tips') || '请上传图片');
|
||
return false;
|
||
}
|
||
}
|
||
// 展示模式
|
||
var show_style = data.view_list_show_style || null;
|
||
if (show_style == null) {
|
||
Prompt($layout.data('data-show-modal-tips') || '请选择数据展示模式');
|
||
return false;
|
||
}
|
||
|
||
// 外边距
|
||
var margin = parseInt(data.style_margin || 0);
|
||
data['style_item_margin_top'] = margin;
|
||
data['style_item_margin_left'] = margin;
|
||
|
||
// 样式处理
|
||
var images_style = StyleBaseHandle(data, 'style_item_');
|
||
|
||
// 设置了外边距,则计算平均移动值
|
||
var list_ent = (margin > 0) ? 'module-list-content-avg-' + margin : '';
|
||
|
||
// 图片样式
|
||
var media_fixed = MediaFixedHandle(data);
|
||
|
||
// 数据处理
|
||
var html = '';
|
||
var item_style = [];
|
||
switch (show_style) {
|
||
// 1图
|
||
case 'g1':
|
||
item_style[0] = 'width:100%;';
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 2竖图
|
||
case 'v2':
|
||
item_style[0] = 'width:50%;';
|
||
item_style[1] = 'width:50%;';
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fr item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 3竖图
|
||
case 'v3':
|
||
item_style[0] = 'width:33.33%;';
|
||
item_style[1] = 'width:33.33%;';
|
||
item_style[2] = 'width:33.33%;';
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fr item-module-magic-cube" style="`+ item_style[2] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[2]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[2]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 4竖图
|
||
case 'v4':
|
||
item_style[0] = 'width:25%;';
|
||
item_style[1] = 'width:25%;';
|
||
item_style[2] = 'width:25%;';
|
||
item_style[3] = 'width:25%;';
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[2] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[2]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[2]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fr item-module-magic-cube" style="`+ item_style[3] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[3]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[3]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 2横图
|
||
case 'h2':
|
||
item_style[0] = 'width:100%;';
|
||
item_style[1] = 'width:100%;';
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 3横图
|
||
case 'h3':
|
||
item_style[0] = 'width:100%;';
|
||
item_style[1] = 'width:100%;';
|
||
item_style[2] = 'width:100%;';
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="item-module-magic-cube" style="`+ item_style[2] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[2]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[2]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 4横图
|
||
case 'h4':
|
||
item_style[0] = 'width:100%;';
|
||
item_style[1] = 'width:100%;';
|
||
item_style[2] = 'width:100%;';
|
||
item_style[3] = 'width:100%;';
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="item-module-magic-cube" style="`+ item_style[2] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[2]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[2]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="item-module-magic-cube" style="`+ item_style[3] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[3]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[3]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 1左右2
|
||
case 'lr12':
|
||
if (margin > 0) {
|
||
item_style[0] = 'width:calc(50% + ' + (margin / 2) + 'px);';
|
||
item_style[1] = 'width:calc(50% - ' + (margin / 2) + 'px);';
|
||
} else {
|
||
item_style[0] = 'width:50%;';
|
||
item_style[1] = 'width:50%;';
|
||
}
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fr item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[2]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[2]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 1左右3
|
||
case 'lr13':
|
||
if (margin > 0) {
|
||
item_style[0] = 'width:calc(50% + ' + margin + 'px);';
|
||
item_style[1] = 'width:calc(50% - ' + margin + 'px);';
|
||
} else {
|
||
item_style[0] = 'width:50%;';
|
||
item_style[1] = 'width:50%;';
|
||
}
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fr item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[2]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[2]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[3]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[3]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 2左右1
|
||
case 'lr21':
|
||
if (margin > 0) {
|
||
item_style[0] = 'width:calc(50% - ' + (margin / 2) + 'px);';
|
||
item_style[1] = 'width:calc(50% + ' + (margin / 2) + 'px);';
|
||
} else {
|
||
item_style[0] = 'width:50%;';
|
||
item_style[1] = 'width:50%;';
|
||
}
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fr item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[2]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[2]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 3左右1
|
||
case 'lr31':
|
||
if (margin > 0) {
|
||
item_style[0] = 'width:calc(50% - ' + margin + 'px);';
|
||
item_style[1] = 'width:calc(50% + ' + margin + 'px);';
|
||
} else {
|
||
item_style[0] = 'width:50%;';
|
||
item_style[1] = 'width:50%;';
|
||
}
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[2]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[2]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fr item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[3]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[3]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 1上下2
|
||
case 'tb12':
|
||
item_style[0] = 'width:100%;';
|
||
item_style[1] = 'width:50%;';
|
||
item_style[2] = 'width:50%;';
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-nbfc">
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fr item-module-magic-cube" style="`+ item_style[2] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[2]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[2]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 1上下3
|
||
case 'tb13':
|
||
item_style[0] = 'width:100%;';
|
||
item_style[1] = 'width:33.33%;';
|
||
item_style[2] = 'width:33.33%;';
|
||
item_style[3] = 'width:33.33%;';
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-nbfc">
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[2] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[2]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[2]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fr item-module-magic-cube" style="`+ item_style[3] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[3]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[3]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 2上下1
|
||
case 'tb21':
|
||
item_style[0] = 'width:50%;';
|
||
item_style[1] = 'width:50%;';
|
||
item_style[2] = 'width:100%;';
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="am-nbfc">
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fr item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>
|
||
<div class="item-module-magic-cube" style="`+ item_style[2] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[2]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[2]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 3上下1
|
||
case 'tb31':
|
||
item_style[0] = 'width:33.33%;';
|
||
item_style[1] = 'width:33.33%;';
|
||
item_style[2] = 'width:33.33%;';
|
||
item_style[3] = 'width:100%;';
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="am-nbfc">
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fr item-module-magic-cube" style="`+ item_style[2] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[2]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[2]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>
|
||
<div class="item-module-magic-cube" style="`+ item_style[3] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[3]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[3]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 2竖左右横2
|
||
case 'lrv2h2':
|
||
if (margin > 0) {
|
||
item_style[0] = 'width:calc(25% + ' + (margin / 2) + 'px);';
|
||
item_style[1] = 'width:calc(25% + ' + (margin / 2) + 'px);';
|
||
item_style[2] = 'width:calc(50% - ' + margin + 'px);';
|
||
} else {
|
||
item_style[0] = 'width:25%;';
|
||
item_style[1] = 'width:25%;';
|
||
item_style[2] = 'width:50%;';
|
||
}
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fr item-module-magic-cube" style="`+ item_style[2] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[2]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[2]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[3]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[3]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 2横左右竖2
|
||
case 'lrh2v2':
|
||
if (margin > 0) {
|
||
item_style[0] = 'width:calc(50% - ' + margin + 'px);';
|
||
item_style[1] = 'width:calc(25% + ' + (margin / 2) + 'px);';
|
||
item_style[2] = 'width:calc(25% + ' + (margin / 2) + 'px);';
|
||
} else {
|
||
item_style[0] = 'width:50%;';
|
||
item_style[1] = 'width:25%;';
|
||
item_style[2] = 'width:25%;';
|
||
}
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[2]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[2]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fr item-module-magic-cube" style="`+ item_style[2] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[3]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[3]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
|
||
// 4图
|
||
case 'g4':
|
||
item_style[0] = 'width:50%;';
|
||
item_style[1] = 'width:50%;';
|
||
item_style[2] = 'width:50%;';
|
||
item_style[3] = 'width:50%;';
|
||
html += `<div class="am-nbfc layout-module-images-magic-cube layout-module-images-magic-cube-` + show_style + ` ` + list_ent + `">
|
||
<div class="am-nbfc">
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[0] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[0]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[0]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fr item-module-magic-cube" style="`+ item_style[1] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[1]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[1]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>
|
||
<div class="am-nbfc">
|
||
<div class="am-fl item-module-magic-cube" style="`+ item_style[2] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[2]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[2]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
<div class="am-fr item-module-magic-cube" style="`+ item_style[3] + `">
|
||
<a href="javascript:ModuleToPrompt('`+ (data_list[3]['name'] || '') + `');" class="am-block am-nbfc" style="` + images_style + `">
|
||
<img src="`+ data_list[3]['images'] + `" class="am-block ` + media_fixed.media_ent + `" />
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>`;
|
||
break;
|
||
}
|
||
|
||
// 模块容器设置
|
||
var $doc = $(doc);
|
||
$doc.html(html);
|
||
|
||
// 数据加入配置
|
||
data['frontend_config'] = {
|
||
list_ent: list_ent,
|
||
item_style: item_style,
|
||
images_style: images_style,
|
||
media_fixed: media_fixed
|
||
}
|
||
data['data_list'] = data_list;
|
||
$doc.attr('data-json', encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(data)))));
|
||
$offcanvas_config_images_magic_cube.offCanvas('close');
|
||
}
|
||
|
||
/**
|
||
* 模块-视频处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-18
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
*/
|
||
function FormBackModuleConfigVideoHandle (data) {
|
||
// 基础信息
|
||
var doc = $offcanvas_config_video.attr('data-doc') || null;
|
||
if (doc == null) {
|
||
Prompt($layout.data('module-tab-tips') || '模块标记有误');
|
||
return false;
|
||
}
|
||
|
||
// 视频
|
||
if ((data.content_video || null) == null) {
|
||
Prompt($layout.data('upload-video-tips') || '请上传视频');
|
||
return false;
|
||
}
|
||
|
||
// 样式处理
|
||
var style = StyleBaseHandle(data, 'style_');
|
||
|
||
// 视频固定
|
||
var media_fixed = MediaFixedHandle(data);
|
||
|
||
// html拼接
|
||
var html = '<div class="module-video-container" style="' + style + '">';
|
||
html += '<div class="module-video-content ' + media_fixed.media_container_ent + '" style="' + media_fixed.media_container_style + '">';
|
||
html += '<video src="' + data.content_video + '" poster="' + (data.content_images || '') + '" controls class="' + media_fixed.media_ent + '" style="' + media_fixed.media_container_style + '">your browser does not support the video tag</video>';
|
||
html += '</div>';
|
||
html += '</div>';
|
||
var $doc = $(doc);
|
||
$doc.html(html);
|
||
|
||
// 数据加入配置
|
||
data['frontend_config'] = {
|
||
style: style,
|
||
media_fixed: media_fixed
|
||
}
|
||
$doc.attr('data-json', encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(data)))));
|
||
$offcanvas_config_video.offCanvas('close');
|
||
}
|
||
|
||
/**
|
||
* 模块-商品处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-04
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
*/
|
||
function FormBackModuleConfigGoodsHandle (data) {
|
||
// 基础信息
|
||
var doc = $offcanvas_config_goods.attr('data-doc') || null;
|
||
if (doc == null) {
|
||
Prompt($layout.data('module-tab-tips') || '模块标记有误');
|
||
return false;
|
||
}
|
||
|
||
// 数据类型
|
||
var goods_ids = '';
|
||
var category_id = 0;
|
||
switch (data.goods_data_type) {
|
||
// 商品
|
||
case 'goods':
|
||
if ((data.goods_ids || null) == null) {
|
||
Prompt($layout.data('choice-goods-tips') || '请选择商品');
|
||
return false;
|
||
}
|
||
goods_ids = data.goods_ids;
|
||
break;
|
||
|
||
// 商品分类
|
||
case 'category':
|
||
if ((data.goods_category_value || null) == null) {
|
||
Prompt($layout.data('choice-goods-category-tips') || '请选择商品分类');
|
||
return false;
|
||
}
|
||
var category = JSON.parse(decodeURIComponent(data.goods_category_value)) || null;
|
||
category_id = category[category.length - 1]['id'];
|
||
break;
|
||
|
||
default:
|
||
Prompt(($layout.data('data-type-tips') || '数据类型有误') + '[' + data.goods_data_type + ']');
|
||
return false;
|
||
}
|
||
|
||
// 获取商品
|
||
var $this = $offcanvas_config_goods.find('button[type="submit"]');
|
||
var url = $offcanvas_config_goods.data('data-url');
|
||
$this.button('loading');
|
||
$.ajax({
|
||
url: RequestUrlHandle(url),
|
||
type: 'post',
|
||
data: {
|
||
"data_type": data.goods_data_type,
|
||
"goods_ids": goods_ids,
|
||
"category_id": category_id,
|
||
"order_by_type": data.goods_order_by_type || 0,
|
||
"order_by_rule": data.goods_order_by_rule || 0,
|
||
"order_limit_number": data.goods_order_limit_number || 10
|
||
},
|
||
dataType: 'json',
|
||
success: function (res) {
|
||
$this.button('reset');
|
||
if (res['code'] == 0) {
|
||
if ((res.data || null) != null && res.data.length > 0) {
|
||
// 列表数据
|
||
var list = res.data;
|
||
|
||
// 列表展示数量
|
||
var sm = data.view_list_number_sm || 2;
|
||
var md = data.view_list_number_md || 5;
|
||
var lg = data.view_list_number_lg || 5;
|
||
|
||
// 外边距
|
||
var margin = data.style_margin || 0;
|
||
|
||
// 内容样式处理
|
||
var style = StyleBaseHandle(data, 'style_module_');
|
||
|
||
// 商品样式处理
|
||
var rules = {
|
||
margin: {
|
||
value: "{var}px 0 0 {var}px",
|
||
var: "{var}"
|
||
}
|
||
};
|
||
var item_style = StyleBaseHandle(data, 'style_', rules);
|
||
|
||
// 图片样式
|
||
var media_fixed = MediaFixedHandle(data);
|
||
|
||
// 模块容器设置
|
||
var $doc = $(doc);
|
||
|
||
// 数据项html
|
||
var item_html = '';
|
||
for (var i in list) {
|
||
item_html += `<li>
|
||
<div class="module-item" style="`+ item_style + `">
|
||
<a href="`+ list[i]['goods_url'] + `" target="_blank" class="` + media_fixed.media_container_ent + `" style="` + media_fixed.media_container_style + `">
|
||
<img src="`+ list[i]['images'] + `" alt="` + list[i]['title'] + `" class="` + media_fixed.media_ent + `" style="` + media_fixed.media_container_style + `" />
|
||
</a>
|
||
<div class="item-bottom">
|
||
<div class="module-title">
|
||
<a href="`+ list[i]['goods_url'] + `" target="_blank">` + list[i]['title'] + `</a>
|
||
</div>
|
||
<p class="module-price">`+ __currency_symbol__ + list[i]['price'] + `</p>
|
||
</div>
|
||
</div>
|
||
</li>`;
|
||
}
|
||
|
||
// 商品容器
|
||
var html = '<div class="module-goods-container" style="' + style + '">';
|
||
|
||
// 初始化参数
|
||
var option = {};
|
||
|
||
// 展示模式
|
||
var nav_dot_ent = '';
|
||
var list_ent = '';
|
||
var item_right_style = '';
|
||
var show_style = data.view_list_show_style || 'routine';
|
||
switch (show_style) {
|
||
// 滚动
|
||
case 'rolling':
|
||
// 参数处理
|
||
var show_style_value = ViewRollingShowStyleValueHandle(data.view_list_show_style_value);
|
||
|
||
// 是否展示导航点
|
||
nav_dot_ent = show_style_value.is_nav_dot ? '' : 'slides-rolling-not-dot';
|
||
|
||
// html拼接
|
||
html += '<div class="am-slider am-slider-default am-slider-carousel module-goods-content ' + nav_dot_ent + '">';
|
||
html += '<ul class="am-slides module-list-content">';
|
||
html += item_html;
|
||
html += '</ul>';
|
||
html += '</div>';
|
||
|
||
// 配置参数
|
||
option = {
|
||
itemWidth: show_style_value.item_width,
|
||
itemMargin: show_style_value.item_margin,
|
||
slideshow: show_style_value.is_auto_play,
|
||
controlNav: show_style_value.is_nav_dot
|
||
}
|
||
break;
|
||
|
||
// 左图右文
|
||
case 'leftright':
|
||
var style_media_fixed_width = parseInt(data.style_media_fixed_width || 0);
|
||
item_right_style = 'margin-left:10px;' + ((style_media_fixed_width > 0) ? 'width: calc(100% - ' + (style_media_fixed_width + 10) + 'px);' : '');
|
||
// 设置了外边距,则计算平均移动值
|
||
var avg = (margin > 0) ? 'module-list-content-avg-' + margin : '';
|
||
// 列表class
|
||
list_ent = avg + ' module-list-sm-' + sm + ' module-list-md-' + md + ' module-list-lg-' + md + ' ';
|
||
html += '<ul class="module-goods-content module-list-content ' + list_ent + '">';
|
||
for (var i in list) {
|
||
html += `<li>
|
||
<div class="module-item" style="`+ item_style + `">
|
||
<a href="`+ list[i]['goods_url'] + `" target="_blank" class="am-fl ` + media_fixed.media_container_ent + `" style="` + media_fixed.media_container_style + `">
|
||
<img src="`+ list[i]['images'] + `" class="` + media_fixed.media_ent + `" style="` + media_fixed.media_container_style + `" />
|
||
</a>
|
||
<div class="am-fl" style="`+ item_right_style + `">
|
||
<div class="module-title">
|
||
<a href="`+ list[i]['goods_url'] + `" target="_blank">` + list[i]['title'] + `</a>
|
||
</div>
|
||
<p class="module-price">`+ __currency_symbol__ + list[i]['price'] + `</p>
|
||
</div>
|
||
</div>
|
||
</li>`;
|
||
}
|
||
html += '</ul>';
|
||
break;
|
||
|
||
// 常规、默认
|
||
default:
|
||
// 设置了外边距,则计算平均移动值
|
||
var avg = (margin > 0) ? 'module-list-content-avg-' + margin : '';
|
||
|
||
// 列表class
|
||
list_ent = avg + ' module-list-sm-' + sm + ' module-list-md-' + md + ' module-list-lg-' + md + ' ';
|
||
|
||
html += '<ul class="module-goods-content module-list-content ' + list_ent + '">';
|
||
html += item_html;
|
||
html += '</ul>';
|
||
break;
|
||
}
|
||
html += '</div>';
|
||
|
||
// 固定商品则加入数据中,方便使用
|
||
if (data.goods_data_type == 'goods') {
|
||
data['data_list'] = list;
|
||
}
|
||
|
||
// 模块容器设置
|
||
$doc.html(html);
|
||
|
||
// 数据加入配置
|
||
data['frontend_config'] = {
|
||
style: style,
|
||
item_style: item_style,
|
||
item_right_style: item_right_style,
|
||
nav_dot_ent: nav_dot_ent,
|
||
list_ent: list_ent,
|
||
media_fixed: media_fixed
|
||
}
|
||
$doc.attr('data-json', encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(data)))));
|
||
|
||
// 组件参数
|
||
if (JSON.stringify(option) !== '{}') {
|
||
$doc.find('.am-slider').flexslider(option);
|
||
}
|
||
|
||
// 关闭商品窗口
|
||
$offcanvas_config_goods.offCanvas('close');
|
||
} else {
|
||
Prompt($layout.data('goods-data-empty-tips') || '商品信息为空');
|
||
}
|
||
} else {
|
||
Prompt(res.msg);
|
||
}
|
||
},
|
||
error: function (res) {
|
||
$this.button('reset');
|
||
var msg = HtmlToString(xhr.responseText) || (window['lang_error_text'] || '异常错误');
|
||
Prompt(msg, null, 30);
|
||
}
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 模块-标题处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-04
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
*/
|
||
function FormBackModuleConfigTitleHandle (data) {
|
||
// 基础信息
|
||
var doc = $offcanvas_config_title.attr('data-doc') || null;
|
||
if (doc == null) {
|
||
Prompt($layout.data('module-tab-tips') || '模块标记有误');
|
||
return false;
|
||
}
|
||
|
||
// 视频
|
||
if ((data.content_title || null) == null) {
|
||
Prompt($layout.data('main-title-tips') || '请填写主标题');
|
||
return false;
|
||
}
|
||
|
||
// 样式处理
|
||
var style = StyleBaseHandle(data, 'style_');
|
||
|
||
// 主标题样式
|
||
var style_title_main = StyleBaseHandle(data, 'style_title_');
|
||
|
||
// 副标题样式
|
||
var style_title_vice = StyleBaseHandle(data, 'style_title_vice_');
|
||
|
||
// 右侧按钮样式
|
||
var style_title_more = StyleBaseHandle(data, 'style_title_more_');
|
||
|
||
// html拼接
|
||
var html = '<div class="module-title-container" style="' + style + '">';
|
||
html += '<div class="module-title-content">';
|
||
html += '<span class="title-main" style="' + style_title_main + '">' + data.content_title + '</span>';
|
||
|
||
// 副标题
|
||
if ((data.content_title_vice || null) != null) {
|
||
html += '<span class="title-vice" style="' + style_title_vice + '">' + data.content_title_vice + '</span>';
|
||
}
|
||
|
||
// 关键字
|
||
var field_first = 'content_item_keywords_';
|
||
var field_first_length = field_first.length;
|
||
var key_temp = [];
|
||
var keywords_list = [];
|
||
for (var i in data) {
|
||
if (i.substr(0, field_first_length) == field_first) {
|
||
keywords_list.push(JSON.parse(decodeURIComponent(data[i])));
|
||
delete data[i];
|
||
}
|
||
}
|
||
if (keywords_list.length > 0) {
|
||
html += '<div class="keywords-content">';
|
||
for (var i in keywords_list) {
|
||
var kt_item_style = ((keywords_list[i]['style_keywords_color'] || null) == null) ? '' : 'color:' + keywords_list[i]['style_keywords_color'] + ';';
|
||
html += '<a href="javascript:ModuleToPrompt(\'' + keywords_list[i]['content_to_name'] + '\');" style="' + kt_item_style + '">' + keywords_list[i]['content_keywords'] + '</a>';
|
||
}
|
||
html += '</div>';
|
||
}
|
||
data['keywords_list'] = keywords_list;
|
||
|
||
|
||
// 右侧按钮
|
||
if ((data.content_title_more || null) != null) {
|
||
html += '<div class="more-content">';
|
||
html += '<a href="javascript:ModuleToPrompt(\'' + (data.content_to_name || '') + '\');" style="' + style_title_more + '">';
|
||
html += '<span>' + data.content_title_more + '</span> ';
|
||
html += '<i class="iconfont icon-angle-right"></i>';
|
||
html += '</a>';
|
||
html += '</div>';
|
||
}
|
||
html += '</div>';
|
||
html += '</div>';
|
||
|
||
// 模块容器设置
|
||
var $doc = $(doc);
|
||
$doc.html(html);
|
||
|
||
// 数据加入配置
|
||
data['frontend_config'] = {
|
||
style: style,
|
||
style_title_main: style_title_main,
|
||
style_title_vice: style_title_vice,
|
||
style_title_more: style_title_more
|
||
}
|
||
$doc.attr('data-json', encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(data)))));
|
||
$offcanvas_config_title.offCanvas('close');
|
||
}
|
||
|
||
/**
|
||
* 模块-自定义html处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-04
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
*/
|
||
function FormBackModuleConfigCustomHandle (data) {
|
||
// 基础信息
|
||
var doc = $offcanvas_config_custom.attr('data-doc') || null;
|
||
if (doc == null) {
|
||
Prompt($layout.data('module-tab-tips') || '模块标记有误');
|
||
return false;
|
||
}
|
||
|
||
// 模块容器设置
|
||
var $doc = $(doc);
|
||
$doc.html(data.custom || '');
|
||
|
||
// 数据加入配置
|
||
$doc.attr('data-json', encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(data)))));
|
||
$offcanvas_config_custom.offCanvas('close');
|
||
}
|
||
|
||
/**
|
||
* 模块-辅助线处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-04
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
*/
|
||
function FormBackModuleConfigBorderHandle (data) {
|
||
// 基础信息
|
||
var doc = $offcanvas_config_border.attr('data-doc') || null;
|
||
if (doc == null) {
|
||
Prompt($layout.data('module-tab-tips') || '模块标记有误');
|
||
return false;
|
||
}
|
||
|
||
// 边线类型、和大小
|
||
if ((data.style_border_style || null) == null) {
|
||
Prompt($layout.data('border-style-tips') || '请选择边线类型');
|
||
return false;
|
||
}
|
||
if ((data.style_border_width || null) == null) {
|
||
Prompt($layout.data('border-style-max-tips') || '请输入边线、最大10的数字');
|
||
return false;
|
||
}
|
||
|
||
// 样式处理
|
||
var style = StyleBaseHandle(data, 'style_');
|
||
|
||
// html拼接
|
||
var html = '<div class="module-border-container" style="' + style + '"></div>';
|
||
|
||
// 模块容器设置
|
||
var $doc = $(doc);
|
||
$doc.html(html);
|
||
|
||
// 数据加入配置
|
||
data['frontend_config'] = {
|
||
style: style
|
||
}
|
||
$doc.attr('data-json', encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(data)))));
|
||
$offcanvas_config_border.offCanvas('close');
|
||
}
|
||
|
||
/**
|
||
* 模块-辅助空白处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-04
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
*/
|
||
function FormBackModuleConfigHeightHandle (data) {
|
||
// 基础信息
|
||
var doc = $offcanvas_config_height.attr('data-doc') || null;
|
||
if (doc == null) {
|
||
Prompt($layout.data('module-tab-tips') || '模块标记有误');
|
||
return false;
|
||
}
|
||
|
||
// 高度
|
||
if ((data.style_height || null) == null) {
|
||
Prompt($layout.data('height-max-tips') || '请输入高度、最大100的数字');
|
||
return false;
|
||
}
|
||
|
||
// 样式处理
|
||
var style = StyleBaseHandle(data, 'style_');
|
||
|
||
// html拼接
|
||
var html = '<div class="module-height-container" style="' + style + '"></div>';
|
||
|
||
// 模块容器设置
|
||
var $doc = $(doc);
|
||
$doc.html(html);
|
||
|
||
// 数据加入配置
|
||
data['frontend_config'] = {
|
||
style: style
|
||
}
|
||
$doc.attr('data-json', encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(data)))));
|
||
$offcanvas_config_height.offCanvas('close');
|
||
}
|
||
|
||
/**
|
||
* 模块-滚动配置处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-04
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
*/
|
||
function FormBackModuleModalRollingConfigHandle (data) {
|
||
$base_show_style_value_obj.val(encodeURIComponent(JSON.stringify(data)));
|
||
$modal_rolling_config.modal('close');
|
||
}
|
||
|
||
/**
|
||
* 模块-列表配置处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-04
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
*/
|
||
function FormBackModuleModalListConfigHandle (data) {
|
||
$base_show_style_value_obj.val(encodeURIComponent(JSON.stringify(data)));
|
||
$modal_list_config.modal('close');
|
||
}
|
||
|
||
/**
|
||
* 模块-标题-关键字处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-04
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
*/
|
||
function FormBackModuleModalTitleKeywordsHandle (data) {
|
||
// 操作类型
|
||
var type = parseInt($modal_title_keywords.attr('data-opt-type') || 0);
|
||
|
||
// 获取设置的数据、关键字名称必填
|
||
if ((data.content_keywords || null) == null) {
|
||
$modal_title_keywords.find('input[name="content_keywords"]').focus();
|
||
Prompt($layout.data('keywords-tips') || '请填写关键字');
|
||
return false;
|
||
}
|
||
|
||
// 生成数据项
|
||
var params = {
|
||
"content_keywords": data.content_keywords,
|
||
"style_keywords_color": data.style_keywords_color || '',
|
||
"content_to_type": data.content_to_type || '',
|
||
"content_to_name": data.content_to_name || '',
|
||
"content_to_value": data.content_to_value || ''
|
||
};
|
||
var html = ModuleConfigTitleKeywordsContentHtml(params);
|
||
// 0添加、1编辑
|
||
if (type == 0) {
|
||
$offcanvas_config_title.find('.config-title-container').append(html);
|
||
} else {
|
||
$base_title_keywords_obj.prop('outerHTML', html);
|
||
}
|
||
$modal_title_keywords.modal('close');
|
||
}
|
||
|
||
/**
|
||
* 模块-弹窗搜索选择回调处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-04
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
*/
|
||
function FormBackModulePopupGoodsSearchHandle (data) {
|
||
// 参数配置
|
||
var type = $popup_goods_search.find('.am-tabs-nav li.am-active a').data('value');
|
||
var $vb = $popup_goods_search.find('.form-container-' + type);
|
||
var params = {
|
||
"type": type,
|
||
"value": ""
|
||
};
|
||
switch (type) {
|
||
// 商品分类
|
||
case 'category':
|
||
var json = $vb.find('.already-select-tips').attr('data-value') || null;
|
||
if (json != null) {
|
||
json = JSON.parse(decodeURIComponent(json)) || null;
|
||
}
|
||
if (json == null) {
|
||
Prompt($layout.data('before-choice-goods-category-tips') || '请先选择商品分类');
|
||
return false;
|
||
}
|
||
params['value'] = json;
|
||
break;
|
||
|
||
// 品牌
|
||
case 'brand':
|
||
var $vbs = $vb.find('ul li.active a');
|
||
if ($vbs.length <= 0) {
|
||
Prompt($layout.data('before-choice-brand-tips') || '请先选择品牌');
|
||
return false;
|
||
}
|
||
params['value'] = {
|
||
"id": $vbs.data('value'),
|
||
"name": $vbs.find('span').text()
|
||
};
|
||
break;
|
||
|
||
// 关键字
|
||
case 'keywords':
|
||
var value = $vb.find('input').val() || '';
|
||
if (value == '') {
|
||
$vb.find('input').focus();
|
||
Prompt($layout.data('before-input-keywords-tips') || '请先输入关键字1~30个字符');
|
||
return false;
|
||
}
|
||
// 输入关键字去除引号
|
||
params['value'] = value.replace(new RegExp('"', 'g'), '').replace(new RegExp("'", 'g'), '');
|
||
break;
|
||
}
|
||
|
||
// 数据赋值并关闭弹窗
|
||
var show_name = ModuleConfigGoodsSearchPageShowName(params);
|
||
var $page = $modal_pages_select.find('.am-tabs-bd ul li.page-goods_search a');
|
||
$page.find('span').text($page.data('name') + show_name);
|
||
$page.attr('data-json', encodeURIComponent(JSON.stringify(params)));
|
||
$popup_goods_search.modal('close');
|
||
}
|
||
|
||
/**
|
||
* 模块-基础布局处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-18
|
||
* @desc description
|
||
* @param {[object]} data [表单数据]
|
||
*/
|
||
function ModuleConfigBaseContentHandle (data) {
|
||
// 默认值处理
|
||
data.style_width_max_limit_value = data.style_width_max_limit_value || '';
|
||
data.style_background_images_no_repeat = data.style_background_images_no_repeat || '';
|
||
data.style_background_images_size_cover = data.style_background_images_size_cover || '';
|
||
data.style_background_images_position_center = data.style_background_images_position_center || '';
|
||
|
||
// 图片处理
|
||
var $ul = $offcanvas_layout_config.find('ul.layout-style-background-images-view');
|
||
if ((data.style_background_images || null) == null) {
|
||
$ul.find('li').remove();
|
||
} else {
|
||
var html = `<li>
|
||
<input type="text" name="style_background_images" value="`+ data.style_background_images + `">
|
||
<img src="`+ data.style_background_images + `" />
|
||
<i class="iconfont icon-close"></i>
|
||
</li>`;
|
||
$ul.html(html);
|
||
}
|
||
|
||
return data;
|
||
}
|
||
|
||
/**
|
||
* 模块-图片链接地址生成
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-18
|
||
* @desc description
|
||
* @param {[string]} name [显示名称]
|
||
*/
|
||
function ModuleConfigImagesToContentHtml (name) {
|
||
// 无数据
|
||
if ((name || null) == null) {
|
||
return '<a href="javascript:;" class="form-view-choice-container-submit">' + ($layout.data('choice-url-tips') || '请选择跳转链接') + '</a>';
|
||
}
|
||
|
||
// 有数据
|
||
var html = '<span class="form-view-choice-container-submit form-view-choice-container-active am-radius">';
|
||
html += '<span class="am-text-truncate">' + name + '</span>';
|
||
html += '<i class="am-icon-close am-margin-left-xs"></i>';
|
||
html += '</span>';
|
||
html += '<a href="javascript:;" class="form-view-choice-container-submit am-margin-left-sm">' + ($layout.data('edit-name') || '修改') + '</a>';
|
||
return html;
|
||
}
|
||
|
||
/**
|
||
* 模块-商品分类地址生成
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-18
|
||
* @desc description
|
||
* @param {[string]} name [显示名称]
|
||
*/
|
||
function ModuleConfigGoodsCategoryContentHtml (name) {
|
||
// 无数据
|
||
if ((name || null) == null) {
|
||
return '<a href="javascript:;" class="form-view-choice-container-submit">' + ($layout.data('choice-goods-category-tips') || '请选择商品分类') + '</a>';
|
||
}
|
||
|
||
// 设置数据
|
||
var html = '<span class="form-view-choice-container-submit form-view-choice-container-active am-radius">';
|
||
html += '<span class="am-text-truncate">' + name + '</span>';
|
||
html += '<i class="am-icon-close am-margin-left-xs"></i>';
|
||
html += '</span>';
|
||
html += '<a href="javascript:;" class="form-view-choice-container-submit am-margin-left-sm">' + ($layout.data('edit-name') || '修改') + '</a>';
|
||
return html;
|
||
}
|
||
|
||
/**
|
||
* 模块-商品信息生成
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-18
|
||
* @desc description
|
||
* @param {[object]} data [商品列表]
|
||
*/
|
||
function ModuleConfigGoodsItemContentHtml (data) {
|
||
var html = '';
|
||
if ((data || null) != null && data.length > 0) {
|
||
for (var i in data) {
|
||
html += '<li data-gid="' + data[i]['id'] + '">';
|
||
html += '<a href="javascript:;" class="am-close am-close-alt am-icon-times"></a>';
|
||
html += '<a href="' + data[i]['goods_url'] + '" title="' + data[i]['title'] + '" target="_blank" class="am-block am-padding-xs">';
|
||
html += '<img src="' + data[i]['images'] + '" alt="' + data[i]['title'] + '" />';
|
||
html += '</a>';
|
||
html += '</li>';
|
||
}
|
||
}
|
||
return html;
|
||
}
|
||
|
||
/**
|
||
* 模块-多图信息生成
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-18
|
||
* @desc description
|
||
* @param {[string]} images [图片地址]
|
||
* @param {[string]} type [类型]
|
||
* @param {[string]} name [名称]
|
||
* @param {[string]} value [数据值]
|
||
*/
|
||
function ModuleConfigManyImagesItemContentHtml (images, type, name, value) {
|
||
var index = parseInt(Math.random() * 1000001);
|
||
var html = `<div class="am-panel am-panel-default am-padding-sm">
|
||
<a href="javascript:;" class="am-close am-close-alt am-icon-times"></a>
|
||
<div class="am-form-group am-form-file am-form-group-refreshing">
|
||
<ul class="plug-file-upload-view am-cf module-slider-type-images-view module-slider-type-images-view-`+ index + `" data-form-name="content_images_` + index + `" data-max-number="1" data-delete="0" data-dialog-type="images">
|
||
<li>
|
||
<input type="text" name="content_images_`+ index + `" data-validation-message="` + ($layout.data('upload-images-tips') || '请上传图片') + `" value="` + (images || '') + `" required />
|
||
<img src="`+ (images || $offcanvas_config_many_images.data('default-images')) + `" />
|
||
</li>
|
||
</ul>
|
||
<div class="plug-file-upload-submit" data-view-tag="ul.module-slider-type-images-view-`+ index + `">+ ` + ($layout.data('upload-images-name') || '上传图片') + `</div>
|
||
</div>
|
||
<div class="am-form-group am-form-group-refreshing">
|
||
<div class="form-view-choice-container am-margin-top-xs" data-key="`+ index + `">
|
||
<input type="hidden" name="content_to_type_`+ index + `" value="` + (type || '') + `" />
|
||
<input type="hidden" name="content_to_name_`+ index + `" value="` + (name || '') + `" />
|
||
<input type="hidden" name="content_to_value_`+ index + `" value="` + ((value || null) == null ? '' : encodeURIComponent(JSON.stringify(value))) + `" />
|
||
<div class="form-view-choice-container-content">
|
||
`+ ModuleConfigImagesToContentHtml(name) + `
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>`;
|
||
return html;
|
||
}
|
||
|
||
/**
|
||
* 模块-图文信息生成
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-18
|
||
* @desc description
|
||
* @param {[object]} data [配置数据]
|
||
*/
|
||
function ModuleConfigImagesTextItemContentHtml (data) {
|
||
if ((data || null) == null) {
|
||
data = {};
|
||
}
|
||
if ((data.title_style_align || null) == null) {
|
||
data.title_style_align = 'left';
|
||
}
|
||
if ((data.desc_style_align || null) == null) {
|
||
data.desc_style_align = 'left';
|
||
}
|
||
var index = parseInt(Math.random() * 1000001);
|
||
var font_size = $layout.data('images-text-font-size') || '大小';
|
||
var title_message = $layout.data('images-text-margin-title-message') || '标题外边距最大1000';
|
||
var desc_message = $layout.data('images-text-margin-desc-message') || '描述外边距最大1000';
|
||
var margin_top = $layout.data('images-text-margin-top') || '外上';
|
||
var margin_right = $layout.data('images-text-margin-right') || '外右';
|
||
var margin_bottom = $layout.data('images-text-margin-bottom') || '外下';
|
||
var margin_left = $layout.data('images-text-margin-left') || '外左';
|
||
var position_left = $layout.data('images-text-position-left') || '外左';
|
||
var position_center = $layout.data('images-text-position-center') || '外中';
|
||
var position_right = $layout.data('images-text-position-right') || '外右';
|
||
var html = `<div class="am-panel am-panel-default am-padding-sm">
|
||
<a href="javascript:;" class="am-close am-close-alt am-icon-times"></a>
|
||
<div class="am-form-group am-form-file am-form-group-refreshing">
|
||
<ul class="plug-file-upload-view am-cf module-slider-type-images-view module-slider-type-images-view-`+ index + `" data-form-name="content_images_` + index + `" data-max-number="1" data-delete="0" data-dialog-type="images">
|
||
<li>
|
||
<input type="text" name="content_images_`+ index + `" value="` + (data.images || '') + `" />
|
||
<img src="`+ (data.images || $offcanvas_config_many_images.data('default-images')) + `" />
|
||
</li>
|
||
</ul>
|
||
<div class="plug-file-upload-submit" data-view-tag="ul.module-slider-type-images-view-`+ index + `">+ ` + ($layout.data('upload-images-name') || '上传图片') + `</div>
|
||
</div>
|
||
<div class="am-form-group am-form-group-refreshing">
|
||
<div class="form-view-choice-container am-margin-top-xs" data-key="`+ index + `">
|
||
<input type="hidden" name="content_to_type_`+ index + `" value="` + (data.type || '') + `" />
|
||
<input type="hidden" name="content_to_name_`+ index + `" value="` + (data.name || '') + `" />
|
||
<input type="hidden" name="content_to_value_`+ index + `" value="` + ((data.value || null) == null ? '' : encodeURIComponent(JSON.stringify(data.value))) + `" />
|
||
<div class="form-view-choice-container-content">
|
||
`+ ModuleConfigImagesToContentHtml(data.name) + `
|
||
</div>
|
||
</div>
|
||
</div>`;
|
||
// 标题
|
||
var title_style_color = (data.title_style_color || null) == null ? '' : 'background-color:' + data.title_style_color + ';border-color:' + data.title_style_color + ';';
|
||
var title = $layout.data('images-text-title') || '标题';
|
||
html += `<div class="am-form-group am-form-group-refreshing">
|
||
<label>`+ title + `</label>
|
||
<div class="am-input-group am-input-group-sm">
|
||
<input type="text" placeholder="`+ title + `" name="content_title_` + index + `" value="` + (data.title || '') + `" class="am-form-field" />
|
||
<input type="hidden" name="content_title_style_color_`+ index + `" value="` + (data.title_style_color || '') + `" />
|
||
<a href="javascript:;" class="am-input-group-label am-padding-0 am-border-0">
|
||
<div class="colorpicker-container colorpicker-simple">
|
||
<div class="colorpicker-submit module-style-color-images-text-content-title-style-color-`+ index + `" data-position="fixed" data-input-tag=".module-style-color-images-text-content-title-style-color-` + index + `" data-color-tag="input[name='content_title_style_color_` + index + `']" data-color-style="background-color|border-color" style="` + title_style_color + `" data-color="` + (data.title_style_color || '') + `">
|
||
</div>
|
||
<img class="imitate-colorpicker-submit" src="`+ __attachment_host__ + `/static/common/images/colorpicker.png" />
|
||
</div>
|
||
</a>
|
||
</div>`;
|
||
|
||
// 外边距
|
||
html += `<div class="am-input-group am-input-group-sm group-border-width am-margin-top-xs">
|
||
<input type="number" data-is-clearout="0" placeholder="`+ margin_top + `" name="content_title_style_margin_top_` + index + `" min="0" max="1000" data-validation-message="` + title_message + `" value="` + (data.title_style_margin_top || '') + `" class="am-form-field" />
|
||
<input type="number" data-is-clearout="0" placeholder="`+ margin_right + `" name="content_title_style_margin_right_` + index + `" min="0" max="1000" data-validation-message="` + title_message + `" value="` + (data.title_style_margin_right || '') + `" class="am-form-field" />
|
||
<input type="number" data-is-clearout="0" placeholder="`+ margin_bottom + `" name="content_title_style_margin_bottom_` + index + `" min="0" max="1000" data-validation-message="` + title_message + `" value="` + (data.title_style_margin_bottom || '') + `" class="am-form-field" />
|
||
<input type="number" data-is-clearout="0" placeholder="`+ margin_left + `" name="content_title_style_margin_left_` + index + `" min="0" max="1000" data-validation-message="` + title_message + `" value="` + (data.title_style_margin_left || '') + `" class="am-form-field" />
|
||
<span class="am-input-group-label">px</span>
|
||
</div>`;
|
||
|
||
// 字体大小和左右居中
|
||
html += `<div class="am-margin-top-xs am-nbfc">
|
||
<div class="am-input-group am-input-group-sm am-fl group-input-font-size">
|
||
<input type="number" data-is-clearout="0" placeholder="`+ font_size + `" name="content_title_style_font_size_` + index + `" min="0" max="1000" data-validation-message="` + ($layout.data('images-text-font-size-title-message') || '标题字体最大1000') + `" value="` + (data.title_style_font_size || '') + `" class="am-form-field" />
|
||
<span class="am-input-group-label">px</span>
|
||
</div>
|
||
<div class="am-fr group-text-align-style"><label class="am-checkbox-inline"><input type="radio" name="content_title_style_align_`+ index + `" value="left" data-am-ucheck ` + (data.title_style_align == 'left' ? 'checked' : '') + ` /> ` + position_left + `</label><label class="am-checkbox-inline"><input type="radio" name="content_title_style_align_` + index + `" value="center" data-am-ucheck ` + (data.title_style_align == 'center' ? 'checked' : '') + ` /> ` + position_center + `</label><label class="am-checkbox-inline"><input type="radio" name="content_title_style_align_` + index + `" value="right" data-am-ucheck ` + (data.title_style_align == 'right' ? 'checked' : '') + ` /> ` + position_right + `</label></div>
|
||
</div>`;
|
||
html += `</div>`;
|
||
|
||
// 描述
|
||
var desc = $layout.data('images-text-desc') || '描述';
|
||
var desc_style_color = (data.desc_style_color || null) == null ? '' : 'background-color:' + data.desc_style_color + ';border-color:' + data.desc_style_color + ';';
|
||
html += `<div class="am-form-group am-form-group-refreshing">
|
||
<label>`+ desc + `</label>
|
||
<div class="am-input-group am-input-group-sm">
|
||
<input type="text" placeholder="`+ desc + `" name="content_desc_` + index + `" value="` + (data.desc || '') + `" class="am-form-field" />
|
||
<input type="hidden" name="content_desc_style_color_`+ index + `" value="` + (data.desc_style_color || '') + `" />
|
||
<a href="javascript:;" class="am-input-group-label am-padding-0 am-border-0">
|
||
<div class="colorpicker-container colorpicker-simple">
|
||
<div class="colorpicker-submit module-style-color-images-text-content-desc-style-color-`+ index + `" data-position="fixed" data-input-tag=".module-style-color-images-text-content-desc-style-color-` + index + `" data-color-tag="input[name='content_desc_style_color_` + index + `']" data-color-style="background-color|border-color" style="` + desc_style_color + `" data-color="` + (data.desc_style_color || '') + `">
|
||
</div>
|
||
<img class="imitate-colorpicker-submit" src="`+ __attachment_host__ + `/static/common/images/colorpicker.png" />
|
||
</div>
|
||
</a>
|
||
</div>`;
|
||
|
||
// 外边距
|
||
html += `<div class="am-input-group am-input-group-sm group-border-width am-margin-top-xs">
|
||
<input type="number" data-is-clearout="0" placeholder="`+ margin_top + `" name="content_desc_style_margin_top_` + index + `" min="0" max="1000" data-validation-message="` + desc_message + `" value="` + (data.desc_style_margin_top || '') + `" class="am-form-field" />
|
||
<input type="number" data-is-clearout="0" placeholder="`+ margin_right + `" name="content_desc_style_margin_right_` + index + `" min="0" max="1000" data-validation-message="` + desc_message + `" value="` + (data.desc_style_margin_right || '') + `" class="am-form-field" />
|
||
<input type="number" data-is-clearout="0" placeholder="`+ margin_bottom + `" name="content_desc_style_margin_bottom_` + index + `" min="0" max="1000" data-validation-message="` + desc_message + `" value="` + (data.desc_style_margin_bottom || '') + `" class="am-form-field" />
|
||
<input type="number" data-is-clearout="0" placeholder="`+ margin_left + `" name="content_desc_style_margin_left_` + index + `" min="0" max="1000" data-validation-message="` + desc_message + `" value="` + (data.desc_style_margin_left || '') + `" class="am-form-field" />
|
||
<span class="am-input-group-label">px</span>
|
||
</div>`;
|
||
|
||
// 字体大小和左右居中
|
||
html += `<div class="am-margin-top-xs am-nbfc">
|
||
<div class="am-input-group am-input-group-sm am-fl group-input-font-size">
|
||
<input type="number" data-is-clearout="0" placeholder="`+ font_size + `" name="content_desc_style_font_size_` + index + `" min="0" max="1000" data-validation-message="` + ($layout.data('images-text-font-size-desc-message') || '描述字体最大1000') + `" value="` + (data.desc_style_font_size || '') + `" class="am-form-field" />
|
||
<span class="am-input-group-label">px</span>
|
||
</div>
|
||
<div class="am-fr group-text-align-style"><label class="am-checkbox-inline"><input type="radio" name="content_desc_style_align_`+ index + `" value="left" data-am-ucheck ` + (data.desc_style_align == 'left' ? 'checked' : '') + ` /> ` + position_left + `</label><label class="am-checkbox-inline"><input type="radio" name="content_desc_style_align_` + index + `" value="center" data-am-ucheck ` + (data.desc_style_align == 'center' ? 'checked' : '') + ` /> ` + position_center + `</label><label class="am-checkbox-inline"><input type="radio" name="content_desc_style_align_` + index + `" value="right" data-am-ucheck ` + (data.desc_style_align == 'right' ? 'checked' : '') + ` /> ` + position_right + `</label></div>
|
||
</div>
|
||
</div>`;
|
||
html += `</div>`;
|
||
return html;
|
||
}
|
||
|
||
/**
|
||
* 模块-图片魔方信息生成
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-18
|
||
* @desc description
|
||
* @param {[object]} data [配置数据]
|
||
*/
|
||
function ModuleConfigImagesMagicCubeItemContentHtml (data) {
|
||
// 基础处理
|
||
if ((data || null) == null) {
|
||
data = {};
|
||
}
|
||
|
||
// 展示模式
|
||
var value = (((data.view_list_show_style || null) == null) ? $offcanvas_config_images_magic_cube.find('input[name="view_list_show_style"]:checked').val() : data.view_list_show_style) || null;
|
||
if (value == null) {
|
||
Prompt($layout.data('data-show-modal-tips') || '请选择数据展示模式');
|
||
return false;
|
||
}
|
||
var modal_arr = { g1: 1, v2: 2, v3: 3, v4: 4, h2: 2, h3: 3, h4: 4, lr12: 3, lr13: 4, lr21: 3, lr31: 4, tb12: 3, tb13: 4, tb21: 3, tb31: 4, lrv2h2: 4, lrh2v2: 4, g4: 4 };
|
||
if (modal_arr[value] == undefined) {
|
||
Prompt(($layout.data('data-show-modal-error-tips') || '展示模式有误') + '(' + value + ')');
|
||
return false;
|
||
}
|
||
|
||
// 编辑则重新添加
|
||
var count = 0;
|
||
if (JSON.stringify(data) == '{}') {
|
||
// 已有数据条数、满足数量则不增加,多余则移除
|
||
count = $offcanvas_config_images_magic_cube.find('.config-images-magic-cube-container > .am-panel').length;
|
||
var max = modal_arr[value] - count;
|
||
if (max < 0) {
|
||
for (var i = count; i >= modal_arr[value]; i--) {
|
||
$offcanvas_config_images_magic_cube.find('.config-images-magic-cube-container > .am-panel:eq(' + i + ')').remove();
|
||
}
|
||
}
|
||
if (max <= 0) {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
// 生成数据
|
||
var html = '';
|
||
var data_list = data.data_list || [];
|
||
for (var i = count; i < modal_arr[value]; i++) {
|
||
var item = data_list[i] || {};
|
||
html += `<div class="am-panel am-panel-default am-padding-sm">
|
||
<div class="am-form-group am-form-file am-form-group-refreshing">
|
||
<ul class="plug-file-upload-view am-cf module-slider-type-images-view module-slider-type-images-view-`+ i + `" data-form-name="content_images_` + i + `" data-max-number="1" data-delete="0" data-dialog-type="images">
|
||
<li>
|
||
<input type="text" name="content_images_`+ i + `" data-validation-message="` + ($layout.data('upload-images-tips') || '请上传图片') + `" value="` + (item.images || '') + `" required />
|
||
<img src="`+ (item.images || $offcanvas_config_many_images.data('default-images')) + `" />
|
||
</li>
|
||
</ul>
|
||
<div class="plug-file-upload-submit" data-view-tag="ul.module-slider-type-images-view-`+ i + `">+ ` + ($layout.data('upload-images-name') || '上传图片') + `</div>
|
||
</div>
|
||
<div class="am-form-group am-form-group-refreshing">
|
||
<div class="form-view-choice-container am-margin-top-xs" data-key="`+ i + `">
|
||
<input type="hidden" name="content_to_type_`+ i + `" value="` + (item.type || '') + `" />
|
||
<input type="hidden" name="content_to_name_`+ i + `" value="` + (item.name || '') + `" />
|
||
<input type="hidden" name="content_to_value_`+ i + `" value="` + ((item.value || null) == null ? '' : encodeURIComponent(JSON.stringify(item.value))) + `" />
|
||
<div class="form-view-choice-container-content">
|
||
`+ ModuleConfigImagesToContentHtml(item.name) + `
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>`;
|
||
}
|
||
return html;
|
||
}
|
||
|
||
/**
|
||
* 模块-标题关键字
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-12
|
||
* @desc description
|
||
* @param {[object]} data [关键字数据项配置]
|
||
*/
|
||
function ModuleConfigTitleKeywordsContentHtml (data) {
|
||
var index = parseInt(Math.random() * 1000001);
|
||
var html = '<li>';
|
||
html += '<input type="hidden" name="content_item_keywords_' + index + '" value="' + (((data || null) == null) ? '' : encodeURIComponent(JSON.stringify(data))) + '" />';
|
||
html += '<span class="am-text-truncate am-block">' + (data.content_keywords || '') + '</span>';
|
||
html += '<a href="javascript:;" class="am-icon-edit"></a>';
|
||
html += '<a href="javascript:;" class="am-icon-remove"></a>';
|
||
html += '</li>';
|
||
return html;
|
||
}
|
||
|
||
/**
|
||
* 模块-标题关键字打开弹窗
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-12
|
||
* @desc description
|
||
* @param {[int]} type [操作类型(0添加、 1编辑)]
|
||
* @param {[object]} data [关键字数据项配置]
|
||
*/
|
||
function ModuleConfigTitleKeywordsOpen (type, data) {
|
||
// 数据处理
|
||
if ((data || null) != null) {
|
||
data = JSON.parse(decodeURIComponent(data)) || null;
|
||
}
|
||
if ((data || null) == null) {
|
||
data = {
|
||
"content_keywords": "",
|
||
"style_keywords_color": "",
|
||
"content_to_name": "",
|
||
"content_to_type": "",
|
||
"content_to_value": ""
|
||
};
|
||
}
|
||
|
||
// 表单数据赋值
|
||
FormDataFill(data, '#modal-module-title-keywords');
|
||
|
||
// 链接地址
|
||
$modal_title_keywords.find('.form-view-choice-container-content').html(ModuleConfigImagesToContentHtml(data.content_to_name));
|
||
|
||
// 关键字颜色
|
||
var color = data.style_keywords_color || '';
|
||
$modal_title_keywords.find('.module-style-color_keywords').css({ "background-color": color, "border-color": color, "color": color });
|
||
|
||
// 开启标题关键字配置弹窗
|
||
$modal_title_keywords.modal({
|
||
width: 260,
|
||
height: 210,
|
||
closeViaDimmer: false
|
||
});
|
||
$modal_title_keywords.attr('data-opt-type', type || 0);
|
||
}
|
||
|
||
/**
|
||
* 模块商品搜索-页面展示名称
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-05-20
|
||
* @desc description
|
||
* @param {[string]} data -> type [类型]
|
||
* @param {[string|object]} data -> value [选择的数据值]
|
||
*/
|
||
function ModuleConfigGoodsSearchPageShowName (data) {
|
||
var name = '';
|
||
if ((data || null) != null && (data.type || null) != null && (data.value || null) != null) {
|
||
var value = data['value'];
|
||
switch (data.type) {
|
||
// 商品分类
|
||
case 'category':
|
||
name = ($layout.data('goods-category-name') || '商品分类') + '-' + value[value.length - 1]['name'];
|
||
break;
|
||
|
||
// 品牌
|
||
case 'brand':
|
||
name = ($layout.data('brand-name') || '品牌') + '-' + value['name'];
|
||
break;
|
||
|
||
// 关键字
|
||
case 'keywords':
|
||
name = ($layout.data('keywords-name') || '关键字') + '-' + value;
|
||
break;
|
||
}
|
||
}
|
||
return (name || null) == null ? '' : '(' + name + ')';
|
||
}
|
||
|
||
/**
|
||
* 左侧商品配置商品id
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-06
|
||
* @desc description
|
||
*/
|
||
function OffcanvasModuleConfigGoodsIds () {
|
||
return $('#offcanvas-module-config-goods input[name="goods_ids"]').val() || '';
|
||
}
|
||
|
||
/**
|
||
* 滚动数据参数处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-12
|
||
* @desc description
|
||
* @param {[object]} data [配置数据]
|
||
*/
|
||
function ViewRollingShowStyleValueHandle (data) {
|
||
// 数据处理
|
||
var value = ((data || null) == null) ? {} : (JSON.parse(decodeURIComponent(data)) || {});
|
||
|
||
// 宽度
|
||
value['item_width'] = parseInt(value['item_width'] || 200);
|
||
|
||
// 外边距
|
||
value['item_margin'] = parseInt(value['item_margin'] || 0);
|
||
|
||
// 是否自动播放
|
||
value['is_auto_play'] = ((value.is_auto_play || 0) == 0) ? false : true;
|
||
|
||
// 是否展示导航点
|
||
value['is_nav_dot'] = ((value.is_nav_dot || 0) == 0) ? false : true;
|
||
|
||
return value;
|
||
}
|
||
|
||
/**
|
||
* 列表数据参数处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-12
|
||
* @desc description
|
||
* @param {[object]} data [配置数据]
|
||
*/
|
||
function ViewListShowStyleValueHandle (data) {
|
||
// 数据处理
|
||
var value = ((data || null) == null) ? {} : (JSON.parse(decodeURIComponent(data)) || {});
|
||
|
||
// 小屏
|
||
value['view_list_number_sm'] = parseInt(value['view_list_number_sm'] || 2);
|
||
|
||
// 中屏
|
||
value['view_list_number_md'] = parseInt(value['view_list_number_md'] || 5);
|
||
|
||
// 大屏
|
||
value['view_list_number_lg'] = parseInt(value['view_list_number_lg'] || 5);
|
||
|
||
// 外边距
|
||
value['style_margin'] = parseInt(value['style_margin'] || 0);
|
||
|
||
return value;
|
||
}
|
||
|
||
/**
|
||
* 左侧配置 - 页面选择
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-10
|
||
* @desc description
|
||
* @param {[object]} obj [当前对象]
|
||
* @param {[object]} event [事件]
|
||
*/
|
||
function OffcanvasConfigPagesChoice (obj, event) {
|
||
// 当前选择页面的链接位置对象
|
||
$page_parent_obj = obj.parent();
|
||
|
||
// 获取已选择的数据
|
||
var $parent = $page_parent_obj.parents('.form-view-choice-container');
|
||
var key = $parent.data('key');
|
||
var index = (key == undefined) ? '' : '_' + key;
|
||
var to_type = $parent.find('input[name="content_to_type' + index + '"]').val() || null;
|
||
var to_name = $parent.find('input[name="content_to_name' + index + '"]').val() || null;
|
||
var to_value = $parent.find('input[name="content_to_value' + index + '"]').val() || null;
|
||
|
||
// 所有处理
|
||
$modal_pages_select.find('.am-tabs-bd ul li').each(function (k, v) {
|
||
$(this).removeClass('active');
|
||
$(this).find('a span').text($(this).find('a').data('name'));
|
||
});
|
||
$modal_pages_select.find('.am-tabs-bd ul li').removeClass('active');
|
||
$modal_pages_select.find('.am-tabs-bd ul li a').attr('data-json', '');
|
||
|
||
// 自定义链接地址
|
||
if (to_type == 'pages-custom-url') {
|
||
var form_doc = '.pages-custom-url-container';
|
||
if ((to_value || null) == null) {
|
||
to_value = GetFormVal(form_doc, true);
|
||
} else {
|
||
to_value = JSON.parse(decodeURIComponent(to_value));
|
||
}
|
||
FormDataFill(to_value, form_doc);
|
||
var index = 2;
|
||
|
||
// 常规页面选择
|
||
} else {
|
||
// 当前选中的数据
|
||
var $active_obj = $modal_pages_select.find('.am-tabs-bd ul li.page-' + to_type);
|
||
$active_obj.addClass('active');
|
||
$active_obj.find('a span').text(to_name);
|
||
$active_obj.find('a').attr('data-json', to_value);
|
||
|
||
// 当前选中的索引值
|
||
var index = $active_obj.parents('.am-tab-panel').index();
|
||
if (index == -1) {
|
||
index = 0;
|
||
}
|
||
}
|
||
|
||
// tab切换
|
||
$modal_pages_select.find('.am-tabs-nav li').removeClass('am-active');
|
||
$modal_pages_select.find('.am-tabs-nav li').eq(index).addClass('am-active');
|
||
$modal_pages_select.find('.am-tabs-bd .am-tab-panel').removeClass('am-active');
|
||
$modal_pages_select.find('.am-tabs-bd .am-tab-panel').eq(index).addClass('am-active');
|
||
|
||
// 开启页面选择弹窗
|
||
$modal_pages_select.modal({
|
||
width: 380,
|
||
height: 475,
|
||
closeViaDimmer: false
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 左侧配置 - 页面移除
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-10
|
||
* @desc description
|
||
* @param {[object]} obj [当前对象]
|
||
* @param {[object]} event [事件]
|
||
*/
|
||
function OffcanvasConfigPagesRemove (obj, event) {
|
||
var $parent = obj.parents('.form-view-choice-container');
|
||
var $content = $parent.find('.form-view-choice-container-content');
|
||
var key = $parent.data('key');
|
||
var index = (key == undefined) ? '' : '_' + key;
|
||
$content.html(ModuleConfigImagesToContentHtml());
|
||
$parent.find('input[name="content_to_type' + index + '"]').val('');
|
||
$parent.find('input[name="content_to_name' + index + '"]').val('');
|
||
$parent.find('input[name="content_to_value' + index + '"]').val('');
|
||
event.stopPropagation();
|
||
}
|
||
|
||
/**
|
||
* 模块背景色组件处理
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-09
|
||
* @desc description
|
||
* @param {[object]} e [模块对象]
|
||
*/
|
||
function ModuleColorpickerHandle (e) {
|
||
e.find('.colorpicker-submit').each(function (k, v) {
|
||
var color = $(this).prev().val() || '';
|
||
var style = $(this).data('color-style') || null;
|
||
if (style != null) {
|
||
var arr = style.split('|');
|
||
for (var i in arr) {
|
||
$(this).css(arr[i], color);
|
||
$(this).find('.fcolorpicker-curbox').css(arr[i], color);
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 布局页面配置获取
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-16
|
||
* @desc description
|
||
*/
|
||
function LayoutViewConfig () {
|
||
// 循环读取布局
|
||
var data = [];
|
||
$('.layout-container .layout-view').each(function (k, v) {
|
||
// 布局数据
|
||
var json = $(this).find('.layout-content-children').attr('data-json') || null;
|
||
var layout_temp = {
|
||
value: $(this).data('value').toString(),
|
||
status: ($(this).find('.layout-content-submit input[type="checkbox"]:checked').val() == 'on') ? 1 : 0,
|
||
config: (json == null) ? {} : JSON.parse(CryptoJS.enc.Base64.parse(decodeURIComponent(json)).toString(CryptoJS.enc.Utf8)),
|
||
children: []
|
||
};
|
||
|
||
// 模块容器
|
||
$(this).find('.layout-content-container').each(function (ks, vs) {
|
||
// 容器数据
|
||
var json = $(this).attr('data-json') || null;
|
||
var content_temp = {
|
||
config: (json == null) ? {} : JSON.parse(CryptoJS.enc.Base64.parse(decodeURIComponent(json)).toString(CryptoJS.enc.Utf8)),
|
||
children: []
|
||
};
|
||
|
||
// 模块
|
||
$(this).find('.layout-content .module-view').each(function (kss, vss) {
|
||
// 模块数据
|
||
var json = $(this).find('.module-content').attr('data-json') || null;
|
||
var value = $(this).find('.module-view-submit-container').data('value');
|
||
var module_config = {
|
||
value: value,
|
||
name: layout_module_type_arr[value],
|
||
config: (json == null) ? {} : JSON.parse(CryptoJS.enc.Base64.parse(decodeURIComponent(json)).toString(CryptoJS.enc.Utf8))
|
||
};
|
||
// 商品模块移除商品列表
|
||
if (value == 'goods') {
|
||
delete module_config.config.data_list;
|
||
}
|
||
content_temp.children.push(module_config);
|
||
});
|
||
|
||
// 容器加入布局
|
||
layout_temp.children.push(content_temp);
|
||
});
|
||
|
||
// 加入数据列表
|
||
data.push(layout_temp);
|
||
});
|
||
return data;
|
||
}
|
||
|
||
/**
|
||
* 状态切换组件初始化
|
||
* @author Devil
|
||
* @blog http://gong.gg/
|
||
* @version 1.0.0
|
||
* @date 2021-06-18
|
||
* @desc description
|
||
*/
|
||
function LayoutSwitchInit () {
|
||
SwitchInit ();
|
||
}
|
||
|
||
|
||
$(function () {
|
||
// 开关变化
|
||
$(document).on('click', '.layout-view .switch-checkbox', function () {
|
||
var state = $(this).find('input').is(':checked') ? true : false;
|
||
if (state === true) {
|
||
$(this).parents('.layout-view').removeClass('layout-view-hidden');
|
||
} else {
|
||
$(this).parents('.layout-view').addClass('layout-view-hidden');
|
||
}
|
||
})
|
||
// 布局拖拽
|
||
$layout.dragsort({
|
||
dragSelector: '.drag-submit',
|
||
placeHolderTemplate: '<div class="drag-sort-dotted"></div>'
|
||
});
|
||
|
||
// 模块拖拽
|
||
ModuleDragSortInit();
|
||
|
||
// 开关初始化
|
||
LayoutSwitchInit();
|
||
|
||
// 布局/模块切换事件
|
||
$('.renovation-tabs .am-tabs-nav a').on('click', function () {
|
||
$(this).parent('li').addClass('am-active').siblings('li').removeClass('am-active');
|
||
$('.renovation-tabs .am-tabs-bd .renovation-panel').addClass('am-hide');
|
||
$($(this).attr('href')).removeClass('am-hide');
|
||
});
|
||
|
||
// 布局拖放
|
||
$(document).on('dragstart', '.structure-drag button', function (e) {
|
||
// 布局配置
|
||
var drag_value = $(this).data('value');
|
||
|
||
// 拖拽过程中经过的元素
|
||
$(document).on('dragenter', '.layout-view, .layout-container-tips', function (e) {
|
||
// 当前是否在布局模式下操作
|
||
if ($('.renovation-tabs .am-tabs-nav li.am-active').data('value') == 'structure') {
|
||
$('.layout-view, .layout-container-tips').removeClass('layout-view-dragenter');
|
||
$(this).addClass('layout-view-dragenter');
|
||
}
|
||
});
|
||
// 拖拽离开元素移除过程中添加的样式
|
||
$(document).on('dragleave', '.structure-drag button', function (e) {
|
||
$('.layout-view,.layout-container-tips').removeClass('layout-view-dragenter');
|
||
});
|
||
// 拖拽结束
|
||
$(document).on('dragend', '.structure-drag button', function (e) {
|
||
// 移除过程中添加的样式
|
||
$('.layout-view,.layout-container-tips').removeClass('layout-view-dragenter');
|
||
|
||
// 关闭事件
|
||
$('.layout-view, .layout-container-tips').off('dragover');
|
||
$('.layout-view, .layout-container-tips').off('dragenter');
|
||
$('.layout-view, .layout-container-tips').off('drop');
|
||
});
|
||
// 拖拽过程中一直在元素内、并阻止默认事件
|
||
$(document).on('dragover', '.layout-container', function (e) {
|
||
e.preventDefault();
|
||
e.stopPropagation();
|
||
});
|
||
|
||
// 拖放接收事件
|
||
$('.layout-view, .layout-container-tips').on('drop', function (e) {
|
||
// 添加布局
|
||
$(this).before(StructureDragHtmlCreate(drag_value));
|
||
|
||
// 容器设置弹出框提示初始化
|
||
$('.layout-content-submit-set').popover({
|
||
content: $layout.data('layout-content-set-tips') || '容器设置',
|
||
trigger: 'hover focus',
|
||
theme: 'sm'
|
||
});
|
||
|
||
// 新的元素新增样式
|
||
var $new = $(this).prev();
|
||
$new.addClass('layout-view-new');
|
||
setTimeout(function () {
|
||
$new.removeClass('layout-view-new');
|
||
}, 1500);
|
||
|
||
// 模块拖拽
|
||
ModuleDragSortInit($new.find('.layout-content'));
|
||
|
||
// 关闭事件
|
||
$('.layout-view, .layout-container-tips').off('dragover');
|
||
$('.layout-view, .layout-container-tips').off('dragenter');
|
||
$('.layout-view, .layout-container-tips').off('drop');
|
||
|
||
// 开关初始化
|
||
LayoutSwitchInit();
|
||
|
||
// 移除布局提示
|
||
$('.layout-container-tips').remove();
|
||
});
|
||
});
|
||
|
||
// 布局设置
|
||
$(document).on('click', '.layout-submit-set', function () {
|
||
// 布局对象
|
||
$layout_content_obj = $(this).parents('.layout-content-submit').next();
|
||
|
||
// 配置数据
|
||
var config_doc = '#offcanvas-layout-config';
|
||
var json = $layout_content_obj.attr('data-json') || null;
|
||
if (json != null) {
|
||
// 数据解析
|
||
json = JSON.parse(CryptoJS.enc.Base64.parse(decodeURIComponent(json)).toString(CryptoJS.enc.Utf8)) || null;
|
||
}
|
||
// 获取表单字段并赋空值
|
||
if ((json || null) == null) {
|
||
json = GetFormVal(config_doc, true);
|
||
for (var i in json) {
|
||
json[i] = '';
|
||
}
|
||
}
|
||
// 节点数据处理
|
||
json = ModuleConfigBaseContentHandle(json);
|
||
|
||
// 表单赋值
|
||
FormDataFill(json, config_doc);
|
||
|
||
// 单选框初始化
|
||
$offcanvas_layout_config.find('input[type="checkbox"], input[type="radio"]').uCheck();
|
||
|
||
// 背景色组件处理
|
||
ModuleColorpickerHandle($offcanvas_layout_config);
|
||
|
||
// 指定操作类型
|
||
$offcanvas_layout_config.attr('data-ent', 'layout-content-children');
|
||
|
||
// 打开配置
|
||
$offcanvas_layout_config.offCanvas('open');
|
||
});
|
||
|
||
// 布局移除
|
||
$(document).on('click', '.layout-submit-del', function () {
|
||
var $this = $(this);
|
||
AMUI.dialog.confirm({
|
||
title: $layout.data('layout-reminder-title') || '温馨提示',
|
||
content: $layout.data('layout-reminder-msg') || '移除后不可恢复、确定继续吗?',
|
||
onConfirm: function (e) {
|
||
// 移除布局
|
||
$this.parents('.layout-view').remove();
|
||
|
||
// 无布局则添加提示信息
|
||
if ($('.layout-container .layout-view').length <= 0) {
|
||
$layout.html('<div class="layout-container-tips">' + ($layout.data('layout-container-tips') || '布局拖放到该区域松开鼠标即可') + '</div>');
|
||
}
|
||
}
|
||
});
|
||
});
|
||
|
||
// 布局容器设置
|
||
$(document).on('click', '.layout-content-submit-set', function () {
|
||
// 容器内容对象
|
||
$layout_content_obj = $(this).parents('.layout-content-container');
|
||
|
||
// 配置数据
|
||
var config_doc = '#offcanvas-layout-config';
|
||
var json = $layout_content_obj.attr('data-json') || null;
|
||
if (json != null) {
|
||
// 数据解析
|
||
json = JSON.parse(CryptoJS.enc.Base64.parse(decodeURIComponent(json)).toString(CryptoJS.enc.Utf8)) || null;
|
||
}
|
||
// 获取表单字段并赋空值
|
||
if ((json || null) == null) {
|
||
json = GetFormVal(config_doc, true);
|
||
for (var i in json) {
|
||
json[i] = '';
|
||
}
|
||
}
|
||
// 节点数据处理
|
||
json = ModuleConfigBaseContentHandle(json);
|
||
|
||
// 表单赋值
|
||
FormDataFill(json, config_doc);
|
||
// 单选框初始化
|
||
$offcanvas_layout_config.find('input[type="checkbox"], input[type="radio"]').uCheck();
|
||
|
||
// 背景色组件处理
|
||
ModuleColorpickerHandle($offcanvas_layout_config);
|
||
|
||
// 指定操作类型
|
||
$offcanvas_layout_config.attr('data-ent', 'layout-content-container');
|
||
|
||
// 打开配置
|
||
$offcanvas_layout_config.offCanvas('open');
|
||
});
|
||
|
||
// 模块拖放
|
||
$(document).on('dragstart', '.renovation-drag button', function (e) {
|
||
// 布局配置
|
||
var drag_value = $(this).data('value');
|
||
|
||
// 拖拽过程中经过的元素
|
||
$(document).on('dragenter', '.layout-content', function (e) {
|
||
// 当前是否在布局模式下操作
|
||
if ($('.renovation-tabs .am-tabs-nav li.am-active').data('value') == 'module') {
|
||
$('.layout-content').removeClass('layout-content-dragenter');
|
||
if (!$(this).hasClass('.layout-content-tips')) {
|
||
$(this).addClass('layout-content-dragenter');
|
||
}
|
||
}
|
||
});
|
||
// 拖拽离开元素移除过程中添加的样式
|
||
$(document).on('dragleave', '.renovation-drag button', function (e) {
|
||
$('.layout-content').removeClass('layout-content-dragenter');
|
||
});
|
||
// 拖拽结束
|
||
$(document).on('dragend', '.renovation-drag button', function (e) {
|
||
// 移除过程中添加的样式
|
||
$('.layout-content').removeClass('layout-content-dragenter');
|
||
|
||
// 关闭事件
|
||
$('.layout-content').off('dragover');
|
||
$('.layout-content').off('dragenter');
|
||
$('.layout-content').off('drop');
|
||
});
|
||
|
||
// 拖拽过程中一直在元素内、并阻止默认事件
|
||
$(document).on('dragover', '.layout-content', function (event) {
|
||
event.preventDefault();
|
||
event.stopPropagation();
|
||
});
|
||
|
||
// 拖放接收事件
|
||
$('.layout-content').on('drop', function (e) {
|
||
// 生成模块html
|
||
var html = RenovationModuleDragHtmlCreate(drag_value);
|
||
if (html != false) {
|
||
// 添加模块
|
||
$(this).find('.layout-content-tips').remove();
|
||
$(this).append(html);
|
||
|
||
// 模块弹出框提示初始化
|
||
$('.module-view-submit-drag').popover({
|
||
content: $layout.data('module-drag-title') || '拖拽排序',
|
||
trigger: 'hover focus',
|
||
theme: 'sm'
|
||
});
|
||
$('.module-view-submit-set').popover({
|
||
content: $layout.data('module-set-title') || '模块设置',
|
||
trigger: 'hover focus',
|
||
theme: 'sm'
|
||
});
|
||
$('.module-view-submit-del').popover({
|
||
content: $layout.data('module-del-title') || '模块移除',
|
||
trigger: 'hover focus',
|
||
theme: 'sm'
|
||
});
|
||
}
|
||
|
||
// 关闭事件
|
||
$('.layout-content').off('dragover');
|
||
$('.layout-content').off('dragenter');
|
||
$('.layout-content').off('drop');
|
||
});
|
||
});
|
||
|
||
// 模块移除
|
||
$(document).on('click', '.module-view-submit-del', function () {
|
||
var $this = $(this);
|
||
AMUI.dialog.confirm({
|
||
title: $layout.data('layout-reminder-title') || '温馨提示',
|
||
content: $layout.data('layout-reminder-msg') || '移除后不可恢复、确定继续吗?',
|
||
onConfirm: function (e) {
|
||
// 模块容器
|
||
var $module_view = $this.parents('.layout-content');
|
||
|
||
// 移除模块
|
||
$this.parents('.module-view').remove();
|
||
|
||
// 无模块则添加提示信息
|
||
if ($module_view.find('.module-view').length <= 0) {
|
||
$module_view.html('<div class="layout-content-tips">' + ($layout.data('layout-content-tips') || '模块内容区域') + '</div>');
|
||
}
|
||
}
|
||
});
|
||
});
|
||
|
||
// 模块设置
|
||
$(document).on('click', '.module-view-submit-set', function () {
|
||
// 基础
|
||
var $parent = $(this).parents('.module-view-submit-container');
|
||
var value = $parent.data('value') || null;
|
||
var index = $parent.data('index') || null;
|
||
var doc = $parent.data('doc') || null;
|
||
if (value == null || index == null || doc == null) {
|
||
Prompt($layout.data('module-attr-tips') || '模块属性有误');
|
||
return false;
|
||
}
|
||
|
||
// 公共数据
|
||
var json = $(doc).attr('data-json') || null;
|
||
if (json != null) {
|
||
// 数据解析
|
||
json = JSON.parse(CryptoJS.enc.Base64.parse(decodeURIComponent(json)).toString(CryptoJS.enc.Utf8)) || null;
|
||
}
|
||
|
||
// 配置模块
|
||
var config_doc = '#offcanvas-module-config-' + value;
|
||
var $config = $(config_doc);
|
||
$config.attr('data-value', value);
|
||
$config.attr('data-index', index);
|
||
$config.attr('data-doc', doc);
|
||
|
||
// 获取表单字段并赋空值
|
||
if ((json || null) == null) {
|
||
var fields_dv = {
|
||
goods_order_by_type: 0,
|
||
goods_order_by_rule: 0,
|
||
view_list_show_style: 'routine',
|
||
view_list_number_sm: 2,
|
||
view_list_number_md: 5,
|
||
view_list_number_lg: 5,
|
||
goods_data_type: "goods"
|
||
};
|
||
json = GetFormVal(config_doc, true);
|
||
for (var i in json) {
|
||
json[i] = (fields_dv[i] == undefined) ? '' : fields_dv[i];
|
||
}
|
||
}
|
||
|
||
// 展示模式默认值处理、默认常规模式
|
||
if ((json.view_list_show_style || null) == null) {
|
||
json['view_list_show_style'] = 'routine';
|
||
}
|
||
|
||
// 根据模块类型处理
|
||
switch (value) {
|
||
// 图片模块
|
||
case 'images':
|
||
var default_images = $config.data('default-images');
|
||
var html = '<li>';
|
||
html += '<input type="text" name="content_images" value="' + (json.content_images || '') + '" data-validation-message="' + ($layout.data('upload-images-tips') || '请上传图片') + '" value="" required />';
|
||
html += '<img src="' + (json.content_images || default_images) + '" />';
|
||
html += '</li>';
|
||
$config.find('ul.module-images-type-images-view').html(html);
|
||
|
||
// 链接地址处理
|
||
$config.find('.form-view-choice-container-content').html(ModuleConfigImagesToContentHtml(json.content_to_name || ''));
|
||
break;
|
||
|
||
// 多图
|
||
case 'many-images':
|
||
var html = '';
|
||
if ((json.data_list || null) != null && json.data_list.length > 0) {
|
||
for (var i in json.data_list) {
|
||
html += ModuleConfigManyImagesItemContentHtml(json.data_list[i]['images'], json.data_list[i]['type'], json.data_list[i]['name'], json.data_list[i]['value']);
|
||
}
|
||
}
|
||
$config.find('.config-many-images-container').html(html);
|
||
break;
|
||
|
||
// 图文
|
||
case 'images-text':
|
||
var html = '';
|
||
if ((json.data_list || null) != null && json.data_list.length > 0) {
|
||
for (var i in json.data_list) {
|
||
html += ModuleConfigImagesTextItemContentHtml(json.data_list[i]);
|
||
}
|
||
}
|
||
$config.find('.config-images-text-container').html(html);
|
||
// 展示模式默认空,必须要选择
|
||
if ((json.view_list_show_style || null) == null) {
|
||
json['view_list_show_style'] = '';
|
||
}
|
||
break;
|
||
|
||
// 图片魔方
|
||
case 'images-magic-cube':
|
||
var html = '';
|
||
if ((json.data_list || null) != null && json.data_list.length > 0) {
|
||
html += ModuleConfigImagesMagicCubeItemContentHtml(json);
|
||
}
|
||
$config.find('.config-images-magic-cube-container').html(html);
|
||
var $tips_msg = $offcanvas_config_images_magic_cube.find('.tips-msg');
|
||
if ((html || null) == null) {
|
||
$tips_msg.removeClass('am-hide');
|
||
} else {
|
||
$tips_msg.addClass('am-hide');
|
||
}
|
||
// 展示模式默认空,必须要选择
|
||
if ((json.view_list_show_style || null) == null) {
|
||
json['view_list_show_style'] = '';
|
||
}
|
||
break;
|
||
|
||
// 视频
|
||
case 'video':
|
||
// 视频地址
|
||
$config.find('.module-video-type-view-video video').attr('src', json.content_video || '');
|
||
|
||
// 封面图片
|
||
var html = '';
|
||
if ((json.content_images || null) != null) {
|
||
html += '<li>';
|
||
html += '<input type="text" name="content_images" value="' + json.content_images + '" /><img src="' + json.content_images + '" />';
|
||
html += '<i class="iconfont icon-close"></i>';
|
||
html += '</li>';
|
||
}
|
||
$config.find('.module-video-type-view-images').html(html);
|
||
break;
|
||
|
||
// 商品模块
|
||
case 'goods':
|
||
var goods_data_type = json.goods_data_type || 'goods';
|
||
switch (goods_data_type) {
|
||
// 商品
|
||
case 'goods':
|
||
$config.find('.config-goods-list').html(ModuleConfigGoodsItemContentHtml(json.data_list));
|
||
|
||
// 清空分类选择
|
||
$config.find('.offcanvas-config-goods-category-container .form-view-choice-container-content').html(ModuleConfigGoodsCategoryContentHtml());
|
||
$config.find('input[name="goods_category_value"]').val('');
|
||
break;
|
||
|
||
// 商品分类
|
||
case 'category':
|
||
var category = ((json.goods_category_value || null) == null) ? null : JSON.parse(decodeURIComponent(json.goods_category_value)) || null;
|
||
var name = (category == null || category.length <= 0) ? '' : category[category.length - 1]['name'];
|
||
var html = ModuleConfigGoodsCategoryContentHtml(name);
|
||
$config.find('.offcanvas-config-goods-category-container .form-view-choice-container-content').html(html);
|
||
|
||
// 清空商品列表
|
||
$config.find('.config-goods-list').html('');
|
||
$config.find('input[name="goods_ids"]').val('');
|
||
break;
|
||
|
||
// 未定义
|
||
default:
|
||
console.info(($layout.data('module-assembly-not-exist-tips') || '模块组件未定义') + '[' + goods_data_type + ']')
|
||
}
|
||
|
||
// tab处理
|
||
var index = 0;
|
||
$config.find('.am-tabs-nav li').each(function (k, v) {
|
||
if ($(this).find('a').data('value') == goods_data_type) {
|
||
index = k;
|
||
}
|
||
});
|
||
$config.find('.am-tabs-nav li').removeClass('am-active');
|
||
$config.find('.am-tabs-nav li').eq(index).addClass('am-active');
|
||
$config.find('.am-tabs-bd .am-tab-panel').removeClass('am-active');
|
||
$config.find('.am-tabs-bd .am-tab-panel').eq(index).addClass('am-active');
|
||
break;
|
||
|
||
// 标题
|
||
case 'title':
|
||
// 关键字
|
||
var html = '';
|
||
if ((json.keywords_list || null) != null && json.keywords_list.length > 0) {
|
||
for (var i in json.keywords_list) {
|
||
html += ModuleConfigTitleKeywordsContentHtml(json.keywords_list[i]);
|
||
}
|
||
}
|
||
$config.find('.config-title-container').html(html);
|
||
|
||
// 链接地址处理
|
||
$config.find('.form-view-choice-container-content').html(ModuleConfigImagesToContentHtml(json.content_to_name || ''));
|
||
break;
|
||
|
||
default:
|
||
if ($config.length == 0) {
|
||
Prompt(($layout.data('base-module-not-config-tips') || '模块未配置') + '(' + value + ')');
|
||
return false;
|
||
}
|
||
}
|
||
|
||
// 表单数据赋值
|
||
FormDataFill(json, config_doc);
|
||
|
||
// 背景色组件处理
|
||
ModuleColorpickerHandle($config);
|
||
|
||
// 颜色选择器初始化
|
||
ColorPickerInit();
|
||
|
||
// 单选框初始化
|
||
$config.find('input[type="checkbox"], input[type="radio"]').uCheck();
|
||
|
||
// 更新选择组件
|
||
$config.find('.chosen-select').trigger('chosen:updated');
|
||
|
||
// 打开弹窗
|
||
$config.offCanvas('open');
|
||
});
|
||
|
||
// 配置图片 - 选择页面事件
|
||
$offcanvas_config_images.on('click', '.form-view-choice-container-submit', function (e) {
|
||
OffcanvasConfigPagesChoice($(this), e);
|
||
});
|
||
|
||
// 配置图片 - 选择页面 - 移除
|
||
$offcanvas_config_images.on('click', '.form-view-choice-container-active i.am-icon-close', function (e) {
|
||
OffcanvasConfigPagesRemove($(this), e);
|
||
});
|
||
|
||
// 页面选择 tab 切换事件
|
||
$modal_pages_select.on('click', '.am-tabs-nav a', function () {
|
||
// 所有处理
|
||
$modal_pages_select.find('.am-tabs-bd ul li').removeClass('active');
|
||
$modal_pages_select.find('.am-tabs-bd ul li a').attr('data-json', '');
|
||
|
||
// 名称还原
|
||
$modal_pages_select.find('.am-tabs-bd ul li').each(function (k, v) {
|
||
var $o = $(this).find('a');
|
||
$o.attr('data-json', '');
|
||
$o.find('span').text($o.data('name'));
|
||
});
|
||
|
||
// 自定义链接清空
|
||
$('.pages-custom-url-container input').val('');
|
||
});
|
||
|
||
// 页面选择切换
|
||
$modal_pages_select.on('click', '.am-tabs-bd ul li a', function () {
|
||
// 选中状态
|
||
var $parent = $(this).parents('.am-tab-panel');
|
||
$parent.find('li').removeClass('active');
|
||
$(this).parent().addClass('active');
|
||
|
||
// 参数值
|
||
var value = $(this).data('value') || null;
|
||
var name = $(this).data('name') || null;
|
||
var json = $(this).attr('data-json') || null;
|
||
if (value == null || name == null) {
|
||
Prompt($layout.data('params-tips') || '参数值有误');
|
||
return false;
|
||
}
|
||
if (json != null) {
|
||
json = JSON.parse(decodeURIComponent(json)) || null;
|
||
}
|
||
|
||
// 根据类型处理
|
||
switch (value) {
|
||
// 单一商品
|
||
case 'goods':
|
||
// 弹窗数据设置并打开
|
||
var goods_ids = (json == null || (json.id || null) == null) ? '' : json.id;
|
||
$popup_goods_select.attr('data-goods-ids', goods_ids);
|
||
$popup_goods_select.attr('data-type', 'single-goods');
|
||
$popup_goods_select.attr('data-is-single-choice', 1);
|
||
$popup_goods_select.modal({ closeViaDimmer: false });
|
||
// 弹窗没有商品内容则触发搜索
|
||
if($popup_goods_select.find('.goods-list-container ul li').length == 0)
|
||
{
|
||
$popup_goods_select.find('.forth-selection-container .search-submit').trigger('click');
|
||
}
|
||
break;
|
||
|
||
// 搜索页面
|
||
case 'goods_search':
|
||
var index = 0;
|
||
var type = 'category';
|
||
var value = null;
|
||
if (json != null && (json.type || null) != null) {
|
||
// 基础参数
|
||
var arr = ['category', 'brand', 'keywords', 'other'];
|
||
index = arr.indexOf(json.type);
|
||
type = json.type;
|
||
value = json.value || null;
|
||
}
|
||
|
||
// tab导航和容器
|
||
$popup_goods_search.find('.am-tabs-nav li').removeClass('am-active');
|
||
$popup_goods_search.find('.am-tabs-nav li').eq(index).addClass('am-active');
|
||
$popup_goods_search.find('.am-tabs-bd .am-tab-panel').removeClass('am-active');
|
||
$popup_goods_search.find('.am-tabs-bd .am-tab-panel').eq(index).addClass('am-active');
|
||
|
||
// 数据处理
|
||
$popup_goods_search.find('.form-container-category').find('.goods-category-select-2, .goods-category-select-3').html('').addClass('am-hide');
|
||
$popup_goods_search.find('.form-container-category .already-select-tips').attr('data-value', '').addClass('am-hide').find('strong').text('');
|
||
$popup_goods_search.find('.goods-category-choice-content ul li.active').removeClass('active');
|
||
$popup_goods_search.find('.form-container-keywords input').val('');
|
||
|
||
// 数据选中
|
||
if (value != null) {
|
||
switch (type) {
|
||
// 商品分类
|
||
case 'category':
|
||
for (var i in value) {
|
||
var $gcs = $popup_goods_search.find('.form-container-category .goods-category-select-' + (parseInt(i) + 1));
|
||
if ($gcs.length > 0 && $gcs.find('li').length > 0) {
|
||
$gcs.find('li').each(function (k, v) {
|
||
if ($(this).find('a').data('value') == value[i]['id']) {
|
||
$(this).find('a').trigger('click');
|
||
}
|
||
});
|
||
}
|
||
}
|
||
break;
|
||
|
||
// 品牌
|
||
case 'brand':
|
||
$popup_goods_search.find('.form-container-brand ul li').each(function (k, v) {
|
||
if ($(this).find('a').data('value') == value.id) {
|
||
$(this).addClass('active');
|
||
}
|
||
});
|
||
break;
|
||
|
||
// 关键字
|
||
case 'keywords':
|
||
$popup_goods_search.find('.form-container-keywords input').val(value);
|
||
break;
|
||
}
|
||
}
|
||
|
||
$popup_goods_search.modal({ closeViaDimmer: false });
|
||
break;
|
||
}
|
||
});
|
||
|
||
// 页面选择确认事件
|
||
$modal_pages_select.on('click', '.pages-confirm-submit', function () {
|
||
// 选中tab
|
||
var index = $modal_pages_select.find('.am-tabs-nav li.am-active').index();
|
||
|
||
// 参数值、自定义链接、常规页面选择
|
||
if (index == 2) {
|
||
var to_type = 'pages-custom-url';
|
||
var to_name = $layout.data('custom-url-name') || '自定义链接';
|
||
var to_value = GetFormVal('.pages-custom-url-container', true);
|
||
var count = 0;
|
||
for (var i in to_value) {
|
||
if ((to_value[i] || null) == null) {
|
||
count++;
|
||
}
|
||
}
|
||
if (count >= Object.keys(to_value).length) {
|
||
Prompt($layout.data('custom-url-tips') || '请至少填写一个地址');
|
||
return false;
|
||
}
|
||
to_value = encodeURIComponent(JSON.stringify(to_value));
|
||
} else {
|
||
var $obj = $modal_pages_select.find('.am-tab-panel.am-active ul li.active a');
|
||
var to_type = $obj.data('value') || '';
|
||
var to_name = $obj.data('name') || '';
|
||
var to_value = $obj.attr('data-json') || '';
|
||
var json = null;
|
||
if (to_value != '') {
|
||
json = JSON.parse(decodeURIComponent(to_value)) || null;
|
||
}
|
||
if (to_type == '' || to_name == '') {
|
||
Prompt($layout.data('before-choice-page-tips') || '请先选择页面');
|
||
return false;
|
||
}
|
||
|
||
// 根据类型处理
|
||
switch (to_type) {
|
||
// 单一商品
|
||
case 'goods':
|
||
if (json == null) {
|
||
Prompt($layout.data('choice-goods-tips') || '请选择商品');
|
||
return false;
|
||
}
|
||
|
||
// 选择位置是否存在
|
||
if ($page_parent_obj == null) {
|
||
Prompt($layout.data('before-choice-url-position-tips') || '请先选择链接位置');
|
||
return false;
|
||
}
|
||
|
||
// 显示名称
|
||
to_name += '(' + json['title'] + ')';
|
||
break;
|
||
|
||
// 搜索页面
|
||
case 'goods_search':
|
||
if (json == null) {
|
||
Prompt($layout.data('before-config-goods-search-tips') || '请先配置商品搜索');
|
||
return false;
|
||
}
|
||
|
||
// 显示名称
|
||
to_name += ModuleConfigGoodsSearchPageShowName(json);
|
||
break;
|
||
}
|
||
}
|
||
|
||
// 设置数据
|
||
var $parent = $page_parent_obj.parents('.form-view-choice-container');
|
||
var key = $parent.data('key');
|
||
var index = (key == undefined) ? '' : '_' + key;
|
||
$parent.find('input[name="content_to_type' + index + '"]').val(to_type);
|
||
$parent.find('input[name="content_to_name' + index + '"]').val(to_name);
|
||
$parent.find('input[name="content_to_value' + index + '"]').val(to_value);
|
||
$page_parent_obj.html(ModuleConfigImagesToContentHtml(to_name));
|
||
$modal_pages_select.modal('close');
|
||
});
|
||
|
||
// 商品配置-选择商品和分类
|
||
$offcanvas_config_goods.on('click', '.form-view-choice-container-submit', function () {
|
||
var value = $(this).parents('.form-view-choice-container').data('value');
|
||
switch (value) {
|
||
// 商品
|
||
case 'goods':
|
||
// 弹窗数据设置并打开
|
||
var goods_ids = OffcanvasModuleConfigGoodsIds();
|
||
$popup_goods_select.attr('data-goods-ids', goods_ids);
|
||
$popup_goods_select.attr('data-type', 'list-goods');
|
||
$popup_goods_select.attr('data-is-single-choice', 0);
|
||
$popup_goods_select.modal({ closeViaDimmer: false });
|
||
// 弹窗没有商品内容则触发搜索
|
||
if($popup_goods_select.find('.goods-list-container ul li').length == 0)
|
||
{
|
||
$popup_goods_select.find('.forth-selection-container .search-submit').trigger('click');
|
||
}
|
||
break;
|
||
|
||
// 商品分类
|
||
case 'category':
|
||
// 分类数据
|
||
var json = $offcanvas_config_goods.find('.offcanvas-config-goods-category-container input[name="goods_category_value"]').val() || null;
|
||
if (json != null) {
|
||
json = JSON.parse(decodeURIComponent(json)) || null;
|
||
}
|
||
if (json == null) {
|
||
// 数据清空
|
||
$popup_goods_category.find('.form-container-category').find('.goods-category-select-2, .goods-category-select-3').html('').addClass('am-hide');
|
||
$popup_goods_category.find('.form-container-category .already-select-tips').attr('data-value', '').addClass('am-hide').find('strong').text('');
|
||
$popup_goods_category.find('.goods-category-choice-content ul li.active').removeClass('active');
|
||
} else {
|
||
// 生成选择的数据
|
||
for (var i in json) {
|
||
var $gcs = $popup_goods_category.find('.form-container-category .goods-category-select-' + (parseInt(i) + 1));
|
||
if ($gcs.length > 0 && $gcs.find('li').length > 0) {
|
||
$gcs.find('li').each(function (k, v) {
|
||
if ($(this).find('a').data('value') == json[i]['id']) {
|
||
$(this).find('a').trigger('click');
|
||
}
|
||
});
|
||
}
|
||
}
|
||
}
|
||
|
||
$popup_goods_category.modal({ closeViaDimmer: false });
|
||
break;
|
||
|
||
default:
|
||
Prompt(($layout.data('type-event-not-exist-tips') || '类型事件未定义') + '[' + value + ']')
|
||
}
|
||
});
|
||
|
||
// 商品配置-商品选择-移除
|
||
$(document).on('click', '#offcanvas-module-config-goods .config-goods-list li a.am-close', function () {
|
||
// 商品id处理
|
||
var value = $(this).parent().data('gid');
|
||
var goods_ids = $offcanvas_config_goods.find('input[name="goods_ids"]').val() || null;
|
||
if (goods_ids != null) {
|
||
goods_ids = goods_ids.split(',');
|
||
for (var i in goods_ids) {
|
||
if (goods_ids[i] == value) {
|
||
goods_ids.splice(i, 1);
|
||
}
|
||
}
|
||
goods_ids = (goods_ids.length > 0) ? goods_ids.join(',') : '';
|
||
}
|
||
$offcanvas_config_goods.find('input[name="goods_ids"]').val(goods_ids || '');
|
||
|
||
// 移除元素
|
||
$(this).parent().remove();
|
||
});
|
||
|
||
// 商品配置-分类选择确认
|
||
$popup_goods_category.on('click', '.confirm-submit', function () {
|
||
// 分类数据
|
||
var json = $popup_goods_category.find('.already-select-tips').attr('data-value') || null;
|
||
if (json != null) {
|
||
json = JSON.parse(decodeURIComponent(json)) || null;
|
||
}
|
||
if (json == null) {
|
||
Prompt($layout.data('before-choice-goods-category-tips') || '请先选择商品分类');
|
||
return false;
|
||
}
|
||
|
||
// 当前选择的节点
|
||
var data = json[json.length - 1];
|
||
var html = ModuleConfigGoodsCategoryContentHtml(data.name);
|
||
var $offcanvas_category = $offcanvas_config_goods.find('.offcanvas-config-goods-category-container');
|
||
$offcanvas_category.find('.form-view-choice-container-content').html(html);
|
||
$offcanvas_category.find('input[name="goods_category_value"]').val(encodeURIComponent(JSON.stringify(json)));
|
||
$popup_goods_category.modal('close');
|
||
});
|
||
|
||
// 商品配置-分类选择确认-移除
|
||
$offcanvas_config_goods.on('click', '.offcanvas-config-goods-category-container .form-view-choice-container-active i.am-icon-close', function () {
|
||
var $parent = $(this).parents('.form-view-choice-container-content');
|
||
$parent.html('<a href="javascript:;" class="form-view-choice-container-submit">' + ($layout.data('choice-goods-category-tips') || '请选择商品分类') + '</a>');
|
||
$parent.parent().find('input[name="goods_category_value"]').val('');
|
||
return false;
|
||
});
|
||
|
||
// 商品配置-tab切换
|
||
$offcanvas_config_goods.on('click', '.am-tabs-nav a', function () {
|
||
$offcanvas_config_goods.find('input[name="goods_data_type"]').val($(this).data('value') || 'goods');
|
||
});
|
||
|
||
|
||
// 商品搜索选择
|
||
// 分页
|
||
$popup_goods_select.find('.goods-page-container').html(PageLibrary());
|
||
|
||
// 搜索商品
|
||
$(document).on('click', '#popup-module-goods-select .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 = $popup_goods_select.find('.forth-selection-container').data('search-url');
|
||
var category_field = $popup_goods_select.find('.forth-selection-container').find('input[name="category_field"]').val() || '';
|
||
var category_id = $popup_goods_select.find('.forth-selection-form-category').val();
|
||
var keywords = $popup_goods_select.find('.forth-selection-form-keywords').val();
|
||
var goods_ids = $popup_goods_select.attr('data-goods-ids') || '';
|
||
|
||
var $this = $(this);
|
||
if ($this.hasClass('search-submit')) {
|
||
$this.button('loading');
|
||
}
|
||
$('.goods-list-container ul.am-gallery').html('<div class="table-no"><i class="am-icon-spinner am-icon-pulse"></i> ' + ($('.goods-list-container').data('loading-msg')) + '</div>');
|
||
$.ajax({
|
||
url: RequestUrlHandle(url),
|
||
type: 'post',
|
||
data: { "page": page, "category_field": category_field, "category_id": category_id, "keywords": keywords, "goods_ids": goods_ids },
|
||
dataType: 'json',
|
||
success: function (res) {
|
||
$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('<div class="table-no"><i class="am-icon-warning"></i> ' + res.msg + '</div>');
|
||
}
|
||
},
|
||
error: function (res) {
|
||
$this.button('reset');
|
||
var msg = HtmlToString(xhr.responseText) || (window['lang_error_text'] || '异常错误');
|
||
Prompt(msg, null, 30);
|
||
$('.goods-list-container ul.am-gallery').html('<div class="table-no"><i class="am-icon-warning"></i> ' + msg + '</div>');
|
||
}
|
||
});
|
||
});
|
||
|
||
// 商品添加/删除
|
||
$(document).on('click', '.goods-list-container .goods-add-submit, .goods-list-container .goods-del-submit', function () {
|
||
// 基础参数
|
||
var is_single_choice = parseInt($popup_goods_select.attr('data-is-single-choice')) || 0;
|
||
var goods_ids = $popup_goods_select.attr('data-goods-ids') || null;
|
||
goods_ids = (goods_ids == null) ? [] : goods_ids.split(',');
|
||
|
||
// 商品信息
|
||
var $this = $(this);
|
||
var type = $this.data('type');
|
||
var $parent = $this.parents('li');
|
||
var goods_id = $parent.data('gid');
|
||
var goods_title = $parent.data('title');
|
||
var goods_url = $parent.data('url');
|
||
var goods_img = $parent.data('img');
|
||
|
||
// 是否单选
|
||
if (is_single_choice == 1) {
|
||
// 还原选项
|
||
$popup_goods_select.find('.goods-list-container li').each(function (k, v) {
|
||
$(this).find('.icon-submit-container').html($(this).data('add-html'));
|
||
});
|
||
|
||
if (type == 'add') {
|
||
goods_ids = [goods_id];
|
||
$parent.find('.icon-submit-container').html($parent.data('del-html'));
|
||
} else {
|
||
goods_ids = [];
|
||
}
|
||
} else {
|
||
// 商品是否已经添加
|
||
var index = goods_ids.indexOf(goods_id.toString());
|
||
if (index == -1) {
|
||
goods_ids.push(goods_id);
|
||
} else {
|
||
goods_ids.splice(index, 1);
|
||
}
|
||
var icon_html = $parent.data((type == 'add' ? 'del' : 'add') + '-html');
|
||
$this.parent().html(icon_html);
|
||
}
|
||
|
||
// 选择的商品id赋值
|
||
$popup_goods_select.attr('data-goods-ids', goods_ids.join(','));
|
||
});
|
||
|
||
// 商品选择确认事件
|
||
$popup_goods_select.on('click', '.confirm-submit', function () {
|
||
// 已选商品
|
||
var goods_ids = $popup_goods_select.attr('data-goods-ids') || null;
|
||
if (goods_ids == null) {
|
||
Prompt($layout.data('before-choice-goods-tips') || '请先选择商品');
|
||
return false;
|
||
}
|
||
|
||
// 基础参数
|
||
var $this = $(this);
|
||
var url = $popup_goods_select.find('.forth-selection-container').data('data-url');
|
||
var type = $popup_goods_select.attr('data-type') || null;
|
||
var is_single_choice = parseInt($popup_goods_select.attr('data-is-single-choice')) || 0;
|
||
|
||
// 获取商品
|
||
$this.button('loading');
|
||
$.ajax({
|
||
url: RequestUrlHandle(url),
|
||
type: 'post',
|
||
data: { "goods_ids": goods_ids },
|
||
dataType: 'json',
|
||
success: function (res) {
|
||
$this.button('reset');
|
||
if (res['code'] == 0) {
|
||
if ((res.data || null) != null && res.data.length > 0) {
|
||
// 根据类型处理不同业务逻辑
|
||
var data = res.data;
|
||
switch (type) {
|
||
// 单一商品选择
|
||
case 'single-goods':
|
||
var $single_goods = $modal_pages_select.find('.am-tabs-bd ul li.page-goods a');
|
||
$single_goods.find('span').text($single_goods.data('name') + '(' + data[0]['title'] + ')');
|
||
$single_goods.attr('data-json', encodeURIComponent(JSON.stringify(data[0])));
|
||
break;
|
||
|
||
// 列表商品
|
||
case 'list-goods':
|
||
// 商品id赋值
|
||
var goods_ids = data.map(function (e) { return e.id; }).join(',');
|
||
$offcanvas_config_goods.find('input[name="goods_ids"]').val(goods_ids);
|
||
|
||
// html 拼接
|
||
$offcanvas_config_goods.find('.config-goods-list').html(ModuleConfigGoodsItemContentHtml(data));
|
||
break;
|
||
}
|
||
|
||
// 关闭商品窗口
|
||
$popup_goods_select.modal('close');
|
||
|
||
// 清空选择的商品id
|
||
$popup_goods_select.attr('data-goods-ids', '');
|
||
} else {
|
||
Prompt($layout.data('goods-data-empty-tips') || '商品信息为空');
|
||
}
|
||
} else {
|
||
Prompt(res.msg);
|
||
}
|
||
},
|
||
error: function (res) {
|
||
$this.button('reset');
|
||
var msg = HtmlToString(xhr.responseText) || (window['lang_error_text'] || '异常错误');
|
||
Prompt(msg, null, 30);
|
||
}
|
||
});
|
||
});
|
||
|
||
// 商品搜索tab类型切换事件
|
||
$popup_goods_search.on('click', '.am-tabs-nav a', function () {
|
||
$popup_goods_search.find('.form-container-category').find('.goods-category-select-2, .goods-category-select-3').html('').addClass('am-hide');
|
||
$popup_goods_search.find('.form-container-category .already-select-tips').attr('data-value', '').addClass('am-hide').find('strong').text('');
|
||
$popup_goods_search.find('.goods-category-choice-content ul li.active').removeClass('active');
|
||
$popup_goods_search.find('.form-container-keywords input').val('');
|
||
});
|
||
|
||
// 分类选择切换
|
||
$(document).on('click', '.layout-category-choice .goods-category-choice-content ul li a', function () {
|
||
// 父级
|
||
var $parents = $(this).parents('.goods-category-choice');
|
||
|
||
// 选中
|
||
$(this).parent().addClass('active').siblings().removeClass('active');
|
||
|
||
// 分类数据
|
||
var data = $(this).find('span.data-json').text() || null;
|
||
if (data != null) {
|
||
data = JSON.parse(CryptoJS.enc.Base64.parse(decodeURIComponent(data)).toString(CryptoJS.enc.Utf8))
|
||
}
|
||
|
||
// 参数
|
||
var level = $(this).parents('ul').data('level') || 1;
|
||
var level_next = level + 1;
|
||
|
||
// 拼接html
|
||
if (data != null && level < 3) {
|
||
var html = '';
|
||
for (var i in data) {
|
||
var json = ((data[i]['items'] || null) == null || data[i]['items'].length == 0) ? '' : encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(data[i]['items']))));
|
||
html += '<li><a href="javascript:;" data-value="' + data[i]['id'] + '">';
|
||
html += '<span class="data-name">' + data[i]['name'] + '</span>';
|
||
html += '<span class="data-json am-hide">' + json + '</span>';
|
||
if ((data[i]['items'] || null) != null && data[i]['items'].length > 0) {
|
||
html += '<i class="iconfont icon-angle-right am-fr"></i>';
|
||
}
|
||
html += '</a></li>';
|
||
}
|
||
$parents.find('.goods-category-select-' + level_next).html(html).removeClass('am-hide');
|
||
}
|
||
|
||
// 级别数据处理
|
||
if (data == null) {
|
||
$parents.find('.goods-category-select-' + level_next).addClass('am-hide').html('');
|
||
} else {
|
||
$parents.find('.goods-category-select-' + level_next).removeClass('am-hide');
|
||
}
|
||
|
||
// 选择第一级的时候隐藏第三级
|
||
if (level == 1) {
|
||
$parents.find('.goods-category-select-3').addClass('am-hide').html('');
|
||
}
|
||
|
||
// 提示信息展示
|
||
var text = '';
|
||
var value = [];
|
||
$parents.find('ul li.active').each(function (k, v) {
|
||
if (k > 0) {
|
||
text += ' > ';
|
||
}
|
||
var name = $(this).find('a span.data-name').text();
|
||
value.push({ "id": $(this).find('a').data('value'), "name": name });
|
||
text += name;
|
||
});
|
||
var $tips = $parents.find('.already-select-tips');
|
||
$tips.removeClass('am-hide');
|
||
$tips.find('strong').text(text);
|
||
|
||
// 选择数据
|
||
$tips.attr('data-value', encodeURIComponent(JSON.stringify(value)));
|
||
});
|
||
|
||
// 左侧配置 - 多图- 多图添加图片
|
||
$offcanvas_config_many_images.on('click', '.config-many-images-item-add', function () {
|
||
$offcanvas_config_many_images.find('.config-many-images-container').append(ModuleConfigManyImagesItemContentHtml());
|
||
});
|
||
|
||
// 配置多图 - 选择页面事件
|
||
$offcanvas_config_many_images.on('click', '.form-view-choice-container-submit', function (e) {
|
||
OffcanvasConfigPagesChoice($(this), e);
|
||
});
|
||
|
||
// 左侧配置 - 配置多图 - 链接地址 - 移除
|
||
$offcanvas_config_many_images.on('click', '.form-view-choice-container-active i.am-icon-close', function (e) {
|
||
OffcanvasConfigPagesRemove($(this), e);
|
||
});
|
||
|
||
// 左侧配置 - 配置多图 - 移除
|
||
$(document).on('click', '#offcanvas-module-config-many-images .config-many-images-container .am-panel a.am-close', function () {
|
||
$(this).parent().remove();
|
||
});
|
||
|
||
// 配置多图 - 展示模式切换
|
||
$(document).on('click', '#offcanvas-module-config-many-images input[name="view_list_show_style"]', function () {
|
||
$base_show_style_value_obj = $(this).parents('.config-view-show-style').find('input[name="view_list_show_style_value"]');
|
||
switch ($(this).val()) {
|
||
// 滚动
|
||
case 'rolling':
|
||
// 数据填充
|
||
var json = ViewRollingShowStyleValueHandle($base_show_style_value_obj.val());
|
||
if (json['item_margin'] <= 0) {
|
||
json['item_margin'] = '';
|
||
}
|
||
FormDataFill(json, '#modal-module-rolling-config');
|
||
|
||
// 开关状态
|
||
$modal_rolling_config.find('input[name="is_auto_play"]').switch().toggleSwitch(json.is_auto_play);
|
||
$modal_rolling_config.find('input[name="is_nav_dot"]').switch().toggleSwitch(json.is_nav_dot);
|
||
|
||
// 开启弹窗
|
||
$modal_rolling_config.modal({
|
||
width: 260,
|
||
height: 370,
|
||
closeViaDimmer: false
|
||
});
|
||
break;
|
||
|
||
// 列表
|
||
case 'list':
|
||
// 数据填充
|
||
var json = ViewListShowStyleValueHandle($base_show_style_value_obj.val());
|
||
if (json['style_margin'] <= 0) {
|
||
json['style_margin'] = '';
|
||
}
|
||
FormDataFill(json, '#modal-module-list-config');
|
||
|
||
// 开启弹窗
|
||
$modal_list_config.modal({
|
||
width: 260,
|
||
height: 225,
|
||
closeViaDimmer: false
|
||
});
|
||
break;
|
||
|
||
default:
|
||
$base_show_style_value_obj.val('');
|
||
}
|
||
});
|
||
|
||
|
||
// 左侧配置 - 图文- 图文添加
|
||
$offcanvas_config_images_text.on('click', '.config-images-text-item-add', function () {
|
||
$offcanvas_config_images_text.find('.config-images-text-container').append(ModuleConfigImagesTextItemContentHtml());
|
||
// 单选框初始化
|
||
$offcanvas_config_images_text.find('input[type="checkbox"], input[type="radio"]').uCheck();
|
||
// 颜色选择器初始化
|
||
ColorPickerInit();
|
||
});
|
||
|
||
// 配置图文 - 选择页面事件
|
||
$offcanvas_config_images_text.on('click', '.form-view-choice-container-submit', function (e) {
|
||
OffcanvasConfigPagesChoice($(this), e);
|
||
});
|
||
|
||
// 左侧配置 - 配置图文 - 链接地址 - 移除
|
||
$offcanvas_config_images_text.on('click', '.form-view-choice-container-active i.am-icon-close', function (e) {
|
||
OffcanvasConfigPagesRemove($(this), e);
|
||
});
|
||
|
||
// 左侧配置 - 配置图文 - 移除
|
||
$(document).on('click', '#offcanvas-module-config-images-text .config-images-text-container .am-panel a.am-close', function () {
|
||
$(this).parent().remove();
|
||
});
|
||
|
||
// 配置图文 - 展示模式切换
|
||
$(document).on('click', '#offcanvas-module-config-images-text input[name="view_list_show_style"]', function () {
|
||
$base_show_style_value_obj = $(this).parents('.config-view-show-style').find('input[name="view_list_show_style_value"]');
|
||
switch ($(this).val()) {
|
||
// 滚动
|
||
case 'rolling':
|
||
// 数据填充
|
||
var json = ViewRollingShowStyleValueHandle($base_show_style_value_obj.val());
|
||
if (json['item_margin'] <= 0) {
|
||
json['item_margin'] = '';
|
||
}
|
||
FormDataFill(json, '#modal-module-rolling-config');
|
||
|
||
// 开关状态
|
||
$modal_rolling_config.find('input[name="is_auto_play"]').switch().toggleSwitch(json.is_auto_play);
|
||
$modal_rolling_config.find('input[name="is_nav_dot"]').switch().toggleSwitch(json.is_nav_dot);
|
||
|
||
// 开启弹窗
|
||
$modal_rolling_config.modal({
|
||
width: 260,
|
||
height: 370,
|
||
closeViaDimmer: false
|
||
});
|
||
break;
|
||
|
||
// 默认
|
||
default:
|
||
// 数据填充
|
||
var json = ViewListShowStyleValueHandle($base_show_style_value_obj.val());
|
||
if (json['style_margin'] <= 0) {
|
||
json['style_margin'] = '';
|
||
}
|
||
FormDataFill(json, '#modal-module-list-config');
|
||
|
||
// 开启弹窗
|
||
$modal_list_config.modal({
|
||
width: 260,
|
||
height: 225,
|
||
closeViaDimmer: false
|
||
});
|
||
}
|
||
});
|
||
|
||
|
||
// 配置图片魔方 - 选择页面事件
|
||
$offcanvas_config_images_magic_cube.on('click', '.form-view-choice-container-submit', function (e) {
|
||
OffcanvasConfigPagesChoice($(this), e);
|
||
});
|
||
|
||
// 左侧配置 - 配置图片魔方 - 链接地址 - 移除
|
||
$offcanvas_config_images_magic_cube.on('click', '.form-view-choice-container-active i.am-icon-close', function (e) {
|
||
OffcanvasConfigPagesRemove($(this), e);
|
||
});
|
||
|
||
// 配置图片魔方 - 展示模式切换
|
||
$(document).on('click', '#offcanvas-module-config-images-magic-cube input[name="view_list_show_style"]', function () {
|
||
var html = ModuleConfigImagesMagicCubeItemContentHtml();
|
||
if (html !== false) {
|
||
$offcanvas_config_images_magic_cube.find('.config-images-magic-cube-container').append(html);
|
||
}
|
||
});
|
||
|
||
// 配置商品 - 展示模式切换
|
||
$(document).on('click', '#offcanvas-module-config-goods input[name="view_list_show_style"]', function () {
|
||
$base_show_style_value_obj = $(this).parents('.config-view-show-style').find('input[name="view_list_show_style_value"]');
|
||
switch ($(this).val()) {
|
||
// 滚动
|
||
case 'rolling':
|
||
// 数据填充
|
||
var json = ViewRollingShowStyleValueHandle($base_show_style_value_obj.val());
|
||
if (json['item_margin'] <= 0) {
|
||
json['item_margin'] = '';
|
||
}
|
||
FormDataFill(json, '#modal-module-rolling-config');
|
||
|
||
// 开关状态
|
||
$modal_rolling_config.find('input[name="is_auto_play"]').switch().toggleSwitch(json.is_auto_play);
|
||
$modal_rolling_config.find('input[name="is_nav_dot"]').switch().toggleSwitch(json.is_nav_dot);
|
||
|
||
// 开启弹窗
|
||
$modal_rolling_config.modal({
|
||
width: 260,
|
||
height: 370,
|
||
closeViaDimmer: false
|
||
});
|
||
break;
|
||
}
|
||
});
|
||
|
||
|
||
// 左侧配置 - 标题 - 右侧按钮 - 选择页面事件
|
||
$offcanvas_config_title.on('click', '.form-view-choice-container-submit', function (e) {
|
||
OffcanvasConfigPagesChoice($(this), e);
|
||
});
|
||
|
||
// 左侧配置 - 标题 - 右侧按钮 - 移除
|
||
$offcanvas_config_title.on('click', '.form-view-choice-container-active i.am-icon-close', function (e) {
|
||
OffcanvasConfigPagesRemove($(this), e);
|
||
});
|
||
|
||
// 左侧配置 - 标题 - 添加关键字
|
||
$offcanvas_config_title.on('click', '.config-title-item-add', function () {
|
||
ModuleConfigTitleKeywordsOpen();
|
||
});
|
||
|
||
// 左侧配置 - 标题 - 关键字 - 编辑
|
||
$(document).on('click', '#offcanvas-module-config-title .config-title-container li a.am-icon-edit', function () {
|
||
var $parent = $(this).parent();
|
||
$base_title_keywords_obj = $parent;
|
||
ModuleConfigTitleKeywordsOpen(1, $parent.find('input').val() || null);
|
||
});
|
||
|
||
// 左侧配置 - 标题 - 关键字 - 移除
|
||
$(document).on('click', '#offcanvas-module-config-title .config-title-container li a.am-icon-remove', function () {
|
||
$(this).parents('li').remove();
|
||
});
|
||
|
||
// 左侧配置 - 标题 - 关键字 - 选择页面事件
|
||
$modal_title_keywords.on('click', '.form-view-choice-container-submit', function (e) {
|
||
OffcanvasConfigPagesChoice($(this), e);
|
||
});
|
||
|
||
// 左侧配置 - 标题 - 关键字 - 移除
|
||
$modal_title_keywords.on('click', '.form-view-choice-container-active i.am-icon-close', function (e) {
|
||
OffcanvasConfigPagesRemove($(this), e);
|
||
});
|
||
|
||
|
||
// 页面布局数据保存
|
||
var $layout_operate_container = $('.layout-operate-container');
|
||
$layout_operate_container.on('click', 'button', function () {
|
||
// 基础配置
|
||
var data = $layout_operate_container.attr('data-json') || null;
|
||
if (data != null) {
|
||
data = JSON.parse(decodeURIComponent(data)) || null;
|
||
}
|
||
if (data == null) {
|
||
data = {};
|
||
}
|
||
|
||
// 设计配置
|
||
data['config'] = JSON.stringify(LayoutViewConfig());
|
||
|
||
// 保存数据
|
||
var $this = $(this);
|
||
$this.button('loading');
|
||
$.ajax({
|
||
url: RequestUrlHandle($layout_operate_container.data('save-url')),
|
||
type: 'post',
|
||
data: data,
|
||
dataType: 'json',
|
||
success: function (res) {
|
||
if (res['code'] == 0) {
|
||
Prompt(res.msg, 'success');
|
||
setTimeout(function () {
|
||
var url = $layout_operate_container.find('a').attr('href') || null;
|
||
if (url == null || url == 'javascript:;') {
|
||
window.location.reload();
|
||
} else {
|
||
window.location.href = url;
|
||
}
|
||
}, 1500);
|
||
} else {
|
||
$this.button('reset');
|
||
Prompt(res.msg);
|
||
}
|
||
},
|
||
error: function (xhr, type) {
|
||
$this.button('reset');
|
||
var msg = HtmlToString(xhr.responseText) || (window['lang_error_text'] || '异常错误');
|
||
Prompt(msg, null, 30);
|
||
}
|
||
});
|
||
});
|
||
}); |