Refactor: UI & Feature updates (Calculator, UnitConverter, Privacy, Cleanup)
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
Page({
|
||||
data: {
|
||||
originalPrice: '',
|
||||
discount: '',
|
||||
finalPrice: '0.00',
|
||||
savedMoney: '0.00'
|
||||
},
|
||||
|
||||
bindOriginalInput(e: any) {
|
||||
this.setData({
|
||||
originalPrice: e.detail.value
|
||||
});
|
||||
this.calculate();
|
||||
},
|
||||
|
||||
bindDiscountInput(e: any) {
|
||||
this.setData({
|
||||
discount: e.detail.value
|
||||
});
|
||||
this.calculate();
|
||||
},
|
||||
|
||||
calculate() {
|
||||
const original = parseFloat(this.data.originalPrice);
|
||||
const discount = parseFloat(this.data.discount); // Assume local style 8.8折 or international %? Let's assume N折 (0-10)
|
||||
|
||||
if (isNaN(original) || isNaN(discount)) {
|
||||
this.setData({
|
||||
finalPrice: '0.00',
|
||||
savedMoney: '0.00'
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// Logic: Input 9 = 9折 = 90% of price. Input 8.5 = 85%.
|
||||
// If input > 10, maybe it means percentage? e.g. 80 = 80%?
|
||||
// Let's stick to N折 standard in China.
|
||||
|
||||
let rate = discount;
|
||||
if (rate > 10) {
|
||||
rate = rate / 10.0;
|
||||
}
|
||||
|
||||
// rate is now 0-10. e.g. 8.8
|
||||
const final = original * (rate / 10.0);
|
||||
const saved = original - final;
|
||||
|
||||
this.setData({
|
||||
finalPrice: final.toFixed(2),
|
||||
savedMoney: saved.toFixed(2)
|
||||
});
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user