Просмотр исходного кода

feat: 添加开票金额和开票时间字段到合同支付功能

lanjianrong 13 часов назад
Родитель
Сommit
d102fbb73c
3 измененных файлов с 30 добавлено и 12 удалено
  1. 17 6
      app/public/js/contract_detail.js
  2. 2 0
      app/service/contract_pay.js
  3. 11 6
      app/view/contract/detail.ejs

+ 17 - 6
app/public/js/contract_detail.js

@@ -696,14 +696,14 @@ $(document).ready(function() {
                                         <td>${pay.yf_price}</td>
                                         <td>${pay.yf_price}</td>
                                         <td>${pay.sf_price}</td>
                                         <td>${pay.sf_price}</td>
                                         <td>${pay.pay_type}</td>
                                         <td>${pay.pay_type}</td>
-                                        <td>${pay.kp_price ? pay.kp_price : ''}</td>
+                                        <td>${pay.kp_price}</td>
                                         <td>${pay.kp_time ? moment(pay.kp_time).format('YYYY-MM-DD') : ''}</td>
                                         <td>${pay.kp_time ? moment(pay.kp_time).format('YYYY-MM-DD') : ''}</td>
                                         <td>${pay.username}</td>
                                         <td>${pay.username}</td>
                                         <td>${moment(pay.create_time).format('YYYY-MM-DD HH:mm:ss')}</td>
                                         <td>${moment(pay.create_time).format('YYYY-MM-DD HH:mm:ss')}</td>
                                         <td>${pay.remark}</td>
                                         <td>${pay.remark}</td>
                                         <td><a href="javascript:void(0);" class="text-primary open-pay-files" data-cpid="${pay.id}"><i class="fa fa-paperclip fa-rotate-90"></i></a> <span class="files-num">${pay.files.length > 0 ? pay.files.length : ''}</span></td>
                                         <td><a href="javascript:void(0);" class="text-primary open-pay-files" data-cpid="${pay.id}"><i class="fa fa-paperclip fa-rotate-90"></i></a> <span class="files-num">${pay.files.length > 0 ? pay.files.length : ''}</span></td>
                                         ${shenpi_html}
                                         ${shenpi_html}
-                                        <td>${operationHtml}</td>
+                                        <td class="contract-pay-operation-cell">${operationHtml}</td>
                                     </tr>`;
                                     </tr>`;
             });
             });
             $('#htpay-table tbody').html(paysHtml);
             $('#htpay-table tbody').html(paysHtml);
@@ -2256,6 +2256,7 @@ $(document).ready(function() {
     });
     });
 
 
     const payTime = $('#cons-addpay input[name="pay_time"]').datepicker().data('datepicker');
     const payTime = $('#cons-addpay input[name="pay_time"]').datepicker().data('datepicker');
+    const kpTime = $('#cons-addpay input[name="kp_time"]').datepicker().data('datepicker');
     $('.datepicker-here').datepicker({
     $('.datepicker-here').datepicker({
         autoClose: true,
         autoClose: true,
     });
     });
@@ -2396,6 +2397,9 @@ $(document).ready(function() {
         $('#cons-addpay input[name="yf_price"]').val(cpInfo ? cpInfo.yf_price : '');
         $('#cons-addpay input[name="yf_price"]').val(cpInfo ? cpInfo.yf_price : '');
         $('#cons-addpay input[name="sf_price"]').val(cpInfo ? cpInfo.sf_price : '');
         $('#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 select[name="pay_type"]').val(cpInfo ? cpInfo.pay_type : $('#cons-addpay select[name="pay_type"] option:first').text());
+        $('#cons-addpay input[name="kp_price"]').val(cpInfo ? cpInfo.kp_price : '');
+        $('#cons-addpay input[name="kp_time"]').val(cpInfo && cpInfo.kp_time ? moment(cpInfo.kp_time).format('YYYY-MM-DD') : '');
+        kpTime.selectDate(cpInfo && cpInfo.kp_time ? new Date(cpInfo.kp_time) : '');
         $('#cons-addpay textarea[name="remark"]').val(cpInfo ? cpInfo.remark : '');
         $('#cons-addpay textarea[name="remark"]').val(cpInfo ? cpInfo.remark : '');
         $('#cons-addpay .yf-tips').text('');
         $('#cons-addpay .yf-tips').text('');
         $('#cons-addpay .sf-tips').text('');
         $('#cons-addpay .sf-tips').text('');
@@ -2406,6 +2410,8 @@ $(document).ready(function() {
             $('#cons-addpay input[name="pay_price"]').attr('readonly', true);
             $('#cons-addpay input[name="pay_price"]').attr('readonly', true);
             $('#cons-addpay input[name="debit_price"]').attr('readonly', true);
             $('#cons-addpay input[name="debit_price"]').attr('readonly', true);
             $('#cons-addpay select[name="pay_type"]').attr('disabled', true);
             $('#cons-addpay select[name="pay_type"]').attr('disabled', true);
+            $('#cons-addpay input[name="kp_price"]').attr('readonly', true);
+            $('#cons-addpay input[name="kp_time"]').attr('readonly', true);
             $('#cons-addpay textarea[name="remark"]').attr('readonly', true);
             $('#cons-addpay textarea[name="remark"]').attr('readonly', true);
         } else {
         } else {
             $('#cons-addpay input[name="pay_time"]').removeAttr('readonly');
             $('#cons-addpay input[name="pay_time"]').removeAttr('readonly');
@@ -2413,6 +2419,8 @@ $(document).ready(function() {
             $('#cons-addpay input[name="pay_price"]').removeAttr('readonly');
             $('#cons-addpay input[name="pay_price"]').removeAttr('readonly');
             $('#cons-addpay input[name="debit_price"]').removeAttr('readonly');
             $('#cons-addpay input[name="debit_price"]').removeAttr('readonly');
             $('#cons-addpay select[name="pay_type"]').removeAttr('readonly');
             $('#cons-addpay select[name="pay_type"]').removeAttr('readonly');
+            $('#cons-addpay input[name="kp_price"]').removeAttr('readonly');
+            $('#cons-addpay input[name="kp_time"]').removeAttr('readonly');
             $('#cons-addpay textarea[name="remark"]').removeAttr('readonly');
             $('#cons-addpay textarea[name="remark"]').removeAttr('readonly');
         }
         }
     }
     }
@@ -2857,6 +2865,9 @@ $(document).ready(function() {
             const cur = data[info.row];
             const cur = data[info.row];
             if (!cur || !cur.contract_id) return;
             if (!cur || !cur.contract_id) return;
             SpreadJsObj.locateTreeNode(contractSheet, cur.contract_id, true);
             SpreadJsObj.locateTreeNode(contractSheet, cur.contract_id, true);
+            contractTreeSpreadObj.refreshOperationValid(contractSheet);
+            contractTreeSpreadObj.setContract(contractSheet);
+            SpreadJsObj.saveTopAndSelect(contractSheet, ckBillsSpread);
         });
         });
 
 
         return {spread: resultSpread};
         return {spread: resultSpread};
