|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
<template>
|
|
|
- <div class="orderConfirm container-height">
|
|
|
|
|
|
|
+ <div class="orderConfirm">
|
|
|
<!-- <Breadcrumb /> -->
|
|
<!-- <Breadcrumb /> -->
|
|
|
<el-button class="mt20 mb20" @click="router.back()">
|
|
<el-button class="mt20 mb20" @click="router.back()">
|
|
|
<el-icon><ArrowLeft /></el-icon>
|
|
<el-icon><ArrowLeft /></el-icon>
|
|
@@ -150,11 +150,12 @@
|
|
|
<div class="font_size18">{{$t('orderConfirm.payAmount')}}:</div>
|
|
<div class="font_size18">{{$t('orderConfirm.payAmount')}}:</div>
|
|
|
<div class="font_size24 bold color_price">¥{{orderInfo.orderAmt}}</div>
|
|
<div class="font_size24 bold color_price">¥{{orderInfo.orderAmt}}</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <div style="display: inline-block;" class="mt20" @click="payNowFn" v-loading="loading">
|
|
|
|
|
- <div class="gap5 gradient border_radius_4 cursor-pointer zhifu">
|
|
|
|
|
- <img :src="qianbaoIcon" alt="" style="width:16px;height:16px">
|
|
|
|
|
- <div>{{$t('common.payNow')}}</div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="wta-actions mt24">
|
|
|
|
|
+ <button class="wta-btn-primary" @click="payNowFn" :disabled="loading" :class="{ 'wta-btn--loading': loading }">
|
|
|
|
|
+ <span v-if="loading" class="wta-btn-spinner"></span>
|
|
|
|
|
+ <svg v-else width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"/></svg>
|
|
|
|
|
+ <span>{{$t('common.payNow')}}</span>
|
|
|
|
|
+ </button>
|
|
|
</div>
|
|
</div>
|
|
|
<!-- 支付二维码 -->
|
|
<!-- 支付二维码 -->
|
|
|
<div class="payment-qrcode mt20">
|
|
<div class="payment-qrcode mt20">
|
|
@@ -424,26 +425,762 @@ const payConfigDearchFn = () => {
|
|
|
|
|
|
|
|
</script>
|
|
</script>
|
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|
|
|
-.orderConfirm{
|
|
|
|
|
- .order_table{
|
|
|
|
|
- background-color: #F5F7FA ;
|
|
|
|
|
|
|
+.orderConfirm {
|
|
|
|
|
+ min-height: 100vh;
|
|
|
|
|
+ background: linear-gradient(160deg, #eef2ff 0%, #ede9fe 28%, #e8e4ff 52%, #f3e8ff 72%, #fce7f3 100%);
|
|
|
|
|
+ padding: 20px 20px 150px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 容器
|
|
|
|
|
+.container {
|
|
|
|
|
+ max-width: 1200px;
|
|
|
|
|
+ margin: 0 auto;
|
|
|
|
|
+ padding: 0 20px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 面包屑
|
|
|
|
|
+.wta-hero__breadcrumb-wrap {
|
|
|
|
|
+ padding: 24px 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 主内容
|
|
|
|
|
+.wta-body {
|
|
|
|
|
+ padding-bottom: 48px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 页面头部
|
|
|
|
|
+.wta-header {
|
|
|
|
|
+ margin-bottom: 32px;
|
|
|
|
|
+
|
|
|
|
|
+ .wta-back-btn {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ gap: 8px;
|
|
|
|
|
+ margin-bottom: 16px;
|
|
|
|
|
+ background: #ffffff;
|
|
|
|
|
+ border: 1px solid #e5e7eb;
|
|
|
|
|
+ color: #374151;
|
|
|
|
|
+ border-radius: 8px;
|
|
|
|
|
+ padding: 8px 16px;
|
|
|
|
|
+ transition: all 0.3s ease;
|
|
|
|
|
+
|
|
|
|
|
+ &:hover {
|
|
|
|
|
+ background: #f9fafb;
|
|
|
|
|
+ border-color: #d1d5db;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .wta-title {
|
|
|
|
|
+ font-size: 28px;
|
|
|
|
|
+ font-weight: 700;
|
|
|
|
|
+ color: #111827;
|
|
|
|
|
+ margin-bottom: 8px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .wta-subtitle {
|
|
|
|
|
+ font-size: 16px;
|
|
|
|
|
+ color: #6b7280;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 卡片样式
|
|
|
|
|
+.wta-card {
|
|
|
|
|
+ background: #ffffff;
|
|
|
|
|
+ border: 1px solid #e5e7eb;
|
|
|
|
|
+ border-radius: 12px;
|
|
|
|
|
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+ transition: all 0.3s ease;
|
|
|
|
|
+
|
|
|
|
|
+ &:hover {
|
|
|
|
|
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &__header {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ gap: 12px;
|
|
|
|
|
+ padding: 20px 24px;
|
|
|
|
|
+ border-bottom: 1px solid #e5e7eb;
|
|
|
|
|
+
|
|
|
|
|
+ &-icon {
|
|
|
|
|
+ width: 40px;
|
|
|
|
|
+ height: 40px;
|
|
|
|
|
+ border-radius: 8px;
|
|
|
|
|
+ background: linear-gradient(135deg, #6366f1, #a855f7);
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ color: white;
|
|
|
|
|
+ flex-shrink: 0;
|
|
|
|
|
+
|
|
|
|
|
+ &--purple {
|
|
|
|
|
+ background: linear-gradient(135deg, #a855f7, #d946ef);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &--green {
|
|
|
|
|
+ background: linear-gradient(135deg, #10b981, #34d399);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &-title {
|
|
|
|
|
+ font-size: 18px;
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ color: #111827;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &-subtitle {
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ color: #6b7280;
|
|
|
|
|
+ margin-top: 4px;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &__body {
|
|
|
|
|
+ padding: 24px;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 订单头部
|
|
|
|
|
+.wta-order-header {
|
|
|
|
|
+ display: grid;
|
|
|
|
|
+ grid-template-columns: repeat(3, 1fr);
|
|
|
|
|
+ gap: 16px;
|
|
|
|
|
+ padding-bottom: 16px;
|
|
|
|
|
+ border-bottom: 1px solid #e5e7eb;
|
|
|
|
|
+
|
|
|
|
|
+ &__item {
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+ color: #6b7280;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 订单内容
|
|
|
|
|
+.wta-order-content {
|
|
|
|
|
+ display: grid;
|
|
|
|
|
+ grid-template-columns: repeat(3, 1fr);
|
|
|
|
|
+ gap: 24px;
|
|
|
|
|
+ margin-top: 24px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 订单类型选择
|
|
|
|
|
+.wta-order-type {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ gap: 16px;
|
|
|
|
|
+
|
|
|
|
|
+ &__item {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ gap: 12px;
|
|
|
|
|
+ padding: 16px;
|
|
|
|
|
+ background: #f9fafb;
|
|
|
|
|
+ border: 1px solid #e5e7eb;
|
|
|
|
|
+ border-radius: 8px;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ transition: all 0.3s ease;
|
|
|
|
|
+
|
|
|
|
|
+ &:hover {
|
|
|
|
|
+ background: #f3f4f6;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &--active {
|
|
|
|
|
+ background: #eef2ff;
|
|
|
|
|
+ border-color: #c7d2fe;
|
|
|
|
|
+
|
|
|
|
|
+ .wta-order-type__radio {
|
|
|
|
|
+ border-color: #6366f1;
|
|
|
|
|
+ background: #6366f1;
|
|
|
|
|
+
|
|
|
|
|
+ &::after {
|
|
|
|
|
+ opacity: 1;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- .payway{
|
|
|
|
|
- padding: 20px 16px;
|
|
|
|
|
- background-color: #F5F7FA ;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ &__radio {
|
|
|
|
|
+ width: 20px;
|
|
|
|
|
+ height: 20px;
|
|
|
|
|
+ border: 2px solid #d1d5db;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ transition: all 0.3s ease;
|
|
|
|
|
+
|
|
|
|
|
+ &::after {
|
|
|
|
|
+ content: '';
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: 50%;
|
|
|
|
|
+ left: 50%;
|
|
|
|
|
+ transform: translate(-50%, -50%);
|
|
|
|
|
+ width: 10px;
|
|
|
|
|
+ height: 10px;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ background: white;
|
|
|
|
|
+ opacity: 0;
|
|
|
|
|
+ transition: all 0.3s ease;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &__text {
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ color: #111827;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 输入框包装器
|
|
|
|
|
+.wta-input-wrap {
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ background: #ffffff;
|
|
|
|
|
+ border: 1px solid #e5e7eb;
|
|
|
|
|
+ border-radius: 8px;
|
|
|
|
|
+ transition: all 0.3s ease;
|
|
|
|
|
+
|
|
|
|
|
+ &:hover {
|
|
|
|
|
+ border-color: #d1d5db;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 输入框样式
|
|
|
|
|
+.wta-input {
|
|
|
|
|
+ background: transparent !important;
|
|
|
|
|
+ border: none !important;
|
|
|
|
|
+ color: #111827 !important;
|
|
|
|
|
+ height: 44px;
|
|
|
|
|
+ line-height: 44px;
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+
|
|
|
|
|
+ &::placeholder {
|
|
|
|
|
+ color: #9ca3af !important;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &--has-prefix {
|
|
|
|
|
+ padding-left: 44px !important;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 输入框前缀图标
|
|
|
|
|
+.wta-input-prefix-icon {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ left: 12px;
|
|
|
|
|
+ top: 50%;
|
|
|
|
|
+ transform: translateY(-50%);
|
|
|
|
|
+ color: #9ca3af;
|
|
|
|
|
+ transition: color 0.3s ease;
|
|
|
|
|
+
|
|
|
|
|
+ .wta-input-wrap:hover & {
|
|
|
|
|
+ color: #6366f1;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 字段提示
|
|
|
|
|
+.wta-field-hint {
|
|
|
|
|
+ margin-top: 8px;
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ color: #6366f1;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 订单数量
|
|
|
|
|
+.wta-order-quantity {
|
|
|
|
|
+ font-size: 16px;
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+ color: #111827;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 支付类型选择
|
|
|
|
|
+.wta-pay-type {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ gap: 16px;
|
|
|
|
|
+
|
|
|
|
|
+ &__item {
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ gap: 12px;
|
|
|
|
|
+ padding: 16px;
|
|
|
|
|
+ background: #f9fafb;
|
|
|
|
|
+ border: 1px solid #e5e7eb;
|
|
|
border-radius: 8px;
|
|
border-radius: 8px;
|
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
|
- &.active{
|
|
|
|
|
- background-color: #EAF0FF;
|
|
|
|
|
- .checkType{
|
|
|
|
|
- border:4px solid $primary-color;
|
|
|
|
|
|
|
+ transition: all 0.3s ease;
|
|
|
|
|
+
|
|
|
|
|
+ &:hover {
|
|
|
|
|
+ background: #f3f4f6;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &--active {
|
|
|
|
|
+ background: #eef2ff;
|
|
|
|
|
+ border-color: #c7d2fe;
|
|
|
|
|
+
|
|
|
|
|
+ .wta-pay-type__radio {
|
|
|
|
|
+ border-color: #6366f1;
|
|
|
|
|
+ background: #6366f1;
|
|
|
|
|
+
|
|
|
|
|
+ &::after {
|
|
|
|
|
+ opacity: 1;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &__radio {
|
|
|
|
|
+ width: 20px;
|
|
|
|
|
+ height: 20px;
|
|
|
|
|
+ border: 2px solid #d1d5db;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ transition: all 0.3s ease;
|
|
|
|
|
+
|
|
|
|
|
+ &::after {
|
|
|
|
|
+ content: '';
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: 50%;
|
|
|
|
|
+ left: 50%;
|
|
|
|
|
+ transform: translate(-50%, -50%);
|
|
|
|
|
+ width: 10px;
|
|
|
|
|
+ height: 10px;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ background: white;
|
|
|
|
|
+ opacity: 0;
|
|
|
|
|
+ transition: all 0.3s ease;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &__text {
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ color: #111827;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 支付方式选择
|
|
|
|
|
+.wta-pay-methods {
|
|
|
|
|
+ display: grid;
|
|
|
|
|
+ grid-template-columns: repeat(2, 1fr);
|
|
|
|
|
+ gap: 16px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 支付方式项
|
|
|
|
|
+.wta-pay-method {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ gap: 12px;
|
|
|
|
|
+ padding: 16px;
|
|
|
|
|
+ background: #f9fafb;
|
|
|
|
|
+ border: 1px solid #e5e7eb;
|
|
|
|
|
+ border-radius: 8px;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ transition: all 0.3s ease;
|
|
|
|
|
+
|
|
|
|
|
+ &:hover {
|
|
|
|
|
+ background: #f3f4f6;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &--active {
|
|
|
|
|
+ background: #eef2ff;
|
|
|
|
|
+ border-color: #c7d2fe;
|
|
|
|
|
+
|
|
|
|
|
+ .wta-pay-method__radio {
|
|
|
|
|
+ border-color: #6366f1;
|
|
|
|
|
+ background: #6366f1;
|
|
|
|
|
+
|
|
|
|
|
+ &::after {
|
|
|
|
|
+ opacity: 1;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &__radio {
|
|
|
|
|
+ width: 20px;
|
|
|
|
|
+ height: 20px;
|
|
|
|
|
+ border: 2px solid #d1d5db;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ transition: all 0.3s ease;
|
|
|
|
|
+
|
|
|
|
|
+ &::after {
|
|
|
|
|
+ content: '';
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: 50%;
|
|
|
|
|
+ left: 50%;
|
|
|
|
|
+ transform: translate(-50%, -50%);
|
|
|
|
|
+ width: 10px;
|
|
|
|
|
+ height: 10px;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ background: white;
|
|
|
|
|
+ opacity: 0;
|
|
|
|
|
+ transition: all 0.3s ease;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &__icon {
|
|
|
|
|
+ width: 40px;
|
|
|
|
|
+ height: 40px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &__text {
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ color: #111827;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 对公账户信息
|
|
|
|
|
+.wta-bank-transfer {
|
|
|
|
|
+
|
|
|
|
|
+ .wta-bank-account {
|
|
|
|
|
+ background: #f9fafb;
|
|
|
|
|
+ border: 1px solid #e5e7eb;
|
|
|
|
|
+ border-radius: 8px;
|
|
|
|
|
+ padding: 20px;
|
|
|
|
|
+
|
|
|
|
|
+ &__item {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ gap: 12px;
|
|
|
|
|
+ margin-bottom: 12px;
|
|
|
|
|
+
|
|
|
|
|
+ &:last-child {
|
|
|
|
|
+ margin-bottom: 0;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ &-label {
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ color: #6b7280;
|
|
|
|
|
+ min-width: 80px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &-value {
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ color: #111827;
|
|
|
|
|
+ word-break: break-all;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 上传区域
|
|
|
|
|
+.wta-upload-section {
|
|
|
|
|
+
|
|
|
|
|
+ .wta-field-label {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ gap: 6px;
|
|
|
|
|
+
|
|
|
|
|
+ .wta-required {
|
|
|
|
|
+ color: #ef4444;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .wta-label-text {
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+ color: #111827;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .wta-upload-area {
|
|
|
|
|
+ margin-top: 12px;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 订单汇总
|
|
|
|
|
+.wta-order-summary {
|
|
|
|
|
+ background: #f9fafb;
|
|
|
|
|
+ border: 1px solid #e5e7eb;
|
|
|
|
|
+ border-radius: 8px;
|
|
|
|
|
+ padding: 20px;
|
|
|
|
|
+
|
|
|
|
|
+ &__row {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: space-between;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+
|
|
|
|
|
+ &-label {
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ color: #6b7280;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &-value {
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ color: #111827;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &__total {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: space-between;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ margin-top: 12px;
|
|
|
|
|
+ padding-top: 12px;
|
|
|
|
|
+ border-top: 1px solid #e5e7eb;
|
|
|
|
|
+
|
|
|
|
|
+ &-label {
|
|
|
|
|
+ font-size: 16px;
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+ color: #111827;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &-value {
|
|
|
|
|
+ font-size: 20px;
|
|
|
|
|
+ font-weight: 700;
|
|
|
|
|
+ color: #6366f1;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 操作按钮
|
|
|
|
|
+.wta-actions {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: flex-end;
|
|
|
|
|
+ gap: 12px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 主要按钮
|
|
|
|
|
+.wta-btn-primary {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ gap: 8px;
|
|
|
|
|
+ background: linear-gradient(90deg, #6366f1, #a855f7);
|
|
|
|
|
+ border: none;
|
|
|
|
|
+ color: white;
|
|
|
|
|
+ border-radius: 8px;
|
|
|
|
|
+ padding: 12px 24px;
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ transition: all 0.3s ease;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+
|
|
|
|
|
+ &:hover {
|
|
|
|
|
+ opacity: 0.9;
|
|
|
|
|
+ box-shadow: 0 4px 16px rgba(99, 102, 241, 0.3);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &:disabled {
|
|
|
|
|
+ opacity: 0.6;
|
|
|
|
|
+ cursor: not-allowed;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &--loading {
|
|
|
|
|
+ cursor: not-allowed;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .wta-btn-spinner {
|
|
|
|
|
+ width: 16px;
|
|
|
|
|
+ height: 16px;
|
|
|
|
|
+ border: 2px solid rgba(255, 255, 255, 0.3);
|
|
|
|
|
+ border-top-color: white;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ animation: spin 1s linear infinite;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @keyframes spin {
|
|
|
|
|
+ to {
|
|
|
|
|
+ transform: rotate(360deg);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 支付二维码
|
|
|
|
|
+.wta-payment-qrcode {
|
|
|
|
|
+ background: #f9fafb;
|
|
|
|
|
+ border: 1px solid #e5e7eb;
|
|
|
|
|
+ border-radius: 8px;
|
|
|
|
|
+ padding: 20px;
|
|
|
|
|
+
|
|
|
|
|
+ &__title {
|
|
|
|
|
+ font-size: 16px;
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+ color: #111827;
|
|
|
|
|
+ margin-bottom: 16px;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &__content {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ min-height: 200px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &__image {
|
|
|
|
|
+ width: 200px;
|
|
|
|
|
+ height: 200px;
|
|
|
|
|
+ border-radius: 8px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &__iframe {
|
|
|
|
|
+ width: 200px;
|
|
|
|
|
+ height: 200px;
|
|
|
|
|
+ border-radius: 8px;
|
|
|
|
|
+
|
|
|
|
|
+ &--full {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ height: 400px;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &__paypal {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ min-height: 200px;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 协议同意
|
|
|
|
|
+.wta-agreement {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: flex-start;
|
|
|
|
|
+ gap: 12px;
|
|
|
|
|
+
|
|
|
|
|
+ &__checkbox {
|
|
|
|
|
+ width: 20px;
|
|
|
|
|
+ height: 20px;
|
|
|
|
|
+ border: 2px solid #d1d5db;
|
|
|
|
|
+ border-radius: 4px;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ transition: all 0.3s ease;
|
|
|
|
|
+ flex-shrink: 0;
|
|
|
|
|
+ margin-top: 2px;
|
|
|
|
|
+
|
|
|
|
|
+ &--checked {
|
|
|
|
|
+ background: #6366f1;
|
|
|
|
|
+ border-color: #6366f1;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &__text {
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ color: #6b7280;
|
|
|
|
|
+ line-height: 1.5;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &__link {
|
|
|
|
|
+ color: #6366f1;
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ transition: color 0.3s ease;
|
|
|
|
|
+
|
|
|
|
|
+ &:hover {
|
|
|
|
|
+ color: #818cf8;
|
|
|
|
|
+ text-decoration: underline;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 响应式设计
|
|
|
|
|
+@media (max-width: 768px) {
|
|
|
|
|
+ .orderConfirm {
|
|
|
|
|
+ padding: 10px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .container {
|
|
|
|
|
+ padding: 0 10px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .wta-order-content {
|
|
|
|
|
+ grid-template-columns: 1fr;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .wta-pay-methods {
|
|
|
|
|
+ grid-template-columns: 1fr;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .wta-pay-type {
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .wta-order-header {
|
|
|
|
|
+ grid-template-columns: 1fr;
|
|
|
|
|
+ gap: 8px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .wta-actions {
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+.wta-actions {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: flex-end;
|
|
|
|
|
+ gap: 12px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 主要按钮
|
|
|
|
|
+.wta-btn-primary {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ gap: 8px;
|
|
|
|
|
+ background: linear-gradient(90deg, #6366f1, #a855f7);
|
|
|
|
|
+ border: none;
|
|
|
|
|
+ color: white;
|
|
|
|
|
+ border-radius: 8px;
|
|
|
|
|
+ padding: 14px 28px;
|
|
|
|
|
+ font-size: 16px;
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ transition: all 0.3s ease;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+ box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
|
|
|
|
|
+
|
|
|
|
|
+ &:hover {
|
|
|
|
|
+ opacity: 0.95;
|
|
|
|
|
+ box-shadow: 0 6px 20px rgba(99, 102, 241, 0.4);
|
|
|
|
|
+ transform: translateY(-2px);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &:active {
|
|
|
|
|
+ transform: translateY(0);
|
|
|
|
|
+ box-shadow: 0 2px 8px rgba(99, 102, 241, 0.3);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &:disabled {
|
|
|
|
|
+ opacity: 0.6;
|
|
|
|
|
+ cursor: not-allowed;
|
|
|
|
|
+ transform: none;
|
|
|
|
|
+ box-shadow: 0 2px 8px rgba(99, 102, 241, 0.2);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &--loading {
|
|
|
|
|
+ cursor: not-allowed;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .wta-btn-spinner {
|
|
|
|
|
+ width: 18px;
|
|
|
|
|
+ height: 18px;
|
|
|
|
|
+ border: 2px solid rgba(255, 255, 255, 0.3);
|
|
|
|
|
+ border-top-color: white;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ animation: spin 1s linear infinite;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ svg {
|
|
|
|
|
+ transition: transform 0.3s ease;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ &:hover svg {
|
|
|
|
|
+ transform: translateX(2px);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @keyframes spin {
|
|
|
|
|
+ to {
|
|
|
|
|
+ transform: rotate(360deg);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- .zhifu{
|
|
|
|
|
- padding: 10px 20px;
|
|
|
|
|
- color: #ffffff;
|
|
|
|
|
- border-radius: 10px;
|
|
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 响应式设计
|
|
|
|
|
+@media (max-width: 768px) {
|
|
|
|
|
+ .wta-actions {
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .wta-btn-primary {
|
|
|
|
|
+ padding: 12px 24px;
|
|
|
|
|
+ font-size: 14px;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
</style>
|
|
</style>
|