9b30ab8c
刘淇
新增快速工单,原版
|
1
|
<template>
|
420cb443
刘淇
快速工单列表
|
2
|
<view class="u-page">
|
9b30ab8c
刘淇
新增快速工单,原版
|
3
4
5
|
<!-- 顶部固定搜索栏 -->
<up-sticky>
<view class="search-header">
|
420cb443
刘淇
快速工单列表
|
6
7
8
9
10
11
12
13
14
15
|
<!-- 左侧下拉框:替换为uView Plus的Select组件 -->
<view class="select-wrap">
<up-select
v-model:current="selectedSortValue"
:options="sortOptions"
:showOptionsLabel="true"
@select="handleSortChange"
border="surround"
:style="{ flex: 1 }"
/>
|
9b30ab8c
刘淇
新增快速工单,原版
|
16
|
</view>
|
c293da23
刘淇
新园林init
|
17
|
|
9b30ab8c
刘淇
新增快速工单,原版
|
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<!-- 右侧搜索框 -->
<view class="search-input-wrap">
<up-search
v-model="searchValue"
placeholder="请输入关键字"
@search="handleSearch"
bg-color="#f5f5f5"
:clearabled="false"
:show-action="true"
actionText="搜索"
:animation="true"
@custom="handleSearch"
/>
</view>
</view>
</up-sticky>
|
c293da23
刘淇
新园林init
|
34
|
|
9b30ab8c
刘淇
新增快速工单,原版
|
35
36
37
38
39
40
|
<!-- 列表容器 -->
<z-paging
ref="paging"
v-model="orderList"
@query="queryList"
:top="100"
|
420cb443
刘淇
快速工单列表
|
41
|
:bottom="120"
|
9b30ab8c
刘淇
新增快速工单,原版
|
42
|
>
|
420cb443
刘淇
快速工单列表
|
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
<template #empty>
<empty-view/>
</template>
<!-- 修复:新增列表容器,配置顶部内边距 -->
<view class="order-list">
<view class="order-card" v-for="item in orderList" :key="item.orderNo">
<view class="order-item up-line-1">工单编号:{{ item.orderNo }}</view>
<view class="order-item up-line-1">工单位置:{{ item.roadName || '未填写' }}</view>
<view class="order-item up-line-1">工单名称:{{ item.orderName || '未填写' }}</view>
<view class="order-item up-line-1">情况描述:{{ item.remark || '无' }}</view>
<view class="order-footer">
<view class="submit-time up-line-1">提交时间:{{ timeFormat(item.createTime, 'yyyy-mm-dd hh:MM:ss') }}</view>
<up-button
type="primary"
size="mini"
@click="handleDetail(item)"
:style="{ width: '80px', height: '28px', fontSize: '14px', borderRadius: 4 }"
>
工单详情
</up-button>
</view>
|
9b30ab8c
刘淇
新增快速工单,原版
|
65
66
|
</view>
</view>
|
9b30ab8c
刘淇
新增快速工单,原版
|
67
|
</z-paging>
|
c293da23
刘淇
新园林init
|
68
|
|
9b30ab8c
刘淇
新增快速工单,原版
|
69
70
71
72
73
74
75
|
<!-- 修复:补充底部按钮样式层级 -->
<view class="fixed-bottom-btn-wrap">
<up-button type="primary" size="large" @click="handleAddOrder">
新增工单
</up-button>
</view>
</view>
|
c293da23
刘淇
新园林init
|
76
77
|
</template>
|
9b30ab8c
刘淇
新增快速工单,原版
|
78
|
<script setup>
|
420cb443
刘淇
快速工单列表
|
79
|
import { ref, computed } from 'vue';
|
9b30ab8c
刘淇
新增快速工单,原版
|
80
81
82
83
|
import { workorderPage } from "@/api/quick-order/quick-order";
import { timeFormat } from '@/uni_modules/uview-plus';
// ========== 修复1:声明所有核心响应式变量 ==========
// 顶部/底部高度(rpx)
|
420cb443
刘淇
快速工单列表
|
84
|
// 排序相关:适配up-select的格式
|
9b30ab8c
刘淇
新增快速工单,原版
|
85
|
const selectedSortValue = ref(1);
|
420cb443
刘淇
快速工单列表
|
86
|
// 1 位置 2 工单名称 3 情况描述 4 工单编号
|
9b30ab8c
刘淇
新增快速工单,原版
|
87
|
const sortOptions = ref([
|
420cb443
刘淇
快速工单列表
|
88
89
90
91
|
{name: '位置', id: 1},
{name: '名称', id: 2},
{name: '描述', id: 3},
{name: '编号', id: 4},
|
9b30ab8c
刘淇
新增快速工单,原版
|
92
93
94
95
96
97
98
99
|
]);
// 分页相关(核心:声明orderList)
const pageNo = ref(1);
const pageSize = ref(10);
const paging = ref(null);
const orderList = ref([]); // 修复:新增列表变量
// 搜索相关
const searchValue = ref('');
|
9b30ab8c
刘淇
新增快速工单,原版
|
100
|
// ========== 修复3:适配z-paging回调参数 ==========
|
420cb443
刘淇
快速工单列表
|
101
|
const queryList = async (pageNo, pageSize) => {
|
9b30ab8c
刘淇
新增快速工单,原版
|
102
103
104
105
106
107
|
try {
// 修复:z-paging的query回调参数是对象 {pageNo, pageSize}
const apiParams = {
searchContent: searchValue.value.trim() || '',
pageNo: pageNo,
pageSize: pageSize,
|
420cb443
刘淇
快速工单列表
|
108
|
type: selectedSortValue.value // 1 位置 2 工单名称 3 情况描述 4 工单编号
|
9b30ab8c
刘淇
新增快速工单,原版
|
109
110
111
112
|
};
console.log('请求参数:', apiParams);
const res = await workorderPage(apiParams);
console.log('接口返回:', res);
|
9b30ab8c
刘淇
新增快速工单,原版
|
113
114
115
116
|
paging.value.complete(res.list);
} catch (error) {
console.error('加载失败:', error);
paging.value?.complete(false);
|
420cb443
刘淇
快速工单列表
|
117
|
uni.showToast({title: '加载失败,请重试', icon: 'none'});
|
9b30ab8c
刘淇
新增快速工单,原版
|
118
119
|
}
};
|
9b30ab8c
刘淇
新增快速工单,原版
|
120
121
122
|
// ========== 其他方法补充 ==========
const handleSortChange = (val) => {
console.log('排序变更:', val);
|
420cb443
刘淇
快速工单列表
|
123
124
|
searchValue.value = ''
selectedSortValue.value = val.id; // 更新选中值
|
9b30ab8c
刘淇
新增快速工单,原版
|
125
126
|
paging.value?.reload(); // 排序后刷新列表
};
|
9b30ab8c
刘淇
新增快速工单,原版
|
127
128
129
130
131
|
const handleSearch = (val) => {
console.log('搜索内容:', val);
searchValue.value = val;
paging.value?.reload(); // 搜索后刷新列表
};
|
9b30ab8c
刘淇
新增快速工单,原版
|
132
133
134
135
136
137
|
const handleDetail = (item) => {
console.log('工单详情:', item);
uni.navigateTo({
url: `/pages-sub/daily/quick-order/order-detail?id=${item.id}`
});
};
|
9b30ab8c
刘淇
新增快速工单,原版
|
138
139
140
141
142
|
const handleAddOrder = () => {
uni.navigateTo({
url: '/pages-sub/daily/quick-order/add-order'
});
};
|
9b30ab8c
刘淇
新增快速工单,原版
|
143
144
145
|
</script>
<style scoped lang="scss">
|
420cb443
刘淇
快速工单列表
|
146
|
|
9b30ab8c
刘淇
新增快速工单,原版
|
147
148
149
150
151
152
153
|
// 顶部搜索栏
.search-header {
display: flex;
align-items: center;
padding: 20rpx;
background-color: #fff;
|
9b30ab8c
刘淇
新增快速工单,原版
|
154
155
|
box-sizing: border-box;
|
420cb443
刘淇
快速工单列表
|
156
157
158
159
|
// 下拉选择框容器
.select-wrap {
width: 80px;
color: #333;
|
9b30ab8c
刘淇
新增快速工单,原版
|
160
|
margin-right: 20rpx;
|
420cb443
刘淇
快速工单列表
|
161
162
163
164
165
166
167
168
169
|
// 适配up-select样式
:deep(.u-select) {
width: 100%;
font-size: 28rpx;
}
:deep(.u-input__placeholder) {
font-size: 28rpx;
}
|
9b30ab8c
刘淇
新增快速工单,原版
|
170
171
172
|
}
.search-input-wrap {
|
420cb443
刘淇
快速工单列表
|
173
|
flex: 3;
|
9b30ab8c
刘淇
新增快速工单,原版
|
174
175
176
177
178
179
180
181
182
|
}
}
// 修复:列表容器样式(核心)
.order-list {
padding: 120rpx 20rpx 20rpx; // 顶部内边距避开搜索栏
box-sizing: border-box;
}
|
9b30ab8c
刘淇
新增快速工单,原版
|
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
// 工单卡片样式
.order-card {
background-color: #fff;
border-radius: 12rpx;
padding: 24rpx;
margin-bottom: 20rpx;
box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);
.order-item {
font-size: 28rpx;
color: #333;
line-height: 48rpx;
margin-bottom: 8rpx;
}
.order-footer {
display: flex;
justify-content: space-between;
align-items: center;
|
9b30ab8c
刘淇
新增快速工单,原版
|
202
203
|
.submit-time {
|
420cb443
刘淇
快速工单列表
|
204
205
206
207
|
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
|
9b30ab8c
刘淇
新增快速工单,原版
|
208
209
|
font-size: 26rpx;
color: #666;
|
9b30ab8c
刘淇
新增快速工单,原版
|
210
|
}
|
420cb443
刘淇
快速工单列表
|
211
|
|
9b30ab8c
刘淇
新增快速工单,原版
|
212
213
|
}
}
|
c293da23
刘淇
新园林init
|
214
215
|
</style>
|