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
7d6a691f
Commit
7d6a691f
authored
Oct 11, 2021
by
李耀琨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新
parent
327ec109
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1692 additions
and
6 deletions
+1692
-6
src/views/dashboard-kettle/components/appBulletFrame/analysisQuery.vue
+352
-0
src/views/dashboard-kettle/components/appBulletFrame/calculator.vue
+335
-0
src/views/dashboard-kettle/components/appBulletFrame/dataInspection.vue
+18
-2
src/views/dashboard-kettle/components/appBulletFrame/filterRecords.vue
+306
-0
src/views/dashboard-kettle/components/appBulletFrame/generatingRecords.vue
+2
-2
src/views/dashboard-kettle/components/appBulletFrame/mapping.vue
+1
-1
src/views/dashboard-kettle/components/appBulletFrame/numericalRange.vue
+1
-0
src/views/dashboard-kettle/components/appBulletFrame/setFieldToConstant.vue
+219
-0
src/views/dashboard-kettle/components/appBulletFrame/termination.vue
+105
-0
src/views/dashboard-kettle/components/appBulletFrame/writeLog.vue
+214
-0
src/views/dashboard-kettle/components/designer/mxgraphDesigner.vue
+139
-1
No files found.
src/views/dashboard-kettle/components/appBulletFrame/analysisQuery.vue
0 → 100644
View file @
7d6a691f
<
template
>
<div
class=
"getGroupingInformation"
>
<el-dialog
title=
"分析查询"
:visible
.
sync=
"analysisQueryDialog"
width=
"800px"
:before-close=
"handleCloseFun"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"240px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"form.label"
></el-input>
</el-form-item>
</el-form>
分组字段
<br
/>
<el-button
type=
"text"
@
click=
"structure(true)"
>
添加字段
</el-button>
<el-button
type=
"text"
@
click=
"getTheGroup"
>
获取字段
</el-button>
<el-table
:data=
"groupFile"
border
style=
"width: 100%"
>
<el-table-column
prop=
"name"
label=
"分组字段"
>
</el-table-column>
<el-table-column
label=
"操作"
>
<template
slot-scope=
"scope"
>
<el-button
@
click=
"structure(false, scope.row)"
type=
"text"
size=
"small"
>
编辑
</el-button
>
<el-button
type=
"text"
size=
"small"
@
click=
"deleteField(scope.$index, groupFile)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
<br
/>
<br
/>
前后行查询
<br
/>
<el-button
type=
"text"
@
click=
"polymerization(true)"
>
添加字段
</el-button>
<el-button
type=
"text"
@
click=
"getTheField"
>
获取字段
</el-button>
<el-table
:data=
"fields"
border
style=
"width: 100%"
>
<el-table-column
prop=
"aggregate"
label=
"分组字段"
>
</el-table-column>
<el-table-column
prop=
"subject"
label=
"Subject"
>
</el-table-column>
<el-table-column
prop=
"type"
label=
"类型"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
type
==
'LEAD'
?
'前第N行'
:
scope
.
row
.
type
==
'LAG'
?
'后第N行'
:
''
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"valuefield"
label=
"N"
>
</el-table-column>
<el-table-column
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click=
"polymerization(false, scope.row)"
type=
"text"
size=
"small"
>
编辑
</el-button
>
<el-button
type=
"text"
size=
"small"
@
click=
"deleteField(scope.$index, fields)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleCloseFun"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"SystemInfoDialogFun"
>
确 定
</el-button>
</span>
</el-dialog>
<el-dialog
title=
"添加结构分组的字段"
:visible
.
sync=
"addField"
width=
"500px"
:before-close=
"handleClose"
:modal=
"false"
>
<el-form
ref=
"form"
:model=
"fiel"
label-width=
"160px"
>
<el-form-item
label=
"名称:"
>
<el-select
v-model=
"fiel.name"
placeholder=
"请选择"
>
<el-option
v-for=
"(item,index) in getFiel"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
>
</el-option>
</el-select>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"addField = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"addFieldDetermine"
>
确 定
</el-button>
</span>
</el-dialog>
<el-dialog
title=
"添加聚合"
:visible
.
sync=
"gather"
width=
"500px"
:before-close=
"handleClose"
:modal=
"false"
>
<el-form
ref=
"form"
:model=
"fiel"
label-width=
"160px"
>
<el-form-item
label=
"分组字段:"
>
<el-input
v-model=
"gatherLite.aggregate"
></el-input>
</el-form-item>
<el-form-item
label=
"subject:"
>
<el-select
v-model=
"gatherLite.subject"
placeholder=
"请选择"
>
<el-option
v-for=
"(item,index) in getFiel"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"类型:"
>
<el-select
v-model=
"gatherLite.type"
placeholder=
"请选择"
>
<el-option
label=
"前第N行"
value=
"LEAD"
>
</el-option>
<el-option
label=
"后第N行"
value=
"LAG"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"N:"
>
<el-input
v-model=
"gatherLite.valuefield"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"gather = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"gatherDetermine"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
{
systemDataTypes
,
inputOutputFields
,
typeGroup
}
from
"@/api/kettle/link"
;
import
mxgraph
from
"@/utils/mxgraph"
;
const
{
mxGraph
,
mxUtils
,
mxEvent
,
mxKeyHandler
,
mxRubberband
,
mxConstants
,
mxStencilRegistry
,
mxStencil
,
mxCodec
,
mxGraphModel
,
mxGeometry
,
}
=
mxgraph
;
export
default
{
props
:
[
"form"
,
"analysisQueryDialog"
,
"saveOutputDialog"
,
"nodeData"
],
data
()
{
return
{
groupFile
:
[],
addField
:
false
,
fields
:
[],
type
:
{},
dataStatus
:
false
,
fiel
:
{},
gatherLite
:
{},
gather
:
false
,
typeGroup
:[],
getFiel
:[],
};
},
created
()
{
this
.
systemDataTypesFun
();
},
methods
:
{
gatherDetermine
(){
this
.
fields
.
push
()
this
.
gather
=
!
this
.
gather
;
if
(
this
.
dataStatus
)
{
this
.
fields
.
push
(
this
.
gatherLite
);
}
},
typeGroupFun
(){
typeGroup
().
then
(
res
=>
{
this
.
typeGroup
=
res
})
},
structure
(
state
,
val
)
{
// this.addField = !this.addField
this
.
dataStatus
=
state
;
if
(
state
)
{
this
.
fiel
=
{};
}
else
{
this
.
fiel
=
val
;
}
this
.
addField
=
!
this
.
addField
;
},
polymerization
(
state
,
val
)
{
this
.
dataStatus
=
state
;
this
.
typeGroupFun
()
if
(
state
)
{
this
.
gatherLite
=
{};
}
else
{
this
.
gatherLite
=
val
;
this
.
systemDataTypesFun
()
}
this
.
gather
=
!
this
.
gather
;
},
inputOutputFieldsFun
(){
var
enc
=
new
mxCodec
(
mxUtils
.
createXmlDocument
());
var
node
=
enc
.
encode
(
this
.
newGraph
.
getModel
());
this
.
graphXml
=
mxUtils
.
getPrettyXml
(
node
);
let
pamerFields
=
new
FormData
();
// 创建form对象
pamerFields
.
append
(
"stepName"
,
this
.
nodeData
.
value
.
attributes
.
label
.
value
);
pamerFields
.
append
(
"graphXml"
,
this
.
graphXml
);
pamerFields
.
append
(
"before"
,
true
);
inputOutputFields
(
pamerFields
).
then
((
res
)
=>
{
this
.
getFiel
=
res
;
console
.
log
(
res
);
});
},
getTheGroup
()
{
var
enc
=
new
mxCodec
(
mxUtils
.
createXmlDocument
());
var
node
=
enc
.
encode
(
this
.
newGraph
.
getModel
());
this
.
graphXml
=
mxUtils
.
getPrettyXml
(
node
);
let
pamerFields
=
new
FormData
();
// 创建form对象
pamerFields
.
append
(
"stepName"
,
this
.
nodeData
.
value
.
attributes
.
label
.
value
);
pamerFields
.
append
(
"graphXml"
,
this
.
graphXml
);
pamerFields
.
append
(
"before"
,
true
);
inputOutputFields
(
pamerFields
).
then
((
res
)
=>
{
res
.
forEach
(
item
=>
{
this
.
groupFile
.
push
({
name
:
item
.
name
})
})
// this.groupFile = res;
console
.
log
(
res
);
});
},
deleteField
(
index
,
rows
)
{
rows
.
splice
(
index
,
1
);
},
getTheField
()
{
console
.
log
(
this
.
nodeData
);
var
enc
=
new
mxCodec
(
mxUtils
.
createXmlDocument
());
var
node
=
enc
.
encode
(
this
.
newGraph
.
getModel
());
this
.
graphXml
=
mxUtils
.
getPrettyXml
(
node
);
// console.log( this.graphXml,"看着了");
let
pamerFields
=
new
FormData
();
// 创建form对象
pamerFields
.
append
(
"stepName"
,
this
.
nodeData
.
value
.
attributes
.
label
.
value
);
pamerFields
.
append
(
"graphXml"
,
this
.
graphXml
);
pamerFields
.
append
(
"before"
,
true
);
pamerFields
.
append
(
"query"
,
""
);
inputOutputFields
(
pamerFields
).
then
((
res
)
=>
{
console
.
log
(
res
,
"yuiyuiyui"
);
this
.
fields
=
[]
res
.
forEach
((
item
)
=>
{
this
.
fields
.
push
({
aggregate
:
item
.
name
,
subject
:
item
.
name
,
});
console
.
log
(
this
.
fields
);
});
// this.fields.field_name = res.name
});
},
clickFun
(
graph
,
val
)
{
console
.
log
(
graph
,
"双击获取值"
);
this
.
newGraph
=
graph
;
this
.
inputOutputFieldsFun
()
console
.
log
(
val
,
"拿到form"
);
this
.
fields
=
JSON
.
parse
(
val
.
fields
)
this
.
groupFile
=
JSON
.
parse
(
val
.
groupFile
)
},
handleCloseFun
()
{
this
.
$emit
(
"update:analysisQueryDialog"
,
false
);
},
SystemInfoDialogFun
()
{
this
.
handleCloseFun
();
this
.
form
.
groupFile
=
JSON
.
stringify
(
this
.
groupFile
);
this
.
form
.
fields
=
JSON
.
stringify
(
this
.
fields
);
this
.
saveOutputDialog
(
this
.
form
);
},
addFieldDetermine
()
{
this
.
addField
=
!
this
.
addField
;
if
(
this
.
dataStatus
)
{
this
.
groupFile
.
push
(
this
.
fiel
);
}
else
{
}
},
// 关闭弹框
handleClose
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
.
then
((
_
)
=>
{
done
();
})
.
catch
((
_
)
=>
{});
},
deleteRow
(
index
,
rows
)
{
rows
.
splice
(
index
,
1
);
},
systemDataTypesFun
()
{
systemDataTypes
().
then
((
res
)
=>
{
console
.
log
(
res
);
this
.
type
=
res
;
});
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
*
{
outline
:
none
;
}
</
style
>
src/views/dashboard-kettle/components/appBulletFrame/calculator.vue
0 → 100644
View file @
7d6a691f
<
template
>
<div
class=
"getSystemInformation"
>
<el-dialog
title=
"计算器"
:visible
.
sync=
"calculatorDialog"
width=
"800px"
:before-close=
"handleCloseFun"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"form.label"
></el-input>
</el-form-item>
<el-form-item>
<el-checkbox
v-model=
"form.supports_error_handing"
true-label=
"Y"
false-label=
"N"
>
Throw an error on non existing files
</el-checkbox>
</el-form-item>
</el-form>
<el-form
ref=
"form"
:model=
"form"
label-width=
"0px"
>
<el-button
type=
"text"
@
click=
"addSheet(true)"
style=
"margin: 10px"
>
添加字段
</el-button
>
<el-form-item>
<el-table
:data=
"calculation"
style=
"width: 100%"
>
<el-table-column
prop=
"field_name"
label=
"新字段"
>
</el-table-column>
<el-table-column
prop=
"calc_type"
label=
"计算"
>
</el-table-column>
<el-table-column
prop=
"field_a"
label=
"字段A"
>
</el-table-column>
<el-table-column
prop=
"field_b"
label=
"字段B"
>
</el-table-column>
<el-table-column
prop=
"field_c"
label=
"字段C"
>
</el-table-column>
<el-table-column
prop=
"value_type"
label=
"值类型"
>
</el-table-column>
<el-table-column
prop=
"value_length"
label=
"长度"
>
</el-table-column>
<el-table-column
prop=
"value_precision"
label=
"精确"
>
</el-table-column>
<el-table-column
prop=
"remove"
label=
"移除"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
remove
==
"Y"
?
"是"
:
"否"
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"conversion_mask"
label=
"Conversion mask"
>
</el-table-column>
<el-table-column
prop=
"decimal_symbol"
label=
"小数点符合"
>
</el-table-column>
<el-table-column
prop=
"grouping_symbol"
label=
"分组符号"
>
</el-table-column>
<el-table-column
prop=
"currency_symbol"
label=
"货币符号"
>
</el-table-column>
<el-table-column
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click=
"addSheet(false, scope.row)"
type=
"text"
size=
"small"
>
编辑
</el-button
>
<el-button
type=
"text"
size=
"small"
@
click=
"deleteRow(scope.$index, calculation)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleCloseFun"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"SystemInfoDialogFun"
>
确 定
</el-button>
</span>
</el-dialog>
<el-dialog
:title=
"dataStatus ? '新增' : '修改'"
:visible
.
sync=
"addField"
width=
"500px"
:before-close=
"handleClose"
:modal=
"false"
>
<el-form
ref=
"form"
:model=
"fiel"
label-width=
"160px"
>
<el-form-item
label=
"新字段:"
>
<el-input
v-model=
"fiel.field_name"
></el-input>
</el-form-item>
<el-form-item
label=
"计算:"
>
<el-select
v-model=
"fiel.calc_type"
style=
"width: 100%"
clearable
>
<el-option
label=
"-"
value=
"-"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"字段A:"
>
<el-select
v-model=
"fiel.field_a"
style=
"width: 100%"
clearable
@
click
.
native=
"inputOutputFieldsFun"
>
<el-option
v-for=
"item in fieldsLits"
:key=
"item.id"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item
><el-form-item
label=
"字段B:"
>
<el-select
v-model=
"fiel.field_b"
style=
"width: 100%"
clearable
@
click
.
native=
"inputOutputFieldsFun"
>
<el-option
v-for=
"item in fieldsLits"
:key=
"item.id"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item
><el-form-item
label=
"字段C:"
>
<el-select
v-model=
"fiel.field_c"
style=
"width: 100%"
clearable
@
click
.
native=
"inputOutputFieldsFun"
>
<el-option
v-for=
"item in fieldsLits"
:key=
"item.id"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"值类型:"
>
<el-select
v-model=
"fiel.value_type"
style=
"width: 100%"
clearable
>
<el-option
v-for=
"item in fieldType"
:key=
"item.id"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"长度:"
>
<el-input
v-model=
"fiel.value_length"
></el-input>
</el-form-item>
<el-form-item
label=
"精确:"
>
<el-input
v-model=
"fiel.value_precision"
></el-input>
</el-form-item>
<el-form-item
label=
"移除:"
>
<el-select
v-model=
"fiel.remove"
style=
"width: 100%"
clearable
>
<el-option
label=
"否"
value=
"N"
></el-option>
<el-option
label=
"是"
value=
"Y"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"Conversion mask:"
>
<el-select
v-model=
"fiel.conversion_mask"
style=
"width: 100%"
clearable
>
<el-option
v-for=
"item in fieldFormat"
:key=
"item.index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"小数点符合:"
>
<el-input
v-model=
"fiel.decimal_symbol"
></el-input>
</el-form-item>
<el-form-item
label=
"分组符号:"
>
<el-input
v-model=
"fiel.grouping_symbol"
></el-input>
</el-form-item>
<el-form-item
label=
"货币符号:"
>
<el-input
v-model=
"fiel.currency_symbol"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"addField = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"addFieldDetermine"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
mxgraph
from
"@/utils/mxgraph"
;
const
{
mxGraph
,
mxUtils
,
mxEvent
,
mxKeyHandler
,
mxRubberband
,
mxConstants
,
mxStencilRegistry
,
mxStencil
,
mxCodec
,
mxGraphModel
,
mxGeometry
,
}
=
mxgraph
;
import
{
systemDataTypes
,
valueFormat
,
valueMeta
,
inputOutputFields
,
}
from
"@/api/kettle/link"
;
export
default
{
props
:
[
"form"
,
"calculatorDialog"
,
"saveOutputDialog"
,
"nodeData"
],
data
()
{
return
{
addField
:
false
,
calculation
:
[],
type
:
{},
dataStatus
:
false
,
fiel
:
{},
fieldFormat
:
[],
fieldType
:
[],
fieldsLits
:
[],
};
},
created
()
{
this
.
systemDataTypesFun
();
},
methods
:
{
clickFun
(
graph
,
val
)
{
console
.
log
(
graph
,
"双击获取值"
);
this
.
newGraph
=
graph
;
console
.
log
(
val
,
"拿到form"
);
this
.
calculation
=
JSON
.
parse
(
val
.
calculation
);
},
handleCloseFun
()
{
this
.
$emit
(
"update:calculatorDialog"
,
false
);
},
SystemInfoDialogFun
()
{
this
.
handleCloseFun
();
this
.
form
.
calculation
=
JSON
.
stringify
(
this
.
calculation
);
this
.
saveOutputDialog
(
this
.
form
);
},
addFieldDetermine
()
{
this
.
addField
=
!
this
.
addField
;
if
(
this
.
dataStatus
)
{
this
.
calculation
.
push
(
this
.
fiel
);
}
else
{
}
},
// 关闭弹框
handleClose
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
.
then
((
_
)
=>
{
done
();
})
.
catch
((
_
)
=>
{});
},
deleteRow
(
index
,
rows
)
{
rows
.
splice
(
index
,
1
);
},
addSheet
(
state
,
val
)
{
this
.
valueFormatFun
();
this
.
valueMetaFun
();
this
.
addField
=
!
this
.
addField
;
this
.
dataStatus
=
state
;
if
(
state
)
{
this
.
fiel
=
{};
}
else
{
this
.
fiel
=
val
;
}
},
inputOutputFieldsFun
()
{
var
enc
=
new
mxCodec
(
mxUtils
.
createXmlDocument
());
var
node
=
enc
.
encode
(
this
.
newGraph
.
getModel
());
this
.
graphXml
=
mxUtils
.
getPrettyXml
(
node
);
let
pamerFields
=
new
FormData
();
// 创建form对象
pamerFields
.
append
(
"stepName"
,
this
.
nodeData
.
value
.
attributes
.
label
.
value
);
pamerFields
.
append
(
"graphXml"
,
this
.
graphXml
);
pamerFields
.
append
(
"before"
,
true
);
inputOutputFields
(
pamerFields
).
then
((
res
)
=>
{
this
.
fieldsLits
=
[]
res
.
forEach
((
item
)
=>
{
this
.
fieldsLits
.
push
({
name
:
item
.
name
,
});
});
this
.
calculation
.
forEach
(
val
=>
{
this
.
fieldsLits
.
push
({
name
:
val
.
field_name
,
});
})
console
.
log
(
res
);
});
},
systemDataTypesFun
()
{
systemDataTypes
().
then
((
res
)
=>
{
this
.
type
=
res
;
});
},
valueMetaFun
()
{
valueMeta
().
then
((
res
)
=>
{
this
.
fieldType
=
res
;
});
},
valueFormatFun
()
{
let
pamer2
=
new
FormData
();
// 创建form对象
pamer2
.
append
(
"valueType"
,
"all"
);
valueFormat
(
pamer2
).
then
((
res
)
=>
{
this
.
fieldFormat
=
res
;
});
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
*
{
outline
:
none
;
}
</
style
>
src/views/dashboard-kettle/components/appBulletFrame/dataInspection.vue
View file @
7d6a691f
...
...
@@ -355,6 +355,11 @@ export default {
this
.
newGraph
=
graph
;
console
.
log
(
val
,
"拿到form"
);
this
.
liList
=
JSON
.
parse
(
val
.
validator_field
)
let
i
=
0
this
.
liList
.
forEach
(
res
=>
{
this
.
liList
[
i
].
allowed_value
=
JSON
.
parse
(
res
.
allowed_value
)
i
++
})
this
.
lastStep
();
this
.
inputOutputFieldsFun
()
this
.
valueMetaFun
()
...
...
@@ -400,8 +405,9 @@ export default {
},
inputSelection
(
val
,
index
)
{
this
.
form
.
validation_name
=
val
.
validation_name
this
.
inputIndex
=
index
;
this
.
liList
[
this
.
inputIndex
].
validation_name
=
val
.
validation_name
// console.log(val);
// this.inputLies = val;
},
...
...
@@ -411,10 +417,19 @@ export default {
SystemInfoDialogFun
()
{
this
.
handleCloseFun
();
let
i
=
0
this
.
liList
.
forEach
(
tiem
=>
{
this
.
liList
[
i
].
allowed_value
=
JSON
.
stringify
(
tiem
.
allowed_value
)
i
++
;
console
.
log
(
tiem
);
})
console
.
log
(
this
.
liList
);
this
.
form
.
validator_field
=
JSON
.
stringify
(
this
.
liList
);
// this.form.validator_field = this.liList;
console
.
log
(
this
.
form
);
this
.
saveOutputDialog
(
this
.
form
);
},
switchJournal
(
val
,
index
)
{
this
.
valIndex
=
index
;
console
.
log
(
val
);
...
...
@@ -426,6 +441,7 @@ export default {
value
:
this
.
fielVal
.
name
,
};
this
.
liList
[
this
.
inputIndex
].
allowed_value
.
push
(
obj
);
console
.
log
(
this
.
liList
[
this
.
inputIndex
].
allowed_value
);
},
addFieldDetermine
()
{
this
.
addField
=
!
this
.
addField
;
...
...
src/views/dashboard-kettle/components/appBulletFrame/filterRecords.vue
0 → 100644
View file @
7d6a691f
<
template
>
<div
class=
"getSystemInformation"
>
<el-dialog
title=
"过滤记录"
:visible
.
sync=
"filterRecordsDialog"
width=
"800px"
:before-close=
"handleCloseFun"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"180px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"form.label"
></el-input>
</el-form-item>
<el-form-item
label=
"发送true数据给步骤:"
>
<el-select
v-model=
"form.send_true_to"
style=
"width: 100%"
clearable
@
click
.
native=
"nextStep"
>
<el-option
v-for=
"(item, index) in nextStepFelt"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"发送false数据给步骤:"
>
<el-select
v-model=
"form.send_false_to"
style=
"width: 100%"
clearable
@
click
.
native=
"nextStep"
>
<el-option
v-for=
"(item, index) in nextStepFelt"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
</el-form>
<el-card
class=
"box-card"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"2"
>
条件:
</el-col>
<el-col
:span=
"3"
:offset=
"19"
>
<el-button
type=
"text"
@
click=
"addCondition"
>
添加条件
</el-button>
</el-col>
</el-row>
<el-form
ref=
"file"
:model=
"condition"
v-if=
"conditionStates"
>
<el-form-item>
<el-row
:gutter=
"20"
>
<el-col
:span=
"6"
>
<el-checkbox
v-model=
"condition.negated"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
NOT
</el-col>
<el-col
:span=
"6"
>
<el-button>
返回上一级
</el-button>
</el-col>
</el-row>
</el-form-item>
<el-form-item>
<el-row
:gutter=
"20"
>
<el-col
:span=
"6"
>
<el-select
v-model=
"condition.leftvalue"
style=
"width: 100%"
placeholder=
"
<field>
"
@click.native="inputOutputFieldsFun"
>
<el-option
v-for=
"(item, index) in previousField"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-col>
<el-col
:span=
"6"
>
<el-select
v-model=
"condition.func"
style=
"width: 100%"
placeholder=
"请选择活动区域"
>
<el-option
v-for=
"(item, index) in previousField"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-col>
<el-col
:span=
"6"
>
<el-select
v-model=
"condition.rightvalue"
style=
"width: 100%"
placeholder=
"
<field>
"
@click.native="inputOutputFieldsFun"
>
<el-option
v-for=
"(item, index) in previousField"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-col>
</el-row>
</el-form-item>
<el-form-item>
<el-row
:gutter=
"20"
>
<el-col
:span=
"6"
:offset=
"12"
>
<el-input
v-model=
"value.text"
placeholder=
"
<value>
"
@click.native="valClick"
>
</el-input>
</el-col>
</el-row>
</el-form-item>
</el-form>
</el-card>
<el-dialog
title=
"E输入一个值"
:visible
.
sync=
"valClickDialog"
width=
"500px"
:before-close=
"handleClose"
:modal=
"false"
>
<el-form
ref=
"form"
:model=
"value"
label-width=
"120px"
>
<el-form-item
label=
"类型"
>
<el-select
v-model=
"value.type"
placeholder=
"请选择活动区域"
style=
"width: 100%"
>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"值"
>
<el-input
v-model=
"value.text"
></el-input>
</el-form-item>
<el-form-item
label=
"转换格式"
>
<el-select
v-model=
"value.mask"
placeholder=
"请选择活动区域"
style=
"width: 100%"
>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"长度"
>
<el-input
v-model=
"value.length"
></el-input>
</el-form-item>
<el-form-item
label=
"精度"
>
<el-input
v-model=
"value.precision"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"valClickDialog = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"addValDetermine"
>
确 定
</el-button>
</span>
</el-dialog>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleCloseFun"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"SystemInfoDialogFun"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
mxgraph
from
"@/utils/mxgraph"
;
const
{
mxGraph
,
mxUtils
,
mxEvent
,
mxKeyHandler
,
mxRubberband
,
mxConstants
,
mxStencilRegistry
,
mxStencil
,
mxCodec
,
mxGraphModel
,
mxGeometry
,
}
=
mxgraph
;
import
{
nextSteps
,
inputOutputFields
}
from
"@/api/kettle/link"
;
export
default
{
props
:
[
"form"
,
"filterRecordsDialog"
,
"saveOutputDialog"
,
"nodeData"
],
data
()
{
return
{
condition
:
{},
value
:{},
file
:
{},
nextStepFelt
:
[],
previousField
:
[],
valClickDialog
:
false
,
fielVal
:
{},
conditionStates
:
true
,
};
},
created
()
{
},
methods
:
{
clickFun
(
graph
,
val
)
{
console
.
log
(
graph
,
"双击获取值"
);
this
.
newGraph
=
graph
;
console
.
log
(
val
,
"拿到form"
);
this
.
condition
=
JSON
.
parse
(
val
.
condition
)
console
.
log
(
this
.
condition
,
"form"
);
},
handleCloseFun
()
{
this
.
$emit
(
"update:filterRecordsDialog"
,
false
);
},
SystemInfoDialogFun
()
{
this
.
handleCloseFun
();
this
.
form
.
condition
=
JSON
.
stringify
(
this
.
condition
)
this
.
saveOutputDialog
(
this
.
form
);
},
valClick
()
{
this
.
valClickDialog
=
!
this
.
valClickDialog
;
},
addValDetermine
()
{
this
.
valClickDialog
=
!
this
.
valClickDialog
},
addCondition
(){
this
.
conditionStates
=
!
this
.
conditionStates
},
inputOutputFieldsFun
()
{
console
.
log
(
this
.
nodeData
);
var
enc
=
new
mxCodec
(
mxUtils
.
createXmlDocument
());
var
node
=
enc
.
encode
(
this
.
newGraph
.
getModel
());
this
.
graphXml
=
mxUtils
.
getPrettyXml
(
node
);
// console.log( this.graphXml,"看着了");
let
pamerFields
=
new
FormData
();
// 创建form对象
pamerFields
.
append
(
"stepName"
,
this
.
nodeData
.
value
.
attributes
.
label
.
value
);
pamerFields
.
append
(
"graphXml"
,
this
.
graphXml
);
pamerFields
.
append
(
"before"
,
true
);
pamerFields
.
append
(
"query"
,
""
);
inputOutputFields
(
pamerFields
).
then
((
res
)
=>
{
console
.
log
(
res
);
this
.
previousField
=
res
;
});
},
nextStep
()
{
var
enc
=
new
mxCodec
(
mxUtils
.
createXmlDocument
());
var
node
=
enc
.
encode
(
this
.
newGraph
.
getModel
());
this
.
graphXml
=
mxUtils
.
getPrettyXml
(
node
);
let
steps
=
new
FormData
();
// 创建form对象
steps
.
append
(
"stepName"
,
this
.
nodeData
.
value
.
attributes
.
label
.
value
);
steps
.
append
(
"graphXml"
,
this
.
graphXml
);
steps
.
append
(
"query"
,
""
);
nextSteps
(
steps
).
then
((
res
)
=>
{
this
.
nextStepFelt
=
res
;
});
},
// 关闭弹框
handleClose
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
.
then
((
_
)
=>
{
done
();
})
.
catch
((
_
)
=>
{});
},
deleteRow
(
index
,
rows
)
{
rows
.
splice
(
index
,
1
);
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
*
{
outline
:
none
;
}
</
style
>
src/views/dashboard-kettle/components/appBulletFrame/generatingRecords.vue
View file @
7d6a691f
...
...
@@ -66,7 +66,7 @@
<el-table-column
prop=
"decimal"
label=
"小数"
>
</el-table-column>
<el-table-column
prop=
"group"
label=
"分组"
>
</el-table-column>
<el-table-column
prop=
"value"
label=
"值"
>
</el-table-column>
<el-table-column
prop=
"
nullable
"
label=
"设为空?"
>
</el-table-column>
<el-table-column
prop=
"
set_empty_string
"
label=
"设为空?"
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"100px"
>
<template
slot-scope=
"scope"
>
<el-button
...
...
@@ -153,7 +153,7 @@
</el-form-item>
<el-form-item
label=
"设为空?:"
>
<el-select
v-model=
"metadataForm.
nullable
"
style=
"width: 100%"
clearable
>
<el-select
v-model=
"metadataForm.
set_empty_string
"
style=
"width: 100%"
clearable
>
<el-option
label=
"非空"
value=
"N"
></el-option>
<el-option
label=
"空"
value=
"Y"
></el-option>
</el-select>
...
...
src/views/dashboard-kettle/components/appBulletFrame/mapping.vue
View file @
7d6a691f
...
...
@@ -275,7 +275,7 @@
</el-form-item>
<el-form-item
label=
"输
入
原步骤名(如果只有一个步骤该项可以为空)"
label=
"输
数 出
原步骤名(如果只有一个步骤该项可以为空)"
>
<el-select
v-model=
"outputLies.output_step"
...
...
src/views/dashboard-kettle/components/appBulletFrame/numericalRange.vue
View file @
7d6a691f
...
...
@@ -175,6 +175,7 @@ export default {
SystemInfoDialogFun
()
{
this
.
handleCloseFun
();
this
.
form
.
rules
=
JSON
.
stringify
(
this
.
rules
);
console
.
log
(
this
.
form
);
this
.
saveOutputDialog
(
this
.
form
);
},
...
...
src/views/dashboard-kettle/components/appBulletFrame/setFieldToConstant.vue
0 → 100644
View file @
7d6a691f
<
template
>
<div
class=
"getSystemInformation"
>
<el-dialog
title=
"将字段值设置为常量"
:visible
.
sync=
"setFieldToConstantDialog"
width=
"800px"
:before-close=
"handleCloseFun"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"180px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"form.label"
></el-input>
</el-form-item>
<el-form-item
label=
"在常量中使用变量"
>
<el-checkbox
v-model=
"form.usevar"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-form-item>
</el-form>
<el-form
ref=
"form"
:model=
"form"
label-width=
"0px"
>
<el-button
type=
"text"
@
click=
"addSheet(true)"
style=
"margin: 10px"
>
添加字段
</el-button
>
<el-button
type=
"text"
@
click=
"getTheField"
>
获取字段
</el-button>
<el-form-item>
<el-table
:data=
"fields"
style=
"width: 100%"
>
<el-table-column
prop=
"name"
label=
"字段"
>
</el-table-column>
<el-table-column
prop=
"value"
label=
"值替换"
>
</el-table-column>
<el-table-column
prop=
"mask"
label=
"转换掩码(对日期类型)"
>
</el-table-column>
<el-table-column
prop=
"set_empty_string"
label=
"设置空串?"
>
</el-table-column>
<el-table-column
label=
"操作"
>
<template
slot-scope=
"scope"
>
<el-button
@
click=
"addSheet(false, scope.row)"
type=
"text"
size=
"small"
>
编辑
</el-button
>
<el-button
type=
"text"
size=
"small"
@
click=
"deleteRow(scope.$index, fields)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleCloseFun"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"SystemInfoDialogFun"
>
确 定
</el-button>
</span>
</el-dialog>
<el-dialog
title=
"添加字段"
:visible
.
sync=
"addField"
width=
"500px"
:before-close=
"handleClose"
:modal=
"false"
>
<el-form
ref=
"form"
:model=
"fiel"
label-width=
"160px"
>
<el-form-item
label=
"名称:"
>
<el-input
v-model=
"fiel.name"
></el-input>
</el-form-item>
<el-form-item
label=
"值替换:"
>
<el-input
v-model=
"fiel.value"
></el-input>
</el-form-item>
<el-form-item
label=
"转换掩码(对日期类型):"
>
<el-select
v-model=
"fiel.mask"
style=
"width: 100%"
clearable
>
<el-option
v-for=
"item in fieldFormat"
:key=
"item.index"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"设为空?:"
>
<el-select
v-model=
"fiel.set_empty_string"
style=
"width: 100%"
clearable
>
<el-option
label=
"非空"
value=
"N"
></el-option>
<el-option
label=
"空"
value=
"Y"
></el-option>
</el-select>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"addField = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"addFieldDetermine"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
mxgraph
from
"@/utils/mxgraph"
;
const
{
mxGraph
,
mxUtils
,
mxEvent
,
mxKeyHandler
,
mxRubberband
,
mxConstants
,
mxStencilRegistry
,
mxStencil
,
mxCodec
,
mxGraphModel
,
mxGeometry
,
}
=
mxgraph
;
import
{
valueFormat
,
inputOutputFields
}
from
"@/api/kettle/link"
;
export
default
{
props
:
[
"form"
,
"setFieldToConstantDialog"
,
"saveOutputDialog"
,
"nodeData"
],
data
()
{
return
{
addField
:
false
,
fields
:
[],
type
:
{},
dataStatus
:
false
,
fiel
:
{},
fieldFormat
:
[],
};
},
created
()
{
this
.
valueFormatFun
();
},
methods
:
{
clickFun
(
graph
,
val
)
{
console
.
log
(
graph
,
"双击获取值"
);
this
.
newGraph
=
graph
;
console
.
log
(
val
,
"拿到form"
);
this
.
fields
=
JSON
.
parse
(
val
.
fields
);
},
handleCloseFun
()
{
this
.
$emit
(
"update:setFieldToConstantDialog"
,
false
);
},
SystemInfoDialogFun
()
{
this
.
handleCloseFun
();
this
.
form
.
fields
=
JSON
.
stringify
(
this
.
fields
);
this
.
saveOutputDialog
(
this
.
form
);
},
getTheField
()
{
var
enc
=
new
mxCodec
(
mxUtils
.
createXmlDocument
());
var
node
=
enc
.
encode
(
this
.
newGraph
.
getModel
());
this
.
graphXml
=
mxUtils
.
getPrettyXml
(
node
);
let
pamerFields
=
new
FormData
();
// 创建form对象
pamerFields
.
append
(
"stepName"
,
this
.
nodeData
.
value
.
attributes
.
label
.
value
);
pamerFields
.
append
(
"graphXml"
,
this
.
graphXml
);
pamerFields
.
append
(
"before"
,
true
);
inputOutputFields
(
pamerFields
).
then
((
res
)
=>
{
res
.
forEach
(
item
=>
{
this
.
fields
.
push
({
name
:
item
.
name
})
});
});
},
addFieldDetermine
()
{
this
.
addField
=
!
this
.
addField
;
if
(
this
.
dataStatus
)
{
this
.
fields
.
push
(
this
.
fiel
);
}
else
{
}
},
// 关闭弹框
handleClose
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
.
then
((
_
)
=>
{
done
();
})
.
catch
((
_
)
=>
{});
},
deleteRow
(
index
,
rows
)
{
rows
.
splice
(
index
,
1
);
},
addSheet
(
state
,
val
)
{
this
.
addField
=
!
this
.
addField
;
this
.
dataStatus
=
state
;
if
(
state
)
{
this
.
fiel
=
{};
}
else
{
this
.
fiel
=
val
;
}
},
valueFormatFun
()
{
let
pamer2
=
new
FormData
();
// 创建form对象
pamer2
.
append
(
"valueType"
,
"all"
);
valueFormat
(
pamer2
).
then
((
res
)
=>
{
this
.
fieldFormat
=
res
;
});
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
*
{
outline
:
none
;
}
</
style
>
src/views/dashboard-kettle/components/appBulletFrame/termination.vue
0 → 100644
View file @
7d6a691f
<
template
>
<div
class=
"getSystemInformation"
>
<el-dialog
title=
"中止"
:visible
.
sync=
"terminationDialog"
width=
"800px"
:before-close=
"handleCloseFun"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"form.label"
></el-input>
</el-form-item>
</el-form>
<el-form
ref=
"form"
:model=
"form"
>
<br
/>
<hr
/>
<el-form-item
label=
"Options"
>
</el-form-item>
<el-form-item>
<el-radio
v-model=
"form.abort_option"
label=
"ABORT"
>
Abort the running transformation
</el-radio
>
</el-form-item>
<el-form-item>
<el-radio
v-model=
"form.abort_option"
label=
"ABORT_WITH_ERROR"
>
Abort and log as an error
</el-radio>
</el-form-item>
<el-form-item>
<el-radio
v-model=
"form.abort_option"
label=
"SAFE_STOP"
>
Stop input processing
</el-radio>
</el-form-item>
<el-form-item
label=
"中止记录值"
>
<el-input
v-model=
"form.row_threshold"
></el-input>
</el-form-item>
<br
/>
<hr
/>
<el-form-item
label=
"Logging"
>
</el-form-item>
<el-form-item
label=
"中止信息"
>
<el-input
v-model=
"form.message"
></el-input>
</el-form-item>
<el-form-item>
<el-checkbox
v-model=
"form.always_log_rows"
true-label=
"Y"
false-label=
"N"
>
总是记录行
</el-checkbox
>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleCloseFun"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"SystemInfoDialogFun"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
mxgraph
from
"@/utils/mxgraph"
;
const
{
mxGraph
,
mxUtils
,
mxEvent
,
mxKeyHandler
,
mxRubberband
,
mxConstants
,
mxStencilRegistry
,
mxStencil
,
mxCodec
,
mxGraphModel
,
mxGeometry
,
}
=
mxgraph
;
export
default
{
props
:
[
"form"
,
"terminationDialog"
,
"saveOutputDialog"
,
"nodeData"
],
data
()
{
return
{};
},
created
()
{},
methods
:
{
clickFun
(
graph
,
val
)
{
console
.
log
(
graph
,
"双击获取值"
);
this
.
newGraph
=
graph
;
console
.
log
(
val
,
"拿到form"
);
},
handleCloseFun
()
{
this
.
$emit
(
"update:terminationDialog"
,
false
);
},
SystemInfoDialogFun
()
{
this
.
handleCloseFun
();
this
.
saveOutputDialog
(
this
.
form
);
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
*
{
outline
:
none
;
}
</
style
>
src/views/dashboard-kettle/components/appBulletFrame/writeLog.vue
0 → 100644
View file @
7d6a691f
<
template
>
<div
class=
"getSystemInformation"
>
<el-dialog
title=
"写日志"
:visible
.
sync=
"writeLogDialog"
width=
"800px"
:before-close=
"handleCloseFun"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"180px"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"form.label"
></el-input>
</el-form-item>
<el-form-item
label=
"日志级别"
>
<el-select
v-model=
"form.loglevel"
style=
"width: 100%"
>
<el-option
label=
"没有日志"
value=
"Nothing"
></el-option>
<el-option
label=
"错误日志"
value=
"Error"
></el-option>
<el-option
label=
"最小日志"
value=
"Minimal"
></el-option>
<el-option
label=
"基本日志"
value=
"Basic"
></el-option>
<el-option
label=
"详细日志"
value=
"Detailed"
></el-option>
<el-option
label=
"调试"
value=
"Debug"
></el-option>
<el-option
label=
"行级日志(非常详细)"
value=
"Rowlevel"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"打印头部"
>
<el-checkbox
v-model=
"form.displayHeader"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"Limit rows?"
>
<el-checkbox
v-model=
"form.limitRows"
true-label=
"Y"
false-label=
"N"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"Nr of rows to print"
>
<el-input
v-model=
"form.limitRowsNumber"
:disabled=
"form.limitRows == 'N'"
></el-input>
</el-form-item>
<el-form-item
label=
"写日志"
>
<el-input
type=
"textarea"
:rows=
"4"
placeholder=
"请输入内容"
v-model=
"form.logmessage"
>
</el-input>
</el-form-item>
</el-form>
<el-button
type=
"text"
@
click=
"getTheGroup"
>
获取字段
</el-button>
<el-form
ref=
"form"
:model=
"form"
label-width=
"0px"
>
<el-form-item>
<el-table
:data=
"fields"
style=
"width: 100%"
>
<el-table-column
prop=
"name"
label=
"名称"
>
</el-table-column>
<el-table-column
label=
"操作"
>
<template
slot-scope=
"scope"
>
<el-button
@
click=
"addSheet(scope.row)"
type=
"text"
size=
"small"
>
编辑
</el-button
>
<el-button
type=
"text"
size=
"small"
@
click=
"deleteRow(scope.$index, fields)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleCloseFun"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"SystemInfoDialogFun"
>
确 定
</el-button>
</span>
</el-dialog>
<el-dialog
title=
"编辑"
:visible
.
sync=
"addField"
width=
"500px"
:before-close=
"handleClose"
:modal=
"false"
>
<el-form
ref=
"form"
:model=
"fiel"
label-width=
"160px"
>
<el-form-item
label=
"名称:"
>
<el-select
v-model=
"fiel.name"
placeholder=
"请选择"
>
<el-option
v-for=
"(item,index) in fieldsLits"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
>
</el-option>
</el-select>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"addField = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"addFieldDetermine"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
mxgraph
from
"@/utils/mxgraph"
;
const
{
mxGraph
,
mxUtils
,
mxEvent
,
mxKeyHandler
,
mxRubberband
,
mxConstants
,
mxStencilRegistry
,
mxStencil
,
mxCodec
,
mxGraphModel
,
mxGeometry
,
}
=
mxgraph
;
import
{
inputOutputFields
}
from
"@/api/kettle/link"
;
export
default
{
props
:
[
"form"
,
"writeLogDialog"
,
"saveOutputDialog"
,
"nodeData"
],
data
()
{
return
{
fields
:
[],
fiel
:{},
addField
:
false
,
fieldsLits
:[],
};
},
created
()
{},
methods
:
{
clickFun
(
graph
,
val
)
{
console
.
log
(
graph
,
"双击获取值"
);
this
.
newGraph
=
graph
;
console
.
log
(
val
,
"拿到form"
);
console
.
log
(
val
.
fields
);
this
.
fields
=
JSON
.
parse
(
val
.
fields
)
},
handleCloseFun
()
{
this
.
$emit
(
"update:writeLogDialog"
,
false
);
},
SystemInfoDialogFun
()
{
this
.
handleCloseFun
();
this
.
form
.
fields
=
JSON
.
stringify
(
this
.
fields
)
this
.
saveOutputDialog
(
this
.
form
);
},
addSheet
(
val
)
{
this
.
addField
=
!
this
.
addField
;
this
.
fiel
=
val
;
},
deleteRow
(
index
,
rows
)
{
rows
.
splice
(
index
,
1
);
},
getTheGroup
()
{
var
enc
=
new
mxCodec
(
mxUtils
.
createXmlDocument
());
var
node
=
enc
.
encode
(
this
.
newGraph
.
getModel
());
this
.
graphXml
=
mxUtils
.
getPrettyXml
(
node
);
let
pamerFields
=
new
FormData
();
// 创建form对象
pamerFields
.
append
(
"stepName"
,
this
.
nodeData
.
value
.
attributes
.
label
.
value
);
pamerFields
.
append
(
"graphXml"
,
this
.
graphXml
);
pamerFields
.
append
(
"before"
,
true
);
inputOutputFields
(
pamerFields
).
then
((
res
)
=>
{
res
.
forEach
(
item
=>
{
this
.
fields
.
push
({
name
:
item
.
name
})
this
.
fieldsLits
.
push
({
name
:
item
.
name
})
})
console
.
log
(
res
);
});
},
addFieldDetermine
(){
this
.
addField
=
!
this
.
addField
;
},
// 关闭弹框
handleClose
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
.
then
((
_
)
=>
{
done
();
})
.
catch
((
_
)
=>
{});
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
*
{
outline
:
none
;
}
</
style
>
src/views/dashboard-kettle/components/designer/mxgraphDesigner.vue
View file @
7d6a691f
...
...
@@ -745,6 +745,20 @@
>
</getSystemInformation>
<!-- 将字段值设置为常量-->
<setFieldToConstant
ref=
"setFieldToConstant"
:disabled=
"true"
:form=
"form"
:nodeData=
"nodeData"
:setFieldToConstantDialog
.
sync=
"setFieldToConstantDialog"
:saveOutputDialog=
"saveOutputDialog"
>
</setFieldToConstant>
<!-- 字符串替换-->
<stringSubstitution
...
...
@@ -803,6 +817,16 @@
:saveOutputDialog=
"saveOutputDialog"
></generatingRecords>
<!-- 写日志-->
<writeLog
ref=
"writeLog"
:disabed=
"true"
:form=
"form"
:nodeData=
"nodeData"
:writeLogDialog
.
sync=
"writeLogDialog"
:saveOutputDialog=
"saveOutputDialog"
></writeLog>
<!-- 数值范围-->
<setFieldValue
ref=
"setFieldValue"
...
...
@@ -834,6 +858,16 @@
:saveOutputDialog=
"saveOutputDialog"
></sortRecord>
<!-- 中止-->
<termination
ref=
"termination"
:disabed=
"true"
:form=
"form"
:nodeData=
"nodeData"
:terminationDialog
.
sync=
"terminationDialog"
:saveOutputDialog=
"saveOutputDialog"
></termination>
<!-- 设置变量-->
<setVariable
...
...
@@ -1000,6 +1034,16 @@
:saveOutputDialog=
"saveOutputDialog"
></grouping>
<!-- 分析查询 -->
<analysisQuery
ref=
"analysisQuery"
:form=
"form"
:nodeData=
"nodeData"
:analysisQueryDialog
.
sync=
"analysisQueryDialog"
:doubleClickCell=
"doubleClickCell"
:saveOutputDialog=
"saveOutputDialog"
></analysisQuery>
<!-- 增加常量 -->
<addConstants
ref=
"addConstants"
...
...
@@ -1010,6 +1054,28 @@
:saveOutputDialog=
"saveOutputDialog"
></addConstants>
<!-- 计算器 -->
<calculator
ref=
"calculator"
:form=
"form"
:nodeData=
"nodeData"
:calculatorDialog
.
sync=
"calculatorDialog"
:doubleClickCell=
"doubleClickCell"
:saveOutputDialog=
"saveOutputDialog"
></calculator>
<!-- 过滤记录 -->
<filterRecords
ref=
"filterRecords"
:form=
"form"
:nodeData=
"nodeData"
:filterRecordsDialog
.
sync=
"filterRecordsDialog"
:doubleClickCell=
"doubleClickCell"
:saveOutputDialog=
"saveOutputDialog"
></filterRecords>
<!-- 数据校验 -->
<dataInspection
ref=
"dataInspection"
...
...
@@ -1374,7 +1440,9 @@ import microDialog from "../../../output-dialog/micro-excel";
// 输出弹窗end********************************************
import
setFieldValue
from
"../appBulletFrame/setFieldValue"
;
//设置字段值
import
writeLog
from
"../appBulletFrame/writeLog"
;
//写日志
import
sortRecord
from
"../appBulletFrame/sortRecord"
;
//排序记录
import
termination
from
"../appBulletFrame/termination"
;
//中止
import
setVariable
from
"../appBulletFrame/setVariable"
;
//设置变量
import
getVariable
from
"../appBulletFrame/getVariable"
;
//获取变量
import
mergeRecords
from
"../appBulletFrame/mergeRecords"
;
//合并记录
...
...
@@ -1392,7 +1460,10 @@ import jobSettings from "../appBulletFrame/jobSettings"; //作业设置
import
addSequence
from
"../appBulletFrame/addSequence"
;
//增加序列
import
importXmlFile
from
"../appBulletFrame/importXmlFile"
;
//导出资源库到XML文件
import
grouping
from
"../appBulletFrame/grouping"
;
//分组
import
analysisQuery
from
"../appBulletFrame/analysisQuery"
;
//分析查询
import
addConstants
from
"../appBulletFrame/addConstants"
;
//增加常量
import
calculator
from
"../appBulletFrame/calculator"
;
//计算器
import
filterRecords
from
"../appBulletFrame/filterRecords"
;
//过滤记录
import
dataInspection
from
"../appBulletFrame/dataInspection"
//数据校验
import
splitFields
from
"../appBulletFrame/splitFields"
;
//拆分字符串
import
numericalRange
from
"../appBulletFrame/numericalRange"
;
//数值范围
...
...
@@ -1402,7 +1473,7 @@ import rowToColumn from "../appBulletFrame/rowToColumn";//行转列
import
columnToRow
from
"../appBulletFrame/columnToRow"
;
//列转行
import
replaceNull
from
"../appBulletFrame/replaceNull"
;
//替换null值
import
sendMail
from
"../appBulletFrame/sendMail"
;
//发送邮件
import
setFieldToConstant
from
"../appBulletFrame/setFieldToConstant"
;
//将字段值设置为常量
// 作业弹窗组件开始---------------------------------------
import
trans
from
"../../../job-dialog/trans"
;
import
setvalue
from
"../../../job-dialog/set-value"
;
...
...
@@ -1520,6 +1591,7 @@ export default {
//
sortRecordDialog
:
false
,
//排序记录
terminationDialog
:
false
,
//中止
setVariableDialog
:
false
,
//设置变量
getVariableDialog
:
false
,
//获取变量
mergeRecordsDialog
:
false
,
//合并记录
...
...
@@ -1535,8 +1607,11 @@ export default {
xmlFileInputDialog
:
false
,
//xml文件输入
importXmlFileDialog
:
false
,
//导出资源库到XML文件
groupingDialog
:
false
,
//分组
analysisQueryDialog
:
false
,
//分析查询
stringSubstitutionDialog
:
false
,
//字符串替换
addConstantsDialog
:
false
,
//增加常量
calculatorDialog
:
false
,
//计算器
filterRecordsDialog
:
false
,
//过滤记录
dataInspectionDialog
:
false
,
//数据校验
splitFieldsDialog
:
false
,
//拆分字符串
numericalRangeDialog
:
false
,
//数值范围
...
...
@@ -1547,6 +1622,7 @@ export default {
streamQueryDialog
:
false
,
//流查询
replaceNullDialog
:
false
,
//替换Null值
sendMailDialog
:
false
,
//发送邮件
writeLogDialog
:
false
,
//写日志
// 流程弹窗组件start----------
// 流程弹窗组件end------------
// 脚本组件start-----
...
...
@@ -1568,6 +1644,7 @@ export default {
setFieldValueDialog
:
false
,
TableInputDialog
:
false
,
SystemInfoDialog
:
false
,
setFieldToConstantDialog
:
false
,
//将字段值转换为常量
ConstantDialog
:
false
,
RandomValueDialog
:
false
,
excelLnput
:
false
,
...
...
@@ -1645,6 +1722,7 @@ export default {
setFieldValue
,
//设置字段值
stringSubstitution
,
//字符串替换
sortRecord
,
//排序记录
termination
,
//中止
setVariable
,
//设置变量
getVariable
,
//获取变量
mergeRecords
,
//合并记录
...
...
@@ -1653,6 +1731,7 @@ export default {
conversionSettings
,
//转换设置
jobSettings
,
//作业设置
toRepeat
,
//去除重复
writeLog
,
//写日志
mapping
,
//映射 (子转换)
mappingInput
,
//映射输入
mappingOutput
,
//映射输出
...
...
@@ -1660,7 +1739,10 @@ export default {
xmlFileInput
,
//xml 文件输入
importXmlFile
,
//导出资源库到XML文件
grouping
,
//分组
analysisQuery
,
//分析查询
addConstants
,
//增加常量
calculator
,
//计算器
filterRecords
,
//过滤记录
dataInspection
,
//数据校验
splitFields
,
//拆分字符串
numericalRange
,
//数值范围
...
...
@@ -1671,6 +1753,7 @@ export default {
columnToRow
,
//列转行
replaceNull
,
//替换null值
sendMail
,
//发送邮件
setFieldToConstant
,
//将字段值设置为常量
// 作业弹簧组件end----------------------
// 流程弹窗组件start---------
switchDialog
,
...
...
@@ -2359,7 +2442,62 @@ export default {
valueFormat
(
pamer2
).
then
((
res
)
=>
{
this
.
fieldFormat
=
res
;
});
if
(
(
this
.
curFileType
==
"transformation"
&&
cell
.
dis
==
"step71"
)
||
cell
.
value
.
attributes
.
ctype
.
value
==
"Calculator"
)
{
this
.
calculatorDialog
=
!
this
.
calculatorDialog
;
this
.
form
=
this
.
showDataFunc
();
setTimeout
(()
=>
{
this
.
$refs
.
calculator
.
clickFun
(
this
.
graph
,
this
.
form
);
},
500
);
}
else
if
(
(
this
.
curFileType
==
"transformation"
&&
cell
.
dis
==
"step77"
)
||
cell
.
value
.
attributes
.
ctype
.
value
==
"WriteToLog"
)
{
this
.
writeLogDialog
=
!
this
.
writeLogDialog
;
this
.
form
=
this
.
showDataFunc
();
setTimeout
(()
=>
{
this
.
$refs
.
writeLog
.
clickFun
(
this
.
graph
,
this
.
form
);
},
500
);
}
else
if
(
(
this
.
curFileType
==
"transformation"
&&
cell
.
dis
==
"step93"
)
||
cell
.
value
.
attributes
.
ctype
.
value
==
"Abort"
)
{
this
.
terminationDialog
=
!
this
.
terminationDialog
;
this
.
form
=
this
.
showDataFunc
();
setTimeout
(()
=>
{
this
.
$refs
.
termination
.
clickFun
(
this
.
graph
,
this
.
form
);
},
500
);
}
else
if
(
(
this
.
curFileType
==
"transformation"
&&
cell
.
dis
==
"step100"
)
||
cell
.
value
.
attributes
.
ctype
.
value
==
"FilterRows"
)
{
this
.
filterRecordsDialog
=
!
this
.
filterRecordsDialog
;
this
.
form
=
this
.
showDataFunc
();
setTimeout
(()
=>
{
this
.
$refs
.
filterRecords
.
clickFun
(
this
.
graph
,
this
.
form
);
},
500
);
}
else
if
(
(
this
.
curFileType
==
"transformation"
&&
cell
.
dis
==
"step142"
)
||
cell
.
value
.
attributes
.
ctype
.
value
==
"AnalyticQuery"
)
{
this
.
analysisQueryDialog
=
!
this
.
analysisQueryDialog
;
this
.
form
=
this
.
showDataFunc
();
setTimeout
(()
=>
{
this
.
$refs
.
analysisQuery
.
clickFun
(
this
.
graph
,
this
.
form
);
},
500
);
}
else
if
(
(
this
.
curFileType
==
"transformation"
&&
cell
.
dis
==
"step64"
)
||
cell
.
value
.
attributes
.
ctype
.
value
==
"SetValueConstant"
)
{
this
.
setFieldToConstantDialog
=
!
this
.
setFieldToConstantDialog
;
this
.
form
=
this
.
showDataFunc
();
setTimeout
(()
=>
{
this
.
$refs
.
setFieldToConstant
.
clickFun
(
this
.
graph
,
this
.
form
);
},
500
);
}
else
if
(
(
this
.
curFileType
==
"transformation"
&&
cell
.
dis
==
"step138"
)
||
cell
.
value
.
attributes
.
ctype
.
value
==
"Validator"
)
{
...
...
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