1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /**
- * Created by Tony on 2017/3/13.
- */
- var JV = require('../rpt_component/Jpc_ValueDefine');
- var Template = require('../models/rpt_template');
- var TemplateData = require('../models/rpt_temp_data');
- var JpcEx = require('../rpt_component/JpcEx');
- //var cache = require('../../../public/cache/cacheUtil');
- var rptUtil = require("../util/rpt_util");
- //统一回调函数
- var callback = function(req, res, err, data){
- if(err){
- //res.send({success: false, error: err});
- res.json({success: false, error: err});
- }
- else{
- //res.send({success: true, data: data});
- res.json({success:true, data: data});
- }
- };
- module.exports = {
- getReportAllPages: function(req, res){
- var grp_id = req.body.grp_id;
- var tpl_id = req.body.tpl_id;
- var pageSize = req.body.pageSize;
- var rptTpl = null;
- Template.getPromise(grp_id, tpl_id).then(function(rst) {
- rptTpl = rst;
- if (rptTpl) {
- return TemplateData.getPromise(tpl_id);
- } else {
- callback(req, res, 'No report template was found!', null);
- }
- }).then(function(tplData){
- if (tplData) {
- var printCom = JpcEx.createInit();
- rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE] = pageSize;
- var defProperties = rptUtil.getReportDefaultCache();
- printCom.initialize(rptTpl);
- printCom.analyzeData(rptTpl, tplData, defProperties);
- var maxPages = printCom.totalPages;
- var pageRst = printCom.outputAsSimpleJSONPageArray(rptTpl, tplData, 1, maxPages, defProperties);
- if (pageRst) {
- callback(req, res, null, pageRst);
- } else {
- callback(req, res, "Have errors while on going...", null);
- }
- } else {
- callback(req, res, 'No report data were found!', null);
- }
- }
- );
- },
- getDummyExcel: function(req, res) {
- var nodeExcel = require('excel-export'); //关联excel-export模块
- console.log("req.params.id:" + req.params.id);
- console.log("req.params.pm:" + req.params.pm);
- var conf = {};
- conf.cols = [
- {caption:'采购编号', type:'string'},
- {caption:'合同名称', type:'string'},
- {caption:'甲方', type:'string'},
- {caption:'甲方部门', type:'string'},
- {caption:'乙方', type:'string'},
- {caption:'乙方部门', type:'string'},
- {caption:'签订日期', type:'date'},
- {caption:'中标日期', type:'date'},
- {caption:'结束日期', type:'date'},
- {caption:'销售负责人', type:'string'},
- {caption:'商务负责人', type:'string'},
- {caption:'业绩归属部门', type:'string'},
- {caption:'金额', type:'number'},
- {caption:'状态', type:'string'}
- ];
- var data = [{myId: 0, name: "dummyExcel", partyA: "", partyADept: "", partyB:"", partyBDept: "", signDate: "", beginDate:"", endDate:"", amount: 100, state:"dummy!"}]
- var m_data = [];
- var arry = [data[0].myId, data[0].name, data[0].partyA, data[0].partyADept, data[0].partyB, data[0].partyBDept, data[0].signDate, data[0].beginDate, data[0].endDate, "销售负责人", "商务负责人", "业绩归属部门", data[0].amount, data[0].state ];
- m_data[0] = arry;
- conf.rows = m_data;
- var result = nodeExcel.execute(conf);
- //console.log(result);
- res.setHeader('Content-Type', 'application/vnd.openxmlformats');
- res.setHeader("Content-Disposition", "attachment; filename=" +data[0].name+ ".xlsx");
- res.end(result, 'binary');
- },
- dummyFunc: function(req, res){
- }
- };
|