增加用户详情内的多个页面
parent
33b290c61f
commit
afcb62b4eb
@ -0,0 +1,155 @@
|
||||
|
||||
<script setup>
|
||||
// 引入依赖
|
||||
import api from '@/api/userManage'
|
||||
// import capi from '@/api/course'
|
||||
import custom from '@/utils/custom'
|
||||
import {formatDate} from '@/utils/format'
|
||||
import _ from 'lodash'
|
||||
// import { toSQLLine } from '@/utils/stringFun'
|
||||
// import WarningBar from '@/components/warningBar/warningBar.vue'
|
||||
// import ckEditor from '@/components/richText/ckEditor5.vue'
|
||||
import {ref,onMounted } from 'vue'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { useRouter, useRoute } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
// import * as echarts from 'echarts';
|
||||
// 变量
|
||||
const queryParams = ref({
|
||||
page:1,
|
||||
pageSize:10,
|
||||
user_id:0,
|
||||
type:'', // 是否中奖
|
||||
time:'', // 抽经时间
|
||||
})
|
||||
const tableData = ref([])
|
||||
const total = ref(0)
|
||||
const typeList = ref([
|
||||
{
|
||||
name:'已中奖',
|
||||
value:1
|
||||
},
|
||||
{
|
||||
name:'未中奖',
|
||||
value:2
|
||||
}
|
||||
])
|
||||
// 生命周期
|
||||
onMounted(() => {
|
||||
// getAuctionDetailList()
|
||||
})
|
||||
// 方法
|
||||
async function getAuctionDetailList() {
|
||||
const res = await api.getAuctionDetailList(queryParams.value)
|
||||
if(res.code === 0) {
|
||||
tableData.value = res.data.records
|
||||
total.value = res.data.total
|
||||
}
|
||||
}
|
||||
function onSubmit() {
|
||||
getAuctionDetailList()
|
||||
}
|
||||
const onReset = () => {
|
||||
queryParams.value = {
|
||||
page:1,
|
||||
pageSize:10,
|
||||
user_id:0,
|
||||
type:'', // 是否中奖
|
||||
time:'', // 抽经时间
|
||||
}
|
||||
}
|
||||
function handleCurrentChange(val) {
|
||||
queryParams.value.page = val
|
||||
getAuctionDetailList()
|
||||
}
|
||||
function handleSizeChange(val) {
|
||||
queryParams.value.pageSize = val
|
||||
getAuctionDetailList()
|
||||
}
|
||||
</script>
|
||||
<template>
|
||||
<div>
|
||||
<!-- 搜索框-->
|
||||
<div class="gva-search-box">
|
||||
<el-form ref="searchForm" :inline="true" :model="queryParams">
|
||||
|
||||
<el-form-item label="是否中奖">
|
||||
<el-select v-model="queryParams.subject" clearable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in typeList"
|
||||
:key="item.value"
|
||||
:label="item.name"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="竞拍时间">
|
||||
<el-date-picker class="oi-item" style="margin-left:5px"
|
||||
v-model="queryParams.last_time"
|
||||
type="date"
|
||||
placeholder="竞拍时间"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="x"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button size="small" type="primary" icon="search" @click="onSubmit">查询</el-button>
|
||||
<el-button size="small" icon="refresh" @click="onReset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<!-- 表格数据-->
|
||||
<div class="gva-table-box">
|
||||
<!-- 数据列表-->
|
||||
<el-table :data="tableData">
|
||||
<el-table-column align="left" label="竞拍时间" min-width="150" >
|
||||
<template #default="scope">
|
||||
{{formatDate(scope.row.CreatedAt)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="竞拍编号" min-width="150" prop="name">
|
||||
<template #default="scope">
|
||||
{{custom.getExercisesTypeName(scope.row.type)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="竞拍奖品" min-width="150" prop="subject" />
|
||||
<!-- <el-table-column align="left" label="选择号数" min-width="150" prop="teacher_id" />-->
|
||||
<el-table-column align="left" label="参与人数" min-width="150" prop="status" />
|
||||
<el-table-column align="left" label="是否获奖" min-width="150" prop="status" />
|
||||
<el-table-column align="left" label="竞拍消费" min-width="150" prop="status" />
|
||||
</el-table>
|
||||
<!-- 分页-->
|
||||
<div class="gva-pagination">
|
||||
<el-pagination
|
||||
:current-page="queryParams.page"
|
||||
:page-size="queryParams.pageSize"
|
||||
:page-sizes="[10, 30, 50, 100]"
|
||||
:total="total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<style scoped lang="scss">
|
||||
.option-item{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.button-box {
|
||||
padding: 10px 20px;
|
||||
.el-button {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
.warning {
|
||||
color: #dc143c;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,151 @@
|
||||
|
||||
<script setup>
|
||||
// 引入依赖
|
||||
import api from '@/api/userManage'
|
||||
// import capi from '@/api/course'
|
||||
import custom from '@/utils/custom'
|
||||
import {formatDate} from '@/utils/format'
|
||||
// import _ from 'lodash'
|
||||
// import { toSQLLine } from '@/utils/stringFun'
|
||||
// import WarningBar from '@/components/warningBar/warningBar.vue'
|
||||
// import ckEditor from '@/components/richText/ckEditor5.vue'
|
||||
import {ref,onMounted } from 'vue'
|
||||
// import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { useRouter, useRoute } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
// 变量
|
||||
const typeList = custom.getExercisesTypeList()
|
||||
const queryParams = ref({
|
||||
page:1,
|
||||
pageSize:10,
|
||||
type:'',
|
||||
deal_time:''
|
||||
})
|
||||
const tableData = ref([])
|
||||
const total = ref(0)
|
||||
const dealTypeList = ref([
|
||||
{
|
||||
name:'课程',
|
||||
value:1
|
||||
},{
|
||||
name:'测试',
|
||||
value:2
|
||||
},
|
||||
])
|
||||
// 生命周期
|
||||
onMounted(() => {
|
||||
// getDealMoneyList()
|
||||
})
|
||||
// 方法
|
||||
async function getDealMoneyList() {
|
||||
const res = await api.getDealMoneyList(queryParams.value)
|
||||
if(res.code === 0) {
|
||||
tableData.value = res.data.records
|
||||
total.value = res.data.total
|
||||
}
|
||||
}
|
||||
function onSubmit() {
|
||||
getDealMoneyList()
|
||||
}
|
||||
const onReset = () => {
|
||||
queryParams.value = {
|
||||
page:1,
|
||||
pageSize:10,
|
||||
type:'',
|
||||
deal_time:''
|
||||
}
|
||||
}
|
||||
function handleCurrentChange(val) {
|
||||
queryParams.value.page = val
|
||||
getDealMoneyList()
|
||||
}
|
||||
function handleSizeChange(val) {
|
||||
queryParams.value.pageSize = val
|
||||
getDealMoneyList()
|
||||
}
|
||||
</script>
|
||||
<template>
|
||||
<div>
|
||||
<!-- 搜索框-->
|
||||
<div class="gva-search-box">
|
||||
<el-form ref="searchForm" :inline="true" :model="queryParams">
|
||||
<el-form-item label="交易类别">
|
||||
<el-select v-model="queryParams.subject" clearable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in dealTypeList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.name"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="交易时间">
|
||||
<el-date-picker class="oi-item" style="margin-left:5px"
|
||||
v-model="queryParams.deal_time"
|
||||
type="date"
|
||||
placeholder="交易时间"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="x"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button size="small" type="primary" icon="search" @click="onSubmit">查询</el-button>
|
||||
<el-button size="small" icon="refresh" @click="onReset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<!-- 表格数据-->
|
||||
<div class="gva-table-box">
|
||||
<!-- 数据列表-->
|
||||
<el-table :data="tableData">
|
||||
<el-table-column align="left" label="交易单号" min-width="150" prop="question_id" />
|
||||
<el-table-column align="left" label="类别" min-width="150" prop="name" >
|
||||
<template #default="scope">
|
||||
{{custom.getExercisesTypeName(scope.row.type)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="交易时间" min-width="150" >
|
||||
<template #default="scope">
|
||||
{{formatDate(scope.row.CreatedAt)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="交易方式" min-width="150" prop="subject" />
|
||||
<el-table-column align="left" label="交易详情" min-width="150" prop="teacher_id" />
|
||||
<el-table-column align="left" label="交易金额" min-width="150" prop="teacher_id" />
|
||||
<el-table-column align="left" label="资产余额" min-width="150" prop="teacher_id" />
|
||||
|
||||
</el-table>
|
||||
<div class="gva-pagination">
|
||||
<el-pagination
|
||||
:current-page="queryParams.page"
|
||||
:page-size="queryParams.pageSize"
|
||||
:page-sizes="[10, 30, 50, 100]"
|
||||
:total="total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<style scoped lang="scss">
|
||||
.option-item{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.button-box {
|
||||
padding: 10px 20px;
|
||||
.el-button {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
.warning {
|
||||
color: #dc143c;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,149 @@
|
||||
<script setup>
|
||||
// 引入依赖
|
||||
import api from '@/api/userManage'
|
||||
// import capi from '@/api/course'
|
||||
import custom from '@/utils/custom'
|
||||
import {formatDate} from '@/utils/format'
|
||||
// import _ from 'lodash'
|
||||
// import { toSQLLine } from '@/utils/stringFun'
|
||||
// import WarningBar from '@/components/warningBar/warningBar.vue'
|
||||
// import ckEditor from '@/components/richText/ckEditor5.vue'
|
||||
import {ref,onMounted } from 'vue'
|
||||
// import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { useRouter, useRoute } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
// 变量
|
||||
const typeList = custom.getExercisesTypeList()
|
||||
const queryParams = ref({
|
||||
page:1,
|
||||
pageSize:10,
|
||||
type:'',
|
||||
deal_time:''
|
||||
})
|
||||
const tableData = ref([])
|
||||
const total = ref(0)
|
||||
const dealTypeList = ref([
|
||||
{
|
||||
name:'课程',
|
||||
value:1
|
||||
},{
|
||||
name:'测试',
|
||||
value:2
|
||||
},
|
||||
])
|
||||
// 生命周期
|
||||
onMounted(() => {
|
||||
// getDealPointList()
|
||||
})
|
||||
// 方法
|
||||
async function getDealPointList() {
|
||||
const res = await api.getDealPointList(queryParams.value)
|
||||
if(res.code === 0) {
|
||||
tableData.value = res.data.records
|
||||
total.value = res.data.total
|
||||
}
|
||||
}
|
||||
function onSubmit() {
|
||||
getDealPointList()
|
||||
}
|
||||
const onReset = () => {
|
||||
queryParams.value = {
|
||||
page:1,
|
||||
pageSize:10,
|
||||
type:'',
|
||||
deal_time:''
|
||||
}
|
||||
}
|
||||
function handleCurrentChange(val) {
|
||||
queryParams.value.page = val
|
||||
getDealPointList()
|
||||
}
|
||||
function handleSizeChange(val) {
|
||||
queryParams.value.pageSize = val
|
||||
getDealPointList()
|
||||
}
|
||||
</script>
|
||||
<template>
|
||||
<div>
|
||||
<!-- 搜索框-->
|
||||
<div class="gva-search-box">
|
||||
<el-form ref="searchForm" :inline="true" :model="queryParams">
|
||||
<el-form-item label="交易类别">
|
||||
<el-select v-model="queryParams.subject" clearable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in dealTypeList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.name"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="交易时间">
|
||||
<el-date-picker class="oi-item" style="margin-left:5px"
|
||||
v-model="queryParams.deal_time"
|
||||
type="date"
|
||||
placeholder="交易时间"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="x"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button size="small" type="primary" icon="search" @click="onSubmit">查询</el-button>
|
||||
<el-button size="small" icon="refresh" @click="onReset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<!-- 表格数据-->
|
||||
<div class="gva-table-box">
|
||||
<!-- 数据列表-->
|
||||
<el-table :data="tableData">
|
||||
<el-table-column align="left" label="交易单号" min-width="150" prop="question_id" />
|
||||
<el-table-column align="left" label="交易类型" min-width="150" prop="name" >
|
||||
<template #default="scope">
|
||||
{{custom.getExercisesTypeName(scope.row.type)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="交易时间" min-width="150" >
|
||||
<template #default="scope">
|
||||
{{formatDate(scope.row.CreatedAt)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="交易详情" min-width="150" prop="teacher_id" />
|
||||
<el-table-column align="left" label="交易积分" min-width="150" prop="teacher_id" />
|
||||
<el-table-column align="left" label="积分余额" min-width="150" prop="teacher_id" />
|
||||
|
||||
</el-table>
|
||||
<div class="gva-pagination">
|
||||
<el-pagination
|
||||
:current-page="queryParams.page"
|
||||
:page-size="queryParams.pageSize"
|
||||
:page-sizes="[10, 30, 50, 100]"
|
||||
:total="total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<style scoped lang="scss">
|
||||
.option-item{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.button-box {
|
||||
padding: 10px 20px;
|
||||
.el-button {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
.warning {
|
||||
color: #dc143c;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,220 @@
|
||||
|
||||
<script setup>
|
||||
// 引入依赖
|
||||
import api from '@/api/userManage'
|
||||
import capi from '@/api/course'
|
||||
import custom from '@/utils/custom'
|
||||
import {formatDate} from '@/utils/format'
|
||||
// import _ from 'lodash'
|
||||
import {ref,onMounted } from 'vue'
|
||||
// import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { useRouter, useRoute } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
import * as echarts from 'echarts';
|
||||
// 变量
|
||||
const typeList = custom.getExercisesTypeList()
|
||||
const queryParams = ref({
|
||||
page:1,
|
||||
pageSize:10,
|
||||
user_id:0,
|
||||
last_time:'',
|
||||
subject:''
|
||||
|
||||
})
|
||||
const subjectParams = ref({
|
||||
page:1,
|
||||
pageSize:100,
|
||||
})
|
||||
const tableData = ref([])
|
||||
const subjectList = ref([])
|
||||
// const deleteVisible = ref(false)
|
||||
// const question_ids = ref([])
|
||||
const total = ref(0)
|
||||
// const dialogFormVisible = ref(false)
|
||||
// const dialogTitle = ref('')
|
||||
// const form =ref({})
|
||||
// const rules = ref({
|
||||
// name: [{ required: true, message: '请输入课程名称', trigger: 'blur' }]
|
||||
// })
|
||||
// const question_id = ref(0)
|
||||
// const content = ref(null)
|
||||
// const options = ref([]) // 答案选项数组
|
||||
// const dealTypeList = ref([
|
||||
// {
|
||||
// name:'课程',
|
||||
// value:1
|
||||
// },{
|
||||
// name:'测试',
|
||||
// value:2
|
||||
// },
|
||||
// ])
|
||||
// 生命周期
|
||||
onMounted(() => {
|
||||
// getLearningDetailList()
|
||||
getSubject()
|
||||
initChart()
|
||||
})
|
||||
// 方法
|
||||
function initChart() { // echart
|
||||
const myChart = echarts.init(document.getElementById('myEcharts'));
|
||||
const option = ref({
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '4%',
|
||||
bottom: '3%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],
|
||||
axisTick: {
|
||||
alignWithLabel: true
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
data: [120, 200, 150, 80, 70, 110, 130],
|
||||
type: 'bar',
|
||||
name: '学习时长(分钟)',
|
||||
barWidth: '60%',
|
||||
}
|
||||
]
|
||||
});
|
||||
option.value && myChart.setOption(option.value);
|
||||
}
|
||||
async function getSubject(){ // 获取课程分类
|
||||
const res = await capi.getSubjectList(subjectParams.value)
|
||||
if(res.code === 0) {
|
||||
subjectList.value = custom.getStdSubject(res.data.records)
|
||||
// console.log(subjectList.value)
|
||||
}
|
||||
}
|
||||
async function getLearningDetailList() {
|
||||
const res = await api.getLearningDetailList(queryParams.value)
|
||||
if(res.code === 0) {
|
||||
tableData.value = res.data.records
|
||||
total.value = res.data.total
|
||||
}
|
||||
}
|
||||
function onSubmit() {
|
||||
getLearningDetailList()
|
||||
}
|
||||
const onReset = () => {
|
||||
queryParams.value = {
|
||||
page:1,
|
||||
pageSize:10,
|
||||
user_id:0,
|
||||
last_time:'',
|
||||
subject:''
|
||||
}
|
||||
}
|
||||
// const handleSelectionChange = (val) => {
|
||||
// question_ids.value = val
|
||||
// }
|
||||
function handleCurrentChange(val) {
|
||||
queryParams.value.page = val
|
||||
getLearningDetailList()
|
||||
}
|
||||
function handleSizeChange(val) {
|
||||
queryParams.value.pageSize = val
|
||||
getLearningDetailList()
|
||||
}
|
||||
</script>
|
||||
<template>
|
||||
<div>
|
||||
<!-- 搜索框-->
|
||||
<div class="gva-search-box">
|
||||
<el-form ref="searchForm" :inline="true" :model="queryParams">
|
||||
|
||||
<el-form-item label="课程分类">
|
||||
<el-select v-model="queryParams.subject" clearable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in subjectList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="最后学习时间">
|
||||
<el-date-picker class="oi-item" style="margin-left:5px"
|
||||
v-model="queryParams.last_time"
|
||||
type="date"
|
||||
placeholder="最后学习时间"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="x"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button size="small" type="primary" icon="search" @click="onSubmit">查询</el-button>
|
||||
<el-button size="small" icon="refresh" @click="onReset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<!-- 表格数据-->
|
||||
<div class="gva-table-box">
|
||||
<!-- 数据列表-->
|
||||
<el-table :data="tableData">
|
||||
<el-table-column align="left" label="ID" prop="course_id" />
|
||||
<el-table-column align="left" label="最后学习时间" min-width="150" >
|
||||
<template #default="scope">
|
||||
{{formatDate(scope.row.CreatedAt)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="科目" min-width="150" prop="name">
|
||||
<template #default="scope">
|
||||
{{custom.getExercisesTypeName(scope.row.type)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="课程" min-width="150" prop="subject" />
|
||||
<el-table-column align="left" label="学习时长" min-width="150" prop="teacher_id" />
|
||||
|
||||
</el-table>
|
||||
<div class="gva-pagination">
|
||||
<el-pagination
|
||||
:current-page="queryParams.page"
|
||||
:page-size="queryParams.pageSize"
|
||||
:page-sizes="[10, 30, 50, 100]"
|
||||
:total="total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- echart-->
|
||||
<div class="echarts-box gva-table-box" style="margin-top: 20px">
|
||||
<div class="report-title">学习报告:</div>
|
||||
<div id="myEcharts" :style="{ width: '900px', height: '300px',margin: '0 auto' }"></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<style scoped lang="scss">
|
||||
.option-item{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.button-box {
|
||||
padding: 10px 20px;
|
||||
.el-button {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
.warning {
|
||||
color: #dc143c;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,155 @@
|
||||
|
||||
<script setup>
|
||||
// 引入依赖
|
||||
import api from '@/api/userManage'
|
||||
// import capi from '@/api/course'
|
||||
import custom from '@/utils/custom'
|
||||
import {formatDate} from '@/utils/format'
|
||||
import _ from 'lodash'
|
||||
// import { toSQLLine } from '@/utils/stringFun'
|
||||
// import WarningBar from '@/components/warningBar/warningBar.vue'
|
||||
// import ckEditor from '@/components/richText/ckEditor5.vue'
|
||||
import {ref,onMounted } from 'vue'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { useRouter, useRoute } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
// import * as echarts from 'echarts';
|
||||
// 变量
|
||||
const queryParams = ref({
|
||||
page:1,
|
||||
pageSize:10,
|
||||
user_id:0,
|
||||
type:'', // 是否中奖
|
||||
time:'', // 抽经时间
|
||||
})
|
||||
const tableData = ref([])
|
||||
const total = ref(0)
|
||||
const typeList = ref([
|
||||
{
|
||||
name:'已中奖',
|
||||
value:1
|
||||
},
|
||||
{
|
||||
name:'未中奖',
|
||||
value:2
|
||||
}
|
||||
])
|
||||
// 生命周期
|
||||
onMounted(() => {
|
||||
// getRaffleDetailList()
|
||||
})
|
||||
// 方法
|
||||
async function getRaffleDetailList() {
|
||||
const res = await api.getRaffleDetailList(queryParams.value)
|
||||
if(res.code === 0) {
|
||||
tableData.value = res.data.records
|
||||
total.value = res.data.total
|
||||
}
|
||||
}
|
||||
function onSubmit() {
|
||||
getRaffleDetailList()
|
||||
}
|
||||
const onReset = () => {
|
||||
queryParams.value = {
|
||||
page:1,
|
||||
pageSize:10,
|
||||
user_id:0,
|
||||
type:'', // 是否中奖
|
||||
time:'', // 抽经时间
|
||||
}
|
||||
}
|
||||
function handleCurrentChange(val) {
|
||||
queryParams.value.page = val
|
||||
getRaffleDetailList()
|
||||
}
|
||||
function handleSizeChange(val) {
|
||||
queryParams.value.pageSize = val
|
||||
getRaffleDetailList()
|
||||
}
|
||||
</script>
|
||||
<template>
|
||||
<div>
|
||||
<!-- 搜索框-->
|
||||
<div class="gva-search-box">
|
||||
<el-form ref="searchForm" :inline="true" :model="queryParams">
|
||||
|
||||
<el-form-item label="是否中奖">
|
||||
<el-select v-model="queryParams.subject" clearable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in typeList"
|
||||
:key="item.value"
|
||||
:label="item.name"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="抽奖时间">
|
||||
<el-date-picker class="oi-item" style="margin-left:5px"
|
||||
v-model="queryParams.last_time"
|
||||
type="date"
|
||||
placeholder="抽奖时间"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="x"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button size="small" type="primary" icon="search" @click="onSubmit">查询</el-button>
|
||||
<el-button size="small" icon="refresh" @click="onReset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<!-- 表格数据-->
|
||||
<div class="gva-table-box">
|
||||
<!-- 数据列表-->
|
||||
<el-table :data="tableData">
|
||||
<el-table-column align="left" label="抽奖时间" min-width="150" >
|
||||
<template #default="scope">
|
||||
{{formatDate(scope.row.CreatedAt)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="抽奖编号" min-width="150" prop="name">
|
||||
<template #default="scope">
|
||||
{{custom.getExercisesTypeName(scope.row.type)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="抽奖奖品" min-width="150" prop="subject" />
|
||||
<el-table-column align="left" label="选择号数" min-width="150" prop="teacher_id" />
|
||||
<el-table-column align="left" label="参与人数" min-width="150" prop="status" />
|
||||
<el-table-column align="left" label="是否获奖" min-width="150" prop="status" />
|
||||
<el-table-column align="left" label="抽奖消费" min-width="150" prop="status" />
|
||||
</el-table>
|
||||
<!-- 分页-->
|
||||
<div class="gva-pagination">
|
||||
<el-pagination
|
||||
:current-page="queryParams.page"
|
||||
:page-size="queryParams.pageSize"
|
||||
:page-sizes="[10, 30, 50, 100]"
|
||||
:total="total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<style scoped lang="scss">
|
||||
.option-item{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.button-box {
|
||||
padding: 10px 20px;
|
||||
.el-button {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
.warning {
|
||||
color: #dc143c;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,156 @@
|
||||
<script setup>
|
||||
// 引入依赖
|
||||
import api from '@/api/userManage'
|
||||
import capi from '@/api/course'
|
||||
import custom from '@/utils/custom'
|
||||
import {formatDate} from '@/utils/format'
|
||||
import _ from 'lodash'
|
||||
import {ref,onMounted } from 'vue'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { useRouter, useRoute } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
// 变量
|
||||
const typeList = custom.getExercisesTypeList()
|
||||
const queryParams = ref({
|
||||
page:1,
|
||||
pageSize:10,
|
||||
user_id:0,
|
||||
last_time:'',
|
||||
subject:''
|
||||
})
|
||||
const subjectParams = ref({
|
||||
page:1,
|
||||
pageSize:100,
|
||||
})
|
||||
const tableData = ref([])
|
||||
const subjectList = ref([])
|
||||
const total = ref(0)
|
||||
// 生命周期
|
||||
onMounted(() => {
|
||||
// getTestDetailList()
|
||||
getSubject()
|
||||
})
|
||||
// 方法
|
||||
async function getSubject(){ // 获取课程分类
|
||||
const res = await capi.getSubjectList(subjectParams.value)
|
||||
if(res.code === 0) {
|
||||
subjectList.value = custom.getStdSubject(res.data.records)
|
||||
// console.log(subjectList.value)
|
||||
}
|
||||
}
|
||||
async function getTestDetailList() {
|
||||
const res = await api.getTestDetailList(queryParams.value)
|
||||
if(res.code === 0) {
|
||||
tableData.value = res.data.records
|
||||
total.value = res.data.total
|
||||
}
|
||||
}
|
||||
function onSubmit() {
|
||||
getTestDetailList()
|
||||
}
|
||||
const onReset = () => {
|
||||
queryParams.value = {
|
||||
page:1,
|
||||
pageSize:10,
|
||||
user_id:0,
|
||||
last_time:'',
|
||||
subject:''
|
||||
}
|
||||
}
|
||||
function handleCurrentChange(val) {
|
||||
queryParams.value.page = val
|
||||
getTestDetailList()
|
||||
}
|
||||
function handleSizeChange(val) {
|
||||
queryParams.value.pageSize = val
|
||||
getTestDetailList()
|
||||
}
|
||||
</script>
|
||||
<template>
|
||||
<div>
|
||||
<!-- 搜索框-->
|
||||
<div class="gva-search-box">
|
||||
<el-form ref="searchForm" :inline="true" :model="queryParams">
|
||||
|
||||
<el-form-item label="课程分类">
|
||||
<el-select v-model="queryParams.subject" clearable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in subjectList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="测试时间">
|
||||
<el-date-picker class="oi-item" style="margin-left:5px"
|
||||
v-model="queryParams.last_time"
|
||||
type="date"
|
||||
placeholder="测试时间"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="x"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button size="small" type="primary" icon="search" @click="onSubmit">查询</el-button>
|
||||
<el-button size="small" icon="refresh" @click="onReset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<!-- 表格数据-->
|
||||
<div class="gva-table-box">
|
||||
<!-- 数据列表-->
|
||||
<el-table :data="tableData">
|
||||
<el-table-column align="left" label="ID" prop="course_id" />
|
||||
<el-table-column align="left" label="测试时间" min-width="150" >
|
||||
<template #default="scope">
|
||||
{{formatDate(scope.row.CreatedAt)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="科目" min-width="150" prop="name">
|
||||
<template #default="scope">
|
||||
{{custom.getExercisesTypeName(scope.row.type)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="课程" min-width="150" prop="subject" />
|
||||
<el-table-column align="left" label="测试用时/限时" min-width="150" prop="teacher_id" />
|
||||
<el-table-column align="left" label="测试状态" min-width="150" prop="status" />
|
||||
<el-table-column align="left" label="测试名次" min-width="150" prop="status" />
|
||||
<el-table-column align="left" label="测试消费" min-width="150" prop="status" />
|
||||
<el-table-column align="left" label="测试收益" min-width="150" prop="status" />
|
||||
</el-table>
|
||||
<!-- 分页-->
|
||||
<div class="gva-pagination">
|
||||
<el-pagination
|
||||
:current-page="queryParams.page"
|
||||
:page-size="queryParams.pageSize"
|
||||
:page-sizes="[10, 30, 50, 100]"
|
||||
:total="total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<style scoped lang="scss">
|
||||
.option-item{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.button-box {
|
||||
padding: 10px 20px;
|
||||
.el-button {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
.warning {
|
||||
color: #dc143c;
|
||||
}
|
||||
</style>
|
Loading…
Reference in New Issue