openerp/erp_web/pages/manage/user.html
2019-11-25 22:57:41 +08:00

587 lines
25 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<title>用户管理</title>
<meta charset="utf-8">
<!-- 指定以IE8的方式来渲染 -->
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>
<link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"/>
<script type="text/javascript" src="/js/jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="/js/colorbox/jquery.colorbox-min.js"></script>
<script type="text/javascript" src="/js/colorbox/colorboxSet.js"></script>
<link href="/js/colorbox/colorbox.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" type="text/css" href="/js/easyui-1.3.5/themes/default/easyui.css"/>
<link rel="stylesheet" type="text/css" href="/js/easyui-1.3.5/themes/icon.css"/>
<link type="text/css" rel="stylesheet" href="/css/common.css"/>
<script type="text/javascript" src="/js/easyui-1.3.5/jquery.easyui.min.js"></script>
<script type="text/javascript" src="/js/easyui-1.3.5/locale/easyui-lang-zh_CN.js"></script>
<script type="text/javascript" src="/js/common/common.js"></script>
</head>
<body>
<!-- 数据显示table -->
<div id="tablePanel" class="easyui-panel" data-options="fit:true" style="padding:1px;top:300px;" title="用户列表" iconCls="icon-list">
<table id="searchTable">
<tr>
<td>登录名称:</td>
<td>
<input type="text" name="searchLoginame" id="searchLoginame" style="width:100px;"/>
</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>用户名称:</td>
<td>
<input type="text" name="searchUsername" id="searchUsername" style="width:100px;"/>
</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-search" id="searchBtn">查询</a>&nbsp;&nbsp;
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-redo" id="searchResetBtn">重置</a>&nbsp;&nbsp;
<a id="btnSetRole" class='easyui-linkbutton iframe iframe_LargeForm' href='#' title='分配角色'>分配角色</a>&nbsp;&nbsp;
<a id="btnSetDepart" class='easyui-linkbutton iframe iframe_LargeForm' href='#' title='分配仓库'>分配仓库</a>&nbsp;&nbsp;
<a id="btnSetCustomer" class='easyui-linkbutton iframe iframe_LargeForm' href='#' title='分配客户'>分配客户</a>
</td>
</tr>
</table>
<table id="tableData" style="top:300px;border-bottom-color:#FFFFFF"></table>
</div>
<div id="userDlg" class="easyui-dialog" style="width:380px;padding:10px 20px"
closed="true" buttons="#dlg-buttons" modal="true" collapsible="false" closable="true">
<form id="usernameFM" method="post" novalidate>
<div class="fitem" style="padding:5px">
<label id="loginameLabel">登录名称 &nbsp;&nbsp;</label>
<input name="loginame" id="loginame" class="easyui-validatebox"
data-options="required:true,validType:'length[2,15]'" style="width: 120px;height: 20px"/>
初始密码123456
</div>
<div class="fitem" style="padding:5px">
<label id="orgAbrLabel">部&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;门&nbsp;&nbsp;</label>
<input name="orgAbr" id="orgAbr" style="width: 120px;height: 20px"/>
<a href="javascript:void(0)" class="l-btn l-btn-plain" group="" id="lookForSelectOrganization">
<span class="l-btn-left"><span class="l-btn-text icon-search l-btn-icon-left"></span></span></a>
<input name="orgaId" id="orgaId" type="hidden"/>
<input name="selectType" id="selectType" type="hidden"/>
<input name="orgaUserRelId" id="orgaUserRelId" type="hidden"/>
<!--一个兼容input框没有实际用处但是必须存在-->
<input name="id" id="id" type="hidden"/>
</div>
<div class="fitem" style="padding:5px">
<label id="userBlngOrgaDsplSeqLabel">用户排序&nbsp;&nbsp;</label>
<input name="userBlngOrgaDsplSeq" id="userBlngOrgaDsplSeq" style="width: 230px;height: 20px"/>
</div>
<div class="fitem" style="padding:5px">
<label id="usernameLabel">用户名称&nbsp;&nbsp;</label>
<input name="username" id="username" class="easyui-validatebox"
data-options="required:true,validType:'length[2,30]'" style="width: 230px;height: 20px"/>
</div>
<div class="fitem" style="padding:5px">
<label id="positionLabel">职&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;位&nbsp;&nbsp;</label>
<input name="position" id="position" style="width: 230px;height: 20px"/>
</div>
<div class="fitem" style="padding:5px">
<label id="phonenumLabel">联系电话&nbsp;&nbsp;</label>
<input name="phonenum" id="phonenum" class="easyui-numberbox" style="width: 230px;height: 20px"/>
</div>
<div class="fitem" style="padding:5px">
<label id="emailLabel">电子邮箱&nbsp;&nbsp;</label>
<input name="email" id="email" class="easyui-validatebox" validType="email"
style="width: 230px;height: 20px"/>
</div>
<div class="fitem" style="padding:5px">
<label id="descriptionLabel">描&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;述&nbsp;&nbsp;</label>
<textarea name="description" id="description" rows="2" cols="2" style="width: 230px;"></textarea>
</div>
</form>
</div>
<div id="dlg-buttons">
<a href="javascript:void(0)" id="resetPwd" class="easyui-linkbutton" iconCls="icon-redo">重置密码</a>
<a href="javascript:void(0)" id="saveusername" class="easyui-linkbutton" iconCls="icon-ok">保存</a>
<a href="javascript:void(0)" id="cancelusername" class="easyui-linkbutton" iconCls="icon-cancel"
onclick="javascript:$('#userDlg').dialog('close')">取消</a>
</div>
<div id="forSelectOrganizationDlg" class="easyui-dialog" style="width:380px;padding:10px 20px"
closed="true" modal="true" cache="false" collapsible="false" closable="true">
</div>
<script type="text/javascript">
//初始化界面
$(function () {
initConfig();
initTableData();
ininPager();
browserFit();
});
//初始化配置
function initConfig() {
$("#btnSetDepart").hide();
$("#btnSetCustomer").hide();
var config = getSystemConfig();
if(config) {
if(config.depotFlag == "1") {
$("#btnSetDepart").show();
}
if(config.customerFlag == "1") {
$("#btnSetCustomer").show();
}
}
}
//浏览器适配
function browserFit() {
if (getOs() == 'MSIE') {
$("#usernameLabel").empty().append("用户名称&nbsp;&nbsp;");
$("#loginameLabel").empty().append("登录名称&nbsp;&nbsp;");
$("#orgAbrLabel").empty().append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
$("#userBlngOrgaDsplSeqLabel").empty().append("用户排序&nbsp;&nbsp;");
$("#positionLabel").empty().append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
$("#phonenumLabel").empty().append("联系电话&nbsp;&nbsp;");
$("#emailLabel").empty().append("电子邮箱&nbsp;&nbsp;");
$("#descriptionLabel").empty().append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
$("#searchPositionLabel").empty().append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
$("#searchDeptLabel").empty().append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
$("#searchDescLabel").empty().append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
}
else {
$("#usernameLabel").empty().append("用户名称&nbsp;");
$("#loginameLabel").empty().append("登录名称&nbsp;");
$("#orgAbrLabel").empty().append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
$("#userBlngOrgaDsplSeqLabel").empty().append("用户排序&nbsp;");
$("#positionLabel").empty().append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
$("#phonenumLabel").empty().append("联系电话&nbsp;");
$("#emailLabel").empty().append("电子邮箱&nbsp;");
$("#descriptionLabel").empty().append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
$("#searchPositionLabel").empty().append("&nbsp;&nbsp;&nbsp;&nbsp;");
$("#searchDeptLabel").empty().append("&nbsp;&nbsp;&nbsp;&nbsp;");
$("#searchDescLabel").empty().append("&nbsp;&nbsp;&nbsp;&nbsp;");
}
}
//初始化表格数据
function initTableData() {
$('#tableData').datagrid({
height: heightInfo,
nowrap: false,
rownumbers: false,
//动画效果
animate: false,
//选中单行
singleSelect: true,
collapsible: false,
pagination: true,
//交替出现背景
striped: true,
pageSize: initPageSize,
pageList: initPageNum,
columns: [[
{field: 'id', width: 35, align: "center", checkbox:true},
{
title: '操作', field: 'isystem', align: "center", width: 80, formatter: function (value, rec, index) {
var str = '';
if(rec.loginame != "jsh") {
str += '<img src="/js/easyui-1.3.5/themes/icons/pencil.png" style="cursor: pointer;" onclick="editUser(\'' + index + '\');"/>&nbsp;&nbsp;&nbsp;';
}
if (rec.id != rec.tenantId) {
str += '<img src="/js/easyui-1.3.5/themes/icons/edit_remove.png" style="cursor: pointer;" onclick="deleteUser(' + rec.id + ');"/>';
}
else {
str += '';
}
return str;
}
},
{title: '登录名称', field: 'loginame', width: 80},
{title: '用户名称', field: 'username', width: 80, align: "center"},
{title: '职位', field: 'position', width: 115, align: "center"},
{title: '部门', field: 'orgAbr', width: 115, align: "center"},
{title: '电子邮箱', field: 'email', width: 150, align: "center"},
{title: '电话号码', field: 'phonenum', width: 150, align: "center"},
{title: '用户排序', field: 'userBlngOrgaDsplSeq', width: 60, align: "center"},
{title: '描述', field: 'description', width: 130},
{field: 'orgaId',hidden:true, width: 10}
]],
toolbar: [
{
id: 'addUser',
text: '增加',
iconCls: 'icon-add',
handler: function () {
addUser();
}
},
{
id: 'deleteUser',
text: '删除',
iconCls: 'icon-remove',
handler: function () {
batDeleteUser();
}
}
],
onLoadError: function () {
$.messager.alert('页面加载提示', '页面加载异常,请稍后再试!', 'error');
return;
}
});
dgResize();
showUserDetails(1, initPageSize);
}
//初始化键盘enter事件
$(document).keydown(function (event) {
//兼容 IE和firefox 事件
var e = window.event || event;
var k = e.keyCode || e.which || e.charCode;
//兼容 IE,firefox 兼容
var obj = e.srcElement ? e.srcElement : e.target;
//绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件
if (k == "13" && (obj.id == "username" || obj.id == "department" || obj.id == "phonenum"
|| obj.id == "email" || obj.id == "description" || obj.id == "position")) {
$("#saveusername").click();
}
//搜索按钮添加快捷键
if (k == "13" && (obj.id == "searchUsername" || obj.id == "searchLoginame" || obj.id == "searchPhonenum"
|| obj.id == "searchPosition" || obj.id == "searchEmail" || obj.id == "searchDesc" || obj.id == "searchDept")) {
$("#searchBtn").click();
}
});
//分页信息处理
function ininPager() {
try {
var opts = $("#tableData").datagrid('options');
var pager = $("#tableData").datagrid('getPager');
pager.pagination({
onSelectPage: function (pageNum, pageSize) {
opts.pageNumber = pageNum;
opts.pageSize = pageSize;
pager.pagination('refresh',
{
pageNumber: pageNum,
pageSize: pageSize
});
showUserDetails(pageNum, pageSize);
}
});
}
catch (e) {
$.messager.alert('异常处理提示', "分页信息异常 : " + e.name + ": " + e.message, 'error');
}
}
//删除用户信息
function deleteUser(userID) {
$.messager.confirm('删除确认', '确定要删除此用户信息吗?', function (r) {
if (r) {
$.ajax({
type: "post",
url: "/user/deleteUser",
dataType: "json",
data: ({
ids: userID
}),
success: function (res) {
if(res && res.code != 200) {
$.messager.alert('提示', res.msg, 'error');
return;
}
$.messager.alert('提示', res.msg, 'info');
$("#searchBtn").click();
},
//此处添加错误处理
error: function () {
$.messager.alert('删除提示', '删除用户信息异常,请稍后再试!', 'error');
return;
}
});
}
});
}
//批量删除用户
function batDeleteUser() {
var row = $('#tableData').datagrid('getChecked');
if (row.length == 0) {
$.messager.alert('删除提示', '没有记录被选中!', 'info');
return;
}
if (row.length > 0) {
$.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条用户信息吗?', function (r) {
if (r) {
var ids = "";
for (var i = 0; i < row.length; i++) {
if (i == row.length - 1) {
ids += row[i].id;
break;
}
ids += row[i].id + ",";
}
if(row[i].loginame == "jsh"){
$.messager.alert('提示', '租户jsh不能删除', 'warning');
return;
} else if(row[i].id == row[i].tenantId) {
$.messager.alert('提示', '不能删除自己!', 'warning');
return;
} else {
$.ajax({
type: "post",
url: "/user/batchDeleteUser",
dataType: "json",
async: false,
data: ({
ids: ids,
}),
success: function (res) {
if(res && res.code != 200) {
$.messager.alert('提示', res.msg, 'error');
return;
}
$.messager.alert('提示', res.msg, 'info');
$("#searchBtn").click();
$(":checkbox").attr("checked", false);
},
//此处添加错误处理
error: function () {
$.messager.alert('删除提示', '删除用户信息异常,请稍后再试!', 'error');
return;
}
});
}
}
});
}
}
//增加用户
var url;
var userID = 0;
//保存编辑前的名称
var oldLoginName = "";
function addUser() {
if(checkPower()){
return;
}
$('#userDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui-1.3.5/themes/icons/edit_add.png"/>&nbsp;增加用户');
$(".window-mask").css({width: webW, height: webH});
$('#usernameFM').form('clear');
var row = {};
$('#usernameFM').form('load', row);
$("#username").focus();
$("#loginame").removeAttr("readonly");
oldLoginName = "";
userID = 0;
/**机构选择*/
$("#selectType").val("org");
url = '/user/addUser';
}
//重置用户密码
$("#resetPwd").off("click").on("click", function () {
$.messager.confirm('重置用户密码', '确定重置该用户的密码为123456吗', function (r) {
if (r) {
$.ajax({
type: "post",
url: "/user/resetPwd",
dataType: "json",
data: ({
id: userID
}),
success: function (res) {
if (res && res.code === 200) {
$.messager.alert('提示', '重置密码成功', 'info');
}
},
//此处添加错误处理
error: function () {
$.messager.alert('提示', '重置密码失败,请稍后再试!', 'error');
return;
}
});
}
});
});
//保存用户信息
$("#saveusername").off("click").on("click", function () {
/**
* 2019-03-12
* 此处用户名和登录名是否重复的校验在保存操作时处理
* */
var reg = /^([0-9])+$/;
var phonenum = $.trim($("#phonenum").val());
if (phonenum.length > 0 && !reg.test(phonenum)) {
$.messager.alert('提示', '电话号码只能是数字', 'info');
$("#phonenum").val("").focus();
return;
}
$.ajax({
url: url,
type: "post",
dataType: "json",
data: {
info: JSON.stringify($("#usernameFM").serializeObject())
},
success: function(res) {
if(res && res.code != 200) {
$.messager.alert('提示', res.msg, 'error');
return;
}
$('#userDlg').dialog('close');
//加载完以后重新初始化
var opts = $("#tableData").datagrid('options');
showUserDetails(opts.pageNumber, opts.pageSize);
},
//此处添加错误处理
error: function () {
$.messager.alert('提示', '网络异常,请稍后再试!', 'error');
return;
}
});
});
//编辑用户信息
function editUser(index) {
var rowsdata = $("#tableData").datagrid("getRows")[index];
var row = {
username: rowsdata.username,
loginame: rowsdata.loginame,
position: rowsdata.position,
email: rowsdata.email,
phonenum: rowsdata.phonenum,
description: rowsdata.description,
orgAbr: rowsdata.orgAbr,
orgaId: rowsdata.orgaId,
orgaUserRelId: rowsdata.orgaUserRelId,
userBlngOrgaDsplSeq: rowsdata.userBlngOrgaDsplSeq
};
oldLoginName = rowsdata.username;
$('#userDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui-1.3.5/themes/icons/pencil.png"/>&nbsp;编辑用户信息');
$(".window-mask").css({width: webW, height: webH});
$('#usernameFM').form('load', row);
userID = rowsdata.id;
//焦点在名称输入框==定焦在输入文字后面
$("#username").val("").focus().val(rowsdata.username);
$("#loginame").attr("readonly","readonly");
/**机构选择*/
$("#selectType").val("org");
url = '/user/updateUser?id=' + rowsdata.id;
}
//搜索处理
$("#searchBtn").unbind().bind({
click: function () {
showUserDetails(1, initPageSize);
var opts = $("#tableData").datagrid('options');
var pager = $("#tableData").datagrid('getPager');
opts.pageNumber = 1;
opts.pageSize = initPageSize;
pager.pagination('refresh',
{
pageNumber: 1,
pageSize: initPageSize
});
}
});
function showUserDetails(pageNo, pageSize) {
var userName = $.trim($("#searchUsername").val());
var loginName = $.trim($("#searchLoginame").val());
$.ajax({
type: "get",
url: "/user/getUserList",
dataType: "json",
data: ({
search: JSON.stringify({
userName: userName,
loginName: loginName
}),
currentPage: pageNo,
pageSize: pageSize
}),
success: function (res) {
if(res && res.code === 200){
if(res.data && res.data.page) {
$("#tableData").datagrid('loadData', res.data.page);
}
}
},
//此处添加错误处理
error: function () {
$.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error');
return;
}
});
}
//重置按钮
$("#searchResetBtn").unbind().bind({
click: function () {
$("#searchUsername").val("");
$("#searchLoginame").val("");
$("#searchPhonenum").val("");
$("#searchPosition").val("");
$("#searchDept").val("");
$("#searchEmail").val("");
$("#searchDesc").val("");
//加载完以后重新初始化
$("#searchBtn").click();
}
});
//分配角色
$('#btnSetRole').click(function () {
var currentRow = $("#tableData").datagrid("getSelected");
if (currentRow == null) {
$.messager.alert('提示',"请选择一条数据再操作",'warning');
return false;
}
if (currentRow.id == currentRow.tenantId) {
$.messager.alert('提示',"不能给自己配置角色",'warning');
return false;
}
this.href = "/pages/user/userRole.html?id=" + currentRow.id;
});
//分配部门
$('#btnSetDepart').click(function () {
var currentRow = $("#tableData").datagrid("getSelected");
if (currentRow == null) {
$.messager.alert('提示',"请选择一条数据再操作",'warning');
return false;
}
this.href = "/pages/user/userDepot.html?id=" + currentRow.id;
});
//分配客户
$('#btnSetCustomer').click(function () {
var currentRow = $("#tableData").datagrid("getSelected");
if (currentRow == null) {
$.messager.alert('提示',"请选择一条数据再操作",'warning');
return false;
}
this.href = "/pages/user/userCustomer.html?id=" + currentRow.id;
});
/**
* 用户选择机构
* */
$("#lookForSelectOrganization").on("click", function () {
$('#forSelectOrganizationDlg').dialog({
title: '机构选择',
width: webW/2,
height: webH/2,
closed: false,
cache: false,
href: '/pages/manage/organization_forselect.html',
modal: true,
resizable:true
});
});
</script>
</body>
</html>