username@email.com
2021-06-21 83280d90d12545d36a301c437c7d9095f190aac3
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
//数据初始定义
$.jgrid.defaults.width = 780;
$.jgrid.defaults.styleUI = 'Bootstrap';
var loseherght = 0;
var dataCol = [];//数据列   标准jqgrid colModel  额外附加属性  sumtype: "sum", sumtxt:"<b style='color:Red' >类型:{0}</b>"
var searchCol = [];//查询列
//参数配置   multiselect 是否出现多选  selectcol 多选获取的值 默认id,
//获取方式:GetGridSelect() 值结果 1,2,3 注意不管是否中文 都无引号 例如 :春,夏,秋,东
var gridConfig = { multiselect: false, selectcol: "id" };
 
//txt date datetime datearea chechbox ,combox 参考
//searchCol = [
//    { label: '商品编号', name: 'Productcode', labtype: 'txt', ismust: true },
//    { label: '商品名称', name: 'Productname', labtype: 'txt' },
//    { label: '创建日期', name: 'Adddate', labtype: 'date' },
//    { label: '类型选择', name: 'Selecttype', labtype: 'combox', data: [{ code: 5, label: '春天' }, { code: 6, label: '夏天' }, { code: 7, label: '秋天' }] },
//    { label: '会计周期', name: 'Firadate', labtype: 'datearea' },
//    { label: '是否打折', name: 'Ispdata', labtype: 'chechbox' }
//];
 
//formatter: function (cellvalue, options, rowObject) {
//    if (cellvalue == '0') return "<img onclick='imgClick(\"" + options.rowId +"\",0)' src='../../Content/Images/Icon16/accept.png'/>";
//    if (cellvalue == '1') return "<img onclick='imgClick(\"" + options.rowId + "\",0)' src='../../Content/Images/Icon16/cross_shield.png'/>";
//},
 
var dataUrl = "";//地址
var lastSearch = [];
$(function () {
    //layer.config({
    //    extend: ['/js/plugins/layer/skin/espresso/style.css'], //加载新皮肤
    //    skin: 'layer-ext-espresso' //一旦设定,所有弹层风格都采用此主题。
    //});
    $(window).resize(function () {
        doResize();
    });
});
function doResize() {
    //var w = $(document.body).width();
    var h = document.body.offsetHeight;
    //console.log("宽度:" + w + " 高度:" + h + "|" + $("#topzone").width());
    $("#jqGrid").jqGrid('setGridWidth', $("#topzone").width() - 0);
    $("#jqGrid").jqGrid('setGridHeight', h - 180 - loseherght);
}
 
 
 
 
 
function _pageSearch() {
    var jsons = GetSearchEnd();
    if (jsons == false) {
        msg.info("请录入查询条件");
        return false;
    }
    LoadGrid(jsons);
}
 
 
function getFrame() {
    // 获取当前iframe的 src
    var url = location.href;
    var _url = url.split("/");
 
    //获取父页面的所有iframe
    var eles = top.document.getElementsByTagName("iframe");
 
    //循环所有iframe
    for (var i = 0 ; i < eles.length; i++) {
        var ele = eles[i];
        var iframeUrl = ele.src;
        var _iframeUrl = iframeUrl.split("/");
        //获取当前页面的iframe
        if (_url[_url.length - 1] == _iframeUrl[_iframeUrl.length - 1]) {
            return ele;
        }
        var celes = eles[i].contentWindow.document.getElementsByTagName("iframe");
        if (celes.length > 0) {
            for (var j = 0; j < celes.length; j++) {
                var cele = celes[j];
                var ciframeUrl = cele.src;
                var _ciframeUrl = ciframeUrl.split("/");
                //获取当前页面的iframe
                if (_url[_url.length - 1] == _ciframeUrl[_ciframeUrl.length - 1]) {
                    return cele;
                }
            }
        }
    }
}
 
//深度克隆
function deepClone(obj) {
    var result, oClass = isClass(obj);
    //确定result的类型
    if (oClass === "Object") {
        result = {};
    } else if (oClass === "Array") {
        result = [];
    } else {
        return obj;
    }
    for (key in obj) {
        var copy = obj[key];
        if (isClass(copy) == "Object") {
            result[key] = arguments.callee(copy);//递归调用
        } else if (isClass(copy) == "Array") {
            result[key] = arguments.callee(copy);
        } else {
            result[key] = obj[key];
        }
    }
    return result;
}
//返回传递给他的任意对象的类
function isClass(o) {
    if (o === null) return "Null";
    if (o === undefined) return "Undefined";
    return Object.prototype.toString.call(o).slice(8, -1);
}
 
