@mu-cabin/opms-permission 0.8.30 → 0.8.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +31 -25
- package/dist/index.mjs +31 -25
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
@@ -204,12 +204,12 @@ function findFirstEnableNode(data) {
|
|
204
204
|
}
|
205
205
|
return null;
|
206
206
|
}
|
207
|
-
function
|
207
|
+
function handlePermissionTree(data, key) {
|
208
208
|
const orgNoAuthMap = {};
|
209
209
|
function processNode(node) {
|
210
210
|
const processedChildren = node.children?.map((child) => processNode(child)).filter((child) => child !== null);
|
211
211
|
if (node.disabled) {
|
212
|
-
orgNoAuthMap[node
|
212
|
+
orgNoAuthMap[node[key]] = { ...node, children: [] };
|
213
213
|
if (!processedChildren?.length) {
|
214
214
|
return null;
|
215
215
|
}
|
@@ -219,10 +219,7 @@ function handleOrgTreeByPermission(data) {
|
|
219
219
|
children: processedChildren || []
|
220
220
|
};
|
221
221
|
}
|
222
|
-
|
223
|
-
if (orgTree.length === 1 && orgTree[0].orgType === "HEAD" && orgTree[0].disabled) {
|
224
|
-
orgTree = orgTree[0].children || [];
|
225
|
-
}
|
222
|
+
const orgTree = data.map((node) => processNode(node)).filter((node) => node !== null);
|
226
223
|
return {
|
227
224
|
orgTree,
|
228
225
|
orgNoAuthMap
|
@@ -237,6 +234,7 @@ var USER_INFO_KEY = "opms_user_info";
|
|
237
234
|
var RESOURCE_KEY = "opms_resources";
|
238
235
|
var TOKEN_KEY = "omps_authorization";
|
239
236
|
var ORG_COMPANY_KEY = "opms_org_company";
|
237
|
+
var USER_ORG_KEY = "opms_user_org";
|
240
238
|
|
241
239
|
// src/api.ts
|
242
240
|
var axiosClient = import_axios.default.create();
|
@@ -472,25 +470,33 @@ var Permission = class {
|
|
472
470
|
*/
|
473
471
|
async queryUserOrgs() {
|
474
472
|
try {
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
473
|
+
let orgTreeData = storage.getItem(USER_ORG_KEY) || null;
|
474
|
+
if (!orgTreeData) {
|
475
|
+
const res = await getUserOrgTree(this.baseUrl);
|
476
|
+
const { obj } = res;
|
477
|
+
orgTreeData = iterateNestedArray(obj, (item) => {
|
478
|
+
return {
|
479
|
+
label: item.orgShortName,
|
480
|
+
value: item.orgCode,
|
481
|
+
title: item.orgShortName,
|
482
|
+
key: item.orgCode,
|
483
|
+
nodeLevel: item.nodeLevel,
|
484
|
+
children: item.children,
|
485
|
+
disabled: !item.hasPermission,
|
486
|
+
orgType: item.orgType,
|
487
|
+
orgId: item.orgId
|
488
|
+
};
|
489
|
+
});
|
490
|
+
storage.setItem(USER_ORG_KEY, orgTreeData);
|
491
|
+
}
|
492
|
+
const data = handlePermissionTree(orgTreeData, "orgId");
|
493
|
+
const { orgNoAuthMap } = data;
|
494
|
+
let { orgTree } = data;
|
495
|
+
if (orgTree.length === 1 && orgTree[0].orgType === "HEAD" && orgTree[0].disabled) {
|
496
|
+
orgTree = orgTree[0].children || [];
|
497
|
+
}
|
498
|
+
this._orgTree = orgTreeData;
|
499
|
+
return { orgTree: orgTreeData, orgNoAuthMap, authOrgTree: orgTree };
|
494
500
|
} catch (error) {
|
495
501
|
console.log(error);
|
496
502
|
return null;
|
package/dist/index.mjs
CHANGED
@@ -165,12 +165,12 @@ function findFirstEnableNode(data) {
|
|
165
165
|
}
|
166
166
|
return null;
|
167
167
|
}
|
168
|
-
function
|
168
|
+
function handlePermissionTree(data, key) {
|
169
169
|
const orgNoAuthMap = {};
|
170
170
|
function processNode(node) {
|
171
171
|
const processedChildren = node.children?.map((child) => processNode(child)).filter((child) => child !== null);
|
172
172
|
if (node.disabled) {
|
173
|
-
orgNoAuthMap[node
|
173
|
+
orgNoAuthMap[node[key]] = { ...node, children: [] };
|
174
174
|
if (!processedChildren?.length) {
|
175
175
|
return null;
|
176
176
|
}
|
@@ -180,10 +180,7 @@ function handleOrgTreeByPermission(data) {
|
|
180
180
|
children: processedChildren || []
|
181
181
|
};
|
182
182
|
}
|
183
|
-
|
184
|
-
if (orgTree.length === 1 && orgTree[0].orgType === "HEAD" && orgTree[0].disabled) {
|
185
|
-
orgTree = orgTree[0].children || [];
|
186
|
-
}
|
183
|
+
const orgTree = data.map((node) => processNode(node)).filter((node) => node !== null);
|
187
184
|
return {
|
188
185
|
orgTree,
|
189
186
|
orgNoAuthMap
|
@@ -198,6 +195,7 @@ var USER_INFO_KEY = "opms_user_info";
|
|
198
195
|
var RESOURCE_KEY = "opms_resources";
|
199
196
|
var TOKEN_KEY = "omps_authorization";
|
200
197
|
var ORG_COMPANY_KEY = "opms_org_company";
|
198
|
+
var USER_ORG_KEY = "opms_user_org";
|
201
199
|
|
202
200
|
// src/api.ts
|
203
201
|
var axiosClient = axios.create();
|
@@ -433,25 +431,33 @@ var Permission = class {
|
|
433
431
|
*/
|
434
432
|
async queryUserOrgs() {
|
435
433
|
try {
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
434
|
+
let orgTreeData = storage.getItem(USER_ORG_KEY) || null;
|
435
|
+
if (!orgTreeData) {
|
436
|
+
const res = await getUserOrgTree(this.baseUrl);
|
437
|
+
const { obj } = res;
|
438
|
+
orgTreeData = iterateNestedArray(obj, (item) => {
|
439
|
+
return {
|
440
|
+
label: item.orgShortName,
|
441
|
+
value: item.orgCode,
|
442
|
+
title: item.orgShortName,
|
443
|
+
key: item.orgCode,
|
444
|
+
nodeLevel: item.nodeLevel,
|
445
|
+
children: item.children,
|
446
|
+
disabled: !item.hasPermission,
|
447
|
+
orgType: item.orgType,
|
448
|
+
orgId: item.orgId
|
449
|
+
};
|
450
|
+
});
|
451
|
+
storage.setItem(USER_ORG_KEY, orgTreeData);
|
452
|
+
}
|
453
|
+
const data = handlePermissionTree(orgTreeData, "orgId");
|
454
|
+
const { orgNoAuthMap } = data;
|
455
|
+
let { orgTree } = data;
|
456
|
+
if (orgTree.length === 1 && orgTree[0].orgType === "HEAD" && orgTree[0].disabled) {
|
457
|
+
orgTree = orgTree[0].children || [];
|
458
|
+
}
|
459
|
+
this._orgTree = orgTreeData;
|
460
|
+
return { orgTree: orgTreeData, orgNoAuthMap, authOrgTree: orgTree };
|
455
461
|
} catch (error) {
|
456
462
|
console.log(error);
|
457
463
|
return null;
|