From 2215aba064393ae0aa013646d6860438a901a926 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Mon, 13 Apr 2020 15:48:10 +0800 Subject: [PATCH] 医生模板 功能完成 --- kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IDoctorTempleteService.java | 5 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/DoctorTemplete.java | 10 - kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml | 1 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/company.html | 16 +- kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/DoctorTempleteServiceImpl.java | 18 +++ kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java | 15 ++ kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html | 228 +++++++++++++++++++++++++++++++++++++++++++++ kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/DoctorTempleteMapper.xml | 2 8 files changed, 273 insertions(+), 22 deletions(-) diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/DoctorTemplete.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/DoctorTemplete.java index e26093c..e1ae53f 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/DoctorTemplete.java +++ b/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停用 diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IDoctorTempleteService.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IDoctorTempleteService.java index f2f3dba..ec7af0c 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IDoctorTempleteService.java +++ b/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); } diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/DoctorTempleteServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/DoctorTempleteServiceImpl.java index 7f72f2b..6375f4d 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/DoctorTempleteServiceImpl.java +++ b/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(); + } } diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/DoctorTempleteMapper.xml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/DoctorTempleteMapper.xml index a36518f..429a1cd 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/DoctorTempleteMapper.xml +++ b/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} diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java index b4ddbb5..b5b0601 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java +++ b/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); + } /** * 删除 */ diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml index dc1f9c9..bb4e75f 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml +++ b/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 diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/company.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/company.html index 3bf5dd7..2b7db22 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/company.html +++ b/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); - - getShi_and_xian(data.shengId,"shi") - $('#shi').val(data.shiId); - - getShi_and_xian(data.shiId,"xian") - $('#xian').val(data.xianId); - + // + 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 { diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html new file mode 100644 index 0000000..5a8766a --- /dev/null +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html @@ -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"></i>添加</button> + <button id="docto-templete-btn-update" class="layui-btn icon-btn"><i class="layui-icon refresh"></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"></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> \ No newline at end of file -- Gitblit v1.8.0