Browse Source

添加校验订单,活动创建编辑页面总预算的方法

ying.rong 9 years ago
parent
commit
3fe7449937

+ 2 - 2
src/main/java/com/cloudcross/ssp/web/advertiser/main/ad/target/CampaignController.java

@@ -167,7 +167,7 @@ public class CampaignController extends SimpleController {
 		
 		//得到该订单的总预算
 		Float totalBudget = orderService.findById(orderId).getBudget();
-		model.addAttribute("totalBudget", totalBudget);
+		model.addAttribute("orderTotalBudget", totalBudget);
 		return page("create");
 	}
 	
@@ -342,7 +342,7 @@ public class CampaignController extends SimpleController {
 		
 		//得到该订单的总预算
 		Float totalBudget = orderService.findById(orderId).getBudget();
-		model.addAttribute("totalBudget", totalBudget);
+		model.addAttribute("orderTotalBudget", totalBudget);
 		
 		return page("edit");
 	}

+ 33 - 1
src/main/webapp/WEB-INF/pages/advertiser/main/ad/order/create.ftl

@@ -26,11 +26,42 @@
 				if (!$("#validation-form").validate()) {
 					return false;
 				}
+				var falg = validateMoney();
+				if(falg == false){
+					return false;
+				}
 			});
 			$(".btn4").click(function(){
 				location.href = "${ctx}/advertiser/main/ad/order/list?advertiserId="+$("#advertiserId").val();
 			});
+			
+	    	$("#validation-form input[name='budget']").blur(function(){
+				validateMoney();
+			});
 		});
+		
+		function validateMoney(){
+			var reg=/^\d{1,8}\.?\d{0,2}$/;
+			var $this = $("#yusuan");
+			if($this.val().match(reg)!=null){
+				if(($this.val().indexOf('.') == -1 && $this.val().length > 8) || $this.val() < 0){
+					$this.css("box-shadow","0 0 6px red").attr('title','总预算金额整数位最多8位');
+					$this.parent("div").find("span.spanVaildate").html("总预算金额整数位最多8位").css("color","red");
+					return false;
+				}else if($this.val() > parseInt($("#balance").val())){
+					$this.css("box-shadow","0 0 6px red").attr('title','总预算不能大于该广告主的余额');
+					$this.parent("div").find("span.spanVaildate").html("总预算不能大于该广告主的余额").css("color","red");
+					return false;
+				}else{
+					$this.css("box-shadow","none").attr('title','');
+					$this.parent("div").find("span.spanVaildate").html("");
+				}
+			}else{
+				$this.css("box-shadow","0 0 6px red").attr('title','总预算金额整数位最多8位且最多有2位小数');
+				$this.parent("div").find("span.spanVaildate").html("总预算金额整数位最多8位且最多有2位小数").css("color","red");
+				return false;
+			}
+		}
 	</script>
 		
 </@override>
@@ -52,6 +83,7 @@
 			</ul>  
 	 	</div>
 		<form id="validation-form" class="form-horizontal" action="${ctx}/advertiser/main/ad/order/save" method="post">
+			<input type="hidden" id="balance" value="${balance!}"/>
 			<div class="all">
 				<div class="line1">
 					<label class="label1" style="width:100px;"><span style="color:dodgerblue;">*</span>订单名称:</label>
@@ -61,7 +93,7 @@
 				</div>
 				<div class="line2" style="clear:both;">
 					<label class="label2" style="width:100px;"><span style="color:dodgerblue;">*</span>总预算:</label>
-						<input class="shuru2" autocomplete="off" id="yusuan" name="budget" type="text" value="" verify="float/10/1/4">
+						<input class="shuru2" autocomplete="off" id="yusuan" name="budget" type="text" value="" verify="float/11/1/2">
 						<input id="ys" class="yusuanyu" value="元" style="width:20px;"><span style="margin-top:8px;" class="spanVaildate"></span>
 				</div>
 				<div class="line3">

+ 33 - 1
src/main/webapp/WEB-INF/pages/advertiser/main/ad/order/edit.ftl

@@ -26,11 +26,42 @@
 				if (!$("#validation-form").validate()) {
 					return false;
 				}
