jiangping
2024-05-27 3c48d53807bd03f3e9dabe53d6e11bf200bd748d
admin/src/components/business/OperaHiddenDangerWindow.vue
@@ -1,7 +1,7 @@
<template>
  <GlobalWindow
    :title="title"
    :visible.sync="visable"
    :visible.sync="visible"
    @confirm="confirm"
    @close="reject"
  >
@@ -9,15 +9,15 @@
      <div class="modal_content">
        <div class="header">
          <div class="left">
            <div class="h1">隐患随手拍</div>
            <div class="h1">隐患提报</div>
            <div class="time">提报时间:{{model.createDate}}</div>
          </div>
          <div class="right" v-if="model.status==0">待审核</div>
          <div class="right" v-if="model.status==0">待处理</div>
          <div class="right" v-if="model.status==1">已处理</div>
          <div class="right" v-if="model.status==2">已撤销</div>
        </div>
        <div class="info">
          <div class="title">隐患随手拍详情</div>
          <div class="title">隐患提报详情</div>
          <div class="list">
            <div class="item">
              <div class="label">提报人</div>
@@ -35,20 +35,72 @@
              <div class="label">隐患描述</div>
              <div class="value">{{model.content || ''}}</div>
            </div>
            <div class="item">
            <div class="item" style="width: 100%">
              <div class="label">现场情况</div>
              <div class="value" v-if="model.submitFileList ==null || !model.submitFileList.length">无</div>
              <div class="value" v-if="model.submitFileList !=null && model.submitFileList.length">
                <span v-for="item in model.submitFileList" :key="item.id">{{item.fileurlFull}}</span>
                <div v-for="item in model.submitFileList" :key="item.id" style="display: inline;margin-right: 20px">
                  <video
                      v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')"
                      ref="videoRef"
                      autoplay
                      controls
                      preload="auto"
                      style="width: 80px;height: 80px;object-fit: contain;"
                      :src="item.fileurlFull"
                  />
                  <el-image
                    v-else-if="item.fileurlFull"
                    style="width:80px; height: 80px"
                    :src="item.fileurlFull"
                    :preview-src-list="[item.fileurlFull]">
                </el-image>
                </div>
              </div>
            </div>
            <div class="item" v-if="model.status==1">
            <div class="item" v-if="model.status==1" style="width: 100%">
              <div class="label">处理前</div>
              <div class="value"></div>
              <div class="value" v-if="model.dealBeforeFileList !=null && model.dealBeforeFileList.length">
                <div v-for="item in model.dealBeforeFileList" :key="item.id" style="display: inline;margin-right: 20px">
                  <video
                      v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')"
                      ref="videoRef"
                      autoplay
                      controls
                      preload="auto"
                      style="width: 80px;height: 80px;object-fit: contain;"
                      :src="item.fileurlFull"
                  />
                  <el-image
                      v-else-if="item.fileurlFull"
                      style="width:80px; height: 80px"
                      :src="item.fileurlFull"
                      :preview-src-list="[item.fileurlFull]">
                  </el-image>
                </div>
              </div>
            </div>
            <div class="item" v-if="model.status==1">
            <div class="item" v-if="model.status==1" style="width: 100%">
              <div class="label">处理后</div>
              <div class="value"></div>
              <div class="value" v-if="model.dealAfterFileList !=null && model.dealAfterFileList.length">
                <div v-for="item in model.dealAfterFileList" :key="item.id" style="display: inline;margin-right: 20px">
                  <video
                      v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')"
                      ref="videoRef"
                      autoplay
                      controls
                      preload="auto"
                      style="width: 80px;height: 80px;object-fit: contain;"
                      :src="item.fileurlFull"
                  />
                  <el-image
                      v-else-if="item.fileurlFull"
                      style="width:80px; height: 80px"
                      :src="item.fileurlFull"
                      :preview-src-list="[item.fileurlFull]">
                  </el-image>
                </div>
              </div>
            </div>
            <div class="item" v-if="model.status==1 || model.status==2">
              <div class="label">处理说明</div>
@@ -60,47 +112,31 @@
      <div class="side">
        <div class="side_title">审批流程</div>
        <div class="list">
          <div class="item">
          <div class="item" v-for="item in logList" :key="item.id">
            <div class="separate"></div>
            <div class="info">
              <i class="el-icon-success icon"></i>
              <img src="" class="avatar" alt="" />
              <img :src="item.avatar" class="avatar" alt="" />
              <div class="content">
                <div class="line">
                  <div class="name">刘某刘某</div>
                  <div class="time">2020-02-02 12:20</div>
                  <div class="name">{{ item.createUserName}}</div>
                  <div class="time">{{ item.createDate }}</div>
                </div>
                <div class="line">
                  <div class="company">中国移动有限公司</div>
                  <div class="company">{{ item.companyName }} <span class="status">已同意</span> </div>
                </div>
              </div>
            </div>
          </div>
          <div class="item">
            <!-- <div v-if="" class="separate"></div> -->
            <div class="info">
              <i class="el-icon-success icon"></i>
              <img src="" class="avatar" alt="" />
              <div class="content">
                <div class="line">
                  <div class="name">刘某刘某</div>
                  <div class="time">2020-02-02 12:20</div>
                </div>
                <div class="line">
                  <div class="company">
                    中国移动有限公司( <span class="status">已同意</span> )
                  </div>
                </div>
              </div>
            </div>
            <div class="remark">提交约好的</div>
          </div>
        </div>
      </div>
    </div>
    <!--  -->
    <template #btns>
      <el-button type="primary" plain @click="handleTransfer">转交</el-button>
    <template   v-slot:footer>
      <el-button @click="dealDo"  type="primary"  v-if="model.status==0"  class="status-red">处理</el-button>
      <el-button type="primary" plain v-if="model.status==0" @click="handleTransfer">转交</el-button>
      <el-button @click="backDo"  v-if="model.status==0" type="danger"  >退回</el-button>
      <el-button @click="visible=false">返回</el-button>
    </template>
    <!--  同意/拒绝 -->
    <el-dialog
@@ -175,14 +211,19 @@
</template>
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import {findLogList} from "@/api/business/hiddenDanger";
export default {
  components: { GlobalWindow },
  extends: BaseOpera,
  data() {
    return {
      title: '访客预约详情',
      visable: false,
      visible: false,
      dataId:null,
      model: { },
      logList:[],
      isShowAppr: false,
      apprTitle: '同意',
      param: {},
@@ -190,11 +231,35 @@
      rules: {}
    }
  },
  created () {
    this.config({
      api: '/business/hiddenDanger',
      'field.id': 'id'
    })
  },
  methods: {
    dealDo(){},
    backDo(){},
    open(title,target){
      this.title =title
      this.visable=true
      this.model = target
      this.visible=true
      this.model = {}
      this.dataId =target.id
      this.getDetail()
      this.getLogList()
    },
    getLogList(){
      this.api.findLogList({hiddenDangerId:this.dataId})
          .then(res =>{
            this.logList =  res
          })
    },
    getDetail(){
      this.api.detail(this.dataId)
          .then(res =>{
           this.model =  res
      })
    },
    confirm() {
      console.log('--')