新增许愿轮次记录

This commit is contained in:
liaozetao
2024-02-23 20:35:35 +08:00
committed by Dragon
parent b38614c45e
commit ccc03895a7
3 changed files with 130 additions and 25 deletions

View File

@@ -36,3 +36,28 @@ export const promiseStarConfigUpdateEnable = query => {
data: query
});
};
export const promiseStarRoundPage = query => {
return request({
url: '/admin/promiseStarRound/page',
method: 'get',
params: query
});
};
export const promiseStarUserRecordGetPromiseUsers = query => {
return request({
url: '/admin/promiseStarUserRecord/getPromiseUsers',
method: 'get',
params: query
});
};
export const promiseStarUserRecordSetUserWhite = query => {
return request({
url: '/admin/promiseStarUserRecord/setUserWhite',
headers:{"Content-Type": 'application/x-www-form-urlencoded'},
method: 'post',
data: query
});
};

View File

@@ -1,6 +1,38 @@
//获取url中的参数
function getUrlParam(name) {
export function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
if (r != null) return unescape(r[2]); return null; //返回参数值
}
export function dateFormat (date, fmt) {
date = new Date(date);
var o = {
'M+': date.getMonth() + 1,
'd+': date.getDate(),
'h+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds()
};
// 补全0
let padLeftZero = (str) => {
return ('00' + str).substr(str.length);
}
// 年份
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
}
// 月日时分秒
for (var k in o) {
if (new RegExp('(' + k + ')').test(fmt)) {
var str = o[k] + '';
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
}
}
date = o = padLeftZero = null;
return fmt;
}

View File

