员工管理的完善

(一)查询页面的时候去掉密码

1、访问上面创建好的项目emp.html页面

密码是暴露状态

erp 大连java java erp系统_spring

需要在显示的时候,屏蔽掉密码的显示

2、在erp_entity当中的Emp.java当中,设置注释

erp 大连java java erp系统_erp 大连java_02

3、再次访问的时候登陆密码消失

erp 大连java java erp系统_erp 大连java_03


将emp.html当中的密码列删除

erp 大连java java erp系统_java_04


再次访问

erp 大连java java erp系统_javascript_05

(二)性别的显示

在emp.html当中修改性别一列

erp 大连java java erp系统_mysql_06


再次访问emp.html页面

erp 大连java java erp系统_mysql_07

(三)日期格式化

1、查询的时候这样显示显然不对

erp 大连java java erp系统_erp 大连java_08

2、对日期进行格式化引入date.js

erp 大连java java erp系统_erp 大连java_09

// 对Date的扩展,将 Date 转化为指定格式的String   
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,   
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)   
// 例子:   
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423   
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18   
Date.prototype.Format = function(fmt)   
{ //author: meizz   
	if(isNaN(this.getDate()))
	{
		return "";
	}
  var o = {   
    "M+" : this.getMonth()+1,                 //月份   
    "d+" : this.getDate(),                    //日   
    "h+" : this.getHours(),                   //小时   
    "m+" : this.getMinutes(),                 //分   
    "s+" : this.getSeconds(),                 //秒   
    "q+" : Math.floor((this.getMonth()+3)/3), //季度   
    "S"  : this.getMilliseconds()             //毫秒   
  };   
  if(/(y+)/.test(fmt))   
    fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));   
  for(var k in o)   
    if(new RegExp("("+ k +")").test(fmt))   
  fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));   
  return fmt;   
}
3、在emp.html当中引入该js(将上面的JS放入到对应ui文件当中)

erp 大连java java erp系统_spring_10


erp 大连java java erp系统_mysql_11

(四)部门名称的完善

1、修改emp.hbm.xml当中的映射文件

erp 大连java java erp系统_javascript_12

2、 修改Emp,java实体类

erp 大连java java erp系统_spring_13

3、 修改emp.html页面上的内容(给部门加上格式化器)

erp 大连java java erp系统_javascript_14

4、 修改BaseAction的listByPage方法和list方法:DisableCircularReferenceDetect禁用循环引用保护

erp 大连java java erp系统_mysql_15


erp 大连java java erp系统_erp 大连java_16

5、再次访问emp.html:实现

erp 大连java java erp系统_spring_17

(五)员工添加表单编辑

1、设置编辑框的大小crud.js里面设置

erp 大连java java erp系统_erp 大连java_18

2、在emp.html(设置新增按钮编辑的文本框)

将性别改为单选按钮

erp 大连java java erp系统_spring_19

3、在emp.html的添加页面上设置对应的添加功能(设置对应的日期格式)

erp 大连java java erp系统_erp 大连java_20

<td>出生年月日</td>
<td>
	<input name="t.birthday" class="easyui-datebox" editable="false" > 
</td>

erp 大连java java erp系统_erp 大连java_21

4、部门下拉列表的设置(在emp.html当中设置)

erp 大连java java erp系统_mysql_22


从emp当中对应外键的dep当中获取部门列表

<td>部门</td><td><input name="t.dep.uuid" class="easyui-combobox" data-options="
		 url:'dep_list',textField:'name',valueField:'uuid' " > 
</td>

erp 大连java java erp系统_mysql_23

5、设置一些其他属性(添加验证)

(1)在emp.html当中设置对应(验证的属性)

<td>登陆名</td>
<td><input name="t.username" class="easyui-validatebox" data-options="
required:true,missingMessage:'登录名不能为空!' "> 
</td>
<td>邮件地址</td>
<td><input name="t.email"  class="easyui-validatebox" data-options="
required:true,validType:'email',invalidMessage:'Email格式不正确'"> 
</td>

erp 大连java java erp系统_erp 大连java_24


(2)在crud.js当中设置对应(验证的属性)点击保存的时候要验证

错误无法提交

erp 大连java java erp系统_spring_25

//表单验证的时候当所有字段返回true的时候,该方法使用validatebox(验证框架)插件
		var isValid = $('#editForm').form('validate');
		
		if(isValid ==  false ){
			return;
		}
		
		var formdata= $('#editForm').serializeJSON();	
		$.ajax({
			url:name+'_'+method+'.action',
			data:formdata,
			dataType:'json',
			type:'post',
			success:function(value){
				if(value.success){
					$('#editWindow').window('close');
					$('#grid').datagrid('reload');
				}
				$.messager.alert('提示',value.message);				
			}
		});

erp 大连java java erp系统_mysql_26


(3)部门为必填required:true

erp 大连java java erp系统_java_27


erp 大连java java erp系统_erp 大连java_28

6、员工搜索(普通表单的)

(1)修改性别在emp.html当中

erp 大连java java erp系统_java_29


(2)设置对应部门的下拉列表

erp 大连java java erp系统_spring_30


(3)在EmpDao当中设置根据部门查询的条件

erp 大连java java erp系统_mysql_31

// 根据部门查询
if (null != emp1.getDep() && null != emp1.getDep().getUuid()) {
	dc.add(Restrictions.eq("dep", emp1.getDep()));
}

(4)条件查询成功

erp 大连java java erp系统_javascript_32

7、员工搜索(出生年月日)查询指定期间的信息

(1)修改前端emp.html当中的日期

erp 大连java java erp系统_javascript_33

出生年月日:<input name="t1.birthday" class="easyui-datebox" editable="false" > 
-> <input name="t2.birthday" class="easyui-datebox" editable="false" >

(2)修改后端EmpDap当中的条件

erp 大连java java erp系统_erp 大连java_34


(3)查询成功

erp 大连java java erp系统_spring_35

(六)部门关联格式处理

1、点击修改的时候会报错(没有登录名称,真实姓名,性别,以及日期格式错误)

erp 大连java java erp系统_java_36


在BaseAction当中修改get方法

erp 大连java java erp系统_javascript_37


页面成功显示各种信息,但是部门没有显示出来

erp 大连java java erp系统_java_38

2、显示部门信息(修改BaseAction当中的mapJson方法)

erp 大连java java erp系统_java_39

private String mapJson(String jsonString, String prefix) {
		Map<String, Object> map = JSON.parseObject(jsonString);
		Map<String, Object> newmap = new HashMap();
		for (String key : map.keySet()) {
			if (map.get(key) instanceof Map) {// 判断左边的类型是否和右边相同
				// key值进行拼接
				Map<String, Object> m2 = (Map<String, Object>) map.get(key);//将map.get(key)值强制转换为map
				for (String key2 : m2.keySet()) {
					newmap.put(prefix + "." + key + "." + key2, m2.get(key2));
				}
			}else {
				newmap.put(prefix + "." + key, map.get(key));
			}
		}
		return JSON.toJSONString(newmap);
	}

再次运行会自动选择对应的部门

erp 大连java java erp系统_javascript_40