batchaddcoupon.jsp 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta charset="utf-8">
  8. <meta name="renderer" content="webkit|ie-comp|ie-stand">
  9. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  10. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,member-scalable=no" />
  11. <meta http-equiv="Cache-Control" content="no-siteapp" />
  12. <!--[if lt IE 9]>
  13. <script type="text/javascript" src="lib/html5.js"></script>
  14. <script type="text/javascript" src="lib/respond.min.js"></script>
  15. <script type="text/javascript" src="lib/PIE_IE678.js"></script>
  16. <![endif]-->
  17. <link href="${pageContext.request.contextPath }/common/static/h-ui/css/H-ui.min.css" rel="stylesheet" type="text/css" />
  18. <link href="${pageContext.request.contextPath }/common/static/h-ui.admin/css/H-ui.admin.css" rel="stylesheet" type="text/css" />
  19. <link href="${pageContext.request.contextPath }/common/admin/lib/icheck/icheck.css" rel="stylesheet" type="text/css" />
  20. <link href="${pageContext.request.contextPath }/common/lib/Hui-iconfont/1.0.8/iconfont.css" rel="stylesheet" type="text/css" />
  21. <!--[if IE 6]>
  22. <script type="text/javascript" src="http://lib.h-ui.net/DD_belatedPNG_0.0.8a-min.js" ></script>
  23. <script>DD_belatedPNG.fix('*');</script>
  24. <![endif]-->
  25. <title>添加优惠券</title>
  26. </head>
  27. <body>
  28. <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页 <span class="c-gray en">&gt;</span> 优惠券管理 <span class="c-gray en">&gt;</span> 批量添加优惠券 <a class="btn btn-success radius r mr-20" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a></nav>
  29. <div class="pd-20">
  30. <form action="${pageContext.request.contextPath}/admin/coupon/batchAddCoupon/${token}" method="post" class="form form-horizontal" id="form-coupon-add">
  31. <div class="row cl">
  32. <label class="form-label col-3"><span class="c-red">*</span>优惠券金额:</label>
  33. <div class="formControls col-5">
  34. <input type="text" class="input-text" value="" placeholder="0.00" id="couponMoney" name="member-name" datatype="*" nullmsg="优惠券金额不能为空">
  35. </div>
  36. <div class="col-4"> </div>
  37. </div>
  38. <div class="row cl">
  39. <label class="form-label col-3"><span class="c-red">*</span>优惠券简介:</label>
  40. <div class="formControls col-5">
  41. <textarea name="" cols="" rows="" class="textarea" id="couponDesc" placeholder="说点什么...最少输入2个字符" datatype="*2-100" dragonfly="true" nullmsg="简介不能为空!" onKeyUp="textarealength(this,100)"></textarea>
  42. <p class="textarea-numberbar"><em class="textarea-length">0</em>/100</p>
  43. </div>
  44. <div class="col-4"> </div>
  45. </div>
  46. <div class="row cl">
  47. <label class="form-label col-3"><span class="c-red">*</span>优惠券数量:</label>
  48. <div class="formControls col-5">
  49. <input type="text" class="input-text" placeholder="0" name=""couponCount"" id="couponCount" datatype="n" nullmsg="请输入整数类型的数量!">
  50. </div>
  51. <div class="col-4"> </div>
  52. </div>
  53. <div class="row cl">
  54. <label class="form-label col-3"><span class="c-red">*</span>开始时间:</label>
  55. <div class="formControls col-5">
  56. <input type="text" class="input-text" placeholder="" onfocus="WdatePicker({maxDate:'#F{$dp.$D(\'endTime\')||\'2050-10-01\'}', dateFmt:'yyyy-MM-dd HH:mm:ss'})" readonly name="email" id="beginTime" datatype="*" nullmsg="请输入开始时间!">
  57. </div>
  58. <div class="col-4"> </div>
  59. </div>
  60. <div class="row cl">
  61. <label class="form-label col-3"><span class="c-red">*</span>过期时间:</label>
  62. <div class="formControls col-5">
  63. <input type="text" class="input-text" placeholder="" onfocus="WdatePicker({minDate:'#F{$dp.$D(\'beginTime\')}',maxDate:'2050-10-01', dateFmt:'yyyy-MM-dd HH:mm:ss'})" readonly name="email" id="endTime" datatype="*" nullmsg="请输入过期时间!">
  64. </div>
  65. <div class="col-4"> </div>
  66. </div>
  67. <div class="row cl">
  68. <label class="form-label col-3"><span class="c-red">*</span>优惠券类型:</label>
  69. <div class="formControls col-5"> <span class="select-box">
  70. <select class="select" size="1" name="demo1" id="couponType" datatype="*" nullmsg="请选择优惠券类型!">
  71. <option value="" selected>请选择类型</option>
  72. <option value="1">公众用户</option>
  73. <option value="2">个人用户</option>
  74. </select>
  75. </span> </div>
  76. <div class="col-4"> </div>
  77. </div>
  78. <div class="row cl">
  79. <label class="form-label col-3">所属用户:</label>
  80. <div class="formControls col-5">
  81. <input type="text" class="input-text" disabled="disabled" placeholder="昵称..." name="userNickName" id="userNickName" datatype="*" nullmsg="昵称不能为空!">
  82. <input type="hidden" id="userId" value=""/>
  83. </div>
  84. <div class="col-4"> </div>
  85. </div>
  86. <!-- 隐藏DIV, 用于显示用户的头像和昵称 -->
  87. <div class="pl-10 pr-10" style="display: none; position: absolute; z-index: 100; border: 1px solid gray; background-color: white;" id="userInfoList">
  88. <ul id="info" style="width: 100%;">
  89. <li></li>
  90. <li></li>
  91. </ul>
  92. </div>
  93. <div class="row cl">
  94. <div class="col-9 col-offset-3">
  95. <input class="btn btn-primary radius" type="button" id="submitBtn" value="&nbsp;&nbsp;提交&nbsp;&nbsp;">
  96. </div>
  97. </div>
  98. </form>
  99. </div>
  100. </div>
  101. <script type="text/javascript" src="${pageContext.request.contextPath }/common/lib/jquery/1.9.1/jquery.min.js"></script>
  102. <script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/lib/icheck/jquery.icheck.min.js"></script>
  103. <script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/lib/Validform/5.3.2/Validform.min.js"></script>
  104. <script type="text/javascript" src="${pageContext.request.contextPath }/common/lib/layer/2.4/layer.js"></script>
  105. <script type="text/javascript" src="${pageContext.request.contextPath }/common/static/h-ui/js/H-ui.js"></script>
  106. <script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/lib/My97DatePicker/WdatePicker.js"></script>
  107. <script type="text/javascript" src="${pageContext.request.contextPath }/common/static/h-ui.admin/js/H-ui.admin.js"></script>
  108. <script type="text/javascript">
  109. $(function(){
  110. //提交
  111. $("#submitBtn").click(function() {
  112. var couponCount = $("#couponCount").val();//券号
  113. var couponMoney = $("#couponMoney").val();//优惠券金额
  114. var couponDesc = $("#couponDesc").val();//优惠卷简介
  115. var beginTime = $("#beginTime").val();//开始时间
  116. var endTime = $("#endTime").val();//过期时间
  117. var couponType = $("#couponType").val();//优惠券类型
  118. var nickName = "";
  119. if(!/^\+?[1-9][0-9]*$/.test(couponCount) || couponCount < 1 || couponCount > 3000) {
  120. layer.msg('一次添加优惠券数量在1~3000张!',{icon:5,time:1000});
  121. return false;
  122. } else if(couponMoney == "" || !/^[0-9]+(.[0-9]{1,2})?$/.test(couponMoney)) {
  123. layer.msg('请输入正确金额!',{icon:5,time:1000});
  124. return false;
  125. } else if($.trim(couponDesc) == "" || couponDesc.length < 1 || couponDesc.length > 100){
  126. layer.msg('简介长度在1~100个字符之间!',{icon:5,time:1000});
  127. return false;
  128. } else if(beginTime == "" || endTime == "") {
  129. layer.msg('请设定时间!',{icon:5,time:1000});
  130. return false;
  131. } else if(couponType != 1 && couponType != 2) {
  132. layer.msg('请选择优惠卷类型!',{icon:5,time:1000});
  133. return false;
  134. } else {
  135. var reqJSON = {"couponCount":couponCount,
  136. "couponNum":couponMoney,
  137. "couponDesc":couponDesc,
  138. "startDate":beginTime,
  139. "endDate":endTime,
  140. "couponType":couponType
  141. };
  142. if(couponType == 2) {
  143. nickName = $("#userId").val();
  144. if(nickName == "" || nickName == "undefined") {
  145. layer.msg('请选择优惠券所属用户!',{icon:5,time:2000});
  146. return false;
  147. } else {
  148. reqJSON = {"couponCount":couponCount,
  149. "couponNum":couponMoney,
  150. "couponDesc":couponDesc,
  151. "startDate":beginTime,
  152. "endDate":endTime,
  153. "couponType":couponType,
  154. "userIdMd5":nickName
  155. };
  156. }
  157. }
  158. var url = $("#form-coupon-add").attr("action");
  159. $.post(url, reqJSON, function(result) {
  160. if(result.msg == "success") {
  161. layer.msg('添加成功!',{icon:1,time:2000});
  162. setTimeout("reloadWindow()",2000);
  163. } else if(result.msg == "fiald") {
  164. layer.msg('个人类型优惠卷必须选择所属用户!',{icon:5,time:2000});
  165. $("#form-coupon-add").attr("action", "${pageContext.request.contextPath}/admin/coupon/batchAddCoupon/"+result.token);
  166. } else if(result.msg == "count") {
  167. layer.msg('一次添加优惠券数量在1~3000张!',{icon:5,time:2000});
  168. $("#form-coupon-add").attr("action", "${pageContext.request.contextPath}/admin/coupon/batchAddCoupon/"+result.token);
  169. } else {
  170. layer.msg(result.msg,{icon:5,time:2000});
  171. setTimeout("reloadWindow()",2000);
  172. }
  173. });
  174. }
  175. });
  176. $("#couponType").change(function() {
  177. var couponType = $("#couponType").val();
  178. if(couponType == 2) {
  179. $("#userNickName").attr("disabled", false);
  180. } else {
  181. $("#userId").val("");
  182. $("#userNickName").val("");
  183. $("#userNickName").attr("disabled", true);
  184. }
  185. });
  186. $("#couponMoney").bind('input propertychange', function() {
  187. var money = $("#couponMoney").val();
  188. if(!/^\d+$/.test(money)) {
  189. $("#couponMoney").val("");
  190. }
  191. });
  192. $("#couponMoney").blur(function() {
  193. var money = $("#couponMoney").val();
  194. if(/^\d+$/.test(money)) {
  195. money = money + ".00";
  196. $("#couponMoney").val(money);
  197. }
  198. });
  199. //获取用户文本框的绝对位置
  200. var inputOffsetTop = $("#userNickName").offset().top;
  201. var inputOffsetLeft = $("#userNickName").offset().left;
  202. var inputWidth = $("#userNickName").width();
  203. $("#userInfoList").css("width", inputWidth);
  204. $("#userInfoList").css("left", inputOffsetLeft);
  205. $("#userNickName").bind('input propertychange', function() {
  206. var userNickName = $.trim($("#userNickName").val());
  207. if(userNickName != "" && userNickName != "undefined") {
  208. var url = "${pageContext.request.contextPath}/admin/coupon/showUserInfo";
  209. var reqJSON = {"time":new Date(), "nickName":userNickName};
  210. $.post(url, reqJSON, function(result) {
  211. $("#info").html("");
  212. if(result.msg == "field") {
  213. $("#info").append("<li><span style='color:red;'><i class='Hui-iconfont'>&#xe665;</i>"+result.info+"</span></li>");
  214. $("#userInfoList").show();
  215. $("#userId").val("");
  216. } else if(result.msg == "success") {
  217. $("#info").append("<li><span><i class='Hui-iconfont'>&#xe665;</i>"+result.info+"</span></li>");
  218. $("#info").append("<li><hr/></li>");
  219. var resultData = result.JSONDATA;
  220. var obj = eval(resultData);
  221. for(var i = 0; i < obj.length; i++) {
  222. $("#info").append("<li style='width:100%;' onMouseOver='onMouseOverFun(this)' onMouseOut='onMouseOutFun(this)' onclick='userIdAndNickName(this)'><input type='hidden' value='"+resultData[i].userIdMd5+"'><img src='"+resultData[i].userHeadImage+"' atl='' style='width:30px; height:30px;'/>&nbsp;&nbsp;<span class='a'>"+resultData[i].userNickName+"</span></li>");
  223. }
  224. $("#userInfoList").show();
  225. }
  226. });
  227. } else {
  228. $("#userInfoList").hide();
  229. $("#userId").val("");//值为空时,文本框要清零
  230. }
  231. });
  232. $("#userNickName").blur(function() {
  233. setTimeout("closeDiv()", 1200);
  234. });
  235. $('.skin-minimal input').iCheck({
  236. checkboxClass: 'icheckbox-blue',
  237. radioClass: 'iradio-blue',
  238. increaseArea: '20%'
  239. });
  240. $("#form-member-add").Validform({
  241. tiptype:2,
  242. callback:function(form){
  243. form[0].submit();
  244. var index = parent.layer.getFrameIndex(window.name);
  245. parent.$('.btn-refresh').click();
  246. parent.layer.close(index);
  247. }
  248. });
  249. });
  250. function reloadWindow() {
  251. window.location.reload();
  252. }
  253. function onMouseOverFun(obj) {
  254. $(obj).css("background-color","gray");
  255. }
  256. function onMouseOutFun(obj) {
  257. $(obj).css("background-color", "white");
  258. }
  259. function userIdAndNickName(obj) {
  260. $("#userId").val($(obj).find("input[type=hidden]").val());
  261. $("#userNickName").val($(obj).find("span[class=a]").html());
  262. $("#userInfoList").hide();
  263. }
  264. //关闭隐藏div
  265. function closeDiv() {
  266. $("#userInfoList").hide();
  267. }
  268. </script>
  269. </body>
  270. </html>