From cd79b3bfdbc33ffa79fefcf5d6fde287a1c05c2f Mon Sep 17 00:00:00 2001 From: panzy <225@qq.com> Date: 星期六, 21 五月 2022 11:58:19 +0800 Subject: [PATCH] 表格添加loding转圈 隐患汇总添加导出 --- src/views/summaryPotentialSafetyHzards/index.vue | 35 ++++++++++- src/views/careabout/index.vue | 4 + src/views/delayHiddenDangerRectification/rectificationDelayHiddenDanger.vue | 9 +- src/views/safetyHazardAccount/index.vue | 26 ++++++++ src/views/dangerDetails/dnagerDetails.vue | 52 +++++++++++++++++ src/views/Issuedbysuperiors/superiorsSend.vue | 8 +- 6 files changed, 120 insertions(+), 14 deletions(-) diff --git a/src/views/Issuedbysuperiors/superiorsSend.vue b/src/views/Issuedbysuperiors/superiorsSend.vue index 964cfc5..f0ff93b 100644 --- a/src/views/Issuedbysuperiors/superiorsSend.vue +++ b/src/views/Issuedbysuperiors/superiorsSend.vue @@ -275,25 +275,25 @@ type="index" label="步骤" align="center" - width="60"> + > </el-table-column> <el-table-column prop="realname" label="操作人" align="center" - width="138"> + > </el-table-column> <el-table-column prop="create_time" label="处理时间" align="center" - width="200"> + > </el-table-column> <el-table-column prop="content" label="审批意见" align="center" - width="260"> + > <template slot-scope="scope"> <span size="medium">{{ scope.row.content }}</span> <a v-for="item in scope.row.realFileName" diff --git a/src/views/careabout/index.vue b/src/views/careabout/index.vue index 36f9185..3f5d990 100644 --- a/src/views/careabout/index.vue +++ b/src/views/careabout/index.vue @@ -154,7 +154,7 @@ </el-col> </div> </el-row> - <el-table :data="tableData" style="width: 100%" @selection-change="handleSelectionChange"> + <el-table :data="tableData" style="width: 100%" @selection-change="handleSelectionChange" v-loading="listLoading"> <el-table-column type="selection" width="55" align="center"></el-table-column> <el-table-column prop="number" label="编号" align="center" width="120"></el-table-column> <el-table-column prop="check_branch" label="检查部门" align="center" width="120"></el-table-column> @@ -391,7 +391,9 @@ getPageList(){ this.listQuery.page=1 this.checkTime() + this.listLoading = true getPageList(this.listQuery).then(res=>{ + this.listLoading = false if (res.data.ok==1) { this.tableData = res.data.data.items this.recordTotal=res.data.data.total diff --git a/src/views/dangerDetails/dnagerDetails.vue b/src/views/dangerDetails/dnagerDetails.vue index 292381b..26a7a4c 100644 --- a/src/views/dangerDetails/dnagerDetails.vue +++ b/src/views/dangerDetails/dnagerDetails.vue @@ -260,6 +260,58 @@ </el-col> </el-row> + <el-row> + + <el-col :span="22"> + <el-form-item label="流程信息" prop="name"> + <!-- <el-input v-model="ruleForm.name" class="multiline" :disabled="true"></el-input>--> + <el-table + :data="tableData" + border + style="width: 100%"> + <el-table-column + prop="date" + label="步骤" + type="index" + align="center" + > + </el-table-column> + <el-table-column + prop="realname" + label="操作人" + align="center" + > + </el-table-column> + <el-table-column + prop="create_time" + label="处理时间" + align="center" + > + </el-table-column> + <el-table-column + prop="city" + label="审批意见" + align="center" + > + <template slot-scope="scope"> + <span size="medium">{{ scope.row.content }}</span> + <a v-for="item in scope.row.realFileName" + :href="scope.row.url+'/'+item"> + {{ item.split("fileName=")[1] }} + </a> + </template> + </el-table-column> + <el-table-column + prop="ispass" + label="流程信息" + align="center" + width="170"> + </el-table-column> + </el-table> + </el-form-item> + </el-col> + + </el-row> <el-row> <el-col :span="22"> diff --git a/src/views/delayHiddenDangerRectification/rectificationDelayHiddenDanger.vue b/src/views/delayHiddenDangerRectification/rectificationDelayHiddenDanger.vue index 70416c6..f3724fa 100644 --- a/src/views/delayHiddenDangerRectification/rectificationDelayHiddenDanger.vue +++ b/src/views/delayHiddenDangerRectification/rectificationDelayHiddenDanger.vue @@ -274,26 +274,27 @@ <el-table-column prop="date" label="步骤" + type="index" align="center" - width="60"> + > </el-table-column> <el-table-column prop="realname" label="操作人" align="center" - width="138"> + > </el-table-column> <el-table-column prop="create_time" label="处理时间" align="center" - width="200"> + > </el-table-column> <el-table-column prop="city" label="审批意见" align="center" - width="260"> + > <template slot-scope="scope"> <span size="medium">{{ scope.row.content }}</span> <a v-for="item in scope.row.realFileName" diff --git a/src/views/safetyHazardAccount/index.vue b/src/views/safetyHazardAccount/index.vue index bf7d312..1e6125d 100644 --- a/src/views/safetyHazardAccount/index.vue +++ b/src/views/safetyHazardAccount/index.vue @@ -171,7 +171,7 @@ <el-button type="primary" class="btns" size="small" icon="el-icon-search" @click="getPageList()">查询 </el-button> <el-button type="primary" class="btns" size="small" @click="reset()">重置</el-button> - <el-button type="primary" class="btns" size="small" icon="el-icon-upload2">导出excel</el-button> + <el-button type="primary" class="btns" size="small" icon="el-icon-upload2" @click="exportData">导出excel</el-button> </el-form-item> </el-form> <el-row class="title-center"> @@ -337,6 +337,8 @@ <script> import {getPageList, inspect_do, draw_inferences_do} from "@/api/sgyhpczl/safetyHazardAccount"; import {delDanger} from "@/api/sgyhpczl/hiddenDangerRegistration"; +import {danger_export_do} from "@/api/sgyhpczl/hiddenDangerRectification"; + import {initJCBM, initYHLX, initBC, initJCLB, initYHBM, initYHJB, initLlr} from "@/api/sgyhpczl/initSelect"; @@ -695,7 +697,27 @@ path: "/dangerDetails", query:{"id":row.id,"route":"/safetyHazardAccount"} }) - } + }, + exportData() { + var requestData = this.listQuery; + requestData.export_type = 6; + //删除分页参数 + this.$delete(requestData, 'page') + this.$delete(requestData, 'limit') + danger_export_do(requestData).then(res => { + var blob = new Blob([res.data]) + var downloadElement = document.createElement('a') + var href = window.URL.createObjectURL(blob) //创建下载的链接 + downloadElement.href = href + downloadElement.download = '安全隐患台账.xlsx' //下载后文件名 + document.body.appendChild(downloadElement) + downloadElement.click() //点击下载 + document.body.removeChild(downloadElement) //下载完成移除元素 + window.URL.revokeObjectURL(href) //释放掉blob对象 + }).catch(err => { + console.log(err) + }) + }, } }; </script> diff --git a/src/views/summaryPotentialSafetyHzards/index.vue b/src/views/summaryPotentialSafetyHzards/index.vue index a647499..19e71cf 100644 --- a/src/views/summaryPotentialSafetyHzards/index.vue +++ b/src/views/summaryPotentialSafetyHzards/index.vue @@ -106,13 +106,13 @@ <el-button class="btn" size="small" type="primary" @click="queryData" >汇总 </el-button> - <el-button class="btn" size="small" type="primary" @click="close()" + <el-button class="btn" size="small" type="primary" @click="exportData()" >导出Excel </el-button> </el-form-item> </div> </el-form> - <el-table + <el-table id="out-table" :data="tableData" v-loading="loading" style="width: 100%"> @@ -157,7 +157,8 @@ } from "@/api/sgyhpczl/initSelect"; import {danger_summary} from "@/api/sgyhpczl/summaryPotentialSafetyHzards"; - +import FileSaver from "file-saver"; +import XLSX from "xlsx"; export default { name: "index", data() { @@ -402,6 +403,34 @@ path: "/summaryList", query: {"searchData": searchData} }) + }, + exportData(){ + var xlsxParam = { raw: true }; + /* 从表生成工作簿对象 */ + var wb = XLSX.utils.table_to_book( + document.querySelector("#out-table"), + xlsxParam + ); + /* 获取二进制字符串作为输出 */ + var wbout = XLSX.write(wb, { + bookType: "xlsx", + bookSST: true, + type: "array", + }); + try { + FileSaver.saveAs( + //Blob 对象表示一个不可变、原始数据的类文件对象。 + //Blob 表示的不一定是JavaScript原生格式的数据。 + //File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。 + //返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。 + new Blob([wbout], { type: "application/octet-stream" }), + //设置导出文件名称 + "安全隐患汇总.xlsx" + ); + } catch (e) { + if (typeof console !== "undefined") console.log(e, wbout); + } + return wbout; } } -- Gitblit v1.9.2