chenyao
2025-10-17 4de4baa6eea8f80160f6cdc8a4ebd17c0c48f0ee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<!-- 工单详情 - 包含待审核、待处理、处理中、已完成 -->
<template>
    <div class="workDetailContainer">
         <WebViewPlus ref="sWebViewRef" :src="`${viewUrl}`" @webMessage="onPostMessage"/>
    </div>
</template>
 
<script setup>
        import {getWebViewUrl} from "@/utils/index.js";
    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('')
    onLoad( (options) => {
        const eventNum= options.eventNum;    
        viewUrl.value = getWebViewUrl('/workDetail', {eventNum:eventNum})    
    });
    
    function onPostMessage(data) {
      if (data.type === 'workback'){
        
        uni.switchTab({
          url: '/pages/work/index'
        });
      }
    }
</script>
 
<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>