@yqg/permission 1.2.0 → 1.3.0-alpha.0
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/README.md +50 -38
- package/dist/apply-modal-CpmDDWWV.js +12865 -0
- package/dist/category-selector-BQ0-kg3o.js +1275 -0
- package/dist/index-D_0ZQip-.js +2972 -0
- package/dist/index-wLkVeDMW.js +5040 -0
- package/dist/index.js +2 -2
- package/dist/permission-item-Df_aagL1.js +1266 -0
- package/dist/{yqg-permission-Bxzu3bMl.js → yqg-permission-BjVCs5lN.js} +3483 -3538
- package/dist/yqg-permission.umd.js +250 -0
- package/package.json +13 -3
- package/plugins/alioss.ts +237 -0
- package/src/App.vue +7 -8
- package/src/assets/category.png +0 -0
- package/src/axios/index.ts +6 -1
- package/src/components/apply-modal.vue +254 -157
- package/src/components/category-selector.vue +130 -0
- package/src/components/permission-item.vue +230 -0
- package/src/components/success-modal.vue +4 -4
- package/src/components/yqg-permission.vue +23 -110
- package/src/hooks/useAttributesCache.ts +21 -0
- package/src/hooks/useCategory.ts +21 -0
- package/src/hooks/useDragable.ts +9 -10
- package/src/hooks/useFormat.ts +50 -0
- package/src/hooks/useStatus.ts +82 -0
- package/src/i18n/zh-CH.ts +9 -2
- package/src/main.ts +2 -0
- package/src/typings/index.d.ts +40 -7
- package/src/utils/index.ts +9 -0
- package/src/yqg-permission/index.ts +13 -1
- package/vite.config.ts +18 -2
- package/dist/apply-modal-BBqMmKS2.js +0 -8742
- package/dist/checkbox-item-CFWhXmMU.js +0 -4991
- package/dist/index-BAGvIeoy.js +0 -6164
- package/dist/index.umd.cjs +0 -259
- package/dist_/345/211/257/346/234/254/apply-modal-Bgd3UWf-.js +0 -8739
- package/dist_/345/211/257/346/234/254/card.png +0 -0
- package/dist_/345/211/257/346/234/254/checkbox-item-DiIgFuBE.js +0 -4988
- package/dist_/345/211/257/346/234/254/dialog.png +0 -0
- package/dist_/345/211/257/346/234/254/image.png +0 -0
- package/dist_/345/211/257/346/234/254/index-CUS1Jydp.js +0 -6164
- package/dist_/345/211/257/346/234/254/index.js +0 -5
- package/dist_/345/211/257/346/234/254/index.umd.cjs +0 -259
- package/dist_/345/211/257/346/234/254/yqg-permission-ChMRXqi6.js +0 -14944
- package/src/assets/apply.png +0 -0
- package/src/components/checkbox-item.vue +0 -201
package/src/i18n/zh-CH.ts
CHANGED
|
@@ -26,17 +26,24 @@ export default {
|
|
|
26
26
|
availableTime: '有效期',
|
|
27
27
|
selectPlaceholder: '请选择权限点',
|
|
28
28
|
reasonPlaceholder: '请输入申请理由',
|
|
29
|
+
pleaseChoose: '请选择',
|
|
29
30
|
maxCountTips: '一次最多只可申请{count}个权限',
|
|
30
31
|
maxLengthTips: '最多{length}个字符',
|
|
31
|
-
|
|
32
|
-
taday: '今天到期',
|
|
32
|
+
today: '今天到期',
|
|
33
33
|
clickToApply: '点击申请权限',
|
|
34
34
|
noPermissionTips: '该菜单下暂无权限点',
|
|
35
|
+
lastDays: '{count}天',
|
|
36
|
+
categoryTips: '当前您所拥有的数据范围如下:',
|
|
37
|
+
empty: '空',
|
|
38
|
+
category: '数据权限',
|
|
39
|
+
categotySelectTips: '上方选中的权限包含数据权限,请根据实际工作需要申请/更改数据范围',
|
|
40
|
+
categoryChangeTips: '提醒:您选择的数据权限范围较大!请确认实际工作场景是否需要全量「部门」权限,并在申请理由中写明,避免审批不通过!',
|
|
35
41
|
availiables: {
|
|
36
42
|
SEVEN_DAYS: '7天',
|
|
37
43
|
THIRTY_DAYS: '30天',
|
|
38
44
|
SIXTY_DAYS: '60天',
|
|
39
45
|
NINETY_DAYS: '90天',
|
|
46
|
+
ONE_YEARS: '1年',
|
|
40
47
|
FOREVER: '永久有效',
|
|
41
48
|
},
|
|
42
49
|
levels: {
|
package/src/main.ts
CHANGED
package/src/typings/index.d.ts
CHANGED
|
@@ -15,20 +15,31 @@ declare type PermissionType = {
|
|
|
15
15
|
name: string;
|
|
16
16
|
roleId: number;
|
|
17
17
|
desc: string;
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
businessCode: string;
|
|
19
|
+
feature: string;
|
|
20
20
|
validTime?: string;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
operationType: string;
|
|
22
|
+
securityLevel: LevelType;
|
|
23
|
+
relatedDepartments?: any[];
|
|
24
24
|
relatedCompleteNames: string[];
|
|
25
25
|
relatedDepartmentIds?: number[];
|
|
26
26
|
curDepartmentId?: number;
|
|
27
27
|
businessApplyType: StatusType;
|
|
28
|
+
pendingValidTime?: string;
|
|
29
|
+
virtualOwnState?: {
|
|
30
|
+
timeStatus?: any;
|
|
31
|
+
dayDiff?: any;
|
|
32
|
+
};
|
|
28
33
|
oaFlowUrl?: string;
|
|
29
34
|
children?: PermissionListType;
|
|
30
35
|
ownStatusVO: any;
|
|
36
|
+
shortName?: string;
|
|
37
|
+
categoryVOS?: any[];
|
|
38
|
+
key?: string;
|
|
31
39
|
admin?: any[];
|
|
40
|
+
checked?: boolean;
|
|
41
|
+
disabled?: boolean;
|
|
42
|
+
children?: PermissionListType;
|
|
32
43
|
};
|
|
33
44
|
declare type PermissionListType = PermissionType[];
|
|
34
45
|
|
|
@@ -48,13 +59,35 @@ declare type StatusMapType = {
|
|
|
48
59
|
};
|
|
49
60
|
|
|
50
61
|
declare type formStateType = {
|
|
51
|
-
|
|
52
|
-
roleIds: number[],
|
|
62
|
+
features: string[],
|
|
53
63
|
roleVoList: any[],
|
|
54
64
|
applyReason: string,
|
|
65
|
+
dataRule: {
|
|
66
|
+
ruleItems: any[],
|
|
67
|
+
},
|
|
55
68
|
submitWorkNumber: string,
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
declare type CategoryType = {
|
|
72
|
+
id: number,
|
|
73
|
+
attributeValues?: any[],
|
|
74
|
+
categoryName: string,
|
|
75
|
+
attributeValueIds?: number[],
|
|
76
|
+
configWay: Category,
|
|
77
|
+
attributeValueIds_view: number[],
|
|
78
|
+
}
|
|
56
79
|
|
|
80
|
+
declare type OptionsType = {
|
|
81
|
+
value: string;
|
|
82
|
+
label: string;
|
|
83
|
+
[key in string]: any
|
|
57
84
|
};
|
|
85
|
+
|
|
86
|
+
declare enum Category {
|
|
87
|
+
AUTO = 'AUTO',
|
|
88
|
+
MANAL = 'MANAL'
|
|
89
|
+
}
|
|
90
|
+
|
|
58
91
|
declare interface Window {
|
|
59
92
|
YQG_PERMISSION_CALLBACK?: () => void;
|
|
60
93
|
}
|
package/src/utils/index.ts
CHANGED
|
@@ -44,4 +44,13 @@ export const formatOptions = (enumkey:string) => {
|
|
|
44
44
|
})
|
|
45
45
|
};
|
|
46
46
|
|
|
47
|
+
export const deepTree = (tree: any[], fn: (item:any) => void) => {
|
|
48
|
+
for (let i = 0; i < tree.length; i++) {
|
|
49
|
+
fn(tree[i]);
|
|
50
|
+
if (tree[i].children && tree[i].children.length) {
|
|
51
|
+
deepTree(tree[i].children, fn);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
47
56
|
export default t;
|
|
@@ -54,8 +54,20 @@ class YqgPermission implements YqgPermissionType {
|
|
|
54
54
|
return;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
+
|
|
57
58
|
defineElement(this.tagName);
|
|
58
59
|
};
|
|
59
60
|
}
|
|
60
61
|
|
|
61
|
-
|
|
62
|
+
const yqgPermission = new YqgPermission();
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
// 如果DOM已经加载完成,直接执行
|
|
66
|
+
if (document.readyState === 'complete' || document.readyState === 'interactive') {
|
|
67
|
+
yqgPermission.init();
|
|
68
|
+
} else {
|
|
69
|
+
// 否则等待DOM加载完成
|
|
70
|
+
document.addEventListener('DOMContentLoaded', () => yqgPermission.init());
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export default yqgPermission;
|
package/vite.config.ts
CHANGED
|
@@ -2,10 +2,18 @@ import vue from '@vitejs/plugin-vue';
|
|
|
2
2
|
import { defineConfig } from 'vite';
|
|
3
3
|
|
|
4
4
|
import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js'
|
|
5
|
+
import alioss from "./plugins/alioss";
|
|
6
|
+
import pkg from "./package.json";
|
|
5
7
|
|
|
6
8
|
// https://vite.dev/config/
|
|
7
9
|
export default defineConfig({
|
|
8
|
-
plugins: [
|
|
10
|
+
plugins: [
|
|
11
|
+
vue(),
|
|
12
|
+
cssInjectedByJsPlugin(),
|
|
13
|
+
alioss({
|
|
14
|
+
cdnDir: `cdn/yqg-permission/${pkg.version}/`
|
|
15
|
+
}),
|
|
16
|
+
],
|
|
9
17
|
resolve: {
|
|
10
18
|
alias: {
|
|
11
19
|
'@': '/src',
|
|
@@ -25,8 +33,16 @@ export default defineConfig({
|
|
|
25
33
|
lib: {
|
|
26
34
|
entry: 'src/yqg-permission/index.ts',
|
|
27
35
|
name: 'yqg-permission',
|
|
28
|
-
fileName:
|
|
36
|
+
fileName: (format) => {
|
|
37
|
+
if (format === 'umd') {
|
|
38
|
+
return 'yqg-permission.umd.js'; // UMD 格式的输出文件名
|
|
39
|
+
}
|
|
40
|
+
return 'index.js'; // ESM 格式的输出文件名
|
|
41
|
+
},
|
|
29
42
|
formats: ['es', 'umd'],
|
|
30
43
|
},
|
|
31
44
|
},
|
|
45
|
+
define: {
|
|
46
|
+
'process.env.NODE_ENV': JSON.stringify('production'), // 手动替换
|
|
47
|
+
},
|
|
32
48
|
});
|