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