a2702f6d
刘淇
巡查计划
|
1
2
3
|
<template>
<view class="pending-plan-detail">
<!-- 计划详情卡片 -->
|
5cb33b90
刘淇
完成巡查计划 详情
|
4
|
<view class="detail-card" v-for="i in planInfo" :key="i.planNo">
|
a2702f6d
刘淇
巡查计划
|
5
6
|
<!-- 标题行 -->
<view class="detail-item">
|
993d98fa
刘淇
工作台
|
7
|
<text class="label">计划名称:</text>
|
5cb33b90
刘淇
完成巡查计划 详情
|
8
|
<text class="value up-line-1">{{ i.planName || '-' }}</text>
|
a2702f6d
刘淇
巡查计划
|
9
10
11
12
13
|
</view>
<!-- 计划编码行 -->
<view class="detail-item">
<text class="label">计划编码:</text>
|
5cb33b90
刘淇
完成巡查计划 详情
|
14
|
<text class="value up-line-1">{{ i.planNo || '-' }}</text>
|
a2702f6d
刘淇
巡查计划
|
15
16
17
18
19
|
</view>
<!-- 养护周期行 -->
<view class="detail-item">
<text class="label">养护周期:</text>
|
5cb33b90
刘淇
完成巡查计划 详情
|
20
21
|
<text class="value up-line-1">{{ i.rate || '-' }} {{ uni.$dict.getDictLabel('cycle_id_type', i.cycleId) }}
</text>
|
a2702f6d
刘淇
巡查计划
|
22
|
</view>
|
5cb33b90
刘淇
完成巡查计划 详情
|
23
|
<!-- cycle_id_type-->
|
a2702f6d
刘淇
巡查计划
|
24
25
26
|
<!-- 计划完成次数行 -->
<view class="detail-item">
<text class="label">计划完成次数:</text>
|
5cb33b90
刘淇
完成巡查计划 详情
|
27
|
<text class="value up-line-1">{{ i.planNum || 0 }} 次</text>
|
a2702f6d
刘淇
巡查计划
|
28
29
30
31
32
33
|
</view>
<!-- 已完成次数行 + 查看记录按钮 -->
<view class="detail-item flex-between">
<view class="left-wrap">
<text class="label">已完成次数:</text>
|
5cb33b90
刘淇
完成巡查计划 详情
|
34
|
<text class="value up-line-1">{{ planInfo.i || 0 }} 次</text>
|
a2702f6d
刘淇
巡查计划
|
35
36
|
</view>
<!-- 查看记录按钮(限制宽度+紧凑样式) -->
|
5cb33b90
刘淇
完成巡查计划 详情
|
37
|
|
993d98fa
刘淇
工作台
|
38
|
<up-button
|
5cb33b90
刘淇
完成巡查计划 详情
|
39
|
v-if="i.planFinishNum>0"
|
a2702f6d
刘淇
巡查计划
|
40
41
|
type="primary"
size="mini"
|
5cb33b90
刘淇
完成巡查计划 详情
|
42
|
@click="gotoFinishPlanDetail(i)"
|
993d98fa
刘淇
工作台
|
43
|
:style="{ width: '80px', height: '28px', fontSize: '14px', borderRadius: 4 }"
|
a2702f6d
刘淇
巡查计划
|
44
45
|
>
查看记录
|
993d98fa
刘淇
工作台
|
46
|
</up-button>
|
a2702f6d
刘淇
巡查计划
|
47
48
49
50
51
|
</view>
<!-- 计划有效期行 -->
<view class="detail-item">
<text class="label">计划有效期:</text>
|
5cb33b90
刘淇
完成巡查计划 详情
|
52
53
54
55
|
<!-- <text class="value up-line-1">{{ planInfo && planInfo.validTime ? planInfo.validTime : '-' }}</text>-->
<text class="value up-line-1">{{ timeFormat(i.beginTime, 'yyyy-mm-dd') }} 至
{{ timeFormat(i.endTime, 'yyyy-mm-dd') }}
</text>
|
a2702f6d
刘淇
巡查计划
|
56
57
58
|
</view>
</view>
|
5cb33b90
刘淇
完成巡查计划 详情
|
59
60
|
<!-- 底部新增记录按钮 status=3-->
<view class="fixed-bottom-btn-wrap" v-if="finishState==1">
|
993d98fa
刘淇
工作台
|
61
|
<up-button
|
a2702f6d
刘淇
巡查计划
|
62
63
|
type="primary"
size="default"
|
5cb33b90
刘淇
完成巡查计划 详情
|
64
|
@click="addNewRecord"
|
993d98fa
刘淇
工作台
|
65
|
:style="{ width: '100%', height: '88rpx', fontSize: '32rpx', borderRadius: 0 }"
|
a2702f6d
刘淇
巡查计划
|
66
67
|
>
新增记录
|
993d98fa
刘淇
工作台
|
68
|
</up-button>
|
a2702f6d
刘淇
巡查计划
|
69
70
71
72
73
|
</view>
</view>
</template>
<script setup>
|
993d98fa
刘淇
工作台
|
74
|
import { timeFormat } from '@/uni_modules/uview-plus';
|
a2702f6d
刘淇
巡查计划
|
75
76
|
import { ref } from 'vue';
import { onLoad, onShow } from '@dcloudio/uni-app';
|
993d98fa
刘淇
工作台
|
77
|
import { inspectionPlanDetail } from "@/api/patrol-manage/patrol-plan";
|
a2702f6d
刘淇
巡查计划
|
78
|
// 响应式数据定义
|
5cb33b90
刘淇
完成巡查计划 详情
|
79
|
const planInfo = ref([]);
|
993d98fa
刘淇
工作台
|
80
|
const batchNo = ref('')
|
5cb33b90
刘淇
完成巡查计划 详情
|
81
|
const planNo = ref('')
|
993d98fa
刘淇
工作台
|
82
|
const finishState = ref('')
|
a2702f6d
刘淇
巡查计划
|
83
84
|
// 页面加载接收参数
onLoad((options) => {
|
993d98fa
刘淇
工作台
|
85
86
|
console.log('计划ID:', options.batchNo);
batchNo.value = options.batchNo;
|
5cb33b90
刘淇
完成巡查计划 详情
|
87
|
// planNo.value = options.planNo;
|
993d98fa
刘淇
工作台
|
88
|
finishState.value = options.status
|
a2702f6d
刘淇
巡查计划
|
89
|
});
|
a2702f6d
刘淇
巡查计划
|
90
91
|
// 页面显示时请求数据
onShow(() => {
|
993d98fa
刘淇
工作台
|
92
|
if (!batchNo.value) {
|
a2702f6d
刘淇
巡查计划
|
93
94
95
96
97
98
|
uni.showToast({
title: '计划ID不存在',
icon: 'none'
});
return;
}
|
993d98fa
刘淇
工作台
|
99
|
getPlanDetail(batchNo.value);
|
a2702f6d
刘淇
巡查计划
|
100
|
});
|
993d98fa
刘淇
工作台
|
101
102
103
104
105
106
107
|
const getPlanDetail = async () => {
const queryData = {
batchNo: batchNo.value,
finishState: finishState.value
}
console.log(queryData)
const planInfoRes = await inspectionPlanDetail(queryData)
|
5cb33b90
刘淇
完成巡查计划 详情
|
108
|
planInfo.value = planInfoRes
|
993d98fa
刘淇
工作台
|
109
|
console.log(planInfoRes)
|
a2702f6d
刘淇
巡查计划
|
110
|
};
|
a2702f6d
刘淇
巡查计划
|
111
|
// 跳转到已完成计划明细
|
5cb33b90
刘淇
完成巡查计划 详情
|
112
|
const gotoFinishPlanDetail = (i) => {
|
a2702f6d
刘淇
巡查计划
|
113
|
uni.navigateTo({
|
5cb33b90
刘淇
完成巡查计划 详情
|
114
|
url: `/pages-sub/daily/patrol-manage/finish-plan-detail/index?planNo=${i.planNo}`
|
a2702f6d
刘淇
巡查计划
|
115
116
|
});
};
|
a2702f6d
刘淇
巡查计划
|
117
118
|
// 新增记录
const addNewRecord = () => {
|
a2702f6d
刘淇
巡查计划
|
119
|
uni.navigateTo({
|
5cb33b90
刘淇
完成巡查计划 详情
|
120
|
url: `/pages-sub/daily/patrol-manage/add-patrol-record/index?planNo=${planInfo.value[0].planNo}&batchNo=${batchNo.value}`,
|
a2702f6d
刘淇
巡查计划
|
121
122
123
124
125
126
|
});
};
</script>
<style scoped lang="scss">
.pending-plan-detail {
|
5cb33b90
刘淇
完成巡查计划 详情
|
127
|
|
a2702f6d
刘淇
巡查计划
|
128
129
130
131
132
|
}
.detail-card {
padding: 20rpx;
background-color: #fff;
|
5cb33b90
刘淇
完成巡查计划 详情
|
133
|
margin-bottom: 20px;
|
a2702f6d
刘淇
巡查计划
|
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
}
.detail-item {
display: flex;
align-items: center;
font-size: 28rpx;
line-height: 1.8;
padding: 10rpx 0;
border-bottom: 1px solid #f5f5f5;
&:last-child {
border-bottom: none;
}
}
.flex-between {
display: flex;
justify-content: space-between;
align-items: center;
.left-wrap {
display: flex;
align-items: center;
flex: 1; // 占满剩余空间,按钮靠右
}
}
.label {
color: #999;
width: 200rpx;
flex-shrink: 0;
}
.value {
color: #333;
flex: 1;
word-break: break-all;
}
|
a2702f6d
刘淇
巡查计划
|
173
|
</style>
|