|
|
@ -4,9 +4,6 @@ |
|
|
|
<div class="gray-container"> |
|
|
|
<h2>用户管理</h2> |
|
|
|
<el-form :inline="true" class="search-bar"> |
|
|
|
<el-form-item label="姓名"> |
|
|
|
<el-input v-model="searchParams.username" placeholder="请输入姓名"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="精网号"> |
|
|
|
<el-input |
|
|
|
v-model="searchParams.jwcode" |
|
|
@ -28,11 +25,10 @@ |
|
|
|
<!-- 表格 --> |
|
|
|
<div class="table-container"> |
|
|
|
<el-table :data="tableData" style="width: 100%" :row-style="{ height: '55px' }"> |
|
|
|
<el-table-column prop="username" label="姓名" width="180" align="center"></el-table-column> |
|
|
|
|
|
|
|
<el-table-column prop="jwcode" label="精网号" width="250" align="center"></el-table-column> |
|
|
|
<el-table-column prop="gradeName" label="中奖等级" width="200" align="center"></el-table-column> |
|
|
|
<el-table-column prop="prizeName" label="所中礼品" width="300" align="center"></el-table-column> |
|
|
|
<el-table-column prop="winTime" label="中奖时间" align="center"></el-table-column> |
|
|
|
|
|
|
|
<el-table-column prop="createTime" label="中奖时间" align="center"></el-table-column> |
|
|
|
<el-table-column label="操作" align="center"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-button size="small" type="danger" @click="openDeleteDialog(scope.row)">删除</el-button> |
|
|
@ -73,9 +69,6 @@ |
|
|
|
@closed="cancel" |
|
|
|
> |
|
|
|
<el-form ref="addForm" :model="JwUser" :rules="rules" label-width="80px"> |
|
|
|
<el-form-item label="用户名称" prop="username"> |
|
|
|
<el-input v-model="JwUser.username" placeholder="请输入用户名称" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="精网号" prop="jwcode"> |
|
|
|
<el-input v-model="JwUser.jwcode" placeholder="请输入精网号" /> |
|
|
|
</el-form-item> |
|
|
@ -95,24 +88,17 @@ |
|
|
|
|
|
|
|
<script setup> |
|
|
|
import { ref, onMounted } from 'vue' |
|
|
|
import { useactivityStone } from '@/stone/activityStone' |
|
|
|
import { useWinStone } from '@/stone/winStone' |
|
|
|
import { getWinList, getWinLevelList ,exportWinExcel} from '@/api/manage/win' |
|
|
|
import { onBeforeRouteLeave } from 'vue-router' |
|
|
|
import { getuserList , deleteuserByjwcode , adduserByjwcode } from '@/api/manage/user' |
|
|
|
import { ElMessage } from 'element-plus' |
|
|
|
const activityStone = useactivityStone() |
|
|
|
const winStone = useWinStone() |
|
|
|
|
|
|
|
// 搜索参数(初始化时使用持久化值) |
|
|
|
const searchParams = ref({ |
|
|
|
pageNum: 1, |
|
|
|
pageSize: 10, |
|
|
|
username: "", |
|
|
|
jwcode: "" |
|
|
|
}) |
|
|
|
const addForm = ref( |
|
|
|
{ |
|
|
|
username: '', |
|
|
|
jwcode: '', |
|
|
|
} |
|
|
|
); |
|
|
@ -125,43 +111,47 @@ |
|
|
|
centerDialogVisible.value = true; |
|
|
|
}; |
|
|
|
|
|
|
|
const deleteJwcode = ref('') |
|
|
|
// 根据什么删除在定 |
|
|
|
const openDeleteDialog = (row) => { |
|
|
|
// activityToDelete.value = row.id |
|
|
|
deleteJwcode.value = row.jwcode |
|
|
|
deleteConfirmVisible.value = true |
|
|
|
} |
|
|
|
// 确定删除 |
|
|
|
const confirmDelete = async () => { |
|
|
|
// if (!activityToDelete.value) { |
|
|
|
// ElMessage.warning('未获取到活动ID') |
|
|
|
// return |
|
|
|
// } |
|
|
|
|
|
|
|
// try { |
|
|
|
// const response = await deleteActivityById({activityId: activityToDelete.value}) |
|
|
|
|
|
|
|
// if (response.code === 200) { |
|
|
|
// ElMessage.success('活动删除成功') |
|
|
|
// fetchActivityList() // 刷新活动列表 |
|
|
|
// } else { |
|
|
|
// ElMessage.error(response.message || '删除失败') |
|
|
|
// } |
|
|
|
// } catch (error) { |
|
|
|
// console.error('删除活动失败:', error) |
|
|
|
// ElMessage.error('请求失败,请重试') |
|
|
|
// } finally { |
|
|
|
// deleteConfirmVisible.value = false |
|
|
|
// activityToDelete.value = null |
|
|
|
// } |
|
|
|
console.log("删除用户") |
|
|
|
fetchWinList() |
|
|
|
deleteConfirmVisible.value = false |
|
|
|
try { |
|
|
|
const response = await deleteuserByjwcode({ jwcode: deleteJwcode.value }) |
|
|
|
if (response.code === 200) { |
|
|
|
ElMessage.success('删除成功') |
|
|
|
fetchWinList() // 刷新列表 |
|
|
|
} else { |
|
|
|
ElMessage.error(response.message || '删除失败') |
|
|
|
} |
|
|
|
} catch (error) { |
|
|
|
ElMessage.error('删除请求失败,请稍后再试') |
|
|
|
console.error('删除错误:', error) |
|
|
|
} finally { |
|
|
|
deleteConfirmVisible.value = false |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
const addUser = () => { |
|
|
|
console.log("添加用户") |
|
|
|
centerDialogVisible.value = false; |
|
|
|
|
|
|
|
const addUser = async () => { |
|
|
|
try { |
|
|
|
const response = await adduserByjwcode({ |
|
|
|
jwcode: JwUser.value.jwcode |
|
|
|
}); |
|
|
|
|
|
|
|
if (response.code === 200) { |
|
|
|
ElMessage.success('添加成功'); |
|
|
|
centerDialogVisible.value = false; |
|
|
|
fetchWinList(); // 刷新用户列表 |
|
|
|
} else { |
|
|
|
ElMessage.error(response.message || '添加失败'); |
|
|
|
} |
|
|
|
} catch (error) { |
|
|
|
ElMessage.error('添加请求失败,请稍后再试'); |
|
|
|
console.error('添加用户错误:', error); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const JwUser = ref({ |
|
|
@ -210,25 +200,24 @@ const handleJwcodeInput = (value) => { |
|
|
|
addForm.value.resetFields(); |
|
|
|
}; |
|
|
|
|
|
|
|
// 获取中奖列表 |
|
|
|
// 获取用户列表 |
|
|
|
const fetchWinList = async () => { |
|
|
|
try { |
|
|
|
const requestData = { |
|
|
|
username: activityStone.searchUsername, |
|
|
|
gradeId: "" , |
|
|
|
jwcode: activityStone.searchJwcode, |
|
|
|
jwcode: searchParams.value.jwcode, |
|
|
|
pageNum: searchParams.value.pageNum, |
|
|
|
pageSize: searchParams.value.pageSize |
|
|
|
} |
|
|
|
console.log('请求参数:', requestData) |
|
|
|
const res = await getWinList(requestData) |
|
|
|
const res = await getuserList(requestData) |
|
|
|
console.log('响应数据:', res) |
|
|
|
if (res.code === 200) { |
|
|
|
tableData.value = res.data.list |
|
|
|
console.log('获取中奖列表成功:', tableData.value) |
|
|
|
console.log('获取用户列表成功:', tableData.value) |
|
|
|
total.value = res.data.total |
|
|
|
} |
|
|
|
} catch (error) { |
|
|
|
console.error('获取中奖列表失败:', error) |
|
|
|
console.error('获取用户列表失败:', error) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -236,12 +225,8 @@ const handleJwcodeInput = (value) => { |
|
|
|
const handleSearch = () => { |
|
|
|
searchParams.value.pageNum = 1 |
|
|
|
|
|
|
|
// // 更新持久化值 |
|
|
|
// activityStone.setSearchUsername(searchParams.value.username) |
|
|
|
// activityStone.setSearchJwcode(searchParams.value.jwcode) |
|
|
|
// winStone.setSearchgradeId(searchParams.value.gradeId) |
|
|
|
|
|
|
|
fetchWinList() |
|
|
|
searchParams.value.jwcode = '' |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -254,12 +239,6 @@ const handleJwcodeInput = (value) => { |
|
|
|
username: '', |
|
|
|
jwcode: '' |
|
|
|
} |
|
|
|
|
|
|
|
// 清空持久化值 |
|
|
|
// activityStone.setSearchUsername('') |
|
|
|
// activityStone.setSearchJwcode('') |
|
|
|
// winStone.setSearchgradeId('') |
|
|
|
|
|
|
|
fetchWinList() |
|
|
|
} |
|
|
|
|
|
|
@ -269,19 +248,6 @@ const handleJwcodeInput = (value) => { |
|
|
|
fetchWinList() |
|
|
|
}) |
|
|
|
|
|
|
|
// onBeforeRouteLeave((to, from, next) => { |
|
|
|
// // 判断是否跳转到 activity/index 页面 |
|
|
|
// if (to.name !== 'zhongchouwinning') { |
|
|
|
// // 清空 winStone 中的 gradeId |
|
|
|
// winStone.setSearchgradeId('') |
|
|
|
|
|
|
|
// // 清空 activityStone 中的搜索值 |
|
|
|
// activityStone.setSearchUsername('') |
|
|
|
// activityStone.setSearchJwcode('') |
|
|
|
// } |
|
|
|
|
|
|
|
// next() // 必须调用 next() |
|
|
|
// }) |
|
|
|
</script> |
|
|
|
|
|
|
|
<style scoped> |
|
|
|