懒羊羊
2023-11-14 8286c62256f23bc2367a6729c0f46f84215e380b
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
/**
 * 高频方法集
 *
 * @author fengshuonan
 * @Date 2019/7/29 21:20
 */
layui.define(['jquery', 'layer', 'admin', 'table', 'ax', 'form'], function (exports) {
    var $ = layui.$;
    var layer = layui.layer;
    var admin = layui.admin;
    var table = layui.table;
    var $ax = layui.ax;
    var form = layui.form;
 
    var func = {
 
        /**
         * 拼接下拉字典
         */
        initDictSelect: function (url, selectId, optValue, optName) {
            $("#" + selectId).html('<option value="">请选择</option>');
            var ajax = new $ax(Feng.ctxPath + url, function (data) {
                for (var i = 0; i < data.data.length; i++) {
                    var optionValue = data.data[i][optValue];
                    var optionName = data.data[i][optName];
                    $("#" + selectId).append('<option value="' + optionValue + '">' + optionName + '</option>');
                }
                form.render();
            }, function (data) {
            });
            ajax.start();
        },
 
        /**
         * 获取内部高度,返回数值
         */
        getClientHeight: function () {
            var clientHeight = 0;
            if (document.body.clientHeight && document.documentElement.clientHeight) {
                clientHeight = (document.body.clientHeight < document.documentElement.clientHeight) ? document.body.clientHeight : document.documentElement.clientHeight;
            } else {
                clientHeight = (document.body.clientHeight > document.documentElement.clientHeight) ? document.body.clientHeight : document.documentElement.clientHeight;
            }
            return clientHeight;
        },
 
        /**
         * 获取内部高度,返回字符串
         */
        getClientHeightPx: function () {
            return Feng.getClientHeight() + 'px';
        },
 
        /**
         * 打开表单的弹框
         */
        open: function (param) {
 
            //宽度计算
            var width = '1000px';
            if (param.width) {
                width = param.width;
            }
 
            //计算高度
            var clientHeight = func.getClientHeight();
            if (param.height) {
                if (clientHeight < param.height) {
                    param.area = [width, clientHeight + "px"];
                } else {
                    param.area = [width, param.height + "px"];
                }
            } else {
                param.area = [width, clientHeight + "px"];
            }
 
            param.skin = 'layui-layer-admin';
            param.offset = '35px';
            param.type = 2;
 
            admin.putTempData('formOk', false);
            param.end = function () {
                layer.closeAll('tips');
                if (param.tableId) {
                    admin.getTempData('formOk') && table.reload(param.tableId);
                }
 
                if (param.endCallback) {
                    admin.getTempData('formOk') && param.endCallback();
                }
            };
 
            if (!param.fixed) {
                param.fixed = false;
            }
 
            if (!param.resize) {
                param.resize = false;
            }
 
            if (!param.shade) {
                param.shade = .1;
            }
 
            var thisIndex = top.layui.layer.open(param);
 
            //按键监听esc关闭对话框
            $(window).keydown(function (event) {
                if (event.keyCode === 27) {
                    parent.layer.close(thisIndex)
                }
            });
 
            return thisIndex;
        }
    };
 
    exports('func', func);
});