Ver Fonte

feat(business): 优化列表页面布局和功能

- 在 API 用户列表中添加用户昵称列- 调整 API 用户列表的操作按钮布局
- 在道具列表中添加积分值列
- 更新道具表单以包含积分值字段
- 优化赛事列表的操作按钮布局和图标
- 统一操作按钮的样式和间距
fugui001 há 5 meses atrás
pai
commit
4b3f2d4ad5

+ 5 - 0
src/api/system/business/items/types.ts

@@ -60,6 +60,11 @@ export interface ItemsForm extends BaseEntity {
    *
    */
   updatedAt?: string;
+
+  /**
+   * 积分值
+   */
+  itemValue?: number;
 }
 
 export interface ItemsQuery extends PageQuery {

+ 31 - 31
src/views/system/business/apiUsers/index.vue

@@ -63,6 +63,7 @@
         <el-table-column label="用户id" align="center" prop="id" v-if="true" />
         <el-table-column label="登录名称" align="center" prop="loginName" />
         <el-table-column label="用户姓名" align="center" prop="realName" />
+        <el-table-column label="用户昵称" align="center" prop="nickName" />
         <el-table-column label="用户手机号码" align="center" prop="phone" />
         <el-table-column label="注册时间" align="center" prop="createAt" width="180">
           <template #default="scope">
@@ -81,37 +82,36 @@
         <el-table-column label="比赛数" align="center" prop="tournamentCount" />
         <el-table-column label="账号状态" align="center" prop="statusText" />
 
-        <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <el-table-column label="操作" align="center" width="350" class-name="small-padding fixed-width">
           <template #default="scope">
-            <el-tooltip content="查看" placement="top">
-              <el-button link type="primary" icon="View" @click="handleUpdate(scope.row)" v-hasPermi="['business:user:edit']">查看</el-button>
-            </el-tooltip>
-
-            <!-- 禁用/启用 按钮 -->
-            <el-tooltip :content="scope.row.status === 1 ? '禁用' : '启用'" placement="top">
-              <el-button
-                link
-                type="primary"
-                :icon="scope.row.status === 1 ? 'Lock' : 'Unlock'"
-                @click="toggleStatus(scope.row)"
-                v-hasPermi="['business:user:edit']"
-              >
-                {{ scope.row.status === 1 ? '禁用' : '启用' }}
-              </el-button>
-            </el-tooltip>
-
-            <el-tooltip content="删除" placement="top">
-              <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['business:user:remove']">删除</el-button>
-            </el-tooltip>
-
-            <!--            <el-tooltip content="编辑" placement="top">
-              <el-button link type="primary" icon="Edit" @click="handleEdit(scope.row)" v-hasPermi="['business:user:edit']"></el-button>
-            </el-tooltip>-->
-            <el-tooltip content="发放道具" placement="top">
-              <el-button link type="primary" icon="Tools" @click="openGrantDialog(scope.row)" v-hasPermi="['business:user:remove']"
-                >发放道具</el-button
-              >
-            </el-tooltip>
+            <div style="display: flex; justify-content: center; gap: 8px">
+              <el-tooltip content="查看" placement="top">
+                <el-button link type="primary" icon="View" @click="handleUpdate(scope.row)" v-hasPermi="['business:user:edit']">查看</el-button>
+              </el-tooltip>
+
+              <!-- 禁用/启用 按钮 -->
+              <el-tooltip :content="scope.row.status === 1 ? '禁用' : '启用'" placement="top">
+                <el-button
+                  link
+                  type="primary"
+                  :icon="scope.row.status === 1 ? 'Lock' : 'Unlock'"
+                  @click="toggleStatus(scope.row)"
+                  v-hasPermi="['business:user:edit']"
+                >
+                  {{ scope.row.status === 1 ? '禁用' : '启用' }}
+                </el-button>
+              </el-tooltip>
+
+              <el-tooltip content="删除" placement="top">
+                <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['business:user:remove']">删除</el-button>
+              </el-tooltip>
+
+              <el-tooltip content="发放道具" placement="top">
+                <el-button link type="primary" icon="Tools" @click="openGrantDialog(scope.row)" v-hasPermi="['business:user:remove']"
+                  >发放道具</el-button
+                >
+              </el-tooltip>
+            </div>
           </template>
         </el-table-column>
       </el-table>
@@ -122,7 +122,7 @@
     <!-- 查看用户详情对话框 -->
     <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
       <el-form ref="userFormRef" :model="form" :rules="rules" label-width="80px">
-<!--
+        <!--
         <el-form-item label="用户ID" prop="id">
           <el-input v-model="form.id" disabled />
         </el-form-item>

+ 6 - 0
src/views/system/business/items/index.vue

@@ -50,6 +50,7 @@
         <el-table-column label="" align="center" prop="id" v-if="false" />
         <el-table-column label="道具名称" align="center" prop="name" />
         <el-table-column label="道具类型" align="center" prop="itemType" />
+        <el-table-column label="积分值" align="center" prop="itemValue" />
         <el-table-column label="道具描述" align="center" prop="itemDesc" />
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
           <template #default="scope">
@@ -76,6 +77,10 @@
           <el-input v-model="form.itemType" placeholder="请输入道具类型" />
         </el-form-item>
 
+        <el-form-item label="积分值" prop="itemValue">
+          <el-input v-model="form.itemValue" placeholder="请输入积分值" />
+        </el-form-item>
+
         <el-form-item label="道具描述" prop="itemDesc">
           <el-input v-model="form.itemDesc" type="textarea" placeholder="请输入内容" />
         </el-form-item>
@@ -118,6 +123,7 @@ const initFormData: ItemsForm = {
   name: undefined,
   itemType: undefined,
   itemDesc: undefined,
+  itemValue: undefined,
   createdAt: undefined,
   updatedAt: undefined
 };

+ 19 - 24
src/views/system/business/tournaments/index.vue

@@ -105,30 +105,24 @@
         </el-table-column>
 
         <el-table-column label="赛事状态" align="center" prop="statusText" />
-        <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
+        <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="320">
           <template #default="scope">
-            <div style="display: flex; flex-direction: column; gap: 5px">
+            <div class="operation-buttons-vertical">
               <el-tooltip content="查看" placement="top">
                 <el-button link type="primary" icon="View" @click="openAuditDialog(scope.row.id, 'view')">查看</el-button>
               </el-tooltip>
+
               <el-tooltip content="编辑" placement="top">
                 <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row, 'edit')">编辑</el-button>
               </el-tooltip>
 
               <el-tooltip content="复制" placement="top">
