//@ sourceURL=user_manage.js
$(function () {
$("input").each(function () {
this.onkeydown = function (e) { // 监听键盘事件
var theEvent = window.event || e;
var code = theEvent.keyCode || theEvent.which;
if (code == 13) {//回车事件
$("#btn_search").click(); //触发搜索按钮点击事件
}
}
});
//新增按钮点击事件
$("#btn_add").click(function (t) {
$("#editModal").modal();
$("#classTitle").text("新增");
clearInput();
});
//角色保存按钮点击事件
$("#btn_save").click(function (t) {
var validatorResult = validator.checkAll($("#editUserForm"));
if (validatorResult) {
saveUser();
}
});
//用户与科室关系保存按钮点击事件
$("#btn_saveManagerDept").click(function (t) {
var validatorResult = validator.checkAll($("#managerDeptForm"));
if (validatorResult) {
saveUserDepetNos();
}
});
//工作照保存按钮点击事件
$("#btn_save_client_image").click(function (t) {
$.ajax({
type: "POST",
contentType: "application/json;charset=UTF-8",
url: "/thmz/modify-user-for-other",
dataType: 'json',
data: JSON.stringify({"id": $("#userId").val(), "clientProfileImage": $("#fileIds").val()}),
headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
success: function (result) {
if (result == '401' || result == 401) {
window.location.href = '/thmz/login/view'
return;
}
if (result.code == 0) {
successMesage(result);
getAllUser();
dropzoneDestroy();
$("#clientImageModal").modal("hide");
} else {
errorMesage(result);
}
}
});
});
//初始化表格数据
getAllUser();
getAllRole();
initDeptSelect();
initCommonFile();
});
//初始化角色下拉
function getAllRole() {
$.ajax({
type: "POST",
url: '/thmz/getAllRole',
contentType: "application/json;charset=UTF-8",
dataType: "json",
headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
success: function (res) {
if (res == '401' || res == 401) {
window.location.href = '/thmz/login/view';
return;
}
if (res.code == 0) {
//初始化角色下拉
var arr = res.data;
if (arr != null && arr.length > 0) {
var html = "";
for (var i = 0; i < arr.length; i++) {
html += "";
}
$('#roleName').html(html);
$('#roleName').selectpicker('refresh');
} else {
errorMesage(res);
}
}
}
});
}
//初始化科室下拉
function initDeptSelect() {
//科室列表
$.ajax({
type: "GET",
url: '/thmz/allUnitCode',
dataType: "json",
headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
success: function (data) {
if (data == '401' || data == 401) {
window.location.href = '/thmz/login/view'
return;
}
var html = '';
$.each(data.data, function (commentIndex, comment) {
html += '';
});
$('#deptNoManagerDept').empty();
$('#deptNoManagerDept').html(html);
$('#deptNoManagerDept').selectpicker('refresh');
}
});
}
/**
* 保存用户数据
*/
function saveUser() {
var id = $("#id").val();
var roles = $("#roleName").val();
var roleIds = null;
if (roles.length > 0) {
for (var i = 0; i < roles.length; i++) {
if (roleIds == null) {
roleIds = roles[i];
} else {
roleIds += "," + roles[i];
}
}
}
var data = null;
//修改用户
if (id != null) {
data = JSON.stringify({
user: {
id: id
},
roleIds: roleIds
});
} else {
//新增用户
}
console.log(data);
$.ajax({
type: "POST",
url: '/thmz/saveUserRoleRelation',
contentType: "application/json;charset=UTF-8",
dataType: "json",
headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
data: data,
success: function (res) {
if (res == '401' || res == 401) {
window.location.href = '/thmz/login/view'
return;
}
if (res.code == 0) {
$("#editModal").modal("hide");
clearInput();
$('#tb_table').bootstrapTable('refresh');
successMesage(res);
} else {
errorMesage(res);
}
}
});
}
/**
* 清空输入框
*/
function clearInput() {
$("#id").val(null);
$("#roleName").attr("lang", '0');
$("#roleName").selectpicker('refresh');
$('#userCode').val(null);
$('#userName').val(null);
}
/**
* 查询角色列表
*/
function getAllUser() {
$('#tb_table').bootstrapTable("destroy");
$('#tb_table').bootstrapTable({
url: '/thmz/getUserPage', //请求后台的URL(*)
method: 'post', //请求方式(*)
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination: true, //是否显示分页(*)
sortable: true, //是否启用排序
sortOrder: "asc", //排序方式
queryParams: queryParams, //传递参数(*)
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 10, //每页的记录行数(*)
pageList: [10, 25, 50, 100], //可供选择的每页的行数(*)
search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
strictSearch: true,
showColumns: false, //是否显示所有的列
showRefresh: false, //是否显示刷新按钮
minimumCountColumns: 2, //最少允许的列数
clickToSelect: true, //是否启用点击选中行
uniqueId: "ID", //每一行的唯一标识,一般为主键列
showToggle: false, //是否显示详细视图和列表视图的切换按钮
cardView: false, //是否显示详细视图
detailView: false,
//rowStyle:rowStyle,//通过自定义函数设置行样式
ajaxOptions: {
headers: {
'Accept': 'application/json',
'Authorization': 'Bearer ' + localStorage.getItem("token")
}
},
columns: [
{
title: '操作',
align: "center",
valign: 'middle',
formatter: function (value, row, index) {
var rowData = JSON.stringify(row);
var str = '';
str += '';
if (row.user != undefined && row.user != null && row.user.clientProfileImage != null && row.user.clientProfileImage > 0) {
str += '';
}
str += '';
str += '';
return [str].join('');
}
},
{
field: 'userIdCode',
title: '员工编号',
align: "center",
valign: 'middle',
formatter: function (value, row, index) {
return row.user.userIdCode;
}
},
{
field: 'userCode',
title: '工号',
align: "center",
valign: 'middle',
formatter: function (value, row, index) {
return row.user.userCode;
}
}, {
field: 'userName',
title: '姓名',
align: "center",
valign: 'middle',
formatter: function (value, row, index) {
return row.user.userName;
}
}, {
field: 'roleName',
title: '角色',
align: "center",
valign: 'middle',
formatter: function (value, row, index) {
return row.roleName;
}
}, {
field: 'deptNames',
title: '所属科室',
align: "center",
valign: 'middle',
formatter: function (value, row, index) {
return row.deptNames;
}
}, {
field: 'createTime',
title: '更新时间',
align: "center",
valign: 'middle',
formatter: function (value, row, index) {
return value == null ? "-" : format(value, "yyyy-MM-dd HH:mm:ss");
}
}, {
field: 'createName',
title: '更新人',
align: "center",
valign: 'middle'
}
],
responseHandler: function (res) {
if (res == '401' || res == 401) {
window.location.href = '/thmz/login/view'
return;
}
var ress = eval(res);
if (ress.code == -1) {
if (ress.message != null && ress.message != '') {
new PNotify({
title: '错误提示',
text: ress.message,
type: 'error',
hide: true,
styling: 'bootstrap3'
});
}
return {
"total": 0,//总页数
"rows": {} //数据
};
}
return {
"total": ress.total,//总页数
"rows": ress.data //数据
};
},
});
}
/**
* 构建列表查询参数
* @param params
* @returns {{mzChargeDetail: {patientId: string | number | string[] | undefined | jQuery, warnDept: string | number | string[] | undefined | jQuery, doctorCode: string | number | string[] | undefined | jQuery, name: string | number | string[] | undefined | jQuery, payMark: number}, beginTime: Date, endTime: Date, pageSize: *, pageIndex: number}}
*/
function queryParams(params) {
var temp = {
pageSize: params.limit,
offset: params.offset,
userCode: $("#userCodeSearch").val() == "" ? null : $("#userCodeSearch").val(),
userName: $("#userNameSearch").val() == "" ? null : $("#userNameSearch").val()
};
return temp;
};
/**
* 打开编辑窗口
* @param row
*/
function editUser(row) {
console.log('进入editUser',row)
clearInput();
$("#classTitle").text("修改");
$("#id").val(row.user.id);
$("#userName").val(row.user.userName);
$("#userCode").val(row.user.userCode);
row.roleIds != null ? $("#roleName").val(row.roleIds.split(",")) : $("#roleName").val("");
$("#roleName").selectpicker('refresh');
$("#editModal").modal();
}
/**
* 打开查看工作照窗口
* @param row
*/
function showClientImageModal(row) {
$("#clientProfileImage").attr("src", null);
if (row.user.clientProfileImage != null && row.user.clientProfileImage > 0) {
$("#showClientImageModal").modal();
imgFun("/thmz/download?id=" + row.user.clientProfileImage, "clientProfileImage");
}
}
/**
* 打开上传工作照窗口
* @param row
*/
function clientImageModal(row) {
$("#userId").val(row.user.id);
$("#clientImageModal").modal();
}
/**
* 设置所属科室
* @param row
*/
function managerDeptNo(row) {
clearInputManagerDept();
$("#userNameManagerDept").val(row.user.userName);
$("#userCodeManagerDept").val(row.user.userCode);
$("#userIdCodeManagerDept").val(row.user.userIdCode);
row.deptNos != null ? $("#deptNoManagerDept").val(row.deptNos) : $("#deptNoManagerDept").val("");
$("#deptNoManagerDept").selectpicker('refresh');
$("#managerDeptModal").modal();
}
//初始化密码
function initPassword(row) {
if(!stringNotBlank(row.user.userCode)){
errorMesageSimaple('员工号不能为空!')
}
if (!confirm(`请确认是否要初始化密码,初始化后的密码为:thyy${row.user.userCode}`)) {
return;
}
postAjaxJsonHttpRequst("/thmz/initAllPassWord",{userCode:row.user.userCode},true,function (res) {
if (res == '401' || res == 401) {
window.location.href = '/thmz/login/view'
return;
}
if(res.code == 0){
successMesageSimaple(res.message)
}else {
errorMesage(res)
}
})
}
/**
* 清空输入框
*/
function clearInputManagerDept() {
$('#userCodeManagerDept').val(null);
$('#userNameManagerDept').val(null);
$('#userIdCodeManagerDept').val(null);
$("#deptNoManagerDept").selectpicker("val", null);
$("#deptNoManagerDept").selectpicker('refresh');
}
/**
* 重置查询表单
*/
function resetSearch() {
$("#userCodeSearch").val(null);
$("#userNameSearch").val(null);
}
/**
* 初始化工作照上传框
*/
function initCommonFile() {
/**
*初始化文件上传框
*/
try {
//设置文件类型 其他文件
localStorage.setItem("fileType", "5");
$("#commonFile").dropzone({
url: "/thmz/upload",
headers: {
'Accept': 'application/json',
'Authorization': 'Bearer ' + localStorage.getItem("token"),
'fileType': localStorage.getItem("fileType")
},
init: function () {
this.on("success", function (file, data) {
if (data == '401' || data == 401) {
window.location.href = '/thmz/login/view'
return;
}
if (data.code == 0) {
var fileIds = data.fileIds;
if (fileIds != null && fileIds.length > 0) {
if (fileIds.indexOf(",") > 0) {
errorMesageSimaple("工作照片不允许上传多张,请取消重新上传!");
return;
}
}
$("#fileIds").val(fileIds);
}
});
},
});
} catch (e) {
console.error("出现一些未知错误")
}
}
/**
* 清空文件上传框
*/
function dropzoneDestroy() {
var children = $("#commonFile").children();
if (children != null && children.length > 1) {
for (var i = 0; i < children.length; i++) {
if (i > 0) {
$(children[i]).remove();
}
}
}
$("#commonFile").removeClass("dz-started");
$("#userId").val(null);
$("#fileIds").val(null);
}
/**
* 保存用户与科室关系数据
*/
function saveUserDepetNos() {
$.ajax({
type: "POST",
url: '/thmz/saveUserDeptRelation',
contentType: "application/json;charset=UTF-8",
dataType: "json",
headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
data: JSON.stringify({
userIdCode: $("#userIdCodeManagerDept").val(),
deptNos: $("#deptNoManagerDept").val()
}),
success: function (res) {
if (res == '401' || res == 401) {
window.location.href = '/thmz/login/view'
return;
}
if (res.code == 0) {
$("#managerDeptModal").modal("hide");
clearInputManagerDept();
$('#tb_table').bootstrapTable('refresh');
successMesage(res);
} else {
errorMesage(res);
}
}
});
}