chao 1 month ago
parent
commit
904a99d8e2
2 changed files with 29 additions and 24 deletions
  1. 26 21
      public/index.html
  2. 3 3
      routes/router.js

+ 26 - 21
public/index.html

@@ -461,7 +461,7 @@
 <body>
 <body>
     <!-- 导航栏 -->
     <!-- 导航栏 -->
     <nav>
     <nav>
-        
+
 
 
     </nav>
     </nav>
 
 
@@ -696,6 +696,16 @@
                 <h2 class="content-header">上传报名表</h2>
                 <h2 class="content-header">上传报名表</h2>
                 <div class="download-list">
                 <div class="download-list">
                     <div class="form-row">
                     <div class="form-row">
+                        <div class="form-col">
+                            <div class="form-group">
+                                <label class="form-label required" for="CompetitionType">比赛类型</label>
+                                <select id="CompetitionType" class="form-input" required>
+                                    <option value="">请选择</option>
+                                    <option value="1">桌游设计挑战</option>
+                                    <option value="2">智能体应用</option>
+                                </select>
+                            </div>
+                        </div>
                         <div class="form-col">
                         <div class="form-col">
                             <div class="form-group">
                             <div class="form-group">
                                 <label class="form-label required" for="idNumber">身份证号码</label>
                                 <label class="form-label required" for="idNumber">身份证号码</label>
@@ -743,10 +753,10 @@
         } else if (urlSearch.slice(1) == "longhua") {
         } else if (urlSearch.slice(1) == "longhua") {
             document.getElementById("registerBtn1").innerText = `作品提交`
             document.getElementById("registerBtn1").innerText = `作品提交`
             document.getElementsByTagName("nav")[0].innerHTML = `<div class="event-name">龙华区智能体应用赛</div>`
             document.getElementsByTagName("nav")[0].innerHTML = `<div class="event-name">龙华区智能体应用赛</div>`
-        }else if (urlSearch.slice(1) == "nanshan") {
+        } else if (urlSearch.slice(1) == "nanshan") {
             document.getElementById("registerBtn1").innerText = `作品提交`
             document.getElementById("registerBtn1").innerText = `作品提交`
             document.getElementsByTagName("nav")[0].innerHTML = `<div class="event-name">南山区智能体应用赛</div>`
             document.getElementsByTagName("nav")[0].innerHTML = `<div class="event-name">南山区智能体应用赛</div>`
-        }else{
+        } else {
             document.getElementsByTagName("nav")[0].innerHTML = `<img src="./logo2.png" alt="logo" style="width: 200px;margin-right: 15px;"></img>
             document.getElementsByTagName("nav")[0].innerHTML = `<img src="./logo2.png" alt="logo" style="width: 200px;margin-right: 15px;"></img>
         <img src="./logo1.png" alt="logo" style="width: 200px;margin-right: 15px;"></img>
         <img src="./logo1.png" alt="logo" style="width: 200px;margin-right: 15px;"></img>
         <div class="event-name">第六届广东省青少年创新思维及科技实践大赛(创新思维类选手报名)</div>`
         <div class="event-name">第六届广东省青少年创新思维及科技实践大赛(创新思维类选手报名)</div>`
@@ -773,7 +783,7 @@
             document.getElementsByClassName("button-Contestant")[0].classList.remove('active');
             document.getElementsByClassName("button-Contestant")[0].classList.remove('active');
             document.getElementById('uploadSection').classList.add('active');
             document.getElementById('uploadSection').classList.add('active');
             const uploadTime = new Date("2025-10-13");
             const uploadTime = new Date("2025-10-13");
-            if (nowTime < uploadTime && !urlSearch.length>0) {
+            if (nowTime < uploadTime && !urlSearch.length > 0) {
                 document.getElementById('uploadSection').innerHTML = "<div style='display:flex;justify-content:center;align-items:center;height:100vh;font-size:2rem;color:#db3434;'>资格确认在2025-10-13开放上传</div>";
                 document.getElementById('uploadSection').innerHTML = "<div style='display:flex;justify-content:center;align-items:center;height:100vh;font-size:2rem;color:#db3434;'>资格确认在2025-10-13开放上传</div>";
             }
             }
 
 
@@ -1184,14 +1194,6 @@
                     phoneError.style.display = 'none';
                     phoneError.style.display = 'none';
                 }
                 }
 
 
-                // 检查手机号是否重复
-                if (phoneSet.has(phone.value)) {
-                    alert(`选手${j + 1}的手机号与其他选手重复,请修改`);
-                    return;
-                } else {
-                    phoneSet.add(phone.value);
-                }
-
                 if (!isValid) {
                 if (!isValid) {
                     alert(`选手${j + 1}填写信息有误,请重新填写`);
                     alert(`选手${j + 1}填写信息有误,请重新填写`);
                     return;
                     return;
@@ -1220,8 +1222,9 @@
                     idCard: formData.map(item => item.id_number).join(","), // 选手身份证号拼接
                     idCard: formData.map(item => item.id_number).join(","), // 选手身份证号拼接
                     registrationFormUrl: "", // 报名表上传URL
                     registrationFormUrl: "", // 报名表上传URL
                     user: JSON.stringify(formData),
                     user: JSON.stringify(formData),
+                    area: urlSearch.slice(1), // 区
                 };
                 };
