Browse Source

增加赛事发布验证, 当报名时间小于当前时间则禁止发布赛事

Memory_LG 5 months ago
parent
commit
01c65e5678

+ 0 - 12
qmjszx-admin/src/main/resources/static/ruoyi/js/ry-ui.js

@@ -1230,18 +1230,6 @@ var table = {
                     $.modal.openFull("修改" + table.options.modalName, $.operate.editUrl(id));
                 }
             },
-            publish: function(id, dataName){
-                table.set();
-                $.modal.confirm("确定发布该条" + dataName + "信息吗?<br/>发布后赛事信息无法修改!", function() {
-                    var url = $.common.isEmpty(id) ? table.options.publishUrl : table.options.publishUrl.replace("{id}", id);
-                    if (table.options.type == table_type.bootstrapTreeTable) {
-                        $.operate.get(url);
-                    } else {
-                        var data = { "id": id };
-                        $.operate.submit(url, "post", "json", data);
-                    }
-                });
-            },
             // 修改信息,以tab页展现
             editTab: function(id) {
                 table.set();

+ 27 - 2
qmjszx-admin/src/main/resources/templates/competition/competition.html

@@ -136,14 +136,13 @@
                     formatter: function (value, row, index) {
                         var actions = [];
                         if (row.competitionState === 'competiton_state_1') {
-                            actions.push('<a class="btn btn-success btn-xs ' + publisFlag + '" href="javascript:void(0)" onclick="$.operate.publish(\'' + row.id + '\', \'' + row.competitionTitle + '\')"><i class="fa fa-edit"></i>发布</a> ')
+                            actions.push('<a class="btn btn-success btn-xs ' + publisFlag + '" href="javascript:void(0)" onclick="publish(\'' + row.id + '\', \'' + row.competitionTitle + '\', \'' + row.applyStartTime + '\', \'' + row.applyBeforeTime + '\')"><i class="fa fa-edit"></i>发布</a> ')
                             actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editToSet(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
                             actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
                         } else if(row.competitionState === 'competiton_state_4'){
 
                         }else {
                             actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="getTakePartList(\'' + row.id + '\')"><i class="fa fa-edit"></i>参赛名单</a> ')
-                            // actions.push('<a class="btn btn-success btn-xs ' + publisFlag + '" href="javascript:void(0)" onclick="closeCompetition(\'' + row.id + '\')"><i class="fa fa-close"></i>关闭</a> ')
                         }
 
                         return actions.join('');
@@ -157,6 +156,32 @@
         $.modal.open("参赛人员名单", prefix+"/openDetails/"+id);
     }
 
+    function publish(id, dataName, applyStartTime, applyBeforeTime){
+        table.set();
+        $.modal.confirm("确定发布该条" + dataName + "信息吗?<br/>发布后赛事信息无法修改!", function() {
+            var url = $.common.isEmpty(id) ? table.options.publishUrl : table.options.publishUrl.replace("{id}", id);
+            if (table.options.type == table_type.bootstrapTreeTable) {
+                debugger
+                $.operate.get(url);
+            } else {
+                // 将 applyStartTime 转换为 Date 对象
+                var startTime = new Date(applyStartTime);
+                // 将 applyBeforeTime 转换为毫秒(假设 applyBeforeTime 的单位是小时)
+                var beforeTimeMs = applyBeforeTime * 60 * 60 * 1000; // 2小时转换为毫秒
+                // 计算允许发布的时间点
+                var allowPublishTime = new Date(startTime.getTime() - beforeTimeMs);
+                // 获取当前时间
+                var currentTime = new Date();
+                if(allowPublishTime > currentTime){
+                    var data = { "id": id };
+                    $.operate.submit(url, "post", "json", data);
+                }else{
+                    $.modal.alertError("赛事开始时间早于当前时间, 请先修改赛事开始时间!")
+                }
+            }
+        });
+    }
+
 </script>
 </body>
 </html>