| | |
| | | </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"> 至 <input type="text" |
| | | class="layui-input search-input" id="test2">   |
| | | <select id="role_clients" placeholder="选择一个应用" lay-filter="role_clients"> |
| | | <option value="">-请选择-</option> |
| | | <select id="province" placeholder="省份" lay-filter="province"> |
| | | </select> |
| | | <button id="app-btn-search" class="layui-btn icon-btn"><i class="layui-icon"></i>搜索</button> |
| | | <select id="city" placeholder="市" lay-filter="city"> |
| | | <option value="">选择市</option> |
| | | </select> |
| | | <select id="areas" placeholder="区县" lay-filter="areas"> |
| | | <option value="">选择区县</option> |
| | | </select> |
| | | <select id="isscreen" placeholder="选择筛查状态" lay-filter="isscreen"> |
| | | <option value="">-是否筛查-</option> |
| | | <option value="1">-是-</option> |
| | | <option value="0">-否-</option> |
| | | </select> |
| | |   |
| | | <!-- <select id="isanswer" placeholder="选择医答状态" lay-filter="isanswer"> |
| | | <option value="">-是否医答-</option> |
| | | <option value="1">-是-</option> |
| | | <option value="0">-否-</option> |
| | | </select> |
| | |   --> |
| | | <select id="hospitalstate" placeholder="选择医院状态" lay-filter="hospitalstate"> |
| | | <option value="">-医院状态-</option> |
| | | <option value="0">试用</option> |
| | | <option value="1">正式</option> |
| | | </select> |
| | |   |
| | | <input id="hospitalName" class="layui-input search-input" type="text" placeholder="按医院名" />  |
| | | <button id="hospita-btn-search" class="layui-btn icon-btn"><i |
| | | class="layui-icon"></i>搜索</button>  |
| | | <button id="hospital-btn-add" class="layui-btn icon-btn"><i class="layui-icon"></i>添加医院</button> |
| | | </div> |
| | | |
| | | <!-- 数据表格 --> |
| | | <table class="layui-table" id="app-table" lay-filter="app-table"></table> |
| | | <table class="layui-table" id="hospital-table" lay-filter="hospital-table"></table> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 表格操作列 --> |
| | | <script type="text/html" id="businessRecords-table-bar"> |
| | | <a class="layui-btn layui-btn-xs" lay-event="pay">充值</a> |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看详情</a> |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="addDepartment">添加科室</a> |
| | | <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> |
| | | </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="recordTitle" disabled="true" 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="userName" disabled="true" 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="appName" disabled="true" type="text" class="layui-input" maxlength="20" |
| | | lay-verify="required" required /> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">ip</label> |
| | | <div class="layui-input-block"> |
| | | <input name="recordIp" disabled="true" 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="recordDetail" disabled="true" 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> |
| | | </div> |
| | | </form> |
| | | <!-- 表格状态列 --> |
| | | <script type="text/html" id="hospital-tpl-state"> |
| | | <input type="checkbox" lay-filter="hospital-tpl-state" value="{{d.hospitalId}}" value2="{{d.departmentId}}" lay-skin="switch" lay-text="启用|禁用" |
| | | {{d.enabled==true?'checked':''}}/> |
| | | </script> |
| | | |
| | | |
| | | <script> |
| | | layui.use(['form', 'table', 'laydate', 'util', 'config', 'admin'], function () { |
| | | layui.use(['form', 'table', 'laydate', 'util', 'config', 'admin', 'area'], 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; |
| | | |
| | | // 获取应用列表 |
| | | // layer.load(2); |
| | | admin.req('api-user/users/findAll', {}, function (data) { |
| | | layer.closeAll('loading'); |
| | | if (0 === data.code) { |
| | | let selected = false; |
| | | clientsAll = data.data; |
| | | $.each(data.data, function (index, item) { |
| | | if (config.clientId === item.clientId) { |
| | | selected = true; |
| | | } else { |
| | | selected = false; |
| | | } |
| | | //往下拉菜单里添加元素 |
| | | $('#role_clients').append(new Option(item.username, item.id, false, selected)); |
| | | }) |
| | | form.render(); |
| | | } else { |
| | | layer.msg(data.msg, { icon: 2, time: 500 }); |
| | | } |
| | | }, 'Post'); |
| | | |
| | | //时间格式 |
| | | var laydate = layui.laydate; |
| | | //执行一个laydate实例 |
| | | laydate.render({ |
| | | elem: '#test1' //指定元素 |
| | | }); |
| | | laydate.render({ |
| | | elem: '#test2' //指定元素 |
| | | }); |
| | | var area = layui.area; |
| | | |
| | | // 渲染表格 |
| | | table.render({ |
| | | elem: '#app-table', |
| | | elem: '#hospital-table', |
| | | url: config.base_server + 'api-user/syshospital', |
| | | method: 'GET', |
| | | headers: { 'Authorization': 'Bearer ' + config.getToken().access_token }, |
| | | page: true, |
| | | cols: [[ |
| | | { type: 'numbers' }, |
| | | { field: 'hospitalName', width: 180, sort: true, title: '医院名称' }, |
| | | { field: 'hospitalTypeName', width: 200, sort: true, title: '科室' }, |
| | | { field: 'serverUserName', width: 180, sort: true, title: '联系人' }, |
| | | { field: 'hospitalTel', width: 300, sort: true, title: '联系方式' }, |
| | | { field: 'time', width: 300, sort: true, title: '服务到期时间' }, |
| | | { field: 'enabled', width: 300, sort: true, title: '状态' ,templet:function (d) { |
| | | return d.hospitalState==0?"试用":"正式" |
| | | }}, |
| | | { field: 'isScreen', width: 300, sort: true, title: '筛查',templet:function (d) { |
| | | return d.isScreen?"是":"否" |
| | | } }, |
| | | { field: 'createTime', width: 300, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd')}}</div>" }, |
| | | { field: 'id', width: 250, align: 'center', toolbar: '#businessRecords-table-bar', sort: true, title: '操作' },// 0就诊数据 1筛查 |
| | | { field: 'hospitalName', width: 250, title: '医院名称',fixed:'left'}, |
| | | { field: 'departmentName', width: 100, title: '科室' ,fixed:'left'}, |
| | | { |
| | | field: 'hospitalArea', width: 250, title: '所在地区', templet: function (d) { |
| | | return ((d.hospitalProvince == null) ? "" : d.hospitalProvince) + " " |
| | | + ((d.hospitalCity == null) ? "" : d.hospitalCity) + " " + |
| | | ((d.hospitalArea == null) ? "" : d.hospitalArea) |
| | | } |
| | | }, |
| | | { field: 'hospitalLink', width: 100, title: '联系人' }, |
| | | { field: 'hospitalTel', width: 100, title: '联系方式' }, |
| | | { |
| | | field: 'enabled', width: 80, sort: true, title: '状态', templet: function (d) { |
| | | return d.hospitalState == 0 ? "试用" : "正式" |
| | | } |
| | | }, |
| | | { |
| | | field: 'isScreen', width: 80, sort: true, title: '筛查', templet: function (d) { |
| | | return d.isScreen ? "是" : "否" |
| | | } |
| | | }, |
| | | // { field: 'isAnswer', width: 80, sort: true, title: '医答',templet:function (d) { |
| | | // return d.isScreen?"是":"否" |
| | | // } }, |
| | | |
| | | { field: 'serverUserName', width: 100, title: '服务人员' }, |
| | | { field: 'createTime', width: 120, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd')}}</div>" }, |
| | | { field: 'enabled', width: 100, templet: '#hospital-tpl-state', sort: true, title: '状态' }, |
| | | { field: 'hospitalId', width: 300, align: 'center', toolbar: '#businessRecords-table-bar', title: '操作' ,fixed:'right'} |
| | | ]] |
| | | }); |
| | | |
| | | //省份数据加载 |
| | | area.areaData("#province", 1, "", ""); |
| | | // 工具条点击事件 |
| | | table.on('tool(app-table)', function (obj) { |
| | | table.on('tool(hospital-table)', function (obj) { |
| | | var data = obj.data; |
| | | var layEvent = obj.event; |
| | | if (layEvent === 'detail') { // 查看详情 |
| | | showEditModel(data); |
| | | if (layEvent === 'del') { |
| | | layer.confirm('确定要删除吗?', function (i) { |
| | | layer.load(2); |
| | | var whereModel = { |
| | | id: obj.data.hospitalId, |
| | | departmentId: obj.data.departmentId |
| | | }; |
| | | admin.req('api-user/syshospital/delete', whereModel, function (data) { |
| | | layer.closeAll('loading'); |
| | | layer.msg(data.msg, { icon: 1, time: 500 }, function () { |
| | | $('#hospita-btn-search').click(); |
| | | }); |
| | | obj.del(); |
| | | }, 'GET'); |
| | | }); |
| | | } |
| | | else if (layEvent === 'addDepartment') { |
| | | //添加科室 |
| | | admin.putTempData("t_hospital", data); |
| | | admin.popupCenter({ |
| | | title: '添加科室', |
| | | path: 'pages/opration/department_form.html', |
| | | area: ['900px', '60%'], |
| | | finish: function () { |
| | | //清理缓存数据 |
| | | admin.putTempData("t_hospital", ""); |
| | | } |
| | | }) |
| | | } |
| | | else if (layEvent === "edit") { |
| | | //修改 |
| | | admin.putTempData("t_hospital", data); |
| | | showEditModel(); |
| | | } |
| | | }); |
| | | |
| | | // 搜索按钮点击事件 |
| | | $('#app-btn-search').click(function () { |
| | | var userId = $('#role_clients').val(); |
| | | var key = $('#app-edit-search').val(); |
| | | var startTime = $('#test1').val(); |
| | | var endTime = $('#test2').val(); |
| | | if (startTime != null && endTime != null) { |
| | | var flag = compareDate(startTime, endTime); |
| | | if (!flag) { |
| | | layer.msg('结束时间不得小于开始时间'); |
| | | return; |
| | | } |
| | | } |
| | | $('#hospita-btn-search').click(function () { |
| | | var isscreen = $('#isscreen').val(); |
| | | var isanswer = $('#isanswer').val(); |
| | | var hospitalstate = $('#hospitalstate').val(); |
| | | var hospitalName = $('#hospitalName').val(); |
| | | |
| | | table.reload('app-table', { where: { recordTitle: key, startTime: startTime, endTime: endTime, userId: userId } }); |
| | | }); |
| | | //比较日期大小 |
| | | 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 url = config.base_server + 'api-user/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 hospitalProvince = ($("#province").val() != "") ? $('#province option:selected').text() : ""; |
| | | var hospitalCity = ($("#city").val() != "") ? $('#city option:selected').text() : ""; |
| | | var hospitalArea = ($("#areas").val() != "") ? $('#areas option:selected').text() : ""; |
| | | |
| | | var whereModel = { |
| | | isScreen: isscreen, |
| | | isAnswer: isanswer, |
| | | hospitalState: hospitalstate, |
| | | hospitalName: hospitalName, |
| | | hospitalProvince: hospitalProvince, |
| | | hospitalCity: hospitalCity, |
| | | hospitalArea: hospitalArea |
| | | }; |
| | | table.reload('hospital-table', { where: whereModel }); |
| | | }); |
| | | |
| | | // // 显示编辑弹窗 |
| | | 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) { |
| | | $("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'); |
| | | } |
| | | admin.popupCenter({ |
| | | title: '编辑医院/科室', |
| | | path: 'pages/opration/hospital_form_tab.html', |
| | | area: ['900px', '80%'], |
| | | finish: function () { |
| | | |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | //装载市区数据 |
| | | form.on("select(province)", function (data) { |
| | | area.areasClear("#areas", 3); |
| | | area.areaData("#city", 2, data.value, ""); |
| | | }); |
| | | |
| | | //装载区县数据 |
| | | form.on("select(city)", function (data) { |
| | | area.areaData("#areas", 3, data.value, ""); |
| | | }); |
| | | // 修改状态 |
| | | form.on('switch(hospital-tpl-state)', function (obj) { |
| | | layer.load(2); |
| | | admin.req('api-user/syshospital/updateEnabled', { |
| | | id: obj.elem.value, |
| | | departmentId: obj.elem.getAttribute("value2"), |
| | | enabled: obj.elem.checked ? true : false |
| | | }, function (data) { |
| | | layer.closeAll('loading'); |
| | | if (data.code == 0) { |
| | | layer.msg(data.msg, { icon: 1, time: 500 }); |
| | | } else { |
| | | layer.msg(data.msg, { icon: 2, time: 500 }); |
| | | $(obj.elem).prop('checked', !obj.elem.checked); |
| | | form.render('checkbox'); |
| | | } |
| | | }, 'GET'); |
| | | }); |
| | | // 添加按钮点击事件 |
| | | $('#hospital-btn-add').click(function () { |
| | | showEditModel(); |
| | | }); |
| | | }); |
| | | </script> |