Authored by leo

Fixed: 修复保存报错,增加默认数据

... ... @@ -16,21 +16,6 @@ var systemTemplates =
var shopTemplates = [];
var defaultModuleData = [
{
dataValid: false, // 系统模板,默认只包含模块信息,并不包含模块内容;新增的模块,也不包含模块内容。默认数据是非法的
moduleType: "ShopBanner",
},
{
dataValid: false,
moduleType: "ShopNavbar"
},
{
dataValid: true,
moduleType: "ProductSort"
}
];
var t = new common.tab({
el: "#platformTab",
click: function () {
... ... @@ -167,7 +152,7 @@ var Bll = {
var index = $(curTemplate).data('index');
// index = 0:系统模板,默认数据即可,不查询
if(index == 0) {
Bll.moduleDataList = defaultModuleData;
Bll.moduleDataList = Bll.base.getDefaultModuleData(+t.active ? 0 : 1);
return;
}
... ... @@ -1540,6 +1525,9 @@ var handleDecoratorTemplate = function() {
return validatorResult;
}
// 这些模块可能没有模块数据,只是根据标识去渲染。如果检测到没有数据,增加默认数据
let noDataModuleArray = ['ProductList', 'ShopNavbar', 'ProductSort'];
$.each(Bll.moduleDataList, function(index, module) {
// 根据模块的排序,重新生成order
module.moduleOrder = index;
... ... @@ -1547,9 +1535,11 @@ var handleDecoratorTemplate = function() {
module.moduleStyle = 0;
}
// 商品列表,增加默认装修数据
if(module.moduleType == 'ProductList') {
module.moduleData = {data: [], properties: {}};
// 填充默认数据
if($.inArray(module.moduleType, noDataModuleArray) > -1) {
if(module.moduleData === undefined) {
module.moduleData = {data: [], properties: {}};
}
return;
}
... ...
... ... @@ -2,8 +2,7 @@
let $ = require('jquery'),
common = require('../../../../common/common');
var base = function() {
}
var base = function() {};
base.prototype = {
constructor: base,
... ... @@ -90,6 +89,28 @@ base.prototype = {
1: '已上架'
},
defaultModuleData: [
{
dataValid: false, // 系统模板,默认只包含模块信息,并不包含模块内容;新增的模块,也不包含模块内容。默认数据是非法的
moduleType: "ShopBanner",
},
{
dataValid: false,
moduleType: "ShopNavbar",
},
{
dataValid: true,
moduleType: "ProductSort",
}
],
defaultAppModuleData: [
{
dataValid: false, // 系统模板,默认只包含模块信息,并不包含模块内容;新增的模块,也不包含模块内容。默认数据是非法的
moduleType: "ShopBanner",
}
],
/**
* 根据模块区域获取可添加的模块列表信息
* styleArea: 模块区域标识,0--APP端,1--PC端160区域,2--PC端975区域
... ... @@ -113,6 +134,17 @@ base.prototype = {
}
return statusDesc;
},
getDefaultModuleData: function(platform) {
if(platform === 0) {
// PC端
let temp = JSON.stringify(this.defaultModuleData);
return JSON.parse(temp);
} else {
let temp = JSON.stringify(this.defaultAppModuleData);
return JSON.parse(temp);
}
}
}
... ...