1405/02/12-dev banners feature
This commit is contained in:
Vendored
-2
@@ -8,7 +8,6 @@ export {}
|
|||||||
declare module 'vue' {
|
declare module 'vue' {
|
||||||
export interface GlobalComponents {
|
export interface GlobalComponents {
|
||||||
AButton: typeof import('ant-design-vue/es')['Button']
|
AButton: typeof import('ant-design-vue/es')['Button']
|
||||||
AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider']
|
|
||||||
ADivider: typeof import('ant-design-vue/es')['Divider']
|
ADivider: typeof import('ant-design-vue/es')['Divider']
|
||||||
AForm: typeof import('ant-design-vue/es')['Form']
|
AForm: typeof import('ant-design-vue/es')['Form']
|
||||||
AFormItem: typeof import('ant-design-vue/es')['FormItem']
|
AFormItem: typeof import('ant-design-vue/es')['FormItem']
|
||||||
@@ -22,7 +21,6 @@ declare module 'vue' {
|
|||||||
ASlider: typeof import('ant-design-vue/es')['Slider']
|
ASlider: typeof import('ant-design-vue/es')['Slider']
|
||||||
ASpin: typeof import('ant-design-vue/es')['Spin']
|
ASpin: typeof import('ant-design-vue/es')['Spin']
|
||||||
ATag: typeof import('ant-design-vue/es')['Tag']
|
ATag: typeof import('ant-design-vue/es')['Tag']
|
||||||
ATextarea: typeof import('ant-design-vue/es')['Textarea']
|
|
||||||
ATooltip: typeof import('ant-design-vue/es')['Tooltip']
|
ATooltip: typeof import('ant-design-vue/es')['Tooltip']
|
||||||
BaseDatePicker: typeof import('./src/components/BasicPacks/BaseDatePicker/src/BaseDatePicker.vue')['default']
|
BaseDatePicker: typeof import('./src/components/BasicPacks/BaseDatePicker/src/BaseDatePicker.vue')['default']
|
||||||
Basic: typeof import('./src/components/BasicPacks/BaseDatePicker/src/datePick/demo/basic.vue')['default']
|
Basic: typeof import('./src/components/BasicPacks/BaseDatePicker/src/datePick/demo/basic.vue')['default']
|
||||||
|
|||||||
Generated
+56
-2
@@ -21,6 +21,7 @@
|
|||||||
"moment-jalaali": "^0.10.0",
|
"moment-jalaali": "^0.10.0",
|
||||||
"odometer": "^0.4.8",
|
"odometer": "^0.4.8",
|
||||||
"pinia": "^2.1.4",
|
"pinia": "^2.1.4",
|
||||||
|
"quill": "^2.0.3",
|
||||||
"sass": "^1.69.4",
|
"sass": "^1.69.4",
|
||||||
"swiper": "^12.1.2",
|
"swiper": "^12.1.2",
|
||||||
"unocss": "^0.55.1",
|
"unocss": "^0.55.1",
|
||||||
@@ -5025,6 +5026,12 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/eventemitter3": {
|
||||||
|
"version": "5.0.4",
|
||||||
|
"resolved": "https://mirror-npm.runflare.com/eventemitter3/-/eventemitter3-5.0.4.tgz",
|
||||||
|
"integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/execa": {
|
"node_modules/execa": {
|
||||||
"version": "7.2.0",
|
"version": "7.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz",
|
||||||
@@ -5057,8 +5064,7 @@
|
|||||||
"node_modules/fast-diff": {
|
"node_modules/fast-diff": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
|
||||||
"integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
|
"integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"node_modules/fast-glob": {
|
"node_modules/fast-glob": {
|
||||||
"version": "3.3.1",
|
"version": "3.3.1",
|
||||||
@@ -6384,12 +6390,25 @@
|
|||||||
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
|
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
|
||||||
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
|
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
|
||||||
},
|
},
|
||||||
|
"node_modules/lodash.clonedeep": {
|
||||||
|
"version": "4.5.0",
|
||||||
|
"resolved": "https://mirror-npm.runflare.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
|
||||||
|
"integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/lodash.debounce": {
|
"node_modules/lodash.debounce": {
|
||||||
"version": "4.0.8",
|
"version": "4.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
|
||||||
"integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
|
"integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/lodash.isequal": {
|
||||||
|
"version": "4.5.0",
|
||||||
|
"resolved": "https://mirror-npm.runflare.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
|
||||||
|
"integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==",
|
||||||
|
"deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/lodash.merge": {
|
"node_modules/lodash.merge": {
|
||||||
"version": "4.6.2",
|
"version": "4.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
||||||
@@ -6991,6 +7010,12 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/parchment": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://mirror-npm.runflare.com/parchment/-/parchment-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A==",
|
||||||
|
"license": "BSD-3-Clause"
|
||||||
|
},
|
||||||
"node_modules/parent-module": {
|
"node_modules/parent-module": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
|
||||||
@@ -7303,6 +7328,35 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"node_modules/quill": {
|
||||||
|
"version": "2.0.3",
|
||||||
|
"resolved": "https://mirror-npm.runflare.com/quill/-/quill-2.0.3.tgz",
|
||||||
|
"integrity": "sha512-xEYQBqfYx/sfb33VJiKnSJp8ehloavImQ2A6564GAbqG55PGw1dAWUn1MUbQB62t0azawUS2CZZhWCjO8gRvTw==",
|
||||||
|
"license": "BSD-3-Clause",
|
||||||
|
"dependencies": {
|
||||||
|
"eventemitter3": "^5.0.1",
|
||||||
|
"lodash-es": "^4.17.21",
|
||||||
|
"parchment": "^3.0.0",
|
||||||
|
"quill-delta": "^5.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"npm": ">=8.2.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/quill-delta": {
|
||||||
|
"version": "5.1.0",
|
||||||
|
"resolved": "https://mirror-npm.runflare.com/quill-delta/-/quill-delta-5.1.0.tgz",
|
||||||
|
"integrity": "sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"fast-diff": "^1.3.0",
|
||||||
|
"lodash.clonedeep": "^4.5.0",
|
||||||
|
"lodash.isequal": "^4.5.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/randombytes": {
|
"node_modules/randombytes": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
"moment-jalaali": "^0.10.0",
|
"moment-jalaali": "^0.10.0",
|
||||||
"odometer": "^0.4.8",
|
"odometer": "^0.4.8",
|
||||||
"pinia": "^2.1.4",
|
"pinia": "^2.1.4",
|
||||||
|
"quill": "^2.0.3",
|
||||||
"sass": "^1.69.4",
|
"sass": "^1.69.4",
|
||||||
"swiper": "^12.1.2",
|
"swiper": "^12.1.2",
|
||||||
"unocss": "^0.55.1",
|
"unocss": "^0.55.1",
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
:cancel-text="props.cancelText"
|
:cancel-text="props.cancelText"
|
||||||
:wrapClassName="props.wrapClassName"
|
:wrapClassName="props.wrapClassName"
|
||||||
:closable="props.closable"
|
:closable="props.closable"
|
||||||
|
:destroy-on-close="props.destroyOnClose"
|
||||||
>
|
>
|
||||||
<template v-if="props.customFooter" #footer> <slot name="footer" /></template>
|
<template v-if="props.customFooter" #footer> <slot name="footer" /></template>
|
||||||
<a-spin :spinning="props.loading">
|
<a-spin :spinning="props.loading">
|
||||||
@@ -41,6 +42,7 @@ interface Prop {
|
|||||||
loading?: boolean
|
loading?: boolean
|
||||||
wrapClassName?: string
|
wrapClassName?: string
|
||||||
closable?: boolean
|
closable?: boolean
|
||||||
|
destroyOnClose?:boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
const props = withDefaults(defineProps<Prop>(), {
|
const props = withDefaults(defineProps<Prop>(), {
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
export interface IBanner {
|
||||||
|
show: boolean
|
||||||
|
large: string | null
|
||||||
|
medium: string | null
|
||||||
|
small: string | null
|
||||||
|
banner1: string | null
|
||||||
|
banner2: string | null
|
||||||
|
banner3: string | null
|
||||||
|
banner4: string | null
|
||||||
|
banner5: string | null
|
||||||
|
banner6: string | null
|
||||||
|
banner_1_link: string | null
|
||||||
|
banner_2_link: string | null
|
||||||
|
banner_3_link: string | null
|
||||||
|
banner_4_link: string | null
|
||||||
|
banner_5_link: string | null
|
||||||
|
banner_6_link: string | null
|
||||||
|
}
|
||||||
|
export interface IBenefits {
|
||||||
|
show: boolean
|
||||||
|
icon: string | null
|
||||||
|
caption: string | null
|
||||||
|
link: string | null
|
||||||
|
typeClick:string | null
|
||||||
|
modalText:string|null
|
||||||
|
}
|
||||||
|
export interface countryCreator {
|
||||||
|
caption: string | null
|
||||||
|
key: string | null
|
||||||
|
value: string | null
|
||||||
|
}
|
||||||
|
export interface priceRange {
|
||||||
|
min: number | null
|
||||||
|
max: number | null
|
||||||
|
key: string | null
|
||||||
|
value: string | null
|
||||||
|
}
|
||||||
|
export interface Categories {
|
||||||
|
caption: number | null
|
||||||
|
key: string | null
|
||||||
|
value: string | null
|
||||||
|
link: string | null
|
||||||
|
}
|
||||||
|
export interface notificationBar {
|
||||||
|
notifBar_text: string
|
||||||
|
notifBar_show: boolean
|
||||||
|
}
|
||||||
@@ -109,12 +109,16 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="flex mt-2 justify-center text-tertiary w-full z-20">
|
<div class="flex mt-2 justify-center text-tertiary w-full z-20">
|
||||||
دارایی طلایی:
|
دارایی طلایی:
|
||||||
<div class="text-l mr-2 font-bold">{{ (userStore?.userInfo?.wallet?.count_gold ?? 0).toFixed(3)}}گرم</div>
|
<div class="text-l mr-2 font-bold">{{ (userStore?.userInfo?.wallet?.count_gold ?? 0).toFixed(3) }}گرم
|
||||||
|
</div>
|
||||||
<BasicIcon @click="openGoldModal" icon="vuesax-linear:info-circle" size="18" color="tertiary"/>
|
<BasicIcon @click="openGoldModal" icon="vuesax-linear:info-circle" size="18" color="tertiary"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex mt-2 justify-center text-tertiary w-full z-20">
|
<div class="flex mt-2 justify-center text-tertiary w-full z-20">
|
||||||
دارایی ریالی:
|
دارایی ریالی:
|
||||||
<div class="text-l mr-2 font-bold">{{ usePriceWithoutType(userStore?.userInfo?.wallet?.count_cash ?? 0) }}ریال</div>
|
<div class="text-l mr-2 font-bold">{{
|
||||||
|
usePriceWithoutType(userStore?.userInfo?.wallet?.count_cash ?? 0)
|
||||||
|
}}ریال
|
||||||
|
</div>
|
||||||
<BasicIcon @click="openRialModal" icon="vuesax-linear:info-circle" size="18" color="tertiary"/>
|
<BasicIcon @click="openRialModal" icon="vuesax-linear:info-circle" size="18" color="tertiary"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -243,7 +247,7 @@
|
|||||||
:src="banner.icon"
|
:src="banner.icon"
|
||||||
:alt="banner.caption || ''"
|
:alt="banner.caption || ''"
|
||||||
@click="handleBannerClick(banner)"
|
@click="handleBannerClick(banner)"
|
||||||
:style="banner.link ? 'cursor: pointer;' : ''"
|
:style="(banner.link || banner.typeClick=='share') ? 'cursor: pointer;' : ''"
|
||||||
/>
|
/>
|
||||||
</swiper-slide>
|
</swiper-slide>
|
||||||
</swiper>
|
</swiper>
|
||||||
@@ -464,6 +468,50 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</BasicActionSheet>
|
</BasicActionSheet>
|
||||||
|
<BasicModal v-model:visible="showTextBanner" :custom-footer="true" destroyOnClose="true" >
|
||||||
|
<div class="max-h-[54vh]">
|
||||||
|
<div class="w-full ql-editor " v-html="TextBanner">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</BasicModal>
|
||||||
|
<BasicModal v-model:visible="showShare" :custom-footer="true" >
|
||||||
|
<div class="p-2">
|
||||||
|
<div
|
||||||
|
v-if="userStore.userInfo?.referral_id"
|
||||||
|
class="text-primary font-bold w-full text-center flex justify-between gap-2 items-center"
|
||||||
|
>
|
||||||
|
کد معرف:
|
||||||
|
<div class="flex gap-2">
|
||||||
|
<div class="mr-2">{{ userStore.userInfo?.referral_id }}</div>
|
||||||
|
<!-- <BasicIcon icon="vuesax-linear:copy" color="#2563EB" class="cursor-pointer" size="18"
|
||||||
|
@click.stop="copyCode()" />
|
||||||
|
<!– vuesax-linear:hierarchy-3–>
|
||||||
|
<BasicIcon icon="vuesax-linear:share" color="#2563EB" class="cursor-pointer" size="18"
|
||||||
|
@click.stop="shareCode()" />-->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="w-full flex gap-2 mt-1">
|
||||||
|
<BasicButton
|
||||||
|
icon="vuesax-linear:share"
|
||||||
|
size="small"
|
||||||
|
class="flex-1"
|
||||||
|
icon-size="18"
|
||||||
|
@click.stop="shareCode()"
|
||||||
|
>
|
||||||
|
{{ getConfigApp('name') == 'garoosi' ? 'دعوت از دوستان' : ' اشتراک گذاری' }}
|
||||||
|
</BasicButton>
|
||||||
|
<BasicButton
|
||||||
|
icon="vuesax-linear:copy"
|
||||||
|
size="small"
|
||||||
|
class="flex-1"
|
||||||
|
icon-size="18"
|
||||||
|
@click.stop="copyCode()"
|
||||||
|
>
|
||||||
|
رونوشت
|
||||||
|
</BasicButton>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</BasicModal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="tsx" setup>
|
<script lang="tsx" setup>
|
||||||
@@ -481,6 +529,8 @@ import DialogVant from '@/components/DialogVant.vue'
|
|||||||
import {getAllPrices, getChart} from '@/api/home'
|
import {getAllPrices, getChart} from '@/api/home'
|
||||||
import Vue3Odometer from 'vue3-odometer'
|
import Vue3Odometer from 'vue3-odometer'
|
||||||
import 'odometer/themes/odometer-theme-default.css'
|
import 'odometer/themes/odometer-theme-default.css'
|
||||||
|
import 'quill/dist/quill.core.css';
|
||||||
|
|
||||||
import HomeSkeleton from '@/views/base/home/components/HomeSkeleton.vue'
|
import HomeSkeleton from '@/views/base/home/components/HomeSkeleton.vue'
|
||||||
import {
|
import {
|
||||||
getLastPrices,
|
getLastPrices,
|
||||||
@@ -499,13 +549,17 @@ import type { PInventory } from '@/models/products'
|
|||||||
import type {Fund} from '@/models/fund'
|
import type {Fund} from '@/models/fund'
|
||||||
import type {TableOutput} from '@/models/table'
|
import type {TableOutput} from '@/models/table'
|
||||||
import {useFundUserStore} from '@/store/fundStore'
|
import {useFundUserStore} from '@/store/fundStore'
|
||||||
import {Modal} from "ant-design-vue";
|
import {message, Modal} from "ant-design-vue";
|
||||||
import {useConfigStore} from "@/store/configStore";
|
import {useConfigStore} from "@/store/configStore";
|
||||||
import {Swiper, SwiperSlide} from 'swiper/vue'
|
import {Swiper, SwiperSlide} from 'swiper/vue'
|
||||||
import {Autoplay, Pagination} from 'swiper/modules'
|
import {Autoplay, Pagination} from 'swiper/modules'
|
||||||
import 'swiper/swiper-bundle.css'
|
import 'swiper/swiper-bundle.css'
|
||||||
import 'swiper/css/pagination'
|
import 'swiper/css/pagination'
|
||||||
import {getConstByKey} from '@/api/const'
|
import {getConstByKey} from '@/api/const'
|
||||||
|
import type {IBenefits} from "@/models/banner";
|
||||||
|
import BasicModal from "@/components/BasicPacks/BasicModal.vue";
|
||||||
|
import {getConfigApp} from "@/utils/config";
|
||||||
|
import BasicButton from "@/components/BasicPacks/BasicButton.vue";
|
||||||
|
|
||||||
const bannerSwiperModules = [Autoplay, Pagination]
|
const bannerSwiperModules = [Autoplay, Pagination]
|
||||||
const nameProject = useConfigStore().config.name
|
const nameProject = useConfigStore().config.name
|
||||||
@@ -525,6 +579,36 @@ const inventory = ref<number>(0)
|
|||||||
const sumGold = ref<number>(0)
|
const sumGold = ref<number>(0)
|
||||||
const fundStore = useFundUserStore()
|
const fundStore = useFundUserStore()
|
||||||
const config = useConfigStore()
|
const config = useConfigStore()
|
||||||
|
const showTextBanner = ref<boolean>(false)
|
||||||
|
const showShare = ref<boolean>(false)
|
||||||
|
const TextBanner = ref<string>('')
|
||||||
|
|
||||||
|
function shareCode() {
|
||||||
|
// nextTick(() => {
|
||||||
|
const val = `⭐️الان طلا بخر؛ آخر ماه سودشو ببر!
|
||||||
|
با خرید طلای آبشده در مقدارهای کم ولی مستمر، سود بیشتری ببر!
|
||||||
|
|
||||||
|
این دعوت نامه از طرف "${userStore.userInfo?.name}" عزیز برای شما ارسال شده تا شما هم از بازار طلای ${nameProject} جا نمونید.
|
||||||
|
روی لینک زیر کلیک کنید و ثبت نام خود را تکمیل کنید.
|
||||||
|
|
||||||
|
${window.location.hostname}/login?id=${userStore.userInfo?.referral_id}`
|
||||||
|
navigator.share({
|
||||||
|
title: nameProject,
|
||||||
|
text: val
|
||||||
|
})
|
||||||
|
// message.info('کد رونوشت شد')
|
||||||
|
// })
|
||||||
|
}
|
||||||
|
|
||||||
|
function copyCode() {
|
||||||
|
// nextTick(() => {
|
||||||
|
const val = userStore.userInfo?.referral_id
|
||||||
|
console.log(val)
|
||||||
|
navigator.clipboard.writeText(val)
|
||||||
|
message.info('کد رونوشت شد')
|
||||||
|
// })
|
||||||
|
}
|
||||||
|
|
||||||
async function initTable() {
|
async function initTable() {
|
||||||
try {
|
try {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
@@ -537,7 +621,8 @@ async function initTable() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const banners = ref<Array<{ icon: string; show: boolean; caption: string | null; link: string | null }>>([])
|
const banners = ref<Array<IBenefits>>([])
|
||||||
|
|
||||||
async function initBanners() {
|
async function initBanners() {
|
||||||
try {
|
try {
|
||||||
const response = await getConstByKey('header_banner')
|
const response = await getConstByKey('header_banner')
|
||||||
@@ -570,7 +655,16 @@ async function initBanners() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleBannerClick(banner: { icon: string; show: boolean; caption: string | null; link: string | null }) {
|
function handleBannerClick(banner: IBenefits) {
|
||||||
|
if (banner.typeClick == 'share') {
|
||||||
|
showShare.value = true
|
||||||
|
}
|
||||||
|
if (banner.typeClick == 'modal') {
|
||||||
|
if (!banner.modalText) return
|
||||||
|
TextBanner.value = banner.modalText
|
||||||
|
showTextBanner.value = true
|
||||||
|
}
|
||||||
|
if (banner.typeClick == 'link') {
|
||||||
if (!banner.link) return
|
if (!banner.link) return
|
||||||
|
|
||||||
if (banner.link.startsWith('http://') || banner.link.startsWith('https://')) {
|
if (banner.link.startsWith('http://') || banner.link.startsWith('https://')) {
|
||||||
@@ -580,6 +674,8 @@ function handleBannerClick(banner: { icon: string; show: boolean; caption: strin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
stopPriceInterval()
|
stopPriceInterval()
|
||||||
})
|
})
|
||||||
@@ -970,11 +1066,13 @@ apexchart {
|
|||||||
/* بنر اسلایدر — ظاهر و نقطههای pagination مشابه نمونه */
|
/* بنر اسلایدر — ظاهر و نقطههای pagination مشابه نمونه */
|
||||||
.banner-swiper {
|
.banner-swiper {
|
||||||
--swiper-pagination-bottom: 0.75rem;
|
--swiper-pagination-bottom: 0.75rem;
|
||||||
|
|
||||||
.swiper-slide {
|
.swiper-slide {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.swiper-pagination-bullet {
|
.swiper-pagination-bullet {
|
||||||
width: 0.5rem;
|
width: 0.5rem;
|
||||||
height: 0.5rem;
|
height: 0.5rem;
|
||||||
@@ -982,6 +1080,7 @@ apexchart {
|
|||||||
opacity: 1;
|
opacity: 1;
|
||||||
transition: background 0.2s;
|
transition: background 0.2s;
|
||||||
}
|
}
|
||||||
|
|
||||||
.swiper-pagination-bullet-active {
|
.swiper-pagination-bullet-active {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
icon-size="18"
|
icon-size="18"
|
||||||
@click.stop="shareCode()"
|
@click.stop="shareCode()"
|
||||||
>
|
>
|
||||||
اشتراک گذاری
|
{{ getConfigApp('name') == 'garoosi' ? 'دعوت از دوستان' : ' اشتراک گذاری' }}
|
||||||
</BasicButton>
|
</BasicButton>
|
||||||
<BasicButton
|
<BasicButton
|
||||||
icon="vuesax-linear:copy"
|
icon="vuesax-linear:copy"
|
||||||
@@ -187,7 +187,8 @@
|
|||||||
<BaseDatePicker v-model:value="userFormState.birth_date" class="w-full" inputReadOnly/>
|
<BaseDatePicker v-model:value="userFormState.birth_date" class="w-full" inputReadOnly/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :rules="[requireNationalCode()]" label="شماره ملی" name="n_code">
|
<a-form-item :rules="[requireNationalCode()]" label="شماره ملی" name="n_code">
|
||||||
<BasicInput v-model:value="userFormState.n_code" type="number" :disabled="userFormState.is_legal == 1 || userFormState.is_legal == 2" />
|
<BasicInput v-model:value="userFormState.n_code" type="number"
|
||||||
|
:disabled="userFormState.is_legal == 1 || userFormState.is_legal == 2"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="نام شهر" name="city">
|
<a-form-item label="نام شهر" name="city">
|
||||||
<BasicInput v-model:value="userFormState.city"/>
|
<BasicInput v-model:value="userFormState.city"/>
|
||||||
@@ -278,6 +279,8 @@ import { updateMe, updatePass } from '@/api/me'
|
|||||||
import {useUserStore} from '@/store/userStore'
|
import {useUserStore} from '@/store/userStore'
|
||||||
import BaseDatePicker from '@/components/BasicPacks/BaseDatePicker'
|
import BaseDatePicker from '@/components/BasicPacks/BaseDatePicker'
|
||||||
import {useConfigStore} from "@/store/configStore";
|
import {useConfigStore} from "@/store/configStore";
|
||||||
|
import {getConfigApp} from "../../../utils/config";
|
||||||
|
|
||||||
const userFormState = ref<User>({
|
const userFormState = ref<User>({
|
||||||
fname: '',
|
fname: '',
|
||||||
lname: '',
|
lname: '',
|
||||||
@@ -309,6 +312,7 @@ function copyCode() {
|
|||||||
message.info('کد رونوشت شد')
|
message.info('کد رونوشت شد')
|
||||||
// })
|
// })
|
||||||
}
|
}
|
||||||
|
|
||||||
const isLegal = computed(() => {
|
const isLegal = computed(() => {
|
||||||
const result = {
|
const result = {
|
||||||
title: '',
|
title: '',
|
||||||
@@ -386,6 +390,7 @@ function ok() {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function submitPassForm() {
|
function submitPassForm() {
|
||||||
formPassRef.value?.validateFields().then(async () => {
|
formPassRef.value?.validateFields().then(async () => {
|
||||||
try {
|
try {
|
||||||
@@ -427,13 +432,16 @@ onMounted(() => {
|
|||||||
.midLevel {
|
.midLevel {
|
||||||
color: orange;
|
color: orange;
|
||||||
}
|
}
|
||||||
|
|
||||||
.week,
|
.week,
|
||||||
.reject {
|
.reject {
|
||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
|
|
||||||
.success {
|
.success {
|
||||||
color: green;
|
color: green;
|
||||||
}
|
}
|
||||||
|
|
||||||
.background-image-container {
|
.background-image-container {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
|
|||||||
@@ -2707,6 +2707,11 @@ esutils@^2.0.2:
|
|||||||
resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
|
resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
|
||||||
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
|
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
|
||||||
|
|
||||||
|
eventemitter3@^5.0.1:
|
||||||
|
version "5.0.4"
|
||||||
|
resolved "https://mirror-npm.runflare.com/eventemitter3/-/eventemitter3-5.0.4.tgz"
|
||||||
|
integrity sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==
|
||||||
|
|
||||||
execa@^5.0.0:
|
execa@^5.0.0:
|
||||||
version "5.1.1"
|
version "5.1.1"
|
||||||
resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz"
|
resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz"
|
||||||
@@ -2757,7 +2762,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
|
|||||||
resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
|
resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
|
||||||
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
|
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
|
||||||
|
|
||||||
fast-diff@^1.1.2:
|
fast-diff@^1.1.2, fast-diff@^1.3.0:
|
||||||
version "1.3.0"
|
version "1.3.0"
|
||||||
resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz"
|
resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz"
|
||||||
integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
|
integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
|
||||||
@@ -3505,16 +3510,26 @@ locate-path@^6.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
p-locate "^5.0.0"
|
p-locate "^5.0.0"
|
||||||
|
|
||||||
lodash-es@^4.17.15:
|
lodash-es@^4.17.15, lodash-es@^4.17.21:
|
||||||
version "4.17.21"
|
version "4.17.21"
|
||||||
resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz"
|
resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz"
|
||||||
integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
|
integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
|
||||||
|
|
||||||
|
lodash.clonedeep@^4.5.0:
|
||||||
|
version "4.5.0"
|
||||||
|
resolved "https://mirror-npm.runflare.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz"
|
||||||
|
integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==
|
||||||
|
|
||||||
lodash.debounce@^4.0.8:
|
lodash.debounce@^4.0.8:
|
||||||
version "4.0.8"
|
version "4.0.8"
|
||||||
resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz"
|
resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz"
|
||||||
integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
|
integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
|
||||||
|
|
||||||
|
lodash.isequal@^4.5.0:
|
||||||
|
version "4.5.0"
|
||||||
|
resolved "https://mirror-npm.runflare.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz"
|
||||||
|
integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==
|
||||||
|
|
||||||
lodash.merge@^4.6.2:
|
lodash.merge@^4.6.2:
|
||||||
version "4.6.2"
|
version "4.6.2"
|
||||||
resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz"
|
resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz"
|
||||||
@@ -3896,6 +3911,11 @@ p-locate@^5.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
p-limit "^3.0.2"
|
p-limit "^3.0.2"
|
||||||
|
|
||||||
|
parchment@^3.0.0:
|
||||||
|
version "3.0.0"
|
||||||
|
resolved "https://mirror-npm.runflare.com/parchment/-/parchment-3.0.0.tgz"
|
||||||
|
integrity sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A==
|
||||||
|
|
||||||
parent-module@^1.0.0:
|
parent-module@^1.0.0:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz"
|
resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz"
|
||||||
@@ -4079,6 +4099,25 @@ queue-microtask@^1.2.2:
|
|||||||
resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
|
resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
|
||||||
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
|
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
|
||||||
|
|
||||||
|
quill-delta@^5.1.0:
|
||||||
|
version "5.1.0"
|
||||||
|
resolved "https://mirror-npm.runflare.com/quill-delta/-/quill-delta-5.1.0.tgz"
|
||||||
|
integrity sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==
|
||||||
|
dependencies:
|
||||||
|
fast-diff "^1.3.0"
|
||||||
|
lodash.clonedeep "^4.5.0"
|
||||||
|
lodash.isequal "^4.5.0"
|
||||||
|
|
||||||
|
quill@^2.0.3:
|
||||||
|
version "2.0.3"
|
||||||
|
resolved "https://mirror-npm.runflare.com/quill/-/quill-2.0.3.tgz"
|
||||||
|
integrity sha512-xEYQBqfYx/sfb33VJiKnSJp8ehloavImQ2A6564GAbqG55PGw1dAWUn1MUbQB62t0azawUS2CZZhWCjO8gRvTw==
|
||||||
|
dependencies:
|
||||||
|
eventemitter3 "^5.0.1"
|
||||||
|
lodash-es "^4.17.21"
|
||||||
|
parchment "^3.0.0"
|
||||||
|
quill-delta "^5.1.0"
|
||||||
|
|
||||||
randombytes@^2.1.0:
|
randombytes@^2.1.0:
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz"
|
resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz"
|
||||||
|
|||||||
Reference in New Issue
Block a user