From daa697719eb0ddfd170f1ab94c5422a4f5b93951 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <279049017@qq.com> Date: Fri, 18 Sep 2020 14:36:54 +0800 Subject: [PATCH] Merge branch 'dev' --- kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/dataNeed.html | 321 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 321 insertions(+), 0 deletions(-) diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/dataNeed.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/dataNeed.html new file mode 100644 index 0000000..b243578 --- /dev/null +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/dataNeed.html @@ -0,0 +1,321 @@ +<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 id="app-edit-search" class="layui-input search-input" type="text" placeholder="按医生姓名" />  + <input type="text" class="layui-input search-input" id="test1" placeholder="开始时间" > 至 <input type="text" + class="layui-input search-input" id="test2" placeholder="结束时间" >   + <button id="app-btn-search" class="layui-btn icon-btn permissions" permissions="diagnostic-get"><i class="layui-icon"></i>搜索</button> + <!-- <button id="app-btn-add" class="layui-btn icon-btn"><i class="layui-icon"></i>添加</button> --> + <button id="app-btn-export" class="layui-btn icon-btn permissions" permissions="dataneed-export"><i class="layui-icon"></i>导出</button> + </div> + + <!-- 数据表格 --> + <table class="layui-table" id="app-table" lay-filter="app-table"></table> + </div> +</div> + +<!-- 表格操作列 --> +<script type="text/html" id="app-table-bar"> + <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&&d.dataFile==null){}} + <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"> + <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> + <div class="layui-input-block"> + <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> + <div class="layui-input-block"> + <input name="doctorName" 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="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> + <div class="layui-input-block"> + <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"> + <textarea name="needTags" placeholder="请输入回调地址" class="layui-input" style="height:200px;overflow:auto" maxlength="20"> </textarea> + </div> + </div> + <div class="layui-form-item model-form-footer"> + <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">确定</button> + </div> + </form> +</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"></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', '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; + //执行一个laydate实例 + laydate.render({ + elem: '#test1' //指定元素 + }); + laydate.render({ + elem: '#test2' //指定元素 + }); + + // 渲染表格 + table.render({ + elem: '#app-table', + url: config.base_server + 'api-opration/dataneed', + method: 'GET', + headers: { 'Authorization': 'Bearer ' + config.getToken().access_token }, + page: true, + cols: [[ + { type: 'numbers' }, + { field: 'doctorName',align:'center', width: 100, title: '医生姓名' }, + { field: 'doctorTel',align:'center', width: 150, title: '联系电话' }, + { field: 'hospitalName',align:'center', width: 300, title: '所在医院' }, + { field: 'needBegintime',align:'center', width: 240, title: '时间段', templet: "<div>{{layui.util.toDateString(d.needBegintime, 'yyyy-MM-dd')}} 至 {{layui.util.toDateString(d.needEndtime, 'yyyy-MM-dd')}}</div>" }, + { field: 'needType',align:'center', width: 100, title: '数据类型', templet: function (d) { if (d.needType == 1) { return '筛查' } else { return '就诊' } } },// 0就诊数据 1筛查 + { field: 'needTags',align:'center', width: 100, align: 'center', toolbar: '#app-table-bar', title: '需求标签' }, + { field: 'enabled',align:'center', width: 200, toolbar: '#app-table-bar1', title: '处理状态', }, + { field: 'downTime',align:'center', width: 250, title: '下载时间', templet: "<div>{{layui.util.toDateString(d.downTime, 'yyyy-MM-dd HH:mm')}}</div>" } + ]],done:function(res){ + permissionsInput(res,config); + } + }); + + // 工具条点击事件 + table.on('tool(app-table)', function (obj) { + var data = obj.data; + var layEvent = obj.event; + + 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, false); + }, + error: function (data) { + layer.closeAll('loading'); + } + }); + } + }); + } + }); + //更新上传的状态 + var updateEnabled = function (dataFile, enabled) { + 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: 2000 }); + } + }, '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) { + layer.msg('结束时间不得小于开始时间'); + return; + } + } + + table.reload('app-table', { where: { doctorName: key, needBegintime: needBegintime, needEndtime: needEndtime } }); + }); + //比较日期大小 + 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; + } + } + } + // 导出 + $('#app-btn-export').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) { + layer.msg('结束时间不得小于开始时间'); + return; + } + } + //获取 + var url = config.base_server + 'api-opration/dataneed/export'; + var xhr = new XMLHttpRequest(); + xhr.open('POST', url, true); + xhr.responseType = "blob"; + var form = new FormData(); + // Add selected file to form + form.append("doctor_name", key); + form.append('need_begintime',needBegintime); + form.append('need_endtime',needEndtime); + + 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(form); + }); + + // 显示编辑弹窗 + 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日'); + data.needBegintime = needBegintime + } + if (data.needEndtime) { + var needEndtime = layui.util.toDateString(data.needEndtime, 'yyyy年MM月dd日'); + 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').find('input,textarea').prop('readonly', true); + $('#app-form').attr('method', 'POST'); + } + } + }); + }; + + }); +</script> \ No newline at end of file -- Gitblit v1.8.0