From 92257d291a9d171a15b22c1fc6527b1a909ac3f6 Mon Sep 17 00:00:00 2001 From: houruijun <411269194@kidgrow.com> Date: Sun, 09 Aug 2020 15:11:30 +0800 Subject: [PATCH] 1.增加运营平台首页页面功能 2.修改检查科室名称的问题 --- kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html | 531 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 470 insertions(+), 61 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..c6adb27 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,96 @@ -<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="20" + 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="20" lay-verify="required" required style="width: 175px;" /> +  </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="20" /> + </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="20" 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-sm4"> + <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: 50px;"> + <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 class="layui-col-sm3"> + <label class="layui-form-label">帐号数量</label> + <div class="layui-input-block"> + <input id="accountsCount" name="accountsCount" type="text" value="6" class="layui-input" + maxlength="1" lay-verify="required|integer" 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="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 +100,84 @@ </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 class="layui-row"> + <div class="layui-col-sm4"> + <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-sm4"> + <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-sm4"> + <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> </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-sm4"> + <label class="layui-form-label">服务人员</label> + <div class="layui-input-block"> + <input name="serverUserId" id="serverUserId" type="hidden" value="" maxlength="20" /> + <select lay-verify="required" required name="serverUserName" id="serverUserName" + style="width: 150px;" lay-filter="serverUserName"> + </select> + </div> + </div> + <div class="layui-col-sm6"> + <label class="layui-form-label">服务人电话</label> + <div class="layui-input-block"> + <input name="serverUserTel" id="serverUserTel" type="text" class="layui-input" maxlength="20" + value="" /> + </div> + </div> + </div> + </div> + <div class="layui-form-item"> + <div class="layui-col-sm4"> + <label class="layui-form-label">销售人员</label> + <div class="layui-input-block"> + <input name="saleUserId" id="saleUserId" type="hidden" value="" maxlength="20" /> + <select lay-verify="required" required name="saleUserName" id="saleUserName" style="width: 150px;" + lay-filter="saleUserName"> + </select> + </div> + </div> + + <div class="layui-col-sm6"> + <label class="layui-form-label">销售人电话</label> + <div class="layui-input-block"> + <input name="saleUserTel" id="saleUserTel" type="text" class="layui-input" maxlength="20" value="" /> + </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="300"></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> </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,35 +186,121 @@ var admin = layui.admin; var area = layui.area; var dic = layui.dic; - var formSelects = layui.formSelects; var autocomplete = layui.autocomplete; + var $ = layui.jquery; + //加载服务人员信息 + var loadServerUser = function (selectVal) { + admin.req('api-user/users/getAppointUser', { + type: 1 + }, function (data) { + layer.closeAll('loading'); + if (0 === data.code) { + if (data.data.length > 0) { + $.each(data.data, function (index, item) { + if (!strUtil.isEmpty(selectVal) && selectVal == item.id) { + $('#serverUserName').append(new Option(item.nickname, item + .id, false, true)); + } else { + //往下拉菜单里添加元素 + $('#serverUserName').append(new Option(item.nickname, item + .id, false, false)); + } + }) + } - 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)); - } - }) + if (hosIdForEdit == "") { + $("#serverUserTel").val(data.data[0].mobile); + $('#serverUserName').val(data.data[0].id); + form.render(); + } + } else { + layer.msg(data.msg, { + icon: 2, + time: 2000 + }); + } + + }, 'get'); + } + + //加载销售人员信息 + var loadSaleUser = function (selectVal) { + admin.req('api-user/users/getAppointUser', { + type: 0 + }, function (data) { + layer.closeAll('loading'); + if (0 === data.code) { + if (data.data.length > 0) { + $.each(data.data, function (index, item) { + //往下拉菜单里添加元素 + if (!strUtil.isEmpty(selectVal) && selectVal == item.id) { + $('#saleUserName').append(new Option(item.nickname, item.id, + false, true)); + } else { + $('#saleUserName').append(new Option(item.nickname, item.id, + false, false)); + } + }); + + if (hosIdForEdit == "") { + $("#saleUserTel").val(data.data[0].mobile); + $('#saleUserName').val(data.data[0].id); + form.render(); + } + } + } else { + layer.msg(data.msg, { + icon: 2, + time: 2000 + }); + } + + }, 'get'); + } //医院资质数据 dic.dicData("#hospitalQualifiedName", "HOSPITAL_QUALIFIED", ""); //医院类型数据 dic.dicData("#hospitalTypeName", "HOSPITAL_TYPE", ""); //省份数据加载 area.areaData("#hospitalProvince", 1, "", ""); + //回显组织数据 + let edithospitalData = admin.getTempData('t_hospital'); + var hosIdForEdit = ""; + var departmentId = ""; + if (edithospitalData != null) { + hosIdForEdit = edithospitalData.hospitalId; + departmentId = edithospitalData.departmentId; + } + //装载销售人员 服务人员数据 + loadServerUser(); + loadSaleUser(); + //装载市区数据 form.on("select(hospitalProvince)", function (data) { area.areasClear("#hospitalArea", 3); area.areaData("#hospitalCity", 2, data.value, ""); + defaultValData(); }); //装载区县数据 form.on("select(hospitalCity)", function (data) { area.areaData("#hospitalArea", 3, data.value, ""); + defaultValData(); }); + form.on("select(hospitalArea)", function (data) { + //区号,金纬度自动赋值 + var areaDataFor = admin.getTempData("t_area"); + if (areaDataFor != null) { + areaDataFor.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) { $("#hospitalQualifiedId").val(data.value); @@ -129,5 +309,234 @@ 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(), + serverUserTel: $("#serverUserTel").val(), + departmentName: $("#departmentName").val(), + id: $("#departmentId").val(), + orgId: '' + $("#departmentOrgId").val(), + updateUserId: '' + data.data.orgId, + hospitalId: '' + data.data.id, + saleUserId: '' + $("#saleUserName").val(), + saleUserName: $("#saleUserName option:selected").text(), + saleUserTel: $("#saleUserTel").val(), + accountsCount: $("#accountsCount").val() + }; + admin.req('api-user/sysdepartment/'+data.data.id, 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_area", ""); + } 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) { + departmentId = ""; + loadDatas(resp.id); + } + }); + + //检查科室名是否存在 + $("#departmentName").blur(function () { + 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); + if (!strUtil.isEmpty(departmentId)) { + //装载科室数据 + admin.req('api-user/sysdepartment', { + id: departmentId, + 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); + $("#saleUserId").val(departData[0].saleUserId); + $("#accountsCount").val(departData[0] + .accountsCount); + $('#saleUserName').val(departData[0].saleUserId); + + if (hosIdForEdit != "") { + $("#serverUserTel").val(departData[0] + .serverUserTel); + $("#saleUserTel").val(departData[0] + .saleUserTel); + } + form.render(); + } + } else { + layer.msg(data.msg, { + icon: 2, + time: 2000 + }); + } + }, 'get'); + } + + form.render(); + } else { + layer.msg(data.msg, { + icon: 2, + time: 2000 + }); + } + }, 'get'); + } + } + + //装载基本数据 + if (!strUtil.isEmpty(hosIdForEdit)) { + loadDatas(hosIdForEdit); + } + + layui.use('form', function () { + var $ = layui.$, + layer = layui.layer, + form = layui.form + + form.verify({ + integer: [ + /^[1-9]\d*$/, '只能输入正整数' + ] + }); + }); + + form.on("select(serverUserName)", function (data) { + loadUserMobile('serverUserTel', data.value); + }); + + form.on("select(saleUserName)", function (data) { + loadUserMobile('saleUserTel', data.value); + }); + + var loadUserMobile = function (id, userId) { + admin.req('api-user/users/' + userId, {}, function (data) { + if (data != null) { + $("#" + id).val(data.mobile); + } else { + layer.msg(data.msg, { + icon: 2, + time: 2000 + }); + } + }, 'get') + } + //重置区号 金纬度 + var defaultValData = function () { + $("#areaCode").val(""); + $("#longitude").val(""); + $("#latitude").val(""); + } }); </script> \ No newline at end of file -- Gitblit v1.8.0