/** * 用户参照的基础页面 * @author weidy * @date 2020-12-21 */ layui.define(['layer','element','form','table'],function(exports){ var Class = function(){ this.MODELNAME = "refer/SmUserReferBase"; this.moduleKey = "SmUserReferBase"; this.backPath = (configData.compatibility?path:configData.frameworkPath); 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:true,//是否有常用用户 displayType:[this.displayType.departUser,this.displayType.roleUser],//默认显示的是部门和角色与用户 textField:'name', valueField:'oid' }; /** * 直接显示选择的对话框,这个经常在点击按钮后的功能里使用 * @param options 配置的信息,包含如下属性 * filter ,标识 * name ,标识名称 * favUser:false, 是否显示常用用户,默认为true * displayType:显示选项卡,[userRefer.displayType.roleUser,userRefer.displayType.departUser,userRefer.displayType.workTypeUser,userRefer.displayType.dutyUser], * setValue:function (filter,name,value,rawValue,isClose,allSelectValues) {} 设置值的回调 * @returns 窗口的索引号 */ this.viewUserInDialog = function (options) { //在对话框中选择用户 var that = this; 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); var filter = options.filter; var name = options.name; var valueInfo = ($webUtil.isNotNull(options.text)?("已设置的值为[" +options.text +"]"):'未设置值'); var referIndex = $webUtil.dialog({ title:(options.title?options.title:'请选择用户'), btn:['确定','取消'], content:'
', area:[(($webUtil.isNotNull(options.width) && options.width*1>1) ?options.width*1 : 1050) +'px', (($webUtil.isNotNull(options.height) && options.height*1>1) ?options.height*1 : 670) + 'px'], 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); } }, success:function(layero){ that.showGrid(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.showGrid =function (filter,name,options) { //显示 var that = this; that.setConfig(filter,name,options); var contentFilter = filter + "_" + name; var typeHtml=['