Authored by 陶雨

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

... ... @@ -388,7 +388,7 @@ edit.ajaxfileupload=function(el,option){
'params':$.extend({},{__type:"fileupload-upload"},option.params),
onComplete:option.onComplete,
onStart: option.onStart,
valid_extensions:["xlsx"]
valid_extensions:option.valid_extensions||["xlsx"]
})
}
edit.prototype.init.prototype=edit.prototype;
... ...
... ... @@ -3,7 +3,6 @@ var $ = require('jquery'),
common = require('../common/common');
require('../util/custom.js');
/*
<<<<<<< HEAD
* 获取业务数据
*/
window.NETSALEDATA=require('./partials/data.js');
... ... @@ -14,9 +13,9 @@ window.NETSALEDATA = require('./partials/data.js');
// console.log(NETSALEDATA);
window.NETSALEEDIT = new common.edit('#netsaleAllInfo', {
bucket: 'goodsimg'
});
// window.NETSALEEDIT = new common.edit('#netsaleAllInfo', {
// bucket: 'goodsimg'
// });
//获取skn
... ... @@ -34,7 +33,7 @@ require('./partials/add-info');
require('./partials/netsale-ty.js');
//初始化网销表单
NETSALEEDIT.init();
// NETSALEEDIT.init();
... ...
... ... @@ -257,9 +257,26 @@ $('#offshelve').on('click', function() {
shelveModal('下架', $('#offshelve-template').html());
});
//导出
$('#export-btn').on('click', function() {
/*var selectedArr = g.selected,
len = selectedArr.length,
queryConf = '';
if (len <= 0) {
common.util.__tip('请选择要导出的商品', 'warning');
return;
}
$.each(selectedArr, function(i, value) {
queryConf += value['limitProductCode'];
if (i < len - 1) {
queryConf += '|';
}
});*/
//console.log(g.options.parms());
window.open("/ajax/down?queryConf=" + JSON.stringify(g.options.parms()) + "&type=netSale");
});
//单个sku,skc上下架
... ...
... ... @@ -3,77 +3,26 @@ var $ = require('jquery'),
var e = new common.edit('#addinfo-wrap'),
basicInfo = NETSALEDATA.baseProductInfo.baseProduct;
basicInfo = NETSALEDATA.baseProductInfo.baseProduct || '',
productExtBo = NETSALEDATA.productExtBo || '',
comfort = NETSALEDATA.wearSenses;
common.util.__ajax({
url: '/goods/product/queryMakingProcess',
data: {
displayPosition: 2,
categoryId: basicInfo.maxSortId
}
}, function(res) {
var obj = res.data;
obj.makeCrafts = NETSALEDATA.productExtBo.makeCrafts.replace(/,/g, "|");
var html = common.util.__template2($('#makingProcessTemp').html(), obj);
$('.making-process-wrap .col-sm-11').html(html);
e.init();
}, true);
var addInfoHtml = common.util.__template2($('#addInfoTemp').html(), NETSALEDATA.productExtBo);
$('.addinfo-wrap').append($(addInfoHtml));
basicInfo.style = basicInfo.style.replace(/,/g, "|");
basicInfo.pattern = basicInfo.pattern.replace(/,/g, "|");
$('#productStyleWrap').html(common.util.__template2($('#productStyleWrap').html(), basicInfo));
$('#productElementsWrap').html(common.util.__template2($('#productElementsWrap').html(), basicInfo));
$('#brandModelWrap').html(common.util.__template2($('#brandModelWrap').html(), NETSALEDATA.productExtBo));
$('#brandSeriesWrap').html(common.util.__template2($('#brandSeriesWrap').html(), NETSALEDATA.productExtBo));
//console.log(NETSALEDATA.wearSenses);
/*$('#wearSenseWrap').html(common.util.__template2($('#wearSenseWrap').html(), {
wearSenses: NETSALEDATA.wearSenses
}));
*/
new common.dropDown({
el: '#brandModelSelect',
ajax: 'queryAll4Select',
params: {
type: 1,
status: 1,
shopsId: basicInfo.shopId,
brandId: basicInfo.brandId
}
});
new common.dropDown({
el: '#brandSeriesSelect',
ajax: 'queryAll4Select',
params: {
type: 2,
status: 1,
shopsId: basicInfo.shopId,
brandId: basicInfo.brandId
}
});
/*e.on("render", function() {
if ($('#brandModel').val()) {
$('#brandModelSelect').val($('#brandModel').val());
}
if ($('#brandSeries').val()) {
$('#brandSeriesSelect').val($('#brandSeries').val());
comfort = [ // 舒适度
{
"id": 1, // 弹性
"value": 1
}, {
"id": 2, // 厚度
"value": 3
}, {
"id": 3, // 柔软度
"value": 2
}, {
"id": 4, // 透气性
"value": 2
}
})*/
e.on("bind", function() {
$('#brandModelSelect').on('change', function() {
$('#brandModel').val($(this).val());
});
$('#brandSeriesSelect').on('change', function() {
$('#brandSeries').val($(this).val());
});
});
];
$('#saveAddInfo').on('click', function() {
... ... @@ -87,7 +36,7 @@ $('#saveAddInfo').on('click', function() {
$('#wearSenseWrap').find('select').each(function() {
if ($(this).val()) {
arr.push({
wearSenseId: $(this).attr('name'),
id: $(this).attr('name'),
value: $(this).val()
});
}
... ... @@ -99,11 +48,88 @@ $('#saveAddInfo').on('click', function() {
option.success = function(res) {
res = res.data;
if (res.code == '200') {
NETSALEEDIT.$tip(res.message, function() {}, 'growl-success');
e.$tip(res.message, function() {}, 'growl-success');
} else {
NETSALEEDIT.$tip(res.message);
e.$tip(res.message);
}
return false;
}
});
});
\ No newline at end of file
});
$.ajax({
type: 'POST',
url: '/goods/product/queryAfterSaleInfo',
data: {
displayPosition: 2,
categoryId: basicInfo.maxSortId
},
dataType: 'json',
success: function(res) {
var data = res.data;
data.style = basicInfo.style.replace(/,/g, "|");
data.pattern = basicInfo.pattern.replace(/,/g, "|");
data.brandModel = productExtBo.brandModel;
data.brandModelText = productExtBo.brandModelText;
data.brandSeriesText = productExtBo.brandSeriesText;
data.brandSeries = productExtBo.brandSeries;
data.makeCrafts = productExtBo.makeCrafts.replace(/,/g, "|");
data.salesPhrase = productExtBo.salesPhrase;
data.isHostsell = productExtBo.isHostsell;
if (comfort) {
$.each(data.productComfort.data, function(index, item) {
item.value = comfort[index].value;
});
}
$('#addinfo-wrap').html(common.util.__template2($('#addInfoTemp').html(), data));
e.on("bind", function() {
$('#brandModelSelect').on('change', function() {
$('#brandModel').val($(this).val());
});
$('#brandSeriesSelect').on('change', function() {
$('#brandSeries').val($(this).val());
});
});
$('#wearSenseWrap').find('select').each(function() {
$(this).val($(this).siblings('input:hidden').val());
});
new common.dropDown({
el: '#brandModelSelect',
ajax: 'queryAll4Select',
params: {
type: 1,
status: 1,
shopsId: basicInfo.shopId,
brandId: basicInfo.brandId
}
});
new common.dropDown({
el: '#brandSeriesSelect',
ajax: 'queryAll4Select',
params: {
type: 2,
status: 1,
shopsId: basicInfo.shopId,
brandId: basicInfo.brandId
}
});
if ($('.contentpanel').data('type') == 'info') {
$('form').find('input').prop('disabled', true);
$('form').find('select').prop('disabled', true);
$('form').find('.btn').addClass('disabled');
}
e.init();
}
})
\ No newline at end of file
... ...
var $ = require('jquery'),
common = require('../../common/common');
/*common.util.__ajax({
var e = new common.edit('#brandWrap');
common.util.__ajax({
url: '/goods/brands/queryBrandsByStatus'
}, function(res) {
//console.log(res);
var data = res.data;
var html = '',
brandHtml = '';
var aLif = null;
$.each(data, function(i, value) {
//console.log(aLif, value.brandAlif);
aLif = value.brandAlif;
if (aLif != value.brandAlif) {
aLif = value.brandAlif;
html += '<div class="col-sm-2">' + aLif + '</div>';
brandHtml += '<div class="col-sm-10"><label><input tyoe="checkbox" value="' + value.id + '">' + value.brandName + '</label>';
var data = res.data,
map = {},
firstName = '';
$.each(data, function(i, item) {
firstName = item.brandAlif.toUpperCase();
if (/^[a-zA-Z]$/.test(firstName)) {
if (!map.hasOwnProperty(firstName)) {
map[firstName] = [];
}
map[firstName].push(item);
} else {
brandHtml += '<label><input tyoe="checkbox" value="' + value.id + '">' + value.brandName + '</label>';
if (!map.hasOwnProperty('0-9')) {
map['0-9'] = [];
}
map['0-9'].push(item);
}
});
$('.brand-list').html(common.util.__template2($('#brandTemp').html(), {
map: map
}));
//$('.brand-list').html(html + brandHtml);
}, true);*/
var data = [{
brandName: 'aaa',
a: 'A',
id: 1
}, {
brandName: 'abb',
a: 'A',
id: 3
}, {
brandName: 'bbb',
a: 'B',
id: 2
}];
if (NETSALEDATA.brandRelationList) {
$('#brandWrap').html(common.util.__template2($('#brandWrap').html(), {
brandRelation: NETSALEDATA.brandRelationList.join('|')
}));
};
e.init();
}, true);
var firstName = null,
map = {},
rowHtml = '',
rowHtmlH = '',
rowHtmlB = '';
var brandSelectArr = [];
$.each(data, function(i, item) {
if (item.a) {
/*console.log(firstName, value.a);
if (firstName != value.a) {
firstName = value.a;
/*rowHtmlH = '';
rowHtmlB = '';
rowHtml += rowHtmlH + rowHtmlB + '</div>';
rowHtmlH += '<div class="col-sm-2">' + firstName + '</div>';
rowHtmlB += '<div class="col-sm-10><label><input tyoe="checkbox" value="' + value.id + '">' + value.brandName + '</label>'
} else {
rowHtmlB += '<label><input tyoe="checkbox" value="' + value.id + '">' + value.brandName + '</label>';
}*/
$('#brandWrap').on('change', 'input[name="brandRelationList"]', function() {
var $val = $(this).val(),
position = brandSelectArr.indexOf($val);
if (position == -1) {
brandSelectArr.push($val);
$('<div class="col-sm-2" data-id="' + $val + '">' + $(this).data('name') + '</div>').appendTo($('.selected-brand'));
} else {
brandSelectArr.splice(position, 1);
$('div[data-id="' + $val + '"]').remove();
};
if (!map.hasOwnProperty(item.a)) {
map[item.a] = [];
}
map[item.a].push(item);
}
});
console.log(map);
$('.brand-list').html(common.util.__template2($('#brandTemp').html(), {
map: map
}));
\ No newline at end of file
$('#saveBrandRelation').on('click', function() {
e.submit('/goods/product/saveBrandRelation', function(option) {
option.data.productSkn = $('#productSkn').val();
option.data.brandRelationList = JSON.stringify(option.data.brandRelationList.split('|'));
option.success = function(res) {
res = res.data;
if (res.code == '200') {
NETSALEEDIT.$tip(res.message, function() {}, 'growl-success');
} else {
NETSALEEDIT.$tip(res.message);
}
return false;
}
});
});
\ No newline at end of file
... ...
... ... @@ -5,7 +5,9 @@ var $ = require('jquery'),
require('../../common/umeditor.config');
require('../../common/umeditor');
require('../../common/zh-cn');
var productSkn;
var productSkn,BUCKET={
bucket:"goodsimg"
};
if(window.NETSALEDATA&&window.NETSALEDATA.baseProductInfo&&window.NETSALEDATA.baseProductInfo.baseProduct.productSkn){
productSkn=window.NETSALEDATA.baseProductInfo.baseProduct.productSkn;
}
... ... @@ -78,9 +80,7 @@ g.init('/netSale/selectCollocationListBySkn');
var Bll={
posData:[],
toast:function(title,item,url){
var e=new common.edit("#dapei-form",{
bucket:"goodsimg"
});
var e=new common.edit("#dapei-form",BUCKET);
var d=new common.dialog({
title:title,
... ... @@ -176,15 +176,75 @@ $(document).on("click","#dapeiTable .delete",function(){
//修改
$(document).on("click","#dapeiTable .edit",function(){
var item=g.rows[$(this).data("index")];
// common.util.__ajax({
// url:'/netSale/selectCollocationById',
// data:{
// param:item.id
// }
// },function(data){
// Bll.toast("添加搭配",data.data,"/netSale/updateCollocation");
// });
item.infoStr=[{"top":223,"left":380,"id":"ffffff"},{"top":454,"left":309,"id":"ggggg"}];
Bll.toast("添加搭配",item,"/netSale/updateCollocation");
common.util.__ajax({
url:'/netSale/selectCollocationById',
data:{
param:item.id
}
},function(data){
Bll.toast("添加搭配",data.data,"/netSale/updateCollocation");
});
// item.infoStr=[{"top":223,"left":380,"id":"ffffff"},{"top":454,"left":309,"id":"ggggg"}];
// Bll.toast("添加搭配",item,"/netSale/updateCollocation");
});
/*封面设置*/
var goodsImagesList={};
if(window.NETSALEDATA&&window.NETSALEDATA.goodsImagesList){
goodsImagesList=window.NETSALEDATA.goodsImagesList;
}
console.log("封面设置",goodsImagesList);
$("#fenmianWrap").html(common.util.__template2($("#fenmianTemp").html(),{goodsImagesList:goodsImagesList}));
common.edit.ajaxfileupload("#fenmianfile",{
params:{__type:"upload",bucket:"goodsimg"},
valid_extensions:['gif', 'png', 'jpg', 'jpeg'],
onComplete:function(response){
if(response.status&&response.code==200){
var item=goodsImagesList[$(this).data("index")].goodsImagesList;
var data={
"angle": 0,
"genderCover": 0,
"imageUrl": response.data,
"orderBy": item.length,
"productSkc": goodsImagesList.productSkc,
"productSkn": goodsImagesList.productSkn,
"__index":item.length,
"index":$(this).data("index")
};
item.push(data);
$(this).parents(".cover-image-item").before(common.util.__template2($("#fenmianImgTemp").html(),data));
}else{
common.util.__tip(response.message);
}
}
});
$(document).on("click",".cover-color .btn-metro",function(){
var index=$(this).parents("ul").data("index");
var index1=$(this).parents(".cover-image-item").data("index");
var item=goodsImagesList[index].goodsImagesList[index1];
if($(this).hasClass("info")){
$(this).removeClass("info");
}else{
$(this).addClass("info");
}
var groups=$(this).parent(".cover-color");
item.isDefault=groups.find("a").eq(0).hasClass("info")?"Y":"N";
item.genderCover=groups.find("a").eq(0).hasClass("info")?"1":"0";
item.genderCover=groups.find("a").eq(0).hasClass("info")?"2":"0";
console.log(item);
});
$(document).on("click",".goods-color a",function(){
var index=$(this).data("index");
var item=goodsImagesList[index];
if($(this).hasClass("info")){
$(this).removeClass("info");
}else{
$(this).addClass("info");
}
item.isDefault=$(this).hasClass("info")?"Y":"N";
});
$(document).on("click","#fenMainSave",function(){
});
... ...
var $ = require('jquery'),
common = require('../../common/common');
var specialAttrBo = window.NETSALEDATA.specialAttrBo || {
productSkn: window.NETSALEDATA.baseProductInfo.baseProduct.productSkn,
washTipsList: [],
materialList: []
};
var washTipsList = specialAttrBo.washTipsList;
var materialList = specialAttrBo.materialList;
console.log(window.NETSALEDATA);
var e = new common.edit("#taoyu1");
common.util.__ajax({
url: '/netSale/queryAllBySortId4Select',
data: {
param: window.NETSALEDATA.baseProductInfo.baseProduct.maxSortId
}
}, function(res) {
$("#material-group").html(common.util.__template2($("#material-params").html(), res || {}));
var materials = [];
for (var i = 0; i < materialList.length; i++) {
materials[i] = materialList[i].id;
}
$("#material").val(materials.join("|"));
e.init();
$(document).on('change', '.material', function() {
var items = $("#material").val().split("|");
for (var i = 0; i < items.length; i++) {
materialList[i] = {
"id": parseInt(items[i])
};
}
});
});
common.util.__ajax({
url: '/netSale/getAll4Select',
data: {}
}, function(res) {
$("#washTip-group").html(common.util.__template2($("#washTip-params").html(), res || {}));
var washTips = [];
for (var i = 0; i < washTipsList.length; i++) {
washTips[i] = washTipsList[i].sortId;
}
$("#washTips").val(washTips.join("|"));
e.init();
$(document).on('change', '.washTips', function() {
var items = $("#washTips").val().split("|");
for (var i = 0; i < items.length; i++) {
washTipsList[i] = {
"sortId": parseInt(items[i])
};
}
});
}, true);
$("#propertySave").on('click', function() {
var washTips = $("#washTips").val() || "";
var productMaterial = $("#material").val() || "";
common.util.__ajax({
url: '/netSale/saveProductParam',
data: {
productSkn: specialAttrBo.productSkn,
washTips: washTips.replace(/\|/g, ","),
productMaterial: productMaterial.replace(/\|/g, ",")
}
}, function() {
// body...
});
});
\ No newline at end of file
... ...
var $ = require('jquery'),
common = require('../../common/common');
var searchKeys = window.NETSALEDATA.productExtBo.searchKeys || "";
$("#searchKeys").val(searchKeys);
var g = new common.grid({
el: "#search-key",
hash: false,
columns: [{
display: "ID",
name: "id"
}, {
display: "内容",
name: "content"
}, {
display: "操作",
name: "",
render: function(item) {
return '<a class="btn btn-info add" data-index="' + item.__index + '">添加</a>';
}
}]
});
g.init('/netSale/queryHotSearchTerms');
$("#searchKeys").on('change', function() {
searchKeys = $("#searchKeys").val();
});
$(document).on('click', '.add', function() {
var item = g.rows[$(this).data("index")];
var value = $("#searchKeys").val();
if (value) value += ",";
$("#searchKeys").val(value + item.content);
searchKeys = $("#searchKeys").val();
});
$("#save-searchKey").on('click', function() {
common.util.__ajax({
url: '/netSale/saveNetSaleSearchKeys',
data: {
productSkn: window.NETSALEDATA.baseProductInfo.baseProduct.productSkn,
searchKeys: searchKeys
}
}, function(res) {
});
});
\ No newline at end of file
... ...
'use strict';
var $ = require('jquery'),
common=require('../../common/common');
var ENUM={
//1待上架,2待审核,3驳回,4通过,1已上架,0已下架,5再上架待审核,6再上架驳回,7再上架通过。
//enum:{0:'已下架',
// 1:'待上架',
// 2:'待审核',
// 3:'驳回',
// 4:'通过',
// 5:'再上架待审核',
// 6:'再上架驳回',
// 7:'再上架通过'
//},
//tips:{"0":0,"1":0,"2":0,"3":0,"4":0,"all":0}
enum:{
2:'待审核',
3:'驳回',
4:'通过',
all:"全部商品"
},
tips:{"2":0,"3":0,"4":0,"all":0}
}
// 审核状态枚举
var AuditEnum = {
status:{
100:"待审核",
200:"审核通过",
300:"驳回",
"":"过期",
"1":"作废",
}
}
// 年龄层枚举
var AgeLevelEnum = {
level: {
1:"成人",
2:"大童",
3:"小童",
"":"未知年龄"
}
}
// 性别
var GenderEnum = {
gender: {
1: "男",
2: "女",
3: "通用"
}
}
// 商品类型
var GoodsTypeEnum = {
type: {
1:"普通商品",
2:"赠品",
3:"虚拟商品",
"":"未知类型"
}
}
/*下拉选择*/
new common.dropDown({el:"#shopId",ajax:"queryShop"});
new common.dropDown({el:"#brandId",ajax:"queryBrand"});
new common.dropDown({el:"#founder",ajax:"querySupplier"});
var tabTree=new common.tabTree("#sort");
tabTree.init();
var t = new common.tab({
el:"#basicTab",
click:function(){
g.reload(1);
},
columns:[
{name:"2",display:"待审核({2})"},
{name:"3",display:"驳回({3})"},
{name:"4",display:"通过({4})"},
{name:"all",display:"全部商品({all})"}
]
}).init(ENUM.tips);
var g = new common.grid({
el: '#basicTable',
parms:function(){
return {
productSkn:common.util.__input("productSkn"),
productSkc:common.util.__input("productSkc"),
productSku:common.util.__input("productSku"),
productName: common.util.__input("productName"),
shopId: common.util.__input("shopId"),
brandId:common.util.__input("brandId"),
isJit: common.util.__input("isJit"),
gender: common.util.__input("gender"),
maxSortId: tabTree.selected.length>0?tabTree.selected[0].id:"", // 一级类目
middleSortId: tabTree.selected.length>1?tabTree.selected[1].id:"", // 二级类目
smallSortId: tabTree.selected.length>2?tabTree.selected[2].id:"", // 三级类目
size: common.util.__input("size"),
};
},
columns:[
{
display: '',
type: 'checkbox'
}, {
display: 'SKN',
name: 'productSkn'
},{
display: '图片',
name: 'picImgUrl',
render: function(item) {
return '<img src="' + item.picImgUrl + '">';
}
},
{
display: '商品信息',
render: function(item) {
return '<p><strong>名称:</strong>' + item.productName + '</p>' +
'<p><strong>品牌:</strong>' + item.brandName + '</p>' +
'<p><strong>类目:</strong>' + item.maxSortName + '/' + item.middleSortName + '</p>';
}
},
{display:"售价",
render: function(item) {
return '<p><strong>吊牌价:</strong>' + item.retailPrice + '</p>' +
'<p><strong>销售价:</strong>' + item.salesPrice + '</p>' +
'<p><strong>是否VIP:</strong></p>' +
'<p style="color: #ccc;"><strong>yoho币:</strong>' + item.returnCoin + '</p>';
}
},
{
display: '库存',
name: 'stock'
},
{display:"年龄层/性别",render:function(item){
var html=[];
var ageLevel = AgeLevelEnum.level[item.ageLevel];
var gender = GenderEnum.gender[item.gender];
html.push("<p>"+ageLevel+" / "+gender+"</p>");
return html.join('');
}},
{display:"预售/奥莱",render:function(item){
var html=[];
//判断是否是预售商品
if (item.isAdvance === "Y") {
html.push("<p>预售</p>");
} else {
html.push("<p>否</p>");
}
if (item.isOutLets == "Y") {
html.push( "<p>/奥莱</p>");
} else {
html.push( "<p>/否</p>");
}
return html.join('');
}},
{display:"上架时间",render: function (item) {
return "<p>"+item.shelveTime+"</p>";
}},
{display:"商品类别", render: function(item) {
var type = GoodsTypeEnum.type[item.attribute] ? GoodsTypeEnum.type[item.attribute]:"未知类型";
return "<p>"+type+"</p>"
}},
{display:"操作信息",render:function(item){
var html=[];
html.push("<p>"+item.founderName+"</p>");
html.push("<p>"+item.editTime+"</p>");
return html.join('');
}},
{display:"操作",render:function(item){
var html=[];
html.push('<a data-index="'+ item.__index+ '" href="JavaScript:;" class="btn btn-info btn-xs edit-class-btn" id="btn-item-info">查看</a>');
html.push('<a data-index="'+ item.__index+ '" href="JavaScript:;" class="btn btn-info btn-xs edit-class-btn" id="btn-item-pass">通过</a>');
html.push('<a data-index="'+ item.__index+ '" href="JavaScript:;" class="btn btn-info btn-xs edit-class-btn" id="btn-item-reject">驳回</a>');
return html.join('');
}},
]
});
g.init('/goods/netsale/getList');
// tab初始化
var loadTab = function () {
t.active = undefined;
setTimeout(function () {
common.util.__ajax({
url:"/supplier/baseproduct/auditGoodsCount",
//data:g.options.parms()
}, function (res) {
var __dt=$.extend({},ENUM.tips,res.data);
t.init(__dt);
}, true);
}, 400);
}
loadTab();
// 筛选
$(document).on('click', "#filter-btn", function () {
g.reload();
});
var Bll={
toast:function(content,fn){
common.dialog.confirm("温馨提示",content,function(){
common.util.__ajax({
url:'/supplier/baseproduct/auditReject',
data:fn()
},function(){
g.reload();
});
});
}
}
//批量驳回
$(document).on("click","#reject-btn",function(){
var selectedArr = g.selected,
len = selectedArr.length,
sknList = [];
if (len <= 0) {
common.util.__tip('请选择要驳回的商品', 'warning');
return;
}
var data=function(){
var reason = $('#reason').val();
if (reason === '' || $.trim(reason) === '') {
return "请填写驳回原因";
}
$.each(selectedArr, function(i, value) {
sknList.push(value['productSkn']);
});
console.log(sknList);
return {
productSknList:JSON.stringify(sknList),
targetStatus:3, // 驳回
rejectReason: reason
};
}
Bll.toast($("#template").html(),data);
});
//批量通过
$(document).on("click","#pass-btn",function(){
var selectedArr = g.selected,
len = selectedArr.length,
sknList = [];
if (len <= 0) {
common.util.__tip('请选择审核通过的商品', 'warning');
return;
}
var data=function(){
$.each(selectedArr, function(i, value) {
sknList.push(value['productSkn']);
});
console.log(sknList);
return {
productSknList:JSON.stringify(sknList),
targetStatus:4, // 通过
rejectReason: ""
};
}
Bll.toast("确定要通过该申请吗?",data);
});
// 单个驳回
$(document).on("click","#btn-item-reject",function(){
//auditOperation([],3,)
var item=g.rows[$(this).data("index")];
var data=function(){
var reason = $('#reason').val();
if (reason === '' || $.trim(reason) === '') {
return "请填写驳回原因";
}
return {
productSknList:JSON.stringify([item.productSkn]),
targetStatus:3, // 驳回
rejectReason:reason
};
}
Bll.toast($("#template").html(),data);
});
// 单个通过
$(document).on("click","#btn-item-pass",function(){
//auditOperation([],3,)
var item=g.rows[$(this).data("index")];
var data=function(){
return {
productSknList:JSON.stringify([item.productSkn]),
targetStatus:4, //通过
rejectReason:""
};
}
Bll.toast("确定要通过该申请吗?",data);
});
// 时间转化
Date.prototype.format = function(format) {
var date = {
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"h+": this.getHours(),
"m+": this.getMinutes(),
"s+": this.getSeconds(),
"q+": Math.floor((this.getMonth() + 3) / 3),
"S+": this.getMilliseconds()
};
if (/(y+)/i.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
}
for (var k in date) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1
? date[k] : ("00" + date[k]).substr(("" + date[k]).length));
}
}
return format;
}
... ...
... ... @@ -6,7 +6,7 @@ var edit = require('../common/edit');
// 上传图片
var e = new edit('#form-base',{
"bucket" : "activity"
"bucket" : "goodsimg"
});
e.init();
... ...
... ... @@ -61,6 +61,7 @@ input[type=date], input[type=time], input[type=datetime-local], input[type=month
width: 100%;
height: 100%;
line-height: 150px;
overflow: hidden;
}
}
.poseditimg{
... ... @@ -81,4 +82,9 @@ input[type=date], input[type=time], input[type=datetime-local], input[type=month
border-bottom:1px solid #ccc;
}
}
}
.btn.info{
color: #fff;
background-color: #5bc0de;
border-color: #46b8da;
}
\ No newline at end of file
... ...
... ... @@ -207,17 +207,7 @@ exports.res = [
method: 'GET',
view: 'pages/goods/netsale-edit',
// url: '/product/getNetSaleInfo',
apis: {
productStyle: {
url: '/productStyle/queryProductStyles4Select'
},
productComfort: {
url: '/productComfort/queryProductComfortList'
},
productElements: {
url: '/productElements/queryProductElements4Select'
}
},
src: '/goods/netsale-edit',
data: {
type: 'edit'
... ... @@ -359,18 +349,46 @@ exports.res = [
type: 'string'
}]
}, {
//网销信息 -> 查询制作工艺列表
route: '/goods/product/queryMakingProcess',
//网销信息 -> 查询补全信息
route: '/goods/product/queryAfterSaleInfo',
method: 'POST',
url: '/product/queryMakingProcess',
params: [{
name: 'categoryId',
type: 'number'
}, {
name: 'displayPosition',
type: 'number'
}]
}, {
apis: {
productStyle: {
url: '/productStyle/queryProductStyles4Select'
},
productComfort: {
url: '/productComfort/queryProductComfortList'
},
productElements: {
url: '/productElements/queryProductElements4Select'
},
makingProcess: {
url: '/product/queryMakingProcess',
params: [{
name: 'categoryId',
type: 'number'
}, {
name: 'displayPosition',
type: 'number'
}],
isJsonRaw: true
}
}
},
/* {
//网销信息 -> 查询制作工艺列表
route: '/goods/product/queryMakingProcess',
method: 'POST',
url: '/product/queryMakingProcess',
params: [{
name: 'categoryId',
type: 'number'
}, {
name: 'displayPosition',
type: 'number'
}]
}, */
{
//网销信息 -> 查询品牌款型系列列表
route: '/goods/brandSeries/queryAll4Select',
method: 'POST',
... ... @@ -389,16 +407,16 @@ exports.res = [
type: 'number'
}]
}, {
//网销信息 -> 查询制作工艺列表
route: '/goods/product/queryMakingProcess',
//网销信息 -> 品牌关联
route: '/goods/product/saveBrandRelation',
method: 'POST',
url: '/product/queryMakingProcess',
url: '/product/saveBrandRelation',
params: [{
name: 'categoryId',
name: 'productSkn',
type: 'number'
}, {
name: 'displayPosition',
type: 'number'
name: 'brandRelationList',
type: 'string'
}]
}, {
//网销信息 -> 保存视频接口
... ...
/**
* Created by wangqianjun on 16/3/11.
* 上架审核
*/
exports.domain = require('../config/common.js').domain;
exports.res = [
{//基础商品列表
route:'/supplier/baseproduct/audit',
method:'GET',
view:'pages/goods/shelf_audit/index',
src: '/goods/shelf_audit/index',
data:{
iscreate:true
}
},
{//驳回操作
route:'/supplier/baseproduct/auditReject',
method:'POST',
url:'/product/updateProductSknStatus',
params:[
{name: 'productSknList',type: 'String'},
{name: 'targetStatus',type: 'Number'},
{name: 'rejectReason',type:'String'},
]
},
{//获取各审核状态下商品的数量
route:'/supplier/baseproduct/auditGoodsCount',
method:'POST',
url:'/product/updateProductSknStatus',
params:[
{name: 'productSknList',type: 'String'},
{name: 'targetStatus',type: 'Number'},
{name: 'rejectReason',type:'String'},
]
},
//{//添加页面
// route:'/base/goods/add',
// method:'GET',
// view:'pages/basegoods/edit',
// data:{
// data:{},
// action:"/base/goods/ajax/add"
// },
// src:'/basegoods/edit'
//},
//{//添加接口
// route:'/base/goods/ajax/add',
// method:'POST',
// url:'/product/addBaseProduct',
// params:[
// {name: 'attribute',type: 'Number'},
// {name: 'baseGoodList',type: 'String'},
// {name:'brandId',type:'Number'},
// {name:'gender',type:'Number'},
// {name:'isAdvance',type:'String'},
// {name:'isJit',type:'String'},
// {name:'isLimited',type:'String'},
// {name:'maxSortId',type:'Number'},
// {name:'middleSortId',type:'Number'},
// {name:'productName',type:'Number'},
// {name:'retailPrice',type:'Number'},
// {name:'salesPrice',type:'Number'},
// {name:'shopId',type:'Number'},
// {name:'smallSortId',type:'Number'},
// {name:'sortId',type:'Number'},
// {name:'supplierId',type:'Number'},
// {name:'founder',type:'Number'}
// ]
//},
//{//修改页面
// route:'/base/goods/update/:productSkn',
// method:'GET',
// view:'pages/basegoods/edit',
// url:'xxx'
//},
//{//修改接口
// route:'/base/goods/ajax/update',
// method:'POST',
// url:'/接口/',
// params:[
// {name: 'page',type: 'Number'},
// {name: 'size',type: 'Number'}
// ]
//},
//{//基础商品详情空页面
// route:'/base/goods/info/:productSkn',
// method:'GET',
// view:'pages/basegoods/info',
// src:'/basegoods/goodsInfo'
//},
//
//{
// // 获取商品详情数据
// route:'/base/goods/getData',
// method:'POST',
// url:'/product/getBaseProduct',
// params:[
// {name:'productSkn',type:'Number'},
// ]
//}
];
\ No newline at end of file
... ...
... ... @@ -2,15 +2,18 @@ var request = require('request');
var _ = require('lodash');
var fs = require('fs');
var ipaddr = require('ipaddr.js');
var domain = require('../../config/common.js').domain;
//var domain = require('../../config/common.js').domain;
var domain = 'http://172.16.6.227:8083/yohobuy-platform-web';
exports.downFile = function(req, res) {
var options = {
var options = {
method: 'POST',
url: domain+'/batch/export',
headers: { 'content-type': 'application/json' },
body: req.query,
json: true
};
request(options).pipe(res);
url: domain + '/batch/export',
headers: {
'content-type': 'application/json'
},
body: req.query,
json: true
};
request(options).pipe(res);
}
\ No newline at end of file
... ...
... ... @@ -29,19 +29,22 @@ exports.uploadFile = function(req, res) {
request.post({
url: domain + '/fileupload/upload',
formData: req.body
}, function optionalCallback(err, httpResponse, body) {
}, function optionalCallback(error, httpResponse, body) {
// {"code":200,"data":"http://img12.static.yhbimg.com/goodsimg/2016/03/10/20/0258a569ab956e81339c7212bb23767c2d.jpg","message":"上传成功","status":true}
// {"originalName":"demo.jpg","name":"demo.jpg","url":"upload\/demo.jpg","size":"99697","type":".jpg","state":"SUCCESS"}
// {"originalName":"018da7232374448d10a565fdfe6211d078.jpg","name":"","url":"","type":".jpg","state":"SUCCESS"}
var json = JSON.parse(body);
var result={};
result.originalName=json.data.substring(json.data.lastIndexOf('/')+1);
result.name=result.originalName;
result.url=json.data;
result.type=json.data.substring(json.data.lastIndexOf('.'));
result.state=json.message=="上传成功"?"SUCCESS":"FAIL";
res.send(JSON.stringify(result));
if (!error && httpResponse.statusCode == 200) {
var json = JSON.parse(body);
var result={};
result.originalName=json.data.substring(json.data.lastIndexOf('/')+1);
result.name=result.originalName;
result.url=json.data;
result.type=json.data.substring(json.data.lastIndexOf('.'));
result.state=json.message=="上传成功"?"SUCCESS":"FAIL";
res.send(JSON.stringify(result));
}else{
res.send({code:"500",message:"接口异常"});
}
});
} else {
... ...
... ... @@ -30,7 +30,7 @@ exports.uploadFile = function(req, res) {
url: domain + '/batch/import',
formData: req.body,
headers: headers
}, function optionalCallback(err, httpResponse, body) {
}, function optionalCallback(error, httpResponse, body) {
if (!error && httpResponse.statusCode == 200) {
var json = JSON.parse(body);
json.status = true;
... ... @@ -44,7 +44,7 @@ exports.uploadFile = function(req, res) {
request.post({
url: domain + '/fileupload/upload',
formData: req.body
}, function optionalCallback(err, httpResponse, body) {
}, function optionalCallback(error, httpResponse, body) {
if (!error && httpResponse.statusCode == 200) {
var json = JSON.parse(body);
... ...
... ... @@ -29,54 +29,7 @@
<div class="panel-body">
{{> netsale/basic_info}}
<div class="panel panel-default">
<div class="panel-heading">
<div class="panel-btns" style="display: none;">
<a href="" class="panel-minimize tooltips" data-toggle="tooltip" title=""><i class="fa fa-minus"></i></a>
</div>
<h2 class="panel-title">封面设置</h2>
</div>
<div class="panel-body nopadding">
<div class="form-group">
<div class="col-sm-1">
<div class="goods-img">
{{# goodsImagesList}}
<p>SKC: {{productSkc}}</p>
<p>{{goodsName}}色</p>
{{/ goodsImagesList}}
</div>
<div class="cover-color height40">颜色封面:</div>
<div class="goods-color height40">商品封面:</div>
</div>
<div class="col-sm-11">
<ul class="cover-image-list col-sm-12">
{{# goodsImagesList}}
{{/ goodsImagesList}}
<li class="cover-image-item fileinput-button">
<div class="goods-img">
<a class="fileinput-button-icon" href="javascript:void(0);">+</a>
<input type="file" class="goods-img-upload">
</div>
<div class="cover-color height40">
<a href="javascript:;" class="btn btn-default btn-metro">默认</a>
<a href="javascript:;" class="btn btn-default btn-metro">男封</a>
<a href="javascript:;" class="btn btn-default btn-metro">女封</a>
</div>
<div class="goods-color height40">
<a href="javascript:;" class="btn btn-default btn-metro">设置默认</a>
<a href="javascript:;" class="btn btn-default btn-metro">调用图片</a>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="panel-footer">
<button class="btn btn-pass">通过</button>
<button class="btn btn-reject">驳回</button>
</div>
</div>
{{> netsale/fenmian}}
{{> netsale/goods_description}}
{{> netsale/size_info}}
... ...
<div class="pageheader">
<div class="media">
<div class="pageicon pull-left">
<i class="fa fa-th-list"></i>
</div>
<div class="media-body">
<ul class="breadcrumb">
<li><a href=""><i class="glyphicon glyphicon-home"></i></a></li>
<li><a href="">商品管理</a></li>
<li>上架审核</li>
</ul>
<div>
<div style="width: 30%;float: left;">
<h4>上架审核</h4>
</div>
</div>
</div>
</div>
</div>
<div class="contentpanel">
<div class="panel panel-default" style="margin-bottom:10px;">
<div class="panel-body">
<div class="row">
<div class="panel-col">
<input type="text" id="productSkn" value="" class="form-control" placeholder="SKN" style="height: 39px;" />
</div>
<div class="panel-col">
<input type="text" id="productSkc" value="" class="form-control" placeholder="SKC" style="height: 39px;" />
</div>
<div class="panel-col">
<input type="text" id="productSku" value="" class="form-control" placeholder="SKU" style="height: 39px;" />
</div>
<div class="panel-col">
<input type="text" id="productName" class="form-control" placeholder="商品名称" style="height: 39px;"/>
</div>
<div class="panel-col">
<select id="shopId" class="form-control">
<option value="-1">请选择店铺</option>
</select>
</div>
<div class="panel-col">
<select id="brandId" class="form-control">
<option value="-1">请选择品牌</option>
</select>
</div>
<div class="panel-col">
<select id="isJit" class="form-control">
<option value="-1">是否JIT商品</option>
<option value="Y">是JIT</option>
<option value="N">非JIT</option>
</select>
</div>
<div class="panel-col">
<select id="gender" class="form-control">
<option value="-1">请选择性别</option>
<option value="1"></option>
<option value="2"></option>
<option value="3">通用</option>
</select>
</div>
<div class="panel-col" style="width:300px">
<div id="sort"></div>
</div>
<div class="panel-col">
<select id="size" class="form-control">
<option value="10">单页显示条目数</option>
<option value="10">10条</option>
<option value="20">20条</option>
<option value="30">30条</option>
<option value="50">50条</option>
<option value="100">100条</option>
</select>
</div>
<div class="panel-col">
<a id="filter-btn" href="javascript:;" class="btn btn-info">筛选</a>
<a id="all-btn" href="" class="btn btn-info">全部</a>
</div>
<div class="panel-col">
<a id="pass-btn" href="javascript:;" class="btn btn-info">通过</a>
<a id="reject-btn" href="javascript:;" class="btn btn-info">驳回</a>
</div>
</div>
</div>
</div>
<div class="panel panel-primary-head">
<div class="dataTab_wrapper" id="basicTab"></div>
<div class="dataTab_wrapper" id="basicTable" ></div>
</div>
</div>
<input type="hidden" id="btnAuthority" value="{{bottons}}">
<input type="hidden" id="gridurl" value="{{gridurl}}">
<script type="text/template" id="template">
<div class="rows" style="height: 100px;">
<div class="form-group">
<span class="col-sm-2 control-label">驳回原因:</span>
<div class="col-sm-8">
<textarea id="reason" class="form-control" rows="3" ></textarea>
</div>
</div>
</div>
</div>
</script>
... ...
... ... @@ -6,7 +6,7 @@
<h2 class="panel-title">补全信息</h2>
</div>
<div id="addinfo-wrap" class="panel-body addinfo-wrap">
<div id="productStyleWrap" class="form-group">
<!-- <div id="productStyleWrap" class="form-group">
<div class="col-sm-1">商品风格:</div>
<div class="col-sm-11">
{{# productStyle}}
... ... @@ -69,7 +69,7 @@
{{/ data}}
{{/ productComfort}}
</div>
</div>
</div> -->
</div>
<div class="panel-footer">
... ... @@ -77,7 +77,7 @@
</div>
</div>
<script type="text/template" id="makingProcessTemp">
<!-- <script type="text/template" id="makingProcessTemp">
[[each items as a index]]
<label style="cursor: pointer;"><input type="checkbox" name="makeCrafts" value="[[a]]">[[a]]</label>
[[/each]]
... ... @@ -98,4 +98,107 @@
<input id="isHostsell" type="hidden" for="radio" value="[[isHostsell]]">
</div>
</div>
</script> -->
<script type="text/template" id="addInfoTemp">
<div id="productStyleWrap" class="form-group">
<div class="col-sm-1">商品风格:</div>
<div class="col-sm-11">
[[each productStyle as a index]]
[[if index=="data"]]
[[each a as b index]]
<label style="cursor: pointer;"><input type="checkbox" name="style" value="[[b.id]]">[[b.text]]</label>
[[/each]]
[[/if]]
[[/each]]
<input id="style" type="hidden" for="checkbox" value="[[style]]">
</div>
</div>
<div id="productElementsWrap" class="form-group">
<div class="col-sm-1">图案纹理:</div>
<div class="col-sm-11">
[[each productElements as a index]]
[[if index=="data"]]
[[each a as b index]]
<label style="cursor: pointer;"><input type="checkbox" name="pattern" value="[[b.id]]">[[b.text]]</label>
[[/each]]
[[/if]]
[[/each]]
<input id="pattern" type="hidden" for="checkbox" value="[[pattern]]">
</div>
</div>
<div id="brandModelWrap" class="form-group">
<div class="col-sm-1">品牌款型:</div>
<div class="col-sm-2">
<select name="brandModelSelect" id="brandModelSelect" tabindex="-1" title="" class="form-control">
[[if brandModelText]]
<option value="[[brandModel]]">[[brandModelText]]</option>
[[else]]
<option value="">请选择品牌款型</option>
[[/if]]
</select>
<input type="hidden" id="brandModel" value="[[brandModel]]">
</div>
</div>
<div id="brandSeriesWrap" class="form-group">
<div class="col-sm-1">品牌系列:</div>
<div class="col-sm-2">
<select name="brandSeriesSelect" id="brandSeriesSelect" tabindex="-1" title="" class="form-control">
[[if brandSeriesText]]
<option value="[[brandSeries]]">[[brandSeriesText]]</option>
[[else]]
<option value="">请选择品牌系列</option>
[[/if]]
</select>
<input type="hidden" id="brandSeries" value="[[brandSeries]]">
</div>
</div>
<div class="making-process-wrap form-group">
<div class="col-sm-1">制作工艺:</div>
<div class="col-sm-11">
[[each makingProcess as a index]]
[[each a.items as b index]]
<label style="cursor: pointer;"><input type="checkbox" name="makeCrafts" value="[[b]]">[[b]]</label>
[[/each]]
[[/each]]
<input id="makeCrafts" type="hidden" for="checkbox" value="[[makeCrafts]]">
</div>
</div>
<div id="wearSenseWrap" class="form-group">
<div class="col-sm-1">舒适度:</div>
<div class="col-sm-11">
[[each productComfort as a index]]
[[if index=="data"]]
[[each a as b index]]
<div class="col-sm-2">
<label>[[b.text]]</label>
<select name="[[b.id]]" class="form-control">
<option value="">请选择</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<input type="hidden" value="[[b.value]]">
</div>
[[/each]]
[[/if]]
[[/each]]
</div>
</div>
<div class="form-group">
<div class="col-sm-1">促销短语:</div>
<div class="col-sm-11">
<input id="salesPhrase" class="form-control" type="text" value="[[salesPhrase]]">
</div>
</div>
<div class="form-group">
<div class="col-sm-1">是否促销:</div>
<div class="col-sm-11">
<label class="radio-inline"><input type="radio" name="isHostsell" value="Y"></label>
<label class="radio-inline"><input type="radio" name="isHostsell" value="N"></label>
<input id="isHostsell" type="hidden" for="radio" value="[[isHostsell]]">
</div>
</div>
</script>
\ No newline at end of file
... ...
... ... @@ -5,8 +5,10 @@
</div>
<h2 class="panel-title">商品关联</h2>
</div>
<div class="panel-body">
<div class="form-group selected-brand"></div>
<div id="brandWrap" class="panel-body">
<div class="form-group selected-brand" style="min-height: 60px;">
<input id="brandRelationList" type="hidden" value="[[brandRelation]]" for="checkbox">
</div>
<div class="form-group brand-list">
</div>
... ... @@ -19,10 +21,13 @@
<script type="text/template" id="brandTemp">
[[each map as item index]]
<div class="form-group">
<div class="col-sm-1">[[index]]</div>
<div class="col-sm-1" style="text-align:center;">[[index]]</div>
<div class="col-sm-10">
[[each item as a index]]
<label><input type="checkbox" value="[[a.id]]">[[a.brandName]]</label>
<div class="col-sm-2 ckbox ckbox-default">
<input id="brand-[[a.brandName]]" name="brandRelationList" type="checkbox" value="[[a.id]]" data-name="[[a.brandName]]">
<label style="width:80%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;" for="brand-[[a.brandName]]">[[a.brandName]]</label>
</div>
[[/each]]
</div>
</div>
... ...
<div class="panel panel-default">
<div class="panel-heading">
<div class="panel-btns" style="display: none;">
<a href="" class="panel-minimize tooltips" data-toggle="tooltip" title=""><i class="fa fa-minus"></i></a>
</div>
<h2 class="panel-title">封面设置</h2>
</div>
<div class="panel-body nopadding" id="fenmianWrap">
</div>
<div class="panel-footer">
<button class="btn btn-pass" id="fenMainSave">保存</button>
</div>
</div>
<script type="text/template" id="fenmianTemp">
[[each goodsImagesList as item index]]
<div class="form-group">
<div class="col-sm-1">
<div class="goods-img">
<p>SKC: [[item.productSkc]]</p>
<p>[[item.goodsName]]</p>
<p><img src="[[item.goodsColorImage]]" style="width: 60px;height: 60px;" /></p>
</div>
<div class="cover-color height40">颜色封面:</div>
</div>
<div class="col-sm-11">
<ul class="cover-image-list col-sm-12" data-index=[[index]]>
[[each item.goodsImagesList as _item _index]]
<li class="cover-image-item fileinput-button" data-index=[[_index]]>
<div class="goods-img">
<a class="fileinput-button-icon" href="javascript:void(0);"><img src="[[_item.imageUrl]]"></a>
</div>
<div class="cover-color height40">
[[if _item.isDefault=="Y"]]
<a href="javascript:;" class="btn btn-default btn-metro info">默认</a>
[[else]]
<a href="javascript:;" class="btn btn-default btn-metro">默认</a>
[[/if]]
[[if _item.genderCover==1]]
<a href="javascript:;" class="btn btn-default btn-metro info">男封</a>
[[else]]
<a href="javascript:;" class="btn btn-default btn-metro">男封</a>
[[/if]]
[[if _item.genderCover==2]]
<a href="javascript:;" class="btn btn-default btn-metro info">女封</a>
[[else]]
<a href="javascript:;" class="btn btn-default btn-metro">女封</a>
[[/if]]
</div>
<!-- <div class="goods-color height40">
<a href="javascript:;" class="btn btn-default btn-metro">设置默认</a>
<a href="javascript:;" class="btn btn-default btn-metro">调用图片</a>
</div> -->
</li>
[[/each]]
<li class="cover-image-item fileinput-button">
<div class="goods-img">
<a class="fileinput-button-icon" href="javascript:void(0);">+</a>
<input type="file" class="goods-img-upload" name="fenmianfile" id="fenmianfile" data-index=[[index]]>
</div>
</li>
</ul>
</div>
</div>
<div class="form-group">
<div class="col-sm-1">
<div class="goods-color height40">商品封面:</div>
</div>
<div class="col-sm-11">
<div class="goods-color height40">
<a href="javascript:;" class="btn btn-default btn-metro" data-index=[[index]]>设置默认</a>
<!-- <a href="javascript:;" class="btn btn-default btn-metro">调用图片</a> -->
</div>
</div>
</div>
[[/each]]
</script>
<script type="text/template" id="fenmianImgTemp">
<li class="cover-image-item fileinput-button" data-index=[[__index]]>
<div class="goods-img">
<a class="fileinput-button-icon" href="javascript:void(0);"><img src="[[imageUrl]]"></a>
</div>
<div class="cover-color height40">
<a href="javascript:;" class="btn btn-default btn-metro">默认</a>
<a href="javascript:;" class="btn btn-default btn-metro">男封</a>
<a href="javascript:;" class="btn btn-default btn-metro">女封</a>
</div>
</li>
</script>
\ No newline at end of file
... ...