-                <el-button link type="primary" icon="Copy" @click="handleCopy(scope.row)">复制</el-button>
+                <el-button link type="primary" icon="Files" @click="handleCopy(scope.row)"> 复制 </el-button>
               </el-tooltip>
 
               <el-tooltip content="领奖审核" placement="top">
-                <el-button link type="primary" icon="Edit" @click="openAuditDialog(scope.row.id, 'audit')">领奖审核</el-button>
+                <el-button link type="primary" icon="DocumentChecked" @click="openAuditDialog(scope.row.id, 'audit')">领奖审核</el-button>
               </el-tooltip>
-              <!--              <el-tooltip content="分配盲注" placement="top">
-                <el-button link type="success" icon="Document" @click="openAssignDialog(scope.row)"> 分配 </el-button>
-              </el-tooltip>-->
-
-              <!--            <el-tooltip content="删除" placement="top">
-  <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['business:tournaments:remove']"></el-button>
-</el-tooltip>-->
             </div>
           </template>
         </el-table-column>
@@ -388,7 +382,7 @@
         <el-table-column prop="rank" label="排名" align="center"></el-table-column>
         <el-table-column prop="playerName" label="用户名" align="center"></el-table-column>
         <el-table-column prop="phone" label="手机" align="center"></el-table-column>
-<!--        <el-table-column prop="tournamentId" label="tournamentId" align="center"></el-table-column>
+        <!--        <el-table-column prop="tournamentId" label="tournamentId" align="center"></el-table-column>
         <el-table-column prop="playerId" label="playerId" align="center"></el-table-column>-->
         <el-table-column label="奖励" align="center">
           <template #default="scope">
@@ -397,18 +391,19 @@
         </el-table-column>
 
         <el-table-column prop="claimedText" label="状态" align="center"></el-table-column>
-
-        <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <el-table-column label="操作" align="center" width="350" class-name="small-padding fixed-width">
           <template #default="scope">
-            <el-tooltip content="查看牌局" placement="top">
-              <el-button link type="primary" icon="See" @click="handleViewHistory(scope.row)">查看牌局</el-button>
-            </el-tooltip>
-            <el-tooltip content="审核" placement="top">
-              <el-button link type="primary" icon="Audit" @click="handleAudit(scope.row)">审核</el-button>
-            </el-tooltip>
-            <el-tooltip content="移除" placement="top">
-              <el-button link type="primary" icon="Delete" @click="handleClaimsDelete(scope.row)">移除</el-button>
-            </el-tooltip>
+            <div style="display: flex; justify-content: center; gap: 16px">
+              <el-tooltip content="查看牌局" placement="top">
+                <el-button link type="primary" icon="View" @click="handleViewHistory(scope.row)">查看牌局</el-button>
+              </el-tooltip>
+              <el-tooltip content="审核" placement="top">
+                <el-button link type="primary" icon="DocumentChecked" @click="handleAudit(scope.row)">审核</el-button>
+              </el-tooltip>
+              <el-tooltip content="移除" placement="top">
+                <el-button link type="primary" icon="Delete" @click="handleClaimsDelete(scope.row)">移除</el-button>
+              </el-tooltip>
+            </div>
           </template>
         </el-table-column>
       </el-table>
@@ -1238,6 +1233,6 @@ const handleViewHistory = (row: ClaimsVO) => {
     path: '/business/history',
     query: { tournamentId: String(tournamentId), playerId: String(playerId) }
   });
-  auditDialog.value.visible = false
+  auditDialog.value.visible = false;
 };
 </script>