forked from kidgrow-microservices-platform

zhaoxiaohao
2020-05-14 1738edbe080a76d6954f90a6306ebe372627c6d4
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/dataNeed.html
@@ -1,9 +1,9 @@
<div class="layui-card">
    <div class="layui-card-header">
        <h2 class="header-title">应用管理</h2>
        <h2 class="header-title">数据需求</h2>
        <span class="layui-breadcrumb pull-right">
            <a href="#!home_console">首页</a>
            <a><cite>应用管理</cite></a>
            <a><cite>数据需求</cite></a>
        </span>
    </div>
    <div class="layui-card-body">
@@ -23,56 +23,105 @@
<!-- 表格操作列 -->
<script type="text/html" id="app-table-bar">
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看详情</a>
</script>
<script type="text/html" id="app-table-bar1">
    {{# if (d.enabled ==0){}}
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="upload">待上传数据</a>
    {{#  } else { }}
    <p>已上传</p>
    {{#}}}
</script>
<!-- 表单弹窗 -->
<!-- <script type="text/html" id="app-model">
<script type="text/html" id="app-model">
    <form id="app-form" lay-filter="app-form" class="layui-form model-form">
        <input name="id" type="hidden"/>
        <div class="layui-form-item">
            <label class="layui-form-label">应用标识</label>
            <label class="layui-form-label">需求类型</label>
            <div class="layui-input-block">
                <input name="clientId" placeholder="请输入应用标识" type="text" class="layui-input" maxlength="20"
                <input name="needType" placeholder="请输入应用标识" type="text" class="layui-input" maxlength="20"
                       lay-verify="required" required/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">应用名称</label>
            <label class="layui-form-label">医生姓名</label>
            <div class="layui-input-block">
                <input name="clientName" placeholder="请输入应用名称" type="text" class="layui-input" maxlength="20"/>
                <input name="doctorName" placeholder="请输入应用名称" type="text" class="layui-input" maxlength="20"/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">应用密钥</label>
            <label class="layui-form-label">医院名称</label>
            <div class="layui-input-block">
                <input name="clientSecretStr" placeholder="请输入应用密钥" type="text" class="layui-input" maxlength="20"
                <input name="hospitalName" placeholder="请输入应用密钥" type="text" class="layui-input" maxlength="20"
                       lay-verify="required" required />
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">回调地址</label>
            <label class="layui-form-label">科室名称</label>
            <div class="layui-input-block">
                <input name="webServerRedirectUri" placeholder="请输入回调地址" type="text" class="layui-input" maxlength="20"/>
                <input name="departmentName" placeholder="请输入回调地址" type="text" class="layui-input" maxlength="20"/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">医生联系方式</label>
            <div class="layui-input-block">
                <input name="doctorTel" placeholder="请输入回调地址" type="text" class="layui-input" maxlength="20"/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">需求数据的开始时间</label>
            <div class="layui-input-block">
                <input name="needBegintime" placeholder="请输入回调地址" type="text" class="layui-input" maxlength="20"/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">需求数据的结束时间</label>
            <div class="layui-input-block">
                <input name="needEndtime" placeholder="请输入回调地址" type="text" class="layui-input" maxlength="20"/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">需求标签</label>
            <div class="layui-input-block">
                <input name="needTags" placeholder="请输入回调地址" type="text" class="layui-input" maxlength="20"/>
            </div>
        </div>
        <div class="layui-form-item model-form-footer">
            <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button>
            <button class="layui-btn" lay-filter="app-form-submit" lay-submit>保存</button>
            <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">确定</button>
        </div>
    </form>
</script> -->
</script>
<script type="text/html" id="app-upload">
    <form id="app-form-upload" lay-filter="app-form-upload" class="layui-form model-form">
        <input name="id" id="upload-id"  type="hidden"/>
        <div class="layui-form-item">
            <label class="layui-form-label">上传文件</label>
            <div class="layui-input-block" id="demo">
                <button type="button" class="layui-btn" id="phonto">
                    <i class="layui-icon">&#xe67c;</i>上传文件
                  </button>
                <input name="dataFile" id="dataFile"  type="hidden" class="layui-input" maxlength="20"/>
                <input name="enabled" id="enabled"  type="hidden" value="0" class="layui-input" maxlength="20"/>
            </div>
        </div>
    </form>
</script>
<script>
    layui.use(['form', 'table', 'laydate', 'util', 'config', 'admin'], function () {
    layui.use(['form', 'table', 'laydate', 'util', 'upload', 'config', 'admin'], 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 upload = layui.upload;
        //时间格式
        var laydate = layui.laydate;
@@ -96,11 +145,11 @@
                { field: 'doctorName', width: 180, sort: true, title: '医生姓名' },
                { field: 'doctorTel', width: 200, sort: true, title: '联系电话' },
                { field: 'hospitalName', width: 180, sort: true, title: '所在医院' },
                { field: 'needBegintime',width: 300, sort: true, title: '时间段', templet: "<div>{{layui.util.toDateString(d.needBegintime, 'yyyy年MM月dd日 HH:mm:ss')}}至{{layui.util.toDateString(d.needEndtime, 'yyyy年MM月dd日 HH:mm:ss')}}</div>" },
                { field: 'needBegintime', width: 300, sort: true, title: '时间段', templet: "<div>{{layui.util.toDateString(d.needBegintime, 'yyyy年MM月dd日')}}至{{layui.util.toDateString(d.needEndtime, 'yyyy年MM月dd日')}}</div>" },
                { field: 'needType', width: 250, sort: true, title: '数据类型', templet: function (d) { if (d.needType == 1) { return '筛查' } else { return '就诊' } } },// 0就诊数据 1筛查
                { field: 'needTags', width: 250, sort: true, title: '需求标签' },
                { field: 'enabled', width: 250, sort: true, title: '处理状态', templet: function (d) { if (d.enabled == 1) { return '已上传' } else { return '未处理' } } },
                { field: 'downTime', width: 250, sort: true, title: '时间', templet: "<div>{{layui.util.toDateString(d.downTime, 'yyyy年MM月dd日 HH:mm:ss')}}</div>" }
                { field: 'needTags', width: 250, align: 'center', toolbar: '#app-table-bar', sort: true, title: '需求标签' },
                { field: 'enabled', width: 250, sort: true, toolbar: '#app-table-bar1', title: '处理状态', },
                { field: 'downTime', width: 250, sort: true, title: '时间', templet: "<div>{{layui.util.toDateString(d.downTime, 'yyyy/MM/dd HH:mm')}}</div>" }
            ]]
        });
@@ -109,41 +158,72 @@
            var data = obj.data;
            var layEvent = obj.event;
            if (layEvent === 'del') { // 删除
                doDelete(obj);
            } else if (layEvent === 'edit') { //修改
            if (layEvent === 'detail') { // 显示详情
                showEditModel(data);
            } else if (layEvent === 'upload') { // 上传
                layer.open({
                    type: 1,
                    title: '上传图片',
                    area: ["500px", "150px"],
                    content: $('#app-upload').html(),
                    success: function () {
                        $("#upload-id").val(data.id)
                        var upload = layui.upload;
                        //执行实例
                        upload.render({
                            elem: '#phonto',
                            url: config.base_server + 'api-file/files-anon',
                            accept: 'file',
                            auto: true,
                            headers: { "Authorization": "Bearer " + config.getToken().access_token },
                            before: function (obj) {
                                layer.load(); //上传loading
                            },
                            done: function (data) {
                                layer.closeAll('loading');
                                // $("#dataFile").val(data.url);
                                updateEnabled(data.url, true);
                            },
                            error: function (data) {
                                layer.closeAll('loading');
                            }
                        });
                    }
                });
            }
        });
        //更新上传的状态
        var updateEnabled = function (dataFile, enabled) {
            console.log($("#upload-id").val())
        // // 删除
        // var doDelete = function (obj) {
        //     layer.confirm('确定要删除吗?', function (i) {
        //         layer.close(i);
        //         layer.load(2);
        //         admin.req('api-opration/dataneed/' + obj.data.id, {}, function (data) {
        //             layer.closeAll('loading');
        //             layer.msg('成功', { icon: 1, time: 500 });
        //             obj.del();
        //         }, 'DELETE');
        //     });
        // };
            admin.req('api-opration/dataneed/updateEnabled', {
                id: $("#upload-id").val(),
                enabled: enabled,
                dataFile: dataFile
            }, function (data) {
                layer.closeAll('loading');
                if (data.code == 0) {
                    layer.closeAll();
                    table.reload('app-table', { where: {} });
                } else {
                    layer.msg(data.msg, { icon: 2, time: 500 });
                }
            }, 'GET');
        }
        // 搜索按钮点击事件
        $('#app-btn-search').click(function () {
            var key = $('#app-edit-search').val();
            var needBegintime = $('#test1').val();
            var needEndtime = $('#test2').val();
            if (needBegintime != null && needEndtime != null) {
                var flag=compareDate(needBegintime, needEndtime);
                if(!flag){
                var flag = compareDate(needBegintime, needEndtime);
                if (!flag) {
                    layer.msg('结束时间不得小于开始时间');
                    return;
                }
            }
            table.reload('app-table', { where: { doctorName: key,needBegintime:needBegintime, needEndtime:needEndtime} });
            table.reload('app-table', { where: { doctorName: key, needBegintime: needBegintime, needEndtime: needEndtime } });
        });
        //比较日期大小
        function compareDate(logintime, logouttime) {
@@ -161,51 +241,63 @@
                }
            }
        }
        // 添加按钮点击事件
        $('#app-btn-add').click(function () {
            showEditModel();
        // 导出
        $('#app-btn-export').click(function () {
            var url = config.base_server + 'api-opration/dataneed/export';
            var xhr = new XMLHttpRequest();
            xhr.open('POST', url, true);
            xhr.responseType = "blob";
            xhr.setRequestHeader("client_type", "DESKTOP_WEB");
            xhr.setRequestHeader("Authorization", "Bearer " + config.getToken().access_token);
            xhr.onload = function () {
                if (this.status == 200) {
                    var fileName = "user.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();
        });
        // // 显示编辑弹窗
        // var showEditModel = function (data) {
        //     layer.open({
        //         type: 1,
        //         title: data ? '修改应用' : '添加应用',
        //         area: '450px',
        //         offset: '120px',
        //         content: $('#app-model').html(),
        //         success: function () {
        //             $('#app-form')[0].reset();
        //             $('#app-form').attr('method', 'POST');
        //             if (data) {
        //                 $("input[name='clientId']").attr('disabled', true);
        //                 $("input[name='clientId']").attr('class', "layui-input layui-disabled");
        //                 $("input[name='webServerRedirectUri']").attr('disabled', true);
        //                 $("input[name='webServerRedirectUri']").attr('class', "layui-input layui-disabled");
        //                 form.val('app-form', data);
        //                 $('#app-form').attr('method', 'POST');
        //             }
        //         }
        //     });
        // };
        // 显示编辑弹窗
        var showEditModel = function (data) {
            layer.open({
                type: 1,
                title: '详情',
                area: '450px',
                offset: '120px',
                content: $('#app-model').html(),
                success: function () {
                    $('#app-form')[0].reset();
                    $('#app-form').attr('method', 'POST');
                    if (data) {
                        if (data.needBegintime) {
                            var needBegintime = layui.util.toDateString(data.needBegintime, 'yyyy/MM/dd HH:mm');
                            data.needBegintime = needBegintime
                        }
                        if (data.needEndtime) {
                            var needEndtime = layui.util.toDateString(data.needEndtime, 'yyyy/MM/dd HH:mm');
                            data.needEndtime = needEndtime
                        }
                        $("input[name='clientId']").attr('disabled', true);
                        $("input[name='clientId']").attr('class', "layui-input layui-disabled");
                        $("input[name='webServerRedirectUri']").attr('disabled', true);
                        $("input[name='webServerRedirectUri']").attr('class', "layui-input layui-disabled");
                        form.val('app-form', data);
                        $('#app-form').attr('method', 'POST');
                    }
                }
            });
        };
        // // 表单提交事件
        // form.on('submit(app-form-submit)', function (data) {
        //     layer.load(2);
        //     admin.req('api-opration/dataneed/saveOrUpdate', JSON.stringify(data.field), function (data) {
        //         layer.closeAll('loading');
        //         console.log(data);
        //         if (data.code == 0) {
        //             layer.msg(data.msg, { icon: 1, time: 500 });
        //             table.reload('app-table');
        //             layer.closeAll('page');
        //         } else {
        //             layer.msg(data.msg, { icon: 2, time: 500 });
        //         }
        //     }, $('#app-form').attr('method'));
        //     return false;
        // });
    });
</script>