@gct-paas/core 0.1.6-dev.2 → 0.1.6-dev.21

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.
Files changed (95) hide show
  1. package/dist/index.esm.min.js +2 -1
  2. package/dist/{redirect-index-Ck5Ddtcb.js → redirect-index-B_rzKQa2.js} +1 -0
  3. package/es/constants/core.d.ts +1 -0
  4. package/es/constants/core.mjs +27 -1
  5. package/es/constants/expression-type/modeCfg.mjs +6 -0
  6. package/es/constants/index.d.ts +1 -1
  7. package/es/create-app-vue.d.ts +1 -1
  8. package/es/create-app-vue.mjs +1 -1
  9. package/es/enums/app-designer/index.d.ts +29 -3
  10. package/es/enums/app-designer/index.mjs +33 -4
  11. package/es/enums/appEnum.d.ts +5 -1
  12. package/es/enums/appEnum.mjs +6 -1
  13. package/es/enums/authActionEnum.d.ts +5 -1
  14. package/es/enums/authActionEnum.mjs +4 -0
  15. package/es/enums/developer-center/integration.d.ts +6 -0
  16. package/es/enums/developer-center/integration.mjs +8 -1
  17. package/es/enums/expressionEnum.d.ts +4 -2
  18. package/es/enums/expressionEnum.mjs +2 -0
  19. package/es/enums/globalEnum.d.ts +47 -0
  20. package/es/enums/globalEnum.mjs +51 -1
  21. package/es/enums/index.d.ts +11 -0
  22. package/es/enums/index.mjs +13 -1
  23. package/es/enums/pageEnum.d.ts +2 -1
  24. package/es/enums/pageEnum.mjs +1 -0
  25. package/es/enums/process.d.ts +5 -0
  26. package/es/enums/process.mjs +9 -0
  27. package/es/enums/sizeEnum.d.ts +4 -0
  28. package/es/enums/sizeEnum.mjs +6 -1
  29. package/es/global/gct/gct.d.ts +15 -15
  30. package/es/global/gct/gct.mjs +4 -5
  31. package/es/hooks/index.d.ts +2 -0
  32. package/es/hooks/index.mjs +2 -0
  33. package/es/hooks/useDebouncePromise.d.ts +14 -0
  34. package/es/hooks/useDebouncePromise.mjs +56 -0
  35. package/es/hooks/useObserver.d.ts +13 -0
  36. package/es/hooks/useObserver.mjs +46 -0
  37. package/es/index.mjs +34 -18
  38. package/es/interface/i-action-item/i-action-item.d.ts +65 -0
  39. package/es/interface/i-app-context/i-app-context.d.ts +13 -0
  40. package/es/interface/i-dictionary/i-dictionary-item.d.ts +80 -0
  41. package/es/interface/i-kit-plugin-module/i-kit-plugin-module.d.ts +2 -2
  42. package/es/interface/i-pinia-action/i-global-actions.d.ts +3 -0
  43. package/es/interface/index.d.ts +2 -1
  44. package/es/interface/open-util/i-drawer-options/i-drawer-options.d.ts +298 -0
  45. package/es/interface/open-util/i-modal/i-modal.d.ts +14 -1
  46. package/es/interface/open-util/i-modal-data/i-modal-data.d.ts +3 -3
  47. package/es/interface/open-util/i-modal-options/i-modal-options.d.ts +2 -1
  48. package/es/interface/open-util/i-overlay-controller/i-overlay-controller.d.ts +9 -0
  49. package/es/interface/open-util/index.d.ts +1 -0
  50. package/es/locale/index.d.ts +2 -1
  51. package/es/modules/env-manager/env-manager.const.d.ts +2 -0
  52. package/es/modules/env-manager/env-manager.const.mjs +4 -2
  53. package/es/modules/env-manager/env-manager.d.ts +1 -13
  54. package/es/modules/env-manager/env-manager.interface.d.ts +6 -8
  55. package/es/modules/env-manager/env-manager.interface.mjs +2 -0
  56. package/es/modules/env-manager/env-manager.mjs +11 -26
  57. package/es/modules/env-manager/env-manager.util.d.ts +5 -0
  58. package/es/modules/env-manager/env-manager.util.mjs +11 -0
  59. package/es/modules/env-manager/index.d.ts +1 -0
  60. package/es/modules/env-manager/index.mjs +4 -0
  61. package/es/modules/platform-config/enums/login.enum.d.ts +3 -1
  62. package/es/modules/platform-config/enums/login.enum.mjs +2 -0
  63. package/es/modules/platform-config/store.d.ts +15 -15
  64. package/es/modules/platform-config/useDeploySetting.d.ts +1 -2
  65. package/es/modules/platform-config/useDeploySetting.mjs +6 -3
  66. package/es/modules/platform-config/useLoginSetting.d.ts +2 -2
  67. package/es/modules/platform-config/useLoginSetting.mjs +29 -31
  68. package/es/modules/platform-config/useOrgSetting.d.ts +2 -2
  69. package/es/modules/platform-config/useOrgSetting.mjs +4 -6
  70. package/es/modules/platform-config/useSecuritySetting.d.ts +2 -2
  71. package/es/modules/platform-config/useSecuritySetting.mjs +2 -3
  72. package/es/modules/platform-config/useWatermarkSetting.d.ts +5 -2
  73. package/es/modules/platform-config/useWatermarkSetting.mjs +2 -3
  74. package/es/modules/user-stores/store/tenant.store.d.ts +3 -5
  75. package/es/modules/user-stores/store/tenant.store.mjs +10 -12
  76. package/es/modules/user-stores/store/user.store.mjs +4 -4
  77. package/es/store/global-store.mjs +12 -4
  78. package/es/store/index.d.ts +1 -1
  79. package/es/store/session-store.d.ts +1 -0
  80. package/es/store/session-store.mjs +2 -1
  81. package/es/types/index.d.ts +13 -0
  82. package/es/utils/axios/interceptors.mjs +12 -0
  83. package/es/utils/deviceFingerprint.mjs +5 -1
  84. package/es/utils/i18n/index.mjs +1 -0
  85. package/es/utils/index.d.ts +3 -2
  86. package/es/utils/index.mjs +1 -0
  87. package/es/utils/namespace/namespace.mjs +1 -0
  88. package/es/utils/openUtil/modal/modal.d.ts +1 -1
  89. package/es/utils/openUtil/overlay-container/overlay-container.d.ts +1 -1
  90. package/es/utils/openUtil/overlay-container/overlay-container.mjs +28 -23
  91. package/es/utils/select-user-utils.d.ts +50 -0
  92. package/es/utils/select-user-utils.mjs +129 -0
  93. package/es/utils/tools/tools.d.ts +4 -2
  94. package/es/utils/tools/tools.mjs +20 -5
  95. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- import { createApp, h, nextTick } from "vue";