+				var falg = validateMoney();
+				if(falg == false){
+					return false;
+				}
 			});
 			$(".btn4").click(function(){
 				location.href = "${ctx}/advertiser/main/ad/order/list?advertiserId="+$("#advertiserId").val();
 			});
+			
+			$("#validation-form input[name='budget']").blur(function(){
+				validateMoney();
+			});
 		});
+		
+		function validateMoney(){
+			var reg=/^\d{1,8}\.?\d{0,2}$/;
+			var $this = $("#yusuan");
+			if($this.val().match(reg)!=null){
+				if(($this.val().indexOf('.') == -1 && $this.val().length > 8) || $this.val() < 0){
+					$this.css("box-shadow","0 0 6px red").attr('title','总预算金额整数位最多8位');
+					$this.parent("div").find("span.spanVaildate").html("总预算金额整数位最多8位").css("color","red");
+					return false;
+				}else if($this.val() > parseInt($("#balance").val())){
+					$this.css("box-shadow","0 0 6px red").attr('title','总预算不能大于该广告主的余额');
+					$this.parent("div").find("span.spanVaildate").html("总预算不能大于该广告主的余额").css("color","red");
+					return false;
+				}else{
+					$this.css("box-shadow","none").attr('title','');
+					$("#totalBudget_span").html("");
+				}
+			}else{
+				$this.css("box-shadow","0 0 6px red").attr('title','总预算金额整数位最多8位且最多有2位小数');
+				$this.parent("div").find("span.spanVaildate").html("总预算金额整数位最多8位且最多有2位小数").css("color","red");
+				return false;
+			}
+		}
 	</script>
 </@override>
 
@@ -53,6 +84,7 @@
 	 	</div>
 	 	
 	 	<form id="validation-form" class="form-horizontal" action="${ctx}/advertiser/main/ad/order/save" method="post">
+			<input type="hidden" id="balance" value="${balance!}"/>
 			<div class="all">
 				<div class="line1">
 					<label class="label1" style="width:100px;"><span style="color:dodgerblue;">*</span>订单名称:</label>
@@ -62,7 +94,7 @@
 				</div>
 				<div class="line2" style="clear:both;">
 					<label class="label2" style="width:100px;"><span style="color:dodgerblue;">*</span>总预算:</label>
-						<input class="shuru2" autocomplete="off" id="yusuan" name="budget" type="text" value="${order.budget}" verify="float/10/1/4">
+						<input class="shuru2" autocomplete="off" id="yusuan" name="budget" type="text" value="${order.budget}" verify="float/11/1/2">
 						<input id="ys" class="yusuanyu" value="元" style="width:20px;"><span style="margin-top:8px;" class="spanVaildate"></span>
 				</div>
 				<div class="line3">

+ 34 - 1
src/main/webapp/WEB-INF/pages/advertiser/main/ad/target/campaign/create.ftl

@@ -31,11 +31,43 @@
 				if (!$("#validation-form").validate()) {
 					return false;
 				}
+				var falg = validateMoney();
+				if(falg == false){
+					return false;
+				}
 			});
 			$(".btn4").click(function(){
 				location.href = "${ctx}/advertiser/main/ad/target/campaign/list?advertiserId=${advertiserId}&orderId=${orderId}";
 			});
-		});
+			
+	    	$("#validation-form input[name='totalBudget']").blur(function(){
+				validateMoney();
+			});
+			
+	    });
+	    
+	    function validateMoney(){
+			var reg=/^\d{1,8}\.?\d{0,2}$/;
+			var $this = $("#validation-form input[name='totalBudget']");
+			if($this.val().match(reg)!=null){
+				if(($this.val().indexOf('.') == -1 && $this.val().length > 8) || $this.val() <= 0){
+					$this.css("box-shadow","0 0 6px red").attr('title','总预算金额整数位最多8位');
+					$this.parent("div").find("span.spanVaildate").html("总预算金额整数位最多8位").css("color","red");
+					return false;
+				}else if($this.val() > parseInt($("#orderTotalBudget").val())){
+					$this.css("box-shadow","0 0 6px red").attr('title','总预算不能大于订单总预算');
+					$this.parent("div").find("span.spanVaildate").html("总预算不能大于订单总预算").css("color","red");
+					return false;
+				}else{
+					$this.css("box-shadow","none").attr('title','');
+					$this.parent("div").find("span.spanVaildate").html("");
+				}
+			}else{
+				$this.css("box-shadow","0 0 6px red").attr('title','总预算金额整数位最多8位且最多有2位小数');
+				$this.parent("div").find("span.spanVaildate").html("总预算金额整数位最多8位且最多有2位小数").css("color","red");
+				return false;
+			}
+		}
 	</script>
 		
 </@override>
