forked from kidgrow-microservices-platform

houruijun
2020-07-20 06dd11c6f8c314200a9d4bee13f78ed984cd244e
修改医院/医生部分已知问题
3 files modified
278 ■■■■■ changed files
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysHospital.java 5 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDepartmentMapper.xml 3 ●●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html 270 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysHospital.java
@@ -137,9 +137,4 @@
     * 创建者的部门
     */
    private String createUserOrgCode;
    /**
     * 帐号数量,默认6
     */
    private Integer accountsCount;
}
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDepartmentMapper.xml
@@ -54,6 +54,9 @@
            <if test="p.updateTime != null and p.updateTime !=''">
                and update_time = #{p.updateTime}
            </if>
            <if test="p.accountsCount != null and p.accountsCount !=''">
                and accounts_count = #{p.accountsCount}
            </if>
        </where>
    </sql>
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html
@@ -11,7 +11,7 @@
            <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>
@@ -23,19 +23,19 @@
                <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: 175px;" />
                        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="50" />
                    <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>
@@ -66,7 +66,7 @@
                <label class="layui-form-label">帐号数量</label>
                <div class="layui-input-block">
                    <input id="accountsCount" name="accountsCount" type="text" value="6" class="layui-input"
                        maxlength="50" lay-verify="required|integer" style="width: 200px;" />
                        maxlength="1" lay-verify="required|integer" style="width: 200px;" />
                </div>
            </div>
        </div>
@@ -127,7 +127,7 @@
            <div class="layui-col-sm4">
                <label class="layui-form-label">服务人员</label>
                <div class="layui-input-block">
                    <input name="serverUserId" id="serverUserId" type="hidden" value="" />
                    <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>
@@ -136,7 +136,8 @@
            <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=""/>
                    <input name="serverUserTel" id="serverUserTel" type="text" class="layui-input" maxlength="20"
                        value="" />
                </div>
            </div>
        </div>
@@ -145,8 +146,9 @@
        <div class="layui-col-sm4">
            <label class="layui-form-label">销售人员</label>
            <div class="layui-input-block">
                <input name="saleUserId" id="saleUserId" type="hidden" value="" />
                <select lay-verify="required" required name="saleUserName" id="saleUserName" style="width: 150px;" lay-filter="saleUserName">
                <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>
@@ -154,14 +156,14 @@
        <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=""/>
                <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="hospitalAbout" 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">
@@ -175,8 +177,6 @@
</form>
<script>
    layui.use(['form', 'table', 'util', 'config', 'admin', 'area', 'dic', 'autocomplete'], function () {
        var form = layui.form;
        var table = layui.table;
@@ -188,69 +188,91 @@
        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) {
            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 (selectVal == item.id) {
                                $('#serverUserName').append(new Option(item.nickname, item.id, false, true));
                            }
                            else {
                            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));
                                $('#serverUserName').append(new Option(item.nickname, item
                                    .id, false, false));
                            }
                        })
                    }
                    if(hosIdForEdit == ""){
                    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 });
                    layer.msg(data.msg, {
                        icon: 2,
                        time: 500
                    });
                }
            }, 'get');
        }
        //加载销售人员信息
        var loadSaleUser = function (selectVal) {
            admin.req('api-user/users/getAppointUser', { type: 0 }, function (data) {
            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 (selectVal == item.id) {
                                $('#saleUserName').append(new Option(item.nickname, item.id, false, true));
                            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));
                                $('#saleUserName').append(new Option(item.nickname, item.id,
                                    false, false));
                            }
                        });
                        if(hosIdForEdit == ""){
                          $("#saleUserTel").val(data.data[0].mobile);
                          form.render();
                         }
                        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 });
                    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);
