26f2dd05 by Zelig

时间和利息计算

1 parent 5a5b9c9f
...@@ -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>&nbsp;</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> 56 </div>
57 </div>
58 </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 });
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!