|
|
@ -463,99 +463,105 @@ const getTagText = (state) => { |
|
|
|
</script> |
|
|
|
|
|
|
|
<template> |
|
|
|
<el-card style="margin-bottom: 10px;margin-top:10px"> |
|
|
|
<el-col style="margin-bottom: 10px"> |
|
|
|
<el-card style="margin-bottom: 10px;margin-top:10px"> |
|
|
|
<el-col style="margin-bottom: 10px; "> |
|
|
|
<div style="display:flex"> |
|
|
|
<div style="width: 15vw; display:flex; align-items:center"> |
|
|
|
<el-text>精网号:</el-text> |
|
|
|
<el-input v-model="beanConsumeArticle.jwcode" placeholder="请输入精网号" style="width: 200px;margin-right: 20px" clearable /> |
|
|
|
|
|
|
|
<el-input v-model="beanConsumeArticle.jwcode" style="width:10vw;" placeholder="请输入精网号" clearable /> |
|
|
|
</div> |
|
|
|
<div style="width: 15vw; display:flex; align-items:center"> |
|
|
|
<el-text>地区:</el-text> |
|
|
|
<el-select v-model="beanConsumeArticle.dept" placeholder="请选择地区" style="width: 200px;margin-right: 20px" clearable> |
|
|
|
<el-select v-model="beanConsumeArticle.dept" style="width:10vw;" placeholder="请选择地区" clearable> |
|
|
|
<el-option v-for="(item, index) in dept" :key="index" :label="item" :value="item" /> |
|
|
|
</el-select> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div style="width: 15vw; display:flex; align-items:center"> |
|
|
|
<el-text>类型:</el-text> |
|
|
|
<el-select v-model="beanConsumeArticle.payMode" placeholder="请选择类型" style="width: 200px;margin-right: 20px" clearable |
|
|
|
@change="handlePayModeChange"> |
|
|
|
<el-select v-model="beanConsumeArticle.payMode" style="width:10vw;" placeholder="请选择类型" clearable @change="handlePayModeChange"> |
|
|
|
<el-option label="打赏" value="0" /> |
|
|
|
<el-option label="付费购买" value="1" /> |
|
|
|
<el-option label="其他" value="2" /> |
|
|
|
</el-select> |
|
|
|
|
|
|
|
<el-text>文章/视频ID:</el-text> |
|
|
|
<el-input v-model="beanConsumeArticle.articleId" placeholder="请输入文章/视频ID" style="width: 200px;margin-right: 20px" clearable /> |
|
|
|
|
|
|
|
<el-text>文章/视频标题:</el-text> |
|
|
|
<el-input v-model="beanConsumeArticle.articleName" placeholder="请输入文章/视频标题" style="width: 200px" clearable /> |
|
|
|
</el-col> |
|
|
|
<el-col> |
|
|
|
<el-text>作者:</el-text> |
|
|
|
<el-input v-model="beanConsumeArticle.author" placeholder="请输入作者" style="width: 200px;margin-right: 20px" clearable /> |
|
|
|
|
|
|
|
<el-text>付费时间:</el-text> |
|
|
|
<el-date-picker v-model="getTime" type="datetimerange" range-separator="至" start-placeholder="起始时间" |
|
|
|
end-placeholder="结束时间" style="width: 400px;margin-right: 10px" @change="handleDatePickerChange" |
|
|
|
value-format="YYYY-MM-DD HH:mm:ss" :default-time="defaultTime" /> |
|
|
|
|
|
|
|
<el-button @click="getToday()" :type="activeTimeRange === 'today' ? 'primary' : ''">今</el-button> |
|
|
|
<el-button @click="getYesterday()" :type="activeTimeRange === 'yesterday' ? 'primary' : ''">昨</el-button> |
|
|
|
<el-button @click="get7Days()" :type="activeTimeRange === '7days' ? 'primary' : ''">近7天</el-button> |
|
|
|
|
|
|
|
<el-button type="success" @click="reset()">重置</el-button> |
|
|
|
<el-button type="primary" @click="search()">查询</el-button> |
|
|
|
<el-button type="primary" @click="exportExcel()">导出Excel</el-button> |
|
|
|
<el-button type="primary" @click="openExportList">查看导出列表</el-button> |
|
|
|
</el-col> |
|
|
|
</el-card> |
|
|
|
<el-card> |
|
|
|
<div> |
|
|
|
金豆总数:{{ format3(Math.abs(permanentBean + freeBean)) }} |
|
|
|
付费金豆数:{{ format3(Math.abs(permanentBean)) }} |
|
|
|
免费金豆数:{{ format3(Math.abs(freeBean)) }} |
|
|
|
</div> |
|
|
|
<div style="overflow-y: auto"> |
|
|
|
<el-table :data="tableData" style="width: 100%" height="550px" @sort-change="handleSortChange"> |
|
|
|
<el-table-column type="index" label="序号" width="80px" fixed="left"> |
|
|
|
<template #default="scope"> |
|
|
|
<span>{{ |
|
|
|
scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize |
|
|
|
}}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<!-- 固定姓名列 --> |
|
|
|
<el-table-column prop="name" label="姓名" width="150px" fixed="left" show-overflow-tooltip /> |
|
|
|
<!-- 固定精网号列 --> |
|
|
|
<el-table-column prop="jwcode" label="精网号" width="110px" fixed="left" /> |
|
|
|
<el-table-column prop="dept" label="地区" width="110px" /> |
|
|
|
<el-table-column prop="type" label="类型" width="120px"> |
|
|
|
<template #default="scope"> |
|
|
|
{{ |
|
|
|
Array.isArray(consumeTypes) |
|
|
|
? consumeTypes.find(item => item.value === Number(scope.row.type))?.label || '未知类型' |
|
|
|
: '未知类型' |
|
|
|
}} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="beanNum" label="金豆总数" sortable="custom" width="120px" /> |
|
|
|
<el-table-column prop="buyBean" label="付费金豆数" sortable="custom" width="120px" /> |
|
|
|
<el-table-column prop="freeBean" label="免费金豆数" sortable="custom" width="120px" /> |
|
|
|
<el-table-column prop="articleId" label="文章/视频ID" width="150px" /> |
|
|
|
<el-table-column prop="articleName" label="文章/视频标题" width="150px" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="author" label="作者" width="120px" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="consumeTime" label="付费时间" sortable="custom" width="180px"> |
|
|
|
<template #default="scope"> |
|
|
|
{{ formatTime(scope.row.consumeTime) }} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<div style="width: 15vw; display:flex; align-items:center"> |
|
|
|
<el-text>文章/视频ID:</el-text> |
|
|
|
<el-input v-model="beanConsumeArticle.articleId" style="width:10vw;" placeholder="请输入文章/视频ID" clearable /> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- 分页 --> |
|
|
|
<div class="pagination"> |
|
|
|
<el-pagination background :page-size="getObj.pageSize" :page-sizes="[5, 10, 20, 50, 100]" |
|
|
|
layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handlePageSizeChange" |
|
|
|
@current-change="handleCurrentChange"></el-pagination> |
|
|
|
<div style="width: 15vw; display:flex; align-items:center; margin-left:1vw"> |
|
|
|
<el-text>作者:</el-text> |
|
|
|
<el-input v-model="beanConsumeArticle.author"style="width:10vw;" placeholder="请输入作者" clearable /> |
|
|
|
</div> |
|
|
|
</el-card> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
|
<el-col> |
|
|
|
<div> |
|
|
|
<el-text>付费时间:</el-text> |
|
|
|
<el-date-picker v-model="getTime" type="datetimerange" range-separator="至" start-placeholder="起始时间" |
|
|
|
end-placeholder="结束时间" style="width: 20vw;margin-right: 10px" @change="handleDatePickerChange" |
|
|
|
value-format="YYYY-MM-DD HH:mm:ss" :default-time="defaultTime" /> |
|
|
|
|
|
|
|
<el-button @click="getToday()" :type="activeTimeRange === 'today' ? 'primary' : ''">今</el-button> |
|
|
|
<el-button @click="getYesterday()" :type="activeTimeRange === 'yesterday' ? 'primary' : ''">昨</el-button> |
|
|
|
<el-button @click="get7Days()" :type="activeTimeRange === '7days' ? 'primary' : ''">近7天</el-button> |
|
|
|
|
|
|
|
<el-button type="success" @click="reset()">重置</el-button> |
|
|
|
<el-button type="primary" @click="search()">查询</el-button> |
|
|
|
<el-button type="primary" @click="exportExcel()">导出Excel</el-button> |
|
|
|
<el-button type="primary" @click="openExportList">查看导出列表</el-button> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
|
</el-card> |
|
|
|
<el-card> |
|
|
|
<div> |
|
|
|
金豆总数:{{ format3(Math.abs(permanentBean + freeBean)) }} |
|
|
|
付费金豆数:{{ format3(Math.abs(permanentBean)) }} |
|
|
|
免费金豆数:{{ format3(Math.abs(freeBean)) }} |
|
|
|
</div> |
|
|
|
<div style="overflow-y: auto"> |
|
|
|
<el-table :data="tableData" style="width: 100%" height="550px" @sort-change="handleSortChange"> |
|
|
|
<el-table-column type="index" label="序号" width="80px" fixed="left"> |
|
|
|
<template #default="scope"> |
|
|
|
<span>{{ |
|
|
|
scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize |
|
|
|
}}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<!-- 固定姓名列 --> |
|
|
|
<el-table-column prop="name" label="姓名" width="150px" fixed="left" show-overflow-tooltip /> |
|
|
|
<!-- 固定精网号列 --> |
|
|
|
<el-table-column prop="jwcode" label="精网号" width="110px" fixed="left" /> |
|
|
|
<el-table-column prop="dept" label="地区" width="110px" /> |
|
|
|
<el-table-column prop="type" label="类型" width="120px"> |
|
|
|
<template #default="scope"> |
|
|
|
{{ |
|
|
|
Array.isArray(consumeTypes) |
|
|
|
? consumeTypes.find(item => item.value === Number(scope.row.type))?.label || '未知类型' |
|
|
|
: '未知类型' |
|
|
|
}} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="beanNum" label="金豆总数" sortable="custom" width="120px" /> |
|
|
|
<el-table-column prop="buyBean" label="付费金豆数" sortable="custom" width="120px" /> |
|
|
|
<el-table-column prop="freeBean" label="免费金豆数" sortable="custom" width="120px" /> |
|
|
|
<el-table-column prop="articleId" label="文章/视频ID" width="150px" /> |
|
|
|
<el-table-column prop="articleName" label="文章/视频标题" width="150px" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="author" label="作者" width="120px" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="consumeTime" label="付费时间" sortable="custom" width="180px"> |
|
|
|
<template #default="scope"> |
|
|
|
{{ formatTime(scope.row.consumeTime) }} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- 分页 --> |
|
|
|
<div class="pagination"> |
|
|
|
<el-pagination background :page-size="getObj.pageSize" :page-sizes="[5, 10, 20, 50, 100]" |
|
|
|
layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handlePageSizeChange" |
|
|
|
@current-change="handleCurrentChange"></el-pagination> |
|
|
|
</div> |
|
|
|
</el-card> |
|
|
|
|
|
|
|
<!-- 导出弹窗 --> |
|
|
|
<el-dialog v-model="exportListVisible" title="导出列表" width="80%"> |
|
|
|