forked from kidgrow-microservices-platform

zhaoxiaohao
2020-09-22 86db1fc78c0e861a7ec651d5e5636fe36f4c6b35
添加功能
1 files added
346 ■■■■■ changed files
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/saasClientPay.html 346 ●●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/saasClientPay.html
New file
@@ -0,0 +1,346 @@
<div class="layui-card">
    <div class="layui-card-header">
        <h2 class="header-title">支付管理</h2>
        <span class="layui-breadcrumb pull-right">
            <a href="#!home_console">首页</a>
            <a><cite>支付管理</cite></a>
        </span>
    </div>
    <div class="layui-card-body">
        <div class="layui-form toolbar">
            <input name="hospitalName" id="hospitalName-seach" placeholder="按医院名称" type="text"
                class="layui-input search-input" maxlength="50" autocomplete="off" />&emsp;
            <input type="hidden" id="hospitalId" />
            <select id="departmentId" lay-filter="department_clients">
                <option>--科室--</option>
            </select>&emsp;
            <select id="doctorId" lay-filter="doctor_clients">
                <option>--医生--</option>
            </select>&emsp;
            <div class="layui-col-sm4">
                <input type="text" class="layui-input search-input" id="startTime" placeholder="开始时间"> 至 <input type="text"
                class="layui-input search-input" id="endTime" placeholder="结束时间"> &emsp;
            </div>
            <button id="app-btn-search" class="layui-btn icon-btn permissions" permissions="sysdictionaries-list"><i
                    class="layui-icon">&#xe615;</i>搜索</button>
            <button id="piliangjiesuan" class="layui-btn icon-btn permissions" permissions="sysdictionaries-edit"><i
                    class="layui-icon">&#xe654;</i>批量结算</button>
                    <button id="export" class="layui-btn icon-btn permissions" permissions="sysdictionaries-edit"><i
                        class="layui-icon">&#xe654;</i>导出</button>
        </div>
        <!-- 数据表格 -->
        <table class="layui-table" id="app-table" lay-filter="app-table"></table>
    </div>
