layui.define(['layer'],function(exports){ /** * stand类型参照 * wangting@2021-3-29 */ var ReferStand = function(){ this.defaultConfig = { valueField:'oid',//值的字段 textField:'name'//显示的字段 }; }; ReferStand.prototype.init = function(options){ }; ReferStand.prototype.showReferDialog = function (referConfig){ var filter = referConfig.filter, name = referConfig.name, title = referConfig.title, valueInfo = ($webUtil.isNotNull(referConfig.text)?("已设置的值为[" +referConfig.text +"]"):'未设置值'), isMuti = referConfig.isMuti, target = referConfig.target, value = referConfig.value, text = referConfig.text; if(filter.indexOf('.')>-1){ filter=filter.split('.')[0]+'-'+filter.split('.')[1]; } if(name.indexOf('.')>-1){ name=name.split('.')[0]+'-'+name.split('.')[1]; } var me = this; if(!referConfig.options){ referConfig.options={ width:1000, height:625 } }else{ $.extend(referConfig.options, { width:1000, height:625 }); } if(referConfig.options.referContent.indexOf('?')!=-1){ var params=referConfig.options.referContent.split('?')[1].split('&'); referConfig.options.referContent=referConfig.options.referContent.split('?')[0]; for (var pi=0;pi', newUI.getContent(name), ''] var referIndex = layer.open({ type: 1, title: title, //skin: 'layui-layer-lan', content: content.join(''), maxWidth: $(window).width() - 100, maxHeight: $(window).height() - 200, shade: true, shadeClose: true, resize: true, btn: ['确定', '取消'], area:[referConfig.options.width+'px',referConfig.options.height+'px'], btnBefore:valueInfo, closeBtn: 1, resizing: function (layero) { }, success: function (layero) { newUI.init(name, { btmType: referConfig.options.referType, content: referConfig.options.referContent }) me.setConfig(filter,name,referConfig.options); }, yes: function (layero) { var selectData = newUI.config[name].checkedData['westAreas']; if (newUI.config[name].checkedData['centerAreas'].length > 0) { selectData = newUI.config[name].checkedData['centerAreas']; } else if (newUI.config[name].checkedData['southAreas'].length > 0) { selectData = newUI.config[name].checkedData['southAreas']; } if(selectData.length<1){ $webUtil.showErrorMsg("请选择数据"); return false; } var selectValue = me.getSelectValue(filter,selectData, isMuti); if (selectValue) { target.setValue(filter, name, selectValue.value, selectValue.rawValue, true, selectValue.allValues); layer.close(referIndex); } } }); }); }; ReferStand.prototype.setConfig=function(filter,name,options){ var that = this; if(!that.referConfig){ that.referConfig = {}; } that.referConfig[filter] = options; }; ReferStand.prototype.getConfig=function(filter){ var that = this; if(!that.referConfig){ that.referConfig = {}; } if(filter in that.referConfig){ return that.referConfig[filter]; } }; ReferStand.prototype.getSelectValue = function(filter,checkStatus,isMuti){ var that = this; var config = that.getConfig(filter); var selectValue = {}; if(checkStatus.length>0){ if(!isMuti && checkStatus.length>1){ $webUtil.showErrorMsg("每次只能选择一条数据"); return false; } var value = ""; var rawValue = ""; config.valueField = config.valueField?config.valueField:that.defaultConfig.valueField; config.textField = config.textField?config.textField:that.defaultConfig.textField; var isMutiValue = (config.valueField.indexOf(",")>-1); var isMutiRaw = (config.textField.indexOf(",")>-1); layui.each(checkStatus,function(_index,item){ if(isMutiValue){ var valueFieldArray = config.valueField.split(","); layui.each(valueFieldArray,function(_indexField,_itemField){ value += item[_itemField] + (config.valueSep?config.valueSep:' '); }); value+= ","; }else { value += item[config.valueField] + ","; } if(isMutiRaw) { var rawFieldArray = config.textField.split(","); layui.each(rawFieldArray,function(_indexField,_itemField){ rawValue += item[_itemField] + (config.textSep?config.textSep:' '); }); rawValue+= ","; }else{ rawValue += item[config.textField] + ","; } }); if($webUtil.endWith(value,",")){ value = value.substring(0,value.length - 1); } if($webUtil.endWith(rawValue,",")){ rawValue = rawValue.substring(0,rawValue.length -1); } selectValue = { value : value, rawValue : rawValue, allValues: checkStatus }; return selectValue; }else{ return false; } }; ReferStand.prototype.doResize = function(filter,name){ }; ReferStand.prototype.destory = function(filter,name){ //销毁 var that = this; if($('#referStand_' + filter )){ $('#referStand_' + filter ).remove(); } if(!that.referConfig){ that.referConfig = {}; } if((filter ) in that.referConfig){ delete that.referConfig[filter]; } }; var rg = new ReferStand(); exports('vciWebReferStand',rg); });