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/hiddenDangerRectification/index.vue |  106 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 94 insertions(+), 12 deletions(-)

diff --git a/src/views/hiddenDangerRectification/index.vue b/src/views/hiddenDangerRectification/index.vue
index b90a2ba..5bc7517 100644
--- a/src/views/hiddenDangerRectification/index.vue
+++ b/src/views/hiddenDangerRectification/index.vue
@@ -141,7 +141,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">
@@ -149,30 +149,59 @@
                 <el-button class="btns" type="primary" size="small" @click="applyDelay()">申请延期</el-button>
             </el-col>
         </el-row>
-        <el-table :data="tableData" ref="dangerRectificationTable" style="width: 100%">
+        <el-table :data="tableData" ref="dangerRectificationTable" style="width: 100%" v-loading="loading">
             <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="number" label="编号" align="center" width="120">
+                <template slot-scope="scope">
+                    <div class="blue-font-color" @click="showDetails(scope.row)">{{ scope.row.number }}</div>
+                </template>
+            </el-table-column>
             <el-table-column prop="check_branch" label="检查部门" align="center" width="120"></el-table-column>
             <el-table-column prop="check_man" label="检查人" align="center" width="120"></el-table-column>
             <el-table-column prop="checktype" label="检查类别" align="center"></el-table-column>
             <el-table-column label="隐患项目" align="center">
-                <el-table-column prop="check_date" label="检查时间" width="120" align="center"></el-table-column>
-                <el-table-column prop="address" label="地点" align="center"></el-table-column>
-                <el-table-column prop="ht_content" label="内容" align="center"></el-table-column>
+                <el-table-column prop="check_date" label="检查时间" width="120" align="center">
+                    <template slot-scope="scope">
+                        <label>{{ formatDate(scope.row.check_date)}}</label><br/>
+                        <label>{{ scope.row.check_class}}</label>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="address" label="地点"   align="center"></el-table-column>
+                <el-table-column prop="ht_content" label="内容" width="150" align="center">
+                    <template slot-scope="scope">
+                        <el-popover trigger="hover" placement="top">
+                            <p>{{ scope.row.ht_content }}</p>
+                            <div slot="reference" class="name-wrapper">{{
+                                    scope.row.ht_content != null && scope.row.ht_content.length > 10 ? scope.row.ht_content.substring(0, 8) + "...." : scope.row.ht_content
+                                }}
+                            </div>
+                        </el-popover>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="ht_typesub" label="类别" align="center"></el-table-column>
                 <el-table-column prop="ht_level" label="级别" align="center"></el-table-column>
             </el-table-column>
             <el-table-column label="整改计划" align="center">
-                <el-table-column prop="measure" label="整改措施" align="center"></el-table-column>
+                <el-table-column prop="measure" label="整改措施" width="150" align="center">
+                    <template slot-scope="scope">
+                        <el-popover trigger="hover" placement="top">
+                            <p>{{ scope.row.measure }}</p>
+                            <div slot="reference" class="name-wrapper">{{
+                                    scope.row.measure != null && scope.row.measure.length > 10 ? scope.row.measure.substring(0, 8) + "...." : scope.row.measure
+                                }}
+                            </div>
+                        </el-popover>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="ht_branch" label="隐患部门" align="center"></el-table-column>
                 <el-table-column prop="duty_officer" label="责任人" align="center"></el-table-column>
-                <el-table-column prop="alter_time" label="限改时间" width="120" align="center"></el-table-column>
+                <el-table-column prop="alter_time" label="限改时间" width="120" :formatter="formatColumnDate" align="center"></el-table-column>
             </el-table-column>
             <el-table-column label="整改情况" align="center">
-                <el-table-column prop="ACCOMPLISHTIME" label="完成时间" width="120" align="center"></el-table-column>
+                <el-table-column prop="ACCOMPLISHTIME" label="完成时间" :formatter="formatColumnDate" width="120" align="center"></el-table-column>
                 <el-table-column prop="CALLBACKRESULT" label="复查结果" align="center"></el-table-column>
                 <el-table-column prop="CALLBACKPERSON" label="复查人" align="center"></el-table-column>
-                <el-table-column prop="CALLBACKTIME" label="复查时间" width="120" align="center"></el-table-column>
+                <el-table-column prop="CALLBACKTIME" label="复查时间" :formatter="formatColumnDate" width="120" align="center"></el-table-column>
             </el-table-column>
             <el-table-column label="隐患处理状态" align="center">
                 <template slot-scope="scope">
@@ -208,6 +237,7 @@
                                 :picker-options="pickerOptions"
                                 type="date"
                                 :disabled="false"
+                                value-format="yyyy-MM-dd"
                                 placeholder="选择日期"
                                 style="width: 100%">
                             </el-date-picker>
@@ -263,7 +293,7 @@
     </div>
 </template>
 <script>
-import {getPageList, uploadFile, saveDelayApply} from "@/api/sgyhpczl/hiddenDangerRectification";
+import {getPageList, uploadFile, saveDelayApply,danger_export_do} from "@/api/sgyhpczl/hiddenDangerRectification";
 import {initJCBM, initYHLX, initBC, initJCLB, initYHBM, initYHJB, initLlr} from "@/api/sgyhpczl/initSelect";
 
 export default {
@@ -282,6 +312,7 @@
             YHBMList: [],
             YHJBList: [],
             tableData: [],
+            loading:false,
             listQuery: {
                 page: 1,
                 limit: 10,
@@ -399,7 +430,9 @@
         getPageList() {
             this.listQuery.page = 1
             this.checkTime()
+            this.loading = true;
             getPageList(this.listQuery).then(res => {
+                this.loading = false;
                 if (res.data.ok == 1) {
                     this.tableData = res.data.data.items
                     this.recordTotal = res.data.data.total
@@ -552,6 +585,52 @@
                 });
             })
         },
+        //方法区
+        formatDate(data) {
+            // 获取单元格数据
+            if(data == null) {
+                return null
+            }
+            let dt = new Date(data)
+            return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate()
+        },
+
+        //方法区
+        formatColumnDate(row, column) {
+            // 获取单元格数据
+            let data = row[column.property]
+            if(data == null) {
+                return null
+            }
+            let dt = new Date(data)
+            return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' '
+        },
+        exportData(){
+            var requestData = this.listQuery;
+            requestData.export_type = 2;
+            //删除分页参数
+            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)
+            })
+        },
+        showDetails(row){
+            this.$router.push({
+                path: "/dangerDetails",
+                query:{"id":row.id}
+            })
+        }
     }
 };
 </script>
@@ -580,7 +659,10 @@
     max-height: 80px;
     overflow-y: auto
 }
-
+.blue-font-color:hover{
+    cursor: pointer;
+    color: blue;
+}
 /deep/ .el-dialog .button .el-form-item__content {
     margin-left: 0;
 }

--
Gitblit v1.9.2