Blame view

pages-sub/daily/quick-order/order-detail.vue 5.01 KB
9b30ab8c   刘淇   新增快速工单,原版
1
  <template>
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
2
    <view class="page-container">
420cb443   刘淇   快速工单列表
3
      <!-- 页面级加载组件 -->
9b30ab8c   刘淇   新增快速工单,原版
4
5
6
7
8
9
10
      <up-loading-page
          v-if="loading"
          :loading="true"
          title="加载中..."
          color="#3c9cff"
      ></up-loading-page>
  
420cb443   刘淇   快速工单列表
11
      <!-- 内容容器 -->
9b30ab8c   刘淇   新增快速工单,原版
12
      <view v-else class="content-wrap">
420cb443   刘淇   快速工单列表
13
        <!-- 空状态 -->
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
14
15
        <view v-if="!Object.keys(orderDetail).length" >
          <empty-view />
420cb443   刘淇   快速工单列表
16
17
18
        </view>
  
        <!-- 工单详情内容 -->
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
19
        <up-cell-group :border="false" inset  v-else>
9b30ab8c   刘淇   新增快速工单,原版
20
21
22
23
          <!-- 1. 工单编号 -->
          <up-cell
              title="工单编号"
              :value="orderDetail.orderNo || '--'"
e6a04285   刘淇   单图情况 宽高70*70
24
  
9b30ab8c   刘淇   新增快速工单,原版
25
26
27
28
29
              align="middle"
          ></up-cell>
  
          <!-- 2. 工单位置 -->
          <up-cell
9b30ab8c   刘淇   新增快速工单,原版
30
              align="middle"
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
31
32
          >
            <template #title>
4570c70a   刘淇   消息中心
33
              <view  style="min-width: 200rpx">工单道路</view>
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
34
35
            </template>
            <template #value>
c7df828a   刘淇   快速工单 样式优化
36
              <view  class="up-line-1 common-text-color" >{{orderDetail.roadName || '--'}}</view>
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
37
38
            </template>
  
4570c70a   刘淇   消息中心
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
  
          </up-cell>
  
  
          <up-cell
              align="middle"
          >
            <template #title>
              <view  style="min-width: 200rpx">工单位置</view>
            </template>
            <template #value>
              <view  class="up-line-1 common-text-color" >{{orderDetail.lonLatAddress || '--'}}</view>
            </template>
            lonLatAddress
  
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
54
          </up-cell>
9b30ab8c   刘淇   新增快速工单,原版
55
56
57
58
59
  
          <!-- 3. 工单名称 -->
          <up-cell
              title="工单名称"
              :value="orderDetail.orderName || '--'"
9b30ab8c   刘淇   新增快速工单,原版
60
61
62
63
64
              align="middle"
          ></up-cell>
  
          <!-- 4. 情况描述 -->
          <up-cell
9b30ab8c   刘淇   新增快速工单,原版
65
              align="middle"
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
66
67
68
69
70
          >
            <template #title>
              <view  style="min-width: 200rpx">情况描述</view>
            </template>
            <template #value>
c7df828a   刘淇   快速工单 样式优化
71
              <view  class="up-line-1 common-text-color" >{{orderDetail.remark || '--'}}</view>
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
72
73
            </template>
          </up-cell>
9b30ab8c   刘淇   新增快速工单,原版
74
  
d6406a70   刘淇   快速工单 详情 照片处理
75
          <!-- 5. 问题照片 -->
420cb443   刘淇   快速工单列表
76
77
          <up-cell title="问题照片" >
            <template #value>
d6406a70   刘淇   快速工单 详情 照片处理
78
            <view class="cell-content-wrap" >
420cb443   刘淇   快速工单列表
79
  
9b30ab8c   刘淇   新增快速工单,原版
80
              <up-album
d6406a70   刘淇   快速工单 详情 照片处理
81
                  :urls="orderDetail.problemsImgs "
420cb443   刘淇   快速工单列表
82
                  singleSize="70"
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
83
                  multipleSize="70"
d6406a70   刘淇   快速工单 详情 照片处理
84
85
                  :preview-full-image="true"
  
9b30ab8c   刘淇   新增快速工单,原版
86
              ></up-album>
d6406a70   刘淇   快速工单 详情 照片处理
87
  <!--            <text v-else class="empty-text">暂无问题照片</text>-->
9b30ab8c   刘淇   新增快速工单,原版
88
            </view>
420cb443   刘淇   快速工单列表
89
            </template>
9b30ab8c   刘淇   新增快速工单,原版
90
91
          </up-cell>
  
d6406a70   刘淇   快速工单 详情 照片处理
92
93
          <!-- 6. 完成照片 -->
          <up-cell title="完成照片">
420cb443   刘淇   快速工单列表
94
            <template #value>
9b30ab8c   刘淇   新增快速工单,原版
95
96
            <view class="cell-content-wrap">
              <up-album
d6406a70   刘淇   快速工单 详情 照片处理
97
98
  
                  :urls="orderDetail.endImgs"
