import { Image } from '@tarojs/components'; import Taro, { useLoad } from '@tarojs/taro'; import { List } from '@taroify/core'; import classNames from 'classnames'; import { useCallback, useState } from 'react'; import { EventName, OpenSource } from '@/constants/app'; import { JobManageInfo } from '@/types/job'; import { getJobLocation, requestJobManageList } from '@/utils/job'; import { getPageQuery, navigateBack } from '@/utils/route'; import { formatTime } from '@/utils/time'; import Toast from '@/utils/toast'; import './index.less'; const PREFIX = 'page-job-select-my-publish'; export default function JobSelectMyPublish() { const [list, setList] = useState([]); const [jobId, setJobId] = useState('1'); const [source, setSource] = useState(); const handleClick = useCallback( (info: JobManageInfo) => { Taro.eventCenter.trigger(EventName.SELECT_MY_PUBLISH_JOB, info, source); navigateBack(); }, [source] ); useLoad(async () => { const query = getPageQuery<{ id: string; source: OpenSource }>(); query?.id && setJobId(query.id); try { const res = await requestJobManageList(); setList(res.jobResults); setSource(query.source); } catch (e) { console.error(e); Toast.error('出错了,请重试'); } }); return (
{list.map(item => (
handleClick(item)} className={classNames(`${PREFIX}__card`, { selected: item.id === jobId })} >
{item.title}
{getJobLocation(item)}
{formatTime(item.updated)}
{item.id === jobId && ( )}
))}
); }