创建版本
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
<?php namespace Gdoo\StiReport\Controllers;
|
||||
|
||||
use DB;
|
||||
use Request;
|
||||
use Validator;
|
||||
|
||||
use Gdoo\Index\Controllers\DefaultController;
|
||||
use Gdoo\Flow\Form;
|
||||
|
||||
class StiReportController extends DefaultController
|
||||
{
|
||||
public $permission = ['viewer', 'designer', 'saveReport', 'license', 'render'];
|
||||
|
||||
public function designerAction()
|
||||
{
|
||||
$template_id = (int)Request::get('template_id');
|
||||
$template = DB::table('flow_template')->where('id', $template_id)->first();
|
||||
// 报表名称
|
||||
$report_name = "{$template['code']}";
|
||||
$report_file = '';
|
||||
if (is_file(public_path().'/reports/'.$report_name.'.mrt')) {
|
||||
$report_file = $report_name;
|
||||
}
|
||||
return $this->render(['report_name' => $report_name, 'report_file' => $report_file]);
|
||||
}
|
||||
|
||||
public function viewerAction()
|
||||
{
|
||||
return $this->render();
|
||||
}
|
||||
|
||||
public function renderAction()
|
||||
{
|
||||
return $this->render();
|
||||
}
|
||||
|
||||
public function saveReportAction()
|
||||
{
|
||||
$gets = Request::all();
|
||||
$fileName = $gets['fileName'];
|
||||
file_put_contents(public_path().'/reports/'.$fileName.".mrt", $gets['data']);
|
||||
$success = ['success' => true, 'msg' => "保存成功:".$fileName];
|
||||
return $success;
|
||||
}
|
||||
|
||||
public function licenseAction()
|
||||
{
|
||||
echo "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";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php namespace Gdoo\StiReport\Services;
|
||||
|
||||
use DB;
|
||||
use Auth;
|
||||
|
||||
class StiReportService
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<title>Report Designer - {{$setting['title']}}</title>
|
||||
|
||||
<!-- Office2013 style -->
|
||||
<link href="{{$asset_url}}/vendor/stimulsoft/css/stimulsoft.viewer.office2013.whiteblue.css" rel="stylesheet">
|
||||
<link href="{{$asset_url}}/vendor/stimulsoft/css/stimulsoft.designer.office2013.whiteblue.css" rel="stylesheet">
|
||||
|
||||
<script src="{{$asset_url}}/vendor/jquery.js" type="text/javascript"></script>
|
||||
|
||||
<!-- Stimulsoft Reports.JS -->
|
||||
<script src="{{$asset_url}}/vendor/stimulsoft/scripts/stimulsoft.reports.js" type="text/javascript"></script>
|
||||
<script src="{{$asset_url}}/vendor/stimulsoft/scripts/stimulsoft.viewer.js" type="text/javascript"></script>
|
||||
<script src="{{$asset_url}}/vendor/stimulsoft/scripts/stimulsoft.designer.js" type="text/javascript"></script>
|
||||
<script src="{{$asset_url}}/vendor/stimulsoft/scripts/stimulsoft.reports.export.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
var report_name = "{{$report_name}}";
|
||||
var report_file = "{{$report_file}}";
|
||||
var printData = JSON.parse(localStorage.getItem(report_name));
|
||||
var options = new Stimulsoft.Designer.StiDesignerOptions();
|
||||
options.appearance.fullScreenMode = true;
|
||||
options.toolbar.showSendEmailButton = true;
|
||||
options.appearance.showLocalization = false;
|
||||
options.appearance.zoom = 120;
|
||||
|
||||
Stimulsoft.Base.Localization.StiLocalization.addLocalizationFile("{{$asset_url}}/vendor/stimulsoft/localization/zh-CHS.xml", false, "Chinese (Simplified)");
|
||||
Stimulsoft.Base.Localization.StiLocalization.cultureName = "Chinese (Simplified)";
|
||||
|
||||
var designer = new Stimulsoft.Designer.StiDesigner(options, "StiDesigner", false);
|
||||
|
||||
designer.onBeginProcessData = function (event, callback) {}
|
||||
|
||||
// 保存报表
|
||||
designer.onSaveReport = function (event) {
|
||||
var data = event.report.saveToJsonString();
|
||||
$.post('/stiReport/StiReport/saveReport', {fileName: report_name, data: data}, function(res) {
|
||||
Stimulsoft.System.StiError.errorMessageForm.show(res.msg, res.success);
|
||||
});
|
||||
}
|
||||
|
||||
var report = new Stimulsoft.Report.StiReport();
|
||||
report.reportName = report_name;
|
||||
// 加载模板文件
|
||||
if (report_file) {
|
||||
report.loadFile("{{$public_url}}/reports/" + report_file + '.mrt');
|
||||
}
|
||||
|
||||
// 加载数据
|
||||
var dataSet = new Stimulsoft.System.Data.DataSet("data");
|
||||
dataSet.readJson(printData);
|
||||
report.dictionary.clear();
|
||||
report.regData("data", "data", dataSet);
|
||||
report.dictionary.synchronize();
|
||||
|
||||
designer.report = report;
|
||||
|
||||
function onLoad() {
|
||||
designer.renderHtml("designerContent");
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<style>
|
||||
.stiJsViewerPage > table > tbody > tr:first-child { display:none; }
|
||||
.stiJsViewerPage > table > tbody > tr:last-child { display:none; }
|
||||
</style>
|
||||
<body onload="onLoad();">
|
||||
<div id="designerContent"></div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,35 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<title>打印预览</title>
|
||||
<script src="{{$asset_url}}/vendor/stimulsoft/scripts/stimulsoft.reports.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
function onLoad() {
|
||||
var report = new Stimulsoft.Report.StiReport();
|
||||
report.loadFile("{{$public_url}}/reports/delivery.mrt");
|
||||
|
||||
// 加载数据
|
||||
var ds = new Stimulsoft.System.Data.DataSet("data");
|
||||
ds.readJsonFile("{{$public_url}}/reports/delivery.json");
|
||||
report.regData("data", "data", ds);
|
||||
report.renderAsync(function() {
|
||||
var pdfData = report.exportDocument(Stimulsoft.Report.StiExportFormat.Html);
|
||||
document.getElementById('data').innerHTML = pdfData;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<style>
|
||||
* { padding: 0; margin: 0; position: relative; }
|
||||
.stiJsViewerPage table:first-of-type > tbody tr:first-child { display:none; }
|
||||
.stiJsViewerPage table tbody tr:last-child { display:none; }
|
||||
</style>
|
||||
<style media="screen">
|
||||
.body {text-align: center;}
|
||||
.stiJsViewerPage {display:inline-block;}
|
||||
</style>
|
||||
<body onload="onLoad();" class="body">
|
||||
<div id="data" class="stiJsViewerPage"></div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,66 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<title>Report Viewer - {{$setting['title']}}</title>
|
||||
|
||||
<!-- Office2013 style -->
|
||||
<link href="{{$asset_url}}/vendor/stimulsoft/css/stimulsoft.viewer.office2013.whiteblue.css" rel="stylesheet">
|
||||
|
||||
<!-- Stimulsoft Reports.JS -->
|
||||
<script src="{{$asset_url}}/vendor/stimulsoft/scripts/stimulsoft.reports.js" type="text/javascript"></script>
|
||||
<!-- Stimulsoft JS Viewer -->
|
||||
<script src="{{$asset_url}}/vendor/stimulsoft/scripts/stimulsoft.viewer.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
var options = new Stimulsoft.Viewer.StiViewerOptions();
|
||||
options.appearance.fullScreenMode = true;
|
||||
options.toolbar.showSendEmailButton = true;
|
||||
|
||||
Stimulsoft.Base.Localization.StiLocalization.addLocalizationFile("{{$asset_url}}/vendor/stimulsoft/localization/zh-CHS.xml", false, "Chinese (Simplified)");
|
||||
Stimulsoft.Base.Localization.StiLocalization.cultureName = "Chinese (Simplified)";
|
||||
|
||||
var viewer = new Stimulsoft.Viewer.StiViewer(options, "StiViewer", false);
|
||||
|
||||
// Process SQL data source
|
||||
viewer.onBeginProcessData = function (event, callback) {
|
||||
}
|
||||
|
||||
// Manage export settings on the server side
|
||||
viewer.onBeginExportReport = function (args) {
|
||||
//args.fileName = "MyReportName";
|
||||
}
|
||||
|
||||
// Process exported report file on the server side
|
||||
/*viewer.onEndExportReport = function (event) {
|
||||
event.preventDefault = true; // Prevent client default event handler (save the exported report as a file)
|
||||
}*/
|
||||
|
||||
// Send exported report to Email
|
||||
viewer.onEmailReport = function (event) {
|
||||
}
|
||||
|
||||
var report = new Stimulsoft.Report.StiReport();
|
||||
report.loadFile("{{$public_url}}/reports/delivery.mrt");
|
||||
|
||||
// 加载数据
|
||||
var ds = new Stimulsoft.System.Data.DataSet("data");
|
||||
ds.readJsonFile("{{$public_url}}/reports/delivery.json");
|
||||
report.regData("data", "data", ds);
|
||||
|
||||
viewer.report = report;
|
||||
|
||||
function onLoad() {
|
||||
viewer.renderHtml("viewerContent");
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<style>
|
||||
.stiJsViewerPage > table > tbody > tr:first-child { display:none; }
|
||||
.stiJsViewerPage > table > tbody > tr:last-child { display:none; }
|
||||
</style>
|
||||
|
||||
<body onload="onLoad();">
|
||||
<div id="viewerContent"></div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user