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
bb5c77fa
Commit
bb5c77fa
authored
Apr 08, 2021
by
莫晓莉
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
自定义常量的保存和回显,mico-excel保存和回显
parent
ed06c877
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
469 additions
and
152 deletions
+469
-152
src/api/kettle/file.js
+42
-0
src/views/dashboard-kettle/components/appBulletFrame/customConstant.vue
+48
-1
src/views/dashboard-kettle/components/designer/mxgraphDesigner.vue
+9
-11
src/views/output-dialog/micro-excel.vue
+340
-126
src/views/output-dialog/table-out.vue
+30
-14
No files found.
src/api/kettle/file.js
View file @
bb5c77fa
...
@@ -227,6 +227,15 @@ export function inputOutputFields(data) {
...
@@ -227,6 +227,15 @@ export function inputOutputFields(data) {
})
})
}
}
//获取表输出
export
function
tableFields
(
data
)
{
return
request
({
url
:
'etlweb/trans/tableFields'
,
data
,
method
:
'post'
})
}
//启动
//启动
export
function
doRun
(
data
)
{
export
function
doRun
(
data
)
{
...
@@ -253,6 +262,39 @@ export function drop(data) {
...
@@ -253,6 +262,39 @@ export function drop(data) {
method
:
'post'
method
:
'post'
})
})
}
}
// 获取扩展名
export
function
excelType
(
data
)
{
return
request
({
url
:
'etlweb/system/excelType'
,
data
,
method
:
'post'
})
}
// 如果输出文件中已存在工作表
export
function
excelwritemethod
(
data
)
{
return
request
({
url
:
'etlweb/system/excelwritemethod'
,
data
,
method
:
'post'
})
}
//获取字段类型
export
function
getValueMetaStore
(
data
)
{
return
request
({
url
:
'etlweb/system/valueMeta'
,
data
,
method
:
'post'
})
}
//获取字段格式
export
function
getValueFormatStore
(
data
)
{
return
request
({
url
:
'etlweb/system/valueFormat'
,
data
,
method
:
'post'
})
}
...
...
src/views/dashboard-kettle/components/appBulletFrame/customConstant.vue
View file @
bb5c77fa
<
template
>
<
template
>
<div
class=
"customConstant"
>
<div
class=
"customConstant"
>
<el-dialog
title=
"自定义常量数据777"
:visible
.
sync=
"ConstantDialog"
width=
"800px"
:before-close=
"handleClose"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
>
<el-form-item
label=
"步骤名称:"
>
<el-form-item
label=
"步骤名称:"
>
<el-input
v-model=
"form.name"
></el-input>
<el-input
v-model=
"form.name"
></el-input>
...
@@ -177,6 +185,16 @@
...
@@ -177,6 +185,16 @@
<el-button
type=
"primary"
@
click=
"addValuePush"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"addValuePush"
>
确 定
</el-button>
</span>
</span>
</el-dialog>
</el-dialog>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"ConstantDialog = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"myConfirm"
>
确 定
</el-button
>
</span>
</el-dialog>
</div>
</div>
</template>
</template>
...
@@ -217,6 +235,18 @@ export default {
...
@@ -217,6 +235,18 @@ export default {
};
};
},
},
watch
:{
myForm
(
n
,
o
)
{
console
.
log
(
"回显的表单数据==="
,
n
);
if
(
n
){
var
ny
=
JSON
.
parse
(
n
.
data
);
var
na
=
JSON
.
parse
(
n
.
fields
);
this
.
data
=
ny
;
this
.
tableData
=
na
;
}
},
},
props
:[
"ConstantDialog"
,
"saveOutputDialog"
,
"doubleClickCell"
,
"myForm"
],
created
()
{
created
()
{
this
.
valueFormatFun
();
this
.
valueFormatFun
();
...
@@ -243,7 +273,8 @@ export default {
...
@@ -243,7 +273,8 @@ export default {
addValuePush
(){
addValuePush
(){
this
.
addValue
=
!
this
.
addValue
this
.
addValue
=
!
this
.
addValue
if
(
this
.
dataStatus
)
{
if
(
this
.
dataStatus
)
{
this
.
data
.
push
(
this
.
ValueForm
)
this
.
data
.
push
(
this
.
ValueForm
);
}
else
{
}
else
{
}
}
...
@@ -308,6 +339,22 @@ this.addValue = !this.addValue
...
@@ -308,6 +339,22 @@ this.addValue = !this.addValue
this
.
fieldType
=
res
;
this
.
fieldType
=
res
;
});
});
},
},
// mxl=========================
myConfirm
(){
this
.
myForm
.
fields
=
JSON
.
stringify
(
this
.
tableData
);
//查询字段
this
.
myForm
.
data
=
JSON
.
stringify
(
this
.
data
);
//更新字段
this
.
myForm
.
label
=
this
.
form
.
name
;
console
.
log
(
'弹窗数据==='
,
this
.
myForm
);
this
.
saveOutputDialog
(
this
.
myForm
);
this
.
handleClose
();
//关闭弹窗
},
handleClose
(){
this
.
$emit
(
"update:ConstantDialog"
,
false
);
},
// mxl=========================
},
},
};
};
</
script
>
</
script
>
...
...
src/views/dashboard-kettle/components/designer/mxgraphDesigner.vue
View file @
bb5c77fa
...
@@ -721,7 +721,7 @@
...
@@ -721,7 +721,7 @@
</el-dialog>
</el-dialog>
<!-- 自定义常量数据-->
<!-- 自定义常量数据-->
<el-dialog
<
!-- <
el-dialog
title="自定义常量数据"
title="自定义常量数据"
:visible.sync="ConstantDialog"
:visible.sync="ConstantDialog"
width="800px"
width="800px"
...
@@ -735,7 +735,10 @@
...
@@ -735,7 +735,10 @@
>确 定</el-button
>确 定</el-button
>
>
</span>
</span>
</el-dialog>
</el-dialog> -->
<!-- 自定义常量数据弹窗 -->
<customConstant
:ConstantDialog
.
sync=
"ConstantDialog"
:saveOutputDialog=
"saveOutputDialog"
:doubleClickCell=
"doubleClickCell"
:myForm=
"myoutPutFormData"
>
</customConstant>
<!-- 生成随机数-->
<!-- 生成随机数-->
<el-dialog
<el-dialog
...
@@ -836,7 +839,7 @@
...
@@ -836,7 +839,7 @@
ref=
"textFile"
ref=
"textFile"
:fileVisible
.
sync=
"fileVisible"
:fileVisible
.
sync=
"fileVisible"
:saveOutputDialog=
"saveOutputDialog"
:textFileForm=
"outPutFormData8"
></textFileDialog>
:saveOutputDialog=
"saveOutputDialog"
:textFileForm=
"outPutFormData8"
></textFileDialog>
<microDialog
ref=
"mic"
:microVisible
.
sync=
"microVisible"
:saveOutputDialog=
"saveOutputDialog"
:
tableOutForm=
"outPutFormData9
"
></microDialog>
<microDialog
ref=
"mic"
:microVisible
.
sync=
"microVisible"
:saveOutputDialog=
"saveOutputDialog"
:
microForm=
"outPutFormData9"
:doubleClickCell=
"doubleClickCell
"
></microDialog>
<!-- 输出弹窗end================== -->
<!-- 输出弹窗end================== -->
<trans-graph
:transGraphVisible
.
sync=
"transGraphVisible"
:getXmlVal=
"getXmlVal"
></trans-graph>
<trans-graph
:transGraphVisible
.
sync=
"transGraphVisible"
:getXmlVal=
"getXmlVal"
></trans-graph>
...
@@ -909,6 +912,7 @@ export default {
...
@@ -909,6 +912,7 @@ export default {
data
()
{
data
()
{
return
{
return
{
myoutPutFormData
:{},
outPutFormData1
:{},
outPutFormData1
:{},
outPutFormData2
:{},
outPutFormData2
:{},
outPutFormData3
:{},
outPutFormData3
:{},
...
@@ -968,13 +972,7 @@ export default {
...
@@ -968,13 +972,7 @@ export default {
fieldType
:
[],
fieldType
:
[],
fieldFormat
:
[],
fieldFormat
:
[],
fields
:
[
fields
:
[
{
filemask
:
""
,
name
:
"王小虎"
,
exclude_filemask
:
""
,
file_required
:
"0"
,
include_subfolders
:
"1"
,
},
],
],
engine
:
[],
engine
:
[],
...
@@ -1500,7 +1498,7 @@ this.form = {};
...
@@ -1500,7 +1498,7 @@ this.form = {};
this
.
sqlVisible
=
!
this
.
sqlVisible
;
this
.
sqlVisible
=
!
this
.
sqlVisible
;
this
.
outPutFormData7
=
this
.
showDataFunc
();
this
.
outPutFormData7
=
this
.
showDataFunc
();
return
;
return
;
}
else
if
(
cell
.
ids
==
"step10"
)
{
}
else
if
(
cell
.
ids
==
"step10"
||
cell
.
value
.
attributes
.
ctype
.
value
==
"TypeExitExcelWriterStep"
)
{
//mico-Excel输出
//mico-Excel输出
this
.
microVisible
=
!
this
.
microVisible
;
this
.
microVisible
=
!
this
.
microVisible
;
this
.
outPutFormData9
=
this
.
showDataFunc
();
this
.
outPutFormData9
=
this
.
showDataFunc
();
...
...
src/views/output-dialog/micro-excel.vue
View file @
bb5c77fa
...
@@ -14,25 +14,24 @@
...
@@ -14,25 +14,24 @@
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-form
ref=
"form"
:model=
"microForm"
label-width=
"250px"
>
<el-tabs
v-model=
"activeName"
type=
"border-card"
>
<el-tabs
v-model=
"activeName"
type=
"border-card"
>
<el-tab-pane
label=
"文件"
name=
"handling"
>
<el-tab-pane
label=
"文件"
name=
"handling"
>
<
el-form
ref=
"form"
:model=
"form"
label-width=
"250px"
>
<
!--
<el-form
ref=
"form"
:model=
"microForm"
label-width=
"250px"
>
--
>
<el-form-item
label=
"文件名:"
>
<el-form-item
label=
"文件名:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"20"
>
<el-col
:span=
"20"
>
<el-input
v-model=
"
form.
name"
></el-input>
<el-input
v-model=
"
microForm.file_
name"
></el-input>
</el-col>
</el-col>
<el-col
class=
"line"
:span=
"3"
>
<el-col
class=
"line"
:span=
"3"
>
<el-button
size=
"mini"
>
浏览
</el-button></el-col>
<el-button
size=
"mini"
@
click=
"chooseFile('file_name')"
>
浏览
</el-button></el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"扩展名:"
>
<el-form-item
label=
"扩展名:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-select
v-model=
"form.region"
style=
"width: 100%"
>
<el-select
v-model=
"microForm.file_extention"
style=
"width: 100%"
>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
v-for=
"(item,index) in extentionList"
:key=
"index"
:label=
"item.text"
:value=
"item.value"
></el-option>
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
</el-select>
</el-select>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -40,51 +39,50 @@
...
@@ -40,51 +39,50 @@
<el-form-item
label=
"Stream XSLX data:"
>
<el-form-item
label=
"Stream XSLX data:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.file_stream_data"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"分割每...行数据:"
>
<el-form-item
label=
"分割每...行数据:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-input
v-model=
"
form.name
"
></el-input>
<el-input
v-model=
"
microForm.file_splitevery
"
></el-input>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"文件名里包含步骤数:"
>
<el-form-item
label=
"文件名里包含步骤数:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.file_add_stepnr"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"文件名里包含日期:"
>
<el-form-item
label=
"文件名里包含日期:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.file_add_date"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"文件名里包含时间:"
>
<el-form-item
label=
"文件名里包含时间:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.file_add_time"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"指定日期时间格式:"
>
<el-form-item
label=
"指定日期时间格式:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.file_SpecifyFormat"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"时间日期格式:"
>
<el-form-item
label=
"时间日期格式:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-select
v-model=
"form.region"
style=
"width: 100%"
>
<el-select
:disabled=
"microForm.file_SpecifyFormat=='Y'? false :true"
v-model=
"microForm.region"
style=
"width: 100%"
>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
v-for=
"(item,index) in formatTimeList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
</el-select>
</el-select>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -92,9 +90,8 @@
...
@@ -92,9 +90,8 @@
<el-form-item
label=
"如果输出文件中已存在工作表:"
>
<el-form-item
label=
"如果输出文件中已存在工作表:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-select
v-model=
"form.region"
style=
"width: 100%"
>
<el-select
v-model=
"microForm.if_sheet_exists"
style=
"width: 100%"
>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
v-for=
"(item,index) in workList"
:key=
"index"
:label=
"item.text"
:value=
"item.value"
></el-option>
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
</el-select>
</el-select>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -102,14 +99,14 @@
...
@@ -102,14 +99,14 @@
<el-form-item
label=
"在接收到数据前不创建文件:"
>
<el-form-item
label=
"在接收到数据前不创建文件:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.do_not_open_newfile_init"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"结果中添加文件名:"
>
<el-form-item
label=
"结果中添加文件名:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.add_to_result_filenames"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
...
@@ -118,67 +115,63 @@
...
@@ -118,67 +115,63 @@
<el-form-item
label=
"使用模板创建新文件:"
>
<el-form-item
label=
"使用模板创建新文件:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.template_enabled"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"文件名:"
>
<el-form-item
label=
"文件名:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"20"
>
<el-col
:span=
"20"
>
<el-input
v-model=
"
form.nam
e"
></el-input>
<el-input
v-model=
"
microForm.template_filename"
:disabled=
"microForm.template_enabled=='Y'? false:tru
e"
></el-input>
</el-col>
</el-col>
<el-col
class=
"line"
:span=
"3"
>
<el-col
class=
"line"
:span=
"3"
>
<el-button
size=
"mini"
>
浏览
</el-button></el-col
<el-button
size=
"mini"
@
click=
"chooseFile('template_filename')"
>
浏览
</el-button></el-col
>
>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"使用模板创建新工作表:"
>
<el-form-item
label=
"使用模板创建新工作表:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.template_sheet_enabled"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"模板工作表:"
>
<el-form-item
label=
"模板工作表:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-input
v-model=
"
form.
name"
></el-input>
<el-input
v-model=
"
microForm.template_sheet
name"
></el-input>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
</div>
</div>
<
/el-form
>
<
!--
</el-form>
--
>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"工作表"
name=
"oher "
>
<el-tab-pane
label=
"工作表"
name=
"oher "
>
<
el-form
ref=
"form"
:model=
"form"
label-width=
"250px"
>
<
!--
<el-form
ref=
"form"
:model=
"form"
label-width=
"250px"
>
--
>
<div
style=
"position:relative;border:1px solid #b5b8c8;padding:15px 0;"
>
<div
style=
"position:relative;border:1px solid #b5b8c8;padding:15px 0;"
>
<div
style=
"position:absolute;top:-15px;left:20px;color:#15428b;background-color:#fff;padding:5px 10px;"
>
Sheet设置
</div>
<div
style=
"position:absolute;top:-15px;left:20px;color:#15428b;background-color:#fff;padding:5px 10px;"
>
Sheet设置
</div>
<el-form-item
label=
"Sheet名称:"
>
<el-form-item
label=
"Sheet名称:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-select
v-model=
"form.region"
style=
"width: 100%"
>
<el-input
v-model=
"microForm.sheetname"
></el-input>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
</el-select>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"设为活动Sheet:"
>
<el-form-item
label=
"设为活动Sheet:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.makeSheetActive"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"如果输出文件中已存在工作表:"
>
<el-form-item
label=
"如果输出文件中已存在工作表:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-select
v-model=
"form.region"
style=
"width: 100%"
>
<el-select
v-model=
"microForm.if_sheet_exists"
style=
"width: 100%"
>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
v-for=
"(item,index) in workList"
:key=
"index"
:label=
"item.text"
:value=
"item.value"
></el-option>
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
</el-select>
</el-select>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -186,21 +179,21 @@
...
@@ -186,21 +179,21 @@
<el-form-item
label=
"保护工作表:"
>
<el-form-item
label=
"保护工作表:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.protect_sheet"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"保护人:"
>
<el-form-item
label=
"保护人:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-input
v-model=
"
form.name
"
></el-input>
<el-input
v-model=
"
microForm.protected_by
"
></el-input>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"密码:"
>
<el-form-item
label=
"密码:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-input
v-model=
"
form.name
"
></el-input>
<el-input
v-model=
"
microForm.password
"
></el-input>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
...
@@ -212,16 +205,15 @@
...
@@ -212,16 +205,15 @@
<el-form-item
label=
"开始输出自单元格:"
>
<el-form-item
label=
"开始输出自单元格:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-input
v-model=
"
form.name
"
></el-input>
<el-input
v-model=
"
microForm.startingCell
"
></el-input>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"当输出记录时:"
>
<el-form-item
label=
"当输出记录时:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-select
v-model=
"form.region"
style=
"width: 100%"
>
<el-select
v-model=
"microForm.rowWritingMethod"
style=
"width: 100%"
>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
v-for=
"(item,index) in workList"
:key=
"index"
:label=
"item.text"
:value=
"item.value"
></el-option>
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
</el-select>
</el-select>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -229,35 +221,35 @@
...
@@ -229,35 +221,35 @@
<el-form-item
label=
"头部:"
>
<el-form-item
label=
"头部:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.header"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"尾部:"
>
<el-form-item
label=
"尾部:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.footer"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"自动调整列大小:"
>
<el-form-item
label=
"自动调整列大小:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.autosizecolums"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"强制公式重新计算:"
>
<el-form-item
label=
"强制公式重新计算:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.forceFormulaRecalculation"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"不改变现有单元格格式:"
>
<el-form-item
label=
"不改变现有单元格格式:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.check
ed"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.leaveExistingStylesUnchang
ed"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
...
@@ -265,38 +257,38 @@
...
@@ -265,38 +257,38 @@
</div>
</div>
<
/el-form
>
<
!--
</el-form>
--
>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"内容"
name=
"word "
>
<el-tab-pane
label=
"内容"
name=
"word "
>
<
el-form
ref=
"form"
:model=
"form"
label-width=
"250px"
>
<
!--
<el-form
ref=
"form"
:model=
"form"
label-width=
"250px"
>
--
>
<div
style=
"position:relative;border:1px solid #b5b8c8;padding:15px;margin-bottom:15px;"
>
<div
style=
"position:relative;border:1px solid #b5b8c8;padding:15px;margin-bottom:15px;"
>
<div
style=
"position:absolute;top:-15px;left:20px;color:#15428b;background-color:#fff;padding:5px 10px;"
>
写在已存在的工作表
</div>
<div
style=
"position:absolute;top:-15px;left:20px;color:#15428b;background-color:#fff;padding:5px 10px;"
>
写在已存在的工作表
</div>
<el-form-item
label=
"在表的末尾行开始写(追加行):"
>
<el-form-item
label=
"在表的末尾行开始写(追加行):"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.appendLines"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"抵消行数:"
>
<el-form-item
label=
"抵消行数:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-input
v-model=
"
form.name
"
></el-input>
<el-input
v-model=
"
microForm.appendOffset
"
></el-input>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"在写入文件前添加的空行数:"
>
<el-form-item
label=
"在写入文件前添加的空行数:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-input
v-model=
"
form.name
"
></el-input>
<el-input
v-model=
"
microForm.appendEmpty
"
></el-input>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
<el-form-item
label=
"删除表头:"
>
<el-form-item
label=
"删除表头:"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"23"
>
<el-col
:span=
"23"
>
<el-checkbox
v-model=
"
form.checked
"
></el-checkbox>
<el-checkbox
v-model=
"
microForm.appendOmitHeader"
true-label=
'Y'
false-label=
"N
"
></el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
...
@@ -304,98 +296,238 @@
...
@@ -304,98 +296,238 @@
<el-card
class=
"box-card"
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
字段
</span>
<span>
字段
</span>
<el-button
style=
"padding: 3px 0;margin-left:50px;"
type=
"text"
@
click=
"fieldClick(true)"
>
新增字段
</el-button>
</div>
</div>
<el-table
style=
"width: 100%"
border
:data=
"tableData"
>
<table-list
ref=
"tableDia"
:tableHead=
"tableHead"
:tableData=
"tableData"
:field
.
sync=
"editDia"
:fieldClick=
"fieldClick"
></table-list>
<template
v-for=
"(item,index) in tableHead"
>
<!-- 编辑弹窗开始=========== -->
<el-table-column
:prop=
"item.column_name"
:label=
"item.column_comment"
:key=
"index"
v-if=
"item.column_name != 'id'"
></el-table-column>
<el-dialog
</
template
>
title=
"编辑"
</el-table>
:visible
.
sync=
"field"
</el-card>
width=
"500px"
:before-close=
"handleCloseEdit"
append-to-body
>
<el-form
ref=
"form1"
:model=
"fieldForm"
label-width=
"80px"
>
<el-form-item
label=
"名称:"
>
<el-input
v-model=
"fieldForm.name"
></el-input>
</el-form-item>
<el-form-item
label=
"类型:"
>
<el-select
v-model=
"fieldForm.type"
style=
"width: 100%"
@
focus=
"getValueMetaStore"
>
<el-option
v-for=
"(item,index) in metaStoreList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"format:"
>
<el-select
v-model=
"fieldForm.format"
style=
"width: 100%"
@
focus=
"getValueFormatStore"
>
<el-option
v-for=
"(item,index) in formatStoreList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"单元格样式:"
>
<el-input
v-model=
"fieldForm.styleCell"
></el-input>
</el-form-item>
<el-form-item
label=
"字段标题:"
>
<el-input
v-model=
"fieldForm.title"
></el-input>
</el-form-item>
<el-form-item
label=
"单元格表头样式:"
>
<el-input
v-model=
"fieldForm.titleStyleCell"
></el-input>
</el-form-item>
<el-form-item
label=
"字段包含公式:"
>
<el-select
v-model=
"fieldForm.formula"
style=
"width: 100%"
>
<el-option
label=
"是"
value=
"Y"
></el-option>
<el-option
label=
"否"
value=
"N"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"超链接:"
>
<el-select
v-model=
"fieldForm.hyperlinkField"
style=
"width: 100%"
@
focus=
"inputOutputFields"
>
<el-option
v-for=
"(item,index) in hyperlinkList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"Cell Comment Field(XLSX):"
>
<el-select
v-model=
"fieldForm.commentField"
style=
"width: 100%"
@
focus=
"inputOutputFields"
>
<el-option
v-for=
"(item,index) in hyperlinkList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"Cell Comment Author Field(XLSX):"
>
<el-select
v-model=
"fieldForm.commentAuthorField"
style=
"width: 100%"
@
focus=
"inputOutputFields"
>
<el-option
v-for=
"(item,index) in hyperlinkList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
</el-select>
</el-form-item>
</el-form>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"field = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"addField"
>
确 定
</el-button>
</span>
</el-dialog>
<!-- 编辑弹窗结束============ -->
</el-card>
<!--
</el-form>
-->
</el-tab-pane>
</el-tab-pane>
</el-tabs>
</el-tabs>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"microVisible = false"
>
取 消
</el-button>
<el-button
@
click=
"microVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"confirm"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"confirm"
>
确 定
</el-button>
</span>
</span>
</el-dialog>
</el-dialog>
<!-- 浏览选择文件 -->
<file-tree
:fileDialogVisible
.
sync=
"fileDialogVisible"
:excelForm=
"microForm"
:formName=
"formName"
></file-tree>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
excelType
,
//获取扩展名
formatFunc
,
//获取已经创建的数据库列表
excelwritemethod
,
inputOutputFields
,
getValueMetaStore
,
getValueFormatStore
}
from
"@/api/kettle/file"
;
export
default
({
export
default
({
data
(){
data
(){
return
{
return
{
formName
:
''
,
//当前那个属性选择文件夹
metaStoreList
:[],
//类型
formatStoreList
:[],
//字段格式
hyperlinkList
:[],
extentionList
:[],
workList
:[],
fileDialogVisible
:
false
,
//选择文件夹弹窗
formatTimeList
:[],
//时间日期格式
field
:
false
,
//编辑弹窗
editDia
:
false
,
//编辑表字段
fieldForm
:{},
//编辑弹窗
// inputValue:'',
// inputValue:'',
form
:{},
// microForm:{
stepName
:{},
// add_to_result_filenames: "Y",
// appendEmpty: "0",
// appendLines: "N",
// appendOffset: "0",
// appendOmitHeader: "N",
// autosizecolums: "N",
// do_not_open_newfile_init: "N",
// fields: "[]",
// file_SpecifyFormat: "N",
// file_add_date: "N",
// file_add_time: "N",
// file_date_time_format: "",
// file_extention: "xls",
// file_name: "file",
// file_split: "N",
// file_splitevery: "0",
// file_stream_data: "N",
// footer: "N",
// forceFormulaRecalculation: "N",
// header: "Y",
// if_file_exists: "new",
// if_sheet_exists: "new",
// label: "Microsoft Excel 输出",
// leaveExistingStylesUnchanged: "N",
// makeSheetActive: "Y",
// password: undefined,
// protect_sheet: "N",
// protected_by: undefined,
// rowWritingMethod: "overwrite",
// sheetname: "Sheet1",
// startingCell: "A1",
// template_enabled: "N",
// template_filename: "template.xls",
// template_sheet_enabled: "N",
// template_sheetname: "",
// },
stepName
:{
name
:
'Microsoft Excel 输出'
},
activeName
:
'handling'
,
activeName
:
'handling'
,
engine
:[],
//
engine:[],
// 表头数据
// 表头数据
tableHead
:[
tableHead
:[
{
{
column_name
:
"column_name"
,
column_comment
:
"名称"
column_name
:
"name"
,
column_comment
:
"名称"
},
{
column_name
:
"type"
,
column_comment
:
"类型"
},
},
{
{
column_name
:
"
column_age"
,
column_comment
:
"类型
"
column_name
:
"
format"
,
column_comment
:
"格式
"
},
},
{
{
column_name
:
"
column_sex"
,
column_comment
:
"格
式"
column_name
:
"
styleCell"
,
column_comment
:
"单元格样
式"
},
},
{
{
column_name
:
"
column_col"
,
column_comment
:
"单元格样式
"
column_name
:
"
title"
,
column_comment
:
"字段标题
"
},
},
{
{
column_name
:
"
column_col1"
,
column_comment
:
"字段标题
"
column_name
:
"
titleStyleCell"
,
column_comment
:
"单元格表头样式
"
},
},
{
{
column_name
:
"
column_col2"
,
column_comment
:
"单元格表头样
式"
column_name
:
"
formula"
,
column_comment
:
"字段包含公
式"
},
},
{
{
column_name
:
"
column_col3"
,
column_comment
:
"字段包含公式
"
column_name
:
"
hyperlinkField"
,
column_comment
:
"超链接
"
},
},
{
{
column_name
:
"column_col4"
,
column_comment
:
"超链接"
column_name
:
"commentField"
,
column_comment
:
"Cell Comment Field(XLSX)"
},
{
column_name
:
"commentAuthorField"
,
column_comment
:
"Cell Comment Author Field(XLSX)"
},
},
],
],
// 表格数据
// 表格数据
tableData
:
[{
tableData
:
[
column_age
:
'3'
,
{
column_name
:
'鞠婧祎'
,
name
:
'3'
,
column_sex
:
'女'
,
type
:
'鞠婧祎'
,
column_col
:
'1'
,
format
:
'女'
,
column_col1
:
'2'
,
styleCell
:
'1'
,
column_col2
:
'2'
,
title
:
'2'
,
column_col3
:
'2'
,
titleStyleCell
:
'2'
,
column_col4
:
'4'
formula
:
'2'
,
hyperlinkField
:
'4'
,
commentField
:
'2'
,
commentAuthorField
:
'4'
},
},
{
{
column_age
:
'25'
,
name
:
'3'
,
column_name
:
'魏大勋'
,
type
:
'鞠婧祎'
,
column_sex
:
'男'
,
format
:
'女'
,
column_col
:
'1'
,
styleCell
:
'1'
,
column_col1
:
'2'
,
title
:
'2'
,
column_col2
:
'2'
,
titleStyleCell
:
'2'
,
column_col3
:
'2'
,
formula
:
'2'
,
column_col4
:
'4'
hyperlinkField
:
'4'
,
commentField
:
'2'
,
commentAuthorField
:
'4'
},
},
{
{
column_age
:
'18'
,
name
:
'3'
,
column_name
:
'关晓彤'
,
type
:
'鞠婧祎'
,
column_sex
:
'女'
,
format
:
'女'
,
column_col
:
'1'
,
styleCell
:
'1'
,
column_col1
:
'2'
,
title
:
'2'
,
column_col2
:
'2'
,
titleStyleCell
:
'2'
,
column_col3
:
'2'
,
formula
:
'2'
,
column_col4
:
'4'
hyperlinkField
:
'4'
,
}],
commentField
:
'2'
,
commentAuthorField
:
'4'
}
}
}
,
]
,
}
},
watch
:{
microForm
(
n
,
o
)
{
console
.
log
(
"回显的表单数据==="
,
n
);
if
(
n
){
var
ny
=
JSON
.
parse
(
n
.
fields
);
this
.
tableData
=
ny
;
}
},
},
props
:{
props
:{
microForm
:
Object
,
title
:{
title
:{
type
:
String
,
type
:
String
,
default
:
''
default
:
''
...
@@ -408,58 +540,140 @@ export default ({
...
@@ -408,58 +540,140 @@ export default ({
type
:
Boolean
,
type
:
Boolean
,
default
:
false
default
:
false
},
},
explorer
:
Function
explorer
:
Function
,
saveOutputDialog
:
Function
,
doubleClickCell
:
Object
},
},
mounted
(){
mounted
(){
},
},
created
(){
this
.
formatFunc
();
//获取时间日期格式
this
.
excelwritemethod
();
//如果输出文件中已存在工作表
},
methods
:{
methods
:{
handleClose
(){
handleClose
(){
this
.
$emit
(
"update:microVisible"
,
false
);
this
.
$emit
(
"update:microVisible"
,
false
);
},
},
confirm
(){
confirm
(){
this
.
updateForm
.
searchF
ields
=
JSON
.
stringify
(
this
.
tableData
);
//查询字段
this
.
microForm
.
f
ields
=
JSON
.
stringify
(
this
.
tableData
);
//查询字段
this
.
updateForm
.
updateFields
=
JSON
.
stringify
(
this
.
tableDataUpdate
);
//更新字段
//
this.updateForm.updateFields=JSON.stringify(this.tableDataUpdate);//更新字段
console
.
log
(
'弹窗数据==='
,
this
.
update
Form
);
console
.
log
(
'弹窗数据==='
,
this
.
micro
Form
);
this
.
saveOutputDialog
(
this
.
update
Form
);
this
.
saveOutputDialog
(
this
.
micro
Form
);
this
.
handleClose
();
//关闭弹窗
this
.
handleClose
();
//关闭弹窗
},
},
//新建转换
createTrans
(){
//新增或者编辑弹窗
fieldClick
(
state
,
val
)
{
this
.
field
=
!
this
.
field
;
this
.
dataState
=
state
;
if
(
state
)
{
this
.
fieldForm
=
{};
}
else
{
this
.
fieldForm
=
val
;
}
},
//关闭编辑的弹窗
handleCloseEdit
(){
this
.
field
=
!
this
.
field
;
},
// 字段
addField
()
{
this
.
field
=
!
this
.
field
;
console
.
log
(
'添加的字段==='
,
this
.
fieldForm
);
if
(
this
.
dataState
)
{
this
.
tableData
.
push
(
this
.
fieldForm
);
}
},
// 获取扩展名
getExtension
(){
let
pamer
=
new
FormData
();
// 创建form对象
pamer
.
append
(
"query"
,
''
);
excelType
(
pamer
).
then
(
res
=>
{
console
.
log
(
'字段'
,
res
);
this
.
extentionList
=
res
;
})
},
//时间日期格式
formatFunc
(){
var
formData
=
new
FormData
();
var
formData
=
new
FormData
();
formData
.
append
(
'query'
,
''
);
formatFunc
(
formData
).
then
(
res
=>
{
if
(
res
)
{
console
.
log
(
'时间日期格式=='
,
res
);
this
.
formatTimeList
=
res
;
}
else
{
this
.
$message
.
error
(
res
.
errMsg
)
}
})
},
// 如果输出文件中已存在工作表
excelwritemethod
(){
var
formData
=
new
FormData
();
var
formData
=
new
FormData
();
formData
.
append
(
'dir'
,
this
.
nodePath
);
formData
.
append
(
'query'
,
''
);
formData
.
append
(
'transName'
,
this
.
inputValue
);
excelwritemethod
(
formData
).
then
(
res
=>
{
// console.log('新建提交参数==',params);
createTrans
(
formData
).
then
(
res
=>
{
if
(
res
)
{
if
(
res
)
{
this
.
$message
.
success
(
'创建成功!'
);
console
.
log
(
'时间日期格式=='
,
res
);
this
.
explorer
(
''
);
this
.
workList
=
res
;
this
.
$emit
(
"update:estabDialogVisible"
,
false
);
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
errMsg
)
this
.
$message
.
error
(
res
.
errMsg
)
}
}
})
})
},
},
// 上传
//选择文件夹
handleChange
(
file
,
fileList
)
{
chooseFile
(
name
){
// console.log(file);
this
.
formName
=
name
;
//当前哪个属性需要选择文件夹
this
.
fileDialogVisible
=
true
;
this
.
fileList
=
fileList
.
slice
(
-
3
);
this
.
tableData
.
push
({
name
:
file
.
name
});
// console.log(this.tableData);
// this.getObjectURL(file.raw)
// console.log(this.getObjectURL(file.raw));
},
},
addSheet
(){},
//超链接
fileChnageInput
(
e
)
{
inputOutputFields
(){
console
.
log
(
e
);
if
(
this
.
doubleClickCell
){
var
title
=
this
.
doubleClickCell
.
title
}
console
.
log
(
'获取cell888888==='
,
this
.
doubleClickCell
);
let
pamer
=
new
FormData
();
// 创建form对象
pamer
.
append
(
"stepName"
,
encodeURIComponent
(
title
));
pamer
.
append
(
"graphXml"
,
this
.
getXmlVal
);
pamer
.
append
(
"before"
,
true
);
pamer
.
append
(
"query"
,
''
);
inputOutputFields
(
pamer
).
then
(
res
=>
{
console
.
log
(
'字段'
,
res
);
this
.
hyperlinkList
=
res
;
})
},
// 获取字段类型
getValueMetaStore
(){
var
formData
=
new
FormData
();
formData
.
append
(
'query'
,
''
);
getValueMetaStore
(
formData
).
then
(
res
=>
{
if
(
res
)
{
console
.
log
(
'字段类型=='
,
res
);
this
.
metaStoreList
=
res
;
}
else
{
this
.
$message
.
error
(
res
.
errMsg
)
}
})
},
},
// 获取格式
getValueFormatStore
(){
var
formData
=
new
FormData
();
formData
.
append
(
'valueType'
,
'all'
);
getValueFormatStore
(
formData
).
then
(
res
=>
{
if
(
res
)
{
console
.
log
(
'字段格式=='
,
res
);
this
.
formatStoreList
=
res
;
}
else
{
this
.
$message
.
error
(
res
.
errMsg
)
}
})
},
}
}
...
...
src/views/output-dialog/table-out.vue
View file @
bb5c77fa
...
@@ -5,7 +5,6 @@
...
@@ -5,7 +5,6 @@
:visible
.
sync=
"tableOutPutVisible"
:visible
.
sync=
"tableOutPutVisible"
width=
"800px"
width=
"800px"
:before-close=
"handleClose"
:before-close=
"handleClose"
@
open=
"dialogOpen"
top=
"10%"
top=
"10%"
append-to-body
>
append-to-body
>
...
@@ -62,7 +61,7 @@
...
@@ -62,7 +61,7 @@
<el-select
v-model=
"tableOutForm.partitioning_field"
style=
"width: 100%"
:disabled=
"tableOutForm.partitioning_enabled=='Y'? false :true"
>
<el-select
v-model=
"tableOutForm.partitioning_field"
style=
"width: 100%"
:disabled=
"tableOutForm.partitioning_enabled=='Y'? false :true"
>
<!--
<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-option
v-for=
"(item,index) in fieldsList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
<el-option
v-for=
"(item,index) in fieldsList
2
"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
</el-select>
</el-select>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -103,7 +102,7 @@
...
@@ -103,7 +102,7 @@
<el-select
v-model=
"tableOutForm.tablename_field"
:disabled=
"tableOutForm.tablename_in_field=='Y'? false :true"
style=
"width: 100%"
>
<el-select
v-model=
"tableOutForm.tablename_field"
:disabled=
"tableOutForm.tablename_in_field=='Y'? false :true"
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-option
v-for=
"(item,index) in fieldsList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
<el-option
v-for=
"(item,index) in fieldsList
2
"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
</el-select>
</el-select>
</el-col>
</el-col>
...
@@ -160,8 +159,8 @@
...
@@ -160,8 +159,8 @@
<!-- <el-checkbox-group v-model="checkedCities" style="width:100%;">
<!-- <el-checkbox-group v-model="checkedCities" style="width:100%;">
<el-checkbox > -->
<el-checkbox > -->
<el-form-item
label=
"表字段:"
>
<el-form-item
label=
"表字段:"
>
<el-select
v-model=
"fieldForm.column_name"
style=
"width: 100%"
>
<el-select
v-model=
"fieldForm.column_name"
style=
"width: 100%"
@
focus=
"tableFields"
>
<el-option
v-for=
"(item,index) in fieldsList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
<el-option
v-for=
"(item,index) in fieldsList
1
"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
<!-- <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>
...
@@ -172,9 +171,9 @@
...
@@ -172,9 +171,9 @@
<!-- <el-checkbox > -->
<!-- <el-checkbox > -->
<el-form-item
label=
"流字段:"
>
<el-form-item
label=
"流字段:"
>
<el-select
v-model=
"fieldForm.stream_name"
style=
"width: 100%"
>
<el-select
v-model=
"fieldForm.stream_name"
style=
"width: 100%"
@
focus=
"inputOutputFields"
>
<el-option
v-for=
"(item,index) in fieldsList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
<el-option
v-for=
"(item,index) in fieldsList
2
"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
<!-- <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>
...
@@ -220,9 +219,8 @@ const {
...
@@ -220,9 +219,8 @@ const {
mxGeometry
,
mxGeometry
,
}
=
mxgraph
}
=
mxgraph
import
{
import
{
tableFields
,
inputOutputFields
,
//获取表输出
inputOutputFields
,
//获取表输出
}
from
"@/api/kettle/file"
;
}
from
"@/api/kettle/file"
;
export
default
({
export
default
({
data
(){
data
(){
...
@@ -254,7 +252,8 @@ export default ({
...
@@ -254,7 +252,8 @@ export default ({
// },
// },
stepName
:{},
stepName
:{},
activeName
:
'content'
,
activeName
:
'content'
,
fieldsList
:[],
//字段获取
fieldsList1
:[],
//字段获取
fieldsList2
:[],
//字段获取
// engine:[],
// engine:[],
// tableData: [
// tableData: [
// {
// {
...
@@ -357,8 +356,8 @@ export default ({
...
@@ -357,8 +356,8 @@ export default ({
handleClose
(){
handleClose
(){
this
.
$emit
(
"update:tableOutPutVisible"
,
false
);
this
.
$emit
(
"update:tableOutPutVisible"
,
false
);
},
},
//获取表输出
dialogOpen
(){
tableFields
(){
// var enc = new mxCodec(mxUtils.createXmlDocument());
// var enc = new mxCodec(mxUtils.createXmlDocument());
// var node = enc.encode(graph.getModel());
// var node = enc.encode(graph.getModel());
// console.log('获取===',node);
// console.log('获取===',node);
...
@@ -372,13 +371,30 @@ export default ({
...
@@ -372,13 +371,30 @@ export default ({
pamer
.
append
(
"graphXml"
,
this
.
getXmlVal
);
pamer
.
append
(
"graphXml"
,
this
.
getXmlVal
);
pamer
.
append
(
"before"
,
true
);
pamer
.
append
(
"before"
,
true
);
pamer
.
append
(
"query"
,
''
);
pamer
.
append
(
"query"
,
''
);
inputOutput
Fields
(
pamer
).
then
(
res
=>
{
table
Fields
(
pamer
).
then
(
res
=>
{
console
.
log
(
'字段'
,
res
);
console
.
log
(
'字段'
,
res
);
// this.blankCanvas = res
// this.blankCanvas = res
this
.
fieldsList
=
res
;
this
.
fieldsList1
=
res
;
})
},
//获取表输出
inputOutputFields
(){
if
(
this
.
doubleClickCell
){
var
title
=
this
.
doubleClickCell
.
title
}
console
.
log
(
'获取cell888888==='
,
this
.
doubleClickCell
);
let
pamer
=
new
FormData
();
// 创建form对象
pamer
.
append
(
"stepName"
,
encodeURIComponent
(
title
));
pamer
.
append
(
"graphXml"
,
this
.
getXmlVal
);
pamer
.
append
(
"before"
,
true
);
pamer
.
append
(
"query"
,
''
);
inputOutputFields
(
pamer
).
then
(
res
=>
{
console
.
log
(
'字段'
,
res
);
this
.
fieldsList2
=
res
;
})
})
},
},
//新增或者编辑弹窗
//新增或者编辑弹窗
fieldClick
(
state
,
val
)
{
fieldClick
(
state
,
val
)
{
this
.
field
=
!
this
.
field
;
this
.
field
=
!
this
.
field
;
...
...
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