New file |
| | |
| | | <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"> |
| | | <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" /> |
| | | <input type="hidden" name="id" id="id" /> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">科室</label> |
| | | <div class="layui-input-block" style="width: 150px;"> |
| | | <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-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> |
| | | <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="doctorName" type="text" class="layui-input" maxlength="20" lay-verify="required" |
| | | required style="width: 150px;" /> |
| | | </div> |
| | | </div> |
| | | <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' type="hidden" 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> |
| | | <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="doctorTel" id="doctorTel-add" type="text" class="layui-input" maxlength="20" |
| | | lay-verify="required|phone" required style="width: 150px;" /> |
| | | </div> |
| | | </div> |
| | | <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" id="roleId_div"> |
| | | <label class="layui-form-label">角色</label> |
| | | <div class="layui-input-block" style="width: 150px;"> |
| | | <select name="roleId" xm-select="roleId"> |
| | | </select> |
| | | </div> |
| | | </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" class="account"> |
| | | <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" /> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" id="password_div"> |
| | | <label class="layui-form-label">登录密码</label> |
| | | <div class="layui-input-block" style="width: 150px;"> |
| | | <input name="password" type="password" id="password" class="layui-input" maxlength="20" /> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" id="passwordSure_div"> |
| | | <label class="layui-form-label">确认密码</label> |
| | | <div class="layui-input-block" style="width: 150px;"> |
| | | <input name="passwordSure" type="password" id="passwordSure" class="layui-input" maxlength="20" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- </div> |
| | | <div class="layui-form-item"> |
| | | |
| | | </div> |
| | | <div class="layui-form-item"> --> |
| | | |
| | | </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;"> |
| | | <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-inline"> |
| | | <label class="layui-form-label">销售代表</label> |
| | | <div class="layui-input-block" style="width: 150px;"> |
| | | <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"> --> |
| | | |
| | | </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 guanliyuan_role = undefined; |
| | | //获取角色 |
| | | var get_role = function (flag) { |
| | | 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 |
| | | }); |
| | | } |
| | | guanliyuan_role = data.data[0].id; |
| | | formSelects.data('roleId', 'local', { |
| | | arr: roleSelectData |
| | | }); |
| | | // 回显user数据 |
| | | var doctor = admin.getTempData('t_doctor'); |
| | | if (doctor.roles) { |
| | | formSelects.value('roleId', doctor.roles); |
| | | } |
| | | |
| | | } else { |
| | | layer.msg('获取角色失败', { |
| | | icon: 2, |
| | | time: 2000 |
| | | }); |
| | | } |
| | | }, 'GET'); |
| | | } |
| | | /* |
| | | * 验证手机号码 |
| | | */ |
| | | function validatorTel(content) { |
| | | |
| | | // 正则验证格式 |
| | | eval("var reg = /^1[34578]\\d{9}$/;"); |
| | | var flag=RegExp(reg).test(content) |
| | | return flag; |
| | | } |
| | | //判断用户名是否被使用 |
| | | 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: 2000 |
| | | }) |
| | | } |
| | | } else { |
| | | layer.msg(data.msg, { |
| | | icon: 2, |
| | | time: 2000 |
| | | }); |
| | | } |
| | | }, 'post'); |
| | | } |
| | | |
| | | |
| | | // 表单提交事件 |
| | | form.on('submit(user-form-submit)', function (data) { |
| | | layer.load(2); |
| | | debugger |
| | | data.field.hospitalId = $("#hospitalId").val(); |
| | | if (data.field.roleId != null && data.field.roleId != "") { |
| | | data.field.roles = data.field.roleId.split(','); |
| | | } |
| | | if ($("#doctorType").val() == 2) { |
| | | //将关于密码的的去掉 |
| | | data.field.username = ""; |
| | | data.field.password = ""; |
| | | data.field.passwordSure = ""; |
| | | } else { |
| | | if (data.field.roles.length == 0) { |
| | | layer.msg("请选择角色"); |
| | | return |
| | | } |
| | | if (data.field.roles.includes(guanliyuan_role)) { |
| | | data.field.isAdminUser = true; |
| | | } else { |
| | | data.field.isAdminUser = false; |
| | | } |
| | | } |
| | | // guanliyuan_role |
| | | // data.field.hospitalId = ""+data.field.hospitalId; |
| | | data.field.roleId = null; |
| | | |
| | | admin.req('api-user/sysdoctor', JSON.stringify(data.field), function (data) { |
| | | layer.closeAll('loading'); |
| | | if (data.code == 0) { |
| | | layer.closeAll(); |
| | | parent.layui.table.reload('app-table', {}); |
| | | } 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: 2000 |
| | | }); |
| | | } |
| | | }, '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: 2000 |
| | | }); |
| | | } |
| | | }, '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: 2000 |
| | | }); |
| | | } |
| | | }, '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'); |
| | | } |
| | | }); |
| | | //将密码隐藏 |
| | | $(".account").hide(); |
| | | //将密码置空 |
| | | $("#password").val(""); |
| | | form.render(); |
| | | $("#username").blur(function () { |
| | | username_is_usered("username"); |
| | | }) |
| | | |
| | | //医生类型的选择事件 |
| | | // form.on('select(doctorType)', function (data) { |
| | | // // console.log("eeeeeeeeeeeeeeeee"); |
| | | // // var doctor = admin.getTempData('t_doctor'); |
| | | // // debugger |
| | | // // console.log("doctordoctordoctordoctordoctor",doctor); |
| | | // var doctorType = $('#doctorType').val(); |
| | | // //将密码项取消 |
| | | // if (doctorType == 2) { |
| | | // $(".account").hide(); |
| | | // } else { |
| | | // $(".account").show(); |
| | | // } |
| | | // }) |
| | | }; |
| | | $("#doctorTel-add").blur(function () { |
| | | $("#username").val($("#doctorTel-add").val()) |
| | | var doctorTel_add = $("#doctorTel-add").val(); |
| | | debugger |
| | | if (!validatorTel(doctorTel_add)) { |
| | | layer.msg("请输入正确的手机号"); |
| | | } |
| | | username_is_usered("username"); |
| | | }) |
| | | //自动完成-医院名称 |
| | | 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); |
| | | } |
| | | }); |
| | | //医生类型的选择事件 |
| | | form.on('select(doctorType)', function (data) { |
| | | var doctor = admin.getTempData('t_doctor'); |
| | | var doctorType = $('#doctorType').val(); |
| | | if (doctor.doctorType == 2 && doctorType == 2) { |
| | | $(".account").hide(); |
| | | $("#roleId_div").hide() |
| | | } else if (doctor.doctorType == 2 && doctorType != 2) { |
| | | $(".account").show(); |
| | | $("#password_div").show(); |
| | | $("#passwordSure_div").show(); |
| | | $("#roleId_div").show() |
| | | if (doctor.username == null) { |
| | | $("#username").val(doctor.doctorTel); |
| | | form.render(); |
| | | } |
| | | } else if (doctor.doctorType != 2 && doctorType != 2) { |
| | | $(".account").show(); |
| | | $("#password_div").hide(); |
| | | $("#passwordSure_div").hide(); |
| | | $("#roleId_div").show() |
| | | } else if (doctor.doctorType != 2 && doctorType == 2) { |
| | | $(".account").hide(); |
| | | $("#roleId_div").hide() |
| | | } |
| | | |
| | | }) |
| | | //数据的回显 |
| | | var doctor = admin.getTempData('t_doctor'); |
| | | $('#app-form-add').attr('method', 'POST'); |
| | | if (doctor) { |
| | | //重新装载科室 |
| | | getdepartment(doctor.hospitalId); |
| | | //获取职称的 |
| | | getZhiCheng(); |
| | | //获取销售代表 |
| | | getXiaoShouDaiBiao(); |
| | | //获取角色 |
| | | get_role(doctor.isAdminUser); |
| | | |
| | | form.val('app-form-add', doctor); |
| | | $("#hospitalId").val(doctor.hospitalId); |
| | | $("#password_div").hide(); |
| | | $("#passwordSure_div").hide(); |
| | | |
| | | //将密码项取消 |
| | | if (doctor.doctorType == 2) { |
| | | $(".account").hide(); |
| | | $("#roleId_div").hide() |
| | | } else { |
| | | $(".account").show(); |
| | | $("#roleId_div").show() |
| | | } |
| | | $('#demo2').append('<img src="' + doctor.doctorLogo + |
| | | '" width="50px" height="50px" alt="' + "name" + |
| | | '" class="layui-upload-img">') |
| | | $("#password").removeAttr("lay-verify") |
| | | $("#password").removeAttr("required") |
| | | $("#passwordSure").removeAttr("lay-verify") |
| | | |
| | | form.render(); |
| | | } else { |
| | | loadEditData(); |
| | | } |
| | | }); |
| | | </script> |