Bladeren bron

调整计算公式:
最高贷款额度=票面金额/(((服务费率+利率)*(承兑日期-预计贴现日)/360)+1)
服务费=最高贷款额度*服务费率*(承兑日期-预计贴现日)/360)
利息=最高贷款额度*利率*(承兑日期-预计贴现日)/360)

test 2 jaren geleden
bovenliggende
commit
e2e0cfacc0
3 gewijzigde bestanden met toevoegingen van 43 en 11 verwijderingen
  1. 1 0
      package.json
  2. 20 0
      src/utils/calc.js
  3. 22 11
      src/views/contracts/new_file.vue

+ 1 - 0
package.json

xqd
@@ -17,6 +17,7 @@
   },
   "dependencies": {
     "axios": "0.18.1",
+    "big.js": "^6.2.1",
     "core-js": "^3.6.5",
     "element-ui": "^2.15.9",
     "file-saver": "^2.0.5",

+ 20 - 0
src/utils/calc.js

xqd
@@ -0,0 +1,20 @@
+import Big from 'big.js'
+export const GetNumberOfDays = (dateStart, dateEnd) => { // 获得天数
+  // dateStart:开始日期,
+  // dateEnd: 结束日期
+  // 时间戳相减,除以天数
+  var a1 = Date.parse(new Date(dateStart))
+  var a2 = Date.parse(new Date(dateEnd))
+  var day = parseInt((a2 - a1) / (1000 * 60 * 60 * 24))
+  return day
+}
+// 最高贷款额度=票面金额/(((服务费率+利率)*(承兑日期-预计贴现日)/360)+1)
+export const maxLoanAmount = (num1 = 0, num2 = 0, num3 = 0, num4, num5) =>
+  (new Big(num1).div(new Big(num2).plus(num3).div(100).times(GetNumberOfDays(num4, num5)).div(360).plus(1)).toFixed(2)).toString()
+
+// 服务费=最高贷款额度*服务费率*(承兑日期-预计贴现日)/360)
+export const serviceCharge = (num1 = 0, num2 = 0, num3, num4) =>
+  (new Big(num1).times(Big(num2).div(100)).times(GetNumberOfDays(num3, num4)).div(360).toFixed(2)).toString()
+
+// 利息=最高贷款额度*利率*(承兑日期-预计贴现日)/360)
+export const interest = (num1 = 0, num2 = 0, num3, num4) => (new Big(num1).times(Big(num2).div(100)).times(GetNumberOfDays(num3, num4)).div(360).toFixed(2)).toString()

+ 22 - 11
src/views/contracts/new_file.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -104,7 +104,9 @@
             v-model="item.expectDiscountDate"
             type="date"
             placeholder="选择日期"
-            @change="change(index, 4)"
+            value-format="yyyy-MM-dd"
+            @change="inputMoney(index, 4)"
+            @input="inputMoney(index)"
           />
         </el-form-item>
         <!-- 出票日期 -->
@@ -124,7 +126,9 @@
             type="date"
             placeholder="选择日期"
             default-value
-            @change="change(index, 1)"
+            value-format="yyyy-MM-dd"
+            @change="inputMoney(index, 1)"
+            @input="inputMoney(index)"
           />
         </el-form-item>
         <!-- 到期日期 -->
@@ -156,6 +160,7 @@
             placeholder="请填写金额"
             style="width: 220px"
             @blur="getMoney(index)"
+            @input="inputMoney(index)"
           />
         </el-form-item>
         <!-- 服务费 -->
@@ -178,14 +183,14 @@
         </el-form-item>
 
         <!-- <el-form-item label="金额">
-		  <el-input
-		    v-model="item.money"
-		    class="ipwidth"
-		    placeholder="请填写金额"
-		    style="width: 220px"
-		    @change="computed"
-		  />
-		</el-form-item> -->
+        <el-input
+          v-model="item.money"
+          class="ipwidth"
+          placeholder="请填写金额"
+          style="width: 220px"
+          @change="computed"
+        />
+      </el-form-item> -->
 
         <el-form-item label="利息">
           <el-input
@@ -242,6 +247,7 @@
             class="ipwidth"
             placeholder="服务费率"
             style="width: 220px"
+            @input="inputMoney(index)"
           />
         </el-form-item>
         <!-- 利率 -->
@@ -251,6 +257,7 @@
             class="ipwidth"
             placeholder="利率"
             style="width: 220px"
+            @input="inputMoney(index)"
           />
         </el-form-item>
       </el-form>
@@ -310,6 +317,7 @@
 </template>
 
 <script>
+import { maxLoanAmount, serviceCharge, interest } from '@/utils/calc'
 export default {
   data() {
     return {
@@ -389,7 +397,6 @@ export default {
       }
     }
   },
-
   mounted() {
     this.$request({
       url: '/api/Contract/search',
@@ -440,6 +447,10 @@ export default {
     this.loadTime()
   },
   methods: {
+    inputMoney(index) {
+      const { money, serviceRate, interestRate, expectDiscountDate, issueDate } = this.form.contractDrafts[index]
+      this.form.contractDrafts[index].loanLimit = maxLoanAmount(money, serviceRate, interestRate, expectDiscountDate, issueDate)
+    },
     /* 确实上传按钮 */
     onSubmit() {
       this.$request({