834a3df1
刘淇
养护计划列表
|
1
2
3
|
<template>
<view class="page-container">
<!-- 顶部固定区域:Tabs + 搜索框 -->
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
4
5
|
<up-sticky>
<view class="sticky-header">
|
834a3df1
刘淇
养护计划列表
|
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<u-tabs
:list="tabList"
:is-scroll="false"
:activeStyle="{
color: '#3c9cff',
fontWeight: 'bold',
transform: 'scale(1.05)'
}"
:inactiveStyle="{
color: '#606266',
transform: 'scale(1)'
}"
font-size="28rpx"
@change="handleTabChange"
></u-tabs>
|
9b30ab8c
刘淇
新增快速工单,原版
|
21
|
|
834a3df1
刘淇
养护计划列表
|
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<up-search
v-model="searchValue"
placeholder="请输入道路名称"
bg-color="#f5f5f5"
shape="round"
:show-action="true" actionText="搜索" :animation="true"
@search="handleSearch"
@custom="handleSearch"
:clearabled="false"
maxlength="50"
style="margin: 20rpx 20rpx 0"
></up-search>
</view>
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
35
|
</up-sticky>
|
c293da23
刘淇
新园林init
|
36
|
|
834a3df1
刘淇
养护计划列表
|
37
|
<z-paging
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
38
|
ref="pagingRef"
|
834a3df1
刘淇
养护计划列表
|
39
40
|
v-model="planList"
@query="queryList"
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
41
|
:auto-show-system-loading="true"
|
834a3df1
刘淇
养护计划列表
|
42
43
44
45
46
|
>
<template #empty>
<empty-view/>
</template>
<!-- 计划卡片列表 -->
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
<view class="common-card-list" style="padding-top: 94px;">
<up-card
:border="false"
:foot-border-top="false"
:head-border-bottom="false"
v-for="(item,index) in planList"
:key="`${item.batchNo}_${index}`"
:show-head="false"
>
<template #body>
<view class="card-body">
<view class="u-body-item u-flex">
<view class="u-body-item-title">道路名称:</view>
<view class="u-line-1 u-body-value">{{ item.roadName || '-' }}</view>
</view>
|
834a3df1
刘淇
养护计划列表
|
63
|
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
64
65
66
67
|
<view class="u-body-item u-flex">
<view class="u-body-item-title">所属街道:</view>
<view class="u-line-1 u-body-value">{{ item.streetName }}
</view>
|
834a3df1
刘淇
养护计划列表
|
68
|
</view>
|
834a3df1
刘淇
养护计划列表
|
69
|
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
70
71
72
73
74
75
76
77
78
79
80
81
82
|
<view class="u-body-item u-flex common-item-center common-justify-between">
<view class="u-body-item-title">养护级别: {{uni.$dict.getDictLabel('conserve_level', item.levelId) || '-'}}</view>
<view class="u-line-1">
<up-button
type="primary"
size="mini"
@click="gotoDetail(item)"
class="submit-record-btn"
>
计划明细
</up-button>
</view>
</view>
|
834a3df1
刘淇
养护计划列表
|
83
|
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
84
85
86
87
88
89
90
91
92
93
94
|
<view class="u-body-item u-flex">
<view class="u-body-item-title">计划类型:</view>
<view class="u-line-1 u-body-value">{{uni.$dict.getDictLabel('inspection_maintain_type', item.planTypeId)}}</view>
</view>
<view class="u-body-item u-flex">
<view class="u-body-item-title">计划时间:</view>
<view class="u-line-1 u-body-value">{{ timeFormat(item.beginTime, 'yyyy-mm-dd') || '-' }} 至
{{ timeFormat(item.endTime, 'yyyy-mm-dd') || '-' }}
</view>
</view>
|
834a3df1
刘淇
养护计划列表
|
95
|
</view>
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
96
97
|
</template>
</up-card>
|
834a3df1
刘淇
养护计划列表
|
98
99
100
101
|
</view>
</z-paging>
</view>
|
5cb33b90
刘淇
完成巡查计划 详情
|
102
|
</template>
|
c293da23
刘淇
新园林init
|
103
|
|
834a3df1
刘淇
养护计划列表
|
104
105
106
107
108
109
110
111
112
113
114
|
<script setup>
import { timeFormat } from '@/uni_modules/uview-plus';
import { ref } from 'vue';
import { onLoad, onShow } from '@dcloudio/uni-app';
import { inspectionPlanPage } from "@/api/patrol-manage/patrol-plan";
// Tabs 配置
const tabList = ref([
{name: '待完成', id: '1'},
{name: '已失效', id: '3'},
{name: '已完成', id: '2'}
]);
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
115
|
const pagingRef = ref(null)
|
834a3df1
刘淇
养护计划列表
|
116
117
118
119
|
const activeTab = ref('1');
// 搜索相关
const searchValue = ref('');
// 分页相关
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
120
121
|
// const pageNo = ref(1);
// const pageSize = ref(10);
|
834a3df1
刘淇
养护计划列表
|
122
123
|
const planList = ref([]);
|
834a3df1
刘淇
养护计划列表
|
124
125
126
127
128
129
130
131
|
// Tab切换
const handleTabChange = (val) => {
console.log(val)
console.log(activeTab.value)
activeTab.value = val.id
searchValue.value = ''
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
132
|
pagingRef.value.reload()
|
834a3df1
刘淇
养护计划列表
|
133
134
135
136
137
|
};
// 搜索/清空搜索
const handleSearch = () => {
// searchValue.value = '';
console.log(searchValue.value)
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
138
|
pagingRef.value.reload()
|
834a3df1
刘淇
养护计划列表
|
139
140
141
|
};
const handleSearchClear = () => {
// searchValue.value = ''
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
142
|
pagingRef.value.reload()
|
834a3df1
刘淇
养护计划列表
|
143
144
145
146
147
148
149
150
151
152
153
154
155
|
};
// 加载数据
const queryList = async (pageNo, pageSize) => {
try {
const params = {
roadName: searchValue.value.trim() || '',
pageNo: pageNo,
pageSize: pageSize,
finishState: activeTab.value
};
console.log('请求参数:', params);
const res = await inspectionPlanPage(params);
console.log('接口返回:', res);
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
156
|
pagingRef.value.complete(res.list);
|
834a3df1
刘淇
养护计划列表
|
157
158
159
|
} catch (error) {
console.error('加载失败:', error);
// 修复点4:加载失败调用complete(false)
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
160
|
pagingRef.value?.complete(false);
|
834a3df1
刘淇
养护计划列表
|
161
162
163
164
165
166
|
uni.showToast({title: '加载失败,请重试', icon: 'none'});
}
};
// 跳转明细
const gotoDetail = (item) => {
uni.navigateTo({
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
167
|
url: `/pages-sub/daily/patrol-manage/pending-plan-detail?batchNo=${item.batchNo}&status=${activeTab.value}`
|
834a3df1
刘淇
养护计划列表
|
168
169
170
171
|
});
};
// 修复点5:优化页面生命周期逻辑
onLoad(() => {
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
172
173
|
// auto=true时,z-pagingRef会自动触发query,此处可省略手动调用;若需强制初始化,可加:
// pagingRef.value?.triggerQuery();
|
834a3df1
刘淇
养护计划列表
|
174
175
176
|
});
// 仅在页面从明细页返回时,若有数据则刷新当前tab数据(避免干扰上拉加载)
onShow(() => {
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
177
|
pagingRef.value?.reload()
|
834a3df1
刘淇
养护计划列表
|
178
179
180
181
|
});
</script>
<style scoped lang="scss">
|
834a3df1
刘淇
养护计划列表
|
182
|
.page-container {
|
834a3df1
刘淇
养护计划列表
|
183
|
|
834a3df1
刘淇
养护计划列表
|
184
|
}
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
185
186
187
|
.sticky-header {
background-color: #ffffff;
padding-bottom: 10rpx;
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
188
189
190
|
.search-input {
margin: 20rpx 20rpx 10rpx !important;
}
|
834a3df1
刘淇
养护计划列表
|
191
|
}
|
c293da23
刘淇
新园林init
|
192
|
</style>
|