Authored by 王涛

版本升级

... ... @@ -48,9 +48,9 @@
<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-spring-boot-starter</artifactId>
<version>1.3.795</version>
<!--<version>1.3.795</version>-->
<!--待测试-->
<!--<version>1.4.0-beta</version>-->
<version>1.4.2</version>
</dependency>
<!-- SpringBoot-->
... ...
... ... @@ -42,7 +42,7 @@ public class IndexController {
Map<String, Object> paras = new HashMap<>();
paras.put("pageCode",pageCode);
paras.put("base", request.getContextPath());
paras.put("baseURL", d.a(request));
// paras.put("baseURL", d.a(request));
paras.put("customPrePath", oConvertUtils.getString(request.getAttribute("customPrePath"), ""));
paras.put("reportConfig", JSON.toJSONString(this.jmBaseConfig));
... ...
////
//// Source code recreated from a .class file by IntelliJ IDEA
//// (powered by Fernflower decompiler)
////
//
//package org.jeecg.modules.jmreport.desreport.render.a;
//
//import com.alibaba.druid.support.json.JSONUtils;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.alibaba.fastjson.parser.Feature;
//import org.jeecg.modules.jmreport.common.util.oConvertUtils;
//import org.jeecg.modules.jmreport.desreport.model.RenderInfo;
//import org.jeecg.modules.jmreport.desreport.model.ReportDbInfo;
//import org.jeecg.modules.jmreport.desreport.render.handler.RowsRenderHandler;
//import org.jeecg.modules.jmreport.desreport.render.utils.FreeMarkerUtils;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.stereotype.Component;
//
//import java.util.*;
//import java.util.Map.Entry;
//
//@Component("loopBlockRenderStrategy")
//public class a implements RowsRenderHandler {
// private static final Logger a = LoggerFactory.getLogger(a.class);
//
// public a() {
// }
//
// public boolean support(RenderInfo renderInfo, JSONObject rows) {
// return oConvertUtils.isNotEmpty(renderInfo.getLoopBlockList());
// }
//
// private String a(JSONObject var1, JSONObject var2, Integer var3, Integer var4) {
// Integer var5 = var4 - var3 + 1;
// Integer var6 = var1.getInteger("sci");
// Integer var7 = var1.getInteger("eci");
// Integer var8 = oConvertUtils.getInt(var1.getInteger("loopTime"), 1);
// StringBuilder var9 = new StringBuilder();
// String var10 = var1.getString("db");
// var9.append("{");
// var9.append(String.format("<#list list as %s>", var10));
//
// for (int var11 = var3; var11 <= var4; ++var11) {
// var9.append(String.format("\"${(%s_index*%s)+%s+%s}\":", var10, var5, var3, var11 - var3));
// JSONObject var12 = (JSONObject) var2.get(var11);
// JSONObject var13 = new JSONObject(true);
// JSONObject var14 = var12.getJSONObject("cells");
// if (oConvertUtils.isNotEmpty(var14)) {
// JSONObject var15 = new JSONObject(true);
//
// int var16;
// JSONObject var17;
// for (var16 = var6; var16 <= var7; ++var16) {
// if (oConvertUtils.isNotEmpty(var14)) {
// var17 = var14.getJSONObject(var16 + "");
// var15.put(var16 + "", var17);
// }
// }
//
// if (var8 > 1) {
// for (var16 = 1; var16 <= var8 - 1; ++var16) {
// var17 = JSONObject.parseObject(JSONObject.toJSONString(var14), new Feature[]{Feature.OrderedField});
//
// for (int var18 = var6; var18 <= var7; ++var18) {
// JSONObject var19 = (JSONObject) var17.get(var18);
// String var20 = var19.getString("text");
// int var21 = (var7 - var6 + 1) * var16 + var18;
// if (oConvertUtils.isNotEmpty(var20) && var20.indexOf("_index") <= -1 && var20.indexOf("${") > -1) {
// var19.put("text", var20.replace("}", var16 + "}"));
// var15.put(var21 + "", var19);
// } else {
// var15.put(var21 + "", var19);
// }
// }
// }
// }
//
// var13.put("cells", var15);
// Object var22 = var12.get("height");
// if (oConvertUtils.isNotEmpty(var22)) {
// var13.put("height", var22);
// }
// }
//
// var9.append(JSONUtils.toJSONString(var13));
// if (var11 < var4) {
// var9.append(",");
// }
// }
//
// var9.append(String.format("<#if %s_has_next>,</#if>", var10));
// var9.append("</#list>");
// var9.append("}");
// return var9.toString();
// }
//
// public JSONObject render(RenderInfo renderInfo, JSONObject rows) {
// JSONObject var3 = new JSONObject(true);
// Map var4 = renderInfo.getReport().getDataList();
// JSONArray var5 = renderInfo.getLoopBlockList();
// Integer var6 = 0;
// Iterator var7 = var5.iterator();
//
// JSONObject var9;
// Integer var10;
// Integer var11;
// Integer var12;
// ReportDbInfo var27;
// do {
// if (!var7.hasNext()) {
// return rows;
// }
//
// Object var8 = var7.next();
// var9 = (JSONObject) var8;
// var10 = var9.getInteger("sri");
// var11 = var9.getInteger("eri");
// var12 = oConvertUtils.getInt(var9.getInteger("loopTime"), 1);
// if (var10 > 0) {
// for (int var13 = 0; var13 < var10; ++var13) {
// Object var14 = rows.get(var13);
// if (oConvertUtils.isNotEmpty(var14)) {
// var3.put(var13 + "", var14);
// }
// }
// }
//
// String var26 = var9.getString("db");
// var27 = (ReportDbInfo) var4.get(var26);
// } while (!oConvertUtils.isNotEmpty(var27));
//
// Object var15 = this.getData(var27);
// HashMap var16 = new HashMap(5);
// if (oConvertUtils.isNotEmpty(var15) && var15 instanceof List) {
// List var17 = (List) var15;
// if (var12 > 1) {
// int var18 = 0;
// ArrayList var19 = new ArrayList();
// JSONObject var20 = new JSONObject();
// Iterator var21 = var17.iterator();
//
// while (true) {
// if (!var21.hasNext()) {
// var15 = var19;
// break;
// }
//
// JSONObject var22 = (JSONObject) var21.next();
// if (var18 % var12 == 0) {
// var20 = new JSONObject();
// var20.put("idx", var18 + 1);
// var20.putAll(var22);
// var19.add(var20);
// } else {
// Iterator var23 = var22.entrySet().iterator();
//
// while (var23.hasNext()) {
// Entry var24 = (Entry) var23.next();
// String var25 = var24.getKey().toString();
// var20.put("idx" + var18 % var12, var18 + 1);
// var20.put(var25 + var18 % var12, var24.getValue());
// }
// }
//
// ++var18;
// }
// }
//
// var16.put("list", var15);
// }
//
// String var28 = this.a(var9, rows, var10, var11);
// String var29 = FreeMarkerUtils.a(var28, var16);
// JSONObject var30 = JSONObject.parseObject(var29, new Feature[]{Feature.OrderedField});
// Iterator var31 = rows.entrySet().iterator();
//
// while (var31.hasNext()) {
// Entry var32 = (Entry) var31.next();
// Object var33 = var32.getValue();
// if (var33 instanceof JSONObject) {
// Integer var34 = Integer.parseInt(var32.getKey().toString());
// if (var34 > var11) {
// var6 = var30.size() + var10;
// var30.put(var6.toString(), var33);
// }
// }
// }
//
// var3.putAll(var30);
// return var3;
// }
//
// public Object getData(ReportDbInfo reportDbInfo) {
// return reportDbInfo.getList();
// }
//}
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package org.jeecg.modules.jmreport.desreport.render.a;
import com.alibaba.druid.support.json.JSONUtils;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import org.jeecg.modules.jmreport.common.util.oConvertUtils;
import org.jeecg.modules.jmreport.desreport.model.RenderInfo;
import org.jeecg.modules.jmreport.desreport.model.ReportDbInfo;
import org.jeecg.modules.jmreport.desreport.render.handler.RowsRenderHandler;
import org.jeecg.modules.jmreport.desreport.render.utils.FreeMarkerUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.*;
import java.util.Map.Entry;
@Component("loopBlockRenderStrategy")
public class a implements RowsRenderHandler {
private static final Logger a = LoggerFactory.getLogger(a.class);
public a() {
}
public boolean support(RenderInfo renderInfo, JSONObject rows) {
return oConvertUtils.isNotEmpty(renderInfo.getLoopBlockList());
}
private String a(JSONObject var1, JSONObject var2, Integer var3, Integer var4) {
Integer var5 = var4 - var3 + 1;
Integer var6 = var1.getInteger("sci");
Integer var7 = var1.getInteger("eci");
Integer var8 = oConvertUtils.getInt(var1.getInteger("loopTime"), 1);
StringBuilder var9 = new StringBuilder();
String var10 = var1.getString("db");
var9.append("{");
var9.append(String.format("<#list list as %s>", var10));
for (int var11 = var3; var11 <= var4; ++var11) {
var9.append(String.format("\"${(%s_index*%s)+%s+%s}\":", var10, var5, var3, var11 - var3));
JSONObject var12 = (JSONObject) var2.get(var11);
JSONObject var13 = new JSONObject(true);
JSONObject var14 = var12.getJSONObject("cells");
if (oConvertUtils.isNotEmpty(var14)) {
JSONObject var15 = new JSONObject(true);
int var16;
JSONObject var17;
for (var16 = var6; var16 <= var7; ++var16) {
if (oConvertUtils.isNotEmpty(var14)) {
var17 = var14.getJSONObject(var16 + "");
var15.put(var16 + "", var17);
}
}
if (var8 > 1) {
for (var16 = 1; var16 <= var8 - 1; ++var16) {
var17 = JSONObject.parseObject(JSONObject.toJSONString(var14), new Feature[]{Feature.OrderedField});
for (int var18 = var6; var18 <= var7; ++var18) {
JSONObject var19 = (JSONObject) var17.get(var18);
String var20 = var19.getString("text");
int var21 = (var7 - var6 + 1) * var16 + var18;
if (oConvertUtils.isNotEmpty(var20) && var20.indexOf("_index") <= -1 && var20.indexOf("${") > -1) {
var19.put("text", var20.replace("}", var16 + "}"));
var15.put(var21 + "", var19);
} else {
var15.put(var21 + "", var19);
}
}
}
}
var13.put("cells", var15);
Object var22 = var12.get("height");
if (oConvertUtils.isNotEmpty(var22)) {
var13.put("height", var22);
}
}
var9.append(JSONUtils.toJSONString(var13));
if (var11 < var4) {
var9.append(",");
}
}
var9.append(String.format("<#if %s_has_next>,</#if>", var10));
var9.append("</#list>");
var9.append("}");
return var9.toString();
}
public JSONObject render(RenderInfo renderInfo, JSONObject rows) {
JSONObject var3 = new JSONObject(true);
Map var4 = renderInfo.getReport().getDataList();
JSONArray var5 = renderInfo.getLoopBlockList();
Integer var6 = 0;
Iterator var7 = var5.iterator();
JSONObject var9;
Integer var10;
Integer var11;
Integer var12;
ReportDbInfo var27;
do {
if (!var7.hasNext()) {
return rows;
}
Object var8 = var7.next();
var9 = (JSONObject) var8;
var10 = var9.getInteger("sri");
var11 = var9.getInteger("eri");
var12 = oConvertUtils.getInt(var9.getInteger("loopTime"), 1);
if (var10 > 0) {
for (int var13 = 0; var13 < var10; ++var13) {
Object var14 = rows.get(var13);
if (oConvertUtils.isNotEmpty(var14)) {
var3.put(var13 + "", var14);
}
}
}
String var26 = var9.getString("db");
var27 = (ReportDbInfo) var4.get(var26);
} while (!oConvertUtils.isNotEmpty(var27));
Object var15 = this.getData(var27);
HashMap var16 = new HashMap(5);
if (oConvertUtils.isNotEmpty(var15) && var15 instanceof List) {
List var17 = (List) var15;
if (var12 > 1) {
int var18 = 0;
ArrayList var19 = new ArrayList();
JSONObject var20 = new JSONObject();
Iterator var21 = var17.iterator();
while (true) {
if (!var21.hasNext()) {
var15 = var19;
break;
}
JSONObject var22 = (JSONObject) var21.next();
if (var18 % var12 == 0) {
var20 = new JSONObject();
var20.put("idx", var18 + 1);
var20.putAll(var22);
var19.add(var20);
} else {
Iterator var23 = var22.entrySet().iterator();
while (var23.hasNext()) {
Entry var24 = (Entry) var23.next();
String var25 = var24.getKey().toString();
var20.put("idx" + var18 % var12, var18 + 1);
var20.put(var25 + var18 % var12, var24.getValue());
}
}
++var18;
}
}
var16.put("list", var15);
}
String var28 = this.a(var9, rows, var10, var11);
String var29 = FreeMarkerUtils.a(var28, var16);
JSONObject var30 = JSONObject.parseObject(var29, new Feature[]{Feature.OrderedField});
Iterator var31 = rows.entrySet().iterator();
while (var31.hasNext()) {
Entry var32 = (Entry) var31.next();
Object var33 = var32.getValue();
if (var33 instanceof JSONObject) {
Integer var34 = Integer.parseInt(var32.getKey().toString());
if (var34 > var11) {
var6 = var30.size() + var10;
var30.put(var6.toString(), var33);
}
}
}
var3.putAll(var30);
return var3;
}
public Object getData(ReportDbInfo reportDbInfo) {
return reportDbInfo.getList();
}
}
... ...
... ... @@ -73,11 +73,11 @@
<div slot="trigger"></div>
</Sider>
</div>
<#--<div v-if="dataSource.child && dataSource.child.length == 1" style="width: calc(100% - 200px);height: 100%">
<div v-if="dataSource.child && dataSource.child.length == 1" style="width: 100%;height: 100%">
<iframe id="reportFrame" frameborder="0" width="100%" :height="height" :src="src"
style="border: none;padding-top: 15px;"></iframe>
</div>-->
<div v-else style="margin-left: 3px;width: 100%">
</div>
<div v-else style="margin-left: 3px;width: calc(100% - 200px)">
<iframe id="reportFrame" frameborder="0" width="100%" :height="height" :src="src"
style="border: none;padding-top: 15px;"></iframe>
</div>
... ... @@ -152,13 +152,12 @@
setReportSrc(code) {
//const reportFrame = document.getElementById('reportFrame');
//reportFrame.src = "/jmreport/view/" + code ;//+ "?token=" + that.token;
this.src = window.location.origin + "/jmreport/view/" + code;
var searchKey = window.location.search;
this.src = window.location.origin + "/jmreport/view/" + code + searchKey;
},
onMenuSelect: function (key) {
console.log(111111111111);
let that = this;
let ds = this.dataSource;
... ...