@gct-paas/core-web 0.1.6-dev.6 → 0.1.6-dev.8
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-DFKXqgaG.js +1 -0
- package/dist/_plugin-vue_export-helper-CGzGcWFX.js +1 -0
- package/dist/index.min.css +1 -1
- package/dist/loader.esm.min.js +1 -1
- package/dist/{monaco-editor-BTqXEIZI.js → monaco-editor-CQJ9TMzD.js} +1 -1
- package/dist/{template-1ZQd8Z1w.js → template-CXn8oAg5.js} +1 -1
- package/es/components/index.d.ts +1 -0
- package/es/components/index.mjs +2 -0
- package/es/components/paas-bpmn-log/components/approval-node.vue.mjs +2 -2
- package/es/components/paas-bpmn-log/components/approval-node.vue_vue_type_script_setup_true_lang.mjs +1 -2
- 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
- package/es/components/paas-bpmn-log/paas-bpmn-log.vue.mjs +2 -2
- package/es/components/paas-bpmn-log/paas-bpmn-log.vue_vue_type_script_setup_true_lang.mjs +1 -2
- 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
- package/es/components/select-user-modal/deptUser.vue.d.ts +9 -0
- package/es/components/select-user-modal/deptUser.vue.mjs +7 -0
- package/es/components/select-user-modal/deptUser.vue_vue_type_script_setup_true_name_deptUser_lang.mjs +296 -0
- package/es/components/select-user-modal/deptUser.vue_vue_type_style_index_0_scoped_02dff7bf_lang.css +40 -0
- package/es/components/select-user-modal/index.d.ts +2 -0
- package/es/components/select-user-modal/index.mjs +1 -0
- package/es/components/select-user-modal/range-role.vue.d.ts +9 -0
- package/es/components/select-user-modal/range-role.vue.mjs +7 -0
- package/es/components/select-user-modal/range-role.vue_vue_type_script_setup_true_name_role_lang.mjs +137 -0
- package/es/components/select-user-modal/range-role.vue_vue_type_style_index_0_scoped_1241bcdf_lang.css +34 -0
- package/es/components/select-user-modal/select-user-modal.vue.d.ts +12 -0
- package/es/components/select-user-modal/select-user-modal.vue.mjs +7 -0
- package/es/components/select-user-modal/select-user-modal.vue_vue_type_script_setup_true_name_select-user-modal_lang.mjs +123 -0
- package/es/components/select-user-modal/select-user-modal.vue_vue_type_style_index_0_scoped_2c0f184c_lang.css +14 -0
- package/es/components/select-user-modal/userGroup.vue.d.ts +9 -0
- package/es/components/select-user-modal/userGroup.vue.mjs +7 -0
- package/es/components/select-user-modal/userGroup.vue_vue_type_script_setup_true_name_userGroup_lang.mjs +149 -0
- package/es/components/select-user-modal/userGroup.vue_vue_type_style_index_0_scoped_47d1cbaa_lang.css +19 -0
- package/es/create-app-vue.d.ts +2 -2
- package/es/create-app-vue.mjs +3 -3
- package/es/index.d.ts +1 -0
- package/es/index.mjs +5 -1
- package/es/modules/data-rules-container/index.d.ts +3 -0
- package/es/modules/data-rules-container/index.mjs +2 -0
- package/es/modules/data-rules-container/src/components/header-action.vue.d.ts +10 -0
- package/es/modules/data-rules-container/src/components/header-action.vue.mjs +7 -0
- package/es/modules/data-rules-container/src/components/header-action.vue_vue_type_script_setup_true_name_header-action_lang.mjs +36 -0
- package/es/modules/data-rules-container/src/components/header-action.vue_vue_type_style_index_0_scoped_4e281013_lang.css +32 -0
- package/es/modules/data-rules-container/src/components/ndo-select-cmp.vue.d.ts +8 -0
- package/es/modules/data-rules-container/src/components/ndo-select-cmp.vue.mjs +5 -0
- package/es/modules/data-rules-container/src/components/ndo-select-cmp.vue_vue_type_script_setup_true_lang.mjs +266 -0
- package/es/modules/data-rules-container/src/components/perm-action-node.vue.d.ts +22 -0
- package/es/modules/data-rules-container/src/components/perm-action-node.vue.mjs +7 -0
- 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
- package/es/modules/data-rules-container/src/components/perm-action-node.vue_vue_type_style_index_0_scoped_417c660f_lang.css +73 -0
- package/es/modules/data-rules-container/src/components/perm-root-node.vue.d.ts +3 -0
- package/es/modules/data-rules-container/src/components/perm-root-node.vue.mjs +7 -0
- 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
- package/es/modules/data-rules-container/src/components/perm-root-node.vue_vue_type_style_index_0_scoped_ca5c9d20_lang.css +74 -0
- package/es/modules/data-rules-container/src/components/rdo-select-cmp.vue.d.ts +11 -0
- package/es/modules/data-rules-container/src/components/rdo-select-cmp.vue.mjs +5 -0
- package/es/modules/data-rules-container/src/components/rdo-select-cmp.vue_vue_type_script_setup_true_lang.mjs +93 -0
- package/es/modules/data-rules-container/src/components/request-select-cmp.vue.d.ts +9 -0
- package/es/modules/data-rules-container/src/components/request-select-cmp.vue.mjs +5 -0
- 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
- package/es/modules/data-rules-container/src/components/request-tree-select-cmp.vue.d.ts +3 -0
- package/es/modules/data-rules-container/src/components/request-tree-select-cmp.vue.mjs +6 -0
- 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
- package/es/modules/data-rules-container/src/components/request-tree-select-cmp.vue_vue_type_style_index_0_lang.css +21 -0
- package/es/modules/data-rules-container/src/components/select-modal-cmp.vue.d.ts +32 -0
- package/es/modules/data-rules-container/src/components/select-modal-cmp.vue.mjs +5 -0
- 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
- package/es/modules/data-rules-container/src/components/select-more.vue.d.ts +8 -0
- package/es/modules/data-rules-container/src/components/select-more.vue.mjs +5 -0
- package/es/modules/data-rules-container/src/components/select-more.vue_vue_type_script_setup_true_lang.mjs +26 -0
- package/es/modules/data-rules-container/src/components/select-userdep-cmp.vue.d.ts +12 -0
- package/es/modules/data-rules-container/src/components/select-userdep-cmp.vue.mjs +5 -0
- 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
- package/es/modules/data-rules-container/src/components/tree-action-node.vue.d.ts +25 -0
- package/es/modules/data-rules-container/src/components/tree-action-node.vue.mjs +7 -0
- 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
- package/es/modules/data-rules-container/src/components/tree-action-node.vue_vue_type_style_index_0_scoped_46368089_lang.css +67 -0
- package/es/modules/data-rules-container/src/components/tree-root-node.vue.d.ts +3 -0
- package/es/modules/data-rules-container/src/components/tree-root-node.vue.mjs +7 -0
- 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
- package/es/modules/data-rules-container/src/components/tree-root-node.vue_vue_type_style_index_0_scoped_37e323fb_lang.css +29 -0
- package/es/modules/data-rules-container/src/components/tree-select-cmp.vue.d.ts +3 -0
- package/es/modules/data-rules-container/src/components/tree-select-cmp.vue.mjs +5 -0
- package/es/modules/data-rules-container/src/components/tree-select-cmp.vue_vue_type_script_name_gct-select_setup_true_lang.mjs +89 -0
- package/es/modules/data-rules-container/src/constant/config.d.ts +146 -0
- package/es/modules/data-rules-container/src/constant/config.mjs +548 -0
- package/es/modules/data-rules-container/src/constant/interface.d.ts +85 -0
- package/es/modules/data-rules-container/src/constant/interface.mjs +36 -0
- package/es/modules/data-rules-container/src/data-rules-container.vue.d.ts +45 -0
- package/es/modules/data-rules-container/src/data-rules-container.vue.mjs +6 -0
- package/es/modules/data-rules-container/src/data-rules-container.vue_vue_type_script_setup_true_name_data-rules-container_lang.mjs +234 -0
- package/es/modules/data-rules-container/src/data-rules-container.vue_vue_type_style_index_0_lang.css +149 -0
- package/es/modules/data-rules-container/src/field-role-container.vue.d.ts +14 -0
- package/es/modules/data-rules-container/src/field-role-container.vue.mjs +5 -0
- package/es/modules/data-rules-container/src/field-role-container.vue_vue_type_script_setup_true_name_field-role-container_lang.mjs +73 -0
- package/es/modules/data-rules-container/src/hooks/useDataRulesTree.d.ts +30 -0
- package/es/modules/data-rules-container/src/hooks/useDataRulesTree.mjs +317 -0
- package/es/modules/data-rules-container/src/hooks/useEmitter.d.ts +10 -0
- package/es/modules/data-rules-container/src/hooks/useRdoHooks.d.ts +37 -0
- package/es/modules/data-rules-container/src/hooks/useRdoHooks.mjs +144 -0
- package/es/modules/data-rules-container/src/hooks/useRole.d.ts +8 -0
- package/es/modules/data-rules-container/src/typing.d.ts +40 -0
- package/package.json +9 -9
- package/dist/ColorPicker-DGQQb8I7.js +0 -1
- package/dist/_plugin-vue_export-helper-C9hXqKoS.js +0 -1
- 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 };
|
package/es/modules/data-rules-container/src/data-rules-container.vue_vue_type_style_index_0_lang.css
ADDED
|
@@ -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
|
+
};
|