forked from kidgrow-microservices-platform

zhaoxiaohao
2020-07-25 ca56526a3fe3d2fbba7f6e8c014f83bf1dd9b24c
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
@@ -36,8 +36,10 @@
<script type="text/html" id="doctor-table-bar">
    <a class="layui-btn layui-btn-primary layui-btn-xs"  lay-event="detail">查看详情</a>
    <button class="layui-btn layui-btn-primary layui-btn-xs permissions" permissions="users-edit" lay-event="reset">重置密码</button>
    <button class="layui-btn layui-btn-primary layui-btn-xs permissions"  permissions="sysdoctor-edit" lay-event="edit">修改</button>
    <button class="layui-btn layui-btn-primary layui-btn-xs permissions" permissions="users-edit"
        lay-event="reset">重置密码</button>
    <button class="layui-btn layui-btn-primary layui-btn-xs permissions" permissions="sysdoctor-edit"
        lay-event="edit">修改</button>
    <button class="layui-btn layui-btn-xs permissions"  permissions="sysdoctor-del" lay-event="del">删除</button>
</script>
@@ -52,65 +54,89 @@
        <input name="id" type="hidden"/>
        <div style="display:flex">
        <div class="layui-form-item">
            <label class="layui-form-label">医院名称</label>
            <div class="layui-input-block">
                <input name="hospitalName" id="hospitalName" type="hidden" class="layui-input" maxlength="20"/>
                       <select id="hospitalId" name="hospitalId" lay-filter="getdepartment"  placeholder="选择一个应用" lay-verify="required" required>
                        <option value="">-请选择-</option>
                    </select>
                <div class="layui-inline">
                    <label class="layui-form-label" style="width: 75px;">所在医院</label>
                    <div class="layui-input-block" style="width: 150px;">
                        <input name="hospitalName" id="hospitalName" placeholder="请输入医院名称" type="text"
                            class="layui-input" maxlength="50" lay-verify="required" required style="width: 150px;" />
                        <input type="hidden" name="hospitalId" id="hospitalId" />
            </div>
        </div>
        <div class="layui-form-item">
                <div class="layui-inline">
            <label class="layui-form-label">科室</label>
            <div class="layui-input-block">
                <input name="departmentName" id="departmentName"   placeholder="请输入应用名称" type="hidden" class="layui-input" maxlength="20"/>
                <select id="departmentId" name="departmentId" lay-filter="departmentId"  placeholder="选择一个应用" lay-verify="required" required>
                    <option value="">-请选择-</option>
                    <div class="layui-input-block" style="width: 150px;">
                        <input name="departmentName" id="departmentName" placeholder="请选择科室" class="layui-input"
                            maxlength="20" />
                        <!-- <select id="departmentId" name="departmentId" lay-filter="departmentId" placeholder="请选择科室"
                        lay-verify="required" required>
                        <option value="">-请选择科室-</option>
                    </select> -->
                    </div>
                </div>
                <div class="layui-inline">
                    <label class="layui-form-label">医生类型</label>
                    <div class="layui-input-block" style="width: 150px;">
                        <select id="doctorType" name="doctorType" lay-filter="doctorType" lay-verify="required"
                            required>
                            <option value="2" selected>C端医生</option>
                            <option value="1">H端医生</option>
                            <option value="0">C端+H端</option>
                </select>
            </div>
        </div>
    </div>
    <div style="display:flex">
        <div class="layui-form-item">
            <label class="layui-form-label">医生姓名</label>
            <div class="layui-input-block">
                <input name="doctorName"  type="text" class="layui-input" maxlength="20"
                       lay-verify="required" required />
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label" >销售代表名称</label>
            <div class="layui-input-block">
                <input name="serverUserName"  type="text" class="layui-input" maxlength="15" lay-verify="required" required/>
            </div>
        </div>
    </div>
    <div style="display:flex">
        <div class="layui-form-item">
            <label class="layui-form-label">联系方式</label>
            <div class="layui-input-block">
                <input name="doctorTel"  type="text" class="layui-input" maxlength="20" lay-verify="required|phone" required/>
                <div class="layui-inline">
                    <label class="layui-form-label">姓名</label>
                    <div class="layui-input-block" style="width: 150px;">
                        <input name="doctorName" type="text" class="layui-input" maxlength="20" lay-verify="required"
                            required style="width: 150px;" />
            </div>
        </div>
        <div class="layui-form-item">
                <div class="layui-inline">
            <label class="layui-form-label">职称</label>
                    <div class="layui-input-block" style="width: 150px;">
                        <!-- <select id="doctorRankId" name="doctorRankId" lay-filter="doctorRankId" placeholder="选择一个职称"
                        lay-verify="required" required>
                        <option value="">-请选择-</option>
                    </select> -->
                        <input name="doctorRank" id='doctorRank' class="layui-input" maxlength="20" />
                    </div>
                </div>
                <div class="layui-inline">
                    <label class="layui-form-label">是否是管理员</label>
            <div class="layui-input-block">
                <input name="doctorRank"  type="text" class="layui-input" maxlength="20" lay-verify="required" required/>
                        <input name="isAdminUser" id="isAdminUser-shi" type="radio" value="true" title="是"
                            class="layui-input" />
                        <input name="isAdminUser" id="isAdminUser-fou" type="radio" value="false" title="否"
                            class="layui-input" />
                    </div>
            </div>
        </div>
    </div>
    <div style="display:flex">
        <div class="layui-form-item">
            <label class="layui-form-label">其它联系方式</label>
            <div class="layui-input-block">
                <input name="doctorOtherLink"  type="text" class="layui-input" maxlength="20" lay-verify="required" required/>
                <div class="layui-inline">
                    <label class="layui-form-label">联系电话</label>
                    <div class="layui-input-block" style="width: 150px;">
                        <input name="doctorTel" id="doctorTel-add" type="text" class="layui-input" maxlength="20"
                            lay-verify="required|phone" required style="width: 150px;" />
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">医生的email</label>
            <div class="layui-input-block">
                <input name="doctorEmail"  type="text" class="layui-input" maxlength="20" lay-verify="required|email" required/>
                <div class="layui-inline">
                    <label class="layui-form-label">电话</label>
                    <div class="layui-input-block" style="width: 150px;">
                        <input name="doctorOtherLink" type="text" class="layui-input" maxlength="20" />
                    </div>
                </div>
                <div class="layui-inline">
                    <label class="layui-form-label">Email</label>
                    <div class="layui-input-block" style="width: 150px;">
                        <input name="doctorEmail" type="text" class="layui-input" maxlength="20"
                            lay-verify="required|email" required />
                    </div>
            </div>
        </div>
    </div>  
