| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | :visible.sync="visable" |
| | | :visible.sync="visible" |
| | | @confirm="confirm" |
| | | @close="reject" |
| | | > |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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 |
| | |
| | | </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: {}, |
| | |
| | | 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('--') |