goodsGroupInfo.html
15.6 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
<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="goodgroup" action="{:U('Admin/Goods/goodsgroup_save')}" method="post">
<input type="hidden" name="gpid" value="{$group.gpid}">
<input type="hidden" name="gp_goodslist" id="gp_goodslist" value="{$group.gp_goodslist}">
<div class="ncap-form-default">
<dl class="row">
<dt class="tit">
<label for="gpname"><em>*</em>商品分组名称</label>
</dt>
<dd class="opt">
<input type="text" name="gpname" id="gpname"
onkeydown="strkeydown(event, this, 'submitbtn')"
value="{$group.gpname}" class="input-txt">
<span class="err cr"></span>
<p class="notic">商品分组名称</p>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label for="status"><em>*</em>显示</label>
</dt>
<dd class="opt">
<div class="onoff" id="status">
<label for="goods_category1" class="cb-enable <if condition="$group[status] eq 1">selected</if>">是</label>
<label for="goods_category0" class="cb-disable <if condition="$group[status] eq 0">selected</if>">否</label>
<input id="goods_category1" name="status" value="1"
onkeydown="strkeydown(event, this, 'submitbtn')"
type="radio" <if condition="$group[status] eq 1"> checked="checked"</if>>
<input id="goods_category0" name="status" value="0"
onkeydown="strkeydown(event, this, 'submitbtn')"
type="radio" <if condition="$group[status] eq 0"> checked="checked"</if>>
</div>
<p class="notic">是否前台显示</p>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label for="t_sort"><em>*</em>排序</label>
</dt>
<dd class="opt">
<input type="text" class="t_mane" maxlength="10"
onkeydown="strkeydown(event, this, 'submitbtn')"
onkeyup="this.value=this.value.replace(/\D/g,'')"
name="gp_ordid" id="t_sort" value="{$group.gp_ordid}">
<span class="err cr" id="err_sort_order"></span>
<p class="notic">根据排序进行由小到大排列显示。</p>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label><em>*</em>选择优惠商品</label>
</dt>
<dd class="opt">
<p class="notic">
<a onclick="selectGoods()" class="ncap-btn"><i class="fa fa-search"></i>选择商品</a>
<span class="err cr" id="err_goods" ></span>
</p>
</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>
<th class="w100">操作</th>
</tr>
</thead>
<tbody id="goods_list">
<foreach name="group_goods" item="vo">
<tr id="tr{$vo.goods_id}">
<td class="w200" align="center">{$vo.goods_sn}</td>
<td class="w400" align="center">{$vo.goods_name}</td>
<td class="w100" align="center">{$vo.shop_price}</td>
<td class="w100" align="center">{$vo.store_count}</td>
<td class="w100" align="center"><a class="btn red" onclick="delgoods(this,{$vo.goods_id})"><i class="fa fa-trash-o"></i>删除</a></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 class="bot">
<a id="submitbtn" onclick="adsubmit()" class="ncap-btn-big ncap-btn-green">确认提交</a></div>
</div>
</form>
</div>
<script type="text/javascript">
//获取分组本来的商品ID 需过滤
var gp_goodslist="{$group.gp_goodslist}";
var goods_id = [];
if(gp_goodslist.length>0){
goods_id = gp_goodslist.split(",");// 在每个逗号(,)处进行分解。
}
var url="{:url('Ueditor/index',array('savepath'=>'goodsgroup'))}";
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($('#gpname').val() ==''){
set_err_msg("分组名称不能为空","name");
return false;
}
if($('#t_sort').val() ==''){
set_err_msg("分组排序不能为空","name");
return false;
}
if(goods_id.length==0){
layer.msg('请选择商品',{icon:2,time:1000});
$("#err_goods").text("请选择商品");
return false;
}
$("#gp_goodslist").val(goods_id.toString());
// alert($("#gp_goodslist").val());
// return false;
layer.msg('加载中...', {icon: 16,shade: [0.5, '#f5f5f5'],scrollbar: false,offset: '10px', time:100000}) ;
get_event_log('1','新增分组');
$('#goodgroup').submit();
}
function delgoods(obj,good_id) {
$("#tr"+good_id).remove();
set_goods();
goods_id.remove(good_id);
}
function set_goods(){
//过滤选择重复商品
$('input[name*="goods_id"]').each(function(i,o){
for(var i = 0;i<goods_id.length;i++){
if($(o).val() == goods_id[i]){
return;
}
}
goods_id.push($(o).val());
});
}
Array.prototype.indexOf = function(val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val) return i;
}
return -1;
};
Array.prototype.remove = function(val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
function selectGoods(){
var url = '/index.php?m=Admin&c=Goods&a=search_goods&formid=Group&goods_id='+goods_id+'&t='+Math.random();
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);
set_goods();
}
// $("#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>