Kaynağa Gözat

feat: 预付款金额不自动补0

lanjianrong 4 yıl önce
ebeveyn
işleme
5c68e4a610

+ 6 - 2
app/controller/advance_controller.js

@@ -144,8 +144,12 @@ module.exports = app => {
                 // 最大支付比例
                 const max_pr = ctx.helper.mul(ctx.helper.div(ctx.helper.sub(advancePayTotal, (prevAdvance && prevAdvance.prev_total_amount || 0)), advancePayTotal, 10), 100);
                 // 特殊处理金额的显示(formatMoney)
-                const s1 = parseFloat(ctx.advance.prev_amount).toString().split('.')[1];
-                const s2 = parseFloat(ctx.advance.prev_total_amount).toString().split('.')[1];
+                let s1 = parseFloat(ctx.advance.prev_amount).toString().split('.')[1];
+                let s2 = parseFloat(ctx.advance.prev_total_amount).toString().split('.')[1];
+                if (isEdited) {
+                    s1 = parseFloat(ctx.advance.prev_amount.toFixed(this.decimal)).toString().split('.')[1];
+                    s2 = parseFloat(ctx.advance.prev_total_amount.toFixed(this.decimal)).toString().split('.')[1];
+                }
                 const prev_amount = ctx.helper.formatMoney(ctx.advance.prev_amount, ',', s1 && s1.length || 0);
                 const prev_total_amount = ctx.helper.formatMoney(ctx.advance.prev_total_amount, ',', s2 && s2.length || 0);
                 renderData.isEdited = isEdited;

+ 2 - 2
app/public/js/advance_audit.js

@@ -155,12 +155,12 @@ $(document).ready(function () {
     // 上报审批
     $('#tm-submit').click(function() {
         const pay_ratio = parseFloat($(`.pay-input[data-type=0]`).val())
-        const cur_amount = parseFloat($(`.pay-input[data-type=1]`).val())
+        const cur_amount = parseFloat(parseFloat($(`.pay-input[data-type=1]`).val()).toFixed(decimal))
         if (!pay_ratio || !cur_amount) {
             return toastr.error('请填写本期金额!')
         }
         const prev_amount = prevAdvance && prevAdvance.prev_total_amount || 0
-        const prev_total_amount = ZhCalc.add(cur_amount, prev_amount)
+        const prev_total_amount = parseFloat(ZhCalc.add(cur_amount, prev_amount).toFixed(decimal))
         const remark = filterText($('#ad-remark').val())
         const data = {pay_ratio, cur_amount, prev_amount, prev_total_amount, remark, status: auditConst.status.checking}
         postData(preUrl + '/audit/start', data, (data) => {

+ 1 - 1
app/view/advance/detail.ejs

@@ -22,7 +22,7 @@
                         <thead>
                             <tr>
                                 <th colspan="4" class="text-center">
-                                    签约<%- advance.type === auditConst.type.start ? '开工' : '材料' %>预付款:<%- ctx.helper.formatMoney(advancePayTotal) %>
+                                    签约<%- advance.type === auditConst.type.start ? '开工' : '材料' %>预付款:<%- ctx.helper.formatMoney(advancePayTotal, ',', parseFloat(advancePayTotal.toFixed(decimal)).toString().split('.')[1] && parseFloat(advancePayTotal.toFixed(decimal)).toString().split('.')[1].length || 0) %>
                                 </th>
                             </tr>

+ 4 - 4
app/view/advance/index.ejs

@@ -15,16 +15,16 @@
                 </div>
                 <div class="d-inline-block ml-2">
                     签约<%- type === 0 ? '开工' : '材料' %>预付款
-                    <b><%- ctx.helper.formatMoney(advancePayTotal) %></b> 元
+                    <b><%- ctx.helper.formatMoney(advancePayTotal, ',', parseFloat(advancePayTotal.toFixed(decimal)).toString().split('.')[1] && parseFloat(advancePayTotal.toFixed(decimal)).toString().split('.')[1].length || 0) %></b> 元
                 </div>
                 <div class="d-inline-block ml-4" style="width:300px">
                     <div class="progress">
                         <div class="progress-bar bg-success" style="width: <%- progress.p_ratio%>%;" data-placement="bottom"
-                            data-toggle="tooltip" data-original-title="截止上期金额:¥<%- ctx.helper.formatMoney(progress.p_amount, ',', decimal) %>"><%- progress.p_ratio.toFixed() %>%</div>
+                            data-toggle="tooltip" data-original-title="截止上期金额:¥<%- ctx.helper.formatMoney(progress.p_amount, ',', parseFloat(progress.p_amount.toFixed(decimal)).toString().split('.')[1] && parseFloat(progress.p_amount.toFixed(decimal)).toString().split('.')[1].length || 0) %>"><%- progress.p_ratio.toFixed() %>%</div>
                         <div class="progress-bar bg-info" style="width:<%- progress.c_ratio%>%;" data-placement="bottom"
-                            data-toggle="tooltip" data-original-title="本期金额:¥<%- ctx.helper.formatMoney(progress.c_amount, ',', decimal) %>"><%- progress.c_ratio.toFixed() %>%</div>
+                            data-toggle="tooltip" data-original-title="本期金额:¥<%- ctx.helper.formatMoney(progress.c_amount, ',', parseFloat(progress.c_amount.toFixed(decimal)).toString().split('.')[1] && parseFloat(progress.c_amount.toFixed(decimal)).toString().split('.')[1].length || 0) %>"><%- progress.c_ratio.toFixed() %>%</div>
                         <div class="progress-bar bg-gray" style="width:<%- progress.s_ratio%>%;" data-placement="bottom"
-                            data-toggle="tooltip" data-original-title="未完成:¥<%- ctx.helper.formatMoney(progress.s_amount, ',', decimal) %>"><%- progress.s_ratio.toFixed() %>%</div>
+                            data-toggle="tooltip" data-original-title="未完成:¥<%- ctx.helper.formatMoney(progress.s_amount, ',', parseFloat(progress.s_amount.toFixed(decimal)).toString().split('.')[1] && parseFloat(progress.s_amount.toFixed(decimal)).toString().split('.')[1].length || 0) %>"><%- progress.s_ratio.toFixed() %>%</div>
                     </div>
                 </div>
             </div>