@@ -3340,8 +3351,8 @@ $(document).ready(function() {
             yf_price: $('#cons-addpay input[name="yf_price"]').val() || 0,
             yf_price: $('#cons-addpay input[name="yf_price"]').val() || 0,
             sf_price: $('#cons-addpay input[name="sf_price"]').val() || 0,
             sf_price: $('#cons-addpay input[name="sf_price"]').val() || 0,
             pay_type: $('#cons-addpay select[name="pay_type"]').val(),
             pay_type: $('#cons-addpay select[name="pay_type"]').val(),
-            kp_price: $('#cons-addpay input[name="kp_price"]').val(),
-            kp_time: $('#cons-addpay input[name="kp_time"]').val(),
+            kp_price: $('#cons-addpay input[name="kp_price"]').val() || 0,
+            kp_time: $('#cons-addpay input[name="kp_time"]').val() || null,
             remark: $('#cons-addpay textarea[name="remark"]').val(),
             remark: $('#cons-addpay textarea[name="remark"]').val(),
         }
         }
         const name = contract_type === contractConst.type.expenses ? '付' : '回';
         const name = contract_type === contractConst.type.expenses ? '付' : '回';
@@ -3397,8 +3408,8 @@ $(document).ready(function() {
             yf_price: $('#cons-addpay input[name="yf_price"]').val() || 0,
             yf_price: $('#cons-addpay input[name="yf_price"]').val() || 0,
             sf_price: $('#cons-addpay input[name="sf_price"]').val() || 0,
             sf_price: $('#cons-addpay input[name="sf_price"]').val() || 0,
             pay_type: $('#cons-addpay select[name="pay_type"]').val(),
             pay_type: $('#cons-addpay select[name="pay_type"]').val(),
-            kp_price: $('#cons-addpay input[name="kp_price"]').val(),
-            kp_time: $('#cons-addpay input[name="kp_time"]').val(),
+            kp_price: $('#cons-addpay input[name="kp_price"]').val() || 0,
+            kp_time: $('#cons-addpay input[name="kp_time"]').val() || null,
             remark: $('#cons-addpay textarea[name="remark"]').val(),
             remark: $('#cons-addpay textarea[name="remark"]').val(),
         }
         }
         const name = contract_type === contractConst.type.expenses ? '付' : '回';
         const name = contract_type === contractConst.type.expenses ? '付' : '回';

+ 2 - 0
app/service/contract_pay.js

@@ -376,6 +376,8 @@ module.exports = app => {
                         yf_price: p.pay_price || 0,
                         yf_price: p.pay_price || 0,
                         sf_price: p.settle_price || 0,
                         sf_price: p.settle_price || 0,
                         pay_type: p.pay_type || '',
                         pay_type: p.pay_type || '',
+                        kp_price: p.kp_price || 0,
+                        kp_time: p.kp_time || null,
                         remark: '',
                         remark: '',
                         create_time: times,
                         create_time: times,
                         status: auditConst.status.checked,
                         status: auditConst.status.checked,

Разница между файлами не показана из-за своего большого размера
+ 11 - 6
app/view/contract/detail.ejs