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;" />
+                    &emsp;</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