时间和利息计算
Showing
7 changed files
with
102 additions
and
105 deletions
| ... | @@ -76,7 +76,11 @@ | ... | @@ -76,7 +76,11 @@ |
| 76 | {data: "repaymentMode"},//还款方式 | 76 | {data: "repaymentMode"},//还款方式 |
| 77 | {data: "loanDeadline"},//借款期限 | 77 | {data: "loanDeadline"},//借款期限 |
| 78 | {data: "loanLimit"},//授额上限 | 78 | {data: "loanLimit"},//授额上限 |
| 79 | {data: "createTime"},//录入时间 | 79 | {data: function (data) { |
| 80 | if(!data.createTime) | ||
| 81 | return ''; | ||
| 82 | return getNowFormatDate(new Date(parseInt(data.createTime))); | ||
| 83 | }},//录入时间 | ||
| 80 | {data: "remark"},//备注 | 84 | {data: "remark"},//备注 |
| 81 | ] | 85 | ] |
| 82 | }); | 86 | }); | ... | ... |
| ... | @@ -72,14 +72,22 @@ | ... | @@ -72,14 +72,22 @@ |
| 72 | {data: "userName"},//申请人 | 72 | {data: "userName"},//申请人 |
| 73 | {data: "idCard"},//身份证 | 73 | {data: "idCard"},//身份证 |
| 74 | {data: "phoneNumber"},//手机号 | 74 | {data: "phoneNumber"},//手机号 |
| 75 | {data: "createTime"},//进件时间 | 75 | {data: function (data) { |
| 76 | if(!data.createTime) | ||
| 77 | return ''; | ||
| 78 | return getNowFormatDate(new Date(parseInt(data.createTime))); | ||
| 79 | }},//进件时间 | ||
| 76 | {data: "departmentName"},//网点 | 80 | {data: "departmentName"},//网点 |
| 77 | {data: "productName"},//产品名称 | 81 | {data: "productName"},//产品名称 |
| 78 | {data: "applyMoney"},//申请金额 | 82 | {data: "applyMoney"},//申请金额 |
| 79 | {data: "agreeMoney"},//审批金额 | 83 | {data: "agreeMoney"},//审批金额 |
| 80 | {data: "createUser"}//客户经理 | 84 | {data: "createUser"}//客户经理 |
| 81 | // {data: "statusDesc"},//期数 | 85 | // {data: "statusDesc"},//期数 |
| 82 | // {data: "modifyTime"}//当月应还 | 86 | // {data: function (data) { |
| 87 | if(!data.modifyTime) | ||
| 88 | return ''; | ||
| 89 | return getNowFormatDate(new Date(parseInt(data.modifyTime))); | ||
| 90 | }}//当月应还 | ||
| 83 | ] | 91 | ] |
| 84 | }); | 92 | }); |
| 85 | 93 | ... | ... |
| ... | @@ -95,16 +95,36 @@ | ... | @@ -95,16 +95,36 @@ |
| 95 | {data: "phoneNumber"},//手机号 | 95 | {data: "phoneNumber"},//手机号 |
| 96 | {name: "branchName", data: "branchName"},//网点 | 96 | {name: "branchName", data: "branchName"},//网点 |
| 97 | {name: "productId", data: "productName"},//产品名称 | 97 | {name: "productId", data: "productName"},//产品名称 |
| 98 | {data: "createTime"},//本期应还金额 | 98 | {data: function (data) { |
| 99 | {data: "createTime"},//已还金额 | 99 | if(!data.createTime) |
| 100 | return ''; | ||
| 101 | return getNowFormatDate(new Date(parseInt(data.createTime))); | ||
| 102 | }},//本期应还金额 | ||
| 103 | {data: function (data) { | ||
| 104 | if(!data.createTime) | ||
| 105 | return ''; | ||
| 106 | return getNowFormatDate(new Date(parseInt(data.createTime))); | ||
| 107 | }},//已还金额 | ||
| 100 | {data: "interestPenalty"},//罚息 | 108 | {data: "interestPenalty"},//罚息 |
| 101 | {data: "overdueFine"},//滞纳金 | 109 | {data: "overdueFine"},//滞纳金 |
| 102 | {data: "totalPeriods"},//期数 | 110 | {data: "totalPeriods"},//期数 |
| 103 | {data: "createTime"},//还款方式 | 111 | {data: function (data) { |
| 104 | {data: "createTime"},//本期应还款日 | 112 | if(!data.createTime) |
| 113 | return ''; | ||
| 114 | return getNowFormatDate(new Date(parseInt(data.createTime))); | ||
| 115 | }},//还款方式 | ||
| 116 | {data: function (data) { | ||
| 117 | if(!data.createTime) | ||
| 118 | return ''; | ||
| 119 | return getNowFormatDate(new Date(parseInt(data.createTime))); | ||
| 120 | }},//本期应还款日 | ||
| 105 | {data: "realRepaymentDate"},//实际还款日 | 121 | {data: "realRepaymentDate"},//实际还款日 |
| 106 | {data: "hasDue"},//是否逾期 | 122 | {data: "hasDue"},//是否逾期 |
| 107 | {data: "createTime"},//还款状态 | 123 | {data: function (data) { |
| 124 | if(!data.createTime) | ||
| 125 | return ''; | ||
| 126 | return getNowFormatDate(new Date(parseInt(data.createTime))); | ||
| 127 | }},//还款状态 | ||
| 108 | ] | 128 | ] |
| 109 | }); | 129 | }); |
| 110 | 130 | ... | ... |
| ... | @@ -47,24 +47,42 @@ | ... | @@ -47,24 +47,42 @@ |
| 47 | 47 | ||
| 48 | <div class="panel panel-default mb-20"> | 48 | <div class="panel panel-default mb-20"> |
| 49 | <div class="panel-header">计算结果</div> | 49 | <div class="panel-header">计算结果</div> |
| 50 | <div class="panel-body months"> | 50 | <div class="panel-body"> |
| 51 | <div class="row cl"> | 51 | <div class="row cl"> |
| 52 | <div class="form-group col-sm-3 col-md-2"> | 52 | <div class="form-group col-sm-3 col-md-2"> |
| 53 | <label>每月应还</label> | 53 | <label> </label> |
| 54 | <input type="text" id="totalAmount" class="form-control input-text" :value="totalAmount" disabled> | 54 | <input type="text" class="form-control input-text" :value="periods" disabled> |
| 55 | <span class="glyphicon form-control-feedback">元</span> | 55 | <span class="glyphicon form-control-feedback">期</span> |
| 56 | </div> | ||
| 57 | </div> | ||
| 58 | </div> | 56 | </div> |
| 59 | <div class="panel-body"> | ||
| 60 | <div class="row cl"> | ||
| 61 | <div class="form-group col-sm-3 col-md-2"> | 57 | <div class="form-group col-sm-3 col-md-2"> |
| 62 | <label>总共应还</label> | 58 | <label>总共应还</label> |
| 63 | <input type="text" id="totalRepay" class="form-control input-text" :value="totalRepay" disabled> | 59 | <input type="text" class="form-control input-text" :value="totalRepay" disabled> |
| 60 | <span class="glyphicon form-control-feedback">元</span> | ||
| 61 | </div> | ||
| 62 | <div class="form-group col-sm-3 col-md-2"> | ||
| 63 | <label>总共应还利息</label> | ||
| 64 | <input type="text" class="form-control input-text" :value="totalInterest" disabled> | ||
| 64 | <span class="glyphicon form-control-feedback">元</span> | 65 | <span class="glyphicon form-control-feedback">元</span> |
| 65 | </div> | 66 | </div> |
| 66 | </div> | 67 | </div> |
| 67 | 68 | <table class="table table-border table-bordered table-bg mt-20"> | |
| 69 | <thead class="text-c"> | ||
| 70 | <tr> | ||
| 71 | <th>期数</th> | ||
| 72 | <th>本期应还(元)</th> | ||
| 73 | <th>应还本金(元)</th> | ||
| 74 | <th>应还利息(元)</th> | ||
| 75 | </tr> | ||
| 76 | </thead> | ||
| 77 | <tbody class="text-c"> | ||
| 78 | <tr v-for="repayPlan in repayPlans"> | ||
| 79 | <td>{{repayPlan.period}}</td> | ||
| 80 | <td>{{repayPlan.totalAmount}}</td> | ||
| 81 | <td>{{repayPlan.principal}}</td> | ||
| 82 | <td>{{repayPlan.interest}}</td> | ||
| 83 | </tr> | ||
| 84 | </tbody> | ||
| 85 | </table> | ||
| 68 | </div> | 86 | </div> |
| 69 | </div> | 87 | </div> |
| 70 | 88 | ||
| ... | @@ -89,8 +107,11 @@ | ... | @@ -89,8 +107,11 @@ |
| 89 | 107 | ||
| 90 | borrowAmount: '', | 108 | borrowAmount: '', |
| 91 | loanDeadline: 6, | 109 | loanDeadline: 6, |
| 92 | totalRepay: 0, | 110 | |
| 93 | totalAmount: 0, | 111 | periods: '', |
| 112 | totalInterest: '', | ||
| 113 | totalRepay: '', | ||
| 114 | repayPlans: [], | ||
| 94 | }, | 115 | }, |
| 95 | mounted () { | 116 | mounted () { |
| 96 | let _this = this; | 117 | let _this = this; |
| ... | @@ -102,11 +123,12 @@ | ... | @@ -102,11 +123,12 @@ |
| 102 | cal () { | 123 | cal () { |
| 103 | let str = 'borrowAmount=' + this.borrowAmount + '&productId=' + this.product.id + '&loanDeadline=' + this.loanDeadline; | 124 | let str = 'borrowAmount=' + this.borrowAmount + '&productId=' + this.product.id + '&loanDeadline=' + this.loanDeadline; |
| 104 | instance.get('application/tool/interest?' + str).then( ( {data} ) => { | 125 | instance.get('application/tool/interest?' + str).then( ( {data} ) => { |
| 105 | console.log(data); | ||
| 106 | this.totalRepay = data.data.totalRepay; | 126 | this.totalRepay = data.data.totalRepay; |
| 107 | this.totalAmount = data.data.repayPlans[0].totalAmount; | 127 | this.periods = data.data.periods; |
| 128 | this.totalInterest = data.data.totalInterest; | ||
| 129 | this.repayPlans = data.data.repayPlans; | ||
| 108 | }); | 130 | }); |
| 109 | } | 131 | }, |
| 110 | }, | 132 | }, |
| 111 | computed: { | 133 | computed: { |
| 112 | loanDeadlines () { | 134 | loanDeadlines () { |
| ... | @@ -128,83 +150,6 @@ | ... | @@ -128,83 +150,6 @@ |
| 128 | }, | 150 | }, |
| 129 | } | 151 | } |
| 130 | }); | 152 | }); |
| 131 | |||
| 132 | // $('#product').change(function () { | ||
| 133 | // var data = $(this).find(':selected').data(); | ||
| 134 | // $('#repaymentMode').val(data.repaymentmode); | ||
| 135 | // $('#loanDeadline').empty(); | ||
| 136 | // var str = ''; | ||
| 137 | // for (var i = 1; i <= parseInt(data.loandeadline); i++) { | ||
| 138 | // str += '<option value="' + i + '">' + i + '</option>'; | ||
| 139 | // } | ||
| 140 | // $('#loanDeadline').append(str); | ||
| 141 | // }) | ||
| 142 | // | ||
| 143 | // $('#form').submit(function (e) { | ||
| 144 | // e.stopPropagation(); | ||
| 145 | // e.preventDefault(); | ||
| 146 | // var borrowAmount = $('[name=borrowAmount]').val(); | ||
| 147 | // var productId = $('[name=productId]').val(); | ||
| 148 | // var loanDeadline = $('#loanDeadline').val(); | ||
| 149 | // str = 'borrowAmount=' + borrowAmount + '&productId=' + productId + '&loanDeadline=' + loanDeadline; | ||
| 150 | // $.ajax({ | ||
| 151 | // type: 'get', | ||
| 152 | // url: apiBaseUrl + 'application/tool/interest?' + str, | ||
| 153 | // cache: false, | ||
| 154 | // dataType: 'json', | ||
| 155 | // contentType: "application/json; charset=UTF-8", | ||
| 156 | // success: function (data) { | ||
| 157 | // if (data.code != 0) { | ||
| 158 | // var msg = data.msg ? data.msg : '操作失败'; | ||
| 159 | // layer.alert(msg); | ||
| 160 | // } else { | ||
| 161 | // $('#totalRepay').val(data.data.totalRepay); | ||
| 162 | // if(data.data.repayPlans.length > 1){ | ||
| 163 | // var len = data.data.repayPlans.length-1; | ||
| 164 | // if(data.data.repayPlans[0].totalAmount != data.data.repayPlans[len].totalAmount){ | ||
| 165 | // $('.months').html(''); | ||
| 166 | // var str = ''; | ||
| 167 | // for(var i=0;i<data.data.repayPlans.length;i++){ | ||
| 168 | // str += '<div class="row cl">'+ | ||
| 169 | // '<div class="form-group col-sm-3 col-md-2">'+ | ||
| 170 | // '<label>'+(i+1)+'月应还</label>'+ | ||
| 171 | // '<input type="text" id="totalAmount" class="form-control input-text" value="'+data.data.repayPlans[i].totalAmount+'" disabled>'+ | ||
| 172 | // '<span class="glyphicon form-control-feedback">元</span>'+ | ||
| 173 | // '</div>'+ | ||
| 174 | // '</div>'; | ||
| 175 | // } | ||
| 176 | // $('.months').html(str); | ||
| 177 | // }else{ | ||
| 178 | // str1 = '<div class="row cl">'+ | ||
| 179 | // '<div class="form-group col-sm-3 col-md-2">'+ | ||
| 180 | // '<label>每月应还</label>'+ | ||
| 181 | // '<input type="text" id="totalAmount" class="form-control input-text" value="'+data.data.repayPlans[0].totalAmount+'" disabled>'+ | ||
| 182 | // '<span class="glyphicon form-control-feedback">元</span>'+ | ||
| 183 | // '</div>'+ | ||
| 184 | // '</div>'; | ||
| 185 | // $('.months').html(str1); | ||
| 186 | // } | ||
| 187 | // | ||
| 188 | // | ||
| 189 | // }else{ | ||
| 190 | // str1 = '<div class="row cl">'+ | ||
| 191 | // '<div class="form-group col-sm-3 col-md-2">'+ | ||
| 192 | // '<label>每月应还</label>'+ | ||
| 193 | // '<input type="text" id="totalAmount" class="form-control input-text" value="'+data.data.repayPlans[0].totalAmount+'" disabled>'+ | ||
| 194 | // '<span class="glyphicon form-control-feedback">元</span>'+ | ||
| 195 | // '</div>'+ | ||
| 196 | // '</div>'; | ||
| 197 | // $('.months').html(str1); | ||
| 198 | // // $('#totalAmount').val(data.data.repayPlans[0].totalAmount); | ||
| 199 | // } | ||
| 200 | // | ||
| 201 | // } | ||
| 202 | // }, | ||
| 203 | // error: function () { | ||
| 204 | // layer.alert("操作失败") | ||
| 205 | // } | ||
| 206 | // }) | ||
| 207 | // }) | ||
| 208 | </script> | 153 | </script> |
| 209 | </body> | 154 | </body> |
| 210 | <html> | 155 | <html> | ... | ... |
| ... | @@ -98,7 +98,11 @@ | ... | @@ -98,7 +98,11 @@ |
| 98 | {data: "userName"},//姓名 | 98 | {data: "userName"},//姓名 |
| 99 | {data: "idCard"},//身份证 | 99 | {data: "idCard"},//身份证 |
| 100 | {data: "phoneNumber"},//手机号 | 100 | {data: "phoneNumber"},//手机号 |
| 101 | {data: "createTime"}//录入时间 | 101 | {data: function (data) { |
| 102 | if(!data.createTime) | ||
| 103 | return ''; | ||
| 104 | return getNowFormatDate(new Date(parseInt(data.createTime))); | ||
| 105 | }}//录入时间 | ||
| 102 | ] | 106 | ] |
| 103 | }); | 107 | }); |
| 104 | 108 | ... | ... |
| ... | @@ -164,14 +164,22 @@ | ... | @@ -164,14 +164,22 @@ |
| 164 | {data: "userName"},//申请人 | 164 | {data: "userName"},//申请人 |
| 165 | {data: "idCard"},//身份证 | 165 | {data: "idCard"},//身份证 |
| 166 | {data: "phoneNumber"},//手机号 | 166 | {data: "phoneNumber"},//手机号 |
| 167 | {data: "createTime"},//进件时间 | 167 | {data: function (data) { |
| 168 | if(!data.createTime) | ||
| 169 | return ''; | ||
| 170 | return getNowFormatDate(new Date(parseInt(data.createTime))); | ||
| 171 | }},//进件时间 | ||
| 168 | {data: "departmentName"},//网点 | 172 | {data: "departmentName"},//网点 |
| 169 | {data: "productName"},//产品名称 | 173 | {data: "productName"},//产品名称 |
| 170 | {data: "applyMoney"},//申请金额 | 174 | {data: "applyMoney"},//申请金额 |
| 171 | {data: "agreeMoney"},//审批金额 | 175 | {data: "agreeMoney"},//审批金额 |
| 172 | {data: "createUser"},//客户经理 | 176 | {data: "createUser"},//客户经理 |
| 173 | {data: "statusDesc"},//流程节点 | 177 | {data: "statusDesc"},//流程节点 |
| 174 | {data: "modifyTime"},//流转时间 | 178 | {data: function (data) { |
| 179 | if(!data.modifyTime) | ||
| 180 | return ''; | ||
| 181 | return getNowFormatDate(new Date(parseInt(data.modifyTime))); | ||
| 182 | }},//流转时间 | ||
| 175 | {data: "modifyUser"}//处理人 | 183 | {data: "modifyUser"}//处理人 |
| 176 | ] | 184 | ] |
| 177 | }); | 185 | }); | ... | ... |
| ... | @@ -75,14 +75,22 @@ | ... | @@ -75,14 +75,22 @@ |
| 75 | {data: "userName"},//申请人 | 75 | {data: "userName"},//申请人 |
| 76 | {data: "idCard"},//身份证 | 76 | {data: "idCard"},//身份证 |
| 77 | {data: "phoneNumber"},//手机号 | 77 | {data: "phoneNumber"},//手机号 |
| 78 | {data: "createTime"},//进件时间 | 78 | {data: function (data) { |
| 79 | if(!data.createTime) | ||
| 80 | return ''; | ||
| 81 | return getNowFormatDate(new Date(parseInt(data.createTime))); | ||
| 82 | }},//进件时间 | ||
| 79 | {name: "departmentId", data: "departmentName"},//网点 | 83 | {name: "departmentId", data: "departmentName"},//网点 |
| 80 | {name: "productId", data: "productName"},//产品名称 | 84 | {name: "productId", data: "productName"},//产品名称 |
| 81 | {data: "applyMoney"},//申请金额 | 85 | {data: "applyMoney"},//申请金额 |
| 82 | {data: "agreeMoney"},//审批金额 | 86 | {data: "agreeMoney"},//审批金额 |
| 83 | {name: "createUser", data: "createUserName"},//客户经理 | 87 | {name: "createUser", data: "createUserName"},//客户经理 |
| 84 | {name: "status", data: "statusDesc"},//流程节点 | 88 | {name: "status", data: "statusDesc"},//流程节点 |
| 85 | {data: "modifyTime"},//流转时间 | 89 | {data: function (data) { |
| 90 | if(!data.modifyTime) | ||
| 91 | return ''; | ||
| 92 | return getNowFormatDate(new Date(parseInt(data.modifyTime))); | ||
| 93 | }},//流转时间 | ||
| 86 | {name: "modifyUser", data: "modifyUserName"}, //处理人 | 94 | {name: "modifyUser", data: "modifyUserName"}, //处理人 |
| 87 | ] | 95 | ] |
| 88 | }); | 96 | }); | ... | ... |
-
Please register or sign in to post a comment