420cb443   刘淇   快速工单列表
99
                  singleSize="70"
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
100
                  multipleSize="70"
9b30ab8c   刘淇   新增快速工单,原版
101
                  :preview-full-image="true"
420cb443   刘淇   快速工单列表
102
  
9b30ab8c   刘淇   新增快速工单,原版
103
              ></up-album>
d6406a70   刘淇   快速工单 详情 照片处理
104
  <!--            <text v-else class="empty-text">暂无完成照片</text>-->
9b30ab8c   刘淇   新增快速工单,原版
105
            </view>
420cb443   刘淇   快速工单列表
106
            </template>
9b30ab8c   刘淇   新增快速工单,原版
107
108
109
110
          </up-cell>
  
          <!-- 7. 处理结果 -->
          <up-cell
9b30ab8c   刘淇   新增快速工单,原版
111
112
              align="middle"
              :border="false"
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
113
114
115
116
117
          >
            <template #title>
              <view  style="min-width: 200rpx">处理结果</view>
            </template>
            <template #value>
c7df828a   刘淇   快速工单 样式优化
118
              <view  class="up-line-1 common-text-color" >{{orderDetail.handleResult || '--'}}</view>
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
119
120
            </template>
          </up-cell>
9b30ab8c   刘淇   新增快速工单,原版
121
        </up-cell-group>
9b30ab8c   刘淇   新增快速工单,原版
122
123
124
125
126
      </view>
    </view>
  </template>
  
  <script setup lang="ts">
d6406a70   刘淇   快速工单 详情 照片处理
127
  import { ref } from 'vue';
9b30ab8c   刘淇   新增快速工单,原版
128
  import { inspectionPlanDetail } from "@/api/quick-order/quick-order";
d6406a70   刘淇   快速工单 详情 照片处理
129
  import { onLoad } from '@dcloudio/uni-app';
420cb443   刘淇   快速工单列表
130
  
6bce1057   刘淇   ai 大区经理
131
  // 给orderDetail指定类型,明确图片数组的类型
d6406a70   刘淇   快速工单 详情 照片处理
132
133
134
135
136
  interface OrderDetail {
    problemsImgs?: string[];
    endImgs?: string[];
    [key: string]: any; // 兼容其他属性
  }
9b30ab8c   刘淇   新增快速工单,原版
137
  
6bce1057   刘淇   ai 大区经理
138
  // 初始化时给图片数组赋空数组,避免模板解析时访问undefined
d6406a70   刘淇   快速工单 详情 照片处理
139
140
141
142
143
  const orderDetail = ref<OrderDetail>({
    problemsImgs: [],
    endImgs: []
  });
  const loading = ref(true);
9b30ab8c   刘淇   新增快速工单,原版
144
145
146
147
148
149
150
151
  
  /**
   * 获取工单详情
   */
  const getOrderDetail = async (id: string) => {
    try {
      loading.value = true;
      const res = await inspectionPlanDetail({ id });
d6406a70   刘淇   快速工单 详情 照片处理
152
153
      console.log('接口返回problemsImgs:', res.problemsImgs); // 确认数据存在
      // 修复3:解构赋值时,强制保证图片数组为数组类型
420cb443   刘淇   快速工单列表
154
155
      orderDetail.value = {
        ...res,
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
156
157
        problemsImgs: Array.isArray(res.problemsImgs) ? res.problemsImgs : [],
        endImgs: Array.isArray(res.endImgs) ? res.endImgs : []
420cb443   刘淇   快速工单列表
158
      };
9b30ab8c   刘淇   新增快速工单,原版
159
160
161
162
163
164
165
166
    } catch (error) {
      console.error('获取工单详情失败:', error);
      uni.showToast({ title: '加载失败,请重试', icon: 'none' });
    } finally {
      loading.value = false;
    }
  };
  
9b30ab8c   刘淇   新增快速工单,原版
167
168
169
170
171
172
173
174
175
176
177
178
  onLoad((options) => {
    const { id } = options;
    if (id) {
      getOrderDetail(id);
    } else {
      loading.value = false;
      uni.showToast({ title: '缺少工单ID', icon: 'none' });
    }
  });
  </script>
  
  <style scoped lang="scss">
9b30ab8c   刘淇   新增快速工单,原版
179
  
420cb443   刘淇   快速工单列表
180
  // 内容容器
9b30ab8c   刘淇   新增快速工单,原版
181
182
183
184
  .content-wrap {
    background: #fff;
    width: 100%;
    box-sizing: border-box;
420cb443   刘淇   快速工单列表
185
186
  }
  
d6406a70   刘淇   快速工单 详情 照片处理
187
188
189
190
191
192
  .cell-content-wrap {
    :deep(image) { // 小程序中图片标签是image,且需要穿透样式隔离
      width: 70px !important;
      height: 70px !important;
    }
  }
420cb443   刘淇   快速工单列表
193
  
420cb443   刘淇   快速工单列表
194
  
9b30ab8c   刘淇   新增快速工单,原版
195
  </style>