wallet fix 2
This commit is contained in:
@@ -5,6 +5,24 @@
|
||||
<BaseTable v-bind="tblProps" @register="submit" ref="tbl">
|
||||
<template #action="{ record }">
|
||||
<div class="flex justify-center gap-2">
|
||||
<a-tooltip
|
||||
v-if="showTahesab && record.tahesab_record_id"
|
||||
placement="bottom"
|
||||
class="cursor-pointer"
|
||||
@click="openTahesabDetail(record)"
|
||||
>
|
||||
<template #title><span>جزئیات تهحساب</span></template>
|
||||
<Icon icon="vuesax-linear:document-text" color="#10913A" />
|
||||
</a-tooltip>
|
||||
<a-tooltip
|
||||
v-if="showTahesab && record.tahesab_failed_id"
|
||||
placement="bottom"
|
||||
class="cursor-pointer"
|
||||
@click="openTahesabRetry(record)"
|
||||
>
|
||||
<template #title><span>ارسال به تهحساب</span></template>
|
||||
<Icon icon="vuesax-linear:refresh-circle" color="#CA8A04" />
|
||||
</a-tooltip>
|
||||
<a-tooltip placement="bottom" class="cursor-pointer" @click="emits('info', record)">
|
||||
<template #title><span>برداشت و واریز</span></template>
|
||||
<Icon icon="vuesax-linear:stickynote" color="#10913A" />
|
||||
@@ -25,22 +43,53 @@
|
||||
@orders="emits('orders', $event)"
|
||||
/>
|
||||
</BasicShowContext>
|
||||
|
||||
<TahesabRetryModal
|
||||
v-if="showTahesab"
|
||||
v-model="tahesabRetryVisible"
|
||||
mode="retry-sanad"
|
||||
:tahesab-id="selectedTahesabId"
|
||||
@success="fetch"
|
||||
/>
|
||||
|
||||
<BasicModal
|
||||
v-if="showTahesab"
|
||||
v-model:visible="tahesabDetailVisible" title="جزئیات سند تهحساب" width="36rem" :footer="null">
|
||||
<div class="space-y-2 text-sm">
|
||||
<div v-for="item in tahesabDetailItems" :key="item.label" class="flex justify-between gap-3 border-b border-gray-100 py-2">
|
||||
<span class="text-gray-500">{{ item.label }}</span>
|
||||
<span class="break-all text-left">{{ item.value ?? '-' }}</span>
|
||||
</div>
|
||||
<div v-if="tahesabDetail?.sync_log" class="rounded-lg bg-red-50 p-3 text-red-700 whitespace-pre-wrap">
|
||||
{{ tahesabDetail.sync_log }}
|
||||
</div>
|
||||
</div>
|
||||
</BasicModal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
import { computed, ref, watch } from 'vue'
|
||||
import { getTotalAccountingTable } from '@/api/accounting'
|
||||
import { getTahesabDetail, type TahesabRecord } from '@/api/tahesab'
|
||||
import { getAccountingColumns } from '@/pages/menuPages/accounting/hooks/accountingColumns'
|
||||
import AccountingMobileCardList from '@/pages/menuPages/accounting/components/AccountingMobileCardList.vue'
|
||||
import Icon from '@core/components/BaseIcon/src/Icon.vue'
|
||||
import useBaseTable from '@core/components/BaseTable/hooks/useBaseTable'
|
||||
import type { TableInput } from '@core/type/baseTable'
|
||||
import { isMobile } from '@core/utils/is'
|
||||
import TahesabRetryModal from '@/components/TahesabRetryModal.vue'
|
||||
import BasicModal from '@/components/BasicModal.vue'
|
||||
|
||||
defineProps<{
|
||||
customerId?: number
|
||||
}>()
|
||||
const props = withDefaults(
|
||||
defineProps<{
|
||||
customerId?: number
|
||||
showTahesab?: boolean
|
||||
}>(),
|
||||
{
|
||||
showTahesab: false
|
||||
}
|
||||
)
|
||||
|
||||
const emits = defineEmits<{
|
||||
(e: 'info', record: unknown): void
|
||||
@@ -49,12 +98,45 @@ const emits = defineEmits<{
|
||||
|
||||
const [submit, reload] = useBaseTable()
|
||||
const mobileListRef = ref<null | { fetch: () => Promise<void> }>(null)
|
||||
const tahesabRetryVisible = ref(false)
|
||||
const tahesabDetailVisible = ref(false)
|
||||
const selectedTahesabId = ref<number>()
|
||||
const tahesabDetail = ref<TahesabRecord | null>(null)
|
||||
|
||||
const tahesabDetailItems = computed(() => {
|
||||
const row = tahesabDetail.value
|
||||
if (!row) return []
|
||||
return [
|
||||
{ label: 'شناسه', value: row.id },
|
||||
{ label: 'مشتری', value: row.customer?.name },
|
||||
{ label: 'نوع', value: row.type },
|
||||
{ label: 'مقدار', value: row.amount },
|
||||
{ label: 'شرح', value: row.desc },
|
||||
{ label: 'وضعیت', value: tahesabStatusLabel(row) },
|
||||
{ label: 'کد تهحساب', value: row.tahesab_id }
|
||||
]
|
||||
})
|
||||
|
||||
function tahesabStatusLabel(row?: TahesabRecord | null) {
|
||||
if (!row) return '-'
|
||||
if (row.tahesab_id) return 'موفق'
|
||||
if (row.sync_status === 'failed') return 'ناموفق'
|
||||
if (row.sync_status === 'success') return 'موفق'
|
||||
return 'در انتظار'
|
||||
}
|
||||
|
||||
const tblProps = ref({
|
||||
columns: getAccountingColumns(),
|
||||
columns: getAccountingColumns(props.showTahesab),
|
||||
api: (params: TableInput) => getTotalAccountingTable(params)
|
||||
})
|
||||
|
||||
watch(
|
||||
() => props.showTahesab,
|
||||
(enabled) => {
|
||||
tblProps.value.columns = getAccountingColumns(enabled)
|
||||
}
|
||||
)
|
||||
|
||||
async function fetch() {
|
||||
if (isMobile.value) {
|
||||
await mobileListRef.value?.fetch?.()
|
||||
@@ -63,5 +145,22 @@ async function fetch() {
|
||||
await reload()
|
||||
}
|
||||
|
||||
function openTahesabRetry(record: { tahesab_failed_id?: number }) {
|
||||
if (!record.tahesab_failed_id) return
|
||||
selectedTahesabId.value = record.tahesab_failed_id
|
||||
tahesabRetryVisible.value = true
|
||||
}
|
||||
|
||||
async function openTahesabDetail(record: { tahesab_record_id?: number }) {
|
||||
if (!record.tahesab_record_id) return
|
||||
selectedTahesabId.value = record.tahesab_record_id
|
||||
try {
|
||||
tahesabDetail.value = await getTahesabDetail(record.tahesab_record_id)
|
||||
tahesabDetailVisible.value = true
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
}
|
||||
}
|
||||
|
||||
defineExpose({ fetch })
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,134 @@
|
||||
<template>
|
||||
<div class="min-w-0 w-full max-w-full overflow-x-hidden">
|
||||
<BasicShowContext title="اسناد تهحساب">
|
||||
<div v-if="!isMobile" class="min-w-0 w-full max-w-full overflow-x-auto">
|
||||
<BaseTable v-bind="tblProps" @register="submit" ref="tbl">
|
||||
<template #action="{ record }">
|
||||
<div class="flex justify-center gap-2">
|
||||
<a-tooltip placement="bottom" class="cursor-pointer" @click="openDetail(record)">
|
||||
<template #title><span>جزئیات</span></template>
|
||||
<Icon icon="vuesax-linear:stickynote" color="#10913A" />
|
||||
</a-tooltip>
|
||||
<a-tooltip
|
||||
v-if="canRetry(record)"
|
||||
placement="bottom"
|
||||
class="cursor-pointer"
|
||||
@click="openRetry(record)"
|
||||
>
|
||||
<template #title><span>ارسال به تهحساب</span></template>
|
||||
<Icon icon="vuesax-linear:refresh-circle" color="#CA8A04" />
|
||||
</a-tooltip>
|
||||
</div>
|
||||
</template>
|
||||
</BaseTable>
|
||||
</div>
|
||||
</BasicShowContext>
|
||||
|
||||
<BasicModal v-model:visible="detailVisible" title="جزئیات سند تهحساب" width="36rem" :footer="null">
|
||||
<div class="space-y-2 text-sm">
|
||||
<div v-for="item in detailItems" :key="item.label" class="flex justify-between gap-3 border-b border-gray-100 py-2">
|
||||
<span class="text-gray-500">{{ item.label }}</span>
|
||||
<span class="break-all text-left">{{ item.value ?? '-' }}</span>
|
||||
</div>
|
||||
<div v-if="selected?.sync_log" class="rounded-lg bg-red-50 p-3 text-red-700 whitespace-pre-wrap">
|
||||
{{ selected.sync_log }}
|
||||
</div>
|
||||
</div>
|
||||
</BasicModal>
|
||||
|
||||
<TahesabRetryModal
|
||||
v-model="retryVisible"
|
||||
mode="retry-sanad"
|
||||
:tahesab-id="selected?.id"
|
||||
@success="fetch"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { computed, ref } from 'vue'
|
||||
import useBaseTable from '@core/components/BaseTable/hooks/useBaseTable'
|
||||
import type { TableInput } from '@core/type/baseTable'
|
||||
import { getTahesabTable, type TahesabRecord } from '@/api/tahesab'
|
||||
import Icon from '@core/components/BaseIcon/src/Icon.vue'
|
||||
import { isMobile } from '@core/utils/is'
|
||||
import BasicModal from '@/components/BasicModal.vue'
|
||||
import TahesabRetryModal from '@/components/TahesabRetryModal.vue'
|
||||
import { toJalali } from '@core/utils/useDataTime'
|
||||
|
||||
const [submit, reload] = useBaseTable()
|
||||
const detailVisible = ref(false)
|
||||
const retryVisible = ref(false)
|
||||
const selected = ref<TahesabRecord | null>(null)
|
||||
|
||||
const columns = [
|
||||
{ title: 'ردیف', dataIndex: 'id', key: 'id', filterable: false, sortable: false, customRender: (r: any) => r.index + 1 },
|
||||
{ title: 'مشتری', dataIndex: 'customer.name', key: 'customer.name', type: 'Text' },
|
||||
{ title: 'نوع', dataIndex: 'type', key: 'type', type: 'Text' },
|
||||
{ title: 'مقدار', dataIndex: 'amount', key: 'amount', type: 'Number' },
|
||||
{ title: 'شرح', dataIndex: 'desc', key: 'desc', type: 'Text' },
|
||||
{
|
||||
title: 'وضعیت',
|
||||
dataIndex: 'sync_status',
|
||||
key: 'sync_status',
|
||||
type: 'Text',
|
||||
customRender: (r: any) => statusLabel(r.record.sync_status, r.record.tahesab_id)
|
||||
},
|
||||
{
|
||||
title: 'زمان',
|
||||
dataIndex: 'created_at',
|
||||
key: 'created_at',
|
||||
type: 'Text',
|
||||
customRender: (r: any) => toJalali(r.record.created_at)
|
||||
},
|
||||
{ title: 'عملیات', dataIndex: 'action', key: 'action', slot: 'action', filterable: false }
|
||||
]
|
||||
|
||||
const tblProps = ref({
|
||||
columns,
|
||||
api: (params: TableInput) => getTahesabTable(params)
|
||||
})
|
||||
|
||||
const detailItems = computed(() => {
|
||||
const row = selected.value
|
||||
if (!row) return []
|
||||
return [
|
||||
{ label: 'شناسه', value: row.id },
|
||||
{ label: 'مشتری', value: row.customer?.name },
|
||||
{ label: 'موبایل', value: row.customer?.mobile },
|
||||
{ label: 'نوع', value: row.type },
|
||||
{ label: 'مقدار', value: row.amount },
|
||||
{ label: 'شرح', value: row.desc },
|
||||
{ label: 'وضعیت', value: statusLabel(row.sync_status, row.tahesab_id) },
|
||||
{ label: 'کد تهحساب', value: row.tahesab_id },
|
||||
{ label: 'پاسخ API', value: row.res }
|
||||
]
|
||||
})
|
||||
|
||||
function statusLabel(status?: string, tahesabId?: string | null) {
|
||||
if (tahesabId) return 'موفق'
|
||||
if (status === 'failed') return 'ناموفق'
|
||||
if (status === 'success') return 'موفق'
|
||||
return 'در انتظار'
|
||||
}
|
||||
|
||||
function canRetry(record: TahesabRecord) {
|
||||
return !record.tahesab_id || record.sync_status === 'failed'
|
||||
}
|
||||
|
||||
function openDetail(record: TahesabRecord) {
|
||||
selected.value = record
|
||||
detailVisible.value = true
|
||||
}
|
||||
|
||||
function openRetry(record: TahesabRecord) {
|
||||
selected.value = record
|
||||
retryVisible.value = true
|
||||
}
|
||||
|
||||
async function fetch() {
|
||||
await reload()
|
||||
}
|
||||
|
||||
defineExpose({ fetch })
|
||||
</script>
|
||||
@@ -22,7 +22,7 @@ const filteredDocTypes: FilterSelect = docTypes?.map((x: DocItem) => {
|
||||
}
|
||||
})*/
|
||||
|
||||
export function getAccountingColumns(): BaseTableColumn[] {
|
||||
export function getAccountingColumns(showTahesab = false): BaseTableColumn[] {
|
||||
return [
|
||||
{
|
||||
title: 'ردیف',
|
||||
@@ -76,6 +76,25 @@ export function getAccountingColumns(): BaseTableColumn[] {
|
||||
key: 'note',
|
||||
type: 'Text',
|
||||
},
|
||||
...(showTahesab
|
||||
? [
|
||||
{
|
||||
title: 'تهحساب',
|
||||
dataIndex: 'tahesab_sync_status',
|
||||
key: 'tahesab_sync_status',
|
||||
type: 'Text',
|
||||
filterable: false,
|
||||
customRender: (record: any) => {
|
||||
const row = record.record
|
||||
if (!row.tahesab_record_id && !row.tahesab_sync_status) return '-'
|
||||
if (row.tahesab_failed_id) return 'ناموفق'
|
||||
if (row.tahesab_sync_status === 'success') return 'موفق'
|
||||
if (row.tahesab_sync_status === 'pending') return 'در انتظار'
|
||||
return row.tahesab_sync_status ?? '-'
|
||||
}
|
||||
} as BaseTableColumn
|
||||
]
|
||||
: []),
|
||||
{
|
||||
title: 'عملیات',
|
||||
dataIndex: 'action',
|
||||
|
||||
@@ -1,12 +1,20 @@
|
||||
<template>
|
||||
<div>
|
||||
<BasicMainCard>
|
||||
<div class="flex h-full w-full min-w-0 max-w-full overflow-x-hidden">
|
||||
<tbl ref="table" class="h-full w-full min-w-0" @info="onAccountingWithdraw" @orders="onAccountingOrders" />
|
||||
|
||||
<!-- <BasicMenu :menu="menu" width="13rem" @onChange="tabSelected" />
|
||||
<component :is="selectedComponent" class="mr-5" />-->
|
||||
<!-- <BasicShowContext title="پروژه ها"> <Search /> </BasicShowContext>-->
|
||||
<div class="flex h-full w-full min-w-0 max-w-full flex-col overflow-x-hidden">
|
||||
<ATabs v-if="tahesabEnabled" v-model:activeKey="activeTab" class="mb-3 shrink-0">
|
||||
<ATabPane key="reports" tab="گزارشات" />
|
||||
<ATabPane key="tahesab" tab="اسناد تهحساب" />
|
||||
</ATabs>
|
||||
<tbl
|
||||
v-if="!tahesabEnabled || activeTab === 'reports'"
|
||||
ref="table"
|
||||
class="min-h-0 flex-1"
|
||||
:show-tahesab="tahesabEnabled"
|
||||
@info="onAccountingWithdraw"
|
||||
@orders="onAccountingOrders"
|
||||
/>
|
||||
<tahesabTbl v-else-if="tahesabEnabled" ref="tahesabTable" class="min-h-0 flex-1" />
|
||||
</div>
|
||||
</BasicMainCard>
|
||||
<BasicModal
|
||||
@@ -126,6 +134,7 @@ import { inputLenRules, inputRules, inputRulesNumber } from '@/utils/inputRules'
|
||||
import { useStaticApiListsStore } from '@/store/staticApisStore'
|
||||
import { ref } from 'vue'
|
||||
import tbl from './components/table.vue'
|
||||
import tahesabTbl from './components/tahesabTable.vue'
|
||||
import type { FormInstance } from 'ant-design-vue'
|
||||
import BasicInfoModal from '@/components/BasicInfoModal/index.vue'
|
||||
import { message } from 'ant-design-vue/es'
|
||||
@@ -144,9 +153,12 @@ import type { last } from '@/model/price'
|
||||
import { createOrder } from '@/api/order'
|
||||
import { getCashBalance, getGoldBalance } from '@/components/mobile/utils/wallet'
|
||||
import { metalLabel } from '@/utils/adminMetalLabels'
|
||||
import { initTahesabSettingFromApi, tahesabEnabledSetting } from '@/utils/config'
|
||||
|
||||
//loading
|
||||
const loading = ref<boolean>(false)
|
||||
const activeTab = ref<'reports' | 'tahesab'>('reports')
|
||||
const tahesabEnabled = tahesabEnabledSetting
|
||||
|
||||
//define store
|
||||
const store = useStaticApiListsStore()
|
||||
@@ -171,6 +183,7 @@ async function getCustomers() {
|
||||
|
||||
onMounted(() => {
|
||||
getCustomers()
|
||||
void initTahesabSettingFromApi()
|
||||
})
|
||||
|
||||
//form
|
||||
|
||||
@@ -57,6 +57,15 @@
|
||||
<template #title><span>{{ metalLabel.goldWalletCharge() }}</span></template>
|
||||
<Icon icon="vuesax-linear:wallet-money" color="#ea580c" />
|
||||
</a-tooltip>
|
||||
<a-tooltip
|
||||
v-if="tahesabEnabled && !record.moshtari_code"
|
||||
placement="bottom"
|
||||
class="cursor-pointer"
|
||||
@click="openTahesabRegister(record)"
|
||||
>
|
||||
<template #title><span>ثبت در تهحساب</span></template>
|
||||
<Icon icon="vuesax-linear:refresh-circle" color="#CA8A04" />
|
||||
</a-tooltip>
|
||||
<a-tooltip placement="bottom" class="cursor-pointer" @click="emits('info', record)">
|
||||
<template #title><span>مشخصات</span></template>
|
||||
<Icon icon="vuesax-linear:stickynote" color="#10913A" />
|
||||
@@ -130,6 +139,15 @@
|
||||
<BasicInfoItem title="شماره ملی" :value="confirmInfo?.n_code" />
|
||||
</div>
|
||||
</BasicModal>
|
||||
|
||||
<TahesabRetryModal
|
||||
v-if="tahesabEnabled"
|
||||
v-model="tahesabRegisterVisible"
|
||||
mode="register-customer"
|
||||
:customer-id="tahesabCustomer?.id"
|
||||
:customer-name="tahesabCustomer?.name"
|
||||
@success="fetch"
|
||||
/>
|
||||
</BasicShowContext>
|
||||
</div>
|
||||
</template>
|
||||
@@ -154,6 +172,8 @@ import type { Customer } from '@/model/customer'
|
||||
import { MODAL_ABOVE_ACTION_SHEET_Z_INDEX } from '@/constants/overlayZIndex'
|
||||
import { isMobile } from '@core/utils/is'
|
||||
import { metalLabel } from '@/utils/adminMetalLabels'
|
||||
import TahesabRetryModal from '@/components/TahesabRetryModal.vue'
|
||||
import { tahesabEnabledSetting, initTahesabSettingFromApi } from '@/utils/config'
|
||||
|
||||
const [submit, reload] = useBaseTable()
|
||||
const emits = defineEmits(['delete', 'edit', 'add', 'info', 'chargeMoney', 'chargeGold'])
|
||||
@@ -161,6 +181,9 @@ const emits = defineEmits(['delete', 'edit', 'add', 'info', 'chargeMoney', 'char
|
||||
const loading = ref(false)
|
||||
const confirmVisible = ref(false)
|
||||
const confirmInfo = ref<Customer>()
|
||||
const tahesabRegisterVisible = ref(false)
|
||||
const tahesabCustomer = ref<Customer>()
|
||||
const tahesabEnabled = tahesabEnabledSetting
|
||||
const mobileListRef = ref<null | { fetch: () => Promise<void> }>(null)
|
||||
|
||||
const tblProps = ref<any>({
|
||||
@@ -179,6 +202,10 @@ const fetch = async () => {
|
||||
|
||||
defineExpose({ fetch })
|
||||
|
||||
onMounted(() => {
|
||||
void initTahesabSettingFromApi()
|
||||
})
|
||||
|
||||
async function changeCustomerActivationFunction(id: number) {
|
||||
try {
|
||||
loading.value = true
|
||||
@@ -197,6 +224,11 @@ function openConfirmUser(user: Customer) {
|
||||
confirmVisible.value = true
|
||||
}
|
||||
|
||||
function openTahesabRegister(user: Customer) {
|
||||
tahesabCustomer.value = user
|
||||
tahesabRegisterVisible.value = true
|
||||
}
|
||||
|
||||
function handleArchive(customer: Customer) {
|
||||
Modal.confirm({
|
||||
title: 'آیا مشتری را بایگانی می کنید؟',
|
||||
|
||||
@@ -66,6 +66,14 @@
|
||||
@click="emits('weight', record)"
|
||||
/>
|
||||
</a-tooltip>
|
||||
<a-tooltip
|
||||
v-if="tahesabEnabled && record.tahesab_failed_id"
|
||||
class="cursor-pointer"
|
||||
@click="openTahesabRetry(record)"
|
||||
>
|
||||
<template #title><span>ارسال به تهحساب</span></template>
|
||||
<Icon icon="vuesax-linear:refresh-circle" color="#CA8A04" />
|
||||
</a-tooltip>
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</template>
|
||||
@@ -80,6 +88,14 @@
|
||||
@weight="(row) => emits('weight', row)"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<TahesabRetryModal
|
||||
v-if="tahesabEnabled"
|
||||
v-model="tahesabRetryVisible"
|
||||
mode="retry-sanad"
|
||||
:tahesab-id="selectedTahesabId"
|
||||
@success="fetch"
|
||||
/>
|
||||
</BasicShowContext>
|
||||
</div>
|
||||
</template>
|
||||
@@ -98,6 +114,8 @@ import {getWithdrawTable, updateSts} from '@/api/wallet'
|
||||
import WithdrawMobileCardList from './WithdrawMobileCardList.vue'
|
||||
import { isMobile } from '@core/utils/is'
|
||||
import type { WithdrawFlowType } from '../types'
|
||||
import TahesabRetryModal from '@/components/TahesabRetryModal.vue'
|
||||
import { initTahesabSettingFromApi, tahesabEnabledSetting } from '@/utils/config'
|
||||
|
||||
const props = withDefaults(
|
||||
defineProps<{
|
||||
@@ -110,6 +128,9 @@ const props = withDefaults(
|
||||
|
||||
const [submit, reload] = useBaseTable()
|
||||
const mobileListRef = ref<null | { fetch: () => Promise<void> }>(null)
|
||||
const tahesabRetryVisible = ref(false)
|
||||
const selectedTahesabId = ref<number>()
|
||||
const tahesabEnabled = tahesabEnabledSetting
|
||||
/*const select = (val) => {
|
||||
val.sts === 1 ? return ['1'] : ['2']
|
||||
}*/
|
||||
@@ -166,6 +187,12 @@ async function changeCustomerActivationFunction(id: number) {
|
||||
async function fetch() {
|
||||
await Promise.allSettled([reload(), mobileListRef.value?.fetch?.() as Promise<void>])
|
||||
}
|
||||
|
||||
function openTahesabRetry(record: { tahesab_failed_id?: number }) {
|
||||
if (!record.tahesab_failed_id) return
|
||||
selectedTahesabId.value = record.tahesab_failed_id
|
||||
tahesabRetryVisible.value = true
|
||||
}
|
||||
// const spinTable = (val: boolean) => {
|
||||
// // console.log('sss')
|
||||
// table?.value?.loading.value = val
|
||||
@@ -175,6 +202,10 @@ defineExpose({
|
||||
getExportParams: () => ({ ...lastTableParams.value, flow_type: props.flowType })
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
void initTahesabSettingFromApi()
|
||||
})
|
||||
|
||||
import { status } from '@/pages/menuPages/withdraw/information/hooks/status'
|
||||
import {toNumber} from "lodash";
|
||||
const withdrawId = ref(null)
|
||||
|
||||
Reference in New Issue
Block a user