@gct-paas/core-web 0.1.6-dev.6 → 0.1.6-dev.7

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 (105) hide show
  1. package/dist/ColorPicker-DFKXqgaG.js +1 -0
  2. package/dist/_plugin-vue_export-helper-CGzGcWFX.js +1 -0
  3. package/dist/index.min.css +1 -1
  4. package/dist/loader.esm.min.js +1 -1
  5. package/dist/{monaco-editor-BTqXEIZI.js → monaco-editor-CQJ9TMzD.js} +1 -1
  6. package/dist/{template-1ZQd8Z1w.js → template-CXn8oAg5.js} +1 -1
  7. package/es/components/index.d.ts +1 -0
  8. package/es/components/index.mjs +2 -0
  9. package/es/components/paas-bpmn-log/components/approval-node.vue.mjs +2 -2
  10. package/es/components/paas-bpmn-log/components/approval-node.vue_vue_type_script_setup_true_lang.mjs +1 -2
  11. package/es/components/paas-bpmn-log/components/{approval-node.vue_vue_type_style_index_0_scoped_a88d7ef9_lang.css → approval-node.vue_vue_type_style_index_0_scoped_a8065b24_lang.css} +9 -9
  12. package/es/components/paas-bpmn-log/paas-bpmn-log.vue.mjs +2 -2
  13. package/es/components/paas-bpmn-log/paas-bpmn-log.vue_vue_type_script_setup_true_lang.mjs +1 -2
  14. package/es/components/paas-bpmn-log/{paas-bpmn-log.vue_vue_type_style_index_0_scoped_c85122b0_lang.css → paas-bpmn-log.vue_vue_type_style_index_0_scoped_eb574523_lang.css} +9 -9
  15. package/es/components/select-user-modal/deptUser.vue.d.ts +9 -0
  16. package/es/components/select-user-modal/deptUser.vue.mjs +7 -0
  17. package/es/components/select-user-modal/deptUser.vue_vue_type_script_setup_true_name_deptUser_lang.mjs +296 -0
  18. package/es/components/select-user-modal/deptUser.vue_vue_type_style_index_0_scoped_02dff7bf_lang.css +40 -0
  19. package/es/components/select-user-modal/index.d.ts +2 -0
  20. package/es/components/select-user-modal/index.mjs +1 -0
  21. package/es/components/select-user-modal/range-role.vue.d.ts +9 -0
  22. package/es/components/select-user-modal/range-role.vue.mjs +7 -0
  23. package/es/components/select-user-modal/range-role.vue_vue_type_script_setup_true_name_role_lang.mjs +137 -0
  24. package/es/components/select-user-modal/range-role.vue_vue_type_style_index_0_scoped_1241bcdf_lang.css +34 -0
  25. package/es/components/select-user-modal/select-user-modal.vue.d.ts +12 -0
  26. package/es/components/select-user-modal/select-user-modal.vue.mjs +7 -0
  27. package/es/components/select-user-modal/select-user-modal.vue_vue_type_script_setup_true_name_select-user-modal_lang.mjs +123 -0
  28. package/es/components/select-user-modal/select-user-modal.vue_vue_type_style_index_0_scoped_2c0f184c_lang.css +14 -0
  29. package/es/components/select-user-modal/userGroup.vue.d.ts +9 -0
  30. package/es/components/select-user-modal/userGroup.vue.mjs +7 -0
  31. package/es/components/select-user-modal/userGroup.vue_vue_type_script_setup_true_name_userGroup_lang.mjs +149 -0
  32. package/es/components/select-user-modal/userGroup.vue_vue_type_style_index_0_scoped_47d1cbaa_lang.css +19 -0
  33. package/es/create-app-vue.d.ts +2 -2
  34. package/es/create-app-vue.mjs +3 -3
  35. package/es/index.d.ts +1 -0
  36. package/es/index.mjs +5 -1
  37. package/es/modules/data-rules-container/index.d.ts +3 -0
  38. package/es/modules/data-rules-container/index.mjs +2 -0
  39. package/es/modules/data-rules-container/src/components/header-action.vue.d.ts +10 -0
  40. package/es/modules/data-rules-container/src/components/header-action.vue.mjs +7 -0
  41. package/es/modules/data-rules-container/src/components/header-action.vue_vue_type_script_setup_true_name_header-action_lang.mjs +36 -0
  42. package/es/modules/data-rules-container/src/components/header-action.vue_vue_type_style_index_0_scoped_4e281013_lang.css +32 -0
  43. package/es/modules/data-rules-container/src/components/ndo-select-cmp.vue.d.ts +8 -0
  44. package/es/modules/data-rules-container/src/components/ndo-select-cmp.vue.mjs +5 -0
  45. package/es/modules/data-rules-container/src/components/ndo-select-cmp.vue_vue_type_script_setup_true_lang.mjs +266 -0
  46. package/es/modules/data-rules-container/src/components/perm-action-node.vue.d.ts +22 -0
  47. package/es/modules/data-rules-container/src/components/perm-action-node.vue.mjs +7 -0
  48. package/es/modules/data-rules-container/src/components/perm-action-node.vue_vue_type_script_setup_true_name_perm-action-node_lang.mjs +384 -0
  49. package/es/modules/data-rules-container/src/components/perm-action-node.vue_vue_type_style_index_0_scoped_417c660f_lang.css +73 -0
  50. package/es/modules/data-rules-container/src/components/perm-root-node.vue.d.ts +3 -0
  51. package/es/modules/data-rules-container/src/components/perm-root-node.vue.mjs +7 -0
  52. package/es/modules/data-rules-container/src/components/perm-root-node.vue_vue_type_script_setup_true_name_perm-root-node_lang.mjs +61 -0
  53. package/es/modules/data-rules-container/src/components/perm-root-node.vue_vue_type_style_index_0_scoped_ca5c9d20_lang.css +74 -0
  54. package/es/modules/data-rules-container/src/components/rdo-select-cmp.vue.d.ts +11 -0
  55. package/es/modules/data-rules-container/src/components/rdo-select-cmp.vue.mjs +5 -0
  56. package/es/modules/data-rules-container/src/components/rdo-select-cmp.vue_vue_type_script_setup_true_lang.mjs +93 -0
  57. package/es/modules/data-rules-container/src/components/request-select-cmp.vue.d.ts +9 -0
  58. package/es/modules/data-rules-container/src/components/request-select-cmp.vue.mjs +5 -0
  59. package/es/modules/data-rules-container/src/components/request-select-cmp.vue_vue_type_script_setup_true_name_request-select-cmp_lang.mjs +117 -0
  60. package/es/modules/data-rules-container/src/components/request-tree-select-cmp.vue.d.ts +3 -0
  61. package/es/modules/data-rules-container/src/components/request-tree-select-cmp.vue.mjs +6 -0
  62. package/es/modules/data-rules-container/src/components/request-tree-select-cmp.vue_vue_type_script_name_gct-select_setup_true_lang.mjs +100 -0
  63. package/es/modules/data-rules-container/src/components/request-tree-select-cmp.vue_vue_type_style_index_0_lang.css +21 -0
  64. package/es/modules/data-rules-container/src/components/select-modal-cmp.vue.d.ts +32 -0
  65. package/es/modules/data-rules-container/src/components/select-modal-cmp.vue.mjs +5 -0
  66. package/es/modules/data-rules-container/src/components/select-modal-cmp.vue_vue_type_script_setup_true_name_select-modal-cmp_lang.mjs +268 -0
  67. package/es/modules/data-rules-container/src/components/select-more.vue.d.ts +8 -0
  68. package/es/modules/data-rules-container/src/components/select-more.vue.mjs +5 -0
  69. package/es/modules/data-rules-container/src/components/select-more.vue_vue_type_script_setup_true_lang.mjs +26 -0
  70. package/es/modules/data-rules-container/src/components/select-userdep-cmp.vue.d.ts +12 -0
  71. package/es/modules/data-rules-container/src/components/select-userdep-cmp.vue.mjs +5 -0
  72. package/es/modules/data-rules-container/src/components/select-userdep-cmp.vue_vue_type_script_setup_true_name_select-userdep-cmp_lang.mjs +103 -0
  73. package/es/modules/data-rules-container/src/components/tree-action-node.vue.d.ts +25 -0
  74. package/es/modules/data-rules-container/src/components/tree-action-node.vue.mjs +7 -0
  75. package/es/modules/data-rules-container/src/components/tree-action-node.vue_vue_type_script_setup_true_name_tree-action-node_lang.mjs +544 -0
  76. package/es/modules/data-rules-container/src/components/tree-action-node.vue_vue_type_style_index_0_scoped_46368089_lang.css +67 -0
  77. package/es/modules/data-rules-container/src/components/tree-root-node.vue.d.ts +3 -0
  78. package/es/modules/data-rules-container/src/components/tree-root-node.vue.mjs +7 -0
  79. package/es/modules/data-rules-container/src/components/tree-root-node.vue_vue_type_script_setup_true_name_tree-root-node_lang.mjs +105 -0
  80. package/es/modules/data-rules-container/src/components/tree-root-node.vue_vue_type_style_index_0_scoped_37e323fb_lang.css +29 -0
  81. package/es/modules/data-rules-container/src/components/tree-select-cmp.vue.d.ts +3 -0
  82. package/es/modules/data-rules-container/src/components/tree-select-cmp.vue.mjs +5 -0
  83. package/es/modules/data-rules-container/src/components/tree-select-cmp.vue_vue_type_script_name_gct-select_setup_true_lang.mjs +89 -0
  84. package/es/modules/data-rules-container/src/constant/config.d.ts +146 -0
  85. package/es/modules/data-rules-container/src/constant/config.mjs +548 -0
  86. package/es/modules/data-rules-container/src/constant/interface.d.ts +85 -0
  87. package/es/modules/data-rules-container/src/constant/interface.mjs +36 -0
  88. package/es/modules/data-rules-container/src/data-rules-container.vue.d.ts +45 -0
  89. package/es/modules/data-rules-container/src/data-rules-container.vue.mjs +6 -0
  90. package/es/modules/data-rules-container/src/data-rules-container.vue_vue_type_script_setup_true_name_data-rules-container_lang.mjs +234 -0
  91. package/es/modules/data-rules-container/src/data-rules-container.vue_vue_type_style_index_0_lang.css +149 -0
  92. package/es/modules/data-rules-container/src/field-role-container.vue.d.ts +14 -0
  93. package/es/modules/data-rules-container/src/field-role-container.vue.mjs +5 -0
  94. package/es/modules/data-rules-container/src/field-role-container.vue_vue_type_script_setup_true_name_field-role-container_lang.mjs +73 -0
  95. package/es/modules/data-rules-container/src/hooks/useDataRulesTree.d.ts +30 -0
  96. package/es/modules/data-rules-container/src/hooks/useDataRulesTree.mjs +317 -0
  97. package/es/modules/data-rules-container/src/hooks/useEmitter.d.ts +10 -0
  98. package/es/modules/data-rules-container/src/hooks/useRdoHooks.d.ts +37 -0
  99. package/es/modules/data-rules-container/src/hooks/useRdoHooks.mjs +144 -0
  100. package/es/modules/data-rules-container/src/hooks/useRole.d.ts +8 -0
  101. package/es/modules/data-rules-container/src/typing.d.ts +40 -0
  102. package/package.json +9 -9
  103. package/dist/ColorPicker-DGQQb8I7.js +0 -1
  104. package/dist/_plugin-vue_export-helper-C9hXqKoS.js +0 -1
  105. package/es/components/paas-bpmn-log/hooks/useObserver.mjs +0 -46
