那些逻辑恶心人的JS代码,以前写过的

1、几个按钮控制checkbox系列操作

//批量全选或取消全选
	function selectAll() {
		if ($("#selectGoods").attr("checked")) {
			$("table input[type=checkbox]").attr("checked", true);
		} else {
			$("table input[type=checkbox]").attr("checked", false);
		}
	}

// 合并生成发货单
	function sellAllOrder() {	
		// 先判断checkbox是否选中
		var obj = document.getElementsByName("ckbox");
	    var flag = false;
	    for (var i = 0;i < obj.length;i++){
	        if (obj [i].checked==true) {
	            flag= true;
	            break;
	        }
	    }	   
		if (flag) {
		    //  -----------------checkbox已选中状态下的操作--------------------
			// 清除汇总checkbox
			$('input:checkbox[name=ckbox2]:checked').each(function() {	
				    $(this).attr("checked", false);
					$(this).css('display','none');
			});
			
			// 显示发货checkbox
			$('input:checkbox[name=ckbox]:checked').each(function() {	
				$(this).attr("checked", true);
				$(this).css('display','inline'); 
				document.getElementById("ck").value = 0;
			});	
			
			// 清除接单checkbox
			$('input:checkbox[name=ckbox3]:checked').each(function() {	
				    $(this).attr("checked", false);
					$(this).css('display','none');
			});
			
			// 提交数据
			top.$.jBox.confirm("确认要合并生成发货单数据吗?", "系统提示", function(v, h, f) {
				if (v == "ok") {
					var orderId = "";
					$('input:checkbox[name=ckbox]:checked').each(function() {
						orderId += $(this).val() + "#"; //拼接成一个字符串						
					});					
					if(orderId ==null || orderId == ""){
						alert("请选择订单!");
						return;
					}
					//alert("合并发货单id-------------"+orderId);
					$.ajax({
						type : "POST",
						url : ctx + '/order/orderSplitSellGood/sellOrder',
						data : {
							"orderId" : orderId
						},
						success : function(msg) {
							if ("OK" != msg) {
								alert("生成合并发货单失败!");
							}else{
								alert("生成合并发货单成功!");
							}
							location.href = ctx
									+ '/order/orderSplitSellGood?repage';
						},
						error : function(e) {
							alert("暂时无法生成合并发货单!");
						}
					});
				}
			}, {
				buttonsFocus : 1
			});
			top.$('.jbox-body .jbox-icon').css('top', '55px');
			
		} else {
			document.getElementById("spanCk").style.display = 'inline';
		    //  -----------------checkbox未选中状态下的操作--------------------
			// 清除生成汇总单checkbox
			var ck2 = document.getElementById("ck2").value;			
	        if(ck2 == 0){
	        	var cks2 = document.getElementsByName ('ckbox2');
	            for ( var i = 0; i < cks2.length; i++)
	            {            
	             cks2[i].style.display = 'none';            
	            }
	        }
	     // 清除接单checkbox
			var ck3 = document.getElementById("ck3").value;			
	        if(ck3 == 0){
	        	var cks3 = document.getElementsByName ('ckbox3');
	            for ( var i = 0; i < cks3.length; i++)
	            {            
	             cks3[i].style.display = 'none';            
	            }
	        }
	        // 显示合并生成发货单checkbox
			var cks = document.getElementsByName ('ckbox');
	        for ( var i = 0; i < cks.length; i++){           
	         cks[i].style.display = 'inline';
	         document.getElementById("ck").value = 0;
	        }
	        
	        //  -----------------checkbox已选中状态下的操作--------------------
			// 清除汇总checkbox
			$('input:checkbox[name=ckbox2]:checked').each(function() {	
				    $(this).attr("checked", false);
					$(this).css('display','none');
			});		
			// 显示发货checkbox
			$('input:checkbox[name=ckbox]:checked').each(function() {	
				$(this).attr("checked", true);
				$(this).css('display','inline'); 
				document.getElementById("ck").value = 0;
			});
			
			// 清除接单checkbox
			$('input:checkbox[name=ckbox3]:checked').each(function() {	
				    $(this).attr("checked", false);
					$(this).css('display','none');
			});
			// 全选
			if ($("#selectGoods").attr("checked")) {
				$("table input[name=ckbox]").attr("checked", true);
			} 
		}
	}
	
	// 生成销售汇总单
	function sellCollect() {	
		// 先判断checkbox是否选中
		var obj = document.getElementsByName("ckbox2");
	    var flag = false;
	    for (var i = 0;i < obj.length;i++){
	        if (obj [i].checked==true) {
	            flag= true;
	            break;
	        }
	    }	   
		if (flag) {
		    //  -----------------checkbox已选中状态下的操作--------------------
			// 清除发货checkbox
			$('input:checkbox[name=ckbox]:checked').each(function() {	
				    $(this).attr("checked", false);
					$(this).css('display','none');
			});			
			// 显示汇总checkbox
			$('input:checkbox[name=ckbox2]:checked').each(function() {	
				$(this).attr("checked", true);
				$(this).css('display','inline'); 
				document.getElementById("ck2").value = 0;
			});	
			// 清除接单checkbox
			$('input:checkbox[name=ckbox3]:checked').each(function() {	
				    $(this).attr("checked", false);
					$(this).css('display','none');
			});	
			
			// 提交数据
			top.$.jBox.confirm("确认要生成销售汇总单数据吗?", "系统提示", function(v, h, f) {
				if (v == "ok") {
					var orderId = "";
					$('input:checkbox[name=ckbox2]:checked').each(function() {
						orderId += $(this).val() + "#"; //拼接成一个字符串						
					});					
					if(orderId ==null || orderId == ""){
						alert("请选择订单!");
						return;
					}
					//alert("汇总订单id--------------"+orderId);
					$.ajax({
						type : "POST",
						url : ctx + '/order/orderSplitSellGood/sellCollect',
						data : {
							"orderId" : orderId
						},
						success : function(msg) {
							if ("OK" != msg) {
								alert("生成销售汇总单失败!");
							}else{
								alert("生成销售汇总单成功!");
							}
							location.href = ctx
									+ '/order/orderSplitSellGood?repage';
						},
						error : function(e) {
							alert("暂时无法生成销售汇总单!");
						}
					});
				}
			}, {
				buttonsFocus : 1
			});
			top.$('.jbox-body .jbox-icon').css('top', '55px');	
		}else{
			document.getElementById("spanCk").style.display = 'inline';
			//  -----------------checkbox未选中状态下的操作--------------------
			// 清除合并生成发货单checkbox
			var ck = document.getElementById("ck").value;			
	        if(ck == 0){
	        	var cks = document.getElementsByName ('ckbox');
	            for ( var i = 0; i < cks.length; i++)
	            {            
	             cks[i].style.display = 'none';            
	            }
	        }
	     // 清除接单checkbox
			var ck3 = document.getElementById("ck3").value;			
	        if(ck3 == 0){
	        	var cks3 = document.getElementsByName ('ckbox3');
	            for ( var i = 0; i < cks3.length; i++)
	            {            
	             cks3[i].style.display = 'none';            
	            }
	        }
	        // 显示生成汇总单checkbox
			var cks2 = document.getElementsByName ('ckbox2');
	        for ( var i = 0; i < cks2.length; i++)
	        {            
	         cks2[i].style.display = 'inline'; 
	         document.getElementById("ck2").value = 0;
	        }
	        
	        //  -----------------checkbox已选中状态下的操作--------------------
			// 清除发货checkbox
			$('input:checkbox[name=ckbox]:checked').each(function() {	
				    $(this).attr("checked", false);
					$(this).css('display','none');
			});			
			// 显示汇总checkbox
			$('input:checkbox[name=ckbox2]:checked').each(function() {	
				$(this).attr("checked", true);
				$(this).css('display','inline'); 
				document.getElementById("ck2").value = 0;
			});
			
			// 清除接单checkbox
			$('input:checkbox[name=ckbox3]:checked').each(function() {	
				    $(this).attr("checked", false);
					$(this).css('display','none');
			});
			// 全选
			if ($("#selectGoods").attr("checked")) {
				$("table input[name=ckbox2]").attr("checked", true);
			}
		}
	}	
	
	// 批量接单
	function getAllOrder(){
	 // 先判断checkbox是否选中
		var obj = document.getElementsByName("ckbox3");
	    var flag = false;
	    for (var i = 0;i < obj.length;i++){
	        if (obj [i].checked==true) {
	            flag= true;
	            break;
	        }
	    }	   
		if (flag) {
		    //  -----------------checkbox已选中状态下的操作--------------------
			// 清除汇总checkbox
			$('input:checkbox[name=ckbox2]:checked').each(function() {	
				    $(this).attr("checked", false);
					$(this).css('display','none');
			});
			
			// 显示接单checkbox
			$('input:checkbox[name=ckbox3]:checked').each(function() {	
				$(this).attr("checked", true);
				$(this).css('display','inline'); 
				document.getElementById("ck3").value = 0;
			});	
			
			// 清除发货checkbox
			$('input:checkbox[name=ckbox]:checked').each(function() {	
				    $(this).attr("checked", false);
					$(this).css('display','none');
			});
			
			// 提交数据
			top.$.jBox.confirm("确认要批量接单吗?", "系统提示", function(v, h, f) {
				if (v == "ok") {
					var orderId = "";
					$('input:checkbox[name=ckbox3]:checked').each(function() {
						orderId += $(this).val() + "#"; //拼接成一个字符串						
					});					
					if(orderId ==null || orderId == ""){
						alert("请选择订单!");
						return;
					}
					//alert("合并发货单id-------------"+orderId);
					$.ajax({
						type : "POST",
						url : ctx + '/order/orderSplitSellGood/changeAllOrderStatus',
						data : {
							"orderId" : orderId
						},
						success : function(msg) {
							if ("OK" != msg) {
								alert("批量接单失败!");
							}else{
								alert("批量接单成功!");
							}
							location.href = ctx
									+ '/order/orderSplitSellGood?repage';
						},
						error : function(e) {
							alert("暂时无法批量接单!");
						}
					});
				}
			}, {
				buttonsFocus : 1
			});
			top.$('.jbox-body .jbox-icon').css('top', '55px');
			
		} else {
			document.getElementById("spanCk").style.display = 'inline';
		    //  -----------------checkbox未选中状态下的操作--------------------			
	     // 清除生成汇总单checkbox
			var ck = document.getElementById("ck").value;			
	        if(ck == 0){
	        	var cks = document.getElementsByName ('ckbox');
	            for ( var i = 0; i < cks.length; i++)
	            {            
	             cks[i].style.display = 'none';            
	            }
	        }	
	     // 清除生成发货单checkbox
			var ck2 = document.getElementById("ck2").value;			
	        if(ck2 == 0){
	        	var cks = document.getElementsByName ('ckbox2');
	            for ( var i = 0; i < cks.length; i++)
	            {            
	             cks[i].style.display = 'none';            
	            }
	        }	
	        // 显示接单checkbox
			var cks = document.getElementsByName ('ckbox3');
	        for ( var i = 0; i < cks.length; i++){           
	         cks[i].style.display = 'inline';
	         document.getElementById("ck3").value = 0;
	        }
	        
	        //  -----------------checkbox已选中状态下的操作--------------------
			// 清除汇总checkbox
			$('input:checkbox[name=ckbox2]:checked').each(function() {	
				    $(this).attr("checked", false);
					$(this).css('display','none');
			});		
			// 显示接单checkbox
			$('input:checkbox[name=ckbox3]:checked').each(function() {	
				$(this).attr("checked", true);
				$(this).css('display','inline'); 
				document.getElementById("ck").value = 0;
			});
			
			// 清除发货checkbox
			$('input:checkbox[name=ckbox]:checked').each(function() {	
				    $(this).attr("checked", false);
					$(this).css('display','none');
			});
			// 全选
			if ($("#selectGoods").attr("checked")) {
				$("table input[name=ckbox3]").attr("checked", true);
			} 
		}
	    
	}
	
	<!-- 用作显示checkbox -->
		<input id="ck" name="ck" type="hidden" />
		<input id="ck2" name="ck2" type="hidden" />
        <input id="ck3" name="ck3" type="hidden" />
		
		
	<td><c:if
							test="${1 == orderSplitSellGood.orderStatus and 0 == orderSplitSellGood.isSendOrder}">
							<input class="ckbox" name="ckbox" id="ckbox" type="checkbox"
								style="display: none;" value="${orderSplitSellGood.id}">
						</c:if> <c:if test="${0 == orderSplitSellGood.isCollect}">
							<input class="ckbox" name="ckbox2" id="ckbox2" type="checkbox"
								style="display: none;" value="${orderSplitSellGood.id}">
						</c:if> <c:if test="${0 == orderSplitSellGood.orderStatus}">
							<input class="ckbox" name="ckbox3" id="ckbox3" type="checkbox"
								style="display: none;" value="${orderSplitSellGood.id}">
						</c:if></td>	
		
	
	<div style="display: inline;">
			<div id="spanCk" name="spanCk" style="display: none;">
				<input id="selectGoods" name="selectGoods" type="checkbox"
					value="selectAll" "selectAll()">全选 &nbsp;&nbsp;
			</div>
			<input id="sellAllOrder" name="sellAllOrder" class="btn btn-primary"
				type="button" value="合并生成发货单" "sellAllOrder()"> <input
				id="sellCollect" name="sellCollect" class="btn btn-primary"
				type="button" value="生成销售汇总单" "sellCollect()"> <input
				id="getAllOrder" name="getAllOrder" class="btn btn-primary"
				type="button" value="批量接单" "getAllOrder()">
		</div>

