From 680dcd3efb79f439a1e4bf95240a0c2b8d975837 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 26 Sep 2022 11:46:13 +0800
Subject: [PATCH] 事件管理、维修管理添加图片视频上传;维修管理添加地图详情页面、详情数据显示上传的图片和视频
---
src/views/eventgm/eventgmDetail.vue | 101 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 98 insertions(+), 3 deletions(-)
diff --git a/src/views/eventgm/eventgmDetail.vue b/src/views/eventgm/eventgmDetail.vue
index 19215e2..e2ac4c0 100644
--- a/src/views/eventgm/eventgmDetail.vue
+++ b/src/views/eventgm/eventgmDetail.vue
@@ -89,6 +89,63 @@
</el-form>
</el-card>
+ <!--事件图片或视频-->
+ <div
+ style=""
+ role="tab"
+ aria-expanded="true"
+ aria-controls="el-collapse-content-823"
+ aria-describedby="el-collapse-content-823"
+ >
+ <div
+ role="button"
+ tabindex="0"
+ class="el-collapse-item__header focusing is-active"
+ >
+ <div class="avue-group__header avue-group">
+ <i class="el-icon-s-order avue-group__icon"></i>
+ <h1 class="avue-group__title">事件图片</h1>
+ </div>
+ </div>
+ </div>
+ <el-card class="scene-image-box">
+ <el-image
+ v-for="(item, index) in picUrls"
+ :key="index"
+ :src="item"
+ :preview-src-list="picUrls"
+ v-show="picUrls.length > 0"
+ ></el-image>
+ <span v-show="picUrls.length == 0">暂无图片</span>
+ </el-card>
+
+ <div
+ style=""
+ role="tab"
+ aria-expanded="true"
+ aria-controls="el-collapse-content-823"
+ aria-describedby="el-collapse-content-823"
+ >
+ <div
+ role="button"
+ tabindex="0"
+ class="el-collapse-item__header focusing is-active"
+ >
+ <div class="avue-group__header avue-group">
+ <i class="el-icon-s-order avue-group__icon"></i>
+ <h1 class="avue-group__title">事件视频</h1>
+ </div>
+ </div>
+ </div>
+ <el-card>
+ <video
+ :src="videoUrls"
+ style="width: 200px; height: 200px; object-fit: fill"
+ controls
+ v-show="videoUrls != ''"
+ ></video>
+ <span v-show="videoUrls.length == 0">暂无视频</span>
+ </el-card>
<!--事件流程信息-->
<div
style=""
@@ -120,6 +177,7 @@
<el-table-column prop="remark" label="说明" align="center"></el-table-column>
</el-table>
</el-card>
+
<div v-if="this.form.no">
<!--维修人员信息-->
<div v-if="repairsDetail.toUserId != -1">
@@ -190,7 +248,6 @@
</el-card>
</div>
</el-col>
-
<el-col :span="12">
<open-layers-map ref="OpenLayersMap" @toData="toData" :isDetail="true" :pointLonLat="pointLonLat" :routeRange="form.routeRange"></open-layers-map>
</el-col>
@@ -204,10 +261,12 @@
import {getList as getRepairsorderRecordList} from "@/api/repairsorder/repairsorderRecord";
import {getDetail} from "@/api/repairsorder/repairsorder";
import {getUser} from "@/api/system/user"
+import EleGallery from 'vue-ele-gallery'
+import {isImage} from "@/util/determiningFileFormat";
export default {
name: "eventgmDetail",
- components: {OpenLayersMap},
+ components: {OpenLayersMap,EleGallery},
props:["detailInfo"],
data(){
return{
@@ -218,10 +277,21 @@
repairsRecord:[],
repairsDetail:{},
repairsPersonInfo:[],
+ picUrls:[],
+ videoUrls:[],
}
},
created() {
this.form = this.detailInfo;
+ if (this.form.picUrls){
+ this.form.picUrls.forEach(e=>{
+ if (isImage(e.value)){
+ this.picUrls.push(e.value)
+ }else {
+ this.videoUrls.push(e.value)
+ }
+ })
+ }
this.pointLonLat = {
lon:this.form.longitude,
lat:this.form.latitude
@@ -275,7 +345,7 @@
},
handleBack(){
this.$emit('isDetail');
- }
+ },
},
}
</script>
@@ -316,4 +386,29 @@
right: 3%;
z-index: 99999;
}
+
+.scene-image-box {
+ line-height: 32px !important;
+ height: auto;
+ max-height: 200px;
+ overflow-y: auto;
+
+ .el-card__body {
+ display: flex;
+ padding: 0 10px !important;
+ flex-wrap: wrap;
+ justify-content: center;
+ align-items: center;
+
+ .x-audio-wrap.inline {
+ margin: 10px;
+ }
+
+ .el-image {
+ margin: 10px;
+ width: 160px;
+ height: 80px;
+ }
+ }
+}
</style>
--
Gitblit v1.9.3