⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 customerform.jsp

📁 基于SSH (struts+spring+hibernate)框架设计的 CRM客户关系管理系统
💻 JSP
字号:
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<jsp:directive.page import="com.csu.crm.common.vo.CrmProvince,com.csu.crm.common.vo.CrmArea,com.csu.crm.common.vo.CrmCustomer;"/>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>


<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>


<%@ taglib uri="/WEB-INF/iterate.tld" prefix="iterate"%>
<%-- 客户信息表单的填写,带简单js验证--%>
<html> 
	<head>
		<title>客户信息</title>
		<script language="JavaScript" src="<%=basePath%>common/js/ajax.js"></script>
		<script language="JavaScript" src="<%=basePath%>common/js/stringUtil.js"></script>
		<script language="JavaScript" src="<%=basePath%>common/js/validate.js"></script>
		<script language="JavaScript" src="<%=basePath%>common/js/checkUnique.js"></script>
		
	<script type="text/javascript">	
		
	function killErrors() {
           return true;
    }
    window.onerror = killErrors;
	
	
	<%Object obj = request.getAttribute("isSubmited");
	if(obj != null && ((String)obj).equals("true")) {%>
		alert("提交成功");
		window.close();
		openner.close();
	<%}%>
	
	function init() {
		getAllCitys();	
		<%--
		判断 session中是否保存了 已被选择的Customer对象,以判断 此页面是 增加客户信息页面还是修改客户信息页面 
		--%>
		<%--
		要设置hibernate配置文件:crmCustomer 中CrmArea 的lazy属性为false
		--%>
		<% if(session.getAttribute("selectedCustomer") != null) {
				CrmCustomer crmCustomer = (CrmCustomer)session.getAttribute("selectedCustomer");
				String customerId = crmCustomer.getCustomerId()==null?"":crmCustomer.getCustomerId();
				String enterprise = crmCustomer.getEnterprise()==null?"":crmCustomer.getEnterprise();
				String property = crmCustomer.getCrmEntProperty()==null?"":crmCustomer.getCrmEntProperty().getPropertyId();
				String industry = crmCustomer.getCrmEntIndustry()==null?"":crmCustomer.getCrmEntIndustry().getIndustryId();
				String credit = crmCustomer.getCrmEntCredit()==null?"":crmCustomer.getCrmEntCredit().getCreditId();
				String bank = crmCustomer.getCrmBank()==null?"":crmCustomer.getCrmBank().getBankId();
				String account = crmCustomer.getAccount()==null?"":crmCustomer.getAccount();
				String area = crmCustomer.getCrmArea()==null?"":crmCustomer.getCrmArea().getAreaId();
				String addr = crmCustomer.getAddr()==null?"":crmCustomer.getAddr();
				String site = crmCustomer.getSite()==null?"":crmCustomer.getSite();
				String tel = crmCustomer.getTel()==null?"":crmCustomer.getTel();
				String fax = crmCustomer.getFax()==null?"":crmCustomer.getFax();
				String email = crmCustomer.getEmail()==null?"":crmCustomer.getEmail();
				String legalRepr = crmCustomer.getLegalRepr()==null?"":crmCustomer.getLegalRepr();
				String tax = crmCustomer.getTax()==null?"":crmCustomer.getTax();
				String cuLev = crmCustomer.getCrmCuLev()==null?"":crmCustomer.getCrmCuLev().getCuLevId();
				String cuState = crmCustomer.getCrmCuState()==null?"":crmCustomer.getCrmCuState().getCuStateId();
				String description = crmCustomer.getDescription()==null?"":crmCustomer.getDescription();
				String province = crmCustomer.getCrmArea()==null?"":crmCustomer.getCrmArea().getCrmProvince().getProvinceId();			//此方法要用到hibernate的多级查找,...
				//Map mapAreaProvince = (Map)request.getAttribute("mapAreaProvince");
				//String province = (String)mapAreaProvince.get(area);
							
		%>
			//更改标志位为update
			//methodFlag = 'update';
			//初始化所有表单对象里的值
			document.all("customerId").value='<%=customerId%>';
			document.all("enterprise").value='<%=enterprise%>';
			//把主属性(唯一检查)保存到originalValue中
			originalValue = '<%=enterprise%>';
			
			document.all("account").value='<%=account%>';
			document.all("addr").value='<%=addr%>';
			document.all("site").value='<%=site%>';
			document.all("tel").value='<%=tel%>';
			document.all("fax").value='<%=fax%>';
			document.all("email").value='<%=email%>';
			document.all("legalRepr").value='<%=legalRepr%>';
			document.all("tax").value='<%=tax%>';
			document.all("description").value='<%=description%>';
				
			<%if(property != ""){%> document.all("property").options('<%=property%>').selected='selected';<%}%>
			<%if(industry != ""){%> document.all("industry").options('<%=industry%>').selected='selected';<%}%>
			<%if(credit != ""){%> document.all("credit").options('<%=credit%>').selected='selected';<%}%>
			<%if(bank != ""){%> document.all("bank").options('<%=bank%>').selected='selected';<%}%>		
			<%if(cuLev != ""){%> document.all("cuLev").options('<%=cuLev%>').selected='selected';<%}%>
			<%if(cuState != ""){%> document.all("cuState").options('<%=cuState%>').selected='selected';<%}%>
			//先初始化省份的下拉框
			document.all("province").options('<%=province%>').selected='selected';
			//再调用ajax
			provinceChange(document.all("province"));
			//再初始化城市的下拉框
			document.all("area").options('<%=area%>').selected='selected';				
		<%		
			} 
		%>
	}
	
	var citys = new Array();
	
	function getAllCitys() {		
		<%
			Map mapArea = (Map)request.getAttribute("mapAllArea");
			List listAreaId = (List)request.getAttribute("listAllAreaId");
			Iterator itArea = listAreaId.iterator();
			String curAreaId = null;
			String curArea = null;		
			while(itArea.hasNext()) {
					curAreaId = (String)itArea.next();
					CrmArea crmArea = (CrmArea)mapArea.get(curAreaId);
					curArea	=crmArea.getCity();		
		%>
		var curAreaId='<%=curAreaId%>';
		var curArea='<%=curArea%>';
		citys[curAreaId] = curArea;
		<%
		}
		%>
	}
		
	function provinceChange(obj) {
		if(!request) {
			createRequest();
		}		
		//citySelect.style.display="block";
		var optionArr=document.all("area").options;
		//清空
		while(optionArr.length>0){
			optionArr.remove(0);
		}	    
		//当前选择的省份Id
		var selectedProvinceId = obj.options(obj.options.selectedIndex).id;		
		
		var url = "servlet/SelectCityServlet?id=" + selectedProvinceId;
		
     	request.open("GET", url, true);
     	request.onreadystatechange = addCity;
    	request.send(null);
    }
	
	
   	
    function addCity() {	 
		if (request.readyState == 4) { 	
		   var city = request.responseXML.getElementsByTagName("city"); 
			//alert(city.length);		
		   var str=new Array();
			
			var tmp = null;
			
		   for(var i=0;i<city.length;i++){
				tmp = city[i].firstChild.data;
		  		str[i]=citys[tmp];
		   }

		   buildSelect(str,document.getElementById("area"));
	   
		}
	}
	
	function buildSelect(str,sel) {
	   sel.options.length=0;
	   for(var i=0;i<str.length;i++) {
	   sel.options[sel.options.length]=new Option(str[i],str[i]);
	   }
	}	
	
	function checkConstraint() {
		//请按要求填写再提交		
		//alert(constraint);	
		if(Trim(document.all("enterprise").value).length == 0) {
			alert("企业名称未填写");
			document.all("enterprise").focus();
			return false;
		}		
		if(constraint != 'pass') {
			alert("企业名称已被占用");
			document.all("enterprise").focus();
			return false;			
		}
	
	}	
	</script>
	
	</head>
	<link href="<%=basePath%>common/css/main.css" rel="stylesheet" type="text/css">
	<body onload="init();"><br>			
		<html:form action="/customer" onsubmit="return checkConstraint();">
			<%--一个隐藏域 --%>
			<html:hidden property="customerId"/>	
			<table border="0" align="center" cellpadding=0 cellspacing=0 class="border">
				<tr>
     				 <td  colspan="4" valign="bottom"  background="<%=basePath%>common/img/nav_iframe.jpg" class="text-Shadow"><div align="left">&nbsp;&nbsp; 客户信息</div></td>
    				 
    			</tr>
    			<tr>
     				 <td  colspan="4" valign="bottom"  background="<%=basePath%>common/img/nav_iframe.jpg" class="text-Shadow"><div id='tip'  style='display:none' align="right"><font color="#990000">请输入正确格式</font></div></td>
    				 
    			</tr>   
    			
    			<%--企业名称--%>
    			<tr>
    				<td><bean:message key="label.customer.ent"/></td>
    				<td  colspan="2"><html:text property="enterprise" onblur="checkUnique('CrmCustomer','enterprise',this)"/><font color="#990000">*</font></td>
    				<td>
    					<div id='uniqueTip'  style='display:none'><font color="#990000">此名字已被占用</font></div>
    					<div id='notnullTip'  style='display:none'><font color="#990000">请输入企业名</font></div>
    				</td>
    			</tr>
    			
    			
    			<%--
				iterate自定义标签使用说明:
				属性:name 必须 指定生成的select的name属性,即<select name="?"
	    		list 必须 指定要迭代的list,list 里保存的是String型的对象						
				--%>
				<%--企业性质--%>
				<tr>
    				<td><bean:message key="label.customer.ent.property"/></td>
    				<td  colspan="2"><iterate:iterateMap name="property" map="${mapAllProperty}" list="${listAllProperty}"/></td>
    				<td></td>
    			</tr>
    			
    			<%--行业类型--%>
				<tr>
    				<td><bean:message key="label.customer.ent.industry"/></td>
    				<td  colspan="2"><iterate:iterateMap name="industry" map="${mapAllIndustry}" list="${listAllIndustry}"/></td>
    				<td></td>
    			</tr>
    			
    			<%--信誉级别--%>
				<tr>
    				<td><bean:message key="label.customer.ent.credit"/></td>
    				<td  colspan="2"><iterate:iterateMap name="credit" map="${mapAllCredit}" list="${listAllCredit}"/></td>
    				<td></td>
    			</tr>    		
    			
    			<%--银行--%>
				<tr>
    				<td><bean:message key="label.customer.bank"/></td>
    				<td  colspan="2"><iterate:iterateMap name="bank" map="${mapAllBank}" list="${listAllBank}"/></td>
    				<td></td>
    			</tr>
    			
    			<%--银行账号 js整数验证--%>
    			<tr>
    				<td><bean:message key="label.customer.account"/></td>
    				<td  colspan="2"><html:text property="account" onblur="return validateIsInt(this)" maxlength="19"/></td>
    				<td>请输入19位的银行账号(0-9)</td>
    			</tr>
    			
    			<%--地址--%>
				<tr>
    				<td><bean:message key="label.customer.address"/></td>
    				<%--区域 由国家,省份,城市组成--%>
    				<td>
    					<select name="province" onchange="provinceChange(this)">								
								<%										
										Map mapProvince = (Map)session.getAttribute("mapAllProvince");
										List listProviceId = (List)request.getAttribute("listAllProvinceId");										
										Iterator itProvince = listProviceId.iterator();
										String curProvinceId = null;
										String curProvince = null;
										while(itProvince.hasNext()) {
											curProvinceId = (String)itProvince.next();
											CrmProvince crmProvince = (CrmProvince)mapProvince.get(curProvinceId);
											curProvince	=crmProvince.getProvince();																	
											%>
												<option id="<%=curProvinceId%>">
													<%=curProvince%>
												</option>
										<%	}
								%>								
						</select>
					
						<%--<bean:message key="label.customer.area.city"/>--%>
						<select name="area">
							<option id='notSelect'>---请选择---</option>																	
						</select>
	
    				</td>
    				<td>
    				
    				</td>
    				<td></td>
    			</tr>				   			
    			<tr>
    				<td></td>
    				<td colspan="2"><html:text property="addr"/></td>
    				<td></td>    				
    			</tr>
    			
    			<%--网址--%>
				<tr>
    				<td><bean:message key="label.customer.site"/></td>
    				<td colspan="2"><html:text property="site"/></td>
    				<td></td>
    			</tr> 
    			<%--电话 js电话验证--%>
    			<tr>
    				<td><bean:message key="label.customer.tel"/></td>
    				<td colspan="2"><html:text property="tel" onblur="return validateTel(this)"/></td>
    				<td>请输入7到8位的电话号码(0-9)</td>
    			</tr>
    			<%--传真 js电话验证--%>
    			<tr>
    				<td><bean:message key="label.customer.fax"/></td>
    				<td colspan="2"><html:text property="fax" onblur="return validateTel(this)"/></td>
    				<td>请输入7到8位的电话号码(0-9)</td>
    			</tr>
    			<%--电子邮件 js_e-mail验证--%>
    			<tr>
    				<td><bean:message key="label.customer.email"/></td>
    				<td colspan="2"><html:text property="email" onblur="return validateEmail(this)"/></td>
    				<td>请输入正确的电子邮件格式</td>
    			</tr>
    			<%--法人代表--%>
    			<tr>
    				<td><bean:message key="label.customer.legalrepr"/></td>
    				<td colspan="2"><html:text property="legalRepr"/></td>
    				<td></td>
    			</tr>
    			<%--纳税账号 js整数验证--%>
    			<tr>
    				<td><bean:message key="label.customer.tax"/></td>
    				<td colspan="2"><html:text property="tax" onkeyup="return validateIsInt(this)" maxlength="19"/></td>
    				<td>请输入19位的纳税账号(0-9)</td>
    			</tr>
    			<%--客户级别 --%>
    			<tr>
    				<td><bean:message key="label.customer.lev"/></td>
    				<td colspan="2"><iterate:iterateMap name="cuLev" map="${mapAllCuLev}" list="${listAllCuLev}"/></td>
    				<td></td>
    			</tr>
    			<%--客户状态 --%>
    			<tr>
    				<td><bean:message key="label.customer.state"/></td>
    				<td colspan="2"><iterate:iterateMap name="cuState" map="${mapAllCuState}" list="${listAllCuState}"/></td>
    				<td></td>
    			</tr>
    			<%--备注 --%>
    			<tr>
    				<td><bean:message key="label.customer.description"/></td>
    				<td colspan="3"><html:textarea property="description" rows="2" cols="50"/></td>
    				
    			</tr>
    			
    			<tr>
    				<td><html:submit>确定</html:submit></td>
    				<td><input type="button" value="取消" onclick="window.close();"/></td>
    				<td></td>
    				<td align="left"><html:reset>清空</html:reset></td>
    			</tr>
			</table>
			
			
		</html:form>
	</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -