Compare commits

..

No commits in common. "967c82c997ff33e09947f90d73be7d54ddda355c" and "3b19c4a2fdccc5cdc6a47365428299601fcad84c" have entirely different histories.

6 changed files with 73 additions and 197 deletions

View File

@ -36,12 +36,12 @@ export function deleteByTaskId(id) {
} }
//获得所有数据结构信息 //获得所有数据结构信息
// export function tableInfoList() { export function tableInfoList() {
// return request({ return request({
// url: "/task/tableInfo/list", url: "/task/tableInfo/list",
// method: "GET", method: "GET",
// }) })
// } }
//获得所有数据结构信息 //获得所有数据结构信息
export function findByTableId(id) { export function findByTableId(id) {
@ -80,31 +80,12 @@ export function findByNodeId(nodeId) {
//联查记录添加 //联查记录添加
export function addTaskJoin(data) { export function addTaskJoin(data) {
return request({ return request({
url: "/task/taskJoin/addTaskJoin", url: "/task/taskJoin/addTaskJoin/",
method: "POST", method: "POST",
data:data data:data
}) })
} }
//添加数据输出节点
export function addTaskOutPut(data) {
return request({
url: "/task/taskOutPut/addTaskOutPut",
method: "POST",
data:data
})
}
//执行任务
export function executeTask(id) {
return request({
url: "/task/executeTask/"+id,
method: "POST"
})
}

View File

@ -30,7 +30,6 @@
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="taskInputAdd = false"> </el-button> <el-button @click="taskInputAdd = false"> </el-button>
<el-button type="primary" @click="addTaskInput()"></el-button> <el-button type="primary" @click="addTaskInput()"></el-button>
<el-button @click="nb()"></el-button>
</div> </div>
</span> </span>
@ -124,7 +123,6 @@
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="cancelColumn()"></el-button> <el-button @click="cancelColumn()"></el-button>
<el-button type="primary" @click="columnAddGood()"> </el-button> <el-button type="primary" @click="columnAddGood()"> </el-button>
<el-button @click="nb()"></el-button>
</div> </div>
</span> </span>
</div> </div>
@ -139,7 +137,7 @@ import { selectEngineList } from '@/api/engine/engine'
export default { export default {
//import使" //import使"
components: {}, components: {},
props:['graph','nodeId','taskInputForm','tableInfo','nodeName','columnList'], props:['graph','nodeId','taskInputForm','tableInfo','nodeName'],
data() { data() {
//" //"
@ -158,7 +156,6 @@ export default {
joinSelect:{}, joinSelect:{},
taskAddReq:{}, taskAddReq:{},
taskInputReq:{}, taskInputReq:{},
nbList:[],
engineReq:{ engineReq:{
pageNum: 1, pageNum: 1,
pageSize: 100 pageSize: 100
@ -168,7 +165,6 @@ export default {
value:[], value:[],
engineList:[], engineList:[],
columnList:[],
// //
data:[], data:[],
@ -178,6 +174,8 @@ export default {
}, },
tableList:[], tableList:[],
columnList:[],
structureList:[],
itemId:0, itemId:0,
}; };
@ -219,9 +217,9 @@ export default {
"tableAsField":this.tableInfo.tableAsField.substring(1), "tableAsField":this.tableInfo.tableAsField.substring(1),
"fieldAsEngineId":this.tableInfo.fieldAsEngineId "fieldAsEngineId":this.tableInfo.fieldAsEngineId
}).then(res=>{ }).then(res=>{
alert(res.msg); alert(res.msg);
}) })
//
}, },
// //
@ -237,10 +235,8 @@ export default {
val = this.tableInfo.columnList; val = this.tableInfo.columnList;
return; return;
} }
this.columnList = val;
this.tableInfo.tableField = ""; this.tableInfo.tableField = "";
this.tableInfo.tableAsField = ""; this.tableInfo.tableAsField = "";
val.forEach(item=>{ val.forEach(item=>{
this.tableInfo.tableField +=','+ item.columnName; this.tableInfo.tableField +=','+ item.columnName;
this.tableInfo.tableAsField +=','+ item.tableAsField; this.tableInfo.tableAsField +=','+ item.tableAsField;
@ -252,16 +248,12 @@ export default {
// //
handleNodeClick(data) { handleNodeClick(data) {
this.tableInfo = data; this.tableInfo = data;
console.log(data) findStructureByTableId(data.id).then((res)=>{
this.tableInfo.structureList = [];
findStructureByTableId(data.id).then(res=>{
this.tableInfo.structureList=res.data; this.tableInfo.structureList=res.data;
}) })
this.tableInfo.taskId = this.$route.params.id; this.tableInfo.taskId = this.$route.params.id;
}, const cellById = this.graph.getCellById(this.nodeId)
cellById.setData(this.tableInfo);
nb(){
console.log(this.tableInfo.structureList)
}, },
// //

View File

@ -2,60 +2,13 @@
<div> <div>
<!-- 数据输出表单--> <!-- 数据输出表单-->
<span v-if="taskDataOutPut"> <span v-if="taskDataOutPut">
<el-button @click="nb"></el-button><br> <el-select v-model="tableInfo.tableName" placeholder="请选择数据库">
<el-option style="height: 100%" :value="tableInfo.tableName">
<span v-for="(outPut,index) in dataOutPut.tableField.split(',')">
<el-checkbox :label=outPut :value=outPut v-model="twoInputList"> {{ outPut }} {{dataOutPut.tableField.split(',')[index]}}</el-checkbox><br>
</span>
<el-select v-model="dataOutPut.tableName" placeholder="请选择数据库">
<el-aside width="100%"> <el-aside width="100%">
<el-option style="height: 100%" :value="dataOutPut.tableName"> <el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
<el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
</el-option>
</el-aside> </el-aside>
</el-option>
</el-select> </el-select>
<div slot="footer" class="dialog-footer">
<el-button @click="taskDataOutPut = false">取消</el-button>
<el-button type="primary" @click="toSelectField()"> </el-button>
</div>
</span>
<!-- 选择目标字段-->
<span v-if="selectField">
<span v-for="(two,index) in twoInputList">
{{two}}
<el-select v-model="target[index]" placeholder="请选择">
<el-option v-for="item in columnList" :label="item.columnName" :value="item.columnName"></el-option>
</el-select>
<br>
</span>
<!-- <el-table-->
<!-- :data="twoInputList" style="width: 100%" max-height="250">-->
<!-- <el-table-column label="输入字段" width="100">-->
<!-- <template slot-scope="scope">-->
<!-- <span style="margin-left: 10px">{{ scope.row}}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="目标字段" width="100">-->
<!-- </el-table-column>-->
<!-- </el-table>-->
<div slot="footer" class="dialog-footer">
<el-button @click="back()"></el-button>
<el-button type="primary" @click="addOutput()"> </el-button>
</div>
</span> </span>
</div> </div>
</template> </template>
@ -63,15 +16,10 @@
<script> <script>
//jsjsjson, //jsjsjson,
//import from ', //import from ',
import { findStructureByTableId, findTableInfoList } from '@/api/etl/switch'
import { addTaskOutPut, findByNodeId } from '@/api/task/task'
import item from '@/layout/components/Sidebar/Item.vue'
import fa from 'element-ui/src/locale/lang/fa'
export default { export default {
//import使" //import使"
components: {}, components: {},
props:['graph','nodeId','nodeName','taskId','taskDataOutPut','columnList','neighbors'], props:['graph','nodeId','nodeName','taskId','taskDataOutPut'],
data() { data() {
//" //"
@ -79,103 +27,28 @@ export default {
// //
data:[], data:[],
selectField:false,
defaultProps:{ defaultProps:{
children:"children", children:"children",
label:'tableName' label:'tableName'
}, },
dataOutPut:{},
oneInputList:{},
tableAsField:'',
tableField:'',
basicId:'',
tableId:'',
twoInputList:[],
target:[],
columnList:[],
oneNode:{},
twoNode:{},
}; };
}, },
// data", // data",
computed: { computed: {},
fa() {
return fa
}
},
//data", //data",
watch: {}, watch: {},
//", //",
methods: { methods: {
// //
addOutput(){ handleSelectionChange(val) {
addTaskOutPut({
"taskId":this.taskId,
"newFileName":this.target.toString(),
"lastFileName":this.twoInputList.toString(),
"tableId":this.tableId,
"basicId":this.basicId,
}).then(res=>{
alert(res.msg)
});
},
//
toSelectField(){
this.taskDataOutPut = false;
this.selectField = true;
},
nb(){
this.findTAbleInfoList();
},
//
findTAbleInfoList(){
findTableInfoList().then(res=>{
this.data=res.data;
})
this.tableAsField="";
findByNodeId(this.neighbors[0]).then(res=>{
this.oneNode = res.data;
console.log(this.oneNode)
})
findByNodeId(this.neighbors[1]).then(res=>{
this.twoNode = res.data;
console.log(this.twoNode)
})
this.dataOutPut.tableField = this.oneNode.tableField + ',' + this.twoNode.tableField
this.dataOutPut.tableAsField = this.oneNode.tableAsField + ',' + this.twoNode.tableAsField
},
//
back(){
this.taskDataOutPut = true;
this.selectField = false;
},
//
handleNodeClick(data) {
this.tableId = data.id
this.basicId = data.basicId
findStructureByTableId(data.id).then((res)=>{
this.columnList=res.data;
})
}, },
}, },
// - 访this", // - 访this",
created() { created() {
this.findTAbleInfoList(); this.findAllTable();
}, },
// - 访DOM", // - 访DOM",
mounted() { mounted() {

View File

@ -5,9 +5,9 @@
<el-form label-width="80px" :model="formJoin" ref="queryForm" :inline="true" class="demo-form-inline" size="small"> <el-form label-width="80px" :model="formJoin" ref="queryForm" :inline="true" class="demo-form-inline" size="small">
<el-form-item label="联查方式"> <el-form-item label="联查方式">
<el-select v-model="formJoin.joinType" placeholder="请选择"> <el-select v-model="formJoin.joinType" placeholder="请选择">
<el-option style="height: 100%" label="左联查" value="left join"/> <el-option style="height: 100%" label="左联查" value="1"/>
<el-option style="height: 100%" label="右联查" value="right join"/> <el-option style="height: 100%" label="右联查" value="2"/>
<el-option style="height: 100%" label="内联查" value="inner join"/> <el-option style="height: 100%" label="内联查" value="3"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<br> <br>
@ -63,8 +63,6 @@ export default {
return { return {
taskInputJoin: true, taskInputJoin: true,
formJoin: {}, formJoin: {},
leftId:null,
rightId:null,
oneFieldList:'', oneFieldList:'',
twoFieldList:'', twoFieldList:'',
}; };
@ -84,27 +82,24 @@ export default {
"nodeId":this.nodeId, "nodeId":this.nodeId,
"nodeName":this.nodeName, "nodeName":this.nodeName,
"taskId":this.taskId, "taskId":this.taskId,
"leftId":this.leftId,
"joinType":this.formJoin.joinType, "joinType":this.formJoin.joinType,
"rightId":this.rightId,
"leftJoinField":this.formJoin.leftJoinField, "leftJoinField":this.formJoin.leftJoinField,
"rightJoinField":this.formJoin.rightJoinField "rightJoinField":this.formJoin.rightJoinField
} }
).then(res=>{ ).then(res=>{
alert(res.msg);
}) })
}, },
//线 //线
findAllTable(){ findAllTable(){
alert(this.neighbors)
findByNodeId(this.neighbors[0]).then(res=>{ findByNodeId(this.neighbors[0]).then(res=>{
this.oneFieldList = res.data.tableAsField; this.oneFieldList = res.data.tableAsField;
this.leftId = res.data.id;
console.log(this.oneFieldList) console.log(this.oneFieldList)
}) })
findByNodeId(this.neighbors[1]).then(res=>{ findByNodeId(this.neighbors[1]).then(res=>{
this.twoFieldList = res.data.tableAsField; this.twoFieldList = res.data.tableAsField;
this.rightId = res.data.id;
console.log(this.twoFieldList) console.log(this.twoFieldList)
}) })
}, },

View File

@ -33,8 +33,7 @@
<!-- 数据输出弹窗--> <!-- 数据输出弹窗-->
<el-dialog title="数据输出" :visible.sync="taskDataOutPut" width="70%"> <el-dialog title="数据输出" :visible.sync="taskDataOutPut" width="70%">
<dataOutInput v-if="formOut" :taskDataOutPut="taskDataOutPut" :neighbors="neighbors" <dataOutInput v-if="formOut" taskDataOutPut:taskDataOutPut></dataOutInput>
:taskId="taskId"></dataOutInput>
</el-dialog> </el-dialog>
@ -68,7 +67,6 @@ export default {
taskInputFieldAdd:false, taskInputFieldAdd:false,
//id //id
neighbors:[], neighbors:[],
columnList:[],
// //
tableInfo:{}, tableInfo:{},
// //

View File

@ -41,12 +41,39 @@
</el-button> </el-button>
</el-col> </el-col>
<!-- <el-dialog title="添加数据源接入" :visible.sync="dialogFormVisible">-->
<!-- <el-form :model="sourceAddReq">-->
<!-- <el-form-item label="id">-->
<!-- <el-input v-model="sourceAddReq.id"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="任务名称">-->
<!-- <el-input v-model="sourceAddReq.name"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="任务执行状态">-->
<!-- <el-input v-model="sourceAddReq.weigh"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="任务完成度">-->
<!-- <el-input v-model="sourceAddReq.status"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- </el-dialog>-->
<el-table <el-table
:data="taskList" :data="taskList"
style="width: 100%" style="width: 100%"
@selection-change="handleSelectionChange"> @selection-change="handleSelectionChange">
<el-table-column <el-table-column
type="selection" type="selection"
width="55"> width="55">
@ -329,10 +356,15 @@
<script> <script>
//jsjsjson, //jsjsjson,
//import from ', //import from ',
import {selectSourceList} from "@/api/etl/switch";
import {selectSourceExport} from "@/api/etl/switch";
import {connectionTest} from "@/api/etl/switch";
import {insertAdd} from "@/api/etl/switch";
import {getInfo} from "@/api/etl/switch";
import { import {
addTask, addTask,
deleteByTaskId, executeTask, findByTableId, findStructureList, deleteByTaskId, findByTableId, findStructureList,
selectTaskList selectTaskList, tableInfoList
} from '@/api/task/task' } from '@/api/task/task'
export default { export default {
@ -385,15 +417,20 @@ export default {
}, },
//
executeTask(row){ tableInfoList(){
this.taskInputAdd = true; tableInfoList().then(res=>{
executeTask(row.id).then(res=>{ this.tableList = res.data;
}); });
}, },
executeTask(){
this.taskInputAdd = true;
this.tableInfoList();
},
addTaskInput(taskInfo){ addTaskInput(taskInfo){
this.taskInputAdd = false; this.taskInputAdd = false;
this.findStructureList(taskInfo); this.findStructureList(taskInfo);