@@ -73,6 +105,7 @@
 				</div>
 				<div class="line2" style="clear:both;padding-top:15px;">
 					<label class="label2"><span style="color:dodgerblue;">*</span>总预算:</label>
+						<input type="hidden" id="orderTotalBudget" value="${orderTotalBudget!}"/>
 						<input class="shuru2" autocomplete="off" id="yusuan" name="totalBudget" type="text" value="" verify="float/10/1/2" style="margin-left:13px !important;">
 						<input class="yusuanyu" value="元"><span class="help-inline">总预算不能大于订单总预算</span><span style="margin-top:8px;" class="spanVaildate"></span>
 				</div>

+ 36 - 3
src/main/webapp/WEB-INF/pages/advertiser/main/ad/target/campaign/edit.ftl

@@ -31,11 +31,43 @@
 				if (!$("#validation-form").validate()) {
 					return false;
 				}
+				var falg = validateMoney();
+				if(falg == false){
+					return false;
+				}
 			});
 			$(".btn4").click(function(){
 				location.href = "${ctx}/advertiser/main/ad/target/campaign/list?advertiserId=${advertiserId}&orderId=${orderId}";
 			});
-		});
+			
+			$("#validation-form input[name='totalBudget']").blur(function(){
+					validateMoney();
+				});
+				
+		    });
+		    
+		    function validateMoney(){
+				var reg=/^\d{1,8}\.?\d{0,2}$/;
+				var $this = $("#validation-form input[name='totalBudget']");
+				if($this.val().match(reg)!=null){
+					if(($this.val().indexOf('.') == -1 && $this.val().length > 8) || $this.val() <= 0){
+						$this.css("box-shadow","0 0 6px red").attr('title','总预算金额整数位最多8位');
+						$this.parent("div").find("span.spanVaildate").html("总预算金额整数位最多8位").css("color","red");
+						return false;
+					}else if($this.val() > parseInt($("#orderTotalBudget").val())){
+						$this.css("box-shadow","0 0 6px red").attr('title','总预算不能大于订单总预算');
+						$this.parent("div").find("span.spanVaildate").html("总预算不能大于订单总预算").css("color","red");
+						return false;
+					}else{
+						$this.css("box-shadow","none").attr('title','');
+						$this.parent("div").find("span.spanVaildate").html("");
+					}
+				}else{
+					$this.css("box-shadow","0 0 6px red").attr('title','总预算金额整数位最多8位且最多有2位小数');
+					$this.parent("div").find("span.spanVaildate").html("总预算金额整数位最多8位且最多有2位小数").css("color","red");
+					return false;
+				}
+			}
 	</script>
 		
 </@override>
@@ -73,8 +105,9 @@
 				</div>
 				<div class="line2" style="clear:both;padding-top:15px;">
 					<label class="label2"><span style="color:dodgerblue;">*</span>总预算:</label>
-						<input class="shuru2" autocomplete="off" id="yusuan" name="totalBudget" type="text" value="${campaign.totalBudget}" verify="float/10/1/2" style="margin-left:13px !important;">
-						<input class="yusuanyu" value="元"><span class="help-inline">总预算不能大于订单总预算</span><span style="margin-top:8px;" class="spanVaildate"></span>
+					<input type="hidden" id="orderTotalBudget" value="${orderTotalBudget!}"/>
+					<input class="shuru2" autocomplete="off" id="yusuan" name="totalBudget" type="text" value="${campaign.totalBudget}" verify="float/10/1/2" style="margin-left:13px !important;">
+					<input class="yusuanyu" value="元"><span class="help-inline">总预算不能大于订单总预算</span><span style="margin-top:8px;" class="spanVaildate"></span>
 				</div>
 				<div class="line3" style="width:1000px;">
 					<label class="label3" >&nbsp;&nbsp;每日预算:</label>