From ec0f2528f83ee7c6ec64537d561a697ffff5b5c3 Mon Sep 17 00:00:00 2001 From: 侯瑞军 <411269194@kidgrow.com> Date: Tue, 21 Apr 2020 15:27:04 +0800 Subject: [PATCH] 1.组织,医院,科室的编辑业务调整,增加了联动编辑功能(创建医院自动创建组织数据,修改同理) 2.重新优化,调整了医院/科室编辑过程中对名称的检查,数据间依赖关系的调整 3.调整优化了区域联动插件,自动完成插件的通用性 --- kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html | 334 +++++++++++++++++++++++++------------------------------ 1 files changed, 152 insertions(+), 182 deletions(-) diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html index 6a3ac4b..809efd5 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html @@ -8,229 +8,199 @@ </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="hosName" 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"> - <select> - <option></option - </select> - <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看详情</a> + <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="edit">修改</a> - <a class="layui-btn layui-btn-xs" lay-event="reset">重置密码</a> - <a class="layui-btn layui-btn-xs" lay-event="del">删除</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', 'autocomplete', '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 === "edit") { + //修改 + admin.putTempData("t_hospital", data); + showEditModel("edit"); } }); - // 搜索按钮点击事件 - $('#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 = $('#hosName').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: (strUtil.isEmpty(data))?'添加医院':'编辑医院', + path: 'pages/opration/hospital_form_base.html', + area: '900px', + finish: function () { + $('#hospita-btn-search').click(); } }); }; + + //装载市区数据 + 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 () { + admin.putTempData("t_hospital",""); + showEditModel(); + }); }); </script> \ No newline at end of file -- Gitblit v1.8.0