@gct-paas/core-web 0.1.6-dev.13 → 0.1.6-dev.15
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/ColorPicker-uRTV30Ek.js +2 -0
- package/dist/{JsBarcode-CkSVrI0z.js → JsBarcode-COunfKNO.js} +2 -2
- package/dist/_plugin-vue_export-helper-DMiyj2_E.js +2 -0
- package/dist/{chunk-D1LDEFO_.js → chunk-CeX__g8u.js} +1 -1
- package/dist/components-DAMtsLWz.js +2 -0
- package/dist/{cropper-CcL8P4K3.js → cropper-CVnZnyhI.js} +2 -2
- package/dist/{de_DE-BonpXjJw.js → de_DE-CXxQwKMQ.js} +2 -2
- package/dist/{defineProperty-tSd202sJ.js → defineProperty-DDBtkzz5.js} +1 -1
- package/dist/{diagram-config-item-BFvG5IjZ.js → diagram-config-item-Bmn1dfVu.js} +2 -2
- package/dist/{diagram-config-item-reverse-1SSShP8k.js → diagram-config-item-reverse-2DZGf6tV.js} +2 -2
- package/dist/{diagram-config-item-virtual-CxQ58yTq.js → diagram-config-item-virtual-BcVn7C3j.js} +2 -2
- package/dist/{en_US-DkxJ-rk9.js → en_US-3Q4NcT39.js} +2 -2
- package/dist/{es_ES-BitMJLTU.js → es_ES-C93EhKUt.js} +2 -2
- package/dist/event-B7FDoAwS.js +2 -0
- package/dist/event-BG4yEFkW.js +2 -0
- package/dist/event-config-BX4ZNl-X.js +2 -0
- package/dist/event-l3QZLg2C.js +2 -0
- package/dist/field-permission-GbxXo2GX.js +2 -0
- package/dist/{fr_FR-DAZpsfvM.js → fr_FR-D2dS74tH.js} +2 -2
- package/dist/global-modal-b7mA5_Bp.js +2 -0
- package/dist/{hooks-maWYvMj-.js → hooks-Dlci7Y_k.js} +2 -2
- package/dist/{icon-next-picker-Bt6QZ66P.js → icon-next-picker-C0xMEvp7.js} +1 -1
- package/dist/index.min.css +1 -1
- package/dist/{ja_JP-CIcQQm1L.js → ja_JP-C7ON9ru7.js} +2 -2
- package/dist/loader.esm.min.js +2 -2
- package/dist/monaco-editor-BcDFov5A.js +2 -0
- package/dist/node-basic-info-wXj70byk.js +2 -0
- package/dist/node-binding-page-BPi81gHU.js +2 -0
- package/dist/node-btns-BZZkBDUc.js +2 -0
- package/dist/{objectSpread2-DeotLrT4.js → objectSpread2-C8eu0aH8.js} +1 -1
- package/dist/{overlayscrollbars-vue-HVM3DHXk.js → overlayscrollbars-vue-CaFsDgU3.js} +1 -1
- package/dist/paas-bpmn-runtime-DYHPmrd-.js +2 -0
- package/dist/perm-CYQVUPZR.js +2 -0
- package/dist/perm-Dhu5vcqq.js +2 -0
- package/dist/process-designer-CoCJM0jR.js +2 -0
- package/dist/prop-9RS10yk0.js +2 -0
- package/dist/prop-B8lmM6h4.js +2 -0
- package/dist/prop-CXaVOYud.js +2 -0
- package/dist/prop-CrNWtARu.js +2 -0
- package/dist/prop-DuAVrO3B.js +2 -0
- package/dist/prop-LtDc8or1.js +2 -0
- package/dist/prop-f5r9vRs4.js +2 -0
- package/dist/{pt_PT-B4kUZocw.js → pt_PT-8ZpsbQuO.js} +2 -2
- package/dist/{relationship-diagram-config-Oi6IFq_Z.js → relationship-diagram-config-TD_kmHSY.js} +2 -2
- package/dist/{rich-editor-DKSGWBIn.js → rich-editor-Zvvtfl11.js} +2 -2
- package/dist/{ru_RU-BViYpX2a.js → ru_RU-ClPC9fIj.js} +2 -2
- package/dist/select-script-B5aeNjn5.js +2 -0
- package/dist/simple-collapse-Cwn3DXVw.js +2 -0
- package/dist/template-C0L8wwo4.js +2 -0
- package/dist/{tr_TR-Cvm6EFzH.js → tr_TR-IdN74S9H.js} +2 -2
- package/dist/{useMonacoEditor-CRl-gMAu.js → useMonacoEditor-C73zvdQc.js} +2 -2
- package/dist/useProcess-CSoUgJu4.js +2 -0
- package/dist/utils-1hIMq32P.js +2 -0
- package/dist/{vi_VN-CpLtV30G.js → vi_VN-5jRSXykJ.js} +2 -2
- package/dist/{zh_CN-6cdpsm7m.js → zh_CN-BOOnrmuK.js} +2 -2
- package/dist/{zh_TW-DLunK-9B.js → zh_TW-BeWiTMnz.js} +2 -2
- package/es/components/BpmnRuntime/index.d.ts +5 -2
- package/es/components/BpmnRuntime/index.mjs +5 -1
- package/es/components/UserPick/src/user-pick.vue.mjs +2 -2
- package/es/components/UserPick/src/user-pick.vue_vue_type_script_setup_true_lang.mjs +16 -18
- package/es/components/UserPick/src/user-pick.vue_vue_type_style_index_0_scoped_9902632a_lang.css +62 -0
- package/es/components/index.mjs +0 -1
- package/es/components/monaco-editor/monaco-editor.d.ts +22 -0
- package/es/components/overlay-scrollbars/gct-overlay-scrollbars.d.ts +2 -3
- package/es/components/select-user-modal/select-user-modal.vue.mjs +2 -2
- package/es/components/select-user-modal/select-user-modal.vue_vue_type_style_index_0_scoped_8316b821_lang.css +14 -0
- package/es/create-app-vue.mjs +1 -1
- package/es/hooks/index.d.ts +2 -0
- package/es/hooks/index.mjs +2 -0
- package/es/hooks/useKeyParser.d.ts +16 -0
- package/es/hooks/useKeyParser.mjs +79 -0
- package/es/hooks/useTreeList.d.ts +23 -0
- package/es/hooks/useTreeList.mjs +160 -0
- package/es/index.d.ts +1 -0
- package/es/index.mjs +7 -2
- package/es/locale/sys/appDesigner.d.ts +20 -0
- package/es/locale/sys/component.d.ts +7 -1
- package/es/locale/sys/edhr.d.ts +5 -0
- package/es/locale/sys/expression.d.ts +4 -0
- package/es/locale/sys/i18n.d.ts +1 -1
- package/es/locale/sys/model.d.ts +2 -1
- package/es/locale/sys/onlineForm.d.ts +5 -0
- package/es/locale/sys/org.d.ts +2 -2
- package/es/locale/sys/pageDesigner.d.ts +41 -0
- package/es/locale/sys/printDesigner.d.ts +9 -0
- package/es/locale/sys/webRender.d.ts +25 -0
- package/es/locale/sys.d.ts +32 -5
- package/es/modules/category/category-sider.vue.d.ts +2 -2
- package/es/modules/category/category-sider.vue.mjs +2 -2
- package/es/modules/category/{category-sider.vue_vue_type_style_index_0_scoped_5af8c1ba_lang.css → category-sider.vue_vue_type_style_index_0_scoped_5b8c3a8d_lang.css} +33 -33
- package/es/modules/data-rules-container/index.d.ts +2 -0
- package/es/modules/data-rules-container/index.mjs +2 -0
- package/es/modules/data-rules-container/src/components/perm-action-node.vue.d.ts +1 -1
- package/es/modules/data-rules-container/src/components/perm-action-node.vue.mjs +2 -2
- package/es/modules/data-rules-container/src/components/{perm-action-node.vue_vue_type_style_index_0_scoped_417c660f_lang.css → perm-action-node.vue_vue_type_style_index_0_scoped_a053095c_lang.css} +17 -17
- package/es/modules/data-rules-container/src/components/tree-action-node.vue.d.ts +1 -1
- package/es/modules/data-rules-container/src/components/tree-action-node.vue.mjs +2 -2
- package/es/modules/data-rules-container/src/components/{tree-action-node.vue_vue_type_style_index_0_scoped_46368089_lang.css → tree-action-node.vue_vue_type_style_index_0_scoped_f37ec578_lang.css} +16 -16
- package/es/modules/data-rules-container/src/components/tree-root-node.vue.mjs +2 -2
- package/es/modules/data-rules-container/src/components/tree-root-node.vue_vue_type_script_setup_true_name_tree-root-node_lang.mjs +5 -2
- package/es/modules/data-rules-container/src/components/{tree-root-node.vue_vue_type_style_index_0_scoped_37e323fb_lang.css → tree-root-node.vue_vue_type_style_index_0_scoped_74e5fbf3_lang.css} +8 -8
- package/es/modules/data-rules-container/src/constant/config.mjs +1 -1
- package/es/modules/data-rules-container/src/constant/interface.mjs +115 -2
- package/es/modules/data-rules-container/src/typing.d.ts +1 -1
- package/es/modules/gct-form/interface/i-form/i-form-item-basic.d.ts +8 -0
- package/es/modules/gct-table/editor/gct-table-date/gct-table-date.mjs +1 -1
- package/es/modules/gct-table/editor/gct-table-text/gct-table-text.mjs +1 -1
- package/es/modules/global-modal/src/BasicModal.vue.d.ts +56 -2
- package/es/modules/global-modal/src/components/ModalWrapper.vue.d.ts +28 -1
- package/es/modules/global-modal/src/components/ModalWrapper.vue_vue_type_script_lang.mjs +2 -0
- package/es/modules/process-designer/components/event-config.vue.mjs +7 -0
- package/es/modules/process-designer/components/event-config.vue_vue_type_script_setup_true_lang.mjs +128 -0
- package/es/modules/process-designer/components/event-config.vue_vue_type_style_index_0_scoped_572d5ffd_lang.css +15 -0
- package/es/modules/process-designer/components/field-permission.vue.mjs +7 -0
- package/es/modules/process-designer/components/field-permission.vue_vue_type_script_setup_true_lang.mjs +206 -0
- package/es/modules/process-designer/components/field-permission.vue_vue_type_style_index_0_scoped_d8767690_lang.css +46 -0
- package/es/modules/process-designer/components/form-item.vue.mjs +7 -0
- package/es/modules/process-designer/components/form-item.vue_vue_type_script_setup_true_name_form-item_lang.mjs +61 -0
- package/es/modules/process-designer/components/form-item.vue_vue_type_style_index_0_scoped_7fbde61b_lang.css +37 -0
- package/es/modules/process-designer/components/node-basic-info.vue.mjs +5 -0
- package/es/modules/process-designer/components/node-basic-info.vue_vue_type_script_setup_true_lang.mjs +87 -0
- package/es/modules/process-designer/components/node-binding-page.vue.mjs +7 -0
- package/es/modules/process-designer/components/node-binding-page.vue_vue_type_script_setup_true_lang.mjs +348 -0
- package/es/modules/process-designer/components/node-binding-page.vue_vue_type_style_index_0_scoped_9c31c6c8_lang.css +4 -0
- package/es/modules/process-designer/components/node-btns.vue.mjs +7 -0
- package/es/modules/process-designer/components/node-btns.vue_vue_type_script_setup_true_lang.mjs +170 -0
- package/es/modules/process-designer/components/node-btns.vue_vue_type_style_index_0_scoped_6d0b3f3b_lang.css +8 -0
- package/es/modules/process-designer/components/select-script.vue.mjs +5 -0
- package/es/modules/process-designer/components/select-script.vue_vue_type_script_setup_true_lang.mjs +143 -0
- package/es/modules/process-designer/components/simple-collapse.vue.mjs +7 -0
- package/es/modules/process-designer/components/simple-collapse.vue_vue_type_script_setup_true_lang.mjs +36 -0
- package/es/modules/process-designer/components/simple-collapse.vue_vue_type_style_index_0_scoped_27ea34cc_lang.css +28 -0
- package/es/modules/process-designer/constants/index.d.ts +12 -0
- package/es/modules/process-designer/constants/index.mjs +88 -0
- package/es/modules/process-designer/design/bmpn-panel.vue.d.ts +10 -0
- package/es/modules/process-designer/design/bmpn-panel.vue.mjs +7 -0
- package/es/modules/process-designer/design/bmpn-panel.vue_vue_type_script_setup_true_lang.mjs +93 -0
- package/es/modules/process-designer/design/bmpn-panel.vue_vue_type_style_index_0_scoped_eba73224_lang.css +140 -0
- package/es/modules/process-designer/design/bpmn-global.vue.d.ts +2 -0
- package/es/modules/process-designer/design/bpmn-global.vue.mjs +7 -0
- package/es/modules/process-designer/design/bpmn-global.vue_vue_type_script_setup_true_lang.mjs +16 -0
- package/es/modules/process-designer/design/bpmn-global.vue_vue_type_style_index_0_scoped_c9d6d005_lang.css +7 -0
- package/es/modules/process-designer/design/bpmn-header.vue.d.ts +2 -0
- package/es/modules/process-designer/design/bpmn-header.vue.mjs +7 -0
- package/es/modules/process-designer/design/bpmn-header.vue_vue_type_script_setup_true_lang.mjs +39 -0
- package/es/modules/process-designer/design/bpmn-header.vue_vue_type_style_index_0_scoped_92044d4c_lang.css +37 -0
- package/es/modules/process-designer/design/bpmn-versions.vue.d.ts +2 -0
- package/es/modules/process-designer/design/bpmn-versions.vue.mjs +7 -0
- package/es/modules/process-designer/design/bpmn-versions.vue_vue_type_script_setup_true_lang.mjs +99 -0
- package/es/modules/process-designer/design/bpmn-versions.vue_vue_type_style_index_0_scoped_c8252604_lang.css +96 -0
- package/es/modules/process-designer/hook/useProcess.d.ts +663 -0
- package/es/modules/process-designer/hook/useProcess.mjs +340 -0
- package/es/modules/process-designer/index.d.ts +7 -0
- package/es/modules/process-designer/index.mjs +5 -0
- package/es/modules/process-designer/panels/bpmnApproval/event.vue.mjs +5 -0
- package/es/modules/process-designer/panels/bpmnApproval/event.vue_vue_type_script_setup_true_lang.mjs +14 -0
- package/es/modules/process-designer/panels/bpmnApproval/perm.vue.mjs +5 -0
- package/es/modules/process-designer/panels/bpmnApproval/perm.vue_vue_type_script_setup_true_lang.mjs +18 -0
- package/es/modules/process-designer/panels/bpmnApproval/prop.vue.mjs +5 -0
- package/es/modules/process-designer/panels/bpmnApproval/prop.vue_vue_type_script_setup_true_lang.mjs +167 -0
- package/es/modules/process-designer/panels/bpmnEnd/prop.vue.mjs +5 -0
- package/es/modules/process-designer/panels/bpmnEnd/prop.vue_vue_type_script_setup_true_lang.mjs +32 -0
- package/es/modules/process-designer/panels/bpmnJoin/prop.vue.mjs +5 -0
- package/es/modules/process-designer/panels/bpmnJoin/prop.vue_vue_type_script_setup_true_lang.mjs +32 -0
- package/es/modules/process-designer/panels/bpmnJs/prop.vue.mjs +5 -0
- package/es/modules/process-designer/panels/bpmnJs/prop.vue_vue_type_script_setup_true_lang.mjs +73 -0
- package/es/modules/process-designer/panels/bpmnMessage/prop.vue.mjs +5 -0
- package/es/modules/process-designer/panels/bpmnMessage/prop.vue_vue_type_script_setup_true_lang.mjs +92 -0
- package/es/modules/process-designer/panels/bpmnSubmit/event.vue.mjs +5 -0
- package/es/modules/process-designer/panels/bpmnSubmit/event.vue_vue_type_script_setup_true_lang.mjs +14 -0
- package/es/modules/process-designer/panels/bpmnSubmit/perm.vue.mjs +5 -0
- package/es/modules/process-designer/panels/bpmnSubmit/perm.vue_vue_type_script_setup_true_lang.mjs +18 -0
- package/es/modules/process-designer/panels/bpmnSubmit/prop.vue.mjs +5 -0
- package/es/modules/process-designer/panels/bpmnSubmit/prop.vue_vue_type_script_setup_true_lang.mjs +47 -0
- package/es/modules/process-designer/panels/global/event.vue.mjs +5 -0
- package/es/modules/process-designer/panels/global/event.vue_vue_type_script_setup_true_lang.mjs +14 -0
- package/es/modules/process-designer/panels/global/prop.vue.mjs +5 -0
- package/es/modules/process-designer/panels/global/prop.vue_vue_type_script_setup_true_lang.mjs +193 -0
- package/es/modules/process-designer/panels/index.d.ts +4 -0
- package/es/modules/process-designer/panels/index.mjs +37 -0
- package/es/modules/process-designer/process-designer.vue.d.ts +6 -0
- package/es/modules/process-designer/process-designer.vue.mjs +6 -0
- package/es/modules/process-designer/process-designer.vue_vue_type_script_setup_true_lang.mjs +69 -0
- package/es/modules/process-designer/process-designer.vue_vue_type_style_index_0_lang.css +98 -0
- package/es/modules/process-designer/types/index.d.ts +105 -0
- package/package.json +9 -8
- package/dist/ColorPicker-BsnzQnG7.js +0 -2
- package/dist/_plugin-vue_export-helper-BJPvQFvv.js +0 -2
- package/dist/monaco-editor-DPeAflHE.js +0 -2
- package/dist/template-EQWAOU4W.js +0 -2
- package/es/components/UserPick/src/user-pick.vue_vue_type_style_index_0_scoped_a49a84da_lang.css +0 -39
- package/es/components/select-user-modal/select-user-modal.vue_vue_type_style_index_0_scoped_2c0f184c_lang.css +0 -14
- /package/es/modules/gct-table/editor/{gct-table-text/gct-table-text.css → gct-table-date/gct-table-date.css} +0 -0
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
import { t } from "@gct-paas/core";
|
|
2
2
|
//#region src/modules/data-rules-container/src/constant/interface.ts
|
|
3
|
+
/**
|
|
4
|
+
* 搜索类型
|
|
5
|
+
* @alias USER_GROUP 用户组
|
|
6
|
+
* @alias MEMBER 成员
|
|
7
|
+
* @alias ROLE 角色
|
|
8
|
+
* @alias MODEL 模型
|
|
9
|
+
*/
|
|
10
|
+
var SearchTypeEnum = /* @__PURE__ */ function(SearchTypeEnum) {
|
|
11
|
+
/** 用户组 */
|
|
12
|
+
SearchTypeEnum["USER_GROUP"] = "USER_GROUP";
|
|
13
|
+
/** 成员 */
|
|
14
|
+
SearchTypeEnum["MEMBER"] = "MEMBER";
|
|
15
|
+
/** 角色 */
|
|
16
|
+
SearchTypeEnum["ROLE"] = "ROLE";
|
|
17
|
+
/** 模型 */
|
|
18
|
+
SearchTypeEnum["MODEL"] = "MODEL";
|
|
19
|
+
return SearchTypeEnum;
|
|
20
|
+
}({});
|
|
21
|
+
var ModalTypeEnum = /* @__PURE__ */ function(ModalTypeEnum) {
|
|
22
|
+
/** 新建 */
|
|
23
|
+
ModalTypeEnum["Create"] = "create";
|
|
24
|
+
/** 编辑 */
|
|
25
|
+
ModalTypeEnum["Edit"] = "edit";
|
|
26
|
+
/** 删除 */
|
|
27
|
+
ModalTypeEnum["Delete"] = "delete";
|
|
28
|
+
return ModalTypeEnum;
|
|
29
|
+
}({});
|
|
3
30
|
/** 用户组关联关系 */
|
|
4
31
|
var RelationTypeEnum = /* @__PURE__ */ function(RelationTypeEnum) {
|
|
5
32
|
/** 部门 */
|
|
@@ -16,7 +43,38 @@ var RelationTypeEnum = /* @__PURE__ */ function(RelationTypeEnum) {
|
|
|
16
43
|
RelationTypeEnum["PERMISSION_SCOPE"] = "PERMISSION_SCOPE";
|
|
17
44
|
return RelationTypeEnum;
|
|
18
45
|
}({});
|
|
19
|
-
|
|
46
|
+
var DataTypeOptions = [
|
|
47
|
+
{
|
|
48
|
+
label: t("sys.appDesigner.physicalBusinessModel"),
|
|
49
|
+
value: RelationTypeEnum.ENTITY_MODEL_DATA
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
label: t("sys.appDesigner.builtinConditionalModel"),
|
|
53
|
+
value: RelationTypeEnum.BUILT_CONDITION_MODEL
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
label: t("sys.appDesigner.permissionScope"),
|
|
57
|
+
value: RelationTypeEnum.PERMISSION_SCOPE
|
|
58
|
+
}
|
|
59
|
+
];
|
|
60
|
+
/**
|
|
61
|
+
* 数据权限设置模态框tab枚举
|
|
62
|
+
* @alias TAB_DATA_RULES 数据规则
|
|
63
|
+
* @alias TAB_FIELD_ROLE 字段权限
|
|
64
|
+
* @alias TAB_BUILT_PREM 内置权限
|
|
65
|
+
* @alias TAB_PERM_SCOPE 权限作用域
|
|
66
|
+
*/
|
|
67
|
+
var DataRoleSetTabsEnum = /* @__PURE__ */ function(DataRoleSetTabsEnum) {
|
|
68
|
+
/** 数据规则 */
|
|
69
|
+
DataRoleSetTabsEnum["TAB_DATA_RULES"] = "tab_data_rules";
|
|
70
|
+
/** 字段权限 */
|
|
71
|
+
DataRoleSetTabsEnum["TAB_FIELD_ROLE"] = "tab_field_role";
|
|
72
|
+
/** 内置权限 */
|
|
73
|
+
DataRoleSetTabsEnum["TAB_BUILT_PREM"] = "tab_built_prem";
|
|
74
|
+
/** */
|
|
75
|
+
DataRoleSetTabsEnum["TAB_PERM_SCOPE"] = "tab_perm_scope";
|
|
76
|
+
return DataRoleSetTabsEnum;
|
|
77
|
+
}({});
|
|
20
78
|
var OperatorTypeEnum = /* @__PURE__ */ function(OperatorTypeEnum) {
|
|
21
79
|
/** 与 */
|
|
22
80
|
OperatorTypeEnum["AND"] = "AND";
|
|
@@ -32,5 +90,60 @@ var Ch_Perm_Operator = {
|
|
|
32
90
|
[OperatorTypeEnum.AND]: t("sys.webRender.allCondition"),
|
|
33
91
|
[OperatorTypeEnum.OR]: t("sys.webRender.anyCondition")
|
|
34
92
|
};
|
|
93
|
+
/** 获取tree层级 */
|
|
94
|
+
var calcTreeChildLevel = (nodeData) => {
|
|
95
|
+
if (!nodeData || Array.isArray(nodeData) && nodeData.length === 0) return 0;
|
|
96
|
+
const res = new Array(nodeData.length).fill(0);
|
|
97
|
+
nodeData.forEach((v, i) => {
|
|
98
|
+
res[i] += 1;
|
|
99
|
+
if (Array.isArray(v.children)) res[i] += v.children.length ? calcTreeChildLevel(v.children) : 1;
|
|
100
|
+
});
|
|
101
|
+
return Math.max(...res);
|
|
102
|
+
};
|
|
103
|
+
/** 递归查找是否存在树结构中的值 */
|
|
104
|
+
var findTreePathById = (leafId, nodes) => {
|
|
105
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
106
|
+
if (leafId === nodes[i].id) return nodes[i];
|
|
107
|
+
if (nodes[i].children) {
|
|
108
|
+
const findResult = findTreePathById(leafId, nodes[i].children);
|
|
109
|
+
if (findResult) return findResult;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return null;
|
|
113
|
+
};
|
|
114
|
+
var dropNode = (info, treeList) => {
|
|
115
|
+
const { dragNode, node } = info;
|
|
116
|
+
const dragNodeProps = dragNode.dataRef;
|
|
117
|
+
const nodeProps = node.dataRef;
|
|
118
|
+
const dropPos = info.node.pos.split("-");
|
|
119
|
+
const dropLength = Number(dropPos[dropPos.length - 1]);
|
|
120
|
+
const dropPosition = info.dropPosition - dropLength;
|
|
121
|
+
const nodeLevel = nodeProps.fullPath.split("/").length - 1;
|
|
122
|
+
const nodeMenuChildNum = calcTreeChildLevel(findTreePathById(dragNodeProps.id, treeList)?.children);
|
|
123
|
+
const maxLevel = 5;
|
|
124
|
+
const params = { id: dragNodeProps.id };
|
|
125
|
+
if (dropPosition === 0) {
|
|
126
|
+
console.log("拖拽到目录里");
|
|
127
|
+
if (nodeLevel + nodeMenuChildNum > maxLevel - 1) return {
|
|
128
|
+
type: "error",
|
|
129
|
+
msg: t("sys.webRender.dragError")
|
|
130
|
+
};
|
|
131
|
+
Object.assign(params, {
|
|
132
|
+
targetParentId: nodeProps.id,
|
|
133
|
+
targetSortNum: 0
|
|
134
|
+
});
|
|
135
|
+
} else if (dropPosition !== 0) {
|
|
136
|
+
console.log("拖拽到目录平级");
|
|
137
|
+
if (nodeLevel + nodeMenuChildNum > maxLevel) return {
|
|
138
|
+
type: "error",
|
|
139
|
+
msg: t("sys.webRender.dragError")
|
|
140
|
+
};
|
|
141
|
+
Object.assign(params, {
|
|
142
|
+
targetParentId: nodeProps.parentId,
|
|
143
|
+
targetSortNum: nodeProps.sortNum + 1
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
return params;
|
|
147
|
+
};
|
|
35
148
|
//#endregion
|
|
36
|
-
export { Ch_Operator, Ch_Perm_Operator, OperatorTypeEnum };
|
|
149
|
+
export { Ch_Operator, Ch_Perm_Operator, DataRoleSetTabsEnum, DataTypeOptions, ModalTypeEnum, OperatorTypeEnum, RelationTypeEnum, SearchTypeEnum, calcTreeChildLevel, dropNode, findTreePathById };
|
|
@@ -11,6 +11,14 @@ import { IFormController, IFormEditItemController } from '../i-controller';
|
|
|
11
11
|
* @interface IFormItemBasic
|
|
12
12
|
*/
|
|
13
13
|
export interface IFormItemBasic {
|
|
14
|
+
/**
|
|
15
|
+
* 子元素
|
|
16
|
+
*
|
|
17
|
+
* @author zhanghanrui
|
|
18
|
+
* @date 2024-04-01 15:04:57
|
|
19
|
+
* @type {string}
|
|
20
|
+
*/
|
|
21
|
+
label?: string;
|
|
14
22
|
/**
|
|
15
23
|
* 项类型
|
|
16
24
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useGctFormValue } from "../../../gct-form/hooks/use-gct-form-value/use-gct-form-value.mjs";
|
|
2
2
|
import "../../../gct-form/index.mjs";
|
|
3
|
-
import '
|
|
3
|
+
import './gct-table-date.css';/* empty css */
|
|
4
4
|
import { createVNode, defineComponent, mergeProps, resolveComponent } from "vue";
|
|
5
5
|
import { useNamespace } from "@gct-paas/core";
|
|
6
6
|
//#region src/modules/gct-table/editor/gct-table-date/gct-table-date.tsx
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useGctFormValueByText } from "../../../gct-form/hooks/use-gct-form-value/use-gct-form-value.mjs";
|
|
2
2
|
import "../../../gct-form/index.mjs";
|
|
3
|
-
import '
|
|
3
|
+
import '../gct-table-date/gct-table-date.css';/* empty css */
|
|
4
4
|
import { createVNode, defineComponent, mergeProps, resolveComponent } from "vue";
|
|
5
5
|
import { useNamespace } from "@gct-paas/core";
|
|
6
6
|
//#region src/modules/gct-table/editor/gct-table-text/gct-table-text.tsx
|
|
@@ -64,7 +64,34 @@ declare function __VLS_template(): {
|
|
|
64
64
|
footerOffset: number;
|
|
65
65
|
visible: boolean;
|
|
66
66
|
fullScreen: boolean;
|
|
67
|
-
}, true, {}, {},
|
|
67
|
+
}, true, {}, {}, {
|
|
68
|
+
overlayScrollbarsComponent: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
69
|
+
options: {
|
|
70
|
+
type: import('vue').PropType<import('../../../components/overlay-scrollbars/gct-overlay-scrollbars').IOsOptions | false | null>;
|
|
71
|
+
default: null;
|
|
72
|
+
};
|
|
73
|
+
handleColor: {
|
|
74
|
+
type: StringConstructor;
|
|
75
|
+
default: string;
|
|
76
|
+
};
|
|
77
|
+
}>, {
|
|
78
|
+
mergedOptions: import('vue').ComputedRef<false | import('../../../components/overlay-scrollbars/gct-overlay-scrollbars').IOsOptions>;
|
|
79
|
+
colorStyle: import('vue').ComputedRef<import('vue').CSSProperties | undefined>;
|
|
80
|
+
setOsRef: (el: unknown) => void;
|
|
81
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
82
|
+
options: {
|
|
83
|
+
type: import('vue').PropType<import('../../../components/overlay-scrollbars/gct-overlay-scrollbars').IOsOptions | false | null>;
|
|
84
|
+
default: null;
|
|
85
|
+
};
|
|
86
|
+
handleColor: {
|
|
87
|
+
type: StringConstructor;
|
|
88
|
+
default: string;
|
|
89
|
+
};
|
|
90
|
+
}>> & Readonly<{}>, {
|
|
91
|
+
options: false | import('../../../components/overlay-scrollbars/gct-overlay-scrollbars').IOsOptions | null;
|
|
92
|
+
handleColor: string;
|
|
93
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
94
|
+
} & import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
|
|
68
95
|
P: {};
|
|
69
96
|
B: {};
|
|
70
97
|
D: {};
|
|
@@ -448,7 +475,34 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
448
475
|
footerOffset: number;
|
|
449
476
|
visible: boolean;
|
|
450
477
|
fullScreen: boolean;
|
|
451
|
-
}, true, {}, {},
|
|
478
|
+
}, true, {}, {}, {
|
|
479
|
+
overlayScrollbarsComponent: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
480
|
+
options: {
|
|
481
|
+
type: import('vue').PropType<import('../../../components/overlay-scrollbars/gct-overlay-scrollbars').IOsOptions | false | null>;
|
|
482
|
+
default: null;
|
|
483
|
+
};
|
|
484
|
+
handleColor: {
|
|
485
|
+
type: StringConstructor;
|
|
486
|
+
default: string;
|
|
487
|
+
};
|
|
488
|
+
}>, {
|
|
489
|
+
mergedOptions: import('vue').ComputedRef<false | import('../../../components/overlay-scrollbars/gct-overlay-scrollbars').IOsOptions>;
|
|
490
|
+
colorStyle: import('vue').ComputedRef<import('vue').CSSProperties | undefined>;
|
|
491
|
+
setOsRef: (el: unknown) => void;
|
|
492
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
493
|
+
options: {
|
|
494
|
+
type: import('vue').PropType<import('../../../components/overlay-scrollbars/gct-overlay-scrollbars').IOsOptions | false | null>;
|
|
495
|
+
default: null;
|
|
496
|
+
};
|
|
497
|
+
handleColor: {
|
|
498
|
+
type: StringConstructor;
|
|
499
|
+
default: string;
|
|
500
|
+
};
|
|
501
|
+
}>> & Readonly<{}>, {
|
|
502
|
+
options: false | import('../../../components/overlay-scrollbars/gct-overlay-scrollbars').IOsOptions | null;
|
|
503
|
+
handleColor: string;
|
|
504
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
505
|
+
} & import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
|
|
452
506
|
P: {};
|
|
453
507
|
B: {};
|
|
454
508
|
D: {};
|
|
@@ -92,5 +92,32 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
92
92
|
footerOffset: number;
|
|
93
93
|
visible: boolean;
|
|
94
94
|
fullScreen: boolean;
|
|
95
|
-
}, {}, {
|
|
95
|
+
}, {}, {
|
|
96
|
+
overlayScrollbarsComponent: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
97
|
+
options: {
|
|
98
|
+
type: import('vue').PropType<import('../../../../components/overlay-scrollbars/gct-overlay-scrollbars').IOsOptions | false | null>;
|
|
99
|
+
default: null;
|
|
100
|
+
};
|
|
101
|
+
handleColor: {
|
|
102
|
+
type: StringConstructor;
|
|
103
|
+
default: string;
|
|
104
|
+
};
|
|
105
|
+
}>, {
|
|
106
|
+
mergedOptions: import('vue').ComputedRef<false | import('../../../../components/overlay-scrollbars/gct-overlay-scrollbars').IOsOptions>;
|
|
107
|
+
colorStyle: import('vue').ComputedRef<CSSProperties | undefined>;
|
|
108
|
+
setOsRef: (el: unknown) => void;
|
|
109
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
110
|
+
options: {
|
|
111
|
+
type: import('vue').PropType<import('../../../../components/overlay-scrollbars/gct-overlay-scrollbars').IOsOptions | false | null>;
|
|
112
|
+
default: null;
|
|
113
|
+
};
|
|
114
|
+
handleColor: {
|
|
115
|
+
type: StringConstructor;
|
|
116
|
+
default: string;
|
|
117
|
+
};
|
|
118
|
+
}>> & Readonly<{}>, {
|
|
119
|
+
options: false | import('../../../../components/overlay-scrollbars/gct-overlay-scrollbars').IOsOptions | null;
|
|
120
|
+
handleColor: string;
|
|
121
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
122
|
+
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
96
123
|
export default _default;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { createModalContext } from "../hooks/useModalContext.mjs";
|
|
2
|
+
import { GctOverlayScrollbars } from "../../../../components/overlay-scrollbars/gct-overlay-scrollbars.mjs";
|
|
2
3
|
import { computed, defineComponent, nextTick, onMounted, onUnmounted, ref, unref, watch, watchEffect } from "vue";
|
|
3
4
|
import { useNamespace } from "@gct-paas/core";
|
|
4
5
|
import { useMutationObserver, useWindowSize } from "@vueuse/core";
|
|
5
6
|
var ModalWrapper_vue_vue_type_script_lang_default = defineComponent({
|
|
6
7
|
name: "ModalWrapper",
|
|
8
|
+
components: { overlayScrollbarsComponent: GctOverlayScrollbars },
|
|
7
9
|
inheritAttrs: false,
|
|
8
10
|
props: {
|
|
9
11
|
loading: { type: Boolean },
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.mjs";
|
|
2
|
+
import event_config_vue_vue_type_script_setup_true_lang_default from "./event-config.vue_vue_type_script_setup_true_lang.mjs";
|
|
3
|
+
import './event-config.vue_vue_type_style_index_0_scoped_572d5ffd_lang.css';/* empty css */
|
|
4
|
+
//#region src/modules/process-designer/components/event-config.vue
|
|
5
|
+
var event_config_default = /* @__PURE__ */ _plugin_vue_export_helper_default(event_config_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-572d5ffd"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { event_config_default as default };
|
package/es/modules/process-designer/components/event-config.vue_vue_type_script_setup_true_lang.mjs
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { NodeEventsGroupByType } from "../constants/index.mjs";
|
|
2
|
+
import { useProcess } from "../hook/useProcess.mjs";
|
|
3
|
+
import select_script_default from "./select-script.vue.mjs";
|
|
4
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, normalizeClass, onMounted, openBlock, ref, renderList, resolveComponent, toDisplayString, unref, withCtx, withModifiers } from "vue";
|
|
5
|
+
import { EventsTypeEnum, ScriptTypeEnum, t } from "@gct-paas/core";
|
|
6
|
+
//#region src/modules/process-designer/components/event-config.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
+
var _hoisted_1 = { class: "px12px py20px text-[12px]" };
|
|
8
|
+
var _hoisted_2 = { class: "ks-row-middle overflow-hidden p8px bg-[#F2F4F7]" };
|
|
9
|
+
var _hoisted_3 = { class: "ks-col ell" };
|
|
10
|
+
var _hoisted_4 = ["onClick"];
|
|
11
|
+
var _hoisted_5 = ["title"];
|
|
12
|
+
var event_config_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
13
|
+
__name: "event-config",
|
|
14
|
+
props: { node: {} },
|
|
15
|
+
setup(__props) {
|
|
16
|
+
const props = __props;
|
|
17
|
+
const { bpmnReadonly } = useProcess();
|
|
18
|
+
const scriptOptions = ref([]);
|
|
19
|
+
const events = computed(() => {
|
|
20
|
+
return props.node.data?.events || [];
|
|
21
|
+
});
|
|
22
|
+
const eventOptions = computed(() => {
|
|
23
|
+
const evts = NodeEventsGroupByType[props.node.type];
|
|
24
|
+
if (props.node.type === "global") return evts;
|
|
25
|
+
const buttonConfig = props.node?.data?.buttonConfig || [];
|
|
26
|
+
return evts.filter((e) => buttonConfig.some((f) => f.type === e.type && f.enable)).map((e) => e.value);
|
|
27
|
+
});
|
|
28
|
+
onMounted(() => {
|
|
29
|
+
getScriptData();
|
|
30
|
+
});
|
|
31
|
+
const handleClick = async (key) => {
|
|
32
|
+
const res = await openModal({
|
|
33
|
+
key,
|
|
34
|
+
executeResourceType: EventsTypeEnum.SCRIPT_SERVICE
|
|
35
|
+
});
|
|
36
|
+
if (res.ok) {
|
|
37
|
+
const params = {
|
|
38
|
+
...res.params,
|
|
39
|
+
relationType: props.node.type === "global" ? "PROC_DEF" : "PROC_NODE_DEF"
|
|
40
|
+
};
|
|
41
|
+
if (props.node?.data?.events) props.node.data["events"].push(params);
|
|
42
|
+
else props.node.data["events"] = [params];
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
const onEdit = async (item, index) => {
|
|
46
|
+
const res = await openModal({ ...item });
|
|
47
|
+
if (res.ok) props.node.data["events"]?.splice(index, 1, { ...res.params });
|
|
48
|
+
};
|
|
49
|
+
const onDelete = (index) => {
|
|
50
|
+
props.node.data["events"]?.splice(index, 1);
|
|
51
|
+
};
|
|
52
|
+
const getScriptData = async () => {
|
|
53
|
+
scriptOptions.value = await _api.apaas.category.getListComplete({ module: ScriptTypeEnum.DEFAULT }) || [];
|
|
54
|
+
};
|
|
55
|
+
const returnScriptName = (id) => {
|
|
56
|
+
return scriptOptions.value.map((e) => e.children).flat().find((e) => e.id === id)?.name;
|
|
57
|
+
};
|
|
58
|
+
async function openModal(data) {
|
|
59
|
+
const res = await _gct.openUtil.modal(select_script_default, { data }, {
|
|
60
|
+
title: t("sys.newSth", { sth: t("sys.appDesigner.events") }),
|
|
61
|
+
width: 640,
|
|
62
|
+
height: 400,
|
|
63
|
+
okText: t("sys.okText")
|
|
64
|
+
});
|
|
65
|
+
if (res.ok) getScriptData();
|
|
66
|
+
return res;
|
|
67
|
+
}
|
|
68
|
+
return (_ctx, _cache) => {
|
|
69
|
+
const _component_DownOutlined = resolveComponent("DownOutlined");
|
|
70
|
+
const _component_a_button = resolveComponent("a-button");
|
|
71
|
+
const _component_a_menu_item = resolveComponent("a-menu-item");
|
|
72
|
+
const _component_a_menu = resolveComponent("a-menu");
|
|
73
|
+
const _component_a_dropdown = resolveComponent("a-dropdown");
|
|
74
|
+
const _component_a_popconfirm = resolveComponent("a-popconfirm");
|
|
75
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [createVNode(_component_a_dropdown, { trigger: ["click"] }, {
|
|
76
|
+
overlay: withCtx(() => [createVNode(_component_a_menu, null, {
|
|
77
|
+
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(eventOptions.value, (evt) => {
|
|
78
|
+
return openBlock(), createBlock(_component_a_menu_item, {
|
|
79
|
+
key: evt,
|
|
80
|
+
disabled: events.value.some((e) => e.key === evt),
|
|
81
|
+
onClick: ($event) => handleClick(evt)
|
|
82
|
+
}, {
|
|
83
|
+
default: withCtx(() => [createTextVNode(toDisplayString(unref(t)(`sys.process.events.${evt}`)), 1)]),
|
|
84
|
+
_: 2
|
|
85
|
+
}, 1032, ["disabled", "onClick"]);
|
|
86
|
+
}), 128))]),
|
|
87
|
+
_: 1
|
|
88
|
+
})]),
|
|
89
|
+
default: withCtx(() => [createVNode(_component_a_button, {
|
|
90
|
+
type: "primary",
|
|
91
|
+
ghost: !unref(bpmnReadonly),
|
|
92
|
+
block: "",
|
|
93
|
+
disabled: unref(bpmnReadonly),
|
|
94
|
+
onClick: _cache[0] || (_cache[0] = withModifiers(() => {}, ["prevent"]))
|
|
95
|
+
}, {
|
|
96
|
+
default: withCtx(() => [createTextVNode(toDisplayString(unref(t)("sys.pageDesigner.newEvents")) + " ", 1), createVNode(_component_DownOutlined, { class: "ml4px" })]),
|
|
97
|
+
_: 1
|
|
98
|
+
}, 8, ["ghost", "disabled"])]),
|
|
99
|
+
_: 1
|
|
100
|
+
}), (openBlock(true), createElementBlock(Fragment, null, renderList(events.value, (item, i) => {
|
|
101
|
+
return openBlock(), createElementBlock("div", {
|
|
102
|
+
key: i,
|
|
103
|
+
class: normalizeClass(["border border-[#E0E3EA] border-solid rounded-4px relative", [i === 0 ? "mt16px" : "mt12px"]])
|
|
104
|
+
}, [createElementVNode("div", _hoisted_2, [createElementVNode("div", _hoisted_3, toDisplayString(unref(t)(`sys.process.events.${item.key}`)), 1), !unref(bpmnReadonly) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createElementVNode("i", {
|
|
105
|
+
class: "iconfont icon-bianji text-[#797A7D] cursor-pointer lh-16px mr8px",
|
|
106
|
+
onClick: ($event) => onEdit(item, i)
|
|
107
|
+
}, null, 8, _hoisted_4), createVNode(_component_a_popconfirm, {
|
|
108
|
+
title: unref(t)("sys.sureToDo"),
|
|
109
|
+
"get-popup-container": (trigger) => trigger.parentNode,
|
|
110
|
+
placement: "topRight",
|
|
111
|
+
onConfirm: ($event) => onDelete(i)
|
|
112
|
+
}, {
|
|
113
|
+
default: withCtx(() => [..._cache[1] || (_cache[1] = [createElementVNode("i", { class: "iconfont icon-shanchu2 text-[#797A7D] cursor-pointer error-gct-hover lh-16px" }, null, -1)])]),
|
|
114
|
+
_: 1
|
|
115
|
+
}, 8, [
|
|
116
|
+
"title",
|
|
117
|
+
"get-popup-container",
|
|
118
|
+
"onConfirm"
|
|
119
|
+
])], 64)) : createCommentVNode("", true)]), createElementVNode("div", {
|
|
120
|
+
class: "p8px ell text-[#8F8F8F]",
|
|
121
|
+
title: returnScriptName(item.executeResourceId)
|
|
122
|
+
}, toDisplayString(returnScriptName(item.executeResourceId)), 9, _hoisted_5)], 2);
|
|
123
|
+
}), 128))]);
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
//#endregion
|
|
128
|
+
export { event_config_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
.add-btn[data-v-572d5ffd] {
|
|
2
|
+
line-height: 32px;
|
|
3
|
+
height: 32px;
|
|
4
|
+
text-align: center;
|
|
5
|
+
border: 1px solid var(--ant-primary-color);
|
|
6
|
+
border-radius: 4px;
|
|
7
|
+
color: var(--ant-primary-color);
|
|
8
|
+
cursor: pointer;
|
|
9
|
+
}
|
|
10
|
+
[data-v-572d5ffd] .ant-dropdown-menu-item {
|
|
11
|
+
text-align: center;
|
|
12
|
+
}
|
|
13
|
+
[data-v-572d5ffd] .ant-popconfirm {
|
|
14
|
+
left: 218px !important;
|
|
15
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.mjs";
|
|
2
|
+
import field_permission_vue_vue_type_script_setup_true_lang_default from "./field-permission.vue_vue_type_script_setup_true_lang.mjs";
|
|
3
|
+
import './field-permission.vue_vue_type_style_index_0_scoped_d8767690_lang.css';/* empty css */
|
|
4
|
+
//#region src/modules/process-designer/components/field-permission.vue
|
|
5
|
+
var field_permission_default = /* @__PURE__ */ _plugin_vue_export_helper_default(field_permission_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-d8767690"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { field_permission_default as default };
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { FieldsPermissionEnum } from "../constants/index.mjs";
|
|
2
|
+
import { useProcess } from "../hook/useProcess.mjs";
|
|
3
|
+
import { Fragment, computed, createBlock, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, inject, onMounted, openBlock, ref, renderList, resolveComponent, toDisplayString, unref, withCtx } from "vue";
|
|
4
|
+
import { CreateType, FIELD_TYPE, t } from "@gct-paas/core";
|
|
5
|
+
import { BpmnNodeTypeEnum as BpmnNodeTypeEnum$1 } from "@gct-paas/flow";
|
|
6
|
+
//#region src/modules/process-designer/components/field-permission.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
+
var _hoisted_1 = { class: "mb2px" };
|
|
8
|
+
var _hoisted_2 = { class: "fields-wrap bg-[#F0F0F0] py8px rounded-4px mb12px" };
|
|
9
|
+
var _hoisted_3 = { class: "fields-header ks-row-middle overflow-hidden pb4px px16px" };
|
|
10
|
+
var _hoisted_4 = { class: "fields-header-name ell pr4px relative top-2px" };
|
|
11
|
+
var _hoisted_5 = { class: "ks-col ks-row-middle" };
|
|
12
|
+
var _hoisted_6 = { class: "fields-main max-h-390px overflow-auto px8px" };
|
|
13
|
+
var _hoisted_7 = { class: "ks-row py5px px8px" };
|
|
14
|
+
var _hoisted_8 = { class: "w70px ell" };
|
|
15
|
+
var _hoisted_9 = { class: "fields-main-option ks-col" };
|
|
16
|
+
var field_permission_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
17
|
+
__name: "field-permission",
|
|
18
|
+
props: { data: {} },
|
|
19
|
+
setup(__props) {
|
|
20
|
+
const props = __props;
|
|
21
|
+
const { processInfo, nodeSelectedData } = useProcess();
|
|
22
|
+
const paasBpmnReadonly = inject("paasBpmnReadonly", false);
|
|
23
|
+
const spinning = ref(false);
|
|
24
|
+
const fieldData = ref([]);
|
|
25
|
+
const fieldConfig = computed({
|
|
26
|
+
get() {
|
|
27
|
+
return props.data.fieldConfig || {};
|
|
28
|
+
},
|
|
29
|
+
set(value) {
|
|
30
|
+
props.data.fieldConfig = value;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
const plainOptions = computed(() => {
|
|
34
|
+
return Object.values(FieldsPermissionEnum).map((e) => {
|
|
35
|
+
return { value: e };
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
onMounted(() => {
|
|
39
|
+
getFieldData();
|
|
40
|
+
});
|
|
41
|
+
function checkedParent(permission, item) {
|
|
42
|
+
let childPers = [];
|
|
43
|
+
if (item.key) {
|
|
44
|
+
childPers = item.children?.filter((e) => fieldConfig.value[item.key]?.children[e.field]?.permission === permission);
|
|
45
|
+
return childPers.length === item.children.length;
|
|
46
|
+
} else childPers = item.children?.filter((e) => fieldConfig.value[e.field]?.permission === permission);
|
|
47
|
+
return childPers.length === item.children.length;
|
|
48
|
+
}
|
|
49
|
+
const handleParentChange = (evt, permission, item) => {
|
|
50
|
+
const { checked } = evt.target;
|
|
51
|
+
if (checked) item.children.forEach((e) => {
|
|
52
|
+
if (item.key) fieldConfig.value[item.key].children[e.field].permission = permission;
|
|
53
|
+
else fieldConfig.value[e.field].permission = permission;
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
const getFieldData = async () => {
|
|
57
|
+
spinning.value = true;
|
|
58
|
+
try {
|
|
59
|
+
const { modelKey, modelName } = processInfo.value;
|
|
60
|
+
const res = await getModelFields(modelKey);
|
|
61
|
+
fieldData.value = [];
|
|
62
|
+
const msList = res.filter((e) => e.type === FIELD_TYPE.MASTERSLAVE).map((e) => {
|
|
63
|
+
return {
|
|
64
|
+
key: e.key,
|
|
65
|
+
modelKey: e.bindInfo,
|
|
66
|
+
modelName: e.relationModelName
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
const fnList = msList.map((e) => getModelFields(e.modelKey, false));
|
|
70
|
+
const data = await Promise.all(fnList);
|
|
71
|
+
const configObj = {};
|
|
72
|
+
fieldData.value = [{
|
|
73
|
+
modelKey,
|
|
74
|
+
modelName,
|
|
75
|
+
children: res.filter((e) => e.type !== FIELD_TYPE.MASTERSLAVE).map((e) => formatFields(e))
|
|
76
|
+
}, ...msList.map((e) => {
|
|
77
|
+
return {
|
|
78
|
+
...e,
|
|
79
|
+
children: data.find((d) => d[0].modelKey === e.modelKey)?.map((f) => formatFields(f)) || []
|
|
80
|
+
};
|
|
81
|
+
})];
|
|
82
|
+
fieldData.value.forEach(async (o) => {
|
|
83
|
+
if (!o.key) o.children.forEach((e) => {
|
|
84
|
+
configObj[e.field] = {
|
|
85
|
+
permission: fieldConfig.value[e.field]?.permission || e.permission,
|
|
86
|
+
children: {}
|
|
87
|
+
};
|
|
88
|
+
});
|
|
89
|
+
else {
|
|
90
|
+
configObj[o.key] = { children: {} };
|
|
91
|
+
o.children.forEach((e) => {
|
|
92
|
+
configObj[o.key].children[e.field] = {
|
|
93
|
+
permission: fieldConfig.value[o.key]?.children[e.field]?.permission || e.permission,
|
|
94
|
+
children: {}
|
|
95
|
+
};
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
fieldConfig.value = configObj;
|
|
100
|
+
spinning.value = false;
|
|
101
|
+
} catch (error) {
|
|
102
|
+
spinning.value = false;
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
async function getModelFields(modelKey, sys = true) {
|
|
106
|
+
return await _api.apaas.fieldMeta.getList({
|
|
107
|
+
modelKey,
|
|
108
|
+
sys,
|
|
109
|
+
includeBuiltin: true
|
|
110
|
+
}) || [];
|
|
111
|
+
}
|
|
112
|
+
function formatFields(f, permission) {
|
|
113
|
+
const nType = nodeSelectedData.value?.type;
|
|
114
|
+
return {
|
|
115
|
+
field: f.key,
|
|
116
|
+
name: f.name,
|
|
117
|
+
modelKey: f.modelKey,
|
|
118
|
+
createType: f.createType,
|
|
119
|
+
type: f.type,
|
|
120
|
+
children: [],
|
|
121
|
+
permission: permission || nType === BpmnNodeTypeEnum$1.BpmnApproval || f.createType === CreateType.SYSTEM ? FieldsPermissionEnum.readonly : FieldsPermissionEnum.editable
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
function onParentRadioChange(e, field, key) {
|
|
125
|
+
const { value } = e.target;
|
|
126
|
+
if (key) fieldConfig.value[key].children[field.field].permission = value;
|
|
127
|
+
else fieldConfig.value[field.field].permission = value;
|
|
128
|
+
}
|
|
129
|
+
return (_ctx, _cache) => {
|
|
130
|
+
const _component_a_checkbox = resolveComponent("a-checkbox");
|
|
131
|
+
const _component_a_radio = resolveComponent("a-radio");
|
|
132
|
+
const _component_a_radio_group = resolveComponent("a-radio-group");
|
|
133
|
+
const _component_a_spin = resolveComponent("a-spin");
|
|
134
|
+
return openBlock(true), createElementBlock(Fragment, null, renderList(fieldData.value, (el, i) => {
|
|
135
|
+
return openBlock(), createElementBlock("div", { key: i }, [createElementVNode("div", _hoisted_1, toDisplayString(el.modelName), 1), createElementVNode("div", _hoisted_2, [createElementVNode("div", _hoisted_3, [createElementVNode("div", _hoisted_4, toDisplayString(unref(t)("sys.appDesigner.approval.fieldName")), 1), createElementVNode("div", _hoisted_5, [(openBlock(true), createElementBlock(Fragment, null, renderList(Object.values(unref(FieldsPermissionEnum)), (item) => {
|
|
136
|
+
return openBlock(), createElementBlock("div", {
|
|
137
|
+
key: item,
|
|
138
|
+
class: "fields-header-item ell"
|
|
139
|
+
}, [createTextVNode(toDisplayString(unref(t)(`sys.pageDesigner.${item}`)) + " ", 1), createVNode(_component_a_checkbox, {
|
|
140
|
+
disabled: unref(paasBpmnReadonly),
|
|
141
|
+
checked: checkedParent(item, el),
|
|
142
|
+
style: {
|
|
143
|
+
"line-height": "1",
|
|
144
|
+
"height": "18px"
|
|
145
|
+
},
|
|
146
|
+
onChange: (e) => handleParentChange(e, item, el)
|
|
147
|
+
}, null, 8, [
|
|
148
|
+
"disabled",
|
|
149
|
+
"checked",
|
|
150
|
+
"onChange"
|
|
151
|
+
])]);
|
|
152
|
+
}), 128))])]), createElementVNode("div", _hoisted_6, [createVNode(_component_a_spin, { spinning: spinning.value }, {
|
|
153
|
+
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(el.children, (field, j) => {
|
|
154
|
+
return openBlock(), createElementBlock("div", {
|
|
155
|
+
key: j,
|
|
156
|
+
class: "fields-main-option bg-[#FFFFFF] rounded-4px mb4px border"
|
|
157
|
+
}, [createElementVNode("div", _hoisted_7, [createElementVNode("div", _hoisted_8, toDisplayString(field.name), 1), createElementVNode("div", _hoisted_9, [!el.key ? (openBlock(), createBlock(_component_a_radio_group, {
|
|
158
|
+
key: 0,
|
|
159
|
+
value: fieldConfig.value[field.field].permission,
|
|
160
|
+
"onUpdate:value": ($event) => fieldConfig.value[field.field].permission = $event,
|
|
161
|
+
disabled: unref(paasBpmnReadonly),
|
|
162
|
+
onChange: (e) => onParentRadioChange(e, field)
|
|
163
|
+
}, {
|
|
164
|
+
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(plainOptions.value, (item, f) => {
|
|
165
|
+
return openBlock(), createBlock(_component_a_radio, {
|
|
166
|
+
key: f,
|
|
167
|
+
value: item.value,
|
|
168
|
+
disabled: field.createType === unref(CreateType).SYSTEM && [unref(FieldsPermissionEnum).disabled, unref(FieldsPermissionEnum).editable].includes(item.value)
|
|
169
|
+
}, null, 8, ["value", "disabled"]);
|
|
170
|
+
}), 128))]),
|
|
171
|
+
_: 2
|
|
172
|
+
}, 1032, [
|
|
173
|
+
"value",
|
|
174
|
+
"onUpdate:value",
|
|
175
|
+
"disabled",
|
|
176
|
+
"onChange"
|
|
177
|
+
])) : (openBlock(), createBlock(_component_a_radio_group, {
|
|
178
|
+
key: 1,
|
|
179
|
+
value: fieldConfig.value[el.key].children[field.field].permission,
|
|
180
|
+
"onUpdate:value": ($event) => fieldConfig.value[el.key].children[field.field].permission = $event,
|
|
181
|
+
disabled: unref(paasBpmnReadonly),
|
|
182
|
+
onChange: (e) => onParentRadioChange(e, field, el.key)
|
|
183
|
+
}, {
|
|
184
|
+
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(plainOptions.value, (item, f) => {
|
|
185
|
+
return openBlock(), createBlock(_component_a_radio, {
|
|
186
|
+
key: f,
|
|
187
|
+
value: item.value,
|
|
188
|
+
disabled: field.createType === unref(CreateType).SYSTEM && [unref(FieldsPermissionEnum).disabled, unref(FieldsPermissionEnum).editable].includes(item.value)
|
|
189
|
+
}, null, 8, ["value", "disabled"]);
|
|
190
|
+
}), 128))]),
|
|
191
|
+
_: 2
|
|
192
|
+
}, 1032, [
|
|
193
|
+
"value",
|
|
194
|
+
"onUpdate:value",
|
|
195
|
+
"disabled",
|
|
196
|
+
"onChange"
|
|
197
|
+
]))])])]);
|
|
198
|
+
}), 128))]),
|
|
199
|
+
_: 2
|
|
200
|
+
}, 1032, ["spinning"])])])]);
|
|
201
|
+
}), 128);
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
//#endregion
|
|
206
|
+
export { field_permission_vue_vue_type_script_setup_true_lang_default as default };
|