mirror of
https://gitee.com/java110/MicroCommunityWeb.git
synced 2026-02-25 14:17:54 +08:00
237 lines
9.7 KiB
JavaScript
237 lines
9.7 KiB
JavaScript
/**
|
|
入驻小区
|
|
**/
|
|
(function (vc) {
|
|
vc.extends({
|
|
data: {
|
|
privilegeTreeInfo: {
|
|
privileges: [],
|
|
_currentPgId: ''
|
|
}
|
|
},
|
|
_initMethod: function () {
|
|
},
|
|
_initEvent: function () {
|
|
vc.on('privilegeTree', 'loadPrivilege', function (_pgId) {
|
|
$that.privilegeTreeInfo._currentPgId = _pgId;
|
|
$that._loadPrivilege(_pgId);
|
|
});
|
|
},
|
|
methods: {
|
|
addPrivilegeToPrivilegeGroup: function (_selectPrivileges) {
|
|
if (_selectPrivileges.length < 1) {
|
|
vc.toast("请先选择权限");
|
|
return;
|
|
}
|
|
let _pIds = [];
|
|
for (let selectIndex = 0; selectIndex < _selectPrivileges.length; selectIndex++) {
|
|
let _pId = {
|
|
pId: _selectPrivileges[selectIndex]
|
|
};
|
|
_pIds.push(_pId);
|
|
}
|
|
let _objData = {
|
|
pgId: vc.component.privilegeTreeInfo._currentPgId,
|
|
pIds: _pIds
|
|
};
|
|
vc.http.apiPost(
|
|
'/add.privilege.PrivilegeGroup',
|
|
JSON.stringify(_objData), {
|
|
emulateJSON: true
|
|
},
|
|
function (json, res) {
|
|
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
|
|
if (res.status == 200) {
|
|
return;
|
|
}
|
|
vc.toast('失败')
|
|
},
|
|
function (errInfo, error) {
|
|
console.log('请求失败处理');
|
|
vc.toast('失败')
|
|
});
|
|
},
|
|
deletePrivilege: function (_selectPrivileges) {
|
|
if (_selectPrivileges.length < 1) {
|
|
vc.toast("请先选择权限");
|
|
return;
|
|
}
|
|
var _pIds = [];
|
|
for (var selectIndex = 0; selectIndex < _selectPrivileges.length; selectIndex++) {
|
|
var _pId = {
|
|
pId: _selectPrivileges[selectIndex]
|
|
};
|
|
_pIds.push(_pId);
|
|
}
|
|
var _objData = {
|
|
pgId: vc.component.privilegeTreeInfo._currentPgId,
|
|
pIds: _pIds
|
|
};
|
|
vc.http.apiPost(
|
|
'/delete.privilege.PrivilegeGroup',
|
|
JSON.stringify(_objData), {
|
|
emulateJSON: true
|
|
},
|
|
function (json, res) {
|
|
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
|
|
if (res.status == 200) {
|
|
//关闭model
|
|
return;
|
|
}
|
|
vc.toast('删除失败');
|
|
},
|
|
function (errInfo, error) {
|
|
vc.toast('删除失败');
|
|
});
|
|
},
|
|
_initJsTreePrivilege: function (_privileges) {
|
|
let _data = $that._doJsTreeData(_privileges);
|
|
$.jstree.destroy()
|
|
$("#jstree_privilege").jstree({
|
|
"checkbox": {
|
|
"keep_selected_style": false
|
|
},
|
|
"plugins": ["checkbox"],
|
|
'state': { //一些初始化状态
|
|
"opened": false,
|
|
},
|
|
'core': {
|
|
'data': _data
|
|
}
|
|
});
|
|
$('#jstree_privilege').on("changed.jstree", function (e, data) {
|
|
if (data.action == 'model' || data.action == 'ready') {
|
|
//默认合并
|
|
$("#jstree_privilege").jstree("close_all");
|
|
return;
|
|
}
|
|
let _selected = data.node.state.selected;
|
|
let _d = data.node.children_d;
|
|
if (_d.length < 1) {
|
|
_d.push(data.node.id);
|
|
}
|
|
let _selectPrivileges = [];
|
|
_d.forEach(_dItem => {
|
|
if (_dItem.indexOf('p_') > -1) {
|
|
_selectPrivileges.push(_dItem.substring(2));
|
|
}
|
|
});
|
|
if (_selectPrivileges.length < 1) {
|
|
return;
|
|
}
|
|
if (_selected) {
|
|
$that.addPrivilegeToPrivilegeGroup(_selectPrivileges);
|
|
} else {
|
|
$that.deletePrivilege(_selectPrivileges);
|
|
}
|
|
});
|
|
},
|
|
_doJsTreeData: function (_privileges) {
|
|
let _mGroupTree = [];
|
|
//构建 第一层菜单组
|
|
_privileges.forEach(pItem => {
|
|
let _includeGroup = false;
|
|
for (let _mgIndex = 0; _mgIndex < _mGroupTree.length; _mgIndex++) {
|
|
if (pItem.gId == _mGroupTree[_mgIndex].gId) {
|
|
_includeGroup = true;
|
|
}
|
|
}
|
|
if (!_includeGroup) {
|
|
let _groupItem = {
|
|
id: 'g_' + pItem.gId,
|
|
gId: pItem.gId,
|
|
text: pItem.gName,
|
|
state: {
|
|
opened: false
|
|
},
|
|
children: []
|
|
};
|
|
$that._doJsTreeMenuData(_groupItem);
|
|
_mGroupTree.push(_groupItem);
|
|
}
|
|
});
|
|
return _mGroupTree;
|
|
},
|
|
_doJsTreeMenuData: function (_groupItem) {
|
|
let _privileges = $that.privilegeTreeInfo.privileges;
|
|
//构建菜单
|
|
let _children = _groupItem.children;
|
|
for (let _pIndex = 0; _pIndex < _privileges.length; _pIndex++) {
|
|
if (_groupItem.gId == _privileges[_pIndex].gId) {
|
|
let _includeMenu = false;
|
|
for (let _mgIndex = 0; _mgIndex < _children.length; _mgIndex++) {
|
|
if (_privileges[_pIndex].mId == _children[_mgIndex].mId) {
|
|
_includeMenu = true;
|
|
}
|
|
}
|
|
if (!_includeMenu) {
|
|
let _menuItem = {
|
|
id: 'm_' + _privileges[_pIndex].mId,
|
|
mId: _privileges[_pIndex].mId,
|
|
text: _privileges[_pIndex].mName,
|
|
state: {
|
|
opened: false
|
|
},
|
|
children: []
|
|
};
|
|
$that._doJsTreePrivilegeData(_menuItem);
|
|
_children.push(_menuItem);
|
|
}
|
|
}
|
|
}
|
|
},
|
|
_doJsTreePrivilegeData: function (_menuItem) {
|
|
let _privileges = $that.privilegeTreeInfo.privileges;
|
|
//构建菜单
|
|
let _children = _menuItem.children;
|
|
for (let _pIndex = 0; _pIndex < _privileges.length; _pIndex++) {
|
|
if (_menuItem.mId == _privileges[_pIndex].mId) {
|
|
let _includePrivilege = false;
|
|
for (let _mIndex = 0; _mIndex < _children.length; _mIndex++) {
|
|
if (_privileges[_pIndex].pId == _children[_mIndex].pId) {
|
|
_includePrivilege = true;
|
|
}
|
|
}
|
|
if (!_includePrivilege) {
|
|
let _selected = false;
|
|
if (_privileges[_pIndex].pgId) {
|
|
_selected = true;
|
|
}
|
|
let _privilegeItem = {
|
|
id: 'p_' + _privileges[_pIndex].pId,
|
|
pId: _privileges[_pIndex].pId,
|
|
text: _privileges[_pIndex].pName,
|
|
state: {
|
|
opened: false,
|
|
selected: _selected
|
|
}
|
|
};
|
|
_children.push(_privilegeItem);
|
|
}
|
|
}
|
|
}
|
|
},
|
|
_loadPrivilege: function (_pgId) {
|
|
vc.component.privilegeTreeInfo.privileges = [];
|
|
var param = {
|
|
params: {
|
|
pgId: _pgId,
|
|
communityId: vc.getCurrentCommunity().communityId
|
|
}
|
|
};
|
|
//发送get请求
|
|
vc.http.apiGet('/query.privilegeGroup.noAddPrivilege',
|
|
param,
|
|
function (json) {
|
|
let _privileges = JSON.parse(json);
|
|
vc.component.privilegeTreeInfo.privileges = _privileges;
|
|
$that._initJsTreePrivilege(_privileges);
|
|
},
|
|
function () {
|
|
console.log('请求失败处理');
|
|
}
|
|
);
|
|
},
|
|
}
|
|
});
|
|
})(window.vc); |