feat: add packaging fee and international fee to checkout summary
This commit is contained in:
@@ -7,6 +7,8 @@
|
||||
<el-form-item label="渠道费率 (%)"><el-input-number v-model="settings.payment_channel_fee_rate" :precision="2" /></el-form-item>
|
||||
<el-form-item label="服务费率 (%)"><el-input-number v-model="settings.service_fee_rate" :precision="2" /></el-form-item>
|
||||
<el-form-item label="税费 (%)"><el-input-number v-model="settings.tax_rate" :precision="2" /></el-form-item>
|
||||
<el-form-item label="包装费 (元)"><el-input-number v-model="settings.packaging_fee" :precision="2" :min="0" /></el-form-item>
|
||||
<el-form-item label="国际计算手续费 (%)"><el-input-number v-model="settings.international_fee_rate" :precision="2" :min="0" /></el-form-item>
|
||||
<el-form-item label="邀请奖励积分"><el-input-number v-model="settings.invite_credit_reward" /></el-form-item>
|
||||
<el-form-item label="验证码功能"><el-switch v-model="verifyEnabled" active-value="true" inactive-value="false" /></el-form-item>
|
||||
<el-form-item><el-button type="primary" @click="saveSettings">保存</el-button></el-form-item>
|
||||
@@ -36,6 +38,8 @@ const settings = reactive<Record<string, any>>({
|
||||
payment_channel_fee_rate: 0,
|
||||
service_fee_rate: 0,
|
||||
tax_rate: 0,
|
||||
packaging_fee: 0,
|
||||
international_fee_rate: 0,
|
||||
invite_credit_reward: 0
|
||||
})
|
||||
const verifyEnabled = ref('true')
|
||||
|
||||
@@ -216,6 +216,16 @@
|
||||
<span>¥{{ channelFee.toFixed(2) }}</span>
|
||||
</div>
|
||||
|
||||
<div class="summary-row" v-if="packagingFee > 0">
|
||||
<span>包装费</span>
|
||||
<span>¥{{ packagingFee.toFixed(2) }}</span>
|
||||
</div>
|
||||
|
||||
<div class="summary-row" v-if="internationalFee > 0">
|
||||
<span>国际计算手续费 ({{ settings.international_fee_rate || 0 }}%)</span>
|
||||
<span>¥{{ internationalFee.toFixed(2) }}</span>
|
||||
</div>
|
||||
|
||||
<div class="summary-divider"></div>
|
||||
|
||||
<div class="summary-row summary-total">
|
||||
@@ -435,8 +445,17 @@ const channelFee = computed(() => {
|
||||
return selectedTotal.value * rate / 100
|
||||
})
|
||||
|
||||
const packagingFee = computed(() => {
|
||||
return parseFloat(settings.value.packaging_fee || '0')
|
||||
})
|
||||
|
||||
const internationalFee = computed(() => {
|
||||
const rate = parseFloat(settings.value.international_fee_rate || '0')
|
||||
return selectedTotal.value * rate / 100
|
||||
})
|
||||
|
||||
const grandTotal = computed(() => {
|
||||
return selectedTotal.value + shippingFee.value + serviceFee.value + taxFee.value + channelFee.value
|
||||
return selectedTotal.value + shippingFee.value + serviceFee.value + taxFee.value + channelFee.value + packagingFee.value + internationalFee.value
|
||||
})
|
||||
|
||||
const canCheckout = computed(() => {
|
||||
|
||||
Reference in New Issue
Block a user