From 0be6f421bfe8963b2d85f542759082a062aad534 Mon Sep 17 00:00:00 2001 From: fave3722 <372276175@qq.com> Date: Tue, 6 Sep 2022 18:44:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=BF=9E=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components.d.ts | 4 + package.json | 1 + src/api/BlockController/getHomePageList.ts | 8 -- src/api/BlockController/index.ts | 43 +++++++++ src/api/TransactionsController/index.ts | 12 +++ src/api/index.ts | 9 ++ src/components/base/UpperLowerSwitch.vue | 4 + src/components/footer.vue | 6 +- src/components/search.vue | 96 +++++++++++++++++++ src/components/table/constant.ts | 14 +-- src/components/table/dBase/bkRow.vue | 6 +- src/components/table/dBase/hpRow.vue | 57 ++++++----- src/components/table/desktop/bkTable.vue | 84 ++++++++++------ .../table/desktop/bkTableDetails.vue | 72 +++++++++----- src/components/table/desktop/hpTable.vue | 24 ++--- src/components/table/desktop/tokensTable.vue | 5 +- .../table/desktop/transactTable.vue | 54 ++++++++--- src/components/table/desktop/zExtraStyle.scss | 10 +- src/components/table/mBase/mobileCard.vue | 3 +- src/components/table/mBase/tokensCard.vue | 3 +- src/components/table/mBase/transactCard.vue | 3 +- src/pages/HomePage/index.vue | 81 +++++++--------- src/pages/TableBlock/Block/details.vue | 19 +++- src/pages/TableBlock/Block/index.vue | 3 +- src/utils/string.ts | 13 +++ src/utils/throttle.ts | 13 +++ tailwind.config.cjs | 2 + yarn.lock | 5 + 28 files changed, 472 insertions(+), 182 deletions(-) delete mode 100644 src/api/BlockController/getHomePageList.ts create mode 100644 src/api/BlockController/index.ts create mode 100644 src/api/TransactionsController/index.ts create mode 100644 src/components/search.vue create mode 100644 src/utils/string.ts create mode 100644 src/utils/throttle.ts diff --git a/components.d.ts b/components.d.ts index 3538e7e..1364ada 100644 --- a/components.d.ts +++ b/components.d.ts @@ -17,8 +17,11 @@ declare module '@vue/runtime-core' { ElPagination: typeof import('element-plus/es')['ElPagination'] ElSelect: typeof import('element-plus/es')['ElSelect'] ElSelectV2: typeof import('element-plus/es')['ElSelectV2'] + ElSkeleton: typeof import('element-plus/es')['ElSkeleton'] + ElSkeletonItem: typeof import('element-plus/es')['ElSkeletonItem'] ElTabPane: typeof import('element-plus/es')['ElTabPane'] ElTabs: typeof import('element-plus/es')['ElTabs'] + ElTooltip: typeof import('element-plus/es')['ElTooltip'] Footer: typeof import('./src/components/footer.vue')['default'] Hp_card: typeof import('./src/components/base/hp_card.vue')['default'] HpRow: typeof import('./src/components/table/dBase/hpRow.vue')['default'] @@ -28,6 +31,7 @@ declare module '@vue/runtime-core' { NowrapRow: typeof import('./src/components/table/mBase/nowrapRow.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] + Search: typeof import('./src/components/search.vue')['default'] Tabs: typeof import('./src/components/tabs.vue')['default'] THeader: typeof import('./src/components/table/dBase/tHeader.vue')['default'] TokensCard: typeof import('./src/components/table/mBase/tokensCard.vue')['default'] diff --git a/package.json b/package.json index aa5efc2..88f1442 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ }, "dependencies": { "axios": "^0.27.2", + "dayjs": "^1.11.5", "element-plus": "^2.2.14", "qrcode": "^1.5.1", "vue": "^3.2.37", diff --git a/src/api/BlockController/getHomePageList.ts b/src/api/BlockController/getHomePageList.ts deleted file mode 100644 index 7477278..0000000 --- a/src/api/BlockController/getHomePageList.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { requestService } from '../requst' - -export const getHomePageList = () => { - return requestService({ - url: '/api/block/getHomePageList', - method: 'get', - }) -} diff --git a/src/api/BlockController/index.ts b/src/api/BlockController/index.ts new file mode 100644 index 0000000..e4dcc8e --- /dev/null +++ b/src/api/BlockController/index.ts @@ -0,0 +1,43 @@ +import { requestService } from '../requst' + +export const getHomePageList = () => { + return requestService({ + url: '/api/block/getHomePageList', + method: 'get', + }) +} + +export const getSearch = (search: string) => { + return requestService({ + url: '/api/block/getSearch', + method: 'get', + params: { + search, + }, + }) +} + +interface getBlockParams { + hash?: string + number?: number +} +export const getBlock = (params: getBlockParams) => { + return requestService({ + url: '/api/block/getBlock', + method: 'get', + params, + }) +} +interface getfindBlockListParams { + pageNum?: number + pageSize?: number + orderByColumn?: string + isAsc?: string +} +export const getfindBlockList = (params: getfindBlockListParams) => { + return requestService({ + url: '/api/block/findBlockList', + method: 'get', + params, + }) +} diff --git a/src/api/TransactionsController/index.ts b/src/api/TransactionsController/index.ts new file mode 100644 index 0000000..b99118f --- /dev/null +++ b/src/api/TransactionsController/index.ts @@ -0,0 +1,12 @@ +import { requestService } from '../requst' +interface TransactionListProps { + pageNum?: Number + pageSize?: Number +} +export const getFindTransactionListPage = (params: TransactionListProps) => { + return requestService({ + url: '/api/transactions/findTransactionListPage', + params: params, + method: 'get', + }) +} diff --git a/src/api/index.ts b/src/api/index.ts index e69de29..cdafabc 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -0,0 +1,9 @@ +import * as BlockController from './BlockController/index' +import * as TokensController from './TokensController/index' +import * as TransactionsController from './TransactionsController/index' + +export default { + ...BlockController, + ...TokensController, + ...TransactionsController, +} diff --git a/src/components/base/UpperLowerSwitch.vue b/src/components/base/UpperLowerSwitch.vue index 9462896..bc20827 100644 --- a/src/components/base/UpperLowerSwitch.vue +++ b/src/components/base/UpperLowerSwitch.vue @@ -5,6 +5,7 @@ >
@@ -13,6 +14,7 @@
@@ -24,6 +26,8 @@ import { ArrowLeftBold, ArrowRightBold } from '@element-plus/icons-vue' defineProps({ current: String, className: String, + prev: Function as any, + next: Function as any, }) diff --git a/src/components/footer.vue b/src/components/footer.vue index 3413dc4..85834b5 100644 --- a/src/components/footer.vue +++ b/src/components/footer.vue @@ -29,14 +29,14 @@

Blockchain

-

+

View Blocks

-

+

View Txs

diff --git a/src/components/search.vue b/src/components/search.vue new file mode 100644 index 0000000..19a4031 --- /dev/null +++ b/src/components/search.vue @@ -0,0 +1,96 @@ + + + + + diff --git a/src/components/table/constant.ts b/src/components/table/constant.ts index fff77b8..944b627 100644 --- a/src/components/table/constant.ts +++ b/src/components/table/constant.ts @@ -1,7 +1,7 @@ // bkTable表配置 export const bkTableCollocate = { labels: ['Block', 'date', 'Miner', 'Gas Limit', 'Gas Used'], // 表头 - sequence: ['block', 'date', 'miner', 'gasLimit', 'gasUsed'], // 对应数据的变量名称 + sequence: ['number', 'timestamp', 'miner', 'gasLimit', 'gasUsed'], // 对应数据的变量名称 // 数据颜色 colorSequence: [ 'text-blue-65B5FF', @@ -28,9 +28,9 @@ export const detailsCollocate = { 'Nonce', ], // 表头 sequence: [ - 'blockHeight', + 'number', 'timestamp', - 'transactions', + 'transactionNum', 'miner', 'size', 'hash', @@ -84,13 +84,13 @@ export const transactTableCollocate = { ], // 表头 sequence: [ 'hash', - 'block', - 'smartContract', - 'age', + 'blockNumber', + 'gasPrice', + 'timestamp', 'from', 'to', 'result', - 'tXFee', + 'fee', ], // 对应数据的变量名称 // 数据颜色 colorSequence: [ diff --git a/src/components/table/dBase/bkRow.vue b/src/components/table/dBase/bkRow.vue index 42e7e8f..212b361 100644 --- a/src/components/table/dBase/bkRow.vue +++ b/src/components/table/dBase/bkRow.vue @@ -24,12 +24,10 @@
- {{ values[item] }} - +
+ + {{ (values && values[item]) || '-' }} + + +
+
+ {{ values?.[item] }} + +
- diff --git a/src/components/table/desktop/bkTable.vue b/src/components/table/desktop/bkTable.vue index fb51eb3..4b1c395 100644 --- a/src/components/table/desktop/bkTable.vue +++ b/src/components/table/desktop/bkTable.vue @@ -1,22 +1,34 @@ diff --git a/src/components/table/desktop/bkTableDetails.vue b/src/components/table/desktop/bkTableDetails.vue index 6e83159..9cc03ae 100644 --- a/src/components/table/desktop/bkTableDetails.vue +++ b/src/components/table/desktop/bkTableDetails.vue @@ -6,45 +6,73 @@ v-for="(item, index) in invariable.labels" :key="index + item" :title="item" - :value="data[invariable.sequence[index]]" + :value="currentData?.[invariable.sequence?.[index]]?.toString()" :value-color="invariable.colorSequence[index]" :is-copy="invariable.isCopys[index]" /> - +
- diff --git a/src/components/table/desktop/hpTable.vue b/src/components/table/desktop/hpTable.vue index 9f5cab7..7ef19f5 100644 --- a/src/components/table/desktop/hpTable.vue +++ b/src/components/table/desktop/hpTable.vue @@ -11,25 +11,15 @@ - diff --git a/src/components/table/desktop/tokensTable.vue b/src/components/table/desktop/tokensTable.vue index 8548cb4..d3a3227 100644 --- a/src/components/table/desktop/tokensTable.vue +++ b/src/components/table/desktop/tokensTable.vue @@ -52,7 +52,7 @@ import THeader from '../dBase/tHeader.vue' import BkRow from '../dBase/bkRow.vue' import { dimensionalUpgrade } from '../tool' import { tokensTableCollocate } from '../constant' -import router from '@src/routes' +import { useRouter } from 'vue-router' const props = defineProps({ data: Array as any, @@ -61,6 +61,9 @@ const invariable = { ...tokensTableCollocate, pageSize: 10, // 每一页的数量 } + +const router = useRouter() + const paginationState = reactive({ totalPage: Math.floor(props?.data.length / invariable.pageSize + 1) * diff --git a/src/components/table/desktop/transactTable.vue b/src/components/table/desktop/transactTable.vue index b1b178d..7978d23 100644 --- a/src/components/table/desktop/transactTable.vue +++ b/src/components/table/desktop/transactTable.vue @@ -25,7 +25,6 @@ layout="prev, pager, next, jumper" v-model:current-page="currentPage" :total="paginationState.totalPage" - @current-change="handleCurrentChange" /> Page @@ -33,33 +32,58 @@ diff --git a/src/components/table/desktop/zExtraStyle.scss b/src/components/table/desktop/zExtraStyle.scss index b7e34da..ca6f11e 100644 --- a/src/components/table/desktop/zExtraStyle.scss +++ b/src/components/table/desktop/zExtraStyle.scss @@ -11,7 +11,7 @@ justify-content: center; align-items: center; height: 30px; - width: 30px; + width: auto !important; margin: 0px 8px; box-sizing: border-box; background: #19191a; @@ -38,4 +38,10 @@ inset; } } -} \ No newline at end of file +} + +.bk-table{ + .el-skeleton.is-animated .el-skeleton__item { + background: #272728; + } +} \ No newline at end of file diff --git a/src/components/table/mBase/mobileCard.vue b/src/components/table/mBase/mobileCard.vue index 61ddada..d39e634 100644 --- a/src/components/table/mBase/mobileCard.vue +++ b/src/components/table/mBase/mobileCard.vue @@ -20,14 +20,15 @@ diff --git a/src/components/table/mBase/tokensCard.vue b/src/components/table/mBase/tokensCard.vue index c8ce644..bcb1cc8 100644 --- a/src/components/table/mBase/tokensCard.vue +++ b/src/components/table/mBase/tokensCard.vue @@ -20,14 +20,15 @@ diff --git a/src/components/table/mBase/transactCard.vue b/src/components/table/mBase/transactCard.vue index aa15a9b..c013aa5 100644 --- a/src/components/table/mBase/transactCard.vue +++ b/src/components/table/mBase/transactCard.vue @@ -22,14 +22,15 @@ diff --git a/src/pages/HomePage/index.vue b/src/pages/HomePage/index.vue index 4f74658..c98af6f 100644 --- a/src/pages/HomePage/index.vue +++ b/src/pages/HomePage/index.vue @@ -3,29 +3,7 @@
-
- - MetaForce Scan -
-
-
- -
-
+
+