From 7320bc8910fbfe1488a236aa1588e4d388c3f36c Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Tue, 11 Aug 2026 18:47:35 +0800
Subject: [PATCH] feat: 预览
---
applications/mobile-web-view/src/appPages/work/workDetail/index.vue | 124 ++++++++++++++++++++---------------------
1 files changed, 60 insertions(+), 64 deletions(-)
diff --git a/applications/mobile-web-view/src/appPages/work/workDetail/index.vue b/applications/mobile-web-view/src/appPages/work/workDetail/index.vue
index 3ed2566..4312dd0 100644
--- a/applications/mobile-web-view/src/appPages/work/workDetail/index.vue
+++ b/applications/mobile-web-view/src/appPages/work/workDetail/index.vue
@@ -12,66 +12,73 @@
></video>
<van-swipe v-else :autoplay="3000" indicator-color="#4C85FF">
<van-swipe-item v-for="(img, index) in [mediaSrc]" :key="index">
- <van-image class="detailImage" :src="img" fit="cover" width="100%" height="235px"
- @click="openPreview(index)" preview-visible="false" />
+ <van-image
+ class="detailImage"
+ :src="img"
+ fit="cover"
+ width="100%"
+ height="235px"
+ @click="openPreview(index)"
+ preview-visible="false"
+ />
</van-swipe-item>
</van-swipe>
</div>
</div>
- <!-- 工单内容 -->
- <div class="worderContainer">
- <div class="workOrderContent">
- <div class="workOrderTitle">工单内容</div>
- <div class="workOrderContainer">
+ <!-- 工单内容 -->
+ <div class="worderContainer">
+ <div class="workOrderContent">
+ <div class="workOrderTitle">工单内容</div>
+ <div class="workOrderContainer">
<div class="orderRow">
<div class="rowTitle">工单名称</div>
<div>{{ workDetailData.eventName }}</div>
</div>
- <div class="orderRow">
- <div class="rowTitle">工单编号</div>
- <div>{{ workDetailData.eventNum }}</div>
- </div>
- <div class="orderRow">
- <div class="rowTitle">工单处置人</div>
- <div>{{ workDetailData.disposeUserName }}</div>
- </div>
- <div class="orderRow">
- <div class="rowTitle">处置部门</div>
- <div>{{ workDetailData.disposeDeptName }}</div>
- </div>
- <div class="orderRow">
- <div class="rowTitle">拍摄时间</div>
- <div>{{ workDetailData.shootTime }}</div>
- </div>
- <div class="orderRow">
- <div class="rowTitle">分发人员</div>
- <div>{{ workDetailData.distributeUserName }}</div>
- </div>
- <div class="orderRow">
- <div class="rowTitle">分发部门</div>
- <div>{{ workDetailData.distributeDeptName }}</div>
- </div>
+ <div class="orderRow">
+ <div class="rowTitle">工单编号</div>
+ <div>{{ workDetailData.eventNum }}</div>
+ </div>
+ <div class="orderRow">
+ <div class="rowTitle">工单处置人</div>
+ <div>{{ workDetailData.disposeUserName }}</div>
+ </div>
+ <div class="orderRow">
+ <div class="rowTitle">处置部门</div>
+ <div>{{ workDetailData.disposeDeptName }}</div>
+ </div>
+ <div class="orderRow">
+ <div class="rowTitle">拍摄时间</div>
+ <div>{{ workDetailData.shootTime }}</div>
+ </div>
+ <div class="orderRow">
+ <div class="rowTitle">分发人员</div>
+ <div>{{ workDetailData.distributeUserName }}</div>
+ </div>
+ <div class="orderRow">
+ <div class="rowTitle">分发部门</div>
+ <div>{{ workDetailData.distributeDeptName }}</div>
+ </div>
- <div class="orderRow">
- <div class="rowTitle">分发时间</div>
- <div>{{ workDetailData.distributeTime }}</div>
- </div>
- <div class="orderRow">
- <div class="rowTitle">工单位置</div>
- <div class="rowAddress" @click="jumpMap(workDetailData)">{{ workDetailData.eventLocation }}</div>
- </div>
- </div>
- </div>
- </div>
+ <div class="orderRow">
+ <div class="rowTitle">分发时间</div>
+ <div>{{ workDetailData.distributeTime }}</div>
+ </div>
+ <div class="orderRow">
+ <div class="rowTitle">工单位置</div>
+ <div class="rowAddress" @click="jumpMap(workDetailData)">{{ workDetailData.eventLocation }}</div>
+ </div>
+ </div>
+ </div>
+ </div>
</div>
</template>
<script setup>
-import {getSharingDetailsApi} from '@/api/work/index'
+import { getSharingDetailsApi } from '@/api/work/index'
import { showToast, showNotify, showImagePreview } from 'vant'
import { getShowImg, getSmallImg } from '@/utils/util'
-import { useRoute,useRouter } from 'vue-router'
-import { getAiImg } from '@ztzf/utils'
+import { useRoute, useRouter } from 'vue-router'
+import { getAiImg, replaceWithProxy } from '@ztzf/utils'
import videojs from 'video.js'
import 'video.js/dist/video-js.css'
const keyword = ref('')
@@ -103,20 +110,12 @@
}
// 跳转地图
const jumpMap = item => {
-router.push({
+ router.push({
path: '/webViewWrapper/mapWork',
query: {
- currentItem: JSON.stringify(item)
- }
+ currentItem: JSON.stringify(item),
+ },
})
-}
-
-function replaceWithProxy(url) {
- if (!url) return ''
- return url.replace(
- /^https?:\/\/[^/]+/,
- 'https://wrj.shuixiongit.com/ja-proxy'
- )
}
function getVideoType(url) {
@@ -181,16 +180,15 @@
try {
const res = await getSharingDetailsApi({ cacheKey: keyword.value })
workDetailData.value = res.data.data
- let {eventImageUrl,geojson} = workDetailData.value
+ let { eventImageUrl, geojson } = workDetailData.value
// http://220.177.172.27:8100 改为 https://wrj.shuixiongit.com/ja-proxy
eventImageUrl = replaceWithProxy(eventImageUrl)
- if (eventImageUrl){
- mediaSrc.value = !isVideoAttachment.value && geojson ? await getAiImg(eventImageUrl,geojson) : eventImageUrl
+ if (eventImageUrl) {
+ mediaSrc.value = !isVideoAttachment.value && geojson ? await getAiImg(eventImageUrl, geojson) : eventImageUrl
}
} catch (error) {
showToast('分享链接失效')
}
-
})
onBeforeUnmount(destroyPlayer)
@@ -285,8 +283,8 @@
}
.rowAddress {
- font-family: Source Han Sans CN, Source Han Sans CN;
- font-weight: 400;
+ font-family: Source Han Sans CN, Source Han Sans CN;
+ font-weight: 400;
font-size: 14px;
color: #1d6fe9;
text-decoration: underline;
@@ -303,9 +301,7 @@
:deep(.custom-field .van-field__control) {
padding: 0 !important;
}
-
}
}
-
}
</style>
--
Gitblit v1.9.3