@@ -0,0 +1,45 @@
1
+ import { FieldMetaDTO } from '@gct-paas/api/apaas';
2
+ export interface Props {
3
+ fieldList?: FieldMetaDTO[];
4
+ detail?: IObject;
5
+ type?: string;
6
+ readonly?: boolean;
7
+ isDesign?: boolean;
8
+ mainModelKey?: string;
9
+ isPageDesigner?: boolean;
10
+ isOnlineFormDesigner?: boolean;
11
+ allowClear?: boolean;
12
+ excludeValueType?: string[];
13
+ excludeOperatorType?: string[];
14
+ apiConfig?: object;
15
+ onlineFormFieldList?: IObject[];
16
+ /**是否级联字段模式 */
17
+ cascadeField?: boolean;
18
+ /**数据权限时-是否开启校验 */
19
+ hasPermScopeError?: boolean;
20
+ /** 搜索类型-算子 必传,schema中的SEARCH_TYPE */
21
+ searchType: Record<string | 'more', IObject>;
22
+ }
23
+ declare const _default: import('vue').DefineComponent<Props, {
24
+ getDataRulesResult: () => {
25
+ exp?: undefined;
26
+ error: never;
27
+ query?: undefined;
28
+ varKeys?: undefined;
29
+ treeStr?: undefined;
30
+ typeMap?: undefined;
31
+ dataRuleEnabled: boolean;
32
+ operator: any;
33
+ } | {
34
+ error?: undefined;
35
+ query: {};
36
+ varKeys: string[];
37
+ exp: string;
38
+ treeStr: string;
39
+ typeMap: {};
40
+ dataRuleEnabled: boolean;
41
+ operator: any;
42
+ };
43
+ resetData: () => void;
44
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
45
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import data_rules_container_vue_vue_type_script_setup_true_name_data_rules_container_lang_default from "./data-rules-container.vue_vue_type_script_setup_true_name_data-rules-container_lang.mjs";
2
+ import './data-rules-container.vue_vue_type_style_index_0_lang.css';/* empty css */
3
+ //#region src/modules/data-rules-container/src/data-rules-container.vue
4
+ var data_rules_container_default = data_rules_container_vue_vue_type_script_setup_true_name_data_rules_container_lang_default;
5
+ //#endregion
6
+ export { data_rules_container_default as default };
@@ -0,0 +1,234 @@
1
+ import header_action_default from "./components/header-action.vue.mjs";
2
+ import { useDataRulesTree } from "./hooks/useDataRulesTree.mjs";
3
+ import tree_root_node_default from "./components/tree-root-node.vue.mjs";
4
+ import tree_action_node_default from "./components/tree-action-node.vue.mjs";
5
+ import perm_root_node_default from "./components/perm-root-node.vue.mjs";
6
+ import perm_action_node_default from "./components/perm-action-node.vue.mjs";
7
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, normalizeClass, normalizeStyle, onMounted, openBlock, ref, resolveComponent, toDisplayString, unref, watch, withCtx } from "vue";
8
+ import { t } from "@gct-paas/core";
9
+ //#region src/modules/data-rules-container/src/data-rules-container.vue?vue&type=script&setup=true&name=data-rules-container&lang.ts
10
+ var _hoisted_1 = {
11
+ key: 1,
12
+ class: "data-rules-header"
13
+ };
14
+ var data_rules_container_vue_vue_type_script_setup_true_name_data_rules_container_lang_default = /* @__PURE__ */ defineComponent({
15
+ __name: "data-rules-container",
16
+ props: {
17
+ fieldList: {},
18
+ detail: {},
19
+ type: {},
20
+ readonly: { type: Boolean },
21
+ isDesign: { type: Boolean },
22
+ mainModelKey: {},
23
+ isPageDesigner: { type: Boolean },
24
+ isOnlineFormDesigner: { type: Boolean },
25
+ allowClear: { type: Boolean },
26
+ excludeValueType: {},
27
+ excludeOperatorType: {},
28
+ apiConfig: {},
29
+ onlineFormFieldList: {},
30
+ cascadeField: { type: Boolean },
31
+ hasPermScopeError: { type: Boolean },
32
+ searchType: {}
33
+ },
34
+ setup(__props, { expose: __expose }) {
35
+ const props = __props;
36
+ const { showDataRulesTree, editDataRulesTree, setTree, getDataRules, resetTree, getAllExpandedKeys, addNewRow } = useDataRulesTree(props.readonly);
37
+ const dataRuleEnabled = ref(false);
38
+ const treeExpandedKeys = ref([]);
39
+ const selectFiledKeys = ref([]);
40
+ const isFilterConfig = computed(() => {
41
+ return props.type === "filterConfig";
42
+ });
43
+ const isBusinessFlow = computed(() => {
44
+ return props.type === "businessFlow";
45
+ });
46
+ const isEdhrBuiltPerms = computed(() => {
47
+ return props.type === "edhrBuiltPerms";
48
+ });
49
+ const isPermScope = computed(() => {
50
+ return props.type === "permissionScope";
51
+ });
52
+ const dataRulesTree = computed(() => {
53
+ return props.readonly ? showDataRulesTree.value : editDataRulesTree.value;
54
+ });
55
+ const fieldConditionList = computed(() => {
56
+ return isBusinessFlow.value || isEdhrBuiltPerms.value || isPermScope.value ? props.fieldList : props.fieldList?.filter((item) => Object.keys(props.searchType).includes(item.type));
57
+ });
58
+ const isAllowClear = computed(() => {
59
+ return props.allowClear && dataRulesTree.value.length == 1 && dataRulesTree.value[0]?.children?.length == 1 || props.allowClear && isPermScope.value;
60
+ });
61
+ function setDetail() {
62
+ if (props.detail) {
63
+ dataRuleEnabled.value = props.detail.dataRuleEnabled;
64
+ setTree(props.detail.dataRuleConfig);
65
+ }
66
+ }
67
+ watch(() => props.detail, () => {
68
+ setDetail();
69
+ }, { deep: true });
70
+ watch(() => dataRulesTree, () => {
71
+ const obj = getAllExpandedKeys();
72
+ treeExpandedKeys.value = obj.allExpandedKeys;
73
+ selectFiledKeys.value = obj.selectFiledKeys;
74
+ }, { deep: true });
75
+ const getDataRulesResult = () => {
76
+ const config = getDataRules(props.type, props.mainModelKey);
77
+ return {
78
+ dataRuleEnabled: dataRuleEnabled.value,
79
+ ...config,
80
+ operator: isPermScope.value ? dataRulesTree.value[0]?.operatorType : void 0
81
+ };
82
+ };
83
+ const resetData = () => {
84
+ resetTree();
85
+ };
86
+ const handleAddRow = () => {
87
+ const data = dataRulesTree.value[0];
88
+ addNewRow(data?.key || "root");
89
+ };
90
+ watch(() => props.hasPermScopeError, (val) => {
91
+ if (!props.readonly && val) editDataRulesTree.value[0]?.children?.forEach((item) => {
92
+ item.hasPermScopeError = val;
93
+ });
94
+ }, { immediate: true });
95
+ onMounted(() => {
96
+ setDetail();
97
+ });
98
+ __expose({
99
+ getDataRulesResult,
100
+ resetData
101
+ });
102
+ return (_ctx, _cache) => {
103
+ const _component_a_tree = resolveComponent("a-tree");
104
+ const _component_plus_outlined = resolveComponent("plus-outlined");
105
+ const _component_a_button = resolveComponent("a-button");
106
+ return openBlock(), createElementBlock("div", { class: normalizeClass(["data-rules-container", isPermScope.value ? "perm-scope-style" : ""]) }, [
107
+ !isFilterConfig.value && !__props.isDesign && !isBusinessFlow.value && !isEdhrBuiltPerms.value && !isPermScope.value ? (openBlock(), createBlock(header_action_default, {
108
+ key: 0,
109
+ checked: dataRuleEnabled.value,
110
+ "onUpdate:checked": _cache[0] || (_cache[0] = ($event) => dataRuleEnabled.value = $event),
111
+ title: unref(t)("sys.appDesigner.rulesGroup"),
112
+ style: normalizeStyle(dataRuleEnabled.value ? { borderBottom: "1px solid #eaeaea" } : {})
113
+ }, null, 8, [
114
+ "checked",
115
+ "title",
116
+ "style"
117
+ ])) : !__props.readonly && !__props.isDesign && !isBusinessFlow.value && !isEdhrBuiltPerms.value && !isPermScope.value ? (openBlock(), createElementBlock("div", _hoisted_1, toDisplayString(unref(t)("sys.model.viewFilterCondition")), 1)) : createCommentVNode("", true),
118
+ isFilterConfig.value || dataRuleEnabled.value || isBusinessFlow.value || isEdhrBuiltPerms.value || isPermScope.value ? (openBlock(), createBlock(_component_a_tree, {
119
+ key: 2,
120
+ "expanded-keys": treeExpandedKeys.value,
121
+ "onUpdate:expandedKeys": _cache[1] || (_cache[1] = ($event) => treeExpandedKeys.value = $event),
122
+ class: "data-rules-container-tree",
123
+ "tree-data": dataRulesTree.value,
124
+ "default-expand-all": true,
125
+ "block-node": true,
126
+ selectable: false,
127
+ "show-line": { showLeafIcon: false }
128
+ }, {
129
+ title: withCtx(({ data }) => [data.type === "group" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [!isPermScope.value ? (openBlock(), createBlock(tree_root_node_default, {
130
+ key: 0,
131
+ id: data.key,
132
+ level: data.level,
133
+ data,
134
+ "operator-type": data.operatorType,
135
+ readonly: __props.readonly
136
+ }, null, 8, [
137
+ "id",
138
+ "level",
139
+ "data",
140
+ "operator-type",
141
+ "readonly"
142
+ ])) : (openBlock(), createBlock(perm_root_node_default, {
143
+ key: 1,
144
+ id: data.key,
145
+ data,
146
+ "operator-type": data.operatorType,
147
+ readonly: __props.readonly
148
+ }, null, 8, [
149
+ "id",
150
+ "data",
151
+ "operator-type",
152
+ "readonly"
153
+ ]))], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [!isPermScope.value ? (openBlock(), createBlock(tree_action_node_default, {
154
+ key: 0,
155
+ data,
156
+ "field-list": fieldConditionList.value,
157
+ "select-filed-keys": selectFiledKeys.value,
158
+ "filter-type": __props.type,
159
+ readonly: __props.readonly,
160
+ "main-model-key": __props.mainModelKey,
161
+ "online-form-field-list": __props.onlineFormFieldList,
162
+ "is-page-designer": __props.isPageDesigner,
163
+ "is-online-form-designer": __props.isOnlineFormDesigner,
164
+ "is-allow-clear": isAllowClear.value,
165
+ "exclude-value-type": __props.excludeValueType,
166
+ "exclude-operator-type": __props.excludeOperatorType,
167
+ "api-config": __props.apiConfig,
168
+ "model-name": __props.detail?.modelName,
169
+ "cascade-field": __props.cascadeField,
170
+ "search-type": __props.searchType
171
+ }, null, 8, [
172
+ "data",
173
+ "field-list",
174
+ "select-filed-keys",
175
+ "filter-type",
176
+ "readonly",
177
+ "main-model-key",
178
+ "online-form-field-list",
179
+ "is-page-designer",
180
+ "is-online-form-designer",
181
+ "is-allow-clear",
182
+ "exclude-value-type",
183
+ "exclude-operator-type",
184
+ "api-config",
185
+ "model-name",
186
+ "cascade-field",
187
+ "search-type"
188
+ ])) : (openBlock(), createBlock(perm_action_node_default, {
189
+ key: 1,
190
+ data,
191
+ "field-list": fieldConditionList.value,
192
+ "select-filed-keys": selectFiledKeys.value,
193
+ "filter-type": __props.type,
194
+ readonly: __props.readonly,
195
+ "is-page-designer": __props.isPageDesigner,
196
+ "is-allow-clear": isAllowClear.value,
197
+ "exclude-value-type": __props.excludeValueType,
198
+ "exclude-operator-type": __props.excludeOperatorType,
199
+ "api-config": __props.apiConfig,
200
+ "model-name": __props.detail?.modelName,
201
+ "cascade-field": __props.cascadeField,
202
+ "has-perm-scope-error": data.hasPermScopeError
203
+ }, null, 8, [
204
+ "data",
205
+ "field-list",
206
+ "select-filed-keys",
207
+ "filter-type",
208
+ "readonly",
209
+ "is-page-designer",
210
+ "is-allow-clear",
211
+ "exclude-value-type",
212
+ "exclude-operator-type",
213
+ "api-config",
214
+ "model-name",
215
+ "cascade-field",
216
+ "has-perm-scope-error"
217
+ ]))], 64))]),
218
+ _: 1
219
+ }, 8, ["expanded-keys", "tree-data"])) : createCommentVNode("", true),
220
+ isPermScope.value ? (openBlock(), createBlock(_component_a_button, {
221
+ key: 3,
222
+ class: "perm-root-node-add-row",
223
+ type: "link",
224
+ onClick: _cache[2] || (_cache[2] = ($event) => handleAddRow())
225
+ }, {
226
+ default: withCtx(() => [createVNode(_component_plus_outlined), createTextVNode(" " + toDisplayString(unref(t)("sys.add")), 1)]),
227
+ _: 1
228
+ })) : createCommentVNode("", true)
229
+ ], 2);
230
+ };
231
+ }
232
+ });
233
+ //#endregion
234
+ export { data_rules_container_vue_vue_type_script_setup_true_name_data_rules_container_lang_default as default };
@@ -0,0 +1,149 @@
1
+ .data-rules-container {
2
+ padding: 0 20px;
3
+ }
4
+ .data-rules-container .data-rules-header {
5
+ color: #000;
6
+ font-weight: 600;
7
+ }
8
+ .data-rules-container .data-rules-container-tree.ant-tree-show-line .ant-tree-indent-unit::before {
9
+ border-right-color: transparent;
10
+ }
11
+ .data-rules-container .data-rules-container-tree {
12
+ padding-right: 2px;
13
+ }
14
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode {
15
+ align-items: center;
16
+ min-width: 0;
17
+ padding: 0;
18
+ }
19
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode:hover {
20
+ background-color: transparent !important;
21
+ }
22
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode.tree-group {
23
+ padding: 14px 0 10px;
24
+ }
25
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode.tree-group .ant-tree-indent .ant-tree-indent-unit:last-child::before {
26
+ content: '';
27
+ display: inline-block;
28
+ position: absolute;
29
+ top: -44px;
30
+ right: 12px;
31
+ bottom: 16px;
32
+ border-right: 1px dashed #dbdbdb;
33
+ }
34
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode.tree-group .ant-tree-indent .ant-tree-indent-unit:last-child::after {
35
+ content: '';
36
+ display: inline-block;
37
+ position: absolute;
38
+ left: 50%;
39
+ width: 12px;
40
+ height: 50%;
41
+ border-bottom: 1px dashed #dbdbdb;
42
+ }
43
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode:not(.tree-group) .ant-tree-indent .ant-tree-indent-unit:first-child {
44
+ width: 0;
45
+ }
46
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode:not(.tree-group) .ant-tree-indent .ant-tree-indent-unit::before {
47
+ top: -24px;
48
+ bottom: -30px;
49
+ border-right: 1px dashed #dbdbdb;
50
+ }
51
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode:not(.tree-group) .ant-tree-node-content-wrapper {
52
+ margin-bottom: 8px;
53
+ padding: 8px;
54
+ border-radius: 0;
55
+ background-color: #f5f6f7;
56
+ }
57
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode .ant-tree-switcher {
58
+ display: flex;
59
+ flex-shrink: 0;
60
+ align-items: center;
61
+ justify-content: center;
62
+ height: 32px;
63
+ color: #797a7d;
64
+ line-height: 32px;
65
+ }
66
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode .ant-tree-switcher .ant-tree-switcher-leaf-line::before {
67
+ bottom: -20px;
68
+ border-right: 1px dashed #dbdbdb;
69
+ }
70
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode .ant-tree-switcher .ant-tree-switcher-leaf-line::after {
71
+ width: 12px;
72
+ height: 20px;
73
+ border-bottom: 1px dashed #dbdbdb;
74
+ }
75
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode .ant-tree-node-content-wrapper {
76
+ display: flex;
77
+ flex: 1 1 0%;
78
+ align-items: center;
79
+ min-width: 0;
80
+ line-height: 32px;
81
+ }
82
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode .ant-tree-node-content-wrapper .ant-tree-title {
83
+ flex: 1 1 0%;
84
+ min-width: 0;
85
+ width: 100%;
86
+ }
87
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode.first-node .ant-tree-switcher {
88
+ color: #797a7d;
89
+ }
90
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode.first-node .ant-tree-switcher .ant-tree-switcher-leaf-line::before {
91
+ top: -16px !important;
92
+ bottom: -20px !important;
93
+ }
94
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode.first-node .ant-tree-switcher .ant-tree-switcher-leaf-line::after {
95
+ height: 28px;
96
+ }
97
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode.first-node .ant-tree-node-content-wrapper {
98
+ border-top-left-radius: 4px !important;
99
+ border-top-right-radius: 4px !important;
100
+ }
101
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode.last-node .ant-tree-node-content-wrapper {
102
+ border-bottom-right-radius: 4px !important;
103
+ border-bottom-left-radius: 4px !important;
104
+ }
105
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode.first-node.last-node .ant-tree-switcher .ant-tree-switcher-leaf-line::before {
106
+ height: 44px !important;
107
+ }
108
+ .data-rules-container .data-rules-container-tree .ant-tree-treenode-leaf-last .ant-tree-switcher-leaf-line::before {
109
+ height: 20px !important;
110
+ }
111
+ .data-rules-container.perm-scope-style {
112
+ padding: 0;
113
+ }
114
+ .data-rules-container.perm-scope-style .data-rules-container-tree .ant-tree-treenode.tree-group {
115
+ padding-top: 2px;
116
+ }
117
+ .data-rules-container.perm-scope-style .ant-tree .ant-tree-node-content-wrapper {
118
+ padding: 0;
119
+ border-radius: 4px !important;
120
+ }
121
+ .data-rules-container.perm-scope-style .data-rules-container-tree .ant-tree-treenode:not(.tree-group) .ant-tree-node-content-wrapper {
122
+ padding-left: 12px;
123
+ padding-right: 10px;
124
+ margin-bottom: 4px;
125
+ background-color: #f9fafb;
126
+ }
127
+ .data-rules-container.perm-scope-style .ant-tree-switcher {
128
+ width: 0;
129
+ }
130
+ .data-rules-container.perm-scope-style .ant-tree-switcher .anticon svg {
131
+ display: none;
132
+ }
133
+ .data-rules-container.perm-scope-style .ant-tree-switcher .ant-tree-switcher-leaf-line::before {
134
+ display: none;
135
+ }
136
+ .data-rules-container.perm-scope-style .ant-tree-switcher .ant-tree-switcher-leaf-line::after {
137
+ display: none;
138
+ }
139
+ .data-rules-container.perm-scope-style .perm-root-node-add-row {
140
+ padding: 0;
141
+ line-height: 20px;
142
+ height: 20px;
143
+ margin-top: 8px;
144
+ border-width: 0;
145
+ color: var(--ant-primary-color);
146
+ }
147
+ .data-rules-container.perm-scope-style .ant-btn > .anticon + span {
148
+ margin-left: 4px;
149
+ }
@@ -0,0 +1,14 @@
1
+ import { FieldMetaDTO } from '@gct-paas/api/apaas';
2
+ interface Props {
3
+ /** 模型key */
4
+ dataSource?: FieldMetaDTO[];
5
+ detail: IObject;
6
+ }
7
+ declare const _default: import('vue').DefineComponent<Props, {
8
+ getFieldRoleResult: () => {
9
+ fieldPermissionEnabled: boolean;
10
+ selectRows: any;
11
+ };
12
+ resetData: () => void;
13
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
14
+ export default _default;
@@ -0,0 +1,5 @@
1
+ import field_role_container_vue_vue_type_script_setup_true_name_field_role_container_lang_default from "./field-role-container.vue_vue_type_script_setup_true_name_field-role-container_lang.mjs";
2
+ //#region src/modules/data-rules-container/src/field-role-container.vue
3
+ var field_role_container_default = field_role_container_vue_vue_type_script_setup_true_name_field_role_container_lang_default;
4
+ //#endregion
5
+ export { field_role_container_default as default };
@@ -0,0 +1,73 @@
1
+ import header_action_default from "./components/header-action.vue.mjs";
2
+ import { createCommentVNode, createElementBlock, createVNode, defineComponent, openBlock, ref, resolveComponent, unref, watch } from "vue";
3
+ import { t } from "@gct-paas/core";
4
+ //#region src/modules/data-rules-container/src/field-role-container.vue?vue&type=script&setup=true&name=field-role-container&lang.ts
5
+ var _hoisted_1 = { class: "field-role-container" };
6
+ var _hoisted_2 = {
7
+ key: 0,
8
+ class: "table-wrap"
9
+ };
10
+ var field_role_container_vue_vue_type_script_setup_true_name_field_role_container_lang_default = /* @__PURE__ */ defineComponent({
11
+ __name: "field-role-container",
12
+ props: {
13
+ dataSource: {},
14
+ detail: {}
15
+ },
16
+ setup(__props, { expose: __expose }) {
17
+ const columns = [{
18
+ title: t("sys.appDesigner.field"),
19
+ dataIndex: "name"
20
+ }];
21
+ const props = __props;
22
+ const selectRows = ref();
23
+ const fieldPermissionEnabled = ref(false);
24
+ const rowSelection = ref({
25
+ selectedRowKeys: [],
26
+ onChange: handleRowChange
27
+ });
28
+ watch([() => props.detail, () => props.dataSource], () => {
29
+ if (props.detail) {
30
+ fieldPermissionEnabled.value = props.detail.fieldPermissionEnabled;
31
+ selectRows.value = props.dataSource?.filter((item) => props.detail.fieldPermission.includes(item.key));
32
+ rowSelection.value.selectedRowKeys = selectRows.value?.map((item) => item.key);
33
+ }
34
+ }, { deep: true });
35
+ function handleRowChange(selectedRowKeys, selectedRows) {
36
+ rowSelection.value.selectedRowKeys = selectedRowKeys;
37
+ selectRows.value = selectedRows;
38
+ }
39
+ const getFieldRoleResult = () => {
40
+ return {
41
+ fieldPermissionEnabled: fieldPermissionEnabled.value,
42
+ selectRows: selectRows.value?.map((item) => item.key) || []
43
+ };
44
+ };
45
+ const resetData = () => {
46
+ selectRows.value = void 0;
47
+ fieldPermissionEnabled.value = false;
48
+ rowSelection.value.selectedRowKeys = [];
49
+ };
50
+ __expose({
51
+ getFieldRoleResult,
52
+ resetData
53
+ });
54
+ return (_ctx, _cache) => {
55
+ const _component_a_table = resolveComponent("a-table");
56
+ return openBlock(), createElementBlock("div", _hoisted_1, [createVNode(header_action_default, {
57
+ checked: fieldPermissionEnabled.value,
58
+ "onUpdate:checked": _cache[0] || (_cache[0] = ($event) => fieldPermissionEnabled.value = $event),
59
+ title: unref(t)("sys.appDesigner.fieldList")
60
+ }, null, 8, ["checked", "title"]), fieldPermissionEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_2, [createVNode(_component_a_table, {
61
+ "data-source": __props.dataSource,
62
+ columns,
63
+ "show-index-column": false,
64
+ pagination: false,
65
+ striped: false,
66
+ bordered: true,
67
+ "row-selection": rowSelection.value
68
+ }, null, 8, ["data-source", "row-selection"])])) : createCommentVNode("", true)]);
69
+ };
70
+ }
71
+ });
72
+ //#endregion
73
+ export { field_role_container_vue_vue_type_script_setup_true_name_field_role_container_lang_default as default };
@@ -0,0 +1,30 @@
1
+ export declare function useDataRulesTree(isReadyOnly: boolean): {
2
+ setTree: (data: string) => void;
3
+ showDataRulesTree: import('vue').Ref<IObject[], IObject[]>;
4
+ editDataRulesTree: import('vue').Ref<IObject[], IObject[]>;
5
+ addNewGroup: (id: string) => void;
6
+ addNewRow: (pid: string, id?: string) => void;
7
+ deleteGroup: (id: string) => void;
8
+ deleteRow: (id: string) => void;
9
+ updateNodeItem: (id: string, attr: string, value: IObject | string | string[] | number | null | undefined, opts?: IObject) => void;
10
+ getDataRules: (type: string, mainModelKey: string) => {
11
+ exp?: undefined;
12
+ error: never;
13
+ query?: undefined;
14
+ varKeys?: undefined;
15
+ treeStr?: undefined;
16
+ typeMap?: undefined;
17
+ } | {
18
+ error?: undefined;
19
+ query: {};
20
+ varKeys: string[];
21
+ exp: string;
22
+ treeStr: string;
23
+ typeMap: {};
24
+ };
25
+ resetTree: () => void;
26
+ getAllExpandedKeys: () => {
27
+ allExpandedKeys: any[];
28
+ selectFiledKeys: any[];
29
+ };
30
+ };