2、同一form添加、更新查重

//更新和添加商品时根据商品名称查询去重
	function findName(){		
		var goodId =$("#id").val();		                    //商品的id	
		var goodName = $("#goodName").val();                //商品的名称
		var partnerId = '${goodBaseInfo.cityPartnerId}';	//城市合伙人的id		
		if((goodName!=null && goodName!="")){
			$.ajax({				
				type:"POST",
				data:{"goodName":goodName,"partnerId":partnerId,"goodId":goodId},
				url:ctx+"/good/goodBaseInfo/findNameById",
				success:function(findNameById){						
					if(findNameById==goodName){   // 说明是更新						
						//alert("测试更新"+findNameById);    // 测试						
						$.ajax({
							type:"POST",
							data:{"goodName":goodName,"partnerId":partnerId},
							url:ctx+"/good/goodBaseInfo/findName",
							success:function(findName){
								if(findName==findNameById){     //查询到的商品名称与要更新的商品名称相同,不提醒
									//alert("测试更新商品名称");
									document.getElementById("flag").value = "";
									document.getElementById("message").innerHTML = "";
								}else{                          //查询到的商品名称与要更新的商品名称不相同,提醒
									if(findName==goodName){
										document.getElementById("flag").value = "1";
										document.getElementById("message").innerHTML = "商品已存在";
												//alert("商品已存在!");	
									}else{    
										document.getElementById("flag").value = "";
										document.getElementById("message").innerHTML = "";
									}
								} 																
							},
							error:function(e){    //错误信息提醒
							document.getElementById("message").innerHTML = "查询失败";
							document.getElementById("flag").value = "1";
							}
						});
					}else{       //说明是添加
						$.ajax({
							type:"POST",
							data:{"goodName":goodName,"partnerId":partnerId},
							url:ctx+"/good/goodBaseInfo/findName",
							success:function(findName){
								//alert(findName);  //测试
								if(findName==goodName){
									document.getElementById("flag").value = "1";
									document.getElementById("message").innerHTML = "商品已存在";
										//alert("商品已存在!");									
							    	}else{
							    	document.getElementById("flag").value = "";	
							    	document.getElementById("message").innerHTML = "";
							   	}
							},
							error:function(e){
							document.getElementById("message").innerHTML = "查询失败";
							document.getElementById("flag").value = "1";
							}
						});						
				   	}					
				},
			    error:function(e){	 					
					document.getElementById("message").innerHTML = "查询失败";
					document.getElementById("flag").value = "1";
					//alert("查询失败!");
				}
			});
		}
	}
	//失去焦点清除提示信息
	function clearInfo(){		
			document.getElementById("message").innerHTML = "";		
	}
	
	
	
