瀏覽代碼

用户列表 实时刷新,登录/注册时间

hjr 2 月之前
父節點
當前提交
a1bd836e46
共有 3 個文件被更改,包括 41 次插入13 次删除
  1. 1 1
      src/App.vue
  2. 10 0
      src/api/sysUser/index.js
  3. 30 12
      src/views/main/user/userList/index.vue

+ 1 - 1
src/App.vue

@@ -4,6 +4,7 @@ import { useStore } from 'vuex'
 onBeforeMount(()=>{
 onBeforeMount(()=>{
 	
 	
 })
 })
+
 const store = useStore()
 const store = useStore()
 const size = computed(() => store.state.app.elementSize)
 const size = computed(() => store.state.app.elementSize)
 </script>
 </script>
@@ -12,7 +13,6 @@ const size = computed(() => store.state.app.elementSize)
 	  <router-view></router-view>
 	  <router-view></router-view>
   </el-config-provider>
   </el-config-provider>
 </template>
 </template>
-
 <style scoped>
 <style scoped>
 .system-page:before {
 .system-page:before {
   content: none;
   content: none;

+ 10 - 0
src/api/sysUser/index.js

@@ -54,6 +54,16 @@ export function updateUserStatus(data) {
   })
   })
 }
 }
 
 
+// 实时刷新
+export function adminAdRecordRefresh(data) {
+  return request({
+    url: '/adminAdRecord/refresh',
+    method: 'get',
+	params: data
+  })
+}
+
+
 /* 
 /* 
 	系统用户登录
 	系统用户登录
 	@userLoginName  String  用户用户名
 	@userLoginName  String  用户用户名

+ 30 - 12
src/views/main/user/userList/index.vue

@@ -1,6 +1,7 @@
 <template>
 <template>
 	<div class="layout-container">
 	<div class="layout-container">
 		<From :form-items="dynamicFormItems" @formSubmitted="handleFormSubmitted" @formReset="handleFormReset" />
 		<From :form-items="dynamicFormItems" @formSubmitted="handleFormSubmitted" @formReset="handleFormReset" />
+		<el-button @click="refresh" type="primary" style="width: 100px;margin: 10px 0 -10px;">刷新列表</el-button>
 		<div class="layout-container">
 		<div class="layout-container">
 			<Table @getTableData="changeTableData" v-model:page="page" ref="table" :data="tableData"
 			<Table @getTableData="changeTableData" v-model:page="page" ref="table" :data="tableData"
 				@selection-change="handleSelectionChange" style="margin-top: 10px">
 				@selection-change="handleSelectionChange" style="margin-top: 10px">
@@ -9,18 +10,20 @@
 						<el-button type="primary" size="small" @click="viewEcpm(scope.row)">查看ecpm</el-button>
 						<el-button type="primary" size="small" @click="viewEcpm(scope.row)">查看ecpm</el-button>
 					</template>
 					</template>
 				</el-table-column>
 				</el-table-column>
-				<el-table-column prop="id" width="80" label="用户id" ></el-table-column>
+				<el-table-column prop="id" width="75" label="用户id" ></el-table-column>
 				<el-table-column prop="nickName" label="用户昵称" />
 				<el-table-column prop="nickName" label="用户昵称" />
 				<el-table-column prop="openId" label="openId" />
 				<el-table-column prop="openId" label="openId" />
-				<el-table-column prop="userState" width="90" label="用户状态">
+				<el-table-column prop="userState" width="85" label="用户状态">
 					<template #default="scope">
 					<template #default="scope">
 						{{ scope.row.userState == 0?'正常':'封禁' }}
 						{{ scope.row.userState == 0?'正常':'封禁' }}
 					</template>
 					</template>
 				</el-table-column>
 				</el-table-column>
 				<el-table-column prop="gameName" label="游戏名称" width="120" />
 				<el-table-column prop="gameName" label="游戏名称" width="120" />
-				<el-table-column prop="todayAdPlay" label="今日激励广告播放数" width="160" />
+				<el-table-column prop="todayAdPlay" label="今日激励广告播放数" width="155" />
 				<el-table-column prop="totalAdPlay" label="广告播放总数" width="110" />
 				<el-table-column prop="totalAdPlay" label="广告播放总数" width="110" />
-				<el-table-column prop="contribution" label="用户贡献(当日/总共)" width="160"  />
+				<el-table-column prop="contribution" label="用户贡献(当日/总共)" width="155"  />
+				<el-table-column prop="lastLoginTime" label="上次登录时间" width="155"  />
+				<el-table-column prop="createdAt" label="注册时间" width="155"  />
 				<el-table-column label="操作" width="90" >
 				<el-table-column label="操作" width="90" >
 				<template #default="scope">
 				<template #default="scope">
 				  <el-button type="text" size="default" style="color: red;" v-if="scope.row.userState == 0" @click="block(scope.row)">封禁</el-button>
 				  <el-button type="text" size="default" style="color: red;" v-if="scope.row.userState == 0" @click="block(scope.row)">封禁</el-button>
@@ -78,7 +81,6 @@
 		</Layer>
 		</Layer>
 	</div>
 	</div>
 </template>
 </template>
-
 <script setup>
 <script setup>
 import { onBeforeMount, ref, reactive } from "vue";
 import { onBeforeMount, ref, reactive } from "vue";
 import { ElMessage } from "element-plus";
 import { ElMessage } from "element-plus";
@@ -86,7 +88,7 @@ import Table from "@/components/table/index.vue";
 import From from "@/components/from/index.vue";
 import From from "@/components/from/index.vue";
 import Layer from "@/components/layer/index.vue";
 import Layer from "@/components/layer/index.vue";
 import { sysUserUpdate, sysUserRegister, sysUserPage, becomeHead,
 import { sysUserUpdate, sysUserRegister, sysUserPage, becomeHead,
-		queryUserList,disableUser,enableUser,updateUserStatus,queryUserEcpm } from '@/api/sysUser'
+		queryUserList,disableUser,enableUser,updateUserStatus,queryUserEcpm,adminAdRecordRefresh } from '@/api/sysUser'
 import { queryGameList } from '@/api/common.js'
 import { queryGameList } from '@/api/common.js'
 
 
 import { beforeAvatarUpload } from '@/utils/index.js'
 import { beforeAvatarUpload } from '@/utils/index.js'
@@ -126,6 +128,7 @@ const options = [
     label: 'banner',
     label: 'banner',
   },
   },
 ]
 ]
+
 const ecpmList = ref([])
 const ecpmList = ref([])
 const ecpmUserId = ref('')
 const ecpmUserId = ref('')
 const searchEcpmList = async() =>{
 const searchEcpmList = async() =>{
@@ -137,6 +140,19 @@ const searchEcpmList = async() =>{
 	ecpmList.value = res
 	ecpmList.value = res
 	ecpmPage.total = res.length;
 	ecpmPage.total = res.length;
 }
 }
+// 刷新列表
+const refresh = async() =>{
+	const pad = (n) => String(n).padStart(2, '0');
+	const y = new Date().getFullYear();
+	const m = pad(new Date().getMonth() + 1);
+	const d = pad(new Date().getDate());
+	const res = await adminAdRecordRefresh({
+		nowTime: `${y}-${m}-${d}`
+	})
+	searchFormList();
+	ElMessage.success("刷新成功");
+}
+
 // ecpm 查询/重置
 // ecpm 查询/重置
 const ecpmSearch = ()=>{
 const ecpmSearch = ()=>{
 	searchEcpmList()
 	searchEcpmList()
@@ -188,26 +204,28 @@ const dynamicFormItems = ref([
 	    { label: "封禁", value: 1 },
 	    { label: "封禁", value: 1 },
 	  ],
 	  ],
 	},
 	},
+	{ label: "登录时间", prop: "loginTime", type: "daterange" },//"daterange"
 	// 其他动态的表单项配置
 	// 其他动态的表单项配置
 ]);
 ]);
 const handleFormSubmitted = (formData) => {
 const handleFormSubmitted = (formData) => {
 	console.log("接收到子组件传递的数据", formData);
 	console.log("接收到子组件传递的数据", formData);
-	if (formData.createdTime) {
-		formSearch.value.beginTime = new Date(formData.createdTime[0])
+	
+	if (formData.loginTime) {
+		formSearch.value.loginStartTime = new Date(formData.loginTime[0])
 			.toLocaleDateString()
 			.toLocaleDateString()
 			.slice()
 			.slice()
 			.replace(/\//g, "-");
 			.replace(/\//g, "-");
-		formSearch.value.endTime = new Date(formData.createdTime[1])
+		formSearch.value.loginEndTime = new Date(formData.loginTime[1])
 			.toLocaleDateString()
 			.toLocaleDateString()
 			.slice()
 			.slice()
 			.replace(/\//g, "-");
 			.replace(/\//g, "-");
 	} else {
 	} else {
-		formSearch.value.beginTime = null;
-		formSearch.value.endTime = null;
+		formSearch.value.loginStartTime = null;
+		formSearch.value.loginEndTime = null;
 	}
 	}
-
 	// 其他处理逻辑
 	// 其他处理逻辑
 	Object.assign(formSearch.value, formData)
 	Object.assign(formSearch.value, formData)
+	formSearch.value.loginTime = null
 	formSearch.value.createdTime = undefined
 	formSearch.value.createdTime = undefined
 
 
 	searchFormList();
 	searchFormList();