Showing
13 changed files
with
413 additions
and
42 deletions
client/js/meterManage/batch.js
0 → 100644
1 | +'use strict'; | ||
2 | +var $ = require('jquery'); | ||
3 | +var common = require('../common/common'); | ||
4 | + | ||
5 | +function batchExport(el, type) { | ||
6 | + var loadModal = null; | ||
7 | + return { | ||
8 | + params: { | ||
9 | + type: type, | ||
10 | + __type: "batch-import" | ||
11 | + }, | ||
12 | + onStart: function (params) { | ||
13 | + console.log("params", params); | ||
14 | + loadModal = common.dialog.load(); | ||
15 | + }, | ||
16 | + onComplete: function (response) { | ||
17 | + console.log("response",response); | ||
18 | + if (loadModal) { | ||
19 | + loadModal.close(); | ||
20 | + } | ||
21 | + if (response.code == 200 && response.data.failFileReason.length == 0) { | ||
22 | + common.util.__tip(response.message, 'success'); | ||
23 | + return; | ||
24 | + } | ||
25 | + if (response.data && response.data.failFileReason.length) { | ||
26 | + $("#message").html(response.data.failFileReason.join('/n')); | ||
27 | + return false; | ||
28 | + } | ||
29 | + common.util.__tip(response.message, 'warning'); | ||
30 | + | ||
31 | + } | ||
32 | + } | ||
33 | +} | ||
34 | + | ||
35 | +common.edit.ajaxfileupload('#productModelTry', batchExport('#productModelTry', 'productModelTry')); | ||
36 | + | ||
37 | + |
client/js/meterManage/info.js
0 → 100644
1 | +/** | ||
2 | + * Created by JiangMin on 2016/3/24 | ||
3 | + * 试穿详情. | ||
4 | + */ | ||
5 | + | ||
6 | +var $ = require('jquery'); | ||
7 | +var common = require('../common/common'); | ||
8 | +var param = location.href.match(/(info)\/(\d+)/); | ||
9 | +//尺码列表 | ||
10 | +var modelLists = []; | ||
11 | +common.util.__ajax({url: '/meterManage/tryInfo/info1', data: {productSkn: param[2]}}, function (data) { | ||
12 | + var feelIds = { | ||
13 | + 1: "合适", | ||
14 | + 2: "偏大", | ||
15 | + 3: "偏小" | ||
16 | + }; | ||
17 | + var infoLists = data.data || {}; | ||
18 | + modelLists = infoLists.tryModelList || []; | ||
19 | + //如果存在试穿信息 | ||
20 | + if (infoLists.tryInfoBoMap) { | ||
21 | + var tryInfo = infoLists.tryInfoBoMap; | ||
22 | + for (var i = 0; i < modelLists.length; i++) { | ||
23 | + if (tryInfo[modelLists[i].id]) { | ||
24 | + modelLists[i].tryInfo = {}; | ||
25 | + tryInfo[modelLists[i].id].feel_id = feelIds[tryInfo[modelLists[i].id].feel_id]; | ||
26 | + modelLists[i].tryInfo = tryInfo[modelLists[i].id]; | ||
27 | + } | ||
28 | + else { | ||
29 | + modelLists[i].tryInfo = {}; | ||
30 | + modelLists[i].tryInfo.fit_size = ""; | ||
31 | + modelLists[i].tryInfo.feel_id = ""; | ||
32 | + modelLists[i].tryInfo.fit_remark = ""; | ||
33 | + } | ||
34 | + } | ||
35 | + } | ||
36 | + //不存在 | ||
37 | + else { | ||
38 | + for (var j = 0; j < modelLists.length; j++) { | ||
39 | + modelLists[j].tryInfo = {}; | ||
40 | + } | ||
41 | + } | ||
42 | + var a = common.util.__template2($("#template").html(), {modelLists: modelLists}); | ||
43 | + $(".contentpanel1").html(a); | ||
44 | + new common.dropDown({ | ||
45 | + el: '.fit_size', | ||
46 | + ajax: 'sortsize' | ||
47 | + }); | ||
48 | +}, true); | ||
49 | + | ||
50 | +$(document).on("change", ".tryInfo1", function () { | ||
51 | + var _index = $(this).data("index"); | ||
52 | + var item = modelLists[_index].tryInfo; | ||
53 | + var name = $(this).data('name'); | ||
54 | + item[name] = $(this).val(); | ||
55 | + console.log("item", item); | ||
56 | +}); | ||
57 | +$(document).on("click", "#addInfo", function () { | ||
58 | + console.log("modelLists", modelLists); | ||
59 | + //var newList = []; | ||
60 | + //for (var i = 0; i < modelLists.length; i++) { | ||
61 | + // console.log("modelLists"); | ||
62 | + // console.log(modelLists[i]); | ||
63 | + // newList[i]={}; | ||
64 | + // newList[i].model_id = modelLists[i].id; | ||
65 | + // newList[i].feel_id = modelLists[i].tryInfo.feel_id; | ||
66 | + // newList[i].fit_size = modelLists[i].tryInfo.fit_size; | ||
67 | + // newList[i].fit_remark = modelLists[i].tryInfo.fit_remark; | ||
68 | + //} | ||
69 | + //console.log("newList"); | ||
70 | + //console.log(newList); | ||
71 | + common.util.__ajax({ | ||
72 | + url: '/meterManage/tryInfo/add', | ||
73 | + data: { | ||
74 | + productSkn: param[2], | ||
75 | + productModelTry: JSON.stringify(modelLists) | ||
76 | + } | ||
77 | + }, function () { | ||
78 | + console.log("成功") | ||
79 | + }); | ||
80 | +}) | ||
81 | + | ||
82 | + | ||
83 | + | ||
84 | + | ||
85 | + | ||
86 | + |
@@ -31,8 +31,10 @@ var g = new common.grid({ | @@ -31,8 +31,10 @@ var g = new common.grid({ | ||
31 | {display: "品牌", name: "brandName"}, | 31 | {display: "品牌", name: "brandName"}, |
32 | { | 32 | { |
33 | display: "操作", name: "", render: function (item) { | 33 | display: "操作", name: "", render: function (item) { |
34 | + console.log("item"); | ||
35 | + console.log(item); | ||
34 | var arr = []; | 36 | var arr = []; |
35 | - arr.push('<a class="btn btn-info info" data-index="' + item.__index + '">试穿信息</a>'); | 37 | + arr.push('<a data-index="' + item.__index + '" href="/meterManage/tryInfo/info/' + item.productSkn + '" class="btn btn-info ">试穿信息</a>'); |
36 | return arr.join(''); | 38 | return arr.join(''); |
37 | } | 39 | } |
38 | } | 40 | } |
@@ -45,3 +47,20 @@ $(document).on('click', '#filter-btn', function () { | @@ -45,3 +47,20 @@ $(document).on('click', '#filter-btn', function () { | ||
45 | g.reload(1); | 47 | g.reload(1); |
46 | }); | 48 | }); |
47 | 49 | ||
50 | +//new common.dialog({ | ||
51 | +// title:"", | ||
52 | +// content:"", | ||
53 | +// width:"80%", | ||
54 | +// botton:[ | ||
55 | +// { | ||
56 | +// value: "xxx", | ||
57 | +// callback: function(){ | ||
58 | +// | ||
59 | +// }, | ||
60 | +// css: "btn-primary" | ||
61 | +// } | ||
62 | +// ] | ||
63 | +//}); | ||
64 | + | ||
65 | + | ||
66 | + |
@@ -17,15 +17,17 @@ var g = new common.grid({ | @@ -17,15 +17,17 @@ var g = new common.grid({ | ||
17 | modelName: common.util.__input('content-filter1'), | 17 | modelName: common.util.__input('content-filter1'), |
18 | englishName: common.util.__input('content-filter2'), | 18 | englishName: common.util.__input('content-filter2'), |
19 | status: common.util.__input('status-filter'), | 19 | status: common.util.__input('status-filter'), |
20 | - modelType: parseInt($("#aa").val()) | 20 | + modelType: $("#aa").val() |
21 | }; | 21 | }; |
22 | }, | 22 | }, |
23 | + | ||
23 | //列表显示 | 24 | //列表显示 |
24 | columns: [ | 25 | columns: [ |
25 | {display: "姓名", name: "modelName"}, | 26 | {display: "姓名", name: "modelName"}, |
26 | {display: "英文名", name: "englishName"}, | 27 | {display: "英文名", name: "englishName"}, |
27 | { | 28 | { |
28 | display: "头像", name: "avatar", render: function (item) { | 29 | display: "头像", name: "avatar", render: function (item) { |
30 | + console.log(item); | ||
29 | return '<img src="' + item.avatar + '" width="100" height="60"/>' | 31 | return '<img src="' + item.avatar + '" width="100" height="60"/>' |
30 | } | 32 | } |
31 | },//图片显示 | 33 | },//图片显示 |
@@ -81,7 +83,8 @@ g.init("/shotManage/model/getAllModels"); | @@ -81,7 +83,8 @@ g.init("/shotManage/model/getAllModels"); | ||
81 | var Bll = { | 83 | var Bll = { |
82 | toast: function (url, item, hint) { | 84 | toast: function (url, item, hint) { |
83 | var e = new common.edit("#baseform", { | 85 | var e = new common.edit("#baseform", { |
84 | - bucket: "modelCard" | 86 | + bucket: "modelCard"//真实的 |
87 | + //bucket: "goodsimg"//测试 | ||
85 | }); | 88 | }); |
86 | //验证英文名 | 89 | //验证英文名 |
87 | e.on("validate", function () { | 90 | e.on("validate", function () { |
@@ -4,6 +4,10 @@ | @@ -4,6 +4,10 @@ | ||
4 | */ | 4 | */ |
5 | var $ = require('jquery'); | 5 | var $ = require('jquery'); |
6 | var common = require('../common/common'); | 6 | var common = require('../common/common'); |
7 | +//日期插件 | ||
8 | +$('.hasDatepicker').fdatepicker({ | ||
9 | + format: 'yyyy-mm-dd' | ||
10 | +}); | ||
7 | /** | 11 | /** |
8 | * 列表显示数据 | 12 | * 列表显示数据 |
9 | * @type {common.grid} | 13 | * @type {common.grid} |
@@ -17,18 +21,18 @@ var g = new common.grid({ | @@ -17,18 +21,18 @@ var g = new common.grid({ | ||
17 | productSkn: common.util.__input('content-filter1'), | 21 | productSkn: common.util.__input('content-filter1'), |
18 | productSkc: common.util.__input('content-filter2'), | 22 | productSkc: common.util.__input('content-filter2'), |
19 | productSku: common.util.__input('content-filter3'), | 23 | productSku: common.util.__input('content-filter3'), |
20 | - startTime: common.util.__input('startTime'), | ||
21 | - endTime: common.util.__input('endTime') | 24 | + startTime: common.util.__input('starttime'), |
25 | + endTime: common.util.__input('endtime') | ||
22 | }; | 26 | }; |
23 | }, | 27 | }, |
24 | //列表显示 | 28 | //列表显示 |
25 | columns: [ | 29 | columns: [ |
26 | {display: "SKN", name: "productSkn"}, | 30 | {display: "SKN", name: "productSkn"}, |
27 | { | 31 | { |
28 | - display: "最后上传时间", name: "lastAddTime", | 32 | + display: "最后上传时间", name: "updateTime", |
29 | render: function (item) { | 33 | render: function (item) { |
30 | - var t = new Date(item.lastAddTime * 1000); | ||
31 | - var formatted = common.util.__dateFormat(t, "yyyy-MM-dd hh:mm:ss"); | 34 | + var t = new Date(item.updateTime * 1000); |
35 | + var formatted = common.util.__dateFormat(t, "yyyy-MM-dd "); | ||
32 | return "<p>" + formatted + "</p>"; | 36 | return "<p>" + formatted + "</p>"; |
33 | } | 37 | } |
34 | }, | 38 | }, |
@@ -50,8 +54,7 @@ var g = new common.grid({ | @@ -50,8 +54,7 @@ var g = new common.grid({ | ||
50 | { | 54 | { |
51 | display: "操作", name: "", render: function (item) { | 55 | display: "操作", name: "", render: function (item) { |
52 | var arr = []; | 56 | var arr = []; |
53 | - arr.push('<a class="btn btn-info update" data-index="' + item.__index + '">修改</a>'); | ||
54 | - arr.push('<a class="btn btn-danger delete" data-index="' + item.__index + '">删除</a>'); | 57 | + arr.push('<a class="btn btn-info update" data-index="' + item.__index + '">编辑</a>'); |
55 | return arr.join(''); | 58 | return arr.join(''); |
56 | } | 59 | } |
57 | } | 60 | } |
@@ -64,16 +67,18 @@ var Bll = { | @@ -64,16 +67,18 @@ var Bll = { | ||
64 | var a = common.dialog.confirm(hint, | 67 | var a = common.dialog.confirm(hint, |
65 | common.util.__template2($("#template1").html(), item), | 68 | common.util.__template2($("#template1").html(), item), |
66 | function () { | 69 | function () { |
67 | - | 70 | + console.log("JSON.stringify(pictureBoList)", typeof(JSON.stringify(pictureBoList))); |
68 | common.util.__ajax({ | 71 | common.util.__ajax({ |
69 | url: url, | 72 | url: url, |
70 | data: { | 73 | data: { |
71 | productSku: parseInt($("#Sku").val()), | 74 | productSku: parseInt($("#Sku").val()), |
72 | - productPhotoAddBoList: JSON.stringify(pictureBoList) | 75 | + productPhotoAddStrList: JSON.stringify(pictureBoList) |
73 | } | 76 | } |
74 | }, function (res) { | 77 | }, function (res) { |
75 | - g.reload(); | ||
76 | - //a.close(); | 78 | + if(res.code=='200'){ |
79 | + g.reload(); | ||
80 | + a.close(); | ||
81 | + } | ||
77 | }); | 82 | }); |
78 | return false; | 83 | return false; |
79 | }); | 84 | }); |
@@ -85,15 +90,15 @@ var Bll = { | @@ -85,15 +90,15 @@ var Bll = { | ||
85 | valid_extensions: ['png', 'jpg', 'jpeg'], | 90 | valid_extensions: ['png', 'jpg', 'jpeg'], |
86 | onComplete: function (response) { | 91 | onComplete: function (response) { |
87 | if (response.status && response.code == 200) { | 92 | if (response.status && response.code == 200) { |
88 | - var item = pictureBoList || []; | 93 | + console.log("response",response); |
89 | var data = { | 94 | var data = { |
90 | - "fileName": response.data | 95 | + "fileName": response.data, |
96 | + "originalName": "1035027.jpg" | ||
91 | }; | 97 | }; |
92 | - item.push(data); | ||
93 | - console.log(JSON.stringify(pictureBoList)) | 98 | + pictureBoList.push(data); |
94 | $("#addPic").html(common.util.__template2($("#template2").html(), | 99 | $("#addPic").html(common.util.__template2($("#template2").html(), |
95 | { | 100 | { |
96 | - pictureBoList: item | 101 | + pictureBoList: pictureBoList |
97 | } | 102 | } |
98 | )); | 103 | )); |
99 | } | 104 | } |
@@ -102,6 +107,13 @@ var Bll = { | @@ -102,6 +107,13 @@ var Bll = { | ||
102 | } | 107 | } |
103 | } | 108 | } |
104 | }); | 109 | }); |
110 | + $(document).on('click', '.remove-item-btn', function () { | ||
111 | + var index = $(this).parents(".cover-image-item").index(); | ||
112 | + //界面删除 | ||
113 | + $(this).parents('.cover-image-item').remove(); | ||
114 | + //数组中删除 | ||
115 | + pictureBoList.splice(index, 1); | ||
116 | + }); | ||
105 | } | 117 | } |
106 | }; | 118 | }; |
107 | //上传图片--点击事件 | 119 | //上传图片--点击事件 |
@@ -115,12 +127,36 @@ $('#upload-btn').on('click', function () { | @@ -115,12 +127,36 @@ $('#upload-btn').on('click', function () { | ||
115 | $(document).on('click', '#filter-btn', function () { | 127 | $(document).on('click', '#filter-btn', function () { |
116 | g.reload(1); | 128 | g.reload(1); |
117 | }); | 129 | }); |
118 | -//封面图删除 | ||
119 | -$(document).on('click', '.remove-item-btn', function() { | ||
120 | - //界面删除 | ||
121 | - $(this).parents('.cover-image-item').remove(); | ||
122 | - //TODO 数组中删除 | 130 | +////删除单张图 |
131 | + | ||
132 | + | ||
133 | +//编辑 | ||
134 | +$(document).on('click', '.update', function () { | ||
135 | + var ids = []; | ||
136 | + var item = g.rows[$(this).data("index")]; | ||
137 | + var pics = item.pictureBoList || []; | ||
138 | + $(document).on('click', '.remove-item-btn', function () { | ||
139 | + var index = $(this).parents(".cover-image-item").index(); | ||
140 | + //界面删除 | ||
141 | + $(this).parents('.cover-image-item').remove(); | ||
142 | + ids.push(pics[index].id); | ||
143 | + pics.splice(index, 1); | ||
144 | + console.log("ids",ids); | ||
145 | + }); | ||
146 | + var b = common.dialog.confirm("编辑", common.util.__template2($("#template3").html(), item), | ||
147 | + function () { | ||
148 | + common.util.__ajax({ | ||
149 | + url: "/shotManage/proPhoto/update", | ||
150 | + data: { | ||
151 | + productSkn: item.productSkn, | ||
152 | + ids: JSON.stringify(ids) | ||
153 | + } | ||
154 | + }, function (res) { | ||
155 | + ids=[]; | ||
156 | + g.reload(); | ||
157 | + }); | ||
123 | 158 | ||
159 | + }) | ||
124 | }); | 160 | }); |
125 | 161 | ||
126 | 162 |
@@ -3,8 +3,8 @@ | @@ -3,8 +3,8 @@ | ||
3 | * 模特管理 | 3 | * 模特管理 |
4 | */ | 4 | */ |
5 | //exports.domain = require('../config/common.js').domain; | 5 | //exports.domain = require('../config/common.js').domain; |
6 | -//exports.domain = 'http://172.16.6.162:8080/platform'; //李建 | ||
7 | -exports.domain = 'http://192.168.102.216:8180/platform'; //测试环境 | 6 | +exports.domain = 'http://172.16.6.162:8088/platform'; //李建 |
7 | +//exports.domain = 'http://192.168.102.216:8180/platform'; //测试环境 | ||
8 | 8 | ||
9 | exports.res = [ | 9 | exports.res = [ |
10 | //主界面 | 10 | //主界面 |
@@ -26,6 +26,7 @@ exports.res = [ | @@ -26,6 +26,7 @@ exports.res = [ | ||
26 | {name: 'englishName', type: 'string'},//英文名 | 26 | {name: 'englishName', type: 'string'},//英文名 |
27 | {name: 'modelName', type: 'string'},//名称 | 27 | {name: 'modelName', type: 'string'},//名称 |
28 | {name: 'status', type: 'Number'},//模特状态:0 禁用 1 启用 | 28 | {name: 'status', type: 'Number'},//模特状态:0 禁用 1 启用 |
29 | + {name: 'modelType', type: 'Number'},//模特类型:1拍摄模特 2试穿模特 | ||
29 | {name: 'page', type: 'Number'}, | 30 | {name: 'page', type: 'Number'}, |
30 | {name: 'size', type: 'Number'} | 31 | {name: 'size', type: 'Number'} |
31 | ] | 32 | ] |
@@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
3 | * 产品图片管理 | 3 | * 产品图片管理 |
4 | */ | 4 | */ |
5 | //exports.domain = require('../config/common.js').domain; | 5 | //exports.domain = require('../config/common.js').domain; |
6 | -//exports.domain = 'http://172.16.6.162:8080/platform'; //李建 | 6 | +//exports.domain = 'http://172.16.6.162:8088/platform'; //李建 |
7 | exports.domain = 'http://192.168.102.216:8180/platform'; //测试环境 | 7 | exports.domain = 'http://192.168.102.216:8180/platform'; //测试环境 |
8 | 8 | ||
9 | exports.res = [ | 9 | exports.res = [ |
@@ -40,7 +40,17 @@ exports.res = [ | @@ -40,7 +40,17 @@ exports.res = [ | ||
40 | {name: 'productSkn', type: 'Number'}, | 40 | {name: 'productSkn', type: 'Number'}, |
41 | {name: 'productSkc', type: 'Number'}, | 41 | {name: 'productSkc', type: 'Number'}, |
42 | {name: 'productSku', type: 'Number'}, | 42 | {name: 'productSku', type: 'Number'}, |
43 | - {name: 'productPhotoAddBoList', type: 'string'} | 43 | + {name: 'productPhotoAddStrList', type: 'string'} |
44 | + ] | ||
45 | + }, | ||
46 | + //编辑图片 | ||
47 | + { | ||
48 | + route: '/shotManage/proPhoto/update', | ||
49 | + method: 'POST', | ||
50 | + url: '/productPhoto/updateProductPhoto', | ||
51 | + params: [ | ||
52 | + {name: 'productSkn', type: 'Number'}, | ||
53 | + {name: 'ids', type: 'string'} | ||
44 | ] | 54 | ] |
45 | } | 55 | } |
46 | ]; | 56 | ]; |
@@ -3,11 +3,10 @@ | @@ -3,11 +3,10 @@ | ||
3 | * 试穿信息管理 | 3 | * 试穿信息管理 |
4 | */ | 4 | */ |
5 | //exports.domain = require('../config/common.js').domain; | 5 | //exports.domain = require('../config/common.js').domain; |
6 | -//exports.domain = 'http://172.16.6.162:8080/platform'; //李建 | 6 | +//exports.domain = 'http://172.16.6.162:8088/platform'; //李建 |
7 | exports.domain = 'http://192.168.102.216:8180/platform'; //测试环境 | 7 | exports.domain = 'http://192.168.102.216:8180/platform'; //测试环境 |
8 | 8 | ||
9 | exports.res = [ | 9 | exports.res = [ |
10 | - | ||
11 | //主界面 | 10 | //主界面 |
12 | { | 11 | { |
13 | route: '/meterManage/tryInfo/index',//访问路由 | 12 | route: '/meterManage/tryInfo/index',//访问路由 |
@@ -27,5 +26,38 @@ exports.res = [ | @@ -27,5 +26,38 @@ exports.res = [ | ||
27 | {name: 'page', type: 'Number'}, | 26 | {name: 'page', type: 'Number'}, |
28 | {name: 'size', type: 'Number'} | 27 | {name: 'size', type: 'Number'} |
29 | ] | 28 | ] |
29 | + }, | ||
30 | + //查看具体试穿信息 | ||
31 | + { | ||
32 | + route: '/meterManage/tryInfo/info/:productSkn', | ||
33 | + method: 'GET', | ||
34 | + view: 'pages/meterManage/info', | ||
35 | + src: '/meterManage/info' | ||
36 | + }, | ||
37 | + { | ||
38 | + // 获取商品详情数据 | ||
39 | + route: '/meterManage/tryInfo/info1', | ||
40 | + method: 'POST', | ||
41 | + url: '/productExtraInfo/queryProdExtraInfo', | ||
42 | + params: [ | ||
43 | + {name: 'productSkn', type: 'Number'} | ||
44 | + ] | ||
45 | + }, | ||
46 | + //保存试穿信息 | ||
47 | + { | ||
48 | + route: '/meterManage/tryInfo/add', | ||
49 | + method: 'POST', | ||
50 | + url: '/productExtraInfo/saveProdExtraInfo', | ||
51 | + params: [ | ||
52 | + {name: 'productSkn', type: 'Number'}, | ||
53 | + {name: 'productModelTry', type: 'String'} | ||
54 | + ] | ||
55 | + }, | ||
56 | + //上传excel文件 | ||
57 | + { | ||
58 | + route: '/meterManage/tryInfo/batch', | ||
59 | + method: 'GET', | ||
60 | + view: 'pages/meterManage/batch', | ||
61 | + src: '/meterManage/batch' | ||
30 | } | 62 | } |
31 | ]; | 63 | ]; |
server/views/pages/meterManage/batch.html
0 → 100644
1 | +<div class="pageheader"> | ||
2 | + <div class="media"> | ||
3 | + <div class="pageicon pull-left"> | ||
4 | + <i class="fa fa-th-list"></i> | ||
5 | + </div> | ||
6 | + <div class="media-body"> | ||
7 | + <ul class="breadcrumb"> | ||
8 | + <li><a href=""><i class="glyphicon glyphicon-home"></i></a></li> | ||
9 | + <li><a href="">试穿信息管理</a></li> | ||
10 | + <li> | ||
11 | + 试穿信息 | ||
12 | + </li> | ||
13 | + </ul> | ||
14 | + <div> | ||
15 | + <div style="width: 30%;float: left;"> | ||
16 | + <h4>文件上传</h4> | ||
17 | + </div> | ||
18 | + </div> | ||
19 | + </div> | ||
20 | + </div> | ||
21 | +</div> | ||
22 | + | ||
23 | +<div class="contentpanel"> | ||
24 | + <div class="panel panel-default" style="margin-bottom:10px;"> | ||
25 | + <div class="panel-body"> | ||
26 | + <table class="table table-bordered"> | ||
27 | + <tr> | ||
28 | + <td rowspan="2">试穿信息</td> | ||
29 | + <td>上传EXCEL:</td> | ||
30 | + <td> | ||
31 | + <div class="panel-col" style="position: relative;"> | ||
32 | + <input id="productModelTry" name="file" data-type="productModelTry" type="file" | ||
33 | + style="cursor: pointer; height: 37px; top: 8px;"> | ||
34 | + <div class="file-name btn btn-default">上传本地文件</div> | ||
35 | + </div> | ||
36 | + </td> | ||
37 | + </tr> | ||
38 | + <tr> | ||
39 | + <td>说明:</td> | ||
40 | + <td colspan="2"> | ||
41 | + 1、上传文件必须是<span style="color:red;">.xlsx</span>文件<br> | ||
42 | + 2、第一行标题栏:<span style="color: red;">试穿模特ID|sku|试穿描述|试穿备注</span><br> | ||
43 | + 3、<a href="{{domain}}/common/productModelTry.xlsx">下载样例</a> | ||
44 | + </td> | ||
45 | + </tr> | ||
46 | + </table> | ||
47 | + </div> | ||
48 | + </div> | ||
49 | +</div> | ||
50 | + | ||
51 | +<div class="panel panel-primary-head"> | ||
52 | + <div class="panel-body red" id="message"> | ||
53 | + </div> | ||
54 | +</div> |
server/views/pages/meterManage/info.html
0 → 100644
1 | +<div class="pageheader"> | ||
2 | + <div class="media"> | ||
3 | + <div class="pageicon pull-left"> | ||
4 | + <i class="fa fa-th-list"></i> | ||
5 | + </div> | ||
6 | + <div class="media-body"> | ||
7 | + <ul class="breadcrumb"> | ||
8 | + <li><a href="#"><i class="glyphicon glyphicon-home"></i></a></li> | ||
9 | + <li><a href="#">试穿管理</a></li> | ||
10 | + <li>试穿信息</li> | ||
11 | + </ul> | ||
12 | + <h4>试穿详情</h4> | ||
13 | + </div> | ||
14 | + </div> | ||
15 | +</div> | ||
16 | + | ||
17 | +<div class="contentpanel"> | ||
18 | + <div class="contentpanel1"> | ||
19 | + | ||
20 | + </div> | ||
21 | + <div class="col-sm-4"> | ||
22 | + <a class="btn btn-info addInfo" id="addInfo">保存</a> | ||
23 | + <!--<a class="btn btn-primary back" >返回</a>--> | ||
24 | + </div> | ||
25 | +</div> | ||
26 | + | ||
27 | +<script type="text/template" id="template"> | ||
28 | + <div> | ||
29 | + <h4>SKN</h4> | ||
30 | + </div> | ||
31 | + <table class="table table-bordered"> | ||
32 | + <tbody> | ||
33 | + [[each modelLists as item index]] | ||
34 | + <tr> | ||
35 | + <th> | ||
36 | + <span>[[item.modelName]]</span> | ||
37 | + </th> | ||
38 | + <th> | ||
39 | + <select name="fit_size" data-name="fit_size" data-index="[[index]]" title="" class="select2-offscreen brandBtn-group fit_size tryInfo1"> | ||
40 | + <option value='[[item.tryInfo.fit_size]]'>[[item.tryInfo.fit_size||'请选择试穿尺码']]</option> | ||
41 | + </select> | ||
42 | + </th> | ||
43 | + <th> | ||
44 | + <select name="status" value="[[item.tryInfo.feel_id]]" data-name="feel_id" data-index="[[index]]" title="" class="select2-offscreen brandBtn-group tryInfo1"> | ||
45 | + <option value="-1">[['请选择试穿描述']]</option> | ||
46 | + | ||
47 | + </select> | ||
48 | + </th> | ||
49 | + <th> | ||
50 | + <input type="text" data-name="fit_remark" data-index="[[index]]" value="[[item.tryInfo.fit_remark]]" name="fit_remark" id="fit_remark" class="tryInfo1 " | ||
51 | + placeholder="添加备注,不超过12字"> | ||
52 | + </th> | ||
53 | + </tr> | ||
54 | + [[/each]] | ||
55 | + </tbody> | ||
56 | + </table> | ||
57 | +</script> | ||
58 | + | ||
59 | + |
@@ -22,17 +22,17 @@ | @@ -22,17 +22,17 @@ | ||
22 | <div class="contentpanel"> | 22 | <div class="contentpanel"> |
23 | <div class="panel panel-default" style="..."> | 23 | <div class="panel panel-default" style="..."> |
24 | <div class="panel-heading"> | 24 | <div class="panel-heading"> |
25 | - <a class="btn btn-success " id="add-content"><i class="fa fa-plus"></i> excel导入</a> | 25 | + <a class="btn btn-success " id="add-content" href="/meterManage/tryInfo/batch"><i class="fa fa-plus"></i> 上传excel文件</a> |
26 | </div> | 26 | </div> |
27 | <div class="panel-body"> | 27 | <div class="panel-body"> |
28 | <div class="row"> | 28 | <div class="row"> |
29 | <div class="panel-col"> | 29 | <div class="panel-col"> |
30 | <input type="text" value="" name="productSku" id="content-filter1" placeholder="SKU" | 30 | <input type="text" value="" name="productSku" id="content-filter1" placeholder="SKU" |
31 | - class="form-control"> | 31 | + class="form-control"> |
32 | </div> | 32 | </div> |
33 | <div class="panel-col"> | 33 | <div class="panel-col"> |
34 | <input type="text" value="" name="productSkn" id="content-filter2" placeholder="SKN" | 34 | <input type="text" value="" name="productSkn" id="content-filter2" placeholder="SKN" |
35 | - class="form-control"> | 35 | + class="form-control"> |
36 | </div> | 36 | </div> |
37 | <div class="panel-col"> | 37 | <div class="panel-col"> |
38 | <input type="text" value="" name="productName" id="content-filter3" placeholder="产品名称" | 38 | <input type="text" value="" name="productName" id="content-filter3" placeholder="产品名称" |
@@ -48,3 +48,5 @@ | @@ -48,3 +48,5 @@ | ||
48 | <div id="content-list"></div> | 48 | <div id="content-list"></div> |
49 | </div> | 49 | </div> |
50 | 50 | ||
51 | + | ||
52 | + |
@@ -52,13 +52,13 @@ | @@ -52,13 +52,13 @@ | ||
52 | </div> | 52 | </div> |
53 | 53 | ||
54 | <script type="text/template" id="template"> | 54 | <script type="text/template" id="template"> |
55 | - <div class="rows" id="baseform" > | 55 | + <div class="rows" id="baseform" style="height: 400px;overflow: auto"> |
56 | <div class="form-group"> | 56 | <div class="form-group"> |
57 | <label class="col-sm-2 control-label" for="avatar">头像</label> | 57 | <label class="col-sm-2 control-label" for="avatar">头像</label> |
58 | <input type="hidden" value="[[id]]" id="id"/> | 58 | <input type="hidden" value="[[id]]" id="id"/> |
59 | 59 | ||
60 | <div class="col-sm-6"> | 60 | <div class="col-sm-6"> |
61 | - <input type="file" value="[[avatar]]" class="form-control" id="avatar" /> | 61 | + <input type="file" value="[[avatar]]" class="form-control avatar" id="avatar" name="avatar" /> |
62 | </div> | 62 | </div> |
63 | </div> | 63 | </div> |
64 | <div class="form-group"> | 64 | <div class="form-group"> |
@@ -130,7 +130,7 @@ | @@ -130,7 +130,7 @@ | ||
130 | <label class="col-sm-2 control-label" for="modelCard">模特卡</label> | 130 | <label class="col-sm-2 control-label" for="modelCard">模特卡</label> |
131 | 131 | ||
132 | <div class="col-sm-10"> | 132 | <div class="col-sm-10"> |
133 | - <input type="file" value="[[modelCard]]" class="form-control" id="modelCard" /> | 133 | + <input type="file" value="[[modelCard]]" class="form-control modelCard" id="modelCard" name="modelCard"/> |
134 | </div> | 134 | </div> |
135 | </div> | 135 | </div> |
136 | </div> | 136 | </div> |
@@ -24,11 +24,11 @@ | @@ -24,11 +24,11 @@ | ||
24 | <div class="panel-body"> | 24 | <div class="panel-body"> |
25 | <div class="row"> | 25 | <div class="row"> |
26 | <div class="panel-col2"> | 26 | <div class="panel-col2"> |
27 | - <input type="text" id="startTime" class="form-control panel-input hasDatepicker" name="start_time" | 27 | + <input type="text" id="starttime" class="form-control panel-input hasDatepicker" name="start_time" |
28 | placeholder="开始时间" value=""> | 28 | placeholder="开始时间" value=""> |
29 | </div> | 29 | </div> |
30 | <div class="panel-col2"> | 30 | <div class="panel-col2"> |
31 | - <input type="text" id="endTime" class="form-control panel-input hasDatepicker" name="end_time" | 31 | + <input type="text" id="endtime" class="form-control panel-input hasDatepicker" name="end_time" |
32 | placeholder="结束时间" value=""> | 32 | placeholder="结束时间" value=""> |
33 | </div> | 33 | </div> |
34 | <div class="panel-col"> | 34 | <div class="panel-col"> |
@@ -56,19 +56,22 @@ | @@ -56,19 +56,22 @@ | ||
56 | 56 | ||
57 | <!--上传图片--> | 57 | <!--上传图片--> |
58 | <script type="text/template" id="template1"> | 58 | <script type="text/template" id="template1"> |
59 | + <div class="rows" style="height: 400px;overflow: auto"> | ||
59 | <div class="form-group"> | 60 | <div class="form-group"> |
60 | <label class="col-sm-2 control-label" for="Sku">SKU</label> | 61 | <label class="col-sm-2 control-label" for="Sku">SKU</label> |
62 | + | ||
61 | <div class="col-sm-6"> | 63 | <div class="col-sm-6"> |
62 | - <input type="text" value="[[productSku]]" class="form-control" id="Sku" /> | 64 | + <input type="text" value="[[productSku]]" class="form-control" id="Sku"/> |
63 | </div> | 65 | </div> |
64 | </div> | 66 | </div> |
65 | <div class="form-group"> | 67 | <div class="form-group"> |
66 | <label class="col-sm-2 control-label">图片</label> | 68 | <label class="col-sm-2 control-label">图片</label> |
69 | + | ||
67 | <div class="cover-image-list col-sm-10" id="addPic"> | 70 | <div class="cover-image-list col-sm-10" id="addPic"> |
68 | </div> | 71 | </div> |
69 | </div> | 72 | </div> |
70 | <div class="form-group"> | 73 | <div class="form-group"> |
71 | - <label class="col-sm-2 control-label">图片</label> | 74 | + <label class="col-sm-2 control-label"></label> |
72 | <ul class="cover-image-list col-sm-10" style="padding: 0;margin: 0;"> | 75 | <ul class="cover-image-list col-sm-10" style="padding: 0;margin: 0;"> |
73 | <li class="cover-image-item fileinput-button"> | 76 | <li class="cover-image-item fileinput-button"> |
74 | <div class="goods-img"> | 77 | <div class="goods-img"> |
@@ -83,14 +86,43 @@ | @@ -83,14 +86,43 @@ | ||
83 | <script type="text/template" id="template2"> | 86 | <script type="text/template" id="template2"> |
84 | <ul class="cover-image-list col-sm-10" style="padding: 0;margin: 0;"> | 87 | <ul class="cover-image-list col-sm-10" style="padding: 0;margin: 0;"> |
85 | [[each pictureBoList as _item _index]] | 88 | [[each pictureBoList as _item _index]] |
86 | - <li class="cover-image-item" data-index=[[_index]]> | 89 | + <li class="cover-image-item" data-index=[[_index]] > |
87 | <div class="goods-img"> | 90 | <div class="goods-img"> |
88 | <a class="fileinput-button-icon" href="javascript:void(0);"> | 91 | <a class="fileinput-button-icon" href="javascript:void(0);"> |
89 | <img src="[[_item.fileName]]"> | 92 | <img src="[[_item.fileName]]"> |
90 | </a> | 93 | </a> |
91 | - <i class="remove-item-btn glyphicon glyphicon-remove-circle"></i> | 94 | + <i class="remove-item-btn glyphicon glyphicon-remove-circle" ></i> |
92 | </div> | 95 | </div> |
93 | </li> | 96 | </li> |
94 | [[/each]] | 97 | [[/each]] |
95 | </ul> | 98 | </ul> |
96 | </script> | 99 | </script> |
100 | + | ||
101 | +<script type="text/template" id="template3"> | ||
102 | + <div class="row" style="height: 400px;overflow: auto"> | ||
103 | + <div class="form-group"> | ||
104 | + <label class="col-sm-2">SKN</label> | ||
105 | + <div class="col-sm-6"> | ||
106 | + <input type="text" value=[[productSkn]] disabled="disabled"> | ||
107 | + </div> | ||
108 | + | ||
109 | + </div> | ||
110 | + <div class="form-group"> | ||
111 | + <label class="col-sm-2">图片</label> | ||
112 | + <div class="col-sm-10"> | ||
113 | + <ul class="cover-image-list col-sm-10" style="padding: 0;margin: 0;"> | ||
114 | + [[each pictureBoList as _item _index]] | ||
115 | + <li class="cover-image-item" data-index=[[_index]]> | ||
116 | + <div class="goods-img"> | ||
117 | + <a class="fileinput-button-icon" href="javascript:void(0);"> | ||
118 | + <img src="[[_item.fileName]]"> | ||
119 | + </a> | ||
120 | + <i class="remove-item-btn glyphicon glyphicon-remove-circle"></i> | ||
121 | + </div> | ||
122 | + </li> | ||
123 | + [[/each]] | ||
124 | + </ul> | ||
125 | + </div> | ||
126 | + </div> | ||
127 | + </div> | ||
128 | +</script> |
-
Please register or login to post a comment