From 740f7af7e3a5a669fd97b26102bf7bccfde00899 Mon Sep 17 00:00:00 2001 From: quanyawei <401863037@qq.com> Date: Wed, 15 Nov 2023 17:01:02 +0800 Subject: [PATCH] fix:立行立改导出 --- src/views/toCarryOutLegislativeReforms/reform/index.vue | 92 ++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 89 insertions(+), 3 deletions(-) diff --git a/src/views/toCarryOutLegislativeReforms/reform/index.vue b/src/views/toCarryOutLegislativeReforms/reform/index.vue index 9bb34ab..2ba975d 100644 --- a/src/views/toCarryOutLegislativeReforms/reform/index.vue +++ b/src/views/toCarryOutLegislativeReforms/reform/index.vue @@ -1,13 +1,23 @@ <template> - <div class="main"> + <div class="main" v-loading="loading"> <div> <searchBar v-if="searchType" :search-type="'reform'" @handleSearch="handleSearchBut" @handleAdd="handleOpenDialog(null, 'add')" /> <newWorkOrder v-if="centerDialogVisible" ref="newWorkOrder" :parent-form-data="parentFormData" :title="title" :page-state="pageState" :visible.sync="centerDialogVisible" @handleSubmit="newHandleSubmit" /> + <!-- <el-divider></el-divider> --> <div class="tab"> - <el-table size="mini" :data="tableData" border max-height="680" style="width: 100%" :header-cell-style="{ + <div class="exportBox"> + <div>������������</div> + <div> + <el-button type="primary" size="mini" @click="handleOpenDialog(null, 'add')">������</el-button> + <el-button :disabled="!(selectionRows.length>0)" type="info" size="mini" @click="exportData">������</el-button> + </div> + </div> + <el-table size="mini" :data="tableData" border max-height="680" style="width: 100%" @selection-change="handleSelectionChange" :header-cell-style="{ color: '#101111', fontSize: '16px' }"> + <el-table-column type="selection" width="40" align="center"> + </el-table-column> <el-table-column type="index" label="������" width="60px" align="center" /> <el-table-column align="center"> <template slot="header"> @@ -80,7 +90,7 @@ <div>{{ scope.row.updateTime }}</div> </template> </el-table-column> - <el-table-column align="center" prop="createTime" width="100px" label="������"> + <el-table-column align="center" prop="createTime" min-width="100px" label="������"> <template slot-scope="scope"> <el-button type="text" size="medium" @click="openWorkOrdinDialog(scope.row, 'detail')"> @@ -185,6 +195,8 @@ </template> <script> +import axios from 'axios' +import qs from 'qs' import searchBar from '@/views/toCarryOutLegislativeReforms/components/queryForm' import newWorkOrder from '@/views/toCarryOutLegislativeReforms/components/newWorkOrder' import workOrderInformation from '@/views/toCarryOutLegislativeReforms/components/workOrderInformation' @@ -196,6 +208,8 @@ }, data() { return { + loading: false, + selectionRows: [], errorClass: 'errorClass', searchType: 'reform', pagination: { @@ -268,6 +282,69 @@ this.getContaminateList() }, methods: { + handleSelectionChange(rows) { + console.log(rows) + this.selectionRows = rows + }, + exportData() { + const CancelToken = axios.CancelToken + let cancel + let timer = setTimeout(() => { + cancel() + this.loading = false + this.$message.error('���������������������������������������������') + }, 30000) + this.loading = true + this.$request({ + url: '/allocation/listExcel', + method: 'get', + params: { + id: this.selectionRows.map(item => item.allocationId) + }, + cancelToken: new CancelToken(function executor(c) { + cancel = c + }), + paramsSerializer: params => { + return qs.stringify(params, { + indices: false + }) + } + }) + .then(res => { + clearTimeout(timer) + console.log('������������', res) + if (res.code === -1) { + this.$message.error(res.message) + } else { + this.getOutExcel('���������������.xlsx', res) + } + }) + .catch(err => { + clearTimeout(timer) + this.loading = false + }) + }, + getOutExcel(fileName, res) { + let blob = new Blob([res], { type: 'application/x-xls' }) + if (window.navigator.msSaveOrOpenBlob) { + //������ IE & EDGE + this.loading = false + navigator.msSaveBlob(blob, fileName) + } else { + var link = document.createElement('a') + // ������������������������URL������ + const url = window.URL || window.webkitURL || window.moxURL + // ������������������ + link.href = url.createObjectURL(blob) + //������������������ + link.download = fileName + //������������������ + link.click() + //������������������������ + url.revokeObjectURL(link.href) + this.loading = false + } + }, openEditDialog(row) { this.editEscalationUnitData = row this.dialogEditVisible = true @@ -466,6 +543,7 @@ this.handleSearch(obj) }, handleSearch(obj) { + this.selectionRows = [] if (obj) { this.searchData = obj } @@ -596,4 +674,12 @@ font-size: 16px; font-weight: 700; } +.exportBox { + font-weight: 700; + font-size: 18px; + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 10px; +} </style> -- Gitblit v1.8.0