@@ -118,64 +144,94 @@
        <div class="layui-form-item">
            <label class="layui-form-label">医生简介</label>
            <div class="layui-input-block">
                <input name="doctorAbout"  type="text" class="layui-input" maxlength="20"/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">是否医答</label>
            <div class="layui-input-block">
                <input name="isAnswer" id="isAnswer-shi" type="radio" checked value="true" title="是" class="layui-input" maxlength="20"/>
                <input name="isAnswer" id="isAnswer-fou" type="radio"  value="false" title="否" class="layui-input" maxlength="20"/>
                    <textarea name="doctorAbout" id="doctorAbout" class="layui-textarea" maxlength="300"
                        style="width: 650px;"></textarea>
            </div>
        </div>
    </div>
    <div style="display:flex"> 
        <div class="layui-form-item">
            <label class="layui-form-label">是否签约医生</label>
            <div class="layui-input-block">
                <input name="isSigning" id="isSigning-shi" type="radio" checked value="true" title="是" class="layui-input" maxlength="20"/>
                <input name="isSigning" id="isSigning-fou" type="radio"  value="false" title="否" class="layui-input" maxlength="20"/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label"> 是否置顶</label>
            <div class="layui-input-block">
                <input name="isTop" id="isTop-shi" type="radio" checked value="true" title="是" class="layui-input" maxlength="20"/>
                <input name="isTop" id="isTop-fou" type="radio"  value="false" title="否" class="layui-input" maxlength="20"/>
            </div>
        </div>
    </div>
        <div class="layui-form-item">
            <label class="layui-form-label"> 医生状态</label>
            <div class="layui-input-block">
                <input name="doctorState" id="doctorState-shi" type="radio" checked value="true" title="是" class="layui-input" maxlength="20"/>
                <input name="doctorState" id="doctorState-fou" type="radio"  value="false" title="否" class="layui-input" maxlength="20"/>
                    <input name="doctorState" id="doctorState-shi" type="radio" checked value="true" title="正常"
                        class="layui-input" />
                    <input name="doctorState" id="doctorState-fou" type="radio" value="false" title="试用"
                        class="layui-input" />
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label"> 置顶</label>
                <div class="layui-input-block">
                    <input name="isTop" id="isTop-shi" type="radio" checked value="true" title="是"
                        class="layui-input" />
                    <input name="isTop" id="isTop-fou" type="radio" value="false" title="否" class="layui-input" />
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label">医答</label>
                <div class="layui-input-block">
                    <input name="isAnswer" id="isAnswer-shi" type="radio" checked value="true" title="是"
                        class="layui-input" />
                    <input name="isAnswer" id="isAnswer-fou" type="radio" value="false" title="否" class="layui-input" />
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label">签约</label>
                <div class="layui-input-block">
                    <input name="isSigning" id="isSigning-shi" type="radio" checked value="true" title="是"
                        class="layui-input" />
                    <input name="isSigning" id="isSigning-fou" type="radio" value="false" title="否"
                        class="layui-input" />
                </div>
            </div>
        </div>
        <div style="display:flex">
            <div class="layui-form-item">
                <div class="layui-inline">
                    <label class="layui-form-label">登录帐号</label>
                    <div class="layui-input-block" style="width: 150px;">
                        <input name="username" id="username" readonly type="text" class="layui-input" maxlength="20"
                            lay-verify="required" required />
                    </div>
                </div>
                <div class="layui-inline">
                    <label class="layui-form-label">销售代表</label>
                    <div class="layui-input-block" style="width: 150px;">
                        <input name="serverUserName" id="serverUserName-add" class="layui-input" maxlength="15" />
                    </div>
                </div>
            </div>
        </div>
        <div style="display:flex">
            <div class="layui-form-item">
                <div class="layui-inline">
                    <label class="layui-form-label">医生的头像</label>
                    <div class="layui-input-block" id="demo" style="width: 150px;">
                        <img id="doctorLogo" src="" width="100px" height="100px">
                    </div>
                </div>
            </div>
            <div class="layui-form-item">
                <div class="layui-inline">
                    <label class="layui-form-label">资质证书</label>
                    <div class="layui-input-block" id="demo" style="width: 150px;">
                        <img id="doctorCcie" src="" width="200px" height="200px">
                    </div>
                </div>
            </div>
        </div>
        
    <div class="layui-form-item">
        <label class="layui-form-label">医生的头像</label>
        <div class="layui-input-block" id="demo" >
            <button type="button" class="layui-btn" id="phonto">
                <i class="layui-icon">&#xe67c;</i>上传图片
              </button>
            <input name="doctorLogo" id="doctorLogo-add"  type="hidden" class="layui-input" maxlength="20"/>
            <blockquote class="layui-elem-quote layui-quote-nm"  style="margin-top: 10px;  width:150px">
                预览图:
                <div class="layui-upload-list" id="demo2"></div>
            </blockquote>
        </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 permissions" permissions="sysdoctor-edit" id="sure" lay-filter="user-form-submit" lay-submit>保存</button>
            <button class="layui-btn permissions" ew-event="closeDialog" id="shen_he" type="button">审核通过</button>
            <button class="layui-btn permissions" ew-event="closeDialog" type="button" id="sure">关闭</button>
        </div>
    </form>
