Authored by leo

Update: 增加模块,存储装修内容中的SKN列表

<!-- PC模板渲染 -->
<script type="text/template" id="pc-template">
<div class="pc-template">
<div style="text-align: center; color: red;">
<p>PC店铺装修功能正在路上,稍后提供,请静待...</p>
<!-- 1150区域 -->
[[each data[0] as item index]]
<!-- 店招 -->
[[if item.moduleType == 'ShopBanner']]
[[if item.moduleData]]
[[else]]
<div class="pc-shop-banner modular-editor">
<img src="/static/assets/images/decorator/yoho-logo.png" alt="#" class="logo">
</div>
[[/if]]
[[/if]]
<!-- 导航 -->
[[if item.moduleType == 'ShopNavbar']]
[[if item.moduleData]]
[[else]]
<div class="pc-shop-navbar modular-editor"></div>
[[/if]]
[[/if]]
[[/each]]
<div>
<!-- 160区域 -->
<div class="left-area">
[[each data[1] as item index]]
[[/each]]
</div>
<!-- 975区域 -->
<div class="right-area">
[[each data[2] as item index]]
[[/each]]
</div>
</div>
</div>
</script>
\ No newline at end of file
... ...
... ... @@ -57,6 +57,26 @@ var defaultModuleData = [
}
];
var defaultPCModuleData = {
0: [
{
dataValid: false,
moduleType: "ShopBanner"
},
{
dataValid: false,
moduleType: "ShopNavbar"
}
],
1: [
{
dataValid: false,
moduleType: "ProductSort"
}
],
2: []
}
var t = new common.tab({
el: "#platformTab",
click: function () {
... ... @@ -197,10 +217,7 @@ var Bll = {
},
renderDecoratorPCTemplate: function() {
// 根据选中的templateId,重新查询模板装修内容
var templateId = $('.selected-template').parent().data('id');
$('.main-decorator').html(common.util.__template2($('#pc-template').html(), {}));
$('.main-decorator').html(common.util.__template2($('#pc-template').html(), {data: defaultPCModuleData}));
},
renderDecoratorAppTemplate: function() {
... ... @@ -1052,6 +1069,8 @@ $(document).on('click', '.decorator-template', function() {
// 存储模板,callback:保存成功后的回调
var saveDecoratorTemplate = function(cb) {
var validatorResult = true;
// 保存装修信息内所有的SKN
var productSknList = [];
// 校验所有模块数据
$.each(Bll.moduleDataList, function(index, module) {
... ... @@ -1083,9 +1102,37 @@ var saveDecoratorTemplate = function(cb) {
// 商品列表,增加默认装修数据
if(module.moduleType == 'ProductList') {
module.moduleData = {data: [], properties: {}};
return;
}
// 存储装修内容中的所有SKN,方便前台批量查询
if(module.moduleType == 'SknList') {
// 暂时将该模块删除,重新生成
Bll.moduleDataList.splice(index, 1);
return;
}
// 遍历所有的装修数据,如果linkType为1,表示为SKN
$.each(module.moduleData.data, function(_index, data) {
if(data.linkType && +data.linkType == 1) {
if($.inArray(data.resource, productSknList) == -1) {
productSknList.push(data.resource);
}
}
});
});
// 生成 SKN列表模块,方便前台查询
var sknListModule = {
moduleType: 'SknList',
moduleData: {
data: productSknList
},
moduleOrder: Bll.moduleDataList.length,
moduleStyle: 0
}
Bll.moduleDataList.push(sknListModule);
var option = {
title: '请输入模板名称',
width: '420px',
... ...
... ... @@ -50,6 +50,7 @@
/*店铺装修模块化样式*/
.decorator-container {
clear: both;
overflow: hidden;
}
/* 所有字体样式 */
... ... @@ -220,7 +221,6 @@
top: 60px;
left: 200px;
bottom: 0;
overflow: hidden;
}
.app-template {
... ... @@ -233,6 +233,16 @@
box-shadow: 0px 0px 15px rgba(0,0,0,.8);
}
.pc-template {
margin-top: 38px;
width: 1150px;
overflow-y: auto;
height: 800px;
background: #F0F0F0;
border: 1px dashed;
box-shadow: 0px 0px 15px rgba(0,0,0,.8);
}
/* 适配笔记本电脑 */
@media screen and (max-device-height: 900px) {
.app-template {
... ...
.pc-template {
margin-top: 38px;
width: 1150px;
.pc-template .pc-shop-banner {
height: 150px;
margin-bottom: 0;
text-align: center;
}
.pc-template .pc-shop-navbar {
height: 40px;
margin-bottom: 30px;
background: url(/static/assets/images/decorator/pc-shop-navbar.png);
}
.pc-shop-banner .logo {
top: 66px !important;
}
.pc-template .left-area {
width: 160px;
display: inline-block;
}
.pc-template .right-area {
width: 970px;
float: right;
}
\ No newline at end of file
... ...