lw-cdp-ui 1.2.43 → 1.2.45
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/components/lwFlow/index.vue +29 -26
- package/dist/components/lwFlow/nodeEdit/basicSettings.vue +8 -0
- package/dist/components/lwFlow/nodeEdit/index.vue +14 -2
- package/dist/components/lwFlow/nodeEdit/styleSettings.vue +3 -3
- package/dist/components/lwFlow/nodesData/datas/base.js +55 -2
- package/dist/components/lwFlow/nodesData/datas/joiner.js +17 -0
- package/dist/components/lwFlow/nodesData/datas/source.js +32 -73
- package/dist/components/lwFlow/nodesData/datas/target.js +17 -1
- package/dist/components/lwFormMini/FormItem.vue +5 -0
- package/dist/components/lwFormMini/index.vue +1 -1
- package/dist/components/lwLayout/components/tags.vue +1 -0
- package/dist/components/lwUpload/index.vue +1 -0
- package/dist/lw-cdp-ui.esm.js +1058 -975
- package/dist/lw-cdp-ui.umd.js +10 -10
- package/dist/style.css +1 -1
- package/package.json +3 -3
|
@@ -21,9 +21,22 @@
|
|
|
21
21
|
:drawerShow="drawerShow"
|
|
22
22
|
:nodeData="clickNode"
|
|
23
23
|
:nodesDataConfig="nodesDataConfig"
|
|
24
|
-
|
|
24
|
+
:soltList="soltList"
|
|
25
|
+
@onClose="nodeEditClose">
|
|
26
|
+
<template v-slot:[soltName]="{itemCur, formCur}"
|
|
27
|
+
v-for="soltName in soltList">
|
|
28
|
+
<slot :name="soltName"
|
|
29
|
+
:itemCur="itemCur"
|
|
30
|
+
:formCur="formCur">
|
|
31
|
+
<el-tag type="danger">[{{ soltName }}]
|
|
32
|
+
没有这个默认组件也未自定义插槽内容</el-tag>
|
|
33
|
+
</slot>
|
|
34
|
+
</template>
|
|
35
|
+
<template #mySolt>
|
|
36
|
+
sssssssssssssssss
|
|
37
|
+
</template>
|
|
38
|
+
</nodeEdit>
|
|
25
39
|
</template>
|
|
26
|
-
|
|
27
40
|
</div>
|
|
28
41
|
</template>
|
|
29
42
|
|
|
@@ -83,41 +96,31 @@ export default {
|
|
|
83
96
|
return {}
|
|
84
97
|
}
|
|
85
98
|
},
|
|
86
|
-
|
|
87
|
-
* 节点数据 在没有 modelValue时 用以自动创建节点 默认使用modelValue
|
|
88
|
-
*/
|
|
99
|
+
// 节点数据 在没有 modelValue时 用以自动创建节点 默认使用modelValue
|
|
89
100
|
nodes: {
|
|
90
101
|
type: Array,
|
|
91
102
|
default: () => {
|
|
92
103
|
return []
|
|
93
104
|
}
|
|
94
105
|
},
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
//
|
|
103
|
-
// },
|
|
104
|
-
/**
|
|
105
|
-
* 是否显示默认节点
|
|
106
|
-
*/
|
|
106
|
+
// 节点插槽列表
|
|
107
|
+
soltList: {
|
|
108
|
+
type: Array,
|
|
109
|
+
default: () => {
|
|
110
|
+
return []
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
// 是否显示默认节点
|
|
107
114
|
showDefaultNode: {
|
|
108
115
|
type: Boolean,
|
|
109
116
|
default: true
|
|
110
117
|
},
|
|
111
|
-
|
|
112
|
-
* 是否仅查看
|
|
113
|
-
*/
|
|
118
|
+
// 是否仅查看
|
|
114
119
|
isView: {
|
|
115
120
|
type: Boolean,
|
|
116
121
|
default: false
|
|
117
122
|
},
|
|
118
|
-
|
|
119
|
-
* 需要展示的节点分组 不传默认展示所有内置节点
|
|
120
|
-
*/
|
|
123
|
+
// 需要展示的节点分组 不传默认展示所有内置节点
|
|
121
124
|
showNodeGroup: {
|
|
122
125
|
type: Array,
|
|
123
126
|
default: []
|
|
@@ -138,7 +141,7 @@ export default {
|
|
|
138
141
|
}
|
|
139
142
|
}
|
|
140
143
|
*/
|
|
141
|
-
|
|
144
|
+
nodesDataConfig: {
|
|
142
145
|
type: Object,
|
|
143
146
|
default: {}
|
|
144
147
|
},
|
|
@@ -559,7 +562,7 @@ export default {
|
|
|
559
562
|
this.logicFlow.setProperties(data.id, {
|
|
560
563
|
error: false
|
|
561
564
|
});
|
|
562
|
-
|
|
565
|
+
|
|
563
566
|
this.clickNode = data
|
|
564
567
|
this.drawerShow = true
|
|
565
568
|
|
|
@@ -577,7 +580,7 @@ export default {
|
|
|
577
580
|
let { formConfig } = nodeDatas[node.type];
|
|
578
581
|
let { formItems } = formConfig;
|
|
579
582
|
let { data } = node.properties;
|
|
580
|
-
|
|
583
|
+
|
|
581
584
|
if (formItems?.length > 0) {
|
|
582
585
|
for (const item of formItems) {
|
|
583
586
|
let value = data ? data[item?.name] : data;
|
|
@@ -35,6 +35,13 @@
|
|
|
35
35
|
</lwTableForm>
|
|
36
36
|
</template>
|
|
37
37
|
|
|
38
|
+
<template v-slot:[soltName]="{itemCur, formCur}"
|
|
39
|
+
v-for="soltName in soltList">
|
|
40
|
+
<slot :name="soltName"
|
|
41
|
+
:itemCur="itemCur"
|
|
42
|
+
:formCur="formCur"></slot>
|
|
43
|
+
</template>
|
|
44
|
+
|
|
38
45
|
<span></span>
|
|
39
46
|
</lw-form-mini>
|
|
40
47
|
</template>
|
|
@@ -52,6 +59,7 @@ export default {
|
|
|
52
59
|
type: Object,
|
|
53
60
|
default: () => ({}),
|
|
54
61
|
},
|
|
62
|
+
soltList: { type: Array, default: () => { return [] } },
|
|
55
63
|
},
|
|
56
64
|
data() {
|
|
57
65
|
return {
|
|
@@ -36,7 +36,16 @@
|
|
|
36
36
|
<template v-else>
|
|
37
37
|
<basicSettings ref="dataFormRef"
|
|
38
38
|
v-model="dataForm.properties.data"
|
|
39
|
-
:
|
|
39
|
+
:soltList="soltList"
|
|
40
|
+
:config="config">
|
|
41
|
+
<template v-slot:[soltName]="{itemCur, formCur}"
|
|
42
|
+
v-for="soltName in soltList">
|
|
43
|
+
<slot :name="soltName"
|
|
44
|
+
:itemCur="itemCur"
|
|
45
|
+
:formCur="formCur"></slot>
|
|
46
|
+
</template>
|
|
47
|
+
|
|
48
|
+
</basicSettings>
|
|
40
49
|
</template>
|
|
41
50
|
|
|
42
51
|
</el-collapse-item>
|
|
@@ -52,6 +61,7 @@
|
|
|
52
61
|
</el-collapse-item>
|
|
53
62
|
</el-collapse>
|
|
54
63
|
</div>
|
|
64
|
+
|
|
55
65
|
<template #footer>
|
|
56
66
|
<el-button @click="close">取 消</el-button>
|
|
57
67
|
<el-button type="primary"
|
|
@@ -85,7 +95,8 @@ export default {
|
|
|
85
95
|
type: Object,
|
|
86
96
|
default: () => { }
|
|
87
97
|
},
|
|
88
|
-
drawerShow: { type: Boolean, default: false }
|
|
98
|
+
drawerShow: { type: Boolean, default: false },
|
|
99
|
+
soltList: { type: Array, default: () => { return [] } },
|
|
89
100
|
},
|
|
90
101
|
watch: {
|
|
91
102
|
drawerShow: {
|
|
@@ -223,6 +234,7 @@ export default {
|
|
|
223
234
|
|
|
224
235
|
// 取出对应节点的表单配置
|
|
225
236
|
let nodeConfig = nodeDatasMerge[this.nodeData.type]?.formConfig || {};
|
|
237
|
+
|
|
226
238
|
// 深拷贝,避免直接修改全局配置
|
|
227
239
|
nodeConfig = JSON.parse(JSON.stringify(nodeConfig));
|
|
228
240
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<lw-form-mini ref="dataFormRef"
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
:config="config"
|
|
4
|
+
v-model="dataForm">
|
|
5
5
|
<template #fontStyle>
|
|
6
6
|
<el-button size="small"
|
|
7
7
|
:type="dataForm.fontWeight === 'bold'? 'primary' : ''"
|
|
@@ -68,7 +68,7 @@ export default {
|
|
|
68
68
|
return {
|
|
69
69
|
labelWidth: '70px',
|
|
70
70
|
labelPosition: 'right',
|
|
71
|
-
size: '
|
|
71
|
+
size: 'default',
|
|
72
72
|
formItems: [
|
|
73
73
|
{
|
|
74
74
|
label: '背景色',
|
|
@@ -3,6 +3,60 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
export default {
|
|
6
|
+
// 表单内容
|
|
7
|
+
formConfig: {
|
|
8
|
+
labelWidth: '70px',
|
|
9
|
+
labelPosition: 'top',
|
|
10
|
+
formItems: [
|
|
11
|
+
{
|
|
12
|
+
label: '节点名称',
|
|
13
|
+
name: 'name',
|
|
14
|
+
value: '',
|
|
15
|
+
component: 'input',
|
|
16
|
+
options: {
|
|
17
|
+
placeholder: '请输入节点名称'
|
|
18
|
+
},
|
|
19
|
+
span: 24
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
label: '节点并行度',
|
|
23
|
+
name: 'para',
|
|
24
|
+
value: '',
|
|
25
|
+
component: 'number',
|
|
26
|
+
options: {
|
|
27
|
+
placeholder: '请输入节点并行度'
|
|
28
|
+
},
|
|
29
|
+
span: 24
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
label: '节点标签',
|
|
33
|
+
name: 'tags',
|
|
34
|
+
value: '',
|
|
35
|
+
component: 'tags',
|
|
36
|
+
span: 24
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
label: '描述信息',
|
|
40
|
+
name: 'desp',
|
|
41
|
+
value: '',
|
|
42
|
+
component: 'input',
|
|
43
|
+
options: {
|
|
44
|
+
placeholder: '请输入描述信息'
|
|
45
|
+
},
|
|
46
|
+
span: 24
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
label: '输出名称',
|
|
50
|
+
name: 'into',
|
|
51
|
+
value: '',
|
|
52
|
+
component: 'select',
|
|
53
|
+
options: {
|
|
54
|
+
placeholder: '请选择输出名称'
|
|
55
|
+
},
|
|
56
|
+
span: 24
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
},
|
|
6
60
|
// 数据来源
|
|
7
61
|
configKeyableSource: {
|
|
8
62
|
treeProps: {
|
|
@@ -66,14 +120,13 @@ export default {
|
|
|
66
120
|
}
|
|
67
121
|
]
|
|
68
122
|
},
|
|
69
|
-
|
|
123
|
+
// 映射动作
|
|
70
124
|
configMapAction: {
|
|
71
125
|
treeProps: {
|
|
72
126
|
children: 'fields'
|
|
73
127
|
},
|
|
74
128
|
rowKey: 'id',
|
|
75
129
|
formItems: [
|
|
76
|
-
|
|
77
130
|
{
|
|
78
131
|
label: '来源字段',
|
|
79
132
|
name: 'from',
|
|
@@ -23,6 +23,23 @@ export default {
|
|
|
23
23
|
span: 24,
|
|
24
24
|
rules: [{ required: true, message: '不能为空', trigger: 'blur' }]
|
|
25
25
|
},
|
|
26
|
+
{
|
|
27
|
+
label: '节点并行度',
|
|
28
|
+
name: 'para',
|
|
29
|
+
value: '',
|
|
30
|
+
component: 'number',
|
|
31
|
+
options: {
|
|
32
|
+
placeholder: '请输入节点并行度'
|
|
33
|
+
},
|
|
34
|
+
span: 24
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
label: '节点标签',
|
|
38
|
+
name: 'tags',
|
|
39
|
+
value: '',
|
|
40
|
+
component: 'tags',
|
|
41
|
+
span: 24
|
|
42
|
+
},
|
|
26
43
|
{
|
|
27
44
|
label: '连接模式',
|
|
28
45
|
name: 'mode',
|
|
@@ -26,7 +26,7 @@ export default {
|
|
|
26
26
|
labelWidth: '70px',
|
|
27
27
|
labelPosition: 'top',
|
|
28
28
|
formItems: [
|
|
29
|
-
|
|
29
|
+
{
|
|
30
30
|
label: '节点名称',
|
|
31
31
|
name: 'name',
|
|
32
32
|
value: '',
|
|
@@ -34,8 +34,24 @@ export default {
|
|
|
34
34
|
options: {
|
|
35
35
|
placeholder: '请输入节点名称'
|
|
36
36
|
},
|
|
37
|
-
span: 24
|
|
38
|
-
|
|
37
|
+
span: 24
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
label: '节点并行度',
|
|
41
|
+
name: 'para',
|
|
42
|
+
value: '',
|
|
43
|
+
component: 'number',
|
|
44
|
+
options: {
|
|
45
|
+
placeholder: '请输入节点并行度'
|
|
46
|
+
},
|
|
47
|
+
span: 24
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
label: '节点标签',
|
|
51
|
+
name: 'tags',
|
|
52
|
+
value: '',
|
|
53
|
+
component: 'tags',
|
|
54
|
+
span: 24
|
|
39
55
|
},
|
|
40
56
|
{
|
|
41
57
|
label: '运行模式',
|
|
@@ -64,65 +80,6 @@ export default {
|
|
|
64
80
|
]
|
|
65
81
|
}
|
|
66
82
|
},
|
|
67
|
-
{
|
|
68
|
-
label: '数据表名',
|
|
69
|
-
name: 'from',
|
|
70
|
-
value: '',
|
|
71
|
-
component: 'input',
|
|
72
|
-
options: {
|
|
73
|
-
placeholder: '请输入数据表名'
|
|
74
|
-
},
|
|
75
|
-
tips: '非SQL模式必须填写',
|
|
76
|
-
span: 24,
|
|
77
|
-
hideHandle: '$.mode == "sql"',
|
|
78
|
-
rules: [{ required: true, message: '不能为空', trigger: 'blur' }]
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
label: '数据表名',
|
|
82
|
-
name: 'from',
|
|
83
|
-
value: '',
|
|
84
|
-
component: 'input',
|
|
85
|
-
options: {
|
|
86
|
-
placeholder: '请输入数据表名'
|
|
87
|
-
},
|
|
88
|
-
tips: '非SQL模式必须填写',
|
|
89
|
-
span: 24,
|
|
90
|
-
hideHandle: '$.mode != "sql"'
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
label: '所需字段',
|
|
94
|
-
name: 'cols',
|
|
95
|
-
value: '',
|
|
96
|
-
component: 'input',
|
|
97
|
-
options: {
|
|
98
|
-
placeholder: '请输入所需字段'
|
|
99
|
-
},
|
|
100
|
-
tips: '多个字段采用逗号分隔,为空时选取所有字段,支持AS关键字。',
|
|
101
|
-
span: 24
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
label: '关联字段',
|
|
105
|
-
name: 'with',
|
|
106
|
-
value: '',
|
|
107
|
-
component: 'input',
|
|
108
|
-
options: {
|
|
109
|
-
placeholder: '请输入关联字段'
|
|
110
|
-
},
|
|
111
|
-
span: 24,
|
|
112
|
-
hideHandle: '$.mode != "expand" && $.mode != "collap"',
|
|
113
|
-
rules: [{ required: true, message: '不能为空', trigger: 'blur' }]
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
label: '关联字段',
|
|
117
|
-
name: 'with',
|
|
118
|
-
value: '',
|
|
119
|
-
component: 'input',
|
|
120
|
-
options: {
|
|
121
|
-
placeholder: '请输入关联字段'
|
|
122
|
-
},
|
|
123
|
-
span: 24,
|
|
124
|
-
hideHandle: '$.mode == "expand" || $.mode == "collap"'
|
|
125
|
-
},
|
|
126
83
|
{
|
|
127
84
|
label: '折叠排序方式',
|
|
128
85
|
name: 'sort',
|
|
@@ -157,24 +114,26 @@ export default {
|
|
|
157
114
|
span: 24
|
|
158
115
|
},
|
|
159
116
|
{
|
|
160
|
-
label: '
|
|
161
|
-
name: '
|
|
117
|
+
label: '数据表名来源',
|
|
118
|
+
name: 'fromNameSource',
|
|
162
119
|
value: '',
|
|
163
|
-
component: '
|
|
120
|
+
component: 'select',
|
|
164
121
|
options: {
|
|
165
|
-
placeholder: '
|
|
122
|
+
placeholder: '请输选择数据表名来源',
|
|
123
|
+
items:[
|
|
124
|
+
{value:'hive',label:'hive'},
|
|
125
|
+
{value:'lake',label:'lake'},
|
|
126
|
+
]
|
|
166
127
|
},
|
|
167
128
|
span: 24,
|
|
168
|
-
rules: [{ required: true, message: '不能为空', trigger: 'blur' }]
|
|
169
129
|
},
|
|
170
|
-
|
|
171
|
-
label: '
|
|
172
|
-
name: '
|
|
130
|
+
{
|
|
131
|
+
label: '输出名称',
|
|
132
|
+
name: 'into',
|
|
173
133
|
value: '',
|
|
174
|
-
component: '
|
|
134
|
+
component: 'select',
|
|
175
135
|
options: {
|
|
176
|
-
|
|
177
|
-
placeholder: '请输入'
|
|
136
|
+
placeholder: '请选择输出名称'
|
|
178
137
|
},
|
|
179
138
|
span: 24
|
|
180
139
|
}
|
|
@@ -36,6 +36,23 @@ export default {
|
|
|
36
36
|
span: 24,
|
|
37
37
|
rules: [{ required: true, message: '不能为空', trigger: 'blur' }]
|
|
38
38
|
},
|
|
39
|
+
{
|
|
40
|
+
label: '节点并行度',
|
|
41
|
+
name: 'para',
|
|
42
|
+
value: '',
|
|
43
|
+
component: 'number',
|
|
44
|
+
options: {
|
|
45
|
+
placeholder: '请输入节点并行度'
|
|
46
|
+
},
|
|
47
|
+
span: 24
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
label: '节点标签',
|
|
51
|
+
name: 'tags',
|
|
52
|
+
value: '',
|
|
53
|
+
component: 'tags',
|
|
54
|
+
span: 24
|
|
55
|
+
},
|
|
39
56
|
{
|
|
40
57
|
label: '数据来源',
|
|
41
58
|
name: 'from',
|
|
@@ -57,7 +74,6 @@ export default {
|
|
|
57
74
|
items:[]
|
|
58
75
|
},
|
|
59
76
|
value: 'id',
|
|
60
|
-
label:'name',
|
|
61
77
|
span: 24,
|
|
62
78
|
isItemsFromProps: true,
|
|
63
79
|
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
:label-width="config.labelWidth"
|
|
26
26
|
:label-position="$i18n.locale == 'en-us' ? 'top' : config.labelPosition"
|
|
27
27
|
v-loading="loading"
|
|
28
|
-
:size="config
|
|
28
|
+
:size="config?.size || 'default'"
|
|
29
29
|
element-loading-text="Loading...">
|
|
30
30
|
<el-row :gutter="15">
|
|
31
31
|
|
|
@@ -291,6 +291,7 @@ export default {
|
|
|
291
291
|
//横向滚动
|
|
292
292
|
scrollInit() {
|
|
293
293
|
const scrollDiv = document.querySelector('.context-menu-list')
|
|
294
|
+
if (!scrollDiv) { return false }
|
|
294
295
|
scrollDiv.addEventListener('mousewheel', handler, false) || scrollDiv.addEventListener("DOMMouseScroll", handler, false)
|
|
295
296
|
function handler(event) {
|
|
296
297
|
const detail = event.wheelDelta || event.detail;
|