|
|
|
|
|
|
|
|
import { useRef, useState, useEffect } from 'react'; |
|
|
import { useRef, useState, useEffect } from 'react'; |
|
|
import { connect } from '@umijs/max'; |
|
|
import { connect } from '@umijs/max'; |
|
|
import type { ActionType } from '@ant-design/pro-components'; |
|
|
|
|
|
|
|
|
import type { ActionType, ProFormInstance } from '@ant-design/pro-components'; |
|
|
import { |
|
|
import { |
|
|
ProTable |
|
|
|
|
|
|
|
|
ProTable, ProForm, ProFormSelect, ProFormText, ProFormDependency |
|
|
} from '@ant-design/pro-components'; |
|
|
} from '@ant-design/pro-components'; |
|
|
import { Button, ConfigProvider, Image, message } from 'antd'; |
|
|
|
|
|
import { PostJobseekerList, PostJobseekerExport } from '@/apis/api'; |
|
|
|
|
|
|
|
|
import { Button, ConfigProvider, Image, message, Select, Input, Row, Col, Space, Flex } from 'antd'; |
|
|
|
|
|
import { PostJobseekerList, PostJobseekerExport, PostJobapplicantUpdate } from '@/apis/api'; |
|
|
import { Imageprefix } from '@/constants'; |
|
|
import { Imageprefix } from '@/constants'; |
|
|
|
|
|
|
|
|
const selectfieldNames = { label: 'name', value: 'id' }; |
|
|
const selectfieldNames = { label: 'name', value: 'id' }; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const PagesMainJobseekerListTable: React.FC = ({ dispatch, getId, dictModel, openModel }: any) => { |
|
|
const PagesMainJobseekerListTable: React.FC = ({ dispatch, getId, dictModel, openModel }: any) => { |
|
|
|
|
|
const [form, setForm] = useState<{ status: number, customer_id: number, id: number, audit_memo: string }>({ |
|
|
|
|
|
status: 1, |
|
|
|
|
|
customer_id: 0, |
|
|
|
|
|
id: 0, |
|
|
|
|
|
audit_memo: '' |
|
|
|
|
|
}); |
|
|
const actionRef = useRef<ActionType>(); |
|
|
const actionRef = useRef<ActionType>(); |
|
|
const [list, setList] = useState<object[]>([]) |
|
|
const [list, setList] = useState<object[]>([]) |
|
|
const [total, setTotal] = useState<number>(0) |
|
|
const [total, setTotal] = useState<number>(0) |
|
|
|
|
|
|
|
|
> |
|
|
> |
|
|
|
|
|
|
|
|
<ProTable |
|
|
<ProTable |
|
|
|
|
|
size='small' |
|
|
|
|
|
bordered={true} |
|
|
scroll={{ x: 1300 }} |
|
|
scroll={{ x: 1300 }} |
|
|
actionRef={actionRef} |
|
|
actionRef={actionRef} |
|
|
dataSource={list} |
|
|
dataSource={list} |
|
|
|
|
|
|
|
|
title: '审核状态', |
|
|
title: '审核状态', |
|
|
dataIndex: 'status_txt', |
|
|
dataIndex: 'status_txt', |
|
|
width: 120, |
|
|
width: 120, |
|
|
search: false |
|
|
|
|
|
|
|
|
search: false, |
|
|
|
|
|
render: (_, record) => (<> |
|
|
|
|
|
<Select style={{ width: 100 }} size='small' defaultValue={record.status_txt} options={[ |
|
|
|
|
|
{ |
|
|
|
|
|
label: '待审', |
|
|
|
|
|
value: 1, |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
label: '通过', |
|
|
|
|
|
value: 2, |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
label: '不通过', |
|
|
|
|
|
value: 3, |
|
|
|
|
|
}, |
|
|
|
|
|
]} onChange={async (value) => { |
|
|
|
|
|
let res = await PostJobapplicantUpdate({ customer_id: record.customer_id, id: record.id, status: value }); |
|
|
|
|
|
actionRef.current.reload(); |
|
|
|
|
|
}} /> |
|
|
|
|
|
</>) |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
title: '审核原因', |
|
|
|
|
|
dataIndex: 'audit_memo', |
|
|
|
|
|
width: 200, |
|
|
|
|
|
search: false, |
|
|
|
|
|
render: (_, record) => ( |
|
|
|
|
|
<> |
|
|
|
|
|
{ |
|
|
|
|
|
record.status == 3 ? <> |
|
|
|
|
|
<Input size='small' placeholder='输入原因,按回车键保存' onPressEnter={async (e) => { |
|
|
|
|
|
let res = await PostJobapplicantUpdate({ customer_id: record.customer_id, id: record.id, status: 3, audit_memo: e.target.value }); |
|
|
|
|
|
actionRef.current.reload(); |
|
|
|
|
|
}}></Input></> : record.status_txt |
|
|
|
|
|
} |
|
|
|
|
|
</> |
|
|
|
|
|
|
|
|
|
|
|
) |
|
|
}, |
|
|
}, |
|
|
// { |
|
|
// { |
|
|
// title: '审核状态', |
|
|
// title: '审核状态', |
|
|
|
|
|
|
|
|
render: (_, record, action) => [ |
|
|
render: (_, record, action) => [ |
|
|
<Button key='1' type='link' onClick={() => { |
|
|
<Button key='1' type='link' onClick={() => { |
|
|
setId(record) |
|
|
setId(record) |
|
|
|
|
|
|
|
|
dispatch({ type: 'openModel/getOpenModal', payload: true }) |
|
|
dispatch({ type: 'openModel/getOpenModal', payload: true }) |
|
|
}}>编辑</Button>, |
|
|
}}>编辑</Button>, |
|
|
<Button key='2' type='link' onClick={() => { |
|
|
<Button key='2' type='link' onClick={() => { |
|
|
setId(record) |
|
|
setId(record) |
|
|
dispatch({ type: 'openModel/getOpenResumeHelpModal', payload: true }) |
|
|
dispatch({ type: 'openModel/getOpenResumeHelpModal', payload: true }) |
|
|
}}>工作帮扶情况</Button>, |
|
|
}}>工作帮扶情况</Button>, |
|
|
<Button key='2' type='link' onClick={() => { |
|
|
|
|
|
|
|
|
<Button key='3' type='link' onClick={() => { |
|
|
setId(record) |
|
|
setId(record) |
|
|
dispatch({ type: 'openModel/getOpenResumeDetailModal', payload: true }) |
|
|
dispatch({ type: 'openModel/getOpenResumeDetailModal', payload: true }) |
|
|
}}>预览简历</Button>, |
|
|
}}>预览简历</Button>, |
|
|
|
|
|
|
|
|
pagesize: pageSize, |
|
|
pagesize: pageSize, |
|
|
sort: 'id', |
|
|
sort: 'id', |
|
|
sortby: 'desc', |
|
|
sortby: 'desc', |
|
|
keyword: params.name, |
|
|
|
|
|
|
|
|
keyword: params.seekername, |
|
|
gender: params.gender, |
|
|
gender: params.gender, |
|
|
education: params.education, |
|
|
education: params.education, |
|
|
english: params.english, |
|
|
english: params.english, |
|
|
|
|
|
|
|
|
title: params.title, |
|
|
title: params.title, |
|
|
political_status: params.political_status, |
|
|
political_status: params.political_status, |
|
|
salary_range_desire: params.salary_range_desire, |
|
|
salary_range_desire: params.salary_range_desire, |
|
|
status: params.status |
|
|
|
|
|
|
|
|
status: params.status ? Number(params.status) : 0 |
|
|
}).then(res => { |
|
|
}).then(res => { |
|
|
setList(res.data.seekers) |
|
|
setList(res.data.seekers) |
|
|
setTotal(res.data.total) |
|
|
setTotal(res.data.total) |