bhq@iemsoft.cn
2018-10-30 cea5dc2f16988c1747c15dba4f435e6c4de44911
修改报表接口
10 files modified
185 ■■■■■ changed files
report-console/src/main/resources/report-asserts/js/designer.bundle.js 3 ●●●● patch | view | raw | blame | history
report-console/src/main/resources/report-asserts/js/preview.bundle.js 8 ●●●● patch | view | raw | blame | history
report-js/src/designer.js 2 ●●● patch | view | raw | blame | history
report-js/src/preview.js 13 ●●●● patch | view | raw | blame | history
src/app/layout/header/header.component.html 6 ●●●● patch | view | raw | blame | history
src/app/layout/sidebar/sidebar.component.html 17 ●●●●● patch | view | raw | blame | history
src/app/routes/data-setting/data-source/data-source.component.html 6 ●●●● patch | view | raw | blame | history
src/app/routes/data-setting/data-source/data-source.component.ts 8 ●●●● patch | view | raw | blame | history
src/assets/config/config.json 4 ●●●● patch | view | raw | blame | history
src/assets/i18n/zh.json 118 ●●●● patch | view | raw | blame | history
report-console/src/main/resources/report-asserts/js/designer.bundle.js
@@ -13920,8 +13920,7 @@
    // trigger.addClass("down-up-toggle");
    // }
    });}},{key:'buildTools',value:function buildTools(context){context.tool={};var toolbar=$('<div class="btn-group ud-toolbar"></div>');this.container.prepend(toolbar);this.tools=[];this.tools.push(new _PreviewTool2.default(context));this.tools.push(context.tool.save=new _SaveTool2.default(context));// this.tools.push(new OpenTool(context));
    if(!window._id){this.tools.push(new _ImportTool2.default(context));}this.tools.push(new _RedoTool2.default(context));this.tools.push(new _UndoTool2.default(context));this.tools.push(new _MergeTool2.default(context));this.tools.push(new _AlignLeftTool2.default(context));this.tools.push(new _AlignTopTool2.default(context));this.tools.push(new _BorderTool2.default(context));this.tools.push(new _FontFamilyTool2.default(context));this.tools.push(new _FontSizeTool2.default(context));this.tools.push(new _BoldTool2.default(context));this.tools.push(new _ItalicTool2.default(context));this.tools.push(new _UnderlineTool2.default(context));this.tools.push(new _BgcolorTool2.default(context));this.tools.push(new _ForecolorTool2.default(context));this.tools.push(new _CrosstabTool2.default(context));this.tools.push(new _ImageTool2.default(context));this.tools.push(new _ZxingTool2.default(context));this.tools.push(new _ChartTool2.default(context));// this.tools.push(new SettingsTool(context));
    this.tools.push(new _SearchFormSwitchTool2.default(context));var _iteratorNormalCompletion3=true;var _didIteratorError3=false;var _iteratorError3=undefined;try{for(var _iterator3=this.tools[Symbol.iterator](),_step3;!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=true){var tool=_step3.value;toolbar.append(tool.buildButton());}}catch(err){_didIteratorError3=true;_iteratorError3=err;}finally{try{if(!_iteratorNormalCompletion3&&_iterator3.return){_iterator3.return();}}finally{if(_didIteratorError3){throw _iteratorError3;}}}}}]);return UReportDesigner;}();exports.default=UReportDesigner;
    if(!window._id){this.tools.push(new _ImportTool2.default(context));}this.tools.push(new _RedoTool2.default(context));this.tools.push(new _UndoTool2.default(context));this.tools.push(new _MergeTool2.default(context));this.tools.push(new _AlignLeftTool2.default(context));this.tools.push(new _AlignTopTool2.default(context));this.tools.push(new _BorderTool2.default(context));this.tools.push(new _FontFamilyTool2.default(context));this.tools.push(new _FontSizeTool2.default(context));this.tools.push(new _BoldTool2.default(context));this.tools.push(new _ItalicTool2.default(context));this.tools.push(new _UnderlineTool2.default(context));this.tools.push(new _BgcolorTool2.default(context));this.tools.push(new _ForecolorTool2.default(context));this.tools.push(new _CrosstabTool2.default(context));this.tools.push(new _ImageTool2.default(context));this.tools.push(new _ZxingTool2.default(context));this.tools.push(new _ChartTool2.default(context));this.tools.push(new _SettingsTool2.default(context));this.tools.push(new _SearchFormSwitchTool2.default(context));var _iteratorNormalCompletion3=true;var _didIteratorError3=false;var _iteratorError3=undefined;try{for(var _iterator3=this.tools[Symbol.iterator](),_step3;!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=true){var tool=_step3.value;toolbar.append(tool.buildButton());}}catch(err){_didIteratorError3=true;_iteratorError3=err;}finally{try{if(!_iteratorNormalCompletion3&&_iterator3.return){_iterator3.return();}}finally{if(_didIteratorError3){throw _iteratorError3;}}}}}]);return UReportDesigner;}();exports.default=UReportDesigner;
