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