This commit is contained in:
2026-05-09 14:07:28 +08:00
parent 698ea070ae
commit ec5dff1073
50 changed files with 205 additions and 9 deletions

View File

@ -1,6 +1,8 @@
<template>
<div class="app-container">
<router-view></router-view>
<KeepAlive>
<router-view></router-view>
</KeepAlive>
</div>
</template>

View File

@ -18,13 +18,13 @@
<!-- 主体内容区 -->
<main class="main-content">
<router-view v-slot="{ Component }">
<transition name="fade-transform" mode="out-in">
<transition name="fade-transform" mode="out-in">
<router-view v-slot="{ Component }">
<KeepAlive>
<component :is="Component" :key="route.path" />
</KeepAlive>
</transition>
</router-view>
</router-view>
</transition>
</main>
</section>
</section>
@ -32,6 +32,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Layout'
})
import Header from './Header.vue'
import Sidebar from './Sidebar.vue'
import Breadcrumb from './Breadcrumb.vue'

View File

@ -105,7 +105,7 @@ const handleTabClick = (tab: any) => {
}
//
const handleTabRemove = (path: string) => {
const handleTabRemove = (path: any) => {
tabsStore.removeTab(path)
//
if (path === route.path && tabsStore.activeTab) {

View File

@ -4,6 +4,12 @@
</div>
</template>
<script setup lang="ts">
defineOptions({
name: 'NotFound'
})
</script>
<style scoped>
.not-found {
display: flex;

View File

@ -3,6 +3,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'AnimatedNumber'
})
import { ref, watch, onMounted, onUnmounted } from 'vue';
interface Props {

View File

@ -92,6 +92,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Default'
})
import { ref, watch, computed } from 'vue'
import { ElAvatar, ElIcon, ElDrawer, ElButton, ElMessage } from 'element-plus'
import { UserFilled, Phone, Message, Money, Wallet, Clock, CreditCard } from '@element-plus/icons-vue'

View File

@ -104,6 +104,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'User'
})
//
import CustomerListSearch from '@/components/common/Search.vue'
import CustomerListTable from '@/components/common/Table.vue'

View File

@ -26,6 +26,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Currency'
})
import FundDetailHeader from '@/components/common/header.vue'
import FundDetailTable from '@/components/common/Table.vue'
import FundDetailDialog from '@/components/common/Dialog.vue'

View File

@ -24,6 +24,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'FundFlow'
})
//
import FundDetailSearch from '@/components/common/Search.vue'
import FundDetailTable from '@/components/common/Table.vue'

View File

@ -66,6 +66,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Rechange'
})
import type { FormInstance, FormRules } from 'element-plus'
import { ElMessage } from 'element-plus'
import { nextTick, ref } from 'vue'

View File

@ -33,6 +33,10 @@
</div>
</template>
<script setup lang="ts">
defineOptions({
name: 'RechangeChanl'
})
//
import DepositChannelTable from '@/components/common/Table.vue'
import Form from '@/components/common/Form.vue'

View File

@ -61,6 +61,10 @@
</template>
<script lang="ts" setup>
defineOptions({
name: 'RechangeCheck'
})
import { ElMessage } from 'element-plus'
import { onMounted, ref } from 'vue'
import RechangeSearch from '@/components/common/Search.vue'

View File

@ -123,6 +123,10 @@
</div>
</template>
<script setup lang="ts">
defineOptions({
name: 'Transfer'
})
//
import TransferForm from '@/components/common/Form.vue'

View File

@ -71,6 +71,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Withdraw'
})
import type { FormInstance, FormRules } from 'element-plus'
import type { LocationQueryValue } from 'vue-router'
import { ElMessage } from 'element-plus'

View File

@ -1,4 +1,8 @@
<script setup lang="ts"></script>
<script setup lang="ts">
defineOptions({
name: 'WithdrawChanl'
})</script>
<template>
<h1>取款渠道</h1>

View File

@ -37,6 +37,10 @@
</template>
<script lang="ts" setup>
defineOptions({
name: 'WithdrawCheck'
})
import { ElMessage } from 'element-plus'
import { computed, onMounted, ref } from 'vue'
import WithdrawSearch from '@/components/common/Search.vue'

View File

@ -211,6 +211,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'View'
})
import { CircleCheckFilled, EditPen, Setting, DocumentCopy } from '@element-plus/icons-vue'
//
import AgentDialog from '@/components/common/Dialog.vue'

View File

@ -16,6 +16,10 @@
</template>
<script setup>
defineOptions({
name: 'Dashboard'
})
import { UserFilled } from '@element-plus/icons-vue'
import { getStorage } from '@/utils/storage'

View File

@ -89,6 +89,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'HandleFee'
})
import { ref, onMounted } from 'vue'
import {
getFeeSettingList,

View File

@ -70,6 +70,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Risk'
})
//
import RiskTableSwitch from '@/components/common/Table.vue'
import RiskTableContent from '@/components/common/Table.vue'

View File

@ -1,4 +1,8 @@
<script setup lang="ts"></script>
<script setup lang="ts">
defineOptions({
name: 'DocumentaryOrder'
})</script>
<template>
<h1>跟单订单</h1>

View File

@ -20,6 +20,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'History'
})
//
import CustomerTradeOrderSearch from '@/components/common/Search.vue'
import CustomerTradeOrderTable from '@/components/common/Table.vue'

View File

