forked from kidgrow-microservices-platform

luliqiang
2021-02-19 1df2ad6224fa4bd1ca38d235d5e4b917262added
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
<form id="app-form-add" lay-filter="app-form-add" class="layui-form model-form">
    <div style="display:flex">
        <div class="layui-form-item">
            <div class="layui-inline">
                <label class="layui-form-label" style="width: 75px;">时间范围</label>
                <div class="layui-input-block" style="width: 500px;">
                    <input type="text" class="layui-input search-input" id="beginTime" autocomplete="off" placeholder="开始时间"> 至
                    <input type="text"  class="layui-input search-input" id="endTime" autocomplete="off" placeholder="结束时间"> &emsp;
                </div>
                <input type="hidden" id="hospitalIds"/>
                <input type="hidden" id="hospitalNames"/>
            </div>
        </div>
    </div>
 
    <div class="layui-form-item model-form-footer">
        <button class="layui-btn" id="export"  type="button">导出
        </button>
        <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button>
    </div>
</form>
 
<script>
    layui.use(['form', 'laydate', 'util', 'config', 'admin'], function () {
        var form = layui.form;
        var config = layui.config;
        var $ = layui.jquery;
        var admin = layui.admin;
        var laydate = layui.laydate;
 
        form.render();
 
        //执行一个laydate实例
        laydate.render({
            elem: '#beginTime' //指定元素
        });
        laydate.render({
            elem: '#endTime' //指定元素
        });
 
        $('#export').click(function () {
            var startTime = $('#beginTime').val();
            var endTime = $('#endTime').val();
            if (startTime != null && endTime != null) {
                var flag = compareDate(startTime, endTime);
                if (!flag) {
                    layer.msg('结束时间不得小于开始时间');
                    return;
                }
            }
            var url = config.base_server + 'api-opration/hospitalscreening/export';
            var xhr = new XMLHttpRequest();
            xhr.open('POST', url, true);
            xhr.responseType = "blob";
            var form = new FormData();
            // Add selected file to form
            form.append("hospitalId", $("#hospitalIds").val());
            form.append('hospitalName', $("#hospitalName").val());
            form.append('beginTime', $("#beginTime").val());
            form.append('endTime', endTime);
            form.append('hospitalName', $("#hospitalNames").val());
 
            xhr.setRequestHeader("client_type", "DESKTOP_WEB");
            xhr.setRequestHeader("Authorization", "Bearer " + config.getToken().access_token);
            xhr.onload = function () {
                if (this.status == 200) {
                    var fileName = $("#hospitalNames").val() + ".xlsx";
                    var blob = this.response;
                    var a = document.createElement('a');
                    a.innerHTML = fileName;
                    // 指定生成的文件名
                    a.download = fileName;
                    a.href = URL.createObjectURL(blob);
                    document.body.appendChild(a);
                    var evt = document.createEvent("MouseEvents");
                    evt.initEvent("click", false, false);
                    a.dispatchEvent(evt);
                    document.body.removeChild(a);
                }
            }
            xhr.send(form);
        });
 
        var hospital = admin.getTempData('t_hospital');
        if(hospital){
            $("#hospitalIds").val(hospital.id);
            $("#hospitalNames").val(hospital.hospitalName);
        }
        form.render();
 
        //比较日期大小
        function compareDate(logintime, logouttime) {
            var arys1 = new Array();
            var arys2 = new Array();
            if (logintime != null && logouttime != null) {
                arys1 = logintime.split('-');
                var logindate = new Date(arys1[0], parseInt(arys1[1] - 1), arys1[2]);
                arys2 = logouttime.split('-');
                var logoutdate = new Date(arys2[0], parseInt(arys2[1] - 1), arys2[2]);
                if (logindate > logoutdate) {
                    return false;
                } else {
                    return true;
                }
            }
        }
    });
</script>