/***/ }),
/* 44 */
report-console/src/main/resources/report-asserts/js/preview.bundle.js
@@ -53,10 +53,10 @@
     * Created by Jacky.Gao on 2017-03-17.
     */window._currentPageIndex=null;window._totalPage=null;// type 返回类型,如果type == json 返回则为json 否则是序列化的字符串
    window.buildLocationSearchParameters=function(exclude,type){var pairs=void 0;var parameters={};var foreignPreviewParams=JSON.parse(localStorage.getItem("foreignPreviewParams"));if(!foreignPreviewParams){var urlParameters=window.location.search;if(urlParameters.length>0){urlParameters=urlParameters.substring(1,urlParameters.length);}pairs=urlParameters.split('&');for(var i=0;i<pairs.length;i++){var item=pairs[i];if(item===''){continue;}var param=item.split('=');var key=param[0];if(exclude&&key===exclude){continue;}var value=param[1];parameters[key]=value;}}else{parameters=foreignPreviewParams;}if(window.searchFormParameters){for(var _key in window.searchFormParameters){if(_key===exclude){continue;}var _value=window.searchFormParameters[_key];if(_value){parameters[_key]=_value;}}}if(type=="json"){parameters["_n"]=window._name;return parameters;// return
    }var p='?';for(var _key2 in parameters){if(p==='?'){p+=_key2+'='+parameters[_key2];}else{p+='&'+_key2+'='+parameters[_key2];}}if(p.indexOf('_n')<0){p+='&_n='+encodeURI(window._name);}return p;};function buildPrintStyle(paper){var marginLeft=(0,_Utils.pointToMM)(paper.leftMargin);var marginTop=(0,_Utils.pointToMM)(paper.topMargin);var marginRight=(0,_Utils.pointToMM)(paper.rightMargin);var marginBottom=(0,_Utils.pointToMM)(paper.bottomMargin);var paperType=paper.paperType;var page=paperType;if(paperType==='CUSTOM'){page=(0,_Utils.pointToMM)(paper.width)+'mm '+(0,_Utils.pointToMM)(paper.height)+'mm';}var style='\n        @media print {\n            .page-break{\n                display: block;\n                page-break-before: always;\n            }\n        }\n        @page {\n          size: '+page+' '+paper.orientation+';\n          margin-left: '+marginLeft+'mm;\n          margin-top: '+marginTop+'mm;\n          margin-right:'+marginRight+'mm;\n          margin-bottom:'+marginBottom+'mm;\n        }\n    ';return style;};window.buildPaging=function(pageIndex,totalPage){if(totalPage===0){return;}if(!pageIndex){return;}if(!window._currentPageIndex){window._currentPageIndex=pageIndex;}pageIndex=window._currentPageIndex;if(!window._totalPage){window._totalPage=totalPage;}var pageSelector=$('#pageSelector');pageSelector.change(function(){if(JSON.parse(localStorage.getItem("foreignPreviewParams"))){var parameters=window.buildLocationSearchParameters('_i',"json");window.$("#loadingIframe").css("display","block");var url=window._server+'/preview';// window.open(url,'_self');
    parameters._i=$(this).val();$.post(url,parameters,function(res){window.$("#previewForeign").html(res);});}else{var _parameters=window.buildLocationSearchParameters('_i');parent.$("#loadingIframe").css("display","block");var _url2=window._server+('/preview'+_parameters+'&_i='+$(this).val());window.open(_url2,'_self');}});pageSelector.val(pageIndex);if(totalPage===1){return;}var pagingContainer=$('#pageLinkContainer');pagingContainer.empty();if(JSON.parse(localStorage.getItem("foreignPreviewParams"))){var parameters=window.buildLocationSearchParameters('_i',"json");if(pageIndex>1){var url=window._server+'/preview';var prevPage=$('<button type="button" class="btn btn-link btn-sm">\u4E0A\u4E00\u9875</button>');pagingContainer.append(prevPage);prevPage.click(function(){parameters._i=pageIndex-1;window.$("#loadingIframe").css("display","block");// window.open(url,'_self');
    $.post(url,parameters,function(res){window.$("#previewForeign").html(res);});});}if(pageIndex<totalPage){var _url3=window._server+'/preview';var nextPage=$('<button type="button" class="btn btn-link btn-sm">\u4E0B\u4E00\u9875</button>');pagingContainer.append(nextPage);nextPage.click(function(){parameters._i=pageIndex+1;window.$("#loadingIframe").css("display","block");$.post(_url3,parameters,function(res){window.$("#previewForeign").html(res);});// window.open(url,'_self');
    });}}else{var _parameters2=window.buildLocationSearchParameters('_i');if(pageIndex>1){var _url4=window._server+('/preview'+_parameters2+'&_i='+(pageIndex-1));var _prevPage=$('<button type="button" class="btn btn-link btn-sm">\u4E0A\u4E00\u9875</button>');pagingContainer.append(_prevPage);_prevPage.click(function(){window.open(_url4,'_self');});}if(pageIndex<totalPage){var _url5=window._server+('/preview'+_parameters2+'&_i='+(pageIndex+1));var _nextPage=$('<button type="button" class="btn btn-link btn-sm">\u4E0B\u4E00\u9875</button>');pagingContainer.append(_nextPage);_nextPage.click(function(){window.open(_url5,'_self');});}}};window._intervalRefresh=function(value,totalPage){if(!value){return;}window._totalPage=totalPage;var second=value*1000;setTimeout(function(){_refreshData(second);},second);};function _refreshData(second){$("#loadinggif").css("display","block");var params=buildLocationSearchParameters('_i');var url=window._server+('/preview/loadData'+params);var totalPage=window._totalPage;if(totalPage>0){if(window._currentPageIndex){if(window._currentPageIndex>totalPage){window._currentPageIndex=1;}url+="&_i="+window._currentPageIndex+"";}$("#pageSelector").val(window._currentPageIndex);}$.ajax({url:url,type:'GET',success:function success(report){(0,_Utils.overtimeLogin)(report);var tableContainer=$('#_ureport_table');tableContainer.empty();window._totalPage=report.totalPageWithCol;tableContainer.append(report.content);_buildChartDatas(report.chartDatas);buildPaging(window._currentPageIndex,window._totalPage);if(window._currentPageIndex){window._currentPageIndex++;}setTimeout(function(){_refreshData(second);},second);$("#loadinggif").css("display","none");},error:function error(response){$("#loadinggif").css("display","none");if(response&&response.responseText){(0,_MsgBox.alert)("服务端错误:"+response.responseText+"");}else{(0,_MsgBox.alert)('加载数据失败!');}}});};window._buildChartDatas=function(chartData){if(!chartData){return;}var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=chartData[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var d=_step.value;var json=d.json;json=JSON.parse(json);_buildChart(d.id,json);}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return();}}finally{if(_didIteratorError){throw _iteratorError;}}}};window._buildChart=function(canvasId,chartJson){var ctx=document.getElementById(canvasId);var options=chartJson.options;if(!options){options={};chartJson.options=options;}var animation=options.animation;if(!animation){animation={};options.animation=animation;}animation.onComplete=function(event){var chart=event.chart;var base64Image=chart.toBase64Image();var urlParameters=window.location.search;var url=window._server+'/chart/storeData'+urlParameters;var canvas=$("#"+canvasId);var width=parseInt(canvas.css('width'));var height=parseInt(canvas.css('height'));$.ajax({type:'POST',data:(0,_Utils.returnEncryptStr)({_base64Data:base64Image,_chartId:canvasId,_width:width,_height:height},"val"),url:url});};var chart=new _chart2.default(ctx,chartJson);};window.submitSearchForm=function(file,customParameters){$("#loadinggif").css("display","block");$(".error_info").html("");window.searchFormParameters={};var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{for(var _iterator2=window.formElements[Symbol.iterator](),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){var fun=_step2.value;var json=fun.call(this);for(var key in json){var value=json[key];if(inputProp[key]==true&&json[key]==""){$("input[name='"+key+"']").parents(".form-group").find(".error_info").html("该条件为必填项!");$("#loadinggif").css("display","none");debugger;return;}value=encodeURI(value);window.searchFormParameters[key]=value;}}}catch(err){_didIteratorError2=true;_iteratorError2=err;}finally{try{if(!_iteratorNormalCompletion2&&_iterator2.return){_iterator2.return();}}finally{if(_didIteratorError2){throw _iteratorError2;}}}var parameters=window.buildLocationSearchParameters('_i',"json");var url=window._server+"/preview/loadData";var pageSelector=$('#pageSelector');if(pageSelector.length>0){if(JSON.parse(localStorage.getItem("foreignPreviewParams"))){parameters._i=1;}else{url+='?_i=1';}}$.ajax({url:url,type:'POST',data:parameters,success:function success(report){(0,_Utils.overtimeLogin)(report);if(report.style){$("#_ureport_table_style").text(report.style);}window._currentPageIndex=1;var tableContainer=$('#_ureport_table');tableContainer.empty();tableContainer.append(report.content);_buildChartDatas(report.chartDatas);var totalPage=report.totalPage;window._totalPage=totalPage;if(pageSelector.length>0){pageSelector.empty();for(var i=1;i<=totalPage;i++){pageSelector.append('<option>'+i+'</option>');}var pageIndex=report.pageIndex||1;pageSelector.val(pageIndex);$('#totalPageLabel').html(totalPage);buildPaging(pageIndex,totalPage);}$("#loadinggif").css("display","none");},error:function error(response){$("#loadinggif").css("display","none");if(response&&response.responseText){(0,_MsgBox.alert)("服务端错误:"+response.responseText+"");}else{(0,_MsgBox.alert)('查询操作失败!');}}});};
    }var p='?';for(var _key2 in parameters){if(p==='?'){p+=_key2+'='+parameters[_key2];}else{p+='&'+_key2+'='+parameters[_key2];}}if(p.indexOf('_n')<0){p+='&_n='+encodeURI(window._name);}return p;};function buildPrintStyle(paper){var marginLeft=(0,_Utils.pointToMM)(paper.leftMargin);var marginTop=(0,_Utils.pointToMM)(paper.topMargin);var marginRight=(0,_Utils.pointToMM)(paper.rightMargin);var marginBottom=(0,_Utils.pointToMM)(paper.bottomMargin);var paperType=paper.paperType;var page=paperType;if(paperType==='CUSTOM'){page=(0,_Utils.pointToMM)(paper.width)+'mm '+(0,_Utils.pointToMM)(paper.height)+'mm';}var style='\n        @media print {\n            .page-break{\n                display: block;\n                page-break-before: always;\n            }\n        }\n        @page {\n          size: '+page+' '+paper.orientation+';\n          margin-left: '+marginLeft+'mm;\n          margin-top: '+marginTop+'mm;\n          margin-right:'+marginRight+'mm;\n          margin-bottom:'+marginBottom+'mm;\n        }\n    ';return style;};window.buildPaging=function(pageIndex,totalPage){if(totalPage===0){return;}if(!pageIndex){return;}if(!window._currentPageIndex){window._currentPageIndex=pageIndex;}pageIndex=window._currentPageIndex;if(!window._totalPage){window._totalPage=totalPage;}var pageSelector=$('#pageSelector');pageSelector.change(function(){if(JSON.parse(localStorage.getItem("foreignPreviewParams"))){var parameters=window.buildLocationSearchParameters('_i',"json");window.$("#loadingIframe").css("display","block");var url=window.contextPath+'/res/report-html/html-preview.html';// window.open(url,'_self');
    parameters._i=$(this).val();$.post(url,parameters,function(res){window.$("#previewForeign").html(res);});}else{var _parameters=window.buildLocationSearchParameters('_i');parent.$("#loadingIframe").css("display","block");var _url2=window.contextPath+('/res/report-html/html-preview.html'+_parameters+'&_i='+$(this).val());window.open(_url2,'_self');}});pageSelector.val(pageIndex);if(totalPage===1){return;}var pagingContainer=$('#pageLinkContainer');pagingContainer.empty();if(JSON.parse(localStorage.getItem("foreignPreviewParams"))){var parameters=window.buildLocationSearchParameters('_i',"json");if(pageIndex>1){var url=window.contextPath+'/res/report-html/html-preview.html';var prevPage=$('<button type="button" class="btn btn-link btn-sm">\u4E0A\u4E00\u9875</button>');pagingContainer.append(prevPage);prevPage.click(function(){parameters._i=pageIndex-1;window.$("#loadingIframe").css("display","block");// window.open(url,'_self');
    $.post(url,parameters,function(res){window.$("#previewForeign").html(res);});});}if(pageIndex<totalPage){var _url3=window.contextPath+'/res/report-html/html-preview.html';var nextPage=$('<button type="button" class="btn btn-link btn-sm">\u4E0B\u4E00\u9875</button>');pagingContainer.append(nextPage);nextPage.click(function(){parameters._i=pageIndex+1;window.$("#loadingIframe").css("display","block");$.post(_url3,parameters,function(res){window.$("#previewForeign").html(res);});// window.open(url,'_self');
    });}}else{var _parameters2=window.buildLocationSearchParameters('_i');if(pageIndex>1){var _url4=window.contextPath+('/res/report-html/html-preview.html'+_parameters2+'&_i='+(pageIndex-1));var _prevPage=$('<button type="button" class="btn btn-link btn-sm">\u4E0A\u4E00\u9875</button>');pagingContainer.append(_prevPage);_prevPage.click(function(){window.open(_url4,'_self');});}if(pageIndex<totalPage){var _url5=window.contextPath+('/res/report-html/html-preview.html'+_parameters2+'&_i='+(pageIndex+1));var _nextPage=$('<button type="button" class="btn btn-link btn-sm">\u4E0B\u4E00\u9875</button>');pagingContainer.append(_nextPage);_nextPage.click(function(){window.open(_url5,'_self');});}}};window._intervalRefresh=function(value,totalPage){if(!value){return;}window._totalPage=totalPage;var second=value*1000;setTimeout(function(){_refreshData(second);},second);};function _refreshData(second){$("#loadinggif").css("display","block");var params=buildLocationSearchParameters('_i');var url=window._server+('/preview/loadData'+params);var totalPage=window._totalPage;if(totalPage>0){if(window._currentPageIndex){if(window._currentPageIndex>totalPage){window._currentPageIndex=1;}url+="&_i="+window._currentPageIndex+"";}$("#pageSelector").val(window._currentPageIndex);}$.ajax({url:url,type:'GET',success:function success(report){(0,_Utils.overtimeLogin)(report);var tableContainer=$('#_ureport_table');tableContainer.empty();window._totalPage=report.totalPageWithCol;tableContainer.append(report.content);_buildChartDatas(report.chartDatas);buildPaging(window._currentPageIndex,window._totalPage);if(window._currentPageIndex){window._currentPageIndex++;}setTimeout(function(){_refreshData(second);},second);$("#loadinggif").css("display","none");},error:function error(response){$("#loadinggif").css("display","none");if(response&&response.responseText){(0,_MsgBox.alert)("服务端错误:"+response.responseText+"");}else{(0,_MsgBox.alert)('加载数据失败!');}}});};window._buildChartDatas=function(chartData){if(!chartData){return;}var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=chartData[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var d=_step.value;var json=d.json;json=JSON.parse(json);_buildChart(d.id,json);}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return();}}finally{if(_didIteratorError){throw _iteratorError;}}}};window._buildChart=function(canvasId,chartJson){var ctx=document.getElementById(canvasId);var options=chartJson.options;if(!options){options={};chartJson.options=options;}var animation=options.animation;if(!animation){animation={};options.animation=animation;}animation.onComplete=function(event){var chart=event.chart;var base64Image=chart.toBase64Image();var urlParameters=window.location.search;var url=window._server+'/chart/storeData'+urlParameters;var canvas=$("#"+canvasId);var width=parseInt(canvas.css('width'));var height=parseInt(canvas.css('height'));$.ajax({type:'POST',data:(0,_Utils.returnEncryptStr)({_base64Data:base64Image,_chartId:canvasId,_width:width,_height:height},"val"),url:url});};var chart=new _chart2.default(ctx,chartJson);};window.submitSearchForm=function(file,customParameters){$("#loadinggif").css("display","block");$(".error_info").html("");window.searchFormParameters={};var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{for(var _iterator2=window.formElements[Symbol.iterator](),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){var fun=_step2.value;var json=fun.call(this);for(var key in json){var value=json[key];if(inputProp[key]==true&&json[key]==""){$("input[name='"+key+"']").parents(".form-group").find(".error_info").html("该条件为必填项!");$("#loadinggif").css("display","none");debugger;return;}value=encodeURI(value);window.searchFormParameters[key]=value;}}}catch(err){_didIteratorError2=true;_iteratorError2=err;}finally{try{if(!_iteratorNormalCompletion2&&_iterator2.return){_iterator2.return();}}finally{if(_didIteratorError2){throw _iteratorError2;}}}var parameters=window.buildLocationSearchParameters('_i',"json");var url=window._server+"/preview/loadData";var pageSelector=$('#pageSelector');if(pageSelector.length>0){if(JSON.parse(localStorage.getItem("foreignPreviewParams"))){parameters._i=1;}else{url+='?_i=1';}}$.ajax({url:url,type:'POST',data:parameters,success:function success(report){(0,_Utils.overtimeLogin)(report);if(report.style){$("#_ureport_table_style").text(report.style);}window._currentPageIndex=1;var tableContainer=$('#_ureport_table');tableContainer.empty();tableContainer.append(report.content);_buildChartDatas(report.chartDatas);var totalPage=report.totalPage;window._totalPage=totalPage;if(pageSelector.length>0){pageSelector.empty();for(var i=1;i<=totalPage;i++){pageSelector.append('<option>'+i+'</option>');}var pageIndex=report.pageIndex||1;pageSelector.val(pageIndex);$('#totalPageLabel').html(totalPage);buildPaging(pageIndex,totalPage);}$("#loadinggif").css("display","none");},error:function error(response){$("#loadinggif").css("display","none");if(response&&response.responseText){(0,_MsgBox.alert)("服务端错误:"+response.responseText+"");}else{(0,_MsgBox.alert)('查询操作失败!');}}});};
