.
This commit is contained in:
@@ -66,6 +66,10 @@ const meta = {
|
||||
filters = red.replace$(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
|
||||
itemSort({alias, items}) {
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
|
||||
<!-- 实体字段信息 -->
|
||||
<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">
|
||||
<tr>
|
||||
<td v-show="status==3 || status==4 || status==5 || status==6"><input type="checkbox"></td>
|
||||
@@ -104,7 +104,7 @@
|
||||
<th>备注</th>-->
|
||||
</tr>
|
||||
<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==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>
|
||||
@@ -122,8 +122,8 @@
|
||||
<div class="col-md-6" style="padding-left: 0px;padding-right: 0px;">
|
||||
<!-- shows -->
|
||||
<div id="show" v-show="status==5">
|
||||
<div style="padding-left: 10px;background-color: #ccc;width: 100%"> 列表配置</div>
|
||||
<table class="table table-bordered table-auto" style="width: 100%;background-color: #fff;">
|
||||
<div style="padding-left: 10px;background-color: #ccc;"> 列表配置</div>
|
||||
<table class="table table-bordered table-auto">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
@@ -145,7 +145,7 @@
|
||||
|
||||
<!-- exports -->
|
||||
<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%">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -155,13 +155,12 @@
|
||||
<!--<th>展示名</th>-->
|
||||
</tr>
|
||||
</thead>
|
||||
<tr v-for="(item, index) in serviceInfo.exports">
|
||||
<tr v-for="item in serviceInfo.exports">
|
||||
<td class="icon icon-move">
|
||||
<input name="name" :value="item" type="hidden">
|
||||
<input type="hidden" name="item" :value="JSON.stringify(item)">
|
||||
</td>
|
||||
<td v-text="item" style="background-color: rgb(235, 235, 228);"></td>
|
||||
<td v-text="">{{getFieldLabel(item)}}</td>
|
||||
<td v-show="false"><input v-model="item.label" style="width: 100px;"></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>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@@ -274,7 +273,7 @@
|
||||
</row>
|
||||
|
||||
<script>
|
||||
let { getServiceInfo, getServiceDetail, getServiceList, tableLinkList, serviceSave, showSave, filterSave } = meta;
|
||||
let { getServiceInfo, getServiceDetail, getServiceList, tableLinkList, serviceSave, showSave, filterSave, exportSave } = meta;
|
||||
let { showOk } = red
|
||||
|
||||
var vm = new Vue({
|
||||
@@ -325,7 +324,10 @@
|
||||
tables: [],
|
||||
|
||||
//shows
|
||||
showFields: []
|
||||
showFields: [],
|
||||
|
||||
//exports
|
||||
exportArr:[],
|
||||
},
|
||||
watch: {
|
||||
status: function (v) {
|
||||
@@ -354,6 +356,13 @@
|
||||
showFields.push(v['shows'][i]['col'])
|
||||
}
|
||||
this.showFields = showFields
|
||||
|
||||
//exports
|
||||
let exportArr = []
|
||||
for (let i in v['exports']) {
|
||||
exportArr.push(v['exports'][i]['col'])
|
||||
}
|
||||
this.exportArr = exportArr
|
||||
},
|
||||
serviceDetail: function (v) {
|
||||
var arr = [];
|
||||
@@ -437,6 +446,36 @@
|
||||
}
|
||||
|
||||
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: {
|
||||
@@ -474,6 +513,7 @@
|
||||
setMove: function () {
|
||||
$(`#filter>table>tbody,
|
||||
#show>table>tbody,
|
||||
#export>table>tbody,
|
||||
#show>table>tbody`).sortable({
|
||||
selector: 'tr',
|
||||
trigger: '.icon',
|
||||
@@ -515,7 +555,7 @@
|
||||
}
|
||||
});
|
||||
} else if (this.status == 3) {
|
||||
$('#export>table>tbody').sortable({
|
||||
/*$('#export>table>tbody').sortable({
|
||||
selector: 'tr',
|
||||
finish: function (e) {
|
||||
let rows = e.list;
|
||||
@@ -526,7 +566,7 @@
|
||||
}
|
||||
vm.serviceInfo.exports = shows;
|
||||
}
|
||||
});
|
||||
});*/
|
||||
}
|
||||
else if (this.status == 6) {
|
||||
/*$('#filter>table>tbody').sortable({
|
||||
@@ -574,7 +614,7 @@
|
||||
items: JSON.stringify(vm.itemEdit)
|
||||
}).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 items = {3: vm.serviceInfo.exports, 4: vm.serviceInfo.imports, 5: vm.serviceInfo.shows};
|
||||
|
||||
@@ -606,17 +646,15 @@
|
||||
filters.push(JSON.parse(item))
|
||||
}
|
||||
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) {
|
||||
let doms = $("#export>table>tbody>tr")
|
||||
let exports = []
|
||||
for (let i = 0; i < doms.length; i++) {
|
||||
let item = $(doms[i]).find("input[name='item']").val();
|
||||
exports.push(JSON.parse(item))
|
||||
}
|
||||
|
||||
red.postX("/meta/filter_update", {
|
||||
serviceKey: vm.service,
|
||||
filters: JSON.stringify(red.replace$(filterData))
|
||||
}).then(() => showOk());*/
|
||||
|
||||
exportSave({name: this.service, exports}).then(res => red.showOk())
|
||||
}
|
||||
|
||||
else if (vm.status == 7) {
|
||||
|
||||
@@ -373,21 +373,11 @@ public class MetaKit {
|
||||
MetaService metaService = getMetaService(name, token);
|
||||
|
||||
Kv<String, MetaTable> tables = getMetaTables(metaService, true);
|
||||
List<String> exports = metaService.getExports();
|
||||
List<Map<String,String>> exports = metaService.getExports();
|
||||
|
||||
Kv kv = Kv.of();
|
||||
//从 meta-table 中得到字段label
|
||||
exports.forEach(x -> {
|
||||
try {
|
||||
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);
|
||||
}
|
||||
kv.put(x.get("col"), x.get("lable"));
|
||||
});
|
||||
return kv;
|
||||
}
|
||||
@@ -476,7 +466,7 @@ public class MetaKit {
|
||||
String alias = col.split("[.]")[0];
|
||||
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.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<String> details = 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() {
|
||||
@@ -95,35 +91,11 @@ public class MetaService extends Doc<MetaService> {
|
||||
this.filters = filters;
|
||||
}
|
||||
|
||||
public List<String> getExports() {
|
||||
public List<Map<String, String>> getExports() {
|
||||
return exports;
|
||||
}
|
||||
|
||||
public void setExports(List<String> exports) {
|
||||
public void setExports(List<Map<String, String>> 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;
|
||||
}
|
||||
|
||||
@RestMapping(name = "exportsort", comment = "导出字段排序保存")
|
||||
public List<String> exportSort(String serviceKey , List<String> items, @RestParam(name = "platToken") String token) {
|
||||
if (items == null || items.size() == 0) return null;
|
||||
@RestMapping(name = "exportsave", comment = "导出配置保存")
|
||||
public JBean exportSave(String name , List<Map<String,String>> exports, @RestParam(name = "platToken") String token) {
|
||||
if (exports == null || exports.size() == 0) return null;
|
||||
|
||||
MetaService metaService = MetaKit.getMetaService(serviceKey, token);
|
||||
metaService.setExports(items);
|
||||
MetaService metaService = MetaKit.getMetaService(name, token);
|
||||
metaService.setExports(exports);
|
||||
metaService.update();
|
||||
|
||||
MetaKit.reload(metaService);
|
||||
return items;
|
||||
return JBean.OK;
|
||||
}
|
||||
|
||||
@RestMapping(name = "importsort", comment = "导入字段保存")
|
||||
|
||||
Reference in New Issue
Block a user