@@ -272,6 +294,7 @@
                })
            }
        });
        //赋值资质数据ID
        form.on("select(hospitalQualifiedName)", function (data) {
            $("#hospitalQualifiedId").val(data.value);
@@ -285,11 +308,16 @@
            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() : "";
                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) {
@@ -305,60 +333,54 @@
                            hospitalId: data.data.id,
                            saleUserId: $("#saleUserName").val(),
                            saleUserName: $("#saleUserName option:selected").text(),
                            saleUserTel: $("#saleUserTel").val()
                            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");
                        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 });
                        layer.msg(data.msg, {
                            icon: 2,
                            time: 1000
                        });
                    }
                }, "POST");
            }
            else {
                layer.msg("数据异常!", { icon: 2, time: 1000 });
            } else {
                layer.msg("数据异常!", {
                    icon: 2,
                    time: 1000
                });
            }
            return false;
        });
        //自动完成-医院名称
        autocomplete.render({
            elem: $('#hospitalName')[0],
            keywordsName: 'hospitalName',//查询关键字名称
            keywordsName: 'hospitalName', //查询关键字名称
            url: config.base_server + 'api-user/syshospital/findByName',
            template_val: '{{d.hospitalName}}',//选择后文本框显示的数据字段
            template_txt: "<div class='layui-table-cell'>{{d.hospitalName}}</div>",//下拉列表模板
            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 () {
@@ -369,10 +391,16 @@
            }
            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) {
                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 });
                        layer.msg(data.msg, {
                            icon: 2,
                            time: 1000
                        });
                        return false;
                    }
                }, 'get');
@@ -392,87 +420,103 @@
                        if (!strUtil.isEmpty(hosData.hospitalProvince))
                            area.areaData("#hospitalProvince", 1, "", hosData.hospitalProvince);
                        if (!strUtil.isEmpty(hosData.hospitalCity))
                            area.areaData("#hospitalCity", 2, $("#hospitalProvince").val(), hosData.hospitalCity);
                            area.areaData("#hospitalCity", 2, $("#hospitalProvince").val(), hosData
                                .hospitalCity);
                        if (!strUtil.isEmpty(hosData.hospitalArea))
                            area.areaData("#hospitalArea", 3, $("#hospitalCity").val(), 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) {
                        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 });
                                        layer.msg("该医院下有多个科室,默认显示第一个", {
                                            icon: 1,
                                            time: 2000
                                        });
                                    }
                                    $("#serverUserId").val(departData[0].serverUserId);
                                    loadServerUser(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);
                                    loadSaleUser(departData[0].saleUserId);
                                    if(hosIdForEdit != ""){
                                        $("#serverUserTel").val(departData[0].serverUserTel);
                                    $("#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 });
                            } else {
                                layer.msg(data.msg, {
                                    icon: 2,
                                    time: 500
                                });
                            }
                        }, 'get');
                        form.render();
                    } else {
                        layer.msg(data.msg, { icon: 2, time: 500 });
                        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);
        //装载基本数据
        if (!strUtil.isEmpty(hosIdForEdit)) {
            loadDatas(hosIdForEdit);
        }
        layui.use('form', function () {
            var $ = layui.$
                , layer = layui.layer
                , form = layui.form
            var $ = layui.$,
                layer = layui.layer,
                form = layui.form
            form.verify({
                integer: [
                    /^[1-9]\d*$/
                    , '只能输入正整数'
                    /^[1-9]\d*$/, '只能输入正整数'
                ]
            });
        });
        form.on("select(serverUserName)", function (data) {
            loadUserMobile('serverUserTel',data.value);
            loadUserMobile('serverUserTel', data.value);
        });
        form.on("select(saleUserName)", function (data) {
            loadUserMobile('saleUserTel',data.value);
            loadUserMobile('saleUserTel', data.value);
        });
        var loadUserMobile = function(id,userId){
            admin.req('api-user/users/' + userId, { }, function (data) {
        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 });
                } else {
                    layer.msg(data.msg, {
                        icon: 2,
                        time: 500
                    });
                }
            }, 'get')
        }