-                let aa = selectedCompetitionId == 2 ? "智能体应用类比赛" : "桌游设计挑战类比赛"
+                let aa = selectedCompetitionId == 2 ? "智能体应用类比赛,手机号作为登录账号,请确认手机号填写正确且不能重复" : "桌游设计挑战类比赛"
                 if (!confirm(`您参加的是${aa},提交之后无法再修改信息,是否确认提交?`)) {
                 if (!confirm(`您参加的是${aa},提交之后无法再修改信息,是否确认提交?`)) {
                     return;
                     return;
                 }
                 }
@@ -1254,9 +1257,10 @@
             }
             }
         }
         }
         async function submitRegistration() {
         async function submitRegistration() {
-            const idNumber = document.getElementById('id_number').value;
-            if (!idNumber) {
-                alert('请先填写身份证号');
+            const idNumber = document.getElementById('id_number');
+            const CompetitionType = document.getElementById('CompetitionType');
+            if (!idNumber.value && !CompetitionType.value) {
+                alert('请选择比赛类型和填写身份证号');
                 e.target.value = ''; // 清空已选择的文件
                 e.target.value = ''; // 清空已选择的文件
                 return;
                 return;
             }
             }
@@ -1264,8 +1268,8 @@
                 alert('请上传报名文件');
                 alert('请上传报名文件');
                 return;
                 return;
             }
             }
-            if(selectedCompetitionId == 2){
-                if (uploadFileUrl1 == "") {
+            if (CompetitionType.value == 2) {
+                if (uploadVideoUrl == "") {
                     alert('请上传智能体视频');
                     alert('请上传智能体视频');
                     return;
                     return;
                 }
                 }
@@ -1281,7 +1285,8 @@
                     },
                     },
                     body: JSON.stringify({
                     body: JSON.stringify({
                         url: RegistrationUrl,
                         url: RegistrationUrl,
-                        id_number: idNumber
+                        id_number: idNumber.value,
+                        type: CompetitionType.value,
                     })
                     })
                 })
                 })
 
 
@@ -1311,7 +1316,7 @@
         let uploadFileUrl1 = "";
         let uploadFileUrl1 = "";
         let uploadVideoUrl = "";
         let uploadVideoUrl = "";
         document.getElementById('uploadFile').addEventListener('change', async function (e) {
         document.getElementById('uploadFile').addEventListener('change', async function (e) {
-            const idNumber = document.getElementById('idNumber1');
+            const idNumber = document.getElementById('id_number');
             if (!idNumber.value) {
             if (!idNumber.value) {
                 alert('请先填写身份证号');
                 alert('请先填写身份证号');
                 e.target.value = ''; // 清空已选择的文件
                 e.target.value = ''; // 清空已选择的文件
@@ -1324,7 +1329,7 @@
             console.log('选择文件:', uploadFileUrl1);
             console.log('选择文件:', uploadFileUrl1);
         });
         });
         document.getElementById('uploadVideo').addEventListener('change', async function (e) {
         document.getElementById('uploadVideo').addEventListener('change', async function (e) {
-            const idNumber = document.getElementById('idNumber1');
+            const idNumber = document.getElementById('id_number');
             if (!idNumber.value) {
             if (!idNumber.value) {
                 alert('请先填写身份证号');
                 alert('请先填写身份证号');
                 e.target.value = ''; // 清空已选择的文件
                 e.target.value = ''; // 清空已选择的文件

+ 3 - 3
routes/router.js

@@ -49,7 +49,7 @@ router.route('/user').post(async function (req, res) {
 
 
 
 
             for (const item of userData) {
             for (const item of userData) {
-                const userList = [_mysqluser[0], _mysqluser[1], "insert_registration_users", item.name, item.gender, item.ethnicity, item.birthdate, item.email, item.id_number, item.group, item.grade, item.school, item.schoolRegion, item.phone, uuid]
+                const userList = [_mysqluser[0], _mysqluser[1], "insert_registration_users", item.name, item.gender, item.ethnicity, item.birthdate, item.email, item.id_number, item.group, item.grade, item.school, item.schoolRegion, item.phone, uuid,reqData.type,reqData.area]
                 await new Promise((resolve, reject) => {
                 await new Promise((resolve, reject) => {
                     mysql.usselect(userList, function (data) {
                     mysql.usselect(userList, function (data) {
                         // 可以根据 data 判断是否插入成功
                         // 可以根据 data 判断是否插入成功
@@ -82,8 +82,8 @@ router.route('/user').post(async function (req, res) {
 });
 });
 
 
 router.route('/update').post(async function (req, res) {
 router.route('/update').post(async function (req, res) {
-    const { url, id_number } = req.body;
-    const queryList = [_mysqluser[0], _mysqluser[1], "update_registration", url, id_number];
+    const { url, id_number,type } = req.body;
+    const queryList = [_mysqluser[0], _mysqluser[1], "update_registration", url, id_number,type];
     mysql.usselect(queryList, function (data) {
     mysql.usselect(queryList, function (data) {
         console.log(data);
         console.log(data);
         if (data == 1) {
         if (data == 1) {