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
90b38d65
Commit
90b38d65
authored
Mar 22, 2021
by
李耀锟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
文本文件输入页面和生成记录页面
parent
72257ede
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
1374 additions
and
157 deletions
+1374
-157
.env.development
+4
-4
src/views/dashboard-kettle/components/appBulletFrame/customConstant.vue
+108
-61
src/views/dashboard-kettle/components/appBulletFrame/generatingRecords.vue
+247
-0
src/views/dashboard-kettle/components/appBulletFrame/getSystemInformation.vue
+8
-0
src/views/dashboard-kettle/components/appBulletFrame/randomNumber.vue
+8
-2
src/views/dashboard-kettle/components/appBulletFrame/tableInput.vue
+148
-48
src/views/dashboard-kettle/components/appBulletFrame/textFileInput.vue
+767
-0
src/views/dashboard-kettle/components/designer/FlowDesigner.vue
+84
-42
No files found.
.env.development
View file @
90b38d65
ENV = 'development'
ENV = 'development'
#
VUE_APP_BASE_API = 'http://192.168.0.2:9888/'
VUE_APP_BASE_API = 'http://192.168.0.2:9888/'
#
VUE_APP_WS_API = 'ws://192.168.0.2:9888/'
VUE_APP_WS_API = 'ws://192.168.0.2:9888/'
VUE_APP_BASE_API = 'http://192.168.0.44:9882/'
#
VUE_APP_BASE_API = 'http://192.168.0.44:9882/'
VUE_APP_WS_API = 'ws://192.168.0.44:9882/'
#
VUE_APP_WS_API = 'ws://192.168.0.44:9882/'
...
...
src/views/dashboard-kettle/components/appBulletFrame/customConstant.vue
View file @
90b38d65
<
template
>
<
template
>
<div
class=
"customConstant"
>
<div
class=
"customConstant"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"form.name"
></el-input>
</el-form-item>
</el-form>
<el-tabs
type=
"border-card"
>
<el-tabs
type=
"border-card"
>
<el-tab-pane
label=
"用户管理"
>
<el-tab-pane
label=
"元数据"
>
<el-button
size=
"small"
type=
"primary"
style=
"margin: 10px"
<el-button
size=
"small"
type=
"primary"
style=
"margin: 10px"
@
click=
"addMetadata"
>
添加元数据
</el-button
>
添加元数据
</el-button
>
>
<el-table
:data=
"tableData"
border
style=
"width: 100%"
>
<el-table
:data=
"tableData"
border
style=
"width: 100%"
>
...
@@ -19,7 +29,10 @@
...
@@ -19,7 +29,10 @@
<el-table-column
prop=
"nullable"
label=
"设为空?"
>
</el-table-column>
<el-table-column
prop=
"nullable"
label=
"设为空?"
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"100px"
>
<el-table-column
label=
"操作"
width=
"100px"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-button
@
click=
"customClick(scope.row)"
type=
"text"
size=
"small"
<el-button
@
click=
"customClick(scope.row)"
type=
"text"
size=
"small"
>
编辑
</el-button
>
编辑
</el-button
>
>
<el-button
<el-button
...
@@ -33,34 +46,35 @@
...
@@ -33,34 +46,35 @@
</el-table>
</el-table>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"数据"
>
<el-button
size=
"small"
<el-tab-pane
label=
"配置管理"
>
type=
"primary"
<el-button
size=
"small"
type=
"primary"
style=
"margin: 10px"
style=
"margin: 10px"
@
click=
"addData"
>
添加数据
</el-button
>
添加数据
</el-button
>
>
<el-table
:data=
"data"
border
style=
"width: 100%"
>
<el-table
:data=
"data"
border
style=
"width: 100%"
>
<el-table-column
prop=
"name"
label=
"名称"
>
</el-table-column>
<el-table-column
<el-table-column
prop=
"type"
label=
"类型"
>
</el-table-column>
v-for=
"item in tableData"
<el-table-column
prop=
"format"
label=
"格式"
>
</el-table-column>
:key=
"item.id"
<el-table-column
prop=
"length"
label=
"长度"
>
</el-table-column>
:label=
"item.name"
<el-table-column
prop=
"precision"
label=
"精度"
>
</el-table-column>
:prop=
"item.name"
<el-table-column
prop=
"currencyType"
label=
"货币类型"
>
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"decimal"
label=
"小数"
>
</el-table-column>
<el-table-column
prop=
"group"
label=
"分组"
>
</el-table-column>
<el-table-column
prop=
"value"
label=
"值"
>
</el-table-column>
<el-table-column
prop=
"nullable"
label=
"设为空?"
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"100px"
>
<el-table-column
label=
"操作"
width=
"100px"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click=
"customClick(scope.row)"
type=
"text"
size=
"small"
<el-button
@
click=
"valueClick(scope.row)"
type=
"text"
size=
"small"
>
编辑
</el-button
>
编辑
</el-button
>
>
<el-button
<el-button
type=
"text"
type=
"text"
size=
"small"
size=
"small"
@
click=
"delete
custom(scope.$index, tableD
ata)"
@
click=
"delete
Value(scope.$index, d
ata)"
>
删除
</el-button
>
删除
</el-button
>
>
</
template
>
</
template
>
...
@@ -69,11 +83,6 @@
...
@@ -69,11 +83,6 @@
</el-tab-pane>
</el-tab-pane>
</el-tabs>
</el-tabs>
<el-dialog
<el-dialog
title=
"添加元数据"
title=
"添加元数据"
:visible
.
sync=
"metadata"
:visible
.
sync=
"metadata"
...
@@ -90,7 +99,7 @@
...
@@ -90,7 +99,7 @@
<el-select
v-model=
"metadataForm.type"
style=
"width: 100%"
>
<el-select
v-model=
"metadataForm.type"
style=
"width: 100%"
>
<el-option
<el-option
v-for=
"item in fieldType"
v-for=
"item in fieldType"
:key=
"item.i
d
"
:key=
"item.i
ndex
"
:label=
"item.name"
:label=
"item.name"
:value=
"item.name"
:value=
"item.name"
/>
/>
...
@@ -108,23 +117,23 @@
...
@@ -108,23 +117,23 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"长度:"
>
<el-form-item
label=
"长度:"
>
<el-input
v-model=
"metadataForm.length"
></el-input>
<el-input
v-model=
"metadataForm.length"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"精度:"
>
<el-form-item
label=
"精度:"
>
<el-input
v-model=
"metadataForm.precision"
></el-input>
<el-input
v-model=
"metadataForm.precision"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"货币类型:"
>
<el-form-item
label=
"货币类型:"
>
<el-input
v-model=
"metadataForm.currencyType"
></el-input>
<el-input
v-model=
"metadataForm.currencyType"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"小数:"
>
<el-form-item
label=
"小数:"
>
<el-input
v-model=
"metadataForm.decimal"
></el-input>
<el-input
v-model=
"metadataForm.decimal"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"分组:"
>
<el-form-item
label=
"分组:"
>
<el-input
v-model=
"metadataForm.group"
></el-input>
<el-input
v-model=
"metadataForm.group"
></el-input>
</el-form-item>
</el-form-item>
...
@@ -132,17 +141,12 @@
...
@@ -132,17 +141,12 @@
<el-input
v-model=
"metadataForm.value"
></el-input>
<el-input
v-model=
"metadataForm.value"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"分组:"
>
<el-input
v-model=
"metadataForm.group"
></el-input>
</el-form-item>
<el-form-item
label=
"设为空?:"
>
<el-form-item
label=
"设为空?:"
>
<el-select
v-model=
"metadataForm.nullable"
style=
"width: 100%"
>
<el-select
v-model=
"metadataForm.nullable"
style=
"width: 100%"
>
<el-option
label=
"非空"
value=
"0"
></el-option>
<el-option
label=
"非空"
value=
"0"
></el-option>
<el-option
label=
"空"
value=
"1"
></el-option>
<el-option
label=
"空"
value=
"1"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
...
@@ -151,22 +155,44 @@
...
@@ -151,22 +155,44 @@
</span>
</span>
</el-dialog>
</el-dialog>
<el-dialog
title=
"添加数据"
:visible
.
sync=
"addValue"
width=
"500px"
:before-close=
"handleClose"
:modal=
"false"
>
<el-form
ref=
"form"
:model=
"ValueForm"
label-width=
"120px"
>
<el-form-item
v-for=
"item in tableData"
:key=
"item.index"
:label=
"item.name"
>
<el-input
v-model=
"ValueForm[item.name]"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"addValue = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"addValuePush"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
valueFormat
,
valueMeta
}
from
"@/api/kettle/link"
;
import
{
valueFormat
,
valueMeta
}
from
"@/api/kettle/link"
;
export
default
{
export
default
{
props
:
[
"
custom
"
],
props
:
[
""
],
data
()
{
data
()
{
return
{
return
{
metadataForm
:{},
form
:
{},
metadata
:
false
,
metadataForm
:
{},
metadata
:
false
,
addValue
:
false
,
ValueForm
:
{},
activeName
:
"first"
,
activeName
:
"first"
,
data
:[
data
:
[],
],
tableData
:
[
tableData
:
[
{
{
date
:
"2016-05-02"
,
date
:
"2016-05-02"
,
...
@@ -175,22 +201,23 @@ export default {
...
@@ -175,22 +201,23 @@ export default {
},
},
{
{
date
:
"2016-05-04"
,
date
:
"2016-05-04"
,
name
:
"
王小虎
"
,
name
:
"
456456
"
,
address
:
"上海市普陀区金沙江路 1517 弄"
,
address
:
"上海市普陀区金沙江路 1517 弄"
,
},
},
{
{
date
:
"2016-05-01"
,
date
:
"2016-05-01"
,
name
:
"
王小虎
"
,
name
:
"
4654
"
,
address
:
"上海市普陀区金沙江路 1519 弄"
,
address
:
"上海市普陀区金沙江路 1519 弄"
,
},
},
{
{
date
:
"2016-05-03"
,
date
:
"2016-05-03"
,
name
:
"
王小虎
"
,
name
:
"
710245
"
,
address
:
"上海市普陀区金沙江路 1516 弄"
,
address
:
"上海市普陀区金沙江路 1516 弄"
,
},
},
],
],
fieldFormat
:{},
fieldFormat
:
{},
fieldType
:{},
fieldType
:
{},
valueForms
:{}
//
};
};
},
},
...
@@ -201,8 +228,26 @@ export default {
...
@@ -201,8 +228,26 @@ export default {
methods
:
{
methods
:
{
// 关闭弹框
addValuePush
(){
this
.
addValue
=
!
this
.
addValue
this
.
data
.
push
(
this
.
ValueForm
)
},
addData
()
{
this
.
addValue
=
!
this
.
addValue
;
},
valueClick
(
val
)
{
this
.
addValue
=
!
this
.
addValue
this
.
metadataForm
=
val
;
},
addMetadata
()
{
this
.
metadata
=
!
this
.
metadata
;
this
.
metadataForm
=
[];
},
// 关闭弹框
handleClose
(
done
)
{
handleClose
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
this
.
$confirm
(
"确认关闭?"
)
.
then
((
_
)
=>
{
.
then
((
_
)
=>
{
...
@@ -211,7 +256,12 @@ export default {
...
@@ -211,7 +256,12 @@ export default {
.
catch
((
_
)
=>
{});
.
catch
((
_
)
=>
{});
},
},
deletecustom
(
index
,
rows
)
{
deleteValue
(
index
,
rows
){
rows
.
splice
(
index
,
1
);
},
deletecustom
(
index
,
rows
)
{
rows
.
splice
(
index
,
1
);
rows
.
splice
(
index
,
1
);
},
},
customClick
(
val
)
{
customClick
(
val
)
{
...
@@ -219,22 +269,19 @@ export default {
...
@@ -219,22 +269,19 @@ export default {
this
.
metadataForm
=
val
;
this
.
metadataForm
=
val
;
},
},
valueFormatFun
()
{
valueFormatFun
()
{
let
pamer2
=
new
FormData
();
// 创建form对象
let
pamer2
=
new
FormData
();
// 创建form对象
pamer2
.
append
(
"valueType"
,
"all"
);
pamer2
.
append
(
"valueType"
,
"all"
);
valueFormat
(
pamer2
).
then
((
res
)
=>
{
valueFormat
(
pamer2
).
then
((
res
)
=>
{
this
.
fieldFormat
=
res
;
this
.
fieldFormat
=
res
;
});
});
},
},
valueMetaFun
(){
valueMetaFun
()
{
valueMeta
().
then
(
res
=>
{
valueMeta
().
then
((
res
)
=>
{
this
.
fieldType
=
res
this
.
fieldType
=
res
;
})
})
;
},
},
},
},
};
};
</
script
>
</
script
>
...
...
src/views/dashboard-kettle/components/appBulletFrame/generatingRecords.vue
0 → 100644
View file @
90b38d65
<
template
>
<div
class=
"customConstant"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"form.name"
></el-input>
</el-form-item>
</el-form>
<el-card
class=
"box-card"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"250px"
>
<el-form-item
label=
"限制:"
>
<el-input
v-model=
"form.rowLimit"
></el-input>
</el-form-item>
<el-form-item
label=
"Never stop generating rows:"
>
<el-checkbox
v-model=
"form.neverEnding"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"Interval in ms(delay):"
>
<el-input
v-model=
"form.intervalInMs"
:disabled=
"!form.neverEnding"
></el-input>
</el-form-item>
<el-form-item
label=
"Current row time field name:"
>
<el-input
v-model=
"form.rowTimeField"
:disabled=
"!form.neverEnding"
></el-input>
</el-form-item>
<el-form-item
label=
"Previous row time field name:"
>
<el-input
v-model=
"form.lastTimeField"
:disabled=
"!form.neverEnding"
></el-input>
</el-form-item>
</el-form>
</el-card>
<br>
<el-card
class=
"box-card"
>
<el-button
size=
"small"
type=
"primary"
style=
"margin: 10px"
@
click=
"addField"
>
添加字段
</el-button
>
<el-table
:data=
"tableData"
border
style=
"width: 100%"
>
<el-table-column
prop=
"name"
label=
"名称"
>
</el-table-column>
<el-table-column
prop=
"type"
label=
"类型"
>
</el-table-column>
<el-table-column
prop=
"format"
label=
"格式"
>
</el-table-column>
<el-table-column
prop=
"length"
label=
"长度"
>
</el-table-column>
<el-table-column
prop=
"precision"
label=
"精度"
>
</el-table-column>
<el-table-column
prop=
"currencyType"
label=
"货币类型"
>
</el-table-column>
<el-table-column
prop=
"decimal"
label=
"小数"
>
</el-table-column>
<el-table-column
prop=
"group"
label=
"分组"
>
</el-table-column>
<el-table-column
prop=
"value"
label=
"值"
>
</el-table-column>
<el-table-column
prop=
"nullable"
label=
"设为空?"
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"100px"
>
<template
slot-scope=
"scope"
>
<el-button
@
click=
"customClick(scope.row)"
type=
"text"
size=
"small"
>
编辑
</el-button
>
<el-button
type=
"text"
size=
"small"
@
click=
"deletecustom(scope.$index, tableData)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
</el-card>
<el-dialog
title=
"添加字段"
:visible
.
sync=
"metadata"
width=
"500px"
:before-close=
"handleClose"
:modal=
"false"
>
<el-form
ref=
"form"
:model=
"metadataForm"
label-width=
"160px"
>
<el-form-item
label=
"名称:"
>
<el-input
v-model=
"metadataForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"类型:"
>
<el-select
v-model=
"metadataForm.type"
style=
"width: 100%"
>
<el-option
v-for=
"item in fieldType"
:key=
"item.id"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"格式:"
>
<el-select
v-model=
"metadataForm.format"
style=
"width: 100%"
>
<el-option
v-for=
"item in fieldFormat"
:key=
"item.index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"长度:"
>
<el-input
v-model=
"metadataForm.length"
></el-input>
</el-form-item>
<el-form-item
label=
"精度:"
>
<el-input
v-model=
"metadataForm.precision"
></el-input>
</el-form-item>
<el-form-item
label=
"货币类型:"
>
<el-input
v-model=
"metadataForm.currencyType"
></el-input>
</el-form-item>
<el-form-item
label=
"小数:"
>
<el-input
v-model=
"metadataForm.decimal"
></el-input>
</el-form-item>
<el-form-item
label=
"分组:"
>
<el-input
v-model=
"metadataForm.group"
></el-input>
</el-form-item>
<el-form-item
label=
"值:"
>
<el-input
v-model=
"metadataForm.value"
></el-input>
</el-form-item>
<el-form-item
label=
"设为空?:"
>
<el-select
v-model=
"metadataForm.nullable"
style=
"width: 100%"
>
<el-option
label=
"非空"
value=
"0"
></el-option>
<el-option
label=
"空"
value=
"1"
></el-option>
</el-select>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"metadata = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"metadata = false"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
{
valueFormat
,
valueMeta
}
from
"@/api/kettle/link"
;
export
default
{
props
:
[
"custom"
],
data
()
{
return
{
form
:{},
metadataForm
:{},
metadata
:
false
,
activeName
:
"first"
,
data
:[
],
tableData
:
[
{
date
:
"2016-05-02"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1518 弄"
,
},
{
date
:
"2016-05-04"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1517 弄"
,
},
{
date
:
"2016-05-01"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1519 弄"
,
},
{
date
:
"2016-05-03"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1516 弄"
,
},
],
fieldFormat
:{},
fieldType
:{},
};
},
created
()
{
this
.
valueFormatFun
();
this
.
valueMetaFun
();
},
methods
:
{
addField
(){
this
.
metadata
=
!
this
.
metadata
;
this
.
metadataForm
=
[];
},
// 关闭弹框
handleClose
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
.
then
((
_
)
=>
{
done
();
})
.
catch
((
_
)
=>
{});
},
deletecustom
(
index
,
rows
)
{
rows
.
splice
(
index
,
1
);
},
customClick
(
val
)
{
this
.
metadata
=
!
this
.
metadata
;
this
.
metadataForm
=
val
;
},
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/getSystemInformation.vue
View file @
90b38d65
<
template
>
<
template
>
<div
class=
"getSystemInformation"
>
<div
class=
"getSystemInformation"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"form.name"
></el-input>
</el-form-item>
</el-form>
<el-form
ref=
"form"
:model=
"form"
label-width=
"0px"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"0px"
>
<el-button
type=
"primary"
@
click=
"addSheet"
style=
"margin: 10px"
<el-button
type=
"primary"
@
click=
"addSheet"
style=
"margin: 10px"
>
添加字段
</el-button
>
添加字段
</el-button
...
...
src/views/dashboard-kettle/components/appBulletFrame/randomNumber.vue
View file @
90b38d65
<
template
>
<
template
>
<div
class=
"randomNumber"
>
<div
class=
"randomNumber"
>
<el-form
ref=
"from"
:model=
"form"
label-width=
"120px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"form.name"
></el-input>
</el-form-item>
</el-form>
<el-form
ref=
"form"
:model=
"form"
label-width=
"0px"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"0px"
>
<el-button
type=
"primary"
@
click=
"addSheet"
style=
"margin: 10px"
<el-button
type=
"primary"
@
click=
"addSheet"
style=
"margin: 10px"
...
@@ -18,7 +24,7 @@
...
@@ -18,7 +24,7 @@
<el-table-column
label=
"操作"
>
<el-table-column
label=
"操作"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-button
<el-button
@
click=
"handleClick(scope.row)"
@
click=
"handleClick(scope.row)"
type=
"text"
type=
"text"
size=
"small"
size=
"small"
>
编辑
</el-button
>
编辑
</el-button
...
@@ -73,7 +79,7 @@
...
@@ -73,7 +79,7 @@
<
script
>
<
script
>
import
{
randomValueFunc
}
from
"@/api/kettle/link"
;
import
{
randomValueFunc
}
from
"@/api/kettle/link"
;
export
default
{
export
default
{
props
:
[
"
random
"
],
props
:
[
""
],
data
()
{
data
()
{
return
{
return
{
form
:
{},
form
:
{},
...
...
src/views/dashboard-kettle/components/appBulletFrame/tableInput.vue
View file @
90b38d65
<
template
>
<
template
>
<div
class=
"tableInput"
>
<div
class=
"tableInput"
>
<el-form
ref=
"from"
:model=
"form"
label-width=
"120px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"form.name"
></el-input>
</el-form-item>
</el-form>
<el-form
ref=
"form"
:model=
"form"
label-width=
"0px"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"0px"
>
<el-form-item>
<el-form-item>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"13"
>
<el-col
:span=
"13"
>
<el-select
v-model=
"form.connection"
style=
"width: 100%"
@
change=
"getField(form.connection)"
>
<el-select
v-model=
"form.connection"
style=
"width: 100%"
@
change=
"getField"
>
<el-option
<el-option
v-for=
"item in ComboBox"
v-for=
"item in ComboBox"
:key=
"item.id"
:key=
"item.id"
...
@@ -13,18 +24,28 @@
...
@@ -13,18 +24,28 @@
:value=
"item.name"
:value=
"item.name"
/>
/>
</el-select>
</el-select>
<!--
<el-select
v-model=
"form.connection"
style=
"width: 100%"
@
change=
"getField()"
>
<el-option
v-for=
"item in ComboBox"
:key=
"item.id"
:label=
"item.name"
:value=
"item"
/>
</el-select>
-->
</el-col>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-col
class=
"line"
:span=
"2"
>
<el-button
size=
"mini"
>
编辑
</el-button></el-col
<el-button
size=
"mini"
>
编辑
</el-button></el-col
>
>
<el-col
class=
"line"
:span=
"2"
>
<el-col
class=
"line"
:span=
"2"
>
<el-button
size=
"mini"
>
新建
</el-button></el-col
<el-button
size=
"mini"
>
新建
</el-button></el-col
>
>
<el-col
class=
"line"
:span=
"2"
>
<el-col
class=
"line"
:span=
"2"
>
<el-button
size=
"mini"
>
向导
</el-button></el-col
<el-button
size=
"mini"
>
向导
</el-button></el-col
>
>
<el-col
class=
"line"
:span=
"5"
>
<el-col
class=
"line"
:span=
"5"
>
<el-button
size=
"mini"
@
click=
"SQLPopup"
>
获取SQL查询语句
</el-button></el-col
<el-button
size=
"mini"
@
click=
"SQLPopup()"
>
获取SQL查询语句
</el-button
></el-col
>
>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
...
@@ -44,22 +65,22 @@
...
@@ -44,22 +65,22 @@
<el-form-item
label=
"从步骤插入数据:"
>
<el-form-item
label=
"从步骤插入数据:"
>
<el-select
v-model=
"form.lookup"
style=
"width: 100%"
>
<el-select
v-model=
"form.lookup"
style=
"width: 100%"
>
<el-option
v-for=
"item in connectionNode"
<el-option
:key=
"item.id"
v-for=
"item in connectionNode"
:label=
"item.name"
:key=
"item.id"
:value=
"item.name"
/>
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"执行每一行:"
>
<el-form-item
label=
"执行每一行:"
>
<el-checkbox
v-model=
"form.execute_each_row"
></el-checkbox>
<el-checkbox
v-model=
"form.execute_each_row"
></el-checkbox>
</el-form-item>
</el-form-item>
<el-form-item
label=
"记录数量限制:"
>
<el-form-item
label=
"记录数量限制:"
>
<el-input
v-model=
"form.limit"
></el-input>
<el-input
v-model=
"form.limit"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-dialog
<el-dialog
...
@@ -69,6 +90,14 @@
...
@@ -69,6 +90,14 @@
:before-close=
"handleClose"
:before-close=
"handleClose"
:modal=
"false"
:modal=
"false"
>
>
<el-tree
:data=
"browsingData"
:props=
"defaultProps"
@
node-click=
"handleNodeClick"
></el-tree>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
...
@@ -76,58 +105,132 @@
...
@@ -76,58 +105,132 @@
<el-button
type=
"primary"
@
click=
"browsing = false"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"browsing = false"
>
确 定
</el-button>
</span>
</span>
</el-dialog>
</el-dialog>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
listNames
,
explorer
,
listDatabases
}
from
"@/api/kettle/link"
;
import
{
listNames
,
explorer
,
listDatabases
}
from
"@/api/kettle/link"
;
export
default
{
export
default
{
props
:
[
"connectionNode"
],
//从父组件传过来的值
props
:
[
"connectionNode"
],
//从父组件传过来的值
data
()
{
data
()
{
return
{
return
{
browsing
:
false
,
browsing
:
false
,
form
:
{
form
:
{
wLazyConversion
:
false
,
wLazyConversion
:
false
,
wVariables
:
false
,
wVariables
:
false
,
wEachRow
:
false
,
wEachRow
:
false
,
},
ComboBox
:
[],
library
:
[],
PopupFrom
:{},
browsingData
:
[],
defaultProps
:
{
children
:
"children"
,
label
:
"text"
,
},
},
ComboBox
:
{},
libraryName
:[],
};
};
},
},
created
()
{
created
()
{
this
.
list
Nam
esFun
();
this
.
list
Databas
esFun
();
},
},
methods
:
{
methods
:
{
getField
(
val
)
{
this
.
library
=
this
.
ComboBox
.
find
((
e
)
=>
{
return
e
.
name
==
val
;
});
console
.
log
(
this
.
library
);
},
SQLPopup
()
{
if
(
this
.
form
.
connection
)
{
this
.
browsing
=
!
this
.
browsing
;
let
pamq
=
new
FormData
();
// 创建form对象
pamq
.
append
(
"databaseInfo"
,
JSON
.
stringify
(
this
.
library
));
pamq
.
append
(
"nodeId"
,
""
);
pamq
.
append
(
"text"
,
""
);
pamq
.
append
(
"includeElement"
,
"15"
);
pamq
.
append
(
"node"
,
""
);
explorer
(
pamq
).
then
((
res
)
=>
{
console
.
log
(
res
,
'------------'
);
this
.
PopupFrom
=
res
// this.browsingData = res
let
pam
=
new
FormData
();
// 创建form对象
pam
.
append
(
"databaseInfo"
,
JSON
.
stringify
(
this
.
library
));
pam
.
append
(
"nodeId"
,
JSON
.
stringify
(
this
.
PopupFrom
[
0
].
nodeId
).
replace
(
"
\"
"
,
""
).
replace
(
"
\"
"
,
""
));
pam
.
append
(
"text"
,
JSON
.
stringify
(
this
.
library
.
name
).
replace
(
"
\"
"
,
""
).
replace
(
"
\"
"
,
""
));
pam
.
append
(
"includeElement"
,
"15"
);
explorer
(
pam
).
then
((
res
)
=>
{
console
.
log
(
res
,
'++++++++++++++++++'
);
this
.
browsingData
=
this
.
PopupFrom
this
.
browsingData
[
0
].
children
=
res
let
itemData
=
this
.
browsingData
[
0
]
console
.
log
(
'======'
,
itemData
,
res
)
itemData
.
children
=
res
this
.
$set
(
this
.
browsingData
,
0
,
itemData
)
// this.browsingData = this.PopupFrom
// this.browsingData[0].children = res
});
});
}
else
{
this
.
$message
.
error
(
"请选择数据库"
);
}
getField
(
val
){
console
.
log
(
val
);
listDatabases
({
name
:
val
}).
then
(
res
=>
{
console
.
log
(
res
);
})
// this.libraryName = val
},
},
SQLPopup
(){
if
(
this
.
form
.
connection
)
{
loadNode
(
node
,
resolve
)
{
this
.
browsing
=
!
this
.
browsing
if
(
node
.
level
===
0
)
{
explorer
({
databaseInfo
:{
name
:
this
.
libraryName
}}).
then
(
res
=>
{
return
resolve
([{
name
:
'region'
}]);
console
.
log
(
res
);
})
}
else
{
this
.
$message
.
error
(
"请选择数据库"
);
}
}
if
(
node
.
level
>
this
.
PopupFrom
.
length
)
return
resolve
([]);
setTimeout
(()
=>
{
const
data
=
[{
name
:
'leaf'
,
leaf
:
true
},
{
name
:
'zone'
}];
resolve
(
data
);
},
500
);
},
},
handleClose
(
done
)
{
this
.
browsing
=
!
this
.
browsing
// handleNodeClick(data) {
// console.log(data);
// let pam = new FormData(); // 创建form对象
// pam.append("databaseInfo", JSON.stringify(this.library));
// pam.append("nodeId", JSON.stringify(data.nodeId).replace("\"", "").replace("\"",""));
// pam.append("text", JSON.stringify(data.text).replace("\"", "").replace("\"",""));
// pam.append("includeElement", "15");
// explorer(pam).then(res=>{
// console.log(res,'..........');
// })
// },
handleClose
(
done
)
{
this
.
browsing
=
!
this
.
browsing
;
// this.$confirm("确认关闭?")
// this.$confirm("确认关闭?")
// .then((_) => {
// .then((_) => {
// done();
// done();
...
@@ -135,13 +238,10 @@ handleClose(done) {
...
@@ -135,13 +238,10 @@ handleClose(done) {
// .catch((_) => {});
// .catch((_) => {});
},
},
listDatabasesFun
()
{
listNamesFun
()
{
let
pamer
=
new
FormData
();
// 创建form对象
let
pamer
=
new
FormData
();
// 创建form对象
pamer
.
append
(
"query"
,
""
);
pamer
.
append
(
"query"
,
""
);
list
Nam
es
(
pamer
).
then
((
res
)
=>
{
list
Databas
es
(
pamer
).
then
((
res
)
=>
{
this
.
ComboBox
=
res
;
this
.
ComboBox
=
res
;
});
});
...
...
src/views/dashboard-kettle/components/appBulletFrame/textFileInput.vue
0 → 100644
View file @
90b38d65
<
template
>
<div
class=
"customConstant"
>
<el-form
ref=
"from"
:model=
"form"
label-width=
"120px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"form.name"
></el-input>
</el-form-item>
</el-form>
<el-tabs
type=
"border-card"
>
<el-tab-pane
label=
"文件"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"150px"
>
<el-form-item
label=
"文件名称:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"17"
>
<el-input
v-model=
"form.fileName"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"3"
>
<el-button
size=
"mini"
>
增加
</el-button></el-col
>
<el-col
class=
"line"
:span=
"3"
>
<el-button
size=
"mini"
>
浏览
</el-button></el-col
>
</el-row>
</el-form-item>
<el-form-item
label=
"规则表达式:"
>
<el-input
v-model=
"form.fileMask"
></el-input>
</el-form-item>
<el-form-item
label=
"正则表达式(排除):"
>
<el-input
v-model=
"form.excludeFileMask"
></el-input>
</el-form-item>
<el-form-item
label=
"选中的文件:"
>
<!--
<input
type=
"file"
placeholder=
"上传"
@
change=
"fileChnageInput"
/>
-->
<el-upload
class=
"upload-demo"
action=
"https://jsonplaceholder.typicode.com/posts/"
:on-change=
"handleChange"
:show-file-list=
"false"
:auto-upload=
"false"
:disabled=
"form.acceptingFilenames"
>
<el-button
size=
"small"
type=
"primary"
:disabled=
"form.acceptingFilenames"
>
点击上传
</el-button
>
</el-upload>
<el-card
class=
"box-card"
>
<el-table
:data=
"fileData"
style=
"width: 100%"
>
<el-table-column
prop=
"fileName"
label=
"文件/目录"
width=
"120"
>
</el-table-column>
<el-table-column
prop=
"filemask"
label=
"通配符"
>
</el-table-column>
<el-table-column
prop=
"excludeFileMask"
label=
"通配符号(排除)"
>
</el-table-column>
<el-table-column
prop=
"fileRequired"
label=
"要求"
>
</el-table-column>
<el-table-column
prop=
"includeSubFolders"
label=
"包含子目录"
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"120px"
>
<template
slot-scope=
"scope"
>
<el-button
@
click=
"handleClick(scope.row)"
type=
"text"
size=
"small"
:disabled=
"form.acceptingFilenames"
>
编辑
</el-button
>
<el-button
type=
"text"
size=
"small"
@
click=
"deleteRow(scope.$index, fileData)"
:disabled=
"form.acceptingFilenames"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
</el-card>
</el-form-item>
</el-form>
<el-form
ref=
"form"
:model=
"form"
label-width=
"200px"
>
<el-card
class=
"box-card"
>
<el-form-item
label=
"从以前步骤接受文件名:"
>
<el-checkbox
v-model=
"form.acceptingFilenames"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"从以前步骤接受字段名:"
>
<el-checkbox
v-model=
"form.passingThruFields"
:disabled=
"!form.acceptingFilenames"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"步骤读取的文件名来自:"
>
<el-input
v-model=
"form.acceptingField"
:disabled=
"!form.acceptingFilenames"
></el-input>
</el-form-item>
<el-form-item
label=
"在输入里的字段被当做文件名:"
>
<el-input
v-model=
"form.acceptingStepName"
:disabled=
"!form.acceptingFilenames"
></el-input>
</el-form-item>
</el-card>
</el-form>
</el-tab-pane>
<el-tab-pane
label=
"内容"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"200px"
>
<el-form-item
label=
"文件类型:"
>
<el-select
v-model=
"form.fileType"
style=
"width: 100%"
>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"分割符:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"21"
>
<el-input
v-model=
"form.separator"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-button
size=
"mini"
>
增加
</el-button></el-col
>
</el-row>
</el-form-item>
<el-form-item
label=
"文本限定符:"
>
<el-input
v-model=
"form.enclosure"
></el-input>
</el-form-item>
<el-form-item
label=
"在文本里允许换行:"
>
<el-checkbox
v-model=
"form.breakInEnclosureAllowed"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"逃逸字符:"
>
<el-input
v-model=
"form.escapeCharacter"
></el-input>
</el-form-item>
<el-form-item
label=
"头部:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"2"
>
<el-checkbox
v-model=
"form.header"
></el-checkbox>
</el-col>
<el-col
class=
"line"
:span=
"4"
>
头部行数:
</el-col>
<el-col
:span=
"17"
>
<el-input
v-model=
"form.nrHeaderLines"
:disabled=
"!form.header"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item
label=
"尾部:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"2"
>
<el-checkbox
v-model=
"form.footer"
></el-checkbox>
</el-col>
<el-col
class=
"line"
:span=
"4"
>
尾部行数:
</el-col>
<el-col
:span=
"17"
>
<el-input
v-model=
"form.nrFooterLines"
:disabled=
"!form.footer"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item
label=
"包装行:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"2"
>
<el-checkbox
v-model=
"form.lineWrapped"
></el-checkbox>
</el-col>
<el-col
class=
"line"
:span=
"6"
>
以时间包装的行数:
</el-col>
<el-col
:span=
"15"
>
<el-input
v-model=
"form.nrWraps"
:disabled=
"!form.lineWrapped"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item
label=
"分页布局(pointout):"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"2"
>
<el-checkbox
v-model=
"form.layoutPaged"
></el-checkbox>
</el-col>
<el-col
class=
"line"
:span=
"5"
>
每页记录行数:
</el-col>
<el-col
:span=
"16"
>
<el-input
v-model=
"form.nrLinesPerPage"
:disabled=
"!form.layoutPaged"
></el-input>
</el-col>
</el-row>
<el-row
:gutter=
"10"
style=
"margin-top: 5px"
>
<el-col
class=
"line"
:span=
"4"
:offset=
"2"
>
文档头部行:
</el-col>
<el-col
:span=
"17"
>
<el-input
v-model=
"form.nrLinesDocHeader"
:disabled=
"!form.layoutPaged"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item
label=
"压缩:"
>
<el-select
v-model=
"form.fileCompression"
style=
"width: 100%"
>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"没有空行:"
>
<el-checkbox
v-model=
"form.noEmptyLines"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"在输出包括字段名:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"2"
>
<el-checkbox
v-model=
"form.includeFilename"
></el-checkbox>
</el-col>
<el-col
class=
"line"
:span=
"5"
>
包含字段名名称:
</el-col>
<el-col
:span=
"16"
>
<el-input
v-model=
"form.filenameField"
:disabled=
"!form.includeFilename"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item
label=
"输出包含行数:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"2"
>
<el-checkbox
v-model=
"form.includeRowNumber"
></el-checkbox>
</el-col>
<el-col
class=
"line"
:span=
"5"
>
行数字段名称:
</el-col>
<el-col
:span=
"16"
>
<el-input
v-model=
"form.rowNumberField"
:disabled=
"!form.includeRowNumber"
></el-input>
</el-col>
</el-row>
<el-row
:gutter=
"10"
style=
"margin-top: 5px"
>
<el-col
class=
"line"
:span=
"5"
:offset=
"2"
>
按文件取行号:
</el-col>
<el-col
:span=
"1"
>
<el-checkbox
v-model=
"form.rowNumberByFile"
:disabled=
"!form.includeRowNumber"
></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item
label=
"格式:"
>
<el-select
v-model=
"form.fileFormat"
style=
"width: 100%"
>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"编码:"
>
<el-select
v-model=
"form.encoding"
style=
"width: 100%"
>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"记录数量限制:"
>
<el-input
v-model=
"form.rowLimit"
></el-input>
</el-form-item>
<el-form-item
label=
"解析日期的时候是否严格要求:"
>
<el-checkbox
v-model=
"form.dateFormatLenient"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"本地日期格式:"
>
<el-input
v-model=
"form.dateFormatLocale"
></el-input>
</el-form-item>
<el-form-item
label=
"添加文件名:"
>
<el-checkbox
v-model=
"form.addresult"
></el-checkbox>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane
label=
"错误处理"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"160px"
>
<el-form-item
label=
"忽略错误:"
>
<el-checkbox
v-model=
"form.errorIgnored"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"忽略错误文件:"
>
<el-checkbox
v-model=
"form.skipBadFiles"
:disabled=
"!this.form.errorIgnored"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"错误文件字段名:"
>
<el-input
v-model=
"form.fileErrorField"
:disabled=
"!this.form.errorIgnored || !this.form.skipBadFiles"
></el-input>
</el-form-item>
<el-form-item
label=
"文件错误信息字段名:"
>
<el-input
v-model=
"form.fileErrorMessageField"
:disabled=
"!this.form.errorIgnored || !this.form.skipBadFiles"
></el-input>
</el-form-item>
<el-form-item
label=
"跳过错误行:"
>
<el-checkbox
v-model=
"form.errorLineSkipped"
:disabled=
"!this.form.errorIgnored"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"错误计数制度:"
>
<el-input
v-model=
"form.errorCountField"
:disabled=
"!this.form.errorIgnored"
></el-input>
</el-form-item>
<el-form-item
label=
"错误字段文件名:"
>
<el-input
v-model=
"form.errorFieldsField"
:disabled=
"!this.form.errorIgnored"
></el-input>
</el-form-item>
<el-form-item
label=
"错误文本字段:"
>
<el-input
v-model=
"form.errorTextField"
:disabled=
"!this.form.errorIgnored"
></el-input>
</el-form-item>
<el-form-item
label=
"告警文件目录:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"10"
>
<el-input
v-model=
"form.warningFilesDestinationDirectory"
:disabled=
"!this.form.errorIgnored"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"3"
>
扩展名:
</el-col>
<el-col
:span=
"8"
>
<el-input
v-model=
"form.warningFilesExtension"
:disabled=
"!this.form.errorIgnored"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-button
size=
"mini"
>
浏览
</el-button></el-col
>
</el-row>
</el-form-item>
<el-form-item
label=
"错误文件目录:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"10"
>
<el-input
v-model=
"form.errorFilesDestinationDirectory"
:disabled=
"!this.form.errorIgnored"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"3"
>
扩展名:
</el-col>
<el-col
:span=
"8"
>
<el-input
v-model=
"form.errorFilesExtension"
:disabled=
"!this.form.errorIgnored"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-button
size=
"mini"
>
浏览
</el-button></el-col
>
</el-row>
</el-form-item>
<el-form-item
label=
"失败行数文件目录:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"10"
>
<el-input
v-model=
"form.lineNumberFilesDestinationDirectory"
:disabled=
"!this.form.errorIgnored"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"3"
>
扩展名:
</el-col>
<el-col
:span=
"8"
>
<el-input
v-model=
"form.lineNumberFilesExtension"
:disabled=
"!this.form.errorIgnored"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-button
size=
"mini"
>
浏览
</el-button></el-col
>
</el-row>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane
label=
"过滤"
>
<el-button
type=
"primary"
@
click=
"addFilter"
>
添加过滤字段
</el-button>
<el-table
:data=
"filterData"
style=
"width: 100%"
>
<el-table-column
prop=
"filterString"
label=
"过滤器字符串"
>
</el-table-column>
<el-table-column
prop=
"filterPosition"
label=
"过滤器位置"
>
</el-table-column>
<el-table-column
prop=
"filterLastLine"
label=
"停止在过滤器"
>
</el-table-column>
<el-table-column
prop=
"filterPositive"
label=
"积极匹配"
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"100px"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click=
"filterClick(scope.row)"
type=
"text"
size=
"small"
>
编辑
</el-button
>
<el-button
type=
"text"
size=
"small"
@
click=
"deleteFilter(scope.$index, tableData)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane
label=
"字段"
>
<el-button
type=
"primary"
@
click=
"addField"
>
添加字段
</el-button>
<el-table
:data=
"fieldData"
style=
"width: 100%"
>
<el-table-column
prop=
"name"
label=
"名称"
>
</el-table-column>
<el-table-column
prop=
"type"
label=
"类型"
>
</el-table-column>
<el-table-column
prop=
"format"
label=
"格式"
>
</el-table-column>
<el-table-column
prop=
"position"
label=
"位置"
>
</el-table-column>
<el-table-column
prop=
"length"
label=
"长度"
>
</el-table-column>
<el-table-column
prop=
"precision"
label=
"精度"
>
</el-table-column>
<el-table-column
prop=
"currency"
label=
"货币"
>
</el-table-column>
<el-table-column
prop=
"decimal"
label=
"小数"
>
</el-table-column>
<el-table-column
prop=
"group"
label=
"分组"
>
</el-table-column>
<el-table-column
prop=
"nullif"
label=
"Null if"
>
</el-table-column>
<el-table-column
prop=
"ifnull"
label=
"默认"
>
</el-table-column>
<el-table-column
prop=
"trim_type"
label=
"去除空字符串..."
>
</el-table-column>
<el-table-column
prop=
"repeat"
label=
"重复"
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"100px"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click=
"fieldClick(scope.row)"
type=
"text"
size=
"small"
>
编辑
</el-button
>
<el-button
type=
"text"
size=
"small"
@
click=
"deleteField(scope.$index, tableData)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane
label=
"其他输出字段"
>
<el-form
ref=
"from"
:model=
"form"
label-width=
"160px"
>
<el-form-item
label=
"文件名字段:"
>
<el-input
v-model=
"form.shortFilenameField"
></el-input>
</el-form-item>
<el-form-item
label=
"扩展名字段:"
>
<el-input
v-model=
"form.extensionField"
></el-input>
</el-form-item>
<el-form-item
label=
"路径字段:"
>
<el-input
v-model=
"form.pathField"
></el-input>
</el-form-item>
<el-form-item
label=
"文件大小字段:"
>
<el-input
v-model=
"form.sizeField"
></el-input>
</el-form-item>
<el-form-item
label=
"是否为隐藏文件字段:"
>
<el-input
v-model=
"form.hiddenField"
></el-input>
</el-form-item>
<el-form-item
label=
"最后修改时间字段:"
>
<el-input
v-model=
"form.lastModificationField"
></el-input>
</el-form-item>
<el-form-item
label=
"Uri字段:"
>
<el-input
v-model=
"form.uriField"
></el-input>
</el-form-item>
<el-form-item
label=
"Root uri字段:"
>
<el-input
v-model=
"form.rootUriField"
></el-input>
</el-form-item>
</el-form>
</el-tab-pane>
</el-tabs>
<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-input
v-model=
"metadataForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"类型:"
>
<el-select
v-model=
"metadataForm.type"
style=
"width: 100%"
>
<el-option
v-for=
"item in fieldType"
:key=
"item.id"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"格式:"
>
<el-select
v-model=
"metadataForm.format"
style=
"width: 100%"
>
<el-option
v-for=
"item in fieldFormat"
:key=
"item.index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"位置:"
>
<el-input
v-model=
"metadataForm.position"
></el-input>
</el-form-item>
<el-form-item
label=
"长度:"
>
<el-input
v-model=
"metadataForm.length"
></el-input>
</el-form-item>
<el-form-item
label=
"精度:"
>
<el-input
v-model=
"metadataForm.precision"
></el-input>
</el-form-item>
<el-form-item
label=
"货币:"
>
<el-input
v-model=
"metadataForm.currency"
></el-input>
</el-form-item>
<el-form-item
label=
"小数:"
>
<el-input
v-model=
"metadataForm.decimal"
></el-input>
</el-form-item>
<el-form-item
label=
"分组:"
>
<el-input
v-model=
"metadataForm.group"
></el-input>
</el-form-item>
<el-form-item
label=
"Null if:"
>
<el-select
v-model=
"metadataForm.nullif"
style=
"width: 100%"
>
<el-option
label=
"非空"
value=
"0"
></el-option>
<el-option
label=
"空"
value=
"1"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"默认:"
>
<el-input
v-model=
"metadataForm.ifnull"
></el-input>
</el-form-item>
<el-form-item
label=
"去除空格类型:"
>
<el-select
v-model=
"metadataForm.trim_type"
style=
"width: 100%"
>
<el-option
label=
"不去掉空格"
value=
"none"
></el-option>
<el-option
label=
"去掉左空格"
value=
"left"
></el-option>
<el-option
label=
"去掉右空格"
value=
"right"
></el-option>
<el-option
label=
"去掉左右两端空格"
value=
"both"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"重复:"
>
<el-input
v-model=
"metadataForm.repeat"
></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=
"fieldBox = false"
>
确 定
</el-button>
</span>
</el-dialog>
<el-dialog
title=
"添加过滤字段"
:visible
.
sync=
"filterBox"
width=
"500px"
:before-close=
"handleClose"
:modal=
"false"
>
<el-form
ref=
"form"
:model=
"filterForm"
label-width=
"160px"
>
<el-form-item
label=
"过滤器字符串:"
>
<el-input
v-model=
"filterForm.filterString"
></el-input>
</el-form-item>
<el-form-item
label=
"过滤器位置:"
>
<el-select
v-model=
"filterForm.filterPosition"
style=
"width: 100%"
>
<el-option
v-for=
"item in fieldFormat"
:key=
"item.index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"停止在过滤器:"
>
<el-input
v-model=
"filterForm.filterLastLine"
></el-input>
</el-form-item>
<el-form-item
label=
"积极匹配:"
>
<el-input
v-model=
"filterForm.filterPositive"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"filterBox = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"filterBox = false"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
{
valueFormat
,
valueMeta
}
from
"@/api/kettle/link"
;
export
default
{
props
:
[
""
],
data
()
{
return
{
filterBox
:
false
,
fieldBox
:
false
,
form
:
{},
fileData
:
[
{
name
:
111
,
},
],
filterData
:
[{
filterString
:
798798
}],
fieldData
:
[{
name
:
'111111'
}],
metadataForm
:{},
filterForm
:{},
fieldFormat
:{},
fieldType
:{},
};
},
created
()
{
this
.
valueFormatFun
();
this
.
valueMetaFun
();
},
methods
:
{
// 关闭弹框
handleClose
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
.
then
((
_
)
=>
{
done
();
})
.
catch
((
_
)
=>
{});
},
handleChange
()
{},
addFilter
(){
this
.
filterBox
=
!
this
.
filterBox
this
.
filterForm
=
[]
},
filterClick
(
val
)
{
this
.
filterBox
=
!
this
.
filterBox
this
.
filterForm
=
val
},
deleteFilter
()
{},
addField
(){
this
.
fieldBox
=
!
this
.
fieldBox
this
.
metadataForm
=
[]
},
fieldClick
(
val
)
{
this
.
fieldBox
=
!
this
.
fieldBox
this
.
metadataForm
=
val
},
daleteField
()
{},
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/designer/FlowDesigner.vue
View file @
90b38d65
...
@@ -126,7 +126,7 @@
...
@@ -126,7 +126,7 @@
:activeElement=
"activeElement"
:activeElement=
"activeElement"
@
changeNodeSite=
"changeNodeSite"
@
changeNodeSite=
"changeNodeSite"
@
nodeRightMenu=
"nodeRightMenu"
@
nodeRightMenu=
"nodeRightMenu"
@
clickNode=
"clickNode
"
@
dblclick
.
native=
"clickNode(node)
"
>
>
</flow-node>
</flow-node>
</
template
>
</
template
>
...
@@ -332,7 +332,7 @@
...
@@ -332,7 +332,7 @@
></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=
"8"
>
<el-col
:span=
"8"
>
<el-input
<el-input
...
@@ -657,17 +657,13 @@
...
@@ -657,17 +657,13 @@
width=
"800px"
width=
"800px"
:before-close=
"handleClose"
:before-close=
"handleClose"
>
>
<el-form
ref=
"stepName"
:model=
"stepName"
label-width=
"120px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"stepName.name"
></el-input>
</el-form-item>
</el-form>
<tableInput
:disabled=
"true"
:connectionNode=
"connectionNode"
>
</tableInput>
<tableInput
:disabled=
"true"
:connectionNode=
"connectionNode"
>
</tableInput>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"TableInputDialog = false"
>
取 消
</el-button>
<el-button
@
click=
"TableInputDialog = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
TableInputDialog=
"work
= false"
<el-button
type=
"primary"
@
click=
"TableInputDialog
= false"
>
确 定
</el-button
>
确 定
</el-button
>
>
</span>
</span>
...
@@ -680,11 +676,7 @@
...
@@ -680,11 +676,7 @@
width=
"800px"
width=
"800px"
:before-close=
"handleClose"
:before-close=
"handleClose"
>
>
<el-form
ref=
"stepName"
:model=
"stepName"
label-width=
"120px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"stepName.name"
></el-input>
</el-form-item>
</el-form>
<getSystemInformation
:disabled=
"true"
>
</getSystemInformation>
<getSystemInformation
:disabled=
"true"
>
</getSystemInformation>
...
@@ -703,12 +695,7 @@
...
@@ -703,12 +695,7 @@
width=
"800px"
width=
"800px"
:before-close=
"handleClose"
:before-close=
"handleClose"
>
>
<el-form
ref=
"stepName"
:model=
"stepName"
label-width=
"120px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"stepName.name"
></el-input>
</el-form-item>
</el-form>
<customConstant
:disabled=
"true"
>
</customConstant>
<customConstant
:disabled=
"true"
>
</customConstant>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
...
@@ -719,18 +706,13 @@
...
@@ -719,18 +706,13 @@
</span>
</span>
</el-dialog>
</el-dialog>
<!--
自定义常量数据
-->
<!--
生成随机数
-->
<el-dialog
<el-dialog
title=
"
自定义常量数据
"
title=
"
生成随机数
"
:visible
.
sync=
"RandomValueDialog"
:visible
.
sync=
"RandomValueDialog"
width=
"800px"
width=
"800px"
:before-close=
"handleClose"
:before-close=
"handleClose"
>
>
<el-form
ref=
"stepName"
:model=
"stepName"
label-width=
"120px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"stepName.name"
></el-input>
</el-form-item>
</el-form>
<randomNumber
:disabled=
"true"
>
</randomNumber>
<randomNumber
:disabled=
"true"
>
</randomNumber>
...
@@ -743,6 +725,45 @@
...
@@ -743,6 +725,45 @@
</el-dialog>
</el-dialog>
<!-- 生成记录-->
<el-dialog
title=
"生成记录"
:visible
.
sync=
"RowGeneratorDialog"
width=
"800px"
:before-close=
"handleClose"
>
<generatingRecords
:disabed=
"true"
></generatingRecords>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"RowGeneratorDialog = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"RowGeneratorDialog = false"
>
确 定
</el-button
>
</span>
</el-dialog>
<!-- 文本文件输入-->
<el-dialog
title=
"文本文件输入"
:visible
.
sync=
"TextFileInputDialog"
width=
"800px"
:before-close=
"handleClose"
>
<textFileInput
:disabed=
"true"
></textFileInput>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"TextFileInputDialog = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"TextFileInputDialog = false"
>
确 定
</el-button
>
</span>
</el-dialog>
<!-- 输出弹窗start=============== -->
<!-- 输出弹窗start=============== -->
<outDialog
ref=
"tableOutPut"
:tableOutPutVisible
.
sync=
"tableOutPutVisible"
></outDialog>
<outDialog
ref=
"tableOutPut"
:tableOutPutVisible
.
sync=
"tableOutPutVisible"
></outDialog>
...
@@ -782,11 +803,17 @@ import {
...
@@ -782,11 +803,17 @@ import {
valueFormat
,
valueFormat
,
valueMeta
,
valueMeta
,
}
from
"@/api/kettle/link"
;
}
from
"@/api/kettle/link"
;
// 输入弹窗
import
tableInput
from
"../appBulletFrame/tableInput"
;
import
tableInput
from
"../appBulletFrame/tableInput"
;
import
getSystemInformation
from
"../appBulletFrame/getSystemInformation"
;
import
getSystemInformation
from
"../appBulletFrame/getSystemInformation"
;
import
customConstant
from
"../appBulletFrame/customConstant"
;
import
customConstant
from
"../appBulletFrame/customConstant"
;
import
randomNumber
from
"../appBulletFrame/randomNumber"
;
import
randomNumber
from
"../appBulletFrame/randomNumber"
;
import
generatingRecords
from
"../appBulletFrame/generatingRecords"
;
import
textFileInput
from
"../appBulletFrame/textFileInput"
;
// 输出弹窗start******************************************
// 输出弹窗start******************************************
...
@@ -828,12 +855,24 @@ export default {
...
@@ -828,12 +855,24 @@ export default {
fileVisible
:
false
,
fileVisible
:
false
,
microVisible
:
false
,
microVisible
:
false
,
// mxl=================================
// mxl=================================
// 输入模块
publicData
:
[],
//全部连接
publicData
:
[],
//全部连接
connectionNode
:[],
connectionNode
:[],
TextFileInputDialog
:
false
,
RowGeneratorDialog
:
false
,
TableInputDialog
:
false
,
TableInputDialog
:
false
,
SystemInfoDialog
:
false
,
SystemInfoDialog
:
false
,
ConstantDialog
:
false
,
ConstantDialog
:
false
,
RandomValueDialog
:
false
,
RandomValueDialog
:
false
,
excelLnput
:
false
,
edit
:
false
,
work
:
false
,
field
:
false
,
form
:
{
checked
:
true
,
},
activeName
:
"file"
,
fieldType
:{},
fieldType
:{},
fieldFormat
:{},
fieldFormat
:{},
stepName
:{},
stepName
:{},
...
@@ -847,6 +886,9 @@ export default {
...
@@ -847,6 +886,9 @@ export default {
},
},
],
],
engine
:
[],
engine
:
[],
// 画布模块
isShowIcon
:
false
,
isShowIcon
:
false
,
isLeftMenu
:
true
,
isLeftMenu
:
true
,
isShowR
:
false
,
isShowR
:
false
,
...
@@ -873,14 +915,7 @@ export default {
...
@@ -873,14 +915,7 @@ export default {
workForm
:{},
workForm
:{},
fieldForm
:{},
fieldForm
:{},
excelLnput
:
false
,
edit
:
false
,
work
:
false
,
field
:
false
,
form
:
{
checked
:
true
,
},
activeName
:
"file"
,
};
};
},
},
// 一些基础配置移动该文件中
// 一些基础配置移动该文件中
...
@@ -891,8 +926,10 @@ export default {
...
@@ -891,8 +926,10 @@ export default {
flowNode
,
flowNode
,
nodeMenu
,
nodeMenu
,
getSystemInformation
,
getSystemInformation
,
generatingRecords
,
customConstant
,
customConstant
,
randomNumber
,
randomNumber
,
textFileInput
,
// FlowNodeForm
// FlowNodeForm
// 弹窗组件start***********************
// 弹窗组件start***********************
outDialog
,
//表输出
outDialog
,
//表输出
...
@@ -1471,11 +1508,7 @@ export default {
...
@@ -1471,11 +1508,7 @@ export default {
console
.
log
(
"点击节点操作"
,
node
);
console
.
log
(
"点击节点操作"
,
node
);
// this.$emit("dialogVisibleFourth",true);
// this.$emit("dialogVisibleFourth",true);
// this.$emit('updata:dialogVisibleFourth',true); //触发showbox方法,true为向父组件传递的数据
// this.$emit('updata:dialogVisibleFourth',true); //触发showbox方法,true为向父组件传递的数据
this
.
stepName
.
name
=
node
.
name
this
.
stepName
.
name
=
node
.
name
this
.
connectionNode
=
this
.
publicData
[
node
.
id
]
this
.
connectionNode
=
this
.
publicData
[
node
.
id
]
console
.
log
(
this
.
connectionNode
);
console
.
log
(
this
.
connectionNode
);
this
.
isShowR
=
true
;
this
.
isShowR
=
true
;
...
@@ -1509,16 +1542,25 @@ export default {
...
@@ -1509,16 +1542,25 @@ export default {
if
(
node
.
ids
==
"step1"
)
{
if
(
node
.
ids
==
"step1"
)
{
this
.
excelLnput
=
!
this
.
excelLnput
;
this
.
excelLnput
=
!
this
.
excelLnput
;
return
;
}
else
if
(
node
.
ids
==
"step7"
)
{
}
else
if
(
node
.
ids
==
"step7"
)
{
this
.
TableInputDialog
=
!
this
.
TableInputDialog
;
this
.
TableInputDialog
=
!
this
.
TableInputDialog
;
return
;
}
else
if
(
node
.
ids
==
"step6"
)
{
}
else
if
(
node
.
ids
==
"step6"
)
{
this
.
SystemInfoDialog
=
!
this
.
SystemInfoDialog
;
this
.
SystemInfoDialog
=
!
this
.
SystemInfoDialog
;
return
;
}
else
if
(
node
.
ids
==
"step5"
)
{
}
else
if
(
node
.
ids
==
"step5"
)
{
this
.
ConstantDialog
=
!
this
.
ConstantDialog
;
this
.
ConstantDialog
=
!
this
.
ConstantDialog
;
}
return
;
if
(
node
.
ids
==
"step4"
)
{
}
else
if
(
node
.
ids
==
"step4"
)
{
this
.
RandomValueDialog
=
!
this
.
RandomValueDialog
;
this
.
RandomValueDialog
=
!
this
.
RandomValueDialog
;
return
;
return
;
}
else
if
(
node
.
ids
==
"step3"
)
{
this
.
RowGeneratorDialog
=
!
this
.
RowGeneratorDialog
return
;
}
else
if
(
node
.
ids
==
"step2"
)
{
this
.
TextFileInputDialog
=
!
this
.
TextFileInputDialog
return
;
}
}
},
},
// 是否具有该线
// 是否具有该线
...
...
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