kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/BusinessRecordsServiceImpl.java
@@ -66,7 +66,7 @@ BusinessRecords businessRecords=new BusinessRecords(); businessRecords.setAppName(httpServletRequest.getHeader(SecurityConstants.TENANT_HEADER)); businessRecords.setUserId(Long.valueOf(httpServletRequest.getHeader(SecurityConstants.USER_ID_HEADER))); businessRecords.setUserName(httpServletRequest.getHeader(SecurityConstants.USER_REAL_NAME)); businessRecords.setUserName(httpServletRequest.getHeader(SecurityConstants.USER_HEADER)); businessRecords.setRecordTitle(recordTitle); businessRecords.setRecordIp(httpServletRequest.getHeader(CommonConstant.USER_AGENT_IP)); businessRecords.setRecordDetail(recordNote); kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java
@@ -1,6 +1,5 @@ package com.kidgrow.usercenter.model; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; @@ -105,7 +104,6 @@ /** * 是否删除,1删除,0未删除 */ @TableLogic private Boolean isDel; /** * 是否管理员 0否 1是 @@ -114,9 +112,14 @@ /** * 医生状态 1正常 0试用 */ @NotNull(message = "医生状态 1正常 0试用不能为空") @NotNull(message = "医生状态不能为空") private Boolean doctorState; /** * 医生类型 0H+C端都可用 1H端 2C端 默认2 */ @NotNull(message = "医生类型不能为空") private Integer doctorType; /** * 启用禁用状态,1启用,0停用 */ private Boolean enabled; kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorDto.java
@@ -6,7 +6,7 @@ @Data public class SysDoctorDto extends SysDoctorVo { private String username; //private String username; private String password; private List<Long> roles; } kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
@@ -826,6 +826,7 @@ sysDoctor.setDepartmentName(userRegVo.getDepartmentName()); sysDoctor.setDoctorRank(userRegVo.getDoctorRank()); sysDoctor.setDoctorRankId(userRegVo.getDoctorRankId()); sysDoctor.setDoctorType(1); sysDoctor.setCreateUserId(isReg ? createUserId : sysUserd.getId()); sysDoctor.setCreateUserName(isReg ? createUserName : sysUserd.getUsername()); if (isReg) { @@ -839,6 +840,8 @@ sysDoctor.setDoctorName(userRegVo.getNickname()); sysDoctor.setServerUserId(isReg ? createUserId : sysUserd.getId()); sysDoctor.setServerUserName(isReg ? createUserName : sysUserd.getUsername()); sysDoctor.setIsAdminUser(false); sysDoctor.setEnabled(false); if (sysDoctorMapper.insert(sysDoctor) == 1) { //非自主注册的 返回信息带密码 if (!isReg) { kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/businessRecords.html
@@ -8,67 +8,15 @@ </div> <div class="layui-card-body"> <div class="layui-form toolbar"> <input id="app-edit-search" class="layui-input search-input" type="text" placeholder="请输入标题" />  <input type="text" class="layui-input search-input" id="test1"> 至 <input type="text" class="layui-input search-input" id="test2">   <select id="role_clients" placeholder="选择一个应用" lay-filter="role_clients"> <option value="">-请选择-</option> </select> <input id="app-edit-search" class="layui-input search-input" type="text" placeholder="按内容模糊查找..." />  <input type="text" class="layui-input search-input" id="test1" placeholder="开始时间"> 至 <input type="text" class="layui-input search-input" id="test2" placeholder="结束时间">   <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="businessRecords-table-bar"> <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看详情</a> </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="recordTitle" disabled="true" 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="userName" disabled="true" placeholder="请输入应用名称" 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="appName" disabled="true" type="text" class="layui-input" maxlength="20" lay-verify="required" required /> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">ip</label> <div class="layui-input-block"> <input name="recordIp" disabled="true" 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="recordDetail" disabled="true" type="text" class="layui-input" maxlength="20"/> </div> </div> <div class="layui-form-item model-form-footer"> <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">确定</button> </div> </form> </script> <script> layui.use(['form', 'table', 'laydate', 'util', 'config', 'admin'], function () { @@ -79,27 +27,6 @@ var util = layui.util; var admin = layui.admin; // 获取应用列表 // layer.load(2); admin.req('api-user/users/findAll', {}, function (data) { layer.closeAll('loading'); if (0 === data.code) { let selected = false; clientsAll = data.data; $.each(data.data, function (index, item) { if (config.clientId === item.clientId) { selected = true; } else { selected = false; } //往下拉菜单里添加元素 $('#role_clients').append(new Option(item.username, item.id, false, selected)); }) form.render(); } else { layer.msg(data.msg, { icon: 2, time: 500 }); } }, 'Post'); //时间格式 var laydate = layui.laydate; @@ -119,31 +46,18 @@ headers: { 'Authorization': 'Bearer ' + config.getToken().access_token }, page: true, cols: [[ { type: 'numbers' }, { field: 'userName', width: 180, sort: true, title: '用户' }, { field: 'appName', width: 200, sort: true, title: '应用名' }, { field: 'recordIp', width: 180, sort: true, title: 'IP' }, { field: 'recordTitle', width: 300, sort: true, title: '标题' }, { field: 'id', width: 250, align: 'center', toolbar: '#businessRecords-table-bar', sort: true, title: '查看详情' },// 0就诊数据 1筛查 { field: 'createTime', width: 250, sort: true, title: '时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>" } { field: 'userName', width: 180, title: '用户' }, { field: 'appName', width: 200, title: '应用名' }, { field: 'recordIp', width: 180,title: 'IP' }, { field: 'recordTitle', width: 300,title: '日志内容' }, { field: 'createTime', width: 250, sort: true, title: '日志时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>" } ]], done:function(res){ permissionsInput(res,config); } }); // 工具条点击事件 table.on('tool(app-table)', function (obj) { var data = obj.data; var layEvent = obj.event; if (layEvent === 'detail') { // 查看详情 showEditModel(data); } }); // 搜索按钮点击事件 $('#app-btn-search').click(function () { var userId = $('#role_clients').val(); var key = $('#app-edit-search').val(); var startTime = $('#test1').val(); var endTime = $('#test2').val(); @@ -155,7 +69,7 @@ } } table.reload('app-table', { where: { recordTitle: key, startTime: startTime, endTime: endTime, userId: userId } }); table.reload('app-table', { where: { recordTitle: key, startTime: startTime, endTime: endTime} }); }); //比较日期大小 function compareDate(logintime, logouttime) { @@ -173,54 +87,5 @@ } } } // 导出 $('#app-btn-export').click(function () { var url = config.base_server + 'api-opration/dataneed/export'; var xhr = new XMLHttpRequest(); xhr.open('POST', url, true); xhr.responseType = "blob"; xhr.setRequestHeader("client_type", "DESKTOP_WEB"); xhr.setRequestHeader("Authorization", "Bearer " + config.getToken().access_token); xhr.onload = function () { if (this.status == 200) { var fileName = "user.xlsx"; var blob = this.response; var a = document.createElement('a'); a.innerHTML = fileName; // 指定生成的文件名 a.download = fileName; a.href = URL.createObjectURL(blob); document.body.appendChild(a); var evt = document.createEvent("MouseEvents"); evt.initEvent("click", false, false); a.dispatchEvent(evt); document.body.removeChild(a); } } xhr.send(); }); // // 显示编辑弹窗 var showEditModel = function (data) { layer.open({ type: 1, title: '查看详情', area: '450px', offset: '120px', content: $('#app-model').html(), success: function () { $('#app-form')[0].reset(); $('#app-form').attr('method', 'POST'); if (data) { $("input[name='clientId']").attr('disabled', true); $("input[name='clientId']").attr('class', "layui-input layui-disabled"); $("input[name='webServerRedirectUri']").attr('disabled', true); $("input[name='webServerRedirectUri']").attr('class', "layui-input layui-disabled"); form.val('app-form', data); // $('#app-form').attr('method', 'POST'); } } }); }; }); </script> kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
@@ -173,171 +173,6 @@ </form> </script> <!-- 表单弹窗 添加--> <script type="text/html" id="app-model-add"> <form id="app-form-add" lay-filter="app-form-add" class="layui-form model-form"> <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="hospitalId-add" type="hidden" class="layui-input" maxlength="20"/> <select id="hospitalName-add" name="hospitalId" lay-filter="getdepartment-add" placeholder="选择一个应用" lay-verify="required" required > <option value="">-请选择-</option> </select> </div> </div> <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> <div style="display:flex"> <div class="layui-form-item"> <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> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">职称</label> <div class="layui-input-block"> <select id="doctorRankId" name="doctorRankId" lay-filter="doctorRankId" placeholder="选择一个职称" lay-verify="required" required> <option value="">-请选择-</option> </select> <input name="doctorRank" id='doctorRank' type="hidden" class="layui-input" maxlength="20"/> </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" id="doctorTel-add" type="text" class="layui-input" maxlength="20" lay-verify="required|phone" required/> </div> </div> <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"/> </div> </div> </div> <div style="display:flex"> <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> </div> <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> <div style="display:flex"> <div class="layui-form-item"> <label class="layui-form-label" >销售代表名称</label> <div class="layui-input-block"> <input name="serverUserName" id="serverUserName-add" type="hidden" class="layui-input" maxlength="15"/> <select id="serverUserId-add" name="serverUserId" lay-filter="serverUserId-add" placeholder="选择一个应用" lay-verify="required" required> <option value="">-请选择-</option> </select> </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 style="display:flex"> <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"/> </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" maxlength="20"/> <input name="isSigning" id="isSigning-fou" type="radio" value="false" title="否" class="layui-input" maxlength="20"/> </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="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"/> </div> </div> <div class="layui-form-item"> <label class="layui-form-label" >登录帐号</label> <div class="layui-input-block"> <input name="username" id="username" readonly 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="password" type="password" lay-verify="required" class="layui-input" maxlength="15" lay-verify="required|phone" required/> </div> </div> <div class="layui-form-item"> <label class="layui-form-label" >确认密码</label> <div class="layui-input-block"> <input name="passwordSure" type="password" lay-verify="required|confirmPass" class="layui-input" maxlength="15"/> </div> </div> </div> <div style="display:flex"> <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"></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;"> 预览图: <div class="layui-upload-list" id="demo2"></div> </blockquote> </div> </div> <div class="layui-form-item"> <label class="layui-form-label" >角色</label> <div class="layui-input-block"> <select name="roleId" xm-select="roleId" lay-verify="required"> </select> </div> </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> </div> </form> </script> <script> layui.use(['form', 'table', 'laydate', 'util', 'config', 'upload', 'admin', 'autocomplete','formSelects'], function () { @@ -347,7 +182,6 @@ var layer = layui.layer; var util = layui.util; var admin = layui.admin; var upload = layui.upload; var autocomplete = layui.autocomplete; var formSelects = layui.formSelects; var $ = layui.jquery; @@ -550,287 +384,16 @@ var doctorName = $('#doctorName').val(); table.reload('app-table', { where: { doctorState: doctorState, hospitalName: hospitalName, doctorTel: doctorTel, doctorName: doctorName } }); }); //获取角色 var get_role=function(){ admin.req('api-user/findByMap?tenant_id=hospital',{}, function (data) { layer.closeAll('loading'); if (0 == data.code) { // 渲染多选下拉框 var roleSelectData = new Array(); for (var i = 0; i < data.data.length; i++) { roleSelectData.push({name: data.data[i].name, value: data.data[i].id}); } formSelects.data('roleId', 'local', {arr: roleSelectData}); // 回显user数据 var user = admin.getTempData('t_user'); $('#user-form').attr('method', 'POST'); if (user) { form.val('user-form', user); $('#user-form').attr('method', 'POST'); var rds = new Array(); for (var i = 0; i < user.roles.length; i++) { rds.push(user.roles[i].id); } formSelects.value('roleId', rds); } } else { layer.msg('获取角色失败', {icon: 2, time: 500}); } }, 'GET'); } // 显示新增弹窗 var showEditModel_add = function () { layer.open({ type: 1, title: '新增', area: '600px', offset: '120px', content: $('#app-model-add').html(), success: function () { $('#app-form-add')[0].reset(); $('#app-form-add').attr('method', 'POST'); $('.layui-layer-content').css('overflow', 'auto'); //将医院的数据保存到下拉表 let selected = false; //获取职称的 getZhiCheng(); //获取销售代表 getXiaoShouDaiBiao(); //获取角色 get_role(); var upload = layui.upload; //执行实例 upload.render({ elem: '#phonto', url: config.base_server + 'api-file/files-anon', accept: 'file', auto: true, headers: { "Authorization": "Bearer " + config.getToken().access_token }, before: function (obj) { layer.load(); //上传loading //预读本地文件示例,不支持ie8 obj.preview(function (index, file, result) { $(".layui-upload-img").remove(); $('#demo2').append('<img src="' + result + '" width="50px" height="50px" alt="' + file.name + '" class="layui-upload-img">') }); }, done: function (data) { layer.closeAll('loading'); $("#doctorLogo-add").val(data.url); }, error: function (data) { layer.closeAll('loading'); } }); $.each(hospital, function (index, item) { if (config.clientId === item.clientId) { selected = true; } else { selected = false; } console.log(item) $('#hospitalName-add').append(new Option(item.hospitalName, item.id, false, selected)); }) form.render(); $("#username").blur(function () { username_is_usered("username"); }) $("#doctorTel-add").blur(function () { $("#username").val($("#doctorTel-add").val()) username_is_usered("username"); }) admin.popupCenter({ title: '编辑医生', path: 'pages/opration/doctor_form.html', area: '800px', finish: function () { } }); }; //判断用户名是否被使用 var username_is_usered=function(username_id){ var username=$("#"+username_id).val() admin.req('api-user/users/findCountByMap',JSON.stringify({username:username}), function (data) { if (data.code == 0) { if(data.data>0){ $("#"+username_id).val("") layer.msg("该登录帐号已经使用",{ icon: 2, time: 500 }) } } else { layer.msg(data.msg, { icon: 2, time: 500 }); } }, 'post'); } // 显示编辑弹窗 var showEditModel = function (data, flag) { var title = ""; if (flag == 1) { title = "查看详情"; } else if (flag == 2) { title = "新增"; } else if (flag == 3) { title = "编辑"; } layer.open({ type: 1, title: title, area: '650px', offset: '120px', content: $('#app-model').html(), success: function () { $('#app-form')[0].reset(); $('#app-form').attr('method', 'POST'); //将医院的数据保存到下拉表 let selected = false; $.each(hospital, function (index, item) { if (config.clientId === item.clientId) { selected = true; } else { selected = false; } //往下拉菜单里添加元素 $('#hospitalId').append(new Option(item.hospitalName, item.id, false, selected)); }) //将科室的数据绑定到里面 if (flag != 2) { getdepartment(data.hospitalId); } if (data) { if (data.isAnswer) { $("#isAnswer-shi").attr('checked', true); } else { $("#isAnswer-fou").attr('checked', true); } if (data.isSigning) { $("#isSigning-shi").attr('checked', true); } else { $("#isSigning-fou").attr('checked', true); } if (data.isTop) { $("#isTop-shi").attr('checked', true); } else { $("#isTop-fou").attr('checked', true); } if (data.doctorState) { $("#doctorState-shi").attr('checked', true); } else { $("#doctorState-fou").attr('checked', true); } form.val('app-form', data); if (flag == 1) { //将确定隐藏 doctorState-shi $("#sure").hide(); $("#phonto").hide(); //将所有的设置为只读 $('#app-form').find('input').attr('readonly', true); $('#app-form').find('select,input[type="radio"]').attr('disabled', true); } else { $("#sure").show(); $('#app-form').attr('method', 'POST'); } } } }); }; // 表单提交事件 form.on('submit(user-form-submit)', function (data) { layer.load(2); data.field.hospitalId = parseInt(data.field.hospitalId); if(data.field.roleId!=null&&data.field.roleId!=""){ data.field.roles=data.field.roleId.split(','); } data.field.roleId=null; admin.req('api-user/sysdoctor', 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; }); //更新 点击医院触发的事件 form.on('select(getdepartment)', function (data) { //将医院名称赋值 $.each(hospital, function (index, item) { if (item.id == data.value) { $('#hospitalName').val(item.hospitalName); } }) // getdepartment(data.value); }); //新增----点击医院触发的事件 form.on('select(getdepartment-add)', function (data) { //将医院名称赋值 $.each(hospital, function (index, item) { if (item.id == data.value) { $('#hospitalId-add').val(item.hospitalName); console.log($('#hospitalId-add').val()) } }) // getdepartment(data.value); }); //将新增 中的 serverUserName 赋值 form.on('select(serverUserId-add)', function (data) { //将医院名称赋值 $.each(user, function (index, item) { if (item.id == data.value) { $('#serverUserName-add').val(item.nickname); console.log($('#serverUserName-add').val()) } }) // }); //新增 点击职称的触发事件 form.on('select(doctorRankId)', function (data) { //将部门名称赋值 $.each(doctorRank, function (index, item) { if (item.id == data.value) { console.log(12312312312) $('#doctorRank').val(item.dictionariesName); console.log($('#doctorRank').val()) } }) }); //新增 和 更新 科室触发的事件 form.on('select(departmentId)', function (data) { //将部门名称赋值 $.each(department, function (index, item) { if (item.id == data.value) { $('#departmentName').val(item.departmentName); } }) // // getdepartment(data.value); }); //获取科室 var getdepartment = function (data) { admin.req('api-user/sysdepartment/findListByHospitalId', { id: data }, function (data) { layer.closeAll('loading'); if (0 === data.code) { department = data.data; $('#departmentId').empty(); if (data.data.length > 0) { $('#departmentName').val(data.data[0].departmentName); } $.each(data.data, function (index, item) { //往下拉菜单里添加元素 $('#departmentId').append(new Option(item.departmentName, item.id, false, false)); form.render('select', 'app-form'); }) form.render(); } else { layer.msg(data.msg, { icon: 2, time: 500 }); } }, 'get'); } }); </script> kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor_form.html
New file @@ -0,0 +1,494 @@ <form id="app-form-add" lay-filter="app-form-add" class="layui-form model-form"> <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" placeholder="请输入医院名称" type="text" class="layui-input" maxlength="50" lay-verify="required" required style="width: 175px;"/> <input type="hidden" name="hospitalId" id="hospitalId"/> </div> </div> <div class="layui-form-item"> <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> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">医生类型</label> <div class="layui-input-block"> <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 style="width: 175px;"/> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">职称</label> <div class="layui-input-block"> <select id="doctorRankId" name="doctorRankId" lay-filter="doctorRankId" placeholder="选择一个职称" lay-verify="required" required> <option value="">-请选择-</option> </select> <input name="doctorRank" id='doctorRank' type="hidden" class="layui-input" maxlength="20" /> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">角色</label> <div class="layui-input-block"> <select name="roleId" xm-select="roleId" lay-verify="required"> </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="doctorTel" id="doctorTel-add" type="text" class="layui-input" maxlength="20" lay-verify="required|phone" required style="width: 175px;"/> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">联系电话2</label> <div class="layui-input-block"> <input name="doctorOtherLink" type="text" class="layui-input" maxlength="20" /> </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> </div> </div> <div style="display:flex"> <div class="layui-form-item"> <label class="layui-form-label">医生简介</label> <div class="layui-input-block"> <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="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"> <label class="layui-form-label">登录帐号</label> <div class="layui-input-block"> <input name="username" id="username" readonly 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="password" type="password" lay-verify="required" class="layui-input" maxlength="20" lay-verify="required|phone" required /> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">确认密码</label> <div class="layui-input-block"> <input name="passwordSure" type="password" lay-verify="required|confirmPass" class="layui-input" maxlength="20" /> </div> </div> </div> <div style="display:flex"> <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"></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;"> 预览效果 <div class="layui-upload-list" id="demo2"></div> </blockquote> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">销售代表</label> <div class="layui-input-block"> <input name="serverUserName" id="serverUserName-add" type="hidden" class="layui-input" maxlength="15" /> <select id="serverUserId-add" name="serverUserId" lay-filter="serverUserId-add" lay-verify="required" required> <option value="">-请选择-</option> </select> </div> </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> </div> </form> <script> layui.use(['form', 'laydate', 'util', 'config', 'admin', 'autocomplete', 'formSelects'], function () { var form = layui.form; var config = layui.config; var layer = layui.layer; var util = layui.util; var admin = layui.admin; var upload = layui.upload; var autocomplete = layui.autocomplete; var formSelects = layui.formSelects; var $ = layui.jquery; //获取角色 var get_role = function () { admin.req('api-user/findByMap?tenant_id=hospital', {}, function (data) { layer.closeAll('loading'); if (0 == data.code) { // 渲染多选下拉框 var roleSelectData = new Array(); for (var i = 0; i < data.data.length; i++) { roleSelectData.push({ name: data.data[i].name, value: data.data[i].id }); } formSelects.data('roleId', 'local', { arr: roleSelectData }); // 回显user数据 var user = admin.getTempData('t_user'); $('#user-form').attr('method', 'POST'); if (user) { form.val('user-form', user); $('#user-form').attr('method', 'POST'); var rds = new Array(); for (var i = 0; i < user.roles.length; i++) { rds.push(user.roles[i].id); } formSelects.value('roleId', rds); } } else { layer.msg('获取角色失败', { icon: 2, time: 500 }); } }, 'GET'); } //判断用户名是否被使用 var username_is_usered = function (username_id) { var username = $("#" + username_id).val() admin.req('api-user/users/findCountByMap', JSON.stringify({ username: username }), function (data) { if (data.code == 0) { if (data.data > 0) { $("#" + username_id).val("") layer.msg("该登录帐号已经使用", { icon: 2, time: 500 }) } } else { layer.msg(data.msg, { icon: 2, time: 500 }); } }, 'post'); } // // 显示编辑弹窗 // var showEditModel = function (data, flag) { // var title = ""; // if (flag == 1) { // title = "查看详情"; // } else if (flag == 2) { // title = "新增"; // } else if (flag == 3) { // title = "编辑"; // } // layer.open({ // type: 1, // title: title, // area: '650px', // offset: '120px', // content: $('#app-model').html(), // success: function () { // $('#app-form')[0].reset(); // $('#app-form').attr('method', 'POST'); // //将医院的数据保存到下拉表 // let selected = false; // //将科室的数据绑定到里面 // if (flag != 2) { // getdepartment(data.hospitalId); // } // if (data) { // if (data.isAnswer) { // $("#isAnswer-shi").attr('checked', true); // } else { // $("#isAnswer-fou").attr('checked', true); // } // if (data.isSigning) { // $("#isSigning-shi").attr('checked', true); // } else { // $("#isSigning-fou").attr('checked', true); // } // if (data.isTop) { // $("#isTop-shi").attr('checked', true); // } else { // $("#isTop-fou").attr('checked', true); // } // if (data.doctorState) { // $("#doctorState-shi").attr('checked', true); // } else { // $("#doctorState-fou").attr('checked', true); // } // form.val('app-form', data); // if (flag == 1) { // //将确定隐藏 doctorState-shi // $("#sure").hide(); // $("#phonto").hide(); // //将所有的设置为只读 // $('#app-form').find('input').attr('readonly', true); // $('#app-form').find('select,input[type="radio"]').attr('disabled', // true); // } else { // $("#sure").show(); // $('#app-form').attr('method', 'POST'); // } // } // } // }); // }; // 表单提交事件 form.on('submit(user-form-submit)', function (data) { layer.load(2); data.field.hospitalId = parseInt($("#hospitalId").val()); if (data.field.roleId != null && data.field.roleId != "") { data.field.roles = data.field.roleId.split(','); } data.field.roleId = null; debugger admin.req('api-user/sysdoctor', JSON.stringify(data.field), function (data) { layer.closeAll('loading'); if (data.code == 0) { layer.closeAll(); } else { layer.msg(data.msg, { icon: 2, time: 3000 }); } }, "POST"); return false; }); //将新增 中的 serverUserName 赋值 form.on('select(serverUserId-add)', function (data) { //将医院名称赋值 $('#serverUserName-add').val($(this)[0].innerHTML); }); //新增 点击职称的触发事件 form.on('select(doctorRankId)', function (data) { //将部门名称赋值 $('#doctorRank').val($(this)[0].innerHTML); }); //新增 和 更新 科室触发的事件 form.on('select(departmentId)', function () { //将部门名称赋值 $('#departmentName').val($(this)[0].innerHTML); }); //获取科室 var getdepartment = function (data) { admin.req('api-user/sysdepartment/findListByHospitalId', { id: data }, function (data) { layer.closeAll('loading'); if (0 === data.code) { department = data.data; $('#departmentId').empty(); if (data.data.length > 0) { $('#departmentName').val(data.data[0].departmentName); } $.each(data.data, function (index, item) { //往下拉菜单里添加元素 $('#departmentId').append(new Option(item.departmentName, item.id, false, false)); form.render('select', 'app-form'); }) form.render(); } else { layer.msg(data.msg, { icon: 2, time: 500 }); } }, 'get'); } //职称添加数据 var getZhiCheng = function () { admin.req('api-user/sysdictionaries/findAll', JSON.stringify({ dictionariesClassId: "1248150699682988034" }), function (data) { layer.closeAll('loading'); if (0 === data.code) { let selected = false; doctorRank = data.data; $.each(data.data, function (index, item) { if (config.clientId === item.clientId) { selected = true; } else { selected = false; } //往下拉菜单里添加元素 $('#doctorRankId').append(new Option(item.dictionariesName, item.id, false, selected)); }) } else { layer.msg(data.msg, { icon: 2, time: 500 }); } }, 'Post'); } //获取销售代表 var getXiaoShouDaiBiao = function () { admin.req('api-user/users/getThisUserOrganizationUser', {}, function (data) { layer.closeAll('loading'); if (0 === data.code) { user = data.data; $.each(data.data, function (index, item) { //往下拉菜单里添加元素 $('#serverUserId-add').append(new Option(item.nickname, item.id, false, false)); }) } else { layer.msg(data.msg, { icon: 2, time: 500 }); } }, 'get'); } // 显示新增弹窗 var loadEditData = function () { $('#app-form-add')[0].reset(); $('#app-form-add').attr('method', 'POST'); $('.layui-layer-content').css('overflow', 'auto'); //将医院的数据保存到下拉表 let selected = false; //获取职称的 getZhiCheng(); //获取销售代表 getXiaoShouDaiBiao(); //获取角色 get_role(); var upload = layui.upload; //执行实例 upload.render({ elem: '#phonto', url: config.base_server + 'api-file/files-anon', accept: 'file', auto: true, headers: { "Authorization": "Bearer " + config.getToken().access_token }, before: function (obj) { layer.load(); //上传loading //预读本地文件示例,不支持ie8 obj.preview(function (index, file, result) { $(".layui-upload-img").remove(); $('#demo2').append('<img src="' + result + '" width="50px" height="50px" alt="' + file.name + '" class="layui-upload-img">') }); }, done: function (data) { layer.closeAll('loading'); $("#doctorLogo-add").val(data.url); }, error: function (data) { layer.closeAll('loading'); } }); form.render(); $("#username").blur(function () { username_is_usered("username"); }) $("#doctorTel-add").blur(function () { $("#username").val($("#doctorTel-add").val()) username_is_usered("username"); }) }; loadEditData(); //自动完成-医院名称 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) { $("#hospitalId").val(resp.id); //重新装载科室 getdepartment(resp.id); } }); }); </script> kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html
@@ -468,7 +468,7 @@ layer.msg(data.msg, { icon: 2, time: 500 }); }); } }, 'get'); form.render();