/*
* 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:陈彬彬
* 日 期:2017.03.22
* 描 述:learunISearch 输入搜索框,支持input输入框,数据异步加载,本地查询
*/
(function ($, learun) {
"use strict";
$.lrcustmerquery = {
init: function ($self) {
var dfop = $self[0]._lrcustmerquery.dfop;
$self.parent().append('
');
},
bind: function ($self) {
$self.on('input propertychange', function () {
var $this = $(this);
$.learunisearch.triggerSearch($self);
});
},
triggerSearch: function ($self) {
var dfop = $self[0]._lrcustmerquery.dfop;
var $showPanel = $('#learunisearch_' + dfop.id);
$showPanel.parent().hide();
var _value = $self.val();
if (_value) {
if (!dfop._isload) {
dfop._isSearchneed = true;
}
else {
dfop._first = true;
dfop._value = _value;
dfop._begin = 0;
dfop._end = 100 > dfop.data.length ? dfop.data.length : 100;
if (dfop._isSearched) {
dfop._isSearched = false;
setTimeout(function () {
$.learunisearch.search($self);
});
}
}
}
else {
dfop._isSearchneed = false;
$showPanel.html("");
}
},
search: function ($self) {// 每次搜索100条
var dfop = $self[0]._lrcustmerquery.dfop;
var value = dfop._value;
var begin = dfop._begin;
var end = dfop._end;
var data = dfop.data;
for (var i = begin; i < end; i++) {
var _item = data[i];
if (item[dfop.text].indexOf(value) != -1) {
$.learunisearch.renderNone($self, item[dfop.text]);
}
}
if (end < data.length) {
dfop._begin = end;
dfop._end = end + 100;
if (dfop._end > data.length) {
dfop._end = data.length;
}
setTimeout(function () {
$.learunisearch.search($self);
});
}
else {
dfop._isSearched = true;
}
},
renderNone: function ($self, text) {// 刷新一条数据
var dfop = $self[0]._lrcustmerquery.dfop;
var $showPanel = $('#learunisearch_' + dfop.id);
if (dfop._first) {
dfop._first = false;
$showPanel.html("");
$showPanel.parent().show();
}
$showPanel.append('' + text + '');
}
};
$.fn.lrcustmerquery = function (op) {
var dfop = {
// 默认查询条件项;[{fields:[{name:'',value:'',condition:''}],Formula:'',name:''}]
dfData: [],
// 字段列表[{name:'',value:''}]
Fields: [],
// 所属功能地址url
moduleUrl: '',
// 加载自定义查询地址
url: top.$.rootUrl + '/LR_SystemModule/CustmerQuery/GetList',
// 自定义查询数据
data: [],
// 标记性参数
_isload:false
};
$.extend(dfop, op || {});
var $self = $(this);
dfop.id = $self.attr('id');
if (!dfop.id) {
return false;
}
$self[0]._lrcustmerquery = { "dfop": dfop };
$.lrcustmerquery.init($self);
//加载数据
if (!!dfop.url) {
learun.httpAsync('GET', dfop.url, dfop.param, function (data) {
$self[0]._lrcustmerquery.dfop.data = data || [];
dfop._isload = true;
});
}
return $self;
};
})(jQuery, top.learun);