-----java后台代码-----------------------------------------------------------------------------------------------------------------	
	
controller
	
/**
	 * 根据商品名称查重
	 * @author zz
	 * 2017.1.20
	 * @return 
	 * @throws IOException 
	 * **/	
	@RequiresPermissions("good:goodBaseInfo:edit")
	@RequestMapping(value = "findName")
	@ResponseBody
	public String findName(String goodName,String partnerId) {	
		return  goodBaseInfoService.findName(goodName,partnerId);		 
	}	
	
	/**
	 * 根据商品id查name
	 * @author zz
	 * 2017.1.23
	 * @return 	 
	 * **/
	@RequiresPermissions("good:goodBaseInfo:edit")
	@RequestMapping(value = "findNameById")
	@ResponseBody
	public String findNameById(String goodName,String partnerId,String goodId) {	
		return  goodBaseInfoService.findNameById(goodName,partnerId,goodId);		 
	}	
	
service

/**
	 *根据商品名称查重
	 *@author zz
	 *2017.1.20 
	 * @param goodId 
	 * 
	 * */
    @Transactional(readOnly = false)
	public String findName(String goodName,String partnerId) {		    	  
    	  String result = "";    	  
    	  if(goodName == null){
    		  return null;
    	  }    	     	 
    	  //查询数据库中有无对应的商品名称
    	 String getName = goodBaseInfoDao.findName(goodName,partnerId);	    	 
    	 if(StringUtils.isBlank(getName)){   //没有查询到名称
    		     result = null;
    	 }else{
    		 result = getName;
    	 }
    	return result;
	}	
	/**
	 *根据商品id查name
	 *@author zz
	 *2017.1.23 	 
	 * 
	 * */
    @Transactional(readOnly = false)
	public String findNameById(String goodName, String partnerId, String goodId) {
    	 String result = "";    	  
   	  if(goodName == null){
   		  return null;
   	  }    	 
   	  if(goodId == null){
   		  return null;
   	  }
	  
   	 //根据id查询数据库中有无对应得商品name
 	 String getNameById = goodBaseInfoDao.findNameById(goodId, partnerId,goodName);
 	 if(StringUtils.isBlank(getNameById)){    //说明是新增
            result = null;
 	    }else{                     //说明是更新
             result = getNameById;
 	 }	 
		return result;
	}    
	
	
