|
|
@ -1,6 +1,6 @@ |
|
|
|
<script setup> |
|
|
|
import { computed, onMounted, ref } from 'vue' |
|
|
|
import { dayjs, ElMessage } from 'element-plus' |
|
|
|
import {computed, onMounted, ref} from 'vue' |
|
|
|
import {dayjs, ElMessage} from 'element-plus' |
|
|
|
import request from '@/util/http' |
|
|
|
import API from '@/util/http' |
|
|
|
// 之后整理一下 |
|
|
@ -67,17 +67,21 @@ const consumePlatform = [ |
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
value: 'Homily Chart', |
|
|
|
label: 'Homily Chart' |
|
|
|
value: 'HomilyChart', |
|
|
|
label: 'HomilyChart' |
|
|
|
}, |
|
|
|
{ |
|
|
|
value: 'Homily Link', |
|
|
|
label: 'Homily Link' |
|
|
|
value: 'HomilyLink', |
|
|
|
label: 'HomilyLink' |
|
|
|
}, |
|
|
|
{ |
|
|
|
value: 'ERP', |
|
|
|
label: 'ERP' |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
value: '其他', |
|
|
|
label: '其他' |
|
|
|
}, |
|
|
|
] |
|
|
|
|
|
|
|
// 合计数的显示数据 |
|
|
@ -167,7 +171,7 @@ const ConsumeSelectBy = async function (val) { |
|
|
|
|
|
|
|
// 合计数的接口 |
|
|
|
// 复制一份 detail.value 并移除排序字段和排序方式 |
|
|
|
const detailWithoutSort = { ...consumeUser.value } |
|
|
|
const detailWithoutSort = {...consumeUser.value} |
|
|
|
delete detailWithoutSort.sortField |
|
|
|
delete detailWithoutSort.sortOrder |
|
|
|
|
|
|
@ -271,14 +275,14 @@ const reset = function () { |
|
|
|
const getToday = function () { |
|
|
|
const today = new Date() |
|
|
|
const startTime = new Date( |
|
|
|
today.getFullYear(), |
|
|
|
today.getMonth(), |
|
|
|
today.getDate() |
|
|
|
today.getFullYear(), |
|
|
|
today.getMonth(), |
|
|
|
today.getDate() |
|
|
|
) |
|
|
|
const endTime = new Date( |
|
|
|
today.getFullYear(), |
|
|
|
today.getMonth(), |
|
|
|
today.getDate() + 1 |
|
|
|
today.getFullYear(), |
|
|
|
today.getMonth(), |
|
|
|
today.getDate() + 1 |
|
|
|
) |
|
|
|
getTime.value = [startTime, endTime] |
|
|
|
console.log('getTime', getTime.value) |
|
|
@ -289,14 +293,14 @@ const getYesterday = function () { |
|
|
|
const yesterday = new Date() |
|
|
|
yesterday.setDate(yesterday.getDate() - 1) |
|
|
|
const startTime = new Date( |
|
|
|
yesterday.getFullYear(), |
|
|
|
yesterday.getMonth(), |
|
|
|
yesterday.getDate() |
|
|
|
yesterday.getFullYear(), |
|
|
|
yesterday.getMonth(), |
|
|
|
yesterday.getDate() |
|
|
|
) |
|
|
|
const endTime = new Date( |
|
|
|
yesterday.getFullYear(), |
|
|
|
yesterday.getMonth(), |
|
|
|
yesterday.getDate() + 1 |
|
|
|
yesterday.getFullYear(), |
|
|
|
yesterday.getMonth(), |
|
|
|
yesterday.getDate() + 1 |
|
|
|
) |
|
|
|
getTime.value = [startTime, endTime] |
|
|
|
console.log('getTime', getTime.value) |
|
|
@ -306,14 +310,14 @@ const getYesterday = function () { |
|
|
|
const get7Days = function () { |
|
|
|
const today = new Date() |
|
|
|
const startTime = new Date( |
|
|
|
today.getFullYear(), |
|
|
|
today.getMonth(), |
|
|
|
today.getDate() - 6 |
|
|
|
today.getFullYear(), |
|
|
|
today.getMonth(), |
|
|
|
today.getDate() - 6 |
|
|
|
) |
|
|
|
const endTime = new Date( |
|
|
|
today.getFullYear(), |
|
|
|
today.getMonth(), |
|
|
|
today.getDate() + 1 |
|
|
|
today.getFullYear(), |
|
|
|
today.getMonth(), |
|
|
|
today.getDate() + 1 |
|
|
|
) |
|
|
|
getTime.value = [startTime, endTime] |
|
|
|
console.log('getTime', getTime.value) |
|
|
@ -378,18 +382,18 @@ const handleSortChange = (column) => { |
|
|
|
} |
|
|
|
const exportExcel = async function () { |
|
|
|
const params = { |
|
|
|
consumUser :{ |
|
|
|
jwcode:consumeUser.value.jwcode || '', |
|
|
|
payPlatform:consumeUser.value.payPlatform || '', |
|
|
|
market:consumeUser.value.market || '', |
|
|
|
startTime:consumeUser.value.startTime || '', |
|
|
|
endTime:consumeUser.value.endTime || '', |
|
|
|
goodsName:consumeUser.value.goodsName || '' |
|
|
|
consumUser: { |
|
|
|
jwcode: consumeUser.value.jwcode || '', |
|
|
|
payPlatform: consumeUser.value.payPlatform || '', |
|
|
|
market: consumeUser.value.market || '', |
|
|
|
startTime: consumeUser.value.startTime || '', |
|
|
|
endTime: consumeUser.value.endTime || '', |
|
|
|
goodsName: consumeUser.value.goodsName || '' |
|
|
|
}, |
|
|
|
page:getObj.pageNum, |
|
|
|
size:getObj.pageSize |
|
|
|
page: getObj.pageNum, |
|
|
|
size: getObj.pageSize |
|
|
|
} |
|
|
|
const res = await API({ url: '/export/exportConsume', data: params }) |
|
|
|
const res = await API({url: '/export/exportConsume', data: params}) |
|
|
|
if (res.code === 200) { |
|
|
|
ElMessage.success('导出成功') |
|
|
|
} |
|
|
@ -439,7 +443,7 @@ onMounted(async function () { |
|
|
|
<div class="head-card-element"> |
|
|
|
<el-text size="large">精网号:</el-text> |
|
|
|
<el-input v-model="consumeUser.jwcode" placeholder="请输入精网号" size="large" style="width: 240px" |
|
|
|
clearable> |
|
|
|
clearable> |
|
|
|
</el-input> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
@ -447,26 +451,28 @@ onMounted(async function () { |
|
|
|
<div class="head-card-element"> |
|
|
|
<el-text class="mx-1" size="large">商品名称:</el-text> |
|
|
|
<el-select v-model="consumeUser.goodsName" placeholder="请选择商品名称" size="large" style="width: 180px" |
|
|
|
clearable> |
|
|
|
clearable> |
|
|
|
<!-- 修改 v-for 绑定逻辑 --> |
|
|
|
<el-option v-for="(item, index) in goods" :key="index" :label="item" :value="item" /> |
|
|
|
<el-option v-for="(item, index) in goods" :key="index" :label="item" :value="item"/> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="head-card-element"> |
|
|
|
<el-text class="mx-1" size="large">所属地区:</el-text> |
|
|
|
<el-select v-model="consumeUser.market" placeholder="请选择所属地区" size="large" style="width: 180px" clearable> |
|
|
|
<el-option v-for="(item, index) in market" :key="index" :label="item" :value="item" /> |
|
|
|
<el-select v-model="consumeUser.market" placeholder="请选择所属地区" size="large" style="width: 180px" |
|
|
|
clearable> |
|
|
|
<el-option v-for="(item, index) in market" :key="index" :label="item" :value="item"/> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="head-card-element"> |
|
|
|
<el-text class="mx-1" size="large">消耗平台:</el-text> |
|
|
|
<el-select v-model="consumeUser.payPlatform" placeholder="请选择消耗平台" size="large" style="width: 180px" |
|
|
|
clearable> |
|
|
|
<el-option v-for="item in consumePlatform" :key="item.value" :label="item.label" :value="item.value" /> |
|
|
|
<el-select v-model="consumeUser.payPlatform" placeholder="请选择消耗平台" size="large" |
|
|
|
style="width: 180px" |
|
|
|
clearable> |
|
|
|
<el-option v-for="item in consumePlatform" :key="item.value" :label="item.label" :value="item.value"/> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
@ -476,7 +482,7 @@ onMounted(async function () { |
|
|
|
<div class="head-card-element"> |
|
|
|
<el-text class="mx-1" size="large">消费时间:</el-text> |
|
|
|
<el-date-picker v-model="getTime" type="datetimerange" range-separator="至" start-placeholder="起始时间" |
|
|
|
end-placeholder="结束时间" /> |
|
|
|
end-placeholder="结束时间"/> |
|
|
|
<el-button style="margin-left: 10px" @click="getToday()">今 |
|
|
|
</el-button> |
|
|
|
<el-button @click="getYesterday()">昨</el-button> |
|
|
@ -509,16 +515,16 @@ onMounted(async function () { |
|
|
|
<el-table-column type="index" label="序号" width="100px" fixed="left"> |
|
|
|
<template #default="scope"> |
|
|
|
<span>{{ |
|
|
|
scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize |
|
|
|
}}</span> |
|
|
|
scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize |
|
|
|
}}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<!-- 固定姓名列 --> |
|
|
|
<el-table-column prop="name" label="姓名" width="150px" fixed="left" /> |
|
|
|
<el-table-column prop="name" label="姓名" width="150px" fixed="left"/> |
|
|
|
<!-- 固定精网号列 --> |
|
|
|
<el-table-column prop="jwcode" label="精网号" width="110px" fixed="left" /> |
|
|
|
<el-table-column prop="market" label="所属地区" width="110px" /> |
|
|
|
<el-table-column prop="goodsName" label="商品" width="160px" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="jwcode" label="精网号" width="110px" fixed="left"/> |
|
|
|
<el-table-column prop="market" label="所属地区" width="110px"/> |
|
|
|
<el-table-column prop="goodsName" label="商品" width="160px" show-overflow-tooltip/> |
|
|
|
<el-table-column prop="payPlatform" label="消费平台" width="120px"> |
|
|
|
<template #default="scope"> |
|
|
|
<!-- 使用非严格相等比较 --> |
|
|
@ -536,8 +542,8 @@ onMounted(async function () { |
|
|
|
<template #default="scope"> |
|
|
|
{{ |
|
|
|
(scope.row.taskGold + |
|
|
|
scope.row.freeGold + |
|
|
|
scope.row.permanentGold) / 100 |
|
|
|
scope.row.freeGold + |
|
|
|
scope.row.permanentGold) / 100 |
|
|
|
}} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
@ -558,17 +564,18 @@ onMounted(async function () { |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column prop="remark" label="备注" width="200px" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="adminName" label="提交人" width="110px" /> |
|
|
|
<el-table-column prop="createTime" label="消费时间" sortable="custom" width="180px" /> |
|
|
|
<el-table-column prop="remark" label="备注" width="200px" show-overflow-tooltip/> |
|
|
|
<el-table-column prop="adminName" label="提交人" width="110px"/> |
|
|
|
<el-table-column prop="createTime" label="消费时间" sortable="custom" width="180px"/> |
|
|
|
</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> |
|
|
|
layout="total, sizes, prev, pager, next, jumper" :total="total" |
|
|
|
@size-change="handlePageSizeChange" |
|
|
|
@current-change="handleCurrentChange"></el-pagination> |
|
|
|
</div> |
|
|
|
</el-card> |
|
|
|
</el-col> |
|
|
|