Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mining-manager
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Mining
mining-manager
Commits
b3abe08e
Commit
b3abe08e
authored
Apr 25, 2022
by
louyuqi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
c12725d3
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
439 additions
and
156 deletions
+439
-156
index.ts
src/api/index.ts
+10
-5
newUsersSearvice.ts
src/api/newUsersSearvice.ts
+16
-0
ruleSetSearvice.ts
src/api/ruleSetSearvice.ts
+23
-0
menu.ts
src/config/menu.ts
+7
-0
main.ts
src/main.ts
+1
-1
Login.vue
src/views/Login.vue
+1
-0
newUser.vue
src/views/data/newUser.vue
+102
-7
ruleSet.vue
src/views/data/ruleSet.vue
+134
-0
info.vue
src/views/user/info.vue
+145
-143
No files found.
src/api/index.ts
View file @
b3abe08e
...
@@ -18,6 +18,10 @@ instance.interceptors.request.use((config)=>{
...
@@ -18,6 +18,10 @@ instance.interceptors.request.use((config)=>{
return
config
return
config
}
}
})
})
instance
.
interceptors
.
response
.
use
((
response
)
=>
{
// console.log('ee',response)
return
response
.
data
})
const
store
=
getStore
<
USR
<
any
>>
(
'mining-manager'
)
const
store
=
getStore
<
USR
<
any
>>
(
'mining-manager'
)
export
const
doLogin
=
async
(
data
:
LoginData
)
=>
{
export
const
doLogin
=
async
(
data
:
LoginData
)
=>
{
...
@@ -36,13 +40,13 @@ export const doLogin = async (data:LoginData) => {
...
@@ -36,13 +40,13 @@ export const doLogin = async (data:LoginData) => {
export
const
getPlatList
=
async
()
=>
{
export
const
getPlatList
=
async
()
=>
{
return
instance
.
get
(
'/api/admin/plat-list'
,)
.
then
(
res
=>
res
.
data
)
return
instance
.
get
(
'/api/admin/plat-list'
,)
}
}
export
const
getNodeList
=
async
(
params
:{
id
:
string
})
=>
{
export
const
getNodeList
=
async
(
params
:{
id
:
string
})
=>
{
return
instance
.
get
(
'/api/admin/node-list'
,{
params
})
.
then
(
res
=>
res
.
data
)
return
instance
.
get
(
'/api/admin/node-list'
,{
params
})
}
}
export
const
getPoolList
=
async
(
params
:{
id
:
string
})
=>
{
export
const
getPoolList
=
async
(
params
:{
id
:
string
})
=>
{
return
instance
.
get
(
'/api/admin/pool-list'
,{
params
})
.
then
(
res
=>
res
.
data
)
return
instance
.
get
(
'/api/admin/pool-list'
,{
params
})
}
}
export
interface
GetTransListParams
{
export
interface
GetTransListParams
{
...
@@ -86,4 +90,5 @@ export const downloadTxt = async(params:GetTransListParams)=>{
...
@@ -86,4 +90,5 @@ export const downloadTxt = async(params:GetTransListParams)=>{
}
}
})
})
}
}
\ No newline at end of file
export
default
instance
\ No newline at end of file
src/api/newUsersSearvice.ts
0 → 100644
View file @
b3abe08e
import
Http
from
'./index'
;
export
interface
INewUsersParams
{
platId
?:
string
,
nodeId
?:
string
,
poolId
?:
string
,
minerId
?:
string
,
addr
?:
string
,
type
?:
string
,
page
:
string
|
number
,
pageSize
:
string
|
number
,
date
?:
string
,
}
export
function
getNewUsersList
(
params
:
INewUsersParams
){
return
Http
.
get
(
'/api/admin/new-users'
,{
params
})
}
\ No newline at end of file
src/api/ruleSetSearvice.ts
0 → 100644
View file @
b3abe08e
import
Http
from
'./index'
;
export
interface
IAddRuleParams
{
ty
:
number
,
addr
:
string
}
export
interface
IWithdrawListParams
{
ty
:
number
,
page
:
string
|
number
,
pageSize
:
string
|
number
}
export
interface
IDeleteRuleParams
{
id
:
string
}
export
function
addWithdraw
(
params
:
IAddRuleParams
){
return
Http
.
post
(
'/api/admin/add-withdraw'
,
params
)
}
export
function
delWithdraw
(
params
:
IDeleteRuleParams
){
return
Http
.
post
(
'/api/admin/del-withdraw'
,
params
)
}
export
function
getWithdrawList
(
params
:
IWithdrawListParams
){
return
Http
.
get
(
'/api/admin/withdraw-list'
,{
params
})
}
\ No newline at end of file
src/config/menu.ts
View file @
b3abe08e
...
@@ -54,6 +54,13 @@ export const routes:RouteRecordRaw[]=[
...
@@ -54,6 +54,13 @@ export const routes:RouteRecordRaw[]=[
return
import
(
'../views/data/newUser.vue'
)
return
import
(
'../views/data/newUser.vue'
)
}
}
},
},
{
path
:
'rule-set'
,
name
:
'规则设置'
,
component
:
()
=>
{
return
import
(
'../views/data/ruleSet.vue'
)
}
},
]
]
}
}
...
...
src/main.ts
View file @
b3abe08e
import
{
createApp
}
from
'vue'
import
{
createApp
}
from
'vue'
import
App
from
'./App.vue'
import
App
from
'./App.vue'
import
ElementPlus
from
'element-plus'
import
ElementPlus
from
'element-plus'
import
'element-plus/dist/index.css'
import
router
from
'./router/index'
;
import
router
from
'./router/index'
;
import
'./style.css'
import
'./style.css'
import
'./assets/css/common.less'
import
'./assets/css/common.less'
import
'element-plus/dist/index.css'
createApp
(
App
).
use
(
ElementPlus
).
use
(
router
).
mount
(
'#app'
)
createApp
(
App
).
use
(
ElementPlus
).
use
(
router
).
mount
(
'#app'
)
src/views/Login.vue
View file @
b3abe08e
...
@@ -27,6 +27,7 @@ const login = async () => {
...
@@ -27,6 +27,7 @@ const login = async () => {
message
:
"用户登陆成功"
,
message
:
"用户登陆成功"
,
type
:
"success"
type
:
"success"
})
})
console
.
log
(
'?'
)
router
.
push
(
'/user'
)
router
.
push
(
'/user'
)
}
else
{
}
else
{
ElMessage
({
ElMessage
({
...
...
src/views/data/newUser.vue
View file @
b3abe08e
<
template
>
<
template
>
<div
class=
"m-container relative py-6 bg-white"
>
<div
class=
"m-container relative py-6 bg-white"
>
<div
class=
"right relative flex-grow px-3 pb-28 "
>
<div
class=
"right relative flex-grow px-3 pb-5 "
>
<Tabs
@
fresh=
"initTable"
></Tabs>
<Tabs
@
fresh=
"getData"
></Tabs>
<el-cascader
:show-all-levels=
"false"
:props=
"cascaderProps"
/>
<div
class=
"control-bar"
>
<el-cascader
class=
"control-bar-item"
clearable
placeholder=
"选择票池"
:show-all-levels=
"false"
v-model=
"params.ids"
:props=
"cascaderProps"
/>
<el-date-picker
v-model=
"params.date"
class=
"control-bar-item"
type=
"date"
placeholder=
"选择时间"
></el-date-picker>
<el-input
v-model=
"params.addr"
placeholder=
"地址"
class=
"control-bar-item"
></el-input>
<el-button
class=
"control-bar-item"
@
click=
"getData"
type=
"primary"
>
查询
</el-button>
</div>
</div>
<div
class=
"table-view w-full "
>
<div
class=
" text-sm opacity-50 py-3 px-3"
>
新用户:
{{
data
.
newUserCount
}}
</div>
<el-table
element-loading-text=
"加载中,请等待..."
:data=
"data.tableData"
class=
" container"
>
<el-table-column
v-for=
"i in config.columnSet"
:prop=
"i.prop"
:label=
"i.label"
>
</el-table-column>
</el-table>
</div>
<div
class=
"text-center mt-5"
>
<el-pagination
:page-size=
"params.pageSize"
@
current-change=
"getData"
v-model:current-page=
"params.page"
background
layout=
"prev, pager, next"
:total=
"data.newUserCount"
></el-pagination>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
...
@@ -10,9 +41,50 @@
...
@@ -10,9 +41,50 @@
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
Tabs
from
'../../components/tabs.vue'
;
import
Tabs
from
'../../components/tabs.vue'
;
import
{
getNodeList
,
getPlatList
,
getPoolList
}
from
"../../api"
;
import
{
getNodeList
,
getPlatList
,
getPoolList
}
from
"../../api"
;
const
initTable
=
()
=>
{
import
{
onMounted
,
reactive
}
from
"vue"
;
import
{
getNewUsersList
,
INewUsersParams
}
from
"../../api/newUsersSearvice"
;
import
dayjs
from
"dayjs"
;
onMounted
(()
=>
{
getData
();
})
const
params
=
reactive
({
ids
:[],
addr
:
undefined
,
page
:
1
,
pageSize
:
20
,
date
:
undefined
,
})
const
config
=
reactive
({
columnSet
:[
{
prop
:
'addr'
,
label
:
'用户地址'
},
{
prop
:
'ticket'
,
label
:
'委托票数'
},
{
prop
:
'dexBalance'
,
label
:
'交易所所得'
},
{
prop
:
'otherBalance'
,
label
:
'其他所得'
},
{
prop
:
'airBalance'
,
label
:
'空投所得'
},
]
as
{
prop
:
string
,
label
:
string
}[],
})
const
data
=
reactive
({
tableData
:[
}
],
newUserCount
:
0
,
})
const
getList
=
(
level
:
number
,
id
?:
string
)
=>
{
const
getList
=
(
level
:
number
,
id
?:
string
)
=>
{
console
.
log
(
level
)
console
.
log
(
level
)
const
searchArray
=
[
getNodeList
,
getPoolList
]
const
searchArray
=
[
getNodeList
,
getPoolList
]
...
@@ -21,7 +93,22 @@ const getList=(level:number,id?:string)=>{
...
@@ -21,7 +93,22 @@ const getList=(level:number,id?:string)=>{
}
}
return
getPlatList
()
return
getPlatList
()
}
}
let
id
=
0
const
getData
=
()
=>
{
const
param
:
INewUsersParams
=
{
platId
:
params
.
ids
[
0
],
nodeId
:
params
.
ids
[
1
],
poolId
:
params
.
ids
[
2
],
addr
:
params
.
addr
,
date
:
params
.
date
?
dayjs
(
params
.
date
).
unix
().
toString
():
undefined
,
page
:
params
.
page
,
pageSize
:
params
.
pageSize
}
getNewUsersList
(
param
).
then
(
res
=>
{
data
.
tableData
=
res
.
data
.
list
;
data
.
newUserCount
=+
res
.
data
.
data
.
count
// console.log('res',res)
})
}
const
cascaderProps
=
{
const
cascaderProps
=
{
lazy
:
true
,
lazy
:
true
,
lazyLoad
(
node
:
any
,
resolve
:
any
)
{
lazyLoad
(
node
:
any
,
resolve
:
any
)
{
...
@@ -51,6 +138,13 @@ const cascaderProps={
...
@@ -51,6 +138,13 @@ const cascaderProps={
}
}
</
script
>
</
script
>
<
style
scoped
>
<
style
lang=
"less"
scoped
>
.control-bar{
display: flex;
align-items: center;
/deep/ .control-bar-item+.control-bar-item{
margin-left: 10px;
}
}
</
style
>
</
style
>
\ No newline at end of file
src/views/data/ruleSet.vue
0 → 100644
View file @
b3abe08e
<
template
>
<div
class=
"m-container relative py-6 bg-white"
>
<div
class=
"right relative flex-grow px-3 pb-5 "
>
<Tabs
@
fresh=
"getData"
></Tabs>
<div
class=
"control-bar"
>
<el-select
v-model=
"type"
@
change=
"getData"
class=
"m-2"
placeholder=
"Select"
>
<el-option
v-for=
"item in config.options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
<el-button
class=
"control-bar-item"
@
click=
"addRule"
type=
"primary"
>
添加
</el-button>
</div>
</div>
<div
class=
"table-view w-full "
>
<el-table
element-loading-text=
"加载中,请等待..."
:data=
"data.tableData"
class=
" container"
>
<el-table-column
v-for=
"i in config.columnSet"
:prop=
"i.prop"
:label=
"i.label"
>
</el-table-column>
<el-table-column
label=
"管理"
>
</el-table-column>
</el-table>
</div>
<div
class=
"text-center mt-5"
>
<el-pagination
:page-size=
"params.pageSize"
@
current-change=
"getData"
v-model:current-page=
"params.page"
background
layout=
"prev, pager, next"
:total=
"params.count"
></el-pagination>
</div>
</div>
</
template
>
<
script
lang=
"ts"
setup
>
import
Tabs
from
'../../components/tabs.vue'
;
import
{
onMounted
,
reactive
,
ref
}
from
"vue"
;
import
dayjs
from
"dayjs"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
{
addWithdraw
,
delWithdraw
,
getWithdrawList
}
from
"../../api/ruleSetSearvice"
;
onMounted
(()
=>
{
getData
();
})
const
type
=
ref
<
number
>
(
1
)
const
params
=
reactive
({
page
:
1
,
pageSize
:
20
,
})
const
config
=
reactive
({
columnSet
:[
{
prop
:
'addr'
,
label
:
'检测地址'
},
{
prop
:
'createAtString'
,
label
:
'添加时间'
},
]
as
{
prop
:
string
,
label
:
string
}[],
options
:[{
value
:
1
,
label
:
'交易所地址'
},{
value
:
2
,
label
:
'空投地址'
}]
as
{
value
:
number
,
label
:
string
}[]
})
const
data
=
reactive
({
tableData
:[
],
count
:
0
})
const
getData
=
()
=>
{
getWithdrawList
({
page
:
params
.
page
,
pageSize
:
params
.
pageSize
,
ty
:
type
.
value
}).
then
(
res
=>
{
console
.
log
(
res
.
data
)
data
.
tableData
=
res
.
data
.
list
;
data
.
count
=+
res
.
data
.
count
})
}
const
deleteData
=
(
id
:
string
)
=>
{
delWithdraw
({
id
}).
then
(
res
=>
{
ElMessage
.
success
(
'删除成功'
)
getData
();
})
}
const
addRule
=
()
=>
{
ElMessageBox
.
prompt
(
'请输入地址'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
closeOnClickModal
:
false
,
})
.
then
(({
value
})
=>
{
addWithdraw
({
ty
:
type
.
value
,
addr
:
value
}).
then
(
res
=>
{
ElMessage
.
success
(
'添加成功'
)
params
.
page
=
1
getData
()
}).
catch
((
res
)
=>
{
ElMessage
.
error
(
res
.
response
.
data
.
message
)
// console.log('e',res.response)
})
})
.
catch
(()
=>
{
})
}
</
script
>
<
style
lang=
"less"
scoped
>
.control-bar{
display: flex;
align-items: center;
/deep/ .control-bar-item+.control-bar-item{
margin-left: 10px;
}
}
</
style
>
\ No newline at end of file
src/views/user/info.vue
View file @
b3abe08e
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
Tabs
from
'../../components/tabs.vue'
;
import
Tabs
from
'../../components/tabs.vue'
;
import
Controllbar
from
'../../components/controllbar.vue'
;
import
Controllbar
from
'../../components/controllbar.vue'
;
import
{
useAxios
}
from
'@vueuse/integrations/useAxios'
import
{
useAxios
}
from
'@vueuse/integrations/useAxios'
import
{
computed
,
onMounted
,
reactive
,
ref
,
watch
}
from
'vue'
;
import
{
computed
,
onMounted
,
reactive
,
ref
,
watch
}
from
'vue'
;
import
{
downloadTxt
,
getTransList
}
from
'../../api'
;
import
{
downloadTxt
,
getTransList
}
from
'../../api'
;
import
{
ElMessage
}
from
'element-plus'
import
{
ElMessage
}
from
'element-plus'
import
dayjs
from
'dayjs'
import
dayjs
from
'dayjs'
const
reqData
=
reactive
({
const
reqData
=
reactive
({
platId
:
0
,
platId
:
0
,
status
:
0
,
status
:
0
,
start
:
0
,
start
:
0
,
end
:
0
,
end
:
0
,
page
:
1
,
page
:
1
,
pageSize
:
10
,
pageSize
:
10
,
addr
:
''
addr
:
''
})
})
const
loading
=
ref
(
false
)
const
loading
=
ref
(
false
)
...
@@ -21,103 +22,103 @@ const disableDownload = ref(true)
...
@@ -21,103 +22,103 @@ const disableDownload = ref(true)
const
table
=
ref
([])
const
table
=
ref
([])
const
downloadModal
=
ref
(
false
)
const
downloadModal
=
ref
(
false
)
const
pageController
=
reactive
({
const
pageController
=
reactive
({
size
:
0
size
:
0
})
})
watch
(
reqData
,
async
(
newV
)
=>
{
watch
(
reqData
,
async
(
newV
)
=>
{
await
initTable
()
await
initTable
()
})
})
watch
(
reqData
,
(
newV
)
=>
{
watch
(
reqData
,
(
newV
)
=>
{
if
(
newV
.
platId
&&
newV
.
end
&&
newV
.
start
)
{
if
(
newV
.
platId
&&
newV
.
end
&&
newV
.
start
)
{
disableDownload
.
value
=
false
disableDownload
.
value
=
false
}
else
{
}
else
{
disableDownload
.
value
=
true
disableDownload
.
value
=
true
}
}
})
})
const
columnSet
=
[
const
columnSet
=
[
{
{
prop
:
'addr'
,
prop
:
'addr'
,
label
:
'用户地址'
,
label
:
'用户地址'
,
},
},
{
{
prop
:
'amount'
,
prop
:
'amount'
,
label
:
'空投金额'
label
:
'空投金额'
},
},
{
{
prop
:
'startTime'
,
prop
:
'startTime'
,
label
:
'导出时间'
label
:
'导出时间'
},
},
{
{
prop
:
'blockTime'
,
prop
:
'blockTime'
,
label
:
'完成时间'
label
:
'完成时间'
},
},
{
{
prop
:
'jobTime'
,
prop
:
'jobTime'
,
label
:
'登记时间'
label
:
'登记时间'
},
},
{
{
prop
:
'status'
,
prop
:
'status'
,
label
:
"状态"
label
:
"状态"
},
},
]
]
const
initTable
=
async
()
=>
{
const
initTable
=
async
()
=>
{
loading
.
value
=
true
loading
.
value
=
true
const
res
=
await
getTransList
(
reqData
)
const
res
=
await
getTransList
(
reqData
)
pageController
.
size
=
parseInt
(
res
.
data
.
count
);
pageController
.
size
=
parseInt
(
res
.
data
.
count
);
table
.
value
=
res
.
data
.
tx
table
.
value
=
res
.
data
.
tx
loading
.
value
=
false
loading
.
value
=
false
}
}
const
childDataChange
=
(
v
:
{
data
:
any
,
type
:
string
})
=>
{
const
childDataChange
=
(
v
:
{
data
:
any
,
type
:
string
})
=>
{
switch
(
v
.
type
)
{
switch
(
v
.
type
)
{
case
'addr'
:
case
'addr'
:
reqData
.
addr
=
v
.
data
reqData
.
addr
=
v
.
data
break
;
break
;
case
'status'
:
case
'status'
:
reqData
.
status
=
v
.
data
reqData
.
status
=
v
.
data
break
;
break
;
case
'date'
:
case
'date'
:
reqData
.
start
=
dayjs
(
v
.
data
[
0
]).
unix
()
reqData
.
start
=
dayjs
(
v
.
data
[
0
]).
unix
()
reqData
.
end
=
dayjs
(
v
.
data
[
1
]).
unix
()
reqData
.
end
=
dayjs
(
v
.
data
[
1
]).
unix
()
break
;
break
;
case
'platId'
:
case
'platId'
:
reqData
.
platId
=
parseInt
(
v
.
data
)
reqData
.
platId
=
parseInt
(
v
.
data
)
break
;
break
;
}
}
console
.
log
(
reqData
);
console
.
log
(
reqData
);
}
}
const
download
=
async
()
=>
{
const
download
=
async
()
=>
{
const
res
=
await
downloadTxt
(
reqData
)
as
any
const
res
=
await
downloadTxt
(
reqData
)
as
any
if
(
res
.
status
===
'error'
)
{
if
(
res
.
status
===
'error'
)
{
downloadModal
.
value
=
false
;
downloadModal
.
value
=
false
;
ElMessage
({
ElMessage
({
message
:
'下载失败,可能因为文件没有内容或者已经被导出'
,
message
:
'下载失败,可能因为文件没有内容或者已经被导出'
,
type
:
'error'
type
:
'error'
})
})
}
else
if
(
res
.
status
===
'success'
)
{
}
else
if
(
res
.
status
===
'success'
)
{
downloadModal
.
value
=
false
;
downloadModal
.
value
=
false
;
ElMessage
({
ElMessage
({
message
:
'下载已完成'
,
message
:
'下载已完成'
,
type
:
'success'
type
:
'success'
})
})
}
}
}
}
const
dateFilter
=
computed
(()
=>
{
const
dateFilter
=
computed
(()
=>
{
return
function
(
v
:
any
)
{
return
function
(
v
:
any
)
{
const
time
=
parseInt
(
v
)
*
1000
const
time
=
parseInt
(
v
)
*
1000
const
formatDate
=
dayjs
(
time
).
format
(
'YYYY-MM-DD'
)
const
formatDate
=
dayjs
(
time
).
format
(
'YYYY-MM-DD'
)
if
(
formatDate
)
{
if
(
formatDate
)
{
return
formatDate
return
formatDate
}
else
{
}
else
{
return
'无'
return
'无'
}
}
}
}
})
})
const
statusFilter
=
computed
((
v
)
=>
{
const
statusFilter
=
computed
((
v
)
=>
{
return
function
(
v
:
any
)
{
return
function
(
v
:
any
)
{
switch
(
v
)
{
switch
(
v
)
{
case
1
:
case
1
:
return
'未发送'
return
'未发送'
case
2
:
case
2
:
return
'已导出'
return
'已导出'
case
3
:
case
3
:
return
'失败'
return
'失败'
...
@@ -126,71 +127,72 @@ const statusFilter = computed((v)=>{
...
@@ -126,71 +127,72 @@ const statusFilter = computed((v)=>{
}
}
}
}
})
})
const
requestDataChanged
=
(
v
:
any
)
=>
reqData
.
page
=
v
const
requestDataChanged
=
(
v
:
any
)
=>
reqData
.
page
=
v
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
await
initTable
()
await
initTable
()
})
})
</
script
>
</
script
>
<
template
>
<
template
>
<el-dialog
<el-dialog
v-model=
"downloadModal"
v-model=
"downloadModal"
title=
"下载Txt记录"
title=
"下载Txt记录"
width=
"30%"
width=
"30%"
>
>
<span>
确认下载Txt记录
</span>
<span>
确认下载Txt记录
</span>
<template
#
footer
>
<template
#
footer
>
<span
class=
"dialog-footer"
>
<span
class=
"dialog-footer"
>
<el-button
@
click=
"downloadModal = false"
>
Cancel
</el-button>
<el-button
@
click=
"downloadModal = false"
>
Cancel
</el-button>
<el-button
class=
" bg-blue-500"
type=
"primary"
@
click=
"download"
<el-button
class=
" bg-blue-500"
type=
"primary"
@
click=
"download"
>
Confirm
</el-button
>
Confirm
</el-button
>
>
</span>
</span>
</
template
>
</
template
>
</el-dialog>
</el-dialog>
<div
class=
"m-container relative py-6 bg-white"
>
<div
class=
"m-container relative py-6 bg-white"
>
<div
class=
"right relative flex-grow px-3 pb-28 "
>
<div
class=
"right relative flex-grow px-3 pb-28 "
>
<Tabs
@
fresh=
"initTable"
></Tabs>
<Tabs
@
fresh=
"initTable"
></Tabs>
<Controllbar
@
eventEmitted=
"childDataChange"
@
dodownload=
"downloadModal=true"
:btnEnable=
"disableDownload"
></Controllbar>
<Controllbar
@
eventEmitted=
"childDataChange"
@
dodownload=
"downloadModal=true"
<div
class=
"table-view w-full "
>
:btnEnable=
"disableDownload"
></Controllbar
>
<div
class=
" text-sm opacity-50 py-3 px-3"
>
当前交易笔数:{{pageController.size}}
</div
>
<div
class=
"table-view w-full "
>
<el-table
<div
class=
" text-sm opacity-50 py-3 px-3"
>
当前交易笔数:{{ pageController.size }}
</div>
v-loading=
"loading"
<el-table
element-loading-text=
"加载中,请等待...
"
v-loading=
"loading
"
:data=
"table
"
element-loading-text=
"加载中,请等待...
"
class=
" container"
>
:data=
"table"
<el-table-column
v-for=
"i in columnSet"
:prop=
"i.prop"
:label=
"i.label
"
>
class=
" container
"
>
<
template
#
default=
"scope"
v-if=
"i.prop === 'status'
"
>
<el-table-column
v-for=
"i in columnSet"
:prop=
"i.prop"
:label=
"i.label
"
>
{{
statusFilter
(
scope
.
row
.
status
)
}}
<
template
#
default=
"scope"
v-if=
"i.prop === 'status'"
>
</
template
>
{{
statusFilter
(
scope
.
row
.
status
)
}}
<
template
#
default=
"scope"
v-if=
"i.prop === 'startTime'"
>
</
template
>
{{
dateFilter
(
scope
.
row
.
startTime
)
}}
<
template
#
default=
"scope"
v-if=
"i.prop === 'startTime'"
>
</
template
>
{{
dateFilter
(
scope
.
row
.
startTime
)
}}
<
template
#
default=
"scope"
v-if=
"i.prop === 'blockTime'"
>
</
template
>
{{
dateFilter
(
scope
.
row
.
blockTime
)
}}
<
template
#
default=
"scope"
v-if=
"i.prop === 'blockTime'"
>
</
template
>
{{
dateFilter
(
scope
.
row
.
blockTime
)
}}
<
template
#
default=
"scope"
v-if=
"i.prop === 'jobime'"
>
</
template
>
{{
dateFilter
(
scope
.
row
.
jboTime
)
}}
<
template
#
default=
"scope"
v-if=
"i.prop === 'jobime'"
>
</
template
>
{{
dateFilter
(
scope
.
row
.
jboTime
)
}}
</el-table-column
>
</
template
>
</el-table
>
</el-table-column
>
</div
>
</el-table
>
<div
class=
" w-full mx-auto absolute left-0 bottom-0"
>
</div
>
<el-pagination
<div
class=
" w-full mx-auto absolute left-0 bottom-0"
>
:page-size=
"reqData.pageSize"
<el-pagination
@
current-change=
"requestDataChanged"
:page-size=
"reqData.pageSize"
class=
" w-96 mx-auto
"
@
current-change=
"requestDataChanged
"
background
class=
" w-96 mx-auto"
layout=
"prev, pager, next"
:total=
"pageController.size"
></el-pagination>
background
</div
>
layout=
"prev, pager, next"
:total=
"pageController.size"
></el-pagination
>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.el-table__header{
.el-table__header
{
width:
100%;
width:
100%;
}
}
</
style
>
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment