fix Products, Coupons, and admin pages

This commit is contained in:
dwindown
2025-09-15 17:44:39 +07:00
parent 255da46509
commit 4151ea3b9e
10 changed files with 729 additions and 297 deletions

View File

@@ -9,16 +9,10 @@
<th data-cell="weight" v-if="isPhysical">{{ product_details.variation_table.th_weight }}</th>
<template v-if="pricingMethod !== 'manual'">
<th data-cell="price">{{ product_details.variation_table.th_price }}</th>
<th data-cell="sale">{{ product_details.variation_table.th_sale }}</th>
</template>
<template v-else>
<th data-cell="prices">{{ product_details.variation_table.th_prices_overall }}</th>
</template>
<th class="toggle-column"></th>
<th v-if="showFlatPricing" data-cell="price">{{ product_details.variation_table.th_price }}</th>
<th v-if="showFlatPricing" data-cell="sale">{{ product_details.variation_table.th_sale }}</th>
<th v-else data-cell="prices">{{ product_details.variation_table.th_prices_overall }}</th>
<th class="toggle-column" v-if="!showFlatPricing"></th>
</tr>
</thead>
<tbody v-if="tableRows.length > 0">
@@ -44,23 +38,30 @@
<input type="number" v-model.number="row.weight" step="0.01" style="width:100%; text-align:right;" :disabled="!row.active" />
</td>
<template v-if="pricingMethod !== 'manual'">
<td data-cell="price">
<price-input :value="row.price" @input="row.price = $event" :currency-symbol="currencySymbol" :currency-decimal-digits="currencyDecimalDigits" :disabled="!row.active" />
</td>
<td data-cell="sale">
<price-input :value="row.sale" @input="row.sale = $event" :currency-symbol="currencySymbol" :currency-decimal-digits="currencyDecimalDigits" :disabled="!row.active" />
</td>
</template>
<td v-if="showFlatPricing" data-cell="price">
<price-input
:value="defaultEntry(row).regular_price"
@input="defaultEntry(row).regular_price = $event"
:currency-symbol="defaultEntry(row).currency.split(':::')[2] || defaultEntry(row).currency.split(':::')[0]"
:currency-decimal-digits="parseInt(defaultEntry(row).currency_decimal_digits)"
:disabled="!row.active"
/>
</td>
<td v-if="showFlatPricing" data-cell="sale">
<price-input
:value="defaultEntry(row).sale_price"
@input="defaultEntry(row).sale_price = $event"
:currency-symbol="defaultEntry(row).currency.split(':::')[2] || defaultEntry(row).currency.split(':::')[0]"
:currency-decimal-digits="parseInt(defaultEntry(row).currency_decimal_digits)"
:disabled="!row.active"
/>
</td>
<template v-else>
<td data-cell="prices" class="manual-price-hint">
<span @click="row.expanded = !row.expanded">{{ product_details.variation_table.manual_price_hint }}</span>
</td>
</template>
<td class="toggle-column" style="text-align:center;">
<button v-if="pricingMethod === 'manual' && row.prices.length > 0" @click="row.expanded = !row.expanded" class="button-link child-row-toggle" :class="row.expanded ? 'active' : ''" type="button">
<td v-else data-cell="prices" style="text-align:center;">
<span @click="row.expanded = !row.expanded">{{ product_details.variation_table.manual_price_hint }}</span>
</td>
<td class="toggle-column" style="text-align:center;" v-if="!showFlatPricing">
<button v-if="row.prices.length > 0" @click="row.expanded = !row.expanded" class="button-link child-row-toggle" :class="row.expanded ? 'active' : ''" type="button">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1">
<circle cx="12" cy="12" r="10" />
@@ -71,7 +72,7 @@
</td>
</tr>
<tr v-if="pricingMethod === 'manual' && row.expanded" :key="row.key + '-details'" class="variation-details-row">
<tr v-if="!showFlatPricing && row.expanded" :key="row.key + '-details'" class="variation-details-row">
<td :colspan="isPhysical ? 7 : 6">
<div class="variation-details-content">
<table class="wpcfto-table inner-table" v-if="row.prices.length > 0">