function _pageSearchMoren() {
    var cars = ["查询", "取消"];
    var cols = deepClone(searchCol);
    $.each(cols, function (i, e) {
        if (e.labtype == "combox") {
            cols[i].data = "";
        }
    });
    debugger;
    var iframename = $(getFrame()).attr("name");
    var url = "/Content/SearchComm.html?data=" + encodeURI(JSON.stringify(cols)) + "&lastsearch=" + encodeURI(JSON.stringify(lastSearch)) + "&framename=" + iframename;
    dlog.open("查询条件", cars, "sm", url,
        function (res) {
 
            LoadGrid(res);
        },
    function () {
 
 
    },
    function () {
 
 
        return false;
    },
        function () {
 
            return false;
        }
 );
}
function LoadGrid(jdata) {
 
    var postData = $('#jqGrid').jqGrid("getGridParam", "postData");
    $.each(lastSearch, function (k, v) {
        delete postData[k];
    });
    lastSearch = jdata;
    //   alert(JSON.stringify(jdata));
    //  $('#jqGrid').jqGrid('clearGridData');
 
    $.extend(jdata, { totalrows: 0 });
 
    $("#jqGrid").jqGrid('setGridParam', {
        postData: jdata, page: 1
    }); //重新载入
    $("#jqGrid").trigger("reloadGrid");
    // $("#jqGrid").trigger("reloadGrid");
 
    toSetTooBarVal();
 
}
function ReloadGrid() {
    $("#jqGrid").trigger("reloadGrid");
}
$(document).ready(function () {
 
    //页面查询按钮及查询条件加载
    $("#jqGrid").jqGrid({
        url: dataUrl,
        mtype: "POST",
        datatype: "json",
        colModel: dataCol,
        viewrecords: true, // show the current page, data rang and total records on the toolbar
        width: 780,
        height: 200,
        loadonce: false,
        pager: "#jqGridPager",
        footerrow: true,
        rownumbers: true,
 
        rowNum: 30,
        rowList: [30, 50, 100],
        cmTemplate: { sortable: false },
        jsonReader: {
            root: "DataList", page: "CurrPage", total: "PageTotal",          //   很重要 定义了 后台分页参数的名字。
            records: "Records", repeatitems: false, id: gridConfig.selectcol
        },
        prmNames: {
            //page:"page",    // 表示请求页码的参数名称  
            //rows:"rows",    // 表示请求行数的参数名称  
            //sort: "sidx", // 表示用于排序的列名的参数名称  
            //order: "sord", // 表示采用的排序方式的参数名称  
            //search:"_search", // 表示是否是搜索请求的参数名称  
            //nd:"nd", // 表示已经发送请求的次数的参数名称  
            //id:"id", // 表示当在编辑数据模块中发送数据时,使用的id的名称  
            //oper:"oper",    // operation参数名称(我暂时还没用到)  
            //editoper:"edit", // 当在edit模式中提交数据时,操作的名称  
            //addoper:"add", // 当在add模式中提交数据时,操作的名称  
            //deloper:"del", // 当在delete模式中提交数据时,操作的名称  
            //subgridid:"id", // 当点击以载入数据到子表时,传递的数据名称  
            //npage: null,   
            totalrows: "Records" // 表示需从Server得到总共多少行数据的参数名称,参见jqGrid选项中的rowTotal  
        },
        gridComplete: completeMethod,
        multiselect: gridConfig.multiselect
          , beforeRequest: BeforeRequest
    });
 
    //$("#jqGrid").jqGrid('setGroupHeaders', {
    //    useColSpanStyle: true,
    //    groupHeaders: [
    //        { startColumnName: 'jibensalaryName', numberOfColumns: 3, titleText: '薪资待遇' }
    //    ]
    //});
    jQuery("#jqGrid").jqGrid('navGrid', "#jqGridPager", { edit: false, add: false, del: false, search: false, refresh: true });
    doResize();
});
function BeforeRequest() {
 
 
    var ischeck = true;
    if (typeof (_beforeSearch) === "function") {
        ischeck = _beforeSearch();
        if (!ischeck) {
            return false;
 
        }
    }
 
    if (!isfirst) {
        return;
    }
    var jsons = GetSearchEnd();
    if (jsons == undefined || jsons == false || jsons.length == 0) {
 
        return;
    }
 
    $.extend(jsons, { totalrows: 0 });
 
    $("#jqGrid").jqGrid('setGridParam', {
        postData: jsons, page: 1
    }); //重新载入
}
function GetGridSelect() {
 
    return jQuery('#jqGrid').jqGrid('getGridParam', 'selarrrow');
}
 
var isfirst = true;
function completeMethod() {
 
    isfirst = false;
    var recordsno = $('#jqGrid').getGridParam('records');
    var postData = $('#jqGrid').jqGrid("getGridParam", "postData");
    $.extend(postData, { totalrows: recordsno });
 
 
    $(".J_menuItem").on("click", appendTab);
    //sumtype: "sum", sumtxt:"<b>类型:{0}</b>"
    var sumstr = "";
    $.each(dataCol, function (index, item) {
 
        if (item.sumtype != undefined) {
            if (item.sumtype == "sum") {
                var htmlinfo = "";
                var sum_amount = $("#jqGrid").getCol(item.name, false, 'sum');
                if (item.sumtxt != undefined && item.sumtxt.indexOf('{0}' > -1)) {
 
                    htmlinfo = item.sumtxt.replace("{0}", sum_amount);
                }
                else {
                    htmlinfo = sum_amount;
                }
 
 
                sumstr += ',"' + item.name + '":"' + htmlinfo + '"';
            }
 
        }
 
    });
    if (sumstr != "") { sumstr = "{" + sumstr.substring(1) + "}"; } else { sumstr = "{}"; }
    //  alert(sumstr);
    //   var sum_amount = $("#jqGrid").getCol('ID', false, 'sum');
    $("#jqGrid").footerData('set', jQuery.parseJSON(sumstr));
 
 
    var userdata = jQuery("#jqGrid").jqGrid('getGridParam', 'userData');
    if (userdata != undefined && userdata != "" && userdata.Result != undefined && userdata.Message != undefined) {
        if (userdata.Result == false && userdata.Message != "") {
            msg.err(userdata.Message);
        }
 
        if (userdata.Result == true && userdata.Message != "") {
            msg.info(userdata.Message);
        }
 
 
    }
 
 
    if (typeof (_afterSearch) === "function") {
        ischeck = _afterSearch();
 
    }
 
    if (typeof (_afterLoadData) === "function") {
        _afterLoadData();
    }
 
}