diff --git a/App.vue b/App.vue index 76b2937..839c098 100644 --- a/App.vue +++ b/App.vue @@ -1,7 +1,32 @@ + + \ No newline at end of file diff --git a/pages/manager/inspect.vue b/pages/manager/inspect.vue index 65a9d8e..bcd7b7e 100644 --- a/pages/manager/inspect.vue +++ b/pages/manager/inspect.vue @@ -1,527 +1,811 @@ - - + + - \ No newline at end of file +} + + + +.goods-brand { + font-size: 12px; + color: #ffb400; + margin-top: 2px; + font-weight: 500; +} + +.goods-limit { + font-size: 12px; + color: #ffb400; + margin-top: 2px; + font-weight: 500; +} + + + + diff --git a/pages/manager/order-detail.vue b/pages/manager/order-detail.vue index b0a04fc..7737064 100644 --- a/pages/manager/order-detail.vue +++ b/pages/manager/order-detail.vue @@ -80,13 +80,14 @@ {{ item.title }} + {{ item.pinName }} {{ item.details }} ¥{{ item.onePrice }} /件 x{{ item.num }} - ¥{{ item.price }} + ¥{{ item.estimatedPrice }} @@ -119,13 +120,14 @@ {{ item.title }} + {{ item.pinName }} {{ item.details }} ¥{{ item.onePrice }} /件 x{{ item.num }} - ¥{{ item.price }} + ¥{{ item.estimatedPrice }} @@ -161,13 +163,14 @@ {{ item.title }} + {{ item.pinName }} {{ item.details }} ¥{{ item.onePrice }} /件 x{{ item.num }} - ¥{{ item.price }} + ¥{{ item.estimatedPrice }} @@ -262,7 +265,10 @@ export default { return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2'); }, goToInspect() { - uni.navigateTo({ url: '/pages/manager/inspect' }) + const orderData = encodeURIComponent(JSON.stringify(this.order)) + uni.navigateTo({ + url: `/pages/manager/inspect?orderData=${orderData}` + }) }, async onUserStatClick() { if (!this.order || !this.order.userId) return; @@ -361,7 +367,7 @@ $order-card-padding: 40px 28px; } } .main-content { - margin-top: calc(150rpx + var(--status-bar-height)); + margin-top: calc(200rpx + var(--status-bar-height)); width: 100vw; min-width: 0; box-sizing: border-box; @@ -545,6 +551,7 @@ $order-card-padding: 40px 28px; position: relative; min-height: 36px; justify-content: space-between; + align-items: center; .base-label-wrap { min-width: 80px; text-align: left; color: #8b8b8b; font-size: 13px;} .base-value-wrap { display: flex; align-items: center; flex: 1; justify-content: flex-end; } .base-value { color: #222; font-size: 15px; font-weight: 600; word-break: break-all; text-align: right; } diff --git a/pages/manager/order.vue b/pages/manager/order.vue index 59b01f6..5cba921 100644 --- a/pages/manager/order.vue +++ b/pages/manager/order.vue @@ -146,8 +146,8 @@ export default { searchMode: false, searchText: '', historyOrderMode: false, - pageNum: 1, - pageSize: 10, + pageNo: 1, + pageSize: 3, hasMore: true, isLoading: false, userId: '' @@ -207,9 +207,10 @@ export default { }, onTabChange(idx) { this.currentTab = idx - this.pageNum = 1 + this.pageNo = 1 this.hasMore = true this.orderList = [] + this.isLoading = false this.fetchOrderList() }, onSearchIconClick() { @@ -236,18 +237,22 @@ export default { async onRefresh() { await this.refreshData && this.refreshData() }, - fetchOrderList(isLoadMore = false) { - if (this.isLoading || (!isLoadMore && !this.hasMore)) return + fetchOrderList(isLoadMore) { + if (this.isLoading) return + if (isLoadMore && !this.hasMore) return + console.log(isLoadMore,'isLoadMore') this.isLoading = true const params = { - pageNum: this.pageNum, + pageNo: isLoadMore ? this.pageNo + 1 : 1, pageSize: this.pageSize } + console.log(params,'params') if (this.userId) { params.userId = this.userId; } this.$api && this.$api('getOrderList', params, res => { if (res && res.code === 200 && res.result && res.result.records) { + console.log(res.result,'res.result.records') const newOrders = res.result.records.map(order => { const statusInfo = this.getOrderStatusInfo(order.status, order.state) return { @@ -265,13 +270,22 @@ export default { status: this.getOrderStatus(order.status, order.state) } }) + if (isLoadMore) { - this.orderList = [...this.orderList, ...newOrders] + // 数据去重处理 + const existingIds = new Set(this.orderList.map(order => order.id)) + const uniqueNewOrders = newOrders.filter(order => !existingIds.has(order.id)) + this.orderList = [...this.orderList, ...uniqueNewOrders] + this.pageNo = params.pageNo +1 } else { this.orderList = newOrders + this.pageNo = 1 } + + // 判断是否还有更多数据 this.hasMore = newOrders.length === this.pageSize - this.pageNum = isLoadMore ? this.pageNum + 1 : 1 + } else { + this.hasMore = false } this.isLoading = false }) @@ -280,13 +294,13 @@ export default { // if (state === 3) { // return { label: '已取消', class: 'gray' } // } - if (status === 1 ) { + if (status === 1 && state != 3) { return { label: '已预约', class: 'green' } } else if (state === 1) { return { label: '待质检', class: 'orange' } } else if (status === 3) { return { label: '已结款', class: 'blue' } - } else if (status === 1 && state === 3) { + } else if (state ===4) { return { label: '已驳回', class: 'red' } } return { label: '未知状态', class: 'gray' } @@ -305,7 +319,7 @@ export default { if (status === 3 ) return 3 // 已驳回状态 - 快递上门终止 - if (status === 1 && state === 3) return 4 + if (state ===4) return 4 return -1 }, @@ -347,9 +361,10 @@ export default { }, }, onPullDownRefresh() { - this.pageNum = 1; + this.pageNo = 1; this.hasMore = true; this.orderList = []; + this.isLoading = false; this.fetchOrderList(); uni.stopPullDownRefresh(); }, diff --git a/pages/subcomponent/detail.vue b/pages/subcomponent/detail.vue index e06377f..b11d266 100644 --- a/pages/subcomponent/detail.vue +++ b/pages/subcomponent/detail.vue @@ -111,14 +111,15 @@ - {{ item.name }} + {{ item.title }} + {{ item.pinName }} {{ item.details }} ¥ {{ item.onePrice }} /件 x{{ item.num }} - ¥{{ item.price }} + ¥{{ item.estimatedPrice }} @@ -359,7 +360,7 @@ export default { // 赋值页面字段 this.address = res.result.address + (res.result.addressDetail || '') this.appointmentTime = res.result.goTime || '' - this.estimatePrice = res.result.price || '' + this.estimatePrice = res.result.estimatedPrice || '' this.finalPrice = res.result.price || '' this.clothesList = res.result.commonOrderList || [] this.expressCompany = res.result.wliu || '' @@ -750,6 +751,7 @@ letter-spacing: 0%; font-weight: bold; margin-bottom: 6rpx; } +.desc { font-size: 24rpx; color: #999; margin: 4rpx 0 8rpx 0; } .goods-desc { font-size: 24rpx; color: #bcbcbc; diff --git a/pages/subcomponent/promotion.vue b/pages/subcomponent/promotion.vue index 64e9121..94387e0 100644 --- a/pages/subcomponent/promotion.vue +++ b/pages/subcomponent/promotion.vue @@ -165,6 +165,7 @@ export default { }, onShow(){ this.getMyPromotionInfo() + }, onPullDownRefresh() { this.getUserInfoByToken()