14/11/1404

This commit is contained in:
2026-02-03 16:18:53 +03:30
parent 7bca69b7df
commit bf96529df8
10 changed files with 43 additions and 28 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

+18 -4
View File
@@ -162,9 +162,9 @@ if (isBuyP){
return Promise.reject('موجودی محصول ناکافی است')
else
return Promise.resolve();
}
}
}
export const justNumber2 = (price: number, method?: string , amount?:number ,isBuy?:boolean) => {
priceP = price
methodP = method
@@ -175,8 +175,8 @@ export const justNumber2 = (price: number, method?: string , amount?:number ,isB
validator: checkNumber,
trigger: 'change'
}
}
export const justNumber3 = (price: number, Num?:number ,isBuy?:boolean) => {
priceP = price
NumP=Num
@@ -186,7 +186,6 @@ export const justNumber3 = (price: number, Num?:number ,isBuy?:boolean) => {
validator: checkNumber,
trigger: 'change'
}
}
export const ruleNumber = () => {
@@ -196,13 +195,13 @@ export const ruleNumber = () => {
message: 'لطفا نحوه خرید',
trigger: 'change'
}
}
export const guideTypePassword = ref<{}>({
text: '',
color: ''
})
export const passwordRules = () => {
return [
{
@@ -243,3 +242,18 @@ export const passwordRules = () => {
}
]
}
export const englishNumberRule = () => {
return {
validator: (_: any, value: string) => {
if (!value) return Promise.resolve()
const hasPersianDigits = /[۰-۹]/.test(value)
if (hasPersianDigits) {
return Promise.reject('لطفاً فقط از اعداد انگلیسی استفاده کنید')
}
return Promise.resolve()
},
trigger: 'change',
}
}
+4
View File
@@ -4,6 +4,8 @@
<img v-if="props.item.group_type=='گوی'" :src="goyImg">
<img v-if="props.item.group_type=='مکعب'" :src="mokaabImg">
<img v-if="props.item.group_type=='سکه'" :src="sekkeImg">
<img v-if="props.item.group_type=='مس'" :src="mesImg">
<img v-if="props.item.group_type=='نقره'" :src="noghrehImg">
<!-- <img :src="props.item.img" alt="image">-->
<img v-if="props.item.group_type=='آبشده'|| props.item.group_type== null" :src="defaultImg">
<div class="mt-3">{{props.item?.title?? '-'}}</div>
@@ -26,6 +28,8 @@ import goyImg from "@/assets/img/goyImg.svg"
import mokaabImg from "@/assets/img/mokaabImg.svg"
import sekkeImg from "@/assets/img/sekkeImg.svg"
import type { Product } from '@/models/products'
import mesImg from "@/assets/img/mesImg.jpg";
import noghrehImg from "@/assets/img/noghrehImg.webp";
/*function itemImg() {
}*/
-3
View File
@@ -72,9 +72,6 @@ import {loading} from "@/utils";
import type {TableOutput} from "@/models/table";
import type {Fund} from "@/models/fund";
import {useFundUserStore} from "@/store/fundStore";
import goyImg from '@/assets/img/goyImg.svg'
import mokaabImg from '@/assets/img/mokaabImg.svg'
import defaultImg from '@/assets/img/defaultAbshodeh.svg'
import { getMe } from '@/api/me'
import type { User } from '@/models/login'
import {usePriceWithoutType} from "../../../utils/usePrice";
+4
View File
@@ -18,6 +18,8 @@
<img v-if="info?.group_type=='گوی'" :src="goyImg">
<img v-if="info?.group_type=='مکعب'" :src="mokaabImg">
<img v-if="info?.group_type=='سکه'" :src="sekkeImg">
<img v-if="info?.group_type=='مس'" :src="mesImg">
<img v-if="info?.group_type=='نقره'" :src="noghrehImg">
<img v-if="info?.group_type=='آبشده'|| info?.group_type== null" :src="defaultImg">
</div>
</a-spin>
@@ -152,6 +154,8 @@ import { getOneProductWallet } from '@/api/products'
import goyImg from '@/assets/img/goyImg.svg'
import mokaabImg from '@/assets/img/mokaabImg.svg'
import sekkeImg from "@/assets/img/sekkeImg.svg"
import mesImg from "@/assets/img/mesImg.jpg"
import noghrehImg from "@/assets/img/noghrehImg.webp"
import defaultImg from '@/assets/img/defaultAbshodeh.svg'
import type { Product } from '@/models/products'
@@ -1,5 +1,5 @@
<template>
<div class="">
<div>
<div ref="el" class="px-3 pt-15"
>
<div class="flex gap-2">
@@ -20,6 +20,8 @@
<img v-if="val.product.group_type=='گوی'" :src="goyImg">
<img v-if="val.product.group_type=='مکعب'" :src="mokaabImg">
<img v-if="val.product.group_type=='سکه'" :src="sekkeImg">
<img v-if="val.product.group_type=='مس'" :src="mesImg">
<img v-if="val.product.group_type=='نقره'" :src="noghrehImg">
</div>
<div class="w-full">
<div class="flex justify-between">
@@ -83,9 +85,6 @@
</template>
<script lang="ts" setup>
import BasicIcon from '@/components/BasicPacks/BasicIcon.vue'
import router from '@/router'
import BasicButton from '@/components/BasicPacks/BasicButton.vue'
import BasicSelect from '@/components/BasicPacks/BasicSelect.vue'
import {onMounted, ref} from 'vue'
@@ -95,19 +94,16 @@ import type {CountPInventory, PInventory} from '@/models/products'
import goyImg from '@/assets/img/goyImg.svg'
import mokaabImg from '@/assets/img/mokaabImg.svg'
import sekkeImg from '@/assets/img/sekkeImg.svg'
import defaultImg from '@/assets/img/defaultAbshodeh.svg'
import {usePrice} from '@/utils/usePrice'
import BasicInput from '@/components/BasicPacks/BasicInput.vue'
import {cloneDeep} from 'lodash'
import BasicActionSheet from "@/components/BasicPacks/BasicActionSheet.vue"
import {getCity, tableAddress} from "@/api/address"
import {tableAddress} from "@/api/address"
import type {Address} from "@/models/address"
import Item from "@/views/base/address/components/Item.vue"
import {physicalReceiveApi} from "@/api/physicalreceive"
import {message} from "ant-design-vue"
import {required} from "@/utils/inputRules"
import BasicTextArea from "@/components/BasicPacks/BasicTextArea.vue"
import New_EditAddress from "@/views/base/address/components/New_EditAddress.vue"
import mesImg from "@/assets/img/mesImg.jpg";
import noghrehImg from "@/assets/img/noghrehImg.webp";
const items = ref<PInventory[]>()
const baseItems = ref<PInventory[]>()
@@ -5,6 +5,8 @@
<img v-if="props.ProductItem.group_type=='گوی'" :src="goyImg">
<img v-if="props.ProductItem.group_type=='مکعب'" :src="mokaabImg">
<img v-if="props.ProductItem.group_type=='سکه'" :src="sekkeImg">
<img v-if="props.ProductItem.group_type=='مس'" :src="mesImg">
<img v-if="props.ProductItem.group_type=='نقره'" :src="noghrehImg">
<img v-if="props.ProductItem.group_type=='سکه پارسیان'" :src="parsianImg">
<img v-if="props.ProductItem.group_type=='آبشده'|| props.ProductItem.group_type== null" :src="defaultImg">
</div>
@@ -26,6 +28,8 @@ import defaultImg from "@/assets/img/defaultAbshodeh.svg"
import goyImg from "@/assets/img/goyImg.svg"
import mokaabImg from "@/assets/img/mokaabImg.svg"
import sekkeImg from "@/assets/img/sekkeImg.svg"
import mesImg from "@/assets/img/mesImg.jpg"
import noghrehImg from "@/assets/img/noghrehImg.webp"
import parsianImg from "@/assets/img/parsianImg.svg"
import type {Product} from "@/models/products";
-2
View File
@@ -4,10 +4,8 @@
:style="{ backgroundRepeat: 'repeat', }"
/>
</div>
<a-spin :spinning="loading">
<div class=" !h-full overflow-y-scroll">
<div class="w-full flex justify-center top-0 py-5">
<ARadioGroup size="large" @change="changeTab" v-model:value="activekey" button-style="solid">
<ARadioButton class="cats" value="همه">همه</ARadioButton>
+7 -9
View File
@@ -10,15 +10,15 @@
<a-form-item :rules="[required()]" class="home_appear_fade_in_down" label="نام خانوادگی" name="lname">
<BasicInput v-model:value="userFormState.lname" place-holder="نام خانوادگی" />
</a-form-item>
<a-form-item :rules="[required(),mobileValidation()]" class="home_appear_fade_in_down" label="شماره تلفن"
<a-form-item :rules="[required(),mobileValidation(), englishNumberRule()]" class="home_appear_fade_in_down" label="شماره تلفن"
name="mobile">
<BasicInput v-model:value="userFormState.mobile" place-holder="شماره تلفن" inputmode="decimal"/>
<BasicInput :rules="[englishNumberRule()]" v-model:value="userFormState.mobile" place-holder="شماره تلفن" inputmode="decimal"/>
</a-form-item>
<a-form-item :rules="[required()]" class="home_appear_fade_in_down" label="کلمه عبور" name="password">
<a-form-item :rules="[required(), englishNumberRule()]" class="home_appear_fade_in_down" label="کلمه عبور" name="password">
<!-- <BasicInput v-model:value="userFormState.password" size="large" place-holder="کلمه عبور"/>-->
<AInputPassword v-model:value="userFormState.password" place-holder="کلمه عبور" />
</a-form-item>
<a-form-item :rules="[required()]" class="home_appear_fade_in_down" label="کد معرف" name="referral_id">
<a-form-item :rules="[required(), englishNumberRule()]" class="home_appear_fade_in_down" label="کد معرف" name="referral_id">
<BasicInput :disabled="disableForm" v-model:value="userFormState.referral_id" place-holder="کد معرف"/>
</a-form-item>
<!-- <a-form-item v-if="URLUserType() === 'customer'" :rules="[required()]" class="home_appear_fade_in_down"
@@ -54,7 +54,7 @@
<template v-slot:title>
<div class="p-5 text-center text-sm">
ثبت نام شما با موفقیت انجام شد. پس از تایید ادمین، شما میتوانید با اطلاعات خود، وارد اپلیکیشن شوید.
ثبت نام شما با موفقیت انجام شد. شما میتوانید با اطلاعات خود، وارد اپلیکیشن شوید.
</div>
</template>
@@ -63,7 +63,6 @@
متوجه شدم
</div>
</template>
</DialogVantOneButton>
<!-- <van-dialog/>-->
@@ -118,7 +117,7 @@
<script lang="ts" setup>
import { mobileValidation, required } from '@/utils/inputRules'
import {englishNumberRule, mobileValidation, required} from '@/utils/inputRules'
import type { User } from '@/models/login'
import BasicInput from '@/components/BasicPacks/BasicInput.vue'
import BasicButton from '@/components/BasicPacks/BasicButton.vue'
@@ -139,6 +138,7 @@ const registeredInfo = ref<boolean>(false)
const userFormState = reactive<User>({
access_token: ''
})
const formRef = ref<FormInstance>()
const disableForm=ref(false)
/*function handleOnChange(value: string) {
@@ -155,8 +155,6 @@ onMounted(() => {
userFormState.referral_id = router.currentRoute.value.query.id
disableForm.value=true
}
})
function registerAccount() {