Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
new-api
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
2a3e45c4
authored
Jan 10, 2024
by
CaIon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
perf: UI美化
parent
dec5aeaf
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
198 additions
and
207 deletions
+198
-207
web/src/components/ChannelsTable.js
+7
-17
web/src/components/LogsTable.js
+19
-18
web/src/components/MjLogsTable.js
+172
-172
No files found.
web/src/components/ChannelsTable.js
View file @
2a3e45c4
import
React
,
{
useEffect
,
useState
}
from
'react'
;
import
React
,
{
useEffect
,
useState
}
from
'react'
;
import
{
Input
,
Label
,
Message
,
Popup
}
from
'semantic-ui-react'
;
import
{
Link
}
from
'react-router-dom'
;
import
{
import
{
API
,
API
,
isMobile
,
isMobile
,
...
@@ -389,23 +387,15 @@ const ChannelsTable = () => {
...
@@ -389,23 +387,15 @@ const ChannelsTable = () => {
return
<
Tag
size
=
'large'
color
=
'green'
>
已启用
<
/Tag>
;
return
<
Tag
size
=
'large'
color
=
'green'
>
已启用
<
/Tag>
;
case
2
:
case
2
:
return
(
return
(
<
Popup
<
Tag
size
=
'large'
color
=
'yellow'
>
trigger
=
{
<
Tag
size
=
'large'
color
=
'red'
>
已禁用
已禁用
<
/Tag
>
<
/Tag>
}
content
=
'本渠道被手动禁用'
basic
/>
);
);
case
3
:
case
3
:
return
(
return
(
<
Popup
<
Tag
size
=
'large'
color
=
'yellow'
>
trigger
=
{
<
Tag
size
=
'large'
color
=
'yellow'
>
自动禁用
已禁用
<
/Tag
>
<
/Tag>
}
content
=
'本渠道被程序自动禁用'
basic
/>
);
);
default
:
default
:
return
(
return
(
...
@@ -657,7 +647,7 @@ const ChannelsTable = () => {
...
@@ -657,7 +647,7 @@ const ChannelsTable = () => {
<
/Space
>
<
/Space
>
<
/div
>
<
/div
>
<
Table
columns
=
{
columns
}
dataSource
=
{
pageData
}
pagination
=
{{
<
Table
style
=
{{
marginTop
:
15
}}
columns
=
{
columns
}
dataSource
=
{
pageData
}
pagination
=
{{
currentPage
:
activePage
,
currentPage
:
activePage
,
pageSize
:
pageSize
,
pageSize
:
pageSize
,
total
:
channelCount
,
total
:
channelCount
,
...
...
web/src/components/LogsTable.js
View file @
2a3e45c4
...
@@ -2,7 +2,7 @@ import React, {useEffect, useState} from 'react';
...
@@ -2,7 +2,7 @@ import React, {useEffect, useState} from 'react';
import
{
Label
}
from
'semantic-ui-react'
;
import
{
Label
}
from
'semantic-ui-react'
;
import
{
API
,
copy
,
isAdmin
,
showError
,
showSuccess
,
timestamp2string
}
from
'../helpers'
;
import
{
API
,
copy
,
isAdmin
,
showError
,
showSuccess
,
timestamp2string
}
from
'../helpers'
;
import
{
Table
,
Avatar
,
Tag
,
Form
,
Button
,
Layout
,
Select
,
Popover
,
Modal
}
from
'@douyinfe/semi-ui'
;
import
{
Table
,
Avatar
,
Tag
,
Form
,
Button
,
Layout
,
Select
,
Popover
,
Modal
,
Spin
}
from
'@douyinfe/semi-ui'
;
import
{
ITEMS_PER_PAGE
}
from
'../constants'
;
import
{
ITEMS_PER_PAGE
}
from
'../constants'
;
import
{
renderNumber
,
renderQuota
,
stringToColor
}
from
'../helpers/render'
;
import
{
renderNumber
,
renderQuota
,
stringToColor
}
from
'../helpers/render'
;
import
{
import
{
...
@@ -194,7 +194,8 @@ const LogsTable = () => {
...
@@ -194,7 +194,8 @@ const LogsTable = () => {
const
[
logs
,
setLogs
]
=
useState
([]);
const
[
logs
,
setLogs
]
=
useState
([]);
const
[
showStat
,
setShowStat
]
=
useState
(
false
);
const
[
showStat
,
setShowStat
]
=
useState
(
false
);
const
[
loading
,
setLoading
]
=
useState
(
true
);
const
[
loading
,
setLoading
]
=
useState
(
false
);
const
[
loadingStat
,
setLoadingStat
]
=
useState
(
false
);
const
[
activePage
,
setActivePage
]
=
useState
(
1
);
const
[
activePage
,
setActivePage
]
=
useState
(
1
);
const
[
logCount
,
setLogCount
]
=
useState
(
ITEMS_PER_PAGE
);
const
[
logCount
,
setLogCount
]
=
useState
(
ITEMS_PER_PAGE
);
const
[
searchKeyword
,
setSearchKeyword
]
=
useState
(
''
);
const
[
searchKeyword
,
setSearchKeyword
]
=
useState
(
''
);
...
@@ -247,14 +248,14 @@ const LogsTable = () => {
...
@@ -247,14 +248,14 @@ const LogsTable = () => {
};
};
const
handleEyeClick
=
async
()
=>
{
const
handleEyeClick
=
async
()
=>
{
if
(
!
showStat
)
{
setLoadingStat
(
true
);
if
(
isAdminUser
)
{
if
(
isAdminUser
)
{
await
getLogStat
();
await
getLogStat
();
}
else
{
}
else
{
await
getLogSelfStat
();
await
getLogSelfStat
();
}
}
}
setShowStat
(
!
showStat
);
setShowStat
(
true
);
setLoadingStat
(
false
);
};
};
const
showUserInfo
=
async
(
userId
)
=>
{
const
showUserInfo
=
async
(
userId
)
=>
{
...
@@ -396,12 +397,12 @@ const LogsTable = () => {
...
@@ -396,12 +397,12 @@ const LogsTable = () => {
<>
<>
<
Layout
>
<
Layout
>
<
Header
>
<
Header
>
<
h3
>
使用明细(总消耗额度:
<
Spin
spinning
=
{
loadingStat
}
>
{
showStat
&&
renderQuota
(
stat
.
quota
)}
<
h3
>
使用明细(总消耗额度:
{
!
showStat
&&
<
span
onClick
=
{
handleEyeClick
}
style
=
{{
cursor
:
'pointer'
,
color
:
'gray'
}}
>
{
showStat
?
renderQuota
(
stat
.
quota
):
"点击查看"
}
<
/span
>
<
span
onClick
=
{
handleEyeClick
}
style
=
{{
cursor
:
'pointer'
,
color
:
'gray'
}}
>
点击查看
<
/span>
}
)
)
<
/h3
>
<
/
h3
>
<
/
Spin
>
<
/Header
>
<
/Header
>
<
Form
layout
=
'horizontal'
style
=
{{
marginTop
:
10
}}
>
<
Form
layout
=
'horizontal'
style
=
{{
marginTop
:
10
}}
>
<>
<>
...
@@ -434,17 +435,17 @@ const LogsTable = () => {
...
@@ -434,17 +435,17 @@ const LogsTable = () => {
}
}
<
Form
.
Section
>
<
Form
.
Section
>
<
Button
label
=
'查询'
type
=
"primary"
htmlType
=
"submit"
className
=
"btn-margin-right"
<
Button
label
=
'查询'
type
=
"primary"
htmlType
=
"submit"
className
=
"btn-margin-right"
onClick
=
{
refresh
}
>
查询
<
/Button
>
onClick
=
{
refresh
}
loading
=
{
loading
}
>
查询
<
/Button
>
<
/Form.Section
>
<
/Form.Section
>
<
/
>
<
/
>
<
/Form
>
<
/Form
>
<
Table
columns
=
{
columns
}
dataSource
=
{
pageData
}
pagination
=
{{
<
Table
style
=
{{
marginTop
:
5
}}
columns
=
{
columns
}
dataSource
=
{
pageData
}
pagination
=
{{
currentPage
:
activePage
,
currentPage
:
activePage
,
pageSize
:
ITEMS_PER_PAGE
,
pageSize
:
ITEMS_PER_PAGE
,
total
:
logCount
,
total
:
logCount
,
pageSizeOpts
:
[
10
,
20
,
50
,
100
],
pageSizeOpts
:
[
10
,
20
,
50
,
100
],
onPageChange
:
handlePageChange
,
onPageChange
:
handlePageChange
,
}}
loading
=
{
loading
}
/
>
}}
/
>
<
Select
defaultValue
=
"0"
style
=
{{
width
:
120
}}
onChange
=
{
<
Select
defaultValue
=
"0"
style
=
{{
width
:
120
}}
onChange
=
{
(
value
)
=>
{
(
value
)
=>
{
setLogType
(
parseInt
(
value
));
setLogType
(
parseInt
(
value
));
...
...
web/src/components/MjLogsTable.js
View file @
2a3e45c4
...
@@ -13,7 +13,7 @@ import {
...
@@ -13,7 +13,7 @@ import {
Popover
,
Popover
,
Modal
,
Modal
,
ImagePreview
,
ImagePreview
,
Typography
Typography
,
Progress
}
from
'@douyinfe/semi-ui'
;
}
from
'@douyinfe/semi-ui'
;
import
{
ITEMS_PER_PAGE
}
from
'../constants'
;
import
{
ITEMS_PER_PAGE
}
from
'../constants'
;
import
{
renderNumber
,
renderQuota
,
stringToColor
}
from
'../helpers/render'
;
import
{
renderNumber
,
renderQuota
,
stringToColor
}
from
'../helpers/render'
;
...
@@ -25,84 +25,83 @@ const colors = ['amber', 'blue', 'cyan', 'green', 'grey', 'indigo',
...
@@ -25,84 +25,83 @@ const colors = ['amber', 'blue', 'cyan', 'green', 'grey', 'indigo',
]
]
function
renderType
(
type
)
{
function
renderType
(
type
)
{
switch
(
type
)
{
switch
(
type
)
{
case
'IMAGINE'
:
case
'IMAGINE'
:
return
<
Tag
color
=
"blue"
size
=
'large'
>
绘图
<
/Tag>
;
return
<
Tag
color
=
"blue"
size
=
'large'
>
绘图
<
/Tag>
;
case
'UPSCALE'
:
case
'UPSCALE'
:
return
<
Tag
color
=
"orange"
size
=
'large'
>
放大
<
/Tag>
;
return
<
Tag
color
=
"orange"
size
=
'large'
>
放大
<
/Tag>
;
case
'VARIATION'
:
case
'VARIATION'
:
return
<
Tag
color
=
"purple"
size
=
'large'
>
变换
<
/Tag>
;
return
<
Tag
color
=
"purple"
size
=
'large'
>
变换
<
/Tag>
;
case
'DESCRIBE'
:
case
'DESCRIBE'
:
return
<
Tag
color
=
"yellow"
size
=
'large'
>
图生文
<
/Tag>
;
return
<
Tag
color
=
"yellow"
size
=
'large'
>
图生文
<
/Tag>
;
case
'BLEAND'
:
case
'BLEAND'
:
return
<
Tag
color
=
"lime"
size
=
'large'
>
图混合
<
/Tag>
;
return
<
Tag
color
=
"lime"
size
=
'large'
>
图混合
<
/Tag>
;
default
:
default
:
return
<
Tag
color
=
"black"
size
=
'large'
>
未知
<
/Tag>
;
return
<
Tag
color
=
"black"
size
=
'large'
>
未知
<
/Tag>
;
}
}
}
}
function
renderCode
(
code
)
{
function
renderCode
(
code
)
{
switch
(
code
)
{
switch
(
code
)
{
case
1
:
case
1
:
return
<
Tag
color
=
"green"
size
=
'large'
>
已提交
<
/Tag>
;
return
<
Tag
color
=
"green"
size
=
'large'
>
已提交
<
/Tag>
;
case
21
:
case
21
:
return
<
Tag
color
=
"lime"
size
=
'large'
>
排队中
<
/Tag>
;
return
<
Tag
color
=
"lime"
size
=
'large'
>
排队中
<
/Tag>
;
case
22
:
case
22
:
return
<
Tag
color
=
"orange"
size
=
'large'
>
重复提交
<
/Tag>
;
return
<
Tag
color
=
"orange"
size
=
'large'
>
重复提交
<
/Tag>
;
default
:
default
:
return
<
Tag
color
=
"black"
size
=
'large'
>
未知
<
/Tag>
;
return
<
Tag
color
=
"black"
size
=
'large'
>
未知
<
/Tag>
;
}
}
}
}
function
renderStatus
(
type
)
{
function
renderStatus
(
type
)
{
// Ensure all cases are string literals by adding quotes.
// Ensure all cases are string literals by adding quotes.
switch
(
type
)
{
switch
(
type
)
{
case
'SUCCESS'
:
case
'SUCCESS'
:
return
<
Tag
color
=
"green"
size
=
'large'
>
成功
<
/Tag>
;
return
<
Tag
color
=
"green"
size
=
'large'
>
成功
<
/Tag>
;
case
'NOT_START'
:
case
'NOT_START'
:
return
<
Tag
color
=
"grey"
size
=
'large'
>
未启动
<
/Tag>
;
return
<
Tag
color
=
"grey"
size
=
'large'
>
未启动
<
/Tag>
;
case
'SUBMITTED'
:
case
'SUBMITTED'
:
return
<
Tag
color
=
"yellow"
size
=
'large'
>
队列中
<
/Tag>
;
return
<
Tag
color
=
"yellow"
size
=
'large'
>
队列中
<
/Tag>
;
case
'IN_PROGRESS'
:
case
'IN_PROGRESS'
:
return
<
Tag
color
=
"blue"
size
=
'large'
>
执行中
<
/Tag>
;
return
<
Tag
color
=
"blue"
size
=
'large'
>
执行中
<
/Tag>
;
case
'FAILURE'
:
case
'FAILURE'
:
return
<
Tag
color
=
"red"
size
=
'large'
>
失败
<
/Tag>
;
return
<
Tag
color
=
"red"
size
=
'large'
>
失败
<
/Tag>
;
default
:
default
:
return
<
Tag
color
=
"black"
size
=
'large'
>
未知
<
/Tag>
;
return
<
Tag
color
=
"black"
size
=
'large'
>
未知
<
/Tag>
;
}
}
}
}
const
renderTimestamp
=
(
timestampInSeconds
)
=>
{
const
renderTimestamp
=
(
timestampInSeconds
)
=>
{
const
date
=
new
Date
(
timestampInSeconds
*
1000
);
// 从秒转换为毫秒
const
date
=
new
Date
(
timestampInSeconds
*
1000
);
// 从秒转换为毫秒
const
year
=
date
.
getFullYear
();
// 获取年份
const
year
=
date
.
getFullYear
();
// 获取年份
const
month
=
(
'0'
+
(
date
.
getMonth
()
+
1
)).
slice
(
-
2
);
// 获取月份,从0开始需要+1,并保证两位数
const
month
=
(
'0'
+
(
date
.
getMonth
()
+
1
)).
slice
(
-
2
);
// 获取月份,从0开始需要+1,并保证两位数
const
day
=
(
'0'
+
date
.
getDate
()).
slice
(
-
2
);
// 获取日期,并保证两位数
const
day
=
(
'0'
+
date
.
getDate
()).
slice
(
-
2
);
// 获取日期,并保证两位数
const
hours
=
(
'0'
+
date
.
getHours
()).
slice
(
-
2
);
// 获取小时,并保证两位数
const
hours
=
(
'0'
+
date
.
getHours
()).
slice
(
-
2
);
// 获取小时,并保证两位数
const
minutes
=
(
'0'
+
date
.
getMinutes
()).
slice
(
-
2
);
// 获取分钟,并保证两位数
const
minutes
=
(
'0'
+
date
.
getMinutes
()).
slice
(
-
2
);
// 获取分钟,并保证两位数
const
seconds
=
(
'0'
+
date
.
getSeconds
()).
slice
(
-
2
);
// 获取秒钟,并保证两位数
const
seconds
=
(
'0'
+
date
.
getSeconds
()).
slice
(
-
2
);
// 获取秒钟,并保证两位数
return
`
${
year
}
-
${
month
}
-
${
day
}
${
hours
}
:
${
minutes
}
:
${
seconds
}
`
;
// 格式化输出
return
`
${
year
}
-
${
month
}
-
${
day
}
${
hours
}
:
${
minutes
}
:
${
seconds
}
`
;
// 格式化输出
};
};
const
LogsTable
=
()
=>
{
const
LogsTable
=
()
=>
{
const
[
isModalOpen
,
setIsModalOpen
]
=
useState
(
false
);
const
[
isModalOpen
,
setIsModalOpen
]
=
useState
(
false
);
const
[
modalContent
,
setModalContent
]
=
useState
(
''
);
const
[
modalContent
,
setModalContent
]
=
useState
(
''
);
const
columns
=
[
const
columns
=
[
{
{
title
:
'提交时间'
,
title
:
'提交时间'
,
dataIndex
:
'submit_time'
,
dataIndex
:
'submit_time'
,
render
:
(
text
,
record
,
index
)
=>
{
render
:
(
text
,
record
,
index
)
=>
{
return
(
return
(
<
div
>
<
div
>
{
renderTimestamp
(
text
/
1000
)}
{
renderTimestamp
(
text
/
1000
)}
<
/div
>
<
/div
>
);
);
},
},
},
},
{
{
title
:
'渠道'
,
title
:
'渠道'
,
...
@@ -111,48 +110,48 @@ const LogsTable = () => {
...
@@ -111,48 +110,48 @@ const LogsTable = () => {
render
:
(
text
,
record
,
index
)
=>
{
render
:
(
text
,
record
,
index
)
=>
{
return
(
return
(
<
div
>
<
div
>
<
Tag
color
=
{
colors
[
parseInt
(
text
)
%
colors
.
length
]}
size
=
'large'
onClick
=
{()
=>
{
<
Tag
color
=
{
colors
[
parseInt
(
text
)
%
colors
.
length
]}
size
=
'large'
onClick
=
{()
=>
{
copyText
(
text
);
// 假设copyText是用于文本复制的函数
copyText
(
text
);
// 假设copyText是用于文本复制的函数
}}
>
{
text
}
<
/Tag
>
}}
>
{
text
}
<
/Tag
>
<
/div
>
<
/div
>
);
);
},
},
},
},
{
{
title
:
'类型'
,
title
:
'类型'
,
dataIndex
:
'action'
,
dataIndex
:
'action'
,
render
:
(
text
,
record
,
index
)
=>
{
render
:
(
text
,
record
,
index
)
=>
{
return
(
return
(
<
div
>
<
div
>
{
renderType
(
text
)}
{
renderType
(
text
)}
<
/div
>
<
/div
>
);
);
},
},
},
},
{
{
title
:
'任务ID'
,
title
:
'任务ID'
,
dataIndex
:
'mj_id'
,
dataIndex
:
'mj_id'
,
render
:
(
text
,
record
,
index
)
=>
{
render
:
(
text
,
record
,
index
)
=>
{
return
(
return
(
<
div
>
<
div
>
{
text
}
{
text
}
<
/div
>
<
/div
>
);
);
},
},
},
},
{
{
title
:
'提交结果'
,
title
:
'提交结果'
,
dataIndex
:
'code'
,
dataIndex
:
'code'
,
className
:
isAdmin
()
?
'tableShow'
:
'tableHiddle'
,
className
:
isAdmin
()
?
'tableShow'
:
'tableHiddle'
,
render
:
(
text
,
record
,
index
)
=>
{
render
:
(
text
,
record
,
index
)
=>
{
return
(
return
(
<
div
>
<
div
>
{
renderCode
(
text
)}
{
renderCode
(
text
)}
<
/div
>
<
/div
>
);
);
},
},
},
},
{
{
title
:
'任务状态'
,
title
:
'任务状态'
,
...
@@ -160,9 +159,9 @@ const LogsTable = () => {
...
@@ -160,9 +159,9 @@ const LogsTable = () => {
className
:
isAdmin
()
?
'tableShow'
:
'tableHiddle'
,
className
:
isAdmin
()
?
'tableShow'
:
'tableHiddle'
,
render
:
(
text
,
record
,
index
)
=>
{
render
:
(
text
,
record
,
index
)
=>
{
return
(
return
(
<
div
>
<
div
>
{
renderStatus
(
text
)}
{
renderStatus
(
text
)}
<
/div
>
<
/div
>
);
);
},
},
},
},
...
@@ -171,99 +170,103 @@ const LogsTable = () => {
...
@@ -171,99 +170,103 @@ const LogsTable = () => {
dataIndex
:
'progress'
,
dataIndex
:
'progress'
,
render
:
(
text
,
record
,
index
)
=>
{
render
:
(
text
,
record
,
index
)
=>
{
return
(
return
(
<
div
>
<
div
>
{
<
span
>
{
text
}
<
/span>
}
{
<
/div
>
// 转换例如100%为数字100,如果text未定义,返回0
<
Progress
percent
=
{
text
?
parseInt
(
text
.
replace
(
'%'
,
''
))
:
0
}
showInfo
=
{
true
}
aria
-
label
=
"drawing progress"
/>
}
<
/div
>
);
);
},
},
},
},
{
{
title
:
'结果图片'
,
title
:
'结果图片'
,
dataIndex
:
'image_url'
,
dataIndex
:
'image_url'
,
render
:
(
text
,
record
,
index
)
=>
{
render
:
(
text
,
record
,
index
)
=>
{
if
(
!
text
)
{
if
(
!
text
)
{
return
'无'
;
return
'无'
;
}
return
(
<
Button
onClick
=
{()
=>
{
setModalImageUrl
(
text
);
// 更新图片URL状态
setIsModalOpenurl
(
true
);
// 打开模态框
}}
>
查看图片
<
/Button
>
);
}
}
return
(
<
Button
onClick
=
{()
=>
{
setModalImageUrl
(
text
);
// 更新图片URL状态
setIsModalOpenurl
(
true
);
// 打开模态框
}}
>
查看图片
<
/Button
>
);
}
},
},
{
{
title
:
'Prompt'
,
title
:
'Prompt'
,
dataIndex
:
'prompt'
,
dataIndex
:
'prompt'
,
render
:
(
text
,
record
,
index
)
=>
{
render
:
(
text
,
record
,
index
)
=>
{
// 如果text未定义,返回替代文本,例如空字符串''或其他
// 如果text未定义,返回替代文本,例如空字符串''或其他
if
(
!
text
)
{
if
(
!
text
)
{
return
'无'
;
return
'无'
;
}
}
return
(
return
(
<
Typography
.
Text
<
Typography
.
Text
ellipsis
=
{{
showTooltip
:
true
}}
ellipsis
=
{{
showTooltip
:
true
}}
style
=
{{
width
:
100
}}
style
=
{{
width
:
100
}}
onClick
=
{()
=>
{
onClick
=
{()
=>
{
setModalContent
(
text
);
setModalContent
(
text
);
setIsModalOpen
(
true
);
setIsModalOpen
(
true
);
}}
}}
>
>
{
text
}
{
text
}
<
/Typography.Text
>
<
/Typography.Text
>
);
);
}
}
},
},
{
{
title
:
'PromptEn'
,
title
:
'PromptEn'
,
dataIndex
:
'prompt_en'
,
dataIndex
:
'prompt_en'
,
render
:
(
text
,
record
,
index
)
=>
{
render
:
(
text
,
record
,
index
)
=>
{
// 如果text未定义,返回替代文本,例如空字符串''或其他
// 如果text未定义,返回替代文本,例如空字符串''或其他
if
(
!
text
)
{
if
(
!
text
)
{
return
'无'
;
return
'无'
;
}
}
return
(
return
(
<
Typography
.
Text
<
Typography
.
Text
ellipsis
=
{{
showTooltip
:
true
}}
ellipsis
=
{{
showTooltip
:
true
}}
style
=
{{
width
:
100
}}
style
=
{{
width
:
100
}}
onClick
=
{()
=>
{
onClick
=
{()
=>
{
setModalContent
(
text
);
setModalContent
(
text
);
setIsModalOpen
(
true
);
setIsModalOpen
(
true
);
}}
}}
>
>
{
text
}
{
text
}
<
/Typography.Text
>
<
/Typography.Text
>
);
);
}
}
},
},
{
{
title
:
'失败原因'
,
title
:
'失败原因'
,
dataIndex
:
'fail_reason'
,
dataIndex
:
'fail_reason'
,
render
:
(
text
,
record
,
index
)
=>
{
render
:
(
text
,
record
,
index
)
=>
{
// 如果text未定义,返回替代文本,例如空字符串''或其他
// 如果text未定义,返回替代文本,例如空字符串''或其他
if
(
!
text
)
{
if
(
!
text
)
{
return
'无'
;
return
'无'
;
}
}
return
(
return
(
<
Typography
.
Text
<
Typography
.
Text
ellipsis
=
{{
showTooltip
:
true
}}
ellipsis
=
{{
showTooltip
:
true
}}
style
=
{{
width
:
100
}}
style
=
{{
width
:
100
}}
onClick
=
{()
=>
{
onClick
=
{()
=>
{
setModalContent
(
text
);
setModalContent
(
text
);
setIsModalOpen
(
true
);
setIsModalOpen
(
true
);
}}
}}
>
>
{
text
}
{
text
}
<
/Typography.Text
>
<
/Typography.Text
>
);
);
}
}
}
}
];
];
...
@@ -286,7 +289,7 @@ const LogsTable = () => {
...
@@ -286,7 +289,7 @@ const LogsTable = () => {
start_timestamp
:
timestamp2string
(
now
.
getTime
()
/
1000
-
2592000
),
start_timestamp
:
timestamp2string
(
now
.
getTime
()
/
1000
-
2592000
),
end_timestamp
:
timestamp2string
(
now
.
getTime
()
/
1000
+
3600
),
end_timestamp
:
timestamp2string
(
now
.
getTime
()
/
1000
+
3600
),
});
});
const
{
channel_id
,
mj_id
,
start_timestamp
,
end_timestamp
}
=
inputs
;
const
{
channel_id
,
mj_id
,
start_timestamp
,
end_timestamp
}
=
inputs
;
const
[
stat
,
setStat
]
=
useState
({
const
[
stat
,
setStat
]
=
useState
({
quota
:
0
,
quota
:
0
,
...
@@ -298,7 +301,6 @@ const LogsTable = () => {
...
@@ -298,7 +301,6 @@ const LogsTable = () => {
};
};
const
setLogsFormat
=
(
logs
)
=>
{
const
setLogsFormat
=
(
logs
)
=>
{
for
(
let
i
=
0
;
i
<
logs
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
logs
.
length
;
i
++
)
{
logs
[
i
].
timestamp2string
=
timestamp2string
(
logs
[
i
].
created_at
);
logs
[
i
].
timestamp2string
=
timestamp2string
(
logs
[
i
].
created_at
);
...
@@ -317,9 +319,9 @@ const LogsTable = () => {
...
@@ -317,9 +319,9 @@ const LogsTable = () => {
let
localStartTimestamp
=
Date
.
parse
(
start_timestamp
);
let
localStartTimestamp
=
Date
.
parse
(
start_timestamp
);
let
localEndTimestamp
=
Date
.
parse
(
end_timestamp
);
let
localEndTimestamp
=
Date
.
parse
(
end_timestamp
);
if
(
isAdminUser
)
{
if
(
isAdminUser
)
{
url
=
`/api/mj/?p=
${
startIdx
}
&channel_id=
${
channel_id
}
&mj_id=
${
mj_id
}
&start_timestamp=
${
localStartTimestamp
}
&end_timestamp=
${
localEndTimestamp
}
`
;
url
=
`/api/mj/?p=
${
startIdx
}
&channel_id=
${
channel_id
}
&mj_id=
${
mj_id
}
&start_timestamp=
${
localStartTimestamp
}
&end_timestamp=
${
localEndTimestamp
}
`
;
}
else
{
}
else
{
url
=
`/api/mj/self/?p=
${
startIdx
}
&mj_id=
${
mj_id
}
&start_timestamp=
${
localStartTimestamp
}
&end_timestamp=
${
localEndTimestamp
}
`
;
url
=
`/api/mj/self/?p=
${
startIdx
}
&mj_id=
${
mj_id
}
&start_timestamp=
${
localStartTimestamp
}
&end_timestamp=
${
localEndTimestamp
}
`
;
}
}
const
res
=
await
API
.
get
(
url
);
const
res
=
await
API
.
get
(
url
);
const
{
success
,
message
,
data
}
=
res
.
data
;
const
{
success
,
message
,
data
}
=
res
.
data
;
...
@@ -368,11 +370,9 @@ const LogsTable = () => {
...
@@ -368,11 +370,9 @@ const LogsTable = () => {
},
[
logType
]);
},
[
logType
]);
return
(
return
(
<>
<>
<
Layout
>
<
Layout
>
<
Form
layout
=
'horizontal'
style
=
{{
marginTop
:
10
}}
>
<
Form
layout
=
'horizontal'
style
=
{{
marginTop
:
10
}}
>
<>
<>
...
@@ -400,7 +400,7 @@ const LogsTable = () => {
...
@@ -400,7 +400,7 @@ const LogsTable = () => {
<
/Form.Section
>
<
/Form.Section
>
<
/
>
<
/
>
<
/Form
>
<
/Form
>
<
Table
columns
=
{
columns
}
dataSource
=
{
pageData
}
pagination
=
{{
<
Table
style
=
{{
marginTop
:
5
}}
columns
=
{
columns
}
dataSource
=
{
pageData
}
pagination
=
{{
currentPage
:
activePage
,
currentPage
:
activePage
,
pageSize
:
ITEMS_PER_PAGE
,
pageSize
:
ITEMS_PER_PAGE
,
total
:
logCount
,
total
:
logCount
,
...
@@ -412,17 +412,17 @@ const LogsTable = () => {
...
@@ -412,17 +412,17 @@ const LogsTable = () => {
onOk
=
{()
=>
setIsModalOpen
(
false
)}
onOk
=
{()
=>
setIsModalOpen
(
false
)}
onCancel
=
{()
=>
setIsModalOpen
(
false
)}
onCancel
=
{()
=>
setIsModalOpen
(
false
)}
closable
=
{
null
}
closable
=
{
null
}
bodyStyle
=
{{
height
:
'400px'
,
overflow
:
'auto'
}}
// 设置模态框内容区域样式
bodyStyle
=
{{
height
:
'400px'
,
overflow
:
'auto'
}}
// 设置模态框内容区域样式
width
=
{
800
}
// 设置模态框宽度
width
=
{
800
}
// 设置模态框宽度
>
>
<
p
style
=
{{
whiteSpace
:
'pre-line'
}}
>
{
modalContent
}
<
/p
>
<
p
style
=
{{
whiteSpace
:
'pre-line'
}}
>
{
modalContent
}
<
/p
>
<
/Modal
>
<
/Modal
>
<
ImagePreview
<
ImagePreview
src
=
{
modalImageUrl
}
src
=
{
modalImageUrl
}
visible
=
{
isModalOpenurl
}
visible
=
{
isModalOpenurl
}
onVisibleChange
=
{(
visible
)
=>
setIsModalOpenurl
(
visible
)}
onVisibleChange
=
{(
visible
)
=>
setIsModalOpenurl
(
visible
)}
/
>
/
>
<
/Layout
>
<
/Layout
>
<
/
>
<
/
>
);
);
...
...
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