From ca2a0fad127af18bb012c179c6dfd540cc9fb131 Mon Sep 17 00:00:00 2001 From: huliyong <2783385703@qq.com> Date: Wed, 9 Jul 2025 11:16:29 +0800 Subject: [PATCH] 1 --- api/model/recyclingDestination.js | 6 +- config.js | 2 +- pages/manager/order-detail.vue | 2 +- pages/manager/order.vue | 1593 ++++++++++++++++++++----------------- 4 files changed, 870 insertions(+), 733 deletions(-) diff --git a/api/model/recyclingDestination.js b/api/model/recyclingDestination.js index 0fe8ba1..a221e6e 100644 --- a/api/model/recyclingDestination.js +++ b/api/model/recyclingDestination.js @@ -32,9 +32,9 @@ const api = { method: 'POST', auth : true, }, - // 查询当前用户直推间推了多少人 - getPromotionCount: { - url: '/recycle-admin/applet/promotion/getPromotionCount', + // 根据快递单号查询订单号 + getOrderIdBywliuNo: { + url: '/recycle-admin/applet/info_team_order/getOrderIdBywliuNo', method: 'GET', auth : true, }, diff --git a/config.js b/config.js index d166eb8..dde5b6a 100644 --- a/config.js +++ b/config.js @@ -1,5 +1,5 @@ // config.js -const type = 'prod' +const type = 'local' const config = { local: { diff --git a/pages/manager/order-detail.vue b/pages/manager/order-detail.vue index 2b994d0..56ac475 100644 --- a/pages/manager/order-detail.vue +++ b/pages/manager/order-detail.vue @@ -159,7 +159,7 @@ 预估回收 - ¥ {{ order.price || order.estimate }} + ¥ {{ order.estimatedPrice }} diff --git a/pages/manager/order.vue b/pages/manager/order.vue index 5afaee6..eeb1636 100644 --- a/pages/manager/order.vue +++ b/pages/manager/order.vue @@ -1,751 +1,888 @@ + .order-manage-container { + background: #f8f8f8; + min-height: 100vh; + padding-bottom: 24px; + } + + .nav-bar { + display: flex; + align-items: center; + justify-content: space-between; + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 100; + background: #fff; + padding: 0 32rpx; + box-sizing: border-box; + + .nav-title { + flex: 1; + text-align: center; + font-size: 36rpx; + font-weight: bold; + color: #222; + } + + .nav-icons { + display: flex; + align-items: center; + gap: 32rpx; + } + } + + .order-tabs-scroll { + position: fixed; + left: 0; + width: 100%; + z-index: 99; + background: #fff; + border-bottom: 1px solid #f0f0f0; + height: 96rpx; + overflow-x: auto; + white-space: nowrap; + -webkit-overflow-scrolling: touch; + + &::-webkit-scrollbar { + display: none; + } + } + + .order-tabs { + display: flex; + width: 100%; + } + + .tab-item { + flex: 1 0 0%; + text-align: center; + font-size: 34rpx; + color: #bfbfbf; + height: 96rpx; + line-height: 96rpx; + position: relative; + font-weight: 500; + transition: color 0.2s; + letter-spacing: 0.5px; + } + + .tab-item.active { + color: #ffb400; + font-weight: bold; + } + + .tab-item.active::after { + content: ''; + display: block; + margin: 0 auto; + margin-top: 2px; + width: 22px; + height: 3px; + border-radius: 2px; + background: #ffb400; + } + + .search-bar { + width: 100vw; + height: 40px; + position: fixed; + z-index: 10; + left: 0; + top: 0; + display: flex; + align-items: center; + } + + .search-bar-inner { + margin: 0 16px; + background: #fff; + border-radius: 20px; + height: 40px; + flex: 1; + display: flex; + align-items: center; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02); + padding: 0 12px; + justify-content: space-around; + + .search-icon { + margin-right: 8px; + } + + .scan-icon { + margin-left: 8px; + } + } + + .search-input-wrap { + display: flex; + align-items: center; + flex: 1; + background: #f5f5f5; + border-radius: 20px; + height: 32px; + margin: 0 0; + padding: 0 8px; + + .search-input { + flex: 1; + border: none; + outline: none; + background: transparent; + font-size: 15px; + color: #222; + margin-left: 8px; + } + } + + .search-cancel { + margin-left: 8px; + color: #999; + font-size: 15px; + line-height: 40px; + } + + .order-list { + margin: 0; + padding-top: calc(var(--status-bar-height, 0px) + 44px + 44px + 16px); + } + + .order-card { + background: #fff; + border-radius: 20px; + margin: 0 16px 16px 16px; + padding: 20px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); + } + + .order-card-header { + display: flex; + justify-content: space-between; + align-items: flex-start; + margin-bottom: 12px; + + .order-id { + font-size: 16px; + font-weight: bold; + color: #222; + } + + .order-status-tag { + font-size: 14px; + border-radius: 12px; + padding: 2px 12px; + + &.green { + background: #e6f9e6; + color: #1ecb1e; + } + + &.red { + background: #ffeaea; + color: #ff4d4f; + } + + &.orange { + background: #fff7e6; + color: #ffb400; + } + + &.blue { + background: #e6f0ff; + color: #409eff; + } + + &.gray { + background: #f5f5f5; + color: #999; + } + + &.Turquoise2 { + background: #e0f7fa; + color: #009fa8; + } + + /* 新增已取消 */ + } + } + + .order-info-wrapper { + position: relative; + + .order-info-status { + position: absolute; + right: 0; + bottom: 0; + font-size: 14px; + border-radius: 12px; + padding: 2px 12px; + + &.green { + background: #e6f9e6; + color: #1ecb1e; + } + + &.red { + background: #ffeaea; + color: #ff4d4f; + } + + &.orange { + background: #fff7e6; + color: #ffb400; + } + + &.blue { + background: #e6f0ff; + color: #409eff; + } + + &.gray { + background: #f5f5f5; + color: #999; + } + + &.Turquoise2 { + background: #e0f7fa; + color: #009fa8; + } + + /* 新增已取消 */ + } + } + + .order-info { + font-family: 'PingFang SC', 'Microsoft YaHei', Arial, sans-serif; + font-weight: 400; + font-size: 14px; + line-height: 1.4; + letter-spacing: 0; + vertical-align: middle; + color: #666; + margin-bottom: 12px; + + view { + margin-bottom: 4px; + display: flex; + align-items: center; + } + + .info-label { + color: #999; + font-family: 'PingFang SC', 'Microsoft YaHei', Arial, sans-serif; + font-weight: 400; + font-size: 14px; + line-height: 1.4; + margin-right: 4px; + } + + .info-value { + color: #222; + font-family: 'PingFang SC', 'Microsoft YaHei', Arial, sans-serif; + font-weight: 400; + font-size: 14px; + line-height: 1.4; + } + } + + .order-card-footer { + display: flex; + align-items: center; + justify-content: center; + margin: 0 -20px -20px -20px; + padding: 0 20px; + border-bottom-left-radius: 20px; + border-bottom-right-radius: 20px; + background: #fafbfc; + min-height: 60px; + position: relative; + + .order-actions-bar { + display: flex; + flex: 1; + justify-content: center; + align-items: center; + gap: 48px; + + .action-btn-bar { + display: flex; + flex-direction: column; + align-items: center; + font-size: 14px; + color: #666; + margin-top: 8px; + margin-bottom: 8px; + + uni-icons { + margin-bottom: 2px; + } + } + } + } + + /* 加载状态样式 */ + .loading-container, + .load-more-container, + .no-more-container, + .empty-container { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 40rpx 0; + color: #999; + } + + .loading-icon { + animation: spin 1s linear infinite; + margin-bottom: 16rpx; + } + + @keyframes spin { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } + } + + .loading-text, + .load-more-text { + font-size: 28rpx; + color: #999; + } + + .no-more-text { + font-size: 26rpx; + color: #ccc; + } + + .empty-container { + padding: 120rpx 0; + } + + .empty-text { + font-size: 30rpx; + color: #ccc; + } + .tab-label-wrap { + position: relative; + display: inline-block; + } + .tab-badge { + position: absolute; + top: 5px; + right: -14px; + display: flex; + align-items: center; + justify-content: center; + background: #ff4d4f; + color: #fff; + font-size: 12px; + border-radius: 50%; + min-width: 18px; + height: 18px; + padding: 0 5px; + font-weight: bold; + box-sizing: border-box; + z-index: 1; + } + \ No newline at end of file