dao

 /**
    * 根据商品名称查重
    * @author zz
    * @param name   
    * */
	public String findName(String goodName,String partnerId);	

	/**
	 * 根据id称查重
	 * @author zz
	 * @param id   
	 * */
	public String findNameById(String goodId,String partnerId,String goodName);	
	
mybatis xml

<!-- 添加商品时查询 -->
	<select id="findName" resultType="java.lang.String">
		SELECT 
			a.good_name
		FROM good_base_info a
		WHERE	
		 a.good_name = #{param1}
		 AND a.city_partner_id = #{param2}	
		 AND a.del_flag = 0	
	</select>
	<!-- 更新商品时查询商品名用作前台判断 -->
	<select id="findNameById" resultType="java.lang.String">
		SELECT 
			a.good_name
		FROM good_base_info a
		WHERE	
		 a.id = #{param1}
		 AND a.city_partner_id = #{param2}	
		 AND a.good_name = #{param3}
		 AND a.del_flag = 0	
	</select>

	

3、模态框


<tbody id="contentTableTB"></tbody>



<div style="float: right;display: inline-block;width: 20%;">
			<a class="btn btn-primary btn-small" href="javascript:void(0);"
				style="float: right;margin: 0 10px 5px 0;" type="button" "showDiailg();">查看退货详情</a>
		</div>





