/*
* 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:陈彬彬
* 日 期:2018.04.09
* 描 述:弹层选择控件
*/
(function ($, learun) {
"use strict";
$.lrlayerselect = {
init: function ($self) {
var dfop = $self[0].dfop;
$self.addClass('lr-layerselect');
$self.attr('type', 'lrlayerselect');
var $input = $('' + dfop.placeholder + '
清空
');
$self.on('click', $.lrlayerselect.click);
$self.html($input);
},
click: function (e) {
var $self = $(this);
var dfop = $self[0].dfop;
var et = e.target || e.srcElement;
var $et = $(et);
if ($et.hasClass('clear-btn')) {
dfop._itemValue = { value: "", text: dfop.placeholder };
$self.removeClass('selected');
$self.find('span').text(dfop._itemValue.text);
if (!!dfop.select) {
dfop.select(dfop._itemValue);
}
}
else {
var value = dfop._itemValue ? dfop._itemValue.value : "";
var _url = top.$.rootUrl + '/Utility/TreeSelectIndex?dfopid=' + dfop.id + '&selectValue=' + value;
top.lrlayerSelect = top.lrlayerSelect || {};
top.lrlayerSelect[dfop.id] = dfop;
learun.layerForm({
id: dfop.id,
title: dfop.placeholder,
url: _url,
width: 800,
height: 520,
maxmin: true,
callBack: function (id) {
return top[id].acceptClick($.lrlayerselect.callback);
}
});
}
},
callback: function (data, id) {
var $self = $('#' + id);
var op = $self[0].dfop;
var _value = [];
var _text = [];
$.each(data, function (_index, _item) {
_value.push(_index);
_text.push(_item);
});
op.select && op.select(_value, _text);
//if (op._value != String(_value)) {
// op.select && op.select(_value, _text);
//}
op._value = String(_value);
op._text = String(_text);
if (op._value == '') {
op._text = '';
$self.removeClass('selected');
$self.find('span').text(op.placeholder);
}
else {
$self.addClass('selected');
$self.find('span').text(op._text);
}
}
};
$.fn.lrlayerselect = function (op) {
var dfop = {
placeholder: "请选择",
icon: 'fa-plus',
treeCode: '',
treeUrl: '',
treeParentId: '',
treeValueId: '',
treeTextId: '',
dataCode: '',
dataUrl: '',
dataTreeId: '',
dataValueId:'',
dataTextId:'',
grid: [],
isMultiple: true,
select: false, // 选择事件
_value: '',
_text: '',
unknowselect:false//未登记在册资产点击事件
};
$.extend(dfop, op || {});
var $self = $(this);
dfop.id = $self.attr('id');
if (!dfop.id) {
return false;
}
if (!!$self[0].dfop) {
return $self;
}
$self[0].dfop = dfop
$.lrlayerselect.init($self);
return $self;
};
$.fn.lrlayerselectGet = function () {
var $self = $(this);
return $self[0].dfop._value;
};
$.fn.lrlayerselectSet = function (value) {
var $self = $(this);
var op = $self[0].dfop;
if (value == '') {
op._value = '';
op._text = '';
$self.removeClass('selected');
$self.find('span').text(dfop.placeholder);
op.select && op.select([],[]);
return;
}
if (value != undefined && value != null) {
op._value = value;
var values = value.split(',');
var valueMap = {};
$.each(values, function (_index,_item) {
valueMap[_item] = '1';
});
learun.clientdata.getAllAsync('sourceData', {
code: op.dataCode,
callback: function (_data) {
var _text = [];
$.each(_data, function (_index, _item) {
if (valueMap[_item[op.dataValueId]]) {
_text.push(_item[op.dataTextId]);
}
});
op._text = String(_text);
op.select && op.select(values, _text);
$self.addClass('selected');
$self.find('span').text(op._text);
}
});
}
};
})(window.jQuery, top.learun);