From eaf5199c2eee33f5add31d6dbe17d731eb9eab66 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <913652501@qq.com>
Date: Thu, 14 May 2020 16:23:48 +0800
Subject: [PATCH] 医生添加用户时, 用户名不能重复
---
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html | 193 ++++++++++++++++++++++++++++++------------------
1 files changed, 120 insertions(+), 73 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 e2433f0..c9642a3 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,36 +8,44 @@
</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>
- <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>
- </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>
+ <div class="layui-form-item">
+ <div class="layui-inline" style="margin-bottom: -25px;">
+ <input id="doctorTel" class="layui-input search-input" type="text" placeholder="按手机号..." /> 
+ <input id="doctorName" class="layui-input search-input" type="text" placeholder="按医生名..." /> 
+ <select id="doctorState" lay-filter="role_clients">
+ <option value="">-医院状态-</option>
+ <option value="true">正常</option>
+ <option value="false">试用</option>
+ </select> 
+ <input name="hospitalName-seach" id="hospitalName-seach" placeholder="请输入医院名称" type="text"
+ class="layui-input search-input" maxlength="50" autocomplete="off" /> 
+ </div>
+ <button id="app-btn-search" class="layui-btn icon-btn permissions" layt="abc"
+ permissions="sysdoctor-list"><i class="layui-icon"></i>搜索</button>
+ <button id="doctor-btn-add" class="layui-btn icon-btn permissions" permissions="sysdoctor-edit"><i
+ class="layui-icon"></i>添加</button>
+ <!-- 数据表格 -->
+ <table class="layui-table" id="app-table" lay-filter="app-table"></table>
+ </div>
</div>
-
- <!-- 数据表格 -->
- <table class="layui-table" id="app-table" lay-filter="app-table"></table>
</div>
</div>
+<input id="hospitalId" type="hidden" />
<!-- 表格操作列 -->
<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 permissions" permissions="users-edit" lay-event="reset">重置密码</button>
+ <button class="layui-btn layui-btn-primary layui-btn-xs permissions" permissions="sysdoctor-edit" lay-event="edit">修改</button>
+ <button class="layui-btn layui-btn-xs permissions" permissions="sysdoctor-del" lay-event="del">删除</button>
</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':''}}/>
+</script>
<!-- 表单弹窗 -->
<script type="text/html" id="app-model">
<form id="app-form" lay-filter="app-form" class="layui-form model-form" >
@@ -47,7 +55,7 @@
<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>
@@ -56,7 +64,7 @@
<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>
@@ -74,7 +82,7 @@
<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"/>
+ <input name="serverUserName" type="text" class="layui-input" maxlength="15" lay-verify="required" required/>
</div>
</div>
</div>
@@ -82,13 +90,13 @@
<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>
@@ -96,13 +104,13 @@
<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>
@@ -160,7 +168,7 @@
</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>
+ <button class="layui-btn permissions" permissions="sysdoctor-edit" id="sure" lay-filter="user-form-submit" lay-submit>保存</button>
</div>
</form>
</script>
@@ -175,7 +183,7 @@
<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>
@@ -193,7 +201,7 @@
<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>
@@ -201,7 +209,7 @@
<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"/>
@@ -212,7 +220,7 @@
<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">
@@ -226,7 +234,7 @@
<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">
@@ -242,7 +250,7 @@
<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">
+ <select id="serverUserId-add" name="serverUserId" lay-filter="serverUserId-add" placeholder="选择一个应用" lay-verify="required" required>
<option value="">-请选择-</option>
</select>
</div>
@@ -282,7 +290,7 @@
<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" id="username" type="text" class="layui-input" maxlength="15" lay-verify="required" required/>
</div>
</div>
</div>
@@ -290,13 +298,13 @@
<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>
@@ -318,14 +326,14 @@
<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>
+ <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'], function () {
+ layui.use(['form', 'table', 'laydate', 'util', 'config', 'upload', 'admin', 'autocomplete'], function () {
var form = layui.form;
var table = layui.table;
var config = layui.config;
@@ -333,6 +341,9 @@
var util = layui.util;
var admin = layui.admin;
var upload = layui.upload;
+ var autocomplete = layui.autocomplete;
+ var $ = layui.jquery;
+ form.verify({ confirmPass: function (value) { if ($('input[name=password]').val() !== value) return '两次密码输入不一致!'; } });
//医院数据绑定在弹框里
var hospital = "";
@@ -342,6 +353,7 @@
var user = "";
//职称
var doctorRank = "";
+
// 获取应用列表
// layer.load(2);
admin.req('api-user/syshospital/findAllByMap', JSON.stringify({ is_del: 0 }), function (data) {
@@ -358,7 +370,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();
@@ -366,6 +377,36 @@
layer.msg(data.msg, { icon: 2, time: 500 });
}
}, 'Post');
+ //自动完成-医院名称
+ autocomplete.render({
+ elem: $('#hospitalName-seach')[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);
+ }
+ });
+
+ // 修改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) {
@@ -426,31 +467,30 @@
headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
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: 120, title: '医生姓名' },
+ { field: 'doctorRank', width: 100, title: '职称' },
+ { field: 'username', width: 150, title: '登录帐号' },
+ { field: 'doctorTel', width: 150, title: '联系方式' },
{
- field: 'doctorState', width: 300, sort: true, title: '状态', templet: function (d) {
- return d.doctorState ? "正式" : "试用"
- }
- },
- {
- field: 'isAnswer', width: 300, sort: true, title: '医答', templet: function (d) {
+ field: 'isAnswer', width: 100, title: '医答', templet: function (d) {
return d.isAnswer ? "是" : "否"
}
},
{
- field: 'isSigning', width: 300, sort: true, title: '签约', templet: function (d) {
+ field: 'isSigning', width: 100, 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: 100, align: 'center', templet: '#doctor-tpl-state', title: '状态' },
+ // { field: 'createTime', width: 150, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy-MM-dd HH:mm')}}</div>" },
+ { field: 'createTime', width: 100, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>" },
+ { field: 'serverUserName', width: 100, title: '销售代表' },
+ { width: 300, align: 'center', toolbar: '#doctor-table-bar', title: '操作' },
+ ]],
+ done: function (res, curr, count) {
+ permissionsInput();
+ }
});
// 工具条点击事件
@@ -488,27 +528,16 @@
}
}, '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');
- });
}
});
// 搜索按钮点击事件
$('#app-btn-search').click(function () {
+ if (strUtil.isEmpty($("#hospitalName-seach").val())) {
+ $("#hospitalId").val("");
+ }
var doctorState = $('#doctorState').val();
- var hospitalName = $('#hospitalName-seach').val();
+ var hospitalName = $("#hospitalId").val();
var doctorTel = $('#doctorTel').val();
var doctorName = $('#doctorName').val();
table.reload('app-table', { where: { doctorState: doctorState, hospitalId: hospitalName, doctorTel: doctorTel, doctorName: doctorName } });
@@ -565,9 +594,26 @@
$('#hospitalName-add').append(new Option(item.hospitalName, item.id, false, selected));
})
form.render();
+ $("#username").blur(function () {
+ username_is_usered("username");
+ })
}
});
};
+ //判断用户名是否被使用
+ 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 = "";
@@ -737,5 +783,6 @@
}
}, 'get');
}
+
});
</script>
\ No newline at end of file
--
Gitblit v1.8.0