|  | @@ -305,6 +305,55 @@ module.exports = app => {
 | 
	
		
			
				|  |  |          async detail(ctx) {
 | 
	
		
			
				|  |  |              try {
 | 
	
		
			
				|  |  |                  await this._getDetailAuditViewData(ctx);
 | 
	
		
			
				|  |  | +                // 报表信息实时更新
 | 
	
		
			
				|  |  | +                if (ctx.trInfo.uid === ctx.session.sessionUser.accountId && ctx.trInfo.is_del === 0 && ctx.trInfo.rpt_id &&
 | 
	
		
			
				|  |  | +                    (ctx.detail.status === auditConst.status.uncheck || ctx.detail.status === auditConst.status.checkNo)) {
 | 
	
		
			
				|  |  | +                    const rptTpl = await ctx.service.rptTpl.getDataById(ctx.trInfo.rpt_id);
 | 
	
		
			
				|  |  | +                    if (rptTpl) {
 | 
	
		
			
				|  |  | +                        const pageRst = await ctx.service.jpcReport.getAllPreviewPagesCommon(rptTpl, 'A4');
 | 
	
		
			
				|  |  | +                        const rptMsg = pageRst.items[0];
 | 
	
		
			
				|  |  | +                        // 判断与原有的报表审批人列表是否有区别
 | 
	
		
			
				|  |  | +                        let difference = false;
 | 
	
		
			
				|  |  | +                        let auditDifference = false;
 | 
	
		
			
				|  |  | +                        let needChange = false;
 | 
	
		
			
				|  |  | +                        if (ctx.trInfo.report_items_json) {
 | 
	
		
			
				|  |  | +                            const report_items_json = JSON.parse(ctx.trInfo.report_items_json);
 | 
	
		
			
				|  |  | +                            const items = ['cells', 'signature_audit_cells', 'signature_cells', 'signature_date_cells', 'interact_cells'];
 | 
	
		
			
				|  |  | +                            for (const item of items) {
 | 
	
		
			
				|  |  | +                                if (!difference && report_items_json[item] &&
 | 
	
		
			
				|  |  | +                                    !ctx.helper._.isEmpty(ctx.helper._.differenceWith(JSON.parse(JSON.stringify(rptMsg[item])), report_items_json[item], ctx.helper._.isEqual))) {
 | 
	
		
			
				|  |  | +                                    // 因为interact_cells里存在undefind值,必须先用JSON.parse和JSON.stringify转义才能对比
 | 
	
		
			
				|  |  | +                                    difference = true;
 | 
	
		
			
				|  |  | +                                    needChange = true;
 | 
	
		
			
				|  |  | +                                    if (item === 'signature_cells') {
 | 
	
		
			
				|  |  | +                                        auditDifference = true;
 | 
	
		
			
				|  |  | +                                    }
 | 
	
		
			
				|  |  | +                                    break;
 | 
	
		
			
				|  |  | +                                }
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                        } else {
 | 
	
		
			
				|  |  | +                            difference = true;
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        if (difference) {
 | 
	
		
			
				|  |  | +                            // 删除rpt_audit重新配置
 | 
	
		
			
				|  |  | +                            const updateData = {
 | 
	
		
			
				|  |  | +                                id: ctx.trInfo.id,
 | 
	
		
			
				|  |  | +                                report_items_json: JSON.stringify(ctx.helper._.cloneDeep(rptMsg)),
 | 
	
		
			
				|  |  | +                            };
 | 
	
		
			
				|  |  | +                            // 删除rpt_audit重新配置
 | 
	
		
			
				|  |  | +                            if (auditDifference) {
 | 
	
		
			
				|  |  | +                                updateData.rpt_audit = null;
 | 
	
		
			
				|  |  | +                                ctx.trInfo.rpt_audit = null;
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                            if (needChange) {
 | 
	
		
			
				|  |  | +                                updateData.is_change = 1;
 | 
	
		
			
				|  |  | +                                ctx.trInfo.is_change = 1;
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                            await ctx.service.paymentTenderRpt.defaultUpdate(updateData);
 | 
	
		
			
				|  |  | +                            ctx.trInfo.report_items_json = rptMsg;
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |                  const renderData = {
 | 
	
		
			
				|  |  |                      trInfo: ctx.trInfo,
 | 
	
		
			
				|  |  |                      paymentConst,
 | 
	
	
		
			
				|  | @@ -704,7 +753,7 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                                      // 因为interact_cells里存在undefind值,必须先用JSON.parse和JSON.stringify转义才能对比
 | 
	
		
			
				|  |  |                                      difference = true;
 | 
	
		
			
				|  |  |                                      needChange = true;
 | 
	
		
			
				|  |  | -                                    if (item === 'signature_audit_cells') {
 | 
	
		
			
				|  |  | +                                    if (item === 'signature_cells') {
 | 
	
		
			
				|  |  |                                          auditDifference = true;
 | 
	
		
			
				|  |  |                                      }
 | 
	
		
			
				|  |  |                                      break;
 |