Commit 06acfadb by 莫晓莉

2021,6.11

parent 7ab8c5db
......@@ -409,3 +409,24 @@ export function locale(data){
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'
})
}
......@@ -18,7 +18,7 @@
</el-col>
<el-col class="line" :span="2">
<el-button size="mini">浏览</el-button>
<el-button size="mini" @click="filePathSelection = true">浏览</el-button>
</el-col>
</el-row>
</el-form-item>
......@@ -117,22 +117,20 @@
<el-form-item
label="输入原步骤名(如果只有一个步骤该项可以为空)"
>
<el-row :gutter="10">
<el-col :span="20">
<el-input
v-model="inputLies.input_step"
:disabled="inputLies.main_path == 'Y'"
></el-input>
</el-col>
<el-col class="line" :span="2">
<el-button
size="mini"
<el-select
v-model="form.lookup"
style="width: 100%"
clearable
@click.native="lastStep"
:disabled="inputLies.main_path == 'Y'"
>选择</el-button
>
</el-col>
</el-row>
<el-option
v-for="item in connectionNode"
:key="item.index"
:label="item.name"
:value="item.name"
/>
</el-select>
</el-form-item>
<el-form-item label="子转换里的“映射输入接口”步骤名">
<el-row :gutter="10">
......@@ -168,15 +166,14 @@
height=" 250 "
border
style="width: 100%"
:row-style="{ height: '10px' }"
:cell-style="{ height: '10px' }"
>
<el-table-column prop="parent" label="原字段名">
</el-table-column>
<el-table-column prop="child" label="要映射成的字段名">
</el-table-column>
<el-table-column label="操作" width="120">
<el-table-column label="操作" width="90">
<template slot-scope="scope">
<el-button
@click="addInputField(false, scope.row)"
......@@ -195,12 +192,21 @@
</el-table>
<el-form :model="form">
<el-form-item>
<el-row :gutter="10">
<el-col :span="19">
<el-checkbox
v-model="form.rename_on_output"
true-label="Y"
false-label="N"
></el-checkbox>
输出时字段名再重新映射回原来输入时的名字?
</el-col>
<el-col :span="4">
<el-button @click="fieldMapping">字段映射...</el-button>
</el-col>
</el-row>
</el-form-item>
</el-form>
</div>
......@@ -237,7 +243,7 @@
checked: outputIndex == index,
}"
>
{{ item.input_step || `输${index + 1}` }}
{{ item.input_step || `输${index + 1}` }}
</li>
</ul>
</div>
......@@ -317,7 +323,7 @@
<el-table-column prop="child" label="要映射成的字段名">
</el-table-column>
<el-table-column label="操作" width="60">
<el-table-column label="操作" width="90">
<template slot-scope="scope">
<el-button
@click="addOutputField(false, scope.row)"
......@@ -408,6 +414,29 @@
<el-button type="primary" @click="addoutputBoxFun">确 定</el-button>
</span>
</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>
</template>
......@@ -434,8 +463,9 @@ import {
valueMeta,
formatMapperLineTerminator,
availableCharsets,
compressionProviderNames,
previousSteps,
inputOutputFields,
mappingFields
} from "@/api/kettle/link";
export default {
props: ["form", "nodeData", "saveOutputDialog", "mappingDialog"], //从父组件传过来的值
......@@ -445,8 +475,10 @@ export default {
},
data() {
return {
connectionNode: [],
tableData: [],
newGraph: [],
filePathSelection:false,
metadataBox: false,
selectModifyBox: false,
inputBox: false,
......@@ -456,7 +488,6 @@ export default {
metadataForm: {},
selectModifyForm: {},
fieldFormat: {},
fieldCompress: {},
fieldType: {},
dataState: false,
fileType: [],
......@@ -474,6 +505,7 @@ export default {
inputState: 1,
mappings: {},
inherit: "Y",
localPath:{},
};
},
......@@ -482,7 +514,6 @@ export default {
this.valueMetaFun();
this.formatMapperLineTerminatorFun();
this.availableCharsetsFun();
this.compressionProviderNamesFun();
},
methods: {
......@@ -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) {
this.inputIndex = index;
console.log(val);
......@@ -627,13 +687,27 @@ export default {
pamerFields.append("graphXml", this.graphXml);
pamerFields.append("before", true);
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() {
compressionProviderNames().then((res) => {
this.fieldCompress = res;
lastStep() {
var enc = new mxCodec(mxUtils.createXmlDocument());
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;
});
},
......
......@@ -303,7 +303,6 @@ export default {
getGraphDataBases() {
// var graph = this.getGraph();
var root = this.newGraph.getDefaultParent(),
data = [];
if (root.getAttribute("databases") != null)
......
......@@ -869,7 +869,9 @@ export default {
border-bottom: 1px solid #E4E7ED;
}
.sel-content{
min-height: 81vh;
/* min-height: 81vh; */
height: 81vh;
overflow: auto;
border: 1px solid #dce3e8;
}
.sel-menu-bar{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment