26/8/1404

This commit is contained in:
2025-11-17 09:34:35 +03:30
parent 080f6428d2
commit 9c4391be42
7 changed files with 32 additions and 17 deletions
+4 -2
View File
@@ -1,5 +1,5 @@
import useAxios from '@/utils/useAxios'
import type { Transfer, Verification } from '@/models/physicalreceive'
import type { Transfer, TransferList, Verification } from '@/models/physicalreceive'
export const cardVerification = async (obj: Verification): Promise<any> => {
return await useAxios.post(`/customer/vc_validate`, obj)
@@ -9,4 +9,6 @@ export const transferRegister = async (obj: Transfer): Promise<any> => {
return await useAxios.post(`/customer/havale`, obj)
}
export const getTransfers = async () => await useAxios.get<Transfer[]>(`/customer/price_triggers`)
export async function getTransfers(payload: TransferList) {
return await useAxios.post(`customer/havale_list` , payload)
}
+6 -1
View File
@@ -39,4 +39,9 @@ export interface CardVerification {
export interface Transfer {
destination: string
amount: string
}
}
export interface TransferList {
id: number
}
+4 -4
View File
@@ -55,6 +55,7 @@ export async function getUpPrice() {
}
}
export async function getLastPrices() {
try {
// loading.value = true
@@ -74,7 +75,7 @@ export async function getLastPrices() {
export function stopPriceInterval() {
// console.log('stop')
clearInterval(interval);
clearInterval(interval)
}
export function percentPriceChanged() {
@@ -82,6 +83,5 @@ export function percentPriceChanged() {
// console.log(lastPrice.value?.price_last)
if (!olderPrice.value)
return 0
return ((lastPrice.value?.price_last-olderPrice.value) *100)/olderPrice.value
}
return ((lastPrice.value?.price_last-olderPrice.value) *100)/olderPrice.value
}
+1
View File
@@ -144,6 +144,7 @@ import ListAnim from '@/components/ListAnim.vue'
import TransactionSkeleton from '@/components/TransactionSkeleton.vue'
import DialogVant from '@/components/DialogVant.vue'
import { useFundUserStore } from '@/store/fundStore'
import BasicIcon from '@/components/BasicPacks/BasicIcon.vue'
const info = ref<Fund>()
const items = ref<Transaction[]>([])
+4 -5
View File
@@ -24,9 +24,9 @@
<img :src="img1" alt="" class="h-[88px] absolute">
<div class="w-full items-center flex flex-col">
<div class="text-gray-700 font-bold">{{ !isBuy ? 'قیمت فروش' : 'قیمت خرید' }}</div>
<div v-if="price" class="flex gap-1 mt-3 text-xs items-center">
<div class="flex gap-1 mt-3 text-xs items-center">
<div :class="!isBuy? 'text-red-700' : 'text-green-700'" class="font-bold text-2xl color-transition">
{{ usePriceWithoutType(isBuy ? ((props?.ProductItem?.price ?? 0) + (props?.ProductItem?.cash_fee_buy ?? 0)) ?? 0 : ((props?.ProductItem?.price ?? 0) - (props?.ProductItem?.cash_fee_sell ?? 0))) }}
{{ usePriceWithoutType(isBuy ? ((props?.ProductItem?.price ?? 0) + (props?.ProductItem?.cash_fee_buy ?? 0)) : ((props?.ProductItem?.price ?? 0) - (props?.ProductItem?.cash_fee_sell ?? 0)) ) }}
</div>
ریال
</div>
@@ -224,11 +224,9 @@ import type { Transaction } from '@/models/transaction'
import type { TableEngineInput, TableOutput } from '@/models/table'
import { useInfiniteScroll } from '@vueuse/core'
import { getTransactionTable } from '@/api/transaction'
import { getLastPrices, lastPrice, setIntervalGetAllPrice, stopPriceInterval } from '@/utils/price'
import { getLastPrices, lastPrice } from '@/utils/price'
import type { Product } from '@/models/products'
import { useFundUserStore } from '@/store/fundStore'
// import Bg_main from "@/components/bg_main.vue";
const infoVisible = ref(false)
const walletStore = useWalletStore()
const userStore = useUserStore()
@@ -580,6 +578,7 @@ async function ok() {
}
}
const livePrice = computed(() => lastPrice.value?.price_last ?? 0)
</script>
<style lang="less">
+4 -2
View File
@@ -3,13 +3,14 @@
<div class="flex justify-between">
<div>
<div class="font-bold text-base mb-2">{{usePrice(item.target_price) }}</div>
<div class="content-center text-s mb-2">{{usePrice(item.note) }}</div>
<div class="content-center text-s mb-2">{{toJalali(item.created_at) }}</div>
</div>
<div class="flex gap-2 ">
<BasicIcon color="red" icon="vuesax-linear:trash" @click.stop="deleteConfirmVisible = true" class="p-1"/>
</div>
</div>
<a-divider class="!my-3" />
<!-- <a-divider class="!my-3" />-->
</div>
@@ -49,6 +50,7 @@ import BasicIcon from '@/components/BasicPacks/BasicIcon.vue'
import type { Transfer } from '@/models/physicalreceive'
import DialogVant from '@/components/DialogVant.vue'
import { usePrice } from '../../../../utils/usePrice'
import { toJalali } from '../../../../utils/useDateTime'
const infoVisible = ref<boolean>(false)
+9 -3
View File
@@ -10,7 +10,7 @@
<div ref="el" :class="loading? 'h-screen': ''" class="px-3 pt-16 pb-2 overflow-y-scroll"
style="max-height: calc(100vh - 50px)">
<list-anim v-if="!loading" class="pb-12vh">
<!-- <Item v-for="item in items" :key="item.id" :item="item" @refresh="initItems" />-->
<Item v-for="item in items" :item="item" @refresh="initItems" />
<!-- <TransactionSkeleton v-if="loadingMore" class="mt-1 mb-8" />-->
</list-anim>
<div v-if="loading">
@@ -139,6 +139,7 @@ import { type FormInstance, message } from 'ant-design-vue'
import type { CardVerification, Transfer } from '@/models/physicalreceive'
import Item from './components/Item.vue'
import { cloneDeep } from 'lodash'
import { useUserStore } from '@/store/userStore'
import router from '@/router'
import { cardVerification, getTransfers, transferRegister } from '@/api/transfer'
import defaultResult from 'ant-design-vue/es/_util/isMobile'
@@ -149,7 +150,7 @@ const verificationCardVisible = ref<boolean>(false)
const finalRegisterSheet = ref<boolean>(false)
const editId = ref<number | undefined>(undefined)
const el = ref()
const userStore = useUserStore()
const form = ref<CardVerification>({
cardNumber: ''
})
@@ -179,8 +180,13 @@ function openAdd() {
async function initItems() {
try {
const payload = {
id: userStore?.userInfo?.id
}
items.value = []
items.value = await getTransfers()
items.value = await getTransfers(payload)
console.log('id', items.value)
} catch (e) {
console.log(e)
} finally {