import React from "react"; import axios from "axios"; import { Button, Form, Input, Icon, Radio, message } from "antd"; import "antd/dist/antd.css"; import { confirmAlert } from "react-confirm-alert"; import "react-confirm-alert/src/react-confirm-alert.css"; import qs from "qs"; import successInform from "./Message"; class NewForm extends React.Component { componentDidMount() { this.loadLocalStorage(); } loadLocalStorage = () => { const values = JSON.parse(localStorage.getItem("formCache") || "{}"); this.props.form.setFieldsValue(values); }; saveLocalStorage = () => { const values = this.props.form.getFieldsValue(); localStorage.setItem("formCache", JSON.stringify(values)); }; onStuIdChange = () => { let ID = this.props.form.getFieldsValue(["id_student"])["id_student"]; this.props.setID(ID); }; handleSubmit = (e) => { e.preventDefault(); const validateFieldsAndScroll = this.props.form.validateFieldsAndScroll; confirmAlert({ title: "提交报名表", message: "您填写的表格已经保存在浏览器中,以后可以修改后覆盖提交。点击 Yes 进行提交。", buttons: [ { label: "Yes", onClick: () => { validateFieldsAndScroll((err, values) => { if (err) { message.error("填写不正确,请按照提示修改"); } else { console.log(values); let addForm = async () => { let result = await axios("api/submit", { headers: { "Content-Type": "application/x-www-form-urlencoded", }, method: "POST", data: qs.stringify({ dto: JSON.stringify(values) }), }); if (result.data.Status === "success") { message.success( "提交成功!后续的面试时间会以短信形式通知,期待你的加入!" ); successInform(values.phone, values.name, values.id_student, values.firstWish, values.secondWish); } else { message.error("提交失败!可能是网络问题。"); successInform(values.phone, values.name, values.id_student, values.firstWish, values.secondWish); } }; addForm(); } }); }, }, { label: "No", onClick: () => {}, }, ], }); }; render() { const formItemLayout = { labelCol: { xs: { span: 24 }, sm: { span: 8 }, }, wrapperCol: { xs: { span: 24 }, sm: { span: 12 }, }, }; const tailFormItemLayout = { wrapperCol: { xs: { span: 24, offset: 0, }, sm: { span: 16, offset: 8, }, }, }; const { getFieldDecorator } = this.props.form; return (
{getFieldDecorator("name", { rules: [ { required: true, message: "请在此处填入你的姓名", }, ], })()} {getFieldDecorator("id_student", { rules: [ { required: true, message: "请在此处填入你的学号", }, { pattern: /^[0-9]+$/, message: "混进去了数字以外的东西呀" }, ], })()} {getFieldDecorator("sex", { rules: [ { required: true, message: "请选择你的性别", }, ], })(
)}
{getFieldDecorator("grade", { rules: [ { required: true, message: "请选择你的年级", }, ], })( 大一 大二 大三 大四 )} {getFieldDecorator("major", { rules: [ { required: true, message: "请在这里填入你的专业", }, ], })()} {getFieldDecorator("email", { rules: [ { required: true, message: "请在此处填入你的E-mail", }, { type: "email", message: "邮箱格式不正确" }, ], })()} {getFieldDecorator("phone", { rules: [ { required: true, message: "请在此处填入你的电话号码", }, { pattern: /^1[3456789]\d{9}$/, message: "手机号不太对呀" }, ], })()} {getFieldDecorator("firstWish", { rules: [ { required: true, message: "请选择第一志愿", }, ], })( 电脑部 电器部 文宣部 人资部 财外部 )} {getFieldDecorator("secondWish", { rules: [ { required: true, message: "请选择第二志愿", }, ], })( 电脑部 电器部 文宣部 人资部 财外部 )} {getFieldDecorator("adjustment", { rules: [ { required: true, message: "请选择是否服从调剂", }, ], })( )} {getFieldDecorator("firstReason", { rules: [ { required: true, message: "请填入你选择志愿的原因", }, ], })()} {getFieldDecorator("secondReason", { rules: [ { required: true, message: "请填入你选择志愿的原因", }, ], })()} {getFieldDecorator("question1", { rules: [ { required: true, message: "请简单介绍一下你的特长", }, ], })()} {getFieldDecorator("question2", { rules: [ { required: true, message: "请填入问题的回答", }, ], })()} {getFieldDecorator("time1", { initialValue: 0, rules: [{ required: true }], })} {getFieldDecorator("time2", { initialValue: 0, rules: [{ required: true }], })} {getFieldDecorator("time3", { initialValue: 0, rules: [{ required: true }], })} {getFieldDecorator("time4", { initialValue: 0, rules: [{ required: true }], })} {getFieldDecorator("time5", { initialValue: 0, rules: [{ required: true }], })} {getFieldDecorator("time6", { initialValue: 0, rules: [{ required: true }], })} {getFieldDecorator("time7", { initialValue: 0, rules: [{ required: true }], })}
); } } const Sheet = Form.create({})(NewForm); export default Sheet;