<div class="layui-card">
|
<div class="layui-card-header">
|
<h2 class="header-title">医生管理</h2>
|
<span class="layui-breadcrumb pull-right">
|
<a href="#!home_console">首页</a>
|
<a><cite>医生管理</cite></a>
|
</span>
|
</div>
|
<div class="layui-card-body">
|
<div class="layui-form toolbar">
|
<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="1">正常</option>
|
<option value="0">试用</option>
|
</select> 
|
<input name="hospitalName" 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>
|
</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>
|
{{# if (d.doctorType !=2){}}
|
<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-danger 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">
|
<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" />
|
</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="请选择科室" 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' class="layui-input" maxlength="20" />
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">是否是管理员</label>
|
<div class="layui-input-block">
|
<input name="isAdminUser" id="isAdminUser-shi" type="radio" value="true" title="是"
|
class="layui-input" />
|
<input name="isAdminUser" id="isAdminUser-fou" type="radio" value="false" title="否"
|
class="layui-input" />
|
</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">
|
<label class="layui-form-label">Email</label>
|
<div class="layui-input-block" style="width: 150px;">
|
<input name="doctorEmail" type="text" class="layui-input" maxlength="50"
|
lay-verify="email" autocomplete="off"/>
|
</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: 697px;"></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">
|
<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"
|
lay-verify="required" required />
|
</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" class="layui-input" maxlength="15" />
|
</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" id="demo" style="width: 150px;">
|
<img id="doctorLogo" src="" width="100px" height="100px">
|
</div>
|
</div>
|
</div>
|
<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;">
|
<img id="doctorCcie" src="" width="200px" height="200px">
|
</div>
|
</div>
|
</div>
|
</div>
|
|
<div class="layui-form-item model-form-footer">
|
<button class="layui-btn permissions" ew-event="closeDialog" id="shen_he" type="button">审核通过</button>
|
<button class="layui-btn permissions" ew-event="closeDialog" type="button" id="sure">关闭</button>
|
</div>
|
</form>
|
</script>
|
|
|
<script>
|
layui.use(['form', 'table', 'laydate', 'util', 'config', 'upload', 'admin', 'autocomplete', 'formSelects'],
|
function () {
|
var form = layui.form;
|
var table = layui.table;
|
var config = layui.config;
|
var layer = layui.layer;
|
var util = layui.util;
|
var admin = layui.admin;
|
var autocomplete = layui.autocomplete;
|
var formSelects = layui.formSelects;
|
var $ = layui.jquery;
|
form.verify({
|
confirmPass: function (value) {
|
if ($('input[name=password]').val() !== value) return '两次密码输入不一致!';
|
}
|
});
|
|
//医院数据绑定在弹框里
|
var hospital = "";
|
|
var department = "";
|
//销售代表
|
var user = "";
|
//职称
|
var doctorRank = "";
|
|
// 获取应用列表
|
// layer.load(2);
|
admin.req('api-user/syshospital/findAllByMap', JSON.stringify({
|
is_del: 0
|
}), function (data) {
|
layer.closeAll('loading');
|
if (0 === data.code) {
|
let selected = false;
|
clientsAll = data.data;
|
hospital = data.data;
|
$.each(data.data, function (index, item) {
|
if (config.clientId === item.clientId) {
|
selected = true;
|
} else {
|
selected = false;
|
}
|
//往下拉菜单里添加元素
|
$('#hospitalName-seach').append(new Option(item.hospitalName, item.id,
|
false, selected));
|
form.render('select', 'app-form');
|
})
|
form.render();
|
} else {
|
layer.msg(data.msg, {
|
icon: 2,
|
time: 2000
|
});
|
}
|
}, '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状态
|
var updata_enable = function (obj) {
|
layer.confirm('确定审核通过吗?', function (i) {
|
admin.req('api-user/sysdoctor/enable', JSON.stringify({
|
id: obj.id,
|
enabled: true
|
}), function (data) {
|
layer.closeAll('loading');
|
if (data.code == 0) {
|
layer.msg(data.msg, {
|
icon: 1,
|
time: 2000
|
});
|
parent.layui.table.reload('app-table', {});
|
} else {
|
layer.msg(data.msg, {
|
icon: 2,
|
time: 2000
|
});
|
$(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) {
|
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');
|
}
|
|
// 添加按钮点击事件
|
$('#doctor-btn-add').click(function () {
|
showEditModel_add("添加");
|
});
|
//时间格式
|
var laydate = layui.laydate;
|
//执行一个laydate实例
|
laydate.render({
|
elem: '#test1' //指定元素
|
});
|
laydate.render({
|
elem: '#test2' //指定元素
|
});
|
|
// 渲染表格
|
table.render({
|
elem: '#app-table',
|
url: config.base_server + 'api-user/sysdoctor',
|
method: 'GET',
|
headers: {
|
'Authorization': 'Bearer ' + config.getToken().access_token
|
},
|
page: true,
|
cols: [
|
[{
|
field: 'hospitalName',
|
width: "200",
|
title: '医院名称',
|
fixed: 'left'
|
},
|
{
|
field: 'departmentName',
|
width: "150",
|
title: '科室',
|
fixed: 'left'
|
},
|
{
|
field: 'doctorName',
|
width: "100",
|
title: '医生姓名',
|
fixed: 'left'
|
},
|
{
|
field: 'doctorRank',
|
width: "100",
|
title: '职称'
|
},
|
{
|
field: 'username',
|
width: "150",
|
title: '登录帐号'
|
},
|
{
|
field: 'doctorTel',
|
width: "150",
|
title: '联系方式'
|
},
|
{
|
field: 'isAnswer',
|
width: "75",
|
title: '医答',
|
templet: function (d) {
|
return d.isAnswer ? "是" : "否"
|
}
|
},
|
{
|
field: 'isSigning',
|
width: "75",
|
title: '签约',
|
templet: function (d) {
|
return d.isSigning ? "是" : "否"
|
}
|
},
|
{
|
field: 'isAdminUser',
|
width: "100",
|
title: '是否管理员',
|
templet: function (d) {
|
return d.isAdminUser ? "管理员" : "普通医生"
|
}
|
},
|
{
|
field: 'createTime',
|
width: "120",
|
sort: true,
|
title: '创建时间',
|
templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>"
|
},
|
{
|
field: 'serverUserName',
|
width: "120",
|
title: '销售代表'
|
},
|
{
|
width: "260",
|
align: 'center',
|
toolbar: '#doctor-table-bar',
|
title: '操作',
|
fixed: 'right'
|
},
|
]
|
],
|
done: function (res, curr, count) {
|
permissionsInput(res, config);
|
}
|
});
|
// 显示编辑弹窗
|
var showEditModel = function (data) {
|
layer.open({
|
type: 1,
|
title: '详情',
|
area: '900px',
|
offset: '120px',
|
content: $('#app-model').html(),
|
id: 'LAY_layuipro',
|
success: function () {
|
$('#app-form')[0].reset();
|
if (data.isAdminUser) {
|
$('#isAdminUser-shi').prop("checked", true)
|
} else {
|
$('#isAdminUser-fou').prop("checked", true)
|
}
|
if (data.isTop) {
|
$('#isTop-shi').prop("checked", true)
|
} else {
|
$('#isTop-fou').prop("checked", true)
|
}
|
if (data.isAnswer) {
|
$('#isAnswer-shi').prop("checked", true)
|
} else {
|
$('#isAnswer-fou').prop("checked", true)
|
}
|
if (data.isSigning) {
|
$('#isSigning-shi').prop("checked", true)
|
} else {
|
$('#isSigning-fou').prop("checked", true)
|
}
|
|
$('#app-form').attr('method', 'POST');
|
if (data) {
|
$('#doctorLogo').prop("src", data.doctorLogo);
|
$('#doctorCcie').prop("src", data.doctorCcie);
|
if (!data.enabled) {
|
$('#shen_he').show();
|
} else {
|
$('#shen_he').hide();
|
}
|
form.val('app-form', data);
|
$('#app-form').find('input,select,textarea').prop('readonly', true);
|
$('#app-form').find('select').prop('disabled', true);
|
$('#app-form').find('input[type="radio"]').prop('disabled', true);
|
$('#app-form').attr('method', 'POST');
|
form.render();
|
}
|
//点击审核通过按钮
|
$('#shen_he').click(function () {
|
updata_enable(data);
|
})
|
}
|
});
|
}
|
|
|
// 工具条点击事件
|
table.on('tool(app-table)', function (obj) {
|
var data = obj.data;
|
var layEvent = obj.event;
|
if (layEvent === 'detail') { // 查看详情
|
showEditModel(data);
|
} else if (layEvent === 'reset') {
|
layer.confirm('确定重置此用户的密码吗?', function (i) {
|
layer.close(i);
|
layer.load(2);
|
admin.req('api-user/users/' + obj.data.userId + '/password', {}, function (
|
data) {
|
layer.closeAll('loading');
|
if (data.code == 0) {
|
layer.alert("密码重置为:" + data.data, {
|
icon: 1
|
});
|
} else {
|
layer.msg(data.msg, {
|
icon: 2,
|
time: 2000
|
});
|
}
|
}, 'PUT');
|
});
|
} else if (layEvent === 'edit') {
|
showEditModel_add("编辑", data);
|
} else if (layEvent === 'del') {
|
layer.confirm('确定删除此用户吗?', function (i) {
|
layer.close(i);
|
layer.load(2);
|
admin.req('api-user/sysdoctor/' + obj.data.id, {}, function (data) {
|
layer.closeAll('loading');
|
if (data.code == 0) {
|
layer.msg(data.msg, {
|
icon: 1,
|
time: 2000
|
});
|
table.reload('app-table', {});
|
} else {
|
layer.msg(data.msg, {
|
icon: 2,
|
time: 2000
|
});
|
}
|
}, 'delete');
|
});
|
}
|
});
|
|
// 搜索按钮点击事件
|
$('#app-btn-search').click(function () {
|
if (strUtil.isEmpty($("#hospitalName-seach").val())) {
|
$("#hospitalId").val("");
|
}
|
var doctorState = $('#doctorState').val();
|
var hospitalName = $("#hospitalName-seach").val();
|
var doctorTel = $('#doctorTel').val();
|
var doctorName = $('#doctorName').val();
|
var hospitalId=$("#hospitalId").val();
|
table.reload('app-table', {
|
where: {
|
doctorState: doctorState,
|
hospitalName: hospitalName,
|
hospitalId,
|
doctorTel: doctorTel,
|
doctorName: doctorName
|
},
|
page: {
|
curr: 1
|
}
|
});
|
});
|
|
// 显示新增弹窗
|
var showEditModel_add = function (title, data) {
|
admin.putTempData('t_doctor', data);
|
admin.popupCenter({
|
title: title,
|
path: 'pages/opration/doctor_form.html',
|
area: '900px',
|
offset: '0px',
|
finish: function () {}
|
});
|
};
|
});
|
</script>
|