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<params.length;pi++){
|
try {
|
referConfig.options[params.split('=')[0]]=params.split('=')[1]
|
}catch (e) {}
|
}
|
}
|
//展示UI上下文
|
layui.use('platform/objectService/VciUIContentViewer', function () {
|
var newUI = layui['platform/objectService/VciUIContentViewer'];
|
newUI.id = name;
|
newUI.sourceData=null;
|
newUI.actionData=null;
|
var content = ['<div id="referStand_', filter, '" lay-filter="referStand_', filter, '" style="margin:15px 20px;" >', newUI.getContent(name), '</div>']
|
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);
|
});
|