|
@@ -1,37 +1,39 @@
|
|
|
<template>
|
|
|
<div class="production-card analysis-report-production-card">
|
|
|
- <div class='buy-item flex flex-(row items-center justify-between)'>
|
|
|
- <div class='flex flex-(row items-center)'>
|
|
|
- <span class='buy-tip--label'>单份购买</span>
|
|
|
- <div class="activity-badge" v-if="isBuyFirst">
|
|
|
- <span class="j-icon icon-crown" /> 首购特惠
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class='buy-tip--price'>
|
|
|
- <span class="spec-i-text del" v-if='oneSpec.origin > oneSpec.now'>¥{{ (oneSpec.origin) }}</span>
|
|
|
- <span class="spec-i-text active-price">¥{{ (oneSpec.now) }}</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="report-info">
|
|
|
- <van-form ref="formRef">
|
|
|
- <van-field
|
|
|
- v-model="info.email"
|
|
|
- required
|
|
|
- name="pattern"
|
|
|
- label="邮箱地址"
|
|
|
- placeholder="请输入您的邮箱地址"
|
|
|
- :show-error="false"
|
|
|
- :rules="[
|
|
|
+ <div class='product-top'>
|
|
|
+ <div class="report-info">
|
|
|
+ <van-form ref="formRef">
|
|
|
+ <van-field
|
|
|
+ v-model="info.email"
|
|
|
+ required
|
|
|
+ name="pattern"
|
|
|
+ label="邮箱地址"
|
|
|
+ placeholder="请输入您的邮箱地址"
|
|
|
+ :show-error="false"
|
|
|
+ :rules="[
|
|
|
{ required: true, message: '请输入邮箱' },
|
|
|
{
|
|
|
pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,
|
|
|
message: '邮箱格式错误'
|
|
|
} // 邮箱校验正则规则
|
|
|
]"
|
|
|
- @blur="onBlur('email')"
|
|
|
- />
|
|
|
- </van-form>
|
|
|
+ @blur="onBlur('email')"
|
|
|
+ />
|
|
|
+ </van-form>
|
|
|
+ </div>
|
|
|
+ <div class='split-line'></div>
|
|
|
+ <div class='buy-item-list flex flex-(col items-center)'>
|
|
|
+ <analysis-report-production-spec-card
|
|
|
+ v-for='(spec, index) in specList'
|
|
|
+ :spec='spec'
|
|
|
+ :key='index'
|
|
|
+ :active='productSpec.id'
|
|
|
+ @select='specCardChange'
|
|
|
+ >
|
|
|
+ </analysis-report-production-spec-card>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
+
|
|
|
<div class="report-tip">
|
|
|
<div class="report-tip--title">购买须知</div>
|
|
|
剑鱼平台产品与服务属于虚拟数字产品,鉴于服务的特殊性,一旦开通权益不支持退款,请确认无误后进行支付。
|
|
@@ -47,13 +49,13 @@ import { getPureNumber, openAppOrWxPage } from '@/utils'
|
|
|
import { appCallOpenWindow } from '@/utils/callFn/appFn'
|
|
|
import { creditReportEntSearch, creditReportTime } from '@/api/modules/'
|
|
|
import orderActivityHelper from '@/utils/mixins/modules/order-activity-helper'
|
|
|
-import SpecList from '@/components/create-order/SpecList.vue'
|
|
|
import { formatZhimaInfoSubmitParamsOfType, formatZhimaInfo } from '@/views/create-order/components/analysis-report/model/format'
|
|
|
+import AnalysisReportProductionSpecCard from '@/views/create-order/components/analysis-report/SpecCard.vue'
|
|
|
|
|
|
export default {
|
|
|
name: 'AnalysisReportProductionCard',
|
|
|
components: {
|
|
|
- SpecList,
|
|
|
+ AnalysisReportProductionSpecCard,
|
|
|
[Form.name]: Form,
|
|
|
[Field.name]: Field
|
|
|
},
|
|
@@ -90,6 +92,11 @@ export default {
|
|
|
'productSpecInfo'
|
|
|
]),
|
|
|
specList() {
|
|
|
+ const idMap = {
|
|
|
+ 1512: 'monthly-theme',
|
|
|
+ 1513: 'seasonal-theme',
|
|
|
+ 1514: 'year-theme',
|
|
|
+ }
|
|
|
// 计算卡片价格
|
|
|
return this.productSpecInfoList.map((spec, index) => {
|
|
|
return {
|
|
@@ -103,7 +110,10 @@ export default {
|
|
|
now: fen2Yuan(spec.discountPrice),
|
|
|
tipText: spec._format.tag,
|
|
|
tipType: 'gift', // gift/discount/'' 为空则显示默认的蓝色
|
|
|
- _data: spec
|
|
|
+ _data: spec,
|
|
|
+ pack: spec.productId !== 1511,
|
|
|
+ packLevel: idMap[spec.productId] || '',
|
|
|
+ _extend: this.productInfo?.extend[151]?.[spec.productId] || {},
|
|
|
}
|
|
|
})
|
|
|
},
|
|
@@ -179,6 +189,7 @@ export default {
|
|
|
'target-before': info.before,
|
|
|
'target-name': info.name,
|
|
|
'target-email': email,
|
|
|
+ 'target-level': email,
|
|
|
report_mold
|
|
|
}))
|
|
|
},
|
|
@@ -265,6 +276,19 @@ export default {
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
.analysis-report-production-card {
|
|
|
+ border-top-left-radius: 12px;
|
|
|
+ border-top-right-radius: 12px;
|
|
|
+ margin-top: -12px;
|
|
|
+ padding-bottom: 12px;
|
|
|
+
|
|
|
+ .product-top {
|
|
|
+ border-top-left-radius: 12px;
|
|
|
+ border-top-right-radius: 12px;
|
|
|
+ background: #fff;
|
|
|
+ box-shadow: 0px -4px 12px 0px rgba(0, 0, 0, 0.05);
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
+
|
|
|
.report-func {
|
|
|
padding: 12px 16px;
|
|
|
background: #fff;
|
|
@@ -342,7 +366,6 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
.report-tip {
|
|
|
- margin-top: 8px;
|
|
|
padding: 12px 16px;
|
|
|
font-size: 12px;
|
|
|
line-height: 18px;
|
|
@@ -367,31 +390,16 @@ export default {
|
|
|
font-size: 11px;
|
|
|
line-height: 14px;
|
|
|
}
|
|
|
- .spec-i-text {
|
|
|
- font-size: 12px;
|
|
|
- color: #5f5e64;
|
|
|
- line-height: 18px;
|
|
|
|
|
|
- &.del {
|
|
|
- text-decoration: line-through;
|
|
|
- }
|
|
|
- }
|
|
|
- .buy-item {
|
|
|
- margin-top: 8px;
|
|
|
- background-color: #fff;
|
|
|
- padding: 16px;
|
|
|
- }
|
|
|
- .buy-tip--label {
|
|
|
- color: #171826;
|
|
|
- font-size: 16px;
|
|
|
- line-height: 24px;
|
|
|
- margin-right: 8px;
|
|
|
+
|
|
|
+ .buy-item-list {
|
|
|
+ padding: 12px 12px 0;
|
|
|
+ background: linear-gradient(180deg, #FFFFFF 0%, #F4F5F7 100%);
|
|
|
}
|
|
|
- .buy-tip--price {
|
|
|
- .active-price {
|
|
|
- font-size: 16px;
|
|
|
- color: #FB483D;
|
|
|
- }
|
|
|
+ .split-line {
|
|
|
+ height: 1px;
|
|
|
+ background: #f2f2f2;
|
|
|
+ margin: 0 12px;
|
|
|
}
|
|
|
}
|
|
|
</style>
|