Browse Source

merge success liveStream, dieHardFan and articleVideo's page

zhangrenyuan/feature-20250728113353-金币前端三期
zhangrenyuan 2 weeks ago
parent
commit
9646e0b170
  1. 29
      src/views/consume/bean/articleVideo.vue
  2. 4
      src/views/consume/bean/beanConsume.vue
  3. 12
      src/views/consume/bean/dieHardFan.vue
  4. 22
      src/views/consume/bean/liveStream.vue

29
src/views/consume/bean/articleVideo.vue

@ -310,6 +310,10 @@ const handleSortChange = (column) => {
sortField.value = 'beanNum' sortField.value = 'beanNum'
} else if (column.prop === 'consumeTime') { } else if (column.prop === 'consumeTime') {
sortField.value = 'consumeTime' sortField.value = 'consumeTime'
} else if (column.prop === 'buyBean') {
sortField.value = 'buyBean'
} else if (column.prop === 'freeBean') {
sortField.value = 'freeBean'
} }
sortOrder.value = column.order === 'ascending' ? 'DESC' : 'ASC' sortOrder.value = column.order === 'ascending' ? 'DESC' : 'ASC'
ConsumeSelectBy() ConsumeSelectBy()
@ -360,6 +364,8 @@ const exportExcel = async function () {
articleName: beanConsumeArticle.value.articleName || '', articleName: beanConsumeArticle.value.articleName || '',
author: beanConsumeArticle.value.author || '', author: beanConsumeArticle.value.author || '',
beanNum: beanConsumeArticle.value.beanNum || '', beanNum: beanConsumeArticle.value.beanNum || '',
buyBean: beanConsumeArticle.value.buyBean || '',
freeBean: beanConsumeArticle.value.freeBean || '',
consumeTime: beanConsumeArticle.value.consumeTime || '', consumeTime: beanConsumeArticle.value.consumeTime || '',
sortField: sortField.value || 'consumeTime', sortField: sortField.value || 'consumeTime',
sortOrder: sortOrder.value || 'desc' sortOrder: sortOrder.value || 'desc'
@ -453,7 +459,7 @@ const getTagText = (state) => {
<el-col :span="4"> <el-col :span="4">
<div class="head-card-element"> <div class="head-card-element">
<el-text class="mx-1">精网号</el-text> <el-text class="mx-1">精网号</el-text>
<el-input v-model="beanConsumeArticle.jwcode" placeholder="请输入精网号" style="width: 150px" clearable />
<el-input v-model="beanConsumeArticle.jwcode" placeholder="请输入精网号" style="width: 140px" clearable />
</div> </div>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
@ -480,21 +486,22 @@ const getTagText = (state) => {
<el-input v-model="beanConsumeArticle.articleId" placeholder="请输入文章/视频ID" style="width: 140px" clearable /> <el-input v-model="beanConsumeArticle.articleId" placeholder="请输入文章/视频ID" style="width: 140px" clearable />
</div> </div>
</el-col> </el-col>
<el-col :span="4">
<el-col :span="5">
<div class="head-card-element"> <div class="head-card-element">
<el-text class="mx-1">文章/视频标题</el-text> <el-text class="mx-1">文章/视频标题</el-text>
<el-input v-model="beanConsumeArticle.articleName" placeholder="请输入文章/视频标题" style="width: 140px" clearable />
<el-input v-model="beanConsumeArticle.articleName" placeholder="请输入文章/视频标题" style="width: 160px" clearable />
</div> </div>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="4"> <el-col :span="4">
<div class="head-card-element"> <div class="head-card-element">
<el-text class="mx-1" >作者</el-text> <el-text class="mx-1" >作者</el-text>
<el-input v-model="beanConsumeArticle.author" placeholder="请输入作者" style="width: 140px" clearable />
<el-input v-model="beanConsumeArticle.author" placeholder="请输入作者" style="width: 155px" clearable />
</div> </div>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-col :span="20">
<div class="head-card-element"> <div class="head-card-element">
<el-text class="mx-1">付费时间</el-text> <el-text class="mx-1">付费时间</el-text>
<el-date-picker <el-date-picker
@ -552,19 +559,19 @@ const getTagText = (state) => {
}} }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="beanNum" label="金豆总数" width="120px">
<el-table-column prop="beanNum" label="金豆总数" sortable="custom" width="120px">
</el-table-column> </el-table-column>
<el-table-column prop="buyBean" label="付费金豆数" width="120px">
<el-table-column prop="buyBean" label="付费金豆数" sortable="custom" width="120px">
</el-table-column> </el-table-column>
<el-table-column prop="freeBean" label="免费金豆数" width="120px">
<el-table-column prop="freeBean" label="免费金豆数" sortable="custom" width="120px">
</el-table-column> </el-table-column>
<el-table-column prop="articleId" label="文章/视频ID" width="150px" /> <el-table-column prop="articleId" label="文章/视频ID" width="150px" />
<el-table-column prop="articleName" label="文章/视频标题" width="200px" show-overflow-tooltip /> <el-table-column prop="articleName" label="文章/视频标题" width="200px" show-overflow-tooltip />
<el-table-column prop="author" label="作者" width="120px" /> <el-table-column prop="author" label="作者" width="120px" />
<el-table-column prop="consumeTime" label="付费时间" width="180px">
<el-table-column prop="consumeTime" label="付费时间" sortable="custom" width="180px">
<template #default="scope"> <template #default="scope">
{{ formatTime(scope.row.consumeTime) }} {{ formatTime(scope.row.consumeTime) }}
</template> </template>

4
src/views/consume/bean/beanConsume.vue

@ -5,6 +5,7 @@
:type="activeTab === 'addBeanConsume' ? 'primary' : 'default'" :type="activeTab === 'addBeanConsume' ? 'primary' : 'default'"
@click="navigateTo('addBeanConsume')" @click="navigateTo('addBeanConsume')"
:disabled="!hasAdd" :disabled="!hasAdd"
style="width: 120px;"
> >
新增消耗 新增消耗
</el-button> </el-button>
@ -12,6 +13,7 @@
:type="activeTab === 'liveStream' ? 'primary' : 'default'" :type="activeTab === 'liveStream' ? 'primary' : 'default'"
@click="navigateTo('liveStream')" @click="navigateTo('liveStream')"
:disabled="!hasLive" :disabled="!hasLive"
style="width: 120px;"
> >
直播 直播
</el-button> </el-button>
@ -19,6 +21,7 @@
:type="activeTab === 'dieHardFan' ? 'primary' : 'default'" :type="activeTab === 'dieHardFan' ? 'primary' : 'default'"
@click="navigateTo('dieHardFan')" @click="navigateTo('dieHardFan')"
:disabled="!hasFan" :disabled="!hasFan"
style="width: 120px;"
> >
铁粉 铁粉
</el-button> </el-button>
@ -26,6 +29,7 @@
:type="activeTab === 'articleVideo' ? 'primary' : 'default'" :type="activeTab === 'articleVideo' ? 'primary' : 'default'"
@click="navigateTo('articleVideo')" @click="navigateTo('articleVideo')"
:disabled="!hasArticleVideo" :disabled="!hasArticleVideo"
style="width: 120px;"
> >
文章/视频 文章/视频
</el-button> </el-button>

12
src/views/consume/bean/dieHardFan.vue

@ -324,17 +324,17 @@ const handleSortChange = (column) => {
sortField.value = 'consumeTime' sortField.value = 'consumeTime'
} }
sortOrder.value = column.order === 'ascending' ? 'DESC' : 'ASC' sortOrder.value = column.order === 'ascending' ? 'DESC' : 'ASC'
selectLiveBy()
ConsumeSelectBy()
} }
const handlePageSizeChange = function (val) { const handlePageSizeChange = function (val) {
getObj.value.pageSize = val getObj.value.pageSize = val
selectLiveBy()
ConsumeSelectBy()
} }
const handleCurrentChange = function (val) { const handleCurrentChange = function (val) {
getObj.value.pageNum = val getObj.value.pageNum = val
selectLiveBy()
ConsumeSelectBy()
} }
/* /*
====================计算属性================================= ====================计算属性=================================
@ -541,15 +541,15 @@ const getTagText = (state) => {
<!-- 固定精网号列 --> <!-- 固定精网号列 -->
<el-table-column prop="jwcode" label="精网号" width="110px" fixed="left" /> <el-table-column prop="jwcode" label="精网号" width="110px" fixed="left" />
<el-table-column prop="dept" label="地区" width="110px" /> <el-table-column prop="dept" label="地区" width="110px" />
<el-table-column prop="beanNum" label="金豆数量" width="120px"/>
<el-table-column prop="channel" label="频道" width="120px" />
<el-table-column prop="beanNum" label="金豆数量" sortable="custom" width="120px"/>
<el-table-column prop="channel" label="频道" width="190px" />
<el-table-column prop="type" label="会员类型" width="120px" > <el-table-column prop="type" label="会员类型" width="120px" >
<template #default="scope"> <template #default="scope">
{{ consumeTypes.find(item => item.value === Number(scope.row.type))?.label || '未知类型' }} {{ consumeTypes.find(item => item.value === Number(scope.row.type))?.label || '未知类型' }}
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column prop="joinMethod" label="加入方式" width="120px" /> --> <!-- <el-table-column prop="joinMethod" label="加入方式" width="120px" /> -->
<el-table-column prop="consumeTime" label="加入时间" width="180px" />
<el-table-column prop="consumeTime" label="加入时间" sortable="custom" width="180px" />
<!-- <el-table-column prop="consumeTime" label="到期时间" width="180px" /> --> <!-- <el-table-column prop="consumeTime" label="到期时间" width="180px" /> -->
</el-table> </el-table>
</div> </div>

22
src/views/consume/bean/liveStream.vue

@ -487,18 +487,22 @@ const getTagText = (state) => {
</el-select> </el-select>
</div> </div>
</el-col> </el-col>
<el-col :span="4">
<!-- <el-col :span="4">
<div class="head-card-element"> <div class="head-card-element">
<el-text class="mx-1">类型</el-text> <el-text class="mx-1">类型</el-text>
<el-select v-model="beanConsumeLive.type" placeholder="请选择类型" style="width: 140px" clearable @change="handleTypeChange"> <el-select v-model="beanConsumeLive.type" placeholder="请选择类型" style="width: 140px" clearable @change="handleTypeChange">
<el-option v-for="(item, index) in consumeTypes" :key="index" :label="item.label" :value="item.value" /> <el-option v-for="(item, index) in consumeTypes" :key="index" :label="item.label" :value="item.value" />
</el-select> </el-select>
</div> </div>
</el-col>
<el-col :span="4" v-if="beanConsumeLive.type === 1">
</el-col> -->
<el-col :span="4" >
<div class="head-card-element"> <div class="head-card-element">
<el-text class="mx-1">礼物名称</el-text> <el-text class="mx-1">礼物名称</el-text>
<el-select v-model="beanConsumeLive.gift" placeholder="请选择礼物名称" style="width: 140px" clearable>
<el-select v-model="beanConsumeLive.gift" placeholder="请选择礼物名称" style="width: 140px" clearable
filterable
allow-create
default-first-option
>
<el-option v-for="(item, index) in gifts" :key="index" :label="item" :value="item" /> <el-option v-for="(item, index) in gifts" :key="index" :label="item" :value="item" />
</el-select> </el-select>
</div> </div>
@ -572,14 +576,12 @@ const getTagText = (state) => {
<!-- 固定精网号列 --> <!-- 固定精网号列 -->
<el-table-column prop="jwcode" label="精网号" width="110px" fixed="left" /> <el-table-column prop="jwcode" label="精网号" width="110px" fixed="left" />
<el-table-column prop="dept" label="地区" width="110px" /> <el-table-column prop="dept" label="地区" width="110px" />
<el-table-column prop="type" label="类型" width="120px" >
<template #default="scope">
{{ consumeTypes.find(item => item.value === Number(scope.row.type))?.label || '未知类型' }}
</template>
<el-table-column prop="gift" label="礼物" width="140px" >
</el-table-column> </el-table-column>
<el-table-column prop="beanNum" label="金豆数量" width="120px">
<el-table-column prop="beanNum" label="金豆数量" sortable="custom" width="120px">
</el-table-column> </el-table-column>
<el-table-column prop="liveChannel" label="频道" width="120px" />
<el-table-column prop="liveChannel" label="频道" width="180px" />
<el-table-column prop="liveName" label="直播间名称" width="160px" show-overflow-tooltip /> <el-table-column prop="liveName" label="直播间名称" width="160px" show-overflow-tooltip />
<el-table-column prop="consumeTime" label="消费时间" sortable="custom" width="180px" /> <el-table-column prop="consumeTime" label="消费时间" sortable="custom" width="180px" />
</el-table> </el-table>

Loading…
Cancel
Save