metaService中支持详情页配置
This commit is contained in:
@@ -19,9 +19,9 @@ const meta = {
|
|||||||
getServiceInfo({name}, callback) {
|
getServiceInfo({name}, callback) {
|
||||||
red.getJSON("/meta/service_info",{name}, res => {
|
red.getJSON("/meta/service_info",{name}, res => {
|
||||||
|
|
||||||
let {name, comment, table, edits, imports, shows, exports, filters} = red.replacePoint(res)
|
let {name, comment, table, edits, imports, shows, exports, filters, details} = red.replacePoint(res)
|
||||||
|
|
||||||
callback({name, comment, table, edits, imports, shows, exports, filters});
|
callback({name, comment, table, edits, imports, shows, exports, filters, details});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
getServiceDetail({name}, callback) {
|
getServiceDetail({name}, callback) {
|
||||||
@@ -70,6 +70,10 @@ const meta = {
|
|||||||
exports = red.replace$(exports);
|
exports = red.replace$(exports);
|
||||||
return red.postX('/meta/exportsave', {name, exports: JSON.stringify(exports)})
|
return red.postX('/meta/exportsave', {name, exports: JSON.stringify(exports)})
|
||||||
},
|
},
|
||||||
|
detailSave({name, details}) {
|
||||||
|
details = red.replace$(details);
|
||||||
|
return red.postX('/meta/detailsave', {name, details: JSON.stringify(details)})
|
||||||
|
},
|
||||||
|
|
||||||
// Meta-Table
|
// Meta-Table
|
||||||
tableList() {
|
tableList() {
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
<row class="meta-service">
|
<row class="meta-service">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="info" style="padding-left: 10px">
|
<div class="info" style="padding-left: 10px">
|
||||||
@@ -64,6 +63,9 @@
|
|||||||
<span class="input-group-btn">
|
<span class="input-group-btn">
|
||||||
<button @click="status=6" :class="['btn',{'btn-primary':status==6}]" type="button"> 查询配置</button>
|
<button @click="status=6" :class="['btn',{'btn-primary':status==6}]" type="button"> 查询配置</button>
|
||||||
</span>
|
</span>
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button @click="status='detail'" :class="['btn',{'btn-primary':status=='detail'}]" type="button"> 详情配置</button>
|
||||||
|
</span>
|
||||||
|
|
||||||
<span class="input-group-btn" style="padding-left: 10px">
|
<span class="input-group-btn" style="padding-left: 10px">
|
||||||
<button @click="status=3" :class="['btn',{'btn-primary':status==3}]" type="button"> 导出配置</button>
|
<button @click="status=3" :class="['btn',{'btn-primary':status==3}]" type="button"> 导出配置</button>
|
||||||
@@ -84,7 +86,7 @@
|
|||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
<div style="padding-left: 10px;background-color: #ccc;width: 100%"> 业务相关表</div>
|
<div style="padding-left: 10px;background-color: #ccc;width: 100%"> 业务相关表</div>
|
||||||
<ul class="nav nav-tabs nav-stacked tlist">
|
<ul class="nav nav-tabs nav-stacked tlist">
|
||||||
<li @click="sheet=item" :class="[{active: sheet==item }]" v-for="item in sheetArr" >
|
<li @click="sheet=item" :class="[{active: sheet==item }]" v-for="item in sheetArr">
|
||||||
<a href="javascript:;" data-target="#tab3Content1" data-toggle="tab" v-text="serviceDetail['tables'][item]['name']"></a>
|
<a href="javascript:;" data-target="#tab3Content1" data-toggle="tab" v-text="serviceDetail['tables'][item]['name']"></a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -105,10 +107,11 @@
|
|||||||
<th>备注</th>-->
|
<th>备注</th>-->
|
||||||
</tr>
|
</tr>
|
||||||
<tr v-for="(item, index) in serviceDetail['tables'][sheet].items">
|
<tr v-for="(item, index) in serviceDetail['tables'][sheet].items">
|
||||||
<td v-show="status==3"><input type="checkbox" v-model="exportArr" :value="sheet + '$' + item.name"></t d>
|
<td v-show="status==3"><input type="checkbox" v-model="exportArr" :value="sheet + '$' + item.name"></td>
|
||||||
<td v-show="status==4"><input type="checkbox" v-model="serviceInfo.imports" :value="sheet + '$' + item.name"></td>
|
<td v-show="status==4"><input type="checkbox" v-model="serviceInfo.imports" :value="sheet + '$' + item.name"></td>
|
||||||
<td v-show="status==5"><input type="checkbox" v-model="showFields" :value="sheet + '$' + item.name"></td>
|
<td v-show="status==5"><input type="checkbox" v-model="showFields" :value="sheet + '$' + item.name"></td>
|
||||||
<td v-show="status==6"><input type="checkbox" v-model="filterArr" :value="sheet + '$' + item.name"></td>
|
<td v-show="status==6"><input type="checkbox" v-model="filterArr" :value="sheet + '$' + item.name"></td>
|
||||||
|
<td v-show="status=='detail'"><input type="checkbox" v-model="detailArr" :value="sheet + '$' + item.name"></td>
|
||||||
|
|
||||||
<td v-text="item.name" style="background-color: rgb(235, 235, 228);"></td>
|
<td v-text="item.name" style="background-color: rgb(235, 235, 228);"></td>
|
||||||
<td v-text="item.label"></td>
|
<td v-text="item.label"></td>
|
||||||
@@ -130,16 +133,16 @@
|
|||||||
<th></th>
|
<th></th>
|
||||||
<th>数据字段</th>
|
<th>数据字段</th>
|
||||||
<th>表头名称</th>
|
<th>表头名称</th>
|
||||||
<!--<th>支持排序</th>-->
|
<th>格式化</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tr v-for="(item, index) in serviceInfo.shows">
|
<tr v-for="(item, index) in serviceInfo.shows">
|
||||||
<td class="icon icon-move">
|
<td class="icon icon-move">
|
||||||
<input name="col" :value="item.col" type="hidden">
|
<input type="hidden" name="item" :value="JSON.stringify(item)">
|
||||||
<input name="label" :value="item.label" type="hidden">
|
|
||||||
</td>
|
</td>
|
||||||
<td v-text="item.col" style="background-color: rgb(235, 235, 228);"></td>
|
<td v-text="item.col" style="background-color: rgb(235, 235, 228);"></td>
|
||||||
<td style="padding: 1px;"><input v-model="item.label" class="form-control" style="width: 130px;padding: 0px"></td>
|
<td style="padding: 1px;"><input v-model="item.label" class="form-control" style="width: 130px;padding: 0px"></td>
|
||||||
|
<td style="padding: 1px;"><input v-model="item.fmt" class="form-control" style="width: 130px;padding: 0px"></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
@@ -227,6 +230,33 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- details -->
|
||||||
|
<div id="detail" v-show="status=='detail'">
|
||||||
|
<div style="padding-left: 10px;background-color: #ccc;width: 100%"> 详情配置</div>
|
||||||
|
<table class="table table-bordered table-auto">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th></th>
|
||||||
|
<th>数据字段</th>
|
||||||
|
<th>展示名称</th>
|
||||||
|
<th>格式化</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr v-for="(item, index) in serviceInfo.details">
|
||||||
|
<td class="icon icon-move">
|
||||||
|
<input type="hidden" name="item" :value="JSON.stringify(item)">
|
||||||
|
</td>
|
||||||
|
<td v-text="item.col" style="background-color: rgb(235, 235, 228);"></td>
|
||||||
|
<td style="padding: 1px;"><input v-model="item.label" class="form-control"
|
||||||
|
style="width: 130px;padding: 0px"></td>
|
||||||
|
<td style="padding: 1px;"><input v-model="item.fmt" class="form-control"
|
||||||
|
style="width: 130px;padding: 0px"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@@ -274,8 +304,8 @@
|
|||||||
</row>
|
</row>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
let { getServiceInfo, getServiceDetail, getServiceList, tableLinkList, serviceSave, showSave, filterSave, exportSave } = meta;
|
let {getServiceInfo, getServiceDetail, getServiceList, tableLinkList, serviceSave, showSave, filterSave, exportSave, detailSave} = meta;
|
||||||
let { showOk } = red
|
let {showOk} = red
|
||||||
|
|
||||||
var vm = new Vue({
|
var vm = new Vue({
|
||||||
el: ".meta-service",
|
el: ".meta-service",
|
||||||
@@ -288,15 +318,16 @@
|
|||||||
dataTypes: ["bigint(20)", "varchar(255)", "varchar(64)", "varchar(32)", "varchar(16)", "int(11)", "int(3)", "int(2)", "datetime"],
|
dataTypes: ["bigint(20)", "varchar(255)", "varchar(64)", "varchar(32)", "varchar(16)", "int(11)", "int(3)", "int(2)", "datetime"],
|
||||||
filterCate: ["EQUAL", "NOTEQUAL", "LIKE", "IN"],
|
filterCate: ["EQUAL", "NOTEQUAL", "LIKE", "IN"],
|
||||||
serviceInfo: {
|
serviceInfo: {
|
||||||
name:"",
|
name: "",
|
||||||
table:"",
|
table: "",
|
||||||
items: [],
|
items: [],
|
||||||
shows: [],
|
shows: [],
|
||||||
exports: [],
|
exports: [],
|
||||||
imports: [],
|
imports: [],
|
||||||
filters: [{name: '', label: '', filterType: ['']}]
|
filters: [{name: '', label: '', filterType: ['']}],
|
||||||
|
details: [],
|
||||||
},
|
},
|
||||||
serviceDetail: {tables: {a:{items:[]}}},
|
serviceDetail: {tables: {a: {items: []}}},
|
||||||
|
|
||||||
|
|
||||||
move: false,
|
move: false,
|
||||||
@@ -306,19 +337,19 @@
|
|||||||
oldItems: [], //不被修改的字段属性
|
oldItems: [], //不被修改的字段属性
|
||||||
itemEdit: {}, //待修改的字段属性
|
itemEdit: {}, //待修改的字段属性
|
||||||
|
|
||||||
dbPlats:[],
|
dbPlats: [],
|
||||||
row: {key: "", platId: "", catalog: ""},
|
row: {key: "", platId: "", catalog: ""},
|
||||||
filter: {db: "", catalog: "", name: ""},//tableList 过滤条件
|
filter: {db: "", catalog: "", name: ""},//tableList 过滤条件
|
||||||
|
|
||||||
filters:[],//查询配置
|
filters: [],//查询配置
|
||||||
|
|
||||||
status: 0, //页面默认状态
|
status: 0, //页面默认状态 0:默认 3:导出 4:导入 5:列表配置 6:查询配置 detail:详情配置 form:表单配置 del:删除策略配置
|
||||||
services: [],//业务列表
|
services: [],//业务列表
|
||||||
service: "", //页面选择的业务类型
|
service: "", //页面选择的业务类型
|
||||||
table: "",//表别名
|
table: "",//表别名
|
||||||
|
|
||||||
//filter
|
//filter
|
||||||
filterArr:[],
|
filterArr: [],
|
||||||
//filterMap:{},
|
//filterMap:{},
|
||||||
|
|
||||||
createRow: {},
|
createRow: {},
|
||||||
@@ -328,14 +359,17 @@
|
|||||||
showFields: [],
|
showFields: [],
|
||||||
|
|
||||||
//exports
|
//exports
|
||||||
exportArr:[],
|
exportArr: [],
|
||||||
|
|
||||||
|
//details
|
||||||
|
detailArr: [],
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
status: function (v) {
|
status: function (v) {
|
||||||
this.setMove(v)
|
this.setMove(v)
|
||||||
},
|
},
|
||||||
services: function (v) {
|
services: function (v) {
|
||||||
if(v.length > 0 && !vm.service) {
|
if (v.length > 0 && !vm.service) {
|
||||||
vm.service = v[0]["name"];
|
vm.service = v[0]["name"];
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -343,7 +377,7 @@
|
|||||||
this.loadInfo(v);
|
this.loadInfo(v);
|
||||||
this.loadDetail(v);
|
this.loadDetail(v);
|
||||||
},
|
},
|
||||||
serviceInfo: function(v) {
|
serviceInfo: function (v) {
|
||||||
//filters
|
//filters
|
||||||
let filterArr = [];
|
let filterArr = [];
|
||||||
v['filters'].forEach(function (f) {
|
v['filters'].forEach(function (f) {
|
||||||
@@ -364,10 +398,17 @@
|
|||||||
exportArr.push(v['exports'][i]['col'])
|
exportArr.push(v['exports'][i]['col'])
|
||||||
}
|
}
|
||||||
this.exportArr = exportArr
|
this.exportArr = exportArr
|
||||||
|
|
||||||
|
//details
|
||||||
|
let detailArr = []
|
||||||
|
for (let i in v['details']) {
|
||||||
|
detailArr.push(v['details'][i]['col'])
|
||||||
|
}
|
||||||
|
this.detailArr = detailArr
|
||||||
},
|
},
|
||||||
serviceDetail: function (v) {
|
serviceDetail: function (v) {
|
||||||
var arr = [];
|
let arr = [];
|
||||||
for(k in v.tables) {
|
for (k in v.tables) {
|
||||||
arr.push(k);
|
arr.push(k);
|
||||||
}
|
}
|
||||||
this.sheetArr = arr;//别名
|
this.sheetArr = arr;//别名
|
||||||
@@ -389,12 +430,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
let label = this.getFieldLabel(v[i])
|
let label = this.getFieldLabel(v[i])
|
||||||
filters.push({name: v[i], label, filterType:["EQUAL"], checked: false})//构造filter 对象
|
filters.push({name: v[i], label, filterType: ["EQUAL"], checked: false})//构造filter 对象
|
||||||
}
|
}
|
||||||
|
|
||||||
// 去除删除的
|
// 去除删除的
|
||||||
let _filters = []
|
let _filters = []
|
||||||
a:for(let i in filters) {
|
a:for (let i in filters) {
|
||||||
b:for (let j in v) {
|
b:for (let j in v) {
|
||||||
if (filters[i]['name'] == v[j]) {
|
if (filters[i]['name'] == v[j]) {
|
||||||
_filters.push(filters[i])
|
_filters.push(filters[i])
|
||||||
@@ -422,22 +463,26 @@
|
|||||||
let shows = this.serviceInfo.shows
|
let shows = this.serviceInfo.shows
|
||||||
|
|
||||||
//添加新增的
|
//添加新增的
|
||||||
a:for(let i in v) {
|
a:for (let i in v) {
|
||||||
b:for(let j in shows) {
|
b:for (let j in shows) {
|
||||||
if (v[i] == shows[j]['col']) {
|
if (v[i] == shows[j]['col']) {
|
||||||
if (!shows[j]['label']) {
|
if (!shows[j]['label']) {
|
||||||
shows[j]['label'] = this.getFieldLabel(v[i])
|
shows[j]['label'] = this.getFieldLabel(v[i])
|
||||||
}
|
}
|
||||||
|
if (!shows[j]['fmt']) {
|
||||||
|
shows[j]['fmt'] = this.getFiledInExt(v[i])
|
||||||
|
}
|
||||||
continue a
|
continue a
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let label = this.getFieldLabel(v[i])
|
let label = this.getFieldLabel(v[i])
|
||||||
shows.push({col: v[i], label: label})
|
let fmt = this.getFiledInExt(v[i])
|
||||||
|
shows.push({col: v[i], label: label, fmt: fmt})
|
||||||
}
|
}
|
||||||
|
|
||||||
//去除删除的
|
//去除删除的
|
||||||
let _shows = []
|
let _shows = []
|
||||||
a:for(let i in shows) {
|
a:for (let i in shows) {
|
||||||
b:for (let j in v) {
|
b:for (let j in v) {
|
||||||
if (shows[i]['col'] == v[j]) {
|
if (shows[i]['col'] == v[j]) {
|
||||||
_shows.push(shows[i])
|
_shows.push(shows[i])
|
||||||
@@ -452,8 +497,8 @@
|
|||||||
let exports = this.serviceInfo.exports
|
let exports = this.serviceInfo.exports
|
||||||
|
|
||||||
//添加新增的
|
//添加新增的
|
||||||
a:for(let i in v) {
|
a:for (let i in v) {
|
||||||
b:for(let j in exports) {
|
b:for (let j in exports) {
|
||||||
if (v[i] == exports[j]['col']) {
|
if (v[i] == exports[j]['col']) {
|
||||||
if (!exports[j]['label']) {
|
if (!exports[j]['label']) {
|
||||||
exports[j]['label'] = this.getFieldLabel(v[i])
|
exports[j]['label'] = this.getFieldLabel(v[i])
|
||||||
@@ -467,7 +512,7 @@
|
|||||||
|
|
||||||
//去除删除的
|
//去除删除的
|
||||||
let _exports = []
|
let _exports = []
|
||||||
a:for(let i in exports) {
|
a:for (let i in exports) {
|
||||||
b:for (let j in v) {
|
b:for (let j in v) {
|
||||||
if (exports[i]['col'] == v[j]) {
|
if (exports[i]['col'] == v[j]) {
|
||||||
_exports.push(exports[i])
|
_exports.push(exports[i])
|
||||||
@@ -477,12 +522,59 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.serviceInfo.exports = _exports
|
this.serviceInfo.exports = _exports
|
||||||
|
},
|
||||||
|
detailArr(v) {
|
||||||
|
let details = this.serviceInfo.details
|
||||||
|
|
||||||
|
//添加新增的
|
||||||
|
a:for (let i in v) {
|
||||||
|
b:for (let j in details) {
|
||||||
|
if (v[i] == details[j]['col']) {
|
||||||
|
if (!details[j]['label']) {
|
||||||
|
details[j]['label'] = this.getFieldLabel(v[i])
|
||||||
|
}
|
||||||
|
if (!details[j]['fmt']) {
|
||||||
|
details[j]['fmt'] = this.getFiledInExt(v[i])
|
||||||
|
}
|
||||||
|
continue a
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 新的
|
||||||
|
let label = this.getFieldLabel(v[i])
|
||||||
|
let fmt = this.getFiledInExt(v[i])
|
||||||
|
c:for (let j in details) {
|
||||||
|
if (v[i] == details[j]['col']) {
|
||||||
|
if (details[j]['label']) {
|
||||||
|
label = details[j]['label']
|
||||||
|
console.log(label)
|
||||||
|
}
|
||||||
|
if (details[j]['fmt']) {
|
||||||
|
fmt = details[j]['fmt']
|
||||||
|
}
|
||||||
|
continue c
|
||||||
|
}
|
||||||
|
}
|
||||||
|
details.push({col: v[i], label: label, fmt: fmt})
|
||||||
|
}
|
||||||
|
|
||||||
|
//去除删除的
|
||||||
|
let _details = []
|
||||||
|
a:for (let i in details) {
|
||||||
|
b:for (let j in v) {
|
||||||
|
if (details[i]['col'] == v[j]) {
|
||||||
|
_details.push(details[i])
|
||||||
|
continue a;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.serviceInfo.details = _details
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
loadInfo(name) {
|
loadInfo(name) {
|
||||||
getServiceInfo({name}, (json) => {
|
getServiceInfo({name}, (json) => {
|
||||||
vm.serviceInfo = json;
|
this.serviceInfo = json;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
loadDetail(name) {
|
loadDetail(name) {
|
||||||
@@ -495,30 +587,48 @@
|
|||||||
vm.services = json;
|
vm.services = json;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
getFieldLabel: function (col) {
|
getField: function (col) {
|
||||||
if (!col) {
|
if (!col) {
|
||||||
return "";
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
let tableInfo = vm.serviceDetail['tables'][col.split("$")[0]];
|
let tableInfo = vm.serviceDetail['tables'][col.split("$")[0]];
|
||||||
if (tableInfo) {
|
if (tableInfo) {
|
||||||
for (let i = 0; i < tableInfo.items.length; i++) {
|
for (let i = 0; i < tableInfo.items.length; i++) {
|
||||||
if (tableInfo.items[i].name == col.split("$")[1]) {
|
if (tableInfo.items[i].name == col.split("$")[1]) {
|
||||||
return tableInfo.items[i].label;
|
return tableInfo.items[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return '';
|
return ""
|
||||||
|
},
|
||||||
|
getFieldLabel: function (col) {
|
||||||
|
let field = this.getField(col)
|
||||||
|
if (!field) {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
return field["label"]
|
||||||
|
},
|
||||||
|
getFiledInExt: function (col) {
|
||||||
|
let field = this.getField(col)
|
||||||
|
if (!field) {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
return field["inExt"]
|
||||||
},
|
},
|
||||||
setMove: function () {
|
setMove: function () {
|
||||||
$(`#filter>table>tbody,
|
$(`#filter>table>tbody,
|
||||||
#show>table>tbody,
|
#show>table>tbody,
|
||||||
#export>table>tbody,
|
#export>table>tbody,
|
||||||
|
#detail>table>tbody,
|
||||||
#show>table>tbody`).sortable({
|
#show>table>tbody`).sortable({
|
||||||
selector: 'tr',
|
selector: 'tr',
|
||||||
trigger: '.icon',
|
trigger: '.icon',
|
||||||
finish: function (e) {}
|
finish: function (e) {
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -526,37 +636,17 @@
|
|||||||
$('#sortableList,table>tbody').sortable({
|
$('#sortableList,table>tbody').sortable({
|
||||||
selector: '.list-group-item, tr',
|
selector: '.list-group-item, tr',
|
||||||
finish: function (e) {
|
finish: function (e) {
|
||||||
var rows = e.list;
|
let rows = e.list;
|
||||||
vm.itemSort = [];
|
vm.itemSort = [];
|
||||||
for (var i = 0; i < rows.length; i++) {
|
for (let i = 0; i < rows.length; i++) {
|
||||||
var item = $(rows[i]).find("input[name='name']").val();
|
let item = $(rows[i]).find("input[name='name']").val();
|
||||||
vm.itemSort.push(item);
|
vm.itemSort.push(item);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 设置更多选项...
|
// 设置更多选项...
|
||||||
});
|
});
|
||||||
}
|
|
||||||
else if (this.status == 5) {
|
|
||||||
/*$('#show>table>tbody').sortable({
|
|
||||||
selector: 'tr',
|
|
||||||
trigger: '.icon',
|
|
||||||
finish: function (e) {}
|
|
||||||
});*/
|
|
||||||
} else if (this.status == 4) {
|
} else if (this.status == 4) {
|
||||||
$('#import>table>tbody').sortable({
|
$('#import>table>tbody').sortable({
|
||||||
selector: 'tr',
|
|
||||||
finish: function (e) {
|
|
||||||
var rows = e.list;
|
|
||||||
var shows = [];
|
|
||||||
for (var i = 0; i < rows.length; i++) {
|
|
||||||
var item = $(rows[i]).find("input[name='name']").val();
|
|
||||||
shows.push(item);
|
|
||||||
}
|
|
||||||
vm.serviceInfo.imports = shows;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else if (this.status == 3) {
|
|
||||||
/*$('#export>table>tbody').sortable({
|
|
||||||
selector: 'tr',
|
selector: 'tr',
|
||||||
finish: function (e) {
|
finish: function (e) {
|
||||||
let rows = e.list;
|
let rows = e.list;
|
||||||
@@ -565,20 +655,11 @@
|
|||||||
let item = $(rows[i]).find("input[name='name']").val();
|
let item = $(rows[i]).find("input[name='name']").val();
|
||||||
shows.push(item);
|
shows.push(item);
|
||||||
}
|
}
|
||||||
vm.serviceInfo.exports = shows;
|
vm.serviceInfo.imports = shows;
|
||||||
}
|
}
|
||||||
});*/
|
});
|
||||||
}
|
} else {
|
||||||
else if (this.status == 6) {
|
//$('table>tbody').sortable('destroy');
|
||||||
/*$('#filter>table>tbody').sortable({
|
|
||||||
selector: 'tr',
|
|
||||||
trigger: '.icon',
|
|
||||||
finish: function (e) {}
|
|
||||||
});*/
|
|
||||||
}
|
|
||||||
|
|
||||||
else {
|
|
||||||
$('table>tbody').sortable('destroy');
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
@@ -607,15 +688,12 @@
|
|||||||
serviceKey: vm.table,
|
serviceKey: vm.table,
|
||||||
items: JSON.stringify(vm.itemSort)
|
items: JSON.stringify(vm.itemSort)
|
||||||
}).then(() => showOk());
|
}).then(() => showOk());
|
||||||
}
|
} else if (vm.status == 2 && vm.itemEdit.length > 0) {
|
||||||
|
|
||||||
else if (vm.status == 2 && vm.itemEdit.length > 0) {
|
|
||||||
red.postX("/meta/itemupdate", {
|
red.postX("/meta/itemupdate", {
|
||||||
serviceKey: vm.table,
|
serviceKey: vm.table,
|
||||||
items: JSON.stringify(vm.itemEdit)
|
items: JSON.stringify(vm.itemEdit)
|
||||||
}).then(() => showOk());
|
}).then(() => showOk());
|
||||||
}
|
} else if (/*vm.status == 3 ||*/ vm.status == 4 /*|| vm.status == 5*/) {
|
||||||
else if (/*vm.status == 3 ||*/ vm.status == 4 /*|| vm.status == 5*/) {
|
|
||||||
var urls = {3: "/meta/exportsort", 4: "/meta/importsort", 5: "/meta/showsort"};
|
var urls = {3: "/meta/exportsort", 4: "/meta/importsort", 5: "/meta/showsort"};
|
||||||
var items = {3: vm.serviceInfo.exports, 4: vm.serviceInfo.imports, 5: vm.serviceInfo.shows};
|
var items = {3: vm.serviceInfo.exports, 4: vm.serviceInfo.imports, 5: vm.serviceInfo.shows};
|
||||||
|
|
||||||
@@ -625,45 +703,46 @@
|
|||||||
serviceKey: this.service,
|
serviceKey: this.service,
|
||||||
items: dataStr
|
items: dataStr
|
||||||
}).then(() => showOk());
|
}).then(() => showOk());
|
||||||
}
|
} else if (vm.status == 5) {
|
||||||
|
let doms = $("#show>table>tbody>tr")
|
||||||
else if (vm.status == 5) {
|
|
||||||
let doms = $("#show>table>tbody>tr")
|
|
||||||
let shows = []
|
let shows = []
|
||||||
for (let i = 0; i < doms.length; i++) {
|
for (let i = 0; i < doms.length; i++) {
|
||||||
let col = $(doms[i]).find("input[name='col']").val();
|
let item = $(doms[i]).find("input[name='item']").val();
|
||||||
let label = $(doms[i]).find("input[name='label']").val();
|
shows.push(JSON.parse(item))
|
||||||
shows.push({col, label})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
showSave({name: this.service, shows}).then(res => {red.showOk()})
|
showSave({name: this.service, shows}).then(res => {
|
||||||
}
|
red.showOk()
|
||||||
|
})
|
||||||
else if (vm.status == 6) {
|
} else if (vm.status == 6) {
|
||||||
let doms = $("#filter>table>tbody>tr")
|
let doms = $("#filter>table>tbody>tr")
|
||||||
let filters = []
|
let filters = []
|
||||||
for (let i = 0; i < doms.length; i++) {
|
for (let i = 0; i < doms.length; i++) {
|
||||||
let item = $(doms[i]).find("input[name='item']").val();
|
let item = $(doms[i]).find("input[name='item']").val();
|
||||||
filters.push(JSON.parse(item))
|
filters.push(JSON.parse(item))
|
||||||
}
|
}
|
||||||
filterSave({name: this.service, filters}).then(res => red.showOk())
|
filterSave({name: this.service, filters}).then(res => red.showOk())
|
||||||
}
|
} else if (vm.status == 3) {
|
||||||
else if (vm.status == 3) {
|
let doms = $("#export>table>tbody>tr")
|
||||||
let doms = $("#export>table>tbody>tr")
|
|
||||||
let exports = []
|
let exports = []
|
||||||
for (let i = 0; i < doms.length; i++) {
|
for (let i = 0; i < doms.length; i++) {
|
||||||
let item = $(doms[i]).find("input[name='item']").val();
|
let item = $(doms[i]).find("input[name='item']").val();
|
||||||
exports.push(JSON.parse(item))
|
exports.push(JSON.parse(item))
|
||||||
}
|
}
|
||||||
exportSave({name: this.service, exports}).then(res => red.showOk())
|
exportSave({name: this.service, exports}).then(res => red.showOk())
|
||||||
}
|
} else if (vm.status == 'detail') {
|
||||||
|
let doms = $("#detail>table>tbody>tr")
|
||||||
else if (vm.status == 7) {
|
let details = []
|
||||||
|
for (let i = 0; i < doms.length; i++) {
|
||||||
|
let item = $(doms[i]).find("input[name='item']").val();
|
||||||
|
details.push(JSON.parse(item))
|
||||||
|
}
|
||||||
|
console.log(details)
|
||||||
|
detailSave({name: this.service, details}).then(res => red.showOk())
|
||||||
|
} else if (vm.status == 7) {
|
||||||
console.log(vm.row);
|
console.log(vm.row);
|
||||||
red.postX("/meta/dbplatupdate", vm.row).then(() => showOk())
|
red.postX("/meta/dbplatupdate", vm.row).then(() => showOk())
|
||||||
}
|
} else {
|
||||||
|
|
||||||
else {
|
|
||||||
red.showMsg();
|
red.showMsg();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -692,7 +771,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
mounted: function (){
|
mounted: function () {
|
||||||
this.serviceList();
|
this.serviceList();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ public final class MetaKit {
|
|||||||
|
|
||||||
List<Map<String, String>> shows = metaService.getShows();
|
List<Map<String, String>> shows = metaService.getShows();
|
||||||
//List<Map> edits = metaService.getEdits();
|
//List<Map> edits = metaService.getEdits();
|
||||||
List<String> details = metaService.getDetails();
|
List<Map<String, String>> details = metaService.getDetails();
|
||||||
List<Filter> filters = metaService.getFilters();
|
List<Filter> filters = metaService.getFilters();
|
||||||
String comment = metaService.getComment();
|
String comment = metaService.getComment();
|
||||||
|
|
||||||
@@ -292,13 +292,13 @@ public final class MetaKit {
|
|||||||
});*/
|
});*/
|
||||||
|
|
||||||
//details
|
//details
|
||||||
List _details = new ArrayList();//details;
|
/*List _details = new ArrayList();//details;
|
||||||
details.forEach(x -> {
|
details.forEach(x -> {
|
||||||
Kv kv = Kv.of();
|
Kv kv = Kv.of();
|
||||||
kv.set("col", x);
|
kv.set("col", x);
|
||||||
|
|
||||||
_details.add(kv);
|
_details.add(kv);
|
||||||
});
|
});*/
|
||||||
|
|
||||||
return Kv.of()
|
return Kv.of()
|
||||||
.set("title", comment)
|
.set("title", comment)
|
||||||
@@ -306,7 +306,7 @@ public final class MetaKit {
|
|||||||
.set("shows", shows)
|
.set("shows", shows)
|
||||||
.set("filters", _filters)
|
.set("filters", _filters)
|
||||||
.set("edits", _edits)
|
.set("edits", _edits)
|
||||||
.set("details", _details);
|
.set("details", details);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Comment("获取导出excel表头配置k-v")
|
@Comment("获取导出excel表头配置k-v")
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ public class MetaService extends Doc<MetaService> {
|
|||||||
|
|
||||||
private List<Map<String,String>> shows = new ArrayList<>();
|
private List<Map<String,String>> shows = new ArrayList<>();
|
||||||
private List<Map<String,String>> edits = new ArrayList<>();
|
private List<Map<String,String>> edits = new ArrayList<>();
|
||||||
private List<String> details = new ArrayList<>();
|
private List<Map<String,String>> details = new ArrayList<>();
|
||||||
private List<Filter> filters = new ArrayList<>();//{name:"", label:"", checked:true, }
|
private List<Filter> filters = new ArrayList<>();//{name:"", label:"", checked:true, }
|
||||||
private List<Map<String,String>> exports = new ArrayList<>();
|
private List<Map<String,String>> exports = new ArrayList<>();
|
||||||
|
|
||||||
|
|||||||
@@ -161,6 +161,17 @@ public class MetadataService extends BaseService { //arango
|
|||||||
return JBean.OK;
|
return JBean.OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RestMapping(name = "detailsave", comment = "详情配置保存")
|
||||||
|
public JBean detailSave(String name, List<Map<String, String>> details, @RestParam(name = "platToken") String token) {
|
||||||
|
if (details == null || details.size() == 0) return null;
|
||||||
|
|
||||||
|
MetaService metaService = MetaKit.getMetaService(name, token);
|
||||||
|
metaService.setDetails(details);
|
||||||
|
|
||||||
|
MetaKit.save(metaService);
|
||||||
|
return JBean.OK;
|
||||||
|
}
|
||||||
|
|
||||||
@RestMapping(name = "importsort", comment = "导入字段保存")
|
@RestMapping(name = "importsort", comment = "导入字段保存")
|
||||||
public JBean importSort(String serviceKey, List<String> items, @RestParam(name = "platToken") String token) {
|
public JBean importSort(String serviceKey, List<String> items, @RestParam(name = "platToken") String token) {
|
||||||
if (isEmpty.test(items)) return null;
|
if (isEmpty.test(items)) return null;
|
||||||
|
|||||||
Reference in New Issue
Block a user