1
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
"type" : "uni-app:app-ios"
|
||||
},
|
||||
{
|
||||
"playground" : "custom",
|
||||
"playground" : "standard",
|
||||
"type" : "uni-app:app-android"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -136,9 +136,16 @@
|
||||
>
|
||||
</view>
|
||||
<view
|
||||
style="color: #c0c4cc; font-size: 26rpx; font-weight: 700"
|
||||
style="color: #e97512; font-size: 26rpx; font-weight: 700"
|
||||
>
|
||||
×{{ item.quantity ? item.quantity : "" }}</view
|
||||
<view style="text-align: right;font-size: 30rpx;margin-bottom: 10rpx;">
|
||||
¥{{ item.price }}
|
||||
</view>
|
||||
|
||||
<view style="text-align: right;color: #333;">
|
||||
×{{ item.quantity ? item.quantity : "" }}
|
||||
</view>
|
||||
</view
|
||||
>
|
||||
</view>
|
||||
<!-- <view class="btns flexbox" style="margin-top: 10rpx">
|
||||
@@ -241,10 +248,46 @@
|
||||
</span>
|
||||
<span>¥</span>{{ orderContet.shippingMoney }}
|
||||
</view>
|
||||
<view
|
||||
class="orderReal"
|
||||
v-if="
|
||||
orderContet.orderType == 'order' &&
|
||||
orderContet.districtMoney &&
|
||||
orderContet.districtMoney > 0
|
||||
"
|
||||
>
|
||||
<span style="color: #666; margin-right: 10rpx; float: left">
|
||||
活动立减:
|
||||
</span>
|
||||
<span style="color: #fa2d12"
|
||||
>- ¥{{ orderContet.districtMoney }}</span
|
||||
>
|
||||
</view>
|
||||
<view
|
||||
class="orderReal"
|
||||
v-if="
|
||||
orderContet.orderType == 'order' &&
|
||||
orderContet.vipDiscountAmount &&
|
||||
orderContet.vipDiscountAmount > 0
|
||||
"
|
||||
>
|
||||
<span style="color: #666; margin-right: 10rpx; float: left">
|
||||
<span
|
||||
style="color: #f94f04; font-weight: bold; margin-right: 2px"
|
||||
>VIP</span
|
||||
>
|
||||
专享立减:
|
||||
</span>
|
||||
<span style="color: #fa2d12"
|
||||
>- ¥{{ orderContet.vipDiscountAmount }}</span
|
||||
>
|
||||
</view>
|
||||
<view
|
||||
class="orderReal"
|
||||
v-if="orderContet.couponId && orderContet.couponId != null"
|
||||
>
|
||||
|
||||
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>优惠券 :
|
||||
</span>
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
<template>
|
||||
<view class="container commonPageBox commonDetailPage" style="height: auto !important;padding-bottom: 0 !important;">
|
||||
<u-popup :show="show" v-if="show" mode="bottom" @close="close" class="popup_box">
|
||||
<view
|
||||
class="container commonPageBox commonDetailPage"
|
||||
style="height: auto !important; padding-bottom: 0 !important"
|
||||
>
|
||||
<u-popup
|
||||
:show="show"
|
||||
v-if="show"
|
||||
mode="bottom"
|
||||
@close="close"
|
||||
class="popup_box"
|
||||
>
|
||||
<view class="popup_top">
|
||||
<!-- @click="previewImage(selectGoodsData.productImages)" -->
|
||||
<view class="product_image">
|
||||
@@ -15,7 +24,30 @@
|
||||
|
||||
<view :class="`common_radius_box goods_box popup_content`">
|
||||
<view class="title title_box"
|
||||
><text class="title_price">¥{{ selectGoodsData.activityPrice?selectGoodsData.activityPrice:selectGoodsData.price }}</text
|
||||
><text class="title_price"
|
||||
>
|
||||
|
||||
<text v-if="selectGoodsData.isVipPrice==1&&selectGoodsData.vipPrice!=0&&selectGoodsData.vipPrice!=null">
|
||||
<text style="color: #e97512;font-weight: bold;">¥{{(selectGoodsData.vipPrice).toFixed(2)}}</text>
|
||||
<text style="color: #fa2d12;font-size: 12px;margin-left: 4px;">VIP到手价</text>
|
||||
<!-- <text style="color: #8a8a8a;font-size: 10px;margin-left: 4px;font-weight: bold;text-decoration: line-through;">¥{{(selectGoodsData.price).toFixed(2)}}</text> -->
|
||||
|
||||
|
||||
|
||||
</text>
|
||||
|
||||
<text
|
||||
v-else-if="selectGoodsData.activityPrice && selectGoodsData.activityPrice > 0">
|
||||
<text style="color: #e97512;font-weight: bold;">¥{{(selectGoodsData.activityPrice).toFixed(2)}}</text>
|
||||
<text style="color: #613804;font-size: 12px;margin-left: 4px;">活动价</text>
|
||||
<!-- <text style="color: #8a8a8a;font-size: 10px;margin-left: 4px;font-weight: bold;text-decoration: line-through;">¥{{(selectGoodsData.price).toFixed(2)}}</text> -->
|
||||
|
||||
|
||||
|
||||
</text>
|
||||
|
||||
<text v-else style="color: #e97512;font-weight: bold;"> ¥{{Number(selectGoodsData.price).toFixed(2)}}</text>
|
||||
</text
|
||||
>
|
||||
<u-icon
|
||||
name="close"
|
||||
@@ -44,13 +76,16 @@
|
||||
<view
|
||||
class="related_courses_name"
|
||||
:class="`goods_item ${
|
||||
!isFudu && selectGoodsData &&
|
||||
selectGoodsData.productId == slotProps.row.productId || isFudu && selectGoodsData.productName == slotProps.row.productName
|
||||
(!isFudu &&
|
||||
selectGoodsData &&
|
||||
selectGoodsData.productId == slotProps.row.productId) ||
|
||||
(isFudu &&
|
||||
selectGoodsData.productName == slotProps.row.productName)
|
||||
? 'isSelectGoods color_shandow'
|
||||
: ''
|
||||
}`"
|
||||
>
|
||||
<view class="image_box" style="margin-right: 10rpx; ">
|
||||
<view class="image_box" style="margin-right: 10rpx">
|
||||
<image
|
||||
:src="slotProps.row.productImages"
|
||||
mode="aspectFit"
|
||||
@@ -58,17 +93,93 @@
|
||||
></image>
|
||||
</view>
|
||||
|
||||
<view :class="`goods_info flex_box just`" style="justify-content: space-between;">
|
||||
<view :class="`goods_info just`" style="">
|
||||
<view class="name">{{ slotProps.row.productName }}</view>
|
||||
<view class="flex_box">
|
||||
<text style="color: #999; text-decoration: line-through; margin-right: 20rpx;"
|
||||
<view class="flex_box" style="align-items: center;">
|
||||
<!-- <text style="color: #999; text-decoration: line-through; margin-right: 20rpx;"
|
||||
v-if="slotProps.row.activityPrice > 0 && slotProps.row.activityPrice < slotProps.row.price" >¥{{slotProps.row.price}}</text>
|
||||
<view class="price" style="color: #258feb"
|
||||
>¥{{ slotProps.row.activityPrice?slotProps.row.activityPrice:slotProps.row.price }}</view
|
||||
></view
|
||||
> -->
|
||||
|
||||
<text
|
||||
class="price"
|
||||
v-if="
|
||||
slotProps.row.isVipPrice == 1 &&
|
||||
slotProps.row.vipPrice != 0 &&
|
||||
slotProps.row.vipPrice != null
|
||||
"
|
||||
>
|
||||
<text
|
||||
style="color: #e97512; font-size: 12px; font-weight: bold"
|
||||
>¥{{ slotProps.row.vipPrice.toFixed(2) }}</text
|
||||
>
|
||||
<!-- <text style="color: #fa2d12; font-size: 10px; margin-left: 4px"
|
||||
>VIP到手价</text
|
||||
> -->
|
||||
<text
|
||||
style="
|
||||
color: #8a8a8a;
|
||||
font-size: 10px;
|
||||
margin-left: 4px;
|
||||
font-weight: bold;
|
||||
text-decoration: line-through;
|
||||
"
|
||||
>¥{{ Number(slotProps.row.price).toFixed(2) }}</text
|
||||
>
|
||||
</text>
|
||||
|
||||
<text
|
||||
v-else-if="
|
||||
slotProps.row.activityPrice &&
|
||||
slotProps.row.activityPrice > 0
|
||||
"
|
||||
class="price"
|
||||
>
|
||||
<text
|
||||
style="color: #e97512; font-size: 12px; font-weight: bold"
|
||||
>¥{{ slotProps.row.activityPrice.toFixed(2) }}</text
|
||||
>
|
||||
<!-- <text style="color: #613804; font-size: 10px; margin-left: 4px"
|
||||
>活动价</text
|
||||
> -->
|
||||
<text
|
||||
style="
|
||||
color: #8a8a8a;
|
||||
font-size: 10px;
|
||||
margin-left: 4px;
|
||||
font-weight: bold;
|
||||
text-decoration: line-through;
|
||||
"
|
||||
>¥{{ Number(slotProps.row.price).toFixed(2) }}</text
|
||||
>
|
||||
</text>
|
||||
|
||||
<text v-else class="price"
|
||||
>¥{{ Number(slotProps.row.price).toFixed(2) }}</text
|
||||
>
|
||||
|
||||
<text
|
||||
v-if="
|
||||
slotProps.row.isVipPrice == 1 &&
|
||||
slotProps.row.vipPrice != 0 &&
|
||||
slotProps.row.vipPrice != null
|
||||
"
|
||||
style="
|
||||
z-index: 10;
|
||||
|
||||
margin-left: 10rpx;
|
||||
|
||||
font-size: 20rpx;
|
||||
color: #f94f04;
|
||||
|
||||
font-weight: bold;
|
||||
"
|
||||
>VIP优惠</text
|
||||
>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <text v-if="slotProps.row.conditions!='03'">【试听】</text> -->
|
||||
@@ -166,7 +277,7 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '@/style/mixin.scss';
|
||||
@import "@/style/mixin.scss";
|
||||
.goods_item {
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
@@ -199,9 +310,9 @@ export default {
|
||||
// padding: 10rpx 20rpx;
|
||||
box-sizing: border-box;
|
||||
// height: 100rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
// display: flex;
|
||||
// align-items: center;
|
||||
// justify-content: space-between;
|
||||
float: left;
|
||||
.name {
|
||||
font-size: 26rpx;
|
||||
|
||||
@@ -273,17 +273,92 @@
|
||||
<view class="list supermarketBox">
|
||||
<scroll-view class="scroll-view_H" scroll-x="true">
|
||||
<view class="item" v-for="(item, index) in tjProList" :key="index" @click="goToGoodsList(item)">
|
||||
<view class="imgcontainer">
|
||||
<view class="imgcontainer" style="position: relative;">
|
||||
|
||||
<view v-if="item.isVipPrice==1&&item.vipPrice!=0&&item.vipPrice!=null"
|
||||
style="z-index:10;position: absolute;top: 10rpx;left: 10rpx;text-align: center;font-size: 22rpx;background-color: #f94f04;color: #fff;font-weight: bold;border-radius:4px;width: 120rpx; padding:4px;box-sizing: border-box;">
|
||||
VIP优惠</view>
|
||||
<image :src="item.productImages" mode="aspectFit"></image>
|
||||
</view>
|
||||
<view class="name">
|
||||
{{ item.productName }}
|
||||
</view>
|
||||
<text
|
||||
class="price"
|
||||
v-if="
|
||||
item.isVipPrice == 1 &&
|
||||
item.vipPrice != 0 &&
|
||||
item.vipPrice != null
|
||||
"
|
||||
>
|
||||
<text
|
||||
style="color: #e97512; font-size: 12px; font-weight: bold"
|
||||
>¥{{ item.vipPrice.toFixed(2) }}</text
|
||||
>
|
||||
<!-- <text style="color: #fa2d12; font-size: 10px; margin-left: 4px"
|
||||
>VIP到手价</text
|
||||
> -->
|
||||
<text
|
||||
style="
|
||||
color: #8a8a8a;
|
||||
font-size: 10px;
|
||||
margin-left: 4px;
|
||||
font-weight: bold;
|
||||
text-decoration: line-through;
|
||||
"
|
||||
>¥{{ Number(item.price) }}</text
|
||||
>
|
||||
</text>
|
||||
|
||||
<view class="price" v-if="item.activityPrice && item.activityPrice > 0">
|
||||
<text
|
||||
v-else-if="item.activityPrice && item.activityPrice > 0"
|
||||
class="price"
|
||||
>
|
||||
<text
|
||||
style="color: #e97512; font-size: 12px; font-weight: bold"
|
||||
>¥{{ item.activityPrice }}</text
|
||||
>
|
||||
<!-- <text style="color: #613804; font-size: 10px; margin-left: 4px"
|
||||
>活动价</text
|
||||
> -->
|
||||
<text
|
||||
style="
|
||||
color: #8a8a8a;
|
||||
font-size: 10px;
|
||||
margin-left: 4px;
|
||||
font-weight: bold;
|
||||
text-decoration: line-through;
|
||||
"
|
||||
>¥{{ Number(item.price)}}</text
|
||||
>
|
||||
</text>
|
||||
|
||||
<text v-else class="price" style="color: #e97512 !important;"
|
||||
>¥{{ Number(item.price) }}</text
|
||||
>
|
||||
|
||||
<!-- <text
|
||||
v-if="
|
||||
item.isVipPrice == 1 &&
|
||||
item.vipPrice != 0 &&
|
||||
item.vipPrice != null
|
||||
"
|
||||
style="
|
||||
z-index: 10;
|
||||
|
||||
margin-left: 10rpx;
|
||||
|
||||
font-size: 20rpx;
|
||||
color: #f94f04;
|
||||
|
||||
font-weight: bold;
|
||||
"
|
||||
>VIP优惠</text
|
||||
> -->
|
||||
<!-- <view class="price" v-if="item.activityPrice && item.activityPrice > 0">
|
||||
¥{{ item.activityPrice }}
|
||||
</view>
|
||||
<view class="price" v-else> ¥{{ item.price }} </view>
|
||||
<view class="price" v-else> ¥{{ item.price }} </view> -->
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
|
||||
@@ -32,35 +32,76 @@
|
||||
|
||||
<view class="goods_box">
|
||||
<view class="curriulum_title_box">
|
||||
<view v-if="this.options.isMiaosha == 1" class="miaosha_box">
|
||||
|
||||
<view v-if="(curriculumData.isVipPrice == 1 &&
|
||||
curriculumData.vipPrice != 0 &&
|
||||
curriculumData.vipPrice != null)|| curriculumData.activityPrice &&
|
||||
curriculumData.activityPrice > 0" class="miaosha_box">
|
||||
<view class="price_box">
|
||||
<view class="price_left">
|
||||
<template
|
||||
<view class="price_left" v-if="curriculumData">
|
||||
|
||||
<text
|
||||
class="price"
|
||||
v-if="
|
||||
curriculumData.activityPrice &&
|
||||
curriculumData.activityPrice > 0
|
||||
curriculumData.isVipPrice == 1 &&
|
||||
curriculumData.vipPrice != 0 &&
|
||||
curriculumData.vipPrice != null
|
||||
"
|
||||
>
|
||||
<text class="aui-text-danger price">
|
||||
¥{{ curriculumData.activityPrice }}
|
||||
<text
|
||||
>¥{{ curriculumData.vipPrice.toFixed(2) }}</text
|
||||
>
|
||||
<!-- <text style="color: #fa2d12; font-size: 10px; margin-left: 4px"
|
||||
>VIP到手价</text
|
||||
> -->
|
||||
<text
|
||||
style="
|
||||
color: #8a8a8a;
|
||||
font-size: 14px;
|
||||
margin-left: 4px;
|
||||
font-weight: bold;
|
||||
text-decoration: line-through;
|
||||
"
|
||||
>¥{{ Number(curriculumData.price).toFixed(2) }}</text
|
||||
>
|
||||
</text>
|
||||
<text class="price original_price"
|
||||
>原价:¥{{ curriculumData.price }}
|
||||
</text>
|
||||
</template>
|
||||
<template v-else>
|
||||
<text class="aui-text-danger price">
|
||||
¥{{ curriculumData.price }}
|
||||
</text>
|
||||
</template>
|
||||
|
||||
<text
|
||||
v-else-if="curriculumData.activityPrice && curriculumData.activityPrice > 0"
|
||||
class="price"
|
||||
>
|
||||
<text
|
||||
>¥{{ curriculumData.activityPrice.toFixed(2) }}</text
|
||||
>
|
||||
<!-- <text style="color: #613804; font-size: 10px; margin-left: 4px"
|
||||
>活动价</text
|
||||
> -->
|
||||
<text
|
||||
style="
|
||||
color: #8a8a8a;
|
||||
font-size: 14px;
|
||||
margin-left: 4px;
|
||||
font-weight: bold;
|
||||
text-decoration: line-through;
|
||||
"
|
||||
>¥{{ Number(curriculumData.price).toFixed(2) }}</text
|
||||
>
|
||||
</text>
|
||||
|
||||
<text v-else-if="curriculumData&&curriculumData.price>0" class="price"
|
||||
>¥{{ Number(curriculumData.price).toFixed(2) }}</text
|
||||
>
|
||||
<view class="price original_price sales_number"
|
||||
>已售 {{ curriculumData.sumSales }}件
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="xianshimaiosha_box" >
|
||||
<text class="xianshimaiosha">秒杀商品</text>
|
||||
<text class="xianshimaiosha" v-if="curriculumData.isVipPrice == 1 &&
|
||||
curriculumData.vipPrice != 0 &&
|
||||
curriculumData.vipPrice != null">VIP优惠</text>
|
||||
<text class="xianshimaiosha" v-else-if=" curriculumData.activityPrice &&
|
||||
curriculumData.activityPrice > 0">活动立减</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -68,6 +109,7 @@
|
||||
>{{ curriculumData.productName }}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view
|
||||
v-else
|
||||
class="normal_box"
|
||||
@@ -87,9 +129,9 @@
|
||||
>原价:¥{{ curriculumData.price }}
|
||||
</text>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-else-if="curriculumData.price">
|
||||
<text class="aui-text-danger price">
|
||||
¥{{ curriculumData.price }}
|
||||
¥{{ Number(curriculumData.price).toFixed(2) }}
|
||||
</text>
|
||||
</template>
|
||||
<text
|
||||
|
||||
@@ -42,7 +42,28 @@
|
||||
<view class="order_top common_radius_box color_shandow goods_box">
|
||||
<view
|
||||
class="curriulum_title_box goods_item"
|
||||
style="position: relative"
|
||||
v-for="(v, i) in goodsDataList"
|
||||
>
|
||||
<span
|
||||
v-if="v.isVipPrice == 1 && v.vipPrice != 0 && v.vipPrice != null"
|
||||
style="
|
||||
position: absolute;
|
||||
z-index: 10;
|
||||
top: 4px;
|
||||
left: 0px;
|
||||
margin-right: 10px;
|
||||
text-align: center;
|
||||
font-size: 18rpx;
|
||||
background-color: #f94f04;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
border-radius: 4px;
|
||||
width: 80rpx;
|
||||
padding: 2px 4px;
|
||||
box-sizing: border-box;
|
||||
"
|
||||
>VIP优惠</span
|
||||
>
|
||||
<image
|
||||
v-if="v.productImages && v.productImages != ''"
|
||||
@@ -58,9 +79,12 @@
|
||||
@click="goDetail(item.productId)"
|
||||
></image>
|
||||
<view class="normal_box">
|
||||
<view class="normal_box_top" style="justify-content: space-between;position: relative;">
|
||||
<view class="curriulum_title">{{ v.productName }} </view>
|
||||
<view
|
||||
class="normal_box_top"
|
||||
style="justify-content: space-between; position: relative"
|
||||
>
|
||||
<view class="curriulum_title">{{ v.productName }} </view>
|
||||
<!-- <view
|
||||
style="
|
||||
width: 120rpx !important;
|
||||
text-align: right;
|
||||
@@ -75,8 +99,8 @@
|
||||
: v.price
|
||||
}}
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
</view> -->
|
||||
<!-- <view
|
||||
v-if="v.activityPrice > 0 && v.activityPrice < v.price"
|
||||
style="
|
||||
position: absolute;
|
||||
@@ -86,9 +110,54 @@
|
||||
text-decoration: line-through;
|
||||
font-size: 24rpx;
|
||||
"
|
||||
>原价:¥{{ v.price }}</view>
|
||||
>原价:¥{{ v.price }}</view> -->
|
||||
</view>
|
||||
<view>
|
||||
<text
|
||||
v-if="
|
||||
v.isVipPrice == 1 && v.vipPrice != 0 && v.vipPrice != null
|
||||
"
|
||||
>
|
||||
<text style="color: #e97512; font-size: 12px; font-weight: bold"
|
||||
>¥{{ v.vipPrice.toFixed(2) }}</text
|
||||
>
|
||||
<text style="color: #fa2d12; font-size: 10px; margin-left: 4px"
|
||||
>VIP到手价</text
|
||||
>
|
||||
<text
|
||||
style="
|
||||
color: #8a8a8a;
|
||||
font-size: 10px;
|
||||
margin-left: 4px;
|
||||
font-weight: bold;
|
||||
text-decoration: line-through;
|
||||
"
|
||||
>¥{{ Number(v.price).toFixed(2) }}</text
|
||||
>
|
||||
</text>
|
||||
|
||||
<text v-else-if="v.activityPrice && v.activityPrice > 0">
|
||||
<text style="color: #e97512; font-size: 12px; font-weight: bold"
|
||||
>¥{{ v.activityPrice.toFixed(2) }}</text
|
||||
>
|
||||
<text style="color: #613804; font-size: 10px; margin-left: 4px"
|
||||
>活动价</text
|
||||
>
|
||||
<text
|
||||
style="
|
||||
color: #8a8a8a;
|
||||
font-size: 10px;
|
||||
margin-left: 4px;
|
||||
font-weight: bold;
|
||||
text-decoration: line-through;
|
||||
"
|
||||
>¥{{ Number(v.price).toFixed(2) }}</text
|
||||
>
|
||||
</text>
|
||||
|
||||
<text v-else style="font-size: 12px"
|
||||
>¥{{ Number(v.price).toFixed(2) }}</text
|
||||
>
|
||||
<u-number-box v-model="orderNumber" style="float: right">
|
||||
<view slot="minus" class="minus">
|
||||
<u-icon name="minus" size="12"></u-icon>
|
||||
@@ -168,19 +237,30 @@
|
||||
style="display: inline-block"
|
||||
></u-icon>
|
||||
|
||||
<text> {{ v.text }}</text>
|
||||
<text v-if="v.type == 6">
|
||||
<span
|
||||
style="color: #f94f04; font-weight: bold; margin-right: 2px"
|
||||
>VIP</span
|
||||
>
|
||||
专享立减</text
|
||||
>
|
||||
<text v-else> {{ v.text }}</text>
|
||||
<template v-if="v.type == 4">
|
||||
<text style="color: #aaa; margin-left: 10rpx">
|
||||
(全部积分:{{ initData.user.jf }})</text>
|
||||
(全部积分:{{ initData.user.jf }})</text
|
||||
>
|
||||
</template>
|
||||
</view>
|
||||
<view class="right">
|
||||
<template v-if="v.type == 1"> ¥{{ totalPrice }}</template>
|
||||
<template v-if="v.type == 1">
|
||||
¥{{ Number(totalPrice).toFixed(2) }}</template
|
||||
>
|
||||
<template v-if="v.type == 2">
|
||||
<text>
|
||||
¥{{
|
||||
isShowAddress ? freightNum.toFixed(2) : Number(0).toFixed(2)
|
||||
}}</text>
|
||||
}}</text
|
||||
>
|
||||
</template>
|
||||
<template v-if="v.type == 3">
|
||||
<template v-if="!curCoupon.id">
|
||||
@@ -239,6 +319,16 @@
|
||||
<template v-if="v.type == 4">
|
||||
<text style="color: #fe6035"> -¥{{ jfNumberShow }}</text>
|
||||
</template>
|
||||
<template v-if="v.type == 5">
|
||||
<text style="color: #fa2d12"
|
||||
>- ¥{{ districtAmount.toFixed(2) }}</text
|
||||
>
|
||||
</template>
|
||||
<template v-if="v.type == 6">
|
||||
<text style="color: #fa2d12"
|
||||
>- ¥{{ vipPrice.toFixed(2) }}</text
|
||||
>
|
||||
</template>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -297,12 +387,23 @@
|
||||
</view>
|
||||
|
||||
<template v-if="isDefaultCurrency">
|
||||
<radio v-if="i == 2" :value="v.value" color="#258feb"
|
||||
:checked="selectPayIndex == i ? true : false" @click="radioChange(i)" size="10" />
|
||||
<radio
|
||||
v-if="i == 2"
|
||||
:value="v.value"
|
||||
color="#258feb"
|
||||
:checked="selectPayIndex == i ? true : false"
|
||||
@click="radioChange(i)"
|
||||
size="10"
|
||||
/>
|
||||
</template>
|
||||
<template v-else>
|
||||
<radio :value="v.value" color="#258feb" :checked="selectPayIndex == i ? true : false"
|
||||
@click="radioChange(i)" size="10" />
|
||||
<radio
|
||||
:value="v.value"
|
||||
color="#258feb"
|
||||
:checked="selectPayIndex == i ? true : false"
|
||||
@click="radioChange(i)"
|
||||
size="10"
|
||||
/>
|
||||
</template>
|
||||
</view>
|
||||
</view>
|
||||
@@ -397,7 +498,9 @@
|
||||
<text class="price"
|
||||
>合计:
|
||||
|
||||
<text class="total">¥{{ actualPayment }}</text>
|
||||
<text class="total"
|
||||
>¥{{ Number(actualPayment).toFixed(2) }}</text
|
||||
>
|
||||
</text>
|
||||
</view>
|
||||
</template>
|
||||
@@ -478,9 +581,12 @@ export default {
|
||||
watch: {
|
||||
isDefaultCurrency: {
|
||||
immediate: true,
|
||||
handler(newRoute) { console.log('this.isDefaultCurrency at line 482:', this.isDefaultCurrency)
|
||||
handler(newRoute) {
|
||||
console.log(
|
||||
"this.isDefaultCurrency at line 482:",
|
||||
this.isDefaultCurrency
|
||||
);
|
||||
if (this.isDefaultCurrency) {
|
||||
|
||||
if (platform == "ios") {
|
||||
this.selectPayIndex = 0;
|
||||
} else {
|
||||
@@ -502,7 +608,10 @@ export default {
|
||||
handler(newRoute) {
|
||||
if (this.orderNumber >= 1) {
|
||||
this.$nextTick(async () => {
|
||||
await this.getActiveCouponList();
|
||||
await this.getGoodsList();
|
||||
// await this.getVipFei();
|
||||
// await this.getDistrictAmount();
|
||||
// await this.getActiveCouponList();
|
||||
});
|
||||
}
|
||||
this.$forceUpdate();
|
||||
@@ -511,6 +620,8 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
vipPrice: 0,
|
||||
districtAmount: 0,
|
||||
historyOrderInfo: undefined, //上一个订单的参数
|
||||
isDefaultCurrency: false,
|
||||
isShowAddress: false,
|
||||
@@ -650,27 +761,12 @@ export default {
|
||||
async onLoad(options) {
|
||||
var that = this;
|
||||
this.options = JSON.parse(options.data);
|
||||
this.goodsDataList = this.options.goods;
|
||||
var list = [...this.options.goods];
|
||||
list = list.map((e) => e.goodsType);
|
||||
this.haveCourse = list.some((ele) => ele === "05");
|
||||
|
||||
if (this.options.sourceType == "curriculum") {
|
||||
this.goToInfo = {
|
||||
url: "/pages/curriculum/order/index/index",
|
||||
type: 2,
|
||||
};
|
||||
} else {
|
||||
this.goToInfo = {
|
||||
url: "/pages/bookShop/orderList",
|
||||
type: 1,
|
||||
};
|
||||
}
|
||||
that.initPrepareOrder();
|
||||
// this.getGoodsList();
|
||||
},
|
||||
async onShow() {
|
||||
this.curCouponId = undefined;
|
||||
var that = this;
|
||||
// this.getGoodsList();
|
||||
await uni.$on("returnData", function (data) {
|
||||
if (data) {
|
||||
that.addressData = {
|
||||
@@ -683,11 +779,10 @@ export default {
|
||||
|
||||
that.getUserAddress();
|
||||
} else {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
if(platform=='ios'){
|
||||
if (platform == "ios") {
|
||||
this.payList = [
|
||||
{
|
||||
text: "天医币",
|
||||
@@ -695,11 +790,12 @@ export default {
|
||||
type: 4,
|
||||
value: "2",
|
||||
},
|
||||
]
|
||||
];
|
||||
this.selectPayIndex = 0;
|
||||
this.payType=4
|
||||
this.payType = 4;
|
||||
} else {
|
||||
this.payList= [{
|
||||
this.payList = [
|
||||
{
|
||||
text: "支付宝",
|
||||
imgUrl: require("@/static/icon/pay_1.png"),
|
||||
type: 2,
|
||||
@@ -717,15 +813,126 @@ export default {
|
||||
type: 4,
|
||||
value: "2",
|
||||
},
|
||||
]
|
||||
];
|
||||
this.selectPayIndex = 1;
|
||||
this.payType=1
|
||||
this.payType = 1;
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState(["userInfo"]),
|
||||
},
|
||||
methods: {
|
||||
getGoodsList() {
|
||||
this.$http
|
||||
.request({
|
||||
// url: "book/buyOrder/calculateTransportPrice/",
|
||||
url: "/book/buyOrder/getShopProductListByIds",
|
||||
// url: "book/buyorder/getTransPrice/" + this.adressMoRen.areaidpath + "?" + dataToString,
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data: {
|
||||
productIds: this.options.goods.map((e) => e.productId).toString(),
|
||||
},
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then(async (res) => {
|
||||
this.goodsDataList = res.shopProductList;
|
||||
console.log("this.goodsDataList at line 780:", this.goodsDataList);
|
||||
await this.getVipFei();
|
||||
await this.getDistrictAmount();
|
||||
await this.getActiveCouponList();
|
||||
var list = [...this.goodsDataList];
|
||||
list = list.map((e) => e.goodsType);
|
||||
this.haveCourse = list.some((ele) => ele === "05");
|
||||
|
||||
if (this.options.sourceType == "curriculum") {
|
||||
this.goToInfo = {
|
||||
url: "/pages/curriculum/order/index/index",
|
||||
type: 2,
|
||||
};
|
||||
} else {
|
||||
this.goToInfo = {
|
||||
url: "/pages/bookShop/orderList",
|
||||
type: 1,
|
||||
};
|
||||
}
|
||||
this.initPrepareOrder();
|
||||
});
|
||||
},
|
||||
async getVipFei() {
|
||||
let key = [];
|
||||
let dataToString = "";
|
||||
// console.log(this.adressMoRen, '默认地址')
|
||||
this.goodsDataList.forEach((item, index) => {
|
||||
key.push({
|
||||
productId: item.productId,
|
||||
quantity: this.orderNumber,
|
||||
});
|
||||
// dataToString = dataToString.concat(item.productId+"="+item.productAmount+"&")
|
||||
});
|
||||
// console.log(key,'this.adressMoRen.areaidpath')
|
||||
|
||||
await $http
|
||||
.request({
|
||||
// url: "book/buyOrder/calculateTransportPrice/",
|
||||
url: "/book/buyOrder/getVipDiscountAmount",
|
||||
// url: "book/buyorder/getTransPrice/" + this.adressMoRen.areaidpath + "?" + dataToString,
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data: {
|
||||
productList: key,
|
||||
},
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then(async(res) => {
|
||||
if (res.code == 0) {
|
||||
console.log("res.code at line 538:", res);
|
||||
this.vipPrice = res.discountAmount;
|
||||
// console.log('需要的运费', res.result)
|
||||
await this.getTotalPrice();
|
||||
}
|
||||
});
|
||||
},
|
||||
async getDistrictAmount() {
|
||||
let key = [];
|
||||
let dataToString = "";
|
||||
|
||||
this.goodsDataList.forEach((item, index) => {
|
||||
key.push({
|
||||
productId: item.productId,
|
||||
quantity: this.orderNumber,
|
||||
});
|
||||
// dataToString = dataToString.concat(item.productId+"="+item.productAmount+"&")
|
||||
});
|
||||
console.log(key, "this.adressMoRen.areaidpath");
|
||||
|
||||
await $http
|
||||
.request({
|
||||
// url: "book/buyOrder/calculateTransportPrice/",
|
||||
url: "/book/buyOrder/getDistrictAmount",
|
||||
// url: "book/buyorder/getTransPrice/" + this.adressMoRen.areaidpath + "?" + dataToString,
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data: {
|
||||
productList: key,
|
||||
},
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then(async(res) => {
|
||||
if (res.code == 0) {
|
||||
console.log("res.code at line 538111111111111111:", res);
|
||||
this.districtAmount = res.districtAmount;
|
||||
// console.log('需要的运费', res.result)
|
||||
await this.getTotalPrice();
|
||||
}
|
||||
});
|
||||
},
|
||||
closeCoupon() {
|
||||
this.showCouponPup = false;
|
||||
},
|
||||
@@ -742,13 +949,13 @@ export default {
|
||||
},
|
||||
// 查询商品可用优惠券
|
||||
async getActiveCouponList() {
|
||||
if (this.goodsDataList.length <= 0) {
|
||||
uni.showToast({
|
||||
title: "商品参数错误,无法获取优惠券",
|
||||
icon: "none",
|
||||
});
|
||||
return;
|
||||
}
|
||||
// if (this.goodsDataList.length <= 0) {
|
||||
// uni.showToast({
|
||||
// title: "商品参数错误,无法获取优惠券",
|
||||
// icon: "none",
|
||||
// });
|
||||
// return;
|
||||
// }
|
||||
|
||||
var list = [];
|
||||
this.goodsDataList.forEach((e) => {
|
||||
@@ -849,7 +1056,12 @@ export default {
|
||||
couponAmount = this.curCoupon.couponEntity.couponAmount;
|
||||
}
|
||||
this.actualPayment =
|
||||
this.totalPrice - couponAmount - this.jfNumber + this.freightNum;
|
||||
this.totalPrice -
|
||||
couponAmount -
|
||||
this.jfNumber +
|
||||
this.freightNum -
|
||||
this.districtAmount -
|
||||
this.vipPrice;
|
||||
|
||||
if (this.actualPayment == 0) {
|
||||
this.isDefaultCurrency = true;
|
||||
@@ -902,6 +1114,7 @@ export default {
|
||||
imgUrl: "",
|
||||
type: 2,
|
||||
},
|
||||
|
||||
{
|
||||
text: "优惠券",
|
||||
imgUrl: "",
|
||||
@@ -909,6 +1122,27 @@ export default {
|
||||
},
|
||||
];
|
||||
}
|
||||
if (
|
||||
this.goodsDataList[0].activityPrice &&
|
||||
this.goodsDataList[0].activityPrice > 0
|
||||
) {
|
||||
this.priceBreakdownList.push({
|
||||
text: "活动立减",
|
||||
imgUrl: "",
|
||||
type: 5,
|
||||
});
|
||||
}
|
||||
if (
|
||||
this.goodsDataList[0].isVipPrice &&
|
||||
this.goodsDataList[0].vipPrice &&
|
||||
this.goodsDataList[0].vipPrice > 0
|
||||
) {
|
||||
this.priceBreakdownList.push({
|
||||
text: "VIP专享立减",
|
||||
imgUrl: "",
|
||||
type: 6,
|
||||
});
|
||||
}
|
||||
var data = {
|
||||
uid: this.userInfo.id,
|
||||
productList: this.goodsDataList.map((e) => {
|
||||
@@ -932,8 +1166,10 @@ export default {
|
||||
})
|
||||
|
||||
.then(async (res) => {
|
||||
console.log('res at line 1168:', res)
|
||||
if (res.code == 0) {
|
||||
this.initData = res.data;
|
||||
|
||||
console.log(
|
||||
"this.initData at line 初始化课程订单信息:",
|
||||
this.initData
|
||||
@@ -946,8 +1182,6 @@ export default {
|
||||
type: 4,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
this.$forceUpdate();
|
||||
@@ -1056,10 +1290,10 @@ export default {
|
||||
var that = this;
|
||||
for (var i = this.goodsDataList.length - 1; i >= 0; i--) {
|
||||
s +=
|
||||
this.goodsDataList[i].activityPrice &&
|
||||
this.goodsDataList[i].activityPrice > 0
|
||||
? this.goodsDataList[i].activityPrice
|
||||
: this.goodsDataList[i].price;
|
||||
// this.goodsDataList[i].activityPrice &&
|
||||
// this.goodsDataList[i].activityPrice > 0
|
||||
// ? this.goodsDataList[i].activityPrice
|
||||
this.goodsDataList[i].price;
|
||||
}
|
||||
that.totalPrice = s * this.orderNumber;
|
||||
var couponAmount = 0;
|
||||
@@ -1072,6 +1306,7 @@ export default {
|
||||
couponAmount = 0;
|
||||
}
|
||||
if (!this.isShowAddress) {
|
||||
if(that.initData.user&&that.initData.user.jf){
|
||||
if (this.initData.user.jf >= that.totalPrice) {
|
||||
this.jfNumber = that.totalPrice - couponAmount;
|
||||
this.jfNumberMax = that.totalPrice - couponAmount;
|
||||
@@ -1085,6 +1320,10 @@ export default {
|
||||
this.jfNumberMax = this.initData.user.jf;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
this.jfNumber=0
|
||||
}
|
||||
|
||||
if (that.jfNumber == 0 || that.jfNumber == null) {
|
||||
that.jfNumberShow = "0.00";
|
||||
that.actualPayment = that.totalPrice - couponAmount;
|
||||
@@ -1092,9 +1331,18 @@ export default {
|
||||
that.jfNumberShow = that.jfNumber.toFixed(2);
|
||||
that.actualPayment = that.totalPrice - that.jfNumber - couponAmount;
|
||||
}
|
||||
that.actualPayment = that.actualPayment + that.freightNum;
|
||||
that.actualPayment =
|
||||
that.actualPayment +
|
||||
that.freightNum -
|
||||
that.districtAmount -
|
||||
that.vipPrice;
|
||||
} else {
|
||||
that.actualPayment = that.totalPrice + that.freightNum - couponAmount;
|
||||
that.actualPayment =
|
||||
that.totalPrice +
|
||||
that.freightNum -
|
||||
couponAmount -
|
||||
that.districtAmount -
|
||||
that.vipPrice;
|
||||
}
|
||||
if (this.actualPayment == 0 && !this.isShowAddress) {
|
||||
this.isDefaultCurrency = true;
|
||||
@@ -1188,6 +1436,8 @@ export default {
|
||||
? this.curCoupon.couponEntity.couponName
|
||||
: "", //优惠券名称
|
||||
districtMoney: 0, //优惠金额
|
||||
vipDiscountAmount: this.vipPrice, //折扣金额
|
||||
districtMoney: this.districtAmount, //折扣金额
|
||||
|
||||
productList: this.goodsDataList.map((e) => {
|
||||
return {
|
||||
@@ -1705,7 +1955,7 @@ export default {
|
||||
|
||||
.curriulum_title {
|
||||
// width: calc(100% - 80rpx);
|
||||
width: calc(100% - 130rpx);
|
||||
width: calc(100%);
|
||||
font-weight: 500;
|
||||
font-size: 30rpx;
|
||||
// line-height: 40rpx;
|
||||
@@ -1934,7 +2184,7 @@ export default {
|
||||
|
||||
.price {
|
||||
.total {
|
||||
font-size: 38rpx;
|
||||
font-size: 30rpx;
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,23 +4,37 @@
|
||||
<view class="" style="">
|
||||
<view style="height: 60rpx"></view>
|
||||
<view class="icon_hua">
|
||||
<image src="../../static/homeLogo.png" mode="aspectFit" class="icon_hua_1"></image>
|
||||
<image
|
||||
src="../../static/homeLogo.png"
|
||||
mode="aspectFit"
|
||||
class="icon_hua_1"
|
||||
></image>
|
||||
</view>
|
||||
<view class="hehan">
|
||||
<image src="../../static/icon/hehan.png" mode="aspectFit" class="icon_hua_1"></image>
|
||||
<image
|
||||
src="../../static/icon/hehan.png"
|
||||
mode="aspectFit"
|
||||
class="icon_hua_1"
|
||||
></image>
|
||||
</view>
|
||||
<view class="topSearch_box">
|
||||
<image src="../../static/search.png" mode="aspectFit"
|
||||
@click="onPageJump('/pages/peanut/searchFor')"></image>
|
||||
<image
|
||||
src="../../static/search.png"
|
||||
mode="aspectFit"
|
||||
@click="onPageJump('/pages/peanut/searchFor')"
|
||||
></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fourBox nopadding" style="">
|
||||
<view class="fourIcon flexbox noRadius" style="
|
||||
<view
|
||||
class="fourIcon flexbox noRadius"
|
||||
style="
|
||||
justify-content: space-around;
|
||||
margin-bottom: 0;
|
||||
box-shadow: none;
|
||||
">
|
||||
"
|
||||
>
|
||||
<div class="item flexbox" @click="onPageJump('/pages/course/outline')">
|
||||
<image src="../../static/my_01.png" mode="aspectFit"></image>
|
||||
<text>学习大纲</text>
|
||||
@@ -29,7 +43,10 @@
|
||||
<image src="../../static/my_02.png" mode="aspectFit"></image>
|
||||
<text>我的课程</text>
|
||||
</div>
|
||||
<div class="item flexbox" @click="onPageJump('/pages/course/vipCourse')">
|
||||
<div
|
||||
class="item flexbox"
|
||||
@click="onPageJump('/pages/course/vipCourse')"
|
||||
>
|
||||
<image src="../../static/my_06.png" mode="aspectFit"></image>
|
||||
<text>超V专享</text>
|
||||
</div>
|
||||
@@ -37,28 +54,52 @@
|
||||
<image src="../../static/my_03.png" mode="aspectFit"></image>
|
||||
<text>太湖讲堂</text>
|
||||
</div> -->
|
||||
<div class="item flexbox" @click="onPageJump('/pages/medicaldes/medicaldes')">
|
||||
<div
|
||||
class="item flexbox"
|
||||
@click="onPageJump('/pages/medicaldes/medicaldes')"
|
||||
>
|
||||
<image src="../../static/my_04.png" mode="aspectFit"></image>
|
||||
<text>吴门医述</text>
|
||||
</div>
|
||||
</view>
|
||||
</view>
|
||||
<view class="newLeve2">
|
||||
<view class="home_nar nomargin" style="padding: 0; background-color: #fff">
|
||||
<view
|
||||
class="home_nar nomargin"
|
||||
style="padding: 0; background-color: #fff"
|
||||
>
|
||||
<view class="flexbox">
|
||||
<view :class="['hn_cl_tit', currentIndex == index ? 'active' : '']" @click="curseClick(item,index)"
|
||||
v-for="(item, index) in curseTagList" :key="index">
|
||||
<view
|
||||
:class="['hn_cl_tit', currentIndex == index ? 'active' : '']"
|
||||
@click="curseClick(item, index)"
|
||||
v-for="(item, index) in curseTagList"
|
||||
:key="index"
|
||||
>
|
||||
<image :src="item.icon" mode="aspectFit"></image>
|
||||
<text>{{ item.title }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fourBox" style="padding: 0; padding-bottom: 8rpx"
|
||||
v-if="sbuMedicalTagsList && sbuMedicalTagsList.length > 0">
|
||||
<view class="childrenBox fourIcon flexbox" style="justify-content: space-around">
|
||||
<div class="item flexbox" @click="curseClickJump(item)" v-for="(item, index) in sbuMedicalTagsList"
|
||||
:key="index">
|
||||
<image :src="item.icon" mode="aspectFit" v-if="item.icon != '' && item.icon != null"></image>
|
||||
<view
|
||||
class="fourBox"
|
||||
style="padding: 0; padding-bottom: 8rpx"
|
||||
v-if="sbuMedicalTagsList && sbuMedicalTagsList.length > 0"
|
||||
>
|
||||
<view
|
||||
class="childrenBox fourIcon flexbox"
|
||||
style="justify-content: space-around"
|
||||
>
|
||||
<div
|
||||
class="item flexbox"
|
||||
@click="curseClickJump(item)"
|
||||
v-for="(item, index) in sbuMedicalTagsList"
|
||||
:key="index"
|
||||
>
|
||||
<image
|
||||
:src="item.icon"
|
||||
mode="aspectFit"
|
||||
v-if="item.icon != '' && item.icon != null"
|
||||
></image>
|
||||
<text>{{ item.title }}</text>
|
||||
</div>
|
||||
</view>
|
||||
@@ -68,11 +109,23 @@
|
||||
<view class="flex_box flex_between align-items_box learnBox homeTestBox">
|
||||
<text>考试进行中</text>
|
||||
<view class="">
|
||||
<uni-countdown @timeup="timeup" :font-size="20" :show-day="false" :hour="timeDif.hour"
|
||||
:minute="timeDif.minutes" :second="timeDif.second" color="#fff" splitorColor="#fff" />
|
||||
<uni-countdown
|
||||
@timeup="timeup"
|
||||
:font-size="20"
|
||||
:show-day="false"
|
||||
:hour="timeDif.hour"
|
||||
:minute="timeDif.minutes"
|
||||
:second="timeDif.second"
|
||||
color="#fff"
|
||||
splitorColor="#fff"
|
||||
/>
|
||||
</view>
|
||||
<view class="">
|
||||
<text class="small_btn retake border_radius_10" @click="continueTest(examId, classId)">继续考试</text>
|
||||
<text
|
||||
class="small_btn retake border_radius_10"
|
||||
@click="continueTest(examId, classId)"
|
||||
>继续考试</text
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -84,10 +137,18 @@
|
||||
<text>观看记录</text>
|
||||
</view>
|
||||
<view class="learn flexbox">
|
||||
<view class="item" v-for="(item, index) in learnList" :key="index"
|
||||
@click="onPageJump('/pages/course/courseDetail', item.id)">
|
||||
<view
|
||||
class="item"
|
||||
v-for="(item, index) in learnList"
|
||||
:key="index"
|
||||
@click="onPageJump('/pages/course/courseDetail', item.id)"
|
||||
>
|
||||
<view class="img" style="overflow: hidden">
|
||||
<image v-if="item.image && item.image != ''" :src="item.image" mode="aspectFit"></image>
|
||||
<image
|
||||
v-if="item.image && item.image != ''"
|
||||
:src="item.image"
|
||||
mode="aspectFit"
|
||||
></image>
|
||||
<image v-else src="/static/nobg.jpg" mode="widthFix"></image>
|
||||
</view>
|
||||
<view class="txt555">
|
||||
@@ -105,22 +166,41 @@
|
||||
<image src="../../static/class.png" mode="aspectFit"></image>
|
||||
<text>班级列表</text>
|
||||
</view>
|
||||
<view class="moreBtn" @click="onPageJump('/pages/miniClass/allLearningClassList')">
|
||||
<view
|
||||
class="moreBtn"
|
||||
@click="onPageJump('/pages/miniClass/allLearningClassList')"
|
||||
>
|
||||
<text>更多班级</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="classItemBox uni-margin-wrap">
|
||||
<view class="uni-margin-wrap">
|
||||
<swiper class="swiper" circular :indicator-dots="false" :autoplay="true" interval="3000"
|
||||
duration="500">
|
||||
<swiper
|
||||
class="swiper"
|
||||
circular
|
||||
:indicator-dots="false"
|
||||
:autoplay="true"
|
||||
interval="3000"
|
||||
duration="500"
|
||||
>
|
||||
<swiper-item v-for="(item, index) in classList" :key="index">
|
||||
<view class="classItem flex_box"
|
||||
@click="onPageJump('/pages/miniClass/classInfo', item.id)">
|
||||
<view
|
||||
class="classItem flex_box"
|
||||
@click="onPageJump('/pages/miniClass/classInfo', item.id)"
|
||||
>
|
||||
<view class="img" style="overflow: hidden">
|
||||
<image v-if="item.icon && item.icon != ''" :src="item.icon" mode="aspectFit">
|
||||
<image
|
||||
v-if="item.icon && item.icon != ''"
|
||||
:src="item.icon"
|
||||
mode="aspectFit"
|
||||
>
|
||||
</image>
|
||||
<image v-else src="@/static/my_04.png" mode="widthFix"></image>
|
||||
<image
|
||||
v-else
|
||||
src="@/static/my_04.png"
|
||||
mode="widthFix"
|
||||
></image>
|
||||
</view>
|
||||
<view class="textBox flex_box">
|
||||
<view class="">
|
||||
@@ -149,15 +229,22 @@
|
||||
</view>
|
||||
<!-- 健康超市 -->
|
||||
<view class="supermarketBox" v-if="tjProList.length > 0">
|
||||
<view class="hightLightTitleBox" @click="onPageJump('/pages/course/healthMarket', 2, '健康超市')">
|
||||
<view
|
||||
class="hightLightTitleBox"
|
||||
@click="onPageJump('/pages/course/healthMarket', 2, '健康超市')"
|
||||
>
|
||||
<text>健康超市</text>
|
||||
</view>
|
||||
<view class="supermarket">
|
||||
<view class="borderbb">
|
||||
<view class="main">
|
||||
<view class="flexbox">
|
||||
<view class="item" v-for="(item, index) in tjProList" :key="index"
|
||||
@click="goGoodsDetail(item, 0)">
|
||||
<view
|
||||
class="item"
|
||||
v-for="(item, index) in tjProList"
|
||||
:key="index"
|
||||
@click="goGoodsDetail(item, 0)"
|
||||
>
|
||||
<view class="imgcontainer">
|
||||
<image :src="item.productImages" mode="aspectFit"></image>
|
||||
</view>
|
||||
@@ -165,7 +252,10 @@
|
||||
{{ item.productName }}
|
||||
</view>
|
||||
|
||||
<view class="price" v-if="item.activityPrice && item.activityPrice > 0">
|
||||
<view
|
||||
class="price"
|
||||
v-if="item.activityPrice && item.activityPrice > 0"
|
||||
>
|
||||
¥{{ item.activityPrice }}
|
||||
</view>
|
||||
<view class="price" v-else> ¥{{ item.price }} </view>
|
||||
@@ -189,7 +279,12 @@
|
||||
<view class="super_block">
|
||||
<scroll-view class="scroll-view" scroll-x="true" scroll-left="0">
|
||||
<view class="super_product_list">
|
||||
<view class="super_product_item" v-for="(item,index) in superList" :key="index" @click="goGoodsDetail(item, 0)">
|
||||
<view
|
||||
class="super_product_item"
|
||||
v-for="(item, index) in superList"
|
||||
:key="index"
|
||||
@click="goGoodsDetail(item, 0)"
|
||||
>
|
||||
<image :src="item.productImages"></image>
|
||||
<text>{{ item.productName }}</text>
|
||||
</view>
|
||||
@@ -209,26 +304,103 @@
|
||||
<view class="ftitle">
|
||||
<text>天天秒杀 时时返积分</text>
|
||||
</view>
|
||||
<scroll-view class="scroll-view_H" scroll-x="true">
|
||||
<scroll-view
|
||||
class="scroll-view_H"
|
||||
scroll-x="true"
|
||||
style="
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
"
|
||||
>
|
||||
<!-- <view class=""> -->
|
||||
<view class="item" v-for="(item, index) in seckillList" :key="index"
|
||||
@click="goGoodsDetail(item, 1)">
|
||||
<view class="imgcontainer">
|
||||
<view
|
||||
class="item"
|
||||
v-for="(item, index) in seckillList"
|
||||
:key="index"
|
||||
@click="goGoodsDetail(item, 1)"
|
||||
>
|
||||
<view class="imgcontainer" style="position: relative">
|
||||
|
||||
|
||||
<view v-if="item.isVipPrice==1&&item.vipPrice!=0&&item.vipPrice!=null"
|
||||
style="z-index: 10;position: absolute;top: 10rpx;left: 10px;text-align: center;font-size: 22rpx;background-color: #f94f04;color: #fff;font-weight: bold;border-radius:4px;width: 120rpx; padding:4rpx;box-sizing: border-box;">
|
||||
VIP优惠</view>
|
||||
<image :src="item.productImages" mode="aspectFit"></image>
|
||||
</view>
|
||||
<view class="name">
|
||||
{{ item.productName }}
|
||||
</view>
|
||||
<view>
|
||||
<!-- v-if="
|
||||
item.isVipPrice == 1 &&
|
||||
item.vipPrice != 0 &&
|
||||
item.vipPrice != null
|
||||
" -->
|
||||
<text
|
||||
class="price"
|
||||
v-if="
|
||||
item.isVipPrice == 1 &&
|
||||
item.vipPrice != 0 &&
|
||||
item.vipPrice != null
|
||||
"
|
||||
>
|
||||
<text
|
||||
style="color: #e97512; font-size: 12px; font-weight: bold"
|
||||
>¥{{ item.vipPrice }}</text
|
||||
>
|
||||
|
||||
<view class="price"> ¥{{ item.price }} </view>
|
||||
<view class="fall">
|
||||
<text class="mprice">¥{{
|
||||
<text
|
||||
style="
|
||||
color: #8a8a8a;
|
||||
font-size: 10px;
|
||||
margin-left: 4px;
|
||||
font-weight: bold;
|
||||
text-decoration: line-through;
|
||||
"
|
||||
>¥{{ Number(item.price) }}</text
|
||||
>
|
||||
</text>
|
||||
|
||||
<text
|
||||
v-else-if="item.activityPrice && item.activityPrice > 0"
|
||||
class="price"
|
||||
>
|
||||
<text
|
||||
style="color: #e97512; font-size: 12px; font-weight: bold"
|
||||
>¥{{ item.activityPrice }}</text
|
||||
>
|
||||
|
||||
<text
|
||||
style="
|
||||
color: #8a8a8a;
|
||||
font-size: 10px;
|
||||
margin-left: 4px;
|
||||
font-weight: bold;
|
||||
text-decoration: line-through;
|
||||
"
|
||||
>¥{{ Number(item.price) }}</text
|
||||
>
|
||||
</text>
|
||||
|
||||
<text v-else class="price" style="color: #e97512; font-size: 12px; font-weight: bold"
|
||||
>¥{{ Number(item.price) }}</text
|
||||
>
|
||||
<view>
|
||||
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
<!-- <view class="fall">
|
||||
<text class="mprice"
|
||||
>¥{{
|
||||
item.activityPrice && item.activityPrice > 0
|
||||
? item.activityPrice
|
||||
: item.price
|
||||
}}</text>
|
||||
<text class="cprice">直降<br />¥{{ item.price - item.activityPrice }}</text>
|
||||
</view>
|
||||
}}</text
|
||||
>
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
<!-- </view> -->
|
||||
@@ -244,9 +416,20 @@
|
||||
<u-icon name="volume-fill" color="#2979ff" size="26"></u-icon>
|
||||
</view>
|
||||
<view class="newscoll">
|
||||
<swiper class="swiper" interval="5000" circular autoplay vertical indicator-dots="false">
|
||||
<swiper-item class="item" v-for="(item, index) in newsList" :key="index"
|
||||
@click="newsClick(item)">
|
||||
<swiper
|
||||
class="swiper"
|
||||
interval="5000"
|
||||
circular
|
||||
autoplay
|
||||
vertical
|
||||
indicator-dots="false"
|
||||
>
|
||||
<swiper-item
|
||||
class="item"
|
||||
v-for="(item, index) in newsList"
|
||||
:key="index"
|
||||
@click="newsClick(item)"
|
||||
>
|
||||
<view class="swiper-item">{{ item.title }}</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
@@ -261,11 +444,20 @@
|
||||
<text>精彩试听</text>
|
||||
</view>
|
||||
<view class="learn flexbox shiting">
|
||||
<view class="item" v-for="(item, index) in tryListenList" :key="index" @click="
|
||||
<view
|
||||
class="item"
|
||||
v-for="(item, index) in tryListenList"
|
||||
:key="index"
|
||||
@click="
|
||||
onPageJump('/pages/course/courseDetail', item.id, item.title)
|
||||
">
|
||||
"
|
||||
>
|
||||
<view class="imgcontainer">
|
||||
<image v-if="item.image == '' || !item.image" src="@/static/nobg.jpg" mode="aspectFit">
|
||||
<image
|
||||
v-if="item.image == '' || !item.image"
|
||||
src="@/static/nobg.jpg"
|
||||
mode="aspectFit"
|
||||
>
|
||||
</image>
|
||||
<image v-else :src="item.image" mode="aspectFit"></image>
|
||||
</view>
|
||||
@@ -280,12 +472,19 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="moreBox shiting">
|
||||
<text @click="onPageJump('/pages/course/tryListen', 1, '精彩试听')">更多试听</text>
|
||||
<text @click="onPageJump('/pages/course/tryListen', 1, '精彩试听')"
|
||||
>更多试听</text
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
<u-back-top :scroll-top="scrollTop" bottom="60" :customStyle="bgiStyle" :iconStyle="iconStyle"></u-back-top>
|
||||
<u-back-top
|
||||
:scroll-top="scrollTop"
|
||||
bottom="60"
|
||||
:customStyle="bgiStyle"
|
||||
:iconStyle="iconStyle"
|
||||
></u-back-top>
|
||||
</view>
|
||||
<!-- 应对华为审核,去掉app跳转 -->
|
||||
<view class="appJump">
|
||||
@@ -317,7 +516,10 @@
|
||||
<!-- 公共组件-每个页面必须引入 -->
|
||||
<public-module></public-module>
|
||||
<z-navigation></z-navigation>
|
||||
<common-advertisement ref="commonAdvertisement" :list="advertisementList"></common-advertisement>
|
||||
<common-advertisement
|
||||
ref="commonAdvertisement"
|
||||
:list="advertisementList"
|
||||
></common-advertisement>
|
||||
<!-- <music-play :playList="myList"></music-play> -->
|
||||
</view>
|
||||
</template>
|
||||
@@ -343,10 +545,7 @@
|
||||
import updata from "@/uni_modules/uni-upgrade-center-app/utils/check-update";
|
||||
import advertisement from "@/uni_modules/uni-upgrade-center-app/utils/check-update";
|
||||
// #endif
|
||||
import {
|
||||
mapState,
|
||||
mapMutations
|
||||
} from "vuex";
|
||||
import { mapState, mapMutations } from "vuex";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -398,7 +597,7 @@
|
||||
currentIndex: null,
|
||||
fixed: null,
|
||||
//vip活动
|
||||
superList: []
|
||||
superList: [],
|
||||
};
|
||||
},
|
||||
onPageScroll(e) {
|
||||
@@ -414,12 +613,12 @@
|
||||
},
|
||||
onHide() {
|
||||
this.page = 1;
|
||||
uni.removeStorageSync('fixed');
|
||||
uni.removeStorageSync("fixed");
|
||||
},
|
||||
//页面显示
|
||||
async onShow() {
|
||||
//存储的需要固定分类
|
||||
this.fixed = uni.getStorageSync('fixed');
|
||||
this.fixed = uni.getStorageSync("fixed");
|
||||
|
||||
//固定分类
|
||||
if (this.fixed) {
|
||||
@@ -566,7 +765,7 @@
|
||||
if (res.code == 0 && res.classExamUser != null) {
|
||||
obj = {
|
||||
...res.classExamUser,
|
||||
planEndTime: res.planEndTime
|
||||
planEndTime: res.planEndTime,
|
||||
};
|
||||
} else {
|
||||
obj = undefined;
|
||||
@@ -672,7 +871,8 @@
|
||||
res.labels[0].children.length > 0
|
||||
) {
|
||||
//数据按currentIndex同步显示
|
||||
this.sbuMedicalTagsList = res.labels[this.currentIndex].children;
|
||||
this.sbuMedicalTagsList =
|
||||
res.labels[this.currentIndex].children;
|
||||
} else {
|
||||
this.sbuMedicalTagsList = [];
|
||||
}
|
||||
@@ -982,7 +1182,8 @@
|
||||
//苹果
|
||||
//因为ios查不到B款app在ios系统手机里面,其实下载了,也是检测不到,所以就不检测了
|
||||
//直接打开B款app,B款app没有的话,会进入回调报错,我们在回调去打开下载链接
|
||||
plus.runtime.launchApplication({
|
||||
plus.runtime.launchApplication(
|
||||
{
|
||||
action: "${schemes}://",
|
||||
},
|
||||
function (e) {
|
||||
@@ -1230,7 +1431,7 @@
|
||||
}
|
||||
|
||||
.fall {
|
||||
background-image: linear-gradient(-90deg, #e70503 0%, #e7a535 100%);
|
||||
background-image: linear-gradient(90deg, #e70503 0%, #e7a535 100%);
|
||||
border-radius: 10px;
|
||||
color: #fff;
|
||||
padding: 4rpx;
|
||||
@@ -1246,20 +1447,6 @@
|
||||
font-size: 28rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.cprice {
|
||||
color: #333;
|
||||
text-align: center;
|
||||
padding: 28rpx 0;
|
||||
width: 46%;
|
||||
|
||||
line-height: 24rpx;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: url(@/static/miaosha_bg.png) center no-repeat;
|
||||
background-size: contain;
|
||||
}
|
||||
}
|
||||
|
||||
image {
|
||||
@@ -1268,7 +1455,23 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.cprice {
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
padding: 60rpx 0 20rpx;
|
||||
width: 58px;
|
||||
height: 65px;
|
||||
box-sizing: border-box;
|
||||
font-weight: 500;
|
||||
font-size: 10px;
|
||||
z-index: 10;
|
||||
line-height: 24rpx;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: -30px;
|
||||
background: url(@/static/icon/zhijiang.png) center no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.supermarketBox {
|
||||
.hightLightTitleBox {
|
||||
background: url("@/static/level_bg_green.png") center top no-repeat;
|
||||
@@ -1883,10 +2086,8 @@
|
||||
}
|
||||
.super_block {
|
||||
margin-top: 20rpx;
|
||||
|
||||
}
|
||||
.scroll-view {
|
||||
|
||||
}
|
||||
.super_product_list {
|
||||
display: inline-flex;
|
||||
|
||||
BIN
static/icon/zhijiang.png
Normal file
BIN
static/icon/zhijiang.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
Binary file not shown.
Reference in New Issue
Block a user