9
0

2 Revīzijas 634fbcaea4 ... 445f7f416e

Autors SHA1 Ziņojums Datums
  zhou 445f7f416e feat(router): 修改分组详情路由参数传递方式 1 mēnesi atpakaļ
  zhou 5c6a58c8f3 refactor(gameScore): 重构游戏分数页面逻辑 1 mēnesi atpakaļ

+ 1 - 1
src/router/index.ts

@@ -182,7 +182,7 @@ export const constantRoutes: RouteRecordRaw[] = [
     hidden: true,
     children: [
       {
-        path: 'detail',
+        path: 'detail/:groupId',
         component: () => import('@/views/system/gameEventGroup/detail.vue'),
         name: 'GameEventGroupDetail',
         meta: { title: '分组详情', icon: 'view' }

+ 3 - 3
src/views/system/gameEventGroup/detail.vue

@@ -161,7 +161,7 @@ const getTeamName = (teamId: string | number | undefined) => {
 const getGroupInfo = async () => {
   try {
     loading.value = true;
-    const groupId = route.query.id;
+    const groupId = route.params.groupId;
     if (!groupId || Array.isArray(groupId)) {
       proxy?.$modal.msgError('分组ID不能为空');
       return;
@@ -183,7 +183,7 @@ const getGroupInfo = async () => {
 // 从数据库加载分组结果
 const loadGroupResultFromDB = async () => {
   try {
-    const groupId = route.query.id;
+    const groupId = route.params.groupId;
     if (!groupId || Array.isArray(groupId)) {
       proxy?.$modal.msgError('分组ID不能为空');
       return;
@@ -240,7 +240,7 @@ const generateGroupsData = async () => {
   try {
     generating.value = true;
     
-    const groupId = route.query.id;
+    const groupId = route.params.groupId;
     if (!groupId || Array.isArray(groupId)) {
       proxy?.$modal.msgError('分组ID不能为空');
       return;

+ 4 - 1
src/views/system/gameEventGroup/index.vue

@@ -726,7 +726,10 @@ const handleExport = () => {
 
 /** 分组按钮操作 */
 const handleGroup = (row: GameEventGroupVO) => {
-  router.push({ path: '/system/gameEventGroup/detail', query: { id: row.groupId } });
+  router.push({
+    name: 'GameEventGroupDetail',
+    params: { groupId: row.groupId }
+  });
 };
 
 onMounted(() => {

+ 14 - 7
src/views/system/gameScore/index.vue

@@ -48,7 +48,7 @@
               <el-icon><Edit /></el-icon> 加分
             </el-button>
           </el-col> -->
-          <right-toolbar v-model:showSearch="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
+          <right-toolbar v-model:showSearch="showSearch" @queryTable="loadProjects" :columns="columns"></right-toolbar>
         </el-row>
       </template>
       <!-- <el-dropdown>
@@ -113,7 +113,7 @@
         </el-table-column>
       </el-table>
 
-      <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
+      <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="handlePagination" />
     </el-card>
 
   </div>
@@ -202,7 +202,7 @@ const data = reactive<PageData<GameScoreForm, GameScoreQuery>>({
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    eventId: undefined,
+    projectId: undefined,
     orderByColumn: '',
     isAsc: ''
   },
@@ -800,6 +800,15 @@ const loadProjects = async () => {
   }
 };
 
+/**
+ * 分页处理
+ */
+const handlePagination = (paginationData: { page: number, limit: number }) => {
+  queryParams.value.pageNum = paginationData.page;
+  queryParams.value.pageSize = paginationData.limit;
+  loadProjects();
+};
+
 /**
  * 计算每个项目的参赛人数
  */
@@ -894,9 +903,7 @@ const navigateToEditPage = (row: GameEventProjectVO) => {
 };
 
 onMounted(() => {
-  // getDefaultEventInfo().then(() => {
-    getList();
-    refreshData();
-  // });
+  // 页面初始化时加载项目列表
+  loadProjects();
 });
 </script>