Commit b1cc08db by 李耀琨

更新

parent 3302a397
...@@ -2,16 +2,16 @@ ENV = 'development' ...@@ -2,16 +2,16 @@ ENV = 'development'
VUE_APP_BASE_API = 'http://147.1.3.180:9888/' #VUE_APP_BASE_API = 'http://147.1.3.180:9888/'
VUE_APP_WS_API = 'ws://147.1.3.180:9888/' #VUE_APP_WS_API = 'ws://147.1.3.180:9888/'
# 接口地址 # 接口地址
#V1UE_APP_BASE_API = 'http://192.168.0.44' VUE_APP_BASE_API = 'http://192.168.0.44:9888'
#VUE_APP_WS_API = 'ws://192.168.0.44' VUE_APP_WS_API = 'ws://192.168.0.44:9888'
VUE_APP_FILE_API = '' VUE_APP_FILE_API = 'http://192.168.0.44:9888'
......
...@@ -78,8 +78,8 @@ Vue.prototype.R = R ...@@ -78,8 +78,8 @@ Vue.prototype.R = R
Vue.config.productionTip = false Vue.config.productionTip = false
const baseUrl = process.env.VUE_APP_BASE_API === '/' ? '' : process.env.VUE_APP_BASE_API const baseUrl = process.env.VUE_APP_BASE_API === '/' ? '' : process.env.VUE_APP_BASE_API
Vue.prototype.etlWeb = "http://147.1.3.180:9888/ETLWEB-SERVER/etlweb/" // Vue.prototype.etlWeb = "http://147.1.3.180:9888/ETLWEB-SERVER/etlweb/"
// Vue.prototype.etlWeb = "http://192.168.0.44:9888/ETLWEB-SERVER/etlweb/" Vue.prototype.etlWeb = "http://192.168.0.44:9888/ETLWEB-SERVER/etlweb/"
new Vue({ new Vue({
router, router,
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<el-form-item label="步骤名称:"> <el-form-item label="步骤名称:">
<el-input v-model="form.label"></el-input> <el-input v-model="form.label"></el-input>
</el-form-item> </el-form-item>
{{8^100}}
</el-form> </el-form>
<el-tabs type="border-card"> <el-tabs type="border-card">
...@@ -273,6 +273,9 @@ export default { ...@@ -273,6 +273,9 @@ export default {
}, },
methods: { methods: {
clickFun(graph, val) {
this.newGraph = graph;
},
switchJournal(val) { switchJournal(val) {
this.switchState = val.id; this.switchState = val.id;
console.log(val); console.log(val);
......
...@@ -29,11 +29,13 @@ ...@@ -29,11 +29,13 @@
<el-button type="text" @click="selectModify(true)" <el-button type="text" @click="selectModify(true)"
>添加字段</el-button >添加字段</el-button
> >
<!-- <el-button type="text" @click="selectModifyGetTheField">获取字段</el-button> --> <el-button type="text" @click="selectModifyGetTheField"
>获取字段</el-button
>
<el-table :data="fields" style="width: 100%"> <el-table :data="parameters" style="width: 100%">
<el-table-column prop="name" label="变量名"> </el-table-column> <el-table-column prop="variable" label="变量名"> </el-table-column>
<el-table-column prop="rename" label="字符串值(里面里可以使用变量)"> <el-table-column prop="input" label="字符串值(里面里可以使用变量)">
</el-table-column> </el-table-column>
<el-table-column label="操作" width="100px"> <el-table-column label="操作" width="100px">
...@@ -47,12 +49,23 @@ ...@@ -47,12 +49,23 @@
<el-button <el-button
type="text" type="text"
size="small" size="small"
@click="deleteField(scope.$index, fields)" @click="deleteField(scope.$index, parameters)"
>删除</el-button >删除</el-button
> >
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!--
<el-form :model="mappings">
<el-form-item > -->
<el-checkbox
v-model="inherit"
true-label="Y"
false-label="N"
></el-checkbox>
从父转换继承所有变量
<!-- </el-form-item>
</el-form> -->
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="输入"> <el-tab-pane label="输入">
...@@ -60,98 +73,119 @@ ...@@ -60,98 +73,119 @@
<div class="leftDiv"> <div class="leftDiv">
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="10"> <el-col :span="10">
<el-button type="text" @click="metadata(true)">添加</el-button> <el-button type="text" @click="addInput(true)"
>添加</el-button
>
</el-col> </el-col>
<el-col class="line" :span="10"> <el-col class="line" :span="10">
<el-button type="text" @click="metadata(true)">删除</el-button> <el-button type="text" @click="deleteInput(true)"
>删除</el-button
>
</el-col> </el-col>
</el-row> </el-row>
<ul class="ulHeight"> <ul class="ulHeight">
<li <li
class="list" class="list"
v-for="item in liList" v-for="(item, index) in liList"
:key="item.id" :key="index"
@click="switchJournal(item)" @click="inputSelection(item, index)"
style="cursor: pointer" style="cursor: pointer"
:class="{ :class="{
hover: switchState == item.id, hover: inputIndex == index,
checked: switchState == item.id, checked: inputIndex == index,
}" }"
> >
{{ item.name }} {{ item.input_step || `输入${index + 1}` }}
</li> </li>
</ul> </ul>
</div> </div>
<div class="rightDiv"> <div class="rightDiv">
<div class="topRight"> <div class="topRight">
<el-form :model="form"> <el-form size="mini">
<el-form-item label="是否是主要数据路径?"> <el-form-item label="是否是主要数据路径?">
<el-checkbox <el-checkbox
v-model="form.feedback_shown" v-model="inputLies.main_path"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
@change="mainPathChange"
></el-checkbox> ></el-checkbox>
</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.directory"></el-input> <el-input
v-model="inputLies.input_step"
:disabled="inputLies.main_path == 'Y'"
></el-input>
</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"
:disabled="inputLies.main_path == 'Y'"
>选择</el-button
>
</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.directory"></el-input> <el-input
v-model="inputLies.output_step"
:disabled="inputLies.main_path == 'Y'"
></el-input>
</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"
:disabled="inputLies.main_path == 'Y'"
>选择</el-button
>
</el-col> </el-col>
</el-row> </el-row>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="步骤映射描述:">
label="步骤映射描述:" <el-input
> v-model="inputLies.description"
<el-input v-model="form.timeout_days"></el-input> :disabled="inputLies.main_path == 'Y'"
></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div class="lowerRight"> <div class="lowerRight">
<el-button type="text" @click="metadata(true)" <el-button type="text" @click="addInputField(true)"
>添加字段</el-button >添加字段</el-button
> >
<el-table <el-table
:data="tableData" :data="inputLies.connector"
height=" 250 " height=" 250 "
border border
style="width: 100%" style="width: 100%"
:row-style="{ height: '10px' }" :row-style="{ height: '10px' }"
:cell-style="{ height: '10px' }" :cell-style="{ height: '10px' }"
> >
<el-table-column prop="enabled" label="原字段名"> <el-table-column prop="parent" label="原字段名">
</el-table-column> </el-table-column>
<el-table-column prop="name" label="要映射成的字段名"> <el-table-column prop="child" label="要映射成的字段名">
</el-table-column> </el-table-column>
<el-table-column label="操作" width="60"> <el-table-column label="操作" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@click="liListClick(false, scope.row)" @click="addInputField(false, scope.row)"
type="text" type="text"
size="small" size="small"
>编辑</el-button >编辑</el-button
> >
<el-button <el-button
@click="liListClick(false, scope.row)" @click="deleteField(scope.$index, inputLies.connector)"
type="text" type="text"
size="small" size="small"
>删除</el-button >删除</el-button
...@@ -159,6 +193,16 @@ ...@@ -159,6 +193,16 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-form :model="form">
<el-form-item>
<el-checkbox
v-model="form.rename_on_output"
true-label="Y"
false-label="N"
></el-checkbox>
输出时字段名再重新映射回原来输入时的名字?
</el-form-item>
</el-form>
</div> </div>
</div> </div>
</div> </div>
...@@ -169,101 +213,120 @@ ...@@ -169,101 +213,120 @@
<div class="leftDiv"> <div class="leftDiv">
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="10"> <el-col :span="10">
<el-button type="text" @click="metadata(true)">添加</el-button> <el-button type="text" @click="addInput(false)"
>添加</el-button
>
</el-col> </el-col>
<el-col class="line" :span="10"> <el-col class="line" :span="10">
<el-button type="text" @click="metadata(true)">删除</el-button> <el-button type="text" @click="deleteInput(false)"
>删除</el-button
>
</el-col> </el-col>
</el-row> </el-row>
<ul class="ulHeight"> <ul class="ulHeight">
<li <li
class="list" class="list"
v-for="item in liListru" v-for="(item, index) in liListru"
:key="item.id" :key="item.id"
@click="switchJournal(item)" @click="switchJournal(item, index)"
style="cursor: pointer" style="cursor: pointer"
:class="{ :class="{
hover: switchState == item.id, hover: outputIndex == index,
checked: switchState == item.id, checked: outputIndex == index,
}" }"
> >
{{ item.name }} {{ item.input_step || `输入${index + 1}` }}
</li> </li>
</ul> </ul>
</div> </div>
<div class="rightDiv"> <div class="rightDiv">
<div class="topRight"> <div class="topRight">
<el-form :model="form"> <el-form size="mini">
<el-form-item label="是否是主要数据路径?"> <el-form-item label="是否是主要数据路径?">
<el-checkbox <el-checkbox
v-model="form.feedback_shown" v-model="outputLies.main_path"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
></el-checkbox> ></el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="子转换里的“映射输入接口”步骤名"> <el-form-item label="子转换里的“映射输入接口”步骤名">
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="20"> <el-col :span="20">
<el-input v-model="form.directory"></el-input> <el-input
v-model="outputLies.input_step"
:disabled="outputLies.main_path == 'Y'"
></el-input>
</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"
:disabled="outputLies.main_path == 'Y'"
>选择</el-button
>
</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.directory"></el-input> <el-input
v-model="outputLies.output_step"
:disabled="outputLies.main_path == 'Y'"
></el-input>
</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"
:disabled="outputLies.main_path == 'Y'"
>选择</el-button
>
</el-col> </el-col>
</el-row> </el-row>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="步骤映射描述:">
label="步骤映射描述:" <el-input
> v-model="outputLies.description"
<el-input v-model="form.timeout_days"></el-input> :disabled="outputLies.main_path == 'Y'"
></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div class="lowerRight"> <div class="lowerRight">
<el-button type="text" @click="metadata(true)" <el-button type="text" @click="addOutputField(true)"
>添加字段</el-button >添加字段</el-button
> >
<el-table <el-table
:data="tableData" :data="outputLies.connector"
height=" 250 " height=" 250 "
border border
style="width: 100%" style="width: 100%"
:row-style="{ height: '10px' }" :row-style="{ height: '10px' }"
:cell-style="{ height: '10px' }" :cell-style="{ height: '10px' }"
> >
<el-table-column prop="enabled" label="原字段名"> <el-table-column prop="parent" label="原字段名">
</el-table-column> </el-table-column>
<el-table-column prop="name" label="要映射成的字段名"> <el-table-column prop="child" label="要映射成的字段名">
</el-table-column> </el-table-column>
<el-table-column label="操作" width="60"> <el-table-column label="操作" width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@click="liListClick(false, scope.row)" @click="addOutputField(false, scope.row)"
type="text" type="text"
size="small" size="small"
>编辑</el-button >编辑</el-button
> >
<el-button <el-button
@click="liListClick(false, scope.row)" @click="deleteField(scope.$index, outputLies.connector)"
type="text" type="text"
size="small" size="small"
>删除</el-button >删除</el-button
...@@ -284,7 +347,67 @@ ...@@ -284,7 +347,67 @@
</span> </span>
</el-dialog> </el-dialog>
<el-dialog
:title="this.dataState ? '添加字段' : '修改'"
:visible.sync="selectModifyBox"
width="500px"
:before-close="selectModifyBoxFun"
>
<el-form :model="selectModifyForm">
<el-form-item label="变量名">
<el-input v-model="selectModifyForm.variable"></el-input>
</el-form-item>
<el-form-item label="字符串值(里面里可以使用变量)">
<el-input v-model="selectModifyForm.input"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="selectModifyBox = false">取 消</el-button>
<el-button type="primary" @click="addSelectModifyBoxFun"
>确 定</el-button
>
</span>
</el-dialog>
<el-dialog
:title="this.dataState ? '添加字段' : '修改'"
:visible.sync="inputBox"
width="500px"
:before-close="inputBoxFun"
>
<el-form :model="inputField">
<el-form-item label="原字段名">
<el-input v-model="inputField.parent"></el-input>
</el-form-item>
<el-form-item label="要映射成的字段名">
<el-input v-model="inputField.child"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="inputBox = false">取 消</el-button>
<el-button type="primary" @click="addinputBoxFun">确 定</el-button>
</span>
</el-dialog>
<el-dialog
:title="this.dataState ? '添加字段' : '修改'"
:visible.sync="outputBox"
width="500px"
:before-close="outputBoxFun"
>
<el-form :model="outputField">
<el-form-item label="原字段名">
<el-input v-model="outputField.parent"></el-input>
</el-form-item>
<el-form-item label="要映射成的字段名">
<el-input v-model="outputField.child"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="inputBox = false">取 消</el-button>
<el-button type="primary" @click="addoutputBoxFun">确 定</el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
...@@ -315,46 +438,42 @@ import { ...@@ -315,46 +438,42 @@ import {
inputOutputFields, inputOutputFields,
} from "@/api/kettle/link"; } from "@/api/kettle/link";
export default { export default {
props: [ props: ["form", "nodeData", "saveOutputDialog", "mappingDialog"], //从父组件传过来的值
"form",
"nodeData",
"saveOutputDialog",
"mappingDialog",
], //从父组件传过来的值
components: { components: {
browseFiles, browseFiles,
}, },
data() { data() {
return { return {
tableData:[], tableData: [],
newGraph: [], newGraph: [],
fileBox: false,
filterBox: false,
metadataBox: false, metadataBox: false,
selectModifyBox: false, selectModifyBox: false,
removeFieldBox: false, inputBox: false,
fields: [], outputBox: false,
remove: [], parameters: [],
meta: [], meta: [],
metadataForm: {}, metadataForm: {},
selectModifyForm: {}, selectModifyForm: {},
removeFieldForm: {},
filterForm: {},
fieldFormat: {}, fieldFormat: {},
fieldCompress: {}, fieldCompress: {},
fieldType: {}, fieldType: {},
dataState: false, dataState: false,
fileType: [], fileType: [],
codingType: [], codingType: [],
routeState: 0, liList: [],
filePathSelection: false, inputIndex: 0,
localPath: {}, inputLies: { connector: [] },
fileSelection: {}, inputField: {},
fielForm: {}, liListru: [],
liList:[{id:1,name:"输入"}], outputIndex: 0,
liListru:[{id:1,name:"输出"}], outputLies: { connector: [] },
switchState:1, outputField: {},
switchState: 1,
inputState: 1,
mappings: {},
inherit: "Y",
}; };
}, },
...@@ -368,17 +487,94 @@ export default { ...@@ -368,17 +487,94 @@ export default {
methods: { methods: {
clickFun(graph, val) { clickFun(graph, val) {
console.log(graph); this.mappings = [];
this.liList = [];
this.liListru = [];
this.parameters = [];
this.newGraph = graph; this.newGraph = graph;
this.fields = JSON.parse(val.fields); this.mappings = JSON.parse(val.mappings);
this.remove = JSON.parse(val.remove); // console.log(val.mappings);
this.meta = JSON.parse(val.meta); // console.log(this.mappings);
this.inherit = this.mappings.parameters.inherit_all_vars;
// console.log(this.mappings);
console.log(this.mappings.input);
// this.liList = this.mappings.input
this.mappings.input.forEach((item, index) => {
console.log(item, index);
console.log(typeof item.connector == "string");
if (typeof item.connector === "string") {
item.connector = JSON.parse(item.connector);
this.liList.push(item);
} else {
this.liList.push(item);
}
});
this.mappings.output.forEach((item, index) => {
console.log(item, index);
console.log(typeof item.connector == "string");
if (typeof item.connector === "string") {
item.connector = JSON.parse(item.connector);
this.liListru.push(item);
} else {
this.liListru.push(item);
}
});
// for (let i = 0; i < this.mappings.input.length; i++) {
// this.liList[i].connector = JSON.parse(this.mappings.input[i].connector)
// }
if (
this.mappings.parameters.input.length == 0 ||
this.mappings.parameters.variable.length == 0
) {
this.parameters = [];
console.log(this.parameters);
return;
} else {
this.mappings.parameters.input.forEach((item, index) => {
console.log(item, index);
this.parameters.push({
variable: this.mappings.parameters.variable[index],
input: item,
});
});
console.log(this.parameters);
}
}, },
switchJournal(val){ inputSelection(val, index) {
this.switchState = val.id this.inputIndex = index;
console.log(val); console.log(val);
this.inputLies = val;
// console.log(this.mappings);
// this.inputState = val.input_step;
// // console.log(this.inputState);
// var index = this.liList.find(e =>{
// return e.index == val.index
// })
// console.log(index);
// // this.liList.splice(index, 1);
// // this.inputIndex = index
// // console.log(this.inputIndex.input_step);
// // this.inputIndex =
},
//修改数据
mainPathChange(e) {
if (e == "Y") {
delete this.inputLies.input_step;
delete this.inputLies.output_step;
delete this.inputLies.description;
}
},
switchJournal(val, index) {
this.outputIndex = index;
console.log(val);
this.outputLies = val;
}, },
handleCloseFun() { handleCloseFun() {
...@@ -386,9 +582,35 @@ export default { ...@@ -386,9 +582,35 @@ export default {
}, },
mappingDialogFun() { mappingDialogFun() {
this.form.fields = JSON.stringify(this.fields); this.form.mappings = JSON.parse(this.form.mappings);
this.form.remove = JSON.stringify(this.remove); // this.form.meta = JSON.stringify(this.meta);
this.form.meta = JSON.stringify(this.meta); // this.form.mappings.input = this.inputIndex
// this.form.mappings.parameters.inherit_all_vars = this.inherit
// this.form.mappings = JSON.parse(this.form.mappings)
console.log(this.form.mappings, "form.mappings");
console.log(this.parameters, "parameters");
var w = [];
var q = [];
this.parameters.forEach((item, index) => {
console.log(item, index);
w.push(item.input);
q.push(item.variable);
});
this.form.mappings.parameters.input = w;
this.form.mappings.parameters.variable = q;
console.log(this.form.mappings.parameters);
// console.log(this.form.mappings.parameters);
this.form.mappings.parameters.inherit_all_vars = this.inherit;
// var qinput = []
// this.liList.forEach(item => {
// // item.connector = JSON.stringify(item.connector)
// qinput.push(item)
// })
this.form.mappings.input = this.liList;
this.form.mappings.output = this.liListru;
this.form.mappings = JSON.stringify(this.form.mappings);
console.log(this.form.mappings);
this.saveOutputDialog(this.form); this.saveOutputDialog(this.form);
this.handleCloseFun(); this.handleCloseFun();
}, },
...@@ -405,39 +627,7 @@ export default { ...@@ -405,39 +627,7 @@ 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.fields = res; this.parameters = res;
});
},
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) => {
this.remove = res;
});
},
metadataGetTheField() {
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.meta = res;
}); });
}, },
...@@ -471,17 +661,32 @@ export default { ...@@ -471,17 +661,32 @@ export default {
}); });
}, },
//添加
addInput(state) {
let obj = {
main_path: "Y", //默认是Y
rename_on_output: "N",
connector: [],
};
if (state) {
this.liList.push(obj);
} else {
this.liListru.push(obj);
}
//添加时 需要push的数据为input_step output_step main_path rename_on_output description connector:[parent:"",child:""]
},
//删除
deleteField(index, rows) { deleteField(index, rows) {
rows.splice(index, 1); rows.splice(index, 1);
}, },
fieldClick(state, val) { deleteInput(state) {
this.removeFieldBox = !this.removeFieldBox;
this.dataState = state;
if (state) { if (state) {
this.removeFieldForm = {}; this.liList.splice(this.inputIndex, 1);
} else { } else {
this.removeFieldForm = val; this.liListru.splice(this.outputIndex, 1);
} }
}, },
...@@ -495,40 +700,74 @@ export default { ...@@ -495,40 +700,74 @@ export default {
} }
}, },
metadata(state, val) { selectModifyBoxFun() {
this.metadataBox = !this.metadataBox; this.selectModifyBox = !this.selectModifyBox;
if (this.selectModifyBox) {
}
},
// input添加字段
addInputField(state, val) {
this.dataState = state; this.dataState = state;
this.inputBox = !this.inputBox;
if (state) { if (state) {
this.metadataForm = {}; this.inputField = {};
} else { } else {
this.metadataForm = val; this.inputField = val;
} }
}, },
selectModifyBoxFun() { addOutputField(state, val) {
this.dataState = state;
this.outputBox = !this.outputBox;
if (state) {
this.outputField = {};
} else {
this.outputField = val;
}
},
inputBoxFun() {
this.inputBox = !this.inputBox;
if (this.inputBox) {
}
},
outputBoxFun() {
this.outputBox = !this.outputBox;
if (this.outputBox) {
}
},
addSelectModifyBoxFun() {
this.selectModifyBox = !this.selectModifyBox; this.selectModifyBox = !this.selectModifyBox;
if (this.dataState) { if (this.dataState) {
this.fields.push(this.selectModifyForm); this.parameters.push(this.selectModifyForm);
this.$emit("fields", this.fields);
} else { } else {
} }
}, },
removeFieldBoxFun() { addinputBoxFun() {
this.removeFieldBox = !this.removeFieldBox; this.inputBox = !this.inputBox;
console.log(this.dataState);
if (this.dataState) { if (this.dataState) {
this.remove.push(this.removeFieldForm); console.log(this.inputField);
this.$emit("fields", this.remove); this.inputLies.connector.push(this.inputField);
} else {
} }
}, },
metadataBoxFun() { addoutputBoxFun() {
this.metadataBox = !this.metadataBox; this.outputBox = !this.outputBox;
if (this.dataState) { if (this.dataState) {
this.meta.push(this.metadataForm); this.outputLies.connector.push(this.outputField);
this.$emit("meta", this.meta); }
},
metadata(state, val) {
this.metadataBox = !this.metadataBox;
this.dataState = state;
if (state) {
this.metadataForm = {};
} else { } else {
this.metadataForm = val;
} }
}, },
...@@ -558,12 +797,12 @@ export default { ...@@ -558,12 +797,12 @@ export default {
width: 150px; width: 150px;
height: 500px; height: 500px;
/* background-color: antiquewhite; */ /* background-color: antiquewhite; */
// border: 1px solid #d2e0f1; // border: 1px solid #d2e0f1;
float: left; float: left;
padding: 10px; padding: 10px;
} }
.ulHeight{ .ulHeight {
border: 1px solid #d2e0f1; border: 1px solid #d2e0f1;
width: 120px; width: 120px;
height: 400px; height: 400px;
...@@ -586,14 +825,14 @@ export default { ...@@ -586,14 +825,14 @@ export default {
.topRight { .topRight {
width: 550px; width: 550px;
height: 270px; height: 270px;
// border: 1px solid #d2e0f1; // border: 1px solid #d2e0f1;
padding: 10px; padding: 10px;
/* background-color: aqua; */ /* background-color: aqua; */
} }
.lowerRight { .lowerRight {
width: 550px; width: 550px;
height: 230px; height: 230px;
// border: 1px solid #d2e0f1; // border: 1px solid #d2e0f1;
padding: 10px; padding: 10px;
overflow: hidden; overflow: hidden;
/* background-color: aqua; */ /* background-color: aqua; */
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<el-form-item label="XML源定义在第一个字段里?"> <el-form-item label="XML源定义在第一个字段里?">
<el-checkbox <el-checkbox
v-model="form.feedback_shown" v-model="form.IsInFields"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
></el-checkbox> ></el-checkbox>
...@@ -40,22 +40,24 @@ ...@@ -40,22 +40,24 @@
<el-form-item label="XML源是文件名?"> <el-form-item label="XML源是文件名?">
<el-checkbox <el-checkbox
v-model="form.feedback_shown" v-model="form.IsAFile"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
:disabled="form.IsInFields == 'N'"
></el-checkbox> ></el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="以URL的方式读取XML源?"> <el-form-item label="以URL的方式读取XML源?">
<el-checkbox <el-checkbox
v-model="form.feedback_shown" v-model="form.readurl"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
:disabled="form.IsInFields == 'N'"
></el-checkbox> ></el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="XML 源字段名:"> <el-form-item label="XML 源字段名:">
<el-input v-model="form.label"></el-input> <el-input v-model="form.XmlField" :disabled="form.IsInFields == 'N'"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
...@@ -65,15 +67,15 @@ ...@@ -65,15 +67,15 @@
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="17"> <el-col :span="17">
<el-input <el-input
v-model="fileSelection.fileName" v-model="fileSelection.name"
:disabled="form.acceptingFilenames == 'Y'" :disabled="form.IsInFields == 'Y'"
></el-input> ></el-input>
</el-col> </el-col>
<el-col class="line" :span="3"> <el-col class="line" :span="3">
<el-button <el-button
size="mini" size="mini"
@click="addFile" @click="addFile"
:disabled="form.acceptingFilenames == 'Y'" :disabled="form.IsInFields == 'Y'"
>增加</el-button >增加</el-button
></el-col ></el-col
> >
...@@ -81,7 +83,7 @@ ...@@ -81,7 +83,7 @@
<el-button <el-button
size="mini" size="mini"
@click="selectFilePath(1)" @click="selectFilePath(1)"
:disabled="form.acceptingFilenames == 'Y'" :disabled="form.IsInFields == 'Y'"
>浏览</el-button >浏览</el-button
></el-col ></el-col
> >
...@@ -90,23 +92,23 @@ ...@@ -90,23 +92,23 @@
<el-form-item label="规则表达式:"> <el-form-item label="规则表达式:">
<el-input <el-input
v-model="fileSelection.fileMask" v-model="fileSelection.filemask"
:disabled="form.acceptingFilenames == 'Y'" :disabled="form.IsInFields == 'Y'"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="正则表达式(排除):"> <el-form-item label="正则表达式(排除):">
<el-input <el-input
v-model="fileSelection.excludeFileMask" v-model="fileSelection.exclude_filemask"
:disabled="form.acceptingFilenames == 'Y'" :disabled="form.IsInFields == 'Y'"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="选中的文件:"> <el-form-item label="选中的文件:">
<el-card class="box-card"> <el-card class="box-card">
<el-table :data="fileNameStore" style="width: 100%"> <el-table :data="file" style="width: 100%">
<el-table-column <el-table-column
prop="fileName" prop="name"
label="文件/目录" label="文件/目录"
width="120" width="120"
> >
...@@ -114,13 +116,13 @@ ...@@ -114,13 +116,13 @@
<el-table-column prop="filemask" label="通配符"> <el-table-column prop="filemask" label="通配符">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="excludeFileMask" prop="exclude_filemask"
label="通配符号(排除)" label="通配符号(排除)"
> >
</el-table-column> </el-table-column>
<el-table-column prop="fileRequired" label="要求"> <el-table-column prop="file_required" label="要求">
</el-table-column> </el-table-column>
<el-table-column prop="includeSubFolders" label="包含子目录"> <el-table-column prop="include_subfolders" label="包含子目录">
</el-table-column> </el-table-column>
<el-table-column label="操作" width="120px"> <el-table-column label="操作" width="120px">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -128,14 +130,14 @@ ...@@ -128,14 +130,14 @@
@click="handleClick(scope.row)" @click="handleClick(scope.row)"
type="text" type="text"
size="small" size="small"
:disabled="form.acceptingFilenames == 'Y'" :disabled="form.IsInFields == 'Y'"
>编辑</el-button >编辑</el-button
> >
<el-button <el-button
type="text" type="text"
size="small" size="small"
@click="deleteRow(scope.$index, fileNameStore)" @click="deleteRow(scope.$index, file)"
:disabled="form.acceptingFilenames == 'Y'" :disabled="form.IsInFields == 'Y'"
>删除</el-button >删除</el-button
> >
</template> </template>
...@@ -146,202 +148,188 @@ ...@@ -146,202 +148,188 @@
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="内容"> <el-tab-pane label="内容">
<el-card class="box-card"> <el-card class="box-card">
设置 设置
<el-form ref="from" :model="form" label-width="240px"> <el-form ref="from" :model="form" label-width="240px">
<el-form-item label="循环读取路径:">
<el-form-item label="转换:">
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="15"> <el-col :span="15">
<el-input v-model="form.directory"></el-input> <el-input v-model="form.loopxpath"></el-input>
</el-col> </el-col>
<el-col class="line" :span="8"> <el-col class="line" :span="8">
<el-button size="mini">获取XML文档的所有路径</el-button> <el-button size="mini" @click="selectFilePath(0)">获取XML文档的所有路径</el-button>
</el-col> </el-col>
</el-row> </el-row>
</el-form-item> </el-form-item>
<el-form-item label="编码:">
<el-form-item label="编码"> <el-select
<el-select v-model="form.region" placeholder="请选择活动区域"> v-model="form.encoding"
<el-option label="区域一" value="shanghai"></el-option> filterable
<el-option label="区域二" value="beijing"></el-option> style="width: 100%"
clearable
>
<el-option
v-for="item in codingType"
:key="item.index"
:label="item.name"
:value="item.name"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="考虑命名空间"> <el-form-item label="考虑命名空间">
<el-checkbox <el-checkbox
v-model="form.feedback_shown" v-model="form.namespaceaware"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
></el-checkbox> ></el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="忽略注释?"> <el-form-item label="忽略注释?">
<el-checkbox <el-checkbox
v-model="form.feedback_shown" v-model="form.ignorecomments"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
></el-checkbox> ></el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="验证XML?"> <el-form-item label="验证XML?">
<el-checkbox <el-checkbox
v-model="form.feedback_shown" v-model="form.validating"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
></el-checkbox> ></el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="使用标记"> <el-form-item label="使用标记">
<el-checkbox <el-checkbox
v-model="form.feedback_shown" v-model="form.usetoken"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
></el-checkbox> ></el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="忽略空文件"> <el-form-item label="忽略空文件">
<el-checkbox <el-checkbox
v-model="form.feedback_shown" v-model="form.IsIgnoreEmptyFile"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
></el-checkbox> ></el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="如果没有文件不要报告错误"> <el-form-item label="如果没有文件不要报告错误">
<el-checkbox <el-checkbox
v-model="form.feedback_shown" v-model="form.doNotFailIfNoFile"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
></el-checkbox> ></el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="限制"> <el-form-item label="限制">
<el-input <el-input v-model="fileSelection.limit"
v-model="fileSelection.fileMask" :disabled="form.IsInFields == 'Y'"></el-input>
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="用于截取数据的XML路径(大文件)"> <el-form-item label="用于截取数据的XML路径(大文件)">
<el-input <el-input v-model="fileSelection.prunePath" :disabled="form.IsInFields == 'Y'" ></el-input>
v-model="fileSelection.fileMask"
></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
<br> <br />
<el-card class="box-card"> <el-card class="box-card">
附件字段 附件字段
<el-form ref="from" :model="form" label-width="140px"> <el-form ref="from" :model="form" label-width="140px">
<el-form-item label="输出中包括文件名?"> <el-form-item label="输出中包括文件名?">
<el-checkbox <el-checkbox
v-model="form.feedback_shown" v-model="form.include"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
:disabled="form.IsInFields == 'Y'"
></el-checkbox> ></el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="文件名字段"> <el-form-item label="文件名字段">
<el-input <el-input v-model="fileSelection.include_field"
v-model="fileSelection.fileMask" :disabled="form.IsInFields == 'Y' || form.include == 'N' "></el-input>
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="输出包括行号?"> <el-form-item label="输出包括行号?">
<el-checkbox <el-checkbox
v-model="form.feedback_shown" v-model="form.rownum"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
></el-checkbox> ></el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="行数组段"> <el-form-item label="行数组段">
<el-input <el-input v-model="fileSelection.rownum_field"
v-model="fileSelection.fileMask" :disabled="form.rownum == 'N'"></el-input>
></el-input>
</el-form-item> </el-form-item>
</el-form>
</el-form>
</el-card> </el-card>
<br> <br />
<el-card class="box-card"> <el-card class="box-card">
添加到结果文件中 添加到结果文件中
<el-form ref="from" :model="form" label-width="180px"> <el-form ref="from" :model="form" label-width="180px">
<el-form-item label="将文件增加到结果文件中"> <el-form-item label="将文件增加到结果文件中">
<el-checkbox <el-checkbox
v-model="form.feedback_shown" v-model="form.addresultfile"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
:disabled="form.IsInFields == 'Y'"
></el-checkbox> ></el-checkbox>
</el-form-item> </el-form-item>
</el-form>
</el-form>
</el-card> </el-card>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="字段"> <el-tab-pane label="字段">
<el-button type="text" @click="fieldClick(true)">添加字段</el-button> <el-button type="text" @click="fieldClick(true)">添加字段</el-button>
<el-button type="text" @click="getTheField">获取字段</el-button> <el-button type="text" @click="getTheField">获取字段</el-button>
<el-table :data="inputFields" style="width: 100%"> <el-table :data="fields" style="width: 100%">
<el-table-column prop="name" label="名称"> </el-table-column>g <el-table-column prop="name" label="名称"> </el-table-column>g
<el-table-column prop="xpath" label="xml路径"> </el-table-column>
<el-table-column prop="element_type" label="节点"> </el-table-column>
<el-table-column prop="result_type" label="结果类型"> </el-table-column>
<el-table-column prop="type" label="类型"> </el-table-column> <el-table-column prop="type" label="类型"> </el-table-column>
<el-table-column prop="format" label="格式"> </el-table-column> <el-table-column prop="format" label="格式"> </el-table-column>
<el-table-column prop="position" label="位置"> </el-table-column>
<el-table-column prop="length" label="长度"> </el-table-column> <el-table-column prop="length" label="长度"> </el-table-column>
<el-table-column prop="precision" label="精度"> </el-table-column> <el-table-column prop="precision" label="精度"> </el-table-column>
<el-table-column prop="currency" label="货币"> </el-table-column> <el-table-column prop="currency" label="货币符号"> </el-table-column>
<el-table-column prop="decimal" label="小数"> </el-table-column>
<el-table-column prop="group" label="分组"> </el-table-column>
<el-table-column prop="nullif" label="Null if"> </el-table-column> <el-table-column prop="decimal" label="小数点符号"> </el-table-column>
<el-table-column prop="ifnull" label="默认"> </el-table-column> <el-table-column prop="group" label="组"> </el-table-column>
<el-table-column prop="trim_type" label="去除空字符串..."> <el-table-column prop="trim_type" label="去除空格类型">
</el-table-column> </el-table-column>
<el-table-column prop="repeat" label="重复"> </el-table-column> <el-table-column prop="repeat" label="重复"> </el-table-column>
<el-table-column label="操作" width="100px"> <el-table-column label="操作" width="100px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="fieldClick(false,scope.row)" type="text" size="small" <el-button
@click="fieldClick(false, scope.row)"
type="text"
size="small"
>编辑</el-button >编辑</el-button
> >
<el-button <el-button
type="text" type="text"
size="small" size="small"
@click="deleteField(scope.$index, inputFields)" @click="deleteRow(scope.$index, fields)"
>删除</el-button >删除</el-button
> >
</template> </template>
...@@ -351,35 +339,35 @@ ...@@ -351,35 +339,35 @@
<el-tab-pane label="其他输出字段"> <el-tab-pane label="其他输出字段">
<el-form ref="from" :model="form" label-width="160px"> <el-form ref="from" :model="form" label-width="160px">
<el-form-item label="文件名字段:"> <el-form-item label="文件名字段:">
<el-input v-model="form.shortFilenameField"></el-input> <el-input v-model="form.shortFileFieldName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="扩展名字段:"> <el-form-item label="扩展名字段:">
<el-input v-model="form.extensionField"></el-input> <el-input v-model="form.extensionFieldName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="路径字段:"> <el-form-item label="路径字段:">
<el-input v-model="form.pathField"></el-input> <el-input v-model="form.pathFieldName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="文件大小字段:"> <el-form-item label="文件大小字段:">
<el-input v-model="form.sizeField"></el-input> <el-input v-model="form.sizeFieldName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否为隐藏文件字段:"> <el-form-item label="是否为隐藏文件字段:">
<el-input v-model="form.hiddenField"></el-input> <el-input v-model="form.hiddenFieldName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="最后修改时间字段:"> <el-form-item label="最后修改时间字段:">
<el-input v-model="form.lastModificationField"></el-input> <el-input v-model="form.lastModificationTimeFieldName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="Uri字段:"> <el-form-item label="Uri字段:">
<el-input v-model="form.uriField"></el-input> <el-input v-model="form.uriNameFieldName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="Root uri字段:"> <el-form-item label="Root uri字段:">
<el-input v-model="form.rootUriField"></el-input> <el-input v-model="form.rootUriNameFieldName"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
...@@ -388,13 +376,145 @@ ...@@ -388,13 +376,145 @@
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="handleCloseFun">取 消</el-button> <el-button @click="handleCloseFun">取 消</el-button>
<el-button type="primary" @click="xmlFileInputDialog">确 定</el-button> <el-button type="primary" @click="xmlFileInputDialogFun">确 定</el-button>
</span> </span>
</el-dialog> </el-dialog>
<!-- 文件浏览器-->
<el-dialog
title="字段"
:visible.sync="addFieldsDialog"
width="500px"
:before-close="handleClose"
:modal="false"
>
<el-form ref="from" :model="addFields" label-width="120px">
<el-form-item label="名称:">
<el-input v-model="addFields.name"></el-input>
</el-form-item>
<el-form-item label="xml路径:">
<el-input v-model="addFields.xpath"></el-input>
</el-form-item>
<el-form-item label="节点">
<el-select v-model="addFields.element_type" style="width: 100%" clearable>
<el-option label="节点" value="node"></el-option>
<el-option label="属性" value="attribut"></el-option>
</el-select>
</el-form-item>
<el-form-item label="结果类型:">
<el-select v-model="addFields.result_type" style="width: 100%" clearable>
<el-option label="value of" value="valueof"></el-option>
<el-option label="Single node" value="Singlenode"></el-option>
</el-select>
</el-form-item>
<el-form-item label="类型:">
<el-select v-model="addFields.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-select v-model="addFields.format" 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="addFields.length"></el-input>
</el-form-item>
<el-form-item label="精度:">
<el-input v-model="addFields.precision"></el-input>
</el-form-item>
<el-form-item label="货币符号:">
<el-input v-model="addFields.currency"></el-input>
</el-form-item>
<el-form-item label="小数点符号:">
<el-input v-model="addFields.decimal"></el-input>
</el-form-item>
<el-form-item label="组:">
<el-input v-model="addFields.group"></el-input>
</el-form-item>
<el-form-item label="去除空格类型:">
<el-select v-model="addFields.trim_type" style="width: 100%" clearable>
<el-option label="不去掉空格" value="none"></el-option>
<el-option label="去掉左空格" value="left"></el-option>
<el-option label="去掉右空格" value="right"></el-option>
<el-option label="去掉左右两端空格" value="both"></el-option>
</el-select>
</el-form-item>
<el-form-item label="重复:">
<el-select v-model="addFields.repeat" style="width: 100%" clearable>
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addFieldsDialog = false">取 消</el-button>
<el-button type="primary" @click="addFieldsDialogFun"
>确 定</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> </div>
</template> </template>
<script> <script>
import browseFiles from "../appBulletFrame/browseFiles";
import mxgraph from "@/utils/mxgraph"; import mxgraph from "@/utils/mxgraph";
import {
inputOutputFields,
availableCharsets,
valueFormat,
valueMeta
} from "@/api/kettle/link";
const { const {
mxGraph, mxGraph,
mxUtils, mxUtils,
...@@ -411,22 +531,155 @@ const { ...@@ -411,22 +531,155 @@ const {
export default { export default {
props: ["form", "nodeData", "saveOutputDialog", "xmlFileInputDialog"], props: ["form", "nodeData", "saveOutputDialog", "xmlFileInputDialog"],
components: {
browseFiles,
},
data() { data() {
return { return {
fileNameStore: [], file: [],
fileSelection: {}, fileSelection: {},
codingType:[],
fields:[],
routeState:0,
filePathSelection:false,
localPath:{},
state:false,
addFields:{},
addFieldsDialog:false,
fieldFormat: {},
fieldType: {},
}; };
}, },
created() {}, created() {},
methods: { methods: {
fieldClick(state,val){
this.addFieldsDialog = !this.addFieldsDialog
this.addState = state
if (state) {
this.addFields = {}
}else{
this.addFields = val
}
},
xmlFileInputDialogFun(){
this.handleCloseFun()
this.form.file = JSON.stringify(this.file);
this.form.fields = JSON.stringify(this.fields);
this.saveOutputDialog(this.form)
},
valueMetaFun() {
valueMeta().then((res) => {
this.fieldType = res;
});
},
valueFormatFun() {
let pamer2 = new FormData(); // 创建form对象
pamer2.append("valueType", "all");
valueFormat(pamer2).then((res) => {
this.fieldFormat = res;
});
},
systemDataTypesFun() {
systemDataTypes().then((res) => {
this.type = res;
});
},
addFieldsDialogFun(){
this.addFieldsDialog = !this.addFieldsDialog;
if (this.addState) {
this.fields.push(this.addFields);
this.$emit('fields', this.fields)
} else {
}
},
route(flowData){
this.localPath.fileName = flowData.name
console.log(this.localPath);
},
// 关闭弹框
handleClose(done) {
this.$confirm("确认关闭?")
.then((_) => {
done();
})
.catch((_) => {});
},
addFilePathSelection(){
this.filePathSelection = !this.filePathSelection
if (this.routeState == 0 ) {
this.form.loopxpath = this.localPath.fileName
}else if (this.routeState == 1 ) {
this.fileSelection.name = this.localPath.fileName
}
},
deleteRow(index, rows) {
rows.splice(index, 1);
},
clickFun(graph, val) { clickFun(graph, val) {
this.availableCharsetsFun()
this.valueMetaFun()
this.valueFormatFun()
console.log(graph); console.log(graph);
this.newGraph = graph; this.newGraph = graph;
console.log(val);
this.file = JSON.parse(val.file)
this.fields = JSON.parse(val.fields)
},
availableCharsetsFun(){
let pamer = new FormData(); // 创建form对象
pamer.append("query", "");
availableCharsets(pamer).then((res) => {
this.codingType = res;
});
}, },
handleCloseFun() { handleCloseFun() {
this.$emit("update:xmlFileInputDialog", false); this.$emit("update:xmlFileInputDialog", false);
}, },
addFile() {
this.file.push(this.fileSelection);
console.log(this.file, 789787987987987);
this.fileSelection = {};
},
selectFilePath(tsate) {
this.routeState = tsate;
this.filePathSelection = !this.filePathSelection;
},
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);
pamerFields.append("query", "");
inputOutputFields(pamerFields).then((res) => {
this.fields = res;
});
},
}, },
}; };
</script> </script>
......
...@@ -87,8 +87,8 @@ export default { ...@@ -87,8 +87,8 @@ export default {
data() { data() {
return { return {
// prefix:'http://192.168.0.2:9700/etlweb/', // prefix:'http://192.168.0.2:9700/etlweb/',
prefix:`http://147.1.3.180:9888/ETLWEB-SERVER/etlweb/`, // prefix:`http://147.1.3.180:9888/ETLWEB-SERVER/etlweb/`,
// prefix:`http://192.168.0.44:9888/ETLWEB-SERVER/etlweb/`, prefix:`http://192.168.0.44:9888/ETLWEB-SERVER/etlweb/`,
// 测试数据开始===== // 测试数据开始=====
jobTreeList: [ jobTreeList: [
{ {
......
...@@ -1540,7 +1540,7 @@ export default { ...@@ -1540,7 +1540,7 @@ export default {
this.initGraph(); this.initGraph();
console.log(this.blankCanvas, 7987987987); console.log(this.blankCanvas, 7987987987);
this.$refs.container.style.background = 'url("./mxgraph/images/grid.gif")'; this.$refs.container.style.background = 'url("./mxgraph/images/grid.gif")';
this.$parent.dtads(); // this.$parent.dtads();
}, },
// filters: { // filters: {
...@@ -2048,6 +2048,7 @@ export default { ...@@ -2048,6 +2048,7 @@ export default {
if (label) { if (label) {
if (cell.isEdge() && cell.value.nodeName == "TransHop") { if (cell.isEdge() && cell.value.nodeName == "TransHop") {
return '<img src="' + label + '" width="16" height="16" />'; return '<img src="' + label + '" width="16" height="16" />';
} else if (cell.isEdge() && cell.value.nodeName == "JobHop") { } else if (cell.isEdge() && cell.value.nodeName == "JobHop") {
console.log(label, "label"); console.log(label, "label");
// var jsonArray = JSON.parse(label), label = ''; // var jsonArray = JSON.parse(label), label = '';
...@@ -2062,7 +2063,12 @@ export default { ...@@ -2062,7 +2063,12 @@ export default {
return label; return label;
} else { } else {
if (this.curFileType == "transformation") {
return decodeURIComponent(label) + " " + "X" + cell.value.attributes.copies.value; return decodeURIComponent(label) + " " + "X" + cell.value.attributes.copies.value;
}else{
return decodeURIComponent(label)
}
} }
} }
...@@ -2164,8 +2170,21 @@ export default { ...@@ -2164,8 +2170,21 @@ export default {
pamer2.append("stepName", "all"); pamer2.append("stepName", "all");
valueFormat(pamer2).then((res) => { valueFormat(pamer2).then((res) => {
this.fieldFormat = res; this.fieldFormat = res;
}); });if (this.curFileType == "transformation" && cell.dis == "step6" ||
if (this.curFileType == "transformation" && cell.dis == "step22" || cell.value.attributes.ctype.value == "getXMLData") {
this.xmlFileInputDialog = !this.xmlFileInputDialog
this.form = this.showDataFunc()
setTimeout(() => {
this.$refs.xmlFileInput.clickFun(this.graph,this.form);
}, 500);
}else if (this.curFileType == "transformation" && cell.dis == "step166" ||
cell.value.attributes.ctype.value == "Mapping") {
this.mappingDialog = !this.mappingDialog
this.form = this.showDataFunc()
setTimeout(() => {
this.$refs.mapping.clickFun(this.graph,this.form);
}, 500);
}else if (this.curFileType == "transformation" && cell.dis == "step56" ||
cell.value.attributes.ctype.value == "Unique") { cell.value.attributes.ctype.value == "Unique") {
this.toRepeatDialog = !this.toRepeatDialog this.toRepeatDialog = !this.toRepeatDialog
this.form = this.showDataFunc() this.form = this.showDataFunc()
...@@ -2173,7 +2192,7 @@ export default { ...@@ -2173,7 +2192,7 @@ export default {
this.$refs.toRepeat.clickFun(this.graph,this.form); this.$refs.toRepeat.clickFun(this.graph,this.form);
}, 500); }, 500);
}else if (this.curFileType == "transformation" && cell.dis == "step27" || }else if (this.curFileType == "transformation" && cell.dis == "step61" ||
cell.value.attributes.ctype.value == "SelectValues") { cell.value.attributes.ctype.value == "SelectValues") {
this.selectFieldDialog = !this.selectFieldDialog this.selectFieldDialog = !this.selectFieldDialog
this.form = this.showDataFunc() this.form = this.showDataFunc()
...@@ -2182,7 +2201,7 @@ export default { ...@@ -2182,7 +2201,7 @@ export default {
this.$refs.selectField.clickFun(this.graph,this.form); this.$refs.selectField.clickFun(this.graph,this.form);
}, 500); }, 500);
}else if (this.curFileType == "transformation" && }else if (this.curFileType == "transformation" &&
cell.dis == "step50" || cell.dis == "step130" ||
cell.value.attributes.ctype.value == "MergeRows" cell.value.attributes.ctype.value == "MergeRows"
) { ) {
this.mergeRecordsDialog = !this.mergeRecordsDialog; this.mergeRecordsDialog = !this.mergeRecordsDialog;
...@@ -2192,7 +2211,7 @@ export default { ...@@ -2192,7 +2211,7 @@ export default {
}, 500); }, 500);
return; return;
} else if (this.curFileType == "transformation" && } else if (this.curFileType == "transformation" &&
cell.dis == "step64" || cell.dis == "step162" ||
cell.value.attributes.ctype.value == "GetVariable" cell.value.attributes.ctype.value == "GetVariable"
) { ) {
this.getVariableDialog = !this.getVariableDialog; this.getVariableDialog = !this.getVariableDialog;
...@@ -2202,7 +2221,7 @@ export default { ...@@ -2202,7 +2221,7 @@ export default {
}, 500); }, 500);
return; return;
} else if (this.curFileType == "transformation" && } else if (this.curFileType == "transformation" &&
cell.dis == "step65" || cell.dis == "step163" ||
cell.value.attributes.ctype.value == "SetVariable" cell.value.attributes.ctype.value == "SetVariable"
) { ) {
this.setVariableDialog = !this.setVariableDialog; this.setVariableDialog = !this.setVariableDialog;
...@@ -2213,7 +2232,7 @@ export default { ...@@ -2213,7 +2232,7 @@ export default {
return; return;
} }
if (this.curFileType == "transformation" && if (this.curFileType == "transformation" &&
cell.dis == "step29" || cell.dis == "step66" ||
cell.value.attributes.ctype.value == "SortRows" cell.value.attributes.ctype.value == "SortRows"
) { ) {
this.sortRecordDialog = !this.sortRecordDialog; this.sortRecordDialog = !this.sortRecordDialog;
...@@ -2223,7 +2242,7 @@ export default { ...@@ -2223,7 +2242,7 @@ export default {
}, 500); }, 500);
return; return;
} else if ( } else if (
(this.curFileType == "transformation" && cell.ids == "step1") || (this.curFileType == "transformation" && cell.ids == "step4") ||
cell.value.attributes.ctype.value == "ExcelInput" cell.value.attributes.ctype.value == "ExcelInput"
) { ) {
this.excelLnput = !this.excelLnput; this.excelLnput = !this.excelLnput;
...@@ -2244,7 +2263,7 @@ export default { ...@@ -2244,7 +2263,7 @@ export default {
this.file = q.file; this.file = q.file;
return; return;
} else if (this.curFileType == "transformation" && } else if (this.curFileType == "transformation" &&
cell.ids == "step7" || cell.ids == "step28" ||
cell.value.attributes.ctype.value == "TableInput" cell.value.attributes.ctype.value == "TableInput"
) { ) {
this.TableInputDialog = !this.TableInputDialog; this.TableInputDialog = !this.TableInputDialog;
...@@ -2256,7 +2275,7 @@ export default { ...@@ -2256,7 +2275,7 @@ export default {
return; return;
} else if (this.curFileType == "transformation" && } else if (this.curFileType == "transformation" &&
cell.ids == "step6" || cell.ids == "step25" ||
cell.value.attributes.ctype.value == "SystemInfo" cell.value.attributes.ctype.value == "SystemInfo"
) { ) {
this.SystemInfoDialog = !this.SystemInfoDialog; this.SystemInfoDialog = !this.SystemInfoDialog;
...@@ -2266,7 +2285,7 @@ export default { ...@@ -2266,7 +2285,7 @@ export default {
}, 500); }, 500);
return; return;
} else if ( } else if (
(this.curFileType == "transformation" && cell.ids == "step5") || (this.curFileType == "transformation" && cell.ids == "step21") ||
cell.value.attributes.ctype.value == "DataGrid" cell.value.attributes.ctype.value == "DataGrid"
) { ) {
this.ConstantDialog = !this.ConstantDialog; this.ConstantDialog = !this.ConstantDialog;
...@@ -2277,7 +2296,7 @@ export default { ...@@ -2277,7 +2296,7 @@ export default {
}, 500); }, 500);
return; return;
} else if ( } else if (
(this.curFileType == "transformation" && cell.ids == "step4") || (this.curFileType == "transformation" && cell.ids == "step19") ||
cell.value.attributes.ctype.value == "RandomValue" cell.value.attributes.ctype.value == "RandomValue"
) { ) {
this.RandomValueDialog = !this.RandomValueDialog; this.RandomValueDialog = !this.RandomValueDialog;
...@@ -2287,7 +2306,7 @@ export default { ...@@ -2287,7 +2306,7 @@ export default {
}, 500); }, 500);
return; return;
} else if ( } else if (
(this.curFileType == "transformation" && cell.ids == "step3") || (this.curFileType == "transformation" && cell.ids == "step18") ||
cell.value.attributes.ctype.value == "RowGenerator" cell.value.attributes.ctype.value == "RowGenerator"
) { ) {
this.RowGeneratorDialog = !this.RowGeneratorDialog; this.RowGeneratorDialog = !this.RowGeneratorDialog;
...@@ -2297,7 +2316,7 @@ export default { ...@@ -2297,7 +2316,7 @@ export default {
}, 500); }, 500);
return; return;
} else if ( } else if (
(this.curFileType == "transformation" && cell.ids == "step2") || (this.curFileType == "transformation" && cell.ids == "step17") ||
cell.value.attributes.ctype.value == "TextFileInput" cell.value.attributes.ctype.value == "TextFileInput"
) { ) {
this.TextFileInputDialog = !this.TextFileInputDialog; this.TextFileInputDialog = !this.TextFileInputDialog;
...@@ -2308,7 +2327,7 @@ export default { ...@@ -2308,7 +2327,7 @@ export default {
}, 500); }, 500);
return; return;
} else if ( } else if (
cell.ids == "step17" || cell.ids == "step46" ||
cell.value.attributes.ctype.value == "TableOutput" cell.value.attributes.ctype.value == "TableOutput"
) { ) {
//表输出 //表输出
...@@ -2320,7 +2339,7 @@ export default { ...@@ -2320,7 +2339,7 @@ export default {
// this.$refs.tableOutPut.clickFun(this.graph); // this.$refs.tableOutPut.clickFun(this.graph);
return; return;
} else if ( } else if (
cell.ids == "step16" || cell.ids == "step44" ||
cell.value.attributes.ctype.value == "Update" cell.value.attributes.ctype.value == "Update"
) { ) {
//更新 //更新
...@@ -2332,7 +2351,7 @@ export default { ...@@ -2332,7 +2351,7 @@ export default {
}, 500); }, 500);
return; return;
} else if ( } else if (
cell.ids == "step15" || cell.ids == "step43" ||
cell.value.attributes.ctype.value == "TextFileOutput" cell.value.attributes.ctype.value == "TextFileOutput"
) { ) {
//文本文件输出 //文本文件输出
...@@ -2341,7 +2360,7 @@ export default { ...@@ -2341,7 +2360,7 @@ export default {
this.$refs.textFile.clickFun(this.graph); //向子组件传递画布 this.$refs.textFile.clickFun(this.graph); //向子组件传递画布
return; return;
} else if ( } else if (
cell.ids == "step14" || cell.ids == "step43" ||
cell.value.attributes.ctype.value == "SynchronizeAfterMerge" cell.value.attributes.ctype.value == "SynchronizeAfterMerge"
) { ) {
//数据同步 //数据同步
...@@ -2350,7 +2369,7 @@ export default { ...@@ -2350,7 +2369,7 @@ export default {
this.$refs.syn.clickFun(this.graph); //向子组件传递画布 this.$refs.syn.clickFun(this.graph); //向子组件传递画布
return; return;
} else if ( } else if (
cell.ids == "step13" || cell.ids == "step41" ||
cell.value.attributes.ctype.value == "InsertUpdate" cell.value.attributes.ctype.value == "InsertUpdate"
) { ) {
//插入、更新 //插入、更新
...@@ -2359,7 +2378,7 @@ export default { ...@@ -2359,7 +2378,7 @@ export default {
this.$refs.insertOrdate.clickFun(this.graph); //向子组件传递画布 this.$refs.insertOrdate.clickFun(this.graph); //向子组件传递画布
return; return;
} else if ( } else if (
cell.ids == "step12" || cell.ids == "step40" ||
cell.value.attributes.ctype.value == "Delete" cell.value.attributes.ctype.value == "Delete"
) { ) {
//删除 //删除
...@@ -2371,7 +2390,7 @@ export default { ...@@ -2371,7 +2390,7 @@ export default {
// this.$refs.del.clickFun(this.graph);//向子组件传递画布 // this.$refs.del.clickFun(this.graph);//向子组件传递画布
return; return;
} else if ( } else if (
cell.ids == "step11" || cell.ids == "step39" ||
cell.value.attributes.ctype.value == "SQLFileOutput" cell.value.attributes.ctype.value == "SQLFileOutput"
) { ) {
//SQL文件输出 //SQL文件输出
...@@ -2380,7 +2399,7 @@ export default { ...@@ -2380,7 +2399,7 @@ export default {
this.$refs.sql.clickFun(this.graph); //向子组件传递画布 this.$refs.sql.clickFun(this.graph); //向子组件传递画布
return; return;
} else if ( } else if (
cell.ids == "step10" || cell.ids == "step36" ||
cell.value.attributes.ctype.value == "TypeExitExcelWriterStep" cell.value.attributes.ctype.value == "TypeExitExcelWriterStep"
) { ) {
//mico-Excel输出 //mico-Excel输出
...@@ -2391,7 +2410,7 @@ export default { ...@@ -2391,7 +2410,7 @@ export default {
}, 500); }, 500);
return; return;
} else if ( } else if (
cell.ids == "step9" || cell.ids == "step34" ||
cell.value.attributes.ctype.value == "ExcelOutput" cell.value.attributes.ctype.value == "ExcelOutput"
) { ) {
//Excel输出 //Excel输出
...@@ -2471,6 +2490,14 @@ export default { ...@@ -2471,6 +2490,14 @@ export default {
this.$refs.script.clickFun(this.graph);//向子组件传递画布 this.$refs.script.clickFun(this.graph);//向子组件传递画布
}, 500); }, 500);
return; return;
} else if((this.curFileType=="job" && cell.ids == "step63") || cell.value.attributes.ctype.value == "EXPORT_REPOSITORY"){
//资源库 --导出资源库XML文件
this.importXmlFileDialog = !this.importXmlFileDialog;
this.form = this.showDataFunc()
setTimeout(() => {
this.$refs.importXmlFile.clickFun(this.graph,this.form);//向子组件传递画布
}, 500);
return;
} }
}); });
...@@ -2493,18 +2520,10 @@ export default { ...@@ -2493,18 +2520,10 @@ export default {
console.log(cell, "当前节点"); console.log(cell, "当前节点");
this.conversionSettingsDialog = !this.conversionSettingsDialog this.conversionSettingsDialog = !this.conversionSettingsDialog
}); });
menu.addItem("映射(子转换)", null, () => {
console.log(cell, "当前节点");
this.mappingDialog = !this.mappingDialog
});
menu.addItem("映射输入规范", null, () => { menu.addItem("映射输入规范", null, () => {
console.log(cell, "当前节点"); console.log(cell, "当前节点");
this.mappingInputDialog = !this.mappingInputDialog this.mappingInputDialog = !this.mappingInputDialog
}); });
menu.addItem("映射输出规范", null, () => { menu.addItem("映射输出规范", null, () => {
console.log(cell, "当前节点"); console.log(cell, "当前节点");
this.mappingOutputDialog = !this.mappingOutputDialog this.mappingOutputDialog = !this.mappingOutputDialog
...@@ -2514,10 +2533,7 @@ export default { ...@@ -2514,10 +2533,7 @@ export default {
this.nullOperationDialog = !this.nullOperationDialog this.nullOperationDialog = !this.nullOperationDialog
}); });
menu.addItem("Get data from XML", null, () => {
console.log(cell, "当前节点");
this.xmlFileInputDialog = !this.xmlFileInputDialog
});
menu.addSeparator(); menu.addSeparator();
} else { } else {
...@@ -2527,12 +2543,11 @@ export default { ...@@ -2527,12 +2543,11 @@ export default {
this.jobSettingsDialog = !this.jobSettingsDialog this.jobSettingsDialog = !this.jobSettingsDialog
}); });
menu.addItem("导出资源库到XML文件", null, () => { // menu.addItem("导出资源库到XML文件", null, () => {
console.log(cell, "当前节点"); // console.log(cell, "当前节点");
this.importXmlFileDialog = !this.importXmlFileDialog // this.importXmlFileDialog = !this.importXmlFileDialog
// console.log(typeof this.form.q);
console.log(typeof this.form.q); // });
});
menu.addSeparator(); menu.addSeparator();
} }
} else { } else {
......
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