xiao007 2 mēneši atpakaļ
vecāks
revīzija
8c85703c54
3 mainītis faili ar 41 papildinājumiem un 7 dzēšanām
  1. 1 0
      package.json
  2. 31 6
      src/views/pages/dashboard.vue
  3. 9 1
      src/views/pages/user.vue

+ 1 - 0
package.json

@@ -13,6 +13,7 @@
 		"@wangeditor/editor-for-vue": "^5.1.12",
 		"axios": "^1.6.3",
 		"countup.js": "^2.8.0",
+		"dayjs": "^1.11.13",
 		"dompurify": "^3.2.3",
 		"echarts": "^5.5.0",
 		"echarts-wordcloud": "^2.1.0",

+ 31 - 6
src/views/pages/dashboard.vue

@@ -46,19 +46,30 @@
       @changePageSize="changePageSize"
       >
         <template #table>
-            <el-table-column :label="$t('nickname')" prop="nickname"></el-table-column>
+            <el-table-column :label="$t('nickname')" prop="nickName"></el-table-column>
             <el-table-column :label="$t('telephone')" prop="phone"></el-table-column>
             <el-table-column :label="$t('roomNumber')" prop="roomId"></el-table-column>
-            <el-table-column :label="$t('session')" prop="session"></el-table-column>
+            <el-table-column :label="$t('session')" prop="session">
+              <template #default="scope">
+                <span v-if="scope.row.gameType === 1">{{$t('primaryField')}}</span>
+                <span v-if="scope.row.gameType === 2">{{$t('intermediateField')}}</span>
+                <span v-if="scope.row.gameType === 3">{{$t('higherOrderField')}}</span>
+                <span v-if="scope.row.gameType === 4">{{$t('customRoom')}}</span>
+              </template>
+            </el-table-column>
             <!-- <el-table-column :label="$t('startTime')" prop="starttime"></el-table-column> -->
-            <el-table-column :label="$t('endTime')" prop="endtime"></el-table-column>
+            <el-table-column :label="$t('endTime')" prop="lastUpdateTime">
+              <template #default="scope">
+                {{ formatTime(scope.row.lastUpdateTime) }}
+              </template>
+            </el-table-column>
             <el-table-column :label="$t('disburse')" prop="income"></el-table-column>
             <el-table-column :label="$t('royalty')" prop="commission"></el-table-column>
          </template>
          <template #sum>
           <div class="sum">
-            <span class="text">{{ $t('totalExpenditure')}}:<span class="red">850000</span></span>
-            <span class="text">{{$t('totalCommissions')}}:<span class="red">150000</span></span>
+            <span class="text">{{ $t('totalExpenditure')}}:<span class="red">{{totalExpenditure}}</span></span>
+            <span class="text">{{$t('totalCommissions')}}:<span class="red">{{totalCommissions}}</span></span>
           </div>
           </template>
       </Table>
@@ -67,10 +78,12 @@
 </template>
 
 <script setup  name="user">
-import { ref, reactive, onMounted} from 'vue';
+import { ref, reactive, onMounted, computed} from 'vue';
 import Group from '@/components/group.vue';
 import Table from '@/components/table.vue';
 import request from '@/utils/request';
+import dayjs from 'dayjs';
+
 // 查询相关
 const query = reactive({
   beginTime: '',
@@ -87,6 +100,12 @@ pageNo: 1,
 pageSize: 10,
 total: 0,
 }
+const totalExpenditure = computed(() => {
+  return tableData.value.reduce((total, row) => total + row.income, 0)
+})
+const totalCommissions = computed(() => {
+  return tableData.value.reduce((total, row) => total + row.commission, 0)
+})
 const changePage = (page) => {
   pagination.pageNo = page
   feachTableData()
@@ -122,6 +141,12 @@ const feachTableData = async() => {
       loading.value = false
     }
 }
+
+// 添加时间格式化方法
+const formatTime = (timestamp) => {
+  return dayjs(timestamp).format('YYYY-MM-DD HH:mm:ss');
+};
+
 onMounted(() => {
   feachTableData()
 })

+ 9 - 1
src/views/pages/user.vue

@@ -31,7 +31,11 @@
             <el-table-column :label="$t('nickname')" prop="nickName"></el-table-column>
             <el-table-column :label="$t('telephone')" prop="phone"></el-table-column>
             <!-- <el-table-column :label="$t('mailbox')" prop="email"></el-table-column> -->
-            <el-table-column :label="$t('registrationTime')" prop="createTime"></el-table-column>
+            <el-table-column :label="$t('registrationTime')" prop="createTime">
+              <template #default="scope">
+                {{ formatTime(scope.row.createTime) }}
+              </template>
+            </el-table-column>
             <el-table-column :label="$t('coin')" prop="coin"></el-table-column>
             <el-table-column :label="$t('controls')" width="150">
               <template #default="scope"> 
@@ -69,6 +73,7 @@ import request from '@/utils/request';
 import { cloneDeep } from 'lodash';
 import { ElMessage } from 'element-plus';
 import i18n from '@/utils/i18n'
+import dayjs from 'dayjs';
 // 查询相关
 const query = reactive({
   nickName: '',
@@ -87,6 +92,9 @@ pageNo: 1,
 pageSize: 10,
 total: 0,
 }
+const formatTime = (timestamp) => {
+  return dayjs(timestamp).format('YYYY-MM-DD HH:mm:ss');
+};
 const changePage = (page) => {
   pagination.pageNo = page
   feachTableData()