code refactor

This commit is contained in:
MaysWind
2021-05-04 22:50:06 +08:00
parent d2d2babf0b
commit ec19a18fc2
10 changed files with 91 additions and 143 deletions
+1 -35
View File
@@ -34,7 +34,7 @@
<f7-list>
<f7-list-item v-for="exchangeRate in availableExchangeRates" :key="exchangeRate.currencyCode"
:title="exchangeRate.currencyDisplayName"
:after="exchangeRate.rate | exchangeRate(exchangeRatesData.exchangeRates, baseCurrency)"></f7-list-item>
:after="exchangeRate.rate | exchangeRate(baseCurrency, exchangeRatesData.exchangeRates)"></f7-list-item>
</f7-list>
</f7-card-content>
<f7-card-footer v-if="exchangeRatesData.exchangeRates && exchangeRatesData.exchangeRates.length">
@@ -145,40 +145,6 @@ export default {
}
});
}
},
filters: {
exchangeRate(oldRate, exchangeRates, currentCurrency) {
const exchangeRateMap = {};
for (let i = 0; i < exchangeRates.length; i++) {
const exchangeRate = exchangeRates[i];
exchangeRateMap[exchangeRate.currency] = exchangeRate;
}
const toCurrencyExchangeRate = exchangeRateMap[currentCurrency];
if (!toCurrencyExchangeRate) {
return '';
}
const newRate = parseFloat(oldRate) / parseFloat(toCurrencyExchangeRate.rate);
const newRateStr = newRate.toString();
if (newRateStr.indexOf('.') < 0) {
return newRateStr;
} else {
let firstNonZeroPos = 0;
for (let i = 0; i < newRateStr.length; i++) {
if (newRateStr.charAt(i) !== '.' && newRateStr.charAt(i) !== '0') {
firstNonZeroPos = Math.min(i + 4, newRateStr.length);
break;
}
}
return newRateStr.substr(0, Math.max(6, Math.max(firstNonZeroPos, newRateStr.indexOf('.') + 2)));
}
}
}
}
</script>