Commit d1677b65 by 李耀琨

画好映射 (子转换),Get data from XML 页面

完成去除重复记录模块
parent 1de08991
...@@ -70,9 +70,9 @@ ...@@ -70,9 +70,9 @@
<el-table :data="fields" style="width: 100%"> <el-table :data="fields" style="width: 100%">
<el-table-column prop="name" label="命名参数"> </el-table-column> <el-table-column prop="name" label="命名参数"> </el-table-column>
<el-table-column prop="type" label="默认值"> </el-table-column> <el-table-column prop="default_value" label="默认值"> </el-table-column>
<el-table-column prop="length" label="描述"> </el-table-column> <el-table-column prop="description" label="描述"> </el-table-column>
<el-table-column label="操作" width="100px"> <el-table-column label="操作" width="100px">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -104,38 +104,38 @@ ...@@ -104,38 +104,38 @@
<div class="topRight"> <div class="topRight">
<el-form :model="logEntry" label-width="200px"> <el-form :model="logEntry" label-width="200px">
<el-form-item label="日志数据库连接:"> <el-form-item label="日志数据库连接:">
<el-input v-model="logEntry.name"></el-input> <el-input v-model="logEntry.connection"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="日志表模式:"> <el-form-item label="日志表模式:">
<el-input v-model="logEntry.name"></el-input> <el-input v-model="logEntry.schema"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="日志表:"> <el-form-item label="日志表:">
<el-input v-model="logEntry.name"></el-input> <el-input v-model="logEntry.table"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="日志记录间隔时间(秒):"> <el-form-item label="日志记录间隔时间(秒):" v-if="this.switchState == 1 || this.switchState == 3">
<el-input v-model="logEntry.name"></el-input> <el-input v-model="logEntry.size_limit_lines"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="日志记录过时时间(天):"> <el-form-item label="日志记录过时时间(天):">
<el-input v-model="logEntry.name"></el-input> <el-input v-model="logEntry.interval"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="在内存中保存的日志行数限制:"> <el-form-item label="在内存中保存的日志行数限制:" v-if="this.switchState == 1">
<el-input v-model="logEntry.name"></el-input> <el-input v-model="logEntry.timeout_days"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div class="lowerRight"> <div class="lowerRight">
<el-table <el-table
:data="tableData" :data="tableData"
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="date" label="启用"> </el-table-column> <el-table-column prop="enabled" label="启用"> </el-table-column>
<el-table-column prop="name" label="字段名称"> </el-table-column> <el-table-column prop="name" label="字段名称"> </el-table-column>
<el-table-column prop="address" label="步骤名称"></el-table-column> <el-table-column prop="subject" label="步骤名称" v-if="this.switchState == 1"></el-table-column>
<el-table-column prop="address" label="字段描述"></el-table-column> <el-table-column prop="description" label="字段描述"></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
...@@ -154,19 +154,19 @@ ...@@ -154,19 +154,19 @@
<el-tab-pane label="日期"> <el-tab-pane label="日期">
<el-form :model="conversionForm" label-width="160px"> <el-form :model="conversionForm" label-width="160px">
<el-form-item label="最大日期数据库连接:"> <el-form-item label="最大日期数据库连接:">
<el-input v-model="conversionForm.name"></el-input> <el-input v-model="conversionForm.table"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="最大日期表:"> <el-form-item label="最大日期表:">
<el-input v-model="conversionForm.name"></el-input> <el-input v-model="conversionForm.field"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="最大日期字段:"> <el-form-item label="最大日期字段:">
<el-input v-model="conversionForm.name"></el-input> <el-input v-model="conversionForm.offset"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="最大日期偏移(秒):"> <el-form-item label="最大日期偏移(秒):">
<el-input v-model="conversionForm.name"></el-input> <el-input v-model="conversionForm.maxdiff"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="最大日期区别(秒):"> <el-form-item label="最大日期区别(秒):">
<el-input v-model="conversionForm.name"></el-input> <el-input v-model="conversionForm.maxdate"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
...@@ -176,9 +176,9 @@ ...@@ -176,9 +176,9 @@
<el-table :data="fields" style="width: 100%"> <el-table :data="fields" style="width: 100%">
<el-table-column prop="name" label="数据库连接"> </el-table-column> <el-table-column prop="name" label="数据库连接"> </el-table-column>
<el-table-column prop="type" label="表"> </el-table-column> <el-table-column prop="default_value" label="表"> </el-table-column>
<el-table-column prop="length" label="字段"> </el-table-column> <el-table-column prop="description" label="字段"> </el-table-column>
<el-table-column label="操作" width="100px"> <el-table-column label="操作" width="100px">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -201,40 +201,40 @@ ...@@ -201,40 +201,40 @@
<el-tab-pane label="杂项"> <el-tab-pane label="杂项">
<el-form :model="conversionForm" label-width="230px"> <el-form :model="conversionForm" label-width="230px">
<el-form-item label="记录集合里的记录数:"> <el-form-item label="记录集合里的记录数:">
<el-input v-model="conversionForm.name"></el-input> <el-input v-model="conversionForm.size_rowset"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="转换时是否在日志中记录反馈行?:"> <el-form-item label="转换时是否在日志中记录反馈行?:">
<el-checkbox <el-checkbox
v-model="conversionForm.errorIgnored" v-model="conversionForm.feedback_shown"
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 v-model="conversionForm.name"></el-input> <el-input v-model="conversionForm.feedback_size"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="使用唯一连接:"> <el-form-item label="使用唯一连接:">
<el-checkbox <el-checkbox
v-model="conversionForm.errorIgnored" v-model="conversionForm.unique_connections"
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 v-model="conversionForm.name"></el-input> <el-input v-model="conversionForm.shared_objects_file"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="管理线程优先级:"> <el-form-item label="管理线程优先级:">
<el-checkbox <el-checkbox
v-model="conversionForm.errorIgnored" v-model="conversionForm.using_thread_priorities"
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 v-model="conversionForm.name"></el-input> <el-input v-model="conversionForm.trans_type"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
...@@ -242,17 +242,17 @@ ...@@ -242,17 +242,17 @@
<el-form :model="conversionForm" label-width="180px"> <el-form :model="conversionForm" label-width="180px">
<el-form-item label="开启步骤性能监控?:"> <el-form-item label="开启步骤性能监控?:">
<el-checkbox <el-checkbox
v-model="conversionForm.errorIgnored" v-model="conversionForm.capture_step_performance"
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 v-model="conversionForm.name"></el-input> <el-input v-model="conversionForm.step_performance_capturing_delay"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="内存中最大的快照数量:"> <el-form-item label="内存中最大的快照数量:">
<el-input v-model="conversionForm.name"></el-input> <el-input v-model="conversionForm.step_performance_capturing_size_limit"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
...@@ -357,7 +357,7 @@ export default { ...@@ -357,7 +357,7 @@ export default {
}; };
</script> </script>
<style> <style lang="scss" scoped>
.leftDiv { .leftDiv {
width: 150px; width: 150px;
height: 500px; height: 500px;
......
...@@ -361,7 +361,6 @@ export default { ...@@ -361,7 +361,6 @@ export default {
metadataBox: false, metadataBox: false,
selectModifyBox:false, selectModifyBox:false,
removeFieldBox:false, removeFieldBox:false,
fields:[], fields:[],
remove:[], remove:[],
meta:[], meta:[],
......
<template>
<div class="customConstant">
<el-dialog
title="去除重复记录"
:visible.sync="toRepeatDialog"
width="800px"
:before-close="handleCloseFun"
>
<el-form ref="from" :model="form" label-width="120px">
<el-form-item label="步骤名称:">
<el-input v-model="form.label"></el-input>
</el-form-item>
</el-form>
<el-form ref="from" :model="form" label-width="160px">
<el-form-item label="增加计数器到输出:">
<el-checkbox
v-model="form.count_rows"
true-label="Y"
false-label="N"
></el-checkbox>
</el-form-item>
<el-form-item label="计数器字段:">
<el-input v-model="form.count_field"></el-input>
</el-form-item>
<el-form-item label="重定向重复记录:">
<el-checkbox
v-model="form.reject_duplicate_row"
true-label="Y"
false-label="N"
></el-checkbox>
</el-form-item>
<el-form-item label="错误描述:">
<el-input v-model="form.error_description"></el-input>
</el-form-item>
</el-form>
<el-card class="box-card">
<el-form ref="form" :model="form" label-width="0px">
<el-button type="text" @click="addSheet(true)" style="margin: 10px"
>添加字段</el-button
>
<el-button type="text" @click="getTheField">获取字段</el-button>
<el-form-item>
<el-table :data="fields" style="width: 100%">
<el-table-column label="字段">
<el-table-column type="index" width="50"> </el-table-column>
<el-table-column prop="name" label="字段名称"></el-table-column>
<el-table-column prop="case_insensitive" label="忽略大小写">
<template slot-scope="scope">
{{ scope.row.case_insensitive == "Y" ? "是" : "否" }}
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
@click="addSheet(false, scope.row)"
type="text"
size="small"
>编辑</el-button
>
<el-button
type="text"
size="small"
@click="deleteRow(scope.$index, fields)"
>删除</el-button
>
</template>
</el-table-column>
</el-table-column>
</el-table>
</el-form-item>
</el-form>
</el-card>
<span slot="footer" class="dialog-footer">
<el-button @click="handleCloseFun">取 消</el-button>
<el-button type="primary" @click="toRepeatDialogFun">确 定</el-button>
</span>
</el-dialog>
<el-dialog
title="添加字段"
:visible.sync="addField"
width="500px"
:before-close="handleClose"
:modal="false"
>
<el-form ref="form" :model="fiel" label-width="160px">
<el-form-item label="字段名称:">
<el-input v-model="fiel.name"></el-input>
</el-form-item>
<el-form-item label="忽略大小写:">
<el-select
v-model="fiel.case_insensitive"
style="width: 100%"
clearable
>
<el-option label="是" value="Y" />
<el-option label="否" value="N" />
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addField = false">取 消</el-button>
<el-button type="primary" @click="addFieldState">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import browseFiles from "../appBulletFrame/browseFiles";
import mxgraph from "@/utils/mxgraph";
const {
mxGraph,
mxUtils,
mxEvent,
mxKeyHandler,
mxRubberband,
mxConstants,
mxStencilRegistry,
mxStencil,
mxCodec,
mxGraphModel,
mxGeometry,
} = mxgraph;
import {
valueFormat,
valueMeta,
formatMapperLineTerminator,
availableCharsets,
compressionProviderNames,
inputOutputFields,
} from "@/api/kettle/link";
export default {
props: ["form", "saveOutputDialog", "toRepeatDialog", "nodeData"], //从父组件传过来的值
components: {
browseFiles,
},
data() {
return {
fields: [],
fiel: {},
random: {},
dataState: false,
addField: false,
newGraph: [],
};
},
created() {
},
methods: {
clickFun(graph, val) {
console.log(graph, "双击获取值");
this.newGraph = graph;
this.fields = JSON.parse(val.fields);
},
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.fields = res;
});
},
handleCloseFun() {
this.$emit("update:toRepeatDialog", false);
},
toRepeatDialogFun() {
this.handleCloseFun();
this.form.fields = JSON.stringify(this.fields);
this.saveOutputDialog(this.form);
},
addSheet(state, val) {
this.addField = !this.addField;
this.dataState = state;
if (state) {
this.fiel = {};
} else {
this.fiel = val;
}
},
addFieldState() {
this.addField = !this.addField;
if (this.dataState) {
this.fields.push(this.fiel);
}
},
// randomValueFuncFun() {
// randomValueFunc().then((res) => {
// this.random = res;
// });
// },
deleteRow(index, rows) {
rows.splice(index, 1);
},
// 关闭弹框
handleClose(done) {
this.$confirm("确认关闭?")
.then((_) => {
done();
})
.catch((_) => {});
},
},
};
</script>
<style lang="scss" scoped>
* {
outline: none;
}
</style>
...@@ -888,6 +888,37 @@ ...@@ -888,6 +888,37 @@
:saveOutputDialog="saveOutputDialog" :saveOutputDialog="saveOutputDialog"
></selectField> ></selectField>
<!-- 去除重复 -->
<toRepeat
ref="toRepeat"
:disabed="true"
:form="form"
:nodeData="nodeData"
:toRepeatDialog.sync="toRepeatDialog"
:saveOutputDialog="saveOutputDialog"
></toRepeat>
<!-- 映射(子转换) -->
<mapping
ref="mapping"
:disabed="true"
:form="form"
:nodeData="nodeData"
:mappingDialog.sync="mappingDialog"
:saveOutputDialog="saveOutputDialog"
></mapping>
<xmlFileInput
ref="xmlFileInput"
:disabed="true"
:form="form"
:nodeData="nodeData"
:xmlFileInputDialog.sync="xmlFileInputDialog"
:saveOutputDialog="saveOutputDialog"
></xmlFileInput>
...@@ -1076,6 +1107,7 @@ ...@@ -1076,6 +1107,7 @@
<conversionSettings <conversionSettings
ref="conversionSettings" ref="conversionSettings"
:conversionSettingsDialog.sync="conversionSettingsDialog" :conversionSettingsDialog.sync="conversionSettingsDialog"
></conversionSettings> ></conversionSettings>
...@@ -1144,6 +1176,9 @@ import setVariable from "../appBulletFrame/setVariable"; //设置变量 ...@@ -1144,6 +1176,9 @@ import setVariable from "../appBulletFrame/setVariable"; //设置变量
import getVariable from "../appBulletFrame/getVariable"; //获取变量 import getVariable from "../appBulletFrame/getVariable"; //获取变量
import mergeRecords from "../appBulletFrame/mergeRecords"; //合并记录 import mergeRecords from "../appBulletFrame/mergeRecords"; //合并记录
import selectField from "../appBulletFrame/selectField"; //选择字段 import selectField from "../appBulletFrame/selectField"; //选择字段
import toRepeat from "../appBulletFrame/toRepeat" //去除重复
import mapping from "../appBulletFrame/mapping" //映射(子转换)
import xmlFileInput from "../appBulletFrame/xmlFileInput" //xml文件输入
import conversionSettings from "../appBulletFrame/conversionSettings" //转换设置 import conversionSettings from "../appBulletFrame/conversionSettings" //转换设置
...@@ -1262,6 +1297,9 @@ export default { ...@@ -1262,6 +1297,9 @@ export default {
mergeRecordsDialog: false, //合并记录 mergeRecordsDialog: false, //合并记录
selectFieldDialog:false,//选择字段 selectFieldDialog:false,//选择字段
conversionSettingsDialog:false,//转换设置 conversionSettingsDialog:false,//转换设置
toRepeatDialog:false,//去除重复
mappingDialog:false,//映射(子转换)
xmlFileInputDialog:false,//xml文件输入
// 流程弹窗组件start---------- // 流程弹窗组件start----------
// 流程弹窗组件end------------ // 流程弹窗组件end------------
...@@ -1361,6 +1399,9 @@ export default { ...@@ -1361,6 +1399,9 @@ export default {
mergeRecords, //合并记录 mergeRecords, //合并记录
selectField,//选择字段 selectField,//选择字段
conversionSettings,//转换设置 conversionSettings,//转换设置
toRepeat,//去除重复
mapping,//映射 (子转换)
xmlFileInput,//xml 文件输入
// 作业弹簧组件end---------------------- // 作业弹簧组件end----------------------
// 流程弹窗组件start--------- // 流程弹窗组件start---------
switchDialog, switchDialog,
...@@ -2060,7 +2101,15 @@ export default { ...@@ -2060,7 +2101,15 @@ export default {
valueFormat(pamer2).then((res) => { valueFormat(pamer2).then((res) => {
this.fieldFormat = res; this.fieldFormat = res;
}); });
if ( cell.dis == "step27" || if (cell.dis == "step22" ||
cell.value.attributes.ctype.value == "Unique") {
this.toRepeatDialog = !this.toRepeatDialog
this.form = this.showDataFunc()
setTimeout(() => {
this.$refs.toRepeat.clickFun(this.graph,this.form);
}, 500);
}else if ( cell.dis == "step27" ||
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()
...@@ -2381,6 +2430,18 @@ export default { ...@@ -2381,6 +2430,18 @@ export default {
this.conversionSettingsDialog = !this.conversionSettingsDialog this.conversionSettingsDialog = !this.conversionSettingsDialog
}); });
menu.addItem("映射(子转换)", null, () => {
console.log(cell, "当前节点");
this.mappingDialog = !this.mappingDialog
});
menu.addItem("Get data from XML", null, () => {
console.log(cell, "当前节点");
this.xmlFileInputDialog = !this.xmlFileInputDialog
});
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