username@email.com
2021-06-03 63bcf5d37da46e954caab6eebf7df64498e1c18e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
(function ($, zou) {
    "use strict";
    $.lrcustmerquery = {
        init: function ($self) {
            var dfop = $self[0]._lrcustmerquery.dfop;
            $self.parent().append('<div class="z-isearch-panel"  style="max-height:' + dfop.maxHeight + 'px;" ><ul id="zouisearch_' + dfop.id + '" ></ul></div>');
        },
        bind: function ($self) {
            $self.on('input propertychange', function () {
                var $this = $(this);
                $.zouisearch.triggerSearch($self);
            });
        },
        triggerSearch: function ($self) {
            var dfop = $self[0]._lrcustmerquery.dfop;
            var $showPanel = $('#zouisearch_' + 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 () {
                            $.zouisearch.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) {
                    $.zouisearch.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 () {
                    $.zouisearch.search($self);
                });
            }
            else {
                dfop._isSearched = true;
            }
        },
        renderNone: function ($self, text) {// 刷新一条数据
            var dfop = $self[0]._lrcustmerquery.dfop;
            var $showPanel = $('#zouisearch_' + dfop.id);
            if (dfop._first) {
                dfop._first = false;
                $showPanel.html("");
                $showPanel.parent().show();
            }
            $showPanel.append('<li>' + text + '</li>');
        }
    };
 
    $.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) {
            zou.httpAsync('GET', dfop.url, dfop.param, function (data) {
                $self[0]._lrcustmerquery.dfop.data = data || [];
                dfop._isload = true;
            });
        }
        return $self;
    };
})(jQuery, top.zou);