12 changed files with 473 additions and 1365 deletions
-
5activitylink/.env.development
-
5activitylink/.env.production
-
2activitylink/index.html
-
1043activitylink/package-lock.json
-
39activitylink/src/api/manage/gift.js
-
52activitylink/src/api/manage/level.js
-
0activitylink/src/global.d.ts
-
5activitylink/src/router/index.js
-
13activitylink/src/views/choujiang/index.vue
-
116activitylink/src/views/zhongchou/gift/index.vue
-
541activitylink/src/views/zhongchou/level/index.vue
-
17activitylink/vite.config.js
1043
activitylink/package-lock.json
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -1,9 +1,42 @@ |
|||||
import request from '@/utils/request' |
import request from '@/utils/request' |
||||
|
|
||||
export function deleteUser(id) { |
|
||||
|
//奖品新增
|
||||
|
export function addprize(params) { |
||||
return request({ |
return request({ |
||||
url: '/admin/prize/update', |
|
||||
|
url: 'admin/prize/add', |
||||
method: 'post', |
method: 'post', |
||||
params: { id } |
|
||||
|
params: params |
||||
|
}) |
||||
|
} |
||||
|
// 查询所有奖品和对应等级并排序
|
||||
|
export function prizelist(params) { |
||||
|
return request({ |
||||
|
url: 'api/prize/list', |
||||
|
method: 'post', |
||||
|
params: params |
||||
|
}) |
||||
|
} |
||||
|
// 奖品删除
|
||||
|
export function deleteprize(params) { |
||||
|
return request({ |
||||
|
url: 'admin/prize/delete', |
||||
|
method: 'post', |
||||
|
params: params |
||||
|
}) |
||||
|
} |
||||
|
//奖品分页查询
|
||||
|
export function getprizelimit(params) { |
||||
|
return request({ |
||||
|
url: 'admin/prize/list', |
||||
|
method: 'post', |
||||
|
params: params |
||||
|
}) |
||||
|
} |
||||
|
// 根据id查询奖品
|
||||
|
export function getprizebyid(params) { |
||||
|
return request({ |
||||
|
url: 'admin/prize/detail', |
||||
|
method: 'post', |
||||
|
params: params |
||||
}) |
}) |
||||
} |
} |
@ -1,10 +1,50 @@ |
|||||
|
|
||||
import request from '@/utils/request' |
import request from '@/utils/request' |
||||
|
|
||||
export function deleteUser() { |
|
||||
|
// 等级查询
|
||||
|
export function getLevelList(params) { |
||||
|
return request({ |
||||
|
url: '/admin/grade/list', |
||||
|
method: 'post', |
||||
|
params: params |
||||
|
}) |
||||
|
} |
||||
|
// 等级新增
|
||||
|
export function addLevel(data) { |
||||
return request({ |
return request({ |
||||
url: '/admin/funding/getActivity', |
|
||||
method: 'get', |
|
||||
|
|
||||
|
url: '/admin/grade/add', |
||||
|
method: 'post', |
||||
|
data, |
||||
|
headers: { |
||||
|
'Content-Type': 'application/json' |
||||
|
} |
||||
}) |
}) |
||||
} |
|
||||
|
} |
||||
|
// 删除等级
|
||||
|
export function deleteGrade(id) { |
||||
|
return request({ |
||||
|
url: '/admin/grade/delete', |
||||
|
method: 'post', |
||||
|
params: { id } |
||||
|
}) |
||||
|
} |
||||
|
// 根据id查询等级
|
||||
|
export function getgradedetails(params) { |
||||
|
return request({ |
||||
|
url: 'admin/grade/details', |
||||
|
method: 'post', |
||||
|
params: params |
||||
|
}) |
||||
|
} |
||||
|
// 修改等级
|
||||
|
export function updateGrade(data) { |
||||
|
return request({ |
||||
|
url: 'admin/grade/update', |
||||
|
method: 'post', |
||||
|
data, |
||||
|
headers: { |
||||
|
'Content-Type': 'application/json' |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
|
@ -1,13 +0,0 @@ |
|||||
<template> |
|
||||
<div> |
|
||||
抽奖 |
|
||||
</div> |
|
||||
</template> |
|
||||
|
|
||||
<script setup> |
|
||||
|
|
||||
</script> |
|
||||
|
|
||||
<style scoped> |
|
||||
|
|
||||
</style> |
|
@ -1,337 +1,252 @@ |
|||||
<template> |
<template> |
||||
<el-card style="margin-top: 50px; min-height: 90vh; max-height: 90vh; display: flex; flex-direction: column;"> |
|
||||
<div class="level-management-container" style="flex: 1; overflow-y: auto;"> |
|
||||
<h2>等级管理</h2> |
|
||||
<!-- 添加等级按钮 --> |
|
||||
<div class="action-buttons"> |
|
||||
<el-button type="primary" @click="showAddDialog">添加等级</el-button> |
|
||||
</div> |
|
||||
|
|
||||
<!-- 等级表格 --> |
|
||||
<div class="table-container"> |
|
||||
<el-table :data="currentPageData" style="width: 100%" :row-style="{ height: '55px' }"> |
|
||||
<el-table-column type="index" label="ID" width="150" align="center" /> |
|
||||
<el-table-column prop="gradeName" label="等级名称" width="200" align="center" /> |
|
||||
<el-table-column prop="num" label="数量" width="250" align="center" /> |
|
||||
<el-table-column prop="numPeople" label="每轮抽取人数" width="300" align="center" /> |
|
||||
<el-table-column prop="sort" label="排序" width="200" align="center" /> |
|
||||
<el-table-column fixed="right" label="操作" align="center"> |
|
||||
<template #default="scope"> |
|
||||
<div style="display: flex; gap: 10px; justify-content: center;"> |
|
||||
<el-button size="default" @click="editLevel(scope.row)">编辑</el-button> |
|
||||
<el-button size="default" @click=setmor>设置多个</el-button> |
|
||||
<el-button size="default" type="danger" @click="deleteLevel(scope.row)">删除</el-button> |
|
||||
</div> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
</div> |
|
||||
|
<el-card style="margin-top: 50px; min-height: 90vh; max-height: 90vh; display: flex; flex-direction: column;"> |
||||
|
<div class="level-management-container" style="flex: 1; overflow-y: auto;"> |
||||
|
<h2>等级管理</h2> |
||||
|
<!-- 添加等级按钮 --> |
||||
|
<div class="action-buttons"> |
||||
|
<el-button type="primary" @click="showAddDialog">添加等级</el-button> |
||||
</div> |
</div> |
||||
|
|
||||
<!-- 分页 --> |
|
||||
<el-pagination |
|
||||
class="pagination" |
|
||||
v-model:current-page="pagination.pageNum" |
|
||||
v-model:page-size="pagination.pageSize" |
|
||||
layout="total, sizes, prev, pager, next, jumper" |
|
||||
:total="tableData.length" |
|
||||
:page-sizes="[10, 20, 50, 100]" |
|
||||
@size-change="handleSizeChange" |
|
||||
@current-change="handleCurrentChange" |
|
||||
/> |
|
||||
|
|
||||
<!-- 添加/编辑等级对话框 --> |
|
||||
<el-dialog v-model="dialogVisible" :title="dialogTitle" width=400px @closed="resetForm"> |
|
||||
<el-form :model="form" label-width="120px"> |
|
||||
<el-form-item label="等级名称" align="center"> |
|
||||
<el-input v-model="form.gradeName" placeholder="请输入等级名称"></el-input> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="数量" align="center"> |
|
||||
<el-input-number v-model="form.num" :precision="0" :min="0" placeholder="请输入数量" style="width: 100%;"></el-input-number> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="每轮抽取人数" align="center"> |
|
||||
<el-input-number v-model="form.numPeople" :precision="0" :min="0" placeholder="请输入抽取人数" style="width: 100%;"></el-input-number> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="排序" align="center"> |
|
||||
<el-input-number v-model="form.sort" :precision="0" :min="0" placeholder="请输入排序等级" style="width: 100%;"></el-input-number> |
|
||||
</el-form-item> |
|
||||
</el-form> |
|
||||
<template #footer> |
|
||||
<span class="dialog-footer"> |
|
||||
<el-button @click="dialogVisible = false">取消</el-button> |
|
||||
<el-button type="primary" @click="submitForm">确认</el-button> |
|
||||
</span> |
|
||||
</template> |
|
||||
</el-dialog> |
|
||||
|
|
||||
<!-- 设置多个对话框 --> |
|
||||
<!-- 添加/编辑等级对话框 --> |
|
||||
<el-dialog v-model="setmore" :title="setTitle" width=400px @closed="resetForm"> |
|
||||
<el-form :model="form" label-width="120px"> |
|
||||
<el-form-item label="等级名称" align="center"> |
|
||||
<el-input v-model="form.gradeName" placeholder="请输入等级名称"></el-input> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="数量" align="center"> |
|
||||
<el-input-number v-model="form.num" :precision="0" :min="0" placeholder="请输入数量" style="width: 100%;"></el-input-number> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="每轮抽取人数" align="center"> |
|
||||
<el-input-number v-model="form.numPeople" :precision="0" :min="0" placeholder="请输入抽取人数" style="width: 100%;"></el-input-number> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="排序" align="center"> |
|
||||
<el-input-number v-model="form.sort" :precision="0" :min="0" placeholder="请输入排序等级" style="width: 100%;"></el-input-number> |
|
||||
</el-form-item> |
|
||||
</el-form> |
|
||||
<template #footer> |
|
||||
<span class="dialog-footer"> |
|
||||
<el-button @click="setmore = false">取消</el-button> |
|
||||
<el-button type="primary" @click="submitForm">确认</el-button> |
|
||||
</span> |
|
||||
</template> |
|
||||
</el-dialog> |
|
||||
</el-card> |
|
||||
</template> |
|
||||
|
|
||||
<script setup> |
|
||||
import { ref, computed,onMounted } from 'vue' |
|
||||
import { ElMessage, ElMessageBox } from 'element-plus' |
|
||||
// import { deleteUser } from '@/api/manage/level' |
|
||||
import { deleteUser } from '@/api/manage/level' |
|
||||
// import axios from 'axios'; |
|
||||
// 数据定义 |
|
||||
const tableData = ref([ |
|
||||
{ |
|
||||
id: 1, |
|
||||
gradeName: '等级一', |
|
||||
num: 100, |
|
||||
numPeople: 10, |
|
||||
sort: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 2, |
|
||||
gradeName: '等级二', |
|
||||
num: 200, |
|
||||
numPeople: 20, |
|
||||
sort: 2 |
|
||||
}, |
|
||||
{ |
|
||||
id: 2, |
|
||||
gradeName: '等级二', |
|
||||
num: 200, |
|
||||
numPeople: 20, |
|
||||
sort: 2 |
|
||||
}, |
|
||||
{ |
|
||||
id: 2, |
|
||||
gradeName: '等级二', |
|
||||
num: 200, |
|
||||
numPeople: 20, |
|
||||
sort: 2 |
|
||||
}, |
|
||||
{ |
|
||||
id: 2, |
|
||||
gradeName: '等级二', |
|
||||
num: 200, |
|
||||
numPeople: 20, |
|
||||
sort: 2 |
|
||||
}, |
|
||||
{ |
|
||||
id: 2, |
|
||||
gradeName: '等级二', |
|
||||
num: 200, |
|
||||
numPeople: 20, |
|
||||
sort: 2 |
|
||||
}, |
|
||||
{ |
|
||||
id: 2, |
|
||||
gradeName: '等级二', |
|
||||
num: 200, |
|
||||
numPeople: 20, |
|
||||
sort: 2 |
|
||||
}, |
|
||||
{ |
|
||||
id: 2, |
|
||||
gradeName: '等级二', |
|
||||
num: 200, |
|
||||
numPeople: 20, |
|
||||
sort: 2 |
|
||||
}, |
|
||||
{ |
|
||||
id: 2, |
|
||||
gradeName: '等级二', |
|
||||
num: 200, |
|
||||
numPeople: 20, |
|
||||
sort: 2 |
|
||||
}, |
|
||||
{ |
|
||||
id: 2, |
|
||||
gradeName: '等级二', |
|
||||
num: 200, |
|
||||
numPeople: 20, |
|
||||
sort: 2 |
|
||||
}, |
|
||||
{ |
|
||||
id: 2, |
|
||||
gradeName: '等级二', |
|
||||
num: 200, |
|
||||
numPeople: 20, |
|
||||
sort: 2 |
|
||||
}, |
|
||||
{ |
|
||||
id: 2, |
|
||||
gradeName: '等级二', |
|
||||
num: 200, |
|
||||
numPeople: 20, |
|
||||
sort: 2 |
|
||||
} |
|
||||
]) |
|
||||
|
<!-- 等级表格 --> |
||||
|
<div class="table-container"> |
||||
|
<el-table :data="tableData" style="width: 100%" :row-style="{ height: '55px' }"> |
||||
|
<el-table-column prop="id" type="index" label="ID" width="100px" fixed="left" /> |
||||
|
<el-table-column prop="gradeName" label="等级名称" width="200" align="center" /> |
||||
|
<el-table-column prop="amount" label="数量" width="250" align="center" /> |
||||
|
<el-table-column prop="perWin" label="每轮抽取人数" width="300" align="center" /> |
||||
|
<el-table-column prop="sort" label="排序" width="200" align="center" /> |
||||
|
<el-table-column prop="operation" fixed="right" label="操作" align="center"> |
||||
|
<template #default="scope"> |
||||
|
<div style="display: flex; gap: 10px; justify-content: center;"> |
||||
|
<el-button text type="warning" @click="editLevel(scope.row)">编辑</el-button> |
||||
|
<el-button text type="primary" @click=setmor>设置多个</el-button> |
||||
|
<el-button text type="danger" @click="deleteLevel(scope.row)">删除</el-button> |
||||
|
</div> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
const setmore=ref(false) |
|
||||
|
|
||||
// 分页 |
|
||||
const pagination = ref({ |
|
||||
pageNum: 1, |
|
||||
pageSize: 10 |
|
||||
}) |
|
||||
|
|
||||
const currentPageData = computed(() => { |
|
||||
const start = (pagination.value.pageNum - 1) * pagination.value.pageSize |
|
||||
const end = start + pagination.value.pageSize |
|
||||
return tableData.value.slice(start, end) |
|
||||
}) |
|
||||
|
|
||||
const handleSizeChange = (val) => { |
|
||||
pagination.value.pageSize = val |
|
||||
pagination.value.pageNum = 1 |
|
||||
} |
|
||||
|
|
||||
onMounted(() => { |
|
||||
// 获取数据 |
|
||||
|
<!-- 分页 --> |
||||
|
<el-pagination class="pagination" v-model:current-page="pagination.pageNum" v-model:page-size="pagination.pageSize" |
||||
|
layout="total, sizes, prev, pager, next, jumper" :total="pagination.total" :page-sizes="[10, 20, 50, 100]" |
||||
|
@size-change="handleSizeChange" @current-change="handleCurrentChange" /> |
||||
|
|
||||
|
<!-- 添加/编辑等级对话框 --> |
||||
|
<el-dialog v-model="dialogVisible" :title="dialogTitle" width=400px @closed="resetForm"> |
||||
|
<el-form :model="form" label-width="120px"> |
||||
|
<el-form-item label="等级名称" align="center"> |
||||
|
<el-input v-model="form.gradeName" placeholder="请输入等级名称"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="数量" align="center"> |
||||
|
<el-input v-model="form.amount" :precision="0" :min="0" placeholder="请输入数量" |
||||
|
style="width: 100%;"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="每轮抽取人数" align="center"> |
||||
|
<el-input v-model="form.perWin" :precision="0" :min="0" placeholder="请输入抽取人数" |
||||
|
style="width: 100%;"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="排序" align="center"> |
||||
|
<el-input v-model="form.sort" :precision="0" :min="0" placeholder="请输入排序等级" |
||||
|
style="width: 100%;"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<template #footer> |
||||
|
<span> |
||||
|
<el-button @click="dialogVisible = false">取消</el-button> |
||||
|
<el-button type="primary" @click="submitForm">确认</el-button> |
||||
|
</span> |
||||
|
</template> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- 设置多个对话框 --> |
||||
|
<!-- 添加/编辑等级对话框 --> |
||||
|
<el-dialog v-model="setmore" :title="setTitle" width=400px @closed="resetForm"> |
||||
|
<el-form :model="form" label-width="120px"> |
||||
|
<el-form-item label="等级名称" align="center"> |
||||
|
<el-input v-model="form.gradeName" placeholder="请输入等级名称"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="数量" align="center"> |
||||
|
<el-input-number v-model="form.amount" :precision="0" :min="0" placeholder="请输入数量" |
||||
|
style="width: 100%;"></el-input-number> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="每轮抽取人数" align="center"> |
||||
|
<el-input-number v-model="form.perWin" :precision="0" :min="0" placeholder="请输入抽取人数" |
||||
|
style="width: 100%;"></el-input-number> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="排序" align="center"> |
||||
|
<el-input-number v-model="form.sort" :precision="0" :min="0" placeholder="请输入排序等级" |
||||
|
style="width: 100%;"></el-input-number> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<template #footer> |
||||
|
<span class="dialog-footer"> |
||||
|
<el-button @click="setmore = false">取消</el-button> |
||||
|
<el-button type="primary" @click="submitForm">确认</el-button> |
||||
|
</span> |
||||
|
</template> |
||||
|
</el-dialog> |
||||
|
</el-card> |
||||
|
</template> |
||||
|
|
||||
deleteUser().then(response => { |
|
||||
console.log('删除成功:', response) |
|
||||
}).catch(error => { |
|
||||
console.error('删除失败:', error) |
|
||||
}) |
|
||||
}) |
|
||||
|
<script setup> |
||||
|
import { ref, computed, onMounted } from 'vue' |
||||
|
import { ElMessage, ElMessageBox } from 'element-plus' |
||||
|
import { getLevelList, addLevel, deleteGrade, updateGrade } from '@/api/manage/level' |
||||
|
const tableData = ref([]) |
||||
|
const pagination = ref({ |
||||
|
pageNum: 1, |
||||
|
pageSize: 10, |
||||
|
total:0 |
||||
|
}) |
||||
|
const setmore = ref(false) |
||||
|
const handleSizeChange = (val) => { |
||||
|
pagination.value.pageSize = val |
||||
|
pagination.value.pageNum = 1 |
||||
|
getLevels() |
||||
|
} |
||||
|
const handleCurrentChange = (val) => { |
||||
|
pagination.value.pageNum = val |
||||
|
getLevels() |
||||
|
} |
||||
|
// 对话框相关 |
||||
|
const setTitle = ref('设置多个') |
||||
|
const setmor = () => { |
||||
|
setmore.value = true |
||||
|
} |
||||
|
const dialogVisible = ref(false) |
||||
|
const dialogTitle = ref('') |
||||
|
const form = ref({ |
||||
|
id: null, |
||||
|
gradeName: '', |
||||
|
amount: '', |
||||
|
perWin: '', |
||||
|
sort: '' |
||||
|
}) |
||||
|
|
||||
|
// 显示添加对话框 |
||||
|
const showAddDialog = () => { |
||||
|
dialogTitle.value = '添加等级' |
||||
|
|
||||
const handleCurrentChange = (val) => { |
|
||||
pagination.value.pageNum = val |
|
||||
} |
|
||||
|
|
||||
// 对话框相关 |
|
||||
const setTitle = ref('设置多个') |
|
||||
const setmor=()=>{ |
|
||||
setmore.value=true |
|
||||
|
|
||||
} |
|
||||
|
dialogVisible.value = true |
||||
|
} |
||||
|
|
||||
const dialogVisible = ref(false) |
|
||||
const dialogTitle = ref('添加等级') |
|
||||
const form = ref({ |
|
||||
id: null, |
|
||||
gradeName: '', |
|
||||
num: null, |
|
||||
numPeople: null, |
|
||||
sort: null |
|
||||
}) |
|
||||
|
|
||||
// 显示添加对话框 |
|
||||
const showAddDialog = () => { |
|
||||
dialogTitle.value = '添加等级' |
|
||||
form.value = { |
|
||||
id: null, |
|
||||
gradeName: '', |
|
||||
num: null, |
|
||||
numPeople: null, |
|
||||
sort: null |
|
||||
|
// 显示编辑对话框 |
||||
|
const editLevel = (row) => { |
||||
|
dialogTitle.value = '编辑等级' |
||||
|
form.value = { ...row } |
||||
|
dialogVisible.value = true |
||||
|
} |
||||
|
const getLevels = async () => { |
||||
|
try { |
||||
|
const res = await getLevelList({ |
||||
|
pageNum: pagination.value.pageNum, |
||||
|
pageSize: pagination.value.pageSize |
||||
|
}) |
||||
|
|
||||
|
if (res.code === 200) { |
||||
|
tableData.value = res.data.list |
||||
|
pagination.value.total = res.data.total |
||||
|
} else { |
||||
|
ElMessage.error(res.message || '获取数据失败') |
||||
} |
} |
||||
dialogVisible.value = true |
|
||||
|
} catch (error) { |
||||
|
console.error('请求失败:', error) |
||||
|
ElMessage.error('请求失败,请重试') |
||||
} |
} |
||||
|
|
||||
// 显示编辑对话框 |
|
||||
const editLevel = (row) => { |
|
||||
dialogTitle.value = '编辑等级' |
|
||||
form.value = { ...row } |
|
||||
dialogVisible.value = true |
|
||||
|
} |
||||
|
// 添加 |
||||
|
const submitForm = async () => { |
||||
|
if (!form.value.gradeName || form.value.num === '' || form.value.sort === '' || form.value.perWin === '') { |
||||
|
ElMessage.error('请填写完整信息') |
||||
|
return |
||||
} |
} |
||||
|
|
||||
// 提交表单 |
|
||||
const submitForm = () => { |
|
||||
if (!form.value.gradeName || form.value.num === null || form.value.sort === null) { |
|
||||
ElMessage.error('请填写完整信息') |
|
||||
return |
|
||||
|
try { |
||||
|
const data = { |
||||
|
gradeName: form.value.gradeName, |
||||
|
amount: form.value.amount, |
||||
|
sort: form.value.sort, |
||||
|
perWin: form.value.perWin |
||||
} |
} |
||||
|
|
||||
if (form.value.id) { |
|
||||
// 编辑 |
|
||||
const index = tableData.value.findIndex(item => item.id === form.value.id) |
|
||||
if (index !== -1) { |
|
||||
tableData.value[index] = { ...form.value } |
|
||||
} |
|
||||
|
|
||||
|
const response = await addLevel(data) |
||||
|
if (response.code === 200) { |
||||
|
ElMessage.success('添加成功') |
||||
|
dialogVisible.value = false |
||||
|
getLevels() |
||||
} else { |
} else { |
||||
// 添加 |
|
||||
const newId = tableData.value.length > 0 ? Math.max(...tableData.value.map(item => item.id)) + 1 : 1 |
|
||||
tableData.value.push({ |
|
||||
id: newId, |
|
||||
...form.value |
|
||||
}) |
|
||||
|
ElMessage.error(response.message || '添加失败') |
||||
} |
} |
||||
|
|
||||
dialogVisible.value = false |
|
||||
ElMessage.success('操作成功') |
|
||||
} |
|
||||
|
|
||||
// 删除等级 |
|
||||
const deleteLevel = (row) => { |
|
||||
ElMessageBox.confirm('确定要删除该等级吗?', '提示', { |
|
||||
confirmButtonText: '确定', |
|
||||
cancelButtonText: '取消', |
|
||||
type: 'warning' |
|
||||
}).then(() => { |
|
||||
tableData.value = tableData.value.filter(item => item.id !== row.id) |
|
||||
ElMessage.success('删除成功') |
|
||||
}).catch(() => { |
|
||||
ElMessage.info('已取消删除') |
|
||||
}) |
|
||||
|
} catch (error) { |
||||
|
console.error('添加等级失败:', error) |
||||
|
ElMessage.error('添加失败,请重试') |
||||
} |
} |
||||
|
|
||||
// 清空表单(关闭对话框时调用) |
|
||||
const resetForm = () => { |
|
||||
form.value = { |
|
||||
id: null, |
|
||||
gradeName: '', |
|
||||
num: null, |
|
||||
numPeople: null, |
|
||||
sort: null |
|
||||
|
} |
||||
|
|
||||
|
// 删除等级 |
||||
|
const deleteLevel = (row) => { |
||||
|
ElMessageBox.confirm('确定要删除该等级吗?', '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(async () => { |
||||
|
try { |
||||
|
const id = row.id |
||||
|
const response = await deleteGrade({ id }) |
||||
|
if (response.code === 200) { |
||||
|
ElMessage.success('删除成功') |
||||
|
getLevels() |
||||
|
} else { |
||||
|
ElMessage.error(response.message || '删除失败') |
||||
|
} |
||||
|
} catch (error) { |
||||
|
console.error('删除失败:', error) |
||||
|
ElMessage.error('删除失败,请重试') |
||||
} |
} |
||||
|
}).catch(() => { |
||||
|
ElMessage.info('已取消删除') |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 清空表单(关闭对话框时调用) |
||||
|
const resetForm = () => { |
||||
|
form.value = { |
||||
|
gradeName: '', |
||||
|
amount: '', |
||||
|
perWin: '', |
||||
|
sort: '' |
||||
} |
} |
||||
</script> |
|
||||
|
|
||||
<style scoped> |
|
||||
.level-management-container { |
|
||||
padding: 20px; |
|
||||
width: 100%; |
|
||||
box-sizing: border-box; |
|
||||
min-height: 80vh; |
|
||||
} |
|
||||
|
|
||||
.pagination { |
|
||||
|
} |
||||
|
|
||||
|
onMounted(() => { |
||||
|
getLevels() |
||||
|
}) |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.level-management-container { |
||||
|
padding: 20px; |
||||
|
width: 100%; |
||||
|
box-sizing: border-box; |
||||
|
min-height: 80vh; |
||||
|
} |
||||
|
|
||||
|
.pagination { |
||||
padding: 10px 20px; |
padding: 10px 20px; |
||||
background-color: #fff; |
background-color: #fff; |
||||
border-top: 1px solid #ebeef5; |
border-top: 1px solid #ebeef5; |
||||
display: flex; |
display: flex; |
||||
justify-content: flex-start; /* 改为左对齐 */ |
|
||||
|
justify-content: flex-start; |
||||
|
/* 改为左对齐 */ |
||||
} |
} |
||||
|
|
||||
.action-buttons { |
|
||||
margin-bottom: 20px; |
|
||||
} |
|
||||
|
|
||||
.table-container { |
|
||||
max-height: 600px; |
|
||||
overflow-y: auto; |
|
||||
} |
|
||||
</style> |
|
||||
|
|
||||
|
.action-buttons { |
||||
|
margin-bottom: 20px; |
||||
|
} |
||||
|
|
||||
|
.table-container { |
||||
|
max-height: 600px; |
||||
|
overflow-y: auto; |
||||
|
} |
||||
|
</style> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue