From c58a42aa1acc821e0c3e748de7205e58af6c350b Mon Sep 17 00:00:00 2001 From: houruijun <411269194@kidgrow.com> Date: Tue, 01 Sep 2020 16:44:25 +0800 Subject: [PATCH] 1.修改充值页面,可支持修改起始结束时间 2.修改添加医院/医生页面,增加自动选择当前服务/销售人员 3.调整页面部分显示细节问题 --- kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html | 485 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 411 insertions(+), 74 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 1eaca5e..7bc7364 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 @@ -5,13 +5,13 @@ <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" style="width: 390px;" /> + 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" + <input name="hospitalShortName" type="text" class="layui-input" maxlength="20" style="width: 200px;" /> </div> </div> @@ -19,29 +19,35 @@ </div> <div class="layui-form-item"> <div class="layui-row"> - <div class="layui-col-sm7"> + <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="50" - style="width: 390px;" /> + <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="50" style="width: 200px;" /> + <input name="hospitalLink" type="text" class="layui-input" maxlength="20" style="width: 200px;" /> </div> </div> </div> </div> <div class="layui-form-item"> <div class="layui-row"> - <div class="layui-col-sm7"> + <div class="layui-col-sm4"> <label class="layui-form-label">医院类型</label> <div class="layui-input-block"> - <input name="hospitalTypeId" id="hospitalTypeId" type="hidden" value=""/> + <input name="hospitalTypeId" id="hospitalTypeId" type="hidden" value="" /> <select name="hospitalTypeName" id="hospitalTypeName" lay-filter="hospitalTypeName" - style="width: 300px;"> + style="width: 50px;"> <option value="">请选择</option> </select> </div> @@ -49,11 +55,18 @@ <div class="layui-col-sm3"> <label class="layui-form-label">医院资质</label> <div class="layui-input-block"> - <input name="hospitalQualifiedId" id="hospitalQualifiedId" type="hidden" value=""/> + <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> @@ -63,14 +76,17 @@ <label class="layui-form-label">所在地区</label> <div class="layui-input-block"> <div class="layui-col-sm4"> - <select id="hospitalProvince" placeholder="省份" lay-filter="hospitalProvince" style="width: 400px;"> + <select lay-verify="required" required id="hospitalProvince" placeholder="省份" + lay-filter="hospitalProvince" style="width: 400px;"> </select></div> <div class="layui-col-sm4"> - <select id="hospitalCity" placeholder="市" lay-filter="hospitalCity" style="width: 350px;"> + <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" placeholder="区县" lay-filter="hospitalArea" style="width: 350px;"> + <select id="hospitalArea" lay-verify="required" required placeholder="区县" lay-filter="hospitalArea" + style="width: 350px;"> <option value="">选择区县</option> </select> </div> @@ -85,80 +101,209 @@ </div> <div class="layui-form-item"> <div class="layui-row"> - <div class="layui-col-sm3"> + <div class="layui-col-sm4"> <label class="layui-form-label">区号</label> <div class="layui-input-block"> - <input name="areaCode" type="text" class="layui-input" maxlength="10" /> + <input name="areaCode" id="areaCode" lay-verify="required" required type="text" class="layui-input" + maxlength="10" /> </div> </div> - <div class="layui-col-sm3"> + <div class="layui-col-sm4"> <label class="layui-form-label">经度</label> <div class="layui-input-block"> - <input name="longitude" type="text" class="layui-input" maxlength="20" /> + <input name="longitude" id="longitude" type="text" class="layui-input" maxlength="20" /> </div> </div> - <div class="layui-col-sm3"> + <div class="layui-col-sm4"> <label class="layui-form-label">纬度</label> <div class="layui-input-block"> - <input name="latitude" type="text" class="layui-input" maxlength="20" /> + <input name="latitude" id="latitude" type="text" class="layui-input" maxlength="20" /> </div> </div> </div> </div> + <div class="layui-form-item"> + <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"> - <textarea name="hospital_about" class="layui-textarea" maxlength="500"></textarea> + <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" id="orgId" name="orgId" value=""/> + <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> - parent.layui.use(['form', 'table','util', 'config', 'admin', 'area', 'formSelects', 'dic', 'autocomplete'], function () { - var form = parent.layui.form; - var table = parent.layui.table; - var config = parent.layui.config; - var layer = parent.layui.layer; - var util = parent.layui.util; - var admin = parent.layui.admin; - var area = parent.layui.area; - var dic = parent.layui.dic; - var formSelects = parent.layui.formSelects; - var autocomplete = parent.layui.autocomplete; - var $ = parent.layui.jquery; + layui.use(['form', 'table', 'util', 'config', 'admin', 'area', 'dic', 'autocomplete'], 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 area = layui.area; + var dic = layui.dic; + 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) { + //往下拉菜单里添加元素 + $('#saleUserName').append(new Option(item.nickname, item.id, + false, (!strUtil.isEmpty(selectVal) && selectVal == item.id))); + }); + + 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 = ""; + //当前登录人员的id + var selectVal=""; + if (edithospitalData != null) { + hosIdForEdit = edithospitalData.hospitalId; + departmentId = edithospitalData.departmentId; + } + else{ + //先拿到当前登录用户的信息 + var nowUser = config.getUser(); + if (!strUtil.isEmpty(nowUser)) { + selectVal = nowUser.id; + } + } + //装载销售人员 服务人员数据 + loadServerUser(selectVal); + loadSaleUser(selectVal); + //装载市区数据 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); @@ -167,42 +312,234 @@ form.on("select(hospitalTypeName)", function (data) { $("#hospitalTypeId").val(data.value); }); - - // 回显组织数据 - let orgs = admin.getTempData('t_org'); - if (orgs != null) { - $('input[name="hospitalName"]').val(orgs.orgName); - $('input[name="orgId"]').val(orgs.id); - form.render(); - } // 表单提交事件 form.on('submit(hospital-form-submit)', function (data) { layer.load(2); - if(data.field!=null){ - - data.field.hospitalTypeName=$("#hospitalTypeName option:selected").text(); - data.field.hospitalQualifiedName=$("#hospitalQualifiedName option:selected").text(); - data.field.hospitalProvince=$("#hospitalProvince option:selected").text(); - data.field.hospitalCity=$("#hospitalCity option:selected").text(); - data.field.hospitalArea=$("#hospitalArea option:selected").text(); + if (data.field != null) { - admin.req('api-user/syshospital', JSON.stringify(data.field), function (data) { - layer.closeAll('loading'); - if (data.code == 0) { - //将医院数据存入本地 - admin.putTempData('t_hospital', data.data); - layer.msg(data.msg, { icon: 1, time: 1000 }, function () { - //清理组织数据 - admin.putTempData('t_org',''); - }); - } else { - layer.msg(data.msg, { icon: 2, time: 1000 }); - } - }, "POST");} - else{ - layer.msg("数据异常!", { icon: 2, time: 1000 }); + 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