搭建ERP(功能小模块1)

a、在查询页面不返回密码字段,防止密码破解

1、1在显示字段中去掉password字段,(尽管没有显示出来,但可以利用浏览器的开发者工具查看返回的json数据得到密码。)

                var columns=[[
	  		    {field:'uuid',title:'编号',width:100},
	  		    {field:'username',title:'登陆名',width:100},
	  		    //这里去掉密码字段
	  		    {field:'name',title:'真实姓名',width:100},

1、2在员工类中的密码属性上注入@JSONField(serialize=false),表示对该字段不进行json转换

    private String username;//登陆名
	//不转换json字符串
	@JSONField(serialize=false)
	private String pwd;//登陆密码
	private String name;//真实姓名

b、性别显示(将字段中读出的1和0显示为男和女):利用formater格式化代码

 {field:'gender',title:'性别',width:100,formatter:function(value, row, index){
	  		    	value = row.gender;
	  		    	if(1 == value * 1){
	  		    		return '男';
	  		    	}
	  		    	if(0 == value * 1){
	  		    		return '女';
	  		    	}
	  		    }},

c、将日期格式化为yyyy-mm-dd样式:引入date.js文件并添加格式化器

                {field:'birthday',title:'出生年月日',width:100,formatter:function(value){
	  		    	return new Date(value).Format("yyyy-MM-dd");
	  		    }},

d、部门的正常显示:由于部门是另一张表中的数据,与员工是一对多的关系,所以应该在多的关系映射文件中进行多对一的配置,

<many-to-one name="dep" class="cn.itcast.erp.entity.Dep" column="depuuid"></many-to-one>
 

然后修改员工的实体类,将dep.uid换成dep

    private Dep dep;//部门

	public Dep getDep() {
		return dep;
	}
	public void setDep(Dep dep) {
		this.dep = dep;
	}

在需要显示部门的地方给部门加上格式化器

                 {field:'dep',title:'部门编号',width:100,formatter:function(value){
	  		    	return value.name;
	  		    }},

由于采用的jar包是fastjson,默认对出现的名称只显示一次,fastJSON使用循环引用,要禁用它

//DisableCircularReferenceDetect禁用循环引用保护
		String listString = JSON.toJSONString(mapData, SerializerFeature.DisableCircularReferenceDetect);
		

e、编辑性别单选按钮

    性别:<input name="t1.gender" type="radio" value="">全部 
		<input name="t1.gender" type="radio" value="0">女
		<input name="t1.gender" type="radio" value="1">男
	<br />

f、编辑出生年月日(采用easyUI的样式)

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

g、下拉列表的实现(部门)url:查询地址;textfield:显示的名称;valuefield:实际传入后台的名称

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

h、数据校验(前端验证)

1、不能为空

                <td>登陆名</td><td><input name="t.username" class="easyui-validatebox" data-options="
					required:true,missingMessage:'登陆名不能为空!'
					">
				</td>

2、邮件格式

<td>邮件地址</td><td><input name="t.email" class="easyui-validatebox" data-options="
				required:true,validType:'email',invalidMessage:'Email格式不正确'
				"> </td>

3、必填项(required=true)

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

4、当所有字段都验证完成后才能提交(在crud.js中):

//点击保存按钮
	$('#btnSave').bind('click',function(){
		//做表单字段验证,当所有字段都有效的时候返回true。该方法使用validatebox(验证框)插件。
		var isValid = $('#editForm').form('validate');
		if(isValid == false){
			return;
		}
		var formData = $('#editForm').serializeJSON();
		$.ajax({
			url: name + '_' + method + saveParam,
			data: formData,
			dataType: 'json',
			type: 'post',
			success:function(rtn){
				$.messager.alert("提示",rtn.message,'info',function(){
					//成功的话,我们要关闭窗口
					$('#editDlg').dialog('close');
					//刷新表格数据
					$('#grid').datagrid('reload');
				});
			}
		});
	});

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值