| | |
| | | <!-- |
| | | * @Author : yuan |
| | | * @Date : 2025-09-29 13:52:16 |
| | | * @LastEditors : yuan |
| | | * @LastEditTime : 2025-09-29 13:53:32 |
| | | * @FilePath : \src\subPackages\workDetail\index.vue |
| | | * @Description : |
| | | * Copyright 2025 OBKoro1, All Rights Reserved. |
| | | * 2025-09-29 13:52:16 |
| | | --> |
| | | <!-- 工单详情 - 包含待审核、待处理、处理中、已完成 --> |
| | | <template> |
| | | <view> 基础 </view> |
| | | <div class="workDetailContainer"> |
| | | <WebViewPlus ref="sWebViewRef" :src="`${viewUrl}`" @webMessage="onPostMessage"/> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup></script> |
| | | <script setup> |
| | | import { onLoad } from '@dcloudio/uni-app'; |
| | | import { useUserStore } from '@/store/index.js' |
| | | const userStore = useUserStore() |
| | | const userInfo = userStore.userInfo |
| | | const sWebViewRef = ref(null); |
| | | const viewUrl = ref(`http://192.168.1.157:5173/drone-app-web-view/#/webViewWrapper/workDetail?params=${JSON.stringify(userStore?.userInfo)}`); |
| | | onLoad( (options) => { |
| | | const eventNum= options.eventNum; |
| | | |
| | | viewUrl.value =`http://192.168.1.157:5173/drone-app-web-view/#/webViewWrapper/workDetail?params=${JSON.stringify(userStore?.userInfo)}&eventNum=${eventNum}` |
| | | }); |
| | | |
| | | function onPostMessage(data) { |
| | | if (data.type === 'workback'){ |
| | | |
| | | uni.switchTab({ |
| | | url: '/pages/work/index' |
| | | }); |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped></style> |
| | | <style lang="scss" scoped> |
| | | .workDetailContainer { |
| | | padding: 0 10px; |
| | | |
| | | .detailTop { |
| | | .image-container { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 200px; |
| | | |
| | | .detailImage { |
| | | width: 100%; |
| | | height: 100%; |
| | | display: block; |
| | | object-fit: cover |
| | | } |
| | | |
| | | .detailTitle { |
| | | position: absolute; |
| | | left: 0; |
| | | bottom: 0; |
| | | width: 100%; |
| | | } |
| | | |
| | | .titleText { |
| | | display: flex; |
| | | width: 100%; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .stepContainer { |
| | | margin-top: 10px; |
| | | display: flex; |
| | | background-color: antiquewhite; |
| | | border-radius: 5px; |
| | | padding: 10px; |
| | | |
| | | .horizontal-step { |
| | | display: flex; |
| | | align-items: center; |
| | | gap: 12px; |
| | | |
| | | .step-title { |
| | | min-width: 60px; |
| | | } |
| | | |
| | | .step-desc { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | gap: 8px; |
| | | // color: #666; |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | .actionButton { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | margin-bottom: 10px; |
| | | |
| | | .btngroups { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | |
| | | .u-button { |
| | | padding: 9px 20px; |
| | | height: 32px; |
| | | |
| | | &:last-child { |
| | | margin-left: 12px; |
| | | margin-right: 12px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .leftBtn { |
| | | width: 70px; |
| | | height: 32px; |
| | | background-color: #999; |
| | | border-radius: 5px; |
| | | text-align: center; |
| | | line-height: 32px; |
| | | color: #fff; |
| | | cursor: pointer; |
| | | opacity: 0.8; |
| | | } |
| | | |
| | | .disableds { |
| | | background: #999 !important; |
| | | cursor: not-allowed !important; |
| | | pointer-events: none; |
| | | opacity: 0.3 !important; |
| | | } |
| | | } |
| | | |
| | | .workOrderContent { |
| | | margin-top: 15px; |
| | | |
| | | .workOrderContainer { |
| | | div { |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .titketName { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | </style> |