834a3df1
刘淇
养护计划列表
|
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
|
<template>
<view class="page-container">
<!-- 顶部吸顶区域 -->
<up-sticky>
<view class="sticky-header">
<!-- 状态Tabs -->
<up-tabs
v-model="activeStatus"
:list="statusTabs"
line-width="40rpx"
active-color="#1989fa"
inactive-color="#666"
:scrollable="true"
class="status-tabs"
@click="handleStatusChange"
></up-tabs>
<!-- 搜索框 -->
<up-search
v-model="searchValue"
:placeholder="searchPlaceholder"
bg-color="#f5f5f5"
shape="round"
:show-action="true"
actionText="搜索"
:animation="true"
@search="handleSearch"
@custom="handleSearch"
:clearabled="false"
maxlength="50"
class="search-input"
></up-search>
</view>
</up-sticky>
<!-- 分页列表区域 -->
<z-paging
ref="pagingRef"
v-model="planList"
@query="queryList"
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
41
|
:auto-show-system-loading="true"
|
834a3df1
刘淇
养护计划列表
|
42
43
44
|
>
<!-- 空数据插槽 -->
<template #empty>
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
45
|
<empty-view/>
|
834a3df1
刘淇
养护计划列表
|
46
|
</template>
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
47
48
49
50
51
52
|
<view class="common-card-list" style=" padding-top: 170rpx;">
<up-card
:border="false"
:foot-border-top="false"
v-for="(item,index) in planList"
:key="`${item.planNo}_${index}`"
|
834a3df1
刘淇
养护计划列表
|
53
|
>
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
54
55
|
<!-- 自定义标题区域 -->
<template #head>
|
54955fb5
刘淇
巡查和养护 。 失效状态的判断
|
56
|
<view class="card-header">
|
24c0bbe7
刘淇
登录账号密码 加密存储
|
57
|
<view class="common-card-title common-name">{{ item.planName || '无计划名称' }}</view>
|
54955fb5
刘淇
巡查和养护 。 失效状态的判断
|
58
59
60
61
|
<!-- 已失效标识 -->
<view v-show="item.finishState == 3 " class="common-invalid-tag">已失效</view>
<view v-show="item.finishState == 2 " class="common-finish-tag">已完成</view>
</view>
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
62
63
64
65
|
</template>
<template #body>
<view class="card-body">
|
5b5a4862
刘淇
按钮放大
|
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
<!-- <view class="">-->
<!-- <up-button-->
<!-- type="primary"-->
<!-- size="mini"-->
<!-- @click="submitRecord(item)"-->
<!-- class="submit-record-btn"-->
<!-- :disabled="item.finishState == 3"-->
<!-- >-->
<!-- {{ item.finishState ==3 ? '补交记录' : '提交记录' }}-->
<!-- </up-button>-->
<!-- </view>-->
<view class="common-custom-btn " v-if="item.finishState ==3" style="--btn-top: 100px;" >
补交记录
</view>
<view class="common-custom-btn " v-else style="--btn-top: 100px;" @click="submitRecord(item)">
提交记录
</view>
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
87
88
89
90
91
92
93
94
95
96
97
98
99
|
<view class="u-body-item u-flex">
<view class="u-body-item-title">计划编码:</view>
<view class="u-line-1 u-body-value">{{ item.planNo || '-' }}</view>
</view>
<view class="u-body-item u-flex">
<view class="u-body-item-title">养护周期:</view>
<view class="u-line-1 u-body-value">{{ item.rate || '-' }}
{{ uni.$dict.getDictLabel('cycle_id_type', item.cycleId) }}
</view>
</view>
<view class="u-body-item u-flex common-item-center common-justify-between">
<view class="u-body-item-title">计划完成次数: {{ item.planNum || 0 }}</view>
|
5b5a4862
刘淇
按钮放大
|
100
|
<!-- <view class="">-->
|
54955fb5
刘淇
巡查和养护 。 失效状态的判断
|
101
|
<!-- <up-button-->
|
54955fb5
刘淇
巡查和养护 。 失效状态的判断
|
102
103
|
<!-- type="primary"-->
<!-- size="mini"-->
|
5b5a4862
刘淇
按钮放大
|
104
|
<!-- @click="submitRecord(item)"-->
|
54955fb5
刘淇
巡查和养护 。 失效状态的判断
|
105
|
<!-- class="submit-record-btn"-->
|
5b5a4862
刘淇
按钮放大
|
106
|
<!-- :disabled="item.finishState == 3"-->
|
54955fb5
刘淇
巡查和养护 。 失效状态的判断
|
107
|
<!-- >-->
|
5b5a4862
刘淇
按钮放大
|
108
|
<!-- {{ item.finishState ==3 ? '补交记录' : '提交记录' }}-->
|
54955fb5
刘淇
巡查和养护 。 失效状态的判断
|
109
|
<!-- </up-button>-->
|
5b5a4862
刘淇
按钮放大
|
110
|
<!-- </view>-->
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
111
112
|
</view>
|
fa775c6b
刘淇
养护计划调整
|
113
114
115
116
|
<view class="u-body-item u-flex">
<view class="u-body-item-title">完成次数:</view>
<view class="u-line-1 u-body-value">{{ item.planFinishNum || 0 }}</view>
</view>
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
117
118
119
120
121
122
123
|
<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
刘淇
养护计划列表
|
124
|
</view>
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
125
126
|
</template>
</up-card>
|
834a3df1
刘淇
养护计划列表
|
127
128
129
130
131
132
|
</view>
</z-paging>
</view>
</template>
<script setup>
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
133
|
import { ref } from 'vue'
|
834a3df1
刘淇
养护计划列表
|
134
135
136
|
import { onLoad, onShow } from '@dcloudio/uni-app'
import { timeFormat } from '@/uni_modules/uview-plus'
import { getRoadDetails } from "@/api/maintain-manage/maintain-manage";
|
834a3df1
刘淇
养护计划列表
|
137
|
// ========== 基础数据定义 ==========
|
834a3df1
刘淇
养护计划列表
|
138
|
const statusTabs = ref([
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
139
140
|
{name: '待完成', id: '1'},
{name: '已失效', id: '3'},
|
fa775c6b
刘淇
养护计划调整
|
141
142
|
{name: '已完成', id: '2'},
{ name: '已终止', id: '4' }
|
834a3df1
刘淇
养护计划列表
|
143
|
])
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
144
145
146
147
|
const activeStatus = ref('1')
const searchValue = ref('')
const planList = ref([])
const pagingRef = ref(null)
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
148
149
|
const roadId = ref('')
const finishState = ref('')
|
834a3df1
刘淇
养护计划列表
|
150
|
// 搜索占位符
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
151
|
const searchPlaceholder = ref('请输入计划名称')
|
834a3df1
刘淇
养护计划列表
|
152
|
// ========== 方法定义 ==========
|
834a3df1
刘淇
养护计划列表
|
153
|
const getUrlParams = (options) => {
|
834a3df1
刘淇
养护计划列表
|
154
155
|
if (options?.roadId) {
roadId.value = options.roadId
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
156
|
console.log('从URL获取的roadId:', roadId.value)
|
834a3df1
刘淇
养护计划列表
|
157
|
}
|
834a3df1
刘淇
养护计划列表
|
158
159
|
if (options?.finish_state) {
finishState.value = options.finish_state
|
54955fb5
刘淇
巡查和养护 。 失效状态的判断
|
160
|
// activeStatus.value = options.finish_state
|
834a3df1
刘淇
养护计划列表
|
161
162
163
|
console.log('从URL获取的finish_state:', finishState.value)
}
}
|
834a3df1
刘淇
养护计划列表
|
164
165
166
|
const handleStatusChange = (item) => {
console.log('切换状态:', item)
activeStatus.value = item.id
|
834a3df1
刘淇
养护计划列表
|
167
|
finishState.value = item.id
|
834a3df1
刘淇
养护计划列表
|
168
169
|
pagingRef.value?.reload()
}
|
834a3df1
刘淇
养护计划列表
|
170
171
|
const handleSearch = () => {
console.log('搜索关键词:', searchValue.value)
|
834a3df1
刘淇
养护计划列表
|
172
173
|
pagingRef.value?.reload()
}
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
174
|
const submitRecord = (item) => {
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
175
176
177
178
|
// 已失效状态下直接返回,不执行跳转
if (item.finishState === '3') {
return
}
|
fa775c6b
刘淇
养护计划调整
|
179
180
|
console.log('提交记录:', item.planFinishNum)
if (item.planFinishNum == 0) {
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
181
|
uni.navigateTo({
|
fa775c6b
刘淇
养护计划调整
|
182
|
url: `/pages-sub/daily/maintain-manage/add-record?finishState=${item.finishState}&planNo=${item.planNo}`
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
183
184
185
|
})
} else {
uni.navigateTo({
|
fa775c6b
刘淇
养护计划调整
|
186
|
url: `/pages-sub/daily/maintain-manage/pending-plan-detail?finishState=${item.finishState}&planNo=${item.planNo}&planTypeId=${item.planTypeId}`
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
187
|
})
|
834a3df1
刘淇
养护计划列表
|
188
|
}
|
834a3df1
刘淇
养护计划列表
|
189
|
}
|
834a3df1
刘淇
养护计划列表
|
190
191
|
const queryList = async (pageNo, pageSize) => {
try {
|
834a3df1
刘淇
养护计划列表
|
192
193
194
|
const paramsData = {
pageNo: pageNo,
pageSize: pageSize,
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
195
|
roadId: roadId.value,
|
54955fb5
刘淇
巡查和养护 。 失效状态的判断
|
196
|
finishState: activeStatus.value,
|
834a3df1
刘淇
养护计划列表
|
197
198
|
planName: searchValue.value.trim()
}
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
199
|
console.log('请求参数:', paramsData)
|
834a3df1
刘淇
养护计划列表
|
200
201
|
const res = await getRoadDetails(paramsData)
console.log(res)
|
834a3df1
刘淇
养护计划列表
|
202
|
const listData = res?.list || res || []
|
834a3df1
刘淇
养护计划列表
|
203
|
pagingRef.value?.complete(listData)
|
834a3df1
刘淇
养护计划列表
|
204
205
|
} catch (error) {
console.error('请求失败:', error)
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
206
|
uni.showToast({title: '加载失败,请重试', icon: 'none'})
|
834a3df1
刘淇
养护计划列表
|
207
|
pagingRef.value?.complete(false)
|
834a3df1
刘淇
养护计划列表
|
208
209
|
}
}
|
fb13622a
刘淇
养护计划列表 样式 差去一个卡片的头部
|
210
|
// ========== 生命周期 ==========
|
834a3df1
刘淇
养护计划列表
|
211
|
onLoad((options) => {
|
834a3df1
刘淇
养护计划列表
|
212
|
getUrlParams(options)
|
834a3df1
刘淇
养护计划列表
|
213
|
})
|
834a3df1
刘淇
养护计划列表
|
214
|
onShow(() => {
|
b0e2f1a9
刘淇
快速工单和巡查计划样式优化
|
215
216
217
218
|
// if (roadId.value) {
// pagingRef.value?.reload()
// }
pagingRef.value?.reload()
|
834a3df1
刘淇
养护计划列表
|
219
220
|
})
|
834a3df1
刘淇
养护计划列表
|
221
222
223
224
|
</script>
<style scoped lang="scss">
.page-container {
|
834a3df1
刘淇
养护计划列表
|
225
|
}
|
834a3df1
刘淇
养护计划列表
|
226
227
|
// 顶部吸顶区域样式
.sticky-header {
|
54955fb5
刘淇
巡查和养护 。 失效状态的判断
|
228
|
margin-top: -10rpx;
|
834a3df1
刘淇
养护计划列表
|
229
230
231
232
|
background-color: #ffffff;
padding-bottom: 10rpx;
border-bottom: 1px solid #eee;
|
834a3df1
刘淇
养护计划列表
|
233
234
235
236
237
|
.search-input {
margin: 20rpx 20rpx 10rpx !important;
}
}
|
834a3df1
刘淇
养护计划列表
|
238
|
|
834a3df1
刘淇
养护计划列表
|
239
|
|
834a3df1
刘淇
养护计划列表
|
240
|
</style>
|