Commit d327393f by 李耀琨

完成字符串替换,替换Null值,分组,发送邮件

parent e9433fa1
ENV = 'development' 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/'
#VUE_APP_BASE_API = 'http://192.168.0.24:9888' #VUE_APP_BASE_API = 'http://192.168.0.24:9888'
#VUE_APP_WS_API = 'ws://192.168.0.24:9888' #VUE_APP_WS_API = 'ws://192.168.0.24:9888'
#VUE_APP_FILE_API = 'http://192.168.0.24:9888' #VUE_APP_FILE_API = 'http://192.168.0.24:9888'
# 接口地址 # 接口地址
#VUE_APP_BASE_API = 'http://192.168.0.33:9889'
#VUE_APP_WS_API = 'ws://192.168.0.33:9889'
#VUE_APP_FILE_API = 'http://192.168.0.33:9889'
VUE_APP_BASE_API = 'http://192.168.0.71:9888' VUE_APP_BASE_API = 'http://192.168.0.71:9888'
VUE_APP_WS_API = 'ws://192.168.0.71:9888' VUE_APP_WS_API = 'ws://192.168.0.71:9888'
VUE_APP_FILE_API = 'http://192.168.0.71:9888' VUE_APP_FILE_API = 'http://192.168.0.71:9888'
# 是否启用 babel-plugin-dynamic-import-node插件 # 是否启用 babel-plugin-dynamic-import-node插件
VUE_CLI_BABEL_TRANSPILE_MODULES = true VUE_CLI_BABEL_TRANSPILE_MODULES = true
...@@ -64,6 +64,7 @@ ...@@ -64,6 +64,7 @@
"scss": "^0.2.4", "scss": "^0.2.4",
"scss-loader": "0.0.1", "scss-loader": "0.0.1",
"sortablejs": "1.8.4", "sortablejs": "1.8.4",
"uuid": "^8.3.2",
"vue": "2.6.10", "vue": "2.6.10",
"vue-count-to": "1.0.13", "vue-count-to": "1.0.13",
"vue-cropper": "0.4.9", "vue-cropper": "0.4.9",
......
...@@ -584,7 +584,7 @@ aside { ...@@ -584,7 +584,7 @@ aside {
// $svgUrl:'http://147.1.3.180:9888/ETLWEB-SERVER/etlweb'; // $svgUrl:'http://147.1.3.180:9888/ETLWEB-SERVER/etlweb';
// $svgUrl:'http://192.168.0.24:9888/ETLWEB-SERVER/etlweb'; // $svgUrl:'http://192.168.0.24:9888/ETLWEB-SERVER/etlweb';
$svgUrl:'http://192.168.0.71:9888/ETLWEB-SERVER/etlweb'; $svgUrl:'http://192.168.0.71:9888/ETLWEB-SERVER/etlweb';
// $svgUrl:'http://192.168.0.33:9889/ETLWEB-SERVER/etlweb';
// $svgUrl:'http://192.168.0.44:9882/ETLWEB-SERVER/etlweb'; // $svgUrl:'http://192.168.0.44:9882/ETLWEB-SERVER/etlweb';
// .schema { background-image: url($svgUrl/ui/images/schema.svg?scale=16) !important;} // .schema { background-image: url($svgUrl/ui/images/schema.svg?scale=16) !important;}
......
...@@ -81,6 +81,7 @@ const baseUrl = process.env.VUE_APP_BASE_API === '/' ? '' : process.env.VUE_APP_ ...@@ -81,6 +81,7 @@ const baseUrl = process.env.VUE_APP_BASE_API === '/' ? '' : process.env.VUE_APP_
// 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.24:9888/ETLWEB-SERVER/etlweb/" // Vue.prototype.etlWeb = "http://192.168.0.24:9888/ETLWEB-SERVER/etlweb/"
Vue.prototype.etlWeb = "http://192.168.0.71:9888/ETLWEB-SERVER/etlweb/" Vue.prototype.etlWeb = "http://192.168.0.71:9888/ETLWEB-SERVER/etlweb/"
// Vue.prototype.etlWeb = "http://192.168.0.33:9889/ETLWEB-SERVER/etlweb/"
new Vue({ new Vue({
......
...@@ -458,6 +458,21 @@ ...@@ -458,6 +458,21 @@
</template> </template>
<script> <script>
import mxgraph from "@/utils/mxgraph";
const {
mxGraph,
mxUtils,
mxEvent,
mxKeyHandler,
mxRubberband,
mxConstants,
mxStencilRegistry,
mxStencil,
mxCodec,
mxGraphModel,
mxGeometry,
} = mxgraph;
import main from "../../../mykettle/main"; import main from "../../../mykettle/main";
export default { export default {
components: { components: {
......
...@@ -206,6 +206,20 @@ ...@@ -206,6 +206,20 @@
</template> </template>
<script> <script>
import mxgraph from "@/utils/mxgraph";
const {
mxGraph,
mxUtils,
mxEvent,
mxKeyHandler,
mxRubberband,
mxConstants,
mxStencilRegistry,
mxStencil,
mxCodec,
mxGraphModel,
mxGeometry,
} = mxgraph;
import { valueFormat, valueMeta } from "@/api/kettle/link"; import { valueFormat, valueMeta } from "@/api/kettle/link";
export default { export default {
......
...@@ -169,6 +169,20 @@ ...@@ -169,6 +169,20 @@
</template> </template>
<script> <script>
import mxgraph from "@/utils/mxgraph";
const {
mxGraph,
mxUtils,
mxEvent,
mxKeyHandler,
mxRubberband,
mxConstants,
mxStencilRegistry,
mxStencil,
mxCodec,
mxGraphModel,
mxGeometry,
} = mxgraph;
import { valueFormat, valueMeta } from "@/api/kettle/link"; import { valueFormat, valueMeta } from "@/api/kettle/link";
export default { export default {
......
...@@ -82,6 +82,20 @@ ...@@ -82,6 +82,20 @@
</template> </template>
<script> <script>
import mxgraph from "@/utils/mxgraph";
const {
mxGraph,
mxUtils,
mxEvent,
mxKeyHandler,
mxRubberband,
mxConstants,
mxStencilRegistry,
mxStencil,
mxCodec,
mxGraphModel,
mxGeometry,
} = mxgraph;
import { systemDataTypes } from "@/api/kettle/link"; import { systemDataTypes } from "@/api/kettle/link";
export default { export default {
......
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
</el-form> </el-form>
结构分组的字段: 结构分组的字段:
<br /> <br />
<el-button type="text" @click="selectModify(true)">添加字段</el-button> <el-button type="text" @click="structure(true)">添加字段</el-button>
<el-button type="text" @click="getTheGroup">获取字段</el-button> <el-button type="text" @click="getTheGroup">获取字段</el-button>
<el-table :data="groupFile" border style="width: 100%"> <el-table :data="groupFile" border style="width: 100%">
<el-table-column prop="name" label="分组字段"> </el-table-column> <el-table-column prop="name" label="分组字段"> </el-table-column>
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@click="selectModify(false, scope.row)" @click="structure(false, scope.row)"
type="text" type="text"
size="small" size="small"
>编辑</el-button >编辑</el-button
...@@ -96,7 +96,7 @@ ...@@ -96,7 +96,7 @@
<br /> <br />
聚合: 聚合:
<br /> <br />
<el-button type="text" @click="selectModify(true)">添加字段</el-button> <el-button type="text" @click="polymerization(true)">添加字段</el-button>
<el-button type="text" @click="getTheField">获取字段</el-button> <el-button type="text" @click="getTheField">获取字段</el-button>
<el-table :data="fields" border style="width: 100%"> <el-table :data="fields" border style="width: 100%">
<el-table-column prop="aggregate" label="分组字段"> </el-table-column> <el-table-column prop="aggregate" label="分组字段"> </el-table-column>
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@click="selectModify(false, scope.row)" @click="polymerization(false, scope.row)"
type="text" type="text"
size="small" size="small"
>编辑</el-button >编辑</el-button
...@@ -127,8 +127,8 @@ ...@@ -127,8 +127,8 @@
</span> </span>
</el-dialog> </el-dialog>
<!-- <el-dialog <el-dialog
title="添加字段" title="添加结构分组的字段"
:visible.sync="addField" :visible.sync="addField"
width="500px" width="500px"
:before-close="handleClose" :before-close="handleClose"
...@@ -138,29 +138,76 @@ ...@@ -138,29 +138,76 @@
<el-form-item label="名称:"> <el-form-item label="名称:">
<el-input v-model="fiel.name"></el-input> <el-input v-model="fiel.name"></el-input>
</el-form-item> </el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addField = false">取 消</el-button>
<el-button type="primary" @click="addFieldDetermine">确 定</el-button>
</span>
</el-dialog>
<el-dialog
title="添加聚合"
:visible.sync="gather"
width="500px"
:before-close="handleClose"
:modal="false"
>
<el-form ref="form" :model="fiel" label-width="160px">
<el-form-item label="分组字段:">
<el-input v-model="gatherLite.aggregate"></el-input>
</el-form-item>
<el-form-item label="subject:">
<el-select v-model="gatherLite.subject" placeholder="请选择">
<el-option
v-for="(item,index) in fields"
:key="index"
:label="item.aggregate"
:value="item.aggregate"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="类型:"> <el-form-item label="类型:">
<el-select v-model="fiel.type" style="width: 100%" clearable> <el-select v-model="gatherLite.type" placeholder="请选择">
<el-option <el-option
v-for="item in type" v-for="item in fields"
:key="item.code" :key="item.value"
:label="item.descrp" :label="item.label"
:value="item.code" :value="item.value"
/> >
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="addField = false">取 消</el-button> <el-button @click="gather = false">取 消</el-button>
<el-button type="primary" @click="addFieldDetermine">确 定</el-button> <el-button type="primary" @click="gatherDetermine">确 定</el-button>
</span> </span>
</el-dialog> --> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { systemDataTypes, inputOutputFields } from "@/api/kettle/link"; import { systemDataTypes, inputOutputFields } from "@/api/kettle/link";
import mxgraph from "@/utils/mxgraph";
const {
mxGraph,
mxUtils,
mxEvent,
mxKeyHandler,
mxRubberband,
mxConstants,
mxStencilRegistry,
mxStencil,
mxCodec,
mxGraphModel,
mxGeometry,
} = mxgraph;
export default { export default {
props: ["form", "groupingDialog", "saveOutputDialog", "nodeData"], props: ["form", "groupingDialog", "saveOutputDialog", "nodeData"],
data() { data() {
...@@ -171,6 +218,8 @@ export default { ...@@ -171,6 +218,8 @@ export default {
type: {}, type: {},
dataStatus: false, dataStatus: false,
fiel: {}, fiel: {},
gatherLite: {},
gather: false,
}; };
}, },
...@@ -179,6 +228,30 @@ export default { ...@@ -179,6 +228,30 @@ export default {
}, },
methods: { methods: {
gatherDetermine(){},
structure(state, val) {
// this.addField = !this.addField
this.dataStatus = state;
if (state) {
this.fiel = {};
} else {
this.fiel = val;
}
this.addField = !this.addField;
},
polymerization(state, val) {
this.dataStatus = state;
if (state) {
this.gatherLite = {};
} else {
this.gatherLite = val;
this.systemDataTypesFun()
}
this.gather = !this.gather;
},
getTheGroup() { getTheGroup() {
var enc = new mxCodec(mxUtils.createXmlDocument()); var enc = new mxCodec(mxUtils.createXmlDocument());
var node = enc.encode(this.newGraph.getModel()); var node = enc.encode(this.newGraph.getModel());
...@@ -191,16 +264,13 @@ export default { ...@@ -191,16 +264,13 @@ export default {
pamerFields.append("graphXml", this.graphXml); pamerFields.append("graphXml", this.graphXml);
pamerFields.append("before", true); pamerFields.append("before", true);
inputOutputFields(pamerFields).then((res) => { inputOutputFields(pamerFields).then((res) => {
// this.parameters = res; this.groupFile = res;
res.forEach((item, index) => {
console.log(item, index);
this.groupFile.push({
variable: item.name,
});
});
console.log(res); console.log(res);
}); });
}, },
deleteField(index, rows) {
rows.splice(index, 1);
},
getTheField() { getTheField() {
console.log(this.nodeData); console.log(this.nodeData);
...@@ -219,10 +289,16 @@ export default { ...@@ -219,10 +289,16 @@ export default {
pamerFields.append("query", ""); pamerFields.append("query", "");
inputOutputFields(pamerFields).then((res) => { inputOutputFields(pamerFields).then((res) => {
console.log(res, "yuiyuiyui"); console.log(res, "yuiyuiyui");
for (let i of res) { this.fields = []
i.field_name = i.name; res.forEach((item) => {
} this.fields.push({
this.fields = res; aggregate: item.name,
subject: item.name,
type: item.type,
});
console.log(this.fields);
});
// this.fields.field_name = res.name // this.fields.field_name = res.name
}); });
}, },
...@@ -231,7 +307,8 @@ export default { ...@@ -231,7 +307,8 @@ export default {
console.log(graph, "双击获取值"); console.log(graph, "双击获取值");
this.newGraph = graph; this.newGraph = graph;
console.log(val, "拿到form"); console.log(val, "拿到form");
// this.fields = JSON.parse(val.fields) this.fields = JSON.parse(val.fields)
this.groupFile = JSON.parse(val.groupFile)
}, },
handleCloseFun() { handleCloseFun() {
...@@ -265,18 +342,9 @@ export default { ...@@ -265,18 +342,9 @@ export default {
rows.splice(index, 1); rows.splice(index, 1);
}, },
addSheet(state, val) {
this.addField = !this.addField;
this.dataStatus = state;
if (state) {
this.fiel = {};
} else {
this.fiel = val;
}
},
systemDataTypesFun() { systemDataTypesFun() {
systemDataTypes().then((res) => { systemDataTypes().then((res) => {
console.log(res);
this.type = res; this.type = res;
}); });
}, },
......
...@@ -305,6 +305,21 @@ ...@@ -305,6 +305,21 @@
</template> </template>
<script> <script>
import mxgraph from "@/utils/mxgraph";
const {
mxGraph,
mxUtils,
mxEvent,
mxKeyHandler,
mxRubberband,
mxConstants,
mxStencilRegistry,
mxStencil,
mxCodec,
mxGraphModel,
mxGeometry,
} = mxgraph;
import main from "../../../mykettle/main"; import main from "../../../mykettle/main";
import browseFiles from "../appBulletFrame/browseFiles"; import browseFiles from "../appBulletFrame/browseFiles";
import { datetimeformat, getLinkList,exp,test } from "@/api/kettle/link"; import { datetimeformat, getLinkList,exp,test } from "@/api/kettle/link";
......
...@@ -195,6 +195,21 @@ ...@@ -195,6 +195,21 @@
</template> </template>
<script> <script>
import mxgraph from "@/utils/mxgraph";
const {
mxGraph,
mxUtils,
mxEvent,
mxKeyHandler,
mxRubberband,
mxConstants,
mxStencilRegistry,
mxStencil,
mxCodec,
mxGraphModel,
mxGeometry,
} = mxgraph;
export default { export default {
props: ["jobSettingsDialog"], props: ["jobSettingsDialog"],
data() { data() {
......
...@@ -104,6 +104,21 @@ ...@@ -104,6 +104,21 @@
</template> </template>
<script> <script>
import mxgraph from "@/utils/mxgraph";
const {
mxGraph,
mxUtils,
mxEvent,
mxKeyHandler,
mxRubberband,
mxConstants,
mxStencilRegistry,
mxStencil,
mxCodec,
mxGraphModel,
mxGeometry,
} = mxgraph;
import { valueMeta } from "@/api/kettle/link"; import { valueMeta } from "@/api/kettle/link";
export default { export default {
props: ["form", "mappingInputDialog", "saveOutputDialog", "nodeData"], props: ["form", "mappingInputDialog", "saveOutputDialog", "nodeData"],
......
...@@ -25,6 +25,21 @@ ...@@ -25,6 +25,21 @@
</template> </template>
<script> <script>
import mxgraph from "@/utils/mxgraph";
const {
mxGraph,
mxUtils,
mxEvent,
mxKeyHandler,
mxRubberband,
mxConstants,
mxStencilRegistry,
mxStencil,
mxCodec,
mxGraphModel,
mxGeometry,
} = mxgraph;
import { systemDataTypes } from "@/api/kettle/link"; import { systemDataTypes } from "@/api/kettle/link";
export default { export default {
props: ["form", "mappingOutputDialog", "saveOutputDialog", "nodeData"], props: ["form", "mappingOutputDialog", "saveOutputDialog", "nodeData"],
......
...@@ -54,6 +54,21 @@ ...@@ -54,6 +54,21 @@
</template> </template>
<script> <script>
import mxgraph from "@/utils/mxgraph";
const {
mxGraph,
mxUtils,
mxEvent,
mxKeyHandler,
mxRubberband,
mxConstants,
mxStencilRegistry,
mxStencil,
mxCodec,
mxGraphModel,
mxGeometry,
} = mxgraph;
import { systemDataTypes } from "@/api/kettle/link"; import { systemDataTypes } from "@/api/kettle/link";
export default { export default {
props: ["form", "nullOperationDialog", "saveOutputDialog", "nodeData"], props: ["form", "nullOperationDialog", "saveOutputDialog", "nodeData"],
......
<template> <template>
<div class="randomNumber"> <div class="randomNumber">
<el-dialog <el-dialog
title="生成随机数" title="生成随机数"
:visible.sync="RandomValueDialog" :visible.sync="RandomValueDialog"
width="800px" width="800px"
:before-close="handleCloseFun" :before-close="handleCloseFun"
> >
<el-form ref="from" :model="form" label-width="120px"> <el-form ref="from" :model="form" label-width="120px">
<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>
</el-form> </el-form>
<el-form ref="form" :model="form" label-width="0px"> <el-form ref="form" :model="form" label-width="0px">
<el-button type="text" @click="addSheet(true)" style="margin: 10px" <el-button type="text" @click="addSheet(true)" style="margin: 10px"
>添加字段</el-button >添加字段</el-button
> >
<el-form-item> <el-form-item>
<el-table :data="fields" style="width: 100%"> <el-table :data="fields" style="width: 100%">
<el-table-column label="字段"> <el-table-column label="字段">
<el-table-column <el-table-column type="index" width="50"> </el-table-column>
type="index" <el-table-column prop="name" label="名称"> </el-table-column>
width="50">
</el-table-column> <el-table-column prop="type" label="类型"> </el-table-column>
<el-table-column prop="name" label="名称"> </el-table-column> <el-table-column label="操作">
<template slot-scope="scope">
<el-table-column prop="type" label="类型"> </el-table-column> <el-button
<el-table-column label="操作"> @click="addSheet(false, scope.row)"
<template slot-scope="scope"> type="text"
<el-button size="small"
@click="addSheet(false,scope.row)" >编辑</el-button
type="text" >
size="small" <el-button
>编辑</el-button type="text"
> size="small"
<el-button @click="deleteRow(scope.$index, fields)"
type="text" >删除</el-button
size="small" >
@click="deleteRow(scope.$index, fields)" </template>
>删除</el-button </el-table-column>
>
</template>
</el-table-column> </el-table-column>
</el-table-column> </el-table>
</el-table> </el-form-item>
</el-form-item> </el-form>
</el-form> <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="RandomValueDialogFun" <el-button type="primary" @click="RandomValueDialogFun"
>确 定</el-button >确 定</el-button
...@@ -54,7 +51,6 @@ ...@@ -54,7 +51,6 @@
</span> </span>
</el-dialog> </el-dialog>
<el-dialog <el-dialog
title="添加字段" title="添加字段"
:visible.sync="addField" :visible.sync="addField"
...@@ -88,17 +84,32 @@ ...@@ -88,17 +84,32 @@
</template> </template>
<script> <script>
import mxgraph from "@/utils/mxgraph";
const {
mxGraph,
mxUtils,
mxEvent,
mxKeyHandler,
mxRubberband,
mxConstants,
mxStencilRegistry,
mxStencil,
mxCodec,
mxGraphModel,
mxGeometry,
} = mxgraph;
import { randomValueFunc } from "@/api/kettle/link"; import { randomValueFunc } from "@/api/kettle/link";
export default { export default {
props: ["form","saveOutputDialog","RandomValueDialog"], props: ["form", "saveOutputDialog", "RandomValueDialog"],
data() { data() {
return { return {
fields: [], fields: [],
fiel:{}, fiel: {},
random:{}, random: {},
dataState:false, dataState: false,
addField:false, addField: false,
}; };
}, },
...@@ -107,54 +118,46 @@ export default { ...@@ -107,54 +118,46 @@ export default {
}, },
methods: { methods: {
clickFun(graph, val) {
console.log(graph, "双击获取值");
this.newGraph = graph;
console.log(val, "拿到form");
this.fields = JSON.parse(val.fields);
},
clickFun(graph,val){ handleCloseFun() {
console.log(graph,'双击获取值') this.$emit("update:RandomValueDialog", false);
this.newGraph = graph; },
console.log(val,"拿到form");
this.fields = JSON.parse(val.fields)
},
handleCloseFun(){
this.$emit("update:RandomValueDialog", false);
},
RandomValueDialogFun() { RandomValueDialogFun() {
this.handleCloseFun() this.handleCloseFun();
this.form.fields = JSON.stringify(this.fields); this.form.fields = JSON.stringify(this.fields);
this.saveOutputDialog(this.form) this.saveOutputDialog(this.form);
}, },
addSheet(state,val) { addSheet(state, val) {
this.addField = !this.addField; this.addField = !this.addField;
this.dataState = state this.dataState = state;
if (state) { if (state) {
this.fiel = {}; this.fiel = {};
}else{ } else {
this.fiel = val; this.fiel = val;
} }
}, },
addFieldState(){ addFieldState() {
this.addField = !this.addField this.addField = !this.addField;
if (this.dataState) { if (this.dataState) {
this.fields.push(this.fiel) this.fields.push(this.fiel);
} }
}, },
randomValueFuncFun() { randomValueFuncFun() {
randomValueFunc().then((res) => { randomValueFunc().then((res) => {
this.random = res; this.random = res;
}); });
}, },
deleteRow(index, rows) { deleteRow(index, rows) {
rows.splice(index, 1); rows.splice(index, 1);
}, },
...@@ -167,8 +170,6 @@ export default { ...@@ -167,8 +170,6 @@ export default {
}) })
.catch((_) => {}); .catch((_) => {});
}, },
}, },
}; };
</script> </script>
......
...@@ -16,20 +16,20 @@ ...@@ -16,20 +16,20 @@
<el-form ref="form" :model="form" label-width="160px"> <el-form ref="form" :model="form" label-width="160px">
<el-form-item label="替换所有字段的null值" /> <el-form-item label="替换所有字段的null值" />
<el-form-item label="值替换为:"> <el-form-item label="值替换为:">
<el-input v-model="form.label"></el-input> <el-input v-model="form.replaceAllByValue" :disabled="form.selectValuesType == 'Y' || form.selectFields == 'Y'"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="设置空字符串"> <el-form-item label="设置空字符串">
<el-checkbox <el-checkbox
v-model="form.main_path" v-model="form.setEmptyStringAll"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
:disabled="form.selectValuesType == 'Y' || form.selectFields == 'Y'"
></el-checkbox> ></el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="掩码(日期)"> <el-form-item label="掩码(日期)">
<el-select v-model="form.format" style="width: 100%" clearable> <el-select v-model="form.format" style="width: 100%" clearable :disabled="form.selectValuesType == 'Y' || form.selectFields == 'Y'">
<el-option <el-option
v-for="item in fieldFormat" v-for="item in fieldFormat"
:key="item.index" :key="item.index"
...@@ -42,37 +42,85 @@ ...@@ -42,37 +42,85 @@
</el-card> </el-card>
<el-form ref="form" :model="form" label-width="160px"> <el-form ref="form" :model="form" label-width="160px">
<el-form-item label="选择字段"> <el-form-item label="选择字段">
<el-checkbox <el-checkbox
v-model="form.main_path" v-model="form.selectFields"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
@change="selectFields"
></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.main_path" v-model="form.selectValuesType"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
@change="selectValuesType"
></el-checkbox> ></el-checkbox>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-button type="text" @click="fieldClick(true)">添加字段</el-button>
<!-- <el-button type="text" @click="getTheField">获取字段</el-button> --> <el-card class="box-card">
值类型
<br>
<el-button type="text" @click="valuetypesApp(true)" :disabled="form.selectValuesType == 'N'">添加字段</el-button>
<el-table :data="valuetypes" style="width: 100%">
<el-table-column prop="name" label="类型"> </el-table-column>
<el-table-column prop="value" label="值替换为"> </el-table-column>
<el-table-column prop="mask" label="转换掩码(日期)">
</el-table-column>
<el-table-column prop="set_type_empty_string" label="设置空字符串">
<template slot-scope="scope">
{{scope.row.set_empty_string == 'Y'? '是' :'否'}}
</template> </el-table-column>
<el-table-column label="操作" width="100px">
<template slot-scope="scope">
<el-button
@click="valuetypesApp(false, scope.row)"
type="text"
size="small"
:disabled="form.selectValuesType == 'N'"
>编辑</el-button
>
<el-button
type="text"
size="small"
:disabled="form.selectValuesType == 'N'"
@click="deleteField(scope.$index, valuetypes)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</el-card>
<br>
<br>
<el-card class="box-card">
字段
<br>
<el-button type="text" @click="fieldClick(true)" :disabled="form.selectFields == 'N'">添加字段</el-button>
<el-table :data="fields" style="width: 100%"> <el-table :data="fields" style="width: 100%" >
<el-table-column prop="field_name" label="字段名称"> </el-table-column>g <el-table-column prop="name" label="字段"> </el-table-column>
<el-table-column prop="variable_name" label="变量名"> </el-table-column> <el-table-column prop="value" label="值替换为"> </el-table-column>
<el-table-column prop="variable_type" label="变量活动类型"> <el-table-column prop="mask" label="转换掩码(日期)">
</el-table-column> </el-table-column>
<el-table-column prop="default_value" label="默认值"> </el-table-column> <el-table-column prop="set_empty_string" label="设置空字符串">
<template slot-scope="scope">
{{scope.row.set_empty_string == 'Y'? '是' :'否'}}
</template>
</el-table-column>
<el-table-column label="操作" width="100px"> <el-table-column label="操作" width="100px">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -80,17 +128,20 @@ ...@@ -80,17 +128,20 @@
@click="fieldClick(false, scope.row)" @click="fieldClick(false, scope.row)"
type="text" type="text"
size="small" size="small"
:disabled="form.selectFields == 'N'"
>编辑</el-button >编辑</el-button
> >
<el-button <el-button
type="text" type="text"
size="small" size="small"
@click="deleteField(scope.$index, fields)" @click="deleteField(scope.$index, fields)"
:disabled="form.selectFields == 'N'"
>删除</el-button >删除</el-button
> >
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-card>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="handleCloseFun">取 消</el-button> <el-button @click="handleCloseFun">取 消</el-button>
...@@ -102,48 +153,51 @@ ...@@ -102,48 +153,51 @@
</el-dialog> </el-dialog>
<el-dialog <el-dialog
title="添加字段" :title="fieldState?'添加':'修改'"
:visible.sync="fieldBox" :visible.sync="fieldBox"
width="500px" width="500px"
:before-close="handleClose" :before-close="handleClose"
:modal="false" :modal="false"
> >
<el-form ref="form" :model="metadataForm" label-width="160px"> <el-form ref="form" :model="metadataForm" label-width="160px">
<el-form-item label="字段名称:"> <el-form-item label="字段:">
<el-select <el-select
v-model="metadataForm.field_name" v-model="metadataForm.name"
style="width: 100%" style="width: 100%"
clearable clearable
> >
<el-option <el-option
v-for="item in fieldsName" v-for="item in fieldsLite"
:key="item.index" :key="item.index"
:label="item.name" :label="item.name"
:value="item.name" :value="item.name"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="变量名:"> <el-form-item label="值替换为:">
<el-input v-model="metadataForm.variable_name"></el-input> <el-input v-model="metadataForm.value"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="变量活动类型:"> <el-form-item label="转换掩码(日期):">
<el-select <el-select
v-model="metadataForm.variable_type" v-model="metadataForm.mask"
style="width: 100%" style="width: 100%"
clearable clearable
> >
<el-option <el-option
v-for="item in activityType" v-for="item in fieldFormat"
:key="item.id" :key="item.index"
:label="item.desc" :label="item.name"
:value="item.desc" :value="item.name"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="默认值:"> <el-form-item label="设置空字符串:">
<el-input v-model="metadataForm.default_value"></el-input> <el-select v-model="metadataForm.set_empty_string" style="width: 100%" >
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -152,6 +206,64 @@ ...@@ -152,6 +206,64 @@
<el-button type="primary" @click="addFieldBox">确 定</el-button> <el-button type="primary" @click="addFieldBox">确 定</el-button>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog
:title="fieldState?'添加':'修改'"
:visible.sync="valuetypesBox"
width="500px"
:before-close="handleClose"
:modal="false"
>
<el-form ref="form" :model="valuetypesForm" label-width="160px">
<el-form-item label="类型:">
<el-select
v-model="valuetypesForm.name"
style="width: 100%"
clearable
>
<el-option
v-for="item in fieldType"
:key="item.index"
:label="item.name"
:value="item.name"
/>
</el-select>
</el-form-item>
<el-form-item label="值替换为:">
<el-input v-model="valuetypesForm.value"></el-input>
</el-form-item>
<el-form-item label="转换掩码(日期):">
<el-select
v-model="valuetypesForm.mask"
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-select v-model="valuetypesForm.set_empty_string" style="width: 100%" >
<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="valuetypesBox = false">取 消</el-button>
<el-button type="primary" @click="addvaluetypesBox">确 定</el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
...@@ -196,19 +308,24 @@ export default { ...@@ -196,19 +308,24 @@ export default {
}, },
data() { data() {
return { return {
valuetypes:[],
newGraph: [], newGraph: [],
fieldBox: false, fieldBox: false,
fields: [], fields: [],
metadataForm: {}, metadataForm: {},
fieldFormat: {}, fieldFormat: {},
fieldCompress: {}, fieldCompress: {},
fieldType: {}, fieldType: [{name:'-'}],
dataState: false,
fileType: [], fileType: [],
codingType: [], codingType: [],
fileSelection: {}, fileSelection: {},
activityType: [], activityType: [],
fieldsName: [], fieldsName: [],
fieldState:false,
valuetypesBox:false,
valuetypesState:false,
valuetypesForm:{},
fieldsLite:[],
}; };
}, },
...@@ -221,16 +338,50 @@ export default { ...@@ -221,16 +338,50 @@ export default {
}, },
methods: { methods: {
valuetypesApp(state,val){
this.valuetypesState = state
this.valuetypesBox = !this.valuetypesBox
if (state) {
this.valuetypesForm = {}
}else{
this.valuetypesForm = val
}
},
fieldClick(state,val){
this.fieldState = state
this.fieldBox = !this.fieldBox
if (state) {
this.metadataForm = {}
this.getTheField()
}else{
this.metadataForm = val
this.getTheField()
}
},
selectFields(){
if (this.form.selectFields == "Y") {
this.form.selectValuesType = "N"
}
},
selectValuesType(){
if (this.form.selectValuesType == "Y") {
this.form.selectFields = "N"
}
},
clickFun(graph, val) { clickFun(graph, val) {
console.log(graph, 1); console.log(graph, 1);
this.newGraph = graph; this.newGraph = graph;
this.fields = JSON.parse(val.fields); this.fields = JSON.parse(val.fields);
this.valuetypes = JSON.parse(val.valuetypes)
}, },
handleCloseFun() { handleCloseFun() {
this.$emit("update:replaceNullDialog", false); this.$emit("update:replaceNullDialog", false);
}, },
getVariableDialogFun() { getVariableDialogFun() {
this.form.valuetypes = JSON.stringify(this.valuetypes);
this.form.fields = JSON.stringify(this.fields); this.form.fields = JSON.stringify(this.fields);
this.saveOutputDialog(this.form); this.saveOutputDialog(this.form);
this.handleCloseFun(); this.handleCloseFun();
...@@ -252,11 +403,8 @@ export default { ...@@ -252,11 +403,8 @@ export default {
pamerFields.append("before", true); pamerFields.append("before", true);
pamerFields.append("query", ""); pamerFields.append("query", "");
inputOutputFields(pamerFields).then((res) => { inputOutputFields(pamerFields).then((res) => {
console.log(res, "yuiyuiyui"); this.fieldsLite = res
for (let i of res) { console.log(res);
i.field_name = i.name;
}
this.fields = res;
// this.fields.field_name = res.name // this.fields.field_name = res.name
}); });
}, },
...@@ -295,43 +443,19 @@ export default { ...@@ -295,43 +443,19 @@ export default {
rows.splice(index, 1); rows.splice(index, 1);
}, },
fieldClick(state, val) { addvaluetypesBox(){
this.fieldBox = !this.fieldBox; this.valuetypesBox = !this.valuetypesBox
this.dataState = state; if (this.valuetypesState) {
let type = new FormData(); // 创建form对象 this.valuetypes.push(this.valuetypesForm);
type.append("query", ""); this.$emit("valuetypes", this.valuetypes);
variableType(type).then((res) => {
this.activityType = res;
});
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) => {
console.log(res, "kanzzhelia ");
this.fieldsName = res;
});
if (state) {
this.metadataForm = {};
} else {
this.metadataForm = val;
} }
console.log(this.valuetypes);
}, },
addFieldBox() { addFieldBox() {
this.fieldBox = !this.fieldBox; this.fieldBox = !this.fieldBox;
if (this.dataState) { if (this.fieldState) {
this.fields.push(this.metadataForm); this.fields.push(this.metadataForm);
this.$emit("fields", this.fields); this.$emit("fields", this.fields);
} else {
} }
}, },
...@@ -345,7 +469,9 @@ export default { ...@@ -345,7 +469,9 @@ export default {
valueMetaFun() { valueMetaFun() {
valueMeta().then((res) => { valueMeta().then((res) => {
this.fieldType = res; res.forEach(item => {
this.fieldType.push(item)
});
}); });
}, },
}, },
......
...@@ -18,15 +18,15 @@ ...@@ -18,15 +18,15 @@
<el-form ref="form" :model="form" label-width="120px"> <el-form ref="form" :model="form" label-width="120px">
<el-form-item label="收件人" /> <el-form-item label="收件人" />
<el-form-item label="收件人地址:"> <el-form-item label="收件人地址:">
<el-input v-model="form.label"></el-input> <el-input v-model="form.destination"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="抄送:"> <el-form-item label="抄送:">
<el-input v-model="form.label"></el-input> <el-input v-model="form.destinationCc"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="暗送:"> <el-form-item label="暗送:">
<el-input v-model="form.label"></el-input> <el-input v-model="form.destinationBCc"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
...@@ -35,25 +35,25 @@ ...@@ -35,25 +35,25 @@
<el-form ref="form" :model="form" label-width="120px"> <el-form ref="form" :model="form" label-width="120px">
<el-form-item label="发件人" /> <el-form-item label="发件人" />
<el-form-item label="发件人姓名:"> <el-form-item label="发件人姓名:">
<el-input v-model="form.label"></el-input> <el-input v-model="form.replytoname"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="发件人地址:"> <el-form-item label="发件人地址:">
<el-input v-model="form.label"></el-input> <el-input v-model="form.replyto"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
<br /> <br />
<el-form ref="form" :model="form" label-width="120px"> <el-form ref="form" :model="form" label-width="120px">
<el-form-item label="回复:"> <el-form-item label="回复:">
<el-input v-model="form.label"></el-input> <el-input v-model="form.replyToAddresses"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系人:"> <el-form-item label="联系人:">
<el-input v-model="form.label"></el-input> <el-input v-model="form.contact_person"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系电话:"> <el-form-item label="联系电话:">
<el-input v-model="form.label"></el-input> <el-input v-model="form.contact_phone"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
...@@ -62,11 +62,11 @@ ...@@ -62,11 +62,11 @@
<el-form ref="form" :model="form" label-width="120px"> <el-form ref="form" :model="form" label-width="120px">
<el-form-item label="SMTP 服务器" /> <el-form-item label="SMTP 服务器" />
<el-form-item label="SMTP 服务器:"> <el-form-item label="SMTP 服务器:">
<el-input v-model="form.label"></el-input> <el-input v-model="form.server"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="端口:"> <el-form-item label="端口:">
<el-input v-model="form.label"></el-input> <el-input v-model="form.port"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
...@@ -77,31 +77,47 @@ ...@@ -77,31 +77,47 @@
<el-form-item label="用户认证"> <el-form-item label="用户认证">
<el-checkbox <el-checkbox
v-model="form.main_path" v-model="form.use_auth"
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="form.label"></el-input> <el-input
v-model="form.auth_user"
:disabled="form.use_auth == 'N'"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="密码"> <el-form-item label="密码">
<el-input v-model="form.label"></el-input> <el-input
v-model="form.auth_password"
:disabled="form.use_auth == 'N'"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="使用安全认证"> <el-form-item label="使用安全认证">
<el-checkbox <el-checkbox
v-model="form.main_path" v-model="form.use_secure_auth"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
:disabled="form.use_auth == 'N'"
></el-checkbox> ></el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="安全连接类型"> <el-form-item label="安全连接类型">
<el-input v-model="form.label"></el-input> <!-- <el-input v-model="form.secureconnectiontype" :disabled="form.use_auth =='N' || form.use_secure_auth =='N'"></el-input> -->
<el-select
v-model="form.secureconnectiontype"
:disabled="
form.use_auth == 'N' || form.use_secure_auth == 'N'
"
style="width: 100%"
>
<el-option label="SSL" value="SSL"></el-option>
<el-option label="TLS" value="TLS"></el-option>
</el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
...@@ -114,50 +130,76 @@ ...@@ -114,50 +130,76 @@
<el-form-item label="在邮件中包含日期"> <el-form-item label="在邮件中包含日期">
<el-checkbox <el-checkbox
v-model="form.main_path" v-model="form.include_date"
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.main_path" v-model="form.only_comment"
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="邮件正文使用HTML格式"> <el-form-item label="邮件正文使用HTML格式">
<el-checkbox <el-checkbox
v-model="form.main_path" v-model="form.use_HTML"
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="form.label"></el-input> <el-input
v-model="form.encoding"
:disabled="form.use_HTML == 'N'"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="优先级设置"> <el-form-item label="优先级设置">
<el-checkbox <el-checkbox
v-model="form.main_path" v-model="form.use_Priority"
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="form.label"></el-input> <el-select
v-model="form.priority"
:disabled="form.use_Priority == 'N'"
style="width: 100%"
>
<el-option label="低" value="low"></el-option>
<el-option label="一般" value="normal"></el-option>
<el-option label="高" value="high"></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="重要性"> <el-form-item label="重要性">
<el-input v-model="form.label"></el-input> <el-select
v-model="form.importance"
:disabled="form.use_Priority == 'N'"
style="width: 100%"
>
<el-option label="低" value="low"></el-option>
<el-option label="一般" value="normal"></el-option>
<el-option label="高" value="high"></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="Sensitivity"> <el-form-item label="Sensitivity">
<el-input v-model="form.label"></el-input> <el-select
v-model="form.sensitivity"
:disabled="form.use_Priority == 'N'"
style="width: 100%"
>
<el-option label="Normal" value="normal"></el-option>
<el-option label="Personal" value="personal"></el-option>
<el-option label="Private" value="private"></el-option>
<el-option label="Confidential" value="confidential"></el-option>
</el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
...@@ -166,11 +208,11 @@ ...@@ -166,11 +208,11 @@
<el-form ref="form" :model="form" label-width="120px"> <el-form ref="form" :model="form" label-width="120px">
<el-form-item label="消息" /> <el-form-item label="消息" />
<el-form-item label="主题:"> <el-form-item label="主题:">
<el-input v-model="form.label"></el-input> <el-input v-model="form.subject"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="邮件正文"> <el-form-item label="邮件正文">
<el-input v-model="form.label"></el-input> <el-input v-model="form.comment"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
...@@ -183,19 +225,18 @@ ...@@ -183,19 +225,18 @@
<el-form-item label="Attached content file"> <el-form-item label="Attached content file">
<el-checkbox <el-checkbox
v-model="form.main_path" v-model="form.attachContentFromField"
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="Content fieldname"> <el-form-item label="Content fieldname">
<el-input v-model="form.label"></el-input> <el-input v-model="form.attachContentField" :disabled="form.attachContentFromField=='N'"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="Filename fieldname"> <el-form-item label="Filename fieldname">
<el-input v-model="form.label"></el-input> <el-input v-model="form.attachContentFileNameField" :disabled="form.attachContentFromField=='N'"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
...@@ -206,45 +247,41 @@ ...@@ -206,45 +247,41 @@
<el-form-item label="动态文件名?"> <el-form-item label="动态文件名?">
<el-checkbox <el-checkbox
v-model="form.main_path" v-model="form.isFilenameDynamic"
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="form.label"></el-input> <el-input v-model="form.dynamicFieldname" :disabled="form.isFilenameDynamic == 'N'"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="通配符字段"> <el-form-item label="通配符字段">
<el-input v-model="form.label"></el-input> <el-input v-model="form.dynamicWildcard" :disabled="form.isFilenameDynamic == 'N'"></el-input>
</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="16"> <el-col :span="18">
<el-input v-model="form.output_step"></el-input> <el-input v-model="form.sourcefilefoldername" :disabled="form.isFilenameDynamic == 'Y'"></el-input>
</el-col> </el-col>
<el-col class="line" :span="3"> <el-col class="line" :span="3">
<el-button size="mini">文件</el-button> <el-button size="mini" :disabled="form.isFilenameDynamic == 'Y'" @click="selectFilePath(true)">选择文件/目录</el-button>
</el-col>
<el-col class="line" :span="3">
<el-button size="mini">目录</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-checkbox <el-checkbox
v-model="form.main_path" v-model="form.include_files"
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="form.label"></el-input> <el-input v-model="form.sourcewildcard" :disabled="form.isFilenameDynamic == 'Y'"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
...@@ -255,31 +292,30 @@ ...@@ -255,31 +292,30 @@
<el-form-item label="Zip 文件"> <el-form-item label="Zip 文件">
<el-checkbox <el-checkbox
v-model="form.main_path" v-model="form.zip_files"
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="动态 Zip 文件名?"> <el-form-item label="动态 Zip 文件名?">
<el-checkbox <el-checkbox
v-model="form.main_path" v-model="form.zipFilenameDynamic"
true-label="Y" true-label="Y"
false-label="N" false-label="N"
:disabled="form.zip_files=='N'"
></el-checkbox> ></el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="Zip 文件名字段"> <el-form-item label="Zip 文件名字段">
<el-input v-model="form.label"></el-input> <el-input v-model="form.dynamicZipFilename" :disabled="form.zipFilenameDynamic == 'N' || form.zip_files=='N'"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="Zip 文件名"> <el-form-item label="Zip 文件名">
<el-input v-model="form.label"></el-input> <el-input v-model="form.zip_name" :disabled="form.zip_files=='N'"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="如果附件大于...则进行压缩"> <el-form-item label="如果附件大于...则进行压缩">
<el-input v-model="form.label"></el-input> <el-input v-model="form.zip_limit_size" :disabled="form.zip_files=='N'"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
...@@ -289,40 +325,41 @@ ...@@ -289,40 +325,41 @@
<el-form-item label="文件名/目录"> <el-form-item label="文件名/目录">
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="16"> <el-col :span="16">
<el-input v-model="form.output_step"></el-input> <el-input v-model="form.image_name"></el-input>
</el-col> </el-col>
<el-col class="line" :span="3"> <el-col class="line" :span="3">
<el-button size="mini">添加</el-button> <el-button size="mini" @click="appImg">添加</el-button>
</el-col> </el-col>
<el-col class="line" :span="3"> <el-col class="line" :span="3">
<el-button size="mini">文件</el-button> <el-button size="mini" @click="selectFilePath(false)"
>文件</el-button
>
</el-col> </el-col>
</el-row> </el-row>
</el-form-item> </el-form-item>
<el-form-item label="内容ID"> <el-form-item label="内容ID">
<el-input v-model="form.label"></el-input> <el-input v-model="form.content_id"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<br> <br />
<el-form > <el-form>
<el-form-item label="内嵌图片"/> <el-form-item label="内嵌图片" />
</el-form> </el-form>
<el-table :data="tableData" border style="width: 100%"> <el-table :data="embeddedimages" border style="width: 100%">
<el-table-column prop="date" label="图片" > <el-table-column prop="image_name" label="图片"> </el-table-column>
</el-table-column> <el-table-column prop="content_id" label="内容id">
<el-table-column prop="name" label="内容id" >
</el-table-column> </el-table-column>
<el-table-column label="操作" > <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@click="addInputField( scope.row)" @click="addInputField(scope.row)"
type="text" type="text"
size="small" size="small"
>编辑</el-button >编辑</el-button
> >
<el-button <el-button
@click="deleteField(scope.$index, inputLies.connector)" @click="deleteField(scope.$index, embeddedimages)"
type="text" type="text"
size="small" size="small"
>删除</el-button >删除</el-button
...@@ -368,21 +405,61 @@ ...@@ -368,21 +405,61 @@
<el-button type="primary" @click="addFieldDetermine">确 定</el-button> <el-button type="primary" @click="addFieldDetermine">确 定</el-button>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog
title="文件浏览器"
:visible.sync="filePathSelection"
width="500px"
:before-close="handleClose"
:modal="false"
>
<browseFiles :disabed="true" v-on:route="route"></browseFiles>
<span slot="footer" class="dialog-footer">
<el-button @click="filePathSelection = false">取 消</el-button>
<el-button type="primary" @click="addFilePathSelection"
>确 定</el-button
>
</span>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import mxgraph from "@/utils/mxgraph";
const {
mxGraph,
mxUtils,
mxEvent,
mxKeyHandler,
mxRubberband,
mxConstants,
mxStencilRegistry,
mxStencil,
mxCodec,
mxGraphModel,
mxGeometry,
} = mxgraph;
import { systemDataTypes } from "@/api/kettle/link"; import { systemDataTypes } from "@/api/kettle/link";
import browseFiles from "../appBulletFrame/browseFiles";
const uuid = require("uuid");
export default { export default {
components: {
browseFiles,
},
props: ["form", "sendMailDialog", "saveOutputDialog"], props: ["form", "sendMailDialog", "saveOutputDialog"],
data() { data() {
return { return {
tableData: [], embeddedimages: [],
addField: false, addField: false,
fields: [], fields: [],
type: {}, type: {},
fileList: [],
dataStatus: false, dataStatus: false,
fiel: {}, fiel: {},
filePathSelection: false,
urlState:false,
}; };
}, },
...@@ -391,6 +468,37 @@ export default { ...@@ -391,6 +468,37 @@ export default {
}, },
methods: { methods: {
deleteField(index, rows) {
rows.splice(index, 1);
},
appImg() {
this.embeddedimages.push({
image_name: this.form.image_name,
content_id: this.form.content_id,
});
this.form.image_name = "";
this.form.content_id = "";
},
route(flowData) {
if (this.urlState) {
this.form.sourcefilefoldername = flowData.name
}else{
this.form.image_name = flowData.name;
this.form.content_id = uuid.v1();
console.log(form.content_id);
console.log(this.localPath);
}
},
selectFilePath(state) {
this.urlState = state
this.filePathSelection = !this.filePathSelection;
},
addFilePathSelection() {
this.filePathSelection = !this.filePathSelection;
},
clickFun(graph, val) { clickFun(graph, val) {
console.log(graph, "双击获取值"); console.log(graph, "双击获取值");
this.newGraph = graph; this.newGraph = graph;
...@@ -405,9 +513,10 @@ export default { ...@@ -405,9 +513,10 @@ export default {
}, },
SystemInfoDialogFun() { SystemInfoDialogFun() {
this.handleCloseFun();
this.form.fields = JSON.stringify(this.fields); this.form.embeddedimages = JSON.stringify(this.embeddedimages);
this.saveOutputDialog(this.form); this.saveOutputDialog(this.form);
this.handleCloseFun();
}, },
addFieldDetermine() { addFieldDetermine() {
......
...@@ -137,6 +137,21 @@ ...@@ -137,6 +137,21 @@
</template> </template>
<script> <script>
import mxgraph from "@/utils/mxgraph";
const {
mxGraph,
mxUtils,
mxEvent,
mxKeyHandler,
mxRubberband,
mxConstants,
mxStencilRegistry,
mxStencil,
mxCodec,
mxGraphModel,
mxGeometry,
} = mxgraph;
import { systemDataTypes } from "@/api/kettle/link"; import { systemDataTypes } from "@/api/kettle/link";
export default { export default {
props: ["form", "streamQueryDialog", "saveOutputDialog"], props: ["form", "streamQueryDialog", "saveOutputDialog"],
......
<template>
<div class="getSystemInformation">
<el-dialog
title="获取系统信息"
:visible.sync="stringSubstitutionDialog"
width="1300px"
:before-close="handleCloseFun"
>
<el-form ref="form" :model="form" label-width="120px">
<el-form-item label="步骤名称:">
<el-input v-model="form.label"></el-input>
</el-form-item>
</el-form>
<el-card class="box-card">
字段
<br />
<el-button
type="text"
@click="fieldClick(true)"
:disabled="form.selectFields == 'N'"
>添加字段</el-button
>
<el-table :data="fields" style="width: 100%">
<el-table-column type="index" width="50" align="center">
</el-table-column>
<el-table-column
prop="in_stream_name"
label="输入流字段"
align="center"
>
</el-table-column>
<el-table-column
prop="out_stream_name"
label="输出流字段"
align="center"
>
</el-table-column>
<el-table-column
prop="use_regex"
label="使用正则表达式"
align="center"
>
<template slot-scope="scope">
{{ scope.row.set_empty_string == "yes" ? "是" : "否" }}
</template>
</el-table-column>
<el-table-column prop="replace_string" label="搜索" align="center">
</el-table-column>
<el-table-column
prop="replace_by_string"
label="使用...替换"
align="center"
>
</el-table-column>
<el-table-column
prop="set_empty_string"
label="设置为空串?"
align="center"
>
<template slot-scope="scope">
{{ scope.row.set_empty_string == "Y" ? "是" : "否" }}
</template>
</el-table-column>
<el-table-column
prop="replace_field_by_string"
label="使用字段值替换"
align="center"
>
</el-table-column>
<el-table-column
prop="whole_word"
label="整个单词匹配"
align="center"
>
<template slot-scope="scope">
{{ scope.row.set_empty_string == "yes" ? "是" : "否" }}
</template>
</el-table-column>
<el-table-column
prop="case_sensitive"
label="大小写敏感"
align="center"
>
<template slot-scope="scope">
{{ scope.row.set_empty_string == "yes" ? "是" : "否" }}
</template>
</el-table-column>
<el-table-column prop="is_unicode" label="ls Unicode" align="center">
<template slot-scope="scope">
{{ scope.row.set_empty_string == "yes" ? "是" : "否" }}
</template>
</el-table-column>
<el-table-column label="操作" width="100px" align="center">
<template slot-scope="scope">
<el-button
@click="fieldClick(false, scope.row)"
type="text"
size="small"
:disabled="form.selectFields == 'N'"
>编辑</el-button
>
<el-button
type="text"
size="small"
@click="deleteField(scope.$index, fields)"
:disabled="form.selectFields == 'N'"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</el-card>
<span slot="footer" class="dialog-footer">
<el-button @click="handleCloseFun">取 消</el-button>
<el-button type="primary" @click="SystemInfoDialogFun">确 定</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-select
v-model="fiel.in_stream_name"
style="width: 100%"
clearable
>
<el-option
v-for="item in fieldsLite"
:key="item.index"
:label="item.name"
:value="item.name"
/>
</el-select>
</el-form-item>
<el-form-item label="输出流字段:">
<el-input v-model="fiel.out_stream_name"></el-input>
</el-form-item>
<el-form-item label="使用正则表达式:">
<el-select v-model="fiel.type" style="width: 100%" clearable>
<el-option label="是" value="yes"></el-option>
<el-option label="否" value="on"></el-option>
</el-select>
</el-form-item>
<el-form-item label="搜索:">
<el-input v-model="fiel.replace_string"></el-input>
</el-form-item>
<el-form-item label="使用...替换:">
<el-input v-model="fiel.replace_by_string"></el-input>
</el-form-item>
<el-form-item label="设置为空串?:">
<el-select v-model="fiel.set_empty_string" 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-item label="使用字段值替换:">
<el-select
v-model="fiel.replace_field_by_string"
style="width: 100%"
clearable
>
<el-option
v-for="item in fieldsLite"
:key="item.index"
:label="item.name"
:value="item.name"
/>
</el-select>
</el-form-item>
<el-form-item label="整个单词匹配:">
<el-select v-model="fiel.whole_word" style="width: 100%" clearable>
<el-option label="是" value="yes"></el-option>
<el-option label="否" value="on"></el-option>
</el-select>
</el-form-item>
<el-form-item label="大小写敏感:">
<el-select v-model="fiel.case_sensitive" style="width: 100%" clearable>
<el-option label="是" value="yes"></el-option>
<el-option label="否" value="on"></el-option>
</el-select>
</el-form-item>
<el-form-item label="ls Unicode:">
<el-select v-model="fiel.is_unicode" style="width: 100%" clearable>
<el-option label="是" value="yes"></el-option>
<el-option label="否" value="on"></el-option>
</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="addFieldDetermine">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import mxgraph from "@/utils/mxgraph";
const {
mxGraph,
mxUtils,
mxEvent,
mxKeyHandler,
mxRubberband,
mxConstants,
mxStencilRegistry,
mxStencil,
mxCodec,
mxGraphModel,
mxGeometry,
} = mxgraph;
import { systemDataTypes, inputOutputFields } from "@/api/kettle/link";
export default {
props: ["form", "stringSubstitutionDialog", "saveOutputDialog", "nodeData"],
data() {
return {
addField: false,
fields: [],
type: {},
dataStatus: false,
fiel: {},
fieldsLite: [],
};
},
created() {
this.systemDataTypesFun();
},
methods: {
fieldClick(state, val) {
this.getTheField();
this.dataStatus = state
this.addField = !this.addField;
if (state) {
this.fiel = {};
} else {
this.fiel = val;
}
},
deleteField(index, rows) {
rows.splice(index, 1);
},
clickFun(graph, val) {
console.log(graph, "双击获取值");
this.newGraph = graph;
console.log(val, "拿到form");
this.fields = JSON.parse(val.fields);
},
getTheField() {
console.log(this.nodeData);
var enc = new mxCodec(mxUtils.createXmlDocument());
var node = enc.encode(this.newGraph.getModel());
this.graphXml = mxUtils.getPrettyXml(node);
// console.log( this.graphXml,"看着了");
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.fieldsLite = res;
console.log(res);
// this.fields.field_name = res.name
});
},
handleCloseFun() {
this.$emit("update:stringSubstitutionDialog", false);
},
SystemInfoDialogFun() {
this.handleCloseFun();
this.form.fields = JSON.stringify(this.fields);
this.saveOutputDialog(this.form);
},
addFieldDetermine() {
this.addField = !this.addField;
if (this.dataStatus) {
this.fields.push(this.fiel);
} else {
}
},
// 关闭弹框
handleClose(done) {
this.$confirm("确认关闭?")
.then((_) => {
done();
})
.catch((_) => {});
},
deleteRow(index, rows) {
rows.splice(index, 1);
},
addSheet(state, val) {
this.addField = !this.addField;
this.dataStatus = state;
if (state) {
this.fiel = {};
} else {
this.fiel = val;
}
},
systemDataTypesFun() {
systemDataTypes().then((res) => {
this.type = res;
});
},
},
};
</script>
<style lang="scss" scoped>
* {
outline: none;
}
</style>
...@@ -90,7 +90,7 @@ export default { ...@@ -90,7 +90,7 @@ export default {
// 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.24:9888/ETLWEB-SERVER/etlweb/`, // prefix:`http://192.168.0.24:9888/ETLWEB-SERVER/etlweb/`,
prefix:`http://192.168.0.71:9888/ETLWEB-SERVER/etlweb/`, prefix:`http://192.168.0.71:9888/ETLWEB-SERVER/etlweb/`,
// prefix:`http://192.168.0.33:9889/ETLWEB-SERVER/etlweb/`,
// 测试数据开始===== // 测试数据开始=====
jobTreeList: [ jobTreeList: [
{ {
......
...@@ -742,6 +742,20 @@ ...@@ -742,6 +742,20 @@
> >
</getSystemInformation> </getSystemInformation>
<!-- 字符串替换-->
<stringSubstitution
ref="stringSubstitution"
:disabled="true"
:form="form"
:nodeData="nodeData"
:stringSubstitutionDialog.sync="stringSubstitutionDialog"
:saveOutputDialog="saveOutputDialog"
>
</stringSubstitution>
<!-- 自定义常量数据--> <!-- 自定义常量数据-->
<customConstant <customConstant
...@@ -984,13 +998,16 @@ ...@@ -984,13 +998,16 @@
:form="form" :form="form"
:streamQueryDialog.sync="streamQueryDialog" :streamQueryDialog.sync="streamQueryDialog"
:doubleClickCell="doubleClickCell" :doubleClickCell="doubleClickCell"
:saveOutputDialog="saveOutputDialog"
></streamQuery> ></streamQuery>
<!-- 替换NULL值 --> <!-- 替换NULL值 -->
<replaceNull <replaceNull
ref="replaceNull" ref="replaceNull"
:form="form" :form="form"
:nodeData="nodeData"
:replaceNullDialog.sync="replaceNullDialog" :replaceNullDialog.sync="replaceNullDialog"
:doubleClickCell="doubleClickCell"> :doubleClickCell="doubleClickCell"
:saveOutputDialog="saveOutputDialog">
</replaceNull> </replaceNull>
<!-- 发送邮件 --> <!-- 发送邮件 -->
...@@ -999,6 +1016,7 @@ ...@@ -999,6 +1016,7 @@
:form="form" :form="form"
:sendMailDialog.sync="sendMailDialog" :sendMailDialog.sync="sendMailDialog"
:doubleClickCell="doubleClickCell" :doubleClickCell="doubleClickCell"
:saveOutputDialog="saveOutputDialog"
></sendMail> ></sendMail>
<!-- 文件浏览器--> <!-- 文件浏览器-->
...@@ -1267,7 +1285,7 @@ import mappingInput from "../appBulletFrame/mappingInput"; //映射输入 ...@@ -1267,7 +1285,7 @@ import mappingInput from "../appBulletFrame/mappingInput"; //映射输入
import mappingOutput from "../appBulletFrame/mappingOutput"; //映射输出 import mappingOutput from "../appBulletFrame/mappingOutput"; //映射输出
import xmlFileInput from "../appBulletFrame/xmlFileInput"; //xml文件输入 import xmlFileInput from "../appBulletFrame/xmlFileInput"; //xml文件输入
import nullOperation from "../appBulletFrame/nullOperation"; //空操作 import nullOperation from "../appBulletFrame/nullOperation"; //空操作
import stringSubstitution from "../appBulletFrame/stringSubstitution"; //字符串替换
import conversionSettings from "../appBulletFrame/conversionSettings"; //转换设置 import conversionSettings from "../appBulletFrame/conversionSettings"; //转换设置
import jobSettings from "../appBulletFrame/jobSettings"; //作业设置 import jobSettings from "../appBulletFrame/jobSettings"; //作业设置
...@@ -1409,6 +1427,7 @@ export default { ...@@ -1409,6 +1427,7 @@ export default {
xmlFileInputDialog: false, //xml文件输入 xmlFileInputDialog: false, //xml文件输入
importXmlFileDialog: false, //导出资源库到XML文件 importXmlFileDialog: false, //导出资源库到XML文件
groupingDialog: false, //分组 groupingDialog: false, //分组
stringSubstitutionDialog:false,//字符串替换
streamQueryDialog: false, //流查询 streamQueryDialog: false, //流查询
replaceNullDialog:false, //替换Null值 replaceNullDialog:false, //替换Null值
sendMailDialog: false, //发送邮件 sendMailDialog: false, //发送邮件
...@@ -1506,6 +1525,7 @@ export default { ...@@ -1506,6 +1525,7 @@ export default {
successDialog, successDialog,
homeworkDialog, homeworkDialog,
// //
stringSubstitution,//字符串替换
sortRecord, //排序记录 sortRecord, //排序记录
setVariable, //设置变量 setVariable, //设置变量
getVariable, //获取变量 getVariable, //获取变量
...@@ -2215,7 +2235,14 @@ export default { ...@@ -2215,7 +2235,14 @@ export default {
valueFormat(pamer2).then((res) => { valueFormat(pamer2).then((res) => {
this.fieldFormat = res; this.fieldFormat = res;
}); });
if ((this.curFileType == "transformation" && cell.dis == "step84") || if ((this.curFileType == "transformation" && cell.dis == "step63") ||
cell.value.attributes.ctype.value == "ReplaceString") {
this.stringSubstitutionDialog = !this.stringSubstitutionDialog
this.form = this.showDataFunc();
setTimeout(() => {
this.$refs.stringSubstitution.clickFun(this.graph,this.form);
}, 500);
}else if ((this.curFileType == "transformation" && cell.dis == "step84") ||
cell.value.attributes.ctype.value == "IfNull") { cell.value.attributes.ctype.value == "IfNull") {
this.replaceNullDialog = !this.replaceNullDialog this.replaceNullDialog = !this.replaceNullDialog
this.form = this.showDataFunc(); this.form = this.showDataFunc();
......
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