Files
youlegames/codes/minipro/calculation/miniprogram/pages/discount/discount.ts

68 lines
1.4 KiB
TypeScript

import { config } from '../../config';
Page({
onLoad() {
wx.showShareMenu({
withShareTicket: true,
menus: ['shareAppMessage', 'shareTimeline']
});
},
onShareAppMessage() {
return config.share;
},
onShareTimeline() {
return config.share;
},
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)
});
}
});