diff --git a/src/utils/inputRules.ts b/src/utils/inputRules.ts
index 90abd41..19e1bdd 100644
--- a/src/utils/inputRules.ts
+++ b/src/utils/inputRules.ts
@@ -169,6 +169,39 @@ const checkNumber = async (_rule: Rule, value: number) => {
return Promise.resolve()
}
+}
+const checkNumber2 = async (_rule: Rule, value: number) => {
+
+
+ if (!value) {
+ return Promise.reject('تعداد محصول را مشخص کنید')
+ }
+ if (value % 1 !== 0) {
+ return Promise.reject('استفاده از اعداد اعشاری مجاز نمی باشد')
+ }
+ if (isBuyP) {
+ // Skip wallet balance check if gateway is enabled
+ if (!gatewayP && isToken()) {
+ // if (!walletCash?.walletInfo?.cash && methodP == 'cash') {
+ // return Promise.reject('موجودی کیف پول ناکافی است')
+ // }
+ // if (!walletCash?.walletInfo?.gold && methodP == 'gold') {
+ // return Promise.reject('موجودی کیف طلا ناکافی است')
+ // }
+ // if (priceP * value > walletCash?.walletInfo?.cash && methodP == 'cash')
+ // return Promise.reject('موجودی کیف پول ناکافی است')
+ // if (amountP * value > walletCash?.walletInfo?.gold && methodP == 'gold')
+ // return Promise.reject('موجودی کیف طلا ناکافی است')
+ }
+ return Promise.resolve()
+ } else {
+ if (value > NumP)
+
+ return Promise.reject('موجودی محصول ناکافی است')
+ else
+ return Promise.resolve()
+ }
+
}
export const justNumber2 = (price: number, method?: string, amount?: number, isBuy?: boolean, gateway?: boolean) => {
priceP = price
@@ -193,6 +226,17 @@ export const justNumber3 = (price: number, Num?: number, isBuy?: boolean) => {
trigger: 'change'
}
+}
+export const justNumber4 = (price: number, Num?: number, isBuy?: boolean) => {
+ priceP = price
+ NumP = Num
+ isBuyP = isBuy
+ return {
+ required: true,
+ validator: checkNumber2,
+ trigger: 'change'
+ }
+
}
export const ruleNumber = () => {
diff --git a/src/views/base/cart/index.vue b/src/views/base/cart/index.vue
index 6d84edb..7d6042c 100644
--- a/src/views/base/cart/index.vue
+++ b/src/views/base/cart/index.vue
@@ -34,7 +34,7 @@
>
-
+
![]()
{
// Update item price and total price
item.price = newPrice + (product.cash_fee_buy ?? 0)
- item.totalPrice = item.price * item.quantity
+ item.totalPrice = parseInt(item.price * item.quantity)
})
// Save updated prices to storage
@@ -162,7 +162,7 @@ watch(lastPrice, () => {
// Computed total price that updates with price changes
const totalPrice = computed(() => {
- return cartStore.cartItems.reduce((sum, item) => sum + item.totalPrice, 0)
+ return parseInt(cartStore.cartItems.reduce((sum, item) => sum + item.totalPrice, 0))
})
function getProductImage(product: any) {
@@ -255,7 +255,7 @@ async function handleCheckout() {
// Check wallet balance for cash method items (without gateway)
const cashItemsTotal = cartStore.cartItems
.filter(item => item.method === 'cash' && !item.gateway)
- .reduce((sum, item) => sum + item.totalPrice, 0)
+ .reduce((sum, item) => parseInt(sum + item.totalPrice), 0)
if (cashItemsTotal > 0) {
// Ensure wallet info is loaded
@@ -374,7 +374,7 @@ async function initPrice() {
// Update item price and total price
item.price = newPrice + (product.cash_fee_buy ?? 0)
- item.totalPrice = item.price * item.quantity
+ item.totalPrice =parseInt(item.price * item.quantity)
})
// Save updated prices to storage
diff --git a/src/views/base/products/components/DealProduct.vue b/src/views/base/products/components/DealProduct.vue
index 1779a8d..b57a7a9 100644
--- a/src/views/base/products/components/DealProduct.vue
+++ b/src/views/base/products/components/DealProduct.vue
@@ -60,7 +60,7 @@
+ :rules="[justNumber4(props?.ProductItem?.price , form.method , props?.ProductItem?.amount, true, form.gateway)]">
{
function calculateCash(val: number) {
priceErrorVisible.value = false
- // console.log(val)
+ console.log("val",val,props?.ProductItem)
if (price.value) {
- form.value.goldVazn = parseFloat((val * (( props?.ProductItem?.price) + (props?.ProductItem?.cash_fee_buy)))/lastPrice.value?.buy).toFixed(1)
+ form.value.goldVazn = parseFloat((val * props?.ProductItem?.amount).toFixed(3))
console.log(val,props?.ProductItem?.price,props?.ProductItem?.cash_fee_buy,lastPrice.value?.buy)
if (isBuy.value) {
if (val){
@@ -579,7 +579,7 @@ console.log(val,props?.ProductItem?.price,props?.ProductItem?.cash_fee_buy,lastP
form.value.goldVazn = 0
}
}
- console.log(form.value.goldVazn)
+ console.log('goldVazn',form.value.goldVazn)
}
}
diff --git a/src/views/base/products/product/[id].vue b/src/views/base/products/product/[id].vue
index 14d2c66..7c5a375 100644
--- a/src/views/base/products/product/[id].vue
+++ b/src/views/base/products/product/[id].vue
@@ -6,7 +6,7 @@