|  | @@ -1308,6 +1308,8 @@ $(document).ready(function() {
 | 
	
		
			
				|  |  |          $('#cons-addpay input[name="sf_price"]').val(cpInfo ? cpInfo.sf_price : '');
 | 
	
		
			
				|  |  |          $('#cons-addpay select[name="pay_type"]').val(cpInfo ? cpInfo.pay_type : $('#cons-addpay select[name="pay_type"] option:first').text());
 | 
	
		
			
				|  |  |          $('#cons-addpay textarea[name="remark"]').val(cpInfo ? cpInfo.remark : '');
 | 
	
		
			
				|  |  | +        $('#cons-addpay .yf-tips').text('');
 | 
	
		
			
				|  |  | +        $('#cons-addpay .sf-tips').text('');
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1685,11 +1687,54 @@ $(document).ready(function() {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      $('#cons-addpay input[type="number"]').change(function () {
 | 
	
		
			
				|  |  |          const name = $(this).attr('name');
 | 
	
		
			
				|  |  | +        const node = SpreadJsObj.getSelectObject(contractSheet);
 | 
	
		
			
				|  |  | +        if (!node || !node.c_code) {
 | 
	
		
			
				|  |  | +            toastr.error('请选择一个合同节点');
 | 
	
		
			
				|  |  | +            return;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (node.uid !== user_id) {
 | 
	
		
			
				|  |  | +            toastr.error('只能修改自己的合同' + contractConst.typeName[contract_type]);
 | 
	
		
			
				|  |  | +            return;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (node.settle_code) {
 | 
	
		
			
				|  |  | +            toastr.error('该合同已结算,不能修改');
 | 
	
		
			
				|  |  | +            return;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          if (name === 'pay_price' || name === 'debit_price') {
 | 
	
		
			
				|  |  |              const pay_price = $('#cons-addpay input[name="pay_price"]').val() || 0;
 | 
	
		
			
				|  |  |              const debit_price = $('#cons-addpay input[name="debit_price"]').val() || 0;
 | 
	
		
			
				|  |  |              const yf_price = ZhCalc.sub(pay_price, debit_price);
 | 
	
		
			
				|  |  |              $('#cons-addpay input[name="yf_price"]').val(yf_price);
 | 
	
		
			
				|  |  | +            $('#cons-addpay .yf-tips').text('');
 | 
	
		
			
				|  |  | +            if (parseFloat(yf_price) > ZhCalc.sub(node.total_price, node.yf_price)) {
 | 
	
		
			
				|  |  | +                $('#cons-addpay .yf-tips').text(' ≤ ' + ZhCalc.sub(node.total_price, node.yf_price));
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                $('#cons-addpay .yf-tips').text('');
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (name === 'sf_price') {
 | 
	
		
			
				|  |  | +            const sf_price = $('#cons-addpay input[name="sf_price"]').val() || 0;
 | 
	
		
			
				|  |  | +            const pay_price = $('#cons-addpay input[name="pay_price"]').val() || 0;
 | 
	
		
			
				|  |  | +            const debit_price = $('#cons-addpay input[name="debit_price"]').val() || 0;
 | 
	
		
			
				|  |  | +            const yf_price = ZhCalc.sub(pay_price, debit_price);
 | 
	
		
			
				|  |  | +            const cpid = $('#cons-addpay input[name="cpid"]').val();
 | 
	
		
			
				|  |  | +            if (cpid) {
 | 
	
		
			
				|  |  | +                const cpInfo = _.find(contractPays, { id: parseInt(cpid) });
 | 
	
		
			
				|  |  | +                const newNodePayPrice = ZhCalc.add(ZhCalc.sub(node.pay_price, cpInfo.pay_price), parseFloat(pay_price));
 | 
	
		
			
				|  |  | +                const newNodeDebitPrice = ZhCalc.add(ZhCalc.sub(node.debit_price, cpInfo.debit_price), parseFloat(debit_price));
 | 
	
		
			
				|  |  | +                const newNodeYfPrice = ZhCalc.sub(newNodePayPrice, newNodeDebitPrice);
 | 
	
		
			
				|  |  | +                if (parseFloat(sf_price) > ZhCalc.sub(newNodeYfPrice, node.sf_price)) {
 | 
	
		
			
				|  |  | +                    $('#cons-addpay .sf-tips').text(' ≤ ' + ZhCalc.sub(newNodeYfPrice, node.sf_price));
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  | +                    $('#cons-addpay .sf-tips').text('');
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                if (parseFloat(sf_price) > ZhCalc.sub(ZhCalc.add(node.yf_price, yf_price), node.sf_price)) {
 | 
	
		
			
				|  |  | +                    $('#cons-addpay .sf-tips').text(' ≤ ' + ZhCalc.sub(ZhCalc.add(node.yf_price, yf_price), node.sf_price));
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  | +                    $('#cons-addpay .sf-tips').text('');
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |  
 |