<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="needTypeName" id="needTypeName" 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="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" 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" 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" 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" 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" 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', //指定元素
|
done: function (value, date, endDate) {
|
var startDate = new Date(value).getTime();
|
var endTime = new Date($('#test2').val()).getTime();
|
if (endTime < startDate) {
|
layer.msg('结束时间不能小于开始时间');
|
$('#test1').val($('#test2').val());
|
} else {
|
$('#custom_beginTime').val($("#test1").val())
|
}
|
}
|
});
|
laydate.render({
|
elem: '#test2', //指定元素
|
done: function (value, date, endDate) {
|
var startDate = new Date($('#test1').val()).getTime();
|
var endTime = new Date(value).getTime();
|
if (endTime < startDate) {
|
layer.msg('结束时间不能小于开始时间');
|
$('#test2').val($('#test1').val());
|
} else {
|
$('#custom_endTime').val($("#test2").val())
|
}
|
}
|
});
|
|
// 渲染表格
|
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>" },
|
{ field: 'creatTime',align:'center', width: 250, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.creatTime, 'yyyy-MM-dd')}}</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 createTimeBegin = $('#test1').val();
|
var createTimeEnd = $('#test2').val();
|
if (createTimeBegin != null && createTimeEnd != null) {
|
var flag = compareDate(createTimeBegin, createTimeEnd);
|
if (!flag) {
|
layer.msg('结束时间不得小于开始时间');
|
return;
|
}
|
}
|
|
table.reload('app-table', { where: { doctorName: key, createTimeBegin: createTimeBegin, createTimeEnd: createTimeEnd },page: {curr: 1 } });
|
});
|
//比较日期大小
|
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 = "数据需求.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: '700px',
|
offset: '0px',
|
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");
|
if(data.needType===1)
|
{
|
$("#needTypeName").val("筛查");
|
}
|
else{
|
$("#needTypeName").val("就诊");
|
}
|
form.val('app-form', data);
|
$('#app-form').find('input,textarea').prop('readonly', true);
|
$('#app-form').attr('method', 'POST');
|
}
|
}
|
});
|
};
|
|
});
|
</script>
|