hn_cloud_web/smz-web/js/work/sysMag/user.js

561 lines
21 KiB
JavaScript
Raw Normal View History

2025-11-27 16:55:35 +08:00
var form = null;
layui.use(['form','layer'], function () {
var layer = layui.layer;
form = layui.form;
form.render();
form.verify();
// getCompanys(form);
getProjectUser(form);
$("#searchBt").click(function () {
example.ajax.reload();
});
/* var orgId = localStorage.getItem("orgIdUser");
if(orgId != null && orgId !="null"){
$("#orgId").val(orgId);
localStorage.removeItem("orgIdUser");
}*/
var examineStatus = localStorage.getItem("examineStatusUser");
if(examineStatus != null && examineStatus != "null"){
$("#examineStatus").val(examineStatus);
localStorage.removeItem("examineStatusUser");
}
var username = localStorage.getItem("usernameUser");
if(username != null && username != "null"){
$("#username").val(username);
localStorage.removeItem("usernameUser");
}
var phone = localStorage.getItem("phoneUser");
if(phone != null && phone != "null"){
$("#phone").val(phone);
localStorage.removeItem("phoneUser");
}
var keyWord = localStorage.getItem("keyWordUser");
if(keyWord != null && keyWord != "null"){
$("#keyWord").val(keyWord);
localStorage.removeItem("keyWordUser");
}
init();
});
var pers = checkPermission();
var example;
// 新增
function adds(){
listUser();
location.href = ctxPath + "/pages/work/sysMag/addUser.html";
}
function listUser() {
// var orgIdUser = $("#orgId").val();
var proIdUser = $("#proId").val();
var examineStatusUser = $("#examineStatus").val();
var usernameUser = $("#username").val();
var phoneUser = $("#phone").val();
var keyWordUser = $("#keyWord").val();
// localStorage.setItem("orgIdUser",orgIdUser);
localStorage.setItem("proIdUser",proIdUser);
localStorage.setItem("examineStatusUser",examineStatusUser);
localStorage.setItem("usernameUser",usernameUser);
localStorage.setItem("phoneUser",phoneUser);
localStorage.setItem("keyWordUser",keyWordUser);
}
function init() {
example =
$('#dt-table').DataTable({
"searching": false,
"processing": true,
"serverSide": true,
"language": {
"url": ctxPath + "/js/plugin/datatables/Chinese.lang"
},
"ajax": {
"url": ctxPath + "/users",
"type": "get",
"data": function (d) {
d.userName = $('#username').val();
d.phone = $('#phone').val();
// d.companyId = $('#orgId').val();
d.proId = $('#proId').val();
d.keyWord = $('#keyWord').val();
d.examineStatus = $("#examineStatus").val();
},
"error": function (xhr, textStatus, errorThrown) {
var msg = xhr.responseText;
console.log(msg);
var response = JSON.parse(msg);
var code = response.code;
var message = response.message;
if (code == 400) {
layer.msg(message);
} else if (code == 401) {
localStorage.removeItem("token");
layer.msg("token过期请先登录", {shift: -1, time: 1000}, function () {
location.href = ctxPath + '/login.html';
});
} else if (code == 403) {
console.log("未授权:" + message);
layer.msg('未授权');
} else if (code == 500) {
console.log('系统错误:' + message);
}
}
},
"lengthMenu": [ [10, 20, 50], [10, 20, 50] ], // 设置每页显示数据量选项
"drawCallback": function() {
// alert( '表格重绘了' );
var thisDataTable = $('#dt-table').DataTable();
$(".pagination").append("<li>" +
"<a class='paginate_button' style='padding:4px;' href='#' tabindex='0'>到 <input style='margin:0px;width:40px;' id='changePage'> 页</a>" +
"<a class='paginate_button' style='margin-bottom:1px' href='#' tabindex='0' id='dataTable-btn'>确认</a></li>");
//点击按钮跳转指定页数
$('#dataTable-btn').click(function (e) {
if ($("#changePage").val() && $("#changePage").val() > 0) {
var redirectpage = $("#changePage").val() - 1;
} else {
var redirectpage = 0;
}
thisDataTable.page(redirectpage).draw( 'page' );
});
//敲击回车键跳转指定页数
$("#changePage").keypress(function (e) {
if(event.keyCode==13){
if ($("#changePage").val() && $("#changePage").val() > 0) {
var redirectpage = $("#changePage").val() - 1;
} else {
var redirectpage = 0;
}
thisDataTable.page(redirectpage).draw( 'page' );
}
});
},
"createdRow": function (row, data, dataIndex) {
var measures = data.registerCapital;
if (measures != null) {
if (measures.length > remarkShowLength) {//只有超长才有td点击事件
$(row).children('td').eq(3).attr('onclick', 'javascript:changeShowRemarks(this);');
$(row).children('td').eq(3).css('cursor', 'pointer');
}
$(row).children('td').eq(3).attr('content', data.registerCapital);
}
},
"dom": "<'dt-toolbar'r>t<'dt-toolbar-footer'<'col-sm-4 col-xs-4 hidden-xs'i><'col-xs-8 col-sm-8' p v>><'dt-table-length'l>",
"columns": [
{"width":"3%",
"orderable": false,
data: function (row, type, set, meta) {
var c = meta.settings._iDisplayStart + meta.row + 1;
return c;
}
},
{"data": "userName", "defaultContent": "","width":"4%"},
{"data": "phone", "defaultContent": "","width":"5%"},
{"data": "type", "defaultContent": "","width":"4%"},
{"data": "roleName", "defaultContent": "","width":"8%"},
{"data": "companyName", "defaultContent": "","width":"9%"},
{
"width":"9%",
"data": "proName",
"defaultContent": "",
"visible": true,
"render": function(data,type,row){
var proName = row['proName'];
if(proName != "" && proName != null){
if(proName.length > 15){
return "<span title='" + proName + "' style='text-decoration: none;'>" + proName.trim().substr(0,15) + "..." + "</span>"
}else{
return "<span title='" + proName + "' style='text-decoration: none;'>" + proName + "</span>"
}
}else{
return "<span title='' style='text-decoration: none;'></span>"
}
}
},
{"data": "subName", "defaultContent": "","width":"5%",
"render": function (data,type,row) {
var subName = row['subName'];
if(subName == ''|| subName==null){
subName = "";
}
return "<span title='' >"+subName+"</span>"
}
},
{"data": "teamName", "defaultContent": "","width":"5%",
"render": function (data,type,row) {
var teamName = row['teamName'];
if(teamName == ''|| teamName==null){
teamName = "";
}
return "<span title='' >"+teamName+"</span>"
}
},
//{"data": "postType", "defaultContent": "","width":"4%"},
{
"width":"6%",
"data": "",
"defaultContent": "",
"orderable": false,
"render": function (data, type, row) {
var id = row['id'];
var facePhoto = row['facePhoto'];
if(facePhoto == undefined || facePhoto == '' || facePhoto == null){
var edit = '<span style="color:#ff0000;cursor: pointer;" >未采集</span>';
}else{
var edit = '<span style="color:#00B83F;cursor: pointer;" onclick=\'photoView(\"' + id + '\")\'>已采集</span>';
}
return edit;
}
},
{
"width":"5%",
"data": "",
"defaultContent": "",
"orderable": false,
"render": function (data, type, row) {
var id = row['id'];
var createType = row['createType'];
if(createType == 1){
var edit = '<span>个人注册</span>';
}else if (createType == 2) {
var edit = '<span >后台新增</span>';
}
return edit;
}
},
{"data": "createTime", "defaultContent": "","width":"5%"},
{
"width":"5%",
"data": "examineStatus",
"orderable": false,
"defaultContent": "",
"render": function (data, type, row) {
var id = row['id'];
var examineStatus = row['examineStatus'];
if(examineStatus == 0){
var edit = '<span style="color:#FF7F50">待审核</span>';
}else if (examineStatus == 1) {
var edit = '<span style="color:#00B83F">已通过</span>';
}else if (examineStatus == 2) {
var edit = '<span style="color:#ff0000" >未通过</span>';
}
return edit;
}
},
{"data": "examineRemark", "defaultContent": "","orderable": false,"width":"5%"},
{
"width":"7%",
"data": "",
"defaultContent": "",
"orderable": false,
"render": function (data, type, row) {
var id = row['id'];
var phone = row['phone'];
var examineStatus = row['examineStatus'];
var userName = row['userName'];
var status = row['proStatus'];
var proId = row['proId'];
var proName = row['proName'];
var companyName = row['companyName'];
var isFree = row['isFree'];
console.log(companyName);
if(isFree ==1){
var update = buttonEdits(id, "sys:user:password", pers);
return update ;
}else{
if (examineStatus == 0) {
var audit = buttonAudit(id,phone,userName, "", pers);
var href = encodeURI(ctxPath + "/pages/work/sysMag/updateUser.html?id=" + id + "&status=" + status + "&proId=" + proId + "&proName=" + proName + "&companyName=" +companyName);
var edit = buttonEdit(href, "", pers);
var del = buttonDel(id, "", pers);
var update = buttonEdits(id, "sys:user:password", pers);
var updatePhone = buttonEditsUser(id, "sys:user:admin", pers);
return audit + edit + del + update + updatePhone;
}else if (examineStatus == 1) {
var href = encodeURI(ctxPath + "/pages/work/sysMag/updateUser.html?id=" + id + "&status=" + status + "&proId=" + proId + "&proName=" + proName +"&companyName=" +companyName);
var edit = buttonEdit(href, "", pers);
var del = buttonDel(id, "", pers);
var update = buttonEdits(id, "sys:user:password", pers);
var updatePhone = buttonEditsUser(id, "sys:user:admin", pers);
return edit + del + update + updatePhone;
}else{
var del = buttonDel(id, "", pers);
return del ;
}
}
}
},
],
"order": [[1, "desc"], [2, "desc"],[3, "desc"],[4, "desc"],[5, "desc"],[6, "desc"],[7, "desc"],[8, "desc"],[11, "desc"]]
});
}
// 审核按钮
function buttonAudit(id,phone,userName, permission, pers) {
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='审核' onclick='audit(\"" + id + "\",\"" + phone + "\",\"" + userName + "\")'><i class='layui-icon'>&#xe672;</i></button>");
return btn.prop("outerHTML");
}
/**
* 审核
* */
function audit(id,phone,userName) {
localStorage.setItem("id",id)
localStorage.setItem("phone",phone)
localStorage.setItem("userName",userName)
var height = '100%';
var width = '100%';
var index = layer.open({
title: ['审核', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'usersAudit.html',
data: {"id": id},
area: [width, height],
maxmin: false,
btn: ['确定','关闭'],
success: function (layero, index) {
var myIframe = window[layero.find('iframe')[0]['name']];
},
yes: function (index, layero) {
// 获取弹出层中的form表单元素
// var formSubmit = layer.getChildFrame('form', index);
// var submited = formSubmit.find('button')[0];
// // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
// submited.click();
var obj = $(layero).find("iframe")[0].contentWindow;
obj.userAudit();
example.ajax.reload(); // 刷新页面
},
btn2: function (index, layero) {
}
});
}
/**
* 删除用户
* */
function del(id) {
var data = {"userId":id};
layer.confirm("确定删除吗?",function () {
$.ajax({
type: 'post',
contentType: "application/json; charset=utf-8",
url: ctxPath + '/users/deleteUser',
data: JSON.stringify(data),
dataType: 'json',
success: function (data) {
if (data.resMsg == "删除成功") {
layer.alert('删除成功', {icon: 1});
example.ajax.reload(); // 刷新页面
} else {
layer.msg("删除失败", {icon: 2});
example.ajax.reload(); // 刷新页面
}
}
})
})
}
// 删除按钮
function buttonDel(id, permission, pers){
if(permission != ""){
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='删除' onclick='del(\"" + id +"\")'><i class='layui-icon'>&#xe640;</i></button>");
return btn.prop("outerHTML");
}
// 修改按钮
function buttonEdit(href, permission, pers){
if(permission != ""){
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='编辑' onclick='update(\"" + href + "\")' ><i class='layui-icon'>&#xe642;</i></button>");
return btn.prop("outerHTML");
}
function update(href){
listUser();
window.location=href;
}
// 密码按钮
function buttonEdits(id, permission, pers) {
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='重置密码' onclick='edit(\"" + id + "\")'><i class='layui-icon'>&#xe673;</i></button>");
return btn.prop("outerHTML");
}
//照片查看
function photoView(id) {
$.ajax({
type: 'POST',
contentType: "application/x-www-form-urlencoded",
url: ctxPath + '/users/getPhotoById',
data:{"userId":id},
dataType: 'json',
success: function (data) {
localStorage.setItem("facePhoto", data.facePhoto);
localStorage.setItem("collectTime", data.collectTime);
localStorage.setItem("userName", data.userName);
localStorage.setItem("phone", data.phone);
var height = '585px';
var width = '675px';
var index = layer.open({
title: ['查看图片','color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'facePhotoForm.html',
area: [width, height],
maxmin: false,
btn: ['关闭'],
success:function(layero,index){
var myIframe = window[layero.find('iframe')[0]['name']];
},
btn2: function (index, layero) {
}
});
}
})
}
function edit(id) {
var data = {"userId":id};
$.ajax({
type: 'post',
contentType: "application/json; charset=utf-8",
url: ctxPath + '/users/resetUserPwd',
data: JSON.stringify(data),
dataType: 'json',
success: function (data) {
if (data.resMsg == "修改成功") {
layer.alert('重置成功,初始密码为:HNsbd@123456', {icon: 1});
example.ajax.reload(); // 刷新页面
} else {
layer.msg("重置失败", {icon: 2});
example.ajax.reload(); // 刷新页面
}
}
})
}
// 修改手机号
function buttonEditsUser(id, permission, pers) {
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='修改手机号' onclick='editUser(\"" + id + "\")'><i class='layui-icon'>&#xe642;</i></button>");
return btn.prop("outerHTML");
}
function editUser(id) {
$.ajax({
type: 'POST',
url: ctxPath + '/users/getUserById',
data:{"id":id},
success: function (data) {
localStorage.setItem("id",id);
localStorage.setItem("userName",data.userName);
localStorage.setItem("phone",data.phone);
var href = encodeURI(ctxPath + "/pages/work/sysMag/addUserAdmin.html");
window.location=href;
}
})
}
// 分公司和工程级联
function changePro(value) {
if (value == 0) {
getProject(null);
} else {
getProject(value);
}
}
/**
* 获取分公司
* */
function getCompanys(form) {
$("#orgId").empty();
$.ajax({
type: 'POST',
url: ctxPath + '/users/getOrgInfo',
data: {},
dataType: 'json',
success: function (data) {
var str = '<option value="">请选择组织机构名称</option>';
for (var i = 0; i < data.length; i++) {
str += '<option value=\'' + data[i].orgId + '\'>' + data[i].companyName + '</option>';
}
$("#orgId").html(str);
form.render();
}
})
}
/**
* 获取工程
* */
function getProjectUser() {
var proId = localStorage.getItem("proIdUser");
$("#proId").empty();
$.ajax({
type: 'POST',
url: ctxPath + '/users/getProInfo',
data: {
},
dataType: 'json',
success: function (data) {
var str = '';
str = '<option value="">请选择工程</option>';
for (var i = 0; i < data.length; i++) {
if(data[i].proId === proId){
str += '<option value=\'' + data[i].proId + '\' selected>' + data[i].proName + '</option>';
localStorage.removeItem("proIdUser");
}else{
str += '<option value=\'' + data[i].proId + '\'>' + data[i].proName + '</option>';
}
}
$("#proId").html(str);
form.render();
}
})
}