Javaフルスタック開発--- Java ERPシステム開発:ビジネスERP(5)スタッフ管理の改善

従業員管理の改善

(1)ページを照会するときにパスワードを削除します

1.上記で作成したプロジェクトのemp.htmlページにアクセスします

パスワードが公開されている
ここに写真の説明を挿入

表示時にパスワードの表示をブロックする必要があります

2.Emp.javaのerp_entityにコメントを設定します

ここに写真の説明を挿入

3.再度アクセスすると、ログインパスワードが消えます

ここに写真の説明を挿入
emp.htmlのパスワード列を削除して、
ここに写真の説明を挿入
もう一度アクセスしてください
ここに写真の説明を挿入

(2)性別の表示

emp.htmlの性別列を変更し
ここに写真の説明を挿入
、emp.htmlページに再度アクセスします
ここに写真の説明を挿入

(3)日付のフォーマット

1.クエリを実行すると、この表示が明らかに間違っています。

ここに写真の説明を挿入

2.日付をフォーマットし、date.jsを導入します

ここに写真の説明を挿入

// 对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ファイルに入れます)

ここに写真の説明を挿入
ここに写真の説明を挿入

(4)部門名の改善

1.emp.hbm.xmlのマッピングファイルを変更します

ここに写真の説明を挿入

2. Emp、javaエンティティクラスを変更します

ここに写真の説明を挿入

3. emp.htmlページのコンテンツを変更します(部門にフォーマッターを追加します)

ここに写真の説明を挿入

4.BaseActionのlistByPageメソッドとlistメソッドを変更します。DisableCircularReferenceDetect禁用循环引用保护

ここに写真の説明を挿入
ここに写真の説明を挿入

5. emp.htmlに再度アクセスします:実装

ここに写真の説明を挿入

(5)従業員のフォーム編集の追加

1.crud.jsで編集ボックスのサイズを設定します

ここに写真の説明を挿入

2. emp.htmlで(新しいボタンを編集するためのテキストボックスを設定します)

性別をラジオボタンに変更
ここに写真の説明を挿入

3. emp.htmlの追加ページで対応する追加機能を設定します(対応する日付形式を設定します)

ここに写真の説明を挿入

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

ここに写真の説明を挿入

4.部門ドロップダウンリストの設定(emp.htmlで設定)

ここに写真の説明を挿入
empの外部キーに対応する部門から部門リストを取得します

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

ここに写真の説明を挿入

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>

ここに写真の説明を挿入
(2)crud.jsに対応する(検証済みの属性)を設定して、[保存]をクリックしたときに確認します。
エラーは送信できません
ここに写真の説明を挿入

//表单验证的时候当所有字段返回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);				
			}
		});

ここに写真の説明を挿入
(3)部門が必要ですrequired:true
ここに写真の説明を挿入
ここに写真の説明を挿入

6.従業員検索(通常の形式)

(1)emp.htmlで性別を変更します
ここに写真の説明を挿入
(2)対応する部門のドロップダウンリストを
ここに写真の説明を挿入
設定します(3)EmpDaoの部門に従ってクエリ条件を設定します
ここに写真の説明を挿入

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

(4)条件クエリが成功しました
ここに写真の説明を挿入

7.指定された期間の情報を照会するための従業員検索(生年月日)

(1)フロントエンドemp.htmlの日付を変更します
ここに写真の説明を挿入

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

(2)バックエンドEmpDapの条件を変更します
ここに写真の説明を挿入
(3)クエリは成功しますここに写真の説明を挿入

(6)部門関連のフォーマット処理

1.クリックして変更するとエラーが報告されます(ログイン名、本名、性別、日付形式のエラーはありません)

ここに写真の説明を挿入
BaseActionのgetメソッドを変更
ここに写真の説明を挿入
しますページにはさまざまな情報が正常に表示されますが、部門には表示されません。
ここに写真の説明を挿入

2.部門情報を表示します(BaseActionのmapJsonメソッドを変更します)

ここに写真の説明を挿入

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);
	}

再度実行すると、対応する部門が自動的に選択されます
ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/qq_44757034/article/details/109243260