创建版本

This commit is contained in:
2021-02-22 12:17:00 +08:00
commit af555f49c3
2332 changed files with 369202 additions and 0 deletions
@@ -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>