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
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
1684 additions
and
973 deletions
+1684
-973
src/api/kettle/link.js
+21
-0
src/views/dashboard-kettle/components/appBulletFrame/conversionSettings.vue
+494
-108
src/views/dashboard-kettle/components/appBulletFrame/importXmlFile.vue
+290
-206
src/views/dashboard-kettle/components/appBulletFrame/mapping.vue
+103
-29
src/views/dashboard-kettle/components/appBulletFrame/tableInput.vue
+0
-1
src/views/dashboard-kettle/components/appBulletFrame/textFileInput.vue
+773
-628
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
...
@@ -8,76 +8,76 @@
...
@@ -8,76 +8,76 @@
>
>
<el-tabs
type=
"border-card"
>
<el-tabs
type=
"border-card"
>
<el-tab-pane
label=
"转换"
>
<el-tab-pane
label=
"转换"
>
<el-form
:model=
"
conversionF
orm"
label-width=
"160px"
>
<el-form
:model=
"
f
orm"
label-width=
"160px"
>
<el-form-item
label=
"转换名称"
>
<el-form-item
label=
"转换名称"
>
<el-input
v-model=
"
conversionF
orm.name"
></el-input>
<el-input
v-model=
"
f
orm.name"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"转换文件"
>
<el-form-item
label=
"转换文件"
>
<el-input
v-model=
"
conversionF
orm.fileName"
></el-input>
<el-input
v-model=
"
f
orm.fileName"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"描述"
>
<el-form-item
label=
"描述"
>
<el-input
v-model=
"
conversionF
orm.description"
></el-input>
<el-input
v-model=
"
f
orm.description"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"扩展描述"
>
<el-form-item
label=
"扩展描述"
>
<el-input
<el-input
type=
"textarea"
type=
"textarea"
v-model=
"
conversionF
orm.extended_description"
v-model=
"
f
orm.extended_description"
:rows=
"5"
:rows=
"5"
></el-input>
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-form-item
label=
"状态"
>
<el-select
<el-select
v-model=
"form.trans_status"
style=
"width: 100%"
>
v-model=
"conversionForm.trans_status"
style=
"width: 100%"
>
<el-option
label=
"草案"
value=
"shanghai"
></el-option>
<el-option
label=
"草案"
value=
"shanghai"
></el-option>
<el-option
label=
"产品"
value=
"beijing"
></el-option>
<el-option
label=
"产品"
value=
"beijing"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"版本"
>
<el-form-item
label=
"版本"
>
<el-input
v-model=
"
conversionF
orm.trans_version"
></el-input>
<el-input
v-model=
"
f
orm.trans_version"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"目录"
>
<el-form-item
label=
"目录"
>
<el-input
v-model=
"
conversionF
orm.directory"
></el-input>
<el-input
v-model=
"
f
orm.directory"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"创建者"
>
<el-form-item
label=
"创建者"
>
<el-input
v-model=
"
conversionF
orm.created_user"
></el-input>
<el-input
v-model=
"
f
orm.created_user"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"创建时间"
>
<el-form-item
label=
"创建时间"
>
<el-input
v-model=
"
conversionF
orm.created_date"
></el-input>
<el-input
v-model=
"
f
orm.created_date"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"最近修改者"
>
<el-form-item
label=
"最近修改者"
>
<el-input
v-model=
"
conversionF
orm.modified_user"
></el-input>
<el-input
v-model=
"
f
orm.modified_user"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"最近修改日期"
>
<el-form-item
label=
"最近修改日期"
>
<el-input
v-model=
"
conversionF
orm.modified_date"
></el-input>
<el-input
v-model=
"
f
orm.modified_date"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"命名参数"
>
<el-tab-pane
label=
"命名参数"
>
<el-button
type=
"text"
>
添加字段
</el-button>
<el-button
type=
"text"
@
click=
"addParameters(true)"
>
添加字段
</el-button
>
<el-table
:data=
"
field
s"
style=
"width: 100%"
>
<el-table
:data=
"
parameter
s"
style=
"width: 100%"
>
<el-table-column
prop=
"name"
label=
"命名参数"
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"命名参数"
>
</el-table-column>
<el-table-column
prop=
"default_value"
label=
"默认值"
>
</el-table-column>
<el-table-column
prop=
"default_value"
label=
"默认值"
>
</el-table-column>
<el-table-column
prop=
"description"
label=
"描述"
>
</el-table-column>
<el-table-column
prop=
"description"
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
<el-button
@
click=
"
fieldClick
(false, scope.row)"
@
click=
"
addParameters
(false, scope.row)"
type=
"text"
type=
"text"
size=
"small"
size=
"small"
>
编辑
</el-button
>
编辑
</el-button
...
@@ -85,7 +85,7 @@
...
@@ -85,7 +85,7 @@
<el-button
<el-button
type=
"text"
type=
"text"
size=
"small"
size=
"small"
@
click=
"delete
field(scope.$index, field
s)"
@
click=
"delete
Field(scope.$index, parameter
s)"
>
删除
</el-button
>
删除
</el-button
>
>
</
template
>
</
template
>
...
@@ -95,8 +95,20 @@
...
@@ -95,8 +95,20 @@
<el-tab-pane
label=
"日志"
>
<el-tab-pane
label=
"日志"
>
<div>
<div>
<div
class=
"leftDiv"
>
<div
class=
"leftDiv"
>
<ul>
<ul>
<li
class=
"list"
v-for=
"item in liList"
:key=
"item.id"
@
click=
"switchJournal(item)"
style=
"cursor:pointer"
:class=
"{'hover': switchState == item.id,'checked': switchState == item.id}"
>
{{ item.name }}
</li>
<li
class=
"list"
v-for=
"item in liList"
:key=
"item.id"
@
click=
"switchJournal(item)"
style=
"cursor: pointer"
:class=
"{
hover: switchState == item.id,
checked: switchState == item.id,
}"
>
{{ item.name }}
</li>
</ul>
</ul>
</div>
</div>
...
@@ -106,10 +118,23 @@
...
@@ -106,10 +118,23 @@
<el-form-item
label=
"日志数据库连接:"
>
<el-form-item
label=
"日志数据库连接:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"18"
>
<el-col
:span=
"18"
>
<el-input
v-model=
"logEntry.connection"
></el-input>
<el-select
v-model=
"logEntry.connection"
style=
"width: 100%"
@
focus=
"getGraphDataBases"
clearable
>
<el-option
v-for=
"(item, index) in namesList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-col>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-col
class=
"line"
:span=
"2"
>
<el-button
type=
"primary"
@
click=
"metadata(true)"
>
浏览
</el-button>
<el-button
size=
"mini"
@
click
.
native=
"dialogVisibleFourthNew"
>
新建
</el-button>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
...
@@ -119,13 +144,19 @@
...
@@ -119,13 +144,19 @@
<el-form-item
label=
"日志表:"
>
<el-form-item
label=
"日志表:"
>
<el-input
v-model=
"logEntry.table"
></el-input>
<el-input
v-model=
"logEntry.table"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"日志记录间隔时间(秒):"
v-if=
"this.switchState == 1 || this.switchState == 3"
>
<el-form-item
label=
"日志记录间隔时间(秒):"
v-if=
"this.switchState == 1 || this.switchState == 3"
>
<el-input
v-model=
"logEntry.size_limit_lines"
></el-input>
<el-input
v-model=
"logEntry.size_limit_lines"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"日志记录过时时间(天):"
>
<el-form-item
label=
"日志记录过时时间(天):"
>
<el-input
v-model=
"logEntry.interval"
></el-input>
<el-input
v-model=
"logEntry.interval"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"在内存中保存的日志行数限制:"
v-if=
"this.switchState == 1"
>
<el-form-item
label=
"在内存中保存的日志行数限制:"
v-if=
"this.switchState == 1"
>
<el-input
v-model=
"logEntry.timeout_days"
></el-input>
<el-input
v-model=
"logEntry.timeout_days"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -133,20 +164,32 @@
...
@@ -133,20 +164,32 @@
<div
class=
"lowerRight"
>
<div
class=
"lowerRight"
>
<el-table
<el-table
:data=
"tableData"
:data=
"tableData"
height=
"
250
"
height=
"
250
"
border
border
style=
"width: 100%"
style=
"width: 100%"
:row-style=
"{ height: '10px' }"
:row-style=
"{ height: '10px' }"
:cell-style=
"{ height: '10px' }"
:cell-style=
"{ height: '10px' }"
>
>
<el-table-column
prop=
"enabled"
label=
"启用"
>
</el-table-column>
<el-table-column
prop=
"enabled"
label=
"启用"
>
<el-table-column
prop=
"name"
label=
"字段名称"
>
</el-table-column>
<
template
slot-scope=
"scope"
>
<el-table-column
prop=
"subject"
label=
"步骤名称"
v-if=
"this.switchState == 1"
></el-table-column>
{{
scope
.
row
.
enabled
?
"true"
:
"false"
}}
<el-table-column
prop=
"description"
label=
"字段描述"
></el-table-column>
</
template
>
</el-table-column>
<el-table-column
column
prop=
"name"
label=
"字段名称"
>
</el-table-column>
<el-table-column
prop=
"subject"
label=
"步骤名称"
v-if=
"this.switchState == 1"
></el-table-column>
<el-table-column
prop=
"description"
label=
"字段描述"
></el-table-column>
<el-table-column
label=
"操作"
width=
"60"
>
<el-table-column
label=
"操作"
width=
"60"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
<el-button
@
click=
"liListClick(
false,
scope.row)"
@
click=
"liListClick(scope.row)"
type=
"text"
type=
"text"
size=
"small"
size=
"small"
>
编辑
</el-button
>
编辑
</el-button
...
@@ -159,38 +202,51 @@
...
@@ -159,38 +202,51 @@
</div>
</div>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"日期"
>
<el-tab-pane
label=
"日期"
>
<el-form
:model=
"
conversionForm
"
label-width=
"160px"
>
<el-form
:model=
"
maxdate
"
label-width=
"160px"
>
<el-form-item
label=
"最大日期数据库连接:"
>
<el-form-item
label=
"最大日期数据库连接:"
>
<el-input
v-model=
"conversionForm.table"
></el-input>
<el-select
v-model=
"maxdate.connection"
style=
"width: 100%"
@
focus=
"getGraphDataBases"
clearable
>
<el-option
v-for=
"(item, index) in namesList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"最大日期表:"
>
<el-form-item
label=
"最大日期表:"
>
<el-input
v-model=
"
conversionForm.field
"
></el-input>
<el-input
v-model=
"
maxdate.table
"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"最大日期字段:"
>
<el-form-item
label=
"最大日期字段:"
>
<el-input
v-model=
"
conversionForm.offset
"
></el-input>
<el-input
v-model=
"
maxdate.field
"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"最大日期偏移(秒):"
>
<el-form-item
label=
"最大日期偏移(秒):"
>
<el-input
v-model=
"
conversionForm.maxdiff
"
></el-input>
<el-input
v-model=
"
maxdate.offset
"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"最大日期区别(秒):"
>
<el-form-item
label=
"最大日期区别(秒):"
>
<el-input
v-model=
"
conversionForm.maxdate
"
></el-input>
<el-input
v-model=
"
maxdate.maxdiff
"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"依赖"
>
<el-tab-pane
label=
"依赖"
>
<el-button
type=
"text"
>
添加字段
</el-button>
<el-button
type=
"text"
@
click=
"relyOn(true)"
>
添加字段
</el-button>
<el-table
:data=
"fields"
style=
"width: 100%"
>
<el-table
:data=
" dependencies"
style=
"width: 100%"
>
<el-table-column
prop=
"name"
label=
"数据库连接"
>
</el-table-column>
<el-table-column
prop=
"connection"
label=
"数据库连接"
>
</el-table-column>
<el-table-column
prop=
"
default_valu
e"
label=
"表"
>
</el-table-column>
<el-table-column
prop=
"
tabl
e"
label=
"表"
>
</el-table-column>
<el-table-column
prop=
"
description
"
label=
"字段"
>
</el-table-column>
<el-table-column
prop=
"
field
"
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
<el-button
@
click=
"
fieldClick
(false, scope.row)"
@
click=
"
relyOn
(false, scope.row)"
type=
"text"
type=
"text"
size=
"small"
size=
"small"
>
编辑
</el-button
>
编辑
</el-button
...
@@ -198,7 +254,7 @@
...
@@ -198,7 +254,7 @@
<el-button
<el-button
type=
"text"
type=
"text"
size=
"small"
size=
"small"
@
click=
"delete
field(scope.$index, field
s)"
@
click=
"delete
Field(scope.$index,dependencie
s)"
>
删除
</el-button
>
删除
</el-button
>
>
</
template
>
</
template
>
...
@@ -206,60 +262,64 @@
...
@@ -206,60 +262,64 @@
</el-table>
</el-table>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"杂项"
>
<el-tab-pane
label=
"杂项"
>
<el-form
:model=
"
conversionF
orm"
label-width=
"230px"
>
<el-form
:model=
"
f
orm"
label-width=
"230px"
>
<el-form-item
label=
"记录集合里的记录数:"
>
<el-form-item
label=
"记录集合里的记录数:"
>
<el-input
v-model=
"
conversionF
orm.size_rowset"
></el-input>
<el-input
v-model=
"
f
orm.size_rowset"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"转换时是否在日志中记录反馈行?:"
>
<el-form-item
label=
"转换时是否在日志中记录反馈行?:"
>
<el-checkbox
<el-checkbox
v-model=
"
conversionF
orm.feedback_shown"
v-model=
"
f
orm.feedback_shown"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
<el-form-item
label=
"每个反馈行的处理记录数:"
>
<el-form-item
label=
"每个反馈行的处理记录数:"
>
<el-input
v-model=
"
conversionF
orm.feedback_size"
></el-input>
<el-input
v-model=
"
f
orm.feedback_size"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"使用唯一连接:"
>
<el-form-item
label=
"使用唯一连接:"
>
<el-checkbox
<el-checkbox
v-model=
"
conversionF
orm.unique_connections"
v-model=
"
f
orm.unique_connections"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
<el-form-item
label=
"共享对象文件:"
>
<el-form-item
label=
"共享对象文件:"
>
<el-input
v-model=
"
conversionF
orm.shared_objects_file"
></el-input>
<el-input
v-model=
"
f
orm.shared_objects_file"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"管理线程优先级:"
>
<el-form-item
label=
"管理线程优先级:"
>
<el-checkbox
<el-checkbox
v-model=
"
conversionF
orm.using_thread_priorities"
v-model=
"
f
orm.using_thread_priorities"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
<el-form-item
label=
"转换引擎类型:"
>
<el-form-item
label=
"转换引擎类型:"
>
<el-input
v-model=
"
conversionF
orm.trans_type"
></el-input>
<el-input
v-model=
"
f
orm.trans_type"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"监控"
>
<el-tab-pane
label=
"监控"
>
<el-form
:model=
"
conversionF
orm"
label-width=
"180px"
>
<el-form
:model=
"
f
orm"
label-width=
"180px"
>
<el-form-item
label=
"开启步骤性能监控?:"
>
<el-form-item
label=
"开启步骤性能监控?:"
>
<el-checkbox
<el-checkbox
v-model=
"
conversionF
orm.capture_step_performance"
v-model=
"
f
orm.capture_step_performance"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
<el-form-item
label=
"步骤性能监测间隔(毫秒):"
>
<el-form-item
label=
"步骤性能监测间隔(毫秒):"
>
<el-input
v-model=
"conversionForm.step_performance_capturing_delay"
></el-input>
<el-input
v-model=
"form.step_performance_capturing_delay"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"内存中最大的快照数量:"
>
<el-form-item
label=
"内存中最大的快照数量:"
>
<el-input
v-model=
"conversionForm.step_performance_capturing_size_limit"
></el-input>
<el-input
v-model=
"form.step_performance_capturing_size_limit"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</el-tab-pane>
</el-tab-pane>
...
@@ -272,15 +332,141 @@
...
@@ -272,15 +332,141 @@
>
>
</span>
</span>
</el-dialog>
</el-dialog>
<el-dialog
title=
"编辑"
:visible
.
sync=
"dialogVisible"
width=
"500px"
:before-close=
"handleCloseFun"
>
<el-form
:model=
"determination"
label-width=
"80px"
>
<el-form-item
label=
"启用"
>
<el-select
v-model=
"determination.enabled"
>
<el-option
label=
"true"
:value=
"ree"
></el-option>
<el-option
label=
"false"
:value=
"err"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"字段名称"
>
<el-input
v-model=
"determination.name"
></el-input>
</el-form-item>
<el-form-item
label=
"步骤名称"
v-if=
"this.switchState == 1"
>
<el-input
v-model=
"determination.subject"
></el-input>
</el-form-item>
<el-form-item
label=
"字段描述"
>
<el-input
v-model=
"determination.description"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"dialogVisibleFun"
>
确 定
</el-button>
</span>
</el-dialog>
<el-dialog
:title=
"this.addState? '添加' : '编辑'"
:visible
.
sync=
"parametersBox"
width=
"500px"
:before-close=
"ParametersCloseFun"
>
<el-form
:model=
"parametersFise"
label-width=
"80px"
>
<el-form-item
label=
"字段名称"
>
<el-input
v-model=
"parametersFise.name"
></el-input>
</el-form-item>
<el-form-item
label=
"步骤名称"
>
<el-input
v-model=
"parametersFise.default_value"
></el-input>
</el-form-item>
<el-form-item
label=
"字段描述"
>
<el-input
v-model=
"parametersFise.description"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"parametersBox = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"ParametersBoxFun"
>
确 定
</el-button>
</span>
</el-dialog>
<el-dialog
:title=
"this.addState? '添加' : '编辑'"
:visible
.
sync=
"relyOnBox"
width=
"500px"
:before-close=
"relyOnCloseFun"
>
<el-form
:model=
"relyOnFise"
label-width=
"80px"
>
<el-form-item
label=
"字段名称"
>
<el-select
v-model=
"relyOnFise.connection"
style=
"width: 100%"
@
focus=
"getGraphDataBases"
clearable
>
<el-option
v-for=
"(item, index) in namesList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"步骤名称"
>
<el-input
v-model=
"relyOnFise.table"
></el-input>
</el-form-item>
<el-form-item
label=
"字段描述"
>
<el-input
v-model=
"relyOnFise.field"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"relyOnBox = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"PrelyOnBoxFun"
>
确 定
</el-button>
</span>
</el-dialog>
<estab-dialog
ref=
"establishDia"
:dialogVisibleFourth
.
sync=
"dialogVisibleFourth"
@
getSonValue=
"getSonValue"
:listNames=
"listNames"
:scanDialogVisible
.
sync=
"scanDialogVisible"
:chooseType=
"chooseType"
:chooseFlag
.
sync=
"chooseFlag"
:form
.
sync=
"form"
:getXmlVal=
"getXmlVal"
:noneRespository=
"noneRespository"
:graph
.
sync=
"newGraph"
></estab-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
main
from
"../../../mykettle/main"
;
export
default
{
export
default
{
props
:
[
"conversionSettingsDialog"
],
components
:
{
main
,
},
props
:
[
"conversionSettingsDialog"
,
"getXmlVal"
,
"form"
,
"saveOutputDialog1"
],
data
()
{
data
()
{
return
{
return
{
conversionForm
:
{}
,
namesList
:
[]
,
fields
:
[],
fields
:
[],
liList
:
[
liList
:
[
{
{
...
@@ -305,60 +491,260 @@ export default {
...
@@ -305,60 +491,260 @@ export default {
},
},
],
],
logEntry
:
{},
logEntry
:
{},
tableData
:
[
tableData
:
[],
{
transLogTable
:[],
date
:
"2016-05-03"
,
stepLogTable
:[],
name
:
"王小虎"
,
performanceLogTable
:[],
address
:
"上海市普陀区金沙江路 1518 弄"
,
channelLogTable
:[],
},
metricsLogTable
:[],
{
switchState
:
1
,
date
:
"2016-05-02"
,
parametersBox
:
false
,
name
:
"王小虎"
,
dialogVisible
:
false
,
address
:
"上海市普陀区金沙江路 1518 弄"
,
parametersFise
:{},
},
relyOnFise
:{},
{
relyOnBox
:
false
,
date
:
"2016-05-04"
,
determination
:
{},
name
:
"王小虎"
,
err
:
false
,
address
:
"上海市普陀区金沙江路 1518 弄"
,
ree
:
true
,
},
maxdate
:
{},
{
parameters
:
[],
date
:
"2016-05-01"
,
dependencies
:
[],
name
:
"王小虎"
,
newGraph
:
{},
address
:
"上海市普陀区金沙江路 1518 弄"
,
dialogVisibleFourth
:
false
,
},
scanDialogVisible
:
false
,
{
chooseType
:
"表"
,
date
:
"2016-05-08"
,
chooseFlag
:
false
,
name
:
"王小虎"
,
noneRespository
:
1
,
//判断是保存画布还是传后台
address
:
"上海市普陀区金沙江路 1518 弄"
,
addState
:
false
,
},
{
date
:
"2016-05-06"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1518 弄"
,
},
{
date
:
"2016-05-07"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1518 弄"
,
},
],
switchState
:
1
,
};
};
},
},
created
()
{},
created
()
{},
methods
:
{
methods
:
{
clickFun
(
graph
,
val
)
{
this
.
newGraph
=
graph
;
console
.
log
(
val
);
this
.
maxdate
=
JSON
.
parse
(
val
.
maxdate
);
this
.
parameters
=
JSON
.
parse
(
val
.
parameters
);
// this.dependencies = JSON.parse(val.dependencies);
this
.
transLogTable
=
JSON
.
parse
(
this
.
form
.
transLogTable
).
fields
;
for
(
let
i
=
0
;
i
<
this
.
transLogTable
.
length
;
i
++
)
{
this
.
transLogTable
[
i
].
description
=
decodeURIComponent
(
this
.
transLogTable
[
i
].
description
);
}
this
.
stepLogTable
=
JSON
.
parse
(
this
.
form
.
stepLogTable
).
fields
;
for
(
let
i
=
0
;
i
<
this
.
stepLogTable
.
length
;
i
++
)
{
this
.
stepLogTable
[
i
].
description
=
decodeURIComponent
(
this
.
stepLogTable
[
i
].
description
);
}
this
.
performanceLogTable
=
JSON
.
parse
(
this
.
form
.
performanceLogTable
).
fields
;
for
(
let
i
=
0
;
i
<
this
.
performanceLogTable
.
length
;
i
++
)
{
this
.
performanceLogTable
[
i
].
description
=
decodeURIComponent
(
this
.
performanceLogTable
[
i
].
description
);
}
this
.
channelLogTable
=
JSON
.
parse
(
this
.
form
.
channelLogTable
).
fields
;
for
(
let
i
=
0
;
i
<
this
.
channelLogTable
.
length
;
i
++
)
{
this
.
channelLogTable
[
i
].
description
=
decodeURIComponent
(
this
.
channelLogTable
[
i
].
description
);
}
this
.
metricsLogTable
=
JSON
.
parse
(
this
.
form
.
metricsLogTable
).
fields
;
for
(
let
i
=
0
;
i
<
this
.
metricsLogTable
.
length
;
i
++
)
{
this
.
metricsLogTable
[
i
].
description
=
decodeURIComponent
(
this
.
metricsLogTable
[
i
].
description
);
}
console
.
log
(
this
.
form
);
},
//删除
deleteField
(
index
,
rows
){
rows
.
splice
(
index
,
1
);
},
getGraphDataBases
()
{
var
root
=
this
.
newGraph
.
getDefaultParent
(),
data
=
[];
if
(
root
.
getAttribute
(
"databases"
)
!=
null
)
data
=
JSON
.
parse
(
root
.
getAttribute
(
"databases"
));
console
.
log
(
"获取到画布上的databases===="
,
data
);
this
.
namesList
=
data
;
},
// 查询已经建立的所有数据库列表
listNames
()
{
listNames
().
then
((
res
)
=>
{
if
(
res
)
{
console
.
log
(
"获取所有已经创建的数据库列表:"
,
res
);
this
.
namesList
=
res
;
}
else
{
this
.
$message
.
error
(
res
.
errMsg
);
}
});
},
dialogVisibleFourthNew
()
{
this
.
dialogVisibleFourth
=
true
;
// this.$refs.establishDia.database();
// this.$refs.establishDia.accessMethod(); //获取连接方式
this
.
$refs
.
establishDia
.
clickFun
(
this
.
newGraph
);
//先把画布传过去
this
.
$refs
.
establishDia
.
getTransDatabase
();
this
.
$refs
.
establishDia
.
accessMethod
();
//获取连接方式
},
getSonValue
(
res
)
{
if
(
typeof
res
==
"string"
)
{
this
.
formDataBaseName
=
res
;
console
.
log
(
"接收子组件的值1111111----"
,
this
.
formDataBaseName
);
}
else
if
(
typeof
res
==
"object"
)
{
console
.
log
(
"接收子组件的值55555----"
,
res
);
this
.
curNode
=
res
;
// DOM 更新后 // this.$nextTick(() => { // this.form.text=this.curNode.data.text; // // this.$refs.goal.values=this.curNode.data.text; // // this.$refs.goal.refreshData(this.from) // }) // this.form.text=this.curNode.data.text;
// this.$set(this.newForm,'text',this.curNode.data.text)
// this.$forceUpdate()
console
.
log
(
"chuanhuo====="
,
this
.
newForm
);
}
else
if
(
typeof
res
==
"boolean"
)
{
this
.
dialogVisibleFourth
=
res
;
console
.
log
(
"接收子组件的值2222222----"
,
this
.
dialogVisibleFourth
);
}
},
switchJournal
(
val
){
handleCloseFun
()
{
this
.
switchState
=
val
.
id
this
.
dialogVisible
=
!
this
.
dialogVisible
;
if
(
this
.
dialogVisible
)
{
}
},
ParametersCloseFun
(){
this
.
parametersBox
=
!
this
.
parametersBox
if
(
this
.
parametersBox
)
{
}
},
relyOnCloseFun
(){
this
.
relyOnBox
=
!
this
.
relyOnBox
if
(
this
.
relyOnBox
)
{
}
},
ParametersBoxFun
(){
this
.
parametersBox
=
!
this
.
parametersBox
console
.
log
(
this
.
addState
);
if
(
this
.
addState
)
{
this
.
parameters
.
push
(
this
.
parametersFise
)
}
else
{
}
},
PrelyOnBoxFun
(){
this
.
relyOnBox
=
!
this
.
relyOnBox
if
(
this
.
addState
)
{
this
.
dependencies
.
push
(
this
.
relyOnFise
)
}
},
dialogVisibleFun
()
{
this
.
dialogVisible
=
!
this
.
dialogVisible
;
if
(
this
.
switchState
==
1
)
{
this
.
transLogTable
.
push
(
this
.
determination
)
}
else
if
(
this
.
switchState
==
2
)
{
this
.
stepLogTable
.
push
(
this
.
determination
)
}
else
if
(
this
.
switchState
==
3
)
{
this
.
performanceLogTable
.
push
(
this
.
determination
)
}
else
if
(
this
.
switchState
==
4
)
{
this
.
channelLogTable
.
push
(
this
.
determination
)
}
else
if
(
this
.
switchState
==
5
)
{
this
.
metricsLogTable
.
push
(
this
.
determination
)
}
},
liListClick
(
val
)
{
this
.
dialogVisible
=
!
this
.
dialogVisible
;
console
.
log
(
val
);
console
.
log
(
val
);
this
.
determination
=
val
;
},
addParameters
(
state
,
val
){
this
.
parametersBox
=
!
this
.
parametersBox
this
.
addState
=
state
if
(
this
.
addState
)
{
this
.
parametersFise
=
{}
}
else
{
this
.
parametersFise
=
val
}
},
relyOn
(
state
,
val
){
this
.
relyOnBox
=
!
this
.
relyOnBox
this
.
addState
=
state
if
(
this
.
addState
)
{
this
.
relyOnFise
=
{}
}
else
{
this
.
relyOnFise
=
val
}
},
switchJournal
(
val
)
{
this
.
switchState
=
val
.
id
;
console
.
log
(
val
);
if
(
this
.
switchState
==
1
)
{
this
.
tableData
=
this
.
transLogTable
}
else
if
(
this
.
switchState
==
2
)
{
this
.
tableData
=
this
.
stepLogTable
}
else
if
(
this
.
switchState
==
3
)
{
this
.
tableData
=
this
.
performanceLogTable
}
else
if
(
this
.
switchState
==
4
)
{
this
.
tableData
=
this
.
channelLogTable
}
else
if
(
this
.
switchState
==
5
)
{
this
.
tableData
=
this
.
metricsLogTable
}
},
},
handleClose
()
{
handleClose
()
{
this
.
$emit
(
"update:conversionSettingsDialog"
,
false
);
this
.
$emit
(
"update:conversionSettingsDialog"
,
false
);
},
},
conversionSettingsDialogFun
()
{
conversionSettingsDialogFun
()
{
this
.
form
.
maxdate
=
JSON
.
stringify
(
this
.
maxdate
)
this
.
form
.
parameters
=
JSON
.
stringify
(
this
.
parameters
)
this
.
form
.
transLogTable
=
JSON
.
parse
(
this
.
form
.
transLogTable
)
this
.
form
.
stepLogTable
=
JSON
.
parse
(
this
.
form
.
stepLogTable
)
this
.
form
.
performanceLogTable
=
JSON
.
parse
(
this
.
form
.
performanceLogTable
)
this
.
form
.
channelLogTable
=
JSON
.
parse
(
this
.
form
.
channelLogTable
)
this
.
form
.
metricsLogTable
=
JSON
.
parse
(
this
.
form
.
metricsLogTable
)
this
.
form
.
transLogTable
.
fields
=
this
.
transLogTable
this
.
form
.
stepLogTable
.
fields
=
this
.
stepLogTable
this
.
form
.
performanceLogTable
.
fields
=
this
.
performanceLogTable
this
.
form
.
channelLogTable
.
fields
=
this
.
channelLogTable
this
.
form
.
metricsLogTable
.
fields
=
this
.
metricsLogTable
this
.
form
.
transLogTable
=
JSON
.
stringify
(
this
.
form
.
transLogTable
)
this
.
form
.
stepLogTable
=
JSON
.
stringify
(
this
.
form
.
stepLogTable
)
this
.
form
.
performanceLogTable
=
JSON
.
stringify
(
this
.
form
.
performanceLogTable
)
this
.
form
.
channelLogTable
=
JSON
.
stringify
(
this
.
form
.
channelLogTable
)
this
.
form
.
metricsLogTable
=
JSON
.
stringify
(
this
.
form
.
metricsLogTable
)
// this.form.transLogTable = JSON.stringify(this.transLogTable)
// this.form.stepLogTable = JSON.stringify(this.stepLogTable)
// this.form.performanceLogTable = JSON.stringify(this.performanceLogTable)
// this.form.channelLogTable = JSON.stringify(this.channelLogTable)
// this.form.metricsLogTable = JSON.stringify(this.metricsLogTable)
this
.
handleClose
();
this
.
handleClose
();
console
.
log
(
this
.
form
);
this
.
saveOutputDialog1
(
this
.
form
)
},
},
},
},
};
};
...
@@ -374,15 +760,15 @@ export default {
...
@@ -374,15 +760,15 @@ export default {
padding
:
10px
;
padding
:
10px
;
}
}
.list.hover
{
.list.hover
{
cursor
:
pointer
;
cursor
:
pointer
;
background-color
:
#EEEEEE
;
background-color
:
#eeeeee
;
}
}
.list.checked
{
.list.checked
{
background-color
:
#4e9df8
;
background-color
:
#4e9df8
;
color
:
#fff
;
color
:
#fff
;
}
}
.rightDiv
{
.rightDiv
{
width
:
550px
;
width
:
550px
;
height
:
400px
;
height
:
400px
;
...
...
src/views/dashboard-kettle/components/appBulletFrame/importXmlFile.vue
View file @
06acfadb
...
@@ -10,184 +10,232 @@
...
@@ -10,184 +10,232 @@
<el-form-item
label=
"步骤名称:"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"form.label"
></el-input>
<el-input
v-model=
"form.label"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-tabs
type=
"border-card"
>
<el-tabs
type=
"border-card"
>
<el-tab-pane
label=
"一般"
>
<el-tab-pane
label=
"一般"
>
<el-card
class=
"box-card"
>
<el-card
class=
"box-card"
>
<el-form
:model=
"logEntry"
label-width=
"160px"
>
<el-form
:model=
"form"
label-width=
"160px"
>
<el-form-item
label=
"资源库"
>
</el-form-item>
<el-form-item
label=
"资源库"
>
</el-form-item>
<el-form-item
label=
"资源库名称"
>
<el-select
v-model=
"form.repositoryname"
style=
"width: 100%"
@
focus=
"getGraphDataBases"
clearable
>
<el-option
v-for=
"(item, index) in namesList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"资源库有户名"
>
<el-input
v-model=
"form.username"
></el-input>
</el-form-item>
<el-form-item
label=
"资源库名称"
>
<el-form-item
label=
"资源库密码"
>
<el-row
:gutter=
"10"
>
<el-input
v-model=
"form.password"
></el-input>
<el-col
:span=
"20"
>
</el-form-item>
<el-input
v-model=
"logEntry.connection"
></el-input>
<el-row
:gutter=
"10"
>
</el-col>
<el-col
class=
"line"
:span=
"4"
:offset=
"20"
>
<el-col
class=
"line"
:span=
"2"
>
<el-button
type=
"primary"
@
click=
"metadata(true)"
<el-button
type=
"primary"
@
click=
"metadata(true)"
>
测试连接
</el-button
>
资源库
</el-button
>
>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form>
</el-form-item>
</el-card>
<br
/>
<el-card
class=
"box-card"
>
<el-form
:model=
"form"
label-width=
"160px"
>
<el-form-item
label=
"设置"
>
</el-form-item>
<el-form-item
label=
"资源库有户名"
>
<el-form-item
label=
"导出类型"
>
<el-input
v-model=
"logEntry.name"
></el-input>
<el-select
v-model=
"form.export_type"
style=
"width: 100%"
>
</el-form-item>
<el-option
label=
"导出所有"
value=
"export_all"
></el-option>
<el-option
label=
"只导出作业"
value=
"export_jobs"
></el-option>
<el-option
label=
"只导出转换"
value=
"export_trans"
></el-option>
<el-option
label=
"按目录导出"
value=
"export_by_folder"
></el-option>
<el-option
label=
"导出第一个目录"
value=
"export_one_folder"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"资源库密码"
>
<el-form-item
label=
"文件夹名称"
>
<el-input
v-model=
"logEntry.name"
></el-input>
</el-form-item>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
class=
"line"
:span=
"4"
:offset=
"20"
>
<el-col
:span=
"20"
>
<el-input
v-model=
"form.directoryPath"
:disabled=
"
form.export_type === 'export_by_folder' ||
form.export_type === 'export_all' ||
form.export_type === 'export_jobs' ||
form.export_type === 'export_trans'
"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-button
type=
"primary"
@
click=
"metadata(true)"
<el-button
type=
"primary"
@
click=
"metadata(true)"
>
测试连接
</el-button
:disabled=
"
form.export_type === 'export_by_folder' ||
form.export_type === 'export_all' ||
form.export_type === 'export_jobs' ||
form.export_type === 'export_trans'
"
>
浏览
</el-button
>
>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form>
</el-form-item>
</el-card>
<br
/>
<el-card
class=
"box-card"
>
<el-form-item
label=
"新建文件夹"
>
<el-form
:model=
"logEntry"
label-width=
"160px"
>
<el-checkbox
<el-form-item
label=
"设置"
>
</el-form-item>
v-model=
"form.newfolder"
true-label=
"Y"
false-label=
"N"
:disabled=
"
form.export_type === 'export_one_folder' ||
form.export_type === 'export_all' ||
form.export_type === 'export_jobs' ||
form.export_type === 'export_trans'
"
></el-checkbox>
</el-form-item>
</el-form>
</el-card>
<br
/>
<el-form-item
label=
"导出类型"
>
<el-card
class=
"box-card"
>
<el-select
<el-form
:model=
"form"
label-width=
"160px"
>
v-model=
"logEntry.trans_status"
<el-form-item
label=
"目标"
>
</el-form-item>
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=
"20"
>
<el-input
v-model=
"logEntry.connection"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-button
type=
"primary"
@
click=
"metadata(true)"
>
浏览
</el-button
>
</el-col>
</el-row>
</el-form-item>
<el-form-item
label=
"新建文件夹"
>
<el-checkbox
v-model=
"conversionForm.capture_step_performance"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-form-item>
</el-form>
</el-card>
<br
/>
<el-card
class=
"box-card"
>
<el-form-item
label=
"目标文件夹/文件名"
>
<el-form
:model=
"logEntry"
label-width=
"160px"
>
<el-row
:gutter=
"10"
>
<el-form-item
label=
"目标"
>
</el-form-item>
<el-col
:span=
"20"
>
<el-input
v-model=
"form.targetfilename"
></el-input>
<el-form-item
label=
"文件夹名称"
>
</el-col>
<el-row
:gutter=
"10"
>
<el-col
class=
"line"
:span=
"3"
>
<el-col
:span=
"17"
>
<el-button
type=
"primary"
@
click=
"selectFilePath()"
<el-input
v-model=
"logEntry.connection"
></el-input>
>
文件
</el-button
</el-col>
>
<el-col
class=
"line"
:span=
"3"
>
</el-col>
<el-button
type=
"primary"
@
click=
"metadata(true)"
</el-row>
>
文件
</el-button
</el-form-item>
>
</el-col>
<el-col
class=
"line"
:span=
"3"
>
<el-button
type=
"primary"
@
click=
"metadata(true)"
>
文件夹
</el-button
>
</el-col>
</el-row>
</el-form-item>
<el-form-item
label=
"新建文件夹"
>
<el-form-item
label=
"新建文件夹"
>
<el-checkbox
<el-checkbox
v-model=
"conversionForm.capture_step_performance
"
v-model=
"form.createfolder
"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
<el-form-item
label=
"添加日期到文件夹"
>
<el-form-item
label=
"添加日期到文件夹"
>
<el-checkbox
<el-checkbox
v-model=
"conversionForm.capture_step_performance"
v-model=
"form.add_date"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
></el-checkbox>
:disabled=
"form.SpecifyFormat == 'Y'"
</el-form-item>
></el-checkbox>
</el-form-item>
<el-form-item
label=
"添加时间到文件夹"
>
<el-form-item
label=
"添加时间到文件夹"
>
<el-checkbox
<el-checkbox
v-model=
"conversionForm.capture_step_performance"
v-model=
"form.add_time"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
></el-checkbox>
:disabled=
"form.SpecifyFormat == 'Y'"
</el-form-item>
></el-checkbox>
</el-form-item>
<el-form-item
label=
"指定日期时间格式"
>
<el-form-item
label=
"指定日期时间格式"
>
<el-checkbox
<el-checkbox
v-model=
"conversionForm.capture_step_performance
"
v-model=
"form.SpecifyFormat
"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
<el-form-item
label=
"日期时间格式"
>
<el-form-item
label=
"日期时间格式"
>
<el-select
<el-select
v-model=
"logEntry.trans_status"
v-model=
"form.date_time_format"
style=
"width: 100%"
style=
"width: 100%"
>
:disabled=
"form.SpecifyFormat == 'N'"
<el-option
label=
"草案"
value=
"shanghai"
></el-option>
>
<el-option
label=
"产品"
value=
"beijing"
></el-option>
<el-option
</el-select>
v-for=
"item in dateFormat"
</el-form-item>
:key=
"item.index"
:label=
"item.name"
:value=
"item.name"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"如果目标文件存在"
>
<el-form-item
label=
"如果目标文件存在"
>
<el-select
<el-select
v-model=
"form.iffileexists"
style=
"width: 100%"
>
v-model=
"logEntry.trans_status"
<el-option
style=
"width: 100%"
label=
"跳过"
>
value=
"if_file_exists_skip"
<el-option
label=
"草案"
value=
"shanghai"
></el-option>
></el-option>
<el-option
label=
"产品"
value=
"beijing"
></el-option>
<el-option
</el-select>
label=
"替换文件"
</el-form-item>
value=
"success_if_errors_less"
></el-option>
<el-option
label=
"create file with unique name"
value=
"if_file_exists_uniquename"
></el-option>
<el-option
label=
"失败"
value=
"success_if_no_errors"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"添加文件名到结果"
>
<el-form-item
label=
"添加文件名到结果"
>
<el-checkbox
<el-checkbox
v-model=
"conversionForm.capture_step_performanc
e"
v-model=
"form.add_result_filesnam
e"
true-label=
"Y"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</el-card>
</el-card>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"高级"
>
<el-tab-pane
label=
"高级"
>
<el-form
:model=
"
conversionF
orm"
label-width=
"180px"
>
<el-form
:model=
"
f
orm"
label-width=
"180px"
>
<el-form-item
label=
"成功条件"
>
</el-form-item>
<el-form-item
label=
"成功条件"
>
</el-form-item>
<el-form-item
label=
"成功调解"
>
<el-form-item
label=
"成功调解"
>
<el-select
<el-select
v-model=
"form.success_condition"
style=
"width: 100%"
>
v-model=
"conversionForm.trans_status"
<el-option
style=
"width: 100%"
label=
"一切正常"
>
value=
"success_if_no_errors"
<el-option
label=
"草案"
value=
"shanghai"
></el-option>
></el-option>
<el-option
label=
"产品"
value=
"beijing"
></el-option>
<el-option
label=
"当错误不大于"
value=
"success_if_errors_less"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"阈值"
>
<el-form-item
label=
"阈值"
>
<el-input
<el-input
v-model=
"conversionForm.step_performance_capturing_delay"
v-model=
"form.nr_errors_less_than"
:disabled=
"form.success_condition == 'success_if_no_errors'"
></el-input>
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -201,81 +249,116 @@
...
@@ -201,81 +249,116 @@
>
>
</span>
</span>
</el-dialog>
</el-dialog>
<!-- 文件浏览器-->
<el-dialog
title=
"文件浏览器"
:visible
.
sync=
"filePathSelection"
width=
"500px"
:before-close=
"handleCloseFun"
: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
>
<
script
>
<
script
>
import
main
from
"../../../mykettle/main"
;
import
browseFiles
from
"../appBulletFrame/browseFiles"
;
import
{
datetimeformat
,
listNames
}
from
"@/api/kettle/link"
;
export
default
{
export
default
{
props
:
[
"importXmlFileDialog"
],
components
:
{
main
,
browseFiles
,
},
props
:
[
"importXmlFileDialog"
,
"form"
,
"nodeData"
,
"doubleClickCell"
,
"saveOutputDialog"
,
],
data
()
{
data
()
{
return
{
return
{
form
:
{
},
conversionForm
:
{},
fields
:
[],
fields
:
[],
liList
:
[
{
id
:
1
,
name
:
"作业日志表"
,
},
{
id
:
2
,
name
:
"作业项日志表"
,
},
{
id
:
3
,
name
:
"日志通道日志表"
,
},
],
logEntry
:
{},
logEntry
:
{},
tableData
:
[
tableData
:
[],
{
date
:
"2016-05-03"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1518 弄"
,
},
{
date
:
"2016-05-02"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1518 弄"
,
},
{
date
:
"2016-05-04"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1518 弄"
,
},
{
date
:
"2016-05-01"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1518 弄"
,
},
{
date
:
"2016-05-08"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1518 弄"
,
},
{
date
:
"2016-05-06"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1518 弄"
,
},
{
date
:
"2016-05-07"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1518 弄"
,
},
],
switchState
:
1
,
switchState
:
1
,
dateFormat
:
[],
namesList
:
[],
filePathSelection
:
false
,
localPath
:{},
};
};
},
},
created
()
{
created
()
{},
},
methods
:
{
methods
:
{
listNames
()
{
listNames
().
then
((
res
)
=>
{
if
(
res
)
{
console
.
log
(
"获取所有已经创建的数据库列表:"
,
res
);
this
.
namesList
=
res
;
}
else
{
this
.
$message
.
error
(
res
.
errMsg
);
}
});
},
datetimeformatFun
()
{
datetimeformat
().
then
((
res
)
=>
{
this
.
dateFormat
=
res
;
});
},
clickFun
(
graph
,
val
)
{
clickFun
(
graph
,
val
)
{
this
.
datetimeformatFun
();
this
.
listNames
();
this
.
newGraph
=
graph
;
this
.
newGraph
=
graph
;
console
.
log
(
val
);
},
getGraphDataBases
()
{
// var graph = this.getGraph();
var
root
=
this
.
newGraph
.
getDefaultParent
(),
data
=
[];
if
(
root
.
getAttribute
(
"databases"
)
!=
null
)
data
=
JSON
.
parse
(
root
.
getAttribute
(
"databases"
));
console
.
log
(
"获取到画布上的databases===="
,
data
);
this
.
namesList
=
data
;
},
},
selectFilePath
(){
this
.
filePathSelection
=
!
this
.
filePathSelection
},
addFilePathSelection
(){
this
.
filePathSelection
=
!
this
.
filePathSelection
this
.
form
.
targetfilename
=
this
.
localPath
.
fileName
},
route
(
flowData
){
this
.
localPath
.
fileName
=
flowData
.
name
console
.
log
(
this
.
localPath
);
},
// 关闭弹框
handleCloseFun
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
.
then
((
_
)
=>
{
done
();
})
.
catch
((
_
)
=>
{});
},
switchJournal
(
val
)
{
switchJournal
(
val
)
{
this
.
switchState
=
val
.
id
;
this
.
switchState
=
val
.
id
;
console
.
log
(
val
);
console
.
log
(
val
);
...
@@ -285,6 +368,7 @@ export default {
...
@@ -285,6 +368,7 @@ export default {
},
},
importXmlFileDialogFun
()
{
importXmlFileDialogFun
()
{
this
.
saveOutputDialog
(
this
.
form
);
this
.
handleClose
();
this
.
handleClose
();
},
},
},
},
...
...
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>
:disabled=
"inputLies.main_path == 'Y'"
</el-col>
>
<el-option
<el-col
class=
"line"
:span=
"2"
>
v-for=
"item in connectionNode"
<el-button
:key=
"item.index"
size=
"mini"
:label=
"item.name"
:disabled=
"inputLies.main_path == 'Y'"
:value=
"item.name"
>
选择
</el-button
/>
>
</el-select>
</el-col>
</el-row>
</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
...
@@ -6,562 +6,712 @@
...
@@ -6,562 +6,712 @@
width=
"800px"
width=
"800px"
:before-close=
"handleCloseFun"
:before-close=
"handleCloseFun"
>
>
<el-form
ref=
"from"
:model=
"form"
label-width=
"120px"
>
<el-form
ref=
"from"
:model=
"form"
label-width=
"120px"
>
<el-form-item
label=
"步骤名称:"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"form.label"
></el-input>
<el-input
v-model=
"form.label"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-tabs
type=
"border-card"
>
<el-tab-pane
label=
"文件"
>
<el-form
ref=
"form"
:model=
"fileSelection"
label-width=
"150px"
>
<el-form-item
label=
"文件名称:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"17"
>
<el-input
v-model=
"fileSelection.fileName"
:disabled=
"form.acceptingFilenames == 'Y' "
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"3"
>
<el-button
size=
"mini"
@
click=
"addFile"
:disabled=
"form.acceptingFilenames == 'Y' "
>
增加
</el-button></el-col
>
<el-col
class=
"line"
:span=
"3"
>
<el-button
size=
"mini"
@
click=
"selectFilePath(1)"
:disabled=
"form.acceptingFilenames == 'Y' "
>
浏览
</el-button></el-col
>
</el-row>
</el-form-item>
<el-form-item
label=
"规则表达式:"
>
<el-tabs
type=
"border-card"
>
<el-input
v-model=
"fileSelection.fileMask"
:disabled=
"form.acceptingFilenames == 'Y' "
></el-input>
<el-tab-pane
label=
"文件"
>
</el-form-item>
<el-form
ref=
"form"
:model=
"fileSelection"
label-width=
"150px"
>
<el-form-item
label=
"文件名称:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"17"
>
<el-input
v-model=
"fileSelection.fileName"
:disabled=
"form.acceptingFilenames == 'Y'"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"3"
>
<el-button
size=
"mini"
@
click=
"addFile"
:disabled=
"form.acceptingFilenames == 'Y'"
>
增加
</el-button
></el-col
>
<el-col
class=
"line"
:span=
"3"
>
<el-button
size=
"mini"
@
click=
"selectFilePath(1)"
:disabled=
"form.acceptingFilenames == 'Y'"
>
浏览
</el-button
></el-col
>
</el-row>
</el-form-item>
<el-form-item
label=
"正则表达式(排除):"
>
<el-form-item
label=
"规则表达式:"
>
<el-input
v-model=
"fileSelection.excludeFileMask"
:disabled=
"form.acceptingFilenames == 'Y' "
></el-input>
<el-input
</el-form-item>
v-model=
"fileSelection.fileMask"
:disabled=
"form.acceptingFilenames == 'Y'"
></el-input>
</el-form-item>
<el-form-item
label=
"选中的文件:"
>
<el-form-item
label=
"正则表达式(排除):"
>
<el-input
v-model=
"fileSelection.excludeFileMask"
:disabled=
"form.acceptingFilenames == 'Y'"
></el-input>
</el-form-item>
<el-form-item
label=
"选中的文件:"
>
<el-card
class=
"box-card"
>
<el-table
:data=
"fileNameStore"
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 == 'Y'"
>
编辑
</el-button
>
<el-button
type=
"text"
size=
"small"
@
click=
"deleteRow(scope.$index, fileNameStore)"
:disabled=
"form.acceptingFilenames == 'Y'"
>
删除
</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-card
class=
"box-card"
>
<el-table
:data=
"fileNameStore"
style=
"width: 100%"
>
<el-form-item
label=
"从以前步骤接受文件名:"
>
<el-table-column
prop=
"fileName"
label=
"文件/目录"
width=
"120"
>
<el-checkbox
</el-table-column>
v-model=
"form.acceptingFilenames"
<el-table-column
prop=
"filemask"
label=
"通配符"
>
true-label=
"Y"
</el-table-column>
false-label=
"N"
<el-table-column
></el-checkbox>
prop=
"excludeFileMask"
</el-form-item>
label=
"通配符号(排除)"
<el-form-item
label=
"从以前步骤接受字段名:"
>
<el-checkbox
v-model=
"form.passingThruFields"
:disabled=
"
form.acceptingFilenames == 'N' || !form.acceptingFilenames
"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"步骤读取的文件名来自:"
>
<el-select
v-model=
"form.acceptingField"
style=
"width: 100%"
:disabled=
"
form.acceptingFilenames == 'N' || !form.acceptingFilenames
"
clearable
>
>
</el-table-column>
<el-option
<el-table-column
prop=
"fileRequired"
label=
"要求"
>
v-for=
"item in connectionNode"
</el-table-column>
:key=
"item.id"
<el-table-column
prop=
"includeSubFolders"
label=
"包含子目录"
>
:label=
"item.name"
</el-table-column>
:value=
"item.name"
<el-table-column
label=
"操作"
width=
"120px"
>
/>
<template
slot-scope=
"scope"
>
</el-select>
<el-button
</el-form-item>
@
click=
"handleClick(scope.row)"
type=
"text"
<el-form-item
label=
"在输入里的字段被当做文件名:"
>
size=
"small"
<el-input
:disabled=
"form.acceptingFilenames == 'Y'"
v-model=
"form.acceptingStepName"
>
编辑
</el-button
:disabled=
"
>
form.acceptingFilenames == 'N' || !form.acceptingFilenames
<el-button
"
type=
"text"
></el-input>
size=
"small"
</el-form-item>
@
click=
"deleteRow(scope.$index, fileNameStore)"
:disabled=
"form.acceptingFilenames == 'Y'"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
</el-card>
</el-card>
</el-form-item>
</el-form>
</el-form>
</el-tab-pane>
<el-form
ref=
"form"
:model=
"form"
label-width=
"200px"
>
<el-card
class=
"box-card"
>
<el-tab-pane
label=
"内容"
>
<el-form-item
label=
"从以前步骤接受文件名:"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"200px"
>
<el-checkbox
v-model=
"form.acceptingFilenames"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
<el-form-item
label=
"文件类型:"
>
<el-select
v-model=
"form.fileType"
style=
"width: 100%"
clearable
>
<el-option
label=
"CSV"
value=
"CSV"
></el-option>
<el-option
label=
"Fixed"
value=
"Fixed"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"分割符:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"20"
>
<el-input
v-model=
"form.separator"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-button
size=
"mini"
>
插入TAB
</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>
<el-form-item
label=
"
从以前步骤接受字段名
:"
>
<el-form-item
label=
"
在文本里允许换行
:"
>
<el-checkbox
<el-checkbox
v-model=
"form.
passingThruFields
"
v-model=
"form.
breakInEnclosureAllowed
"
:disabled=
"form.acceptingFilenames == 'N' || !form.acceptingFilenames
"
true-label=
"Y
"
true-label=
"Y"
false-label=
"N"
false-label=
"N"
></el-checkbox>
></el-checkbox>
</el-form-item>
</el-form-item>
<el-form-item
label=
"步骤读取的文件名来自:"
>
<el-form-item
label=
"逃逸字符:"
>
<el-select
v-model=
"form.acceptingField"
style=
"width: 100%"
:disabled=
"form.acceptingFilenames == 'N' || !form.acceptingFilenames"
clearable
>
<el-input
v-model=
"form.escapeCharacter"
></el-input>
<el-option
v-for=
"item in connectionNode"
:key=
"item.id"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"在输入里的字段被当做文件名:"
>
<el-form-item
label=
"头部:"
>
<el-input
<el-row
:gutter=
"10"
>
v-model=
"form.acceptingStepName"
<el-col
:span=
"2"
>
:disabled=
"form.acceptingFilenames == 'N' || !form.acceptingFilenames"
<el-checkbox
></el-input>
v-model=
"form.header"
true-label=
"Y"
false-label=
"N"
></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 == 'N' || !form.header"
></el-input>
</el-col>
</el-row>
</el-form-item>
</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%"
clearable
>
<el-option
label=
"CSV"
value=
"CSV"
></el-option>
<el-option
label=
"Fixed"
value=
"Fixed"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"分割符:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"20"
>
<el-input
v-model=
"form.separator"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-button
size=
"mini"
>
插入TAB
</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"
true-label=
"Y"
false-label=
"N"
></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"
true-label=
"Y"
false-label=
"N"
></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 == 'N' || !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"
true-label=
"Y"
false-label=
"N"
></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 == 'N' || !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"
true-label=
"Y"
false-label=
"N"
></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 == 'N' || !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"
true-label=
"Y"
false-label=
"N"
></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 == 'N' || !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 == 'N' || !form.layoutPaged"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item
label=
"压缩:"
>
<el-form-item
label=
"尾部:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"2"
>
<el-checkbox
v-model=
"form.footer"
true-label=
"Y"
false-label=
"N"
></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 == 'N' || !form.footer"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-select
v-model=
"form.fileCompression"
style=
"width: 100%"
clearable
>
<el-form-item
label=
"包装行:"
>
<el-option
<el-row
:gutter=
"10"
>
v-for=
"item in fieldCompress"
<el-col
:span=
"2"
>
:key=
"item.index"
<el-checkbox
:label=
"item.name"
v-model=
"form.lineWrapped"
:value=
"item.name"
true-label=
"Y"
/></el-select>
false-label=
"N"
></el-checkbox>
</el-col>
</el-form-item>
<el-col
class=
"line"
:span=
"6"
>
以时间包装的行数:
</el-col>
<el-col
:span=
"15"
>
<el-form-item
label=
"没有空行:"
>
<el-input
<el-checkbox
v-model=
"form.noEmptyLines"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
v-model=
"form.nrWraps"
</el-form-item>
:disabled=
"form.lineWrapped == 'N' || !form.lineWrapped"
></el-input>
<el-form-item
label=
"在输出包括字段名:"
>
</el-col>
<el-row
:gutter=
"10"
>
</el-row>
<el-col
:span=
"2"
>
</el-form-item>
<el-checkbox
v-model=
"form.includeFilename"
true-label=
"Y"
false-label=
"N"
></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 == 'N' || !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"
true-label=
"Y"
false-label=
"N"
></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 == 'N' || !form.includeFilename"
></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 == 'N' || !form.includeFilename"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item
label=
"格式:"
>
<el-select
v-model=
"form.fileFormat"
style=
"width: 100%"
clearable
>
<el-option
v-for=
"item in fileType"
:key=
"item.index"
:label=
"item.name"
:value=
"item.name"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"编码:"
>
<el-form-item
label=
"分页布局(pointout):"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"2"
>
<el-checkbox
v-model=
"form.layoutPaged"
true-label=
"Y"
false-label=
"N"
></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 == 'N' || !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 == 'N' || !form.layoutPaged"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-select
v-model=
"form.encoding"
filterable
style=
"width: 100%"
clearable
>
<el-form-item
label=
"压缩:"
>
<el-option
<el-select
v-for=
"item in codingType"
v-model=
"form.fileCompression"
style=
"width: 100%"
clearable
>
<el-option
v-for=
"item in fieldCompress"
:key=
"item.index"
:key=
"item.index"
:label=
"item.name"
:label=
"item.name"
:value=
"item.name"
:value=
"item.name"
/></el-select>
</el-form-item>
<el-form-item
label=
"没有空行:"
>
<el-checkbox
v-model=
"form.noEmptyLines"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"在输出包括字段名:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"2"
>
<el-checkbox
v-model=
"form.includeFilename"
true-label=
"Y"
false-label=
"N"
></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 == 'N' || !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"
true-label=
"Y"
false-label=
"N"
></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 == 'N' || !form.includeFilename
"
></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 == 'N' || !form.includeFilename
"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item
label=
"格式:"
>
<el-select
v-model=
"form.fileFormat"
style=
"width: 100%"
clearable
>
<el-option
v-for=
"item in fileType"
:key=
"item.index"
:label=
"item.name"
:value=
"item.name"
></el-option>
></el-option>
</el-select>
</el-select>
</el-form-item>
</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"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"本地日期格式:"
>
<el-input
v-model=
"form.dateFormatLocale"
true-label=
"Y"
false-label=
"N"
></el-input>
</el-form-item>
<el-form-item
label=
"添加文件名:"
>
<el-checkbox
v-model=
"form.addresult"
true-label=
"Y"
false-label=
"N"
></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"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"忽略错误文件:"
>
<el-checkbox
v-model=
"form.skipBadFiles"
:disabled=
"this.form.errorIgnored == 'N' || !this.form.errorIgnored"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"错误文件字段名:"
>
<el-input
v-model=
"form.fileErrorField"
:disabled=
"this.form.errorIgnored == 'N' || !this.form.errorIgnored "
></el-input>
</el-form-item>
<el-form-item
label=
"文件错误信息字段名:"
>
<el-input
v-model=
"form.fileErrorMessageField"
:disabled=
"this.form.errorIgnored == 'N' || !this.form.errorIgnored"
></el-input>
</el-form-item>
<el-form-item
label=
"跳过错误行:"
>
<el-checkbox
v-model=
"form.errorLineSkipped"
:disabled=
"this.form.errorIgnored == 'N' || !this.form.errorIgnored"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"错误计数制度:"
>
<el-input
v-model=
"form.errorCountField "
:disabled=
"this.form.errorIgnored == 'N' || !this.form.errorIgnored"
></el-input>
</el-form-item>
<el-form-item
label=
"错误字段文件名:"
>
<el-input
v-model=
"form.errorFieldsField"
:disabled=
"this.form.errorIgnored == 'N' || !this.form.errorIgnored"
></el-input>
</el-form-item>
<el-form-item
label=
"错误文本字段:"
>
<el-input
v-model=
"form.errorTextField"
:disabled=
"this.form.errorIgnored == 'N' || !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 == 'N' || !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 == 'N' || !this.form.errorIgnored"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-form-item
label=
"编码:"
>
<el-button
:disabled=
"this.form.errorIgnored == 'N' || !this.form.errorIgnored"
size=
"mini"
@
click=
"selectFilePath(2)"
>
浏览
</el-button></el-col
<el-select
v-model=
"form.encoding"
filterable
style=
"width: 100%"
clearable
>
>
</el-row>
<el-option
</el-form-item>
v-for=
"item in codingType"
:key=
"item.index"
:label=
"item.name"
:value=
"item.name"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"错误文件目录:"
>
<el-form-item
label=
"记录数量限制:"
>
<el-row
:gutter=
"10"
>
<el-input
v-model=
"form.rowLimit"
></el-input>
<el-col
:span=
"10"
>
</el-form-item>
<el-input
v-model=
"form.errorFilesDestinationDirectory"
:disabled=
"this.form.errorIgnored == 'N' || !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 == 'N' || !this.form.errorIgnored"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-form-item
label=
"解析日期的时候是否严格要求:"
>
<el-button
:disabled=
"this.form.errorIgnored == 'N' || !this.form.errorIgnored"
size=
"mini"
@
click=
"selectFilePath(3)"
>
浏览
</el-button></el-col
<el-checkbox
>
v-model=
"form.dateFormatLenient"
</el-row>
true-label=
"Y"
</el-form-item>
false-label=
"N"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"失败行数文件目录:"
>
<el-form-item
label=
"本地日期格式:"
>
<el-row
:gutter=
"10"
>
<el-input
<el-col
:span=
"10"
>
v-model=
"form.dateFormatLocale"
<el-input
true-label=
"Y"
v-model=
"form.lineNumberFilesDestinationDirectory"
false-label=
"N"
:disabled=
"this.form.errorIgnored == 'N' || !this.form.errorIgnored"
></el-input>
></el-input>
</el-form-item>
</el-col>
<el-col
class=
"line"
:span=
"3"
>
扩展名:
</el-col>
<el-col
:span=
"8"
>
<el-input
v-model=
"form.lineNumberFilesExtension"
:disabled=
"this.form.errorIgnored == 'N' || !this.form.errorIgnored"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-form-item
label=
"添加文件名:"
>
<el-button
:disabled=
"this.form.errorIgnored == 'N' || !this.form.errorIgnored"
size=
"mini"
@
click=
"selectFilePath(4)"
>
浏览
</el-button></el-col
<el-checkbox
>
v-model=
"form.addresult"
</el-row>
true-label=
"Y"
</el-form-item>
false-label=
"N"
</el-form>
></el-checkbox>
</el-tab-pane>
</el-form-item>
<el-tab-pane
label=
"过滤"
>
</el-form>
<el-button
type=
"text"
@
click=
"filterClick(true)"
</el-tab-pane>
>
添加过滤字段
</el-button
<el-tab-pane
label=
"错误处理"
>
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"160px"
>
<el-form-item
label=
"忽略错误:"
>
<el-checkbox
v-model=
"form.errorIgnored"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-form-item>
<el-table
:data=
"filter"
style=
"width: 100%"
>
<el-form-item
label=
"忽略错误文件:"
>
<el-table-column
prop=
"filterString"
label=
"过滤器字符串"
>
<el-checkbox
</el-table-column>
v-model=
"form.skipBadFiles"
:disabled=
"
this.form.errorIgnored == 'N' || !this.form.errorIgnored
"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-form-item>
<el-table-column
prop=
"filterPosition"
label=
"过滤器位置"
>
<el-form-item
label=
"错误文件字段名:"
>
</el-table-column>
<el-input
v-model=
"form.fileErrorField"
:disabled=
"
this.form.errorIgnored == 'N' || !this.form.errorIgnored
"
></el-input>
</el-form-item>
<el-table-column
prop=
"filterLastLine"
label=
"停止在过滤器"
>
<el-form-item
label=
"文件错误信息字段名:"
>
<el-input
</el-table-column>
v-model=
"form.fileErrorMessageField"
:disabled=
"
this.form.errorIgnored == 'N' || !this.form.errorIgnored
"
></el-input>
</el-form-item>
<el-table-column
prop=
"filterPositive"
label=
"积极匹配"
>
<el-form-item
label=
"跳过错误行:"
>
</el-table-column>
<el-checkbox
v-model=
"form.errorLineSkipped"
:disabled=
"
this.form.errorIgnored == 'N' || !this.form.errorIgnored
"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-form-item>
<el-table-column
label=
"操作"
width=
"100px"
>
<el-form-item
label=
"错误计数制度:"
>
<
template
slot-scope=
"scope"
>
<el-input
<el-button
v-model=
"form.errorCountField"
@
click=
"filterClick(false, scope.row)"
:disabled=
"
type=
"text"
this.form.errorIgnored == 'N' || !this.form.errorIgnored
size=
"small"
"
>
编辑
</el-button
></el-input>
>
</el-form-item>
<el-button
type=
"text"
<el-form-item
label=
"错误字段文件名:"
>
size=
"small"
<el-input
@
click=
"deleteFilter(scope.$index, filter)"
v-model=
"form.errorFieldsField"
>
删除
</el-button
:disabled=
"
>
this.form.errorIgnored == 'N' || !this.form.errorIgnored
</
template
>
"
</el-table-column>
></el-input>
</el-table>
</el-form-item>
</el-tab-pane>
<el-tab-pane
label=
"字段"
>
<el-form-item
label=
"错误文本字段:"
>
<el-button
type=
"text"
@
click=
"fieldClick(true)"
>
添加字段
</el-button>
<el-input
<el-button
type=
"text"
@
click=
"getTheField"
>
获取字段
</el-button>
v-model=
"form.errorTextField"
:disabled=
"
this.form.errorIgnored == 'N' || !this.form.errorIgnored
"
></el-input>
</el-form-item>
<el-table
:data=
"inputFields"
style=
"width: 100%"
>
<el-form-item
label=
"告警文件目录:"
>
<el-table-column
prop=
"name"
label=
"名称"
>
</el-table-column>
g
<el-row
:gutter=
"10"
>
<el-col
:span=
"10"
>
<el-input
v-model=
"form.warningFilesDestinationDirectory"
:disabled=
"
this.form.errorIgnored == 'N' || !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 == 'N' || !this.form.errorIgnored
"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-button
:disabled=
"
this.form.errorIgnored == 'N' || !this.form.errorIgnored
"
size=
"mini"
@
click=
"selectFilePath(2)"
>
浏览
</el-button
></el-col
>
</el-row>
</el-form-item>
<el-table-column
prop=
"type"
label=
"类型"
>
</el-table-column>
<el-form-item
label=
"错误文件目录:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"10"
>
<el-input
v-model=
"form.errorFilesDestinationDirectory"
:disabled=
"
this.form.errorIgnored == 'N' || !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 == 'N' || !this.form.errorIgnored
"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-button
:disabled=
"
this.form.errorIgnored == 'N' || !this.form.errorIgnored
"
size=
"mini"
@
click=
"selectFilePath(3)"
>
浏览
</el-button
></el-col
>
</el-row>
</el-form-item>
<el-table-column
prop=
"format"
label=
"格式"
>
</el-table-column>
<el-form-item
label=
"失败行数文件目录:"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"10"
>
<el-input
v-model=
"form.lineNumberFilesDestinationDirectory"
:disabled=
"
this.form.errorIgnored == 'N' || !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 == 'N' || !this.form.errorIgnored
"
></el-input>
</el-col>
<el-col
class=
"line"
:span=
"2"
>
<el-button
:disabled=
"
this.form.errorIgnored == 'N' || !this.form.errorIgnored
"
size=
"mini"
@
click=
"selectFilePath(4)"
>
浏览
</el-button
></el-col
>
</el-row>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane
label=
"过滤"
>
<el-button
type=
"text"
@
click=
"filterClick(true)"
>
添加过滤字段
</el-button
>
<el-table
:data=
"filter"
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(false, scope.row)"
type=
"text"
size=
"small"
>
编辑
</el-button
>
<el-button
type=
"text"
size=
"small"
@
click=
"deleteFilter(scope.$index, filter)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
</el-tab-pane>
<el-table-column
prop=
"position"
label=
"位置"
>
</el-table-column>
<el-tab-pane
label=
"字段"
>
<el-button
type=
"text"
@
click=
"fieldClick(true)"
>
添加字段
</el-button>
<el-button
type=
"text"
@
click=
"getTheField"
>
获取字段
</el-button>
<el-table-column
prop=
"length"
label=
"长度"
>
</el-table-column>
<el-table
:data=
"inputFields"
style=
"width: 100%"
>
<el-table-column
prop=
"name"
label=
"名称"
>
</el-table-column>
g
<el-table-column
prop=
"precision"
label=
"精度
"
>
</el-table-column>
<el-table-column
prop=
"type"
label=
"类型
"
>
</el-table-column>
<el-table-column
prop=
"currency"
label=
"货币
"
>
</el-table-column>
<el-table-column
prop=
"format"
label=
"格式
"
>
</el-table-column>
<el-table-column
prop=
"decimal"
label=
"小数
"
>
</el-table-column>
<el-table-column
prop=
"position"
label=
"位置
"
>
</el-table-column>
<el-table-column
prop=
"group"
label=
"分组
"
>
</el-table-column>
<el-table-column
prop=
"length"
label=
"长度
"
>
</el-table-column>
<el-table-column
prop=
"nullif"
label=
"Null if
"
>
</el-table-column>
<el-table-column
prop=
"precision"
label=
"精度
"
>
</el-table-column>
<el-table-column
prop=
"ifnull"
label=
"默认
"
>
</el-table-column>
<el-table-column
prop=
"currency"
label=
"货币
"
>
</el-table-column>
<el-table-column
prop=
"trim_type"
label=
"去除空字符串..."
>
<el-table-column
prop=
"decimal"
label=
"小数"
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"repeat"
label=
"重复
"
>
</el-table-column>
<el-table-column
prop=
"group"
label=
"分组
"
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"100px"
>
<el-table-column
prop=
"nullif"
label=
"Null if"
>
</el-table-column>
<
template
slot-scope=
"scope"
>
<el-button
@
click=
"fieldClick(false,scope.row)"
type=
"text"
size=
"small"
<el-table-column
prop=
"ifnull"
label=
"默认"
>
</el-table-column>
>
编辑
</el-button
>
<el-table-column
prop=
"trim_type"
label=
"去除空字符串..."
>
<el-button
</el-table-column>
type=
"text"
size=
"small"
<el-table-column
prop=
"repeat"
label=
"重复"
>
</el-table-column>
@
click=
"deleteField(scope.$index, inputFields)"
>
删除
</el-button
<el-table-column
label=
"操作"
width=
"100px"
>
>
<
template
slot-scope=
"scope"
>
</
template
>
<el-button
</el-table-column>
@
click=
"fieldClick(false, scope.row)"
</el-table>
type=
"text"
</el-tab-pane>
size=
"small"
>
编辑
</el-button
<el-tab-pane
label=
"其他输出字段"
>
>
<el-form
ref=
"from"
:model=
"form"
label-width=
"160px"
>
<el-button
<el-form-item
label=
"文件名字段:"
>
type=
"text"
<el-input
v-model=
"form.shortFilenameField"
></el-input>
size=
"small"
</el-form-item>
@
click=
"deleteField(scope.$index, inputFields)"
>
删除
</el-button
<el-form-item
label=
"扩展名字段:"
>
>
<el-input
v-model=
"form.extensionField"
></el-input>
</
template
>
</el-form-item>
</el-table-column>
</el-table>
<el-form-item
label=
"路径字段:"
>
</el-tab-pane>
<el-input
v-model=
"form.pathField"
></el-input>
</el-form-item>
<el-tab-pane
label=
"其他输出字段"
>
<el-form
ref=
"from"
:model=
"form"
label-width=
"160px"
>
<el-form-item
label=
"文件大小字段:"
>
<el-form-item
label=
"文件名字段:"
>
<el-input
v-model=
"form.sizeField"
></el-input>
<el-input
v-model=
"form.shortFilenameField"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"是否为隐藏文件字段:"
>
<el-form-item
label=
"扩展名字段:"
>
<el-input
v-model=
"form.hiddenField"
></el-input>
<el-input
v-model=
"form.extensionField"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"最后修改时间字段:"
>
<el-form-item
label=
"路径字段:"
>
<el-input
v-model=
"form.lastModificationField"
></el-input>
<el-input
v-model=
"form.pathField"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"Uri字段:"
>
<el-form-item
label=
"文件大小字段:"
>
<el-input
v-model=
"form.uriField"
></el-input>
<el-input
v-model=
"form.sizeField"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"Root uri字段:"
>
<el-form-item
label=
"是否为隐藏文件字段:"
>
<el-input
v-model=
"form.rootUriField"
></el-input>
<el-input
v-model=
"form.hiddenField"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-tab-pane>
<el-form-item
label=
"最后修改时间字段:"
>
</el-tabs>
<el-input
v-model=
"form.lastModificationField"
></el-input>
</el-form-item>
<span
slot=
"footer"
class=
"dialog-footer"
>
<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>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleCloseFun"
>
取 消
</el-button>
<el-button
@
click=
"handleCloseFun"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"TextFileInputDialogFun"
<el-button
type=
"primary"
@
click=
"TextFileInputDialogFun"
...
@@ -570,8 +720,6 @@
...
@@ -570,8 +720,6 @@
</span>
</span>
</el-dialog>
</el-dialog>
<el-dialog
<el-dialog
title=
"修改文件内容"
title=
"修改文件内容"
:visible
.
sync=
"fileBox"
:visible
.
sync=
"fileBox"
...
@@ -580,7 +728,7 @@
...
@@ -580,7 +728,7 @@
:modal=
"false"
:modal=
"false"
>
>
<el-form
ref=
"form"
:model=
"fielForm"
label-width=
"160px"
>
<el-form
ref=
"form"
:model=
"fielForm"
label-width=
"160px"
>
<el-form-item
label=
"文件/目录:"
>
<el-form-item
label=
"文件/目录:"
>
<el-input
v-model=
"fielForm.name"
:disabled=
"true"
></el-input>
<el-input
v-model=
"fielForm.name"
:disabled=
"true"
></el-input>
</el-form-item>
</el-form-item>
...
@@ -613,9 +761,6 @@
...
@@ -613,9 +761,6 @@
</span>
</span>
</el-dialog>
</el-dialog>
<el-dialog
<el-dialog
title=
"添加字段"
title=
"添加字段"
:visible
.
sync=
"fieldBox"
:visible
.
sync=
"fieldBox"
...
@@ -640,7 +785,11 @@
...
@@ -640,7 +785,11 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"格式:"
>
<el-form-item
label=
"格式:"
>
<el-select
v-model=
"metadataForm.format"
style=
"width: 100%"
clearable
>
<el-select
v-model=
"metadataForm.format"
style=
"width: 100%"
clearable
>
<el-option
<el-option
v-for=
"item in fieldFormat"
v-for=
"item in fieldFormat"
:key=
"item.index"
:key=
"item.index"
...
@@ -686,7 +835,11 @@
...
@@ -686,7 +835,11 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"去除空格类型:"
>
<el-form-item
label=
"去除空格类型:"
>
<el-select
v-model=
"metadataForm.trim_type"
style=
"width: 100%"
clearable
>
<el-select
v-model=
"metadataForm.trim_type"
style=
"width: 100%"
clearable
>
<el-option
label=
"不去掉空格"
value=
"none"
></el-option>
<el-option
label=
"不去掉空格"
value=
"none"
></el-option>
<el-option
label=
"去掉左空格"
value=
"left"
></el-option>
<el-option
label=
"去掉左空格"
value=
"left"
></el-option>
<el-option
label=
"去掉右空格"
value=
"right"
></el-option>
<el-option
label=
"去掉右空格"
value=
"right"
></el-option>
...
@@ -718,7 +871,11 @@
...
@@ -718,7 +871,11 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"过滤器位置:"
>
<el-form-item
label=
"过滤器位置:"
>
<el-select
v-model=
"filterForm.filterPosition"
style=
"width: 100%"
clearable
>
<el-select
v-model=
"filterForm.filterPosition"
style=
"width: 100%"
clearable
>
<el-option
<el-option
v-for=
"item in fieldFormat"
v-for=
"item in fieldFormat"
:key=
"item.index"
:key=
"item.index"
...
@@ -743,9 +900,7 @@
...
@@ -743,9 +900,7 @@
</span>
</span>
</el-dialog>
</el-dialog>
<!-- 文件浏览器-->
<!-- 文件浏览器-->
<el-dialog
<el-dialog
title=
"文件浏览器"
title=
"文件浏览器"
:visible
.
sync=
"filePathSelection"
:visible
.
sync=
"filePathSelection"
...
@@ -753,8 +908,7 @@
...
@@ -753,8 +908,7 @@
:before-close=
"handleClose"
:before-close=
"handleClose"
:modal=
"false"
:modal=
"false"
>
>
<browseFiles
:disabed=
"true"
v-on:route=
"route"
></browseFiles>
<browseFiles
:disabed=
"true"
v-on:route=
"route"
></browseFiles>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"filePathSelection = false"
>
取 消
</el-button>
<el-button
@
click=
"filePathSelection = false"
>
取 消
</el-button>
...
@@ -763,13 +917,11 @@
...
@@ -763,13 +917,11 @@
>
>
</span>
</span>
</el-dialog>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
browseFiles
from
"../appBulletFrame/browseFiles"
;
import
browseFiles
from
"../appBulletFrame/browseFiles"
;
import
mxgraph
from
"@/utils/mxgraph"
;
import
mxgraph
from
"@/utils/mxgraph"
;
const
{
const
{
mxGraph
,
mxGraph
,
...
@@ -785,38 +937,48 @@ const {
...
@@ -785,38 +937,48 @@ const {
mxGeometry
,
mxGeometry
,
}
=
mxgraph
;
}
=
mxgraph
;
import
{
valueFormat
,
valueMeta
,
formatMapperLineTerminator
,
availableCharsets
,
compressionProviderNames
,
inputOutputFields
}
from
"@/api/kettle/link"
;
import
{
valueFormat
,
valueMeta
,
formatMapperLineTerminator
,
availableCharsets
,
compressionProviderNames
,
inputOutputFields
,
}
from
"@/api/kettle/link"
;
export
default
{
export
default
{
props
:
[
"connectionNode"
,
"form"
,
"nodeData"
,
"TextFileInputDialog"
,
"saveOutputDialog"
],
//从父组件传过来的值
props
:
[
"connectionNode"
,
"form"
,
"nodeData"
,
"TextFileInputDialog"
,
"saveOutputDialog"
,
],
//从父组件传过来的值
components
:
{
components
:
{
browseFiles
,
browseFiles
,
},
},
data
()
{
data
()
{
return
{
return
{
newGraph
:[],
newGraph
:
[],
fileBox
:
false
,
fileBox
:
false
,
filterBox
:
false
,
filterBox
:
false
,
fieldBox
:
false
,
fieldBox
:
false
,
fileNameStore
:[],
fileNameStore
:
[],
filter
:
[],
filter
:
[],
inputFields
:
[],
inputFields
:
[],
metadataForm
:
{},
metadataForm
:
{},
filterForm
:
{},
filterForm
:
{},
fieldFormat
:
{},
fieldFormat
:
{},
fieldCompress
:{},
fieldCompress
:
{},
fieldType
:
{},
fieldType
:
{},
dataState
:
false
,
dataState
:
false
,
fileType
:[],
fileType
:
[],
codingType
:[],
codingType
:
[],
routeState
:
0
,
routeState
:
0
,
filePathSelection
:
false
,
filePathSelection
:
false
,
localPath
:{},
localPath
:
{},
fileSelection
:{},
fileSelection
:
{},
fielForm
:{},
fielForm
:
{},
};
};
},
},
...
@@ -829,88 +991,76 @@ export default {
...
@@ -829,88 +991,76 @@ export default {
},
},
methods
:
{
methods
:
{
clickFun
(
graph
,
val
)
{
clickFun
(
graph
,
val
)
{
console
.
log
(
graph
,
1
);
console
.
log
(
graph
,
1
);
this
.
newGraph
=
graph
;
this
.
newGraph
=
graph
;
this
.
fileNameStore
=
JSON
.
parse
(
val
.
fileNameStore
)
this
.
fileNameStore
=
JSON
.
parse
(
val
.
fileNameStore
);
this
.
filter
=
JSON
.
parse
(
val
.
filter
)
this
.
filter
=
JSON
.
parse
(
val
.
filter
);
this
.
inputFields
=
JSON
.
parse
(
val
.
inputFields
)
this
.
inputFields
=
JSON
.
parse
(
val
.
inputFields
);
},
},
handleCloseFun
()
{
handleCloseFun
(){
this
.
$emit
(
"update:TextFileInputDialog"
,
false
);
this
.
$emit
(
"update:TextFileInputDialog"
,
false
);
},
},
TextFileInputDialogFun
()
{
TextFileInputDialogFun
()
{
this
.
handleCloseFun
()
this
.
handleCloseFun
()
;
this
.
form
.
filter
=
JSON
.
stringify
(
this
.
filter
);
this
.
form
.
filter
=
JSON
.
stringify
(
this
.
filter
);
this
.
form
.
inputFields
=
JSON
.
stringify
(
this
.
form
.
inputFields
=
JSON
.
stringify
(
this
.
inputFields
);
this
.
inputFields
this
.
form
.
fileNameStore
=
JSON
.
stringify
(
this
.
fileNameStore
);
);
this
.
saveOutputDialog
(
this
.
form
);
this
.
form
.
fileNameStore
=
JSON
.
stringify
(
this
.
fileNameStore
);
this
.
saveOutputDialog
(
this
.
form
)
},
},
getTheField
(){
getTheField
()
{
var
enc
=
new
mxCodec
(
mxUtils
.
createXmlDocument
());
var
enc
=
new
mxCodec
(
mxUtils
.
createXmlDocument
());
var
node
=
enc
.
encode
(
this
.
newGraph
.
getModel
());
var
node
=
enc
.
encode
(
this
.
newGraph
.
getModel
());
this
.
graphXml
=
mxUtils
.
getPrettyXml
(
node
);
this
.
graphXml
=
mxUtils
.
getPrettyXml
(
node
);
let
pamerFields
=
new
FormData
();
// 创建form对象
let
pamerFields
=
new
FormData
();
// 创建form对象
pamerFields
.
append
(
"stepName"
,
this
.
nodeData
.
value
.
attributes
.
label
.
value
)
pamerFields
.
append
(
pamerFields
.
append
(
"graphXml"
,
this
.
graphXml
);
"stepName"
,
pamerFields
.
append
(
"before"
,
true
);
this
.
nodeData
.
value
.
attributes
.
label
.
value
pamerFields
.
append
(
"query"
,
""
);
);
inputOutputFields
(
pamerFields
).
then
((
res
)
=>
{
pamerFields
.
append
(
"graphXml"
,
this
.
graphXml
);
this
.
inputFields
=
res
pamerFields
.
append
(
"before"
,
true
);
});
pamerFields
.
append
(
"query"
,
""
);
inputOutputFields
(
pamerFields
).
then
((
res
)
=>
{
this
.
inputFields
=
res
;
});
},
},
addFile
(){
addFile
()
{
this
.
fileNameStore
.
push
(
this
.
fileSelection
)
this
.
fileNameStore
.
push
(
this
.
fileSelection
)
;
console
.
log
(
this
.
fileNameStore
,
789787987987987
);
console
.
log
(
this
.
fileNameStore
,
789787987987987
);
this
.
fileSelection
=
{}
this
.
fileSelection
=
{}
;
},
},
addFilePathSelection
()
{
addFilePathSelection
(){
this
.
filePathSelection
=
!
this
.
filePathSelection
;
this
.
filePathSelection
=
!
this
.
filePathSelection
if
(
this
.
routeState
==
1
)
{
if
(
this
.
routeState
==
1
)
{
this
.
fileSelection
.
fileName
=
this
.
localPath
.
fileName
;
this
.
fileSelection
.
fileName
=
this
.
localPath
.
fileName
}
else
if
(
this
.
routeState
==
2
)
{
}
else
if
(
this
.
routeState
==
2
)
{
this
.
form
.
warningFilesDestinationDirectory
=
this
.
localPath
.
fileName
;
this
.
form
.
warningFilesDestinationDirectory
=
this
.
localPath
.
fileName
}
else
if
(
this
.
routeState
==
3
)
{
}
else
if
(
this
.
routeState
==
3
)
{
this
.
form
.
errorFilesDestinationDirectory
=
this
.
localPath
.
fileName
;
this
.
form
.
errorFilesDestinationDirectory
=
this
.
localPath
.
fileName
}
else
if
(
this
.
routeState
==
4
)
{
}
else
if
(
this
.
routeState
==
4
)
{
this
.
form
.
lineNumberFilesDestinationDirectory
=
this
.
localPath
.
fileName
;
this
.
form
.
lineNumberFilesDestinationDirectory
=
this
.
localPath
.
fileName
}
}
},
},
route
(
flowData
){
route
(
flowData
)
{
this
.
localPath
.
fileName
=
flowData
.
name
this
.
localPath
.
fileName
=
flowData
.
name
;
console
.
log
(
this
.
localPath
);
console
.
log
(
this
.
localPath
);
},
},
selectFilePath
(
tsate
)
{
selectFilePath
(
tsate
){
this
.
routeState
=
tsate
;
this
.
routeState
=
tsate
this
.
filePathSelection
=
!
this
.
filePathSelection
;
this
.
filePathSelection
=
!
this
.
filePathSelection
},
},
compressionProviderNamesFun
()
{
compressionProviderNames
().
then
((
res
)
=>
{
this
.
fieldCompress
=
res
;
compressionProviderNamesFun
(){
});
compressionProviderNames
().
then
(
res
=>
{
this
.
fieldCompress
=
res
})
},
},
// 关闭弹框
// 关闭弹框
...
@@ -922,41 +1072,39 @@ handleCloseFun(){
...
@@ -922,41 +1072,39 @@ handleCloseFun(){
.
catch
((
_
)
=>
{});
.
catch
((
_
)
=>
{});
},
},
formatMapperLineTerminatorFun
(){
formatMapperLineTerminatorFun
()
{
let
pamer
=
new
FormData
();
// 创建form对象
let
pamer
=
new
FormData
();
// 创建form对象
pamer
.
append
(
"query"
,
""
);
pamer
.
append
(
"query"
,
""
);
formatMapperLineTerminator
(
pamer
).
then
(
res
=>
{
formatMapperLineTerminator
(
pamer
).
then
(
(
res
)
=>
{
this
.
fileType
=
res
this
.
fileType
=
res
;
})
})
;
},
},
availableCharsetsFun
()
{
availableCharsetsFun
()
{
let
pamer
=
new
FormData
();
// 创建form对象
let
pamer
=
new
FormData
();
// 创建form对象
pamer
.
append
(
"query"
,
""
);
pamer
.
append
(
"query"
,
""
);
availableCharsets
(
pamer
).
then
((
res
)
=>
{
availableCharsets
(
pamer
).
then
((
res
)
=>
{
this
.
codingType
=
res
;
this
.
codingType
=
res
;
});
});
},
},
fileBoxFun
(){
this
.
fileBox
=
!
this
.
fileBox
this
.
fileNameStore
.
push
(
this
.
fielForm
);
this
.
$emit
(
'fileNameStore'
,
this
.
fileNameStore
)
},
fileBoxFun
()
{
this
.
fileBox
=
!
this
.
fileBox
;
this
.
fileNameStore
.
push
(
this
.
fielForm
);
this
.
$emit
(
"fileNameStore"
,
this
.
fileNameStore
);
},
addFilterBox
()
{
addFilterBox
()
{
this
.
filterBox
=
!
this
.
filterBox
;
this
.
filterBox
=
!
this
.
filterBox
;
if
(
this
.
dataState
)
{
if
(
this
.
dataState
)
{
this
.
filter
.
push
(
this
.
filterForm
);
this
.
filter
.
push
(
this
.
filterForm
);
this
.
$emit
(
'filter'
,
this
.
filter
)
this
.
$emit
(
"filter"
,
this
.
filter
);
}
else
{
}
else
{
}
}
},
},
handleClick
(
val
){
handleClick
(
val
)
{
this
.
fileBox
=
!
this
.
fileBox
this
.
fileBox
=
!
this
.
fileBox
;
this
.
fielForm
=
val
this
.
fielForm
=
val
;
},
},
deleteRow
(
index
,
rows
)
{
deleteRow
(
index
,
rows
)
{
...
@@ -976,29 +1124,26 @@ fileBoxFun(){
...
@@ -976,29 +1124,26 @@ fileBoxFun(){
rows
.
splice
(
index
,
1
);
rows
.
splice
(
index
,
1
);
},
},
deleteField
(
index
,
rows
){
deleteField
(
index
,
rows
)
{
rows
.
splice
(
index
,
1
);
rows
.
splice
(
index
,
1
);
},
},
fieldClick
(
state
,
val
)
{
fieldClick
(
state
,
val
)
{
this
.
fieldBox
=
!
this
.
fieldBox
;
this
.
fieldBox
=
!
this
.
fieldBox
;
this
.
dataState
=
state
this
.
dataState
=
state
;
if
(
state
)
{
if
(
state
)
{
this
.
metadataForm
=
{};
this
.
metadataForm
=
{};
}
else
{
}
else
{
this
.
metadataForm
=
val
;
this
.
metadataForm
=
val
;
}
}
},
},
addFieldBox
(){
addFieldBox
()
{
this
.
fieldBox
=
!
this
.
fieldBox
this
.
fieldBox
=
!
this
.
fieldBox
;
if
(
this
.
dataState
)
{
if
(
this
.
dataState
)
{
this
.
inputFields
.
push
(
this
.
metadataForm
)
this
.
inputFields
.
push
(
this
.
metadataForm
);
this
.
$emit
(
'inputFields'
,
this
.
inputFields
)
this
.
$emit
(
"inputFields"
,
this
.
inputFields
);
}
else
{
}
else
{
}
}
},
},
...
...
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