|
@@ -9,8 +9,8 @@
|
|
|
:cardType="conf.selectorType">
|
|
|
<div slot="header" class="vip-sub-item-title">{{ buySpecLabel }}</div>
|
|
|
<div class="vip-sub-item-content">
|
|
|
- <SpecList :list="specList" v-model="specIdActive" @change="specChange" />
|
|
|
- <div class="top-tip-banner">使用有效期至{{endTime}}<span v-if="endDay > 0">(剩 {{endDay}} 天)</span></div>
|
|
|
+ <SpecList :list="specList" v-model="specIdActive" @change="specChange"/>
|
|
|
+ <div class="top-tip-banner">使用有效期至{{ endTime }}<span v-if="endDay > 0">(剩 {{ endDay }} 天)</span></div>
|
|
|
</div>
|
|
|
</SelectorCard>
|
|
|
<SelectorCard
|
|
@@ -23,7 +23,7 @@
|
|
|
:productionId="specActiveItem.productionId"
|
|
|
:price="computedPrice.total"
|
|
|
@loaded="couponCardLoaded"
|
|
|
- @change="couponCardChange" />
|
|
|
+ @change="couponCardChange"/>
|
|
|
</div>
|
|
|
</SelectorCard>
|
|
|
<SelectorCard
|
|
@@ -34,7 +34,7 @@
|
|
|
<div class="vip-sub-item-content">
|
|
|
<CouponGiftList
|
|
|
:productionId="specActiveItem.productionId"
|
|
|
- @loaded="giftListLoaded" />
|
|
|
+ @loaded="giftListLoaded"/>
|
|
|
</div>
|
|
|
</SelectorCard>
|
|
|
<SelectorCard
|
|
@@ -42,7 +42,7 @@
|
|
|
:cardType="conf.selectorType">
|
|
|
<div slot="header" class="vip-sub-item-title">手机号码</div>
|
|
|
<div class="vip-sub-item-content">
|
|
|
- <CheckPhone v-model="userInfo.phone" :pass.sync="phoneRegPass" />
|
|
|
+ <CheckPhone v-model="userInfo.phone" :pass.sync="phoneRegPass"/>
|
|
|
</div>
|
|
|
</SelectorCard>
|
|
|
</div>
|
|
@@ -55,7 +55,7 @@
|
|
|
>
|
|
|
<template v-slot:buy-tip-group>
|
|
|
<p class="buy-tip">购买须知:
|
|
|
- <br>1.仅限超级订阅用户充值附件下载个数时使用,可多次购买。
|
|
|
+ <br>1.仅限超级订阅用户充值{{ descType }}个数时使用,可多次购买。
|
|
|
<br>2.使用有效期仅限超级订阅服务周期内的当月,次月清零,不可转赠。
|
|
|
</p>
|
|
|
</template>
|
|
@@ -76,15 +76,10 @@ import BuySubmit from '@/components/coupon/BuySubmit.vue'
|
|
|
import Contrast from '@/views/vipsubscribe/components/Contrast.vue'
|
|
|
import { Dialog } from 'element-ui'
|
|
|
|
|
|
-import {
|
|
|
- getFilePackList,
|
|
|
- createOrder,
|
|
|
- getUserAccountInfo,
|
|
|
- getUserPower
|
|
|
-} from '@/api/modules/'
|
|
|
+import { getFilePackList, getUserAccountInfo, getUserPower, createCommonOrder } from '@/api/modules/'
|
|
|
/* eslint-disable */
|
|
|
export default {
|
|
|
- name: 'vip-subscribe-buy',
|
|
|
+ name: 'source-pack-buy',
|
|
|
components: {
|
|
|
Layout,
|
|
|
SelectorCard,
|
|
@@ -134,98 +129,112 @@ export default {
|
|
|
couponActiveItem: {},
|
|
|
specIdActive: 1,
|
|
|
specActiveItem: {},
|
|
|
- specList: [
|
|
|
- {
|
|
|
- id: 1,
|
|
|
- cycleType: 1, // 月
|
|
|
- label: '5个附件',
|
|
|
- value: 5,
|
|
|
- price: 0,
|
|
|
- desc: '',
|
|
|
- perDayPrice: 0,
|
|
|
- productionId: 1141, // 产品id,后台配置
|
|
|
- tipText: ''
|
|
|
+ confMap: {
|
|
|
+ titleText: {
|
|
|
+ 0: '附件下载包充值',
|
|
|
+ 1: '充值采购单位画像包'
|
|
|
},
|
|
|
- {
|
|
|
- id: 2,
|
|
|
- cycleType: 2, // 季
|
|
|
- label: '10个附件',
|
|
|
- value: 10,
|
|
|
- price: 0,
|
|
|
- desc: '',
|
|
|
- perDayPrice: 0,
|
|
|
- productionId: 1142,
|
|
|
- tipText: ''
|
|
|
+ specLabel: {
|
|
|
+ 0: '选择附件个数',
|
|
|
+ 1: '选择画像个数'
|
|
|
},
|
|
|
- {
|
|
|
- id: 3,
|
|
|
- cycleType: 3, // 年
|
|
|
- label: '20个附件',
|
|
|
- value: 20,
|
|
|
- price: 0,
|
|
|
- desc: '',
|
|
|
- perDayPrice: 0,
|
|
|
- productionId: 1143,
|
|
|
- tipText: ''
|
|
|
- }
|
|
|
- ],
|
|
|
+ descType: {
|
|
|
+ 0: '附件下载',
|
|
|
+ 1: '采购单位画像'
|
|
|
+ },
|
|
|
+ priceQuery: {
|
|
|
+ 0: 'attachmentDownPack',
|
|
|
+ 1: 'buyerPortraitPack'
|
|
|
+ },
|
|
|
+ specList: {
|
|
|
+ 0: [
|
|
|
+ {
|
|
|
+ id: 1,
|
|
|
+ cycleType: 1, // 月
|
|
|
+ label: '5个附件',
|
|
|
+ value: 5,
|
|
|
+ price: 0,
|
|
|
+ desc: '',
|
|
|
+ perDayPrice: 0,
|
|
|
+ productionId: 1141, // 产品id,后台配置
|
|
|
+ tipText: ''
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 2,
|
|
|
+ cycleType: 2, // 季
|
|
|
+ label: '10个附件',
|
|
|
+ value: 10,
|
|
|
+ price: 0,
|
|
|
+ desc: '',
|
|
|
+ perDayPrice: 0,
|
|
|
+ productionId: 1142,
|
|
|
+ tipText: ''
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 3,
|
|
|
+ cycleType: 3, // 年
|
|
|
+ label: '20个附件',
|
|
|
+ value: 20,
|
|
|
+ price: 0,
|
|
|
+ desc: '',
|
|
|
+ perDayPrice: 0,
|
|
|
+ productionId: 1143,
|
|
|
+ tipText: ''
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ 1: [
|
|
|
+ {
|
|
|
+ id: 1,
|
|
|
+ cycleType: 1, // 月
|
|
|
+ label: '5个画像',
|
|
|
+ value: 5,
|
|
|
+ price: 0,
|
|
|
+ desc: '',
|
|
|
+ perDayPrice: 0,
|
|
|
+ productionId: 1151, // 产品id,后台配置
|
|
|
+ tipText: ''
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 2,
|
|
|
+ cycleType: 2, // 季
|
|
|
+ label: '10个画像',
|
|
|
+ value: 10,
|
|
|
+ price: 0,
|
|
|
+ desc: '',
|
|
|
+ perDayPrice: 0,
|
|
|
+ productionId: 1152,
|
|
|
+ tipText: ''
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 3,
|
|
|
+ cycleType: 3, // 年
|
|
|
+ label: '20个画像',
|
|
|
+ value: 20,
|
|
|
+ price: 0,
|
|
|
+ desc: '',
|
|
|
+ perDayPrice: 0,
|
|
|
+ productionId: 1153,
|
|
|
+ tipText: ''
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ },
|
|
|
+ priceQuery: '',
|
|
|
+ descType: '',
|
|
|
+ buyTypeText: '',
|
|
|
+ specList: [],
|
|
|
computedPrice: {
|
|
|
total: 0,
|
|
|
discount: 0,
|
|
|
pay: 0
|
|
|
- }
|
|
|
+ },
|
|
|
+ orderType: this.$route.query.type
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
- oldVip () { // 是否是老版本超级订阅
|
|
|
- return !this.powerInfo.viper
|
|
|
- },
|
|
|
isCanPay () {
|
|
|
return this.powerInfo.viper && this.powerInfo.vipStatus > 0
|
|
|
},
|
|
|
- upgradeTipShow () {
|
|
|
- if (this.buyType === 'buy') {
|
|
|
- return false
|
|
|
- } else {
|
|
|
- return !this.canUpgrade && !this.oldVip
|
|
|
- }
|
|
|
- },
|
|
|
- canUpgrade () {
|
|
|
- const buyset = this.buyInfo.buyset
|
|
|
- if (this.buyType === 'buy') {
|
|
|
- return false
|
|
|
- } else {
|
|
|
- if (buyset.areacount === -1) {
|
|
|
- return false
|
|
|
- } else {
|
|
|
- const selectCount = this.selectedCount
|
|
|
- if (selectCount === -1) {
|
|
|
- return true
|
|
|
- } else {
|
|
|
- return selectCount > buyset.areacount
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- buyTypeText () {
|
|
|
- return '附件下载包充值'
|
|
|
- },
|
|
|
- noSelect () {
|
|
|
- return !this.selectInfo.area
|
|
|
- },
|
|
|
- selectedCountInfo () {
|
|
|
- const area = this.selectInfo.area
|
|
|
- const count = Object.keys(area).length
|
|
|
- return {
|
|
|
- text: (count === 0 || count > this.conf.maxAreaCount) ? '全国' : `${count}个省`,
|
|
|
- detail: (count === 0 || count > this.conf.maxAreaCount) ? '全国' : Object.keys(area).join('、')
|
|
|
- }
|
|
|
- },
|
|
|
- selectedCount () {
|
|
|
- const area = this.selectInfo.area
|
|
|
- const length = Object.keys(area).length
|
|
|
- return length === 0 ? -1 : length
|
|
|
- },
|
|
|
allPass () {
|
|
|
const basicReg = this.phoneRegPass && this.isCanPay
|
|
|
return basicReg
|
|
@@ -241,7 +250,11 @@ export default {
|
|
|
beforeRouteEnter (to, from, next) {
|
|
|
const title = document.title
|
|
|
// 修改头部高亮
|
|
|
- document.title = '附件下载包充值'
|
|
|
+ if (Number(to.query.type)) {
|
|
|
+ document.title = '采购单位画像包充值'
|
|
|
+ } else {
|
|
|
+ document.title = '附件下载包充值'
|
|
|
+ }
|
|
|
next(vm => {
|
|
|
vm.preTitle = title
|
|
|
})
|
|
@@ -254,32 +267,33 @@ export default {
|
|
|
$('#public-nav .jynav-list').find('span[name=大会员]').removeClass('active')
|
|
|
try {
|
|
|
window.trySelectNav('招标订阅')
|
|
|
- } catch (error) {}
|
|
|
+ } catch (error) {
|
|
|
+ }
|
|
|
},
|
|
|
methods: {
|
|
|
getMonthEndTime: function (date) {
|
|
|
var tempDate = new Date(date)
|
|
|
let month = tempDate.getMonth()
|
|
|
- var new_year = tempDate.getFullYear(); //取当前的年份
|
|
|
- var new_month = ++month; //取下一个月的第一天,方便计算(最后一天不固定)
|
|
|
+ var new_year = tempDate.getFullYear() //取当前的年份
|
|
|
+ var new_month = ++month //取下一个月的第一天,方便计算(最后一天不固定)
|
|
|
if (month > 12) {
|
|
|
- new_month -= 12; //月份减
|
|
|
- new_year++; //年份增
|
|
|
+ new_month -= 12 //月份减
|
|
|
+ new_year++ //年份增
|
|
|
}
|
|
|
- var new_date = new Date(new_year, new_month, 1); //取当年当月中的第一天
|
|
|
- return (new Date(new_date.getTime() - 1000));
|
|
|
+ var new_date = new Date(new_year, new_month, 1) //取当年当月中的第一天
|
|
|
+ return (new Date(new_date.getTime() - 1000))
|
|
|
},
|
|
|
getDayDiff: function (date1, date2, unit) {
|
|
|
- var myDate1 = typeof date1 === 'string' && date1.includes('-') ? date1.replace(/-/g, '/') : date1;
|
|
|
- var myDate2 = typeof date2 === 'string' && date2.includes('-') ? date2.replace(/-/g, '/') : date2;
|
|
|
+ var myDate1 = typeof date1 === 'string' && date1.includes('-') ? date1.replace(/-/g, '/') : date1
|
|
|
+ var myDate2 = typeof date2 === 'string' && date2.includes('-') ? date2.replace(/-/g, '/') : date2
|
|
|
var map = {
|
|
|
day: 1000 * 60 * 60 * 24,
|
|
|
hour: 1000 * 60 * 60,
|
|
|
minute: 1000 * 60,
|
|
|
second: 1000,
|
|
|
ms: 1,
|
|
|
- };
|
|
|
- return ((new Date(myDate2) - new Date(myDate1)) / (map[unit]));
|
|
|
+ }
|
|
|
+ return ((new Date(myDate2) - new Date(myDate1)) / (map[unit]))
|
|
|
},
|
|
|
getEndTime: function (vipEndTime) {
|
|
|
var nowDate = new Date().getTime()
|
|
@@ -300,7 +314,6 @@ export default {
|
|
|
url: '/subscribepay/vipsubscribe/getSubBuyMsg',
|
|
|
type: 'GET',
|
|
|
success: function (res) {
|
|
|
- console.log(res)
|
|
|
if (res && res.data && res.data.endTime) {
|
|
|
this.getEndTime(res.data.endTime * 1000)
|
|
|
}
|
|
@@ -309,49 +322,54 @@ export default {
|
|
|
},
|
|
|
getType () {
|
|
|
var type = this.$route.query.type
|
|
|
- var types = ['buy', 'upgrade']
|
|
|
- if (types.includes(type)) {
|
|
|
- this.buyType = type || types[0]
|
|
|
- } else {
|
|
|
- this.buyType = types[0]
|
|
|
- }
|
|
|
- if (this.buyType === 'upgrade') {
|
|
|
- this.moduleShow.specList = false
|
|
|
- this.getUserBuyInfo()
|
|
|
- }
|
|
|
+ this.orderType = type || 0
|
|
|
+
|
|
|
+ const { titleText, descType, specLabel, priceQuery, specList } = this.confMap
|
|
|
+
|
|
|
+ this.priceQuery = priceQuery[this.orderType]
|
|
|
+ this.specList = specList[this.orderType]
|
|
|
+ this.buySpecLabel = specLabel[this.orderType]
|
|
|
+ this.descType = descType[this.orderType]
|
|
|
+ this.buyTypeText = titleText[this.orderType]
|
|
|
},
|
|
|
- setPriceItem (index, id, price, num) {
|
|
|
- this.specList[index].productionId = id
|
|
|
+ setPriceItem (index, price, num) {
|
|
|
this.specList[index].desc = ''
|
|
|
this.specList[index].price = price / 100
|
|
|
- this.specList[index].label = num + '个附件'
|
|
|
},
|
|
|
async getGoods () {
|
|
|
const priceInfo = await getFilePackList({
|
|
|
- product: 'attachmentDownPack'
|
|
|
+ product: this.priceQuery
|
|
|
})
|
|
|
- console.log(priceInfo)
|
|
|
if (priceInfo.error_msg === '' && priceInfo.data) {
|
|
|
- this.setPriceItem(0, 1141, priceInfo.data[5], 5)
|
|
|
- this.setPriceItem(1, 1142, priceInfo.data[10], 10)
|
|
|
- this.setPriceItem(2, 1143, priceInfo.data[20], 20)
|
|
|
+ this.setPriceItem(0, priceInfo.data[5], 5)
|
|
|
+ this.setPriceItem(1, priceInfo.data[10], 10)
|
|
|
+ this.setPriceItem(2, priceInfo.data[20], 20)
|
|
|
}
|
|
|
this.specChange(this.specList[0])
|
|
|
},
|
|
|
async getUserAccountInfo () {
|
|
|
- const { data, error_code: code } = await getUserAccountInfo()
|
|
|
+ const {
|
|
|
+ data,
|
|
|
+ error_code: code
|
|
|
+ } = await getUserAccountInfo()
|
|
|
if (code === 0) {
|
|
|
Object.assign(this.userInfo, data)
|
|
|
}
|
|
|
},
|
|
|
async getUserPower () {
|
|
|
- const { data, error_code: code } = await getUserPower()
|
|
|
+ const {
|
|
|
+ data,
|
|
|
+ error_code: code
|
|
|
+ } = await getUserPower()
|
|
|
if (code === 0) {
|
|
|
Object.assign(this.powerInfo, data)
|
|
|
}
|
|
|
},
|
|
|
async getUserBuyInfo () {
|
|
|
- const { data, success } = await getUserAccountInfo()
|
|
|
+ const {
|
|
|
+ data,
|
|
|
+ success
|
|
|
+ } = await getUserAccountInfo()
|
|
|
if (success && data) {
|
|
|
Object.assign(this.buyInfo, data)
|
|
|
this.selectInfo.area = this.buyInfo.area
|
|
@@ -395,53 +413,6 @@ export default {
|
|
|
this.$set(this.specActiveItem, 'discountId', '')
|
|
|
}
|
|
|
},
|
|
|
- showAreaDialog () {
|
|
|
- this.dialog.area = true
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.areaSelector.setCitySelected(this.selectInfo.area)
|
|
|
- })
|
|
|
- },
|
|
|
- commonGetPrice (buyAreaCount, cycleType) {
|
|
|
- if (buyAreaCount > this.conf.maxAreaCount) {
|
|
|
- buyAreaCount = -1
|
|
|
- }
|
|
|
- const info = this.priceRules
|
|
|
- const isGreaterThanMaxArea = buyAreaCount === -1 // 是否购买全国
|
|
|
-
|
|
|
- const priceInfo = {
|
|
|
- price: 0,
|
|
|
- perDayPrice: 0
|
|
|
- }
|
|
|
-
|
|
|
- switch (cycleType) {
|
|
|
- // 1个月
|
|
|
- case 1: {
|
|
|
- const monthPriceFen = isGreaterThanMaxArea ? info.month.allProvince_allBuyerClass : info.month.oneProvince_allBuyerClass * buyAreaCount
|
|
|
- priceInfo.price = monthPriceFen / 100
|
|
|
- priceInfo.perDayPrice = buyAreaCount === 0 ? 0 : (priceInfo.price / 30).toFixed(2)
|
|
|
- break
|
|
|
- }
|
|
|
- // 1个季度
|
|
|
- case 2: {
|
|
|
- const quarterPriceFen = isGreaterThanMaxArea ? info.quarter.allProvince_allBuyerClass : info.quarter.oneProvince_allBuyerClass * buyAreaCount
|
|
|
- priceInfo.price = quarterPriceFen / 100
|
|
|
- priceInfo.perDayPrice = buyAreaCount === 0 ? 0 : (priceInfo.price / (30 * 3)).toFixed(2)
|
|
|
- break
|
|
|
- }
|
|
|
- // 1年
|
|
|
- case 3: {
|
|
|
- const yearPriceFen = isGreaterThanMaxArea ? info.year.allProvince_allBuyerClass : info.year.oneProvince_allBuyerClass * buyAreaCount
|
|
|
- priceInfo.price = yearPriceFen / 100
|
|
|
- priceInfo.perDayPrice = buyAreaCount === 0 ? 0 : (priceInfo.price / 365).toFixed(2)
|
|
|
- break
|
|
|
- }
|
|
|
- default: {
|
|
|
- return priceInfo
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return priceInfo
|
|
|
- },
|
|
|
async updatePrice () {
|
|
|
// TODO 获取优惠价格
|
|
|
const tempPrice = {
|
|
@@ -449,10 +420,10 @@ export default {
|
|
|
pay_price: this.specActiveItem.price * 100
|
|
|
}
|
|
|
if (this.couponActiveItem?.disCount) {
|
|
|
- tempPrice.pay_price = tempPrice.original_price - Math.floor(tempPrice.original_price * (1 - this.couponActiveItem.disCount / 10))
|
|
|
+ tempPrice.pay_price = tempPrice.original_price - (tempPrice.original_price * (1 - this.couponActiveItem.disCount / 10)).fixed(2)
|
|
|
}
|
|
|
if (this.couponActiveItem?.reduce) {
|
|
|
- tempPrice.pay_price = Math.floor(tempPrice.original_price - this.couponActiveItem.reduce * 100)
|
|
|
+ tempPrice.pay_price = (tempPrice.original_price - this.couponActiveItem.reduce * 100).fixed(2)
|
|
|
}
|
|
|
this.computedPrice.total = tempPrice.original_price
|
|
|
this.computedPrice.pay = tempPrice.pay_price
|
|
@@ -462,9 +433,9 @@ export default {
|
|
|
const buyInfo = this.buyInfo
|
|
|
const coupon = this.couponActiveItem
|
|
|
const param = {
|
|
|
- "product":"attachmentDownPack",
|
|
|
- "data":{
|
|
|
- "num": this.specActiveItem.value
|
|
|
+ 'product': this.priceQuery,
|
|
|
+ 'data': {
|
|
|
+ 'num': this.specActiveItem.value
|
|
|
},
|
|
|
order_phone: this.userInfo.phone,
|
|
|
userLotteryId: coupon.userLotteryId,
|
|
@@ -475,22 +446,44 @@ export default {
|
|
|
return param
|
|
|
},
|
|
|
async submitXHR () {
|
|
|
+ const type = Number(this.$route.query.type)
|
|
|
const params = this.getSubmitParam()
|
|
|
params.price = this.computedPrice.total
|
|
|
- return createOrder(params)
|
|
|
+ console.log(params, '222')
|
|
|
+ const newParams = {
|
|
|
+ product: type ? '采购单位画像包' : '附件下载包',
|
|
|
+ productId: params.useProduct,
|
|
|
+ data: {
|
|
|
+ discountId: params.discountId,
|
|
|
+ num: params.data.num,
|
|
|
+ order_phone: this.userInfo.phone,
|
|
|
+ lotteryId: params.lotteryId
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return createCommonOrder(newParams)
|
|
|
+ // return createOrder(params)
|
|
|
|
|
|
},
|
|
|
async submit () {
|
|
|
- const res = await this.submitXHR()
|
|
|
- if (res && res.msg === '') {
|
|
|
- const orderCode = res.order_code
|
|
|
+ // eslint-disable-next-line
|
|
|
+ const { data, error_msg } = await this.submitXHR()
|
|
|
+ if (data && data.needPay) {
|
|
|
+ const orderCode = data.order_code
|
|
|
if (this.computedPrice.pay !== 0) {
|
|
|
- window.open(`/front/filePack/orderPay/${orderCode}`)
|
|
|
+ if (this.orderType === '1') {
|
|
|
+ window.open(`/front/buyerPortraitPack/orderPay/${orderCode}`)
|
|
|
+ } else {
|
|
|
+ window.open(`/front/filePack/orderPay/${orderCode}`)
|
|
|
+ }
|
|
|
} else {
|
|
|
- window.open(`/front/filePack/paySuccess/${orderCode}?payTime=${parseInt(Date.now() / 1000)}`)
|
|
|
+ if (this.orderType === '1') {
|
|
|
+ window.open(`/front/buyerPortraitPack/paySuccess/${orderCode}?payTime=${parseInt(Date.now() / 1000)}`)
|
|
|
+ } else {
|
|
|
+ window.open(`/front/filePack/paySuccess/${orderCode}?payTime=${parseInt(Date.now() / 1000)}`)
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
- this.$toast(res.msg || '创建订单失败')
|
|
|
+ this.$toast(error_msg || '创建订单失败')
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -504,22 +497,30 @@ export default {
|
|
|
color: #FF3A20;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
::v-deep .custom-dialog {
|
|
|
margin: 0 auto;
|
|
|
top: 50%;
|
|
|
transform: translateY(-50%);
|
|
|
background-color: transparent;
|
|
|
box-shadow: none;
|
|
|
+
|
|
|
.el-dialog__header,
|
|
|
.el-dialog__body {
|
|
|
padding: 0;
|
|
|
}
|
|
|
+
|
|
|
.el-dialog__body {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+.content-container.vip-subscribe-buy{
|
|
|
+ margin: 48px auto;
|
|
|
+}
|
|
|
+
|
|
|
.top-tip-banner {
|
|
|
margin-top: 12px;
|
|
|
width: 1012px;
|
|
@@ -532,22 +533,27 @@ export default {
|
|
|
color: #FF3A20;
|
|
|
line-height: 32px;
|
|
|
}
|
|
|
+
|
|
|
.buy-tip {
|
|
|
margin-top: 28px;
|
|
|
font-size: 12px;
|
|
|
font-weight: 400;
|
|
|
color: #888888;
|
|
|
- line-height: 14px;
|
|
|
+ line-height: 16px;
|
|
|
}
|
|
|
+
|
|
|
.vip-sub-list .vip-sub-list-item {
|
|
|
padding: 40px 0;
|
|
|
}
|
|
|
+
|
|
|
.vip-sub-list .vip-sub-list-item:not(:last-of-type) {
|
|
|
border-bottom: 1px solid #E0E0E0;
|
|
|
}
|
|
|
+
|
|
|
.vip-sub-list .vip-sub-item-title {
|
|
|
width: 120px;
|
|
|
}
|
|
|
+
|
|
|
.vip-sub-item-content {
|
|
|
line-height: 26px;
|
|
|
}
|
|
@@ -563,38 +569,45 @@ export default {
|
|
|
border-radius: 12px;
|
|
|
background-color: #2CB7CA;
|
|
|
}
|
|
|
+
|
|
|
.vip-subscribe-title {
|
|
|
font-size: 18px;
|
|
|
color: #1D1D1D;
|
|
|
line-height: 28px;
|
|
|
}
|
|
|
+
|
|
|
.vip-subscribe-content {
|
|
|
margin-top: 12px;
|
|
|
padding: 0 32px;
|
|
|
background-color: #fff;
|
|
|
border-top: 2px solid #2CB7CA;
|
|
|
}
|
|
|
+
|
|
|
.area-container {
|
|
|
display: flex;
|
|
|
width: 600px;
|
|
|
padding: 6px 10px;
|
|
|
border: 1px solid #E0E0E0;
|
|
|
border-radius: 4px;
|
|
|
+
|
|
|
.pre-tag {
|
|
|
margin-right: 10px;
|
|
|
height: 26px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.area-container {
|
|
|
&-content {
|
|
|
flex: 1;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
+
|
|
|
&-placeholder {
|
|
|
color: #aaa;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.tip-content {
|
|
|
margin-left: 16px;
|
|
|
font-size: 12px;
|