1
+ import { createApp, h } from "vue";
2
2
  import { QXEvent } from "qx-util";
3
3
  //#region src/utils/openUtil/overlay-container/overlay-container.ts
4
4
  /**
@@ -12,6 +12,9 @@ import { QXEvent } from "qx-util";
12
12
  * @template O
13
13
  */
14
14
  var OverlayContainer = class OverlayContainer {
15
+ component;
16
+ render;
17
+ opts;
15
18
  vm;
16
19
  /**
17
20
  * 具体模态组件对象
@@ -61,7 +64,7 @@ var OverlayContainer = class OverlayContainer {
61
64
  this.opts = opts;
62
65
  this._initPromise = this.init();
63
66
  }
64
- static async createVueApp(rootComponent, rootProps) {
67
+ static createVueApp(rootComponent, rootProps) {
65
68
  console.error("没有注入createVueApp方法");
66
69
  return createApp(rootComponent, rootProps);
67
70
  }
@@ -78,27 +81,30 @@ var OverlayContainer = class OverlayContainer {
78
81
  const { render, opts } = this;
79
82
  const container = document.createElement("div");
80
83
  document.body.appendChild(container);
81
- const vm = await OverlayContainer.createVueApp({
82
- mounted() {
83
- self.modal = this.$refs.root;
84
- },
85
- unmounted() {
86
- document.body.removeChild(container);
87
- self.evt.emit("dismiss", self.result);
88
- },
89
- render() {
90
- return h(self.component, {
91
- ref: "root",
92
- opts,
93
- onDismiss(data) {
94
- self.result = data;
95
- vm.unmount();
96
- }
97
- }, { default: render });
98
- }
84
+ return new Promise((resolve) => {
85
+ const vm = OverlayContainer.createVueApp({
86
+ mounted() {
87
+ self.modal = this.$refs.root;
88
+ resolve();
89
+ },
90
+ unmounted() {
91
+ document.body.removeChild(container);
92
+ self.evt.emit("dismiss", self.result);
93
+ },
94
+ render() {
95
+ return h(self.component, {
96
+ ref: "root",
97
+ opts,
98
+ onDismiss(data) {
99
+ self.result = data;
100
+ vm.unmount();
101
+ }
102
+ }, { default: render });
103
+ }
104
+ });
105
+ vm.mount(container);
106
+ this.vm = vm;
99
107
  });
100
- vm.mount(container);
101
- this.vm = vm;
102
108
  }
103
109
  /**
104
110
  * 打开飘窗
@@ -109,7 +115,6 @@ var OverlayContainer = class OverlayContainer {
109
115
  */
110
116
  async present() {
111
117
  await this._initPromise;
112
- await nextTick();
113
118
  return this.modal.present();
114
119
  }
115
120
  /**
@@ -0,0 +1,50 @@
1
+ import { FIELD_TYPE } from '../enums';
2
+ /** 动态类型 */
3
+ export declare enum DYN_FORMAT_TYPE_ENUM {
4
+ /** 申请人直属上级 */
5
+ DYN_SUBMITTER_MANAGER = "DYN_SUBMITTER_MANAGER",
6
+ /** 申请人部门负责人 */
7
+ DYN_SUBMITTER_DEPT_PRINCIPAL = "DYN_SUBMITTER_DEPT_PRINCIPAL",
8
+ /** 指定人员字段 */
9
+ DYN_MODEL_USERS = "DYN_MODEL_USERS",
10
+ /** 指定人员字段直属上级 */
11
+ DYN_MODEL_USER_MANAGER = "DYN_MODEL_USER_MANAGER",
12
+ /** 指定部门负责人 */
13
+ DYN_DEPT_PRINCIPAL = "DYN_DEPT_PRINCIPAL",
14
+ /** 指定部门字段 */
15
+ DYN_MODEL_ORG = "DYN_MODEL_ORG",
16
+ /** 指定部门字段负责人 */
17
+ DYN_MODEL_DEPT_PRINCIPAL = "DYN_MODEL_DEPT_PRINCIPAL"
18
+ }
19
+ export declare const DynFormatTypes: DYN_FORMAT_TYPE_ENUM[];
20
+ export declare const filterDynFormatTypes: string[];
21
+ export declare const dynamicData: ({
22
+ id: string;
23
+ formatId: DYN_FORMAT_TYPE_ENUM;
24
+ name: string;
25
+ desc: string;
26
+ panelKey?: undefined;
27
+ showPanel?: undefined;
28
+ panelType?: undefined;
29
+ } | {
30
+ id: string;
31
+ formatId: DYN_FORMAT_TYPE_ENUM;
32
+ name: string;
33
+ desc: string;
34
+ showPanel: boolean;
35
+ panelType: string;
36
+ panelKey: FIELD_TYPE[];
37
+ } | {
38
+ panelKey?: undefined;
39
+ id: string;
40
+ formatId: DYN_FORMAT_TYPE_ENUM;
41
+ name: string;
42
+ desc: string;
43
+ showPanel: boolean;
44
+ panelType: string;
45
+ })[];
46
+ export declare function list2Tree(list: IObject[]): IObject[];
47
+ export declare function highlightName(str: string, searchValue?: string): string | null;
48
+ export declare const filterTree: (tree: IObject[], searchValue: string) => IObject[];
49
+ export declare const findUniqueNode: (tree: IObject[], tid: string) => IObject | null;
50
+ export declare function showDynamicTitle(id: string, name: string): string;
@@ -0,0 +1,129 @@
1
+ import { FIELD_TYPE } from "../enums/appEnum.mjs";
2
+ import "../enums/index.mjs";
3
+ import { cloneDeep } from "lodash-es";
4
+ //#region src/utils/select-user-utils.ts
5
+ /** 动态类型 */
6
+ var DYN_FORMAT_TYPE_ENUM = /* @__PURE__ */ function(DYN_FORMAT_TYPE_ENUM) {
7
+ /** 申请人直属上级 */
8
+ DYN_FORMAT_TYPE_ENUM["DYN_SUBMITTER_MANAGER"] = "DYN_SUBMITTER_MANAGER";
9
+ /** 申请人部门负责人 */
10
+ DYN_FORMAT_TYPE_ENUM["DYN_SUBMITTER_DEPT_PRINCIPAL"] = "DYN_SUBMITTER_DEPT_PRINCIPAL";
11
+ /** 指定人员字段 */
12
+ DYN_FORMAT_TYPE_ENUM["DYN_MODEL_USERS"] = "DYN_MODEL_USERS";
13
+ /** 指定人员字段直属上级 */
14
+ DYN_FORMAT_TYPE_ENUM["DYN_MODEL_USER_MANAGER"] = "DYN_MODEL_USER_MANAGER";
15
+ /** 指定部门负责人 */
16
+ DYN_FORMAT_TYPE_ENUM["DYN_DEPT_PRINCIPAL"] = "DYN_DEPT_PRINCIPAL";
17
+ /** 指定部门字段 */
18
+ DYN_FORMAT_TYPE_ENUM["DYN_MODEL_ORG"] = "DYN_MODEL_ORG";
19
+ /** 指定部门字段负责人 */
20
+ DYN_FORMAT_TYPE_ENUM["DYN_MODEL_DEPT_PRINCIPAL"] = "DYN_MODEL_DEPT_PRINCIPAL";
21
+ return DYN_FORMAT_TYPE_ENUM;
22
+ }({});
23
+ var DynFormatTypes = Object.values(DYN_FORMAT_TYPE_ENUM);
24
+ var filterDynFormatTypes = Object.values(DYN_FORMAT_TYPE_ENUM).filter((item) => ![DYN_FORMAT_TYPE_ENUM.DYN_SUBMITTER_MANAGER, DYN_FORMAT_TYPE_ENUM.DYN_SUBMITTER_DEPT_PRINCIPAL].includes(item)).map((type) => `${type}:current`);
25
+ var dynamicData = [
26
+ {
27
+ id: "currentDs",
28
+ formatId: DYN_FORMAT_TYPE_ENUM.DYN_SUBMITTER_MANAGER,
29
+ name: "申请人直属上级",
30
+ desc: "可将申请人直属上级设为节点处理人"
31
+ },
32
+ {
33
+ id: "currentDeptDs",
34
+ formatId: DYN_FORMAT_TYPE_ENUM.DYN_SUBMITTER_DEPT_PRINCIPAL,
35
+ name: "申请人部门负责人",
36
+ desc: "可将申请人所在部门负责人设为节点处理人"
37
+ },
38
+ {
39
+ id: "userField",
40
+ formatId: DYN_FORMAT_TYPE_ENUM.DYN_MODEL_USERS,
41
+ name: "指定人员字段",
42
+ desc: "字段所选用户作为节点处理人",
43
+ showPanel: true,
44
+ panelType: "area",
45
+ panelKey: [FIELD_TYPE.USER, FIELD_TYPE.USER_MULTI]
46
+ },
47
+ {
48
+ id: "userFieldDs",
49
+ formatId: DYN_FORMAT_TYPE_ENUM.DYN_MODEL_USER_MANAGER,
50
+ name: "指定人员字段直属上级",
51
+ desc: "字段所选用户的直属上级为节点处理人",
52
+ showPanel: true,
53
+ panelType: "area",
54
+ panelKey: [FIELD_TYPE.USER, FIELD_TYPE.USER_MULTI]
55
+ },
56
+ {
57
+ id: "orgDs",
58
+ formatId: DYN_FORMAT_TYPE_ENUM.DYN_DEPT_PRINCIPAL,
59
+ name: "指定部门负责人",
60
+ desc: "所选部门负责人作为节点处理人",
61
+ showPanel: true,
62
+ panelType: "select"
63
+ },
64
+ {
65
+ id: "orgFieldDs",
66
+ formatId: DYN_FORMAT_TYPE_ENUM.DYN_MODEL_DEPT_PRINCIPAL,
67
+ name: "指定部门字段负责人",
68
+ desc: "字段所选部门负责人作为节点处理人",
69
+ showPanel: true,
70
+ panelType: "area",
71
+ panelKey: [FIELD_TYPE.ORG, FIELD_TYPE.ORG_MULTI]
72
+ }
73
+ ];
74
+ function list2Tree(list) {
75
+ const treeOptions = [];
76
+ const arrClone = cloneDeep(list);
77
+ const mapInfo = arrClone.reduce((obj, item) => {
78
+ item.children = [];
79
+ obj[item.id] = item;
80
+ return obj;
81
+ }, {});
82
+ arrClone.forEach((i) => {
83
+ const parent = mapInfo[i.parentId];
84
+ if (parent) parent.children.push(i);
85
+ else treeOptions.push(i);
86
+ });
87
+ return treeOptions;
88
+ }
89
+ function highlightName(str, searchValue = "") {
90
+ const displayName = str;
91
+ const rDisplayName = displayName?.replace(new RegExp(searchValue?.replace(/* @__PURE__ */ new RegExp(/(?=[$.?+[\]*^|\\(){}/])/g), "\\"), "g"), (s) => `<span class="is-highlight">${s}</span>`);
92
+ if (rDisplayName === displayName) return null;
93
+ return rDisplayName;
94
+ }
95
+ var filterTree = (tree, searchValue) => {
96
+ return tree.map((node) => {
97
+ if (node.children) {
98
+ const filteredChildren = filterTree(node.children, searchValue);
99
+ if (filteredChildren.length > 0) return {
100
+ ...node,
101
+ children: filteredChildren
102
+ };
103
+ }
104
+ const hlName = highlightName(node.name, searchValue);
105
+ if (hlName) return {
106
+ ...node,
107
+ highlightName: hlName
108
+ };
109
+ return null;
110
+ }).filter((node) => node !== null);
111
+ };
112
+ var findUniqueNode = (tree, tid) => {
113
+ for (const node of tree) {
114
+ if (node.id === tid) return node;
115
+ if (node.children) {
116
+ const foundNode = findUniqueNode(node.children, tid);
117
+ if (foundNode) return foundNode;
118
+ }
119
+ }
120
+ return null;
121
+ };
122
+ function showDynamicTitle(id, name) {
123
+ if (id.includes(DYN_FORMAT_TYPE_ENUM.DYN_MODEL_USER_MANAGER)) return `${name}:直属上级`;
124
+ if (id.includes(DYN_FORMAT_TYPE_ENUM.DYN_DEPT_PRINCIPAL)) return `${name}:负责人`;
125
+ if (id.includes(DYN_FORMAT_TYPE_ENUM.DYN_MODEL_DEPT_PRINCIPAL)) return `${name}:负责人`;
126
+ return name;
127
+ }
128
+ //#endregion
129
+ export { DYN_FORMAT_TYPE_ENUM, DynFormatTypes, dynamicData, filterDynFormatTypes, filterTree, findUniqueNode, highlightName, list2Tree, showDynamicTitle };
@@ -1,3 +1,5 @@
1
+ import { Ref } from 'vue';
2
+ export declare const tenantRef: Readonly<Ref<string>>;
1
3
  /**
2
4
  * 获取认证令牌
3
5
  *
@@ -23,9 +25,9 @@ export declare function getTenant(): string | null;
23
25
  * 设置租户标识至 cookie
24
26
  *
25
27
  * @export
26
- * @param {string} tenant
28
+ * @param {string} [tenant]
27
29
  */
28
- export declare function setTenant(tenant: string): void;
30
+ export declare function setTenant(tenant?: string): void;
29
31
  /**
30
32
  * 是否为移动端设备
31
33
  */
@@ -2,9 +2,25 @@ import { CoreConst } from "../../constants/core.mjs";
2
2
  import "../../constants/index.mjs";
3
3
  import qs from "qs";
4
4
  import { cloneDeep, isEqual, mergeWith, unionWith } from "lodash-es";
5
+ import { customRef, readonly } from "vue";
5
6
  import { clearCookie, getCookie, setCookie } from "qx-util";
6
7
  //#region src/utils/tools/tools.ts
7
8
  /**
9
+ * 租户 cookie 双向绑定响应式引用:get 直接读 cookie,set 直接写 cookie
10
+ */
11
+ var _tenantRef = customRef((track, trigger) => ({
12
+ get() {
13
+ track();
14
+ return getCookie(CoreConst.TENANT) || "";
15
+ },
16
+ set(value) {
17
+ if (value) setCookie(CoreConst.TENANT, value, 7, true);
18
+ else clearCookie(CoreConst.TENANT, true);
19
+ trigger();
20
+ }
21
+ }));
22
+ var tenantRef = readonly(_tenantRef);
23
+ /**
8
24
  * 获取认证令牌
9
25
  *
10
26
  * @export
@@ -30,17 +46,16 @@ function setToken(token) {
30
46
  * @returns {*} {(string | null)}
31
47
  */
32
48
  function getTenant() {
33
- return getCookie(CoreConst.TENANT);
49
+ return _tenantRef.value || null;
34
50
  }
35
51
  /**
36
52
  * 设置租户标识至 cookie
37
53
  *
38
54
  * @export
39
- * @param {string} tenant
55
+ * @param {string} [tenant]
40
56
  */
41
57
  function setTenant(tenant) {
42
- if (tenant) setCookie(CoreConst.TENANT, tenant, 7, true);
43
- else clearCookie(CoreConst.TENANT, true);
58
+ _tenantRef.value = tenant || "";
44
59
  }
45
60
  /**
46
61
  * 是否为移动端设备
@@ -140,4 +155,4 @@ function createWhiteImageWithText(name, width, height) {
140
155
  return canvas.toDataURL("image/png");
141
156
  }
142
157
  //#endregion
143
- export { createWhiteImageWithText, deepMerge, getTenant, getToken, isMobile, parseMatrixParams, setTenant, setToken, stringifyMatrixParams };
158
+ export { createWhiteImageWithText, deepMerge, getTenant, getToken, isMobile, parseMatrixParams, setTenant, setToken, stringifyMatrixParams, tenantRef };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gct-paas/core",
3
- "version": "0.1.6-dev.2",
3
+ "version": "0.1.6-dev.21",
4
4
  "type": "module",
5
5
  "description": "paas 平台核心包",
6
6
  "loader": "dist/index.esm.min.js",
@@ -33,7 +33,7 @@
33
33
  "dependencies": {
34
34
  "@fingerprintjs/fingerprintjs": "^5.1.0",
35
35
  "@floating-ui/dom": "^1.7.6",
36
- "@gct-paas/api": "^0.1.4-dev.4",
36
+ "@gct-paas/api": "^0.1.6-dev.14",
37
37
  "@module-federation/runtime": "^2.2.3",
38
38
  "@vueuse/core": "^14.1.0",
39
39
  "async-validator": "^4.2.5",
@@ -58,7 +58,7 @@
58
58
  "playwright": "^1.58.0"
59
59
  },
60
60
  "peerDependencies": {
61
- "@gct-paas/api": "^0.1.4-dev.4",
61
+ "@gct-paas/api": "^0.1.6-dev.14",
62
62
  "vue": ">=3",
63
63
  "vue-i18n": ">=11",
64
64
  "vue-router": ">=4"