估值模型百分比支持大于100
Showing
1 changed file
with
8 additions
and
4 deletions
| ... | @@ -647,6 +647,10 @@ const incomeCalculateData = computed(() => { //响应式不生效 | ... | @@ -647,6 +647,10 @@ const incomeCalculateData = computed(() => { //响应式不生效 |
| 647 | let transfer = (v, need = true) => { | 647 | let transfer = (v, need = true) => { |
| 648 | return v ? (need ? parseFloat(v) / 100 : parseFloat(v)) : 0; | 648 | return v ? (need ? parseFloat(v) / 100 : parseFloat(v)) : 0; |
| 649 | } | 649 | } |
| 650 | /** 转换千分位为正整数 */ | ||
| 651 | let transferQianFenWei = (v) => { | ||
| 652 | return typeof v == 'string' ? parseFloat(v?.replace(/,/g, '')) : parseFloat(v) | ||
| 653 | } | ||
| 650 | incomeYears.value.forEach((year, i) => { | 654 | incomeYears.value.forEach((year, i) => { |
| 651 | let C6 = transfer(data[5][year.field]) | 655 | let C6 = transfer(data[5][year.field]) |
| 652 | let C7 = transfer(data[6][year.field]) | 656 | let C7 = transfer(data[6][year.field]) |
| ... | @@ -658,10 +662,10 @@ const incomeCalculateData = computed(() => { //响应式不生效 | ... | @@ -658,10 +662,10 @@ const incomeCalculateData = computed(() => { //响应式不生效 |
| 658 | sumC7 = sumC7 + transfer(data[6][item.field]); | 662 | sumC7 = sumC7 + transfer(data[6][item.field]); |
| 659 | }) | 663 | }) |
| 660 | } | 664 | } |
| 661 | resultInfo['综合分成率'].push(changeNum(C6 * (1 - sumC7 + C7 / 2) * 100, 2, true)); //TODO综合分成率算法有问题 | 665 | resultInfo['综合分成率'].push(changeNum(C6 * (1 - sumC7 + C7 / 2) * 100, 2, true)); |
| 662 | let C1 = transfer(data[0][year.field], false) | 666 | let C1 = transfer(data[0][year.field], false) |
| 663 | let C5 = transfer(data[4][year.field]) | 667 | let C5 = transfer(data[4][year.field]) |
| 664 | resultInfo['现金流'].push(changeNum(C1 * C5 * resultInfo['综合分成率'][i] / 100, 2, true)); | 668 | resultInfo['现金流'].push(changeNum(C1 * C5 * transferQianFenWei(resultInfo['综合分成率'][i]) / 100, 2, true)); |
| 665 | if (i == 0) { | 669 | if (i == 0) { |
| 666 | let cnt = month == 12 ? 12 : (12 - month); | 670 | let cnt = month == 12 ? 12 : (12 - month); |
| 667 | resultInfo['折现年期'].push(changeNum(cnt / 12 / 2, 2, true)); | 671 | resultInfo['折现年期'].push(changeNum(cnt / 12 / 2, 2, true)); |
| ... | @@ -672,7 +676,7 @@ const incomeCalculateData = computed(() => { //响应式不生效 | ... | @@ -672,7 +676,7 @@ const incomeCalculateData = computed(() => { //响应式不生效 |
| 672 | } | 676 | } |
| 673 | let C10 = transfer(data[9][year.field]); | 677 | let C10 = transfer(data[9][year.field]); |
| 674 | resultInfo['折现因子'].push(changeNum(1 / Math.pow((1 + C10), parseFloat(resultInfo['折现年期'][i])), 2, true)); | 678 | resultInfo['折现因子'].push(changeNum(1 / Math.pow((1 + C10), parseFloat(resultInfo['折现年期'][i])), 2, true)); |
| 675 | resultInfo['折现现值'].push(changeNum(parseFloat(resultInfo['折现因子'][i]) * parseFloat(resultInfo['现金流'][i]?.replace(/,/g, '')), 2, true)); | 679 | resultInfo['折现现值'].push(changeNum(parseFloat(resultInfo['折现因子'][i]) * transferQianFenWei(resultInfo['现金流'][i]), 2, true)); |
| 676 | }) | 680 | }) |
| 677 | resultInfo['数据资产估值'] = resultInfo['折现现值'].length < 2 ? resultInfo['折现现值'][0] : changeNum(resultInfo['折现现值'].reduce(function (prev, curr, idx, arr) { | 681 | resultInfo['数据资产估值'] = resultInfo['折现现值'].length < 2 ? resultInfo['折现现值'][0] : changeNum(resultInfo['折现现值'].reduce(function (prev, curr, idx, arr) { |
| 678 | return (typeof prev == 'string' ? parseFloat(prev?.replace(/,/g, '')) : parseFloat(prev)) + parseFloat(curr?.replace(/,/g, '')); | 682 | return (typeof prev == 'string' ? parseFloat(prev?.replace(/,/g, '')) : parseFloat(prev)) + parseFloat(curr?.replace(/,/g, '')); |
| ... | @@ -873,7 +877,7 @@ onMounted(async () => { | ... | @@ -873,7 +877,7 @@ onMounted(async () => { |
| 873 | <div v-if="scope.row.auto != true" class="input_cell"> | 877 | <div v-if="scope.row.auto != true" class="input_cell"> |
| 874 | <el-input v-model.trim="scope.row[year.field]" placeholder="请输入" | 878 | <el-input v-model.trim="scope.row[year.field]" placeholder="请输入" |
| 875 | @change="(val) => inputChange(val, scope, year.field)" | 879 | @change="(val) => inputChange(val, scope, year.field)" |
| 876 | @input="(val) => inputEventChange(val, scope, year.field, scope.row.unit == '%' ? 100 : null)" | 880 | @input="(val) => inputEventChange(val, scope, year.field, null)" |
| 877 | clearable></el-input> | 881 | clearable></el-input> |
| 878 | </div> | 882 | </div> |
| 879 | <span v-else> | 883 | <span v-else> | ... | ... |
-
Please register or sign in to post a comment