</script>
<script>
    layui.use(['form', 'table', 'laydate', 'util', 'config', 'upload', 'admin', 'autocomplete','formSelects'], function () {
    layui.use(['form', 'table', 'laydate', 'util', 'config', 'upload', 'admin', 'autocomplete', 'formSelects'],
        function () {
        var form = layui.form;
        var table = layui.table;
        var config = layui.config;
@@ -185,7 +241,11 @@
        var autocomplete = layui.autocomplete;
        var formSelects = layui.formSelects;
        var $ = layui.jquery;
        form.verify({ confirmPass: function (value) { if ($('input[name=password]').val() !== value) return '两次密码输入不一致!'; } });
            form.verify({
                confirmPass: function (value) {
                    if ($('input[name=password]').val() !== value) return '两次密码输入不一致!';
                }
            });
        //医院数据绑定在弹框里
        var hospital = "";
@@ -198,7 +258,9 @@
        // 获取应用列表
        // layer.load(2);
        admin.req('api-user/syshospital/findAllByMap', JSON.stringify({ is_del: 0 }), function (data) {
            admin.req('api-user/syshospital/findAllByMap', JSON.stringify({
                is_del: 0
            }), function (data) {
            layer.closeAll('loading');
            if (0 === data.code) {
                let selected = false;
@@ -211,12 +273,16 @@
                        selected = false;
                    }
                    //往下拉菜单里添加元素
                    $('#hospitalName-seach').append(new Option(item.hospitalName, item.id, false, selected));
                        $('#hospitalName-seach').append(new Option(item.hospitalName, item.id,
                            false, selected));
                    form.render('select', 'app-form');
                })
                form.render();
            } else {
                layer.msg(data.msg, { icon: 2, time: 500 });
                    layer.msg(data.msg, {
                        icon: 2,
                        time: 500
                    });
            }
        }, 'Post');
        //自动完成-医院名称
@@ -232,26 +298,42 @@
        });
        // 修改company状态
        form.on('switch(doctor-tpl-state)', function (obj) {
            layer.load(2);
            var updata_enable = function (obj) {
                // alert('确定审核通过吗',{icon: 3, title:'提示'}, function(index){
                //     console.log("111111111111111111111",index)
                //     layer.close(index);
                // });
                layer.confirm('确定审核通过吗?', function (i) {
            admin.req('api-user/sysdoctor/enable', JSON.stringify({
                id: obj.elem.value,
                enabled: obj.elem.checked ? true : false
                        id: obj.id,
                        enabled: true
            }), function (data) {
                layer.closeAll('loading');
                if (data.code == 0) {
                    layer.msg(data.msg, { icon: 1, time: 500 });
                    //table.reload('table-user', {});
                            layer.msg(data.msg, {
                                icon: 1,
                                time: 500
                            });
                            parent.layui.table.reload('app-table', {});
                } else {
                    layer.msg(data.msg, { icon: 2, time: 500 });
                            layer.msg(data.msg, {
                                icon: 2,
                                time: 500
                            });
                    $(obj.elem).prop('checked', !obj.elem.checked);
                    form.render('checkbox');
                }
            }, 'POST');
        });
            };
        //职称添加数据
        var getZhiCheng = function () {
            admin.req('api-user/sysdictionaries/findAll', JSON.stringify({ dictionariesClassId: "1248150699682988034" }), function (data) {
                admin.req('api-user/sysdictionaries/findAll', JSON.stringify({
                    dictionariesClassId: "1248150699682988034"
                }), function (data) {
                layer.closeAll('loading');
                if (0 === data.code) {
                    let selected = false;
@@ -263,10 +345,14 @@
                            selected = false;
                        }
                        //往下拉菜单里添加元素
                        $('#doctorRankId').append(new Option(item.dictionariesName, item.id, false, selected));
                            $('#doctorRankId').append(new Option(item.dictionariesName, item.id,
                                false, selected));
                    })
                } else {
                    layer.msg(data.msg, { icon: 2, time: 500 });
                        layer.msg(data.msg, {
                            icon: 2,
                            time: 500
                        });
                }
            }, 'Post');
        }
@@ -279,17 +365,21 @@
                    $.each(data.data, function (index, item) {
                        //往下拉菜单里添加元素
                        console.log(item.nickname)
                        $('#serverUserId-add').append(new Option(item.nickname, item.id, false, false));
                            $('#serverUserId-add').append(new Option(item.nickname, item.id,
                                false, false));
                    })
                } else {
                    layer.msg(data.msg, { icon: 2, time: 500 });
                        layer.msg(data.msg, {
                            icon: 2,
                            time: 500
                        });
                }
            }, 'get');
        }
        // 添加按钮点击事件
        $('#doctor-btn-add').click(function () {
            showEditModel_add(undefined, 2);
                showEditModel_add("添加");
        });
        //时间格式
        var laydate = layui.laydate;
