25개 이상의 토픽을 선택하실 수 없습니다.
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
3.3 KiB
90 lines
3.3 KiB
/**
|
|
* Created by Jacky.Gao on 2017-01-25.
|
|
*/
|
|
import Tool from './Tool.js';
|
|
import {tableToXml} from '../Utils.js';
|
|
import {alert} from '../MsgBox.js';
|
|
import {resetDirty} from "../Utils";
|
|
|
|
export default class PreviewTool extends Tool{
|
|
execute(){
|
|
}
|
|
buildButton(){
|
|
const group=$(`<div class="btn-group"></div>`);
|
|
const mainBtn=$(`<button type="button" class="btn btn-default dropdown-toggle" style="border:none;border-radius:0;background: #f8f8f8;padding: 6px 5px;" data-toggle="dropdown" title="${window.i18n.tools.preview.preview}">
|
|
<i class="ureport ureport-preview" style="color: #0e90d2;"></i>
|
|
<span class="caret"></span>
|
|
</button>`);
|
|
const ul=$(`<ul class="dropdown-menu" role="menu"></ul>`);
|
|
const preview=$(`<li>
|
|
<a href="###">
|
|
<i class="ureport ureport-preview" style="color: #0e90d2;"></i> ${window.i18n.tools.preview.view}
|
|
</a>
|
|
</li>`);
|
|
ul.append(preview);
|
|
const _this=this;
|
|
preview.click(function(){
|
|
const content=tableToXml(_this.context);
|
|
if(window._reportFile){
|
|
$.ajax({
|
|
url:window._server+"/designer/saveReportFile",
|
|
data:{content,file:window._reportFile},
|
|
type:'POST',
|
|
success:function(){
|
|
resetDirty();
|
|
_this.doPreview(false);
|
|
},
|
|
error:function(response){
|
|
if(response && response.responseText){
|
|
alert("服务端错误:"+response.responseText+"");
|
|
}else{
|
|
alert(`${window.i18n.tools.save.failSave}`);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
});
|
|
const pagingPreview=$(`<li>
|
|
<a href="###">
|
|
<i class="glyphicon glyphicon-search" style="color: #0e90d2;"></i> 预览
|
|
</a>
|
|
</li>`);
|
|
ul.append(pagingPreview);
|
|
pagingPreview.click(function(){
|
|
// _this.doPreview(true);
|
|
_this.doPreview(true);
|
|
});
|
|
group.append(mainBtn);
|
|
group.append(ul);
|
|
return group;
|
|
}
|
|
doPreview(withPaging){
|
|
// let targetUrl=window._server+"/preview?_u=p";
|
|
console.log("前往预览")
|
|
let targetUrl=window._server+"/preview?_u="+ (withPaging ? "p" : window._reportFile);
|
|
// if(withPaging){
|
|
// targetUrl+='&_i=1&_r=1';
|
|
// }
|
|
// const content=tableToXml(this.context);
|
|
let newWindow=window.open(targetUrl,"_blank");
|
|
newWindow.focus();
|
|
// $.ajax({
|
|
// url:window._server+"/designer/savePreviewData",
|
|
// type:'POST',
|
|
// data:{content},
|
|
// success:function(){
|
|
// let newWindow=window.open(targetUrl,"_blank");
|
|
// newWindow.focus();
|
|
// },
|
|
// error:function(){
|
|
// alert(`${window.i18n.tools.preview.previewFail}`);
|
|
// }
|
|
// });
|
|
}
|
|
getTitle(){
|
|
return `${window.i18n.tools.preview.preview}`;
|
|
}
|
|
getIcon(){
|
|
return `<i class="ureport ureport-preview" style="color: #0e90d2;"></i>`;
|
|
}
|
|
}
|
|
|