/**
|
* 系统管理--用户管理的单例对象
|
*/
|
var MgrUser = {
|
id: "managerTable",//表格id
|
seItem: null, //选中的条目
|
table: null,
|
table1: null,
|
layerIndex: -1,
|
deptid:0
|
};
|
|
/**
|
* 初始化表格的列
|
*/
|
MgrUser.initColumn = function () {
|
var columns = [
|
{field: 'selectItem', checkbox: true,visible: false},
|
{title: '用户ID', field: 'uid', visible: true, align: 'center', valign: 'middle'},
|
{title: '用户姓名', field: 'name', align: 'center', valign: 'middle'},
|
{title: '手机号', field: 'phone', align: 'center', valign: 'middle'},
|
{
|
title: '出生日期',
|
field: 'birthday',
|
align: 'center',
|
valign: 'middle',
|
formatter: function (value, row) {
|
// 确保value是有效的日期字符串或时间戳
|
if (value) {
|
var date = new Date(value);
|
var year = date.getFullYear();
|
var month = ("0" + (date.getMonth() + 1)).slice(-2); // 月份是从0开始的,所以需要+1
|
var day = ("0" + date.getDate()).slice(-2); // 保证日期和月份始终为两位数
|
return year + "-" + month + "-" + day;
|
} else {
|
// 如果日期值无效,可以返回一个默认值或者空字符串
|
return "";
|
}
|
}
|
},
|
|
{title: '身高(cm)', field: 'high', align: 'center', valign: 'middle'},
|
{title: '体重(kg)', field: 'weight', align: 'center', valign: 'middle'},
|
{title: '就诊医院', field: 'hospital', align: 'center', valign: 'middle'},
|
{
|
title: '用户标签',
|
field: 'tagsName',
|
align: 'center',
|
valign: 'middle',
|
width: '15%',
|
formatter: function (value, row) {
|
if (value == null || value == ''){
|
return '';
|
}
|
|
|
// 使用逗号分隔value字符串,得到一个包含所有标签的数组
|
const tags = value.split(',');
|
|
// 初始化一个空字符串,用于存储生成的按钮HTML
|
let buttonsHtml = '';
|
|
// 遍历tags数组
|
tags.forEach((tag, index) => {
|
// 对每个tag生成一个按钮,这里假设每个tag直接作为按钮内容
|
if (index === 0) {
|
buttonsHtml += `<button class="layui-btn layui-btn-xs layui-btn-normal" disabled>${tag.trim()}</button>`;
|
}
|
if (index === 1){
|
buttonsHtml += `<button class="layui-btn layui-btn-danger layui-btn-xs" disabled>${tag.trim()}</button>`;
|
}
|
if (index === 2){
|
buttonsHtml += `<button class="layui-btn layui-btn-xs" disabled>${tag.trim()}</button>`;
|
|
}
|
// 如果不是最后一个按钮,添加一个空格以保持间距(根据实际需求调整)
|
if (index < tags.length - 1) {
|
buttonsHtml += ' ';
|
}
|
|
if (tags.length >3 ){
|
if (index === tags.length-1){
|
buttonsHtml += '<button class="layui-btn layui-btn-primary layui-btn-xs" disabled onclick="MgrUser.layerOut(' + row.id+ ')">...</button>'; }
|
}
|
});
|
|
// 添加一个省略号按钮,如果需要的话
|
// if (index === 3){
|
// buttonsHtml += '<button class="layui-btn layui-btn-primary layui-btn-xs" disabled>...</button>';
|
// }
|
|
return buttonsHtml;
|
}
|
}
|
,
|
{field: 'status', title: '用户状态', formatter: function(value, row){
|
return value === 1 ? '正常' : (value === 2 ? '<span style="color:red;">冻结</span>' : '未知状态');
|
}},
|
{title: '操作', visible: true, align: 'center', valign: 'middle',width:'16%',
|
formatter: function (value, row) {
|
if (row.status === 1){
|
return '<a href="#" onclick="MgrUser.freeze('+row.id+')" style="color:cornflowerblue">冻结</a>' +' '+'<a href="#" onclick="MgrUser.openTCharteredServiceDetails('+row.id+')" style="color:cornflowerblue">详情</a>' +' '
|
+'<a href="#" onclick="MgrUser.setTags('+row.id+')" style="color:cornflowerblue">设置标签</a>'
|
}
|
if (row.status === 2){
|
return '<a href="#" onclick="MgrUser.unfreeze('+row.id+')" style="color:cornflowerblue">解冻</a>' +' ' +'<a href="#" onclick="MgrUser.openTCharteredServiceDetails('+row.id+')" style="color:cornflowerblue">详情</a>' +' '
|
+'<a href="#" onclick="MgrUser.setTags('+row.id+')" style="color:cornflowerblue">设置标签</a>'
|
}
|
|
|
return '<a href="#" onclick="MgrUser.openTCharteredServiceDetails('+row.id+')" style="color:cornflowerblue">详情</a>' +' '
|
// '<a href="#" onclick="MgrUser.openTCharteredServiceDetail('+row.id+')" style="color:cornflowerblue">编辑</a>' +' ' +
|
// '<a href="#" onclick="MgrUser.delete('+row.id+')" style="color:cornflowerblue">删除</a>'
|
}
|
}
|
|
|
];
|
return columns;
|
};
|
|
|
|
|
MgrUser.initColumn1 = function () {
|
var columns = [
|
{field: 'selectItem', checkbox: true,visible: false},
|
{
|
title: '序号',
|
field: 'rowIndex', // 这个field不会对应数据源中的任何字段
|
visible: true,
|
align: 'center',
|
valign: 'middle',
|
formatter: function(value, row, index) {
|
return index + 1; // 注意这里index是从0开始的,所以加1得到从1开始的序号
|
}
|
},
|
{title: '时间', field: 'detectionTime', align: 'center', valign: 'middle'}
|
,
|
{title: '形变量', field: 'shapeVariable', align: 'center', valign: 'middle'},
|
{title: '睡姿', field: 'position', align: 'center', valign: 'middle'}
|
|
|
];
|
return columns;
|
};
|
MgrUser.layerOut = function (id){
|
|
console.log("===="+id)
|
var tagsName ;
|
var ajax = new $ax(Feng.ctxPath + "/mgr/user/getDetail/"+id, function(resp){
|
tagsName = resp.data;
|
|
|
|
}
|
)
|
ajax.start()
|
console.log(id)
|
const tags = tagsName.split(',');
|
// 初始化一个空字符串,用于存储生成的按钮HTML
|
let buttonsHtml = '';
|
// 遍历tags数组
|
tags.forEach((tag, index) => {
|
let className = '';
|
// 计算样式序号,通过索引对3取余数,实现循环应用前三种样式
|
let styleIndex = index % 3;
|
|
if (styleIndex === 0) {
|
className = 'layui-btn layui-btn-xs layui-btn-normal';
|
} else if (styleIndex === 1) {
|
className = 'layui-btn layui-btn-danger layui-btn-xs';
|
} else { // styleIndex === 2
|
className = 'layui-btn layui-btn-xs';
|
}
|
buttonsHtml += `<button class="${className}" ${index >= 3 ? 'disabled' : ''}>${tag.trim()}</button>`;
|
// 除了最后一个按钮外,其他按钮后面添加空格
|
if (index < tags.length - 1) {
|
buttonsHtml += ' ';
|
}
|
});
|
console.log(buttonsHtml)
|
var index = layer.open({
|
type: 1,
|
title: '用户详情',
|
area: ['950px', '600px'], //宽高
|
fix: false, //不固定
|
maxmin: true,
|
content: buttonsHtml
|
});
|
this.layerIndex = index;
|
console.log("index:"+index)
|
}
|
|
MgrUser.openTCharteredServiceDetails = function (tCharteredServiceId) {
|
var index = layer.open({
|
type: 2,
|
title: '用户详情',
|
area: ['100%', '100%'], //宽高
|
fix: false, //不固定
|
maxmin: true,
|
content: Feng.ctxPath + '/mgr/user/detail/' + tCharteredServiceId
|
});
|
this.layerIndex = index;
|
};
|
|
|
/**
|
* 检查是否选中
|
*/
|
MgrUser.check = function () {
|
var selected = $('#' + this.id).bootstrapTable('getSelections');
|
if (selected.length == 0) {
|
Feng.info("请先选中表格中的某一记录!");
|
return false;
|
} else {
|
MgrUser.seItem = selected[0];
|
return true;
|
}
|
};
|
|
/**
|
* 点击添加管理员
|
*/
|
MgrUser.openAddMgr = function () {
|
var index = layer.open({
|
type: 2,
|
title: '添加管理员',
|
area: ['800px', '560px'], //宽高
|
fix: false, //不固定
|
maxmin: true,
|
content: Feng.ctxPath + '/mgr/user_add'
|
});
|
this.layerIndex = index;
|
};
|
|
/**
|
* 点击修改按钮时
|
* @param userId 管理员id
|
*/
|
MgrUser.openChangeUser = function () {
|
if (this.check()) {
|
var index = layer.open({
|
type: 2,
|
title: '编辑管理员',
|
area: ['800px', '450px'], //宽高
|
fix: false, //不固定
|
maxmin: true,
|
content: Feng.ctxPath + '/mgr/user_edit/' + this.seItem.id
|
});
|
this.layerIndex = index;
|
}
|
};
|
|
/**
|
* 点击角色分配
|
* @param
|
*/
|
MgrUser.roleAssign = function () {
|
if (this.check()) {
|
var index = layer.open({
|
type: 2,
|
title: '角色分配',
|
area: ['300px', '400px'], //宽高
|
fix: false, //不固定
|
maxmin: true,
|
content: Feng.ctxPath + '/mgr/role_assign/' + this.seItem.id
|
});
|
this.layerIndex = index;
|
}
|
};
|
|
/**
|
* 删除用户
|
*/
|
MgrUser.delMgrUser = function () {
|
if (this.check()) {
|
|
var operation = function(){
|
var userId = MgrUser.seItem.id;
|
var ajax = new $ax(Feng.ctxPath + "/mgr/delete", function () {
|
Feng.success("删除成功!");
|
MgrUser.table.refresh();
|
}, function (data) {
|
Feng.error("删除失败!" + data.responseJSON.message + "!");
|
});
|
ajax.set("userId", userId);
|
ajax.start();
|
};
|
|
Feng.confirm("是否删除用户" + MgrUser.seItem.account + "?",operation);
|
}
|
};
|
|
/**
|
* 冻结用户账户
|
* @param userId
|
*/
|
MgrUser.freezeAccount = function () {
|
if (this.check()) {
|
var userId = this.seItem.id;
|
var ajax = new $ax(Feng.ctxPath + "/mgr/freeze", function (data) {
|
Feng.success("冻结成功!");
|
MgrUser.table.refresh();
|
}, function (data) {
|
Feng.error("冻结失败!" + data.responseJSON.message + "!");
|
});
|
ajax.set("userId", userId);
|
ajax.start();
|
}
|
};
|
|
/**
|
* 解除冻结用户账户
|
* @param userId
|
*/
|
MgrUser.unfreeze = function (id) {
|
var index = layer.open({
|
type: 2,
|
title: '解冻',
|
area: ['800px', '300px'], //宽高
|
fix: false, //不固定
|
maxmin: true,
|
content: Feng.ctxPath + '/mgr/frozen/allert/' + id
|
});
|
this.layerIndex = index;
|
// parent.layer.confirm('是否重置密码为111111?', {
|
// btn: ['确定', '取消'],
|
// shade: false //不显示遮罩
|
// }, function () {
|
// var userId = id;
|
// var ajax = new $ax(Feng.ctxPath + "/mgr/unfreeze", function (data) {
|
// Feng.success("解除冻结成功!");
|
// MgrUser.table.refresh();
|
// }, function (data) {
|
// Feng.error("解除冻结失败!");
|
// });
|
// ajax.set("userId", userId);
|
// ajax.start();
|
// })
|
}
|
|
|
MgrUser.freeze = function (id) {
|
var index = layer.open({
|
type: 2,
|
title: '冻结用户',
|
area: ['800px', '340px'], //宽高
|
fix: false, //不固定
|
maxmin: true,
|
content: Feng.ctxPath + '/mgr/frozen/allert1/' + id
|
});
|
this.layerIndex = index;
|
}
|
|
MgrUser.export = function () {
|
window.location.href=Feng.ctxPath + "/mgr/export"
|
;
|
};
|
MgrUser.export1 = function () {
|
window.location.href=Feng.ctxPath + "/tUserData/export"+"?userId="+$("#userId").val()+"&night="+$("#night").val()+"&beginTime="+$("#beginTime").val()+"×="+$("#times").val()
|
;
|
};
|
|
MgrUser.setTags = function (id) {
|
var index = layer.open({
|
type: 2,
|
title: '设置标签' + '',
|
area: ['800px', '300px'], //宽高
|
fix: false, //不固定
|
maxmin: true,
|
content: Feng.ctxPath + '/mgr/tosettags/' + id
|
});
|
this.layerIndex = index;
|
}
|
|
MgrUser.openAddTTags = function () {
|
console.log("====")
|
// var index = layer.open({
|
// type: 2,
|
// title: '添加',
|
// area: ['800px', '250px'], //宽高
|
// fix: false, //不固定
|
// maxmin: true,
|
// content: Feng.ctxPath + '/tTags/tTags_add'
|
// });
|
// this.layerIndex = index;
|
};
|
/**
|
* 重置密码
|
*/
|
MgrUser.resetPwd = function () {
|
if (this.check()) {
|
var userId = this.seItem.id;
|
parent.layer.confirm('是否重置密码为111111?', {
|
btn: ['确定', '取消'],
|
shade: false //不显示遮罩
|
}, function () {
|
var ajax = new $ax(Feng.ctxPath + "/mgr/reset", function (data) {
|
Feng.success("重置密码成功!");
|
}, function (data) {
|
Feng.error("重置密码失败!");
|
});
|
ajax.set("userId", userId);
|
ajax.start();
|
});
|
}
|
};
|
|
MgrUser.resetSearch = function () {
|
$("#name").val("");
|
$("#beginTime").val("");
|
$("#endTime").val("");
|
$("#phone").val("");
|
$("#high1").val("");
|
$("#high2").val("");
|
$("#weight1").val("");
|
$("#weight2").val("");
|
$("#hospital").val("");
|
$("#tag").val("");
|
|
MgrUser.search();
|
}
|
|
MgrUser.search = function () {
|
var queryData = {};
|
|
queryData['deptid'] = MgrUser.deptid;
|
queryData['name'] = $("#name").val();
|
queryData['phone'] = $("#phone").val();
|
queryData['beginTime'] = $("#beginTime").val();
|
queryData['endTime'] = $("#endTime").val();
|
queryData['high1'] = $("#high1").val();
|
queryData['high2'] = $("#high2").val();
|
queryData['weight1'] = $("#weight1").val();
|
queryData['weight2'] = $("#weight2").val();
|
queryData['hospital'] = $("#hospital").val();
|
queryData['tag'] = $("#tag").val();
|
|
MgrUser.table.refresh({query: queryData});
|
}
|
|
MgrUser.onClickDept = function (e, treeId, treeNode) {
|
MgrUser.deptid = treeNode.id;
|
MgrUser.search();
|
};
|
|
$(function () {
|
var defaultColunms = MgrUser.initColumn();
|
var table = new BSTable("managerTable", "/mgr/list", defaultColunms);
|
table.setPaginationType("client");
|
MgrUser.table = table.init();
|
var ztree = new $ZTree("deptTree", "/dept/tree");
|
ztree.bindOnClick(MgrUser.onClickDept);
|
ztree.init();
|
});
|