couponNewUserForm.jsp 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  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&&moneyCouponFlag=2">新用户券</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. <input type="checkbox" id="useTimeFlag" name="useTimeFlag" style="margin-left:20px !important" value="${cmCoupon.useTimeFlag eq 1?1:0}"
  95. ${cmCoupon.useTimeFlag eq 1 ? "checked" : ""} onclick="changeUseTime('useTimeFlag')"/>同上下架时间
  96. <input id="usePeriodTemp" type="hidden" value="${cmCoupon.usePeriod}">
  97. </div>
  98. </div>
  99. <div class="control-group">
  100. <label class="control-label"><font color="red">*</font>状态:</label>
  101. <div class="controls">
  102. <label id="initializeShow">
  103. <c:if test="${empty cmCoupon.status || cmCoupon.status eq 0}">
  104. <font color="#800080">未生效</font>
  105. </c:if>
  106. <c:if test="${cmCoupon.status eq 1}">
  107. <font color="#00CC66">已生效</font>
  108. </c:if>
  109. <c:if test="${cmCoupon.status eq 2}">
  110. <font color="red">已关闭</font>
  111. </c:if>
  112. <c:if test="${cmCoupon.status eq 3}">
  113. <font color="#FF6600">已失效</font>
  114. </c:if>
  115. </label>
  116. <label id="closeShow" style="display: none">
  117. <font color="red">已关闭</font>
  118. </label>
  119. <input type="hidden" id="hiddenStatus" name="status" value="">
  120. <input type="checkbox" id="status" name="status" value="2" ${cmCoupon.status eq "2" ? "checked" : ""} onclick="statusShow()" />关闭
  121. </div>
  122. </div>
  123. <div class="form-actions">
  124. <input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>&nbsp;
  125. <input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
  126. </div>
  127. </form:form>
  128. <script>
  129. $(function () {
  130. initInputDisplay();
  131. initUseTimeFlag();
  132. })
  133. function statusShow() {
  134. var status = $("input[name='status']:checked").val();
  135. if (status == 2) {
  136. $("#initializeShow").hide();
  137. $("#closeShow").show();
  138. } else {
  139. $("#initializeShow").show();
  140. $("#closeShow").hide();
  141. $("#hiddenStatus").val(0);
  142. }
  143. }
  144. function dateShow() {
  145. var startDate = $("#startDate").val();
  146. var startMs = new Date(startDate).getTime();
  147. var endDate = $("#endDate").val();
  148. var endMs = new Date(endDate).getTime();
  149. var nowMs = new Date().getTime();
  150. if (nowMs < startMs) {
  151. $("#initializeShow").html("<font color=\"#800080\">未生效</font>");
  152. } else if (nowMs > endMs) {
  153. $("#initializeShow").html("<font color=\"#FF6600\">已失效</font>");
  154. } else {
  155. $("#initializeShow").html("<font color=\"#00CC66\">已生效</font>");
  156. }
  157. }
  158. /**
  159. * @param obj
  160. * jquery控制input只能输入数字
  161. */
  162. function onlynum(obj) {
  163. obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字"以外的字符
  164. }
  165. function changeCondition(flag, name) {
  166. var obj = $("#" + flag);
  167. var val = obj.val();
  168. if (val === '1') {
  169. obj.val(0);
  170. val = '0';
  171. } else {
  172. obj.val(1);
  173. val = '1';
  174. }
  175. var inputObj = $("#" + name);
  176. // 临时数据
  177. var tempObj = $("#" + name + "Temp");
  178. if (name.indexOf("Time") !== -1) {
  179. //修改时间
  180. if (val === '1') {
  181. inputObj.attr('onclick', '');
  182. inputObj.removeClass('required');
  183. } else {
  184. inputObj.attr('onclick', "WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',isShowClear:false})");
  185. inputObj.addClass('required');
  186. }
  187. }else {
  188. if (val === '1') {
  189. inputObj.attr('readonly', true);
  190. inputObj.attr('required', false);
  191. } else {
  192. inputObj.attr('readonly', false);
  193. inputObj.attr('required', true);
  194. }
  195. }
  196. if (val === '1') {
  197. tempObj.val(inputObj.val());
  198. inputObj.val('');
  199. } else {
  200. inputObj.val(tempObj.val());
  201. tempObj.val('');
  202. }
  203. }
  204. function initInputDisplay() {
  205. var receiveFlag = $("#receiveFlag").val();
  206. if (receiveFlag === '1') {
  207. $("#receivePeriod").attr('readonly', true);
  208. $("#receivePeriod").attr('required', false);
  209. } else {
  210. $("#receivePeriod").attr('readonly', false);
  211. $("#receivePeriod").attr('required', true);
  212. }
  213. }
  214. function changeUseTime(flag){
  215. var obj = $("#" + flag);
  216. var val = obj.val();
  217. if (val === '1') {
  218. obj.val(0);
  219. val = '0';
  220. } else {
  221. obj.val(1);
  222. val = '1';
  223. }
  224. var temp = $("#usePeriodTemp").val();
  225. var use = $("#usePeriod").val();
  226. if (val === '1') {
  227. $("#usePeriod").attr('readonly', true);
  228. $("#usePeriod").attr('required', false);
  229. $("#usePeriod").val('');
  230. $("#usePeriodTemp").val(use);
  231. } else {
  232. $("#usePeriod").attr('readonly', false);
  233. $("#usePeriod").attr('required', true);
  234. $("#usePeriod").val(temp);
  235. }
  236. }
  237. function initUseTimeFlag(){
  238. var receiveFlag = $("#useTimeFlag").val();
  239. if (receiveFlag === '1') {
  240. $("#useTimeFlag").attr('readonly', true);
  241. $("#useTimeFlag").attr('required', false);
  242. } else {
  243. $("#useTimeFlag").attr('readonly', false);
  244. $("#useTimeFlag").attr('required', true);
  245. }
  246. }
  247. </script>
  248. </body>
  249. </html>