/***/ }),
/* 1 */,
report-js/src/designer.js
@@ -169,7 +169,7 @@
        this.tools.push(new ImageTool(context));
        this.tools.push(new ZxingTool(context));
        this.tools.push(new ChartTool(context));
        // this.tools.push(new SettingsTool(context));
        this.tools.push(new SettingsTool(context));
        this.tools.push(new SearchFormSwitchTool(context));
        for(const tool of this.tools){
            toolbar.append(tool.buildButton());
report-js/src/preview.js
@@ -286,7 +286,7 @@
        if(JSON.parse(localStorage.getItem("foreignPreviewParams"))){
             const parameters=window.buildLocationSearchParameters('_i',"json");
              window.$("#loadingIframe").css("display","block");
              let url=window._server+`/preview`;
              let url=window.contextPath+`/res/report-html/html-preview.html`;
                // window.open(url,'_self');
                parameters._i = $(this).val();
                $.post(url,parameters,function(res){
@@ -295,7 +295,7 @@
        }else{
            const parameters=window.buildLocationSearchParameters('_i');
            parent.$("#loadingIframe").css("display","block");
            let url=window._server+`/preview${parameters}&_i=${$(this).val()}`;
            let url=window.contextPath+`/res/report-html/html-preview.html${parameters}&_i=${$(this).val()}`;
            window.open(url,'_self');
        }
        
@@ -309,7 +309,7 @@
    if(JSON.parse(localStorage.getItem("foreignPreviewParams"))){
        const parameters=window.buildLocationSearchParameters('_i',"json");
        if(pageIndex>1){
            let url=window._server+`/preview`;
            let url=window.contextPath+`/res/report-html/html-preview.html`;
            const prevPage=$(`<button type="button" class="btn btn-link btn-sm">上一页</button>`);
            pagingContainer.append(prevPage);
            prevPage.click(function(){
@@ -322,7 +322,8 @@
            });
        }
        if(pageIndex<totalPage){
            let url=window._server+`/preview`;
            let url=window.contextPath+`/res/report-html/html-preview.html`;
            const nextPage=$(`<button type="button" class="btn btn-link btn-sm">下一页</button>`);
            pagingContainer.append(nextPage);
            nextPage.click(function(){
@@ -337,7 +338,7 @@
    }else{
        const parameters=window.buildLocationSearchParameters('_i');
        if(pageIndex>1){
            let url=window._server+`/preview${parameters}&_i=${pageIndex-1}`;
            let url=window.contextPath+`/res/report-html/html-preview.html${parameters}&_i=${pageIndex-1}`;
            const prevPage=$(`<button type="button" class="btn btn-link btn-sm">上一页</button>`);
            pagingContainer.append(prevPage);
            prevPage.click(function(){
@@ -345,7 +346,7 @@
            });
        }
        if(pageIndex<totalPage){
            let url=window._server+`/preview${parameters}&_i=${pageIndex+1}`;
            let url=window.contextPath+`/res/report-html/html-preview.html${parameters}&_i=${pageIndex+1}`;
            const nextPage=$(`<button type="button" class="btn btn-link btn-sm">下一页</button>`);
            pagingContainer.append(nextPage);
            nextPage.click(function(){
src/app/layout/header/header.component.html
@@ -45,7 +45,7 @@
                </a>
            </li>
            <!-- START Alert menu-->
            <li class="dropdown dropdown-list" dropdown style="display:none">
            <li class="dropdown dropdown-list" dropdown *ngIf="false" >
                <a dropdownToggle>
                    <em class="icon-bell"></em>
                    <div class="label label-danger">11</div>
@@ -110,11 +110,11 @@
            </li>
            <!-- END Alert menu-->
            <!-- START Offsidebar button-->
            <!--<li>
            <li>
                <a (click)="toggleOffsidebar()">
                    <em class="icon-notebook"></em>
                </a>
            </li>-->
            </li>
            <!-- END Offsidebar menu-->
        </ul>
src/app/layout/sidebar/sidebar.component.html
@@ -11,6 +11,7 @@
            </li>
            -->
            <!-- END user info-->
            <li *ngFor='let item of menuItems' [ngClass]="{'nav-heading': item.heading}" [routerLinkActive]="['active']">
                <!-- menu heading -->
@@ -102,6 +103,22 @@
                </ul>
            </li>
             <!-- <li class="nav-heading">
                <a title="数据格式" href="http://www.iemsoft.cn/datashow1" target="_Blank"
                     (mouseenter)="toggleSubmenuHover($event)">
                    <span class="pull-right"  ></span>
                    <em class="icon-grid" ></em>
                    <span>数据格式</span>
                </a>
            </li> -->
            <li _ngcontent-c3="">
                <a _ngcontent-c3="" class="dashboard" title="可视化看板" href="http://www.iemsoft.cn/datashow1" target="_Blank">
                    <em _ngcontent-c3="" class="icon-grid"></em>
                    <span _ngcontent-c3="">可视化看板</span>
                </a>
            </li>
        </ul>
        <!-- END sidebar nav-->
src/app/routes/data-setting/data-source/data-source.component.html
@@ -22,7 +22,7 @@
            </div>
          </div>
          <div class="col-md-5 clearPmargin clearPadding">
            <a class="pull-right clearPmargin clearPadding" (click)="addSet()">
            <a class="pull-right clearPmargin clearPadding" (click)="addSet()" title="{{tableHead.sourceTable.dataCreateSource | translate}}">
              <em class="fa fa-plus-circle fa-size"></em></a>
          </div>
        </div>
@@ -77,12 +77,12 @@
        <div class="col-md-1 pull-right clearPmargin clearPadding">
          <div class="text-center pr14p pull-right clearPmargin clearPadding">
            <a class="pull-right clearPmargin clearPadding" *ngIf="showApi" (click)="refresh()">
            <a class="pull-right clearPmargin clearPadding" *ngIf="showApi" (click)="refresh()" title="{{tableHead.tableTable.dataRefresh | translate}}">
              <!-- <em class="fa fa-cloud-upload" style="margin-right:10px;"></em>{{singleButton.refreshData | translate}}</a> -->
              <em class="fa fa-cloud-upload fa-size"></em></a>
            <!--<a style="margin-top:6px;" class="btn pull-right" *ngIf="showCopy" (click)="uploadTextFile()">
              <em class="fa fa-cloud-upload" style="margin-right:10px;"></em>{{singleButton.uploadData | translate}}</a>-->
            <a class="pull-right clearPmargin clearPadding" *ngIf="showSyn" (click)="synchronize()">
            <a class="pull-right clearPmargin clearPadding" *ngIf="showSyn" (click)="synchronize()" title="{{tableHead.tableTable.dataSync | translate}}">
              <!-- <em class="fa fa-cloud-upload" style="margin-right:10px;"></em>{{singleButton.synchronizeTable | translate}}</a> -->
              <em class="fa fa-cloud-upload fa-size"></em></a>
            <!--<a style="margin-top:6px;" class="btn pull-right" *ngIf="showCopy" (click)="copyAll()">
src/app/routes/data-setting/data-source/data-source.component.ts
@@ -82,7 +82,13 @@
      // 数据源类型
      sourceType: 'data_source.source_table.title.TPYE',
      // 操作
      action: 'data_source.source_table.title.ACTION'
      action: 'data_source.source_table.title.ACTION',
      // 创建数据集
      dataCreateSource: 'sidebar.dataSetting.DATA_CREATE_SOURCE',
      // 同步数据源
      dataSync: 'sidebar.dataSetting.DATA_SYNC',
      // 刷新数据
      dataRefresh: 'sidebar.dataSetting.DATA_REFRESH'
    },
    tableTable: {
      // 名称
src/assets/config/config.json
@@ -1,8 +1,8 @@
{
    "config": {
        "encryptKey":"ZjknYBU9OSA=",
        "service": "vBQDSp4/1jTXHawJe/UP2laCvye8fOUlGOeC08iaQomEICuLTeqUzQ==",
        "login_url":"ZaEpeBoMmUNZ49UBtyw6zWw2NZcE11apRdFEdQlxeEk+yeH10gHrbrEE/zcUU7c0CwEr7fSOBd5PwB10Nx7LV7id2A8kUP2AExtABgJNIecs5wi3wHvOcR6viEB10yVxUDUa1oBvYte4dLc1vTb/oS+rTHVUmB/Y2KW8e1FVOmpQXzju8DENDC7PhyhyhYsBAuNnreJIZOT0OYCatsE5mdiUHJ8hSPq6qQkZLcdLZWdcwEV14rL3p5V8I+ldLRoeOlGeEu+TdiQ=",
        "service": "pydpYKHTkuYr1czAF7Hm0J1+uYLwDkIuvI0oPU9KVgw=",
        "login_url":"liERX6EygnofTgyPYJZ3zi1HKPE42T8jFOyxQG9JQ5smxhNBFG0H16oI2drlSB3K9KYbGIsLqVVC3c7r6QCfWE+QnwORvb4WuC1B69O1LniFDjah8drodABf0nbSssi1vdadzxp3W0mZOwdQfCoyGvBuKGefv4fn",
        "register_url":"ZaEpeBoMmUNZ49UBtyw6zWw2NZcE11apRdFEdQlxeEmnK6V8bXBSDy3/DfxuBRQOJiWQURQkRBCTJfBiUJAZJ900mhUfI9qvMHpiqqze3J4e8NaVOJ6THrkzkFwwIBHjTHts55/4U3lqGlYVt6KcVxKE6Wtu+gvM/L9QxMf5eTSAFawftyWjcA==",
        "quit_url":"ZaEpeBoMmUNZ49UBtyw6zWw2NZcE11apRdFEdQlxeEmn/Fstzt0zg2yLrmtbKp30nMcK9aCkw1SkCQN77CY6OCx2qw4SRXDQ82weJO/Ru0Rs6iRU23S5FNWRvlmzXkNOxQJxdtG1RnUFxu4tvU0orA==",
        "is_encrypt":"EurUSXAfPbc=",
src/assets/i18n/zh.json
@@ -1,5 +1,4 @@
{
{
  "home": {
    "BOARD_OPERATION": "操作报表",
    "CONNECT_DATASOURCE": "连接数据源",
@@ -7,10 +6,10 @@
    "MAKE_TABLE": "制作报表",
    "MAKE_WIDGET": "制作图表",
    "BOARDLIST": "看板列表",
    "l_img":"../../../../assets/img/c1.png",
    "c_img":"../../../../assets/img/c2.png",
     "z_img":"../../../../assets/img/c3.png",
      "k_img":"../../../../assets/img/c4.png"
    "l_img": "../../../../assets/img/c1.png",
    "c_img": "../../../../assets/img/c2.png",
    "z_img": "../../../../assets/img/c3.png",
    "k_img": "../../../../assets/img/c4.png"
  },
  "header": {
    "search": {
@@ -47,7 +46,10 @@
    "dataSetting": {
      "DATA_SETTING": "数据配置",
      "DATA_SOURCE": "数据源配置",
      "DATA_SET": "数据集配置"
      "DATA_SET": "数据集配置",
      "DATA_CREATE_SOURCE": "创建数据源",
      "DATA_SYNC": "同步数据源",
      "DATA_REFRESH": "刷新数据"
    },
    "widgetManager": {
      "WIDGET_MANAGER": "报表管理",
@@ -124,10 +126,10 @@
      "DATASETSELECT": "选择数据集",
      "DATASOURCE_SELECT": "请选择数据源"
    },
    "datasource-particulars":{
      "varchart":"字符",
      "date":"日期",
      "number":"数值"
    "datasource-particulars": {
      "varchart": "字符",
      "date": "日期",
      "number": "数值"
    }
  },
  "label": {
@@ -281,7 +283,7 @@
        "CONFIRM": "确定",
        "CANCEL": "取消",
        "TEST": "测试",
        "NOTIC":"请选择数据集市"
        "NOTIC": "请选择数据集市"
      }
    },
    "table_table": {
@@ -328,12 +330,12 @@
      "CALCULATE_METRICS": "计算度量值",
      "FILTER": "过滤器"
    },
    "Numerical":{
      "sum":"和",
      "count":"数",
      "avg":"平均值",
      "max":"最大值",
      "min":"最小值"
    "Numerical": {
      "sum": "和",
      "count": "数",
      "avg": "平均值",
      "max": "最大值",
      "min": "最小值"
    },
    "clumn-style": {
      "DISPLAY_NAME": "显示名:",
@@ -366,14 +368,14 @@
    "ADD": "新增",
    "PLUS": "添加"
  },
  "param-add":{
  "param-add": {
    "TITLE": "专家模式",
    "ADD_PARAM": "添加参数",
    "PARAM_NAME": "参数名称",
    "PARAM_TYPE": "参数类型",
    "PARAM_VAL": "参数默认值",
    "EDIT": "编辑",
    "necessary":"是否必填"
    "necessary": "是否必填"
  },
  "table-add": {
    "RELATION_TITLE": "关联数据表",
@@ -394,7 +396,7 @@
  "my-widget": {
    "ADD_CHILD_NODE": "新增子节点",
    "ADD_NODE": "新增平级节点",
    "EDIT_NODE":"修改节点",
    "EDIT_NODE": "修改节点",
    "DELETE": "删除",
    "MOVE_UP": "上移",
    "MOVE_DOWN": "下移",
@@ -420,12 +422,12 @@
    "CHART": "图表",
    "WIDGET": "报表",
    "PROFILE": "透视图",
    "SCREEN_PARAMS":"筛选参数"
    "SCREEN_PARAMS": "筛选参数"
  },
  "sweet": {
    "PLACESAVE": "请先保存",
    "CREATE_TABLE_ERROR": "列名不可以使用特殊符号,或数字开头",
    "list_name_repeat":"列名不可以重复",
    "list_name_repeat": "列名不可以重复",
    "ADDERR": "拖入数据有误",
    "IMPORTSYSTENAME": "请输入系统名称",
    "IMPORTIP": "请输入域名或Ip",
@@ -460,9 +462,9 @@
    "COLUMN": "参数列不能为空!",
    "BOARD_TEAM": "请先选择看板组",
    "SUCCESS": "操作成功",
    "ERROR_REPEAT_DATASET":"数据集名已存在!",
    "ERROR_REPEAT_DATASET": "数据集名已存在!",
    "IS_DELETE": "确定删除该项吗?",
    "IS_DELETE_BOARD_QOUTE":"被看板引用,确认删除吗?",
    "IS_DELETE_BOARD_QOUTE": "被看板引用,确认删除吗?",
    "IS_SAVE": "确定保存该项吗?",
    "ALIAS_NULL": "别名不能为空",
    "EXPRESSION_NULL": "表达式不能为空",
@@ -477,14 +479,14 @@
    "SAVESUCCES": "保存成功",
    "PARAMS_ERROR": "操作失败-参数错误",
    "PORT_ERROR": "操作失败-接口错误",
    "CLASS_NOTNULL":"该分类存在子节点",
    "ADD_GROUP_TIPS":"请拖拽字段至此图标,创建维度分组",
    "filter_Name_undefined":"查询名字不存在",
    "data_sources_repeat":"数据源名字不能重复",
    "data_group_repeat":"分组名字不能重复",
    "Incorrectly_formatting":"上传文件格式不合法",
    "have_merge_cell":"该文件含有已合并单元格",
    "not_image":"该文件不是图片类型",
    "CLASS_NOTNULL": "该分类存在子节点",
    "ADD_GROUP_TIPS": "请拖拽字段至此图标,创建维度分组",
    "filter_Name_undefined": "查询名字不存在",
    "data_sources_repeat": "数据源名字不能重复",
    "data_group_repeat": "分组名字不能重复",
    "Incorrectly_formatting": "上传文件格式不合法",
    "have_merge_cell": "该文件含有已合并单元格",
    "not_image": "该文件不是图片类型",
    "SELECT_PARAMS": {
      "OTHER": "其他参数",
      "NOW": "当前页参数",
@@ -505,10 +507,10 @@
      "DSJ_NAME_NOT_NULL": "数据集名称不能为空",
      "FILENAME_NOT_NULL": "显示名称不能为空",
      "KEYS_NOT_NULL": "请填写必填项",
      "DATA_WARNING":"数据集名称重复",
      "BOARDNAME_NOT_NULL":"看板名称不能为空",
      "field_not_null":"字段不能为空",
      "dimension_group_not_null":"维度分组名称不能为空"
      "DATA_WARNING": "数据集名称重复",
      "BOARDNAME_NOT_NULL": "看板名称不能为空",
      "field_not_null": "字段不能为空",
      "dimension_group_not_null": "维度分组名称不能为空"
    },
    "SQL": {
      "AND": "与",
@@ -539,7 +541,6 @@
    "CHANGE_INFO": "变更信息成功",
    "TOGETHER": "请先选择聚合",
    "NO_DATASET": "该数据集已被删除",
    "N9_CHECK": "该字段不是数值类型",
    "YES_SQL": "sql语句符合规范",
    "NO_SQL": "sql语句不符合规范"
@@ -561,11 +562,11 @@
    "KEY": "访问密钥",
    "ADD_KEY": "生成密钥"
  },
  "page":{
  "page": {
    "firstText": "首页",
    "previousText":"上一页",
    "nextText":"下一页",
    "lastText":"尾页"
    "previousText": "上一页",
    "nextText": "下一页",
    "lastText": "尾页"
  },
  "board-center": {
    "BOARD_NAME": "看板名称",
@@ -694,7 +695,7 @@
  },
  "join": {
    "LEFT_JOIN": "左外连接",
    "RIGHT_JOIN":"右外连接",
    "RIGHT_JOIN": "右外连接",
    "JOIN": "内连接"
  },
  "business-system": {
@@ -738,7 +739,7 @@
    "RIGHT_TABLE_ROW": "行",
    "RIGHT_TABLE_FILTER": "过滤",
    "RIGHT_TABLE_VALUE": "值",
    "RIGHT_TABLE_EDIT":"编辑",
    "RIGHT_TABLE_EDIT": "编辑",
    "RIGHT_BUTTON_PREVIEW": "预览图表",
    "RIGHT_BUTTON_SQL": "查看语句",
    "RIGHT_BUTTON_SAVE": "保存",
@@ -765,10 +766,10 @@
    "EDIT_STYLE": "编辑模板样式",
    "EDIT_INFO": "编辑模板信息",
    "DELETE": "删除模板",
    "ModifyTheTemplate":"修改模板分类",
    "ModifyTheDetail":"修改明细分类",
    "DELETEMODULE":"删除模板分类",
    "DELETEDEAILE":"删除明细分类"
    "ModifyTheTemplate": "修改模板分类",
    "ModifyTheDetail": "修改明细分类",
    "DELETEMODULE": "删除模板分类",
    "DELETEDEAILE": "删除明细分类"
  },
  "dashboard-setting": {
    "TITLE": "看板列表",
@@ -827,19 +828,18 @@
    "operationName": "操作人名称",
    "remark": "备注"
  },
  "login-and-quit":{
  "login-and-quit": {
    "login": "登录",
    "quit": "退出登录"
  },
  "message-check":{
    "title":"权限验证",
    "getTip":"获取验证码",
    "tip":"请输入验证码",
    "success":"发送成功",
    "null_tel":"没有关联手机号码",
    "fail":"验证码输入错误",
    "code_null":"验证码不能为空",
    "checkfail":"未通过手机验证,保存失败"
  "message-check": {
    "title": "权限验证",
    "getTip": "获取验证码",
    "tip": "请输入验证码",
    "success": "发送成功",
    "null_tel": "没有关联手机号码",
    "fail": "验证码输入错误",
    "code_null": "验证码不能为空",
    "checkfail": "未通过手机验证,保存失败"
  }
}