Browse Source

中奖+众筹基本差不多,中奖搜索的下拉框待修改

lihuilin/feature-20250718094329-25周年庆后台
wangxiangwen4 4 weeks ago
parent
commit
79190c9c88
  1. 2
      activitylink/src/api/manage/activity.js
  2. 3
      activitylink/src/api/manage/win.js
  3. 8
      activitylink/src/views/zhongchou/activity/detail/index.vue
  4. 12
      activitylink/src/views/zhongchou/activity/index.vue
  5. 303
      activitylink/src/views/zhongchou/winning/index.vue

2
activitylink/src/api/manage/activity.js

@ -92,7 +92,7 @@ export function getMarket(){
export function deleteActivityById(activityId) export function deleteActivityById(activityId)
{ {
return request({ return request({
url: 'activityId/admin/funding/deleteActivity',
url: '/admin/funding/deleteActivity',
method: 'post', method: 'post',
params: { activityId } params: { activityId }
}) })

3
activitylink/src/api/manage/win.js

@ -1,9 +1,10 @@
import request from '@/utils/request' import request from '@/utils/request'
export function getWinList(data) {
export function getWinList(pageNum,pageSize,data) {
return request({ return request({
url: '/admin/win/list', url: '/admin/win/list',
method: 'post', method: 'post',
params: { pageNum,pageSize },
data data
}) })
} }

8
activitylink/src/views/zhongchou/activity/detail/index.vue

@ -25,9 +25,9 @@
<el-select v-model="searchdata.marketSign" placeholder="请选择" style="width: 100%" class="market-select"> <el-select v-model="searchdata.marketSign" placeholder="请选择" style="width: 100%" class="market-select">
<el-option <el-option
v-for="market in marketList" v-for="market in marketList"
:key="market"
:label="market"
:value="market"
:key="market.id"
:label="market.market"
:value="market.id"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -48,7 +48,7 @@
<el-table-column prop="id" label="ID" width="100" align="center"></el-table-column> <el-table-column prop="id" label="ID" width="100" align="center"></el-table-column>
<el-table-column prop="username" label="姓名" width="300" align="center"></el-table-column> <el-table-column prop="username" label="姓名" width="300" align="center"></el-table-column>
<el-table-column prop="jwcode" label="精网号" width="300" align="center"></el-table-column> <el-table-column prop="jwcode" label="精网号" width="300" align="center"></el-table-column>
<el-table-column prop="marketSign" label="参与市场" width="300" align="center"></el-table-column>
<el-table-column prop="text" label="参与市场" width="300" align="center"></el-table-column>
<el-table-column prop="joinTime" label="参与时间" align="center"></el-table-column> <el-table-column prop="joinTime" label="参与时间" align="center"></el-table-column>
</el-table> </el-table>
</div> </div>

12
activitylink/src/views/zhongchou/activity/index.vue

@ -85,9 +85,9 @@
<el-select v-model="activity.marketOne" placeholder="请选择市场一" style="width: 100%"> <el-select v-model="activity.marketOne" placeholder="请选择市场一" style="width: 100%">
<el-option <el-option
v-for="market in marketList" v-for="market in marketList"
:key="market"
:label="market"
:value="market"
:key="market.id"
:label="market.market"
:value="market.id"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -96,9 +96,9 @@
<el-select v-model="activity.marketTwo" placeholder="请选择市场二" style="width: 100%"> <el-select v-model="activity.marketTwo" placeholder="请选择市场二" style="width: 100%">
<el-option <el-option
v-for="market in marketList" v-for="market in marketList"
:key="market"
:label="market"
:value="market"
:key="market.id"
:label="market.market"
:value="market.id"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>

303
activitylink/src/views/zhongchou/winning/index.vue

@ -1,33 +1,35 @@
<!-- 0特等奖 1一等奖 以此类推 -->
<template> <template>
<el-card style="margin-top: 50px ; min-height: 90vh; max-height: 90vh;">
<!-- 返回按钮 -->
<!-- 搜索栏 -->
<div class="gray-container">
<h2>中奖管理</h2>
<el-form :inline="true" class="search-bar">
<el-card style="margin-top: 50px; min-height: 90vh; max-height: 90vh;">
<!-- 搜索栏 -->
<div class="gray-container">
<h2>中奖管理</h2>
<el-form :inline="true" class="search-bar">
<el-form-item label="姓名"> <el-form-item label="姓名">
<el-input v-model="searchData.name" placeholder="请输入姓名"></el-input>
<el-input v-model="searchParams.username" placeholder="请输入姓名"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="精网号"> <el-form-item label="精网号">
<el-input
v-model="searchData.jingwangId"
placeholder="请输入精网号"
<el-input
v-model="searchParams.jwcode"
placeholder="请输入精网号"
@input="handleJingwangIdInput" @input="handleJingwangIdInput"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="中奖等级"> <el-form-item label="中奖等级">
<el-select v-model="searchData.prizeLevel" placeholder="请选择" class="prize-level-select">
<!-- 增加下拉框宽度 -->
<el-select
v-model="searchParams.gradeName"
placeholder="请选择"
class="prize-level-select"
style="width: 220px"> <!-- 增加宽度到220px -->
<el-option label="全部" value=""></el-option> <el-option label="全部" value=""></el-option>
<el-option label="特等奖" value="0"></el-option>
<el-option label="一等奖" value="1"></el-option>
<!-- 其他选项... -->
<el-option label="特等奖" value="特等奖"></el-option>
<el-option label="一等奖" value="一等奖"></el-option>
<el-option label="二等奖" value="二等奖"></el-option>
<el-option label="三等奖" value="三等奖"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary">搜索</el-button>
<el-button type="primary" @click="handleSearch">搜索</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleReset">重置</el-button> <el-button @click="handleReset">重置</el-button>
@ -39,217 +41,140 @@
<!-- 表格 --> <!-- 表格 -->
<div class="table-container"> <div class="table-container">
<el-table :data="currentPageData" style="width: 100%" :row-style="{ height: '55px' }">
<el-table-column prop="id" label="ID" width="100" align="center"></el-table-column>
<el-table-column prop="name" label="姓名" width="180" align="center"></el-table-column>
<el-table-column prop="jingwangId" label="精网号" width="250" align="center"></el-table-column>
<!-- <el-table-column prop="prizeLevel" label="中奖等级" width="200" align="center"></el-table-column> -->
<el-table-column label="中奖等级" width="200" align="center">
<template #default="scope">
<span v-if="scope.row.prizeLevel == '0' ">特等奖</span>
<span v-if="scope.row.prizeLevel == '1' ">一等奖</span>
<span v-if="scope.row.prizeLevel == '2' ">二等奖</span>
<span v-if="scope.row.prizeLevel == '3' ">三等奖</span>
</template>
</el-table-column>
<el-table-column prop="prizeItem" label="所中礼品" width="300" align="center"></el-table-column>
<el-table-column prop="prizeTime" label="中奖时间" align="center"></el-table-column>
<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> </el-table>
</div> </div>
</div>
<!-- 分页 -->
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="tableData.length"
>
</el-pagination>
</div>
<!-- 修改后的分页组件 -->
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="searchParams.pageNum"
:page-sizes="[10, 20, 50, 100]"
:page-size="searchParams.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</el-card> </el-card>
</template> </template>
<script setup> <script setup>
import { ref, computed } from 'vue'
import { useRouter } from 'vue-router'
import { ref, onMounted } from 'vue'
import { getWinList } from '@/api/manage/win' import { getWinList } from '@/api/manage/win'
const router = useRouter()
//
const searchData = ref({
name: '',
jingwangId: '',
prizeLevel: ''
//
const searchParams = ref({
pageNum: 1,
pageSize: 10,
username: '',
gradeName: '',
jwcode: ''
}) })
const tableData = ref([
{
id: 1,
name: '张家伟',
jingwangId: '90047666',
prizeLevel: '0',
prizeItem: 'zimomo',
prizeTime: '2025-07-12 14:05:30'
}, {
id: 1,
name: '张家伟',
jingwangId: '90047666',
prizeLevel: '0',
prizeItem: 'zimomo',
prizeTime: '2025-07-12 14:05:30'
}, {
id: 1,
name: '张家伟',
jingwangId: '90047666',
prizeLevel: '0',
prizeItem: 'zimomo',
prizeTime: '2025-07-12 14:05:30'
}, {
id: 1,
name: '张家伟',
jingwangId: '90047666',
prizeLevel: '0',
prizeItem: 'zimomo',
prizeTime: '2025-07-12 14:05:30'
}, {
id: 1,
name: '张家伟',
jingwangId: '90047666',
prizeLevel: '0',
prizeItem: 'zimomo',
prizeTime: '2025-07-12 14:05:30'
}, {
id: 1,
name: '张家伟',
jingwangId: '90047666',
prizeLevel: '0',
prizeItem: 'zimomo',
prizeTime: '2025-07-12 14:05:30'
}, {
id: 1,
name: '张家伟',
jingwangId: '90047666',
prizeLevel: '0',
prizeItem: 'zimomo',
prizeTime: '2025-07-12 14:05:30'
}, {
id: 1,
name: '张家伟',
jingwangId: '90047666',
prizeLevel: '0',
prizeItem: 'zimomo',
prizeTime: '2025-07-12 14:05:30'
}, {
id: 1,
name: '张家伟',
jingwangId: '90047666',
prizeLevel: '0',
prizeItem: 'zimomo',
prizeTime: '2025-07-12 14:05:30'
}, {
id: 1,
name: '张家伟',
jingwangId: '90047666',
prizeLevel: '0',
prizeItem: 'zimomo',
prizeTime: '2025-07-12 14:05:30'
}, {
id: 1,
name: '张家伟',
jingwangId: '90047666',
prizeLevel: '0',
prizeItem: 'zimomo',
prizeTime: '2025-07-12 14:05:30'
},
// ...
])
const currentPage = ref(1)
const pageSize = ref(10)
//
const currentPageData = computed(() => {
const start = (currentPage.value - 1) * pageSize.value
const end = start + pageSize.value
return tableData.value.slice(start, end)
})
// const currentPageData = computed(() => {
// const start = (currentPage.value - 1) * pageSize.value
// const end = start + pageSize.value
// return tableData.value.slice(start, end)
// })
//
const tableData = ref([])
const total = ref(0)
//
const fetchWinList = async () => {
try {
//
const requestData = {
username: searchParams.value.username,
gradeName: searchParams.value.gradeName,
jwcode: searchParams.value.jwcode
}
// APIpageNum, pageSize
const res = await getWinList(
searchParams.value.pageNum,
searchParams.value.pageSize,
requestData
)
if (res.code === 200) {
tableData.value = res.data.list
total.value = res.data.total
}
} catch (error) {
console.error('获取中奖列表失败:', error)
}
}
//
const handleSearch = () => {
searchParams.value.pageNum = 1 //
fetchWinList()
}
//
const goBack = () => {
router.back()
//
const handleReset = () => {
searchParams.value = {
pageNum: 1, //
pageSize: 10,
username: '',
gradeName: '',
jwcode: ''
}
fetchWinList()
} }
// //
const handleExport = () => { const handleExport = () => {
console.log('Export Data')
console.log('导出数据')
} }
// size
//
const handleSizeChange = (val) => { const handleSizeChange = (val) => {
pageSize.value = val
currentPage.value = 1
searchParams.value.pageSize = val
searchParams.value.pageNum = 1 //
fetchWinList()
} }
// //
const handleCurrentChange = (val) => { const handleCurrentChange = (val) => {
currentPage.value = val
searchParams.value.pageNum = val
fetchWinList()
} }
//
//
const handleJingwangIdInput = (value) => { const handleJingwangIdInput = (value) => {
searchData.value.jingwangId = value.replace(/\D/g, '')
searchParams.value.jwcode = value.replace(/\D/g, '')
} }
//
const handleReset = () => {
searchData.value = {
name: '',
jingwangId: '',
prizeLevel: ''
}
}
//
onMounted(() => {
fetchWinList()
})
</script> </script>
<style scoped> <style scoped>
.info-bar {
margin: 10px 0;
font-size: 16px;
.gray-container {
width: 100%;
background-color: #ffffff;
padding: 20px;
box-sizing: border-box;
min-height: 80vh;
overflow-x: hidden;
} }
.search-bar { .search-bar {
margin-bottom: 20px; margin-bottom: 20px;
} }
/* 添加下拉框样式 */
.prize-level-select { .prize-level-select {
width: 200px; /* 调整中奖等级选择框的宽度 */
width: 220px; /* 设置下拉框宽度 */
} }
.table-container { .table-container {
height: 600px; /* 根据需要调整高度 */
overflow-y: auto; /* 启用垂直滚动条 */
}
.gray-container {
width: 100%; /* 宽度自适应 */
background-color: #ffffff; /* 浅灰色背景 */
padding: 20px; /* 内边距 */
box-sizing: border-box; /* 包含内边距在总宽度内 */
min-height: 80vh; /* 设置最小高度 */
overflow-x: hidden;
height: 600px;
overflow-y: auto;
} }
</style> </style>
Loading…
Cancel
Save