Authored by 姜敏

Merge branch 'feature/4.6' of http://git.dev.yoho.cn/platform/yohobuy-portal-fe into feature/4.6

... ... @@ -781,6 +781,213 @@ var Button = [
"couponID": ""
}
]
},
{
button_name: "NL2R",
template_name: "NL2R",
template_intro: "左N右二",
dialog: "NL2R-template",
data: {
"left": [
{
"url": {
"action": "",
"url": ""
},
"src": ""
}
],
"right": [
{
"url": {
"action": "",
"url": ""
},
"src": ""
},
{
"url": {
"action": "",
"url": ""
},
"src": ""
}
]
}
},
//{
// button_name: "人气品牌",
// template_name: "outletsHotBrands",
// template_intro: "人气品牌",
// dialog: "outletsHotBrands-template",
// data: {
// "title": {
// "title": ""
// },
// "list": []
// }
//},
{
button_name: "三张图",
template_name: "threePicture",
template_intro: "三张图",
dialog: "threePicture-template",
data: [
{
"url": {
"action": "",
"url": ""
},
"src": ""
},
{
"url": {
"action": "",
"url": ""
},
"src": ""
},
{
"url": {
"action": "",
"url": ""
},
"src": ""
}
]
},
{
button_name: "品类推荐",
template_name: "recommendCategory",
template_intro: "品类推荐",
dialog: "recommendCategory-template",
data: {
"title":"",
"categoryList":[
{
"navigateNamePC":"",
"navigateImageSrcApp":"",
"bannerImage":"",
url: {
action:"",
url:""
}
}
]
}
},
{
button_name: "品类导航",
template_name: "categoryNavigation",
template_intro: "品类导航",
dialog: "categoryNavigation-template",
data: [
{
categoryName: "",
url: {
action:"",
url:""
}
}
]
},
{
button_name: "折扣专场",
template_name: "discountActivity",
template_intro: "折扣专场",
dialog: "discountActivity-template",
data: {
"title": {
"name": "",
"more_name": "",
"more_url": {
"action": "",
"url": ""
}
},
"list": [
{ "id":"" }
]
}
},
{
button_name: "会员专享",
template_name: "vipFloor",
template_intro: "会员专享",
dialog: "vipFloor-template",
data: {
"title": {
"name": "",
"more_name": "",
"more_url": {
"action": "",
"url": ""
},
productPoolId:""
},
"image": [
{
"src": "",
"url": {
"action": "",
"url": ""
}
}
]
}
},
{
button_name: "断码区",
template_name: "offCodeArea",
template_intro: "断码区",
dialog: "offCodeArea-template",
data: {
"title": {
"name": "",
"more_name": "",
"more_url": {
"action": "",
"url": ""
}
},
"list": [
{
"url": {
"action": "",
"url": ""
},
"src": ""
},
{
"url": {
"action": "",
"url": ""
},
"src": ""
},
{
"url": {
"action": "",
"url": ""
},
"src": ""
},
{
"url": {
"action": "",
"url": ""
},
"src": ""
},
{
"url": {
"action": "",
"url": ""
},
"src": ""
}
]
}
}
];
... ...
... ... @@ -221,6 +221,34 @@ var addObj = {
"url": ""
},
"title": ""
},
//NL2R
NL2R_left: {
"url": {
"action": "",
"url": ""
},
"src": ""
},
//recommendCategory
recommendCategory_categoryList: {
"navigateNamePC":"",
"navigateImageSrcApp":"",
"bannerImage":"",
url: {
action:"",
url:""
}
},
categoryNavigation_data:{
categoryName:"",
url: {
action:"",
url:""
}
},
discountActivity_list:{
"id":""
}
};
... ...
... ... @@ -66,13 +66,13 @@ var Bll = {
css: "btn-primary"
}]
});
Bll.__editRender();
Bll.__editRender(btn[0].dialog);
},
renderDialog: function (templater) {
Bll.__render(".modal-body", templater, Bll.module);
Bll.__editRender();
Bll.__editRender(templater);
},
__editRender: function () {
__editRender: function (templater) {
edit.init();
$('.draggable').each(function () {
if ($(this).children().length) {
... ... @@ -92,6 +92,7 @@ var Bll = {
var fn1 = new Function("Bll", "arr2", "Bll.module.contentData." + $(this).data("array") + "=arr2");
fn1(Bll, arr2);
}
Bll.renderDialog(templater);
})
}
});
... ... @@ -716,4 +717,66 @@ $(document).on("keyup", ".number", function() {
//双击弹窗
$(document).on("dblclick","#add-content>li.custom-group",function(){
$(this).find(".edit").click();
});
/*上传多张图片*/
$(document).on("click", "#batchAddImage", function () {
Bll.moduleimgs.length = 0;
var components1 = new common.components("#moduleimgs", {
bucket: "yhb-img01"
});
new common.dialog({
title: "添加多张" + Bll.module.contentData.template_intro,
content: common.util.__template2($("#template_dialog_imgmodule").html(), {}),
width: '80%',
button: [{
value: "确定",
callback: function () {
if (Bll.module.contentData.template_name == "singleImage") {
var button = Button[1];
Bll.moduleimgs.forEach(function (item, index) {
var m = {templateKey: button.template_name};
m.contentData = $.extend(true, {}, button);
m.contentData.data[0].src = item;
Bll.contentDatas.push(m);
});
} else {
var button = Button[2];
//多张
var imgs = [];
Bll.moduleimgs.forEach(function (item, index) {
imgs.push(item);
if (imgs.length == 2) {
var m = {templateKey: button.template_name};
m.contentData = $.extend(true, {}, button);
m.contentData.data[0].src = imgs[0];
m.contentData.data[1].src = imgs[1];
Bll.contentDatas.push(m);
imgs.length = 0;
}
});
if (imgs.length > 0) {
var m = {templateKey: button.template_name};
m.contentData = $.extend(true, {}, button);
m.contentData.data[0].src = imgs[0];
Bll.contentDatas.push(m);
imgs.length = 0;
}
}
Bll.__render("#add-content", "template_content", {modules: Bll.contentDatas});
},
css: "btn-primary"
}]
});
components1.init();
components1.on("file_onComplete", function (obj) {
obj.datas.forEach(function (item) {
Bll.moduleimgs.push(item);
});
Bll.__render(".modal-body", "template_dialog_imgmodule", {datas: Bll.moduleimgs});
components1.init();
});
});
\ No newline at end of file
... ...
... ... @@ -3,11 +3,11 @@
* 资源管理路由
*/
exports.domain = require('../config/common.js').domain;
//exports.domain = require('../config/common.js').domain;
//exports.domain = 'http://172.16.6.115:8080/platform';//王伟
//exports.domain = 'http://192.168.102.216:8180/platform'; //测试环境
//exports.domain = 'http://172.16.6.231:8080/platform';
// exports.domain = 'http://172.16.6.225:8080/platform';
exports.domain = 'http://172.16.6.225:8080/platform';
//exports.domain = 'http://192.168.102.216:8086/platform';
exports.res = [
... ...
... ... @@ -147,13 +147,13 @@
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">LOGO图片</label>
<label class="col-sm-2 control-label">WEB封面图</label>
<div class="col-sm-10">
<input type="file" id="logoUrl" name="logoUrl" value="{logoUrl}"/><!---->
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">封面图</label>
<label class="col-sm-2 control-label">移动端封面图</label>
<div class="col-sm-10">
<input type="file" id="coverUrl" name="coverUrl" value="{coverUrl}"/>
</div>
... ... @@ -165,7 +165,7 @@
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="">添加商品<font color="#f00">*</font></label>
<label class="col-sm-2 control-label">添加商品<font color="#f00">*</font></label>
<div class="col-sm-10">
<select id="productPoolId" style="width: 280px;" value="{productPoolId}">
<option value="{productPoolId}">请选择商品池</option>
... ...
<!-- NL2R -->
<script type="text/template" id="NL2R-template">
<div class="form-group">
<label>左侧图</label>
</div>
<p><input type="button" id="batchAddImage" class="btn btn-info btn-xs" value="批量添加左侧图" style="margin:10px;"></p>
[[if contentData.data.left.length]]
<ul class="draggable" data-array="data.left">
[[each contentData.data.left as item index]]
<li>
<table class="table table-hover table-bordered responsive dataTable no-footer">
<tbody>
<tr>
<td align="center">[[index+1]]</td>
<td align="center"><input type="file" name="file" value="[[item.src]]" class="observe" data-field="left.[[index]].src"/></td>
<td>
<div class="form-group">
<div class="col-sm-10">
<select name="goTo" class="observe form-control" value="[[item.url.action]]" data-field="left.[[index]].url.action">
[[layout action_template]]
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-10">
<input type="text" placeholder="url" value="[[item.url.url]]" class="observe form-control" required="required" data-field="left.[[index]].url.url"/>
</div>
</div>
</td>
<td><button class="btn btn-danger btn-sm delBtn" data-event="NL2R.left" type="button" data-index="[[index]]">删除</button></td>
</tr>
</tbody>
</table>
</li>
[[/each]]
</ul>
[[/if]]
<p><input type="button" name="select-pic" class="btn btn-info btn-xs addBtn" value="继续添加" style="margin:10px;" data-event="NL2R.left"></p>
<div class="form-group">
<label>右侧图</label>
</div>
<ul class="draggable" data-array="data.right">
[[each contentData.data.right as item index]]
<li>
<table class="table table-hover table-bordered responsive dataTable no-footer">
<tbody>
<tr>
<td align="center">[[index+1]]</td>
<td align="center"><input type="file" name="file" value="[[item.src]]" class="observe" data-field="right.[[index]].src"/></td>
<td>
<div class="form-group">
<div class="col-sm-10">
<select name="goTo" class="observe form-control" value="[[item.url.action]]" data-field="right.[[index]].url.action">
[[layout action_template]]
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-10">
<input type="text" placeholder="url" value="[[item.url.url]]" class="observe form-control" required="required" data-field="right.[[index]].url.url"/>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</li>
[[/each]]
</ul>
</script>
<!-- 奥莱专用-人气品牌(产品表示暂时不用) -->
<script type="text/template" id="outletsHotBrands-template">
<div class="form-group">
<label>标题:</label>
<input type="text" class="form-control input-form observe" value="[[contentData.data.title.title]]" data-field="title.title">
</div>
<p><input type="button" name="select-pic" class="btn btn-info btn-xs addBtn" value="批量选择品牌" style="margin:10px;"><span class="grey">注:此操作会覆盖已有选择</span></p>
</script>
<!-- 三张图片 -->
<script type="text/template" id="threePicture-template">
<ul class="draggable" data-array="data">
[[each contentData.data as item index]]
<li>
<table class="table table-hover table-bordered responsive dataTable no-footer">
<tbody>
<tr>
<td align="center">[[index+1]]</td>
<td align="center"><input type="file" name="file" value="[[item.src]]" class="observe" data-field="[[index]].src"/></td>
<td>
<div class="form-group">
<div class="col-sm-10">
<select name="goTo" class="observe form-control" value="[[item.url.action]]" data-field="[[index]].url.action">
[[layout action_template]]
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-10">
<input type="text" placeholder="url" value="[[item.url.url]]" class="observe form-control" required="required" data-field="[[index]].url.url"/>
</div>
</div>
</td>
<td><button class="btn btn-danger btn-sm delBtn" data-event="threePicture.data" type="button" data-index="[[index]]">删除</button></td>
</tr>
</tbody>
</table>
</li>
[[/each]]
</ul>
</script>
<!-- 品类推荐 -->
<script type="text/template" id="recommendCategory-template">
<div class="form-group">
<label>标题</label>
<input type="text" class="form-control input-form observe" data-field="title" value="[[contentData.data.title]]">
</div>
<ul class="draggable" data-array="data.categoryList">
[[each contentData.data.categoryList as item index]]
<li>
<table class="table table-hover table-bordered responsive dataTable no-footer">
<tbody>
<tr>
<td align="center">[[index+1]]</td>
<td>
<div class="form-group">
<label class="col-sm-2">导航名称(PC):</label>
<div class="col-sm-5">
<input type="text" value="[[item.navigateNamePC]]" class="form-control observe" data-field="categoryList.[[index]].navigateNamePC">
</div>
<label class="col-sm-2">导航图片(APP)</label>
<input type="file" name="file" value="[[item.navigateImageSrcApp]]" class="observe" data-field="categoryList.[[index]].navigateImageSrcApp"/>
</div>
<div class="form-group">
<label class="col-sm-2">跳转目的</label>
<div class="col-sm-4">
<select name="goTo" class="observe form-control" value="[[item.url.action]]" data-field="categoryList.[[index]].url.action">
[[layout action_template]]
</select>
</div>
<label class="col-sm-2">跳转地址</label>
<div class="col-sm-4">
<input type="text" placeholder="url" value="[[item.url.url]]" class="observe form-control" data-field="categoryList.[[index]].url.url"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2">落地页图片</label>
<div class="col-sm-10">
<input type="file" name="file" value="[[item.bannerImage]]" class="observe" data-field="categoryList.[[index]].bannerImage"/>
</div>
</div>
</td>
<td><button class="btn btn-danger btn-sm delBtn" data-event="recommendCategory.categoryList" type="button" data-index="[[index]]">删除</button></td>
</tr>
</tbody>
</table>
</li>
[[/each]]
</ul>
<p><input type="button" name="select-pic" class="btn btn-info btn-xs addBtn" value="添加品类" style="margin:10px;" data-event="recommendCategory.categoryList"></p>
</script>
<!-- 品类导航 -->
<script type="text/template" id="categoryNavigation-template">
<ul class="draggable" data-array="data">
[[each contentData.data as item index]]
<li>
<div class="form-group">
<label>品类名称:</label>
<input type="text" placeholder="品类名称" value="[[item.name]]" class="observe" data-field="[[index]].name" required="required">
<select name="goTo" class="observe" value="[[item.url.action]]" data-field="[[index]].url.action">
[[layout action_template]]
</select>
<input type="text" placeholder="url" value="[[item.url.url]]" data-field="[[index]].url.url" class="observe" required="required"/>
<a type="button" class="btn btn-danger btn-xs delBtn" data-event="textNav.data" data-index="[[index]]">删除</a>
</div>
</li>
[[/each]]
</ul>
<p><input type="button" name="select-pic" class="btn btn-info btn-xs addBtn" value="添加品类" style="margin:10px;" data-event="categoryNavigation.data"></p>
</script>
<!-- 折扣专场 -->
<script type="text/template" id="discountActivity-template">
<div class="form-group">
<div class="col-sm-6">
<label>标题:</label>&emsp;&emsp;
<input type="text" class="form-control input-form observe" placeholder="标题" value="[[contentData.data.title.name]]" data-field="title.name">
</div>
<div class="col-sm-6">
<label>更多名称:</label>
<input type="text" class="form-control input-form observe" placeholder="更多名称" value="[[contentData.data.title.more_name]]" data-field="title.more_name">
</div>
</div>
<div class="form-group">
<div class="col-sm-6">
<label>跳转目的:</label>
<select name="goTo" class="observe form-control input-form" value="[[contentData.data.title.more_url.action]]" data-field="title.more_url.action">
[[layout action_template]]
</select>
</div>
<div class="col-sm-6">
<label>跳转地址:</label>
<input type="text" class="form-control input-form observe" placeholder="跳转地址" value="[[contentData.data.title.more_url.url]]" data-field="title.more_url.url">
</div>
</div>
<ul class="draggable" data-array="data.list">
[[each contentData.data.list as item index]]
<li>
<div class="form-group">
<label>专题ID</label>
<input type="text" placeholder="专区ID" value="[[item.id]]" class="observe" data-field="list.[[index]].id" required="required">
<a type="button" class="btn btn-danger btn-xs delBtn" data-event="discountActivity.list" data-index="[[index]]">删除</a>
</div>
</li>
[[/each]]
</ul>
<p><input type="button" name="select-pic" class="btn btn-info btn-xs addBtn" value="添加一个" style="margin:10px;" data-event="discountActivity.list"></p>
</script>
<!-- 会员专享 -->
<script type="text/template" id="vipFloor-template">
<div class="form-group">
<div class="col-sm-6">
<label>标题:</label>&emsp;&emsp;
<input type="text" class="form-control input-form observe" placeholder="标题" value="[[contentData.data.title.name]]" data-field="title.name">
</div>
<div class="col-sm-6">
<label>更多名称:</label>
<input type="text" class="form-control input-form observe" placeholder="更多名称" value="[[contentData.data.title.more_name]]" data-field="title.more_name">
</div>
</div>
<div class="form-group">
<div class="col-sm-6">
<label>跳转目的:</label>
<select name="goTo" class="observe form-control input-form" value="[[contentData.data.title.more_url.action]]" data-field="title.more_url.action">
[[layout action_template]]
</select>
</div>
<div class="col-sm-6">
<label>跳转地址:</label>
<input type="text" class="form-control input-form observe" placeholder="跳转地址" value="[[contentData.data.title.more_url.url]]" data-field="title.more_url.url">
</div>
</div>
<div class="form-group">
<div class="col-sm-6">
<label>商品池ID:</label>
<input type="text" class="form-control input-form observe" placeholder="商品池ID" value="[[contentData.data.title.productPoolId]]" data-field="title.productPoolId">
</div>
</div>
<ul class="draggable" data-array="data.image">
[[each contentData.data.image as item index]]
<li>
<table class="table table-hover table-bordered responsive dataTable no-footer">
<tbody>
<tr>
<td align="center">[[index+1]]</td>
<td align="center"><input type="file" name="file" value="[[item.src]]" class="observe" data-field="image.[[index]].src"/></td>
<td>
<div class="form-group">
<div class="col-sm-10">
<select name="goTo" class="observe form-control" value="[[item.url.action]]" data-field="image.[[index]].url.action">
[[layout action_template]]
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-10">
<input type="text" placeholder="url" value="[[item.url.url]]" class="observe form-control" required="required" data-field="image.[[index]].url.url"/>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</li>
[[/each]]
</ul>
</script>
<!-- 断码区 -->
<script type="text/template" id="offCodeArea-template">
<div class="form-group">
<div class="col-sm-6">
<label>标题:</label>&emsp;&emsp;
<input type="text" class="form-control input-form observe" placeholder="标题" value="[[contentData.data.title.name]]" data-field="title.name">
</div>
<div class="col-sm-6">
<label>更多名称:</label>
<input type="text" class="form-control input-form observe" placeholder="更多名称" value="[[contentData.data.title.more_name]]" data-field="title.more_name">
</div>
</div>
<div class="form-group">
<div class="col-sm-6">
<label>跳转目的:</label>
<select name="goTo" class="observe form-control input-form" value="[[contentData.data.title.more_url.action]]" data-field="title.more_url.action">
[[layout action_template]]
</select>
</div>
<div class="col-sm-6">
<label>跳转地址:</label>
<input type="text" class="form-control input-form observe" placeholder="跳转地址" value="[[contentData.data.title.more_url.url]]" data-field="title.more_url.url">
</div>
</div>
<ul class="draggable" data-array="data.list">
[[each contentData.data.list as item index]]
<li>
<table class="table table-hover table-bordered responsive dataTable no-footer">
<tbody>
<tr>
<td align="center">[[index+1]]</td>
<td align="center"><input type="file" name="file" value="[[item.src]]" class="observe" data-field="list.[[index]].src"/></td>
<td>
<div class="form-group">
<div class="col-sm-10">
<select name="goTo" class="observe form-control" value="[[item.url.action]]" data-field="list.[[index]].url.action">
[[layout action_template]]
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-10">
<input type="text" placeholder="url" value="[[item.url.url]]" class="observe form-control" required="required" data-field="list.[[index]].url.url"/>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</li>
[[/each]]
</ul>
</script>
<!-- 标题图片 -->
<script type="text/template" id="titleImage-template">
<div class="panel-body" id="titleImage-baseFrom">
... ... @@ -1240,4 +1570,19 @@
</script>
<script type="text/template" id="noEdit-template">
<div>固定内容,暂时无法编辑!</div>
</script>
<script type="text/template" id="template-batchAddImage">
<div class="rows" id="moduleimgs">
<div class="form-group">
[[each datas as item index]]
<div class="col-sm-2">
<img src="[[ item ]]" width="100%" height="100%">
</div>
[[/each]]
<div class="col-sm-2">
<input type="file" multiple="true" name="file" id="filemodelimgs"/>
</div>
</div>
</div>
</script>
\ No newline at end of file
... ...
... ... @@ -304,4 +304,28 @@
<div class='col-sm-6 matchImage'><img src="[[item.image.src]]"></div>
[[/each]]
</div>
</div>
[[else if module.contentData.template_name=='NL2R']]
<div class="NL2R">
</div>
[[else if module.contentData.template_name=='outletsHotBrands']]
<div class="outletsHotBrands">
</div>
[[else if module.contentData.template_name=='threePicture']]
<div class="threePicture">
</div>
[[else if module.contentData.template_name=='recommendCategory']]
<div class="recommendCategory">
</div>
[[else if module.contentData.template_name=='categoryNavigation']]
<div class="categoryNavigation">
</div>
[[else if module.contentData.template_name=='discountActivity']]
<div class="discountActivity">
</div>
[[else if module.contentData.template_name=='会员专享']]
<div class="会员专享">
</div>
[[else if module.contentData.template_name=='offCodeArea']]
<div class="offCodeArea">
</div>
\ No newline at end of file
... ...