@@ -306,56 +396,168 @@
            elem: '#app-table',
            url: config.base_server + 'api-user/sysdoctor',
            method: 'GET',
            headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
                headers: {
                    'Authorization': 'Bearer ' + config.getToken().access_token
                },
            page: true,
            cols: [[
                { field: 'hospitalName', width: 180, title: '医院名称' },
                { field: 'doctorName', width: 120, title: '医生姓名' },
                { field: 'doctorRank', width: 100, title: '职称' },
                { field: 'username', width: 150, title: '登录帐号' },
                { field: 'doctorTel', width: 150, title: '联系方式' },
                cols: [
                    [{
                            field: 'hospitalName',
                            width: 180,
                            title: '医院名称'
                        },
                {
                    field: 'isAnswer', width: 100, title: '医答', templet: function (d) {
                            field: 'doctorName',
                            width: 120,
                            title: '医生姓名'
                        },
                        {
                            field: 'doctorRank',
                            width: 100,
                            title: '职称'
                        },
                        {
                            field: 'username',
                            width: 150,
                            title: '登录帐号'
                        },
                        {
                            field: 'doctorTel',
                            width: 150,
                            title: '联系方式'
                        },
                        {
                            field: 'isAnswer',
                            width: 100,
                            title: '医答',
                            templet: function (d) {
                        return d.isAnswer ? "是" : "否"
                    }
                },
                {
                    field: 'isSigning', width: 100, title: '签约', templet: function (d) {
                            field: 'isSigning',
                            width: 100,
                            title: '签约',
                            templet: function (d) {
                        return d.isSigning ? "是" : "否"
                    }
                },
                { field: 'enabled', width: 100, align: 'center', templet: '#doctor-tpl-state', title: '状态' },
                        // {
                        //     field: 'enabled',
                        //     width: 100,
                        //     align: 'center',
                        //     templet: '#doctor-tpl-state',
                        //     title: '状态'
                        // },
                // { field: 'createTime', width: 150, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy-MM-dd HH:mm')}}</div>" },
                { field: 'createTime', width: 100, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>" },
                { field: 'serverUserName', width: 100, title: '销售代表' },
                { width: 300, align: 'center', toolbar: '#doctor-table-bar', title: '操作' },
            ]],
                        {
                            field: 'createTime',
                            width: 150,
                            sort: true,
                            title: '创建时间',
                            templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>"
                        },
                        {
                            field: 'serverUserName',
                            width: 100,
                            title: '销售代表'
                        },
                        {
                            width: 350,
                            align: 'center',
                            toolbar: '#doctor-table-bar',
                            title: '操作'
                        },
                    ]
                ],
            done: function (res, curr, count) {
                permissionsInput(res,config);
            }
        });
            // 显示编辑弹窗
            var showEditModel = function (data) {
                layer.open({
                    type: 1,
                    title: '详情',
                    area: '900px',
                    offset: '120px',
                    content: $('#app-model').html(),
                    id: 'LAY_layuipro',
                    success: function () {
                        $('#app-form')[0].reset();
                        if (data.isAdminUser) {
                            $('#isAdminUser-shi').prop("checked", true)
                        } else {
                            $('#isAdminUser-fou').prop("checked", true)
                        }
                        if (data.isTop) {
                            $('#isTop-shi').prop("checked", true)
                        } else {
                            $('#isTop-fou').prop("checked", true)
                        }
                        if (data.isAnswer) {
                            $('#isAnswer-shi').prop("checked", true)
                        } else {
                            $('#isAnswer-fou').prop("checked", true)
                        }
                        if (data.isSigning) {
                            $('#isSigning-shi').prop("checked", true)
                        } else {
                            $('#isSigning-fou').prop("checked", true)
                        }
                        $('#app-form').attr('method', 'POST');
                        if (data) {
                            $('#doctorLogo').prop("src", data.doctorLogo);
                            $('#doctorCcie').prop("src", data.doctorCcie);
                            if (!data.enabled) {
                                $('#shen_he').show();
                            } else {
                                $('#shen_he').hide();
                            }
                            form.val('app-form', data);
                            $('#app-form').find('input,select,textarea').prop('readonly', true);
                            $('#app-form').find('input[type="radio"]').prop('disabled', true);
                            $('#app-form').attr('method', 'POST');
                            form.render();
                        }
                        //点击审核通过按钮
                        $('#shen_he').click(function () {
                            updata_enable(data);
                        })
                    }
                });
            }
        // 工具条点击事件
        table.on('tool(app-table)', function (obj) {
            var data = obj.data;
            var layEvent = obj.event;
            if (layEvent === 'detail') { // 查看详情
                showEditModel(data, 1);
                    showEditModel(data);
            } else if (layEvent === 'reset') {
                layer.confirm('确定重置此用户的密码吗?', function (i) {
                    layer.close(i);
                    layer.load(2);
                    admin.req('api-user/users/' + obj.data.userId + '/password', {}, function (data) {
                        admin.req('api-user/users/' + obj.data.userId + '/password', {}, function (
                            data) {
                        layer.closeAll('loading');
                        if (data.code == 0) {
                            layer.msg(data.msg, { icon: 1, time: 500 });
                                layer.msg(data.msg, {
                                    icon: 1,
                                    time: 500
                                });
                        } else {
                            layer.msg(data.msg, { icon: 2, time: 500 });
                                layer.msg(data.msg, {
                                    icon: 2,
                                    time: 500
                                });
                        }
                    }, 'PUT');
                });
            } else if (layEvent === 'edit') {
                showEditModel(data, 3);
                    showEditModel_add("编辑",data);
            } else if (layEvent === 'del') {
                layer.confirm('确定删除此用户吗?', function (i) {
                    layer.close(i);
@@ -363,10 +565,16 @@
                    admin.req('api-user/sysdoctor/' + obj.data.id, {}, function (data) {
                        layer.closeAll('loading');
                        if (data.code == 0) {
                            layer.msg(data.msg, { icon: 1, time: 500 });
                                layer.msg(data.msg, {
                                    icon: 1,
                                    time: 500
                                });
                            table.reload('app-table', {});
                        } else {
                            layer.msg(data.msg, { icon: 2, time: 500 });
                                layer.msg(data.msg, {
                                    icon: 2,
                                    time: 500
                                });
                        }
                    }, 'delete');
                });
@@ -382,17 +590,24 @@
            var hospitalName = $("#hospitalName-seach").val();
            var doctorTel = $('#doctorTel').val();
            var doctorName = $('#doctorName').val();
            table.reload('app-table', { where: { doctorState: doctorState, hospitalName: hospitalName, doctorTel: doctorTel, doctorName: doctorName } });
                table.reload('app-table', {
                    where: {
                        doctorState: doctorState,
                        hospitalName: hospitalName,
                        doctorTel: doctorTel,
                        doctorName: doctorName
                    }
                });
        });
        // 显示新增弹窗
        var showEditModel_add = function () {
            var showEditModel_add = function (title,data) {
                admin.putTempData('t_doctor', data);
            admin.popupCenter({
                title: '编辑医生',
                    title: title,
                path: 'pages/opration/doctor_form.html',
                area: '900px',
                finish: function () {
                }
                    finish: function () {}
            });
        };
    });