prom_goods_info2.html
19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
<include file="public/layout" />
<style>
dd.opt table{
width: 100%;
}
dd.opt tr{
border: 1px solid #f4f4f4;
padding: 8px;
}
dd.opt tr td{
border: 1px solid #f4f4f4;
}
</style>
<script type="text/javascript">
window.UEDITOR_Admin_URL = "__ROOT__/public/plugins/Ueditor/";
var URL_upload = "{$URL_upload}";
var URL_fileUp = "{$URL_fileUp}";
var URL_scrawlUp = "{$URL_scrawlUp}";
var URL_getRemoteImage = "{$URL_getRemoteImage}";
var URL_imageManager = "{$URL_imageManager}";
var URL_imageUp = "{$URL_imageUp}";
var URL_getMovie = "{$URL_getMovie}";
var URL_home = "{$URL_home}";
</script>
<load href="__ROOT__/public/plugins/Ueditor/ueditor.config.js"/>
<load href="__ROOT__/public/plugins/Ueditor/ueditor.all.js"/>
<script src="__PUBLIC__/static/js/layer/laydate/laydate.js"></script>
<style type="text/css">
html, body {
overflow: visible;
}
.opt table tr th{text-align: center;font-weight: 600;padding: 5px 0;}
</style>
<body style="background-color: #FFF; overflow: auto;">
<div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
<div id="append_parent"></div>
<div id="ajaxwaitid"></div>
<div class="page">
<div class="fixed-bar">
<div class="item-title"><a class="back" href="javascript:history.back();" title="返回列表"><i class="fa fa-arrow-circle-o-left"></i></a>
<div class="subject">
<h3>优惠促销管理 - 添加与编辑商品促销活动</h3>
<h5>系统编辑商品促销活动</h5>
</div>
</div>
</div>
<form class="form-horizontal" id="promotion" action="{:U('Admin/Promotion/prom_goods_save')}" method="post">
<input type="hidden" name="id" value="{$info.id}">
<div class="ncap-form-default">
<dl class="row">
<dt class="tit">
<label><em>*</em>促销活动名称</label>
</dt>
<dd class="opt">
<input type="text" name="name" id="name"
onkeydown="strkeydown(event, this, 'sumbitbtn')"
value="{$info.name}" class="input-txt">
<span class="err cr"></span>
<p class="notic">促销活动名称</p>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label><em>*</em>促销活动类型</label>
</dt>
<dd class="opt">
<select id="prom_type" name="type" onkeydown="strkeydown(event, this, 'sumbitbtn')">
<option value="0" <if condition="$info[type] eq 0">selected</if>>直接打折</option>
<option value="1" <if condition="$info[type] eq 1">selected</if>>减价优惠</option>
<option value="2" <if condition="$info[type] eq 2">selected</if>>固定金额出售</option>
<!--<option value="3" <if condition="$info[type] eq 3">selected</if>>买就赠代金券</option>-->
</select>
<span class="err cr"></span>
<p class="notic">促销活动类型</p>
</dd>
</dl>
<dl class="row" id="expression">
<dt class="tit">
<label><em>*</em>折扣</label>
</dt>
<dd class="opt">
<input type="text" name="expression" id="inp_expression"
onkeydown="strkeydown(event, this, 'sumbitbtn')"
onkeyup="this.value=this.value.replace(/[^\d.]/g,'')"
value="{$info.expression}" class="input-txt">
<span class="err cr"></span>
<p class="notic">% 折扣值(1-100 如果打9折,请输入90)</p>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label><em>*</em>开始时间</label>
</dt>
<dd class="opt">
<input type="text" id="start_time" name="start_time"
onkeydown="strkeydown(event, this, 'sumbitbtn')"
value="{$info.start_time}" class="input-txt">
<span class="err cr"></span>
<p class="notic">优惠开始时间</p>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label><em>*</em>结束时间</label>
</dt>
<dd class="opt">
<input type="text" id="end_time" name="end_time"
onkeydown="strkeydown(event, this, 'sumbitbtn')"
value="{$info.end_time}" class="input-txt">
<span class="err cr"></span>
<p class="notic">优惠结束时间</p>
</dd>
</dl>
<!--<dl class="row">-->
<!--<dt class="tit">适合用户范围</dt>-->
<!--<dd class="opt">-->
<!--<ul class="nc-row ncap-waybill-list">-->
<!--<foreach name="level" item="vo">-->
<!--<li>-->
<!--<input type="checkbox"-->
<!--onkeydown="strkeydown(event, this, 'sumbitbtn')"-->
<!--<if condition="strripos($info['group'],$vo['level_id'].'') nheq false">checked</if> name="group[]" value="{$vo.level_id}" id="group{$vo.level_id}">-->
<!--<label class="label" for="group{$vo.level_id}">{$vo.level_name}</label>-->
<!--</li>-->
<!--</foreach>-->
<!--</ul>-->
<!--</dd>-->
<!--</dl>-->
<dl class="row">
<dt class="tit">
<label>已选择的优惠商品</label>
</dt>
<dd class="opt">
<table>
<thead>
<tr>
<!--<th style="display:none">选择</th>-->
<th class="w200">商品编号</th>
<th class="w400">商品名称</th>
<th class="w100">市场价格</th>
<th class="w100">库存</th>
</tr>
</thead>
<tbody id="goods_list">
<foreach name="prom_goods" item="vo">
<tr>
<td style="display:none"><input type="checkbox" name="goods_id[]"
onkeydown="strkeydown(event, this, 'sumbitbtn')"
checked="checked" value="{$vo.goods_id}"/></td>
<td class="w200" align="center">{$vo.goods_sn}</td>
<td class="w400" align="center">{$vo.goods_name}</td>
<td class="w100" align="center">{$vo.market_price}</td>
<td class="w100" align="center">{$vo.store_count}</td>
</tr>
</foreach>
</tbody>
</table>
</dd>
</dl>
<dl class="row" style="display: none;">
<dt class="tit">
<label>活动描述</label>
</dt>
<dd class="opt">
<textarea class="span12 ckeditor" placeholder="请输入活动介绍" id="post_content" name="description" rows="6">{$info.description}</textarea>
<span class="err cr"></span>
<p class="notic">活动描述</p>
</dd>
</dl>
</div>
</form>
</div>
<script type="text/javascript">
var url="{:url('Ueditor/index',array('savepath'=>'prom_goods_info2'))}";
var sql="{$sql}";
var editor;
$(function () {
//具体参数配置在 editor_config.js 中
var options = {
zIndex: 999,
initialFrameWidth: "100%", //初化宽度
initialFrameHeight: 350, //初化高度
focus: false, //初始化时,是否让编辑器获得焦点true或false
maximumWords: 99999, removeFormatAttributes: 'class,style,lang,width,height,align,hspace,valign',//允许的最大字符数 'fullscreen',
pasteplain: true, autoHeightEnabled: true,
autotypeset: {
mergeEmptyline: true, //合并空行
removeClass: true, //去掉冗余的class
removeEmptyline: false, //去掉空行
textAlign: "left", //段落的排版方式,可以是 left,right,center,justify 去掉这个属性表示不执行排版
imageBlockLine: 'center', //图片的浮动方式,独占一行剧中,左右浮动,默认: center,left,right,none 去掉这个属性表示不执行排版
pasteFilter: false, //根据规则过滤没事粘贴进来的内容
clearFontSize: false, //去掉所有的内嵌字号,使用编辑器默认的字号
clearFontFamily: false, //去掉所有的内嵌字体,使用编辑器默认的字体
removeEmptyNode: false, //去掉空节点
removeTagNames: {"font": 1},
indent: false, // 行首缩进
indentValue: '0em' //行首缩进的大小
},
toolbars: [
['fullscreen', 'source', '|', 'undo', 'redo','|', 'bold', 'italic', 'underline', 'fontborder',
'strikethrough', 'superscript', 'subscript','removeformat', 'formatmatch', 'autotypeset',
'blockquote', 'pasteplain', '|', 'forecolor','backcolor', 'insertorderedlist',
'insertunorderedlist', 'selectall', 'cleardoc', '|','rowspacingtop', 'rowspacingbottom', 'lineheight', '|',
'customstyle', 'paragraph', 'fontfamily', 'fontsize','|', 'directionalityltr', 'directionalityrtl',
'indent', '|', 'justifyleft', 'justifycenter','justifyright', 'justifyjustify', '|', 'touppercase',
'tolowercase', '|', 'link', 'unlink', 'anchor', '|','imagenone', 'imageleft', 'imageright', 'imagecenter',
'|', 'insertimage', 'emotion', 'insertvideo','attachment', 'map', 'gmap', 'insertframe',
'insertcode', 'webapp', 'pagebreak', 'template','background', '|', 'horizontal', 'date', 'time',
'spechars', 'wordimage', '|','inserttable', 'deletetable','insertparagraphbeforetable', 'insertrow', 'deleterow',
'insertcol', 'deletecol', 'mergecells', 'mergeright','mergedown', 'splittocells', 'splittorows',
'splittocols', '|', 'print', 'preview', 'searchreplace']
]
,serverUrl:url
};
editor = new UE.ui.Editor(options);
editor.render("post_content");
$('#start_time').layDate();
$('#end_time').layDate();
});
function adsubmit(){
if($('#name').val() ==''){
set_err_msg("活动名称不能为空","name");
return false;
}
if($('input[name=expression]').val() ==''){
layer.msg("优惠不能为空",{icon:2,time:1000});
$('input[name=expression]').focus();
$('input[name=expression]').parent().find("span").text("优惠不能为空");
layer.msg('优惠不能为空', {icon: 2, time: 2000});
return false;
}
if(parseFloat($('input[name=expression]').val())<=0){
layer.msg("优惠必须大于0",{icon:2,time:1000});
$('input[name=expression]').focus();
$('input[name=expression]').parent().find("span").text("优惠必须大于0");
layer.msg('优惠必须大于0', {icon: 2, time: 2000});
return false;
}
/*--直接打折不能大于100--*/
if($("#prom_type").val()=="0"){
var val_t = $("input[name='expression']").val();
if(parseFloat(val_t)>100){
$('input[name=expression]').focus();
$('input[name=expression]').parent().find("span").text("折扣不能大于100");
layer.msg('折扣不能大于100', {icon: 2, time: 2000});
return false;
}
}
/*--判断优惠价格--*/
if($("#prom_type").val()=="1" || $("#prom_type").val()=="2") {
var isok=1;
var val_t = $("input[name='expression']").val();
$('#goods_list tr').each(function (i, o) {
var ob = $(this).find('.w100:first');
console.log(ob);
if (parseFloat(val_t) > parseFloat(ob.text())) {
isok = 0;
return;
}
});
if (isok == 0) {
layer.msg('优惠金额不能大于已经选择的商品的价格', {icon: 2, time: 2000});
$("input[name='expression']").focus();
$('input[name=expression]').parent().find("span").text("优惠金额不能大于已经选择的商品的价格");
return false;
}
}
var pg = [];
//过滤选择重复商品
$('input[name*="goods_id"]').each(function(i,o){
pg.push($(o).val());
});
if(pg.length==0){
layer.msg('请选择商品',{icon:2,time:1000});
$("#err_goods").text("请选择商品");
return false;
}
/*---时间---*/
var startdate = new Date($('#start_time').val().replace(/-/g,"/"));
var enddate = new Date($('#end_time').val().replace(/-/g,"/"));
if(enddate <= startdate)
{
$('#end_time').parent().find("span").text("结束时间必须大于开始时间");
layer.msg('结束时间必须大于开始时间',{icon:2,time:1000});return;
}
layer.msg('加载中...', {icon: 16,shade: [0.5, '#f5f5f5'],scrollbar: false,offset: '10px', time:100000}) ;
$('#promotion').submit();
}
function selectGoods(){
var isok=1;
var price="";
if($("#prom_type").val()=="1" || $("#prom_type").val()=="2"){
var val_t=$("input[name='expression']").val();
if(parseFloat(val_t)<=0){
layer.msg('请输入优惠金额',{icon:2,time:1000});
$("input[name='expression']").focus();
return false;
}
var isok=1;
$('#goods_list tr').each(function (i, o) {
var ob = $(this).find('.w100:first');
console.log(ob);
if (parseFloat(val_t) > parseFloat(ob.text())) {
isok = 0;
return;
}
});
if (isok == 0) {
layer.msg('优惠金额不能大于已经选择的商品的价格', {icon: 2, time: 3000});
$("input[name='expression']").focus();
return false;
}
price=val_t;
}else{
price="";
}
var goods_id = [];
//过滤选择重复商品
$('input[name*="goods_id"]').each(function(i,o){
goods_id.push($(o).val());
});
var url = '/index.php?m=Admin&c=Promotion&a=search_goods&goods_id='+goods_id+'&t='+Math.random()+'&price='+price;
layer.open({
type: 2,
title: '选择商品',
shadeClose: true,
shade: 0.3,
area: ['96%', '80%'],
content: url,
});
}
function call_back(table_html)
{
layer.closeAll('iframe');
$('#goods_list').append(table_html);
}
$("#prom_type").on("change",function(){
var type = parseInt($("#prom_type").val());
var expression = '';
switch(type){
case 0:{
expression = '<dt class="tit"><label><em>*</em>折扣</label></dt>'
+ '<dd class="opt"><input type="text" name="expression" onkeydown="strkeydown(event, this, "sumbitbtn")" onkeyup="this.value=this.value.replace(/[^0-9.]/g,'')" pattern="int" value="" class="input-txt">'
+ ' <span class="err cr"></span><p class="notic">% 折扣值(1-100 如果打9折,请输入90)</p></dd>';
break;
}
case 1:{
expression = '<dt class="tit"><label><em>*</em>立减金额</label></dt>'
+ '<dd class="opt"><input type="text" name="expression" onkeydown="strkeydown(event, this, "sumbitbtn")" onkeyup="this.value=this.value.replace(/[^0-9.]/g,'')" pattern="float" value="" class="input-txt">'
+ ' <span class="err cr"></span><p class="notic">立减金额(元)</p></dd>';
break;
}
case 2:{
expression = '<dt class="tit"><label><em>*</em>出售金额</label></dt>'
+ '<dd class="opt"><input type="text" name="expression" onkeydown="strkeydown(event, this, "sumbitbtn")" onkeyup="this.value=this.value.replace(/[^0-9.]/g,'')" pattern="float" value="" class="input-txt">'
+ ' <span class="err cr"></span><p class="notic">出售金额(元)</p></dd>';
break;
}
case 3:{
expression = '<dt class="tit"><label><em>*</em>代金券</label></dt><dd class="opt"><select name="expression" onkeydown="strkeydown(event, this, "sumbitbtn")">'
+ '<foreach name="sql" item="v"><option value="{$v.id}" <if condition="$v[id] eq $info[expression]">selected</if>>{$v.name}</option></foreach></select><span class="err cr"></span>'
+ '</dd>';
break;
}
case 4:{
expression = '<dt class="tit"><label><em>*</em>买M送N</label></dt>'
+ '<dd class="opt"><input type="text" name="expression" pattern="\\d+\/\\d+" value="" class="input-txt">'
+ ' <span class="err cr"></span><p class="notic">买几件送几件(如买3件送1件: 3/1)</p></dd>';
break;
}
}
$("#expression").html(expression);
});
$(document).ready(function(){
$("#prom_type").trigger('change');
$('input[name=expression]').val("{$info.expression}");
$('#start_time').layDate();
$('#end_time').layDate();
})
function set_err_msg(text,elem)
{
layer.msg(text,{icon:2,time:1000});
$("#"+elem).focus();
$("#"+elem).parent().find("span").text(text);
}
</script>
</body>
</html>