Blame view

pages-sub/daily/maintain-manage/finish-plan-detail.vue 4.11 KB
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
1
  <template>
df24e712   刘淇   养护计划 添加 待优化
2
    <view class="page-container">
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
3
4
5
6
7
8
9
10
11
12
      <!-- 页面级加载组件 -->
      <up-loading-page
          v-if="loading"
          :loading="true"
          title="加载中..."
          color="#3c9cff"
      ></up-loading-page>
  
      <!-- 内容容器 -->
      <view v-else class="content-wrap">
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
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
        <template v-for="(i, index) in orderDetail" :key="index">
          <!-- 工单详情内容 -->
          <up-cell-group :border="false" inset style="margin: 20rpx;">
            <!-- 1. 工单编号 -->
            <up-cell
                :title="i.planName"
  
                class="up-line-1"
                align="middle"
            ></up-cell>
  
            <!-- 2. 工单位置 -->
            <up-cell
                title="计划编码"
                :value="i.planNo || '--'"
                class="up-line-1"
                align="middle"
            ></up-cell>
  
            <!-- 3. 工单名称 -->
            <up-cell
                title="养护周期"
                :value="`${i.rate}${uni.$dict.getDictLabel('cycle_id_type', i.cycleId)}`"
                class="up-line-1"
                align="middle"
            ></up-cell>
  
            <!-- 4. 情况描述 -->
            <up-cell
                title="计划有效期"
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
43
                :value="`${timeFormat(i.beginTime,'yyyy-mm-dd')} 至 ${timeFormat(i. endTime,'yyyy-mm-dd')}`"
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
44
45
46
47
48
                class="up-line-1"
                align="middle"
            ></up-cell>
  
            <!-- 5. 问题照片(核心修复:判断条件+空值处理) -->
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
49
            <up-cell title="照片">
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
              <template #value>
                <view class="cell-content-wrap">
  
                  <!-- 修复1:正确判断problemImgsList,补充空数组默认值 -->
                  <up-album
                      v-if="!!i.imgList?.length"
                      :urls="i.imgList || []"
                      singleSize="70"
                      :preview-full-image="true"
  
                  ></up-album>
                  <text v-else class="empty-text">暂无问题照片</text>
                </view>
              </template>
            </up-cell>
  
            <!-- 7. 处理结果 -->
            <up-cell
                title="巡查描述"
                :value="i.remark || '--'"
                class="up-line-1"
                align="middle"
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
72
  
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
73
74
75
76
            ></up-cell>
  
            <up-cell
                title="提交时间"
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
77
                :value="timeFormat(i.finishTime,'yyyy-mm-dd hh:MM:ss') || '--'"
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
78
79
                class="up-line-1"
                align="middle"
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
80
  
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
            ></up-cell>
  
  
            <up-cell
                title="提交人"
                :value="i.userName || '--'"
                class="up-line-1"
                align="middle"
                :border="false"
            ></up-cell>
          </up-cell-group>
        </template>
  
  
      </view>
    </view>
  </template>
  
  <script setup lang="ts">
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
100
101
102
103
  import {ref} from 'vue';
  import {detailList} from "@/api/maintain-manage/maintain-manage";
  import {onLoad} from '@dcloudio/uni-app';
  import {timeFormat} from '@/uni_modules/uview-plus';
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
104
105
106
107
108
  // 状态管理
  const loading = ref(true);
  const orderDetail = ref([]);
  
  
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
109
110
111
  /**
   * 获取工单详情
   */
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
112
  const getOrderDetail = async (plan_no: string) => {
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
113
114
    try {
      loading.value = true;
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
115
      const res = await detailList({plan_no});
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
116
117
      console.log('接口返回:', res);
      // 优化:确保图片数组为数组类型,避免非数组导致渲染错误
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
118
119
120
121
122
123
124
125
      // orderDetail.value
      // orderDetail.value = {
      //   ...res,
      //   problemImgsList: Array.isArray(res.problemImgsList) ? res.problemImgsList : [],
      //   completeImgsList: Array.isArray(res.completeImgsList) ? res.completeImgsList : []
      // };
  
      orderDetail.value = res;
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
126
127
    } catch (error) {
      console.error('获取工单详情失败:', error);
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
128
      uni.showToast({title: '加载失败,请重试', icon: 'none'});
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
129
130
131
132
133
134
135
    } finally {
      loading.value = false;
    }
  };
  
  // 页面加载
  onLoad((options) => {
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
136
    const {planNo} = options;
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
137
138
139
140
    if (planNo) {
      getOrderDetail(planNo);
    } else {
      loading.value = false;
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
141
      uni.showToast({title: '缺少工单ID', icon: 'none'});
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
142
143
144
145
146
    }
  });
  </script>
  
  <style scoped lang="scss">
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
147
148
149
150
151
152
  
  // 内容容器
  .content-wrap {
    background: #fff;
    width: 100%;
    box-sizing: border-box;
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
153
    margin-bottom: 20rpx;
fb13622a   刘淇   养护计划列表 样式 差去一个卡片的头部
154
155
156
157
  }
  
  
  </style>