简历集成、简历预览、简历编辑、修改密码等功能开发
Some checks failed
Node CI / build (14.x, macOS-latest) (push) Has been cancelled
Node CI / build (14.x, ubuntu-latest) (push) Has been cancelled
Node CI / build (14.x, windows-latest) (push) Has been cancelled
Node CI / build (16.x, macOS-latest) (push) Has been cancelled
Node CI / build (16.x, ubuntu-latest) (push) Has been cancelled
Node CI / build (16.x, windows-latest) (push) Has been cancelled
coverage CI / build (push) Has been cancelled
Node pnpm CI / build (16.x, macOS-latest) (push) Has been cancelled
Node pnpm CI / build (16.x, ubuntu-latest) (push) Has been cancelled
Node pnpm CI / build (16.x, windows-latest) (push) Has been cancelled
Some checks failed
Node CI / build (14.x, macOS-latest) (push) Has been cancelled
Node CI / build (14.x, ubuntu-latest) (push) Has been cancelled
Node CI / build (14.x, windows-latest) (push) Has been cancelled
Node CI / build (16.x, macOS-latest) (push) Has been cancelled
Node CI / build (16.x, ubuntu-latest) (push) Has been cancelled
Node CI / build (16.x, windows-latest) (push) Has been cancelled
coverage CI / build (push) Has been cancelled
Node pnpm CI / build (16.x, macOS-latest) (push) Has been cancelled
Node pnpm CI / build (16.x, ubuntu-latest) (push) Has been cancelled
Node pnpm CI / build (16.x, windows-latest) (push) Has been cancelled
This commit is contained in:
@@ -22,15 +22,20 @@ const InterviewInvite: React.FC<InterviewInviteProps> = (props) => {
|
||||
|
||||
const [interviewForm] = Form.useForm();
|
||||
const [interviewMethod, setInterviewMethod] = useState<string>('online');
|
||||
const [meetingType, setMeetingType] = useState<string>('shz_video');
|
||||
const [submitting, setSubmitting] = useState<boolean>(false);
|
||||
const [alreadyInvited, setAlreadyInvited] = useState<boolean>(false);
|
||||
const [checkingInvitation, setCheckingInvitation] = useState<boolean>(false);
|
||||
|
||||
useEffect(() => {
|
||||
if (open && userId && jobId) {
|
||||
checkExistingInvitation();
|
||||
if (open && userId) {
|
||||
if (jobId) {
|
||||
checkExistingInvitation();
|
||||
}
|
||||
interviewForm.resetFields();
|
||||
setInterviewMethod('online');
|
||||
setMeetingType('shz_video');
|
||||
interviewForm.setFieldsValue({ interviewMethod: 'online', meetingType: 'shz_video', meetingLink: 'https://mc.repohub.cn/pro.html' });
|
||||
}
|
||||
}, [open, userId, jobId]);
|
||||
|
||||
@@ -74,6 +79,7 @@ const InterviewInvite: React.FC<InterviewInviteProps> = (props) => {
|
||||
? dayjs(values.interviewTime).format('YYYY-MM-DD HH:mm:ss')
|
||||
: undefined,
|
||||
interviewMethod: values.interviewMethod,
|
||||
meetingType: values.meetingType,
|
||||
meetingLink: values.meetingLink,
|
||||
meetingPassword: values.meetingPassword,
|
||||
interviewLocation: values.interviewLocation,
|
||||
@@ -89,6 +95,7 @@ const InterviewInvite: React.FC<InterviewInviteProps> = (props) => {
|
||||
setAlreadyInvited(true);
|
||||
interviewForm.resetFields();
|
||||
setInterviewMethod('online');
|
||||
setMeetingType('shz_video');
|
||||
} else {
|
||||
message.error(response.msg || '发送失败');
|
||||
}
|
||||
@@ -118,7 +125,7 @@ const InterviewInvite: React.FC<InterviewInviteProps> = (props) => {
|
||||
<Form
|
||||
form={interviewForm}
|
||||
layout="vertical"
|
||||
initialValues={{ interviewMethod: 'online', meetingLink: 'https://mc.repohub.cn/pro.html' }}
|
||||
initialValues={{ interviewMethod: 'online', meetingType: 'shz_video', meetingLink: 'https://mc.repohub.cn/pro.html' }}
|
||||
>
|
||||
<Form.Item
|
||||
name="interviewMethod"
|
||||
@@ -147,12 +154,53 @@ const InterviewInvite: React.FC<InterviewInviteProps> = (props) => {
|
||||
</Form.Item>
|
||||
|
||||
{interviewMethod === 'online' && (
|
||||
<Form.Item
|
||||
name="meetingLink"
|
||||
label="在线会议链接"
|
||||
>
|
||||
<Input placeholder="请输入在线会议链接" />
|
||||
</Form.Item>
|
||||
<>
|
||||
<Form.Item
|
||||
name="meetingType"
|
||||
label="在线会议类型"
|
||||
rules={[{ required: true, message: '请选择会议类型' }]}
|
||||
>
|
||||
<Select
|
||||
placeholder="请选择会议类型"
|
||||
onChange={(value) => {
|
||||
setMeetingType(value);
|
||||
if (value === 'shz_video') {
|
||||
interviewForm.setFieldsValue({ meetingLink: 'https://mc.repohub.cn/pro.html', meetingPassword: '' });
|
||||
} else {
|
||||
interviewForm.setFieldsValue({ meetingLink: '', meetingPassword: '' });
|
||||
}
|
||||
}}
|
||||
>
|
||||
<Option value="shz_video">石河子视频会议</Option>
|
||||
<Option value="tencent_meeting">腾讯会议</Option>
|
||||
</Select>
|
||||
</Form.Item>
|
||||
{meetingType === 'shz_video' && (
|
||||
<Form.Item
|
||||
name="meetingLink"
|
||||
label="会议链接"
|
||||
>
|
||||
<Input disabled placeholder="https://mc.repohub.cn/pro.html" />
|
||||
</Form.Item>
|
||||
)}
|
||||
{meetingType === 'tencent_meeting' && (
|
||||
<>
|
||||
<Form.Item
|
||||
name="meetingLink"
|
||||
label="腾讯会议链接"
|
||||
rules={[{ required: true, message: '请输入腾讯会议链接' }]}
|
||||
>
|
||||
<Input placeholder="请输入腾讯会议链接" />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
name="meetingPassword"
|
||||
label="会议密码"
|
||||
>
|
||||
<Input placeholder="请输入会议密码(选填)" />
|
||||
</Form.Item>
|
||||
</>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
|
||||
{interviewMethod === 'offline' && (
|
||||
|
||||
Reference in New Issue
Block a user