From 346ae7f3ce0e30785b9cc0aea1d92204534a83d6 Mon Sep 17 00:00:00 2001 From: 侯瑞军 <411269194@kidgrow.com> Date: Thu, 14 May 2020 18:37:26 +0800 Subject: [PATCH] 1.增加运营管理部分的所有的功能按钮权限显示隐藏功能 2.修改了部分已知的bug --- kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html | 341 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 276 insertions(+), 65 deletions(-) diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html index f3d1545..7d2a762 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html @@ -1,55 +1,89 @@ -<fieldset class="layui-elem-field layui-field-title"> - <legend>医院基本信息</legend> -</fieldset> <form id="hospital-form" lay-filter="hospital-form" class="layui-form model-form" method="POST"> <div class="layui-form-item"> - <label class="layui-form-label">医院名称</label> - <div class="layui-input-block"> - <input name="hospitalName" id="hospitalName" placeholder="请输入医院名称" type="text" class="layui-input" - maxlength="50" lay-verify="required" required autocomplete="on" /> + <div class="layui-row"> + <div class="layui-col-sm7"> + <label class="layui-form-label">医院名称</label> + <div class="layui-input-block"> + <input name="hospitalName" id="hospitalName" placeholder="请输入医院名称" type="text" class="layui-input" + maxlength="50" lay-verify="required" required style="width: 390px;" /> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">医院简称</label> + <div class="layui-input-block"> + <input name="hospitalShortName" type="text" class="layui-input" maxlength="50" + style="width: 200px;" /> + </div> + </div> </div> </div> <div class="layui-form-item"> - <label class="layui-form-label">医院简称</label> - <div class="layui-input-block"> - <input name="hospitalShortName" type="text" class="layui-input" maxlength="50" /> + <div class="layui-row"> + <div class="layui-col-sm4"> + <label class="layui-form-label">科室名称</label> + <div class="layui-input-block"> + <input name="departmentName" id="departmentName" placeholder="科室名称" type="text" class="layui-input" + maxlength="50" lay-verify="required" required style="width: 150px;" /> +  </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">联系电话</label> + <div class="layui-input-block"> + <input name="hospitalTel" id="hospitalTel" type="text" class="layui-input" maxlength="50" /> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">联系人</label> + <div class="layui-input-block"> + <input name="hospitalLink" type="text" class="layui-input" maxlength="50" style="width: 200px;" /> + </div> + </div> </div> </div> <div class="layui-form-item"> - <label class="layui-form-label">医院类型</label> - <div class="layui-input-block"> - <input name="hospitalTypeId" id="hospitalTypeId" type="hidden" /> - <select name="hospitalTypeName" id="hospitalTypeName" lay-filter="hospitalTypeName"> - <option value="">请选择</option> - </select> + <div class="layui-row"> + <div class="layui-col-sm7"> + <label class="layui-form-label">医院类型</label> + <div class="layui-input-block"> + <input name="hospitalTypeId" id="hospitalTypeId" type="hidden" value="" /> + <select name="hospitalTypeName" id="hospitalTypeName" lay-filter="hospitalTypeName" + style="width: 300px;"> + <option value="">请选择</option> + </select> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">医院资质</label> + <div class="layui-input-block"> + <input name="hospitalQualifiedId" id="hospitalQualifiedId" type="hidden" value="" /> + <select name="hospitalQualifiedName" id="hospitalQualifiedName" lay-filter="hospitalQualifiedName" + style="width: 300px;"> + <option value="">请选择</option> + </select> + </div> + </div> </div> </div> <div class="layui-form-item"> - <label class="layui-form-label">医院资质</label> - <div class="layui-input-block"> - <input name="hospitalQualifiedId" id="hospitalQualifiedId" type="hidden" /> - <select name="hospitalQualifiedName" id="hospitalQualifiedName" lay-filter="hospitalQualifiedName"> - <option value="">请选择</option> - </select> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">所在地区</label> - <div class="layui-input-block"> - <select id="hospitalProvince" placeholder="省份" lay-filter="hospitalProvince"> - </select> - <select id="hospitalCity" placeholder="市" lay-filter="hospitalCity"> - <option value="">选择市</option> - </select> - <select id="hospitalArea" placeholder="区县" lay-filter="hospitalArea"> - <option value="">选择区县</option> - </select> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">区号</label> - <div class="layui-input-block"> - <input name="areaCode" type="text" class="layui-input" maxlength="10" /> + <div class="layui-row"> + <label class="layui-form-label">所在地区</label> + <div class="layui-input-block"> + <div class="layui-col-sm4"> + <select lay-verify="required" required id="hospitalProvince" placeholder="省份" + lay-filter="hospitalProvince" style="width: 400px;"> + </select></div> + <div class="layui-col-sm4"> + <select id="hospitalCity" lay-verify="required" required placeholder="市" lay-filter="hospitalCity" + style="width: 350px;"> + <option value="">选择市</option> + </select></div> + <div class="layui-col-sm4"> + <select id="hospitalArea" lay-verify="required" required placeholder="区县" lay-filter="hospitalArea" + style="width: 350px;"> + <option value="">选择区县</option> + </select> + </div> + </div> </div> </div> <div class="layui-form-item"> @@ -59,31 +93,55 @@ </div> </div> <div class="layui-form-item"> - <label class="layui-form-label">经度</label> - <div class="layui-input-block"> - <input name="longitude" 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="latitude" type="text" class="layui-input" maxlength="20" /> + <div class="layui-row"> + <div class="layui-col-sm3"> + <label class="layui-form-label">区号</label> + <div class="layui-input-block"> + <input name="areaCode" id="areaCode" lay-verify="required" required type="text" class="layui-input" + maxlength="10" /> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">经度</label> + <div class="layui-input-block"> + <input name="longitude" id="longitude" type="text" class="layui-input" maxlength="20" /> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">纬度</label> + <div class="layui-input-block"> + <input name="latitude" id="latitude" type="text" class="layui-input" maxlength="20" /> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">服务人员</label> + <div class="layui-input-block"> + <input name="serverUserId" id="serverUserId" type="hidden" value="" /> + <select lay-verify="required" required name="serverUserName" id="serverUserName" + style="width: 150px;"> + </select> + </div> + </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">医院简介</label> <div class="layui-input-block"> - <input name="hospital_about" type="text" class="layui-input" maxlength="500" /> + <textarea name="hospitalAbout" class="layui-textarea" maxlength="500"></textarea> </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="hospital-form-submit" lay-submit>保存</button> + <button class="layui-btn permissions" permissions="hospital-save" lay-filter="hospital-form-submit" lay-submit>保存</button> </div> + <input type="hidden" name="departmentId" id="departmentId" value="" /> + <input type="hidden" name="orgId" id="orgId" value="" /> + <input type="hidden" name="departmentOrgId" id="departmentOrgId" value="" /> + <input type="hidden" name="id" id="id" value="" /> </form> <script> - layui.use(['form', 'table', 'laydate', 'util', 'config', 'admin', 'area', 'formSelects', 'dic', 'autocomplete'], function () { + layui.use(['form', 'table', 'util', 'config', 'admin', 'area', 'dic', 'autocomplete'], function () { var form = layui.form; var table = layui.table; var config = layui.config; @@ -92,20 +150,11 @@ var admin = layui.admin; var area = layui.area; var dic = layui.dic; - var formSelects = layui.formSelects; var autocomplete = layui.autocomplete; + var $ = layui.jquery; - autocomplete.render({ - elem: $('#hospitalName'), - cache: true, - url: config.base_server + 'api-user/syshospital', - response: { code: 'code', data: 'data' }, - template_val: '{{d.hospitalName}}', - template_txt: '{{d.hospitalName}} <span class=\'layui-badge layui-bg-gray\'>{{d.id}}</span>', - onselect: function (resp) { - //$('#content1').html("NEW RENDER: " + JSON.stringify(resp)); - } - }) + permissionsInput(); + //医院资质数据 dic.dicData("#hospitalQualifiedName", "HOSPITAL_QUALIFIED", ""); //医院类型数据 @@ -120,6 +169,18 @@ //装载区县数据 form.on("select(hospitalCity)", function (data) { area.areaData("#hospitalArea", 3, data.value, ""); + //区号,金纬度自动赋值 + var cityDataFor = admin.getTempData("t_city"); + if (cityDataFor != null) { + cityDataFor.forEach(function (item) { + if (data.value == item.id) { + $("#areaCode").val(item.areaCitycode); + $("#longitude").val(item.areaLng); + $("#latitude").val(item.areaLat); + return; + } + }) + } }); //赋值资质数据ID form.on("select(hospitalQualifiedName)", function (data) { @@ -129,5 +190,155 @@ form.on("select(hospitalTypeName)", function (data) { $("#hospitalTypeId").val(data.value); }); + // 表单提交事件 + form.on('submit(hospital-form-submit)', function (data) { + layer.load(2); + if (data.field != null) { + + data.field.hospitalTypeName = $("#hospitalTypeName option:selected").text() != "请选择" ? $("#hospitalTypeName option:selected").text() : ""; + data.field.hospitalQualifiedName = $("#hospitalQualifiedName option:selected").text() != "请选择" ? $("#hospitalQualifiedName option:selected").text() : ""; + data.field.hospitalProvince = $("#hospitalProvince option:selected").text() != "选择省" ? $("#hospitalProvince option:selected").text() : ""; + data.field.hospitalCity = $("#hospitalCity option:selected").text() != "选择市" ? $("#hospitalCity option:selected").text() : ""; + data.field.hospitalArea = $("#hospitalArea option:selected").text() != "选择区县" ? $("#hospitalArea option:selected").text() : ""; + + admin.req('api-user/syshospital', JSON.stringify(data.field), function (data) { + if (data.code === 0) { + //存储科室数据 + var departmentData = { + serverUserId: $("#serverUserName").val(), + serverUserName: $("#serverUserName option:selected").text(), + departmentName: $("#departmentName").val(), + id: $("#departmentId").val(), + orgId: $("#departmentOrgId").val(), + updateUserId: data.data.orgId, + hospitalId: data.data.id + }; + admin.req('api-user/sysdepartment', JSON.stringify(departmentData), function (data) { + layer.closeAll('loading'); + if (data.code == 0) { + layer.msg(data.msg, { icon: 1, time: 1000 }, function () { + admin.finishPopupCenter(); + }); + admin.putTempData("t_hospital", ""); + admin.putTempData("t_city", ""); + } else { + layer.msg(data.msg, { icon: 2, time: 1000 }); + } + }, "POST"); + } else { + layer.msg(data.msg, { icon: 2, time: 1000 }); + } + }, "POST"); + } + else { + layer.msg("数据异常!", { icon: 2, time: 1000 }); + } + return false; + }); + //自动完成-医院名称 + autocomplete.render({ + elem: $('#hospitalName')[0], + keywordsName: 'hospitalName',//查询关键字名称 + url: config.base_server + 'api-user/syshospital/findByName', + template_val: '{{d.hospitalName}}',//选择后文本框显示的数据字段 + template_txt: "<div class='layui-table-cell'>{{d.hospitalName}}</div>",//下拉列表模板 + onselect: function (resp) { + loadDatas(resp.id); + } + }); + //加载当前所在部门的在职员工 + admin.req('api-user/users/getThisUserOrganizationUser', {}, function (data) { + layer.closeAll('loading'); + if (0 === data.code) { + if (data.data.length > 0) { + $.each(data.data, function (index, item) { + //往下拉菜单里添加元素 + $('#serverUserName').append(new Option(item.nickname, item.id, false, false)); + }) + $('#serverUserName').val(config.getUser().id); + $('#serverUserId').val(config.getUser().id); + form.render('select'); + } + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + }, 'get'); + //检查科室名是否存在 + $("#departmentName").blur(function () { + debugger + if (edithospitalData != null) { + if (edithospitalData.departmentName == $("#departmentName").val()) { + return false; + } + } + let hosIdForDep = $("#id").val(); + if (!strUtil.isEmpty($("#departmentName").val()) && !strUtil.isEmpty(hosIdForDep)) { + admin.req('api-user/sysdepartment/checkName', { hospitalId: hosIdForDep, departmentName: $("#departmentName").val() }, function (data) { + layer.closeAll('loading'); + if (0 != data.code) { + layer.msg(data.msg, { icon: 2, time: 1000 }); + return false; + } + }, 'get'); + } + }) + //按照ID装载数据 + var loadDatas = function (hosId) { + if (!strUtil.isEmpty(hosId)) { + //用ID获取实体 + admin.req('api-user/syshospital/' + hosId, {}, function (data) { + layer.closeAll('loading'); + if (0 === data.code) { + //装载基本数据 + let hosData = data.data; + form.val("hospital-form", hosData); + //装载省市区数据 + if (!strUtil.isEmpty(hosData.hospitalProvince)) + area.areaData("#hospitalProvince", 1, "", hosData.hospitalProvince); + if (!strUtil.isEmpty(hosData.hospitalCity)) + area.areaData("#hospitalCity", 2, $("#hospitalProvince").val(), hosData.hospitalCity); + + if (!strUtil.isEmpty(hosData.hospitalArea)) + area.areaData("#hospitalArea", 3, $("#hospitalCity").val(), hosData.hospitalArea); + //装载资质 类型 + $("#hospitalQualifiedName").val(hosData.hospitalQualifiedId); + $("#hospitalTypeName").val(hosData.hospitalTypeId); + + //装载科室数据 + admin.req('api-user/sysdepartment', { hospitalId: hosId, isDel: 0, page: 1, limit: 20 }, function (data) { + if (data.code == 0) { + let departData = data.data.data; + if (departData.length > 0) { + if (departData.length > 1) { + layer.msg("该医院下有多个科室,默认显示第一个", { icon: 1, time: 2000 }); + } + $("#serverUserId").val(departData[0].serverUserId); + $("#serverUserName").val(departData[0].serverUserId); + $("#departmentName").val(departData[0].departmentName); + $("#departmentId").val(departData[0].id); + $("#departmentOrgId").val(departData[0].orgId); + form.render(); + } + } + else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + }, 'get'); + form.render(); + + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + }, 'get'); + } + } + //回显组织数据 + let edithospitalData = admin.getTempData('t_hospital'); + var hosIdForEdit = ""; + if (edithospitalData != null) { + hosIdForEdit = edithospitalData.hospitalId; + if (!strUtil.isEmpty(hosIdForEdit)) + loadDatas(hosIdForEdit); + } }); </script> \ No newline at end of file -- Gitblit v1.8.0