From 316663cd1210286e637cf813bc673f8e283ab71c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Wed, 21 Jun 2023 11:08:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E8=AF=BE=E9=A2=98=E5=85=88?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=9C=89=E6=97=A0=E5=AD=A6=E7=94=9F=E6=8A=A5?= =?UTF-8?q?=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/glcc/api.js | 11 ++++++++++- src/glcc/apply/editInfo.jsx | 19 ++++++++++++------- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/glcc/api.js b/src/glcc/api.js index f15c7a951..5d930499c 100644 --- a/src/glcc/api.js +++ b/src/glcc/api.js @@ -222,4 +222,13 @@ export function deleteApplyInfo(data) { method: 'post', data }); -} \ No newline at end of file +} + +// 判断课题是否有学生报名 +export async function findStudentTaskByTaskId(params) { + return await fetch({ + url: '/api/applyInformation/findStudentTaskByTaskId', + method: 'get', + params: params, + }); +} diff --git a/src/glcc/apply/editInfo.jsx b/src/glcc/apply/editInfo.jsx index b9aed5f53..b9b836e43 100644 --- a/src/glcc/apply/editInfo.jsx +++ b/src/glcc/apply/editInfo.jsx @@ -1,7 +1,7 @@ import React , { useCallback, useEffect , useState } from 'react'; import { Button, Form, Input, Select, Upload, message, Popconfirm } from 'antd'; import {getUploadActionUrl} from 'educoder'; -import {applyGlcc, updateApplyGlcc} from '../api'; +import {applyGlcc, findStudentTaskByTaskId, updateApplyGlcc} from '../api'; import TextArea from 'antd/lib/input/TextArea'; import { main_site_url } from '../fetch'; import TaskApply from './taskApply'; @@ -13,7 +13,7 @@ function EditRepoApplyInfo(props) { const {form, applyInfo, current_user, round, cateList, setReload, isAddRepo, setIsAddRepo, setIsEdit, setEditRepoCount} = props; const phonereg = /(^|\s*\+?0?0?86|\D)(1\d{2})[-\s]{0,3}(\d{4})[-\s]{0,3}(\d{4})(?=\D|$)/ const emailreg = /^[a-zA-Z0-9]+([.\-_\\]*[a-zA-Z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/ - const {getFieldDecorator, validateFields, setFieldsValue, validateFieldsAndScroll } = form; + const {getFieldDecorator, validateFields, setFieldsValue, validateFieldsAndScroll, getFieldValue } = form; const [imageUrl, setImageUrl] = useState(undefined); // 提交按钮loading效果 const [loading, setLoading] = useState(false); @@ -159,14 +159,19 @@ function EditRepoApplyInfo(props) { // 添加课题输入框 function addTaskApplyForm(){ - setTaskCount(taskCount.concat([taskCount.length+1])); + setTaskCount(taskCount.concat([taskCount[taskCount.length-1]+1])); } // 删除课题报名 - function deleteTaskApply(index){ - const arr = [...taskCount]; - arr.splice(index-1, 1) - setTaskCount(arr); + async function deleteTaskApply(index){ + const delTaskId = getFieldValue(`taskId${index}`); + const res = delTaskId ? await findStudentTaskByTaskId({ taskId: delTaskId }) : "newTask"; + if((res && res.data && res.data.length)){ + message.error("已有学生报名,不允许删除"); + }else{ + const arr = taskCount.filter(item=>item!== index); + setTaskCount(arr); + } } // 取消编辑点击函数