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

/**
* 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>`;
}
}