Files
jshERP/erp_web/pages/manage/rolePushBtn.html
2019-02-22 11:19:09 +08:00

261 lines
10 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>
<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 style="padding-bottom: 10px;">
<a id="btnOK" class="easyui-linkbutton" iconCls="icon-ok">保存</a>
</div>
<div id="pushList">
<!-- 数据显示table -->
<div id="tablePanel" class="easyui-panel" style="padding:1px; top:300px;" title="功能列表-选择按钮权限" iconCls="icon-list"
closable="false">
<table id="tableData" style="top:300px;border-bottom-color:#FFFFFF"></table>
</div>
</div>
<script type="text/javascript">
var keyId = getUrlParam('id'); //获取传值id角色id
var pushBtnJSON;
var userBusinessId = 0; //关系id
var roleBtnStr = ""; //角色按钮权限
//初始化界面
$(function () {
initJSON();
initTableData();
ininPager();
showDetails(1, initPageSize);
bindEvent();
});
//初始化JSON
function initJSON() {
var url = '/js/pages/manage/pushBtn.json';
$.ajax({
url: url,
type: "get",
async: false,
success: function (res) {
if (res) {
pushBtnJSON = res;
}
},
error: function () {
}
});
}
//初始化表格数据
function initTableData() {
$('#tableData').datagrid({
height: 360,
rownumbers: true,
//动画效果
animate: false,
//交替出现背景
striped: true,
columns: [[
{field: 'Id', align: "center", hidden: true},
{title: '名称', field: 'Name', width: 100},
{
title: '按钮列表', field: 'PushBtnList', width: 400, formatter: function (value, rec) {
var btnStr = rec.PushBtn;
if (btnStr != undefined) {
var arr = btnStr.split(",");
if (arr.length) {
var str = "";
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < pushBtnJSON.length; j++) {
if (pushBtnJSON[j].id === arr[i] - 0) {
str += "<input type='checkbox' value='" + pushBtnJSON[j].id + "' />" + pushBtnJSON[j].text;
}
}
}
return str;
}
}
else {
return "";
}
}
}
]],
onLoadError: function () {
$.messager.alert('页面加载提示', '页面加载异常,请稍后再试!', 'error');
return;
}
});
}
//分页信息处理
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
});
showDetails(pageNum, pageSize);
}
});
}
catch (e) {
$.messager.alert('异常处理提示', "分页信息异常 : " + e.name + ": " + e.message, 'error');
}
}
function showDetails(pageNo, pageSize) {
$.ajax({
url: "/userBusiness/getBasicData",
type: "get",
data: {
Type: 'RoleFunctions',
KeyId: keyId
},
success: function (res) {
if (res && res.code === 200) {
var ubList = res.data.userBusinessList;
userBusinessId = ubList[0].id;
roleBtnStr = ubList[0].btnstr;
var getValue = ubList[0].value;
getValue = getValue.substring(1, getValue.length - 1);
if (getValue.indexOf("][")) {
var arr = getValue.split("][");
arr = arr.toString();
$.ajax({
url: "/functions/findByIds",
type: "get",
data: {
functionsIds: arr
},
success: function (res) {
if(res && res.code === 200) {
$("#tableData").datagrid('loadData', res.data);
}
},
error: function () {
$.messager.alert('提示', '查询数据异常,请稍后再试!', 'error');
return;
}
});
}
}
},
error: function () {
$.messager.alert('提示', '查询数据异常,请稍后再试!', 'error');
return;
}
});
}
function bindEvent() {
setTimeout(function () {
var bindBody = $("#pushList .datagrid-view2 .datagrid-body");
//加载按钮信息到缓存中
if (roleBtnStr) {
var roleBtnStrArr = JSON.parse(roleBtnStr);
bindBody.find(".datagrid-row").each(function () {
for (var i = 0; i < roleBtnStrArr.length; i++) {
if (roleBtnStrArr[i] && roleBtnStrArr[i].funId) {
var thisId = $(this).find("[field='Id']").text() - 0;
if (roleBtnStrArr[i].funId == thisId) {
$(this).find("[field='Id']").attr("data-btn", roleBtnStrArr[i].btnStr);
//加载勾选状态
$(this).find("[field='PushBtnList']").find("input").each(function () {
var thisValue = $(this).val(); //勾选的值
if (roleBtnStrArr[i].btnStr.indexOf(thisValue) > -1) {
$(this).prop("checked", "checked");
}
});
}
}
}
});
}
//按钮勾选事件
bindBody.find("[field='PushBtnList']").find("input").off("click").on("click", function () {
var checkStr = "";
$(this).closest(".datagrid-cell").find("input").each(function () {
var thisValue = $(this).val(); //勾选的值
var isChecked = $(this).prop("checked");
if (isChecked) {
checkStr = checkStr + thisValue + ",";
}
});
if (checkStr) {
checkStr = checkStr.substring(0, checkStr.length - 1);
}
$(this).closest(".datagrid-row").find("[field='Id']").attr("data-btn", checkStr);
});
}, 500);
$("#btnOK").off("click").on("click", function () {
$.messager.confirm("提示","您确定要保存吗",function(data){
var bindList = $("#pushList .datagrid-view2 .datagrid-body .datagrid-row");
var bindArr = [];
var btnStr = "";
bindList.each(function () {
var funId = $(this).find("[field='Id']").text();
var btnStr = $(this).find("[field='Id']").attr("data-btn");
if (btnStr !== undefined && btnStr !== "") {
var bindJSON = {};
bindJSON.funId = funId;
bindJSON.btnStr = btnStr;
bindArr.push(bindJSON);
}
});
if (bindArr.length) {
btnStr = JSON.stringify(bindArr);
}
$.ajax({
url: "/userBusiness/updateBtnStr",
type: "post",
data: {
userBusinessId: userBusinessId,
btnStr: btnStr
},
success: function (res) {
if (res && res.code === 200) {
self.parent.$.colorbox.close();
$.messager.alert('提示',"操作成功","info");
}
else {
$.messager.show({
title: '错误提示',
msg: '保存按钮权限信息失败,请稍后重试!'
});
}
},
error: function () {
$.messager.alert('提示', '保存数据异常,请稍后再试!', 'error');
return;
}
});
});
});
}
</script>
</body>
</html>