<div id="myModal" class="modal fade" tabindex="-1" role="dialog"
			aria-hidden="true" style="width: 870px; height: 480px; display: none;margin-left: -450px">
		<div class="modal-dialog">
			<div class="modal-content">
				<div class="modal-header">
					<label style="margin-left: 350px;"><h4>退货详情</h4></label>
					<span style="text-align: center; margin-left: 750px">
						<button type="button" id="closeModal" class="btn btn-danger modal-title"
							data-dismiss="modal" aria-hidden="true">关闭</button>
					</span><br/>
					<span style="font-size: 16px;font-weight: bold;">退货总金额:¥<span id="tuiGoodPrices"></span></span>
					<span style="font-size: 16px;font-weight: bold;">退货商品:<span id="goodTypes"></span>种</span>
				</div>
				<div class="modal-body">
					<table class="table table-bordered">
						<thead>
						<tr>
							<th>商品编号</th>
							<th>商品名称</th>
							<th>商品分类</th>
							<th>采购单价</th>
							<th>采购数量</th>
							<th>退货数量</th>
							<th>退货金额</th>
						</tr>
						</thead>
						<tbody id="showpictable">
						</tbody>
					</table>
				</div>
			</div>
		</div>
	</div>



<script type="text/javascript">
		var resultBackNumber;
		function showDiailg() {
			resultBackNumber = "";
			var booleanfalt = false;
			var trList = $("#contentTableTB").children("tr")
			var listhtml = "";
			var tuiGoodPrices = 0.00;// 退货总金额
			var goodTypes = 0;
			for (var i = 0; i < trList.length; i++) {
				var tdArr = trList.eq(i).find("td");
				var tuiGoodPrice = tdArr.eq(11).find("span").html().trim();// 退货金额
				var signGoodCount = tdArr.eq(6).find("span").html().trim();// 签收数量
				var settlementGoodCount = tdArr.eq(7).find("span").html().trim();// 结算数量
				var tuiGoodCount = Number(signGoodCount) - Number(settlementGoodCount);
				tuiGoodPrices = tuiGoodPrices + Number(tuiGoodPrice);
				if("0.00" != tuiGoodPrice){
					goodTypes++;
					booleanfalt = true;
					listhtml = listhtml + "<tr>";
					listhtml = listhtml + "<td>" + tdArr.eq(1).html().trim() + "</td>"
							+ "<td>" + tdArr.eq(2).html().trim() + "</td>"
							+ "<td>" + tdArr.eq(3).html().trim() + "</td>"
							+ "<td>" + tdArr.eq(4).html().trim() + "</td>"
							+ "<td>" + tdArr.eq(5).html().trim() + "</td>"
							+ "<td>" + tuiGoodCount + " " + tdArr.eq(5).find("span").html().trim() + "</td>"
							+ "<td>" + tdArr.eq(11).html().trim() + "</td>";
					listhtml = listhtml + "</tr>";
				}
			}
			$("#tuiGoodPrices").html(tuiGoodPrices);
			$("#goodTypes").html(goodTypes);
			$("#showpictable").html(listhtml);
			if (booleanfalt) {
				//如果有退货,列出退货列表
				$('#myModal').modal({
					backdrop : 'static',
					keyboard : false
				});
				$('#myModal').modal('show');
			} else {
				//如果没有退货,直接提示是否确认
				confirmx('此订单没有退货', function() {
					
				});
			}
		}
	</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值