+ 重复提交面试时间可能导致场次排错,请谨慎重复提交,点击右上角关闭警告以继续
+ 已选择的时间}
+ bordered
+ dataSource={this.state.info.times}
+ renderItem={item => {item}}
+ />
+
+ }
+ type="warning"
+ showIcon
+ closable
+ style={{ height: "700px", textAlign: "center"}}
+ afterClose = {()=>{
+ const info = Object.assign({},this.state.info,{times: []});
+ this.setState({info:info})
+ }
+ }
+ />:
-
-
- {this.state.info.name}
+
+
+ {this.state.info.name}
+
+
+ {this.state.info.id_student}
+
+
+ {this.state.info.firstWish}
+
+
+ {this.state.info.secondWish}
+
+
+ {this.state.info.thirdWish}
+
-
- {this.state.info.id_student}
-
-
- {this.state.info.firstWish}
-
-
- {this.state.info.secondWish}
-
-
-
+
- ) : (
+ )}else{
+ return(
{
const values = JSON.parse(localStorage.getItem("formCache") || "{}");
+ this.props.setID(values.id_student)
this.props.form.setFieldsValue(values);
};
saveLocalStorage = () => {
@@ -88,6 +89,24 @@ class NewForm extends React.Component {
});
};
+ validator = (rule, value, callback) => {
+ try{
+ const form = this.props.form
+ var firstWish = value
+ var secondWish = form.getFieldValue('secondWish')
+ var thirdWish = form.getFieldValue('thirdWish')
+ if(firstWish === undefined ||secondWish === undefined ||thirdWish === undefined){
+ throw("请完整填写三个志愿")
+ }
+ if(firstWish === secondWish||firstWish === thirdWish ||secondWish === thirdWish){
+ throw("三个志愿不能重复")
+ }
+ }catch(err){
+ callback(err)
+ }
+ callback()
+ }
+
render() {
const formItemLayout = {
labelCol: {
@@ -217,13 +236,16 @@ class NewForm extends React.Component {
})()}
-
+
{getFieldDecorator("firstWish", {
rules: [
{
required: true,
message: "请选择第一志愿",
},
+ {
+ validator: this.validator
+ }
],
})(
@@ -236,16 +258,47 @@ class NewForm extends React.Component {
)}
-
+
{getFieldDecorator("secondWish", {
rules: [
{
required: true,
- message: "请选择第二志愿",
+ message: "请选择第二志愿"
},
+ { validator: (rule, value, callback) => {
+ this.props.form.validateFields(['firstWish'], { force: true });
+ callback()
+ }
+ }
],
})(
-
+
+ 电脑部
+ 电器部
+ 文宣部
+ 人资部
+ 财外部
+
+ )}
+
+
+
+ {getFieldDecorator("thirdWish", {
+ rules: [
+ {
+ required: true,
+ message: "请选择第三志愿",
+ },
+ { validator: (rule, value, callback) => {
+ this.props.form.validateFields(['firstWish'], { force: true })
+ callback()
+ }
+ }
+ ],
+ })(
+
电脑部
电器部
文宣部
@@ -293,6 +346,16 @@ class NewForm extends React.Component {
})()}
+
+ {getFieldDecorator("thirdReason", {
+ rules: [
+ {
+ required: true,
+ message: "请填入你选择志愿的原因",
+ },
+ ],
+ })()}
+
{getFieldDecorator("question1", {
rules: [
diff --git a/yarn.lock b/yarn.lock
index a465679..eb590a8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3461,6 +3461,13 @@ decode-uri-component@^0.2.0:
resolved "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
+deep-eql@~3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/deep-eql/download/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
+ integrity sha1-38lARACtHI/gI+faHfHBR8S0RN8=
+ dependencies:
+ type-detect "^4.0.0"
+
deep-equal@^1.0.1:
version "1.1.1"
resolved "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a"
@@ -9241,6 +9248,18 @@ rc-trigger@^3.0.0:
rc-animate "^3.0.0-rc.1"
rc-util "^4.15.7"
+rc-tween-one@^1.2.5:
+ version "1.8.1"
+ resolved "https://registry.npm.taobao.org/rc-tween-one/download/rc-tween-one-1.8.1.tgz#5b3b464b9bf2c369efc16c816cccf57bc16ae253"
+ integrity sha1-WztGS5vyw2nvwWyBbMz1e8Fq4lM=
+ dependencies:
+ babel-runtime "6.x"
+ deep-eql "~3.0.1"
+ prop-types "^15.6.1"
+ raf "~3.4.0"
+ style-utils "~0.1.13"
+ tween-functions "~1.2.0"
+
rc-tween-one@^2.2.0, rc-tween-one@^2.4.0, rc-tween-one@^2.5.0, rc-tween-one@^2.6.8:
version "2.6.8"
resolved "https://registry.npm.taobao.org/rc-tween-one/download/rc-tween-one-2.6.8.tgz#75edf141af491a28b18812dc419efa6b0238e2a7"
@@ -9481,6 +9500,14 @@ react-slick@~0.25.2:
lodash.debounce "^4.0.8"
resize-observer-polyfill "^1.5.0"
+react-sublime-video@^0.2.5:
+ version "0.2.5"
+ resolved "https://registry.npm.taobao.org/react-sublime-video/download/react-sublime-video-0.2.5.tgz#c967b8e9a374b36d6a5d1b63b93fa6ec02e54842"
+ integrity sha1-yWe46aN0s21qXRtjuT+m7ALlSEI=
+ dependencies:
+ prop-types "^15.5.10"
+ rc-tween-one "^1.2.5"
+
react@^16.12.0:
version "16.12.0"
resolved "https://registry.npm.taobao.org/react/download/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83"
@@ -10679,6 +10706,11 @@ style-loader@1.0.0:
loader-utils "^1.2.3"
schema-utils "^2.0.1"
+style-utils@~0.1.13:
+ version "0.1.24"
+ resolved "https://registry.npm.taobao.org/style-utils/download/style-utils-0.1.24.tgz#fc0675d79a0b201bf86fc5d5a1dd202f838de544"
+ integrity sha1-/AZ115oLIBv4b8XVod0gL4ON5UQ=
+
style-utils@~0.2.0:
version "0.2.0"
resolved "https://registry.npm.taobao.org/style-utils/download/style-utils-0.2.0.tgz#3d8614931b8ff6e1eea0545f1dbfaf271bb1aa7e"
@@ -11009,6 +11041,11 @@ type-check@~0.3.2:
dependencies:
prelude-ls "~1.1.2"
+type-detect@^4.0.0:
+ version "4.0.8"
+ resolved "https://registry.npm.taobao.org/type-detect/download/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
+ integrity sha1-dkb7XxiHHPu3dJ5pvTmmOI63RQw=
+
type-fest@^0.8.1:
version "0.8.1"
resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"