forked from kidgrow-microservices-platform

zhaoxiaohao
2020-04-13 2215aba064393ae0aa013646d6860438a901a926
医生模板   功能完成
1 files added
7 files modified
287 ■■■■■ changed files
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/DoctorTemplete.java 10 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IDoctorTempleteService.java 5 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/DoctorTempleteServiceImpl.java 18 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/DoctorTempleteMapper.xml 2 ●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java 15 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml 1 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/company.html 8 ●●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html 228 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/DoctorTemplete.java
@@ -29,32 +29,26 @@
    /**
     * 医院标识id
     */
    @NotEmpty(message = "医院标识id不能为空")
    private Long hospitalId;
    /**
     * 医院名称
     */
    @NotEmpty(message = "医院名称不能为空")
    private String hospitalName;
    /**
     * 科室ID
     */
    @NotEmpty(message = "科室ID不能为空")
    private Long departmentId;
    /**
     * 科室名称
     */
    @NotEmpty(message = "科室名称不能为空")
    private String departmentName;
    /**
     * 医生id
     */
    @NotEmpty(message = "医生id不能为空")
    private Long doctorId;
    /**
     * 医生姓名
     */
    @NotEmpty(message = "医生姓名不能为空")
    private String doctorName;
    /**
     * 公开类型 0公开 1私有
@@ -72,13 +66,11 @@
    /**
     * 模板内容
     */
    @NotEmpty(message = "模板内容不能为空")
    private String templeteNote;
    /**
     * 是否删除,1删除,0未删除
     */
    @TableLogic
    @NotEmpty(message = "是否删除,1删除,0未删除不能为空")
    private Boolean isDel;
    /**
     * 状态,1启用,0停用
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IDoctorTempleteService.java
@@ -1,5 +1,6 @@
package com.kidgrow.oprationcenter.service;
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.oprationcenter.model.DoctorTemplete;
import com.kidgrow.common.model.PageResult;
import com.kidgrow.common.service.ISuperService;
@@ -20,7 +21,7 @@
     * @param params
     * @return
     */
    PageResult<DoctorTemplete> findList(Map<String, Object> params);
    PageResult findList(Map<String, Object> params);
    /**
@@ -29,5 +30,7 @@
    * @return DoctorTemplete对象
    */
    DoctorTemplete findByObject(DoctorTemplete doctorTemplete);
    ResultBody updateEnabled(Map<String, Object> params);
}
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/DoctorTempleteServiceImpl.java
@@ -1,5 +1,6 @@
package com.kidgrow.oprationcenter.service.impl;
import com.kidgrow.common.model.ResultBody;
import org.springframework.stereotype.Service;
import com.kidgrow.common.model.PageResult;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -31,7 +32,7 @@
     * @return
     */
    @Override
    public PageResult<DoctorTemplete> findList(Map<String, Object> params){
    public PageResult findList(Map<String, Object> params){
        Page<DoctorTemplete> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
        List<DoctorTemplete> list  =  baseMapper.findList(page, params);
        return PageResult.<DoctorTemplete>builder().data(list).code(0).count(page.getTotal()).build();
@@ -46,4 +47,19 @@
    public DoctorTemplete findByObject(DoctorTemplete doctorTemplete){
        return baseMapper.findByObject(doctorTemplete);
    }
    @Override
    public ResultBody updateEnabled(Map<String, Object> params) {
        Long id = MapUtils.getLong(params, "id");
        if(id==null){
            ResultBody.failed("请选择一条数据");
        }
        Boolean enabled = MapUtils.getBoolean(params, "enabled");
        DoctorTemplete doctorTemplete = baseMapper.selectById(id);
        if (doctorTemplete!=null){
            doctorTemplete.setEnabled(enabled);
            baseMapper.updateById(doctorTemplete);
        }
        return ResultBody.ok();
    }
}
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/DoctorTempleteMapper.xml
@@ -40,7 +40,7 @@
                and templete_type = #{p.templeteType}
            </if>
            <if test="p.templeteTitle != null and p.templeteTitle !=''">
                and templete_title = #{p.templeteTitle}
                and templete_title  like '%${p.templeteTitle}%'
            </if>
            <if test="p.templeteNote != null and p.templeteNote !=''">
                and templete_note = #{p.templeteNote}
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java
@@ -2,6 +2,7 @@
import java.util.Map;
import com.kidgrow.common.controller.BaseController;
import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.annotation.*;
@@ -50,12 +51,12 @@
            @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer")
    })
    @GetMapping
    public ResultBody<PageResult> list(@RequestParam Map<String, Object> params) {
    public PageResult list(@RequestParam Map<String, Object> params) {
        if(params.size()==0){
            params.put("page",1);
            params.put("limit",10);
        }
        return ResultBody.ok().data(doctorTempleteService.findList(params));
        return doctorTempleteService.findList(params);
    }
    /**
@@ -100,7 +101,15 @@
            }
        }
    }
    //updateEnabled
    @GetMapping("/updateEnabled")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "用户id", required = true, dataType = "Integer"),
            @ApiImplicitParam(name = "enabled", value = "是否启用", required = true, dataType = "Boolean")
    })
    public ResultBody updateEnabled(@RequestParam Map<String, Object> params) {
        return doctorTempleteService.updateEnabled(params);
    }
    /**
     * 删除
     */
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml
@@ -62,6 +62,7 @@
      - data_need
      - business_records
      - sys_feedback
      - doctor_templete
    ignoreSqls:
      - com.kidgrow.usercenter.mapper.SysRoleMapper.findAll
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/company.html
@@ -387,13 +387,15 @@
                        }
                        form.val('app-form', data);
                        $('#sheng').val(data.shengId);
                        //
                        if (data.shiId) {
                        getShi_and_xian(data.shengId,"shi")
                        $('#shi').val(data.shiId);
                        }
                        if (data.xianId) {
                        getShi_and_xian(data.shiId,"xian")
                        $('#xian').val(data.xianId);
                        }
                        $('#app-form').attr('method', 'POST');
                    } else {
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html
New file
@@ -0,0 +1,228 @@
<div class="layui-card">
    <div class="layui-card-header">
        <h2 class="header-title">业务日志</h2>
        <span class="layui-breadcrumb pull-right">
            <a href="#!home_console">首页</a>
            <a><cite>业务日志</cite></a>
        </span>
    </div>
    <div class="layui-card-body">
        <div class="layui-form toolbar">
            <button id="docto-templete-btn-add" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
            <button id="docto-templete-btn-update" class="layui-btn icon-btn"><i class="layui-icon refresh">&#xe669;</i> 更新</button>
            <select id="templeteType" placeholder="话术类型">
                <option value="">-请选择-</option>
                <option value="0">结论</option>
                <option value="1">建议</option>
                <option value="2">方案</option>
            </select>
            <select id="publicType" placeholder="开放类型">
                <option value="">-请选择-</option>
                <option value="0">公开-</option>
                <option value="1">私有</option>
            </select>
            <input name="templeteTitle" id="templeteTitle" placeholder="请输入标题名称" type="text"
                class="layui-input search-input" maxlength="20" />
            <button id="app-btn-search" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
        </div>
        <!-- 数据表格 -->
        <table class="layui-table" id="app-table" lay-filter="app-table"></table>
    </div>
</div>
<!-- 表格操作列 -->
<script type="text/html" id="doctor-templete-table-bar">
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-xs" lay-event="del">删除</a>
</script>
<!-- 表格状态列 -->
<script type="text/html" id="doctor-templete-tpl-state">
    <input type="checkbox" lay-filter="doctor-templete-tpl-state" value="{{d.id}}" lay-skin="switch" lay-text="正常|锁定"
           {{d.enabled==true?'checked':''}}/>
</script>
<!-- 表单弹窗 -->
<script type="text/html" id="app-model">
    <form id="app-form" lay-filter="app-form" class="layui-form model-form">
        <input name="id" type="hidden"/>
        <div class="layui-form-item">
            <label class="layui-form-label">标题</label>
            <div class="layui-input-block">
                <input name="templeteTitle" 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">
                <select name="templeteType" placeholder="话术类型" >
                    <option value="">-请选择-</option>
                    <option value="0">结论</option>
                    <option value="1">建议</option>
                    <option value="2">方案</option>
                </select>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">开放类型</label>
            <div class="layui-input-block">
                <select id="publicType-add" name="publicType" placeholder="开放类型" >
                    <option value="">-请选择-</option>
                    <option value="1">公开</option>
                    <option value="0">私有</option>
                </select>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">说明:</label>
            <div class="layui-input-block">
                <textarea name="templeteNote" placeholder="请输入内容" class="layui-textarea"></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" id="sure" lay-filter="user-form-submit" lay-submit>保存</button>
        </div>
    </form>
</script>
<script>
    layui.use(['form', 'table', 'laydate', 'util', 'config', 'admin'], function () {
        var form = layui.form;
        var table = layui.table;
        var config = layui.config;
        var layer = layui.layer;
        var util = layui.util;
        var admin = layui.admin;
        // 添加按钮点击事件
        $('#docto-templete-btn-add').click(function () {
            showEditModel(undefined, 1);
        });
        //// 刷新
        $('#docto-templete-btn-update').click(function () {
            table.reload('app-table', { where: {} });
        });
        // 渲染表格
        table.render({
            elem: '#app-table',
            url: config.base_server + 'api-opration/doctortemplete',
            method: 'GET',
            headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
            page: true,
            cols: [[
                { type: 'numbers' },
                { field: 'templeteTitle', width: 180, sort: true, title: '标题' },
                {
                    field: 'publicType', width: 200, sort: true, title: '开放类型', templet: function (d) {
                        return d.publicType ==true ? "公开" : "私有"
                    }
                },
                {
                    field: 'templeteType', width: 180, sort: true, title: '话术类型', templet: function (d) {
                        if (d.templeteType == 0) {
                            return "结论";
                        } else if (d.templeteType == 1) {
                            return "建议";
                        } else if (d.templeteType == 2) {
                            return "方案";
                        }
                    }
                },
                { field: 'createUserName', width: 300, sort: true, title: '创建者' },
                { field: 'createTime', width: 250, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy年MM月dd日 HH:mm:ss')}}</div>" },
                { field: 'enabled', width: 100, sort: true, templet: '#doctor-templete-tpl-state', title: '状态' },
                { field: 'recordTitle', width: 300, toolbar: '#doctor-templete-table-bar', sort: true, title: '操作' },
            ]]
        });
        // 工具条点击事件
        table.on('tool(app-table)', function (obj) {
            var data = obj.data;
            var layEvent = obj.event;
            if (layEvent === 'edit') { // 查看详情
                showEditModel(data, 2);
            }
        });
        // 搜索按钮点击事件
        $('#app-btn-search').click(function () {
            var templeteType = $('#templeteType').val();
            var publicType = $('#publicType').val();
            var templeteTitle = $('#templeteTitle').val();
            table.reload('app-table', { where: { templeteType: templeteType, publicType: publicType, templeteTitle: templeteTitle } });
        });
        // 修改user状态
        form.on('switch(doctor-templete-tpl-state)', function (obj) {
            layer.load(2);
            admin.req('api-opration/doctortemplete/updateEnabled', {
                id: obj.elem.value,
                enabled: obj.elem.checked ? true : false
            }, function (data) {
                layer.closeAll('loading');
                if (data.code == 0) {
                    layer.msg(data.msg, { icon: 1, time: 500 });
                    table.reload('app-table', {});
                } else {
                    layer.msg(data.msg, { icon: 2, time: 500 });
                    $(obj.elem).prop('checked', !obj.elem.checked);
                    form.render('checkbox');
                }
            }, 'GET');
        });
        // 表单提交事件
        form.on('submit(user-form-submit)', function (data) {
            layer.load(2);
            if(data.field.publicType==1){
                data.field.publicType=true;
            }else if (data.field.publicType==0){
                data.field.publicType=false;
            }
            console.log(data.field.publicType)
            admin.req('api-opration/doctortemplete', JSON.stringify(data.field), function (data) {
                layer.closeAll('loading');
                if (data.code == 0) {
                    // layer.msg(data.msg, { icon: 1, time: 500 });
                    layer.closeAll();
                    table.reload('app-table', {});
                } else {
                    layer.msg(data.msg, { icon: 2, time: 500 });
                }
            }, "POST");
            return false;
        });
        // // 显示编辑弹窗
        var showEditModel = function (data, index) {
            var title = "";
            if (index == 1) {
                title = "新增";
            } else if (index == 2) {
                title = "修改";
            }
            layer.open({
                type: 1,
                title: title,
                area: '450px',
                offset: '120px',
                content: $('#app-model').html(),
                success: function () {
                    $('#app-form')[0].reset();
                    $('#app-form').attr('method', 'POST');
                    if (data) {
                        console.log(data.publicType == true ? 1 : 0);
                        if(index==1){
                            $('#sure').hide();
                        }
                        form.val('app-form', data);
                        $('#publicType-add').val(data.publicType == true ? 1 : 0);
                    }
                }
            });
        };
    });
</script>