Commit 06acfadb by 莫晓莉

2021,6.11

parent 7ab8c5db
...@@ -409,3 +409,24 @@ export function locale(data){ ...@@ -409,3 +409,24 @@ export function locale(data){
method: 'post' method: 'post'
}) })
} }
// 从文件获取字段
export function mappingFields(data){
return request({
url:'etlweb/trans/mappingFields',
data,
method: 'post'
})
}
// 获取日期格式
export function datetimeformat(data){
return request({
url:'etlweb/system/datetimeformat',
data,
method: 'post'
})
}
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</el-col> </el-col>
<el-col class="line" :span="2"> <el-col class="line" :span="2">
<el-button size="mini">浏览</el-button> <el-button size="mini" @click="filePathSelection = true">浏览</el-button>
</el-col> </el-col>
</el-row> </el-row>
</el-form-item> </el-form-item>
...@@ -117,22 +117,20 @@ ...@@ -117,22 +117,20 @@
<el-form-item <el-form-item
label="输入原步骤名(如果只有一个步骤该项可以为空)" label="输入原步骤名(如果只有一个步骤该项可以为空)"
> >
<el-row :gutter="10"> <el-select
<el-col :span="20"> v-model="form.lookup"
<el-input style="width: 100%"
v-model="inputLies.input_step" clearable
:disabled="inputLies.main_path == 'Y'" @click.native="lastStep"
></el-input>
</el-col>
<el-col class="line" :span="2">
<el-button
size="mini"
:disabled="inputLies.main_path == 'Y'" :disabled="inputLies.main_path == 'Y'"
>选择</el-button
> >
</el-col> <el-option
</el-row> v-for="item in connectionNode"
:key="item.index"
:label="item.name"
:value="item.name"
/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="子转换里的“映射输入接口”步骤名"> <el-form-item label="子转换里的“映射输入接口”步骤名">
<el-row :gutter="10"> <el-row :gutter="10">
...@@ -168,15 +166,14 @@ ...@@ -168,15 +166,14 @@
height=" 250 " height=" 250 "
border border
style="width: 100%" style="width: 100%"
:row-style="{ height: '10px' }"
:cell-style="{ height: '10px' }"
> >
<el-table-column prop="parent" label="原字段名"> <el-table-column prop="parent" label="原字段名">
</el-table-column> </el-table-column>
<el-table-column prop="child" label="要映射成的字段名"> <el-table-column prop="child" label="要映射成的字段名">
</el-table-column> </el-table-column>
<el-table-column label="操作" width="120"> <el-table-column label="操作" width="90">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@click="addInputField(false, scope.row)" @click="addInputField(false, scope.row)"
...@@ -195,12 +192,21 @@ ...@@ -195,12 +192,21 @@
</el-table> </el-table>
<el-form :model="form"> <el-form :model="form">
<el-form-item> <el-form-item>
<el-row :gutter="10">
<el-col :span="19">
<el-checkbox <el-checkbox
v-model="form.rename_on_output" v-model="form.rename_on_output"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
></el-checkbox> ></el-checkbox>
输出时字段名再重新映射回原来输入时的名字? 输出时字段名再重新映射回原来输入时的名字?
</el-col>
<el-col :span="4">
<el-button @click="fieldMapping">字段映射...</el-button>
</el-col>
</el-row>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
...@@ -237,7 +243,7 @@ ...@@ -237,7 +243,7 @@
checked: outputIndex == index, checked: outputIndex == index,
}" }"
> >
{{ item.input_step || `输${index + 1}` }} {{ item.input_step || `输${index + 1}` }}
</li> </li>
</ul> </ul>
</div> </div>
...@@ -317,7 +323,7 @@ ...@@ -317,7 +323,7 @@
<el-table-column prop="child" label="要映射成的字段名"> <el-table-column prop="child" label="要映射成的字段名">
</el-table-column> </el-table-column>
<el-table-column label="操作" width="60"> <el-table-column label="操作" width="90">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@click="addOutputField(false, scope.row)" @click="addOutputField(false, scope.row)"
...@@ -408,6 +414,29 @@ ...@@ -408,6 +414,29 @@
<el-button type="primary" @click="addoutputBoxFun">确 定</el-button> <el-button type="primary" @click="addoutputBoxFun">确 定</el-button>
</span> </span>
</el-dialog> </el-dialog>
<!-- 文件浏览器-->
<el-dialog
title="文件浏览器"
:visible.sync="filePathSelection"
width="500px"
:before-close="handleClose"
:modal="false"
>
<browseFiles :disabed="true" v-on:route="route"></browseFiles>
<span slot="footer" class="dialog-footer">
<el-button @click="filePathSelection = false">取 消</el-button>
<el-button type="primary" @click="addFilePathSelection"
>确 定</el-button
>
</span>
</el-dialog>
</div> </div>
</template> </template>
...@@ -434,8 +463,9 @@ import { ...@@ -434,8 +463,9 @@ import {
valueMeta, valueMeta,
formatMapperLineTerminator, formatMapperLineTerminator,
availableCharsets, availableCharsets,
compressionProviderNames, previousSteps,
inputOutputFields, inputOutputFields,
mappingFields
} from "@/api/kettle/link"; } from "@/api/kettle/link";
export default { export default {
props: ["form", "nodeData", "saveOutputDialog", "mappingDialog"], //从父组件传过来的值 props: ["form", "nodeData", "saveOutputDialog", "mappingDialog"], //从父组件传过来的值
...@@ -445,8 +475,10 @@ export default { ...@@ -445,8 +475,10 @@ export default {
}, },
data() { data() {
return { return {
connectionNode: [],
tableData: [], tableData: [],
newGraph: [], newGraph: [],
filePathSelection:false,
metadataBox: false, metadataBox: false,
selectModifyBox: false, selectModifyBox: false,
inputBox: false, inputBox: false,
...@@ -456,7 +488,6 @@ export default { ...@@ -456,7 +488,6 @@ export default {
metadataForm: {}, metadataForm: {},
selectModifyForm: {}, selectModifyForm: {},
fieldFormat: {}, fieldFormat: {},
fieldCompress: {},
fieldType: {}, fieldType: {},
dataState: false, dataState: false,
fileType: [], fileType: [],
...@@ -474,6 +505,7 @@ export default { ...@@ -474,6 +505,7 @@ export default {
inputState: 1, inputState: 1,
mappings: {}, mappings: {},
inherit: "Y", inherit: "Y",
localPath:{},
}; };
}, },
...@@ -482,7 +514,6 @@ export default { ...@@ -482,7 +514,6 @@ export default {
this.valueMetaFun(); this.valueMetaFun();
this.formatMapperLineTerminatorFun(); this.formatMapperLineTerminatorFun();
this.availableCharsetsFun(); this.availableCharsetsFun();
this.compressionProviderNamesFun();
}, },
methods: { methods: {
...@@ -544,6 +575,35 @@ export default { ...@@ -544,6 +575,35 @@ export default {
} }
}, },
fieldMapping(){
var enc = new mxCodec(mxUtils.createXmlDocument());
var node = enc.encode(this.newGraph.getModel());
this.graphXml = mxUtils.getPrettyXml(node);
let pamerFields = new FormData(); // 创建form对象
pamerFields.append(
"stepName",
this.nodeData.value.attributes.label.value
);
pamerFields.append("graphXml", this.graphXml);
pamerFields.append("before", true);
mappingFields(pamerFields).then(res=>{
console.log(res);
})
},
route(flowData){
this.localPath.fileName = flowData.name
console.log(this.localPath);
},
addFilePathSelection(){
this.filePathSelection = !this.filePathSelection
this.form.directory = this.localPath.fileName
},
inputSelection(val, index) { inputSelection(val, index) {
this.inputIndex = index; this.inputIndex = index;
console.log(val); console.log(val);
...@@ -627,13 +687,27 @@ export default { ...@@ -627,13 +687,27 @@ export default {
pamerFields.append("graphXml", this.graphXml); pamerFields.append("graphXml", this.graphXml);
pamerFields.append("before", true); pamerFields.append("before", true);
inputOutputFields(pamerFields).then((res) => { inputOutputFields(pamerFields).then((res) => {
this.parameters = res; // this.parameters = res;
res.forEach((item,index)=>{
console.log(item,index);
this.parameters.push({
variable:item.name
})
})
console.log(res);
}); });
}, },
compressionProviderNamesFun() { lastStep() {
compressionProviderNames().then((res) => { var enc = new mxCodec(mxUtils.createXmlDocument());
this.fieldCompress = res; var node = enc.encode(this.newGraph.getModel());
this.graphXml = mxUtils.getPrettyXml(node);
let pamerSteps = new FormData(); // 创建form对象
pamerSteps.append("stepName", this.nodeData.value.attributes.label.value);
pamerSteps.append("graphXml", this.graphXml);
pamerSteps.append("query", "");
previousSteps(pamerSteps).then((res) => {
this.connectionNode = res;
}); });
}, },
......
...@@ -303,7 +303,6 @@ export default { ...@@ -303,7 +303,6 @@ export default {
getGraphDataBases() { getGraphDataBases() {
// var graph = this.getGraph(); // var graph = this.getGraph();
var root = this.newGraph.getDefaultParent(), var root = this.newGraph.getDefaultParent(),
data = []; data = [];
if (root.getAttribute("databases") != null) if (root.getAttribute("databases") != null)
......
...@@ -869,7 +869,9 @@ export default { ...@@ -869,7 +869,9 @@ export default {
border-bottom: 1px solid #E4E7ED; border-bottom: 1px solid #E4E7ED;
} }
.sel-content{ .sel-content{
min-height: 81vh; /* min-height: 81vh; */
height: 81vh;
overflow: auto;
border: 1px solid #dce3e8; border: 1px solid #dce3e8;
} }
.sel-menu-bar{ .sel-menu-bar{
......
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