couponNewUserForm.jsp 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. <%@ page import="java.util.Date" %>
  2. <%@ page contentType="text/html;charset=UTF-8" %>
  3. <%@ include file="/WEB-INF/views/include/taglib.jsp"%>
  4. <html>
  5. <head>
  6. <title>优惠券管理</title>
  7. <meta name="decorator" content="default"/>
  8. <script type="text/javascript">
  9. $(document).ready(function() {
  10. //$("#name").focus();
  11. $("#inputForm").validate({
  12. submitHandler: function(form){
  13. var couponAmount = $("#couponAmount").val()*1;
  14. var touchPrice = $("#touchPrice").val()*1;
  15. if (couponAmount >= touchPrice) {
  16. alertx("优惠券金额必须小于优惠条件金额");
  17. return false;
  18. }
  19. var startDate = $("#startDate").val();
  20. var endDate = $("#endDate").val();
  21. if (startDate >= endDate) {
  22. alertx("结束时间不能早于开始时间");
  23. return false;
  24. }
  25. loading('正在提交,请稍等...');
  26. form.submit();
  27. },
  28. errorContainer: "#messageBox",
  29. errorPlacement: function(error, element) {
  30. $("#messageBox").text("输入有误,请先更正。");
  31. if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
  32. error.appendTo(element.parent().parent());
  33. } else {
  34. error.insertAfter(element);
  35. }
  36. }
  37. });
  38. });
  39. </script>
  40. </head>
  41. <body>
  42. <ul class="nav nav-tabs">
  43. <li><a href="${ctx}/coupon/cmCoupon/list?couponType=4">新用户券</a></li>
  44. <li class="active"><a href="${ctx}/coupon/cmCoupon/form?couponType=4&id=${cmCoupon.id}">${not empty cmCoupon.id?'编辑':'添加'}</a></li>
  45. </ul><br/>
  46. <font style="color: red;margin-left: 20px">新用户券适合新注册的机构,并且适用于商城全部商品(不包括二手商品)。</font><br><br>
  47. <form:form id="inputForm" modelAttribute="cmCoupon" action="${ctx}/coupon/cmCoupon/save" method="post" class="form-horizontal">
  48. <form:hidden path="id"/>
  49. <form:hidden path="productInfo" id="productInfo"/>
  50. <input type="hidden" name="couponType" value="4"/>
  51. <sys:message content="${message}"/>
  52. <form:hidden path="receiveFlag"/>
  53. <div class="control-group">
  54. <label class="control-label"><font color="red">*</font>优惠券金额:</label>
  55. <div class="controls">
  56. <input type="number" id="couponAmount" name="couponAmount" value="${cmCoupon.couponAmount}" min="0" required>
  57. </div>
  58. </div>
  59. <div class="control-group">
  60. <label class="control-label"><font color="red">*</font>优惠条件:</label>
  61. <div class="controls">
  62. 订单商品总额满&nbsp;&nbsp;&nbsp;&nbsp;<input type="number" name="touchPrice" id="touchPrice" value="${cmCoupon.touchPrice}" min="0" required>
  63. </div>
  64. </div>
  65. <div class="control-group">
  66. <label class="control-label"><font color="red">*</font>上架时间:</label>
  67. <div class="controls">
  68. <input name="startDate" id="startDate" type="text" required readonly="readonly" maxlength="20" class="input-medium Wdate "
  69. value="<fmt:formatDate value="${cmCoupon.startDate}" pattern="yyyy-MM-dd 00:00:00"/>"
  70. onclick="WdatePicker({dateFmt:'yyyy-MM-dd 00:00:00',isShowClear:false});" onblur="dateShow()"/>
  71. </div>
  72. </div>
  73. <div class="control-group">
  74. <label class="control-label"><font color="red">*</font>下架时间:</label>
  75. <div class="controls">
  76. <input name="endDate" id="endDate" type="text" required readonly="readonly" maxlength="20" class="input-medium Wdate "
  77. value="<fmt:formatDate value="${cmCoupon.endDate}" pattern="yyyy-MM-dd 23:59:59"/>"
  78. onclick="WdatePicker({dateFmt:'yyyy-MM-dd 23:59:59',isShowClear:false});" onblur="dateShow()"/>
  79. </div>
  80. </div>
  81. <div class="control-group">
  82. <label class="control-label"><font color="red">*</font>领取期限:</label>
  83. <div class="controls">
  84. <input type="number" id="receivePeriod" name="receivePeriod" onkeyup="onlynum(this)" value="${cmCoupon.receivePeriod}" min="1" required> 天
  85. <input type="checkbox" id="receiveFlag" name="receiveFlag" style="margin-left:20px !important" value="${cmCoupon.receiveFlag eq 1?1:0}"
  86. ${cmCoupon.receiveFlag eq 1 ? "checked" : ""} onclick="changeCondition('receiveFlag','receivePeriod')" />同上下架时间
  87. <input id="receivePeriodTemp" type="hidden" value="${cmCoupon.receivePeriod}">
  88. </div>
  89. </div>
  90. <div class="control-group">
  91. <label class="control-label"><font color="red">*</font>使用期限:</label>
  92. <div class="controls">
  93. <input type="number" id="usePeriod" name="usePeriod" value="${cmCoupon.usePeriod}" min="1" required> 天
  94. </div>
  95. </div>
  96. <div class="control-group">
  97. <label class="control-label"><font color="red">*</font>状态:</label>
  98. <div class="controls">
  99. <label id="initializeShow">
  100. <c:if test="${empty cmCoupon.status || cmCoupon.status eq 0}">
  101. <font color="#800080">未生效</font>
  102. </c:if>
  103. <c:if test="${cmCoupon.status eq 1}">
  104. <font color="#00CC66">已生效</font>
  105. </c:if>
  106. <c:if test="${cmCoupon.status eq 2}">
  107. <font color="red">已关闭</font>
  108. </c:if>
  109. <c:if test="${cmCoupon.status eq 3}">
  110. <font color="#FF6600">已失效</font>
  111. </c:if>
  112. </label>
  113. <label id="closeShow" style="display: none">
  114. <font color="red">已关闭</font>
  115. </label>
  116. <input type="hidden" id="hiddenStatus" name="status" value="">
  117. <input type="checkbox" id="status" name="status" value="2" ${cmCoupon.status eq "2" ? "checked" : ""} onclick="statusShow()" />关闭
  118. </div>
  119. </div>
  120. <div class="form-actions">
  121. <input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>&nbsp;
  122. <input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
  123. </div>
  124. </form:form>
  125. <script>
  126. $(function () {
  127. initInputDisplay();
  128. })
  129. function statusShow() {
  130. var status = $("input[name='status']:checked").val();
  131. if (status == 2) {
  132. $("#initializeShow").hide();
  133. $("#closeShow").show();
  134. } else {
  135. $("#initializeShow").show();
  136. $("#closeShow").hide();
  137. $("#hiddenStatus").val(0);
  138. }
  139. }
  140. function dateShow() {
  141. var startDate = $("#startDate").val();
  142. var startMs = new Date(startDate).getTime();
  143. var endDate = $("#endDate").val();
  144. var endMs = new Date(endDate).getTime();
  145. var nowMs = new Date().getTime();
  146. if (nowMs < startMs) {
  147. $("#initializeShow").html("<font color=\"#800080\">未生效</font>");
  148. } else if (nowMs > endMs) {
  149. $("#initializeShow").html("<font color=\"#FF6600\">已失效</font>");
  150. } else {
  151. $("#initializeShow").html("<font color=\"#00CC66\">已生效</font>");
  152. }
  153. }
  154. /**
  155. * @param obj
  156. * jquery控制input只能输入数字
  157. */
  158. function onlynum(obj) {
  159. obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字"以外的字符
  160. }
  161. function changeCondition(flag, name) {
  162. var obj = $("#" + flag);
  163. var val = obj.val();
  164. if (val === '1') {
  165. obj.val(0);
  166. val = '0';
  167. } else {
  168. obj.val(1);
  169. val = '1';
  170. }
  171. var inputObj = $("#" + name);
  172. // 临时数据
  173. var tempObj = $("#" + name + "Temp");
  174. if (name.indexOf("Time") !== -1) {
  175. //修改时间
  176. if (val === '1') {
  177. inputObj.attr('onclick', '');
  178. inputObj.removeClass('required');
  179. } else {
  180. inputObj.attr('onclick', "WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',isShowClear:false})");
  181. inputObj.addClass('required');
  182. }
  183. }else {
  184. if (val === '1') {
  185. inputObj.attr('readonly', true);
  186. inputObj.attr('required', false);
  187. } else {
  188. inputObj.attr('readonly', false);
  189. inputObj.attr('required', true);
  190. }
  191. }
  192. if (val === '1') {
  193. tempObj.val(inputObj.val());
  194. inputObj.val('');
  195. } else {
  196. inputObj.val(tempObj.val());
  197. tempObj.val('');
  198. }
  199. }
  200. function initInputDisplay() {
  201. var receiveFlag = $("#receiveFlag").val();
  202. if (receiveFlag === '1') {
  203. $("#receivePeriod").attr('readonly', true);
  204. $("#receivePeriod").attr('required', false);
  205. } else {
  206. $("#receivePeriod").attr('readonly', false);
  207. $("#receivePeriod").attr('required', true);
  208. }
  209. }
  210. </script>
  211. </body>
  212. </html>