Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
ETL-admin
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
莫晓莉
ETL-admin
Commits
06acfadb
Commit
06acfadb
authored
Jun 11, 2021
by
莫晓莉
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2021,6.11
parent
7ab8c5db
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
125 additions
and
29 deletions
+125
-29
src/api/kettle/link.js
+21
-0
src/views/dashboard-kettle/components/appBulletFrame/conversionSettings.vue
+0
-0
src/views/dashboard-kettle/components/appBulletFrame/importXmlFile.vue
+0
-0
src/views/dashboard-kettle/components/appBulletFrame/mapping.vue
+101
-27
src/views/dashboard-kettle/components/appBulletFrame/tableInput.vue
+0
-1
src/views/dashboard-kettle/components/appBulletFrame/textFileInput.vue
+0
-0
src/views/mykettle/main.vue
+3
-1
No files found.
src/api/kettle/link.js
View file @
06acfadb
...
@@ -409,3 +409,24 @@ export function locale(data){
...
@@ -409,3 +409,24 @@ export function locale(data){
method
:
'post'
method
:
'post'
})
})
}
}
// 从文件获取字段
export
function
mappingFields
(
data
){
return
request
({
url
:
'etlweb/trans/mappingFields'
,
data
,
method
:
'post'
})
}
// 获取日期格式
export
function
datetimeformat
(
data
){
return
request
({
url
:
'etlweb/system/datetimeformat'
,
data
,
method
:
'post'
})
}
src/views/dashboard-kettle/components/appBulletFrame/conversionSettings.vue
View file @
06acfadb
This diff is collapsed.
Click to expand it.
src/views/dashboard-kettle/components/appBulletFrame/importXmlFile.vue
View file @
06acfadb
This diff is collapsed.
Click to expand it.
src/views/dashboard-kettle/components/appBulletFrame/mapping.vue
View file @
06acfadb
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
</el-col>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-col
class=
"line"
:span=
"2"
>
<el-button
size=
"mini"
>
浏览
</el-button>
<el-button
size=
"mini"
@
click=
"filePathSelection = true"
>
浏览
</el-button>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
...
@@ -117,22 +117,20 @@
...
@@ -117,22 +117,20 @@
<el-form-item
<el-form-item
label=
"输入原步骤名(如果只有一个步骤该项可以为空)"
label=
"输入原步骤名(如果只有一个步骤该项可以为空)"
>
>
<el-row
:gutter=
"10"
>
<el-select
<el-col
:span=
"20"
>
v-model=
"form.lookup"
<el-input
style=
"width: 100%"
v-model=
"inputLies.input_step"
clearable
:disabled=
"inputLies.main_path == 'Y'"
@
click
.
native=
"lastStep"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-button
size=
"mini"
:disabled=
"inputLies.main_path == 'Y'"
:disabled=
"inputLies.main_path == 'Y'"
>
选择
</el-button
>
>
</el-col>
<el-option
</el-row>
v-for=
"item in connectionNode"
:key=
"item.index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"子转换里的“映射输入接口”步骤名"
>
<el-form-item
label=
"子转换里的“映射输入接口”步骤名"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
...
@@ -168,15 +166,14 @@
...
@@ -168,15 +166,14 @@
height=
" 250 "
height=
" 250 "
border
border
style=
"width: 100%"
style=
"width: 100%"
:row-style=
"{ height: '10px' }"
:cell-style=
"{ height: '10px' }"
>
>
<el-table-column
prop=
"parent"
label=
"原字段名"
>
<el-table-column
prop=
"parent"
label=
"原字段名"
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"child"
label=
"要映射成的字段名"
>
<el-table-column
prop=
"child"
label=
"要映射成的字段名"
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
width=
"
12
0"
>
<el-table-column
label=
"操作"
width=
"
9
0"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
<el-button
@
click=
"addInputField(false, scope.row)"
@
click=
"addInputField(false, scope.row)"
...
@@ -195,12 +192,21 @@
...
@@ -195,12 +192,21 @@
</el-table>
</el-table>
<el-form
:model=
"form"
>
<el-form
:model=
"form"
>
<el-form-item>
<el-form-item>
<el-row
:gutter=
"10"
>
<el-col
:span=
"19"
>
<el-checkbox
<el-checkbox
v-model=
"form.rename_on_output"
v-model=
"form.rename_on_output"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
></el-checkbox>
></el-checkbox>
输出时字段名再重新映射回原来输入时的名字?
输出时字段名再重新映射回原来输入时的名字?
</el-col>
<el-col
:span=
"4"
>
<el-button
@
click=
"fieldMapping"
>
字段映射...
</el-button>
</el-col>
</el-row>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
...
@@ -237,7 +243,7 @@
...
@@ -237,7 +243,7 @@
checked: outputIndex == index,
checked: outputIndex == index,
}"
}"
>
>
{{ item.input_step || `输
入
${index + 1}` }}
{{ item.input_step || `输
出
${index + 1}` }}
</li>
</li>
</ul>
</ul>
</div>
</div>
...
@@ -317,7 +323,7 @@
...
@@ -317,7 +323,7 @@
<el-table-column
prop=
"child"
label=
"要映射成的字段名"
>
<el-table-column
prop=
"child"
label=
"要映射成的字段名"
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
width=
"
6
0"
>
<el-table-column
label=
"操作"
width=
"
9
0"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
<el-button
@
click=
"addOutputField(false, scope.row)"
@
click=
"addOutputField(false, scope.row)"
...
@@ -408,6 +414,29 @@
...
@@ -408,6 +414,29 @@
<el-button
type=
"primary"
@
click=
"addoutputBoxFun"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"addoutputBoxFun"
>
确 定
</el-button>
</span>
</span>
</el-dialog>
</el-dialog>
<!-- 文件浏览器-->
<el-dialog
title=
"文件浏览器"
:visible
.
sync=
"filePathSelection"
width=
"500px"
:before-close=
"handleClose"
:modal=
"false"
>
<browseFiles
:disabed=
"true"
v-on:route=
"route"
></browseFiles>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"filePathSelection = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"addFilePathSelection"
>
确 定
</el-button
>
</span>
</el-dialog>
</div>
</div>
</template>
</template>
...
@@ -434,8 +463,9 @@ import {
...
@@ -434,8 +463,9 @@ import {
valueMeta
,
valueMeta
,
formatMapperLineTerminator
,
formatMapperLineTerminator
,
availableCharsets
,
availableCharsets
,
compressionProviderName
s
,
previousStep
s
,
inputOutputFields
,
inputOutputFields
,
mappingFields
}
from
"@/api/kettle/link"
;
}
from
"@/api/kettle/link"
;
export
default
{
export
default
{
props
:
[
"form"
,
"nodeData"
,
"saveOutputDialog"
,
"mappingDialog"
],
//从父组件传过来的值
props
:
[
"form"
,
"nodeData"
,
"saveOutputDialog"
,
"mappingDialog"
],
//从父组件传过来的值
...
@@ -445,8 +475,10 @@ export default {
...
@@ -445,8 +475,10 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
connectionNode
:
[],
tableData
:
[],
tableData
:
[],
newGraph
:
[],
newGraph
:
[],
filePathSelection
:
false
,
metadataBox
:
false
,
metadataBox
:
false
,
selectModifyBox
:
false
,
selectModifyBox
:
false
,
inputBox
:
false
,
inputBox
:
false
,
...
@@ -456,7 +488,6 @@ export default {
...
@@ -456,7 +488,6 @@ export default {
metadataForm
:
{},
metadataForm
:
{},
selectModifyForm
:
{},
selectModifyForm
:
{},
fieldFormat
:
{},
fieldFormat
:
{},
fieldCompress
:
{},
fieldType
:
{},
fieldType
:
{},
dataState
:
false
,
dataState
:
false
,
fileType
:
[],
fileType
:
[],
...
@@ -474,6 +505,7 @@ export default {
...
@@ -474,6 +505,7 @@ export default {
inputState
:
1
,
inputState
:
1
,
mappings
:
{},
mappings
:
{},
inherit
:
"Y"
,
inherit
:
"Y"
,
localPath
:{},
};
};
},
},
...
@@ -482,7 +514,6 @@ export default {
...
@@ -482,7 +514,6 @@ export default {
this
.
valueMetaFun
();
this
.
valueMetaFun
();
this
.
formatMapperLineTerminatorFun
();
this
.
formatMapperLineTerminatorFun
();
this
.
availableCharsetsFun
();
this
.
availableCharsetsFun
();
this
.
compressionProviderNamesFun
();
},
},
methods
:
{
methods
:
{
...
@@ -544,6 +575,35 @@ export default {
...
@@ -544,6 +575,35 @@ export default {
}
}
},
},
fieldMapping
(){
var
enc
=
new
mxCodec
(
mxUtils
.
createXmlDocument
());
var
node
=
enc
.
encode
(
this
.
newGraph
.
getModel
());
this
.
graphXml
=
mxUtils
.
getPrettyXml
(
node
);
let
pamerFields
=
new
FormData
();
// 创建form对象
pamerFields
.
append
(
"stepName"
,
this
.
nodeData
.
value
.
attributes
.
label
.
value
);
pamerFields
.
append
(
"graphXml"
,
this
.
graphXml
);
pamerFields
.
append
(
"before"
,
true
);
mappingFields
(
pamerFields
).
then
(
res
=>
{
console
.
log
(
res
);
})
},
route
(
flowData
){
this
.
localPath
.
fileName
=
flowData
.
name
console
.
log
(
this
.
localPath
);
},
addFilePathSelection
(){
this
.
filePathSelection
=
!
this
.
filePathSelection
this
.
form
.
directory
=
this
.
localPath
.
fileName
},
inputSelection
(
val
,
index
)
{
inputSelection
(
val
,
index
)
{
this
.
inputIndex
=
index
;
this
.
inputIndex
=
index
;
console
.
log
(
val
);
console
.
log
(
val
);
...
@@ -627,13 +687,27 @@ export default {
...
@@ -627,13 +687,27 @@ export default {
pamerFields
.
append
(
"graphXml"
,
this
.
graphXml
);
pamerFields
.
append
(
"graphXml"
,
this
.
graphXml
);
pamerFields
.
append
(
"before"
,
true
);
pamerFields
.
append
(
"before"
,
true
);
inputOutputFields
(
pamerFields
).
then
((
res
)
=>
{
inputOutputFields
(
pamerFields
).
then
((
res
)
=>
{
this
.
parameters
=
res
;
// this.parameters = res;
res
.
forEach
((
item
,
index
)
=>
{
console
.
log
(
item
,
index
);
this
.
parameters
.
push
({
variable
:
item
.
name
})
})
console
.
log
(
res
);
});
});
},
},
compressionProviderNamesFun
()
{
lastStep
()
{
compressionProviderNames
().
then
((
res
)
=>
{
var
enc
=
new
mxCodec
(
mxUtils
.
createXmlDocument
());
this
.
fieldCompress
=
res
;
var
node
=
enc
.
encode
(
this
.
newGraph
.
getModel
());
this
.
graphXml
=
mxUtils
.
getPrettyXml
(
node
);
let
pamerSteps
=
new
FormData
();
// 创建form对象
pamerSteps
.
append
(
"stepName"
,
this
.
nodeData
.
value
.
attributes
.
label
.
value
);
pamerSteps
.
append
(
"graphXml"
,
this
.
graphXml
);
pamerSteps
.
append
(
"query"
,
""
);
previousSteps
(
pamerSteps
).
then
((
res
)
=>
{
this
.
connectionNode
=
res
;
});
});
},
},
...
...
src/views/dashboard-kettle/components/appBulletFrame/tableInput.vue
View file @
06acfadb
...
@@ -303,7 +303,6 @@ export default {
...
@@ -303,7 +303,6 @@ export default {
getGraphDataBases
()
{
getGraphDataBases
()
{
// var graph = this.getGraph();
// var graph = this.getGraph();
var
root
=
this
.
newGraph
.
getDefaultParent
(),
var
root
=
this
.
newGraph
.
getDefaultParent
(),
data
=
[];
data
=
[];
if
(
root
.
getAttribute
(
"databases"
)
!=
null
)
if
(
root
.
getAttribute
(
"databases"
)
!=
null
)
...
...
src/views/dashboard-kettle/components/appBulletFrame/textFileInput.vue
View file @
06acfadb
This diff is collapsed.
Click to expand it.
src/views/mykettle/main.vue
View file @
06acfadb
...
@@ -869,7 +869,9 @@ export default {
...
@@ -869,7 +869,9 @@ export default {
border-bottom
:
1px
solid
#E4E7ED
;
border-bottom
:
1px
solid
#E4E7ED
;
}
}
.sel-content
{
.sel-content
{
min-height
:
81vh
;
/* min-height: 81vh; */
height
:
81vh
;
overflow
:
auto
;
border
:
1px
solid
#dce3e8
;
border
:
1px
solid
#dce3e8
;
}
}
.sel-menu-bar
{
.sel-menu-bar
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment