Commit 90b38d65 by 李耀琨

文本文件输入页面和生成记录页面

parent 72257ede
ENV = 'development'
#VUE_APP_BASE_API = 'http://192.168.0.2:9888/'
#VUE_APP_WS_API = 'ws://192.168.0.2:9888/'
VUE_APP_BASE_API = 'http://192.168.0.2:9888/'
VUE_APP_WS_API = 'ws://192.168.0.2:9888/'
VUE_APP_BASE_API = 'http://192.168.0.44:9882/'
VUE_APP_WS_API = 'ws://192.168.0.44:9882/'
#VUE_APP_BASE_API = 'http://192.168.0.44:9882/'
#VUE_APP_WS_API = 'ws://192.168.0.44:9882/'
......
<template>
<div class="customConstant">
<el-form ref="form" :model="form" label-width="120px">
<el-form-item label="步骤名称:">
<el-input v-model="form.name"></el-input>
</el-form-item>
</el-form>
<el-tabs type="border-card">
<el-tab-pane label="用户管理">
<el-button size="small" type="primary" style="margin: 10px"
<el-tab-pane label="元数据">
<el-button
size="small"
type="primary"
style="margin: 10px"
@click="addMetadata"
>添加元数据</el-button
>
<el-table :data="tableData" border style="width: 100%">
......@@ -19,7 +29,10 @@
<el-table-column prop="nullable" label="设为空?"> </el-table-column>
<el-table-column label="操作" width="100px">
<template slot-scope="scope">
<el-button @click="customClick(scope.row)" type="text" size="small"
<el-button
@click="customClick(scope.row)"
type="text"
size="small"
>编辑</el-button
>
<el-button
......@@ -33,34 +46,35 @@
</el-table>
</el-tab-pane>
<el-tab-pane label="配置管理">
<el-button size="small" type="primary" style="margin: 10px"
<el-tab-pane label="数据">
<el-button
size="small"
type="primary"
style="margin: 10px"
@click="addData"
>添加数据</el-button
>
<el-table :data="data" border style="width: 100%">
<el-table-column prop="name" 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="length" label="长度"> </el-table-column>
<el-table-column prop="precision" label="精度"> </el-table-column>
<el-table-column prop="currencyType" label="货币类型">
<el-table-column
v-for="item in tableData"
:key="item.id"
:label="item.name"
:prop="item.name"
>
</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="value" label="值"> </el-table-column>
<el-table-column prop="nullable" label="设为空?"> </el-table-column>
<el-table-column label="操作" width="100px">
<template slot-scope="scope">
<el-button @click="customClick(scope.row)" type="text" size="small"
<el-button
@click="valueClick(scope.row)"
type="text"
size="small"
>编辑</el-button
>
<el-button
type="text"
size="small"
@click="deletecustom(scope.$index, tableData)"
@click="deleteValue(scope.$index, data)"
>删除</el-button
>
</template>
......@@ -69,11 +83,6 @@
</el-tab-pane>
</el-tabs>
<el-dialog
title="添加元数据"
:visible.sync="metadata"
......@@ -90,7 +99,7 @@
<el-select v-model="metadataForm.type" style="width: 100%">
<el-option
v-for="item in fieldType"
:key="item.id"
:key="item.index"
:label="item.name"
:value="item.name"
/>
......@@ -108,23 +117,23 @@
</el-select>
</el-form-item>
<el-form-item label="长度:">
<el-form-item label="长度:">
<el-input v-model="metadataForm.length"></el-input>
</el-form-item>
<el-form-item label="精度:">
<el-form-item label="精度:">
<el-input v-model="metadataForm.precision"></el-input>
</el-form-item>
<el-form-item label="货币类型:">
<el-form-item label="货币类型:">
<el-input v-model="metadataForm.currencyType"></el-input>
</el-form-item>
<el-form-item label="小数:">
<el-form-item label="小数:">
<el-input v-model="metadataForm.decimal"></el-input>
</el-form-item>
<el-form-item label="分组:">
<el-form-item label="分组:">
<el-input v-model="metadataForm.group"></el-input>
</el-form-item>
......@@ -132,17 +141,12 @@
<el-input v-model="metadataForm.value"></el-input>
</el-form-item>
<el-form-item label="分组:">
<el-input v-model="metadataForm.group"></el-input>
</el-form-item>
<el-form-item label="设为空?:">
<el-select v-model="metadataForm.nullable" style="width: 100%">
<el-option label="非空" value="0"></el-option>
<el-option label="空" value="1"></el-option>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
......@@ -151,22 +155,44 @@
</span>
</el-dialog>
<el-dialog
title="添加数据"
:visible.sync="addValue"
width="500px"
:before-close="handleClose"
:modal="false"
>
<el-form ref="form" :model="ValueForm" label-width="120px">
<el-form-item
v-for="item in tableData"
:key="item.index"
:label="item.name"
>
<el-input v-model="ValueForm[item.name]"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addValue = false">取 消</el-button>
<el-button type="primary" @click="addValuePush">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { valueFormat,valueMeta } from "@/api/kettle/link";
import { valueFormat, valueMeta } from "@/api/kettle/link";
export default {
props: ["custom"],
props: [""],
data() {
return {
metadataForm:{},
metadata:false,
form: {},
metadataForm: {},
metadata: false,
addValue: false,
ValueForm: {},
activeName: "first",
data:[
],
data: [],
tableData: [
{
date: "2016-05-02",
......@@ -175,22 +201,23 @@ export default {
},
{
date: "2016-05-04",
name: "王小虎",
name: "456456",
address: "上海市普陀区金沙江路 1517 弄",
},
{
date: "2016-05-01",
name: "王小虎",
name: "4654",
address: "上海市普陀区金沙江路 1519 弄",
},
{
date: "2016-05-03",
name: "王小虎",
name: "710245",
address: "上海市普陀区金沙江路 1516 弄",
},
],
fieldFormat:{},
fieldType:{},
fieldFormat: {},
fieldType: {},
valueForms:{} //
};
},
......@@ -201,8 +228,26 @@ export default {
methods: {
// 关闭弹框
addValuePush(){
this.addValue = !this.addValue
this.data.push(this.ValueForm)
},
addData() {
this.addValue = !this.addValue;
},
valueClick(val) {
this.addValue = !this.addValue
this.metadataForm = val;
},
addMetadata() {
this.metadata = !this.metadata;
this.metadataForm = [];
},
// 关闭弹框
handleClose(done) {
this.$confirm("确认关闭?")
.then((_) => {
......@@ -211,7 +256,12 @@ export default {
.catch((_) => {});
},
deletecustom(index, rows) {
deleteValue(index, rows){
rows.splice(index, 1);
},
deletecustom(index, rows) {
rows.splice(index, 1);
},
customClick(val) {
......@@ -219,22 +269,19 @@ export default {
this.metadataForm = val;
},
valueFormatFun() {
let pamer2 = new FormData(); // 创建form对象
pamer2.append("valueType","all");
let pamer2 = new FormData(); // 创建form对象
pamer2.append("valueType", "all");
valueFormat(pamer2).then((res) => {
this.fieldFormat = res;
});
},
valueMetaFun(){
valueMeta().then(res=>{
this.fieldType = res
})
valueMetaFun() {
valueMeta().then((res) => {
this.fieldType = res;
});
},
},
};
</script>
......
<template>
<div class="customConstant">
<el-form ref="form" :model="form" label-width="120px">
<el-form-item label="步骤名称:">
<el-input v-model="form.name"></el-input>
</el-form-item>
</el-form>
<el-card class="box-card">
<el-form ref="form" :model="form" label-width="250px">
<el-form-item label="限制:">
<el-input v-model="form.rowLimit"></el-input>
</el-form-item>
<el-form-item label="Never stop generating rows:">
<el-checkbox v-model="form.neverEnding"></el-checkbox>
</el-form-item>
<el-form-item label="Interval in ms(delay):">
<el-input v-model="form.intervalInMs" :disabled="!form.neverEnding"></el-input>
</el-form-item>
<el-form-item label="Current row time field name:">
<el-input v-model="form.rowTimeField" :disabled="!form.neverEnding"></el-input>
</el-form-item>
<el-form-item label="Previous row time field name:">
<el-input v-model="form.lastTimeField" :disabled="!form.neverEnding"></el-input>
</el-form-item>
</el-form>
</el-card>
<br>
<el-card class="box-card">
<el-button size="small" type="primary" style="margin: 10px"
@click="addField">添加字段</el-button
>
<el-table :data="tableData" border style="width: 100%">
<el-table-column prop="name" 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="length" label="长度"> </el-table-column>
<el-table-column prop="precision" label="精度"> </el-table-column>
<el-table-column prop="currencyType" 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="value" label="值"> </el-table-column>
<el-table-column prop="nullable" label="设为空?"> </el-table-column>
<el-table-column label="操作" width="100px">
<template slot-scope="scope">
<el-button @click="customClick(scope.row)" type="text" size="small"
>编辑</el-button
>
<el-button
type="text"
size="small"
@click="deletecustom(scope.$index, tableData)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</el-card>
<el-dialog
title="添加字段"
:visible.sync="metadata"
width="500px"
:before-close="handleClose"
:modal="false"
>
<el-form ref="form" :model="metadataForm" label-width="160px">
<el-form-item label="名称:">
<el-input v-model="metadataForm.name"></el-input>
</el-form-item>
<el-form-item label="类型:">
<el-select v-model="metadataForm.type" style="width: 100%">
<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="metadataForm.format" style="width: 100%">
<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="metadataForm.length"></el-input>
</el-form-item>
<el-form-item label="精度:">
<el-input v-model="metadataForm.precision"></el-input>
</el-form-item>
<el-form-item label="货币类型:">
<el-input v-model="metadataForm.currencyType"></el-input>
</el-form-item>
<el-form-item label="小数:">
<el-input v-model="metadataForm.decimal"></el-input>
</el-form-item>
<el-form-item label="分组:">
<el-input v-model="metadataForm.group"></el-input>
</el-form-item>
<el-form-item label="值:">
<el-input v-model="metadataForm.value"></el-input>
</el-form-item>
<el-form-item label="设为空?:">
<el-select v-model="metadataForm.nullable" style="width: 100%">
<el-option label="非空" value="0"></el-option>
<el-option label="空" value="1"></el-option>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="metadata = false">取 消</el-button>
<el-button type="primary" @click="metadata = false">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { valueFormat,valueMeta } from "@/api/kettle/link";
export default {
props: ["custom"],
data() {
return {
form:{},
metadataForm:{},
metadata:false,
activeName: "first",
data:[
],
tableData: [
{
date: "2016-05-02",
name: "王小虎",
address: "上海市普陀区金沙江路 1518 弄",
},
{
date: "2016-05-04",
name: "王小虎",
address: "上海市普陀区金沙江路 1517 弄",
},
{
date: "2016-05-01",
name: "王小虎",
address: "上海市普陀区金沙江路 1519 弄",
},
{
date: "2016-05-03",
name: "王小虎",
address: "上海市普陀区金沙江路 1516 弄",
},
],
fieldFormat:{},
fieldType:{},
};
},
created() {
this.valueFormatFun();
this.valueMetaFun();
},
methods: {
addField(){
this.metadata = !this.metadata;
this.metadataForm = [];
},
// 关闭弹框
handleClose(done) {
this.$confirm("确认关闭?")
.then((_) => {
done();
})
.catch((_) => {});
},
deletecustom(index, rows) {
rows.splice(index, 1);
},
customClick(val) {
this.metadata = !this.metadata;
this.metadataForm = val;
},
valueFormatFun() {
let pamer2 = new FormData(); // 创建form对象
pamer2.append("valueType","all");
valueFormat(pamer2).then((res) => {
this.fieldFormat = res;
});
},
valueMetaFun(){
valueMeta().then(res=>{
this.fieldType = res
})
},
},
};
</script>
<style lang="scss" scoped>
* {
outline: none;
}
</style>
<template>
<div class="getSystemInformation">
<el-form ref="form" :model="form" label-width="120px">
<el-form-item label="步骤名称:">
<el-input v-model="form.name"></el-input>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" label-width="0px">
<el-button type="primary" @click="addSheet" style="margin: 10px"
>添加字段</el-button
......
<template>
<div class="randomNumber">
<el-form ref="from" :model="form" label-width="120px">
<el-form-item label="步骤名称:">
<el-input v-model="form.name"></el-input>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" label-width="0px">
<el-button type="primary" @click="addSheet" style="margin: 10px"
......@@ -18,7 +24,7 @@
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
@click="handleClick(scope.row)"
@click="handleClick(scope.row)"
type="text"
size="small"
>编辑</el-button
......@@ -73,7 +79,7 @@
<script>
import { randomValueFunc } from "@/api/kettle/link";
export default {
props: ["random"],
props: [""],
data() {
return {
form: {},
......
<template>
<div class="tableInput">
<el-form ref="from" :model="form" label-width="120px">
<el-form-item label="步骤名称:">
<el-input v-model="form.name"></el-input>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" label-width="0px">
<el-form-item>
<el-row :gutter="10">
<el-col :span="13">
<el-select v-model="form.connection" style="width: 100%" @change="getField(form.connection)">
<el-select
v-model="form.connection"
style="width: 100%"
@change="getField"
>
<el-option
v-for="item in ComboBox"
:key="item.id"
......@@ -13,18 +24,28 @@
:value="item.name"
/>
</el-select>
<!-- <el-select v-model="form.connection" style="width: 100%" @change="getField()">
<el-option
v-for="item in ComboBox"
:key="item.id"
:label="item.name"
:value="item"
/>
</el-select> -->
</el-col>
<el-col class="line" :span="2">
<el-button size="mini">编辑</el-button></el-col
>
<el-col class="line" :span="2">
<el-button size="mini" >新建</el-button></el-col
<el-button size="mini">新建</el-button></el-col
>
<el-col class="line" :span="2">
<el-button size="mini">向导</el-button></el-col
>
<el-col class="line" :span="5">
<el-button size="mini" @click="SQLPopup">获取SQL查询语句</el-button></el-col
<el-button size="mini" @click="SQLPopup()"
>获取SQL查询语句</el-button
></el-col
>
</el-row>
</el-form-item>
......@@ -44,22 +65,22 @@
<el-form-item label="从步骤插入数据:">
<el-select v-model="form.lookup" style="width: 100%">
<el-option v-for="item in connectionNode"
:key="item.id"
:label="item.name"
:value="item.name"/>
<el-option
v-for="item in connectionNode"
:key="item.id"
:label="item.name"
:value="item.name"
/>
</el-select>
</el-form-item>
<el-form-item label="执行每一行:">
<el-checkbox v-model="form.execute_each_row"></el-checkbox>
<el-checkbox v-model="form.execute_each_row"></el-checkbox>
</el-form-item>
<el-form-item label="记录数量限制:">
<el-input v-model="form.limit"></el-input>
</el-form-item>
</el-form>
<el-dialog
......@@ -69,6 +90,14 @@
:before-close="handleClose"
:modal="false"
>
<el-tree
:data="browsingData"
:props="defaultProps"
@node-click="handleNodeClick"
></el-tree>
<span slot="footer" class="dialog-footer">
......@@ -76,58 +105,132 @@
<el-button type="primary" @click="browsing = false">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { listNames,explorer,listDatabases } from "@/api/kettle/link";
import { listNames, explorer, listDatabases } from "@/api/kettle/link";
export default {
props: ["connectionNode"],//从父组件传过来的值
props: ["connectionNode"], //从父组件传过来的值
data() {
return {
browsing:false,
browsing: false,
form: {
wLazyConversion:false,
wVariables:false,
wEachRow:false,
wLazyConversion: false,
wVariables: false,
wEachRow: false,
},
ComboBox: [],
library: [],
PopupFrom:{},
browsingData: [],
defaultProps: {
children: "children",
label: "text",
},
ComboBox: {},
libraryName:[],
};
},
created() {
this.listNamesFun();
this.listDatabasesFun();
},
methods: {
getField(val) {
this.library = this.ComboBox.find((e) => {
return e.name == val;
});
console.log(this.library);
},
SQLPopup() {
if (this.form.connection) {
this.browsing = !this.browsing;
let pamq = new FormData(); // 创建form对象
pamq.append("databaseInfo", JSON.stringify(this.library));
pamq.append("nodeId", "");
pamq.append("text", "");
pamq.append("includeElement", "15");
pamq.append("node","");
explorer(pamq).then((res) => {
console.log(res,'------------');
this.PopupFrom = res
// this.browsingData = res
let pam = new FormData(); // 创建form对象
pam.append("databaseInfo", JSON.stringify(this.library));
pam.append("nodeId", JSON.stringify(this.PopupFrom[0].nodeId).replace("\"", "").replace("\"",""));
pam.append("text", JSON.stringify(this.library.name).replace("\"", "").replace("\"",""));
pam.append("includeElement", "15");
explorer(pam).then((res) => {
console.log(res,'++++++++++++++++++');
this.browsingData = this.PopupFrom
this.browsingData[0].children = res
let itemData = this.browsingData[0]
console.log('======',itemData,res)
itemData.children = res
this.$set(this.browsingData,0,itemData)
// this.browsingData = this.PopupFrom
// this.browsingData[0].children = res
});
});
} else {
this.$message.error("请选择数据库");
}
getField(val){
console.log(val);
listDatabases({name:val}).then(res=>{
console.log(res);
})
// this.libraryName = val
},
SQLPopup(){
if (this.form.connection) {
this.browsing = !this.browsing
explorer({databaseInfo:{name:this.libraryName}}).then(res=>{
console.log(res);
})
}else{
this.$message.error("请选择数据库");
loadNode(node, resolve) {
if (node.level === 0) {
return resolve([{ name: 'region' }]);
}
if (node.level > this.PopupFrom.length) return resolve([]);
setTimeout(() => {
const data = [{
name: 'leaf',
leaf: true
}, {
name: 'zone'
}];
resolve(data);
}, 500);
},
handleClose(done) {
this.browsing = !this.browsing
// handleNodeClick(data) {
// console.log(data);
// let pam = new FormData(); // 创建form对象
// pam.append("databaseInfo", JSON.stringify(this.library));
// pam.append("nodeId", JSON.stringify(data.nodeId).replace("\"", "").replace("\"",""));
// pam.append("text", JSON.stringify(data.text).replace("\"", "").replace("\"",""));
// pam.append("includeElement", "15");
// explorer(pam).then(res=>{
// console.log(res,'..........');
// })
// },
handleClose(done) {
this.browsing = !this.browsing;
// this.$confirm("确认关闭?")
// .then((_) => {
// done();
......@@ -135,13 +238,10 @@ handleClose(done) {
// .catch((_) => {});
},
listNamesFun() {
listDatabasesFun() {
let pamer = new FormData(); // 创建form对象
pamer.append("query", "");
listNames(pamer).then((res) => {
listDatabases(pamer).then((res) => {
this.ComboBox = res;
});
......
<template>
<div class="customConstant">
<el-form ref="from" :model="form" label-width="120px">
<el-form-item label="步骤名称:">
<el-input v-model="form.name"></el-input>
</el-form-item>
</el-form>
<el-tabs type="border-card">
<el-tab-pane label="文件">
<el-form ref="form" :model="form" label-width="150px">
<el-form-item label="文件名称:">
<el-row :gutter="10">
<el-col :span="17">
<el-input v-model="form.fileName"></el-input>
</el-col>
<el-col class="line" :span="3">
<el-button size="mini">增加</el-button></el-col
>
<el-col class="line" :span="3">
<el-button size="mini">浏览</el-button></el-col
>
</el-row>
</el-form-item>
<el-form-item label="规则表达式:">
<el-input v-model="form.fileMask"></el-input>
</el-form-item>
<el-form-item label="正则表达式(排除):">
<el-input v-model="form.excludeFileMask"></el-input>
</el-form-item>
<el-form-item label="选中的文件:">
<!-- <input type="file" placeholder="上传" @change="fileChnageInput" /> -->
<el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-change="handleChange"
:show-file-list="false"
:auto-upload="false"
:disabled="form.acceptingFilenames"
>
<el-button
size="small"
type="primary"
:disabled="form.acceptingFilenames"
>点击上传</el-button
>
</el-upload>
<el-card class="box-card">
<el-table :data="fileData" style="width: 100%">
<el-table-column prop="fileName" label="文件/目录" width="120">
</el-table-column>
<el-table-column prop="filemask" label="通配符">
</el-table-column>
<el-table-column
prop="excludeFileMask"
label="通配符号(排除)"
>
</el-table-column>
<el-table-column prop="fileRequired" label="要求">
</el-table-column>
<el-table-column prop="includeSubFolders" label="包含子目录">
</el-table-column>
<el-table-column label="操作" width="120px">
<template slot-scope="scope">
<el-button
@click="handleClick(scope.row)"
type="text"
size="small"
:disabled="form.acceptingFilenames"
>编辑</el-button
>
<el-button
type="text"
size="small"
@click="deleteRow(scope.$index, fileData)"
:disabled="form.acceptingFilenames"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</el-card>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" label-width="200px">
<el-card class="box-card">
<el-form-item label="从以前步骤接受文件名:">
<el-checkbox v-model="form.acceptingFilenames"></el-checkbox>
</el-form-item>
<el-form-item label="从以前步骤接受字段名:">
<el-checkbox
v-model="form.passingThruFields"
:disabled="!form.acceptingFilenames"
></el-checkbox>
</el-form-item>
<el-form-item label="步骤读取的文件名来自:">
<el-input
v-model="form.acceptingField"
:disabled="!form.acceptingFilenames"
></el-input>
</el-form-item>
<el-form-item label="在输入里的字段被当做文件名:">
<el-input
v-model="form.acceptingStepName"
:disabled="!form.acceptingFilenames"
></el-input>
</el-form-item>
</el-card>
</el-form>
</el-tab-pane>
<el-tab-pane label="内容">
<el-form ref="form" :model="form" label-width="200px">
<el-form-item label="文件类型:">
<el-select v-model="form.fileType" style="width: 100%">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="分割符:">
<el-row :gutter="10">
<el-col :span="21">
<el-input v-model="form.separator"></el-input>
</el-col>
<el-col class="line" :span="2">
<el-button size="mini">增加</el-button></el-col
>
</el-row>
</el-form-item>
<el-form-item label="文本限定符:">
<el-input v-model="form.enclosure"></el-input>
</el-form-item>
<el-form-item label="在文本里允许换行:">
<el-checkbox v-model="form.breakInEnclosureAllowed"></el-checkbox>
</el-form-item>
<el-form-item label="逃逸字符:">
<el-input v-model="form.escapeCharacter"></el-input>
</el-form-item>
<el-form-item label="头部:">
<el-row :gutter="10">
<el-col :span="2">
<el-checkbox v-model="form.header"></el-checkbox>
</el-col>
<el-col class="line" :span="4">头部行数:</el-col>
<el-col :span="17">
<el-input
v-model="form.nrHeaderLines"
:disabled="!form.header"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="尾部:">
<el-row :gutter="10">
<el-col :span="2">
<el-checkbox v-model="form.footer"></el-checkbox>
</el-col>
<el-col class="line" :span="4">尾部行数:</el-col>
<el-col :span="17">
<el-input
v-model="form.nrFooterLines"
:disabled="!form.footer"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="包装行:">
<el-row :gutter="10">
<el-col :span="2">
<el-checkbox v-model="form.lineWrapped"></el-checkbox>
</el-col>
<el-col class="line" :span="6">以时间包装的行数:</el-col>
<el-col :span="15">
<el-input
v-model="form.nrWraps"
:disabled="!form.lineWrapped"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="分页布局(pointout):">
<el-row :gutter="10">
<el-col :span="2">
<el-checkbox v-model="form.layoutPaged"></el-checkbox>
</el-col>
<el-col class="line" :span="5">每页记录行数:</el-col>
<el-col :span="16">
<el-input
v-model="form.nrLinesPerPage"
:disabled="!form.layoutPaged"
></el-input>
</el-col>
</el-row>
<el-row :gutter="10" style="margin-top: 5px">
<el-col class="line" :span="4" :offset="2">文档头部行:</el-col>
<el-col :span="17">
<el-input
v-model="form.nrLinesDocHeader"
:disabled="!form.layoutPaged"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="压缩:">
<el-select v-model="form.fileCompression" style="width: 100%">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="没有空行:">
<el-checkbox v-model="form.noEmptyLines"></el-checkbox>
</el-form-item>
<el-form-item label="在输出包括字段名:">
<el-row :gutter="10">
<el-col :span="2">
<el-checkbox v-model="form.includeFilename"></el-checkbox>
</el-col>
<el-col class="line" :span="5">包含字段名名称:</el-col>
<el-col :span="16">
<el-input
v-model="form.filenameField"
:disabled="!form.includeFilename"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="输出包含行数:">
<el-row :gutter="10">
<el-col :span="2">
<el-checkbox v-model="form.includeRowNumber"></el-checkbox>
</el-col>
<el-col class="line" :span="5">行数字段名称:</el-col>
<el-col :span="16">
<el-input
v-model="form.rowNumberField"
:disabled="!form.includeRowNumber"
></el-input>
</el-col>
</el-row>
<el-row :gutter="10" style="margin-top: 5px">
<el-col class="line" :span="5" :offset="2">按文件取行号:</el-col>
<el-col :span="1">
<el-checkbox
v-model="form.rowNumberByFile"
:disabled="!form.includeRowNumber"
></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="格式:">
<el-select v-model="form.fileFormat" style="width: 100%">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="编码:">
<el-select v-model="form.encoding" style="width: 100%">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="记录数量限制:">
<el-input v-model="form.rowLimit"></el-input>
</el-form-item>
<el-form-item label="解析日期的时候是否严格要求:">
<el-checkbox v-model="form.dateFormatLenient"></el-checkbox>
</el-form-item>
<el-form-item label="本地日期格式:">
<el-input v-model="form.dateFormatLocale"></el-input>
</el-form-item>
<el-form-item label="添加文件名:">
<el-checkbox v-model="form.addresult"></el-checkbox>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="错误处理">
<el-form ref="form" :model="form" label-width="160px">
<el-form-item label="忽略错误:">
<el-checkbox v-model="form.errorIgnored"></el-checkbox>
</el-form-item>
<el-form-item label="忽略错误文件:">
<el-checkbox
v-model="form.skipBadFiles"
:disabled="!this.form.errorIgnored"
></el-checkbox>
</el-form-item>
<el-form-item label="错误文件字段名:">
<el-input
v-model="form.fileErrorField"
:disabled="!this.form.errorIgnored || !this.form.skipBadFiles"
></el-input>
</el-form-item>
<el-form-item label="文件错误信息字段名:">
<el-input
v-model="form.fileErrorMessageField"
:disabled="!this.form.errorIgnored || !this.form.skipBadFiles"
></el-input>
</el-form-item>
<el-form-item label="跳过错误行:">
<el-checkbox
v-model="form.errorLineSkipped"
:disabled="!this.form.errorIgnored"
></el-checkbox>
</el-form-item>
<el-form-item label="错误计数制度:">
<el-input
v-model="form.errorCountField"
:disabled="!this.form.errorIgnored"
></el-input>
</el-form-item>
<el-form-item label="错误字段文件名:">
<el-input
v-model="form.errorFieldsField"
:disabled="!this.form.errorIgnored"
></el-input>
</el-form-item>
<el-form-item label="错误文本字段:">
<el-input
v-model="form.errorTextField"
:disabled="!this.form.errorIgnored"
></el-input>
</el-form-item>
<el-form-item label="告警文件目录:">
<el-row :gutter="10">
<el-col :span="10">
<el-input
v-model="form.warningFilesDestinationDirectory"
:disabled="!this.form.errorIgnored"
></el-input>
</el-col>
<el-col class="line" :span="3">扩展名:</el-col>
<el-col :span="8">
<el-input
v-model="form.warningFilesExtension"
:disabled="!this.form.errorIgnored"
></el-input>
</el-col>
<el-col class="line" :span="2">
<el-button size="mini">浏览</el-button></el-col
>
</el-row>
</el-form-item>
<el-form-item label="错误文件目录:">
<el-row :gutter="10">
<el-col :span="10">
<el-input
v-model="form.errorFilesDestinationDirectory"
:disabled="!this.form.errorIgnored"
></el-input>
</el-col>
<el-col class="line" :span="3">扩展名:</el-col>
<el-col :span="8">
<el-input
v-model="form.errorFilesExtension"
:disabled="!this.form.errorIgnored"
></el-input>
</el-col>
<el-col class="line" :span="2">
<el-button size="mini">浏览</el-button></el-col
>
</el-row>
</el-form-item>
<el-form-item label="失败行数文件目录:">
<el-row :gutter="10">
<el-col :span="10">
<el-input
v-model="form.lineNumberFilesDestinationDirectory"
:disabled="!this.form.errorIgnored"
></el-input>
</el-col>
<el-col class="line" :span="3">扩展名:</el-col>
<el-col :span="8">
<el-input
v-model="form.lineNumberFilesExtension"
:disabled="!this.form.errorIgnored"
></el-input>
</el-col>
<el-col class="line" :span="2">
<el-button size="mini">浏览</el-button></el-col
>
</el-row>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="过滤">
<el-button type="primary" @click="addFilter">添加过滤字段</el-button>
<el-table :data="filterData" style="width: 100%">
<el-table-column prop="filterString" label="过滤器字符串">
</el-table-column>
<el-table-column prop="filterPosition" label="过滤器位置">
</el-table-column>
<el-table-column prop="filterLastLine" label="停止在过滤器">
</el-table-column>
<el-table-column prop="filterPositive" label="积极匹配">
</el-table-column>
<el-table-column label="操作" width="100px">
<template slot-scope="scope">
<el-button
@click="filterClick(scope.row)"
type="text"
size="small"
>编辑</el-button
>
<el-button
type="text"
size="small"
@click="deleteFilter(scope.$index, tableData)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="字段">
<el-button type="primary" @click="addField">添加字段</el-button>
<el-table :data="fieldData" style="width: 100%">
<el-table-column prop="name" 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="position" 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="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="ifnull" label="默认"> </el-table-column>
<el-table-column prop="trim_type" label="去除空字符串...">
</el-table-column>
<el-table-column prop="repeat" label="重复"> </el-table-column>
<el-table-column label="操作" width="100px">
<template slot-scope="scope">
<el-button @click="fieldClick(scope.row)" type="text" size="small"
>编辑</el-button
>
<el-button
type="text"
size="small"
@click="deleteField(scope.$index, tableData)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="其他输出字段">
<el-form ref="from" :model="form" label-width="160px">
<el-form-item label="文件名字段:">
<el-input v-model="form.shortFilenameField"></el-input>
</el-form-item>
<el-form-item label="扩展名字段:">
<el-input v-model="form.extensionField"></el-input>
</el-form-item>
<el-form-item label="路径字段:">
<el-input v-model="form.pathField"></el-input>
</el-form-item>
<el-form-item label="文件大小字段:">
<el-input v-model="form.sizeField"></el-input>
</el-form-item>
<el-form-item label="是否为隐藏文件字段:">
<el-input v-model="form.hiddenField"></el-input>
</el-form-item>
<el-form-item label="最后修改时间字段:">
<el-input v-model="form.lastModificationField"></el-input>
</el-form-item>
<el-form-item label="Uri字段:">
<el-input v-model="form.uriField"></el-input>
</el-form-item>
<el-form-item label="Root uri字段:">
<el-input v-model="form.rootUriField"></el-input>
</el-form-item>
</el-form>
</el-tab-pane>
</el-tabs>
<el-dialog
title="添加字段"
:visible.sync="fieldBox"
width="500px"
:before-close="handleClose"
:modal="false"
>
<el-form ref="form" :model="metadataForm" label-width="160px">
<el-form-item label="名称:">
<el-input v-model="metadataForm.name"></el-input>
</el-form-item>
<el-form-item label="类型:">
<el-select v-model="metadataForm.type" style="width: 100%">
<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="metadataForm.format" style="width: 100%">
<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="metadataForm.position"></el-input>
</el-form-item>
<el-form-item label="长度:">
<el-input v-model="metadataForm.length"></el-input>
</el-form-item>
<el-form-item label="精度:">
<el-input v-model="metadataForm.precision"></el-input>
</el-form-item>
<el-form-item label="货币:">
<el-input v-model="metadataForm.currency"></el-input>
</el-form-item>
<el-form-item label="小数:">
<el-input v-model="metadataForm.decimal"></el-input>
</el-form-item>
<el-form-item label="分组:">
<el-input v-model="metadataForm.group"></el-input>
</el-form-item>
<el-form-item label="Null if:">
<el-select v-model="metadataForm.nullif" style="width: 100%">
<el-option label="非空" value="0"></el-option>
<el-option label="空" value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item label="默认:">
<el-input v-model="metadataForm.ifnull"></el-input>
</el-form-item>
<el-form-item label="去除空格类型:">
<el-select v-model="metadataForm.trim_type" style="width: 100%">
<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-input v-model="metadataForm.repeat"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="fieldBox = false">取 消</el-button>
<el-button type="primary" @click="fieldBox = false">确 定</el-button>
</span>
</el-dialog>
<el-dialog
title="添加过滤字段"
:visible.sync="filterBox"
width="500px"
:before-close="handleClose"
:modal="false"
>
<el-form ref="form" :model="filterForm" label-width="160px">
<el-form-item label="过滤器字符串:">
<el-input v-model="filterForm.filterString"></el-input>
</el-form-item>
<el-form-item label="过滤器位置:">
<el-select v-model="filterForm.filterPosition" style="width: 100%">
<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="filterForm.filterLastLine"></el-input>
</el-form-item>
<el-form-item label="积极匹配:">
<el-input v-model="filterForm.filterPositive"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="filterBox = false">取 消</el-button>
<el-button type="primary" @click="filterBox = false">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { valueFormat, valueMeta } from "@/api/kettle/link";
export default {
props: [""],
data() {
return {
filterBox:false,
fieldBox:false,
form: {},
fileData: [
{
name: 111,
},
],
filterData: [{
filterString:798798
}],
fieldData: [{
name:'111111'
}],
metadataForm:{},
filterForm:{},
fieldFormat:{},
fieldType:{},
};
},
created() {
this.valueFormatFun();
this.valueMetaFun();
},
methods: {
// 关闭弹框
handleClose(done) {
this.$confirm("确认关闭?")
.then((_) => {
done();
})
.catch((_) => {});
},
handleChange() {},
addFilter(){
this.filterBox = !this.filterBox
this.filterForm = []
},
filterClick(val) {
this.filterBox = !this.filterBox
this.filterForm = val
},
deleteFilter() {},
addField(){
this.fieldBox = !this.fieldBox
this.metadataForm = []
},
fieldClick(val) {
this.fieldBox = !this.fieldBox
this.metadataForm = val
},
daleteField() {},
valueFormatFun() {
let pamer2 = new FormData(); // 创建form对象
pamer2.append("valueType","all");
valueFormat(pamer2).then((res) => {
this.fieldFormat = res;
});
},
valueMetaFun(){
valueMeta().then(res=>{
this.fieldType = res
})
},
},
};
</script>
<style lang="scss" scoped>
* {
outline: none;
}
</style>
......@@ -126,7 +126,7 @@
:activeElement="activeElement"
@changeNodeSite="changeNodeSite"
@nodeRightMenu="nodeRightMenu"
@clickNode="clickNode"
@dblclick.native="clickNode(node)"
>
</flow-node>
</template>
......@@ -332,7 +332,7 @@
></el-checkbox>
</el-form-item>
<el-form-item label="警文件目录:">
<el-form-item label="警文件目录:">
<el-row :gutter="10">
<el-col :span="8">
<el-input
......@@ -657,17 +657,13 @@
width="800px"
:before-close="handleClose"
>
<el-form ref="stepName" :model="stepName" label-width="120px">
<el-form-item label="步骤名称:">
<el-input v-model="stepName.name"></el-input>
</el-form-item>
</el-form>
<tableInput :disabled="true" :connectionNode="connectionNode"> </tableInput>
<span slot="footer" class="dialog-footer">
<el-button @click="TableInputDialog = false">取 消</el-button>
<el-button type="primary" @TableInputDialog="work = false"
<el-button type="primary" @click="TableInputDialog = false"
>确 定</el-button
>
</span>
......@@ -680,11 +676,7 @@
width="800px"
:before-close="handleClose"
>
<el-form ref="stepName" :model="stepName" label-width="120px">
<el-form-item label="步骤名称:">
<el-input v-model="stepName.name"></el-input>
</el-form-item>
</el-form>
<getSystemInformation :disabled="true"> </getSystemInformation>
......@@ -703,12 +695,7 @@
width="800px"
:before-close="handleClose"
>
<el-form ref="stepName" :model="stepName" label-width="120px">
<el-form-item label="步骤名称:">
<el-input v-model="stepName.name"></el-input>
</el-form-item>
</el-form>
<customConstant :disabled="true"> </customConstant>
<span slot="footer" class="dialog-footer">
......@@ -719,18 +706,13 @@
</span>
</el-dialog>
<!-- 自定义常量数据-->
<!-- 生成随机数-->
<el-dialog
title="自定义常量数据"
title="生成随机数"
:visible.sync="RandomValueDialog"
width="800px"
:before-close="handleClose"
>
<el-form ref="stepName" :model="stepName" label-width="120px">
<el-form-item label="步骤名称:">
<el-input v-model="stepName.name"></el-input>
</el-form-item>
</el-form>
<randomNumber :disabled="true"> </randomNumber>
......@@ -743,6 +725,45 @@
</el-dialog>
<!-- 生成记录-->
<el-dialog
title="生成记录"
:visible.sync="RowGeneratorDialog"
width="800px"
:before-close="handleClose"
>
<generatingRecords :disabed="true"></generatingRecords>
<span slot="footer" class="dialog-footer">
<el-button @click="RowGeneratorDialog = false">取 消</el-button>
<el-button type="primary" @click="RowGeneratorDialog = false"
>确 定</el-button
>
</span>
</el-dialog>
<!-- 文本文件输入-->
<el-dialog
title="文本文件输入"
:visible.sync="TextFileInputDialog"
width="800px"
:before-close="handleClose"
>
<textFileInput :disabed="true"></textFileInput>
<span slot="footer" class="dialog-footer">
<el-button @click="TextFileInputDialog = false">取 消</el-button>
<el-button type="primary" @click="TextFileInputDialog = false"
>确 定</el-button
>
</span>
</el-dialog>
<!-- 输出弹窗start=============== -->
<outDialog ref="tableOutPut" :tableOutPutVisible.sync="tableOutPutVisible"></outDialog>
......@@ -782,11 +803,17 @@ import {
valueFormat,
valueMeta,
} from "@/api/kettle/link";
// 输入弹窗
import tableInput from "../appBulletFrame/tableInput";
import getSystemInformation from "../appBulletFrame/getSystemInformation";
import customConstant from "../appBulletFrame/customConstant";
import randomNumber from "../appBulletFrame/randomNumber";
import generatingRecords from "../appBulletFrame/generatingRecords";
import textFileInput from "../appBulletFrame/textFileInput";
// 输出弹窗start******************************************
......@@ -828,12 +855,24 @@ export default {
fileVisible:false,
microVisible:false,
// mxl=================================
// 输入模块
publicData: [], //全部连接
connectionNode:[],
TextFileInputDialog:false,
RowGeneratorDialog:false,
TableInputDialog:false,
SystemInfoDialog:false,
ConstantDialog:false,
RandomValueDialog:false,
excelLnput:false,
edit: false,
work: false,
field: false,
form: {
checked: true,
},
activeName: "file",
fieldType:{},
fieldFormat:{},
stepName:{},
......@@ -847,6 +886,9 @@ export default {
},
],
engine: [],
// 画布模块
isShowIcon: false,
isLeftMenu: true,
isShowR: false,
......@@ -873,14 +915,7 @@ export default {
workForm:{},
fieldForm:{},
excelLnput:false,
edit: false,
work: false,
field: false,
form: {
checked: true,
},
activeName: "file",
};
},
// 一些基础配置移动该文件中
......@@ -891,8 +926,10 @@ export default {
flowNode,
nodeMenu,
getSystemInformation,
generatingRecords,
customConstant,
randomNumber,
textFileInput,
// FlowNodeForm
// 弹窗组件start***********************
outDialog,//表输出
......@@ -1471,11 +1508,7 @@ export default {
console.log("点击节点操作", node);
// this.$emit("dialogVisibleFourth",true);
// this.$emit('updata:dialogVisibleFourth',true); //触发showbox方法,true为向父组件传递的数据
this.stepName.name = node.name
this.stepName.name = node.name
this.connectionNode = this.publicData[node.id]
console.log(this.connectionNode);
this.isShowR = true;
......@@ -1509,16 +1542,25 @@ export default {
if (node.ids == "step1") {
this.excelLnput = !this.excelLnput;
return;
} else if (node.ids == "step7") {
this.TableInputDialog = !this.TableInputDialog;
return;
} else if (node.ids == "step6") {
this.SystemInfoDialog = !this.SystemInfoDialog;
return;
} else if (node.ids == "step5") {
this.ConstantDialog = !this.ConstantDialog;
}
if (node.ids == "step4") {
return;
}else if (node.ids == "step4") {
this.RandomValueDialog = !this.RandomValueDialog;
return;
}else if (node.ids == "step3") {
this.RowGeneratorDialog = !this.RowGeneratorDialog
return;
}else if (node.ids == "step2") {
this.TextFileInputDialog = !this.TextFileInputDialog
return;
}
},
// 是否具有该线
......
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