tanyanfei 5 年之前
父节点
当前提交
196f543276
共有 4 个文件被更改,包括 81 次插入5 次删除
  1. 6 0
      src/api.js
  2. 71 5
      src/views/company/Company.vue
  3. 3 0
      src/views/task/Danger.vue
  4. 1 0
      src/views/task/Monitjob.vue

+ 6 - 0
src/api.js

@@ -70,6 +70,12 @@ export default {
 	getGovermentList: params => {
 		return axios.get(`${baseURL}/api/admin/goverment/list`,{params:params})
 	},
+	downloadMon: params => {
+		return axios.get(`${baseURL}/api/admin/monitjob/download`, {
+			params: params,
+			responseType:'blob'
+		})
+	},
 	getGoverment: params => {
 		return axios.get(`${baseURL}/api/admin/goverment`,{params:params})
 	},

+ 71 - 5
src/views/company/Company.vue

@@ -1,5 +1,9 @@
 <style lang="scss">
-    
+    .xjjl{
+        .el-dialog{
+            left: 50px;
+        }
+    }
 </style>
 <template>
     <section>
@@ -90,13 +94,18 @@
                 </el-table-column>
         </el-table>
         <Page  ref="pageButton" :current='form.page' :page_size='form.page_size' :total='total' @pageChange='gopage'/>
-        <el-dialog title="巡检记录" :visible.sync="dialogFormVisible1" width="80%" :close-on-click-modal='false' :close-on-press-escape='false'>
+        <el-dialog class="xjjl" title="巡检记录" :visible.sync="dialogFormVisible1" width="75%" :close-on-click-modal='false' :close-on-press-escape='false'>
+            <el-button @click="download" type="primary" size="mini" icon="el-icon-download">导出巡检记录</el-button>
+            <br><br>
             <el-table
                     class="table"
                     :data="data" height="400px"
-                    border 
+                    border  @selection-change="handleSelectionChange"
                     style="width: 100%">
-                
+                    <el-table-column
+                    type="selection" fixed="left"
+                    width="40">
+                    </el-table-column>
                     <el-table-column
                     prop="enterprise_name" 
                     label="公司名称">
@@ -139,6 +148,33 @@
             </el-table>
             <Page  ref="pageButton1" :current='form1.page' :page_size='form1.page_size' :total='total1' @pageChange='gopage1'/>
         </el-dialog>
+        <el-dialog title="" :visible.sync="dialogFormVisible" width="500px" :close-on-click-modal='false' :close-on-press-escape='false'>
+            <el-form  label-width="100px">
+                <el-form-item label="任务名称">
+                    {{message.name}}
+                </el-form-item>
+                <el-form-item label="任务状态">
+                    <span v-if="message.task_status==-1">过期未巡检</span>
+                    <span v-if="message.task_status==0">待巡检</span>
+                    <span v-if="message.task_status==1">无异常</span>
+                    <span v-if="message.task_status==2">待审核</span>
+                    <span v-if="message.task_status==3">审核中</span>
+                    <span v-if="message.task_status==4">整改中</span>
+                </el-form-item>
+                <el-form-item label="上报人">
+                    {{message.report_person_name}}                
+                </el-form-item>
+                <el-form-item label="上报时间">
+                    {{message.ctime}}
+                </el-form-item>
+                <el-form-item label="图片">
+                    <img style="margin:0 3px;" width="80px" height="80px" v-for="item in message.imgs" :key='item' :src="item" alt="">
+                </el-form-item>
+                <el-form-item label="视频">
+                    <video :poster="message.videos_faceimg" width="300px" height="150px" controls :src="message.videos"></video>
+                </el-form-item>
+            </el-form>
+        </el-dialog>
     </section>
 </template>
 <script>
@@ -151,8 +187,10 @@ export default {
     return{
       form:{name:'',page:1,page_size:20},
       form1:{page:1,page_size:20},
+      message:{send_type:1},
       activeName:"1",
       dialogFormVisible1:false,
+      dialogFormVisible:false,
       total:1,
       total1:1,
       data:[],
@@ -160,7 +198,8 @@ export default {
       loading:false,
       category:[],
       area:[],
-      utype:0
+      utype:0,
+      multipleSelection:[]
     }
   },
   methods:{
@@ -171,6 +210,9 @@ export default {
             this.form.page=this.$refs.pageButton.page
             this.getData()
         },
+        handleSelectionChange(val) {
+            this.multipleSelection = val;
+        },
         gopage1(size){
             if(size){
                 this.form1.page_size=size
@@ -178,6 +220,30 @@ export default {
             this.form1.page=this.$refs.pageButton1.page
             this.getJl()
         },
+        open(data) {
+            this.dialogFormVisible=true;
+            this.message={...data}
+        },
+        download(){
+            let array=this.multipleSelection,ids=[];
+            for(let i=0;i<array.length;i++){
+                ids.push(array[i].id)
+            }
+            ids=ids.join(',')
+            this.$api.downloadMon({ids:ids}).then(res=>{
+                        var elink = document.createElement('a');
+                        let blob=new Blob([res.data], {type: 'application/vnd.ms-excel'});
+                        let objUrl=URL.createObjectURL(blob);
+                        console.log(res.headers['content-disposition'])
+                        let file_name=res.headers['content-disposition'].split('=')[1];
+                        elink.download = file_name;
+                        elink.style.display = 'none';                
+                        elink.href = objUrl;
+                        document.body.appendChild(elink);
+                        elink.click();
+                        document.body.removeChild(elink);     
+            })
+        },
         prview(id){
             this.form1.enterprise_id=id;
             this.getJl();

+ 3 - 0
src/views/task/Danger.vue

@@ -129,6 +129,9 @@
                     <el-form-item label="备注">
                         <el-input :rows="4" type="textarea" v-model="form.remark"></el-input>
                     </el-form-item>
+                    <el-form-item label="二维码">
+                        <img width="150" :src="form.qrcode" alt="">
+                    </el-form-item>
                     <el-form-item v-if='utype!=2'>
                         <el-button @click="save" type="primary">保存</el-button>
                         <el-button @click="form={}" type="info">取消</el-button>

+ 1 - 0
src/views/task/Monitjob.vue

@@ -179,6 +179,7 @@ export default {
             this.dialogFormVisible=true;
             this.message={...data}
         }
+
   },
   created(){
       if(this.$route.query.id){