修改ccks的issue

This commit is contained in:
何童崇 2022-05-25 15:36:14 +08:00
parent 16f16c7183
commit 76c90faab5
11 changed files with 135 additions and 61 deletions

View File

@ -164,7 +164,7 @@ const Qz2022 = (props) => {
<Login {...props} />
{/* banner图+选项 */}
<img src={banner_url || (is_local ? banner_local : banner)} className="qz_banner" alt="" />
{pathname.indexOf("qz2022") && <InfoModal />}
{pathname.indexOf("qz2022")>-1 && <InfoModal />}
<div className="competition">
<div className={`competition-top ${fixedTop}`}>
{/* {paths.indexOf(active) !== -1 && */}

View File

@ -15,11 +15,9 @@ import { current_main_site_url } from "../fetch";
import EditTable from "../editTable";
import apply_top from "../image/apply_top.png";
import apply_down from "../image/apply_down.png";
import apply_notice from "../image/apply_notice.png";
import apply_input from "../image/apply_input.svg";
import apply_success from "../image/apply_success.svg";
import apply_check from "../image/apply_check.svg";
import apply_input from "../image/apply_input.png";
import apply_success from "../image/apply_success.png";
import apply_check from "../image/apply_check.png";
import { useEffect } from "react";
@ -41,7 +39,6 @@ export default Form.create()((props) => {
const [sourceBy, setSourceBy] = useState(1);
const [visible, setVisible] = useState(false);
// loading
const [loading, setLoading] = useState(false);
const [files, setFiles] = useState([]);
useEffect(() => {
const applyStatus = qzDetail
@ -59,9 +56,11 @@ export default Form.create()((props) => {
setSourceBy(enrollStatus.enroll_info.subject_source_type);
setFieldsValue(enrollStatus.enroll_info);
}
if (enrollStatus &&
if (
enrollStatus &&
enrollStatus.enroll_info &&
enrollStatus.enroll_info.enroll_template) {
enrollStatus.enroll_info.enroll_template
) {
setFiles([
{
...enrollStatus.enroll_info.enroll_template,
@ -70,14 +69,16 @@ export default Form.create()((props) => {
response: { id: enrollStatus.enroll_info.enroll_template.id },
},
]);
setFieldsValue({ enroll_template_id: enrollStatus.enroll_info.enroll_template.id })
setFieldsValue({
enroll_template_id: enrollStatus.enroll_info.enroll_template.id,
});
}
}, [current_user, enrollStatus]);
// form
const helper = useCallback(
(label, name, rules, widget, extra) => (
<Form.Item label={label} extra={extra}>
(label, name, rules, widget, extra,className) => (
<Form.Item label={label} extra={extra} className={className}>
{getFieldDecorator(name, { rules, validateFirst: true })(widget)}
</Form.Item>
),
@ -95,11 +96,14 @@ export default Form.create()((props) => {
//
function checkInfo() {
if(!files.length){
setFieldsValue({enroll_template_id:''})
}
setErrorMessage(undefined);
//
if (members.length > 0) {
let all = 0;
const len = qzDetail && qzDetail.is_local ? 5 : 3;
const len =3;
//
let sizes = 0;
members.map((item) => {
@ -108,8 +112,7 @@ export default Form.create()((props) => {
return i.length === 0;
}).length;
if (
nullMap === valuesLen.length - 1 ||
(valuesLen.length === len && nullMap === 0)
valuesLen.length === len && nullMap === 0
) {
//
all += 1;
@ -175,15 +178,6 @@ export default Form.create()((props) => {
});
}
//
function errorSource(rule, value, callback) {
if (sourceBy === 1 && !value) {
//
callback("请正确输入项目名称");
} else {
callback();
}
}
function handleChange(info) {
if (
@ -192,6 +186,7 @@ export default Form.create()((props) => {
info.file.status === "removed"
) {
setFiles(appendFileSizeToUploadFileAll(info.fileList).slice(-1));
}
}
@ -203,15 +198,18 @@ export default Form.create()((props) => {
//
function beforeUpload(file) {
const isLt100M = file.size / 1024 / 1024 < 10;
const isType = file.type === "image/png" || file.type === "image/jpg" || file.type === "image/jpeg" ||file.name.endsWith(".zip") || file.name.endsWith(".rar");
if(!isType){
message.error("只能上传指定类型文件");
}
if (!isLt100M) {
message.error("文件大小必须小于10MB");
}
return isLt100M;
return isLt100M &&isType;
}
return (
<div className="qz_main ccks">
<div className="step">
@ -219,27 +217,61 @@ export default Form.create()((props) => {
<div className="border_dashed"></div>
<div className="img_span">
<img src={apply_input} className="step_icon_svg" alt="" />
<span className={`${enrollStatus && (!enrollStatus.enroll_status || enrollStatus.status === 0) && 'active'}`}>个人信息</span>
<span
className={`${
enrollStatus &&
(!enrollStatus.enroll_status || enrollStatus.status === 0) &&
"active"
}`}
>
个人信息
</span>
</div>
<div className="border_dashed"></div>
<div className="img_span">
<img src={apply_check} className="step_icon_svg" alt="" />
<span className={`${enrollStatus && enrollStatus.status === 1 && 'active'}`}>报名审核中</span>
<span
className={`${
enrollStatus && enrollStatus.status === 1 && "active"
}`}
>
报名审核中
</span>
</div>
<div className="border_dashed"></div>
<div className="img_span">
<img src={apply_success} className="step_icon_svg" alt="" />
<span className={`${enrollStatus && enrollStatus.status === 2 && 'active'}`}>报名成功</span>
<span
className={`${
enrollStatus && enrollStatus.status === 2 && "active"
}`}
>
报名成功
</span>
</div>
<div className="border_dashed"></div>
<img src={apply_down} className="step_icon" alt="" />
</div>
{enrollStatus && enrollStatus.enroll_info && enrollStatus.status=== 0 && <div className="ccks_info info_error"><i className="iconfont icon-shanchudiao mr10"></i>您的报名暂未通过审核请重新提交报名信息谢谢</div>}
{enrollStatus && enrollStatus.status === 1 && <div className="ccks_info info_wait"><i className="iconfont icon-shijianicon mr10"></i>您的报名信息正在审核中请耐心等待</div>}
{enrollStatus && enrollStatus.status === 2 && <div className="ccks_info info_success"><i className="iconfont icon-xiaoxilingdang mr10"></i>您已报名成功请通过链接下载数据集</div>}
{enrollStatus && enrollStatus.enroll_info && enrollStatus.status === 0 && (
<div className="ccks_info info_error">
<i className="iconfont icon-shanchudiao mr10"></i>
您的报名暂未通过审核请重新提交报名信息谢谢
</div>
)}
{enrollStatus && enrollStatus.status === 1 && (
<div className="ccks_info info_wait">
<i className="iconfont icon-shijianicon mr10"></i>
您的报名信息正在审核中请耐心等待
</div>
)}
{enrollStatus && enrollStatus.status === 2 && (
<div className="ccks_info info_success">
<i className="iconfont icon-xiaoxilingdang mr10"></i>
您已报名成功请通过链接下载数据集
</div>
)}
<div className="apply_information mb60">
<div className="info_head">
{!(enrollStatus && enrollStatus.enroll_status) && "填写"}报名信息
@ -266,7 +298,7 @@ export default Form.create()((props) => {
"参赛队长姓名",
"leader",
[
{ required: true, message: "请正确输入负责人姓名" },
{ required: true, message: "请正确输入参赛队长姓名" },
{ max: 32, message: "超出限制长度32位字符请重新编辑" },
],
<Input
@ -334,15 +366,20 @@ export default Form.create()((props) => {
上传
</Button>
<div className="tips mt10">
1请上传加盖单位公章照片证明图片名称命名为CCKS2022图谱构建技术评测_参赛队名称_报名
1请上传加盖单位公章照片证明文件名称命名为CCKS2022图谱构建技术评测_参赛队名称_报名
<br />
2文件大小必须小于10MB
<br />
3文件类型仅支持jpgpngjpegziprar格式
</div>
</Upload>
</Upload>,
'',
"upload_form"
)}
<div className="edit_table">
<p className="mt10">成员 : </p>
<p className="error_message">{errorMessage}</p>
{/* <p className="mt10">成员 : </p> */}
{qzDetail && (
<EditTable
members={
@ -354,6 +391,7 @@ export default Form.create()((props) => {
isLocal={qzDetail.is_local}
/>
)}
<p className="error_message">{errorMessage}</p>
</div>
</Form>
)}
@ -394,8 +432,11 @@ export default Form.create()((props) => {
<span>队长邮箱地址 : </span>
<Tooltip
title={enrollStatus && enrollStatus.enroll_info.mail}
>{enrollStatus && enrollStatus.enroll_info.mail}</Tooltip>
>
{enrollStatus && enrollStatus.enroll_info.mail}
</Tooltip>
</div>
<div className={`info-right }`}>
<span>队长单位证明 : </span>
@ -412,20 +453,45 @@ export default Form.create()((props) => {
)}
</div>
{enrollStatus && enrollStatus.enroll_info.members.length ?<div className={`info-right `}>
<span>成员 : </span>
<Tooltip
title={
enrollStatus &&
enrollStatus.enroll_info.members &&
enrollStatus.enroll_info.members.map((item) => {
return item.real_name + ",";
})
}
placement="topLeft"
>
{enrollStatus &&
enrollStatus.enroll_info.members &&
enrollStatus.enroll_info.members.map((item) => {
return item.real_name + ",";
})}
</Tooltip>
</div>:''}
</div>
{enrollStatus && enrollStatus.enroll_info.status == 2 && <div className="download_box">
<a href={
current_main_site_url +
(qzDetail && qzDetail.enroll_template)
}
>
<Button className=" download ml20">
<Icon type='download' /> 下载数据集
<span className="btn_text">{current_main_site_url + (qzDetail && qzDetail.enroll_template)}</span>
</Button>
</a>
</div>}
{enrollStatus && enrollStatus.enroll_info.status == 2 && (
<div className="download_box">
<a
href={
current_main_site_url +
(qzDetail && qzDetail.enroll_template)
}
>
<Button className=" download ml20">
<Icon type="download" /> 下载数据集
<span className="btn_text">
{current_main_site_url +
(qzDetail && qzDetail.enroll_template)}
</span>
</Button>
</a>
</div>
)}
</div>
)}
</div>

View File

@ -11,6 +11,9 @@
.step_icon {
width: 34px;
}
.step_icon_svg{
width: 42px;
}
.border_dashed {
width: 225px;
margin: 0 12px;
@ -329,4 +332,7 @@
background-color: #edf2ff;
border: 1px solid #4154f1;
}
.apply_information .info_form .ant-form-item.upload_form{
width: 80%;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="42" height="42" viewBox="0 0 42 42"><defs><style>.a{fill:none;}.b{clip-path:url(#a);}.c{fill:url(#b);}.d{fill:rgba(0,49,212,0.41);}.e{fill:#fff;}.f{fill:url(#c);}</style><clipPath id="a"><rect class="a" width="42" height="42" transform="translate(946 610)"/></clipPath><linearGradient id="b" x1="0.267" y1="0.065" x2="0.5" y2="1" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#2e5bfe"/><stop offset="1" stop-color="#113dd9"/></linearGradient><linearGradient id="c" x2="1" y2="1" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#fff"/><stop offset="0.61" stop-color="#2c59fb"/><stop offset="1" stop-color="#fff"/></linearGradient></defs><g class="b" transform="translate(-946 -610)"><g transform="translate(7412.5 -19618.551)"><rect class="c" width="24" height="24" rx="2" transform="translate(-6464 20232)"/><g transform="translate(49.32 -243.77)"><g transform="translate(-6507.093 20481.98)"><g transform="translate(0 0)"><path class="d" d="M21.957.32a2.972,2.972,0,0,1,2.97,2.964V15.136a9.076,9.076,0,0,0-5.445,1.8l.006-.072a.742.742,0,0,0-.744-.742H6.4a.742.742,0,1,0,0,1.484H18.682a9.128,9.128,0,0,0-2.3,3.452H6.4a.743.743,0,1,0,0,1.486h9.569a9.078,9.078,0,0,0,1.841,7.4H3.19A2.972,2.972,0,0,1,.22,26.989V9.709A1.456,1.456,0,0,1,1.706,8.226H6.632A1.454,1.454,0,0,0,8.116,6.74V1.806A1.486,1.486,0,0,1,9.6.32ZM18.746,11.185h-7.9a.742.742,0,0,0,0,1.484h7.9a.742.742,0,1,0,0-1.484ZM5.908.962c.393-.395.692-.249.692.3V5.3A1.454,1.454,0,0,1,5.114,6.788h-3.8c-.544,0-.692-.345-.347-.742Z" transform="translate(-0.22 -0.32)"/><path class="e" d="M9.6.17H21.957a3.127,3.127,0,0,1,3.12,3.113v12h-.165a8.984,8.984,0,0,0-5.34,1.773l-.092.069h0A9.911,9.911,0,0,0,17.243,20.7a11.343,11.343,0,0,0,.7,9.189l.106.216H3.19A3.128,3.128,0,0,1,.07,26.989V9.709A1.612,1.612,0,0,1,.541,8.545a1.6,1.6,0,0,1,1.168-.469H6.662a1.3,1.3,0,0,0,.923-.383,1.31,1.31,0,0,0,.381-.95V1.806A1.638,1.638,0,0,1,9.6.17ZM24.776,14.987V3.284A2.827,2.827,0,0,0,21.957.47H9.6A1.337,1.337,0,0,0,8.266,1.806V6.74A1.609,1.609,0,0,1,7.8,7.905a1.593,1.593,0,0,1-1.168.47H1.675a1.3,1.3,0,0,0-.923.382,1.312,1.312,0,0,0-.383.949V26.989A2.827,2.827,0,0,0,3.19,29.8H17.57a11.319,11.319,0,0,1,.375-11.2,9.918,9.918,0,0,1,.967-1.31,2.6,2.6,0,0,1,.482-.469A9.288,9.288,0,0,1,24.776,14.987ZM6.308.588c.1,0,.442.048.442.669V5.3A1.609,1.609,0,0,1,6.28,6.468a1.593,1.593,0,0,1-1.17.469h-3.8c-.437,0-.591-.194-.643-.31s-.1-.357.183-.681l.006-.006L5.8.858A.754.754,0,0,1,6.308.588ZM5.146,6.638a1.3,1.3,0,0,0,.922-.382,1.31,1.31,0,0,0,.382-.951V1.257c0-.184-.044-.369-.142-.369-.035,0-.132.017-.294.18L1.076,6.147C.955,6.288.9,6.421.942,6.5s.177.134.371.134H5.146Z" transform="translate(-0.219 -0.32)"/><path class="d" d="M580.264,549.268a6.839,6.839,0,1,1-6.839,6.839A6.839,6.839,0,0,1,580.264,549.268Z" transform="translate(-555.558 -532.156)"/><path class="f" d="M580.264,549.168a6.939,6.939,0,1,1-6.939,6.939A6.947,6.947,0,0,1,580.264,549.168Zm0,13.677a6.739,6.739,0,1,0-6.739-6.739A6.746,6.746,0,0,0,580.264,562.845Z" transform="translate(-555.558 -532.156)"/></g></g><g transform="translate(-6483.547 20503.99)"><rect class="e" width="1.25" height="3.5" rx="0.625" transform="translate(0)"/><rect class="e" width="1.25" height="3.75" rx="0.625" transform="translate(3.75 2.5) rotate(90)"/></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="42" height="42" viewBox="0 0 42 42"><defs><style>.a{fill:none;}.b{clip-path:url(#a);}.c{fill:url(#b);}.d{fill:rgba(0,49,212,0.41);}.e{fill:url(#c);}.f{fill:#fff;}</style><clipPath id="a"><rect class="a" width="42" height="42" transform="translate(725 610)"/></clipPath><linearGradient id="b" x1="0.267" y1="0.065" x2="0.5" y2="1" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#2e5bfe"/><stop offset="1" stop-color="#113dd9"/></linearGradient><linearGradient id="c" x2="1" y2="1" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#fff"/><stop offset="0.61" stop-color="#2c59fb"/><stop offset="1" stop-color="#fff"/></linearGradient></defs><g class="b" transform="translate(-725 -610)"><g transform="translate(7408.5 -19665.449)"><circle class="c" cx="13" cy="13" r="13" transform="translate(-6680 20279)"/><g transform="translate(-47.855 -130.178)"><rect class="d" width="25.089" height="27.998" rx="2" transform="translate(-6625.242 20416.734)"/><path class="e" d="M1.356.227A1.226,1.226,0,0,0,.2,1.513V26.485a1.226,1.226,0,0,0,1.153,1.286H23.733a1.226,1.226,0,0,0,1.153-1.286V1.513A1.226,1.226,0,0,0,23.733.227H1.356m0-.227H23.733a1.441,1.441,0,0,1,1.356,1.513V26.485A1.441,1.441,0,0,1,23.733,28H1.356A1.441,1.441,0,0,1,0,26.485V1.513A1.441,1.441,0,0,1,1.356,0Z" transform="translate(-6625.242 20416.734)"/><g transform="translate(-6622.852 20423.803)"><rect class="f" width="9.493" height="2.034" transform="translate(0.678 4.747)"/><rect class="f" width="18.987" height="2.034" transform="translate(0.678 8.815)"/></g><path class="f" d="M44.885,3.2c2.221,0,2.2,1.375,2.2,1.375a.2.2,0,0,1-.2.226h-4a.194.194,0,0,1-.2-.226S42.664,3.2,44.885,3.2Zm0-3.2h1.4V1.4a1.4,1.4,0,1,1-1.4-1.4Z" transform="translate(-6664.856 20421.424)"/></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="42" height="42" viewBox="0 0 42 42"><defs><style>.a,.f{fill:none;}.b{clip-path:url(#a);}.c{fill:url(#b);}.d{fill:rgba(0,49,212,0.41);}.e{fill:#fff;}.f{stroke:#fff;stroke-width:0.4px;}.g{fill:url(#c);}</style><clipPath id="a"><rect class="a" width="42" height="42" transform="translate(1162 611)"/></clipPath><linearGradient id="b" x1="0.267" y1="0.065" x2="0.5" y2="1" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#2e5bfe"/><stop offset="1" stop-color="#113dd9"/></linearGradient><linearGradient id="c" x2="1" y2="1" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#fff"/><stop offset="0.61" stop-color="#2c59fb"/><stop offset="1" stop-color="#fff"/></linearGradient></defs><g class="b" transform="translate(-1162 -611)"><g transform="translate(7651.945 -19853.734)"><rect class="c" width="24" height="24" rx="2" transform="translate(-6486.437 20467.186)"/><g transform="translate(0 -1)"><g transform="translate(1052.641 115.234)"><g transform="translate(-7532 20359.262)"><path class="d" d="M54.2,60.154a8.245,8.245,0,0,1,8.245-8.245,8.344,8.344,0,0,1,1.761.192V39.754a2.1,2.1,0,0,0-1.963-2.208H41.9a2.1,2.1,0,0,0-1.963,2.208V65.127A2.1,2.1,0,0,0,41.9,67.335H58.4a8.239,8.239,0,0,1-4.2-7.181ZM45.468,44.313H56.8a1.064,1.064,0,0,1,0,2.128H45.468a1.064,1.064,0,0,1,0-2.128Zm4.718,11.873H45.468a1.064,1.064,0,1,1,0-2.128h4.718a1.064,1.064,0,0,1,0,2.128Zm-4.718-4.873a1.064,1.064,0,1,1,0-2.128h8.25a1.064,1.064,0,1,1,0,2.128Z" transform="translate(-39.936 -37.546)"/><path class="d" d="M547.245,541.013a6.915,6.915,0,1,0,6.915,6.915A6.915,6.915,0,0,0,547.245,541.013Z" transform="translate(-524.734 -525.321)"/></g><path class="e" d="M334.78,338.531l-3.039,3.039a.761.761,0,0,1-1.15-.086l-1.649-1.649a.764.764,0,1,1,1.076-1.076l1.191,1.191,2.495-2.495a.761.761,0,0,1,1.076,1.076Z" transform="translate(-7841 20042.543)"/></g><path class="f" d="M54.2,60.154a8.245,8.245,0,0,1,8.245-8.245,8.344,8.344,0,0,1,1.761.192V39.754a2.1,2.1,0,0,0-1.963-2.208H41.9a2.1,2.1,0,0,0-1.963,2.208V65.127A2.1,2.1,0,0,0,41.9,67.335H58.4a8.239,8.239,0,0,1-4.2-7.181Z" transform="translate(-6519.295 20436.949)"/></g><path class="g" d="M547.245,540.913a6.936,6.936,0,1,1-7.015,6.936A6.984,6.984,0,0,1,547.245,540.913Zm0,13.672a6.736,6.736,0,1,0-6.815-6.736A6.784,6.784,0,0,0,547.245,554.585Z" transform="translate(-7004.093 19948.217)"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -84,17 +84,17 @@ function Introduce({ history: { location: { pathname } }, qzDetail, match }) {
}
},
{
title: '参赛负责人',
title: '参赛队长姓名',
dataIndex: 'leader',
key: 'leader',
},
{
title: '负责人电话',
title: '参赛队长电话',
dataIndex: 'phone',
key: 'phone',
},
{
title: '负责人邮箱',
title: '队长邮箱地址',
dataIndex: 'mail',
},
{
@ -142,11 +142,16 @@ function Introduce({ history: { location: { pathname } }, qzDetail, match }) {
}
},
{
title: '参赛负责人',
title: '参赛队长姓名',
dataIndex: 'leader',
},
{
title: '负责人邮箱',
title: '参赛队长电话',
dataIndex: 'phone',
key: 'phone',
},
{
title: '队长邮箱地址',
dataIndex: 'mail'
},
{

View File

@ -58,7 +58,7 @@ export default Form.create()((props) => {
type === "edit" && updateQz2022Notice(noticeId,params,competitionId).then(response=>{
if(response && response.data.message === "success"){
message.success('修改成功');
history.push('/competition/${competitionId}/notice');
history.push(`/competition/${competitionId}/notice`);
}else{
message.error(response.data.message);
}