| | |
| | | ></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('') |
| | |
| | | } |
| | | // 跳转地图 |
| | | 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) { |
| | |
| | | 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) |
| | |
| | | } |
| | | |
| | | .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; |
| | |
| | | :deep(.custom-field .van-field__control) { |
| | | padding: 0 !important; |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | </style> |