guoshilong
2022-10-12 69b57c3173f78fe9796de1fb11e84eba6d297db9
修改任务详情相关事件的样式;新增双击事件跳转到事件详情
3 files modified
99 ■■■■■ changed files
src/views/eventgm/eventgmDetail.vue 16 ●●●● patch | view | raw | blame | history
src/views/repairsorder/repairsorderDetail.vue 2 ●●● patch | view | raw | blame | history
src/views/taskinfo/taskinfoDetail.vue 81 ●●●●● patch | view | raw | blame | history
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)){
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
src/views/taskinfo/taskinfoDetail.vue
@@ -1,8 +1,8 @@
<template>
  <div>
    <el-row v-if="!eventgmDetailVisible">
    <el-button class="backBtn" size="small" type="success" icon="el-icon-back" @click="handleBack">返 回
    </el-button>
    <el-row>
     <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
    }
  },
}