</div>
<script>
    layui.use(['form', 'table', 'laydate', 'util', 'config', 'admin', 'autocomplete',], function () {
        var form = layui.form;
        var table = layui.table;
        var config = layui.config;
        var layer = layui.layer;
        var util = layui.util;
        var admin = layui.admin;
        var autocomplete = layui.autocomplete;
        //时间格式
        var laydate = layui.laydate;
        //执行一个laydate实例
        laydate.render({
            elem: '#startTime' //指定元素
        });
        laydate.render({
            elem: '#endTime' //指定元素
        });
        // 获取应用列表
        // layer.load(2);
        admin.req('api-user/syshospital/findAllByMap', JSON.stringify({
            is_del: 0
        }), function (data) {
            layer.closeAll('loading');
            if (0 === data.code) {
                let selected = false;
                clientsAll = data.data;
                hospital = data.data;
                $.each(data.data, function (index, item) {
                    if (config.clientId === item.clientId) {
                        selected = true;
                    } else {
                        selected = false;
                    }
                    //往下拉菜单里添加元素
                    $('#hospitalName-seach').append(new Option(item.hospitalName, item.id,
                        false, selected));
                    form.render('select', 'app-form');
                })
                form.render();
            } else {
                layer.msg(data.msg, {
                    icon: 2,
                    time: 2000
                });
            }
        }, 'Post');
        //自动完成-医院名称
        autocomplete.render({
            elem: $('#hospitalName-seach')[0],
            keywordsName: 'hospitalName', //查询关键字名称
            url: config.base_server + 'api-user/syshospital/findByName',
            template_val: '{{d.hospitalName}}', //选择后文本框显示的数据字段
            template_txt: "<div class='layui-table-cell'>{{d.hospitalName}}</div>", //下拉列表模板
            onselect: function (resp) {
                $("#hospitalId").val(resp.id);
                //获取科室
                getDepData();
                //获取医生
            }
        });
        //获取科室
        function getDepData() {
            var hospitalId = $("#hospitalId").val();
            admin.req('api-user/sysdepartment/findListByHospitalId', { id: hospitalId }, function (data) {
                layer.closeAll('loading');
                if (0 === data.code) {
                    let selected = false;
                    console.log(data.data)
                    let id = 0;
                    $("#departmentId").empty();
                    $.each(data.data, function (index, item) {
                        //往下拉菜单里添加元素
                        if (index == 0) {
                            selected = true
                            id = item.id
                        } else {
                            selected = false
                        }
                        $('#departmentId').append(new Option(item.departmentName, item.id,
                            false, selected));
                        form.render('select', 'department_clients');
                    })
                    getDoctorData(id)
                    form.render();
                } else {
                    layer.msg(data.msg, {
                        icon: 2,
                        time: 2000
                    });
                }
            }, 'Get');
        };
        form.on('select(department_clients)', function (data) {
           getDoctorData(data.value)
        });
        //获取医生
        function getDoctorData(id) {
            admin.req('api-user/sysdoctor/findByMap', JSON.stringify({
                department_id: id
            }), function (data) {
                layer.closeAll('loading');
                if (0 === data.code) {
                    let selected = false;
                    console.log(data.data)
                    $("#doctorId").empty();
                    $.each(data.data, function (index, item) {
                        //往下拉菜单里添加元素
                        if (index == 0) {
                            selected = true
                        } else {
                            selected = false
                        }
                        console.log(item)
                        $('#doctorId').append(new Option(item.doctorName, item.id,
                            false, selected));
                        form.render('select', 'doctor_clients');
                    })
                    form.render();
                } else {
                    layer.msg(data.msg, {
                        icon: 2,
                        time: 2000
                    });
                }
            }, 'post');
        };
        function getTabel() {
            var doctorId=""
            if($("#doctorId").val()!="--医生--"){
                doctorId=$("#doctorId").val();
            }
            var departmentId=""
            if($("#departmentId").val()!="--科室--"){
                departmentId=$("#departmentId").val();
            }
            var startTime = $('#startTime').val();
            var endTime = $('#endTime').val();
            if (startTime != null && endTime != null) {
                var flag = compareDate(startTime, endTime);
                if (!flag) {
                    layer.msg('结束时间不得小于开始时间');
                    return;
                }
            }
            var obj={
                payStatus:2,
                type:0,
                createHospitalId: $("#hospitalId").val(),
                createHospitalDepartid: departmentId,
                doctorId: doctorId,
                startTime: startTime,
                endTime: endTime
            }
            table.render({
                elem: '#app-table',
                url: config.base_server + 'api-opration/saasclientpay',
                method: 'GET',
                headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
                page: true,
                where: obj,
                cols: [[
                    { field: 'id', width: "10%", align: 'center', title: '支付id' },
                    { field: 'createHospitalName', width: "10%", align: 'center', title: '医院名称' },
                    { field: 'createHospitalDepartment', width: "10%", align: 'center', title: '科室' },
                    { field: 'createUserName', width: "20%", align: 'center', title: '诊断人' },
                    { field: 'childName', width: "10%", align: 'center', title: '患者姓名' },
                    { field: 'childSex', width: "10%", align: 'center', title: '患者性别', templet: "<div>{{d.childSex==0 ?'男':'女'}}</div>" },// 0就诊数据 1筛查
                    { field: 'childBirthday', width: "10%", align: 'center', title: '出生时间', templet: "<div>{{layui.util.toDateString(d.childBirthday, 'yyyy-MM-dd')}}</div>" },
                    { field: 'tradeNo', width: "10%", align: 'center', title: '订单号' },
                    { field: 'payTime', width: "10%", align: 'center', title: '支付日期', templet: "<div>{{layui.util.toDateString(d.payTime, 'yyyy-MM-dd')}}</div>" },
                    { field: 'payMethod', width: "10%", align: 'center', title: '支付方式', templet: "<div>{{d.payMethod==0 ?'微信':'支付宝'}}</div>" },
                    { field: 'price', width: "10%", align: 'center', title: '支付费用' },
                    { field: 'id', type: 'checkbox', width: "10%", align: 'center', toolbar: '#dictionaries-table-bar', title: '操作' },// 0就诊数据 1筛查
                ]],
                done: function (res) {
                    permissionsInput(res, config);
                }
            });
        }
        //比较日期大小
        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;
                }
            }
        }
        $('#piliangjiesuan').click(function (){
            var selectData = layui.table.checkStatus('app-table').data;
            if(selectData==null||selectData.length<=0){
                layer.msg('请选择一条数据');
                return;
            }
            let objList=[];
            selectData.forEach(element => {
                objList.push(element.id);
            });
            admin.req('api-opration/saasclientpay/updateTypeList', JSON.stringify(objList), function (data) {
                layer.closeAll('loading');
                if (0 === data.code) {
                    let selected = false;
                    console.log(data.data)
                    $("#doctorId").empty();
                    $.each(data.data, function (index, item) {
                        //往下拉菜单里添加元素
                        if (index == 0) {
                            selected = true
                        } else {
                            selected = false
                        }
                        console.log(item)
                        $('#doctorId').append(new Option(item.doctorName, item.id,
                            false, selected));
                        form.render('select', 'doctor_clients');
                    })
                    form.render();
                } else {
                    layer.msg(data.msg, {
                        icon: 2,
                        time: 2000
                    });
                }
            }, 'post');
        });
        // 搜索按钮点击事件
        $('#app-btn-search').click(function () {
            getTabel();
            // var key = $('#app-edit-search').val();
            // table.reload('app-table', { where: { dictionariesName: key } });
        });
        //导出
        $('#export').click(function () {
            var doctorId=""
            if($("#doctorId").val()!="--医生--"){
                doctorId=$("#doctorId").val();
            }
            var departmentId=""
            if($("#departmentId").val()!="--科室--"){
                departmentId=$("#departmentId").val();
            }
            var startTime = $('#startTime').val();
            var endTime = $('#endTime').val();
            if (startTime != null && endTime != null) {
                var flag = compareDate(startTime, endTime);
                if (!flag) {
                    layer.msg('结束时间不得小于开始时间');
                    return;
                }
            }
            var obj={
                payStatus:2,
                type:0,
                createHospitalId: $("#hospitalId").val(),
                createHospitalDepartid: departmentId,
                doctorId: doctorId,
                startTime: startTime,
                endTime: endTime
            }
            var url = config.base_server + 'api-opration/saasclientpay/export';
            var xhr = new XMLHttpRequest();
            xhr.open('POST', url, true);
            xhr.responseType = "blob";
             var form = new FormData();
            // Add selected file to form
            form.append("payStatus", 2);
            form.append('type',0);
            form.append('doctorId',doctorId);
            form.append('startTime',startTime);
            form.append('endTime',endTime);
            form.append('createHospitalId',$("#hospitalId").val());
            xhr.setRequestHeader("client_type", "DESKTOP_WEB");
            xhr.setRequestHeader("Authorization", "Bearer " + config.getToken().access_token);
            xhr.onload = function () {
                if (this.status == 200) {
                    var fileName = "支付导出.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);
        });
    });
</script>