/** * 用户穿梭框的参照页面 * @author wangting * @date 2022-1-17 */ layui.define(['layer','element','transfer'],function(exports){ var Class = function(){ this.MODELNAME = "process/vciWebUserTransferRefer"; this.moduleKey = "vciWebUserTransferRefer"; this.url = { controller:'smUserController/', dataGrid:'userQueryController/refDataGrid' }; this.displayType = { roleUser:'roleUser', departUser:'departUser', workTypeUser:'workTypeUser', dutyUser:'dutyUser' }; this.displayTypeTitle = { roleUser:{ title:'角色', url:'roleQueryController/refTree', queryField:'pkRole', queryUserUrl:'userQueryController/refDataGridByPkRole' }, departUser:{ title:'部门', url:'departmentQueryController/refTree', queryField:'pkDepartment', queryUserUrl:'userQueryController/refDataGridByPkDepartment' }, workTypeUser:{ title:'工种', url:'smWorkTypeController/refTree', queryField:'pkWorktype', queryUserUrl:'userQueryController/refDataGridByPkWorktype' }, dutyUser:{ title:'职务', url:'dutyQueryController/refTree', queryField:'pkDuty', queryUserUrl:'userQueryController/refDataGridByPkDuty' } }; this.defaultConfig = { favUser:false,//是否有常用用户 displayType:[this.displayType.departUser,this.displayType.roleUser],//默认显示的是部门和角色与用户 textField:'name', valueField:'id' }; /** * 直接显示选择的对话框,这个经常在点击按钮后的功能里使用 * @param options 配置的信息,包含如下属性 * filter ,标识 * name ,标识名称 * favUser:false, 是否显示常用用户,默认为false * displayType:显示选项卡,[userRefer.displayType.roleUser,userRefer.displayType.departUser,userRefer.displayType.workTypeUser,userRefer.displayType.dutyUser], * setValue:function (filter,name,value,rawValue,isClose,allSelectValues) {} 设置值的回调 * @returns 窗口的索引号 */ this.showReferDialog = function (options) { //在对话框中选择用户 var that = this; if(options.displayTypeTitle){ that.displayTypeTitle=options.displayTypeTitle; } options = $.extend(that.defaultConfig,options); options.userUrl = $webUtil.getValueFromObj(options,['url','referUrl'],that.url.dataGrid); options.textField = $webUtil.getValueFromObj(options,['textField'],that.defaultConfig.textField); options.valueField = $webUtil.getValueFromObj(options,['valueField'],that.defaultConfig.valueField); options.setValue = function (filter,name,value,rawValue,isClose,selectRecords){ options.target.setValue(filter,name,value,rawValue,isClose,selectRecords); } var filter = options.filter; var name = options.name; var valueInfo = ($webUtil.isNotNull(options.text)?("已设置的值为[" +options.text +"]"):'未设置值'); var area=[(($webUtil.isNotNull(options.width) && options.width*1>1) ?options.width*1 :( (options.favUser||(options.displayType && options.displayType.length>0))?1050:700)) +'px', (($webUtil.isNotNull(options.height) && options.height*1>1) ?options.height*1 : 620) + 'px'] var referIndex = $webUtil.dialog({ title:(options.title?options.title:'请选择用户'), btn:['确定','取消'], content:'
', area:area, btnBefore:valueInfo, yes:function(index,layero){ var selectValue = that.getSelectValue(filter,name); if(selectValue){ options.setValue(filter,name,selectValue.value,selectValue.rawValue,true,selectValue.allValues); layer.close(referIndex); }else { $webUtil.showErrorMsg("请选择用户"); } }, success:function(layero){ that.showTransfer(filter,name,options); } }); return referIndex; }; this.setConfig=function(filter,name,options){ var that = this; if(!that.referConfig){ that.referConfig = {}; } that.referConfig[filter + "_" + name] = options; }; this.getConfig=function(filter,name){ var that = this; if(!that.referConfig){ that.referConfig = {}; } if((filter + "_" + name) in that.referConfig){ return that.referConfig[filter + "_" + name]; } }; this.showTransfer =function (filter,name,options) { //显示 var that = this; that.setConfig(filter,name,options); var contentFilter = filter + "_" + name; if(options.favUser||(options.displayType && options.displayType.length>0)){ var typeHtml=['