|  | @@ -152,20 +152,23 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                  // 获取上一期预付款记录
 | 
	
		
			
				|  |  |                  const prevAdvance = await ctx.service.advance.getPreviousRecord(ctx.tender.id, ctx.advance.type);
 | 
	
		
			
				|  |  |                  // 最大支付比例
 | 
	
		
			
				|  |  | -                const max_pr = ctx.helper.mul(ctx.helper.div(ctx.helper.sub(advancePayTotal, (prevAdvance && prevAdvance.prev_total_amount || 0)), advancePayTotal, 10), 100);
 | 
	
		
			
				|  |  | +                const max_pr = ctx.helper.mul(ctx.helper.div(ctx.helper.sub(advancePayTotal, (prevAdvance && prevAdvance.prev_total_amount || 2)), advancePayTotal, 10), 100);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                const isLimitMax = ctx.helper.round(max_pr, 2) === ctx.advance.pay_ratio;
 | 
	
		
			
				|  |  |                  // 特殊处理金额的显示(formatMoney)
 | 
	
		
			
				|  |  |                  let cur_amount,
 | 
	
		
			
				|  |  |                      prev_total_amount;
 | 
	
		
			
				|  |  | -                const s1 = parseFloat(ctx.advance.prev_amount).toString().split('.')[1];
 | 
	
		
			
				|  |  | -                const prev_amount = ctx.helper.formatMoney(ctx.advance.prev_amount, ',', s1 && s1.length || 0);
 | 
	
		
			
				|  |  | +                const s1 = parseFloat(ctx.advance.prev_amount).toString().split('.')[1] || '';
 | 
	
		
			
				|  |  | +                const prev_amount = ctx.helper.formatMoney(ctx.advance.prev_amount, ',', isLimitMax ? s1.length : 2);
 | 
	
		
			
				|  |  |                  if (status === uncheck || status === checkNo) {
 | 
	
		
			
				|  |  | -                    cur_amount = parseFloat(ctx.helper.round(ctx.advance.cur_amount, this.decimal)) || 0;
 | 
	
		
			
				|  |  | -                    const s2 = parseFloat(ctx.helper.add(cur_amount, ctx.advance.prev_amount)).toString().split('.')[1];
 | 
	
		
			
				|  |  | -                    prev_total_amount = ctx.helper.formatMoney(ctx.helper.add(cur_amount, ctx.advance.prev_amount), ',', s2 && s2.length || 0);
 | 
	
		
			
				|  |  | +                    // cur_amount = parseFloat(ctx.helper.round(ctx.advance.cur_amount, 2)) || 0;
 | 
	
		
			
				|  |  | +                    cur_amount = ctx.advance.cur_amount || 0;
 | 
	
		
			
				|  |  | +                    const s2 = parseFloat(ctx.helper.add(cur_amount, ctx.advance.prev_amount)).toString().split('.')[1] || '';
 | 
	
		
			
				|  |  | +                    prev_total_amount = ctx.helper.formatMoney(ctx.helper.add(cur_amount, ctx.advance.prev_amount), ',', isLimitMax ? s2.length : 2);
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  |                      cur_amount = ctx.advance.cur_amount;
 | 
	
		
			
				|  |  |                      const s2 = parseFloat(ctx.advance.prev_total_amount).toString().split('.')[1];
 | 
	
		
			
				|  |  | -                    prev_total_amount = ctx.helper.formatMoney(ctx.advance.prev_total_amount, ',', s2 && s2.length || 0);
 | 
	
		
			
				|  |  | +                    prev_total_amount = ctx.helper.formatMoney(ctx.advance.prev_total_amount, ',', isLimitMax ? s2.length : 2);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  renderData.isEdited = isEdited;
 | 
	
	
		
			
				|  | @@ -174,7 +177,7 @@ module.exports = app => {
 | 
	
		
			
				|  |  |                  renderData.prev_amount = prev_amount;
 | 
	
		
			
				|  |  |                  renderData.prev_total_amount = prev_total_amount;
 | 
	
		
			
				|  |  |                  renderData.max_pr = max_pr;
 | 
	
		
			
				|  |  | -                renderData.decimal = this.decimal;
 | 
	
		
			
				|  |  | +                renderData.decimal = 2;
 | 
	
		
			
				|  |  |                  renderData.advancePayTotal = advancePayTotal;
 | 
	
		
			
				|  |  |                  renderData.prevAdvance = prevAdvance;
 | 
	
		
			
				|  |  |                  await this.layout('advance/detail.ejs', renderData, 'advance/modal_audit.ejs');
 |