'修改qtask相关'

This commit is contained in:
2019-04-22 19:01:59 +08:00
parent ebbd490913
commit e5a4451a7e
23 changed files with 236 additions and 261 deletions

View File

@@ -1,5 +1,11 @@
const qtask = {
qtaskList() {
return red.getX('_qtask/list',{})
return red.postX('_qtask/list',{})
},
qtaskSave({task}) {
return red.postX('_qtask/save',{task})
},
qtaskDebug({task}) {
return red.postX('_qtask/debug',{task})
}
}

View File

@@ -1,8 +1,3 @@
<style>
.table td, .table th {
padding: 4px;
}
</style>
<row class="metatable-list">
<div class="col-md-12">
<h3 v-text="cfg.title"></h3>
@@ -99,7 +94,6 @@
},
},
mounted: function () {
//dbPlats 列表初始化
red.dbPlats(function (json) {
vm.dbPlats = json;
});

View File

@@ -21,7 +21,6 @@
<span class="input-group-btn" style="padding-left: 10px">
<button @click="status=7;" :class="['btn',{'btn-primary':status==7}]" type="button"> 基本属性</button>
</span>
<!-- fixme: 加入数据平台相关操作, 1、关联数据平台2、表结构入库 -->
<span class="input-group-btn" style="padding-left: 20px">
<button @click="save()" :class="['btn',{'btn-primary':status!=0},{'disabled':status==0}]" type="button"> 保存</button>
@@ -144,7 +143,7 @@
var vm = new Vue({
el: ".meta-list",
data: {
inTypes: ["INPUT", "SELECT_EXT", "INPUT_DT"],
inTypes: ["INPUT", "SELECT_EXT", "INPUT_DT", "FMT_FUN"],
dataTypes: ["bigint(20)", "varchar(255)", "varchar(64)", "varchar(32)", "varchar(16)", "int(11)", "int(3)", "int(2)", "datetime"],
filterCate: ["EQUAL", "NOTEQUAL", "LIKE", "IN"],
tables: [],//所有的业务类型,【测试用】

View File

@@ -85,8 +85,8 @@
<select class="form-control" v-model="row.cate">
<option value="mysql">MySql</option>
<option value="es">ES</option>
<option value="htttp">Htttp</option>
<option value="method">Method</option>
<option value="http">Http</option>
<option value="localApi">平台本地API</option>
</select>
</div>
</div>

View File

@@ -8,7 +8,7 @@
<a href="javascript:;" class="btn" type="button"> 选择QTask任务</a>
</span>
<select class="form-control" v-model="row">
<option v-for="item in qtasks" :value="item" v-text="item.name"></option>
<option v-for="item in list.rows" :value="item" v-text="`${item.name}--${item.comment}`"></option>
</select>
</div>
@@ -16,25 +16,21 @@
<div class="modal-body">
<form class="form-horizontal">
<div class="form-group">
<label class="col-sm-2">查询ID</label>
<div class="col-md-6 col-sm-10" v-text="row.queryId" style="padding-top: 5px"></div>
<label class="col-sm-2">业务名称</label>
<div class="col-md-6 col-sm-10" v-text="row.comment" style="padding-top: 5px"></div>
</div>
<div class="form-group">
<label class="col-sm-2">业务名称</label>
<label class="col-sm-2">业务标识码</label>
<div class="col-md-6 col-sm-10" v-text="row.name" style="padding-top: 5px"></div>
</div>
<div class="form-group">
<label class="col-sm-2">说明</label>
<div class="col-md-6 col-sm-10" v-text="row.remark" style="padding-top: 5px"></div>
</div>
<div class="form-group" style="margin-bottom: 0">
<label for="sql" class="col-md-2">SQL</label>
<label for="content" class="col-md-2">执行的内容</label>
<div class="col-md-10">
<textarea v-model="row.sql" class="form-control layui-code" rows="10" id="sql" placeholder="请输入 SQL (支持jfinal-enjoy模板语法)" > </textarea>
<textarea v-model="row.content" class="form-control layui-code" rows="10" id="content" placeholder="请输入 SQL (支持jfinal-enjoy模板语法)" > </textarea>
</div>
</div>
<div class="form-group">
<label for="para" class="col-sm-2">查询参数</label>
<label for="para" class="col-sm-2">默认查询参数</label>
<div class="col-md-6 col-sm-10">
<input v-model="row.para" class="form-control" id="para" placeholder="请输入 默认查询参数格式: {k:v}">
</div>
@@ -42,7 +38,7 @@
<div class="form-group">
<label for="para" class="col-sm-2">数据平台</label>
<div class="col-md-6">
<select v-model="row.platId" class="form-control">
<select v-model="row.dbPlatId" class="form-control">
<option></option>
<option v-for="item in dbPlats" :value="item.key" v-text="item.name"></option>
</select>
@@ -67,10 +63,12 @@
</row>
<script src="http://www.1216.top/res/layui/layui.js"></script>
<script>
let {qtaskList, qtaskDebug} = qtask
let {dbList} = plat
var vm = new Vue({
el: ".qtask-debug",
data: {
qtasks: [],
row: {},
list: {rows:[], total: 0},
dbPlats: [],
@@ -86,40 +84,34 @@
},
methods: {
catalogs: function () {
var dbPlats = this.dbPlats;
let dbPlats = this.dbPlats;
for (i in dbPlats) {
if (dbPlats[i].key == this.row.platId) {
if (dbPlats[i].key == this.row.dbPlatId) {
return dbPlats[i]["catalogs"]
}
}
},
query: function () {
vm.result = "";
red.post("/qtask/test", {qtask: JSON.stringify(vm.row)}, function (json) {
vm.result = json;
red.showMsg({msg: "查询成功"});
});
this.result = "";
qtaskDebug({task: this.row}).then(res => {
this.result = res;
red.showOk("查询成功")
})
}
},
mounted: function () {
dbList().then(res => {
this.dbPlats = res.rows;
})
qtaskList().then(res => {
let list = res
//qtask 列表初始化
var para = {
pn:1,
ps:120,
doc:"qtask",
clazz:"net.tccn.common.qtask.Qtask",
filter: JSON.stringify([{col:"status",type:"==",value:1},{col:"sysPlatId",type:"==",value:red.getPlatId()}])
};
red.getJSON("/meta/find", para, function (json) {
vm.qtasks = json.rows;
vm.row = vm.qtasks[0];
});
if(list && list.rows.length > 0) {
this.row = list.rows[0]
}
this.list = list
})
//dbPlats 列表初始化
red.dbPlats(function (json) {
vm.dbPlats = json;
});
setTimeout(function () {
layui.use('code', function(){ //加载code模块

View File

@@ -26,14 +26,12 @@
<thead>
<tr>
<th v-for="field in cfg.cols" v-text="field.label"></th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr v-for="row in list.rows">
<td v-for="field in cfg.cols" v-title="row[field.col]" v-text="row[field.col]"></td>
<td v-text="dealStatus(row.status)"></td>
<td>
<a @click="openDia(row)" href="javascript:;">编辑</a>|
<a @click="row['status']=1;qsave(row);" v-show="row.status != 1" href="javascript:;">启用</a>
@@ -54,40 +52,26 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">关闭</span></button>
<h4 class="modal-title">QTask - [编辑]</h4>
<h4 class="modal-title">QTask编辑</h4>
</div>
<div class="modal-body">
<form class="form-horizontal">
<div class="form-group">
<label for="queryId" class="col-sm-2">查询ID</label>
<label class="col-sm-2">任务名称</label>
<div class="col-md-6 col-sm-10">
<input v-model="row.queryId" :readonly="row.key" class="form-control" id="queryId" placeholder="请输入queryId">
<input v-model="row.comment" class="form-control" placeholder="请输入 业务名称">
</div>
</div>
<div class="form-group">
<label for="name" class="col-sm-2">业务名称</label>
<label class="col-sm-2">任务标识码</label>
<div class="col-md-6 col-sm-10">
<input v-model="row.name" class="form-control" id="name" placeholder="请输入 业务名称">
</div>
</div>
<div class="form-group">
<label for="para" class="col-sm-2">任务类型</label>
<div class="col-md-6">
<select v-model="row.cate" class="form-control">
<option v-for="item in cfg.cates" :value="item" v-text="item"></option>
</select>
</div>
</div>
<div class="form-group">
<label for="name" class="col-sm-2">说明</label>
<div class="col-md-6 col-sm-10">
<input v-model="row.remark" class="form-control" id="remark" placeholder="请输入 说明">
<input v-model="row.name" :readonly="row.key" class="form-control" placeholder="请输入 任务标识码">
</div>
</div>
<div class="form-group" style="margin-bottom: 0">
<label for="sql" class="col-md-2">SQL</label>
<label class="col-md-2">执行内容</label>
<div class="col-md-10">
<textarea v-model="row.sql" class="form-control layui-code" rows="10" id="sql" placeholder="请输入 SQL (支持jfinal-enjoy模板语法)" > </textarea>
<textarea v-model="row.content" class="form-control layui-code" rows="10" placeholder="请输入 SQL (支持jfinal-enjoy模板语法)" > </textarea>
</div>
</div>
<div class="form-group">
@@ -99,7 +83,7 @@
<div class="form-group">
<label for="para" class="col-sm-2">数据平台</label>
<div class="col-md-6">
<select v-model="row.platId" class="form-control">
<select v-model="row.dbPlatId" class="form-control">
<option></option>
<option v-for="item in dbPlats" :value="item.key" v-text="item.name"></option>
</select>
@@ -115,7 +99,7 @@
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
<button @click="qsave(row)" type="button" class="btn btn-primary">确定</button>
<button @click="save()" type="button" class="btn btn-primary">确定</button>
</div>
</div>
</div>
@@ -131,7 +115,7 @@
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
<button @click="qsave(row);$('#mySmModal').modal('hide');" type="button" class="btn btn-primary">确定</button>
<button @click="save()" type="button" class="btn btn-primary">确定</button>
</div>
</div>
</div>
@@ -139,7 +123,8 @@
</row>
<script src="http://www.1216.top/res/layui/layui.js"></script>
<script>
let {qtaskList} = qtask
let {qtaskList,qtaskSave} = qtask
let {dbList} = plat
var vm = new Vue({
el: ".qtask-list",
@@ -148,9 +133,8 @@
cfg: {
title: "QTask 管理",
cols: [
{col: "queryId", label: "查询id",},
{col: "name", label: "务名称",},
{col: "remark", label: "说明"}
{col: "name", label: "任务标识码",},
{col: "comment", label: "务名称",},
],
filters: [],
cates: ["find","update"]
@@ -165,47 +149,27 @@
},
methods: {
loadList: function () {
qtaskList().then(res => this.list = res)
/*var para = {
pn:1,
ps:120,
doc:"qtask",
clazz:"net.tccn.common.qtask.Qtask",
filter: JSON.stringify([{col:"status",type:"!=",value:-1},{col:"sysPlatId",type:"==",value:this.sysPlat._key}])
};
red.getJSON("/meta/find", para, function (json) {
vm.list = json;
});*/
qtaskList().then(res => {
let list = res
this.list = list
})
},
openDia: function (row) {
vm.row = row;
$('#myModal').modal({moveable: true});
if (this.dbPlats.length == 0) {
var para = {
doc:"db_plat",
clazz:"net.tccn.common.qtask.DbPlat",
};
red.getJSON("/meta/find", para, function (json) {
vm.dbPlats = json.rows;
});
dbList().then(res => {
this.dbPlats = res.rows;
})
}
},
qsave: function (row) {
row = row || vm.row;
if (!row["sysPlatId"]) {//设置平台id
row["sysPlatId"] = red.getPlatId();
}
red.post("/qtask/qsave", {qtask: JSON.stringify(row)}, function (json) {
vm.row = {};
$('#myModal').modal('hide');
vm.loadList();
red.showMsg();
});
save() {
qtaskSave({task:this.row}).then(res => {
red.showOk()
this.loadList()
$('#myModal').modal('hide')
this.row = {}
})
},
dealStatus: function (n) {
var arr = {"0":"未启用", "1":"启用", "-1":"删除",}
@@ -220,9 +184,9 @@
$(".container-fixed").load("abc.html");
},
catalogs: function () {
var dbPlats = this.dbPlats;
let dbPlats = this.dbPlats;
for (i in dbPlats) {
if (dbPlats[i].key == this.row.platId) {
if (dbPlats[i].key == this.row.dbPlatId) {
return dbPlats[i]["catalogs"]
}
}