欢迎使用普元产品知识库,本知识库包含普元应用开发平台EOSPlatform,流程平台BPS,企业服务总线ESB,微服务平台Microservice,运维管理平台Devops,数据集成平台DI
欢迎使用普元文档库
项目实现部门用户单选及复选页面,并且页面中校验用户是否重复的js案例:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" session="false" %> < %@page import="com.eos.data.datacontext.UserObject"%> < !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> < html> < !-- - Author(s): niubq - Date: 2016-05-17 10:16:52 - Description: --> < % String doctype=request.getParameter("doctype"); String documentid=request.getParameter("documentid"); String processInsId=request.getParameter("processInsId"); String activityName = request.getParameter("activityName"); String orgid = request.getParameter("orgid"); if(orgid==null){ orgid=""; } UserObject leftUserObject=(UserObject)request.getSession().getAttribute("userObject"); String createrName = leftUserObject.getUserRealName(); String createUserId = leftUserObject.getUserId(); %> < head> < title>公文分发</title> < meta http-equiv="content-type" content="text/html; charset=UTF-8" /> < script src="<%=request.getContextPath() %>/common/nui/nui.js" type="text/javascript"></script> < /head> < body> < table> < tr> < td>备注说明:</td> < td> <input width="400px" name="remark" cols="60" rows="5" promptName="备注说明"></textarea> < /td> < /tr> < /table> < TABLE width="100%" align="center"> < tr bgColor=#eef4ff> < td width="100%"> < /td> < /tr> < tr> < td width="50%">选择接收人员 <input name="alluser" onclick="_chooseAlluser(this.checked,1)">全选 < % if(!(activityName.equals("会签")||activityName.equals("传阅领导"))){%>< input id="comboDept" textField="ORGNAME" valueField="ORGID" dataField="org" url="com.hkr.hydro.hrm.organization.organization.impl.selectOrganiztion.queryOrganization.biz.ext?orgid=<%=orgid %>" onvaluechanged="onSelectionChanged" emptyText="请选择部门" value="<%=orgid %>" showNullItem="true" />< %} %> < /td> < /tr> < tr bgColor=#FFFFFF> < % if(activityName.equals("会签")) {%>< %} else if(activityName.equals("传阅领导")) {%>< td width="100%" align="left">< div id="leader_grid" style="width:100%;height:230px;" dataField="ld" multiSelect="true" showPager="false" url="com.hkr.hydro.hrm.organization.organization.impl.selectOrganiztion.queryOrgLd.biz.ext">< div property="columns">< div type="indexcolumn"></div>< div type="checkcolumn"></div>< div field="receiveuserid" headerAlign="left" visible="false">empid</div>< div field="EMPNAME" headerAlign="left" >部门人员姓名</div>< div field="ORGNAME" headerAlign="left" >单位名称</div>< /div>< /div>< /td>< %} else {%>< td width="100%" align="left">< div id="user_grid" style="width:100%;height:190px;" dataField="userinfo" multiSelect="true" showPager="false" url="com.hkr.hydro.hrm.organization.organization.impl.selectOrganiztion.queryOrgUser.biz.ext" onrowclick="onrowclick">< div property="columns">< div type="indexcolumn"></div>< div field="receiveuserid" headerAlign="left" visible="false">empid</div>< div field="EMPNAME" headerAlign="left" >部门人员姓名</div>< div field="ORGNAME" headerAlign="left" >单位名称</div>< div field="checkcolumn" width="30" headerAlign="center" align="center" renderer="showcheckbox" >< input id="ck" type="checkbox" onClick="selectall(this)">< /div>< /div>< /div>< div style="width:100%;" id="showuser">< label>已选择:</label>< input id="selectUsers" style="width:100%;height:60px" value="" text="" valueField="id" textField="text" allowInput="false"/>< /div>< /td>< %} %> < /tr> < /table> < TABLE width="100%" align="center" > < TR> < td align=center style="text-align:center;"> < input type="button" name="button" text="发送" onClick="_docSend()"> < input type="reset" name="Submit2" text="关闭" onClick="CloseWindow('')"> < /td> < /TR> < /TABLE> < script type="text/javascript"> nui.parse(); var user_grid = nui.get("user_grid"); var leader_grid = nui.get("leader_grid"); var selectUserObj=new nui.get("selectUsers"); var _selectVal = new Array(); if(user_grid){ user_grid.load(); } (function (){ if(leader_grid) leader_grid.load(); //user_grid.load(); user_grid.load( { orgid:'<%=orgid %>' } , function(){ _chooseAlluser(nui.getbyName("alluser").checked,0); },function(){ nui.alert("数据加载失败"); }); })(); function onSelectionChanged(e) { var combo = e.sender; var orgid = combo.getValue(); if (orgid) { user_grid.load( { orgid: orgid } , function(){ //_chooseAlluser(nui.getbyName("alluser").checked,0); },function(){ nui.alert("数据加载失败"); }); }else{ user_grid.clearRows(); } } selectUserObj.on("valuechanged", onValueChanged); function onValueChanged(e){ var _data = user_grid.getData() ; var _isExist ; $.each(_data ,function(_index,record) { _isExist = isUserSelectExist(record.empid) ; if(_isExist){ $("#chk_" + record.empid).attr("checked" ,'true') ; }else{ $("#chk_" + record.empid).removeAttr("checked"); } }); //结果集合内删除被用户点击的取消的记录 var valArray = selectUserObj.getValue().split(",") ; $.each(_selectVal ,function(_index,record) { var empid = record.data.empid ; if (empid!= valArray[_index]) { _selectVal.splice(_index ,1) ; return false ; } }); } function onrowclick(e){ //debugger; var record = e.record; var checked = $("#chk_" + record.receiveuserid).attr("checked"); if(checked){ $("#chk_" + record.receiveuserid).removeAttr("checked"); }else{ $("#chk_" + record.receiveuserid).attr("checked" ,'true') ; } checkboxChange("#chk_" + record.receiveuserid) ; } function showcheckbox(e){ var record=e.record; //判断是否在结果集中 // debugger; var checkstr = isUserSelectExist(record.receiveuserid) ? " checked" : "" ; return '<input id="chk_'record.receiveuserid'" type="checkbox" targetName="'+record.EMPNAME +'" empid="' + record.receiveuserid + '" name="useselect" ' + checkstr + ' onClick="chkClick(this)">'; } function chkClick(obj){ obj.checked=!obj.checked; } function selectall(obj){ var chks=$('input[id^="chk_"]'); if(obj.checked){ for(var i=0;i<chks.length;i++){ chks[i].checked=true; checkboxChange(chks[i]) ; } } else { for(var i=0;i<chks.length;i++){ chks[i].checked=false; checkboxChange(chks[i]) ; } } //obj.checked=!obj.checked; } /** * 判断该用户是否已经被选中 */ function isUserSelectExist( val ){ //debugger; var _selectuser_val = selectUserObj.getValue() ; var _selectArray = _selectuser_val.split(",") ; var _index = $.inArray(val+"",_selectArray) ; return _index < 0 ? false : true ; } function checkboxChange(obj) { var targetName = $(obj).attr("targetName"); var checked = $(obj).attr("checked"); var empid = $(obj).attr("empid"); if(checked){ addSelectUser(targetName ,empid) ; }else{ removeSelectUser(empid); } } function addSelectUser(name,val) { var _selectuser_val = selectUserObj.getValue() ; var _selectuser_name = selectUserObj.getText() ; var _selectArray = _selectuser_val.split(",") ; var _index=$.inArray(val,_selectArray) ; var seprator = _selectuser_val=="" ?"" : ","; if(_index < 0){ _selectuser_val = _selectuser_val + seprator + val ; _selectuser_name = _selectuser_name + seprator+name ; selectUserObj.setValue(_selectuser_val) ; selectUserObj.setText(_selectuser_name) ; _selectVal.push(getEmpVal(val,name)) ; } } function getEmpVal(v_empid,v_username) { return {EMPNAME:v_username,receiveuserid:v_empid} ; } function removeSelectUser(val) { var _selectuser_val = selectUserObj.getValue(); var _selectuser_name = selectUserObj.getText(); var _selectArray = _selectuser_val.split(",") ; var _nameArray = _selectuser_name.split(",") ; var _index = $.inArray(val,_selectArray) ; if(_index >= 0){ _selectArray.splice(_index , 1) ; _nameArray.splice(_index , 1) ; _selectVal.splice(_index ,1) ; } selectUserObj.setValue(_selectArray.join(",")) ; selectUserObj.setText(_nameArray.join(",")) ; } var allMemebers=[]; function _chooseAlluser(obj){ if(obj){ $.ajax({ url:"com.hkr.hydro.hrm.organization.organization.impl.selectOrganiztion.queryAllUsers.biz.ext", type:"post", data:[], cache:false, async:false, contentType:'text/json', success:function(text){ var returnJson = nui.decode(text); allMemebers=returnJson.data; }, error:function(){ } }); } } function _docSend(){ var remark=nui.getbyName("remark").getValue(); var row; var orgid =""; if('<%=activityName %>'=='传阅领导'){ row=leader_grid.getSelecteds(); }else if('<%=activityName %>'=='传阅处室'){ //row=user_grid.getSelecteds(); row=_selectVal; if(nui.getbyName("alluser").checked){ row=allMemebers; orgid=""; }else{ //orgid= combo.getValue(); } } // var data= {docDelivers:row,remark:remark,doctype:'<%=doctype %>',senduserid:'<%=createUserId %>',documentid:'<%=documentid %>',orgid:orgid} ; var data= {docDelivers:row,remark:remark,doctype:'<%=doctype %>',senduserid:'<%=createUserId %>',documentid:'<%=documentid %>'} ; var json=nui.encode(data); $.ajax({ url:"com.hkr.hydro.oa.docdeliverbiz.batchAddDocDeliver.biz.ext", type:"post", data:json, cache:false, async:false, contentType:'text/json', success:function(data){ nui.alert("分发成功","提示",function(){ CloseWindow(""); }) }, error:function(){ } }); } //关闭窗口 function CloseWindow(action) { if (window.CloseOwnerWindow) { return window.CloseOwnerWindow(action); } else { window.close(); } } < /script> < /body> < /html>