define(function(require, exports, module) { var Biz = require('system/base/biz'); var ActRightWin = require('apps/edp/frs/frs002/ActRightWin'); var CopyActRight = require('apps/edp/frs/frs002/CopyActRight'); var multiWindow = require("system/views/pages/multiwindow/multiwindow"); var userType = Store.logOn.userType; var userOrgId = Store.logOn.rightCtrlOrgCode; function ActRightBiz(vm) { Biz.call(this, vm); }; inherits(ActRightBiz, Biz); ActRightBiz.prototype.initCompleted = function() { this.super('initCompleted'); }; ActRightBiz.prototype.beforeRefresh = function() { // if (userType !== '0') // this.dsMaster.fixQuery['RightCtrlOrgId'] = Store.logOn.rightCtrlOrgId; return this.super('beforeRefresh'); }; ActRightBiz.prototype.beforeAdd = function() { if (userType === '2') { Store.messager.warn(Store.MSG.FRS002_01); //登录用户为普通用户,不允许增加角色信息。 return false; } return this.super('beforeAdd'); } ActRightBiz.prototype.beforeEdit = function() { var self = this; var currentRow = self.dsMaster.currentRow; if (currentRow === null) return false; if (userType === '2') { Store.messager.warn(Store.MSG.FRS002_02); //登录用户为普通用户,不允许修改角色信息。 return false; } if (userType === '1' && currentRow['RightCtrlOrgCode'] !== userOrgId) { Store.messager.warn(Store.MSG.FRS002_03); //此用户与当前登录用户不是同一个权限控制组织,不允修改角色信息。 return false; } return this.super('beforeEdit'); } ActRightBiz.prototype.beforeDelete = function() { var self = this; self.setServerBiz('roleSavePlugin'); var currentRow = self.dsMaster.currentRow; if (currentRow === null) return false; if (userType === '2') { Store.messager.warn(Store.MSG.FRS002_04); //登录用户为普通用户,不允许删除用户。 return false; } if (userType === '1' && currentRow['RightCtrlOrgCode'] !== userOrgId) { Store.messager.warn(Store.MSG.FRS002_05); //此用户与当前登录用户不是同一个权限控制组织,不允删除角色信息。 return false; } //删除角色时,同时删除角色功能表和删除角色操作权表对应数据 var roleID = currentRow['RoleID']; var afterDeletePro = self.getDataSrc("sFrs_Role_AfterDelete"); afterDeletePro.getColumn('ps_KeyValue').paraValue = roleID; //入参 afterDeletePro.getColumn('ps_UserId').paraValue = ''; afterDeletePro.getColumn('ps_UserCode').paraValue = ''; afterDeletePro.getColumn('ps_UserName').paraValue = ''; afterDeletePro.getColumn('ps_OrgId').paraValue = ''; afterDeletePro.getColumn('ps_OrgCode').paraValue = ''; afterDeletePro.getColumn('ps_OrgName').paraValue = ''; self.dsMaster.afterDeleteProc = afterDeletePro; return this.super('beforeDelete'); } ActRightBiz.prototype.beforeSave = function() { var self = this; self.setServerBiz('roleSavePlugin'); var currentRow = self.dsMaster.currentRow; if (currentRow === null) return false; var curRoleID = currentRow["RoleID"]; var curRoleCode = currentRow["RoleCode"]; //循环为角色用户明细表赋值 for (var j = 0; j < self.dsDetail1.rows.length; j++) { var _nwRow = self.dsDetail1.rows[j]; _nwRow.setColumnValue("RoleCode", curRoleCode); } //循环为角色组织明细表赋值 for (var j = 0; j < self.dsDetail2.rows.length; j++) { var _nwRow = self.dsDetail2.rows[j]; _nwRow.setColumnValue("RoleCode", curRoleCode); } var afterSavePro = self.getDataSrc("sFrs_Role_AfterSave"); afterSavePro.getColumn('ps_KeyValue').paraValue = currentRow["RoleID"]; afterSavePro.getColumn('ps_UserId').paraValue = ''; afterSavePro.getColumn('ps_UserCode').paraValue = ''; afterSavePro.getColumn('ps_UserName').paraValue = ''; afterSavePro.getColumn('ps_OrgId').paraValue = ''; afterSavePro.getColumn('ps_OrgCode').paraValue = ''; afterSavePro.getColumn('ps_OrgName').paraValue = ''; self.dsMaster.afterSaveProc = afterSavePro; return this.super('beforeSave'); } ActRightBiz.prototype.afterAdd = function() { this.super('afterAdd'); var self = this; var currentRow = self.dsMaster.currentRow; if (currentRow === null) return false; var curRoleID = currentRow["RoleID"]; if (userType === '1') { currentRow.setColumnText('RightCtrlOrgCode', Store.logOn.rightCtrlOrgCode); this.view.setEditLimit(self.dsMaster, 'RightCtrlOrgCode', false); } if (self.getState() === 'add' && curRoleID === '*') { currentRow.setColumnValue('RoleID', this.super('generateUUID')); } } ActRightBiz.prototype.afterEdit = function() { this.super('afterEdit'); var self = this; if (userType === '1') { this.view.setEditLimit(self.dsMaster, 'RightCtrlOrgCode', false); } this.view.setEditLimit(self.dsMaster, 'RoleCode', false); } ActRightBiz.prototype.getOpEnabled = function(opCode) { var self = this; if (self.dsMaster !== null) { var currentRow = self.dsMaster.currentRow; switch (opCode) { case 'cus01': if (currentRow === null || self.getState() === 'add' || self.getState() === 'edit' || currentRow.RoleType !== '0') { return false; } break; case 'cus02': if (currentRow === null || self.getState() === 'add' || self.getState() === 'edit') { return false; } break; case 'cus03': if (currentRow === null || self.getState() !== 'edit' && self.getState() !== 'add') { return false; } break; case 'cus04': if (currentRow === null || self.getState() !== 'edit' && self.getState() !== 'add') { return false; } break; } } return this.super('getOpEnabled', opCode); } ActRightBiz.prototype.doOp = function(opCode) { this.super('doOp'); var actRightWin = null; var copyActRight = null; var self = this; function addUser(data) { var _nwRow = self.dsDetail1.addRow(); _nwRow.setColumnText("UserID", data.UserID); _nwRow.setColumnText("UserCode", data.UserCode); _nwRow.setColumnText("UserName", data.UserName); return true; } function addOrg(data) { var _nwRow = self.dsDetail2.addRow(); _nwRow.setColumnText("OrgID", data.OrgId); _nwRow.setColumnText("OrgCode", data.OrgCode); _nwRow.setColumnText("OrgName", data.OrgName); return true; } switch (opCode) { //操作权按钮操作事件 case 'cus01': var curRow = this.dsMaster.currentRow; if (!curRow) { Store.messager.warn(Store.MSG.FRS002_06); //请先选择一条数据后进行操作权的处理。 return; } if (userType === '2') { Store.messager.warn(Store.MSG.FRS002_07); //登录用户为普通用户,不允许修改操作权。 return; } var roleCode = curRow["RoleCode"]; var roleID = curRow["RoleID"]; self.getDataSrc('dsRoleFun').search(function(isOk) { if (isOk) { self.getDataSrc('dsFuncMenu').defaultOrder = 'MenuCode'; self.getDataSrc('dsFuncMenu').search(function(isOk) { if (isOk) { self.getDataSrc('dsActRight').clear(); self.getDataSrc('dsRoleActRight').clear(); actRightWin = new ActRightWin(self.dsMaster, self.getDataSrc('dsActRight'), self.getDataSrc('dsRoleFun'), self.getDataSrc('dsRoleActRight'), self.getDataSrc('dsFuncMenu').rows, self.getDataSrc('dsRoleFun').rows, roleID, roleCode); actRightWin.open(); } }); } }); break; //复制权限按钮操作事件 case 'cus02': if (userType === '2') { Store.messager.warn(Store.MSG.FRS002_08); //登录用户为普通用户,不允许复制权限。 return; } if (copyActRight) { copyActRight.open(); } else { copyActRight = new CopyActRight(self.dsMaster); copyActRight.open(); } break; //批量增加用户 case 'cus03': if (userType === '2') { Store.messager.warn(Store.MSG.FRS002_09); //登录用户为普通用户,不允许批量增加用户。 return false; } //tab页焦点设置在用户明细上 this.view.selectTab(self.dsMaster, 0); var exists = new Array(); for (var j = 0; j < self.dsDetail1.rows.length; j++) { exists.push({ 'UserID': self.dsDetail1.rows[j].UserID }); } var param = { exists: exists, uiObjCode: 'tFrsUser_Mult', biz: self, fixQuery: { '!UserID': '0' }, itreator: function(data) { return addUser(data); } }; var mywindow = new multiWindow(param); mywindow.open(); break; //批量增加组织 case 'cus04': if (userType === '2') { Store.messager.warn(Store.MSG.FRS002_10); //登录用户为普通用户,不允许批量增加组织。 return false; } //tab页焦点设置在组织明细上 this.view.selectTab(self.dsMaster, 1); var exists = new Array(); for (var j = 0; j < self.dsDetail2.rows.length; j++) { exists.push({ 'OrgId': self.dsDetail2.rows[j].OrgID }); } var param = { exists: exists, uiObjCode: 'vFrsOrg', biz: self, fixQuery: { '!OrgCode': '0' }, itreator: function(data) { return addOrg(data); } }; var mywindow = new multiWindow(param); mywindow.open(); break; } return true; }; return ActRightBiz; })