|
@@ -370,13 +370,13 @@ var Bll = { |
|
@@ -370,13 +370,13 @@ var Bll = { |
370
|
initRecommendProduct: function(selector) {
|
370
|
initRecommendProduct: function(selector) {
|
371
|
|
371
|
|
372
|
// 手动选择商品
|
372
|
// 手动选择商品
|
373
|
- if(Bll.recommendProductDisplayType === 1) {
|
373
|
+ if(Bll.recommendProduct.displayType === 1) {
|
374
|
$('.editor-dialog').show();
|
374
|
$('.editor-dialog').show();
|
375
|
|
375
|
|
376
|
$('.editorTitle').html(common.util.__template2($("#recommend-product-filter").html()));
|
376
|
$('.editorTitle').html(common.util.__template2($("#recommend-product-filter").html()));
|
377
|
var tabTree = new common.tabTree("#sortTree");
|
377
|
var tabTree = new common.tabTree("#sortTree");
|
378
|
tabTree.init();
|
378
|
tabTree.init();
|
379
|
- $('.selectedProductsNum').text(Bll.recommendProductList.length);
|
379
|
+ $('.selectedProductsNum').text(Bll.recommendProduct.sknList.length);
|
380
|
// 设置dialog边框
|
380
|
// 设置dialog边框
|
381
|
$('.editor-dialog').css({padding: "20px 20px 60px", border: "1px solid #ddd", background: "#FFFFFF"});
|
381
|
$('.editor-dialog').css({padding: "20px 20px 60px", border: "1px solid #ddd", background: "#FFFFFF"});
|
382
|
Bll.moduleGrid = new grid({
|
382
|
Bll.moduleGrid = new grid({
|
|
@@ -394,9 +394,9 @@ var Bll = { |
|
@@ -394,9 +394,9 @@ var Bll = { |
394
|
size: 12
|
394
|
size: 12
|
395
|
};
|
395
|
};
|
396
|
if(Bll.recommendProductTab === 1) {
|
396
|
if(Bll.recommendProductTab === 1) {
|
397
|
- // 注意:如果recommendProductList为空数组,不能直接传递Bll.recommendProductList.toString(),因为接口框架会忽略空字符。
|
397
|
+ // 注意:如果Bll.recommendProduct.sknList为空数组,不能直接传递Bll.recommendProduct.sknList.toString(),因为接口框架会忽略空字符。
|
398
|
// 这时,在传递至后台接口时,映射的参数会是null,而非空字符串
|
398
|
// 这时,在传递至后台接口时,映射的参数会是null,而非空字符串
|
399
|
- params.productSKNList = Bll.recommendProductList.length === 0 ? " " : Bll.recommendProductList.toString();
|
399
|
+ params.productSKNList = Bll.recommendProduct.sknList.length === 0 ? " " : Bll.recommendProduct.sknList.toString();
|
400
|
}
|
400
|
}
|
401
|
|
401
|
|
402
|
return params;
|
402
|
return params;
|
|
@@ -444,7 +444,7 @@ var Bll = { |
|
@@ -444,7 +444,7 @@ var Bll = { |
444
|
display: '操作',
|
444
|
display: '操作',
|
445
|
render: function(item) {
|
445
|
render: function(item) {
|
446
|
// 当前SKN在选中列表中
|
446
|
// 当前SKN在选中列表中
|
447
|
- if($.inArray(item.productSKN, Bll.recommendProductList) > -1) {
|
447
|
+ if($.inArray(item.productSKN, Bll.recommendProduct.sknList) > -1) {
|
448
|
return '<a href="javascript:;" data-product-skn="' + item.productSKN + '" class="btn btn-xs unselect-product">取消选择</a>';
|
448
|
return '<a href="javascript:;" data-product-skn="' + item.productSKN + '" class="btn btn-xs unselect-product">取消选择</a>';
|
449
|
}
|
449
|
}
|
450
|
return '<a href="javascript:;" data-product-skn="' + item.productSKN + '" class="btn btn-xs select-product">选择</a>';
|
450
|
return '<a href="javascript:;" data-product-skn="' + item.productSKN + '" class="btn btn-xs select-product">选择</a>';
|
|
@@ -455,7 +455,9 @@ var Bll = { |
|
@@ -455,7 +455,9 @@ var Bll = { |
455
|
Bll.moduleGrid.init("/shop/selectAllProduct");
|
455
|
Bll.moduleGrid.init("/shop/selectAllProduct");
|
456
|
} else {
|
456
|
} else {
|
457
|
$('.editor-dialog').hide();
|
457
|
$('.editor-dialog').hide();
|
458
|
- $('.editorTitle').html(common.util.__template2($('#autoselect-recommend-product').html()));
|
458
|
+ $('.editorTitle').html(common.util.__template2($('#autoselect-recommend-product').html(), {data: Bll.recommendProduct}));
|
|
|
459
|
+ let edit = new common.edit('.editorTitle');
|
|
|
460
|
+ edit.init();
|
459
|
}
|
461
|
}
|
460
|
},
|
462
|
},
|
461
|
|
463
|
|
|
@@ -896,9 +898,8 @@ var Bll = { |
|
@@ -896,9 +898,8 @@ var Bll = { |
896
|
break;
|
898
|
break;
|
897
|
case "RecommendProduct":
|
899
|
case "RecommendProduct":
|
898
|
// 渲染 "展示类型" 选择组件
|
900
|
// 渲染 "展示类型" 选择组件
|
899
|
- Bll.recommendProductDisplayType = Bll.getRecommendProductDisplayType(module);
|
|
|
900
|
- Bll.recommendProductList = Bll.getModuleData(module); // 临时保存选中的SKN
|
|
|
901
|
- $('.editor-header').html(common.util.__template2($('#recommend-product-display-type').html(), {displayType: Bll.recommendProductDisplayType}));
|
901
|
+ Bll.recommendProduct = Bll.getRecommendProductData(module); // 临时保存装修数据
|
|
|
902
|
+ $('.editor-header').html(common.util.__template2($('#recommend-product-display-type').html(), {displayType: Bll.recommendProduct.displayType}));
|
902
|
Bll.initRecommendProduct(selector);
|
903
|
Bll.initRecommendProduct(selector);
|
903
|
break;
|
904
|
break;
|
904
|
case "AppRecommendProduct":
|
905
|
case "AppRecommendProduct":
|
|
@@ -940,13 +941,52 @@ var Bll = { |
|
@@ -940,13 +941,52 @@ var Bll = { |
940
|
return 1;
|
941
|
return 1;
|
941
|
},
|
942
|
},
|
942
|
|
943
|
|
943
|
- getRecommendProductDisplayType: function(module) {
|
|
|
944
|
- if(module.moduleData && module.moduleData.properties) {
|
|
|
945
|
- let isModuleMargin = module.moduleData.properties.isModuleMargin;
|
|
|
946
|
- return +isModuleMargin;
|
944
|
+ /**
|
|
|
945
|
+ * 获取 推荐商品 模块数据,数据格式为: {data: [{sknList: [], lineNumber: 2, sortType: 1, sortPattern: 2}], properties: {displayType: 0}}
|
|
|
946
|
+ */
|
|
|
947
|
+ getRecommendProductData: function(module) {
|
|
|
948
|
+ let recommendProduct = {};
|
|
|
949
|
+ if(module.moduleData) {
|
|
|
950
|
+ if(module.moduleData.data) {
|
|
|
951
|
+ recommendProduct = module.moduleData.data[0];
|
|
|
952
|
+ }
|
|
|
953
|
+
|
|
|
954
|
+ if(module.moduleData.properties) {
|
|
|
955
|
+ recommendProduct.displayType = module.moduleData.properties.displayType;
|
|
|
956
|
+ }
|
947
|
}
|
957
|
}
|
948
|
|
958
|
|
949
|
- return 0;
|
959
|
+ if(recommendProduct.sknList === undefined) {
|
|
|
960
|
+ recommendProduct.sknList = [];
|
|
|
961
|
+ }
|
|
|
962
|
+
|
|
|
963
|
+ if(recommendProduct.displayType === undefined) {
|
|
|
964
|
+ recommendProduct.displayType = 0;
|
|
|
965
|
+ }
|
|
|
966
|
+
|
|
|
967
|
+ return recommendProduct;
|
|
|
968
|
+ },
|
|
|
969
|
+
|
|
|
970
|
+ /**
|
|
|
971
|
+ * 保存 推荐商品 模块数据,装修数据临时保存在 Bll.recommendProduct中
|
|
|
972
|
+ * @param index 当前模块在装修模块列表中的索引
|
|
|
973
|
+ */
|
|
|
974
|
+ saveRecommendProduct: function(index) {
|
|
|
975
|
+ let displayType = Bll.recommendProduct.displayType;
|
|
|
976
|
+ let data = {};
|
|
|
977
|
+
|
|
|
978
|
+ // 自动选品
|
|
|
979
|
+ if(displayType === 0) {
|
|
|
980
|
+ data.lineNumber = Bll.recommendProduct.lineNumber;
|
|
|
981
|
+ data.sortType = Bll.recommendProduct.sortType;
|
|
|
982
|
+ data.sortPattern = Bll.recommendProduct.sortPattern;
|
|
|
983
|
+ } else {
|
|
|
984
|
+ data.sknList = Bll.recommendProduct.sknList;
|
|
|
985
|
+ }
|
|
|
986
|
+
|
|
|
987
|
+ Bll.moduleDataList[index].moduleData.data = [];
|
|
|
988
|
+ Bll.moduleDataList[index].moduleData.data.push(data);
|
|
|
989
|
+ Bll.moduleDataList[index].moduleData.properties.displayType = displayType;
|
950
|
},
|
990
|
},
|
951
|
|
991
|
|
952
|
// 初始化编辑弹出框底部Tips,selector: 选择器标识,index:模块索引
|
992
|
// 初始化编辑弹出框底部Tips,selector: 选择器标识,index:模块索引
|
|
@@ -984,7 +1024,14 @@ var Bll = { |
|
@@ -984,7 +1024,14 @@ var Bll = { |
984
|
value: '确认',
|
1024
|
value: '确认',
|
985
|
css: 'btn-info',
|
1025
|
css: 'btn-info',
|
986
|
callback: function() {
|
1026
|
callback: function() {
|
987
|
- var validation = Bll.validator.validateModule(Bll.moduleDataList[index].moduleType, Bll.moduleGrid.__rows);
|
1027
|
+ let validation = false;
|
|
|
1028
|
+ let moduleType = Bll.moduleDataList[index].moduleType;
|
|
|
1029
|
+ if(moduleType == 'RecommendProduct') {
|
|
|
1030
|
+ validation = Bll.validator.validateModule(moduleType, Bll.recommendProduct);
|
|
|
1031
|
+ } else {
|
|
|
1032
|
+ validation = Bll.validator.validateModule(moduleType, Bll.moduleGrid.__rows);
|
|
|
1033
|
+ }
|
|
|
1034
|
+
|
988
|
if(! validation) {
|
1035
|
if(! validation) {
|
989
|
return false;
|
1036
|
return false;
|
990
|
}
|
1037
|
}
|
|
@@ -1000,7 +1047,11 @@ var Bll = { |
|
@@ -1000,7 +1047,11 @@ var Bll = { |
1000
|
Bll.moduleDataList[index].moduleData.properties = {};
|
1047
|
Bll.moduleDataList[index].moduleData.properties = {};
|
1001
|
}
|
1048
|
}
|
1002
|
|
1049
|
|
|
|
1050
|
+ if(moduleType == 'RecommendProduct') {
|
|
|
1051
|
+ Bll.saveRecommendProduct(index);
|
|
|
1052
|
+ } else {
|
1003
|
Bll.moduleDataList[index].moduleData.data = Bll.moduleGrid.__rows;
|
1053
|
Bll.moduleDataList[index].moduleData.data = Bll.moduleGrid.__rows;
|
|
|
1054
|
+ }
|
1004
|
|
1055
|
|
1005
|
// 处理模块数据,增加资源位标识,用于热点分析
|
1056
|
// 处理模块数据,增加资源位标识,用于热点分析
|
1006
|
$.each(Bll.moduleDataList[index].moduleData.data, function(index, item) {
|
1057
|
$.each(Bll.moduleDataList[index].moduleData.data, function(index, item) {
|
|
@@ -1904,7 +1955,7 @@ $(document).on('click', '.display-type-radio', function() { |
|
@@ -1904,7 +1955,7 @@ $(document).on('click', '.display-type-radio', function() { |
1904
|
|
1955
|
|
1905
|
$(document).on('change', '.recommend-product-radio', function() {
|
1956
|
$(document).on('change', '.recommend-product-radio', function() {
|
1906
|
let displayType = $(this).val();
|
1957
|
let displayType = $(this).val();
|
1907
|
- Bll.recommendProductDisplayType = +displayType;
|
1958
|
+ Bll.recommendProduct.displayType = +displayType;
|
1908
|
|
1959
|
|
1909
|
Bll.initRecommendProduct('.editor-dialog');
|
1960
|
Bll.initRecommendProduct('.editor-dialog');
|
1910
|
});
|
1961
|
});
|
|
@@ -2010,8 +2061,8 @@ $(document).on('click', '.select-product', function() { |
|
@@ -2010,8 +2061,8 @@ $(document).on('click', '.select-product', function() { |
2010
|
let skn = +$(this).data('product-skn');
|
2061
|
let skn = +$(this).data('product-skn');
|
2011
|
|
2062
|
|
2012
|
// 临时维护
|
2063
|
// 临时维护
|
2013
|
- if($.inArray(skn, Bll.recommendProductList) == -1) {
|
|
|
2014
|
- Bll.recommendProductList.push(skn);
|
2064
|
+ if($.inArray(skn, Bll.recommendProduct.sknList) == -1) {
|
|
|
2065
|
+ Bll.recommendProduct.sknList.push(skn);
|
2015
|
}
|
2066
|
}
|
2016
|
|
2067
|
|
2017
|
// 将 "选择" 改为 "取消选择"
|
2068
|
// 将 "选择" 改为 "取消选择"
|
|
@@ -2020,30 +2071,30 @@ $(document).on('click', '.select-product', function() { |
|
@@ -2020,30 +2071,30 @@ $(document).on('click', '.select-product', function() { |
2020
|
$(this).addClass('unselect-product');
|
2071
|
$(this).addClass('unselect-product');
|
2021
|
|
2072
|
|
2022
|
// 重置TAB页数字
|
2073
|
// 重置TAB页数字
|
2023
|
- $('.selectedProductsNum').text(Bll.recommendProductList.length);
|
2074
|
+ $('.selectedProductsNum').text(Bll.recommendProduct.sknList.length);
|
2024
|
});
|
2075
|
});
|
2025
|
|
2076
|
|
2026
|
// 取消选择SKN
|
2077
|
// 取消选择SKN
|
2027
|
$(document).on('click', '.unselect-product', function() {
|
2078
|
$(document).on('click', '.unselect-product', function() {
|
2028
|
let skn = +$(this).data('product-skn');
|
2079
|
let skn = +$(this).data('product-skn');
|
2029
|
// 将SKN从临时数据中移除
|
2080
|
// 将SKN从临时数据中移除
|
2030
|
- Bll.recommendProductList.splice($.inArray(skn, Bll.recommendProductList), 1);
|
2081
|
+ Bll.recommendProduct.sknList.splice($.inArray(skn, Bll.recommendProduct.sknList), 1);
|
2031
|
|
2082
|
|
2032
|
$(this).text("选择");
|
2083
|
$(this).text("选择");
|
2033
|
$(this).removeClass('unselect-product');
|
2084
|
$(this).removeClass('unselect-product');
|
2034
|
$(this).addClass('select-product');
|
2085
|
$(this).addClass('select-product');
|
2035
|
|
2086
|
|
2036
|
// 重置TAB页数字
|
2087
|
// 重置TAB页数字
|
2037
|
- $('.selectedProductsNum').text(Bll.recommendProductList.length);
|
2088
|
+ $('.selectedProductsNum').text(Bll.recommendProduct.sknList.length);
|
2038
|
});
|
2089
|
});
|
2039
|
|
2090
|
|
2040
|
// 全部取消选择SKN
|
2091
|
// 全部取消选择SKN
|
2041
|
$(document).on('click', '.clear-btn', function() {
|
2092
|
$(document).on('click', '.clear-btn', function() {
|
2042
|
// 清空临时保存数据
|
2093
|
// 清空临时保存数据
|
2043
|
- Bll.recommendProductList = [];
|
2094
|
+ Bll.recommendProduct.sknList = [];
|
2044
|
|
2095
|
|
2045
|
// 重置TAB页数字
|
2096
|
// 重置TAB页数字
|
2046
|
- $('.selectedProductsNum').text(Bll.recommendProductList.length);
|
2097
|
+ $('.selectedProductsNum').text(Bll.recommendProduct.sknList.length);
|
2047
|
|
2098
|
|
2048
|
// 重新加载页面,更改"选择"按钮
|
2099
|
// 重新加载页面,更改"选择"按钮
|
2049
|
Bll.moduleGrid.reload(1);
|
2100
|
Bll.moduleGrid.reload(1);
|