From 17112a33c4c154237fd0a07fc636d16c6e590fcd Mon Sep 17 00:00:00 2001
From: houruijun <411269194@kidgrow.com>
Date: Wed, 22 Jul 2020 18:52:55 +0800
Subject: [PATCH] 增加获取当前医院套餐的feign调用
---
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html | 513 ++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 452 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..46041b2 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,26 +186,93 @@
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: 500
+ });
+ }
+
+ }, '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: 500
+ });
+ }
+
+ }, 'get');
+ }
//医院资质数据
dic.dicData("#hospitalQualifiedName", "HOSPITAL_QUALIFIED", "");
//医院类型数据
dic.dicData("#hospitalTypeName", "HOSPITAL_TYPE", "");
//省份数据加载
area.areaData("#hospitalProvince", 1, "", "");
+ //回显组织数据
+ let edithospitalData = admin.getTempData('t_hospital');
+ var hosIdForEdit = "";
+ if (edithospitalData != null) {
+ hosIdForEdit = edithospitalData.hospitalId;
+ }
+ //装载销售人员 服务人员数据
+ loadServerUser();
+ loadSaleUser();
+
//装载市区数据
form.on("select(hospitalProvince)", function (data) {
area.areasClear("#hospitalArea", 3);
@@ -120,7 +281,20 @@
//装载区县数据
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) {
$("#hospitalQualifiedId").val(data.value);
@@ -129,5 +303,222 @@
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', 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);
+ }
+ });
+
+ //检查科室名是否存在
+ $("#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);
+
+ //装载科室数据
+ 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);
+ $("#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: 500
+ });
+ }
+ }, 'get');
+ form.render();
+
+ } else {
+ layer.msg(data.msg, {
+ icon: 2,
+ time: 500
+ });
+ }
+ }, '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: 500
+ });
+ }
+ }, 'get')
+ }
});
</script>
\ No newline at end of file
--
Gitblit v1.8.0