From b53bf393d4f25c7528205f39b0da0c122bfd2566 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=AF=85?= <1335909236@qq.com> Date: Mon, 18 Aug 2025 15:37:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=94=AE=E5=90=8E=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/myOrders/afterSale/afterSale.json | 190 +++++++ packages/myOrders/afterSale/index.css | 182 +++++++ packages/myOrders/afterSale/index.vue | 126 +++++ packages/myOrders/apply/index.css | 254 +++++++++ packages/myOrders/apply/index.vue | 263 +++++++++ .../{index => awaitRated}/awaitRated.css | 0 .../{index => awaitRated}/awaitRated.vue | 0 packages/myOrders/changeInfo/index.css | 495 +++++++++++++++++ packages/myOrders/changeInfo/index.vue | 314 +++++++++++ packages/myOrders/evaluate/index.vue | 2 +- packages/myOrders/index/index.css | 410 ++++++++++++++ packages/myOrders/index/index.vue | 182 ++++--- packages/myOrders/index/orderMockData.json | 167 ++++++ .../myOrders/index/popup/afterSale/index.css | 473 +++++++++++++++++ .../myOrders/index/popup/afterSale/index.vue | 502 ++++++++++++++++++ .../index/popup/cancelOrder/cancelOrder.css | 64 +++ .../index/popup/cancelOrder/cancelOrder.vue | 81 +++ .../myOrders/index/popup/refund/refund.css | 67 +++ .../myOrders/index/popup/refund/refund.vue | 74 +++ packages/myOrders/orderDetails/index.vue | 130 ++--- packages/myOrders/pending/index.css | 245 +++++++++ packages/myOrders/pending/index.vue | 195 +++++++ packages/myOrders/{index => rated}/rated.css | 0 packages/myOrders/{index => rated}/rated.vue | 0 packages/myOrders/refundOver/index.css | 392 ++++++++++++++ packages/myOrders/refundOver/index.vue | 270 ++++++++++ packages/myOrders/returnLogistics/index.css | 254 +++++++++ packages/myOrders/returnLogistics/index.vue | 152 ++++++ packages/myOrders/sendBack/index.css | 269 ++++++++++ packages/myOrders/sendBack/index.vue | 204 +++++++ pages.json | 6 + 31 files changed, 5810 insertions(+), 153 deletions(-) create mode 100644 packages/myOrders/afterSale/afterSale.json create mode 100644 packages/myOrders/afterSale/index.css create mode 100644 packages/myOrders/afterSale/index.vue create mode 100644 packages/myOrders/apply/index.css create mode 100644 packages/myOrders/apply/index.vue rename packages/myOrders/{index => awaitRated}/awaitRated.css (100%) rename packages/myOrders/{index => awaitRated}/awaitRated.vue (100%) create mode 100644 packages/myOrders/changeInfo/index.css create mode 100644 packages/myOrders/changeInfo/index.vue create mode 100644 packages/myOrders/index/orderMockData.json create mode 100644 packages/myOrders/index/popup/afterSale/index.css create mode 100644 packages/myOrders/index/popup/afterSale/index.vue create mode 100644 packages/myOrders/index/popup/cancelOrder/cancelOrder.css create mode 100644 packages/myOrders/index/popup/cancelOrder/cancelOrder.vue create mode 100644 packages/myOrders/index/popup/refund/refund.css create mode 100644 packages/myOrders/index/popup/refund/refund.vue create mode 100644 packages/myOrders/pending/index.css create mode 100644 packages/myOrders/pending/index.vue rename packages/myOrders/{index => rated}/rated.css (100%) rename packages/myOrders/{index => rated}/rated.vue (100%) create mode 100644 packages/myOrders/refundOver/index.css create mode 100644 packages/myOrders/refundOver/index.vue create mode 100644 packages/myOrders/returnLogistics/index.css create mode 100644 packages/myOrders/returnLogistics/index.vue create mode 100644 packages/myOrders/sendBack/index.css create mode 100644 packages/myOrders/sendBack/index.vue diff --git a/packages/myOrders/afterSale/afterSale.json b/packages/myOrders/afterSale/afterSale.json new file mode 100644 index 00000000..1b3dadce --- /dev/null +++ b/packages/myOrders/afterSale/afterSale.json @@ -0,0 +1,190 @@ +[ + { + "id": 9001, + "after_sales_no": "AS202508130001", + "commodity_order_id": 1001, + "after_sales_status": 1, + "applicant": "张三", + "after_sales_reason": "拍错商品/不想要了", + "after_sales_type": 1, + "application_description": "请尽快处理退款", + "application_images": "http://localhost:8080/test.png", + "is_need_process": 1, + "process_status": 1, + "refund_amount": 68.00, + "after_sales_goods": "1@8001", + "refund_method": 1, + "review_status": 1, + "creator": "customer", + "create_time": "2025-08-13T11:20:00Z", + "commodity_order_item": [ + { + "id": 7001, + "goods_id": 8001, + "goods_name": "澳洲牛排", + "is_support_same_day": 1, + "commodity_pic": "http://localhost:8080/test.png", + "sales_price": 68.00, + "count": 1, + "after_sales_status": 1 + } + ] + }, + { + "id": 9002, + "after_sales_no": "AS202508130002", + "commodity_order_id": 1002, + "after_sales_status": 1, + "after_sales_type": 1, + "refund_no": "RF202508130001", + "refund_completed_time": "2025-08-13T14:30:00Z", + "is_need_process": 2, + "process_status": 2, + "refund_amount": 45.80, + "after_sales_goods": "2@8004", + "refund_method": 1, + "review_status": 2, + "review_remark": "审核通过,已原路退款", + "reviewer": "客服008", + "review_time": "2025-08-13T14:15:00Z", + "create_time": "2025-08-13T13:45:00Z", + "commodity_order_item": [ + { + "id": 7004, + "goods_id": 8004, + "goods_name": "东北大米", + "sales_price": 22.90, + "count": 2, + "after_sales_status": 3 + } + ] + }, + { + "id": 9003, + "after_sales_no": "AS202508130003", + "commodity_order_id": 1003, + "after_sales_status": 1, + "applicant": "李四", + "after_sales_reason": "商品质量问题", + "after_sales_type": 2, + "application_description": "商品包装破损", + "application_images": "http://localhost:8080/test.png", + "return_description": "已通过顺丰寄回", + "return_images": "http://localhost:8080/test.png", + "return_tracking_no": "SF1234567890", + "return_logistics_company": "顺丰速运", + "return_contact_phone": "13800138000", + "is_need_process": 1, + "process_status": 1, + "refund_amount": 152.00, + "after_sales_goods": "1@8003", + "refund_method": 1, + "review_status": 1, + "create_time": "2025-08-13T15:30:00Z", + "commodity_order_item": [ + { + "id": 7003, + "goods_id": 8003, + "goods_name": "精品榴莲", + "sales_price": 152.00, + "count": 1, + "after_sales_status": 1 + } + ] + }, + { + "id": 9004, + "after_sales_no": "AS202508130004", + "after_sales_type": 2, + "after_sales_status": 1, + "process_status": 2, + "refund_amount": 39.90, + "review_status": 2, + "review_remark": "商品已验货,符合退款条件", + "reviewer": "质检005", + "review_time": "2025-08-13T16:45:00Z", + "refund_no": "RF202508130002", + "refund_completed_time": "2025-08-13T17:30:00Z", + "create_time": "2025-08-13T09:30:00Z", + "commodity_order_item": [ + { + "id": 7005, + "goods_name": "酸奶套装", + "sales_price": 39.90, + "count": 1, + "after_sales_status": 2 + } + ] + }, + { + "id": 9005, + "after_sales_no": "AS202508130005", + "commodity_order_id": 1004, + "after_sales_type": 3, + "after_sales_status": 1, + "applicant": "王五", + "after_sales_reason": "商品发错型号", + "application_description": "购买的是XL码,收到L码", + "application_images": "http://localhost:8080/test.png", + "is_need_process": 1, + "process_status": 1, + "after_sales_goods": "1@8006", + "receiving_address": "上海市浦东新区张江高科88号", + "review_status": 1, + "create_time": "2025-08-13T10:15:00Z", + "commodity_order_item": [ + { + "id": 7006, + "goods_id": 8006, + "goods_name": "冷冻虾仁", + "sales_price": 76.50, + "count": 1, + "after_sales_status": 1 + } + ] + }, + { + "id": 9006, + "after_sales_no": "AS202508130006", + "after_sales_type": 3, + "after_sales_status": 1, + "process_status": 2, + "processor": "客服012", + "process_time": "2025-08-13T14:20:00Z", + "process_remark": "已补发新商品,物流单号:YT987654321", + "review_status": 2, + "reviewer": "客服主管", + "review_time": "2025-08-13T13:40:00Z", + "create_time": "2025-08-13T09:00:00Z", + "commodity_order_item": [ + { + "id": 7007, + "goods_id": 8007, + "goods_name": "进口橙子", + "sales_price": 32.00, + "count": 2, + "after_sales_status": 2 + } + ] + }, + { + "id": 9007, + "after_sales_no": "AS202508130007", + "after_sales_status": 2, + "revoke_time": "2025-08-13T11:05:00Z", + "after_sales_type": 1, + "applicant": "赵六", + "after_sales_reason": "商品运输损坏", + "create_time": "2025-08-13T10:30:00Z", + "update_time": "2025-08-13T11:05:00Z", + "commodity_order_item": [ + { + "id": 7002, + "goods_name": "有机西兰花", + "sales_price": 10.50, + "count": 1, + "after_sales_status": 4 + } + ] + } +] \ No newline at end of file diff --git a/packages/myOrders/afterSale/index.css b/packages/myOrders/afterSale/index.css new file mode 100644 index 00000000..c39d0cb4 --- /dev/null +++ b/packages/myOrders/afterSale/index.css @@ -0,0 +1,182 @@ +.container { + background-color: #f6f7fb; +} + +.after-sale-item{ + margin: 20rpx; + min-height: 250rpx; + background-color: #ffffff; + border-radius: 20rpx; + padding: 20rpx; +} + +.asGoodTag { + background-color: #ff7d00; + color: white; + font-size: 22rpx; + padding: 5rpx 10rpx; + border-radius: 8rpx 0 8rpx 8rpx; +} + +.asGoodTag1 { + margin-right: 15rpx; +} + +.tag-img { + position: absolute; + top: 105rpx; + left: 40rpx; + z-index: 1; +} + +.header { + margin-bottom: 30rpx; +} + +.company-info { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 10rpx; +} + +.company-name { + font-size: 32rpx; + font-weight: bold; +} + +.after-sale-no { + font-size: 24rpx; + color: #ff4d4f; + padding: 4rpx 12rpx; + border-radius: 8rpx; + font-weight: bold; +} + +.order-time { + font-size: 26rpx; + color: #888888; +} + +.goods-info { + display: flex; + padding: 20rpx 0; + border-top: 1rpx solid #eeeeee; + border-bottom: 1rpx solid #eeeeee; + margin-bottom: 30rpx; + position: relative; +} + +.goods-image { + width: 120rpx; + height: 120rpx; + border-radius: 8rpx; + margin-right: 20rpx; +} + +.goods-details { + flex: 1; + display: flex; + flex-direction: column; + justify-content: space-between; +} + +.goods-name { + font-weight: bold; + font-size: 30rpx; + line-height: 42rpx; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; +} + +.goods-desc { + font-size: 26rpx; + color: #ff4d4f; + background-color: #fff2f0; + padding: 4rpx 12rpx; + border-radius: 8rpx; + display: inline-block; + margin: 10rpx 0; +} + +.price-count { + display: flex; + justify-content: space-between; + align-items: center; +} + +.goods-price { + font-size: 30rpx; + color: #ff4d4f; + font-weight: bold; +} + +.goods-count { + font-size: 26rpx; + color: #888888; +} + +.refund-amount { + font-size: 28rpx; + align-self: flex-end; + margin-left: 20rpx; + float: right; + font-weight: 500; +} + +.status-container { + margin-bottom: 40rpx; +} + +.status-item { + display: flex; + justify-content: space-between; + align-items: center; + padding: 20rpx; + background-color: #fafafa; + border-radius: 12rpx; +} + +.status-label { + font-size: 28rpx; + font-weight: bold; +} + +.status-desc { + font-size: 26rpx; + color: #888888; + margin-top: 6rpx; +} + +.arrow-right { + font-size: 26rpx; +} + +.action-buttons { + display: flex; + justify-content: flex-end; + margin-top: 30rpx; +} + +.modify-btn { + width: 160rpx; + height: 60rpx; + background: #d9d9d9; + color: black; + border-radius: 30rpx; + font-size: 24rpx; + margin-right: 20rpx; +} + +.cancel-btn { + width: 160rpx; + height: 60rpx; + background: #ffe8e5; + color: #f84723; + border-radius: 30rpx; + font-size: 24rpx; + margin: 0; + border: none; +} \ No newline at end of file diff --git a/packages/myOrders/afterSale/index.vue b/packages/myOrders/afterSale/index.vue new file mode 100644 index 00000000..8a75371c --- /dev/null +++ b/packages/myOrders/afterSale/index.vue @@ -0,0 +1,126 @@ + + + + + \ No newline at end of file diff --git a/packages/myOrders/apply/index.css b/packages/myOrders/apply/index.css new file mode 100644 index 00000000..17a91f86 --- /dev/null +++ b/packages/myOrders/apply/index.css @@ -0,0 +1,254 @@ +page { + background-color: #f0f2f5; +} + +.apply-container { + /* padding: 10rpx; */ +} + +/* 弹窗样式 */ +.refund-info-container { + background-color: #ffffff; + border-radius: 10rpx; + padding: 30rpx; +} + +.refund-title { + font-size: 32rpx; + font-weight: bold; + text-align: center; + margin-bottom: 30rpx; +} + +.refund-item { + display: flex; + justify-content: space-between; + padding: 20rpx 0; + border-bottom: 1rpx solid #f0f0f0; +} + +.refund-label { + font-size: 28rpx; + color: #333333; +} + +.required { + color: #ff4500; + margin-left: 5rpx; +} + +.refund-value { + font-size: 28rpx; + color: #666666; + text-align: right; + position: relative; + max-width: 60%; +} + +.arrow-right { + display: inline-block; + width: 16rpx; + height: 16rpx; + border-top: 2rpx solid #999999; + border-right: 2rpx solid #999999; + transform: rotate(45deg); + margin-left: 10rpx; + vertical-align: middle; +} + +.price { + color: #ff4500; + font-weight: bold; +} + +.modify-btn { + color: #007aff; + margin-left: 10rpx; + font-size: 26rpx; +} + +.refund-hint { + font-size: 24rpx; + color: #999999; + margin-top: 10rpx; + text-align: right; +} + +.hr { + height: 20rpx; + background-color: #f5f5f5; + margin: 20rpx -30rpx; +} + +.refund-item2 { + padding: 20rpx 0; +} + +.refund-description { + width: 100%; + height: 160rpx; + border: 1rpx solid #e0e0e0; + border-radius: 8rpx; + padding: 15rpx; + font-size: 26rpx; + color: #333333; + box-sizing: border-box; + margin-top: 10rpx; +} + +.imgCon { + font-size: 18rpx; + color: #222222; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + width: 120rpx; + height: 120rpx; + background: #F6F7FB; + border: 1rpx solid #D1D1D1; + border-radius: 10rpx 10rpx 10rpx 10rpx; + margin: 20rpx 0; +} + +.imgCon image { + width: 34rpx; + height: 34rpx; + margin-bottom: 8rpx; +} + +.u-upload__wrap__preview { + width: 120rpx; + height: 120rpx; + border-radius: 10rpx 0rpx 10rpx 10rpx !important; + margin-top: 20rpx !important; +} + +.u-upload__wrap__preview__image { + width: 100% !important; + height: 100% !important; + object-fit: cover; +} + +.contact-info { + font-size: 24rpx; + color: #666666; + text-align: right; + margin-top: 10rpx; + margin-bottom: 10rpx; +} + +.submit-btn { + width: 60%; + height: 88rpx; + background-color: #ff451b; + color: #fff; + font-size: 32rpx; + border-radius: 44rpx; + line-height: 88rpx; + text-align: center; + margin-top: 50rpx; + border: none; +} + +/* 选择退款原因弹窗样式 */ +.cancel-reason-container { + background-color: #ffffff; + border-radius: 10rpx; + padding: 30rpx; +} + +.title { + font-size: 32rpx; + font-weight: bold; + text-align: center; + margin-bottom: 30rpx; +} + +.asTabs2 { + display: flex; + border-bottom: 1rpx solid #f0f0f0; + margin-bottom: 20rpx; +} + +.asTab2 { + flex: 1; + text-align: center; + padding: 15rpx 0; + font-size: 28rpx; + color: #666666; + position: relative; +} + +.asTab2.active { + color: #ff451b; +} + +.asTab2.active::after { + content: ''; + position: absolute; + bottom: -1rpx; + left: 10%; + width: 80%; + height: 4rpx; + background-color: #ff451b; +} + +.reason-list { + max-height: 500rpx; + overflow-y: auto; +} + +.reason-item { + display: flex; + align-items: center; + padding: 20rpx 0; + border-bottom: 1rpx solid #f0f0f0; +} + +.radio { + width: 28rpx; + height: 28rpx; + border: 2rpx solid #999999; + border-radius: 50%; + margin-right: 20rpx; +} + +.radio.active { + border-color: #ff451b; + background-color: #ff451b; + position: relative; +} + +.radio.active::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 12rpx; + height: 12rpx; + background-color: #ffffff; + border-radius: 50%; +} + +.confirm-btn { + width: 100%; + height: 88rpx; + background-color: #ff451b; + color: #ffffff; + border-radius: 44rpx; + font-size: 32rpx; + margin-top: 30rpx; +} + +/* 打开弹窗按钮样式 */ +.open-popup-btn { + height: 88rpx; + background-color: #ff451b; + color: #ffffff; + border-radius: 44rpx; + font-size: 32rpx; + margin: 40rpx auto; + display: block; +} \ No newline at end of file diff --git a/packages/myOrders/apply/index.vue b/packages/myOrders/apply/index.vue new file mode 100644 index 00000000..de39391b --- /dev/null +++ b/packages/myOrders/apply/index.vue @@ -0,0 +1,263 @@ + + + + + \ No newline at end of file diff --git a/packages/myOrders/index/awaitRated.css b/packages/myOrders/awaitRated/awaitRated.css similarity index 100% rename from packages/myOrders/index/awaitRated.css rename to packages/myOrders/awaitRated/awaitRated.css diff --git a/packages/myOrders/index/awaitRated.vue b/packages/myOrders/awaitRated/awaitRated.vue similarity index 100% rename from packages/myOrders/index/awaitRated.vue rename to packages/myOrders/awaitRated/awaitRated.vue diff --git a/packages/myOrders/changeInfo/index.css b/packages/myOrders/changeInfo/index.css new file mode 100644 index 00000000..28fedd75 --- /dev/null +++ b/packages/myOrders/changeInfo/index.css @@ -0,0 +1,495 @@ +page { + background-color: #f6f7fb; + padding-bottom: 120rpx; +} + +/* 全部流程弹窗样式 */ +.all-process-popup { + background-color: #ffffff; + border-radius: 20rpx; + padding: 30rpx; + position: relative; +} + +.popup-title { + font-size: 32rpx; + font-weight: bold; + color: #333333; + text-align: center; + margin-bottom: 30rpx; +} + +.process-steps_top { + padding: 30rpx; + background-color: #ffffff; +} + +.process-steps { + margin-left: 30rpx; +} + +.step-item { + display: flex; + margin-bottom: 30rpx; + position: relative; +} + +.step-line { + width: 2rpx; + height: 100%; + background-color: #d9d9d9; + position: absolute; + left: 12rpx; + top: 30rpx; + z-index: 1; +} + +.step-line.active { + background-color: #ff4d4f; +} + +.step-circle { + width: 20rpx; + height: 20rpx; + border-radius: 50%; + border: 2rpx solid #d9d9d9; + background-color: #ffffff; + margin-right: 20rpx; + z-index: 2; +} + +.step-circle.active { + border-color: #ff4d4f; + background-color: #fff2f0; +} + +.step-circle.active2 { + border-color: #ff4d4f; + background-color: #ff4d4f; +} + +.step-info { + flex: 1; +} + +.step-title { + font-size: 28rpx; + color: #999999; + margin-bottom: 10rpx; + display: block; +} + +.step-title.active { + color: #ff4d4f; + font-weight: bold; +} + +.step-desc { + font-size: 24rpx; + color: #666666; + margin: 10rpx; +} + +.step-desc2 { + font-size: 24rpx; + color: #666666; + margin-bottom: 10rpx; + display: block; +} + +.confirm-btn { + width: 90%; + height: 90rpx; + background-color: #ff4d4f; + color: #ffffff; + border-radius: 45rpx; + font-size: 32rpx; + line-height: 90rpx; + text-align: center; + margin: 40rpx auto; + display: block; + border: none; +} + +.close-btn { + position: absolute; + top: 20rpx; + right: 20rpx; + font-size: 28rpx; + color: #999999; +} + +.all-process-link { + font-size: 26rpx; + color: #333; + font-weight: bold; + margin-top: 20rpx; + margin-left: 240rpx; +} + +.status-tip { + background-color: #ffffff; + padding: 30rpx 20rpx; + margin-bottom: 20rpx; + text-align: center; +} + +.status-title { + font-size: 40rpx; + font-weight: bold; + color: #333333; + display: block; + margin-bottom: 10rpx; +} + +.status-desc { + font-size: 24rpx; + color: #999999; + display: block; + margin-bottom: 5rpx; +} + +.hr { + height: 20rpx; + background: #f5f7fb; +} + +.goods-info { + background-color: #ffffff; + margin-bottom: 20rpx; + padding: 20rpx; +} + +.goods-item { + display: flex; + padding: 10rpx 0; + border-bottom: 1rpx solid #eeeeee; + position: relative; +} + +.goods-image { + width: 160rpx; + height: 160rpx; + border-radius: 10rpx; + margin-right: 20rpx; +} + +.goods-details { + flex: 1; + display: flex; + flex-direction: column; + justify-content: space-between; +} + +.asGoodTag { + background-color: #ff7d00; + color: white; + font-size: 22rpx; + padding: 5rpx 10rpx; + border-radius: 8rpx 0 8rpx 8rpx; +} + +.asGoodTag1 { + margin-right: 15rpx; +} + +.tag-img { + position: absolute; + top: 133rpx; + left: 80rpx; + z-index: 1; +} + +.goods-name { + font-weight: bold; + font-size: 28rpx; + color: #333333; + margin-bottom: 10rpx; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; +} + +.goods-desc { + font-size: 26rpx; + color: #ff4d4f; + background-color: #fff2f0; + padding: 4rpx 12rpx; + border-radius: 8rpx; + display: inline-block; + margin: 10rpx 0; +} + +.goods-price { + font-size: 26rpx; + color: #ff4d4f; + margin-bottom: 5rpx; +} + +.goods-count { + font-size: 24rpx; + color: #666666; + float: right; +} + +.refund-info { + background-color: #ffffff; + margin-bottom: 20rpx; +} + +.info-item { + display: flex; + justify-content: space-between; + align-items: center; + padding: 25rpx 20rpx; + border-bottom: 1rpx solid #eeeeee; +} + +.info-item2 { + display: flex; + align-items: center; + padding: 25rpx 20rpx; +} + +.address-content { + align-items: center; + flex: 1; +} + +.text-wrapper_8 { + display: flex; + flex: 1; +} + +.text_41 { + font-size: 28rpx; + color: #333333; + font-weight: bold; + margin-bottom: 8rpx; + display: block; +} + +.text_42 { + font-size: 28rpx; + color: #666666; + display: block; +} + +.block_15 { + flex: 2; + display: flex; + justify-content: space-between +} + +.address-view { + display: flex; + align-items: flex-start; + margin-bottom: 10rpx; +} + +.address-val{ + display: flex; + align-items: center; + word-break: break-all; + border: 1rpx solid red; +} + +.copy-icon { + width: 30rpx; + height: 30rpx; + background-image: url('https://wechat-img-file.oss-cn-beijing.aliyuncs.com/myOrder/copy.png'); + background-size: cover; +} + +.icon_2 { + width: 40rpx; + height: 40rpx; +} + +.info-label { + font-s2ize: 28rpx; + color: #666666; + width: 200rpx; +} + +.info-value { + font-size: 28rpx; + color: #333333; + flex: 1; + text-align: right; + padding-right: 20rpx; +} + +.info-arrow { + width: 16rpx; + height: 16rpx; + border-top: 2rpx solid #999999; + border-right: 2rpx solid #999999; + transform: rotate(45deg); +} + +.action-buttons { + display: flex; + padding: 20rpx; + position: fixed; + bottom: 0; + left: 0; + right: 0; + z-index: 999; + margin-bottom: 30rpx; +} + +.cancel-btn { + width: 220rpx; + height: 80rpx; + background-color: #d9d9d9; + color: #333; + border-radius: 40rpx; + font-size: 28rpx; + line-height: 80rpx; + text-align: center; + margin-right: 20rpx; +} + +.urge-btn { + width: 220rpx; + height: 80rpx; + background-color: #ffe8e5; + color: #ed4d1c; + border: none; + border-radius: 40rpx; + font-size: 28rpx; + line-height: 80rpx; + text-align: center; + margin-left: 20rpx; +} + +.bottomImg{ + width: 70rpx; + height: 80rpx; +} + +/* 退款去向弹窗样式 */ +.money-path-popup-content { + background-color: #ffffff; + border-top-left-radius: 30rpx; + border-top-right-radius: 30rpx; + padding: 20rpx; + height: 45vh; + overflow-y: auto; +} + +.popup-header { + display: flex; + align-items: center; + padding: 20rpx 0; + margin-bottom: 30rpx; +} + +.header-title { + font-size: 32rpx; + font-weight: bold; + color: #333333; + margin: 0 auto; +} + +.close-btn { + font-size: 28rpx; + color: #999999; +} + +.refund-method { + margin-bottom: 40rpx; +} + +.method-item { + display: flex; + align-items: center; + padding: 20rpx; +} + +.wechat-icon { + width: 40rpx; + height: 35rpx; + background-size: cover; + margin-right: 15rpx; +} + +.method-text { + font-size: 30rpx; + color: #333333; + flex: 1; +} + +.method-text2 { + font-size: 28rpx; + color: #9d9d9d; + flex: 1; +} + +.method-amount { + font-size: 30rpx; + font-weight: bold; +} + +.refund-status { + padding: 0 70rpx; +} + +.status-item { + display: flex; + padding: 20rpx 0; + position: relative; + padding-left: 40rpx; + margin: 20rpx 0; +} + +.status-item.active .status-dot { + border: 3rpx solid #e35e38; +} + +.status-item.active .status-line { + /* background-color: #e35e38; */ +} + +.status-dot { + width: 15rpx; + height: 15rpx; + border-radius: 50%; + border: 2rpx solid #d9d9d9; + background-color: #ffffff; + position: absolute; + left: 0; + top: 20rpx; + z-index: 1; +} + +.status-line { + border-left: 4rpx dotted #ea704b86; + height: 100%; + position: absolute; + left: 7rpx; + top: 40rpx; +} + +.status-item:last-child .status-line { + display: none; +} + +.status-info { + flex: 1; +} + +.status-text { + font-size: 28rpx; + color: #333333; + display: block; + margin-bottom: 10rpx; +} + +.status-desc { + font-size: 24rpx; + color: #999999; + display: block; +} \ No newline at end of file diff --git a/packages/myOrders/changeInfo/index.vue b/packages/myOrders/changeInfo/index.vue new file mode 100644 index 00000000..3388b480 --- /dev/null +++ b/packages/myOrders/changeInfo/index.vue @@ -0,0 +1,314 @@ + + + + + \ No newline at end of file diff --git a/packages/myOrders/evaluate/index.vue b/packages/myOrders/evaluate/index.vue index c9bb553d..eb123e78 100644 --- a/packages/myOrders/evaluate/index.vue +++ b/packages/myOrders/evaluate/index.vue @@ -160,7 +160,7 @@ export default { }); return; } - // 这里添加提交评价的API调用逻辑 + // uni.showToast({ title: "评价提交成功", icon: "success", diff --git a/packages/myOrders/index/index.css b/packages/myOrders/index/index.css index 54a28dbd..0b5266dc 100644 --- a/packages/myOrders/index/index.css +++ b/packages/myOrders/index/index.css @@ -137,6 +137,16 @@ page { margin: 0; } +.afterSaleNum { + font-size: 26rpx; + color: #ff3710; + align-items: center; + display: flex; + position: relative; + right: 230rpx; + font-weight: bold; +} + .yfd-btn { width: 160rpx; height: 60rpx; @@ -157,4 +167,404 @@ page { border-radius: 30rpx; font-size: 24rpx; margin: 0; + margin-left: 15rpx; +} + +.required{ + color: red; +} + +.cancel-reason-container { + width: 100%; + background-color: #fff; + border-radius: 16rpx; + padding: 30rpx; + box-sizing: border-box; + max-height: 80vh; + overflow-y: auto; +} + +.asType { + margin-bottom: 30rpx; +} + +.asType text { + font-size: 28rpx; + color: #333; + display: block; + margin-bottom: 20rpx; +} + +.asTabs { + display: flex; + gap: 20rpx; +} + +.asTab { + padding: 15rpx 20rpx; + border-radius: 10rpx; + font-size: 28rpx; + color: #333; +} + +.asTab.active { + border: 1rpx solid #ff5252; + color: #ff5252; +} + +.asTabs2 { + display: flex; + justify-content: space-between; +} + +.asTab2 { + width: 50%; + padding: 15rpx 20rpx; + font-size: 28rpx; + color: #333; + text-align: center; +} + +.asTab2.active { + border-bottom: 1rpx solid #ff5252; + color: #ff5252; + margin-bottom: 20rpx; +} + +.asGoodsInfo { + margin-bottom: 30rpx; +} + +.asGoodInfo { + display: flex; + padding: 20rpx 0; + border-bottom: 1rpx solid #f0f0f0; + position: relative; +} + +.asGoodRadio{ + margin-top: 60rpx; +} + +.asGoodImg { + width: 160rpx; + height: 160rpx; + border-radius: 20rpx; + margin-right: 20rpx; + object-fit: cover; +} + +.asGoodDetail { + flex: 1; + display: flex; + flex-direction: column; + justify-content: space-between; +} + +.asGoodTitle { + font-size: 28rpx; + color: #333; + line-height: 40rpx; + display: -webkit-box; + -webkit-line-clamp: 2; + line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; +} + +.asGoodTag { + background-color: #ff7d00; + color: white; + font-size: 22rpx; + padding: 5rpx 10rpx; + border-radius: 20rpx 0 20rpx 20rpx; +} + +.asGoodTag1 { + margin-right: 15rpx; +} + +.tag-img { + position: absolute; + top: 145rpx; + left: 130rpx; + z-index: 1; +} + +.asGoodDesc { + font-size: 24rpx; + color: #999; +} + +.asGoodPrice { + font-size: 28rpx; + color: #ff5252; + font-weight: bold; +} + +.asGoodNum { + font-size: 28rpx; + color: #333; + align-self: flex-start; + margin-top: 120rpx; +} + +.title { + font-size: 32rpx; + font-weight: bold; + text-align: center; + margin-bottom: 30rpx; + color: #333; +} + +.reason-list { + margin-bottom: 30rpx; +} + +.reason-item { + display: flex; + align-items: center; + padding: 20rpx 0; + border-bottom: 1rpx solid #f0f0f0; +} + +.radio { + width: 28rpx; + height: 28rpx; + border-radius: 50%; + border: 2rpx solid #999; + margin-right: 20rpx; + position: relative; +} + +.radio.active { + border-color: #e60012; +} + +.radio.active::after { + content: ''; + position: absolute; + width: 14rpx; + height: 14rpx; + background-color: #e60012; + border-radius: 50%; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + +.reason-item text { + font-size: 28rpx; + color: #333; +} + +.confirm-btn { + width: 100%; + height: 88rpx; + background-color: #ff451b; + color: #fff; + font-size: 32rpx; + border-radius: 44rpx; + line-height: 88rpx; + text-align: center; + margin-top: 20rpx; + border: none; +} + +.noSalePopup { + padding: 50rpx 50rpx 0 50rpx; + text-align: center; +} + +.noSalePopup-btn { + width: 250rpx; + height: 70rpx; + background-color: #e60012; + color: #fff; + font-size: 32rpx; + border-radius: 44rpx; + line-height: 70rpx; + text-align: center; + margin-top: 40rpx; + border: none; +} + +/* 确认退款信息弹窗样式 */ +.refund-info-container { + background-color: #ffffff; + border-radius: 10rpx; + padding: 30rpx; + box-sizing: border-box; +} + +.refund-title { + font-size: 32rpx; + color: #333333; + font-weight: bold; + text-align: center; + margin-bottom: 30rpx; +} + +.refund-item { + display: flex; + margin-bottom: 26rpx; + padding-bottom: 26rpx; + border-bottom: 1rpx solid #f0f0f0; +} + +.hr{ + position: relative; + left: -30rpx; + right: -30rpx; + width: 120%; + height: 20rpx; + background-color: #f0f2f5; + margin-top: 20rpx; + margin-bottom: 30rpx; +} + +.refund-item2 { + margin-bottom: 26rpx; + border-bottom: 1rpx solid #f0f0f0; +} + +.refund-item:last-child { + border-bottom: none; + margin-bottom: 0; + padding-bottom: 0; +} + +.refund-label { + width: 200rpx; + font-size: 28rpx; + color: #333333; + display: flex; + align-items: center; +} + +.refund-value { + flex: 1; + font-size: 28rpx; + color: #666666; + text-align: right; + display: flex; + justify-content: flex-end; + align-items: center; + position: relative; +} + +.price { + color: #ff4d4f; + font-size: 32rpx; + font-weight: bold; +} + +.modify-btn { + color: #989898; + font-size: 26rpx; + margin-left: 15rpx; +} + +.refund-hint { + font-size: 24rpx; + color: #999999; + text-align: right; + position: absolute; + top: 45rpx; +} + +.refund-description { + width: 100%; + height: 160rpx; + border: 1rpx solid #e8e8e8; + border-radius: 8rpx; + padding: 20rpx; + box-sizing: border-box; + font-size: 26rpx; + color: #333333; + resize: none; + margin-top: 10rpx; +} + +.refund-attachment { + margin-top: 20rpx; +} + +.upload-btn { + display: flex; + align-items: center; + font-size: 26rpx; + color: #1989fa; +} + +.upload-icon { + width: 40rpx; + height: 40rpx; + margin-right: 10rpx; +} + +.contact-info { + font-size: 26rpx; + color: #666666; + margin-top: 10rpx; + text-align: right; +} + +.submit-btn { + width: 100%; + height: 90rpx; + background-color: #ff4d4f; + color: #ffffff; + font-size: 32rpx; + border-radius: 45rpx; + margin-top: 30rpx; + display: flex; + justify-content: center; + align-items: center; + border: none; +} + +.arrow-right { + display: inline-block; + width: 14rpx; + height: 14rpx; + border-top: 2rpx solid #999999; + border-right: 2rpx solid #999999; + transform: rotate(45deg); + margin-left: 10rpx; +} + +/* 图片上传 */ +.imgCon { + font-size: 18rpx; + color: #222222; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + width: 120rpx; + height: 120rpx; + background: #F6F7FB; + border: 1rpx solid #D1D1D1; + border-radius: 10rpx 10rpx 10rpx 10rpx; + margin: 20rpx 0; +} + +.imgCon image { + width: 34rpx; + height: 34rpx; + margin-bottom: 8rpx; +} + +.u-upload__wrap__preview { + width: 120rpx; + height: 120rpx; + border-radius: 10rpx 0rpx 10rpx 10rpx !important; + margin-top: 20rpx !important; +} + +.u-upload__wrap__preview__image { + width: 100% !important; + height: 100% !important; + object-fit: cover; } \ No newline at end of file diff --git a/packages/myOrders/index/index.vue b/packages/myOrders/index/index.vue index 0d5f5a7d..ecf915a3 100644 --- a/packages/myOrders/index/index.vue +++ b/packages/myOrders/index/index.vue @@ -1,12 +1,8 @@ + + \ No newline at end of file diff --git a/packages/myOrders/index/popup/cancelOrder/cancelOrder.css b/packages/myOrders/index/popup/cancelOrder/cancelOrder.css new file mode 100644 index 00000000..38e49f06 --- /dev/null +++ b/packages/myOrders/index/popup/cancelOrder/cancelOrder.css @@ -0,0 +1,64 @@ +.cancel-reason-container { + padding: 20rpx; + background-color: #fff; + border-radius: 10rpx; + width: 100%; + margin: 0 auto; +} + +.title { + font-size: 32rpx; + font-weight: bold; + text-align: center; + margin: 20rpx 0 40rpx; +} + +.reason-list { + margin-bottom: 40rpx; +} + +.reason-item { + display: flex; + align-items: center; + padding: 20rpx 0; + border-bottom: 1rpx solid #eee; +} + +.radio { + width: 32rpx; + height: 32rpx; + border: 2rpx solid #999; + border-radius: 50%; + margin-right: 20rpx; + position: relative; +} + +.radio.active { + border-color: #ff4400; +} + +.radio.active::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 16rpx; + height: 16rpx; + background-color: #ff4400; + border-radius: 50%; +} + +.confirm-btn { + background-color: #ff4400; + color: #fff; + border: none; + border-radius: 40rpx; + padding: 15rpx 0; + width: 80%; + font-size: 32rpx; + margin-top: 20rpx; + align-items: center; + justify-content: center; + display: flex; +} \ No newline at end of file diff --git a/packages/myOrders/index/popup/cancelOrder/cancelOrder.vue b/packages/myOrders/index/popup/cancelOrder/cancelOrder.vue new file mode 100644 index 00000000..e4c7b4c1 --- /dev/null +++ b/packages/myOrders/index/popup/cancelOrder/cancelOrder.vue @@ -0,0 +1,81 @@ + + + + + \ No newline at end of file diff --git a/packages/myOrders/index/popup/refund/refund.css b/packages/myOrders/index/popup/refund/refund.css new file mode 100644 index 00000000..78979465 --- /dev/null +++ b/packages/myOrders/index/popup/refund/refund.css @@ -0,0 +1,67 @@ +.cancel-reason-container { + padding: 20rpx; + background-color: #fff; + border-radius: 10rpx; + width: 100%; + margin: 0 auto; + max-height: 80vh; + overflow-y: auto; +} + +.title { + font-size: 32rpx; + font-weight: bold; + text-align: center; + margin: 20rpx 0 40rpx; +} + +.reason-list { + margin-bottom: 40rpx; +} + +.reason-item { + display: flex; + align-items: center; + padding: 20rpx 0; + border-bottom: 1rpx solid #eee; +} + +.radio { + width: 32rpx; + height: 32rpx; + border: 2rpx solid #999; + border-radius: 50%; + margin-right: 20rpx; + position: relative; +} + +.radio.active { + border-color: #ff4400; +} + +.radio.active::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 16rpx; + height: 16rpx; + background-color: #ff4400; + border-radius: 50%; +} + +.confirm-btn { + background-color: #ff4400; + color: #fff; + border: none; + border-radius: 40rpx; + padding: 15rpx 0; + width: 80%; + font-size: 32rpx; + margin-top: 20rpx; + align-items: center; + justify-content: center; + display: flex; + margin-left: 10%; +} \ No newline at end of file diff --git a/packages/myOrders/index/popup/refund/refund.vue b/packages/myOrders/index/popup/refund/refund.vue new file mode 100644 index 00000000..681cafea --- /dev/null +++ b/packages/myOrders/index/popup/refund/refund.vue @@ -0,0 +1,74 @@ + + + + + \ No newline at end of file diff --git a/packages/myOrders/orderDetails/index.vue b/packages/myOrders/orderDetails/index.vue index 8e05b066..c2f25826 100644 --- a/packages/myOrders/orderDetails/index.vue +++ b/packages/myOrders/orderDetails/index.vue @@ -1,17 +1,17 @@