From 4cfbfd1b425f7b22b876ae6cae95c4fc29ae6bfb Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期五, 23 二月 2024 09:25:33 +0800 Subject: [PATCH] 盘库修改 --- src/views/purchase/person.vue | 59 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 42 insertions(+), 17 deletions(-) diff --git a/src/views/purchase/person.vue b/src/views/purchase/person.vue index 7bf62bb..b38db5f 100644 --- a/src/views/purchase/person.vue +++ b/src/views/purchase/person.vue @@ -8,7 +8,7 @@ <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="validTime" - type="datetimerange" + type="daterange" :default-time="['00:00:00','23:59:59']" :picker-options="pickerOptions" range-separator="-" @@ -121,13 +121,12 @@ <div class="basic_search" > <el-button style="margin-left: 10px;" type="primary" @click="reset()" size="small">重置</el-button> <el-button style="margin-left: 10px;" type="primary" icon="el-icon-search" @click="searchProductSearch('查询','')" size="small">查询</el-button> - <el-button style="margin-left: 10px;" type="primary" icon="el-icon-download" @click="exportToExcel" size="small">导出</el-button> + <el-button style="margin-left: 10px;" type="primary" icon="el-icon-download" @click="exportToExcel" v-long-re-click size="small">导出</el-button> </div> </div> </div> </div> - <p style="color:red">提示:2023年1月13日(08:00~18:00)系统服务器升级期间,销售数据可能产生个别偏差,1月13日销售数据请以线下手工台账为准。</p> <div class="table_content"> <el-table v-loading="listLoading" @@ -193,6 +192,17 @@ /> <br> </div> + <el-dialog + title="提示" + center + :visible.sync="reClickTip" + width="50%"> + <span style="color: red">由于导出数据量大,请各监管单位导出数据时不要连续点击,导出按钮已限制30s内只允许点击一次。</span> + <span slot="footer" class="dialog-footer"> + <el-button @click="reClickTip = false">取 消</el-button> + <el-button type="primary" @click="reClickTip = false">确 定</el-button> + </span> + </el-dialog> <personPurchaseDetail ref="person"></personPurchaseDetail> <upload-dialog ref="upload" @refresh="refresh"></upload-dialog> </div> @@ -207,11 +217,12 @@ import Cookies from "js-cookie"; export default { - name: "addSelfExam", + name: "person", data(){ return{ tableKey:'', validTime:['',''], + reClickTip: false, listQuery: { pageSize:10, pageIndex:1, @@ -264,14 +275,6 @@ const end = new Date(); const start = new Date(); start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); - picker.$emit('pick', [start, end]); - } - }, { - text: '最近三个月', - onClick(picker) { - const end = new Date(); - const start = new Date(); - start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); picker.$emit('pick', [start, end]); } }] @@ -329,8 +332,17 @@ }, async exportToExcel(){ + this.reClickTip = true + if( this.validTime !== null ){ + this.listQuery.filter.starttime = this.validTime[0] + this.listQuery.filter.endtime = this.validTime[1] + }else{ + this.listQuery.filter.starttime = '' + this.listQuery.filter.endtime = '' + } let res = await exportPerson(this.listQuery) if(res.data.code === '200'){ + this.reClickTip = false if(res.data.result === null ||res.data.result === [] || res.data.result.length === 0){ this.$message({ type:'warning', @@ -411,9 +423,24 @@ nation:'' }, } + this.validTime = ['', ''] + this.initValidTime() + this.getPersonProductList() }, searchProductSearch(){ + this.listQuery.pageIndex = 1 + const date1 = new Date(this.validTime[0]); + const date2 = new Date(this.validTime[1]); + const differenceInMs = Math.abs(date2 - date1); + const differenceInDays = differenceInMs / (1000 * 60 * 60 * 24) + if(differenceInDays > 32){ + this.$message({ + type: 'warning', + message: '时间跨度超过一个月的,请联系管理员查询数据' + }) + return + } this.getPersonProductList() }, @@ -426,11 +453,9 @@ this.getPersonProductList() }, initValidTime(){ - const start = new Date(); - const end = new Date(); - start.setTime(end.getTime() - 3600 * 1000 * 24 * 0); - this.validTime[0] = [start.getFullYear(), start.getMonth() + 1, start.getDate()].join("-") + " 00:00:00" ; - this.validTime[1] = [end.getFullYear(), end.getMonth() + 1, end.getDate()].join("-") +" 23:59:59"; + const end = new Date(); + this.validTime[0] = end.toISOString().slice(0, 10) + " 00:00:00"; + this.validTime[1] = end.toISOString().slice(0, 10) + " 23:59:59"; }, async getProvince(){ let res = await getProvinceListData() -- Gitblit v1.9.2