diff --git a/pages/login/index.vue b/pages/login/index.vue
index 0a6a039..909cee8 100644
--- a/pages/login/index.vue
+++ b/pages/login/index.vue
@@ -1,6 +1,5 @@
-
-
+
+
+
\ No newline at end of file
diff --git a/pages/order/components/RefundPopup/example.vue b/pages/order/components/RefundPopup/example.vue
new file mode 100644
index 0000000..a42c36c
--- /dev/null
+++ b/pages/order/components/RefundPopup/example.vue
@@ -0,0 +1,274 @@
+
+
+
+
+
+
+ 鲜牛肉红烧牛肉面二两+例汤1份
+ ¥128
+
+
+ 红油干拌鲜肉云吞+例汤1份
+ ¥50
+
+
+ 总计:
+ ¥178
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/order/components/RefundPopup/index.vue b/pages/order/components/RefundPopup/index.vue
new file mode 100644
index 0000000..1ad3a11
--- /dev/null
+++ b/pages/order/components/RefundPopup/index.vue
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/order/components/RefundPopup/styles/index.scss b/pages/order/components/RefundPopup/styles/index.scss
new file mode 100644
index 0000000..dac80d3
--- /dev/null
+++ b/pages/order/components/RefundPopup/styles/index.scss
@@ -0,0 +1,168 @@
+// RefundPopup 退款弹窗样式
+.refund-popup {
+ width: 320px;
+ background: linear-gradient(173deg, #cbf6ff 3%, #ffffff 32%);
+ border-radius: 12px;
+ box-sizing: border-box;
+ padding-top: 64px;
+ position: relative;
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
+
+ // 头部区域
+ &__avatar {
+ width: 132px;
+ height: 132px;
+ position: absolute;
+ top: -45px;
+ left: 50%;
+ transform: translateX(-50%);
+ }
+
+ // 内容区域
+ &__content {
+ padding: 12px 20px 20px;
+ text-align: center;
+ }
+
+ &__title {
+ font-size: 16px;
+ font-weight: 500;
+ color: #333;
+ line-height: 22px;
+ margin-bottom: 12px;
+ text-align: center;
+ }
+
+ &__amount {
+ display: flex;
+ justify-content: center;
+ align-items: baseline;
+ margin-bottom: 4px;
+
+ .amount-symbol {
+ font-size: 12px;
+ color: #ff6a00;
+ }
+
+ .amount-value {
+ font-size: 24px;
+ color: #ff6a00;
+ margin: 0 2px;
+ }
+
+ .amount-unit {
+ font-size: 12px;
+ color: #ff6a00;
+ }
+ }
+
+ &__amount-label {
+ font-size: 12px;
+ color: #333;
+ margin-bottom: 16px;
+ }
+
+ &__description {
+ font-size: 14px;
+ color: #333333;
+ line-height: 1.5;
+ margin-bottom: 16px;
+ text-align: left;
+ }
+
+ &__policy {
+ text-align: left;
+ margin-bottom: 16px;
+
+ .policy-title {
+ font-size: 14px;
+ color: #007aff;
+ font-weight: 600;
+ margin-bottom: 8px;
+ }
+
+ .policy-list {
+ .policy-item {
+ font-size: 12px;
+ color: #333333;
+ line-height: 22px;
+ text-align: justify;
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+ }
+ }
+ }
+
+ // 按钮区域
+ &__actions {
+ display: flex;
+ gap: 12px;
+ padding: 0 20px 20px;
+
+ .action-btn {
+ flex: 1;
+ height: 44px;
+ border-radius: 22px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 16px;
+ transition: all 0.3s ease;
+ outline: none;
+
+ &.secondary-btn {
+ background: #007aff;
+ color: #ffffff;
+
+ &:active {
+ background: #0056cc;
+ transform: scale(0.98);
+ }
+ }
+
+ &.primary-btn {
+ background: #ff9500;
+ color: #ffffff;
+
+ &:active {
+ background: #e6850e;
+ transform: scale(0.98);
+ }
+ }
+ }
+ }
+}
+
+// 动画效果
+@keyframes popupFadeIn {
+ from {
+ opacity: 0;
+ transform: scale(0.8);
+ }
+ to {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+
+@keyframes flowerBounce {
+ 0%,
+ 20%,
+ 50%,
+ 80%,
+ 100% {
+ transform: translateY(0);
+ }
+ 40% {
+ transform: translateY(-4px);
+ }
+ 60% {
+ transform: translateY(-2px);
+ }
+}
+
+.refund-popup {
+ animation: popupFadeIn 0.3s ease-out;
+}
diff --git a/pages/order/detail.vue b/pages/order/detail.vue
index 68edacb..e55d387 100644
--- a/pages/order/detail.vue
+++ b/pages/order/detail.vue
@@ -12,26 +12,41 @@
-
+
+
+
+