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
e9433fa1
Commit
e9433fa1
authored
Aug 02, 2021
by
李耀琨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
分组
parent
5a38e4c2
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
484 additions
and
54 deletions
+484
-54
.env.development
+3
-3
src/assets/styles/index.scss
+1
-1
src/main.js
+1
-1
src/views/dashboard-kettle/components/appBulletFrame/grouping.vue
+89
-33
src/views/dashboard-kettle/components/appBulletFrame/replaceNull.vue
+359
-0
src/views/dashboard-kettle/components/appBulletFrame/sendMail.vue
+8
-11
src/views/dashboard-kettle/components/designer/modules/node_menu.vue
+1
-1
src/views/dashboard-kettle/components/designer/mxgraphDesigner.vue
+22
-4
No files found.
.env.development
View file @
e9433fa1
...
@@ -14,9 +14,9 @@ ENV = 'development'
...
@@ -14,9 +14,9 @@ ENV = 'development'
# 接口地址
# 接口地址
VUE_APP_BASE_API = 'http://192.168.0.
21:9889
'
VUE_APP_BASE_API = 'http://192.168.0.
71:9888
'
VUE_APP_WS_API = 'ws://192.168.0.
21:9889
'
VUE_APP_WS_API = 'ws://192.168.0.
71:9888
'
VUE_APP_FILE_API = 'http://192.168.0.
21:9889
'
VUE_APP_FILE_API = 'http://192.168.0.
71:9888
'
...
...
src/assets/styles/index.scss
View file @
e9433fa1
...
@@ -583,7 +583,7 @@ aside {
...
@@ -583,7 +583,7 @@ aside {
//
//
// $svgUrl:'http://147.1.3.180:9888/ETLWEB-SERVER/etlweb';
// $svgUrl:'http://147.1.3.180:9888/ETLWEB-SERVER/etlweb';
// $svgUrl:'http://192.168.0.24:9888/ETLWEB-SERVER/etlweb';
// $svgUrl:'http://192.168.0.24:9888/ETLWEB-SERVER/etlweb';
$svgUrl
:
'http://192.168.0.
25:9889
/ETLWEB-SERVER/etlweb'
;
$svgUrl
:
'http://192.168.0.
71:9888
/ETLWEB-SERVER/etlweb'
;
// $svgUrl:'http://192.168.0.44:9882/ETLWEB-SERVER/etlweb';
// $svgUrl:'http://192.168.0.44:9882/ETLWEB-SERVER/etlweb';
// .schema { background-image: url($svgUrl/ui/images/schema.svg?scale=16) !important;}
// .schema { background-image: url($svgUrl/ui/images/schema.svg?scale=16) !important;}
...
...
src/main.js
View file @
e9433fa1
...
@@ -80,7 +80,7 @@ Vue.config.productionTip = false
...
@@ -80,7 +80,7 @@ Vue.config.productionTip = false
const
baseUrl
=
process
.
env
.
VUE_APP_BASE_API
===
'/'
?
''
:
process
.
env
.
VUE_APP_BASE_API
const
baseUrl
=
process
.
env
.
VUE_APP_BASE_API
===
'/'
?
''
:
process
.
env
.
VUE_APP_BASE_API
// Vue.prototype.etlWeb = "http://147.1.3.180:9888/ETLWEB-SERVER/etlweb/"
// Vue.prototype.etlWeb = "http://147.1.3.180:9888/ETLWEB-SERVER/etlweb/"
// Vue.prototype.etlWeb = "http://192.168.0.24:9888/ETLWEB-SERVER/etlweb/"
// Vue.prototype.etlWeb = "http://192.168.0.24:9888/ETLWEB-SERVER/etlweb/"
Vue
.
prototype
.
etlWeb
=
"http://192.168.0.
21:9889
/ETLWEB-SERVER/etlweb/"
Vue
.
prototype
.
etlWeb
=
"http://192.168.0.
71:9888
/ETLWEB-SERVER/etlweb/"
new
Vue
({
new
Vue
({
...
...
src/views/dashboard-kettle/components/appBulletFrame/grouping.vue
View file @
e9433fa1
...
@@ -16,52 +16,63 @@
...
@@ -16,52 +16,63 @@
v-model=
"form.main_path"
v-model=
"form.main_path"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
@
change=
"mainPathChange"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
<el-form-item
label=
"排列目录:"
>
<el-form-item
label=
"排列目录:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"21"
>
<el-col
:span=
"21"
>
<el-input
v-model=
"form.directory"
></el-input>
<el-input
v-model=
"form.directory"
:disabled=
"form.main_path == 'N' || !form.main_path"
></el-input>
</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"
:disabled=
"form.main_path == 'N' || !form.main_path"
>
浏览
</el-button
>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"临时文件前缀:"
>
<el-form-item
label=
"临时文件前缀:"
>
<el-input
v-model=
"form.label"
></el-input>
<el-input
v-model=
"form.prefix"
:disabled=
"form.main_path == 'N' || !form.main_path"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"增加行号,每组重新开始"
>
<el-form-item
label=
"增加行号,每组重新开始"
>
<el-checkbox
<el-checkbox
v-model=
"form.
main_path
"
v-model=
"form.
add_linenr
"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
@
change=
"mainPathChange
"
:disabled=
"form.main_path == 'N' || !form.main_path
"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
<el-form-item
label=
"行号列名:"
>
<el-form-item
label=
"行号列名:"
>
<el-input
v-model=
"form.label"
></el-input>
<el-input
v-model=
"form.linenr_fieldname"
:disabled=
"
form.main_path == 'N' || !form.main_path || form.add_linenr == 'N'
"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"总返回一个结果行"
>
<el-form-item
label=
"总返回一个结果行"
>
<el-checkbox
<el-checkbox
v-model=
"form.
main_path
"
v-model=
"form.
give_back_row
"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
@
change=
"mainPathChange"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
结构分组的字段:
结构分组的字段:
<br
/>
<br
/>
<el-button
type=
"text"
@
click=
"selectModify(true)"
>
添加字段
</el-button>
<el-button
type=
"text"
@
click=
"selectModify(true)"
>
添加字段
</el-button>
<el-button
type=
"text"
@
click=
"selectModifyGetTheField"
<el-button
type=
"text"
@
click=
"getTheGroup"
>
获取字段
</el-button>
>
获取字段
</el-button
<el-table
:data=
"groupFile"
border
style=
"width: 100%"
>
>
<el-table-column
prop=
"name"
label=
"分组字段"
>
</el-table-column>
<el-table
:data=
"tableData"
border
style=
"width: 100%"
>
<el-table-column
prop=
"date"
label=
"分组字段"
>
</el-table-column>
<el-table-column
label=
"操作"
>
<el-table-column
label=
"操作"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
...
@@ -74,25 +85,23 @@
...
@@ -74,25 +85,23 @@
<el-button
<el-button
type=
"text"
type=
"text"
size=
"small"
size=
"small"
@
click=
"deleteField(scope.$index,
parameters
)"
@
click=
"deleteField(scope.$index,
groupFile
)"
>
删除
</el-button
>
删除
</el-button
>
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<br
>
<br
/
>
<br
>
<br
/
>
聚合:
聚合:
<br
/>
<br
/>
<el-button
type=
"text"
@
click=
"selectModify(true)"
>
添加字段
</el-button>
<el-button
type=
"text"
@
click=
"selectModify(true)"
>
添加字段
</el-button>
<el-button
type=
"text"
@
click=
"selectModifyGetTheField"
<el-button
type=
"text"
@
click=
"getTheField"
>
获取字段
</el-button>
>
获取字段
</el-button
<el-table
:data=
"fields"
border
style=
"width: 100%"
>
>
<el-table-column
prop=
"aggregate"
label=
"分组字段"
>
</el-table-column>
<el-table
:data=
"tableData"
border
style=
"width: 100%"
>
<el-table-column
prop=
"subject"
label=
"Subject"
>
</el-table-column>
<el-table-column
prop=
"date"
label=
"分组字段"
>
</el-table-column>
<el-table-column
prop=
"type"
label=
"类型"
>
</el-table-column>
<el-table-column
prop=
"date"
label=
"Subject"
>
</el-table-column>
<el-table-column
prop=
"date"
label=
"类型"
>
</el-table-column>
<el-table-column
label=
"操作"
>
<el-table-column
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
...
@@ -105,7 +114,7 @@
...
@@ -105,7 +114,7 @@
<el-button
<el-button
type=
"text"
type=
"text"
size=
"small"
size=
"small"
@
click=
"deleteField(scope.$index,
parameter
s)"
@
click=
"deleteField(scope.$index,
field
s)"
>
删除
</el-button
>
删除
</el-button
>
>
</
template
>
</
template
>
...
@@ -118,7 +127,7 @@
...
@@ -118,7 +127,7 @@
</span>
</span>
</el-dialog>
</el-dialog>
<el-dialog
<
!-- <
el-dialog
title="添加字段"
title="添加字段"
:visible.sync="addField"
:visible.sync="addField"
width="500px"
width="500px"
...
@@ -146,17 +155,17 @@
...
@@ -146,17 +155,17 @@
<el-button @click="addField = false">取 消</el-button>
<el-button @click="addField = false">取 消</el-button>
<el-button type="primary" @click="addFieldDetermine">确 定</el-button>
<el-button type="primary" @click="addFieldDetermine">确 定</el-button>
</span>
</span>
</el-dialog>
</el-dialog>
-->
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
systemDataTypes
}
from
"@/api/kettle/link"
;
import
{
systemDataTypes
,
inputOutputFields
}
from
"@/api/kettle/link"
;
export
default
{
export
default
{
props
:
[
"form"
,
"groupingDialog"
,
"saveOutputDialog"
],
props
:
[
"form"
,
"groupingDialog"
,
"saveOutputDialog"
,
"nodeData"
],
data
()
{
data
()
{
return
{
return
{
tableData
:
[],
groupFile
:
[],
addField
:
false
,
addField
:
false
,
fields
:
[],
fields
:
[],
type
:
{},
type
:
{},
...
@@ -170,8 +179,54 @@ export default {
...
@@ -170,8 +179,54 @@ export default {
},
},
methods
:
{
methods
:
{
mainPathChange
(){},
getTheGroup
()
{
selectModifyGetTheField
(){},
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
);
inputOutputFields
(
pamerFields
).
then
((
res
)
=>
{
// this.parameters = res;
res
.
forEach
((
item
,
index
)
=>
{
console
.
log
(
item
,
index
);
this
.
groupFile
.
push
({
variable
:
item
.
name
,
});
});
console
.
log
(
res
);
});
},
getTheField
()
{
console
.
log
(
this
.
nodeData
);
var
enc
=
new
mxCodec
(
mxUtils
.
createXmlDocument
());
var
node
=
enc
.
encode
(
this
.
newGraph
.
getModel
());
this
.
graphXml
=
mxUtils
.
getPrettyXml
(
node
);
// console.log( this.graphXml,"看着了");
let
pamerFields
=
new
FormData
();
// 创建form对象
pamerFields
.
append
(
"stepName"
,
this
.
nodeData
.
value
.
attributes
.
label
.
value
);
pamerFields
.
append
(
"graphXml"
,
this
.
graphXml
);
pamerFields
.
append
(
"before"
,
true
);
pamerFields
.
append
(
"query"
,
""
);
inputOutputFields
(
pamerFields
).
then
((
res
)
=>
{
console
.
log
(
res
,
"yuiyuiyui"
);
for
(
let
i
of
res
)
{
i
.
field_name
=
i
.
name
;
}
this
.
fields
=
res
;
// this.fields.field_name = res.name
});
},
clickFun
(
graph
,
val
)
{
clickFun
(
graph
,
val
)
{
console
.
log
(
graph
,
"双击获取值"
);
console
.
log
(
graph
,
"双击获取值"
);
this
.
newGraph
=
graph
;
this
.
newGraph
=
graph
;
...
@@ -185,6 +240,7 @@ selectModifyGetTheField(){},
...
@@ -185,6 +240,7 @@ selectModifyGetTheField(){},
SystemInfoDialogFun
()
{
SystemInfoDialogFun
()
{
this
.
handleCloseFun
();
this
.
handleCloseFun
();
this
.
form
.
groupFile
=
JSON
.
stringify
(
this
.
groupFile
);
this
.
form
.
fields
=
JSON
.
stringify
(
this
.
fields
);
this
.
form
.
fields
=
JSON
.
stringify
(
this
.
fields
);
this
.
saveOutputDialog
(
this
.
form
);
this
.
saveOutputDialog
(
this
.
form
);
},
},
...
...
src/views/dashboard-kettle/components/appBulletFrame/replaceNull.vue
0 → 100644
View file @
e9433fa1
<
template
>
<div
class=
"customConstant"
>
<el-dialog
title=
" 替换NULL值 "
:visible
.
sync=
"replaceNullDialog"
width=
"800px"
:before-close=
"handleCloseFun"
>
<el-form
ref=
"from"
:model=
"form"
label-width=
"120px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"form.label"
></el-input>
</el-form-item>
</el-form>
<el-card
class=
"box-card"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"160px"
>
<el-form-item
label=
"替换所有字段的null值"
/>
<el-form-item
label=
"值替换为:"
>
<el-input
v-model=
"form.label"
></el-input>
</el-form-item>
<el-form-item
label=
"设置空字符串"
>
<el-checkbox
v-model=
"form.main_path"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"掩码(日期)"
>
<el-select
v-model=
"form.format"
style=
"width: 100%"
clearable
>
<el-option
v-for=
"item in fieldFormat"
:key=
"item.index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
</el-form>
</el-card>
<el-form
ref=
"form"
:model=
"form"
label-width=
"160px"
>
<el-form-item
label=
"选择字段"
>
<el-checkbox
v-model=
"form.main_path"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"选择值类型"
>
<el-checkbox
v-model=
"form.main_path"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-form-item>
</el-form>
<el-button
type=
"text"
@
click=
"fieldClick(true)"
>
添加字段
</el-button>
<!--
<el-button
type=
"text"
@
click=
"getTheField"
>
获取字段
</el-button>
-->
<el-table
:data=
"fields"
style=
"width: 100%"
>
<el-table-column
prop=
"field_name"
label=
"字段名称"
>
</el-table-column>
g
<el-table-column
prop=
"variable_name"
label=
"变量名"
>
</el-table-column>
<el-table-column
prop=
"variable_type"
label=
"变量活动类型"
>
</el-table-column>
<el-table-column
prop=
"default_value"
label=
"默认值"
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"100px"
>
<template
slot-scope=
"scope"
>
<el-button
@
click=
"fieldClick(false, scope.row)"
type=
"text"
size=
"small"
>
编辑
</el-button
>
<el-button
type=
"text"
size=
"small"
@
click=
"deleteField(scope.$index, fields)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleCloseFun"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"getVariableDialogFun"
>
确 定
</el-button
>
</span>
</el-dialog>
<el-dialog
title=
"添加字段"
:visible
.
sync=
"fieldBox"
width=
"500px"
:before-close=
"handleClose"
:modal=
"false"
>
<el-form
ref=
"form"
:model=
"metadataForm"
label-width=
"160px"
>
<el-form-item
label=
"字段名称:"
>
<el-select
v-model=
"metadataForm.field_name"
style=
"width: 100%"
clearable
>
<el-option
v-for=
"item in fieldsName"
:key=
"item.index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"变量名:"
>
<el-input
v-model=
"metadataForm.variable_name"
></el-input>
</el-form-item>
<el-form-item
label=
"变量活动类型:"
>
<el-select
v-model=
"metadataForm.variable_type"
style=
"width: 100%"
clearable
>
<el-option
v-for=
"item in activityType"
:key=
"item.id"
:label=
"item.desc"
:value=
"item.desc"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"默认值:"
>
<el-input
v-model=
"metadataForm.default_value"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"fieldBox = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"addFieldBox"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
browseFiles
from
"../appBulletFrame/browseFiles"
;
import
mxgraph
from
"@/utils/mxgraph"
;
const
{
mxGraph
,
mxUtils
,
mxEvent
,
mxKeyHandler
,
mxRubberband
,
mxConstants
,
mxStencilRegistry
,
mxStencil
,
mxCodec
,
mxGraphModel
,
mxGeometry
,
}
=
mxgraph
;
import
{
valueFormat
,
valueMeta
,
formatMapperLineTerminator
,
availableCharsets
,
compressionProviderNames
,
inputOutputFields
,
variableType
,
}
from
"@/api/kettle/link"
;
export
default
{
props
:
[
"connectionNode"
,
"form"
,
"nodeData"
,
"replaceNullDialog"
,
"saveOutputDialog"
,
],
//从父组件传过来的值
components
:
{
browseFiles
,
},
data
()
{
return
{
newGraph
:
[],
fieldBox
:
false
,
fields
:
[],
metadataForm
:
{},
fieldFormat
:
{},
fieldCompress
:
{},
fieldType
:
{},
dataState
:
false
,
fileType
:
[],
codingType
:
[],
fileSelection
:
{},
activityType
:
[],
fieldsName
:
[],
};
},
created
()
{
this
.
valueFormatFun
();
this
.
valueMetaFun
();
this
.
formatMapperLineTerminatorFun
();
this
.
availableCharsetsFun
();
this
.
compressionProviderNamesFun
();
},
methods
:
{
clickFun
(
graph
,
val
)
{
console
.
log
(
graph
,
1
);
this
.
newGraph
=
graph
;
this
.
fields
=
JSON
.
parse
(
val
.
fields
);
},
handleCloseFun
()
{
this
.
$emit
(
"update:replaceNullDialog"
,
false
);
},
getVariableDialogFun
()
{
this
.
form
.
fields
=
JSON
.
stringify
(
this
.
fields
);
this
.
saveOutputDialog
(
this
.
form
);
this
.
handleCloseFun
();
},
getTheField
()
{
console
.
log
(
this
.
nodeData
);
var
enc
=
new
mxCodec
(
mxUtils
.
createXmlDocument
());
var
node
=
enc
.
encode
(
this
.
newGraph
.
getModel
());
this
.
graphXml
=
mxUtils
.
getPrettyXml
(
node
);
// console.log( this.graphXml,"看着了");
let
pamerFields
=
new
FormData
();
// 创建form对象
pamerFields
.
append
(
"stepName"
,
this
.
nodeData
.
value
.
attributes
.
label
.
value
);
pamerFields
.
append
(
"graphXml"
,
this
.
graphXml
);
pamerFields
.
append
(
"before"
,
true
);
pamerFields
.
append
(
"query"
,
""
);
inputOutputFields
(
pamerFields
).
then
((
res
)
=>
{
console
.
log
(
res
,
"yuiyuiyui"
);
for
(
let
i
of
res
)
{
i
.
field_name
=
i
.
name
;
}
this
.
fields
=
res
;
// this.fields.field_name = res.name
});
},
compressionProviderNamesFun
()
{
compressionProviderNames
().
then
((
res
)
=>
{
this
.
fieldCompress
=
res
;
});
},
// 关闭弹框
handleClose
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
.
then
((
_
)
=>
{
done
();
})
.
catch
((
_
)
=>
{});
},
formatMapperLineTerminatorFun
()
{
let
pamer
=
new
FormData
();
// 创建form对象
pamer
.
append
(
"query"
,
""
);
formatMapperLineTerminator
(
pamer
).
then
((
res
)
=>
{
this
.
fileType
=
res
;
});
},
availableCharsetsFun
()
{
let
pamer
=
new
FormData
();
// 创建form对象
pamer
.
append
(
"query"
,
""
);
availableCharsets
(
pamer
).
then
((
res
)
=>
{
this
.
codingType
=
res
;
});
},
deleteField
(
index
,
rows
)
{
rows
.
splice
(
index
,
1
);
},
fieldClick
(
state
,
val
)
{
this
.
fieldBox
=
!
this
.
fieldBox
;
this
.
dataState
=
state
;
let
type
=
new
FormData
();
// 创建form对象
type
.
append
(
"query"
,
""
);
variableType
(
type
).
then
((
res
)
=>
{
this
.
activityType
=
res
;
});
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
);
pamerFields
.
append
(
"query"
,
""
);
inputOutputFields
(
pamerFields
).
then
((
res
)
=>
{
console
.
log
(
res
,
"kanzzhelia "
);
this
.
fieldsName
=
res
;
});
if
(
state
)
{
this
.
metadataForm
=
{};
}
else
{
this
.
metadataForm
=
val
;
}
},
addFieldBox
()
{
this
.
fieldBox
=
!
this
.
fieldBox
;
if
(
this
.
dataState
)
{
this
.
fields
.
push
(
this
.
metadataForm
);
this
.
$emit
(
"fields"
,
this
.
fields
);
}
else
{
}
},
valueFormatFun
()
{
let
pamer2
=
new
FormData
();
// 创建form对象
pamer2
.
append
(
"valueType"
,
"all"
);
valueFormat
(
pamer2
).
then
((
res
)
=>
{
this
.
fieldFormat
=
res
;
});
},
valueMetaFun
()
{
valueMeta
().
then
((
res
)
=>
{
this
.
fieldType
=
res
;
});
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
*
{
outline
:
none
;
}
</
style
>
src/views/dashboard-kettle/components/appBulletFrame/sendMail.vue
View file @
e9433fa1
...
@@ -80,7 +80,7 @@
...
@@ -80,7 +80,7 @@
v-model=
"form.main_path"
v-model=
"form.main_path"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
@
change=
"mainPathChange"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
...
@@ -97,7 +97,6 @@
...
@@ -97,7 +97,6 @@
v-model=
"form.main_path"
v-model=
"form.main_path"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
@
change=
"mainPathChange"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
...
@@ -118,7 +117,7 @@
...
@@ -118,7 +117,7 @@
v-model=
"form.main_path"
v-model=
"form.main_path"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
@
change=
"mainPathChange"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
<el-form-item
label=
"值发送邮件正文"
>
<el-form-item
label=
"值发送邮件正文"
>
...
@@ -126,7 +125,7 @@
...
@@ -126,7 +125,7 @@
v-model=
"form.main_path"
v-model=
"form.main_path"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
@
change=
"mainPathChange"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
<el-form-item
label=
"邮件正文使用HTML格式"
>
<el-form-item
label=
"邮件正文使用HTML格式"
>
...
@@ -134,7 +133,6 @@
...
@@ -134,7 +133,6 @@
v-model=
"form.main_path"
v-model=
"form.main_path"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
@
change=
"mainPathChange"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
...
@@ -147,7 +145,6 @@
...
@@ -147,7 +145,6 @@
v-model=
"form.main_path"
v-model=
"form.main_path"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
@
change=
"mainPathChange"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
...
@@ -189,7 +186,7 @@
...
@@ -189,7 +186,7 @@
v-model=
"form.main_path"
v-model=
"form.main_path"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
@
change=
"mainPathChange"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
...
@@ -212,7 +209,7 @@
...
@@ -212,7 +209,7 @@
v-model=
"form.main_path"
v-model=
"form.main_path"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
@
change=
"mainPathChange"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
...
@@ -243,7 +240,7 @@
...
@@ -243,7 +240,7 @@
v-model=
"form.main_path"
v-model=
"form.main_path"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
@
change=
"mainPathChange"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
<el-form-item
label=
"通配符"
>
<el-form-item
label=
"通配符"
>
...
@@ -261,7 +258,7 @@
...
@@ -261,7 +258,7 @@
v-model=
"form.main_path"
v-model=
"form.main_path"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
@
change=
"mainPathChange"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
<el-form-item
label=
"动态 Zip 文件名?"
>
<el-form-item
label=
"动态 Zip 文件名?"
>
...
@@ -269,7 +266,7 @@
...
@@ -269,7 +266,7 @@
v-model=
"form.main_path"
v-model=
"form.main_path"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
@
change=
"mainPathChange"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
...
...
src/views/dashboard-kettle/components/designer/modules/node_menu.vue
View file @
e9433fa1
...
@@ -89,7 +89,7 @@ export default {
...
@@ -89,7 +89,7 @@ export default {
// prefix:'http://192.168.0.2:9700/etlweb/',
// prefix:'http://192.168.0.2:9700/etlweb/',
// prefix:`http://147.1.3.180:9888/ETLWEB-SERVER/etlweb/`,
// prefix:`http://147.1.3.180:9888/ETLWEB-SERVER/etlweb/`,
// prefix:`http://192.168.0.24:9888/ETLWEB-SERVER/etlweb/`,
// prefix:`http://192.168.0.24:9888/ETLWEB-SERVER/etlweb/`,
prefix
:
`http://192.168.0.
21:9889
/ETLWEB-SERVER/etlweb/`
,
prefix
:
`http://192.168.0.
71:9888
/ETLWEB-SERVER/etlweb/`
,
// 测试数据开始=====
// 测试数据开始=====
jobTreeList
:
[
jobTreeList
:
[
...
...
src/views/dashboard-kettle/components/designer/mxgraphDesigner.vue
View file @
e9433fa1
...
@@ -973,8 +973,10 @@
...
@@ -973,8 +973,10 @@
<grouping
<grouping
ref=
"grouping"
ref=
"grouping"
:form=
"form"
:form=
"form"
:nodeData=
"nodeData"
:groupingDialog
.
sync=
"groupingDialog"
:groupingDialog
.
sync=
"groupingDialog"
:doubleClickCell=
"doubleClickCell"
:doubleClickCell=
"doubleClickCell"
:saveOutputDialog=
"saveOutputDialog"
></grouping>
></grouping>
<!-- 流查询 -->
<!-- 流查询 -->
<streamQuery
<streamQuery
...
@@ -983,6 +985,13 @@
...
@@ -983,6 +985,13 @@
:streamQueryDialog
.
sync=
"streamQueryDialog"
:streamQueryDialog
.
sync=
"streamQueryDialog"
:doubleClickCell=
"doubleClickCell"
:doubleClickCell=
"doubleClickCell"
></streamQuery>
></streamQuery>
<!-- 替换NULL值 -->
<replaceNull
ref=
"replaceNull"
:form=
"form"
:replaceNullDialog
.
sync=
"replaceNullDialog"
:doubleClickCell=
"doubleClickCell"
>
</replaceNull>
<!-- 发送邮件 -->
<!-- 发送邮件 -->
<sendMail
<sendMail
...
@@ -1265,6 +1274,7 @@ import jobSettings from "../appBulletFrame/jobSettings"; //作业设置
...
@@ -1265,6 +1274,7 @@ import jobSettings from "../appBulletFrame/jobSettings"; //作业设置
import
importXmlFile
from
"../appBulletFrame/importXmlFile"
;
//导出资源库到XML文件
import
importXmlFile
from
"../appBulletFrame/importXmlFile"
;
//导出资源库到XML文件
import
grouping
from
"../appBulletFrame/grouping"
;
//分组
import
grouping
from
"../appBulletFrame/grouping"
;
//分组
import
streamQuery
from
"../appBulletFrame/streamQuery"
;
//流查询
import
streamQuery
from
"../appBulletFrame/streamQuery"
;
//流查询
import
replaceNull
from
"../appBulletFrame/replaceNull"
;
//替换null值
import
sendMail
from
"../appBulletFrame/sendMail"
;
//发送邮件
import
sendMail
from
"../appBulletFrame/sendMail"
;
//发送邮件
// 作业弹窗组件开始---------------------------------------
// 作业弹窗组件开始---------------------------------------
...
@@ -1400,6 +1410,7 @@ export default {
...
@@ -1400,6 +1410,7 @@ export default {
importXmlFileDialog
:
false
,
//导出资源库到XML文件
importXmlFileDialog
:
false
,
//导出资源库到XML文件
groupingDialog
:
false
,
//分组
groupingDialog
:
false
,
//分组
streamQueryDialog
:
false
,
//流查询
streamQueryDialog
:
false
,
//流查询
replaceNullDialog
:
false
,
//替换Null值
sendMailDialog
:
false
,
//发送邮件
sendMailDialog
:
false
,
//发送邮件
// 流程弹窗组件start----------
// 流程弹窗组件start----------
// 流程弹窗组件end------------
// 流程弹窗组件end------------
...
@@ -1512,6 +1523,7 @@ export default {
...
@@ -1512,6 +1523,7 @@ export default {
importXmlFile
,
//导出资源库到XML文件
importXmlFile
,
//导出资源库到XML文件
grouping
,
//分组
grouping
,
//分组
streamQuery
,
//流查询
streamQuery
,
//流查询
replaceNull
,
//替换null值
sendMail
,
//发送邮件
sendMail
,
//发送邮件
// 作业弹簧组件end----------------------
// 作业弹簧组件end----------------------
// 流程弹窗组件start---------
// 流程弹窗组件start---------
...
@@ -2203,8 +2215,14 @@ export default {
...
@@ -2203,8 +2215,14 @@ export default {
valueFormat
(
pamer2
).
then
((
res
)
=>
{
valueFormat
(
pamer2
).
then
((
res
)
=>
{
this
.
fieldFormat
=
res
;
this
.
fieldFormat
=
res
;
});
});
if
((
this
.
curFileType
==
"transformation"
&&
cell
.
dis
==
"step84"
)
||
if
(
(
this
.
curFileType
==
"transformation"
&&
cell
.
dis
==
"srep167"
)
||
cell
.
value
.
attributes
.
ctype
.
value
==
"IfNull"
)
{
this
.
replaceNullDialog
=
!
this
.
replaceNullDialog
this
.
form
=
this
.
showDataFunc
();
setTimeout
(()
=>
{
this
.
$refs
.
replaceNull
.
clickFun
(
this
.
graph
,
this
.
form
);
},
500
);
}
else
if
(
(
this
.
curFileType
==
"transformation"
&&
cell
.
dis
==
"srep167"
)
||
cell
.
value
.
attributes
.
ctype
.
value
==
"MappingInput"
)
{
cell
.
value
.
attributes
.
ctype
.
value
==
"MappingInput"
)
{
this
.
mappingInputDialog
=
!
this
.
mappingInputDialog
this
.
mappingInputDialog
=
!
this
.
mappingInputDialog
this
.
form
=
this
.
showDataFunc
();
this
.
form
=
this
.
showDataFunc
();
...
@@ -2646,9 +2664,9 @@ export default {
...
@@ -2646,9 +2664,9 @@ export default {
let
root
=
this
.
graph
.
getDefaultParent
();
let
root
=
this
.
graph
.
getDefaultParent
();
// this.doubleClickCell = cell;
// this.doubleClickCell = cell;
console
.
log
(
"root-"
,
root
,
"cell"
,
cell
);
console
.
log
(
"root-"
,
root
,
"cell"
,
cell
);
let
channelLogTable
=
JSON
.
parse
(
root
.
getAttribute
(
"channelLogTable"
));
//
let channelLogTable = JSON.parse(root.getAttribute("channelLogTable"));
console
.
log
(
"channelLogTable-"
,
channelLogTable
);
//
console.log("channelLogTable-", channelLogTable);
let
q
=
{};
let
q
=
{};
let
obj
=
root
.
value
.
attributes
;
let
obj
=
root
.
value
.
attributes
;
...
...
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