|
@@ -22,13 +22,14 @@
|
|
<!-- <el-date-picker v-model="createTime" @change="setCreateTime" type="datetimerange"-->
|
|
<!-- <el-date-picker v-model="createTime" @change="setCreateTime" type="datetimerange"-->
|
|
<!-- range-separator="-" start-placeholder="开始时间" end-placeholder="结束时间" />-->
|
|
<!-- range-separator="-" start-placeholder="开始时间" end-placeholder="结束时间" />-->
|
|
<!-- </el-form-item>-->
|
|
<!-- </el-form-item>-->
|
|
- <el-form-item label="下单时间" class="w-[280px]">
|
|
|
|
|
|
+ <el-form-item label="下单时间" class="w-[440px]">
|
|
<el-date-picker v-model="checkoutTime" @change="setCheckoutTime" type="datetimerange"
|
|
<el-date-picker v-model="checkoutTime" @change="setCheckoutTime" type="datetimerange"
|
|
range-separator="-" start-placeholder="开始时间" end-placeholder="结束时间" />
|
|
range-separator="-" start-placeholder="开始时间" end-placeholder="结束时间" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item class="w-[280px]">
|
|
<el-form-item class="w-[280px]">
|
|
<el-button type="primary" @click="resetPage">查询</el-button>
|
|
<el-button type="primary" @click="resetPage">查询</el-button>
|
|
<el-button @click="resetParams">重置</el-button>
|
|
<el-button @click="resetParams">重置</el-button>
|
|
|
|
+ <el-button type="success" @click="download">下载</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
</el-card>
|
|
</el-card>
|
|
@@ -100,7 +101,7 @@
|
|
row.deskName ? row.deskName : row.mealCode
|
|
row.deskName ? row.deskName : row.mealCode
|
|
}}</template>
|
|
}}</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="产品清单" prop="deskName" min-width="120">
|
|
|
|
|
|
+ <el-table-column label="产品清单" min-width="120">
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
<div v-for="orderDish in row.orderDishes" :key="orderDish.id">
|
|
<div v-for="orderDish in row.orderDishes" :key="orderDish.id">
|
|
{{ orderDish.name }}<span style="margin: 0 15px 0 15px;">x</span>{{orderDish.number}}
|
|
{{ orderDish.name }}<span style="margin: 0 15px 0 15px;">x</span>{{orderDish.number}}
|
|
@@ -164,7 +165,7 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
- import { ordersList, getOrderDetail, refundReq } from '@/api/orders'
|
|
|
|
|
|
+ import { ordersList, getOrderDetail, refundReq, downloadOrders } from '@/api/orders'
|
|
import { usePaging } from '@/hooks/usePaging'
|
|
import { usePaging } from '@/hooks/usePaging'
|
|
import { timeFormat } from '@/utils/util'
|
|
import { timeFormat } from '@/utils/util'
|
|
import feedback from '@/utils/feedback'
|
|
import feedback from '@/utils/feedback'
|
|
@@ -178,10 +179,17 @@
|
|
checkoutTime: '',
|
|
checkoutTime: '',
|
|
createTime: ''
|
|
createTime: ''
|
|
})
|
|
})
|
|
- const { pager, getLists, resetPage, resetParams } = usePaging({
|
|
|
|
|
|
+ const { pager, getLists, resetPage } = usePaging({
|
|
fetchFun: ordersList,
|
|
fetchFun: ordersList,
|
|
params: queryParams
|
|
params: queryParams
|
|
})
|
|
})
|
|
|
|
+ const resetParams = () => {
|
|
|
|
+ queryParams.type = ''
|
|
|
|
+ queryParams.status = ''
|
|
|
|
+ checkoutTime.value = []
|
|
|
|
+ queryParams.checkoutTime = ''
|
|
|
|
+ getLists()
|
|
|
|
+ }
|
|
const setCreateTime = (v : any) => {
|
|
const setCreateTime = (v : any) => {
|
|
queryParams.createTime =
|
|
queryParams.createTime =
|
|
Math.round(v[0].getTime() / 1000).toString() +
|
|
Math.round(v[0].getTime() / 1000).toString() +
|
|
@@ -296,6 +304,34 @@
|
|
// return Money.add(total, Money.multiply(dish.price, dish.count))
|
|
// return Money.add(total, Money.multiply(dish.price, dish.count))
|
|
// }, 0)
|
|
// }, 0)
|
|
// }
|
|
// }
|
|
|
|
+ const download = async () => {
|
|
|
|
+ const res = await downloadOrders(queryParams)
|
|
|
|
+ console.warn("***downloadOrders***",res)
|
|
|
|
+ if (res) {
|
|
|
|
+ // 生成带当前时间的文件名
|
|
|
|
+ const timestamp = new Date()
|
|
|
|
+ const year = timestamp.getFullYear()
|
|
|
|
+ const month = String(timestamp.getMonth() + 1).padStart(2, '0')
|
|
|
|
+ const day = String(timestamp.getDate()).padStart(2, '0')
|
|
|
|
+ const hours = String(timestamp.getHours()).padStart(2, '0')
|
|
|
|
+ const minutes = String(timestamp.getMinutes()).padStart(2, '0')
|
|
|
|
+ const seconds = String(timestamp.getSeconds()).padStart(2, '0')
|
|
|
|
+ const filename = `订单列表_${year}${month}${day}_${hours}${minutes}${seconds}.xlsx`
|
|
|
|
+
|
|
|
|
+ downloadFile(res, filename)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ const downloadFile = (url: string, filename?: string) => {
|
|
|
|
+ const link = document.createElement('a');
|
|
|
|
+ link.href = url;
|
|
|
|
+ if (filename) {
|
|
|
|
+ link.download = filename; // 指定下载文件名
|
|
|
|
+ }
|
|
|
|
+ document.body.appendChild(link);
|
|
|
|
+ link.click();
|
|
|
|
+ document.body.removeChild(link);
|
|
|
|
+ };
|
|
|
|
|
|
getLists()
|
|
getLists()
|
|
</script>
|
|
</script>
|