This commit is contained in:
2025-03-07 10:43:12 +08:00
parent 0020a80506
commit eb42140cae
9 changed files with 2784 additions and 2062 deletions

View File

@@ -24,7 +24,7 @@
"type" : "uni-app:app-ios" "type" : "uni-app:app-ios"
}, },
{ {
"playground" : "custom", "playground" : "standard",
"type" : "uni-app:app-android" "type" : "uni-app:app-android"
}, },
{ {

View File

@@ -136,9 +136,16 @@
> >
</view> </view>
<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>
<!-- <view class="btns flexbox" style="margin-top: 10rpx"> <!-- <view class="btns flexbox" style="margin-top: 10rpx">
@@ -241,10 +248,46 @@
</span> </span>
<span>¥</span>{{ orderContet.shippingMoney }} <span>¥</span>{{ orderContet.shippingMoney }}
</view> </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 <view
class="orderReal" class="orderReal"
v-if="orderContet.couponId && orderContet.couponId != null" v-if="orderContet.couponId && orderContet.couponId != null"
> >
<span style="color: #666; margin-right: 10rpx; float: left" <span style="color: #666; margin-right: 10rpx; float: left"
>优惠券 : >优惠券 :
</span> </span>

View File

@@ -1,6 +1,15 @@
<template> <template>
<view class="container commonPageBox commonDetailPage" style="height: auto !important;padding-bottom: 0 !important;"> <view
<u-popup :show="show" v-if="show" mode="bottom" @close="close" class="popup_box"> 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"> <view class="popup_top">
<!-- @click="previewImage(selectGoodsData.productImages)" --> <!-- @click="previewImage(selectGoodsData.productImages)" -->
<view class="product_image"> <view class="product_image">
@@ -15,7 +24,30 @@
<view :class="`common_radius_box goods_box popup_content`"> <view :class="`common_radius_box goods_box popup_content`">
<view class="title title_box" <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 <u-icon
name="close" name="close"
@@ -44,13 +76,16 @@
<view <view
class="related_courses_name" class="related_courses_name"
:class="`goods_item ${ :class="`goods_item ${
!isFudu && selectGoodsData && (!isFudu &&
selectGoodsData.productId == slotProps.row.productId || isFudu && selectGoodsData.productName == slotProps.row.productName selectGoodsData &&
selectGoodsData.productId == slotProps.row.productId) ||
(isFudu &&
selectGoodsData.productName == slotProps.row.productName)
? 'isSelectGoods color_shandow' ? 'isSelectGoods color_shandow'
: '' : ''
}`" }`"
> >
<view class="image_box" style="margin-right: 10rpx; "> <view class="image_box" style="margin-right: 10rpx">
<image <image
:src="slotProps.row.productImages" :src="slotProps.row.productImages"
mode="aspectFit" mode="aspectFit"
@@ -58,17 +93,93 @@
></image> ></image>
</view> </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="name">{{ slotProps.row.productName }}</view>
<view class="flex_box"> <view class="flex_box" style="align-items: center;">
<text style="color: #999; text-decoration: line-through; margin-right: 20rpx;" <!-- <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> v-if="slotProps.row.activityPrice > 0 && slotProps.row.activityPrice < slotProps.row.price" >{{slotProps.row.price}}</text>
<view class="price" style="color: #258feb" <view class="price" style="color: #258feb"
>{{ slotProps.row.activityPrice?slotProps.row.activityPrice:slotProps.row.price }}</view >{{ slotProps.row.activityPrice?slotProps.row.activityPrice:slotProps.row.price }}</view
></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>
</view> </view>
<!-- <text v-if="slotProps.row.conditions!='03'">【试听】</text> --> <!-- <text v-if="slotProps.row.conditions!='03'">【试听】</text> -->
@@ -166,7 +277,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import '@/style/mixin.scss'; @import "@/style/mixin.scss";
.goods_item { .goods_item {
overflow: hidden; overflow: hidden;
display: flex; display: flex;
@@ -199,9 +310,9 @@ export default {
// padding: 10rpx 20rpx; // padding: 10rpx 20rpx;
box-sizing: border-box; box-sizing: border-box;
// height: 100rpx; // height: 100rpx;
display: flex; // display: flex;
align-items: center; // align-items: center;
justify-content: space-between; // justify-content: space-between;
float: left; float: left;
.name { .name {
font-size: 26rpx; font-size: 26rpx;

View File

@@ -273,17 +273,92 @@
<view class="list supermarketBox"> <view class="list supermarketBox">
<scroll-view class="scroll-view_H" scroll-x="true"> <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="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> <image :src="item.productImages" mode="aspectFit"></image>
</view> </view>
<view class="name"> <view class="name">
{{ item.productName }} {{ item.productName }}
</view> </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 }} ¥{{ item.activityPrice }}
</view> </view>
<view class="price" v-else> {{ item.price }} </view> <view class="price" v-else> ¥{{ item.price }} </view> -->
</view> </view>
</scroll-view> </scroll-view>
</view> </view>

View File

@@ -32,35 +32,76 @@
<view class="goods_box"> <view class="goods_box">
<view class="curriulum_title_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_box">
<view class="price_left"> <view class="price_left" v-if="curriculumData">
<template
<text
class="price"
v-if=" v-if="
curriculumData.activityPrice && curriculumData.isVipPrice == 1 &&
curriculumData.activityPrice > 0 curriculumData.vipPrice != 0 &&
curriculumData.vipPrice != null
" "
> >
<text class="aui-text-danger price"> <text
¥{{ curriculumData.activityPrice }} >¥{{ 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>
<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" <view class="price original_price sales_number"
>已售 {{ curriculumData.sumSales }}件 >已售 {{ curriculumData.sumSales }}件
</view> </view>
</view> </view>
<view class="xianshimaiosha_box" > <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>
</view> </view>
@@ -68,6 +109,7 @@
>{{ curriculumData.productName }} >{{ curriculumData.productName }}
</view> </view>
</view> </view>
<view <view
v-else v-else
class="normal_box" class="normal_box"
@@ -87,9 +129,9 @@
>原价:¥{{ curriculumData.price }} >原价:¥{{ curriculumData.price }}
</text> </text>
</template> </template>
<template v-else> <template v-else-if="curriculumData.price">
<text class="aui-text-danger price"> <text class="aui-text-danger price">
¥{{ curriculumData.price }} ¥{{ Number(curriculumData.price).toFixed(2) }}
</text> </text>
</template> </template>
<text <text

View File

@@ -42,7 +42,28 @@
<view class="order_top common_radius_box color_shandow goods_box"> <view class="order_top common_radius_box color_shandow goods_box">
<view <view
class="curriulum_title_box goods_item" class="curriulum_title_box goods_item"
style="position: relative"
v-for="(v, i) in goodsDataList" 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 <image
v-if="v.productImages && v.productImages != ''" v-if="v.productImages && v.productImages != ''"
@@ -58,9 +79,12 @@
@click="goDetail(item.productId)" @click="goDetail(item.productId)"
></image> ></image>
<view class="normal_box"> <view class="normal_box">
<view class="normal_box_top" style="justify-content: space-between;position: relative;">
<view class="curriulum_title">{{ v.productName }} </view>
<view <view
class="normal_box_top"
style="justify-content: space-between; position: relative"
>
<view class="curriulum_title">{{ v.productName }} </view>
<!-- <view
style=" style="
width: 120rpx !important; width: 120rpx !important;
text-align: right; text-align: right;
@@ -75,8 +99,8 @@
: v.price : v.price
}} }}
</view> </view>
</view> </view> -->
<view <!-- <view
v-if="v.activityPrice > 0 && v.activityPrice < v.price" v-if="v.activityPrice > 0 && v.activityPrice < v.price"
style=" style="
position: absolute; position: absolute;
@@ -86,9 +110,54 @@
text-decoration: line-through; text-decoration: line-through;
font-size: 24rpx; font-size: 24rpx;
" "
>原价{{ v.price }}</view> >原价{{ v.price }}</view> -->
</view> </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"> <u-number-box v-model="orderNumber" style="float: right">
<view slot="minus" class="minus"> <view slot="minus" class="minus">
<u-icon name="minus" size="12"></u-icon> <u-icon name="minus" size="12"></u-icon>
@@ -168,19 +237,30 @@
style="display: inline-block" style="display: inline-block"
></u-icon> ></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"> <template v-if="v.type == 4">
<text style="color: #aaa; margin-left: 10rpx"> <text style="color: #aaa; margin-left: 10rpx">
(全部积分{{ initData.user.jf }})</text> (全部积分:{{ initData.user.jf }})</text
>
</template> </template>
</view> </view>
<view class="right"> <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"> <template v-if="v.type == 2">
<text> <text>
¥{{ ¥{{
isShowAddress ? freightNum.toFixed(2) : Number(0).toFixed(2) isShowAddress ? freightNum.toFixed(2) : Number(0).toFixed(2)
}}</text> }}</text
>
</template> </template>
<template v-if="v.type == 3"> <template v-if="v.type == 3">
<template v-if="!curCoupon.id"> <template v-if="!curCoupon.id">
@@ -239,6 +319,16 @@
<template v-if="v.type == 4"> <template v-if="v.type == 4">
<text style="color: #fe6035"> -¥{{ jfNumberShow }}</text> <text style="color: #fe6035"> -¥{{ jfNumberShow }}</text>
</template> </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>
</view> </view>
@@ -297,12 +387,23 @@
</view> </view>
<template v-if="isDefaultCurrency"> <template v-if="isDefaultCurrency">
<radio v-if="i == 2" :value="v.value" color="#258feb" <radio
:checked="selectPayIndex == i ? true : false" @click="radioChange(i)" size="10" /> v-if="i == 2"
:value="v.value"
color="#258feb"
:checked="selectPayIndex == i ? true : false"
@click="radioChange(i)"
size="10"
/>
</template> </template>
<template v-else> <template v-else>
<radio :value="v.value" color="#258feb" :checked="selectPayIndex == i ? true : false" <radio
@click="radioChange(i)" size="10" /> :value="v.value"
color="#258feb"
:checked="selectPayIndex == i ? true : false"
@click="radioChange(i)"
size="10"
/>
</template> </template>
</view> </view>
</view> </view>
@@ -397,7 +498,9 @@
<text class="price" <text class="price"
>合计: >合计:
<text class="total">{{ actualPayment }}</text> <text class="total"
>¥{{ Number(actualPayment).toFixed(2) }}</text
>
</text> </text>
</view> </view>
</template> </template>
@@ -478,9 +581,12 @@ export default {
watch: { watch: {
isDefaultCurrency: { isDefaultCurrency: {
immediate: true, 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 (this.isDefaultCurrency) {
if (platform == "ios") { if (platform == "ios") {
this.selectPayIndex = 0; this.selectPayIndex = 0;
} else { } else {
@@ -502,7 +608,10 @@ export default {
handler(newRoute) { handler(newRoute) {
if (this.orderNumber >= 1) { if (this.orderNumber >= 1) {
this.$nextTick(async () => { this.$nextTick(async () => {
await this.getActiveCouponList(); await this.getGoodsList();
// await this.getVipFei();
// await this.getDistrictAmount();
// await this.getActiveCouponList();
}); });
} }
this.$forceUpdate(); this.$forceUpdate();
@@ -511,6 +620,8 @@ export default {
}, },
data() { data() {
return { return {
vipPrice: 0,
districtAmount: 0,
historyOrderInfo: undefined, //上一个订单的参数 historyOrderInfo: undefined, //上一个订单的参数
isDefaultCurrency: false, isDefaultCurrency: false,
isShowAddress: false, isShowAddress: false,
@@ -650,27 +761,12 @@ export default {
async onLoad(options) { async onLoad(options) {
var that = this; var that = this;
this.options = JSON.parse(options.data); this.options = JSON.parse(options.data);
this.goodsDataList = this.options.goods; // this.getGoodsList();
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();
}, },
async onShow() { async onShow() {
this.curCouponId = undefined; this.curCouponId = undefined;
var that = this; var that = this;
// this.getGoodsList();
await uni.$on("returnData", function (data) { await uni.$on("returnData", function (data) {
if (data) { if (data) {
that.addressData = { that.addressData = {
@@ -683,11 +779,10 @@ export default {
that.getUserAddress(); that.getUserAddress();
} else { } else {
} }
}); });
if(platform=='ios'){ if (platform == "ios") {
this.payList = [ this.payList = [
{ {
text: "天医币", text: "天医币",
@@ -695,11 +790,12 @@ export default {
type: 4, type: 4,
value: "2", value: "2",
}, },
] ];
this.selectPayIndex = 0; this.selectPayIndex = 0;
this.payType=4 this.payType = 4;
} else { } else {
this.payList= [{ this.payList = [
{
text: "支付宝", text: "支付宝",
imgUrl: require("@/static/icon/pay_1.png"), imgUrl: require("@/static/icon/pay_1.png"),
type: 2, type: 2,
@@ -717,15 +813,126 @@ export default {
type: 4, type: 4,
value: "2", value: "2",
}, },
] ];
this.selectPayIndex = 1; this.selectPayIndex = 1;
this.payType=1 this.payType = 1;
} }
}, },
computed: { computed: {
...mapState(["userInfo"]), ...mapState(["userInfo"]),
}, },
methods: { 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() { closeCoupon() {
this.showCouponPup = false; this.showCouponPup = false;
}, },
@@ -742,13 +949,13 @@ export default {
}, },
// 查询商品可用优惠券 // 查询商品可用优惠券
async getActiveCouponList() { async getActiveCouponList() {
if (this.goodsDataList.length <= 0) { // if (this.goodsDataList.length <= 0) {
uni.showToast({ // uni.showToast({
title: "商品参数错误,无法获取优惠券", // title: "商品参数错误,无法获取优惠券",
icon: "none", // icon: "none",
}); // });
return; // return;
} // }
var list = []; var list = [];
this.goodsDataList.forEach((e) => { this.goodsDataList.forEach((e) => {
@@ -849,7 +1056,12 @@ export default {
couponAmount = this.curCoupon.couponEntity.couponAmount; couponAmount = this.curCoupon.couponEntity.couponAmount;
} }
this.actualPayment = this.actualPayment =
this.totalPrice - couponAmount - this.jfNumber + this.freightNum; this.totalPrice -
couponAmount -
this.jfNumber +
this.freightNum -
this.districtAmount -
this.vipPrice;
if (this.actualPayment == 0) { if (this.actualPayment == 0) {
this.isDefaultCurrency = true; this.isDefaultCurrency = true;
@@ -902,6 +1114,7 @@ export default {
imgUrl: "", imgUrl: "",
type: 2, type: 2,
}, },
{ {
text: "优惠券", text: "优惠券",
imgUrl: "", 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 = { var data = {
uid: this.userInfo.id, uid: this.userInfo.id,
productList: this.goodsDataList.map((e) => { productList: this.goodsDataList.map((e) => {
@@ -932,8 +1166,10 @@ export default {
}) })
.then(async (res) => { .then(async (res) => {
console.log('res at line 1168:', res)
if (res.code == 0) { if (res.code == 0) {
this.initData = res.data; this.initData = res.data;
console.log( console.log(
"this.initData at line 初始化课程订单信息:", "this.initData at line 初始化课程订单信息:",
this.initData this.initData
@@ -946,8 +1182,6 @@ export default {
type: 4, type: 4,
}); });
} }
} }
this.$forceUpdate(); this.$forceUpdate();
@@ -1056,10 +1290,10 @@ export default {
var that = this; var that = this;
for (var i = this.goodsDataList.length - 1; i >= 0; i--) { for (var i = this.goodsDataList.length - 1; i >= 0; i--) {
s += s +=
this.goodsDataList[i].activityPrice && // this.goodsDataList[i].activityPrice &&
this.goodsDataList[i].activityPrice > 0 // this.goodsDataList[i].activityPrice > 0
? this.goodsDataList[i].activityPrice // ? this.goodsDataList[i].activityPrice
: this.goodsDataList[i].price; this.goodsDataList[i].price;
} }
that.totalPrice = s * this.orderNumber; that.totalPrice = s * this.orderNumber;
var couponAmount = 0; var couponAmount = 0;
@@ -1072,6 +1306,7 @@ export default {
couponAmount = 0; couponAmount = 0;
} }
if (!this.isShowAddress) { if (!this.isShowAddress) {
if(that.initData.user&&that.initData.user.jf){
if (this.initData.user.jf >= that.totalPrice) { if (this.initData.user.jf >= that.totalPrice) {
this.jfNumber = that.totalPrice - couponAmount; this.jfNumber = that.totalPrice - couponAmount;
this.jfNumberMax = that.totalPrice - couponAmount; this.jfNumberMax = that.totalPrice - couponAmount;
@@ -1085,6 +1320,10 @@ export default {
this.jfNumberMax = this.initData.user.jf; this.jfNumberMax = this.initData.user.jf;
} }
} }
}else{
this.jfNumber=0
}
if (that.jfNumber == 0 || that.jfNumber == null) { if (that.jfNumber == 0 || that.jfNumber == null) {
that.jfNumberShow = "0.00"; that.jfNumberShow = "0.00";
that.actualPayment = that.totalPrice - couponAmount; that.actualPayment = that.totalPrice - couponAmount;
@@ -1092,9 +1331,18 @@ export default {
that.jfNumberShow = that.jfNumber.toFixed(2); that.jfNumberShow = that.jfNumber.toFixed(2);
that.actualPayment = that.totalPrice - that.jfNumber - couponAmount; that.actualPayment = that.totalPrice - that.jfNumber - couponAmount;
} }
that.actualPayment = that.actualPayment + that.freightNum; that.actualPayment =
that.actualPayment +
that.freightNum -
that.districtAmount -
that.vipPrice;
} else { } 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) { if (this.actualPayment == 0 && !this.isShowAddress) {
this.isDefaultCurrency = true; this.isDefaultCurrency = true;
@@ -1188,6 +1436,8 @@ export default {
? this.curCoupon.couponEntity.couponName ? this.curCoupon.couponEntity.couponName
: "", //优惠券名称 : "", //优惠券名称
districtMoney: 0, //优惠金额 districtMoney: 0, //优惠金额
vipDiscountAmount: this.vipPrice, //折扣金额
districtMoney: this.districtAmount, //折扣金额
productList: this.goodsDataList.map((e) => { productList: this.goodsDataList.map((e) => {
return { return {
@@ -1705,7 +1955,7 @@ export default {
.curriulum_title { .curriulum_title {
// width: calc(100% - 80rpx); // width: calc(100% - 80rpx);
width: calc(100% - 130rpx); width: calc(100%);
font-weight: 500; font-weight: 500;
font-size: 30rpx; font-size: 30rpx;
// line-height: 40rpx; // line-height: 40rpx;
@@ -1934,7 +2184,7 @@ export default {
.price { .price {
.total { .total {
font-size: 38rpx; font-size: 30rpx;
color: red; color: red;
} }
} }

View File

@@ -4,23 +4,37 @@
<view class="" style=""> <view class="" style="">
<view style="height: 60rpx"></view> <view style="height: 60rpx"></view>
<view class="icon_hua"> <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>
<view class="hehan"> <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>
<view class="topSearch_box"> <view class="topSearch_box">
<image src="../../static/search.png" mode="aspectFit" <image
@click="onPageJump('/pages/peanut/searchFor')"></image> src="../../static/search.png"
mode="aspectFit"
@click="onPageJump('/pages/peanut/searchFor')"
></image>
</view> </view>
</view> </view>
</view> </view>
<view class="fourBox nopadding" style=""> <view class="fourBox nopadding" style="">
<view class="fourIcon flexbox noRadius" style=" <view
class="fourIcon flexbox noRadius"
style="
justify-content: space-around; justify-content: space-around;
margin-bottom: 0; margin-bottom: 0;
box-shadow: none; box-shadow: none;
"> "
>
<div class="item flexbox" @click="onPageJump('/pages/course/outline')"> <div class="item flexbox" @click="onPageJump('/pages/course/outline')">
<image src="../../static/my_01.png" mode="aspectFit"></image> <image src="../../static/my_01.png" mode="aspectFit"></image>
<text>学习大纲</text> <text>学习大纲</text>
@@ -29,7 +43,10 @@
<image src="../../static/my_02.png" mode="aspectFit"></image> <image src="../../static/my_02.png" mode="aspectFit"></image>
<text>我的课程</text> <text>我的课程</text>
</div> </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> <image src="../../static/my_06.png" mode="aspectFit"></image>
<text>超V专享</text> <text>超V专享</text>
</div> </div>
@@ -37,28 +54,52 @@
<image src="../../static/my_03.png" mode="aspectFit"></image> <image src="../../static/my_03.png" mode="aspectFit"></image>
<text>太湖讲堂</text> <text>太湖讲堂</text>
</div> --> </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> <image src="../../static/my_04.png" mode="aspectFit"></image>
<text>吴门医述</text> <text>吴门医述</text>
</div> </div>
</view> </view>
</view> </view>
<view class="newLeve2"> <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="flexbox">
<view :class="['hn_cl_tit', currentIndex == index ? 'active' : '']" @click="curseClick(item,index)" <view
v-for="(item, index) in curseTagList" :key="index"> :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> <image :src="item.icon" mode="aspectFit"></image>
<text>{{ item.title }}</text> <text>{{ item.title }}</text>
</view> </view>
</view> </view>
</view> </view>
<view class="fourBox" style="padding: 0; padding-bottom: 8rpx" <view
v-if="sbuMedicalTagsList && sbuMedicalTagsList.length > 0"> class="fourBox"
<view class="childrenBox fourIcon flexbox" style="justify-content: space-around"> style="padding: 0; padding-bottom: 8rpx"
<div class="item flexbox" @click="curseClickJump(item)" v-for="(item, index) in sbuMedicalTagsList" v-if="sbuMedicalTagsList && sbuMedicalTagsList.length > 0"
:key="index"> >
<image :src="item.icon" mode="aspectFit" v-if="item.icon != '' && item.icon != null"></image> <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> <text>{{ item.title }}</text>
</div> </div>
</view> </view>
@@ -68,11 +109,23 @@
<view class="flex_box flex_between align-items_box learnBox homeTestBox"> <view class="flex_box flex_between align-items_box learnBox homeTestBox">
<text>考试进行中</text> <text>考试进行中</text>
<view class=""> <view class="">
<uni-countdown @timeup="timeup" :font-size="20" :show-day="false" :hour="timeDif.hour" <uni-countdown
:minute="timeDif.minutes" :second="timeDif.second" color="#fff" splitorColor="#fff" /> @timeup="timeup"
:font-size="20"
:show-day="false"
:hour="timeDif.hour"
:minute="timeDif.minutes"
:second="timeDif.second"
color="#fff"
splitorColor="#fff"
/>
</view> </view>
<view class=""> <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> </view>
</view> </view>
@@ -84,10 +137,18 @@
<text>观看记录</text> <text>观看记录</text>
</view> </view>
<view class="learn flexbox"> <view class="learn flexbox">
<view class="item" v-for="(item, index) in learnList" :key="index" <view
@click="onPageJump('/pages/course/courseDetail', item.id)"> class="item"
v-for="(item, index) in learnList"
:key="index"
@click="onPageJump('/pages/course/courseDetail', item.id)"
>
<view class="img" style="overflow: hidden"> <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> <image v-else src="/static/nobg.jpg" mode="widthFix"></image>
</view> </view>
<view class="txt555"> <view class="txt555">
@@ -105,22 +166,41 @@
<image src="../../static/class.png" mode="aspectFit"></image> <image src="../../static/class.png" mode="aspectFit"></image>
<text>班级列表</text> <text>班级列表</text>
</view> </view>
<view class="moreBtn" @click="onPageJump('/pages/miniClass/allLearningClassList')"> <view
class="moreBtn"
@click="onPageJump('/pages/miniClass/allLearningClassList')"
>
<text>更多班级</text> <text>更多班级</text>
</view> </view>
</view> </view>
<view class="classItemBox uni-margin-wrap"> <view class="classItemBox uni-margin-wrap">
<view class="uni-margin-wrap"> <view class="uni-margin-wrap">
<swiper class="swiper" circular :indicator-dots="false" :autoplay="true" interval="3000" <swiper
duration="500"> class="swiper"
circular
:indicator-dots="false"
:autoplay="true"
interval="3000"
duration="500"
>
<swiper-item v-for="(item, index) in classList" :key="index"> <swiper-item v-for="(item, index) in classList" :key="index">
<view class="classItem flex_box" <view
@click="onPageJump('/pages/miniClass/classInfo', item.id)"> class="classItem flex_box"
@click="onPageJump('/pages/miniClass/classInfo', item.id)"
>
<view class="img" style="overflow: hidden"> <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>
<image v-else src="@/static/my_04.png" mode="widthFix"></image> <image
v-else
src="@/static/my_04.png"
mode="widthFix"
></image>
</view> </view>
<view class="textBox flex_box"> <view class="textBox flex_box">
<view class=""> <view class="">
@@ -149,15 +229,22 @@
</view> </view>
<!-- 健康超市 --> <!-- 健康超市 -->
<view class="supermarketBox" v-if="tjProList.length > 0"> <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> <text>健康超市</text>
</view> </view>
<view class="supermarket"> <view class="supermarket">
<view class="borderbb"> <view class="borderbb">
<view class="main"> <view class="main">
<view class="flexbox"> <view class="flexbox">
<view class="item" v-for="(item, index) in tjProList" :key="index" <view
@click="goGoodsDetail(item, 0)"> class="item"
v-for="(item, index) in tjProList"
:key="index"
@click="goGoodsDetail(item, 0)"
>
<view class="imgcontainer"> <view class="imgcontainer">
<image :src="item.productImages" mode="aspectFit"></image> <image :src="item.productImages" mode="aspectFit"></image>
</view> </view>
@@ -165,7 +252,10 @@
{{ item.productName }} {{ item.productName }}
</view> </view>
<view class="price" v-if="item.activityPrice && item.activityPrice > 0"> <view
class="price"
v-if="item.activityPrice && item.activityPrice > 0"
>
{{ item.activityPrice }} {{ item.activityPrice }}
</view> </view>
<view class="price" v-else> {{ item.price }} </view> <view class="price" v-else> {{ item.price }} </view>
@@ -189,7 +279,12 @@
<view class="super_block"> <view class="super_block">
<scroll-view class="scroll-view" scroll-x="true" scroll-left="0"> <scroll-view class="scroll-view" scroll-x="true" scroll-left="0">
<view class="super_product_list"> <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> <image :src="item.productImages"></image>
<text>{{ item.productName }}</text> <text>{{ item.productName }}</text>
</view> </view>
@@ -209,26 +304,103 @@
<view class="ftitle"> <view class="ftitle">
<text>天天秒杀 时时返积分</text> <text>天天秒杀 时时返积分</text>
</view> </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=""> -->
<view class="item" v-for="(item, index) in seckillList" :key="index" <view
@click="goGoodsDetail(item, 1)"> class="item"
<view class="imgcontainer"> 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> <image :src="item.productImages" mode="aspectFit"></image>
</view> </view>
<view class="name"> <view class="name">
{{ item.productName }} {{ item.productName }}
</view> </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> <text
<view class="fall"> style="
<text class="mprice">{{ 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.activityPrice > 0
? item.activityPrice ? item.activityPrice
: item.price : item.price
}}</text> }}</text
<text class="cprice">直降<br />{{ item.price - item.activityPrice }}</text> >
</view> </view> -->
</view> </view>
<!-- </view> --> <!-- </view> -->
@@ -244,9 +416,20 @@
<u-icon name="volume-fill" color="#2979ff" size="26"></u-icon> <u-icon name="volume-fill" color="#2979ff" size="26"></u-icon>
</view> </view>
<view class="newscoll"> <view class="newscoll">
<swiper class="swiper" interval="5000" circular autoplay vertical indicator-dots="false"> <swiper
<swiper-item class="item" v-for="(item, index) in newsList" :key="index" class="swiper"
@click="newsClick(item)"> 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> <view class="swiper-item">{{ item.title }}</view>
</swiper-item> </swiper-item>
</swiper> </swiper>
@@ -261,11 +444,20 @@
<text>精彩试听</text> <text>精彩试听</text>
</view> </view>
<view class="learn flexbox shiting"> <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) onPageJump('/pages/course/courseDetail', item.id, item.title)
"> "
>
<view class="imgcontainer"> <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>
<image v-else :src="item.image" mode="aspectFit"></image> <image v-else :src="item.image" mode="aspectFit"></image>
</view> </view>
@@ -280,12 +472,19 @@
</view> </view>
</view> </view>
<view class="moreBox shiting"> <view class="moreBox shiting">
<text @click="onPageJump('/pages/course/tryListen', 1, '精彩试听')">更多试听</text> <text @click="onPageJump('/pages/course/tryListen', 1, '精彩试听')"
>更多试听</text
>
</view> </view>
</view> </view>
</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> </view>
<!-- 应对华为审核去掉app跳转 --> <!-- 应对华为审核去掉app跳转 -->
<view class="appJump"> <view class="appJump">
@@ -317,7 +516,10 @@
<!-- 公共组件-每个页面必须引入 --> <!-- 公共组件-每个页面必须引入 -->
<public-module></public-module> <public-module></public-module>
<z-navigation></z-navigation> <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> --> <!-- <music-play :playList="myList"></music-play> -->
</view> </view>
</template> </template>
@@ -343,10 +545,7 @@
import updata from "@/uni_modules/uni-upgrade-center-app/utils/check-update"; import updata from "@/uni_modules/uni-upgrade-center-app/utils/check-update";
import advertisement from "@/uni_modules/uni-upgrade-center-app/utils/check-update"; import advertisement from "@/uni_modules/uni-upgrade-center-app/utils/check-update";
// #endif // #endif
import { import { mapState, mapMutations } from "vuex";
mapState,
mapMutations
} from "vuex";
export default { export default {
data() { data() {
return { return {
@@ -398,7 +597,7 @@
currentIndex: null, currentIndex: null,
fixed: null, fixed: null,
//vip活动 //vip活动
superList: [] superList: [],
}; };
}, },
onPageScroll(e) { onPageScroll(e) {
@@ -414,12 +613,12 @@
}, },
onHide() { onHide() {
this.page = 1; this.page = 1;
uni.removeStorageSync('fixed'); uni.removeStorageSync("fixed");
}, },
//页面显示 //页面显示
async onShow() { async onShow() {
//存储的需要固定分类 //存储的需要固定分类
this.fixed = uni.getStorageSync('fixed'); this.fixed = uni.getStorageSync("fixed");
//固定分类 //固定分类
if (this.fixed) { if (this.fixed) {
@@ -566,7 +765,7 @@
if (res.code == 0 && res.classExamUser != null) { if (res.code == 0 && res.classExamUser != null) {
obj = { obj = {
...res.classExamUser, ...res.classExamUser,
planEndTime: res.planEndTime planEndTime: res.planEndTime,
}; };
} else { } else {
obj = undefined; obj = undefined;
@@ -672,7 +871,8 @@
res.labels[0].children.length > 0 res.labels[0].children.length > 0
) { ) {
//数据按currentIndex同步显示 //数据按currentIndex同步显示
this.sbuMedicalTagsList = res.labels[this.currentIndex].children; this.sbuMedicalTagsList =
res.labels[this.currentIndex].children;
} else { } else {
this.sbuMedicalTagsList = []; this.sbuMedicalTagsList = [];
} }
@@ -982,7 +1182,8 @@
//苹果 //苹果
//因为ios查不到B款app在ios系统手机里面其实下载了也是检测不到所以就不检测了 //因为ios查不到B款app在ios系统手机里面其实下载了也是检测不到所以就不检测了
//直接打开B款appB款app没有的话会进入回调报错我们在回调去打开下载链接 //直接打开B款appB款app没有的话会进入回调报错我们在回调去打开下载链接
plus.runtime.launchApplication({ plus.runtime.launchApplication(
{
action: "${schemes}://", action: "${schemes}://",
}, },
function (e) { function (e) {
@@ -1230,7 +1431,7 @@
} }
.fall { .fall {
background-image: linear-gradient(-90deg, #e70503 0%, #e7a535 100%); background-image: linear-gradient(90deg, #e70503 0%, #e7a535 100%);
border-radius: 10px; border-radius: 10px;
color: #fff; color: #fff;
padding: 4rpx; padding: 4rpx;
@@ -1246,20 +1447,6 @@
font-size: 28rpx; font-size: 28rpx;
font-weight: bold; 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 { 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 { .supermarketBox {
.hightLightTitleBox { .hightLightTitleBox {
background: url("@/static/level_bg_green.png") center top no-repeat; background: url("@/static/level_bg_green.png") center top no-repeat;
@@ -1883,10 +2086,8 @@
} }
.super_block { .super_block {
margin-top: 20rpx; margin-top: 20rpx;
} }
.scroll-view { .scroll-view {
} }
.super_product_list { .super_product_list {
display: inline-flex; display: inline-flex;

BIN
static/icon/zhijiang.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.