76 lines
2.1 KiB
JavaScript
76 lines
2.1 KiB
JavaScript
// 角色数据权限修改
|
|
// 对应字典:
|
|
//[
|
|
// {
|
|
// value: '0', // 本组织id
|
|
// label: '仅本人数据权限',
|
|
// },
|
|
// {
|
|
// value: '1', // 所有组织id
|
|
// label: '全部数据权限',
|
|
// },
|
|
// {
|
|
// value: '2', // 参数组织id
|
|
// label: '自定数据权限',
|
|
// },
|
|
// {
|
|
// value: '3', // 本组织id
|
|
// label: '本组织数据权限',
|
|
// },
|
|
// {
|
|
// value: '4', // 不存
|
|
// label: '本组织及以下数据权限',
|
|
// },
|
|
// ],
|
|
|
|
function main() {
|
|
// 验证用户权限
|
|
'use api/user/acl/excerpt.js'
|
|
|
|
const data = payload.get().body?.toObject();
|
|
|
|
// 更新role表
|
|
const query = `UPDATE sys_roles SET data_scope = ? WHERE role_id = ?`;
|
|
const res = SQL.exec('system_sql', query, data.dataScope, data.roleId);
|
|
let orgRes = true;
|
|
if (!res) {
|
|
return errMsg(507, '更新失败');
|
|
}
|
|
// 更新role_org表
|
|
let orgIds = [];
|
|
if (data.dataScope == '0') {
|
|
// 通过本组织id创建
|
|
} else if (data.dataScope == '1') {
|
|
// 查询所有组织id
|
|
orgIds = SQL.query('system_sql', 'SELECT organization_id FROM sys_organizations ');
|
|
} else if (data.dataScope == '2') {
|
|
// 参数组织id
|
|
orgIds = data.organizationIds;
|
|
} else if (data.dataScope == '3') {
|
|
// 通过本组织id创建
|
|
} else if (data.dataScope == '4') {
|
|
// 不存
|
|
orgIds = [];
|
|
}
|
|
|
|
// 删除旧数据
|
|
const delRes = SQL.exec('system_sql', 'DELETE FROM sys_role_organizations_rel WHERE role_id = ?', data.roleId);
|
|
if (orgIds.length) {
|
|
let insertStr = '';
|
|
let valueStrArr = [];
|
|
let valueArr = [];
|
|
for (i = 0; i < orgIds.length; i++) {
|
|
valueStrArr.push(`(?,?,?,?,?)`);
|
|
valueArr.push(ex.suid().base58(), data.roleId, orgIds[i], USER_INFO.user_id, USER_INFO.nickname);
|
|
}
|
|
|
|
insertStr += `INSERT INTO sys_role_organizations_rel (rule_id, role_id, organization_id, proprietor_id, proprietor_name) VALUES ${valueStrArr.join(',')};`;
|
|
orgRes = SQL.exec('system_sql', insertStr, ...valueArr);
|
|
}
|
|
|
|
if (orgRes) {
|
|
return okMsg(orgRes);
|
|
}
|
|
return errMsg(507, '更新失败');
|
|
}
|