From 69b57c3173f78fe9796de1fb11e84eba6d297db9 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 12 Oct 2022 09:15:26 +0800
Subject: [PATCH] 修改任务详情相关事件的样式;新增双击事件跳转到事件详情

---
 src/views/repairsorder/repairsorderDetail.vue |    2 
 src/views/eventgm/eventgmDetail.vue           |   16 +++++++-
 src/views/taskinfo/taskinfoDetail.vue         |   85 +++++++++++++-----------------------------
 3 files changed, 42 insertions(+), 61 deletions(-)

diff --git a/src/views/eventgm/eventgmDetail.vue b/src/views/eventgm/eventgmDetail.vue
index 565f242..60724ab 100644
--- a/src/views/eventgm/eventgmDetail.vue
+++ b/src/views/eventgm/eventgmDetail.vue
@@ -41,6 +41,13 @@
               >
                 <el-row>
                   <el-col span="24">
+                    <el-form-item label="标题">
+                      <el-input disabled="true" v-model="form.title" autocomplete="off"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                  <el-col span="24">
                     <el-form-item label="地点">
                       <el-input disabled="true" v-model="form.address" autocomplete="off"></el-input>
                     </el-form-item>
@@ -117,7 +124,7 @@
                 ></el-image>
 
               <video
-                v-for="(item,index) in videoUrls"
+                v-for="(item) in videoUrls"
                 :src="item"
                 style="width: 145px; height: 145px; object-fit: fill; margin-right: 10px"
                 controls
@@ -247,7 +254,7 @@
 export default {
   name: "eventgmDetail",
   components: {OpenLayersMap,EleGallery},
-  props:["detailInfo"],
+  props:["detailInfo","taskToEventgm"],
   data(){
     return{
       eventgmInfo:{},
@@ -263,6 +270,11 @@
   },
   created() {
     this.form = this.detailInfo;
+    if(this.taskToEventgm){
+      this.form.$state = this.detailInfo.stateName
+      this.form.$type = this.detailInfo.typeName
+      this.form.$source = this.detailInfo.source
+    }
     if (this.form.picUrls){
       this.form.picUrls.forEach(e=>{
         if (isImage(e.value)){
diff --git a/src/views/repairsorder/repairsorderDetail.vue b/src/views/repairsorder/repairsorderDetail.vue
index 78c957e..86a8535 100644
--- a/src/views/repairsorder/repairsorderDetail.vue
+++ b/src/views/repairsorder/repairsorderDetail.vue
@@ -101,7 +101,7 @@
               ></el-image>
 
               <video
-                v-for="(item,index) in videoUrls"
+                v-for="(item) in videoUrls"
                 :src="item"
                 style="width: 145px; height: 145px; object-fit: fill; margin-right: 10px"
                 controls
diff --git a/src/views/taskinfo/taskinfoDetail.vue b/src/views/taskinfo/taskinfoDetail.vue
index 22eb01e..8b3405a 100644
--- a/src/views/taskinfo/taskinfoDetail.vue
+++ b/src/views/taskinfo/taskinfoDetail.vue
@@ -1,8 +1,8 @@
 <template>
   <div>
-    <el-button class="backBtn" size="small" type="success" icon="el-icon-back" @click="handleBack">返 回
-    </el-button>
-    <el-row>
+    <el-row v-if="!eventgmDetailVisible">
+      <el-button class="backBtn" size="small" type="success" icon="el-icon-back" @click="handleBack">返 回
+      </el-button>
      <el-col :span="12">
       <div>
         <el-card class="trackClass" style="overflow-y: auto">
@@ -139,61 +139,17 @@
               </div>
             </div>
             <el-card>
-              <el-form v-for="eventgm in eventgmList"
-                :model="form"
-                label-position="right"
-                size="mini"
-                class="taskinfoForm"
-                label-width="70px"
-                style="
-                margin-top: 20px;
-                margin-left: 10px;
-                margin-right: 10px;
-                height: calc(100% - 40px);
-                width: calc(100% - 20px);
-              "
+              <el-table
+                ref="multipleTable"
+                :data="eventgmList"
+                tooltip-effect="dark"
+                style="width: 100%"
+                max-height="240"
+                @row-dblclick="rowDblclick"
               >
-                <el-row>
-                  <el-col span="24">
-                    <el-form-item label="地点">
-                      <el-input disabled="true" v-model="eventgm.address" autocomplete="off"></el-input>
-                    </el-form-item>
-                  </el-col>
-                </el-row>
-                <el-row>
-                  <el-col span="24">
-                    <el-form-item label="事件类型">
-                      <el-input disabled="true" v-model="eventgm.typeName" autocomplete="off"></el-input>
-                    </el-form-item>
-                  </el-col>
-                </el-row>
-                <el-row>
-                  <el-col span="12">
-                    <el-form-item label="事件状态">
-                      <el-input disabled="true" v-model="eventgm.stateName" autocomplete="off"></el-input>
-                    </el-form-item>
-                  </el-col>
-                  <el-col span="12">
-                    <el-form-item label="事件来源">
-                      <el-input disabled="true" v-model="eventgm.source" autocomplete="off"></el-input>
-                    </el-form-item>
-                  </el-col>
-                </el-row>
-
-                <el-row>
-                  <el-col span="24">
-                    <el-form-item label="内容">
-                      <el-input disabled="true" v-model="eventgm.remark" autocomplete="off"></el-input>
-                    </el-form-item>
-                  </el-col>
-                  <el-col span="12" v-if="eventgm.no">
-                    <el-form-item label="工单编号">
-                      <el-input disabled="true" v-model="eventgm.no" autocomplete="off"></el-input>
-                    </el-form-item>
-                  </el-col>
-                </el-row>
-                <el-divider></el-divider>
-              </el-form>
+                <el-table-column prop="title" label="标题" align="center"></el-table-column>
+                <el-table-column prop="stateName" label="状态" align="center"></el-table-column>
+              </el-table>
             </el-card>
           </div>
 
@@ -205,6 +161,9 @@
       <open-layers-map ref="OpenLayersMap" @toData="toData" :isDetail="true" :routeRange="form.routeRange"></open-layers-map>
     </el-col>
     </el-row>
+
+    <!--显示详情-->
+    <eventgm-detail v-if="eventgmDetailVisible" ref="detailVisible" :detailInfo="eventgmDetailInfo" :taskToEventgm="true" @isDetail="isDetail"></eventgm-detail>
   </div>
 </template>
 
@@ -213,10 +172,11 @@
 import {getUser} from "@/api/system/user"
 import {getDetail} from "@/api/taskinfo/taskinfo";
 import {getDictionary} from "@/api/system/dictbiz";
+import EventgmDetail from "@/views/eventgm/eventgmDetail";
 
 export default {
   name: "taskinfoDetail",
-  components: {OpenLayersMap},
+  components: {EventgmDetail, OpenLayersMap},
   props:["detailInfo"],
   data(){
     return{
@@ -224,6 +184,8 @@
       form:{},
       accepterInfo:[],
       eventgmList:[],
+      eventgmDetailVisible:false,
+      eventgmDetailInfo:{},
     }
   },
   created() {
@@ -279,6 +241,13 @@
     },
     handleBack(){
       this.$emit('isDetail');
+    },
+    rowDblclick(row){
+      this.eventgmDetailInfo = row
+      this.eventgmDetailVisible = true
+    },
+    isDetail(){
+      this.eventgmDetailVisible = !this.eventgmDetailVisible
     }
   },
 }

--
Gitblit v1.9.3