Sfoglia il codice sorgente

巡检记录统计

Shannon_mu 3 anni fa
parent
commit
fe78da686f

+ 55 - 6
operationSupport/src/views/facilityInspections/inspectionsRecordsStatistics.vue

@@ -23,12 +23,17 @@
                 @change="effectiveDateToggle"
             ></el-date-picker>
             <el-button type="primary" class="search-btn" @click="mixins_search" icon="el-icon-search">查询 </el-button>
+            <div class="search-icon">
+                <el-tooltip class="item" effect="light" placement="bottom" content="导出">
+                    <i class="zoniot_font zoniot-icon-daochu2" @click="exportExcel()"></i>
+                </el-tooltip>
+            </div>
         </div>
         <div class="zz-table">
             <el-table :data="mixins_list" stripe>
                 <el-table-column type="index" label="No."> </el-table-column>
                 <el-table-column prop="communityName" label="所属社区"> </el-table-column>
-                <el-table-column  label="设备设施类型">
+                <el-table-column label="设备设施类型">
                     <template slot-scope="scope">
                         {{ scope.row.typeValue || '--' }}
                     </template>
@@ -38,8 +43,18 @@
                 <el-table-column prop="address" label="地址"> </el-table-column>
                 <el-table-column prop="checkTime" label="巡检时间"> </el-table-column>
                 <el-table-column prop="result" label="巡检结果"> </el-table-column>
+                <el-table-column label="图片/视频">
+                    <template slot-scope="scope">
+                        <div v-if="!!scope.row.picturePath">
+                            <div class="imgVdio" v-for="item in scope.row.picturePath.split(',')" :key="item">
+                                <video v-if="typeVideo(item)" :src="item" @click="lookVideos(item)"></video>
+                                <el-image class="imgs" v-else :src="item" :preview-src-list="[item]"></el-image>
+                            </div>
+                        </div>
+                    </template>
+                </el-table-column>
 
-                <el-table-column :label="item" width="180" v-for="(item, index) in headArr" :key="index">
+                <el-table-column :label="item" v-for="(item, index) in headArr" :key="index">
                     <template slot-scope="scope">
                         {{ scope.row.options[item] || '--' }}
                     </template>
@@ -100,6 +115,33 @@ export default {
     },
     mounted() {},
     methods: {
+        typeVideo(str) {
+            let type = str.slice(str.lastIndexOf('.') + 1, str.length);
+            let videoType = ['mp4'];
+            return videoType.includes(type);
+        },
+        lookVideos(src) {
+            new Promise((resolve) => {
+                this.$store.dispatch('addPopup', {
+                    url: '/lookVideo.vue',
+                    width: '600px',
+                    height: '500px',
+                    props: {
+                        src: src,
+                        callback: resolve
+                    },
+                    showConfirmButton: true,
+                    showCancelButton: true,
+                    hideStar: true,
+                    title: '查看视频'
+                });
+            }).then(() => {
+                this.mixins_search();
+            });
+        },
+        exportExcel() {
+            this.__exportExcel('/czc-community/inspectionRecord/getInspectionOptionExcel',this.mixins_query);
+        },
         pageChange(obj) {
             this.mixins_pageset.pageNum = obj;
             this.getList();
@@ -125,8 +167,8 @@ export default {
             if (!arr) {
                 arr = ['', ''];
             }
-            this.mixins_query.startTime = arr[0];
-            this.mixins_query.endTime = arr[1];
+            this.mixins_query.startTime = arr[0] + ' 00:00:00';
+            this.mixins_query.endTime = arr[1] + ' 23:59:59';
         },
         getHetailHead(resolve) {
             this.$http
@@ -174,9 +216,16 @@ export default {
 };
 </script>
 <style scoped lang='scss'>
-.imgVdio img {
-    width: 64px;
+.imgVdio {
+    display: inline-block;
+    margin-right: 10px;
+    .imgs,
+    video {
+        width: 64px;
+        cursor: pointer;
+    }
 }
+
 /deep/ .el-table--striped .el-table__body tr.el-table__row--striped td,
 /deep/ .el-table__row--striped {
     background: #f8fcff;