Merge branch 'develop' into release/1.6
# Conflicts: # server/views/pages/guang/contentEdit.html
Showing
18 changed files
with
928 additions
and
194 deletions
@@ -3,6 +3,9 @@ | @@ -3,6 +3,9 @@ | ||
3 | var $ = require('jquery'), | 3 | var $ = require('jquery'), |
4 | common=require('../common/common'); | 4 | common=require('../common/common'); |
5 | 5 | ||
6 | +var pricePercent = 0.2; //yoho币审核比例线 | ||
7 | +var loadModal = null; | ||
8 | +var importYohoCoinData = null; | ||
6 | var ENUM = { | 9 | var ENUM = { |
7 | gender: { | 10 | gender: { |
8 | 1: '男', | 11 | 1: '男', |
@@ -10,100 +13,46 @@ var ENUM = { | @@ -10,100 +13,46 @@ var ENUM = { | ||
10 | 3: '通用' | 13 | 3: '通用' |
11 | }, | 14 | }, |
12 | status: { | 15 | status: { |
16 | + 0: '未设置', | ||
13 | 1: '<font color="#428bca">待审核</font>', | 17 | 1: '<font color="#428bca">待审核</font>', |
14 | 2: '<font color="#5cb85c">通过</font>', | 18 | 2: '<font color="#5cb85c">通过</font>', |
15 | 3: '<font color="#d9534f">驳回</font>' | 19 | 3: '<font color="#d9534f">驳回</font>' |
16 | } | 20 | } |
17 | } | 21 | } |
18 | 22 | ||
19 | -/* | ||
20 | -var g = new common.grid({ | ||
21 | - el: "#yohoCoin_table1", | ||
22 | - parms: function() { | ||
23 | - return { | ||
24 | - product_skn: common.util.__input("skn"), | ||
25 | - shop_id: common.util.__input("shop"), | ||
26 | - brand_id: common.util.__input("brand"), | ||
27 | - supplier_id: common.util.__input("supplier"), | ||
28 | - gender: common.util.__input("gender") | ||
29 | - }; | ||
30 | - }, | ||
31 | - columns: [{ | ||
32 | - display: 'SKN', | ||
33 | - name: 'product_skn' | ||
34 | - }, { | ||
35 | - display: '商品信息', | ||
36 | - name: 'info', | ||
37 | - render: function(item) { | ||
38 | - return '<div>名称:' + item.product_name + '</div>' + | ||
39 | - '<div>品牌:' + item.brand_name + '</div>' + | ||
40 | - '<div>类目:' + item.middle_sort_name + '<b> ></b> ' + item.small_sort_name + '</div>'; | ||
41 | - } | ||
42 | - }, { | ||
43 | - display: '供应商 / 店铺', | ||
44 | - name: 'supplier_name', | ||
45 | - render: function(item) { | ||
46 | - var html = ''; | ||
47 | - if (item.supplier_name) { | ||
48 | - html += item.supplier_name; | ||
49 | - } | ||
50 | - if (item.shop_name) { | ||
51 | - html += '/' + item.shop_name; | ||
52 | - } | ||
53 | - return html; | ||
54 | - } | ||
55 | - }, { | ||
56 | - display: '性别', | ||
57 | - name: 'gender', | ||
58 | - render: function(item) { | ||
59 | - return ENUM.gender[item.gender]; | ||
60 | - } | ||
61 | - }, { | ||
62 | - display: '吊牌价', | ||
63 | - name: 'retail_price' | ||
64 | - }, { | ||
65 | - display: '销售价', | ||
66 | - name: 'sales_price' | ||
67 | - }, { | ||
68 | - display: '返币金额', | ||
69 | - name: 'return_coin' | ||
70 | - }, { | ||
71 | - display: '状态', | ||
72 | - name: 'status', | ||
73 | - render: function(item) { | ||
74 | - return ENUM.status[item.status]; | ||
75 | - } | ||
76 | - },{ | ||
77 | - display: '操作信息', | ||
78 | - name: 'operateInfo', | ||
79 | - render: function(item) { | ||
80 | - var html = ''; | ||
81 | - if (item.founder_name) { | ||
82 | - html += '<div>' + item.founder_name + '</div>'; | ||
83 | - } | ||
84 | - if (item.updateTime) { | ||
85 | - html += '<div>' + item.updateTime + '</div>'; | ||
86 | - } | ||
87 | - return html; | ||
88 | - } | ||
89 | - }, { | ||
90 | - display: '操作', | ||
91 | - render: function(item) { | ||
92 | - return '<a href="javascript:;" class="btn btn-info btn-xs btn-modify" data-skn="' + item.product_skn + '">修改</a>' | ||
93 | - } | ||
94 | - }] | 23 | +new common.dropDown({ |
24 | + el: '#shop', | ||
25 | + ajax: 'shopsRest' | ||
26 | +}); | ||
27 | +new common.dropDown({ | ||
28 | + el: '#brand', | ||
29 | + ajax: 'brand' | ||
30 | +}); | ||
31 | +new common.dropDown({ | ||
32 | + el: '#supplier', | ||
33 | + ajax: 'querySupplier' | ||
95 | }); | 34 | }); |
96 | -*/ | ||
97 | 35 | ||
36 | +//多级菜单 | ||
37 | +var tabTree = new common.tabTree("#sortTree", {status: 1, sortLevel: 1}); | ||
38 | +tabTree.init(); | ||
39 | + | ||
40 | +//grid列表生成 | ||
98 | var g = new common.grid({ | 41 | var g = new common.grid({ |
99 | el: "#yohoCoin_table", | 42 | el: "#yohoCoin_table", |
100 | parms: function() { | 43 | parms: function() { |
44 | + var select = tabTree.getAddress(); | ||
101 | return { | 45 | return { |
102 | - product_skn: common.util.__input("skn"), | ||
103 | - shop_id: common.util.__input("shop"), | ||
104 | - brand_id: common.util.__input("brand"), | ||
105 | - supplier_id: common.util.__input("supplier"), | ||
106 | - gender: common.util.__input("gender") | 46 | + productSkn: common.util.__input("skn"), |
47 | + shopId: common.util.__input("shop"), | ||
48 | + brandId: common.util.__input("brand"), | ||
49 | + supplierId: common.util.__input("supplier"), | ||
50 | + gender: common.util.__input("gender"), | ||
51 | + auditStatus: common.util.__input("auditStatus"), | ||
52 | + maxSortId: select[0] ? select[0].id : "", | ||
53 | + middleSortId: select[1] ? select[1].id : "", | ||
54 | + smallSortId: select[2] ? select[2].id : "", | ||
55 | + sortId: select[3] ? select[3].id : "" | ||
107 | }; | 56 | }; |
108 | }, | 57 | }, |
109 | columns: [{ | 58 | columns: [{ |
@@ -114,21 +63,263 @@ var g = new common.grid({ | @@ -114,21 +63,263 @@ var g = new common.grid({ | ||
114 | $("#yohoCoin_table").find("thead tr th").html($("#coinListHead").html()); | 63 | $("#yohoCoin_table").find("thead tr th").html($("#coinListHead").html()); |
115 | } | 64 | } |
116 | item.genderName = ENUM.gender[item.gender]; | 65 | item.genderName = ENUM.gender[item.gender]; |
66 | + item.statusName = ENUM.status[item.productPrice.coinStatus]; | ||
67 | + | ||
117 | html += common.util.__template2($("#coinList").html(),item); | 68 | html += common.util.__template2($("#coinList").html(),item); |
118 | return html; | 69 | return html; |
119 | } | 70 | } |
120 | }] | 71 | }] |
121 | }); | 72 | }); |
122 | - | ||
123 | g.init($("#gridurl").val()); | 73 | g.init($("#gridurl").val()); |
124 | 74 | ||
75 | +//批量上传 | ||
76 | +ajaxUpload(); | ||
77 | + | ||
78 | +/**********************接口*************************/ | ||
79 | + | ||
80 | +//保存接口 | ||
81 | +function ajaxSave(productSkn, yohoCoin, auditorId, salesPrice){ | ||
82 | + common.util.__ajax({ | ||
83 | + url:'/good/yohoCoin/set', | ||
84 | + data: { | ||
85 | + "productSkn": productSkn, | ||
86 | + "returnCoin": yohoCoin, | ||
87 | + "salesPrice": salesPrice, | ||
88 | + "auditorId": auditorId | ||
89 | + } | ||
90 | + },function(rs){ | ||
91 | + console.log("yoho币保存返回" + rs); | ||
92 | + if(yohoCoin < (salesPrice * pricePercent)){ | ||
93 | + | ||
94 | + } | ||
95 | + }); | ||
96 | +} | ||
97 | + | ||
98 | +//批量导入接口 | ||
99 | +function ajaxUpload(){ | ||
100 | + common.edit.ajaxfileupload('#yohoCoinUpload',{ | ||
101 | + params: { | ||
102 | + type: "yohoCoin", | ||
103 | + __type: "batch-import" | ||
104 | + }, | ||
105 | + onStart: function() { | ||
106 | + loadModal = common.dialog.load(); | ||
107 | + clearImportResult(); | ||
108 | + }, | ||
109 | + onComplete: function(response) { | ||
110 | + console.log("批量接口返回数据",response); | ||
111 | + if (response.code == 200 && response.data.taskId) { | ||
112 | + ajaxExeclByTaskId(response.data.taskId); | ||
113 | + return true; | ||
114 | + } | ||
115 | + else if(response.data && response.data.failFileReason.length){ | ||
116 | + loadingClose(); | ||
117 | + showImportMessage(response.data.failFileReason.join('<br/>'), "error"); | ||
118 | + common.util.__tip("上传出错!具体请看批量上传结果。", 'warning'); | ||
119 | + return false; | ||
120 | + } | ||
121 | + else{ | ||
122 | + loadingClose(); | ||
123 | + showImportMessage(response.message, "error"); | ||
124 | + common.util.__tip(response.message); | ||
125 | + } | ||
126 | + } | ||
127 | + }); | ||
128 | +} | ||
129 | + | ||
130 | +//异步批量上传接口 | ||
131 | +function ajaxExeclByTaskId(taskId){ | ||
132 | + //异步调用的接口importResult/queryBatchImportResult 参数名param | ||
133 | + common.util.__ajax({ | ||
134 | + url: '/yohoCoin/importResult/queryBatchImportResult', | ||
135 | + data: { | ||
136 | + param:taskId | ||
137 | + } | ||
138 | + },function(res){ | ||
139 | + console.log("异步返回接口",res); | ||
140 | + if(res.data.length){ | ||
141 | + loadingClose(); | ||
142 | + importYohoCoinData = res.data; | ||
143 | + showImportTable(res); | ||
144 | + showImportMessage("批量导入成功!", "success"); | ||
145 | + common.util.__tip("批量导入成功!", 'success'); | ||
146 | + }else{ | ||
147 | + setTimeout(function(){ | ||
148 | + ajaxExeclByTaskId.call(null,taskId); | ||
149 | + },5000); | ||
150 | + } | ||
151 | + },true); | ||
152 | +} | ||
153 | + | ||
154 | +//批量上传确认 | ||
155 | +function ajaxUploadSubmit(data){ | ||
156 | + common.util.__ajax({ | ||
157 | + url:'', | ||
158 | + data: data | ||
159 | + },function(rs){ | ||
160 | + location.href = ''; | ||
161 | + }); | ||
162 | +} | ||
163 | + | ||
164 | +/**********************业务方法*************************/ | ||
165 | + | ||
166 | +//显示批量导入结果 | ||
167 | +function showImportMessage(message, statue){ | ||
168 | + $("#yohoCoinImportMessage").removeAttr("class").addClass(statue).show(); | ||
169 | + $("#detailMassage").text(message); | ||
170 | +} | ||
171 | + | ||
172 | +//显示批量导入数据表 | ||
173 | +function showImportTable(data){ | ||
174 | + $("#importResultTable").html(common.util.__template2($("#yohoCoinImportResultTable").html(),data)); | ||
175 | + $("#yohoCoinImportResultSet").show(); | ||
176 | + $("#yohoCoinImportResult").show(); | ||
177 | +} | ||
178 | + | ||
179 | +//初始化批量导入结果及列表 | ||
180 | +function clearImportResult(){ | ||
181 | + $("#detailMassage").empty(); | ||
182 | + $("#importResultTable").empty(); | ||
183 | + $("#importAuditor").val(""); | ||
184 | + | ||
185 | + $("#yohoCoinImportMessage").hide(); | ||
186 | + $("#yohoCoinImportResultSet").hide(); | ||
187 | + $("#yohoCoinImportResult").hide(); | ||
188 | +} | ||
189 | + | ||
190 | +//吊牌价跟销售价校验 | ||
191 | +function checkPrice(retailPrice, salesPrice){ | ||
192 | + if(retailPrice == salesPrice){ | ||
193 | + return true; | ||
194 | + }else{ | ||
195 | + common.util.__tip("销售价与吊牌价不同,YOHO币只能为0!"); | ||
196 | + return false; | ||
197 | + } | ||
198 | +} | ||
199 | + | ||
200 | +//yoho币金额校验 | ||
201 | +function checkYohoCoin(yohoCoin, auditor, price){ | ||
202 | + if(yohoCoin.val()){ | ||
203 | + if(!isNaN(yohoCoin.val())){ | ||
204 | + if(yohoCoin.val() < 0){ | ||
205 | + yohoCoin.focus().select().addClass("error"); | ||
206 | + common.util.__tip("YOHO币金额不能小于0!"); | ||
207 | + return false; | ||
208 | + } | ||
209 | + //yoho币大于等于销售额的20%需要校验审核人 | ||
210 | + if(yohoCoin.val() >= (price * pricePercent)){ | ||
211 | + return checkAuditor(auditor); | ||
212 | + } | ||
213 | + }else{ | ||
214 | + yohoCoin.focus().select().addClass("error"); | ||
215 | + common.util.__tip("YOHO币金额必须为数字!"); | ||
216 | + return false; | ||
217 | + } | ||
218 | + }else{ | ||
219 | + yohoCoin.focus().addClass("error"); | ||
220 | + common.util.__tip("YOHO币金额不能为空!"); | ||
221 | + return false; | ||
222 | + } | ||
223 | + return true; | ||
224 | +} | ||
225 | + | ||
226 | +//审核人校验 | ||
227 | +function checkAuditor(auditor){ | ||
228 | + if(auditor.val() == ""){ | ||
229 | + auditor.focus().addClass("error"); | ||
230 | + common.util.__tip("审核人不能为空!"); | ||
231 | + return false; | ||
232 | + } | ||
233 | + return true; | ||
234 | +} | ||
235 | + | ||
236 | +//保存单行数据刷新 | ||
237 | +function freshYohoCoinRowData(productSkn, yohoCoin, status){ | ||
238 | + var SknDom = $('._' + productSkn); | ||
239 | + SknDom.find(".returnYohoCoin").text(yohoCoin); | ||
240 | + SknDom.find(".coinStatus").text(ENUM.status[status]); | ||
241 | +} | ||
242 | + | ||
243 | +//关闭loading | ||
244 | +function loadingClose(){ | ||
245 | + if (loadModal) { | ||
246 | + loadModal.close(); | ||
247 | + } | ||
248 | +} | ||
249 | + | ||
250 | +/**********************事件*************************/ | ||
251 | + | ||
252 | +//批量导入结果列表删除 | ||
253 | +$(document).on('click', '.btn-delete-yohoCoin', function() { | ||
254 | + var index = $(this).data("index"); | ||
255 | + if(importYohoCoinData){ | ||
256 | + [].splice.call(importYohoCoinData,index,1); | ||
257 | + $("#importResultTable").html(common.util.__template2($("#yohoCoinImportResultTable").html(),data)); | ||
258 | + } | ||
259 | +}); | ||
260 | + | ||
261 | +//批量导入结果列表确定 | ||
262 | +$(document).on('click', '.btn-submit-yohoCoin', function() { | ||
263 | + ajaxUploadSubmit(); | ||
264 | +}); | ||
265 | + | ||
266 | +//保存操作 | ||
267 | +$(document).on('click', '.btn-save', function() { | ||
268 | + var productSkn = $(this).data('productskn'); | ||
269 | + var sknDom = $('._' + productSkn); | ||
270 | + | ||
271 | + var retailPrice = sknDom.find('.retailPrice').text(); //吊牌价 | ||
272 | + var salesPrice = sknDom.find('.salesPrice').text(); //销售价 | ||
273 | + | ||
274 | + if(checkPrice(retailPrice, salesPrice)){ | ||
275 | + var yohoCoinInput = sknDom.find('.editor-yohoCoin'); | ||
276 | + var auditorInput = sknDom.find('.editor-auditor'); | ||
277 | + | ||
278 | + if(checkYohoCoin(yohoCoinInput, auditorInput, salesPrice)){ | ||
279 | + ajaxSave(productSkn, yohoCoinInput.val(), auditorInput.val(), salesPrice); | ||
280 | + } | ||
281 | + } | ||
282 | +}); | ||
283 | + | ||
284 | +//显示修改 | ||
125 | $(document).on('click', '.btn-modify', function() { | 285 | $(document).on('click', '.btn-modify', function() { |
126 | if($(this).hasClass("openEditor")){ | 286 | if($(this).hasClass("openEditor")){ |
127 | $(this).text("修改").removeClass("openEditor"); | 287 | $(this).text("修改").removeClass("openEditor"); |
128 | - $(this).parents(".dataForShow").find(".dataForEditor td").hide(); | 288 | + var dataForShow = $(this).parents(".dataForShow"); |
289 | + dataForShow.find(".dataForEditor td").hide(); | ||
290 | + dataForShow.find(".editor-yohoCoin").val(dataForShow.find(".returnYohoCoin").text()); | ||
291 | + dataForShow.find(".editor-auditor").val(""); | ||
129 | }else{ | 292 | }else{ |
130 | $(this).text("收起").addClass("openEditor"); | 293 | $(this).text("收起").addClass("openEditor"); |
131 | $(this).parents(".dataForShow").find(".dataForEditor td").show(); | 294 | $(this).parents(".dataForShow").find(".dataForEditor td").show(); |
132 | } | 295 | } |
133 | }); | 296 | }); |
134 | 297 | ||
298 | +//显示批量导入 | ||
299 | +$(document).on('click', '#import-btn', function() { | ||
300 | + $('#yohoCoin_table').hide(); | ||
301 | + $('#yohoCoinSearch').hide(); | ||
302 | + $('#yohoCoin_import').show(); | ||
303 | +}); | ||
304 | + | ||
305 | +//返回列表 | ||
306 | +$(document).on('click', '#return-btn', function() { | ||
307 | + $('#yohoCoin_import').hide(); | ||
308 | + $('#yohoCoinSearch').show(); | ||
309 | + $('#yohoCoin_table').show(); | ||
310 | +}); | ||
311 | + | ||
312 | +//筛选 | ||
313 | +$(document).on('click', '#filter-btn', function() { | ||
314 | + g.reload(1); | ||
315 | +}); | ||
316 | + | ||
317 | +//全部 | ||
318 | +$(document).on('click', '#all-btn', function() { | ||
319 | + location.href = ''; | ||
320 | +}); | ||
321 | + | ||
322 | +//校验失败编辑 | ||
323 | +$(document).on('change', '#yohoCoin_table .error', function() { | ||
324 | + $(this).removeClass('error'); | ||
325 | +}); |
client/js/goods/yohoCoinAudit.js
0 → 100644
1 | +//yoho币 | ||
2 | +'use strict'; | ||
3 | +var $ = require('jquery'), | ||
4 | + common=require('../common/common'); | ||
5 | + | ||
6 | +var ENUM = { | ||
7 | + gender: { | ||
8 | + 1: '男', | ||
9 | + 2: '女', | ||
10 | + 3: '通用' | ||
11 | + }, | ||
12 | + status: { | ||
13 | + 0: '未设置', | ||
14 | + 1: '<font color="#428bca">待审核</font>', | ||
15 | + 2: '<font color="#5cb85c">通过</font>', | ||
16 | + 3: '<font color="#d9534f">驳回</font>' | ||
17 | + } | ||
18 | +} | ||
19 | + | ||
20 | +new common.dropDown({ | ||
21 | + el: '#shop', | ||
22 | + ajax: 'shopsRest' | ||
23 | +}); | ||
24 | +new common.dropDown({ | ||
25 | + el: '#brand', | ||
26 | + ajax: 'brand' | ||
27 | +}); | ||
28 | +new common.dropDown({ | ||
29 | + el: '#supplier', | ||
30 | + ajax: 'querySupplier' | ||
31 | +}); | ||
32 | + | ||
33 | +//多级菜单 | ||
34 | +var tabTree = new common.tabTree("#sortTree", {status: 1, sortLevel: 1}); | ||
35 | +tabTree.init(); | ||
36 | + | ||
37 | +var g = new common.grid({ | ||
38 | + el: "#yohoCoinAudit_table", | ||
39 | + parms: function() { | ||
40 | + var select = tabTree.getAddress(); | ||
41 | + return { | ||
42 | + auditStatus: $("#yohoCoinNav .active").data('status'), | ||
43 | + product_skn: common.util.__input("skn"), | ||
44 | + shop_id: common.util.__input("shop"), | ||
45 | + brand_id: common.util.__input("brand"), | ||
46 | + supplier_id: common.util.__input("supplier"), | ||
47 | + gender: common.util.__input("gender"), | ||
48 | + maxSortId: select[0] ? select[0].id : "", | ||
49 | + middleSortId: select[1] ? select[1].id : "", | ||
50 | + smallSortId: select[2] ? select[2].id : "", | ||
51 | + sortId: select[3] ? select[3].id : "" | ||
52 | + }; | ||
53 | + }, | ||
54 | + columns: [{ | ||
55 | + display: 'SKN', | ||
56 | + name: 'productSkn' | ||
57 | + }, { | ||
58 | + display: '商品信息', | ||
59 | + name: 'info', | ||
60 | + render: function(item) { | ||
61 | + var html = "" | ||
62 | + html += "<p>名称:" + item.productName + "</p>" + "<p>品牌:" + item.brandName + "</p>" + "<div>类目:"; | ||
63 | + if(item.maxSortName) {html += item.maxSortName;} | ||
64 | + if(item.middleSortName) {html += " > " + item.middleSortName;} | ||
65 | + if(item.smallSortName) {html += " > " + item.smallSortName;} | ||
66 | + html += "</div>"; | ||
67 | + return html; | ||
68 | + } | ||
69 | + }, { | ||
70 | + display: '供应商 / 店铺', | ||
71 | + name: 'supplier_name', | ||
72 | + render: function(item) { | ||
73 | + var html = ''; | ||
74 | + if (item.supplierName) {html += item.supplierName;} | ||
75 | + if (item.shopName) {html += ' / ' + item.shopName;} | ||
76 | + return html; | ||
77 | + } | ||
78 | + }, { | ||
79 | + display: '性别', | ||
80 | + name: 'gender', | ||
81 | + render: function(item) { | ||
82 | + return ENUM.gender[item.gender]; | ||
83 | + } | ||
84 | + }, { | ||
85 | + display: '吊牌价', | ||
86 | + name: 'retailPrice' | ||
87 | + }, { | ||
88 | + display: '销售价', | ||
89 | + name: 'salesPrice' | ||
90 | + }, { | ||
91 | + display: '返币数', | ||
92 | + name: 'returnCoin', | ||
93 | + render: function(item) { | ||
94 | + return item.productPrice.returnCoin; | ||
95 | + } | ||
96 | + }, { | ||
97 | + display: '状态', | ||
98 | + name: 'status', | ||
99 | + render: function(item) { | ||
100 | + return ENUM.status[item.productPrice.coinStatus]; | ||
101 | + } | ||
102 | + },{ | ||
103 | + display: '操作信息', | ||
104 | + name: 'operateInfo', | ||
105 | + render: function(item) { | ||
106 | + var html = ''; | ||
107 | + if (item.productPrice.founder) {html += '<p>' + item.productPrice.founder + '</p>';} | ||
108 | + if (item.productPrice.updateTime) {html += '<p>' + item.productPrice.updateTime + '</p>';} | ||
109 | + return html; | ||
110 | + } | ||
111 | + }, { | ||
112 | + display: '操作', | ||
113 | + render: function(item) { | ||
114 | + return '<a href="javascript:;" class="btn btn-success btn-xs btn-checkOk" data-skn="' + item.productSkn + '">审核通过</a>' + | ||
115 | + '<a href="javascript:;" class="btn btn-danger btn-xs btn-checkNo" data-skn="' + item.productSkn + '">驳回</a>'; | ||
116 | + } | ||
117 | + }] | ||
118 | +}); | ||
119 | +g.init($("#gridurl").val()); | ||
120 | + | ||
121 | +//选择分类 | ||
122 | +$(document).on('click', '#yohoCoinNav li', function() { | ||
123 | + $(this).addClass("active").siblings().removeClass("active"); | ||
124 | + g.reload(); | ||
125 | +}); | ||
126 | + | ||
127 | +//审核通过 | ||
128 | +$(document).on('click', '.btn-checkOk', function() { | ||
129 | + var productSkn = $(this).data("skn"); | ||
130 | + common.dialog.confirm( | ||
131 | + "审核通过确认", | ||
132 | + "你确认<strong style='color:#5cb85c'> 审核通过 </strong>么?", | ||
133 | + function(){ | ||
134 | + common.util.__ajax({ | ||
135 | + url:'/good/yohoCoin/pass', | ||
136 | + data: { | ||
137 | + "productSkn": productSkn | ||
138 | + } | ||
139 | + },function(rs){ | ||
140 | + g.reload(); | ||
141 | + }); | ||
142 | + }, | ||
143 | + function(){} | ||
144 | + ); | ||
145 | +}); | ||
146 | + | ||
147 | +//驳回 | ||
148 | +$(document).on('click', '.btn-checkNo', function() { | ||
149 | + var productSkn = $(this).data("skn"); | ||
150 | + common.dialog.confirm( | ||
151 | + "审核驳回确认", | ||
152 | + "你确认<strong style='color:#d9534f'> 审核驳回 </strong>么?如果确认,<strong style='color: #f0ad4e'>请填写驳回理由!</strong> \ | ||
153 | + <textarea id='checkComment' class='form-control' rows='3' style='margin: 10px 0'></textarea> \ | ||
154 | + <div class='checkTip' style='display: none; color: #ff0000; font-weight: bold'><span>提示:请填写驳回理由!</span></div>", | ||
155 | + function(){ | ||
156 | + var comment = $("#checkComment").val(); | ||
157 | + if(comment){ | ||
158 | + common.util.__ajax({ | ||
159 | + url:'/good/yohoCoin/reject', | ||
160 | + data: { | ||
161 | + "productSkn": productSkn, | ||
162 | + "comment": comment | ||
163 | + } | ||
164 | + },function(rs){ | ||
165 | + g.reload(); | ||
166 | + }); | ||
167 | + }else{ | ||
168 | + $("#checkComment").focus(); | ||
169 | + $(".checkTip").show(); | ||
170 | + return false; | ||
171 | + } | ||
172 | + }, | ||
173 | + function(){} | ||
174 | + ); | ||
175 | +}); | ||
176 | + | ||
177 | + | ||
178 | + |
@@ -176,11 +176,7 @@ $(document).on('click', 'input[name="brandType"]', function () { | @@ -176,11 +176,7 @@ $(document).on('click', 'input[name="brandType"]', function () { | ||
176 | 176 | ||
177 | function plusStarOP(prefix, url, item) { | 177 | function plusStarOP(prefix, url, item) { |
178 | 178 | ||
179 | - if(prefix == "编辑") { | ||
180 | - imgArr = item.activityImg||[]; | ||
181 | - } else { | ||
182 | - imgArr = []; | ||
183 | - } | 179 | + |
184 | 180 | ||
185 | var a = new common.edit('#templete-top'); | 181 | var a = new common.edit('#templete-top'); |
186 | common.dialog.confirm(prefix+'品牌', common.util.__template2($("#template").html(), item), function () { | 182 | common.dialog.confirm(prefix+'品牌', common.util.__template2($("#template").html(), item), function () { |
@@ -217,6 +213,13 @@ function plusStarOP(prefix, url, item) { | @@ -217,6 +213,13 @@ function plusStarOP(prefix, url, item) { | ||
217 | $('#activity-name').css('display', 'none'); | 213 | $('#activity-name').css('display', 'none'); |
218 | $('input[name="brandType"][value="' + val + '"]').trigger('click'); | 214 | $('input[name="brandType"][value="' + val + '"]').trigger('click'); |
219 | 215 | ||
216 | + if(prefix == "编辑") { | ||
217 | + imgArr = item.activityImg||[]; | ||
218 | + $('#brandId').attr('disabled', true); | ||
219 | + } else { | ||
220 | + imgArr = []; | ||
221 | + $('#brandId').attr('disabled',false); | ||
222 | + } | ||
220 | 223 | ||
221 | rendBoList(imgArr); | 224 | rendBoList(imgArr); |
222 | 225 |
@@ -95,8 +95,11 @@ var g = new common.grid({ | @@ -95,8 +95,11 @@ var g = new common.grid({ | ||
95 | render: function (items) { | 95 | render: function (items) { |
96 | var HtmArr = []; | 96 | var HtmArr = []; |
97 | 97 | ||
98 | - HtmArr.push('<a data-index="' + items.__index + '" href="JavaScript:;" class="btn btn-primary btn-xs comment-pass">通过</a>'); | ||
99 | - HtmArr.push('<a data-index="' + items.__index + '" href="JavaScript:;" class="btn btn-danger btn-xs comment-mask">屏蔽</a>'); | 98 | + if(items.auditStatus == 0) { |
99 | + HtmArr.push('<a data-index="' + items.__index + '" href="JavaScript:;" class="btn btn-primary btn-xs comment-pass">通过</a>'); | ||
100 | + HtmArr.push('<a data-index="' + items.__index + '" href="JavaScript:;" class="btn btn-danger btn-xs comment-mask">屏蔽</a>'); | ||
101 | + | ||
102 | + } | ||
100 | 103 | ||
101 | return HtmArr.join(''); | 104 | return HtmArr.join(''); |
102 | } | 105 | } |
@@ -74,7 +74,7 @@ var g = new common.grid({ | @@ -74,7 +74,7 @@ var g = new common.grid({ | ||
74 | articleGender: common.util.__input('articleGender'), | 74 | articleGender: common.util.__input('articleGender'), |
75 | authorId: common.util.__input('authorId'), | 75 | authorId: common.util.__input('authorId'), |
76 | maxSortId: common.util.__input('maxSortId'), | 76 | maxSortId: common.util.__input('maxSortId'), |
77 | - status: common.util.__input('status'), | 77 | + status: $('#status').val(),//common.util.__input('status'), |
78 | orderBy: common.util.__input('orderBy'), | 78 | orderBy: common.util.__input('orderBy'), |
79 | startTime: common.util.__input('starttime'), | 79 | startTime: common.util.__input('starttime'), |
80 | endTime: common.util.__input('endtime'), | 80 | endTime: common.util.__input('endtime'), |
@@ -92,7 +92,11 @@ var g = new common.grid({ | @@ -92,7 +92,11 @@ var g = new common.grid({ | ||
92 | } | 92 | } |
93 | }, { | 93 | }, { |
94 | display: '文章标题', | 94 | display: '文章标题', |
95 | - name: "articleTitle" | 95 | + //name: "articleTitle", |
96 | + width:'15%', | ||
97 | + render: function(item) { | ||
98 | + return '<span class="text-overflow"">'+item.articleTitle+'</span>' | ||
99 | + } | ||
96 | }, { | 100 | }, { |
97 | display: '分类', | 101 | display: '分类', |
98 | name: "maxSortName" | 102 | name: "maxSortName" |
@@ -233,7 +237,7 @@ $(document).on('click', '.info-recommend-cancel', function() { | @@ -233,7 +237,7 @@ $(document).on('click', '.info-recommend-cancel', function() { | ||
233 | url: '/guang/article/operation', | 237 | url: '/guang/article/operation', |
234 | data: { | 238 | data: { |
235 | id: item.id, | 239 | id: item.id, |
236 | - isRecommend: -1 | 240 | + isRecommend: 0 |
237 | } | 241 | } |
238 | }, function(res) { | 242 | }, function(res) { |
239 | 243 |
@@ -168,11 +168,6 @@ $(document).on('click', '.info-del', function() { | @@ -168,11 +168,6 @@ $(document).on('click', '.info-del', function() { | ||
168 | 168 | ||
169 | function plusStarOP(prefix, url, item) { | 169 | function plusStarOP(prefix, url, item) { |
170 | 170 | ||
171 | - if(prefix == "编辑") { | ||
172 | - imgArr = item.bannerImg||[]; | ||
173 | - } else { | ||
174 | - imgArr = []; | ||
175 | - } | ||
176 | 171 | ||
177 | var a =new common.edit("#templete-top", { | 172 | var a =new common.edit("#templete-top", { |
178 | "bucket" : "plustar" | 173 | "bucket" : "plustar" |
@@ -208,6 +203,16 @@ function plusStarOP(prefix, url, item) { | @@ -208,6 +203,16 @@ function plusStarOP(prefix, url, item) { | ||
208 | 203 | ||
209 | a.init(); | 204 | a.init(); |
210 | 205 | ||
206 | + if(prefix == "编辑") { | ||
207 | + imgArr = item.bannerImg||[]; | ||
208 | + $('#brandId').attr('disabled', true); | ||
209 | + } else { | ||
210 | + imgArr = []; | ||
211 | + $('#brandId').attr('disabled', false); | ||
212 | + | ||
213 | + } | ||
214 | + | ||
215 | + | ||
211 | uploadImage(); | 216 | uploadImage(); |
212 | rendBoList(imgArr); | 217 | rendBoList(imgArr); |
213 | 218 |
@@ -590,4 +590,12 @@ ul { | @@ -590,4 +590,12 @@ ul { | ||
590 | // background: url(images/closeSelector.png) no-repeat; | 590 | // background: url(images/closeSelector.png) no-repeat; |
591 | cursor: pointer; | 591 | cursor: pointer; |
592 | z-index: 9999 | 592 | z-index: 9999 |
593 | +} | ||
594 | + | ||
595 | +.text-overflow { | ||
596 | + display : inline-block; | ||
597 | + overflow : hidden; | ||
598 | + text-overflow : ellipsis; | ||
599 | + white-space : nowrap; | ||
600 | + width : 250px; | ||
593 | } | 601 | } |
@@ -28,11 +28,70 @@ | @@ -28,11 +28,70 @@ | ||
28 | padding: 0; | 28 | padding: 0; |
29 | display: none; | 29 | display: none; |
30 | border-bottom: none; | 30 | border-bottom: none; |
31 | - background: #d9edf7; | 31 | + background1: #d9edf7; |
32 | } | 32 | } |
33 | #yohoCoin_table .dataForEditor tr:first-child{ | 33 | #yohoCoin_table .dataForEditor tr:first-child{ |
34 | border-bottom: 1px solid #ddd; | 34 | border-bottom: 1px solid #ddd; |
35 | border-top: 1px solid #ddd; | 35 | border-top: 1px solid #ddd; |
36 | } | 36 | } |
37 | +#yohoCoin_table .dataForEditor tr td .form-control{ | ||
38 | + display: inline-block; | ||
39 | +} | ||
40 | +#yohoCoin_table .dataForEditor tr td.editorTip{ | ||
41 | + color: #ff0000; | ||
42 | + border-top: 1px solid #ddd | ||
43 | +} | ||
44 | + | ||
45 | +#yohoCoin_table .error{ border: 2px solid #ff0000} | ||
46 | + | ||
47 | +#yohoCoin_import{ | ||
48 | + font-family: "Microsoft YaHei"; | ||
49 | +} | ||
50 | + | ||
51 | +#yohoCoinImportMessage{ | ||
52 | + display: none; | ||
53 | + margin-top: 10px; | ||
54 | + font-size: 18px; | ||
55 | + font-weight: bold; | ||
56 | + padding: 5px 10px; | ||
57 | + background: #ccc; | ||
58 | + color: #ffffff; | ||
59 | +} | ||
60 | + | ||
61 | +#yohoCoin_import .success{ | ||
62 | + background:#449d44; | ||
63 | +} | ||
64 | + | ||
65 | +#yohoCoin_import .error{ | ||
66 | + background:#ff0000; | ||
67 | +} | ||
68 | + | ||
69 | +#yohoCoin_import .title{ | ||
70 | + padding: 5px 10px; | ||
71 | + background: #5bc0de; | ||
72 | + height: auto; | ||
73 | + text-align: left; | ||
74 | + border:1px solid #46b8da; | ||
75 | + color: #FFFFFF; | ||
76 | + font-size: 14px; | ||
77 | +} | ||
78 | + | ||
79 | +#yohoCoinImportResult, #yohoCoinImportResultSet{ | ||
80 | + display: none; | ||
81 | + margin-top: 10px; | ||
82 | +} | ||
37 | 83 | ||
84 | +#yohoCoinImportResultSet .form-inline{ | ||
85 | + margin: 10px 0 0; | ||
86 | + padding: 0 20px; | ||
87 | +} | ||
88 | + | ||
89 | +#importResultTable{ | ||
90 | + padding: 10px 20px; | ||
91 | + text-align: center; | ||
92 | +} | ||
38 | 93 | ||
94 | +#importResultTable th, #importResultTable td{ | ||
95 | + text-align: center; | ||
96 | + vertical-align: inherit; | ||
97 | +} |
@@ -381,6 +381,22 @@ exports.res = [ | @@ -381,6 +381,22 @@ exports.res = [ | ||
381 | {name: 'bannerTitle', type: 'String'}, | 381 | {name: 'bannerTitle', type: 'String'}, |
382 | {name: 'orderBy', type: 'String'}, | 382 | {name: 'orderBy', type: 'String'}, |
383 | ] | 383 | ] |
384 | + },{ | ||
385 | + // Plus/Star列表-修改 | ||
386 | + route: '/guang/plustar/updatePlustar', | ||
387 | + method: 'POST', | ||
388 | + url: '/guang/plustar/updatePlustar', | ||
389 | + params: [ | ||
390 | + {name: 'id', type: 'String'}, | ||
391 | + {name: 'brandType', type: 'String'}, | ||
392 | + {name: 'status', type: 'String'}, | ||
393 | + {name: 'brandId', type: 'String'}, | ||
394 | + {name: 'gender', type: 'String'}, | ||
395 | + {name: 'coverImg', type: 'String'}, | ||
396 | + {name: 'bannerImg', type: 'String'}, | ||
397 | + {name: 'bannerTitle', type: 'String'}, | ||
398 | + {name: 'orderBy', type: 'String'}, | ||
399 | + ] | ||
384 | }, { | 400 | }, { |
385 | // Plus/Star列表-编辑 | 401 | // Plus/Star列表-编辑 |
386 | route: '/guang/plustar/getDetail', | 402 | route: '/guang/plustar/getDetail', |
@@ -536,6 +552,8 @@ exports.res = [ | @@ -536,6 +552,8 @@ exports.res = [ | ||
536 | url: '/guang/tagSort/getTagItems', | 552 | url: '/guang/tagSort/getTagItems', |
537 | params: [ | 553 | params: [ |
538 | {name: 'status', type: 'Number'}, | 554 | {name: 'status', type: 'Number'}, |
555 | + {name: 'idName', type: 'String'} | ||
556 | + | ||
539 | ] | 557 | ] |
540 | 558 | ||
541 | }, | 559 | }, |
1 | exports.domain = require('../config/common.js').domain; | 1 | exports.domain = require('../config/common.js').domain; |
2 | +//exports.domain = 'http://172.16.6.214:8088/platform'; | ||
2 | 3 | ||
3 | exports.res = [ | 4 | exports.res = [ |
4 | - { | 5 | + |
6 | +/*************************yoho币管理页面接口*******************************/ | ||
7 | + | ||
8 | + {//yoho币管理页面渲染 | ||
5 | route: '/goods/yohoCoin/index', | 9 | route: '/goods/yohoCoin/index', |
6 | method: 'GET', | 10 | method: 'GET', |
7 | view: 'pages/goods/yohoCoin', | 11 | view: 'pages/goods/yohoCoin', |
@@ -10,7 +14,7 @@ exports.res = [ | @@ -10,7 +14,7 @@ exports.res = [ | ||
10 | pagetitle: { | 14 | pagetitle: { |
11 | level1title: '商品管理', | 15 | level1title: '商品管理', |
12 | level2title: '价格管理', | 16 | level2title: '价格管理', |
13 | - level3title: 'yoho币管理' | 17 | + level3title: 'YOHO币管理' |
14 | }, | 18 | }, |
15 | filter: { | 19 | filter: { |
16 | skn: true, | 20 | skn: true, |
@@ -18,13 +22,94 @@ exports.res = [ | @@ -18,13 +22,94 @@ exports.res = [ | ||
18 | brand: true, | 22 | brand: true, |
19 | supplier: true, | 23 | supplier: true, |
20 | gender: true, | 24 | gender: true, |
21 | - cate_1: true, | ||
22 | - cate_2: true, | ||
23 | - cate_3: true, | 25 | + sortTree: true, |
24 | returnCoinTime: false, | 26 | returnCoinTime: false, |
25 | bulkImport: true | 27 | bulkImport: true |
26 | }, | 28 | }, |
27 | - gridurl: '/goods/price/list' | 29 | + gridurl: '/good/yohoCoin/queryPageList' |
30 | + } | ||
31 | + }, | ||
32 | + | ||
33 | + {//查询yoho币页面 | ||
34 | + route: "/good/yohoCoin/queryPageList", | ||
35 | + method: "POST", | ||
36 | + url: "/yohoCoin/queryPageList", | ||
37 | + params:[ | ||
38 | + {name: 'productSkn', type: 'Number'}, | ||
39 | + {name: 'shopId', type: 'Number'}, | ||
40 | + {name: 'brandId', type: 'Number'}, | ||
41 | + {name: 'supplierId', type: 'Number'}, | ||
42 | + {name: 'gender', type: 'String'}, | ||
43 | + {name: 'auditStatus', type: 'Number'}, | ||
44 | + {name: 'maxSortId', type: 'Number'}, | ||
45 | + {name: 'middleSortId', type: 'Number'}, | ||
46 | + {name: 'smallSortId', type: 'Number'}, | ||
47 | + {name: 'sortId', type: 'Number'} | ||
48 | + ] | ||
49 | + }, | ||
50 | + | ||
51 | + {//编辑保存yoho币 | ||
52 | + route: "/good/yohoCoin/set", | ||
53 | + method: "POST", | ||
54 | + url: "/yohoCoin/set", | ||
55 | + params:[ | ||
56 | + {name: 'productSkn', type: 'Number'}, | ||
57 | + {name: 'returnCoin', type: 'Number'}, | ||
58 | + {name: 'salesPrice', type: 'Number'}, | ||
59 | + {name: 'auditorId', type: 'Number'} | ||
60 | + ] | ||
61 | + }, | ||
62 | + | ||
63 | + {//批量上传 | ||
64 | + route: "/yohoCoin/importResult/queryBatchImportResult", | ||
65 | + method: "POST", | ||
66 | + url: "/importResult/queryBatchImportResult", | ||
67 | + params:[ | ||
68 | + {name: 'param', type: 'String'}, | ||
69 | + ] | ||
70 | + }, | ||
71 | +/*************************yoho币审核页面接口*******************************/ | ||
72 | + | ||
73 | + {//yoho币审核页面渲染 | ||
74 | + route: '/goods/yohoCoin/Audit', | ||
75 | + method: 'GET', | ||
76 | + view: 'pages/goods/yohoCoinAudit', | ||
77 | + src:'/goods/yohoCoinAudit', | ||
78 | + 'data': { | ||
79 | + pagetitle: { | ||
80 | + level1title: '商品管理', | ||
81 | + level2title: '价格管理', | ||
82 | + level3title: 'YOHO币审核' | ||
83 | + }, | ||
84 | + filter: { | ||
85 | + skn: true, | ||
86 | + store: true, | ||
87 | + brand: true, | ||
88 | + supplier: true, | ||
89 | + gender: true, | ||
90 | + sortTree: true, | ||
91 | + returnCoinTime: false | ||
92 | + }, | ||
93 | + gridurl: '/good/yohoCoin/queryPageList' | ||
28 | } | 94 | } |
29 | - } | 95 | + }, |
96 | + | ||
97 | + {//审核通过 | ||
98 | + route: "/good/yohoCoin/pass", | ||
99 | + method: "POST", | ||
100 | + url: "/yohoCoin/pass", | ||
101 | + params:[ | ||
102 | + {name: 'productSkn', type: 'Number'}, | ||
103 | + ] | ||
104 | + }, | ||
105 | + | ||
106 | + {//驳回 | ||
107 | + route: "/good/yohoCoin/reject", | ||
108 | + method: "POST", | ||
109 | + url: "/yohoCoin/reject", | ||
110 | + params:[ | ||
111 | + {name: 'productSkn', type: 'Number'}, | ||
112 | + {name: 'comment', type: 'String'}, | ||
113 | + ] | ||
114 | + }, | ||
30 | ] | 115 | ] |
@@ -29,12 +29,12 @@ | @@ -29,12 +29,12 @@ | ||
29 | </div> | 29 | </div> |
30 | 30 | ||
31 | <div class="contentpanel"> | 31 | <div class="contentpanel"> |
32 | - <div class="panel panel-default" style="margin-bottom:10px;"> | 32 | + <div id="yohoCoinSearch" class="panel panel-default" style="margin-bottom:10px;"> |
33 | {{# filter}} | 33 | {{# filter}} |
34 | <div class="panel-body"> | 34 | <div class="panel-body"> |
35 | <div class="row"> | 35 | <div class="row"> |
36 | {{# skn}} | 36 | {{# skn}} |
37 | - <div class="panel-col2"> | 37 | + <div class="panel-col"> |
38 | <input id="skn" class="form-control panel-input height40" type="text" placeholder="请输入SKN" onkeyup="this.value=this.value.replace(/\D/gi,'')"> | 38 | <input id="skn" class="form-control panel-input height40" type="text" placeholder="请输入SKN" onkeyup="this.value=this.value.replace(/\D/gi,'')"> |
39 | </div> | 39 | </div> |
40 | {{/ skn}} | 40 | {{/ skn}} |
@@ -74,29 +74,23 @@ | @@ -74,29 +74,23 @@ | ||
74 | </div> | 74 | </div> |
75 | {{/ gender}} | 75 | {{/ gender}} |
76 | 76 | ||
77 | - {{# cate_1}} | ||
78 | - <div class="panel-col"> | ||
79 | - <select name="cate_1" id="cate_1" tabindex="-1" title="" class="form-control"> | ||
80 | - <option value="-1">请选择一级类目</option> | ||
81 | - </select> | ||
82 | - </div> | ||
83 | - {{/ cate_1}} | ||
84 | - | ||
85 | - {{# cate_2}} | 77 | + {{# gender}} |
86 | <div class="panel-col"> | 78 | <div class="panel-col"> |
87 | - <select name="cate_2" id="cate_2" tabindex="-1" title="" class="form-control"> | ||
88 | - <option value="-1">请选择二级类目</option> | 79 | + <select name="auditStatus" id="auditStatus" tabindex="-1" title="" class="form-control"> |
80 | + <option value="-1">选择审核状态</option> | ||
81 | + <option value="0">未设置</option> | ||
82 | + <option value="1">待审核</option> | ||
83 | + <option value="2">通过</option> | ||
84 | + <option value="3">驳回</option> | ||
89 | </select> | 85 | </select> |
90 | </div> | 86 | </div> |
91 | - {{/ cate_2}} | 87 | + {{/ gender}} |
92 | 88 | ||
93 | - {{# cate_3}} | ||
94 | - <div class="panel-col"> | ||
95 | - <select name="cate_3" id="cate_3" tabindex="-1" title="" class="form-control"> | ||
96 | - <option value="-1">请选择三级类目</option> | ||
97 | - </select> | 89 | + {{# sortTree}} |
90 | + <div class="panel-col2"> | ||
91 | + <div id="sortTree"></div> | ||
98 | </div> | 92 | </div> |
99 | - {{/ cate_3}} | 93 | + {{/ sortTree}} |
100 | 94 | ||
101 | {{# returnCoinTime}} | 95 | {{# returnCoinTime}} |
102 | <div class="panel-col form-inline" style="width: auto"> | 96 | <div class="panel-col form-inline" style="width: auto"> |
@@ -126,28 +120,65 @@ | @@ -126,28 +120,65 @@ | ||
126 | <div class="panel"> | 120 | <div class="panel"> |
127 | <div class="dataTables_wrapper no-footer" id="yohoCoin_table"></div> | 121 | <div class="dataTables_wrapper no-footer" id="yohoCoin_table"></div> |
128 | 122 | ||
129 | - <div class="panel bulk-import"> | ||
130 | - <div class="import-hd"> | ||
131 | - <span class="excel-upload-wrap"> | ||
132 | - <label>选择文件</label> | ||
133 | - <input id="upload-input" name="file" class="btn btn-default excel-upload" type="file"> | ||
134 | - </span> | 123 | + <div class="panel bulk-import" id="yohoCoin_import"> |
124 | + <a id="return-btn" href="javascript:;" class="btn btn-info">返回列表</a> | ||
125 | + | ||
126 | + <table class="table table-bordered" style="border:1px solid #ddd; margin-top: 10px"> | ||
127 | + <tr> | ||
128 | + <td width="120px" style="line-height: 37px"><b>上传EXCEL:</b></td> | ||
129 | + <td style="position: relative;"> | ||
130 | + <input id="yohoCoinUpload" name="file" type="file" style="cursor: pointer; height: 37px; top: 8px;"> | ||
131 | + <div class="file-name btn btn-primary">请选择文件</div> | ||
132 | + </td> | ||
133 | + </tr> | ||
134 | + <tr> | ||
135 | + <td width="120px"><b>说明:</b></td> | ||
136 | + <td> | ||
137 | + 1、上传文件必须是<span style="color:red;">.xlsx</span>文件<br> | ||
138 | + 2、Excel表头为:<span style="color: #67D267;">SKN、品牌、吊牌价、返币金额(大于零,最多俩位小数)</span><br> | ||
139 | + 3、第一行为表头内容,第二行开始为正式内容<br> | ||
140 | + 4、每个文件控制在2500行以内<br> | ||
141 | + 5、<a href="#" style="margin: 0; text-decoration: underline">下载样例.xlsx</a> | ||
142 | + </td> | ||
143 | + </tr> | ||
144 | + </table> | ||
135 | 145 | ||
136 | - <a class="excel-model" href="/ajax/link/{{download}}">表头下载</a> | ||
137 | - <input id="sure-change" class="btn btn-primary" type="button" value="确定变价"> | 146 | + <div id="yohoCoinImportMessage"> |
147 | + <b>批量上传结果:</b><span id="detailMassage"></span> | ||
138 | </div> | 148 | </div> |
139 | - <ol id="error-msg" class="error-msg" style="color: red"></ol> | ||
140 | 149 | ||
141 | - <div class="priceTable-wrap"> | ||
142 | - <div class="panel panel-warning" style="margin: 0;"> | ||
143 | - <div class="panel-heading">SKN变价<a id="delete-all" class="btn btn-danger" style="margin-left: 50px;" href="javascript:;">全部删除</a></div> | 150 | + <div id="yohoCoinImportResultSet"> |
151 | + <div class="title">返还方式设置:</div> | ||
152 | + <div class="form-inline" style="display: none"> | ||
153 | + <label style="width: 80px">反币时间:</label> | ||
154 | + <div class="form-group"> | ||
155 | + <input type="radio" name="returnCoinTime" value="1"> | ||
156 | + <label>长期</label> | ||
157 | + </div> | ||
158 | + <div class="form-group"> | ||
159 | + <input type="radio" name="returnCoinTime" value="2"> | ||
160 | + <input type="text" class="form-control" style="width: 150px"> ~ <input type="text" class="form-control" style="width: 150px"> | ||
161 | + </div> | ||
162 | + </div> | ||
163 | + <div class="form-inline"> | ||
164 | + <div class="form-group"> | ||
165 | + <label style="width: 80px">审核人:</label> | ||
166 | + <select id="importAuditor" class="form-control" style="width: 150px"> | ||
167 | + <option value="">-- 请选择审核人 --</option> | ||
168 | + <option value="2965">Tracy</option> | ||
169 | + <option value="10235">David Wong</option> | ||
170 | + </select> | ||
171 | + <span style="color: #ff0000; margin-left: 20px">提示:返回金额大于等于销售价20%时必须填写审核人。</span> | ||
172 | + </div> | ||
173 | + <div class="form-group"> | ||
174 | + <a href="javascript:;" class="btn btn-success btn-submit-yohoCoin">确定</a> | ||
175 | + </div> | ||
144 | </div> | 176 | </div> |
145 | - <div class="dataTables_wrapper no-footer" id="priceTable"></div> | ||
146 | </div> | 177 | </div> |
147 | 178 | ||
148 | - <div class="success-wrap" style="display: none;"> | ||
149 | - <a class="btn btn-info" href="">返回变价列表</a> | ||
150 | - <a id="download-btn" class="btn btn-success" data-domain="{{domain}}" href="javascript:;">下载导入结果</a> | 179 | + <div id="yohoCoinImportResult"> |
180 | + <div class="title">返币列表:</div> | ||
181 | + <div id="importResultTable"></div> | ||
151 | </div> | 182 | </div> |
152 | </div> | 183 | </div> |
153 | </div> | 184 | </div> |
@@ -165,9 +196,9 @@ | @@ -165,9 +196,9 @@ | ||
165 | <td style="width: 5%">性别</td> | 196 | <td style="width: 5%">性别</td> |
166 | <td style="width: 5%">吊牌价</td> | 197 | <td style="width: 5%">吊牌价</td> |
167 | <td style="width: 5%">销售价</td> | 198 | <td style="width: 5%">销售价</td> |
168 | - <td style="width: 5%">返还金额</td> | ||
169 | - <td style="width: 5%">状态</td> | ||
170 | - <td style="width: 15%">操作信息</td> | 199 | + <td style="width: 5%">返币数</td> |
200 | + <td style="width: 8%">状态</td> | ||
201 | + <td style="width: 12%">操作信息</td> | ||
171 | <td style="width: 5%">操作</td> | 202 | <td style="width: 5%">操作</td> |
172 | </tr> | 203 | </tr> |
173 | </tbody></table> | 204 | </tbody></table> |
@@ -175,55 +206,50 @@ | @@ -175,55 +206,50 @@ | ||
175 | </script> | 206 | </script> |
176 | 207 | ||
177 | <script id="coinList" type="text/template"> | 208 | <script id="coinList" type="text/template"> |
178 | - <div class="dataForShow"> | 209 | + <div class="dataForShow _[[productSkn]]"> |
179 | <table><tbody> | 210 | <table><tbody> |
180 | <tr> | 211 | <tr> |
181 | - <td rowspan="2" span="2" class="center" style="width: 10%">[[product_skn]]</td> | 212 | + <td rowspan="2" span="2" class="center" style="width: 10%">[[productSkn]]</td> |
182 | <td class="" style="width: 25%"> | 213 | <td class="" style="width: 25%"> |
183 | - <p>名称:[[product_name]]</p> | ||
184 | - <p>品牌:[[brand_name]]</p> | ||
185 | - <div>类目:[[middle_sort_name]] <b>></b>[[small_sort_name]]</div> | 214 | + <p>名称:[[productName]]</p> |
215 | + <p>品牌:[[brandName]]</p> | ||
216 | + <div> | ||
217 | + 类目:[[if maxSortName]][[maxSortName]][[/if]] | ||
218 | + [[if middleSortName]] > [[middleSortName]][[/if]] | ||
219 | + [[if smallSortName]] > [[smallSortName]][[/if]] | ||
220 | + </div> | ||
186 | </td> | 221 | </td> |
187 | <td style="width: 20%"> | 222 | <td style="width: 20%"> |
188 | - [[if supplier_name]] | ||
189 | - [[supplier_name]] | ||
190 | - [[/if]] | ||
191 | - [[if shop_name]] | ||
192 | - /[[shop_name]] | ||
193 | - [[/if]] | 223 | + [[if supplierName]][[supplierName]][[/if]] |
224 | + [[if shopName]] / [[shopName]][[/if]] | ||
194 | </td> | 225 | </td> |
195 | <td class="center" style="width: 5%">[[genderName]]</td> | 226 | <td class="center" style="width: 5%">[[genderName]]</td> |
196 | - <td class="center" style="width: 5%">[[retail_price]]</td> | ||
197 | - <td class="center" style="width: 5%">[[sales_price]]</td> | ||
198 | - <td class="center" style="width: 5%">[[return_coin]]</td> | ||
199 | - <td class="center" style="width: 5%">[[status]]</td> | ||
200 | - <td style="width: 15%"> | ||
201 | - [[if founder_name]] | ||
202 | - <p>[[founder_name]]</p> | ||
203 | - [[/if]] | ||
204 | - [[if updateTime]] | ||
205 | - <p>[[updateTime]]</p> | ||
206 | - [[/if]] | 227 | + <td class="center retailPrice" style="width: 5%">[[retailPrice]]</td> |
228 | + <td class="center salesPrice" style="width: 5%">[[salesPrice]]</td> | ||
229 | + <td class="center returnYohoCoin" style="width: 5%">[[productPrice.returnCoin]]</td> | ||
230 | + <td class="center coinStatus" style="width: 8%">[[statusName]]</td> | ||
231 | + <td style="width: 12%"> | ||
232 | + [[if productPrice.founder]]<p>[[productPrice.founder]]</p>[[/if]] | ||
233 | + [[if productPrice.updateTime]]<p>[[productPrice.updateTime]]</p>[[/if]] | ||
207 | </td> | 234 | </td> |
235 | + [[if productPrice.coinStatus != 1]] | ||
208 | <td class="center" style="width: 5%"><button type="button" class="btn btn-info btn-sm btn-modify">修改</button></td> | 236 | <td class="center" style="width: 5%"><button type="button" class="btn btn-info btn-sm btn-modify">修改</button></td> |
237 | + [[/if]] | ||
209 | </tr> | 238 | </tr> |
210 | 239 | ||
211 | <tr class="dataForEditor"> | 240 | <tr class="dataForEditor"> |
212 | <td colspan="9" style="padding: 0"> | 241 | <td colspan="9" style="padding: 0"> |
213 | <table> | 242 | <table> |
214 | <tr class="center"> | 243 | <tr class="center"> |
215 | - <td width="50%"><b>反币时间</b></td> | ||
216 | - <td><b>返回金币</b></td> | ||
217 | - <td><b>审核人</b></td> | ||
218 | - <td><b>操作</b></td> | 244 | + <!--td width="50%"><b>反币时间</b></td--> |
245 | + <td width="40%"><b>返回YOHO币</b></td> | ||
246 | + <td width="40%"><b>审核人</b></td> | ||
247 | + <td width="20%"><b>操作</b></td> | ||
219 | </tr> | 248 | </tr> |
220 | <tr> | 249 | <tr> |
221 | - <td> | 250 | + <td style="display: none"> |
222 | <div class="radio" style="margin-top: 0"> | 251 | <div class="radio" style="margin-top: 0"> |
223 | - <label> | ||
224 | - <input type="radio" name="returnCoinTime" value="option1" checked> | ||
225 | - 永久 | ||
226 | - </label> | 252 | + <label><input type="radio" name="returnCoinTime" value="option1" checked>永久</label> |
227 | </div> | 253 | </div> |
228 | <div class="radio" style="margin-bottom: 0"> | 254 | <div class="radio" style="margin-bottom: 0"> |
229 | <label> | 255 | <label> |
@@ -235,17 +261,22 @@ | @@ -235,17 +261,22 @@ | ||
235 | </label> | 261 | </label> |
236 | </div> | 262 | </div> |
237 | </td> | 263 | </td> |
238 | - <td class="center"><input type="text" class="form-control" placeholder="返回yoho币" value="[[return_coin]]"></td> | ||
239 | <td class="center"> | 264 | <td class="center"> |
240 | - <select class="form-control"> | ||
241 | - <option>1</option> | ||
242 | - <option>2</option> | ||
243 | - <option>3</option> | ||
244 | - <option>4</option> | ||
245 | - <option>5</option> | 265 | + <input type="text" class="form-control center editor-yohoCoin" placeholder="YOHO币数量" value="[[productPrice.returnCoin]]" style="width: 100px"> |
266 | + </td> | ||
267 | + <td class="center"> | ||
268 | + <select class="form-control center editor-auditor" style="width: 150px"> | ||
269 | + <option value="">-- 请选择审核人 --</option> | ||
270 | + <option value="2965">Tracy</option> | ||
271 | + <option value="10235">David Wong</option> | ||
246 | </select> | 272 | </select> |
247 | </td> | 273 | </td> |
248 | - <td class="center"><button type="submit" class="btn btn-primary btn-sm">保存</button></td> | 274 | + <td class="center"> |
275 | + <button type="submit" class="btn btn-primary btn-sm btn-save" data-productskn="[[productSkn]]">保存</button> | ||
276 | + </td> | ||
277 | + </tr> | ||
278 | + <tr> | ||
279 | + <td class="editorTip" colspan="3">* 提示:若返币YOHO币金额 <b>大于等于</b> 销售价的20%,审核人必须填写,审核通过后才能进入该状态。</td> | ||
249 | </tr> | 280 | </tr> |
250 | </table> | 281 | </table> |
251 | </td> | 282 | </td> |
@@ -254,5 +285,30 @@ | @@ -254,5 +285,30 @@ | ||
254 | </div> | 285 | </div> |
255 | </script> | 286 | </script> |
256 | 287 | ||
288 | +<script id="yohoCoinImportResultTable" type="text/template"> | ||
289 | + <table class="table table-striped table-bordered" align="center"> | ||
290 | + <thead> | ||
291 | + <tr> | ||
292 | + <th>SKN</th> | ||
293 | + <th>品牌</th> | ||
294 | + <th>吊牌价</th> | ||
295 | + <th>反币金额</th> | ||
296 | + <th>操作</th> | ||
297 | + </tr> | ||
298 | + </thead> | ||
299 | + <tbody> | ||
300 | + [[each data as item _index]] | ||
301 | + <tr> | ||
302 | + <td>[[item.productSkn]]</td> | ||
303 | + <td>[[item.brandName]]</td> | ||
304 | + <td>[[item.retailPrice]]</td> | ||
305 | + <td>[[item.returnCoin]]</td> | ||
306 | + <td><a href="javascript:;" class="btn btn-sm btn-danger btn-delete-yohoCoin" data-index="[[_index]]">删除</a></td> | ||
307 | + </tr> | ||
308 | + [[/each]] | ||
309 | + </tbody> | ||
310 | + </table> | ||
311 | +</script> | ||
312 | + | ||
257 | </body> | 313 | </body> |
258 | </html> | 314 | </html> |
server/views/pages/goods/yohoCoinAudit.html
0 → 100644
1 | +<!DOCTYPE html> | ||
2 | +<html> | ||
3 | +<head lang="en"> | ||
4 | + <meta charset="UTF-8"> | ||
5 | + <title></title> | ||
6 | +</head> | ||
7 | +<body> | ||
8 | + | ||
9 | +<div class="pageheader"> | ||
10 | + <div class="media"> | ||
11 | + <div class="pageicon pull-left"> | ||
12 | + <i class="fa fa-th-list"></i> | ||
13 | + </div> | ||
14 | + {{#pagetitle}} | ||
15 | + <div class="media-body"> | ||
16 | + <ul class="breadcrumb"> | ||
17 | + <li><a href=""><i class="glyphicon glyphicon-home"></i></a></li> | ||
18 | + <li><a href="">{{level1title}}</a></li> | ||
19 | + <li>{{level2title}}</li> | ||
20 | + </ul> | ||
21 | + <div> | ||
22 | + <div style="width: 30%;float: left;"> | ||
23 | + <h4>{{level3title}}</h4> | ||
24 | + </div> | ||
25 | + </div> | ||
26 | + </div> | ||
27 | + {{/pagetitle}} | ||
28 | + </div> | ||
29 | +</div> | ||
30 | + | ||
31 | +<div class="contentpanel"> | ||
32 | + <div id="yohoCoinSearch" class="panel panel-default" style="margin-bottom:10px;"> | ||
33 | + {{# filter}} | ||
34 | + <div class="panel-body"> | ||
35 | + <div class="row"> | ||
36 | + {{# skn}} | ||
37 | + <div class="panel-col"> | ||
38 | + <input id="skn" class="form-control panel-input height40" type="text" placeholder="请输入SKN" onkeyup="this.value=this.value.replace(/\D/gi,'')"> | ||
39 | + </div> | ||
40 | + {{/ skn}} | ||
41 | + | ||
42 | + {{# store}} | ||
43 | + <div class="panel-col"> | ||
44 | + <select name="shop" id="shop" tabindex="-1" title="" class="form-control"> | ||
45 | + <option value="-1">请选择店铺</option> | ||
46 | + </select> | ||
47 | + </div> | ||
48 | + {{/ store}} | ||
49 | + | ||
50 | + {{# brand}} | ||
51 | + <div class="panel-col"> | ||
52 | + <select name="brand" id="brand" tabindex="-1" title="" class="form-control"> | ||
53 | + <option value="-1">请选择品牌</option> | ||
54 | + </select> | ||
55 | + </div> | ||
56 | + {{/ brand}} | ||
57 | + | ||
58 | + {{# supplier}} | ||
59 | + <div class="panel-col"> | ||
60 | + <select name="supplier" id="supplier" tabindex="-1" title="" class="form-control"> | ||
61 | + <option value="-1">请选择供应商</option> | ||
62 | + </select> | ||
63 | + </div> | ||
64 | + {{/ supplier}} | ||
65 | + | ||
66 | + {{# gender}} | ||
67 | + <div class="panel-col"> | ||
68 | + <select name="gender" id="gender" tabindex="-1" title="" class="form-control"> | ||
69 | + <option value="-1">选择性别</option> | ||
70 | + <option value="1">男</option> | ||
71 | + <option value="2">女</option> | ||
72 | + <option value="3">通用</option> | ||
73 | + </select> | ||
74 | + </div> | ||
75 | + {{/ gender}} | ||
76 | + | ||
77 | + {{# sortTree}} | ||
78 | + <div class="panel-col2"> | ||
79 | + <div id="sortTree"></div> | ||
80 | + </div> | ||
81 | + {{/ sortTree}} | ||
82 | + | ||
83 | + {{# returnCoinTime}} | ||
84 | + <div class="panel-col form-inline" style="width: auto"> | ||
85 | + <div class="form-group" style="margin-right: 0"> | ||
86 | + <label>反币时间:</label> | ||
87 | + <input type="text" class="form-control" jsaction="date:end:endDate" id="startDate" placeholder="开始时间"> | ||
88 | + </div> | ||
89 | + <label>~</label> | ||
90 | + <div class="form-group"> | ||
91 | + <input type="text" class="form-control" jsaction="date:start:startDate" id="endDate" placeholder="结束时间"> | ||
92 | + </div> | ||
93 | + </div> | ||
94 | + {{/ returnCoinTime}} | ||
95 | + | ||
96 | + <div class="panel-col" style="width: auto"> | ||
97 | + <a id="filter-btn" href="javascript:;" class="btn btn-info">筛选</a> | ||
98 | + <a id="all-btn" href="javascript:;" class="btn btn-info">全部</a> | ||
99 | + </div> | ||
100 | + </div> | ||
101 | + </div> | ||
102 | + {{/ filter}} | ||
103 | + </div> | ||
104 | + | ||
105 | + <div class="panel"> | ||
106 | + <ul id="yohoCoinNav" class="nav nav-pills" style="margin-bottom: 10px"> | ||
107 | + <li data-status="1" class="active"><a href="#">待审核</a></li> | ||
108 | + <li data-status="2"><a href="#">通过</a></li> | ||
109 | + <li data-status="3"><a href="#">驳回</a></li> | ||
110 | + <li data-status=""><a href="#">全部</a></li> | ||
111 | + </ul> | ||
112 | + | ||
113 | + <div class="dataTables_wrapper no-footer" id="yohoCoinAudit_table"></div> | ||
114 | + </div> | ||
115 | +</div> | ||
116 | + | ||
117 | +<input type="hidden" id="gridurl" value="{{gridurl}}"> | ||
118 | + | ||
119 | +</body> | ||
120 | +</html> |
@@ -38,7 +38,7 @@ | @@ -38,7 +38,7 @@ | ||
38 | <div class="col-sm-10"> | 38 | <div class="col-sm-10"> |
39 | <input type="hidden" name="" value="[[id]]" id="id" class="form-control" pattern="" title=""> | 39 | <input type="hidden" name="" value="[[id]]" id="id" class="form-control" pattern="" title=""> |
40 | <select id="parentId" value="[[parentId]]" class="form-control"> | 40 | <select id="parentId" value="[[parentId]]" class="form-control"> |
41 | - <option value="-1">请选择分类</option> | 41 | + <option value="0">请选择分类</option> |
42 | </select> | 42 | </select> |
43 | </div> | 43 | </div> |
44 | </div> | 44 | </div> |
@@ -53,7 +53,7 @@ | @@ -53,7 +53,7 @@ | ||
53 | <div class="form-group"> | 53 | <div class="form-group"> |
54 | <label for="orderBy" class="col-sm-2 control-label">排序:</label> | 54 | <label for="orderBy" class="col-sm-2 control-label">排序:</label> |
55 | <div class="col-sm-10"> | 55 | <div class="col-sm-10"> |
56 | - <input type="number" value="[[orderBy]]" name="content" id="orderBy" placeholder="排序" required="required" class="form-control"> | 56 | + <input type="number" value="[[orderBy||0]]" name="content" id="orderBy" placeholder="排序" required="required" class="form-control"> |
57 | </div> | 57 | </div> |
58 | </div> | 58 | </div> |
59 | 59 |
@@ -149,7 +149,7 @@ | @@ -149,7 +149,7 @@ | ||
149 | <li class="cover-image-item image-list" data-index=[[_index]]> | 149 | <li class="cover-image-item image-list" data-index=[[_index]]> |
150 | <div class="goods-img"> | 150 | <div class="goods-img"> |
151 | <a class="fileinput-button-icon" href="javascript:void(0);"> | 151 | <a class="fileinput-button-icon" href="javascript:void(0);"> |
152 | - <img src="[[_item]]"> | 152 | + <img src="[[_item.replace(/(gif|png|jpg|jpeg)\?[^"]*/g,'$1')]]"> |
153 | </a> | 153 | </a> |
154 | <i class="remove-item-btn remove1 glyphicon glyphicon-remove-circle" data-index="[[_index]]"></i> | 154 | <i class="remove-item-btn remove1 glyphicon glyphicon-remove-circle" data-index="[[_index]]"></i> |
155 | </div> | 155 | </div> |
@@ -97,7 +97,11 @@ | @@ -97,7 +97,11 @@ | ||
97 | <label class="col-sm-2 control-label">封面图:<span class="red">*</span> </label> | 97 | <label class="col-sm-2 control-label">封面图:<span class="red">*</span> </label> |
98 | 98 | ||
99 | <div class="col-sm-8"> | 99 | <div class="col-sm-8"> |
100 | +<<<<<<< HEAD | ||
100 | <input type="file" name="coverImage" id="coverImage" value="[[coverImage]]" required placeholder="封面图"/> | 101 | <input type="file" name="coverImage" id="coverImage" value="[[coverImage]]" required placeholder="封面图"/> |
102 | +======= | ||
103 | + <input type="file" name="coverImage" id="coverImage" required="required" value="[[coverImage]]" /> | ||
104 | +>>>>>>> develop | ||
101 | </div> | 105 | </div> |
102 | </div> | 106 | </div> |
103 | <div class="form-group"> | 107 | <div class="form-group"> |
@@ -6,8 +6,8 @@ | @@ -6,8 +6,8 @@ | ||
6 | <div class="media-body"> | 6 | <div class="media-body"> |
7 | <ul class="breadcrumb"> | 7 | <ul class="breadcrumb"> |
8 | <li><a href=""><i class="glyphicon glyphicon-home"></i></a></li> | 8 | <li><a href=""><i class="glyphicon glyphicon-home"></i></a></li> |
9 | - <li><a href="">商品管理</a></li> | ||
10 | - <li>资讯管理</li> | 9 | + <li><a href="">资讯管理</a></li> |
10 | + <li>资讯列表管理</li> | ||
11 | </ul> | 11 | </ul> |
12 | 12 | ||
13 | <div> | 13 | <div> |
@@ -141,7 +141,7 @@ | @@ -141,7 +141,7 @@ | ||
141 | <div class="form-group"> | 141 | <div class="form-group"> |
142 | <label for="coverImg" class="col-sm-2 control-label">上传封面图:</label> | 142 | <label for="coverImg" class="col-sm-2 control-label">上传封面图:</label> |
143 | <div class="col-sm-8" id="colorUrlBox"> | 143 | <div class="col-sm-8" id="colorUrlBox"> |
144 | - <input type="file" id="coverImg" name="coverImg" value="[[coverImg]]"> | 144 | + <input type="file" id="coverImg" name="coverImg" required="required" value="[[coverImg]]"> |
145 | </div> | 145 | </div> |
146 | </div> | 146 | </div> |
147 | 147 | ||
@@ -162,7 +162,7 @@ | @@ -162,7 +162,7 @@ | ||
162 | <div class="goods-img"> | 162 | <div class="goods-img"> |
163 | <a class="fileinput-button-icon" href="javascript:void(0);">+</a> | 163 | <a class="fileinput-button-icon" href="javascript:void(0);">+</a> |
164 | 164 | ||
165 | - <input type="file" class="goods-img-upload picfile" id="picfile" name="picfile"></div> | 165 | + <input type="file" class="goods-img-upload picfile" required="required" id="picfile" name="picfile"></div> |
166 | </li> | 166 | </li> |
167 | 167 | ||
168 | </ul> | 168 | </ul> |
@@ -33,7 +33,7 @@ | @@ -33,7 +33,7 @@ | ||
33 | </div> | 33 | </div> |
34 | 34 | ||
35 | <div class="panel-col"> | 35 | <div class="panel-col"> |
36 | - <select id="maxSortId" class="form-control"> | 36 | + <select id="maxSortId" class="form-control" > |
37 | <option value="-1">请选择分类</option> | 37 | <option value="-1">请选择分类</option> |
38 | </select> | 38 | </select> |
39 | </div> | 39 | </div> |
@@ -82,7 +82,7 @@ | @@ -82,7 +82,7 @@ | ||
82 | <label for="classifyId" class="col-sm-2 control-label">标签分类:</label> | 82 | <label for="classifyId" class="col-sm-2 control-label">标签分类:</label> |
83 | <div class="col-sm-10"> | 83 | <div class="col-sm-10"> |
84 | <input type="hidden" name="" value="[[id]]" id="id" class="form-control" pattern="" title=""> | 84 | <input type="hidden" name="" value="[[id]]" id="id" class="form-control" pattern="" title=""> |
85 | - <select id="classifyId" value="[[classifyId]]" class="form-control"> | 85 | + <select id="classifyId" value="[[classifyId]]" required="required" class="form-control"> |
86 | <option value="-1">请选择分类</option> | 86 | <option value="-1">请选择分类</option> |
87 | </select> | 87 | </select> |
88 | </div> | 88 | </div> |
-
Please register or login to post a comment