@ -18,6 +18,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Position'
})
//
import PositionStatSearch from '@/components/common/Search.vue'
import PositionStatTable from '@/components/common/Table.vue'

View File

@ -36,6 +36,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Rechange'
})
import { onMounted, ref } from 'vue'
import OrderRechangeSearch from '@/components/common/Search.vue'
import OrderRechangeTable from '@/components/common/Table.vue'

View File

@ -1,4 +1,8 @@
<script setup lang="ts"></script>
<script setup lang="ts">
defineOptions({
name: 'SingleOrder'
})</script>
<template>
<h1>带单订单</h1>

View File

@ -30,6 +30,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Transfer'
})
//
import TransferSearch from '@/components/common/Search.vue'
import TransferTable from '@/components/common/Table.vue'

View File

@ -20,6 +20,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Withdraw'
})
import { computed, ref } from 'vue'
import OrderWithdrawSearch from '@/components/common/Search.vue'
import OrderWithdrawTable from '@/components/common/Table.vue'

View File

@ -98,6 +98,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Agent'
})
//
import CustomerListSearch from '@/components/common/Search.vue'
import CustomerListTable from '@/components/common/Table.vue'

View File

@ -125,6 +125,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Business'
})
//
import MarketSearch from '@/components/common/Search.vue'
import MarketTable from '@/components/common/Table.vue'

View File

@ -52,6 +52,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Kyc'
})
import type { UploadProps } from 'element-plus'
import { WarnTriangleFilled, Plus } from '@element-plus/icons-vue'

View File

@ -120,6 +120,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'PersonalCenter'
})
import { ref, reactive, onMounted, onUnmounted, nextTick } from 'vue';
import { ElMessage, type FormInstance, type FormRules } from 'element-plus';
import { UserFilled } from '@element-plus/icons-vue';

View File

@ -95,6 +95,10 @@
</template>
<script lang="ts" setup>
defineOptions({
name: 'User'
})
//
import ClientSearch from '@/components/common/Search.vue'
import ClientTable from '@/components/common/Table.vue'

View File

@ -65,6 +65,10 @@
</MenuDialog>
</template>
<script lang="ts" setup>
defineOptions({
name: 'Menu'
})
import type { FormInstance } from 'element-plus'
import { Plus } from '@element-plus/icons-vue'
//

View File

@ -95,6 +95,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Notice'
})
//
import NoticeSearch from '@/components/common/Search.vue'
import NoticeTable from '@/components/common/Table.vue'

View File

@ -100,6 +100,10 @@
</template>
<script lang="ts" setup>
defineOptions({
name: 'Role'
})
import type { FormInstance } from 'element-plus'
import { Plus } from '@element-plus/icons-vue'

View File

@ -27,6 +27,10 @@
</MenuDialog>
</template>
<script lang="ts" setup>
defineOptions({
name: 'Setting'
})
import type { FormInstance } from 'element-plus'
import { Plus } from '@element-plus/icons-vue'
//

View File

@ -56,6 +56,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Exe'
})
import { Monitor, Bottom } from '@element-plus/icons-vue'
</script>

View File

@ -85,6 +85,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Holidays'
})
import { ref, onMounted } from 'vue'
import { getGroupListApi } from '@/api/modules/trade/group'
import { getHolidayList, addHoliday, editHoliday, delHoliday } from '@/api/modules/trade/time'

View File

@ -148,6 +148,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Times'
})
//
import {
getGroupListApi,

View File

@ -89,6 +89,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Variety'
})
//
import VarietySearch from '@/components/common/Search.vue'
import VarietyTable from '@/components/common/Table.vue'

View File

@ -23,6 +23,10 @@
</template>
<script lang="ts" setup>
defineOptions({
name: 'ChangePassword'
})
// type
import type { FormInstance, FormRules } from 'element-plus'
//

View File

@ -49,6 +49,10 @@
</template>
<script lang="ts" setup>
defineOptions({
name: 'ForgotPassword'
})
// type
import type { FormInstance, FormRules } from 'element-plus'
//

View File

@ -36,6 +36,10 @@
</template>
<script lang="ts" setup>
defineOptions({
name: 'Login'
})
// type
import type { FormInstance, FormRules } from 'element-plus'
//

View File

@ -102,6 +102,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Register'
})
// type
import type { FormInstance, FormRules } from 'element-plus'
//

View File

@ -17,6 +17,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'BindEmail'
})
// alert('')
// type
import type { FormInstance, FormRules } from 'element-plus'

View File

@ -25,6 +25,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'BindPhone'
})
// alert('')
// type
import type { FormInstance, FormRules } from 'element-plus'

View File

@ -10,6 +10,10 @@
<script setup lang="ts">
defineOptions({
name: 'Captcha'
})
const props = defineProps({
modelValue: {
type: String,

View File

@ -9,6 +9,10 @@
</template>
<script setup lang="ts">
defineOptions({
name: 'Header'
})
// UI
import LanguageSelect from '@/components/LanguageSelect/index.vue'

View File

@ -7,6 +7,10 @@
</template>
<script lang="ts" setup>
defineOptions({
name: 'Tabs'
})
import type { TabPaneName } from 'element-plus'
// 1. TabItem

View File

@ -9,6 +9,10 @@
</template>
<script lang="ts" setup>
defineOptions({
name: 'Text'
})
import { ArrowLeft } from '@element-plus/icons-vue'
interface UserText {
backText: string