|
@ -1,6 +1,6 @@ |
|
|
import { useTranslation } from '@/i18n.ts' |
|
|
import { useTranslation } from '@/i18n.ts' |
|
|
import { Badge, Button, DatePicker, Divider, Form, Image, Popconfirm, Space, Tooltip } from 'antd' |
|
|
import { Badge, Button, DatePicker, Divider, Form, Image, Popconfirm, Space, Tooltip } from 'antd' |
|
|
import { useAtom, useAtomValue,useSetAtom } from 'jotai' |
|
|
|
|
|
|
|
|
import { useAtom, useAtomValue, useSetAtom } from 'jotai' |
|
|
import { |
|
|
import { |
|
|
deleteVideoAtom, |
|
|
deleteVideoAtom, |
|
|
saveOrUpdateVideoAtom, videoAtom, videosAtom, videoSearchAtom, videoTypes |
|
|
saveOrUpdateVideoAtom, videoAtom, videosAtom, videoSearchAtom, videoTypes |
|
@ -55,15 +55,17 @@ const Video = () => { |
|
|
hideInSearch: true, |
|
|
hideInSearch: true, |
|
|
hideInSetting: true, |
|
|
hideInSetting: true, |
|
|
formItemProps: { hidden: true }, |
|
|
formItemProps: { hidden: true }, |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
{ |
|
|
{ |
|
|
'title': t(`${i18nPrefix}.columns.title`, 'Title'), |
|
|
'title': t(`${i18nPrefix}.columns.title`, 'Title'), |
|
|
'dataIndex': 'title', |
|
|
'dataIndex': 'title', |
|
|
onHeaderCell: () => { |
|
|
|
|
|
return { |
|
|
|
|
|
width: 200, |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
fixed: 'left', |
|
|
|
|
|
ellipsis: true, |
|
|
|
|
|
width: 250, |
|
|
|
|
|
fieldProps: { |
|
|
|
|
|
style: { width: '100%' } |
|
|
}, |
|
|
}, |
|
|
colProps: { |
|
|
colProps: { |
|
|
span: 12 |
|
|
span: 12 |
|
@ -78,10 +80,10 @@ const Video = () => { |
|
|
{ |
|
|
{ |
|
|
'title': t(`${i18nPrefix}.columns.title_sub`, 'TitleSub'), |
|
|
'title': t(`${i18nPrefix}.columns.title_sub`, 'TitleSub'), |
|
|
'dataIndex': 'title_sub', |
|
|
'dataIndex': 'title_sub', |
|
|
onHeaderCell: () => { |
|
|
|
|
|
return { |
|
|
|
|
|
width: 200, |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
ellipsis: true, |
|
|
|
|
|
width: 250, |
|
|
|
|
|
fieldProps: { |
|
|
|
|
|
style: { width: '100%' } |
|
|
}, |
|
|
}, |
|
|
colProps: { |
|
|
colProps: { |
|
|
span: 12 |
|
|
span: 12 |
|
@ -104,10 +106,9 @@ const Video = () => { |
|
|
'dataIndex': 'source_url', |
|
|
'dataIndex': 'source_url', |
|
|
ellipsis: true, |
|
|
ellipsis: true, |
|
|
copyable: true, |
|
|
copyable: true, |
|
|
onHeaderCell: () => { |
|
|
|
|
|
return { |
|
|
|
|
|
width: 200, |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
width: 200, |
|
|
|
|
|
fieldProps: { |
|
|
|
|
|
style: { width: '100%' } |
|
|
}, |
|
|
}, |
|
|
hideInSearch: true, |
|
|
hideInSearch: true, |
|
|
}, |
|
|
}, |
|
@ -212,7 +213,7 @@ const Video = () => { |
|
|
}, |
|
|
}, |
|
|
render: (_dom, record) => { |
|
|
render: (_dom, record) => { |
|
|
return <TagValue |
|
|
return <TagValue |
|
|
tags={categories?.rows.filter(item=>item.id === record.category_id).map(item=>{ |
|
|
|
|
|
|
|
|
tags={categories?.rows.filter(item => item.id === record.category_id).map(item => { |
|
|
return { |
|
|
return { |
|
|
label: item.name, |
|
|
label: item.name, |
|
|
value: item.id |
|
|
value: item.id |
|
@ -313,14 +314,14 @@ const Video = () => { |
|
|
'dataIndex': 'remarks', |
|
|
'dataIndex': 'remarks', |
|
|
hideInSearch: true, |
|
|
hideInSearch: true, |
|
|
}, |
|
|
}, |
|
|
/* { |
|
|
|
|
|
'title': t(`${i18nPrefix}.columns.pubdate`, 'Pubdate'), |
|
|
|
|
|
'dataIndex': 'pubdate', |
|
|
|
|
|
valueType: 'dateTime', |
|
|
|
|
|
colProps: { |
|
|
|
|
|
span: 4 |
|
|
|
|
|
} |
|
|
|
|
|
},*/ |
|
|
|
|
|
|
|
|
/* { |
|
|
|
|
|
'title': t(`${i18nPrefix}.columns.pubdate`, 'Pubdate'), |
|
|
|
|
|
'dataIndex': 'pubdate', |
|
|
|
|
|
valueType: 'dateTime', |
|
|
|
|
|
colProps: { |
|
|
|
|
|
span: 4 |
|
|
|
|
|
} |
|
|
|
|
|
},*/ |
|
|
{ |
|
|
{ |
|
|
'title': t(`${i18nPrefix}.columns.total`, 'Total'), |
|
|
'title': t(`${i18nPrefix}.columns.total`, 'Total'), |
|
|
'dataIndex': 'total', |
|
|
'dataIndex': 'total', |
|
@ -350,13 +351,13 @@ const Video = () => { |
|
|
'title': t(`${i18nPrefix}.columns.year`, 'Year'), |
|
|
'title': t(`${i18nPrefix}.columns.year`, 'Year'), |
|
|
'dataIndex': 'year', |
|
|
'dataIndex': 'year', |
|
|
valueType: 'dateYear', |
|
|
valueType: 'dateYear', |
|
|
fieldProps:{ |
|
|
|
|
|
style:{ |
|
|
|
|
|
|
|
|
fieldProps: { |
|
|
|
|
|
style: { |
|
|
width: '100%' |
|
|
width: '100%' |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
colProps: { |
|
|
colProps: { |
|
|
span: openFilter? 12: 4, |
|
|
|
|
|
|
|
|
span: openFilter ? 12 : 4, |
|
|
}, |
|
|
}, |
|
|
render: (_dom, record) => { |
|
|
render: (_dom, record) => { |
|
|
if (record.year === undefined || record.year === null || record.year === 0) { |
|
|
if (record.year === undefined || record.year === null || record.year === 0) { |
|
@ -365,7 +366,7 @@ const Video = () => { |
|
|
|
|
|
|
|
|
return <TagValue |
|
|
return <TagValue |
|
|
tags={[ record.year ]} |
|
|
tags={[ record.year ]} |
|
|
wrap={ currentVideo?.id === record.id} |
|
|
|
|
|
|
|
|
wrap={currentVideo?.id === record.id} |
|
|
value={search?.year} |
|
|
value={search?.year} |
|
|
single={true} |
|
|
single={true} |
|
|
onChange={(values) => { |
|
|
onChange={(values) => { |
|
@ -616,7 +617,7 @@ const Video = () => { |
|
|
] |
|
|
] |
|
|
} |
|
|
} |
|
|
] as ProColumns[] |
|
|
] as ProColumns[] |
|
|
}, [ isDeleting, category, isCategoryFetching, categories, isCateLoading, category, currentVideo, search, openFilter ]) |
|
|
|
|
|
|
|
|
}, [ isDeleting, category, isCategoryFetching, categories, isCateLoading, category, currentVideo, search, openFilter ]) |
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
useEffect(() => { |
|
|
|
|
|
|
|
@ -632,7 +633,7 @@ const Video = () => { |
|
|
}, [ isSuccess ]) |
|
|
}, [ isSuccess ]) |
|
|
|
|
|
|
|
|
return ( |
|
|
return ( |
|
|
<ListPageLayout className={styles.container}> |
|
|
|
|
|
|
|
|
<ListPageLayout className={styles.container}> |
|
|
<ProTable |
|
|
<ProTable |
|
|
rowKey="id" |
|
|
rowKey="id" |
|
|
headerTitle={t(`${i18nPrefix}.title`, '视频管理')} |
|
|
headerTitle={t(`${i18nPrefix}.title`, '视频管理')} |
|
@ -676,7 +677,7 @@ const Video = () => { |
|
|
] |
|
|
] |
|
|
}} |
|
|
}} |
|
|
scroll={{ |
|
|
scroll={{ |
|
|
x: 3500, y: 'calc(100vh - 290px)' |
|
|
|
|
|
|
|
|
x: 3800, y: 'calc(100vh - 290px)' |
|
|
}} |
|
|
}} |
|
|
onRow={(record) => { |
|
|
onRow={(record) => { |
|
|
return { |
|
|
return { |
|
|