| | |
| | | <el-date-picker v-model="bulletinDate" type="date" value-format="yyyy-MM-dd" style="width:160px" placeholder="选择日期"></el-date-picker> |
| | | <el-button type="warning" icon="el-icon-document" :loading="bulletinLoading" @click="downloadBulletin">下载快报</el-button> |
| | | </div> |
| | | <div class="operation-item"> |
| | | <span class="label">走势图</span> |
| | | <el-button type="primary" icon="el-icon-picture-outline" :loading="trendLoading" @click="downloadTrend">下载走势图</el-button> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | |
| | |
| | | importing: false, |
| | | exporting: false, |
| | | bulletinLoading: false, |
| | | trendLoading: false, |
| | | selectedFile: null, |
| | | fileList: [], |
| | | importMessage: '', |
| | |
| | | .catch(err => this.handleBlobError(err, '快报生成失败')) |
| | | .finally(() => { this.bulletinLoading = false }) |
| | | }, |
| | | downloadTrend() { |
| | | this.trendLoading = true |
| | | api.get('/holiday/trend', { params: { year: this.year, holidayType: this.holidayType }, responseType: 'blob', timeout: 180000 }) |
| | | .then(res => { |
| | | this.downloadBlob(res, this.year + '年' + this.holidayTypeLabel + '假期全省综合运输客流量走势图.docx') |
| | | this.$message.success('走势图下载成功') |
| | | }) |
| | | .catch(err => this.handleBlobError(err, '走势图生成失败')) |
| | | .finally(() => { this.trendLoading = false }) |
| | | }, |
| | | downloadBlob(data, fileName) { |
| | | const blob = data instanceof Blob ? data : new Blob([data]) |
| | | const url = window.URL.createObjectURL(blob) |