.
This commit is contained in:
@@ -66,6 +66,10 @@ const meta = {
|
|||||||
filters = red.replace$(filters);
|
filters = red.replace$(filters);
|
||||||
return red.postX('/meta/filter_update', {name, filters: JSON.stringify(filters)})
|
return red.postX('/meta/filter_update', {name, filters: JSON.stringify(filters)})
|
||||||
},
|
},
|
||||||
|
exportSave({name, exports}) {
|
||||||
|
exports = red.replace$(exports);
|
||||||
|
return red.postX('/meta/exportsave', {name, exports: JSON.stringify(exports)})
|
||||||
|
},
|
||||||
|
|
||||||
// Meta-Table
|
// Meta-Table
|
||||||
itemSort({alias, items}) {
|
itemSort({alias, items}) {
|
||||||
|
|||||||
@@ -91,7 +91,7 @@
|
|||||||
|
|
||||||
<!-- 实体字段信息 -->
|
<!-- 实体字段信息 -->
|
||||||
<div class="col-md-4" style="padding-left: 0px;">
|
<div class="col-md-4" style="padding-left: 0px;">
|
||||||
<div style="padding-left: 10px;background-color: #ccc;width: 100%"> 字段信息</div>
|
<div style="padding-left: 10px;background-color: #ccc;"> 字段信息</div>
|
||||||
<table class="table table-bordered">
|
<table class="table table-bordered">
|
||||||
<tr>
|
<tr>
|
||||||
<td v-show="status==3 || status==4 || status==5 || status==6"><input type="checkbox"></td>
|
<td v-show="status==3 || status==4 || status==5 || status==6"><input type="checkbox"></td>
|
||||||
@@ -104,7 +104,7 @@
|
|||||||
<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="serviceInfo.exports" :value="sheet + '$' + item.name"></td>
|
<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>
|
||||||
@@ -122,8 +122,8 @@
|
|||||||
<div class="col-md-6" style="padding-left: 0px;padding-right: 0px;">
|
<div class="col-md-6" style="padding-left: 0px;padding-right: 0px;">
|
||||||
<!-- shows -->
|
<!-- shows -->
|
||||||
<div id="show" v-show="status==5">
|
<div id="show" v-show="status==5">
|
||||||
<div style="padding-left: 10px;background-color: #ccc;width: 100%"> 列表配置</div>
|
<div style="padding-left: 10px;background-color: #ccc;"> 列表配置</div>
|
||||||
<table class="table table-bordered table-auto" style="width: 100%;background-color: #fff;">
|
<table class="table table-bordered table-auto">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th></th>
|
<th></th>
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
|
|
||||||
<!-- exports -->
|
<!-- exports -->
|
||||||
<div id="export" v-show="status==3">
|
<div id="export" v-show="status==3">
|
||||||
<div style="padding-left: 10px;background-color: #ccc;width: 100%"> 查询配置</div>
|
<div style="padding-left: 10px;background-color: #ccc;"> 导出配置</div>
|
||||||
<table class="table table-bordered table-auto" style="width: 100%">
|
<table class="table table-bordered table-auto" style="width: 100%">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -155,13 +155,12 @@
|
|||||||
<!--<th>展示名</th>-->
|
<!--<th>展示名</th>-->
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tr v-for="(item, index) in serviceInfo.exports">
|
<tr v-for="item in serviceInfo.exports">
|
||||||
<td class="icon icon-move">
|
<td class="icon icon-move">
|
||||||
<input name="name" :value="item" type="hidden">
|
<input type="hidden" name="item" :value="JSON.stringify(item)">
|
||||||
</td>
|
</td>
|
||||||
<td v-text="item" style="background-color: rgb(235, 235, 228);"></td>
|
<td v-text="item.col" style="background-color: rgb(235, 235, 228);"></td>
|
||||||
<td v-text="">{{getFieldLabel(item)}}</td>
|
<td style="padding: 1px;"><input v-model="item.label" class="form-control" style="width: 130px;padding: 0px"></td>
|
||||||
<td v-show="false"><input v-model="item.label" style="width: 100px;"></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
@@ -274,7 +273,7 @@
|
|||||||
</row>
|
</row>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
let { getServiceInfo, getServiceDetail, getServiceList, tableLinkList, serviceSave, showSave, filterSave } = meta;
|
let { getServiceInfo, getServiceDetail, getServiceList, tableLinkList, serviceSave, showSave, filterSave, exportSave } = meta;
|
||||||
let { showOk } = red
|
let { showOk } = red
|
||||||
|
|
||||||
var vm = new Vue({
|
var vm = new Vue({
|
||||||
@@ -325,7 +324,10 @@
|
|||||||
tables: [],
|
tables: [],
|
||||||
|
|
||||||
//shows
|
//shows
|
||||||
showFields: []
|
showFields: [],
|
||||||
|
|
||||||
|
//exports
|
||||||
|
exportArr:[],
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
status: function (v) {
|
status: function (v) {
|
||||||
@@ -354,6 +356,13 @@
|
|||||||
showFields.push(v['shows'][i]['col'])
|
showFields.push(v['shows'][i]['col'])
|
||||||
}
|
}
|
||||||
this.showFields = showFields
|
this.showFields = showFields
|
||||||
|
|
||||||
|
//exports
|
||||||
|
let exportArr = []
|
||||||
|
for (let i in v['exports']) {
|
||||||
|
exportArr.push(v['exports'][i]['col'])
|
||||||
|
}
|
||||||
|
this.exportArr = exportArr
|
||||||
},
|
},
|
||||||
serviceDetail: function (v) {
|
serviceDetail: function (v) {
|
||||||
var arr = [];
|
var arr = [];
|
||||||
@@ -437,6 +446,36 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.serviceInfo.shows = _shows
|
this.serviceInfo.shows = _shows
|
||||||
|
},
|
||||||
|
exportArr(v) {
|
||||||
|
let exports = this.serviceInfo.exports
|
||||||
|
|
||||||
|
//添加新增的
|
||||||
|
a:for(let i in v) {
|
||||||
|
b:for(let j in exports) {
|
||||||
|
if (v[i] == exports[j]['col']) {
|
||||||
|
if (!exports[j]['label']) {
|
||||||
|
exports[j]['label'] = this.getFieldLabel(v[i])
|
||||||
|
}
|
||||||
|
continue a
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let label = this.getFieldLabel(v[i])
|
||||||
|
exports.push({col: v[i], label: label})
|
||||||
|
}
|
||||||
|
|
||||||
|
//去除删除的
|
||||||
|
let _exports = []
|
||||||
|
a:for(let i in exports) {
|
||||||
|
b:for (let j in v) {
|
||||||
|
if (exports[i]['col'] == v[j]) {
|
||||||
|
_exports.push(exports[i])
|
||||||
|
continue a;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.serviceInfo.exports = _exports
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -474,6 +513,7 @@
|
|||||||
setMove: function () {
|
setMove: function () {
|
||||||
$(`#filter>table>tbody,
|
$(`#filter>table>tbody,
|
||||||
#show>table>tbody,
|
#show>table>tbody,
|
||||||
|
#export>table>tbody,
|
||||||
#show>table>tbody`).sortable({
|
#show>table>tbody`).sortable({
|
||||||
selector: 'tr',
|
selector: 'tr',
|
||||||
trigger: '.icon',
|
trigger: '.icon',
|
||||||
@@ -515,7 +555,7 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else if (this.status == 3) {
|
} else if (this.status == 3) {
|
||||||
$('#export>table>tbody').sortable({
|
/*$('#export>table>tbody').sortable({
|
||||||
selector: 'tr',
|
selector: 'tr',
|
||||||
finish: function (e) {
|
finish: function (e) {
|
||||||
let rows = e.list;
|
let rows = e.list;
|
||||||
@@ -526,7 +566,7 @@
|
|||||||
}
|
}
|
||||||
vm.serviceInfo.exports = shows;
|
vm.serviceInfo.exports = shows;
|
||||||
}
|
}
|
||||||
});
|
});*/
|
||||||
}
|
}
|
||||||
else if (this.status == 6) {
|
else if (this.status == 6) {
|
||||||
/*$('#filter>table>tbody').sortable({
|
/*$('#filter>table>tbody').sortable({
|
||||||
@@ -574,7 +614,7 @@
|
|||||||
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};
|
||||||
|
|
||||||
@@ -606,17 +646,15 @@
|
|||||||
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())
|
||||||
/*let filterData = [];
|
|
||||||
|
|
||||||
for (i in this.filterArr) {
|
|
||||||
filterData.push(this.filterMap[this.filterArr[i]]);
|
|
||||||
}
|
}
|
||||||
|
else if (vm.status == 3) {
|
||||||
red.postX("/meta/filter_update", {
|
let doms = $("#export>table>tbody>tr")
|
||||||
serviceKey: vm.service,
|
let exports = []
|
||||||
filters: JSON.stringify(red.replace$(filterData))
|
for (let i = 0; i < doms.length; i++) {
|
||||||
}).then(() => showOk());*/
|
let item = $(doms[i]).find("input[name='item']").val();
|
||||||
|
exports.push(JSON.parse(item))
|
||||||
|
}
|
||||||
|
exportSave({name: this.service, exports}).then(res => red.showOk())
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (vm.status == 7) {
|
else if (vm.status == 7) {
|
||||||
|
|||||||
@@ -373,21 +373,11 @@ public class MetaKit {
|
|||||||
MetaService metaService = getMetaService(name, token);
|
MetaService metaService = getMetaService(name, token);
|
||||||
|
|
||||||
Kv<String, MetaTable> tables = getMetaTables(metaService, true);
|
Kv<String, MetaTable> tables = getMetaTables(metaService, true);
|
||||||
List<String> exports = metaService.getExports();
|
List<Map<String,String>> exports = metaService.getExports();
|
||||||
|
|
||||||
Kv kv = Kv.of();
|
Kv kv = Kv.of();
|
||||||
//从 meta-table 中得到字段label
|
|
||||||
exports.forEach(x -> {
|
exports.forEach(x -> {
|
||||||
try {
|
kv.put(x.get("col"), x.get("lable"));
|
||||||
String[] arr = x.split("[.]");
|
|
||||||
MetaTable table = tables.get(arr[0]);
|
|
||||||
|
|
||||||
Optional<Field> any = table.getItems().stream().filter(y -> y.getName().equals(arr[1])).findAny();
|
|
||||||
Field field = any.get();
|
|
||||||
kv.put(x, field.getLabel());
|
|
||||||
} catch (Exception e) {
|
|
||||||
new IllegalArgumentException(String.format("字段信息处理异常:[%s]", x), e);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
return kv;
|
return kv;
|
||||||
}
|
}
|
||||||
@@ -476,7 +466,7 @@ public class MetaKit {
|
|||||||
String alias = col.split("[.]")[0];
|
String alias = col.split("[.]")[0];
|
||||||
return alias;
|
return alias;
|
||||||
}),
|
}),
|
||||||
metaService.getExports().stream().map(x -> x.split("[.]")[0]),
|
metaService.getExports().stream().map(x -> x.get("col").split("[.]")[0]),
|
||||||
metaService.getShows().stream().map(x -> x.get("col").split("[.]")[0])/*, todo: xxx
|
metaService.getShows().stream().map(x -> x.get("col").split("[.]")[0])/*, todo: xxx
|
||||||
metaService.getEdits().stream().map(x -> x.split("[.]")[0])*/
|
metaService.getEdits().stream().map(x -> x.split("[.]")[0])*/
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -23,12 +23,8 @@ public class MetaService extends Doc<MetaService> {
|
|||||||
private List<Map> edits = new ArrayList<>();
|
private List<Map> edits = new ArrayList<>();
|
||||||
private List<String> details = new ArrayList<>();
|
private List<String> details = new ArrayList<>();
|
||||||
private List<Map> filters = new ArrayList<>();
|
private List<Map> filters = new ArrayList<>();
|
||||||
private List<String> exports = new ArrayList<>();
|
private List<Map<String,String>> exports = new ArrayList<>();
|
||||||
|
|
||||||
//待组装数据
|
|
||||||
//private MetaTable metaTable;
|
|
||||||
//private List<MetaLink> metaLinks;//[{alias:"b", table:"dept", link:[mk,lk]}, xxxx]
|
|
||||||
//private Map<String, MetaTable> tables;
|
|
||||||
//-------------------------------------------
|
//-------------------------------------------
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
@@ -95,35 +91,11 @@ public class MetaService extends Doc<MetaService> {
|
|||||||
this.filters = filters;
|
this.filters = filters;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getExports() {
|
public List<Map<String, String>> getExports() {
|
||||||
return exports;
|
return exports;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setExports(List<String> exports) {
|
public void setExports(List<Map<String, String>> exports) {
|
||||||
this.exports = exports;
|
this.exports = exports;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*public MetaTable getMetaTable() {
|
|
||||||
return metaTable;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMetaTable(MetaTable metaTable) {
|
|
||||||
this.metaTable = metaTable;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
/*public List<MetaLink> getMetaLinks() {
|
|
||||||
return metaLinks;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMetaLinks(List<MetaLink> metaLinks) {
|
|
||||||
this.metaLinks = metaLinks;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
/*public Map<String, MetaTable> getTables() {
|
|
||||||
return tables;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTables(Map<String, MetaTable> tables) {
|
|
||||||
this.tables = tables;
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -160,16 +160,16 @@ public class MetadataService extends BaseService { //arango
|
|||||||
return JBean.OK;
|
return JBean.OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@RestMapping(name = "exportsort", comment = "导出字段排序保存")
|
@RestMapping(name = "exportsave", comment = "导出配置保存")
|
||||||
public List<String> exportSort(String serviceKey , List<String> items, @RestParam(name = "platToken") String token) {
|
public JBean exportSave(String name , List<Map<String,String>> exports, @RestParam(name = "platToken") String token) {
|
||||||
if (items == null || items.size() == 0) return null;
|
if (exports == null || exports.size() == 0) return null;
|
||||||
|
|
||||||
MetaService metaService = MetaKit.getMetaService(serviceKey, token);
|
MetaService metaService = MetaKit.getMetaService(name, token);
|
||||||
metaService.setExports(items);
|
metaService.setExports(exports);
|
||||||
metaService.update();
|
metaService.update();
|
||||||
|
|
||||||
MetaKit.reload(metaService);
|
MetaKit.reload(metaService);
|
||||||
return items;
|
return JBean.OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@RestMapping(name = "importsort", comment = "导入字段保存")
|
@RestMapping(name = "importsort", comment = "导入字段保存")
|
||||||
|
|||||||
Reference in New Issue
Block a user