@@ -31,46 +31,48 @@
<!-- 外层表格 -->
<el-table :data="tableData" border style="margin-top: 25px; width: 100%">
<el-table-column align="center" fixed prop="x" label="轮次id"> </el-table-column>
<el-table-column align="center" fixed prop="x" label="轮次开始时间">
<el-table-column align="center" fixed prop="roundId" label="轮次id"> </el-table-column>
<el-table-column align="center" fixed prop="startTime" label="轮次开始时间">
</el-table-column>
<el-table-column align="center" fixed prop="x" label="轮次结束时间">
<el-table-column align="center" fixed prop="endTime" label="轮次结束时间">
</el-table-column>
<el-table-column align="center" fixed prop="x" label="礼物信息">
<el-table-column align="center" fixed prop="roundTime" label="轮次持续时间">
</el-table-column>
<el-table-column align="center" fixed prop="giftInfo" label="礼物信息">
<template v-slot="scope">
<div>id:{{ scope.row.x }}</div>
<div>名称:{{ scope.row.x }}</div>
<div>价值:{{ scope.row.x }}</div>
<div>id:{{ scope.row.giftId }}</div>
<div>名称:{{ scope.row.giftName }}</div>
<div>价值:{{ scope.row.giftPrice }}</div>
<!-- 礼物图片 -->
<el-image
style="width: 100px; height: 100px"
:src="scope.row.giftImg"
:src="scope.row.giftUrl"
:zoom-rate="1.1"
:preview-src-list="[scope.row.giftImg]"
:preview-src-list="[scope.row.giftUrl]"
fit="cover"
preview-teleported="true"
hide-on-click-modal="true"
/>
</template>
</el-table-column>
<el-table-column align="center" fixed prop="x" label="状态"> </el-table-column>
<el-table-column align="center" fixed prop="roundStatus" label="状态"> </el-table-column>
<el-table-column align="center" fixed label="参与用户数">
<template v-slot="scope">
<el-button @click="button(scope.row, 1)" type="text" size="small"
>人数: {{ scope.row.x }}</el-button
<el-button @click="button(scope.row)" type="text" size="small"
>人数: {{ scope.row.userCount ?? 0 }}</el-button
>
<div>白名单:{{ scope.row.x }}</div>
<div>白名单:{{ scope.row.whiteCount ?? 0 }}</div>
</template>
</el-table-column>
<el-table-column align="center" fixed label="进度">
<template v-slot="scope">
<div>{{ scope.row.x }}/{{ scope.row.x }}</div>
<div>{{ scope.row.processNum }}/{{ scope.row.targetNum }}</div>
</template>
</el-table-column>
<el-table-column align="center" fixed label="奖励获得者">
<template v-slot="scope">
<div>用户id:{{ scope.row.x }}</div>
<div>用户昵称:{{ scope.row.x }}</div>
<div>用户id:{{ scope.row.winnerErBanNo }}</div>
<div>用户昵称:{{ scope.row.winnerNick }}</div>
</template>
</el-table-column>
</el-table>
@@ -94,9 +96,9 @@
<!-- 内表单弹窗 -->
<el-dialog v-model="dialogTableVisible" :title="dialogTableVisibleTitle">
<el-table style="width: 100%" :data="dialogTableData" border>
<el-table-column align="center" fixed property="x" label="用户id" />
<el-table-column align="center" fixed property="x" label="用户昵称" />
<el-table-column align="center" fixed property="x" label="参与魔法棒数量" />
<el-table-column align="center" fixed property="erbanNo" label="用户id" />
<el-table-column align="center" fixed property="nick" label="用户昵称" />
<el-table-column align="center" fixed property="stickNum" label="参与魔法棒数量" />
<el-table-column align="center" fixed label="操作">
<template v-slot="scope">
<el-button @click="white(scope.row)" type="primary" size="small"
@@ -118,6 +120,9 @@
</template>
<script>
import { ElMessage } from "element-plus";
import { promiseStarRoundPage, promiseStarUserRecordGetPromiseUsers, promiseStarUserRecordSetUserWhite } from "@/api/wishingStar/wishingStar";
import { dateFormat } from '@/utils/system-helper';
export default {
name: "wishingRound",
data() {
@@ -130,7 +135,7 @@ export default {
time: "",
},
// 外层表格
tableData: [{ x: 1 }],
tableData: [],
// 分页
total: 10, //总页数
currentPage: 1, //页码
@@ -138,24 +143,67 @@ export default {
// 内表格
dialogTableVisible: false, //控制内表单
dialogTableVisibleTitle: "轮次idxxx的参与情况", //控制内表单
dialogTableData: [{ x: "1" }], //内表单数据
dialogTableData: [], //内表单数据
};
},
created() {},
created() {
this.getDatas();
},
methods: {
// 初始化数据
getDatas() {
this.loading = true;
let time = this.inquire.time;
let startTime = '';
let endTime = '';
if (time && time.length > 0) {
startTime = dateFormat(this.inquire.time[0], 'yyyy-MM-dd hh:mm:ss');
endTime = dateFormat(this.inquire.time[1], 'yyyy-MM-dd hh:mm:ss');
}
console.log(startTime);
console.log(endTime);
promiseStarRoundPage({
roundId: this.inquire.turnId,
giftId: this.inquire.giftId,
erbanNo: this.inquire.userId,
startTime: startTime,
endTime: endTime,
page: this.currentPage,
pageSize: this.pageSize,
}).then((res) => {
let data = res.data;
this.tableData = data.records;
this.total = data.total;
this.loading = false;
});
},
// 外层表格按钮
button(res) {
console.log(res);
this.dialogTableVisibleTitle = "轮次id" + res.roundId + "的参与情况";
promiseStarUserRecordGetPromiseUsers({
roundId: res.roundId,
}).then((res) => {
this.dialogTableData = res.data;
});
this.dialogTableVisible = true;
},
// 设置白名单按钮
white(res) {
console.log(res);
promiseStarUserRecordSetUserWhite({
roundId: res.roundId,
uid: res.uid,
});
},
// 分页导航
handleSizeChange(val) {},
handleCurrentChange(val) {},
handleSizeChange(val) {
this.getDatas();
},
handleCurrentChange(val) {
this.getDatas();
},
},
};
</script>