From 76c53a0f0792a9406259dd78e1b8c20ae55dd546 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Mon, 11 May 2020 18:18:27 +0800 Subject: [PATCH] 添加 按钮根据 权限隐藏的功能 --- kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html | 270 +++++++++++++++++++++++++++++++++++------------------- 1 files changed, 175 insertions(+), 95 deletions(-) diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html index 2b16ba4..78f2921 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html @@ -8,18 +8,20 @@ </div> <div class="layui-card-body"> <div class="layui-form toolbar"> - <button id="doctor-btn-add" class="layui-btn icon-btn"><i class="layui-icon"></i>添加</button> + <button id="doctor-btn-add" class="layui-btn icon-btn" value="sysdoctor-edit"><i + class="layui-icon"></i>添加</button> <select placeholder="选择一个应用" id="doctorState" lay-filter="role_clients"> <option value="">-请选择-</option> <option value="true">正常</option> <option value="false">试用</option> </select> <select id="hospitalName-seach" placeholder="选择一个应用" lay-filter="role_clients"> - <option value="">-请选择-</option> + <option value="">-请选择医院-</option> </select> <input id="doctorTel" class="layui-input search-input" type="text" placeholder="按手机号..." />  <input id="doctorName" class="layui-input search-input" type="text" placeholder="按医生..." />  - <button id="app-btn-search" class="layui-btn icon-btn"><i class="layui-icon"></i>搜索</button> + <button id="app-btn-search" class="layui-btn icon-btn" value="sysdoctor-list"><i + class="layui-icon"></i>搜索</button> </div> <!-- 数据表格 --> @@ -30,23 +32,29 @@ <!-- 表格操作列 --> <script type="text/html" id="doctor-table-bar"> - <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看详情</a> - <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="reset">重置密码</a> - <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> - <a class="layui-btn layui-btn-xs" lay-event="enable">停用</a> + <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看详情</a> + <button class="layui-btn layui-btn-primary layui-btn-xs" value="users-edit" lay-event="reset">重置密码</button> + <button class="layui-btn layui-btn-primary layui-btn-xs" value="sysdoctor-edit" lay-event="edit">修改</button> + <button class="layui-btn layui-btn-xs" value="sysdoctor-del" lay-event="del">删除</button> + <!-- <a class="layui-btn layui-btn-xs" lay-event="enable">停用</a> --> </script> - +<!-- 表格状态列 --> +<script type="text/html" id="doctor-tpl-state"> + <input type="checkbox" lay-filter="doctor-tpl-state" value="{{d.id}}" lay-skin="switch" lay-text="正常|已停用" + {{d.enabled==true?'checked':''}}/> + <input class="radioChecked" type="hidden" value="sysdoctor-enable" /> +</script> <!-- 表单弹窗 --> <script type="text/html" id="app-model"> - <form id="app-form" lay-filter="app-form" class="layui-form model-form"> + <form id="app-form" lay-filter="app-form" 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" type="hidden" class="layui-input" maxlength="20"/> - <select id="hospitalId" name="hospitalId" lay-filter="getdepartment" placeholder="选择一个应用" lay-filter="role_clients"> + <select id="hospitalId" name="hospitalId" lay-filter="getdepartment" placeholder="选择一个应用" lay-verify="required" required> <option value="">-请选择-</option> </select> </div> @@ -55,11 +63,14 @@ <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-filter="role_clients"> + <select id="departmentId" name="departmentId" lay-filter="departmentId" placeholder="选择一个应用" lay-verify="required" required> <option value="">-请选择-</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"> @@ -68,42 +79,41 @@ </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"></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> + <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"/> + <input name="doctorTel" 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="doctorRank" type="text" class="layui-input" maxlength="20"/> + <input name="doctorRank" 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="doctorOtherLink" type="text" class="layui-input" maxlength="20"/> + <input name="doctorOtherLink" type="text" class="layui-input" maxlength="20" lay-verify="required" required/> </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"/> + <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"> @@ -117,6 +127,8 @@ <input name="isAnswer" id="isAnswer-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"> @@ -131,6 +143,7 @@ <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"> @@ -138,12 +151,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="serverUserName" type="text" class="layui-input" maxlength="15"/> - </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"></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" id="sure" lay-filter="user-form-submit" lay-submit>保存</button> @@ -153,14 +174,15 @@ <!-- 表单弹窗 添加--> <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-filter="role_clients"> + <select id="hospitalName-add" name="hospitalId" lay-filter="getdepartment-add" placeholder="选择一个应用" lay-verify="required" required > <option value="">-请选择-</option> </select> </div> @@ -172,11 +194,13 @@ 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-filter="role_clients"> + <select id="departmentId" name="departmentId" lay-filter="departmentId" placeholder="选择一个应用" lay-verify="required" required> <option value="">-请选择-</option> </select> </div> @@ -184,16 +208,18 @@ <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="选择一个职称" > + <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" type="text" class="layui-input" maxlength="20"/> + <input name="doctorTel" type="text" class="layui-input" maxlength="20" lay-verify="required|phone" required/> </div> </div> <div class="layui-form-item"> @@ -202,10 +228,12 @@ <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"/> + <input name="doctorEmail" type="text" class="layui-input" maxlength="20" lay-verify="required|email" required/> </div> </div> <div class="layui-form-item"> @@ -214,26 +242,27 @@ <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" 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> + <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 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"> @@ -248,6 +277,8 @@ <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"> @@ -258,30 +289,40 @@ <div class="layui-form-item"> <label class="layui-form-label" >登录帐号</label> <div class="layui-input-block"> - <input name="username" type="text" class="layui-input" maxlength="15"/> + <input name="username" 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="text" class="layui-input" maxlength="15"/> + <input name="password" type="text" lay-verify="required" class="layui-input" maxlength="15" lay-verify="required" required/> </div> </div> <div class="layui-form-item"> <label class="layui-form-label" >确认密码</label> <div class="layui-input-block"> - <input name="passwordSure" type="text" class="layui-input" maxlength="15"/> + <input name="passwordSure" type="text" 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"> - <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-filter="role_clients"> - <option value="">-请选择-</option> - </select> + <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> + <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> @@ -299,6 +340,7 @@ var util = layui.util; var admin = layui.admin; var upload = layui.upload; + form.verify({ confirmPass: function (value) { if ($('input[name=password]').val() !== value) return '两次密码输入不一致!'; } }); //医院数据绑定在弹框里 var hospital = ""; @@ -307,10 +349,22 @@ //销售代表 var user = ""; //职称 - var doctorRank=""; + var doctorRank = ""; + var test = $(".layui-btn"); + + var permissions = admin.getTempData("permissions"); + test.each(function () { + var item = $(this) + if (permissions.indexOf(item.val()) != -1) { + item.show(); + } else { + item.hide(); + } + }) + // 获取应用列表 // layer.load(2); - admin.req('api-user/syshospital/findAll', 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; @@ -324,7 +378,6 @@ } //往下拉菜单里添加元素 $('#hospitalName-seach').append(new Option(item.hospitalName, item.id, false, selected)); - // $('#hospitalId').append(new Option(item.hospitalName, item.id, false, selected)); form.render('select', 'app-form'); }) form.render(); @@ -332,6 +385,25 @@ layer.msg(data.msg, { icon: 2, time: 500 }); } }, 'Post'); + + // 修改company状态 + form.on('switch(doctor-tpl-state)', function (obj) { + layer.load(2); + admin.req('api-user/sysdoctor/enable', JSON.stringify({ + 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('table-user', {}); + } else { + 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) { @@ -393,30 +465,51 @@ page: true, cols: [[ { type: 'numbers' }, - { field: 'hospitalName', width: 180, sort: true, title: '医院名称' }, - { field: 'doctorName', width: 200, sort: true, title: '医生姓名' }, - { field: 'doctorRank', width: 180, sort: true, title: '职称' }, - { field: 'username', width: 300, sort: true, title: '登录帐号' }, - { field: 'doctorTel', width: 300, sort: true, title: '联系方式' }, + { field: 'hospitalName', width: 180, title: '医院名称' }, + { field: 'doctorName', width: 200, title: '医生姓名' }, + { field: 'doctorRank', width: 180, title: '职称' }, + { field: 'username', width: 300, title: '登录帐号' }, + { field: 'doctorTel', width: 300, title: '联系方式' }, { - field: 'doctorState', width: 300, sort: true, title: '状态', templet: function (d) { + field: 'doctorState', width: 300, title: '状态', templet: function (d) { return d.doctorState ? "正式" : "试用" } }, { - field: 'isAnswer', width: 300, sort: true, title: '医答', templet: function (d) { + field: 'isAnswer', width: 300, title: '医答', templet: function (d) { return d.isAnswer ? "是" : "否" } }, { - field: 'isSigning', width: 300, sort: true, title: '签约', templet: function (d) { + field: 'isSigning', width: 300, title: '签约', templet: function (d) { return d.isSigning ? "是" : "否" } }, - { field: 'createTime', width: 250, sort: true, title: '时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy年MM月dd日 HH:mm:ss')}}</div>" }, - { field: 'serverUserName', width: 100, sort: true, title: '销售代表' }, - { width: 200, width: 300, align: 'center', toolbar: '#doctor-table-bar', sort: true, title: '操作' }, - ]] + { field: 'enabled', width: 250, align: 'center', templet: '#doctor-tpl-state', title: '状态' }, + { field: 'createTime', width: 250, title: '时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy年MM月dd日 HH:mm:ss')}}</div>" }, + { field: 'serverUserName', width: 100, title: '销售代表' }, + { width: 200, width: 300, align: 'center', toolbar: '#doctor-table-bar', title: '操作' }, + ]], + done: function (res, curr, count) { + $(".layui-btn-xs").each(function () { + var item = $(this) + + if (permissions.indexOf(item.val()) != -1) { + item.show(); + } else { + item.hide(); + } + }) + //layui-unselect layui-form-switch layui-form-onswitch <input class="radioChecked" value="sysdoctor-enable" /> + $(".radioChecked").each(function () { + var item = $(this) + if (permissions.indexOf(item.val()) != -1) { + $(".layui-unselect").show(); + } else { + $(".layui-unselect").hide(); + } + }) + } }); // 工具条点击事件 @@ -454,20 +547,6 @@ } }, 'delete'); }); - } else if (layEvent === 'enable') { - layer.confirm('确定删除此用户吗?', function (i) { - layer.close(i); - layer.load(2); - admin.req('api-user/sysdoctor/enable', JSON.stringify({ id: obj.data.id }), 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 }); - } - }, 'post'); - }); } }); @@ -484,13 +563,13 @@ layer.open({ type: 1, title: '新增', - area: '450px', + 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'); + $('.layui-layer-content').css('overflow', 'auto'); //将医院的数据保存到下拉表 let selected = false; //获取职称的 @@ -548,7 +627,7 @@ layer.open({ type: 1, title: title, - area: '450px', + area: '650px', offset: '120px', content: $('#app-model').html(), success: function () { @@ -662,7 +741,7 @@ //新增 点击职称的触发事件 form.on('select(doctorRankId)', function (data) { //将部门名称赋值 - + $.each(doctorRank, function (index, item) { if (item.id == data.value) { console.log(12312312312) @@ -689,7 +768,7 @@ if (0 === data.code) { department = data.data; $('#departmentId').empty(); - if(data.data.length>0){ + if (data.data.length > 0) { $('#departmentName').val(data.data[0].departmentName); } $.each(data.data, function (index, item) { @@ -703,5 +782,6 @@ } }, 'get'); } + }); </script> \ No newline at end of file -- Gitblit v1.8.0