|
|
@ -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' |
|
|
|
import moment from 'moment' |
|
|
@ -177,7 +177,7 @@ const ConsumeSelectBy = async function (val) { |
|
|
|
|
|
|
|
// 合计数的接口 |
|
|
|
// 复制一份 detail.value 并移除排序字段和排序方式 |
|
|
|
const detailWithoutSort = {...consumeUser.value} |
|
|
|
const detailWithoutSort = { ...consumeUser.value } |
|
|
|
delete detailWithoutSort.sortField |
|
|
|
delete detailWithoutSort.sortOrder |
|
|
|
|
|
|
@ -437,12 +437,12 @@ const exportExcel = async function () { |
|
|
|
market: consumeUser.value.market || '', |
|
|
|
startTime: consumeUser.value.startTime || '', |
|
|
|
endTime: consumeUser.value.endTime || '', |
|
|
|
goodsName: consumeUser.value.goodsName || '' |
|
|
|
}, |
|
|
|
page: getObj.value.pageNum, |
|
|
|
size: total.value |
|
|
|
goodsName: consumeUser.value.goodsName || '', |
|
|
|
sortField: sortField.value || '', |
|
|
|
sortOrder: sortOrder.value || '' |
|
|
|
} |
|
|
|
} |
|
|
|
const res = await API({url: '/export/exportConsume', data: params}) |
|
|
|
const res = await API({ url: '/export/exportConsume', data: params }) |
|
|
|
if (res.code === 200) { |
|
|
|
ElMessage.success('导出成功') |
|
|
|
} |
|
|
@ -498,7 +498,7 @@ const getTagType = (state) => { |
|
|
|
case 1: |
|
|
|
return 'primary'; |
|
|
|
case 2: |
|
|
|
return'success'; |
|
|
|
return 'success'; |
|
|
|
case 3: |
|
|
|
return 'danger'; |
|
|
|
default: |
|
|
@ -513,7 +513,7 @@ const getTagText = (state) => { |
|
|
|
case 1: |
|
|
|
return '执行中'; |
|
|
|
case 2: |
|
|
|
return'执行完成'; |
|
|
|
return '执行完成'; |
|
|
|
case 3: |
|
|
|
return '执行出错'; |
|
|
|
default: |
|
|
@ -529,13 +529,8 @@ const getTagText = (state) => { |
|
|
|
<el-row style="margin-bottom: 10px"> |
|
|
|
<el-col :span="5"> |
|
|
|
<div class="head-card-element"> |
|
|
|
<el-text class="mx-1" >精网号:</el-text> |
|
|
|
<el-input |
|
|
|
v-model="consumeUser.jwcode" |
|
|
|
placeholder="请输入精网号" |
|
|
|
style="width: 150px" |
|
|
|
clearable |
|
|
|
/> |
|
|
|
<el-text class="mx-1">精网号:</el-text> |
|
|
|
<el-input v-model="consumeUser.jwcode" placeholder="请输入精网号" style="width: 150px" clearable /> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
@ -544,26 +539,24 @@ const getTagText = (state) => { |
|
|
|
<el-select v-model="consumeUser.goodsName" placeholder="请选择商品名称" size="large" style="width: 180px" |
|
|
|
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" |
|
|
|
<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-option v-for="item in consumePlatform" :key="item.value" :label="item.label" :value="item.value" /> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
@ -573,10 +566,13 @@ const getTagText = (state) => { |
|
|
|
<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="结束时间" style="width: 400px" @change="handleDatePickerChange"/> |
|
|
|
<el-button @click="getToday()" style="margin-left: 10px" :type="activeTimeRange === 'today' ? 'primary' : ''"> 今</el-button> |
|
|
|
<el-button @click="getYesterday()" style="margin-left: 10px" :type="activeTimeRange === 'yesterday' ? 'primary' : ''"> 昨</el-button> |
|
|
|
<el-button @click="get7Days()" style="margin-left: 10px" :type="activeTimeRange === '7days' ? 'primary' : ''"> 近7天</el-button> |
|
|
|
end-placeholder="结束时间" style="width: 400px" @change="handleDatePickerChange" /> |
|
|
|
<el-button @click="getToday()" style="margin-left: 10px" |
|
|
|
:type="activeTimeRange === 'today' ? 'primary' : ''"> 今</el-button> |
|
|
|
<el-button @click="getYesterday()" style="margin-left: 10px" |
|
|
|
:type="activeTimeRange === 'yesterday' ? 'primary' : ''"> 昨</el-button> |
|
|
|
<el-button @click="get7Days()" style="margin-left: 10px" |
|
|
|
:type="activeTimeRange === '7days' ? 'primary' : ''"> 近7天</el-button> |
|
|
|
<!-- </div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
@ -610,11 +606,11 @@ const getTagText = (state) => { |
|
|
|
</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"> |
|
|
|
<!-- 使用非严格相等比较 --> |
|
|
@ -654,17 +650,16 @@ const getTagText = (state) => { |
|
|
|
</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" |
|
|
|
layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handlePageSizeChange" |
|
|
|
@current-change="handleCurrentChange"></el-pagination> |
|
|
|
</div> |
|
|
|
</el-card> |
|
|
@ -677,8 +672,7 @@ const getTagText = (state) => { |
|
|
|
<el-table-column prop="fileName" label="文件名" /> |
|
|
|
<el-table-column prop="state" label="状态"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-tag :type="getTagType(scope.row.state)" |
|
|
|
:effect="scope.row.state === 3 ? 'light' : 'plain'"> |
|
|
|
<el-tag :type="getTagType(scope.row.state)" :effect="scope.row.state === 3 ? 'light' : 'plain'"> |
|
|
|
{{ getTagText(scope.row.state) }} |
|
|
|
</el-tag> |
|
|
|
</template> |
|
|
|