You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

162 lines
5.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

define(function(require, exports, module) {
var Window = require('system/views/pages/window');
var tpl = require('text!apps/edp/frs/frs002/CopyActRight.tpl');
/**
* [复制权限弹框]
* @param {[type]} dsRole 角色表数据源用于对角色ComBox进行赋值
*/
function CopyActRight(dsRole) {
this.options = {
title: Store.MSG.FRS002_18, //复制角色
content: tpl,
width: 310,
height: 199,
modal: true,
closed: true,
closable: true,
draggable: true,
maximizable: false,
resizable: false,
data: null
}
this.dsRole = dsRole;
Window.call(this, this.options);
}
inherits(CopyActRight, Window);
CopyActRight.prototype.init = function() {
}
CopyActRight.prototype.open = function() {
Window.prototype.open.call(this);
}
//执行windows窗体上自定义按钮事件
CopyActRight.prototype.customerize = function() {
var self = this;
var rows = null;
if (Store.logOn.userType === '0')
rows = this.dsRole.rows;
else
rows = _.where(self.dsRole.rows, {
'RightCtrlOrgCode': Store.logOn.rightCtrlOrgCode
});
var data = [];
var dataType = []; //存储RoleType
//为源角色和复制到角色的角色combox增加下拉数据
for (var i = 0; i < rows.length; i++) {
var rowRoleID = rows[i]['RoleID'];
var rowRoleCode = rows[i]['RoleCode'];
var rowRoleName = rows[i]["RoleName"];
var rowRoleType = rows[i]["RoleType"];
data.push({
roleCode: rowRoleCode,
roleName: rowRoleCode + '-' + rowRoleName
});
dataType.push({
roleID: rowRoleID,
roleCode: rowRoleCode,
roleName: rowRoleName,
roleType: rowRoleType
});
}
var $sourceRole = this.getElement('.sourceRole');
$sourceRole.combobox('loadData', data);
if (this.dsRole.currentRow['RightCtrlOrgId'] === Store.logOn.rightCtrlOrgId || Store.logOn.userType === '0')
$sourceRole.combobox('setValue', this.dsRole.currentRow['RoleCode']);
var $copyToRole = this.getElement('.copyToRole');
$copyToRole.combobox('loadData', data);
var $isCopyCheckbox = this.getElement('#isOrNotCover_dsRole');
//确定按钮事件
this.getElement('.btnOK').on('click', function(event) {
var selectSourceRole = $sourceRole.combobox('getValue');
var selectCopyToRole = $copyToRole.combobox('getValue');
if (!selectSourceRole) {
Store.messager.warn(Store.MSG.FRS002_19); //源角色不允许为空,请选择。
return;
}
if (!selectCopyToRole) {
Store.messager.warn(Store.MSG.FRS002_20); //目标角色不允许为空,请选择。
return;
}
if (selectSourceRole === selectCopyToRole) {
Store.messager.warn(Store.MSG.FRS002_21); //源角色和目标角色不能相同,请重新选择。
return;
}
var sourceRoleID = null;
var sourceRoleType = null;
var CopyToRoleID = null;
var CopyToRoleType = null;
_.each(dataType, function(item, index) {
var roleCode = item['roleCode'];
if (roleCode === selectSourceRole) {
sourceRoleID = item['roleID'];
sourceRoleType = item['roleType'];
}
if (roleCode === selectCopyToRole) {
CopyToRoleID = item['roleID'];
CopyToRoleType = item['roleType'];
}
});
if (sourceRoleID === null) {
Store.messager.warn(Store.MSG.FRS002_22); //目标角色输入不正确,请重新选择。
return;
}
if (CopyToRoleID === null) {
Store.messager.warn(Store.MSG.FRS002_23); //源角色输入不正确,请重新选择。
return;
}
if (sourceRoleType !== CopyToRoleType) {
Store.messager.warn(Store.MSG.FRS002_24); //您所选择的源角色和目标角色的角色类型不一致。
return;
}
var isCopyCheckbox = $isCopyCheckbox.prop('checked');
var params = {
plugin: 'proCopyRoleRight',
pluginData: {
ps_SourceRoleId: sourceRoleID,
ps_DestRoleId: CopyToRoleID,
ps_CopyType: isCopyCheckbox ? 0 : 1,
}
};
Store.services.executeplugin(params, function(isOk, result) {
if (isOk && result.data_Proc.pi_Result === 1) {
Store.messager.tip(Store.MSG.FRS002_25);
if (self.callback) {
self.callback();
}
self.close();
} else {
Store.messager.tip('操作权复制失败!');
self.close();
}
});
});
//取消按钮事件
this.getElement('.btnCancel').on('click', function(event) {
self.close();
});
}
return CopyActRight;
})