Selaa lähdekoodia

更新团队成员相关接口路径,新增推广码字段展示,优化团队视图,提升用户体验。

wuyi 3 kuukautta sitten
vanhempi
commit
b009d8d857
2 muutettua tiedostoa jossa 33 lisäystä ja 6 poistoa
  1. 6 6
      src/services/api.js
  2. 27 0
      src/views/TeamView.vue

+ 6 - 6
src/services/api.js

@@ -346,37 +346,37 @@ export const listMembers = async (page = 0, size = 20, name, teamId, userId) =>
   if (name) params.append('name', name)
   if (teamId) params.append('teamId', teamId)
   if (userId) params.append('userId', userId)
-  const response = await api.get(`/members?${params}`)
+  const response = await api.get(`/team-members?${params}`)
   return response.data
 }
 
 // 创建团队成员
 export const createMember = async (memberData) => {
-  const response = await api.post('/members', memberData)
+  const response = await api.post('/team-members', memberData)
   return response.data
 }
 
 // 更新团队成员
 export const updateMember = async (id, memberData) => {
-  const response = await api.put(`/members/${id}`, memberData)
+  const response = await api.put(`/team-members/${id}`, memberData)
   return response.data
 }
 
 // 删除团队成员
 export const deleteMember = async (id) => {
-  const response = await api.delete(`/members/${id}`)
+  const response = await api.delete(`/team-members/${id}`)
   return response.data
 }
 
 // 更新团队成员收入
 export const updateMemberRevenue = async (id, revenueData) => {
-  const response = await api.put(`/members/${id}/revenue`, revenueData)
+  const response = await api.put(`/team-members/${id}/revenue`, revenueData)
   return response.data
 }
 
 // 获取团队成员统计数据
 export const getMemberStatistics = async () => {
-  const response = await api.get('/members/statistics/summary')
+  const response = await api.get('/team-members/statistics/summary')
   return response.data
 }
 

+ 27 - 0
src/views/TeamView.vue

@@ -73,6 +73,18 @@
         </template>
       </Column>
 
+      <Column field="affCode" header="推广码" style="min-width: 120px">
+        <template #body="slotProps">
+          <span
+            class="font-mono text-sm copyable-text aff-code-text"
+            :title="slotProps.data.affCode"
+            @click="copyToClipboard(slotProps.data.affCode)"
+          >
+            {{ slotProps.data.affCode }}
+          </span>
+        </template>
+      </Column>
+
       <Column field="createdAt" header="创建时间" style="min-width: 150px">
         <template #body="slotProps">
           <span class="text-sm">
@@ -138,6 +150,16 @@
             <span class="text-gray-500 text-base font-medium mb-1">今日营收</span>
             <span class="text-2xl font-extrabold text-green-600">¥{{ formatAmount(teamData.todayRevenue) }}</span>
           </div>
+          <div class="flex flex-col items-start">
+            <span class="text-gray-500 text-base font-medium mb-1">推广码</span>
+            <span 
+              class="text-lg font-bold text-orange-600 font-mono copyable-text cursor-pointer"
+              :title="teamData.affCode"
+              @click="copyToClipboard(teamData.affCode)"
+            >
+              {{ teamData.affCode }}
+            </span>
+          </div>
         </div>
       </div>
     </div>
@@ -515,6 +537,11 @@ const teamData = computed(() => tableData.value?.content?.[0] || null)
   font-weight: 500;
 }
 
+.aff-code-text {
+  color: #ea580c;
+  font-weight: 500;
+}
+
 .font-medium {
   font-weight: 500;
 }