同步
This commit is contained in:
202
components/buyPupFudu.vue
Normal file
202
components/buyPupFudu.vue
Normal file
@@ -0,0 +1,202 @@
|
||||
<template>
|
||||
<view>
|
||||
<u-popup key="1" :show="pricespop" :round="10" @close="closePup">
|
||||
<view class="proListPrice" v-if="proPriceList.length > 0">
|
||||
<view class="title">
|
||||
请选择
|
||||
</view>
|
||||
<view class="list">
|
||||
<view :class="['item',curProId == index ? 'active' : '']"
|
||||
v-for="(item,index) in proPriceList" :key="index" @click="choosePrice(item,index)">
|
||||
{{item.productName}} - ¥{{item.price}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="tbn flexbox" style="padding-bottom: 20px;">
|
||||
<view class="saveBtnss buybtn flexbox" @click="oprate('buy')">
|
||||
<u-icon name="bag" color="#fff" size="28"></u-icon>
|
||||
<text>立即购买</text>
|
||||
</view>
|
||||
<!-- <view class="saveBtnss gouwuche flexbox" @click="oprate('gouwuche')">
|
||||
<uni-icons type="cart" size="28" style="color: #666;"></uni-icons>
|
||||
<text>加入购物车</text>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name:"buyPup",
|
||||
props:['proPriceList'],
|
||||
data() {
|
||||
return {
|
||||
pricespop:true,
|
||||
curProId:null,
|
||||
curPro:{}
|
||||
};
|
||||
},methods:{
|
||||
closePup() {
|
||||
this.pricespop = false
|
||||
this.$emit('closePup')
|
||||
|
||||
},
|
||||
choosePrice(item,index) {
|
||||
console.log(index, 'choosePrice')
|
||||
this.curProId = index
|
||||
this.curPro = item
|
||||
},
|
||||
oprate(val){
|
||||
if(this.curProId==null){
|
||||
uni.showToast({
|
||||
title:'请选择您的课程',
|
||||
icon:'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
if(val=='buy'){
|
||||
console.log('直接购买');
|
||||
this.$emit('oprate',{name:val,item:this.curPro,index:this.curProId})
|
||||
}else if(val == 'gouwuche'){
|
||||
console.log('加入购物车');
|
||||
this.$emit('oprate',{name:val,item:this.curPro,index:this.curProId})
|
||||
}
|
||||
this.closePup()
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '@/style/mixin.scss';
|
||||
.flexbox {
|
||||
display: flex;
|
||||
}
|
||||
.saveBtn {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 80rpx;
|
||||
background-color: #00d8df;
|
||||
// width: 46%;
|
||||
overflow: hidden;
|
||||
border-radius: 30rpx;
|
||||
|
||||
text {
|
||||
padding-left: 10rpx;
|
||||
font-size: 28rpx;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.vipBtn {
|
||||
@include theme("vipbtnbg");
|
||||
border-radius: 100rpx;
|
||||
justify-content: center;
|
||||
width: 150px;
|
||||
color: #fff;
|
||||
margin: 10rpx auto;
|
||||
}
|
||||
|
||||
.buyBox {
|
||||
// position: fixed;
|
||||
// z-index: 2;
|
||||
// bottom: 100rpx;
|
||||
// left: 0;
|
||||
@include pleft_right(4px);
|
||||
// @include mshadow(10px, 1);
|
||||
padding: 20rpx 10rpx;
|
||||
width: 100%;
|
||||
font-size: 28rpx;
|
||||
flex-wrap: wrap;
|
||||
background-image: linear-gradient(60deg, #e0e9f6 0%,#ece6fa 30%,#d7e8f0 60%, #fff 100%);
|
||||
// background: rgba(255, 255, 255, 0.9);
|
||||
|
||||
.item {
|
||||
width: 100%;
|
||||
text-align: center; line-height: 70rpx !important;
|
||||
|
||||
}
|
||||
|
||||
.tbn {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.buybtn {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
.proListPrice {
|
||||
text-align: center;
|
||||
|
||||
.title {
|
||||
font-size: 28rpx;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.list {
|
||||
padding: 0 10px;
|
||||
padding-bottom: 20rpx;
|
||||
|
||||
.item {
|
||||
font-size: 26rpx;
|
||||
color: #333;
|
||||
margin-bottom: 10rpx;
|
||||
padding-top:20rpx ;
|
||||
padding-bottom:20rpx ;
|
||||
line-height:40rpx;
|
||||
border-radius: 50rpx;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
|
||||
.item.active {
|
||||
color: $themeColor;
|
||||
border: 1px solid $themeColor;
|
||||
}
|
||||
|
||||
.item:last-child {
|
||||
// border-bottom: none
|
||||
}
|
||||
}
|
||||
|
||||
.tbn {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.buybtn { padding: 0 20rpx;
|
||||
background-color: #00d8df;
|
||||
margin: 0;
|
||||
margin-right: 20rpx;
|
||||
|
||||
text {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.saveBtnss {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 80rpx;
|
||||
|
||||
// width: 46%;
|
||||
overflow: hidden;
|
||||
border-radius: 50rpx;
|
||||
|
||||
text {
|
||||
padding-left: 10rpx;
|
||||
font-size: 28rpx;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.gouwuche {
|
||||
border: 1px solid #666;
|
||||
padding-right: 20rpx;
|
||||
|
||||
text {
|
||||
// color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
394
components/commentsList.vue
Normal file
394
components/commentsList.vue
Normal file
@@ -0,0 +1,394 @@
|
||||
<template>
|
||||
<view class="">
|
||||
<view class="box" v-if="sayList && sayList.length > 0">
|
||||
<view class="firstLeve flexbox leve" v-for="(item, index) in sayList" :key="index" style="flex-wrap: wrap;">
|
||||
<view v-if="item.user && item.user != null && item.user != 'null'" class="imgbox" :style="getBackGround(item.user.avatar)">
|
||||
<view class="img">
|
||||
<!-- <image :src="item.user.avatar" mode="aspectFit" style="width: 80rpx; height: 80rpx;"></image> -->
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="contentBox contentBoxfirstLeve">
|
||||
<view class="name" v-if="item.user && item.user != null && item.user != 'null'">
|
||||
{{item.user.name == '' ? '暂无昵称': item.user.name}}
|
||||
</view>
|
||||
<view class="content" v-if="item.content != ''">
|
||||
<rich-text class="content" :nodes="formatRichText(item.content)"></rich-text>
|
||||
</view>
|
||||
<view class="imagesList flexbox" v-if="item.images !=''">
|
||||
<view class="item" v-for="(item2, index2) in item.imgList" :key="index2">
|
||||
<image @click="previewImage(item2)" :src="item2" mode="widthFix"
|
||||
style="width: 80rpx; height: 80rpx;"></image>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="others flexbox">
|
||||
<view class="dianzan flexbox" @click="support('one',index,item)">
|
||||
<u-icon v-if="item.support" name="heart-fill" color="#ff5500" size="24"></u-icon>
|
||||
<u-icon v-else name="heart" color="#999" size="24"></u-icon>
|
||||
<text>{{item.supportCount}}</text>
|
||||
</view>
|
||||
<view class="pinglun flexbox" @click="addSay(index,item)">
|
||||
<!-- <u-icon name="chat-fill" color="#999" size="24"></u-icon> -->
|
||||
<u-icon name="chat" color="#999" size="24"></u-icon>
|
||||
<text>{{item.children && item.children.length > 0? item.children.length : 0}}</text>
|
||||
</view>
|
||||
<text>{{item.createTime}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 二级 -->
|
||||
<view class="boxB" v-if="item.Bchildren && item.Bchildren.length > 0" style="width: 100%;">
|
||||
<view class=" flexbox leve" v-for="(citem, cindex) in item.Bchildren" :key="cindex">
|
||||
<view class="imgbox" :style="getBackGround(citem.user.avatar)">
|
||||
<view class="img">
|
||||
<image :src="citem.user.avatar" mode="aspectFit"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="contentBox">
|
||||
<view class="name">
|
||||
{{citem.user.name == '' ? '暂无昵称': citem.user.name}}
|
||||
</view>
|
||||
<view class="content" v-if="citem.content != ''">
|
||||
<rich-text class="content" :nodes="formatRichText(citem.content)"></rich-text>
|
||||
</view>
|
||||
<view class="imagesList flexbox" v-if="citem.images !=''">
|
||||
<view class="item" v-for="(item3, index3) in citem.imgList" :key="index3">
|
||||
<image @click="previewImage(item3)" :src="item3" mode="widthFix"
|
||||
style="width: 80rpx; height: 80rpx;"></image>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="others flexbox">
|
||||
<view class="dianzan flexbox" @click="support(index,cindex,citem)">
|
||||
<u-icon v-if="citem.support" name="heart-fill" color="#ff5500" size="24"></u-icon>
|
||||
<u-icon v-else name="heart" color="#999" size="24"></u-icon>
|
||||
<text>{{citem.supportCount}}</text>
|
||||
</view>
|
||||
<!-- <view class="pinglun flexbox" @click="addSay(cindex,citem)">
|
||||
<u-icon name="chat" color="#999" size="24"></u-icon>
|
||||
<text>{{citem.children && citem.children.length > 0? item.children.length : 0}}</text>
|
||||
</view> -->
|
||||
<text style="margin-left: 20rpx;">{{citem.createTime}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="loadMore" v-show="item.Bchildren.length < item.children.length" @click="showMoreChildren(index,item)">
|
||||
<text>加载更多追评</text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- end -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props:['sayList'],
|
||||
name:"commentsList",
|
||||
data() {
|
||||
return {
|
||||
|
||||
};
|
||||
},methods:{
|
||||
// 加载更多子评论
|
||||
showMoreChildren(i,val){
|
||||
console.log('更多评论');
|
||||
if(val.children.length <= val.Bchildren.length){
|
||||
uni.showToast({
|
||||
title:'没有更多了哦',
|
||||
icon:'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
let _list = []
|
||||
let _cc = [...val.children]
|
||||
_list = _cc.slice(val.Bchildren.length, val.Bchildren.length + 6)
|
||||
this.sayList[i].Bchildren = this.sayList[i].Bchildren.concat(_list)
|
||||
},
|
||||
// 点赞
|
||||
support(index1,index,val){
|
||||
console.log(index1,index,val, '点赞');
|
||||
this.$emit('support',{index1,index,val})
|
||||
},
|
||||
getBackGround(src){
|
||||
// console.log(src,'src')
|
||||
if(src == '' || src == null){
|
||||
return `background: url(./static/icon/morenAvavter.png); background-size: cover;`
|
||||
}else{
|
||||
return `background: url(${src});background-size: cover;`
|
||||
}
|
||||
},
|
||||
formatRichText(html) { //控制图片大小
|
||||
let newContent = html.replace(/<img[^>]*>/gi, function(match, capture) {
|
||||
match = match.replace(/style="[^"]+"/gi, '').replace(/style='[^']+'/gi, '');
|
||||
match = match.replace(/width="[^"]+"/gi, '').replace(/width='[^']+'/gi, '');
|
||||
match = match.replace(/height="[^"]+"/gi, '').replace(/height='[^']+'/gi, '');
|
||||
return match;
|
||||
});
|
||||
newContent = newContent.replace(/style="[^"]+"/gi, function(match, capture) {
|
||||
match = match.replace(/width:[^;]+;/gi, 'max-width:100%;').replace(/width:[^;]+;/gi,
|
||||
'max-width:100%;');
|
||||
return match;
|
||||
});
|
||||
newContent = newContent.replace(/<br[^>]*\/>/gi, '');
|
||||
newContent = newContent.replace(/\<img/gi,
|
||||
'<img style="max-width:40rpx;height:40rpx;display:inline-block;margin:10rpx auto;"');
|
||||
return newContent;
|
||||
},
|
||||
previewImage(url) {
|
||||
console.log(url)
|
||||
uni.previewImage({
|
||||
urls: [url],
|
||||
longPressActions: {
|
||||
itemList: ['很抱歉,暂不支持保存图片到本地'],
|
||||
success: function(res) {
|
||||
// console.log(res,'+++++')
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
addSay(index,item){
|
||||
// console.log(index,item,'添加评论')
|
||||
this.$emit('showSayModule',{index,item})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '@/style/mixin.scss';
|
||||
.flexbox{display: flex;}
|
||||
// ::v-deep .contentBox {
|
||||
// .ql-editor {
|
||||
|
||||
// font-size: 26rpx;
|
||||
// font-style: normal;
|
||||
// min-height: 50rpx !important;
|
||||
// padding: 20rpx;
|
||||
// }
|
||||
|
||||
// img {
|
||||
// width: 20px;
|
||||
// }
|
||||
|
||||
// .u-upload__button {
|
||||
// margin: 0 auto;
|
||||
// }
|
||||
// }
|
||||
.liuyanBox {
|
||||
padding: 0 20rpx;
|
||||
margin-top: 20rpx;
|
||||
.contentBoxfirstLeve{
|
||||
width: calc(100% - 70rpx);
|
||||
}
|
||||
}
|
||||
.leve {
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
.imgbox {
|
||||
border: 1px solid #eee;
|
||||
margin-right: 10rpx;
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
border-radius: 100%; overflow: hidden;
|
||||
}
|
||||
|
||||
.contentBox {
|
||||
font-size: 24rpx;
|
||||
|
||||
.name {
|
||||
color: #999; font-size: 28rpx;
|
||||
@include toe();
|
||||
}
|
||||
|
||||
.content {
|
||||
color: #333;
|
||||
font-size: 28rpx;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
|
||||
.others {
|
||||
margin-top: 10rpx;
|
||||
color: #999; font-size: 28rpx;
|
||||
align-items: center;
|
||||
|
||||
.dianzan {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.pinglun {
|
||||
align-items: center;
|
||||
margin-left: 10rpx;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.firstLeve{padding-bottom: 10rpx; border-bottom: 1px solid #f7f8f9;}
|
||||
.loadMore{text-align: center; margin-bottom: 20rpx;
|
||||
text{color: $themeColor; font-size: 26rpx;}
|
||||
}
|
||||
.contentBox {
|
||||
padding: 0 20rpx;
|
||||
|
||||
.icon {
|
||||
width: 80rpx;
|
||||
justify-content: center;
|
||||
margin-left: 10rpx;
|
||||
height: 80rpx;
|
||||
align-items: center;
|
||||
border: 1px solid #eee;
|
||||
border-radius: 50rpx;
|
||||
}
|
||||
|
||||
.addEmoji {
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.imagesList { margin-top: 20rpx;
|
||||
.item {
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.boxB{margin-left: 60rpx; margin-top: 20rpx; background-color: #f7f8f9;
|
||||
padding-top: 20rpx; padding-left:10rpx;
|
||||
.imgbox{
|
||||
width: 40rpx !important;
|
||||
height: 40rpx !important;
|
||||
}
|
||||
.contentBox{width: calc(100% - 60rpx);}
|
||||
// .img{ width: 60rpx;
|
||||
// height: 60rpx;
|
||||
// image{width:60rpx; height: 60rpx; border-radius: 100%;}
|
||||
// }
|
||||
}
|
||||
.chooseImgType {
|
||||
margin-top: 20rpx;
|
||||
|
||||
.item {
|
||||
text-align: center;
|
||||
margin-right: 20rpx;
|
||||
padding: 10rpx;
|
||||
box-sizing: border-box;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 60px;
|
||||
border: 1px solid #eee;
|
||||
height: 60px;
|
||||
text-align: center;
|
||||
border-radius: 20rpx;
|
||||
background-color: #f4f5f7;
|
||||
|
||||
// background-color: red;
|
||||
text {
|
||||
font-size: 24rpx;
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
margin-top: -10rpx;
|
||||
}
|
||||
|
||||
.img {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.ss {
|
||||
line-height: 20rpx;
|
||||
color: #666;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.sbmitBox {
|
||||
button {
|
||||
margin-top: 20rpx;
|
||||
margin-bottom: 20rpx;
|
||||
@include theme("btn_bg");
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.upimgList {
|
||||
margin-top: 15px;
|
||||
|
||||
.item {
|
||||
border: 1px solid #eee;
|
||||
padding: 10rpx;
|
||||
margin-right: 20rpx;
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
position: relative; overflow: hidden;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100rpx;
|
||||
}
|
||||
|
||||
span {
|
||||
display: inline-block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
right: -10px;
|
||||
top: -10px;
|
||||
z-index: 1;
|
||||
border: 1px solid #eee;
|
||||
border-radius: 20rpx;
|
||||
background-color: #fff;
|
||||
line-height: 20px;
|
||||
font-size: 26rpx;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.emojiBtn {
|
||||
|
||||
.img {
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 50rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.editorBox {
|
||||
width: calc(100vw - 100rpx);
|
||||
}
|
||||
|
||||
.ql-container {
|
||||
min-height: 50rpx !important;
|
||||
height: auto !important;
|
||||
border: 1px solid #eee;
|
||||
border-radius: 50rpx;
|
||||
}
|
||||
|
||||
.contentBox {
|
||||
padding: 0 20rpx;
|
||||
|
||||
.icon {
|
||||
width: 80rpx;
|
||||
justify-content: center;
|
||||
margin-left: 10rpx;
|
||||
height: 80rpx;
|
||||
align-items: center;
|
||||
border: 1px solid #eee;
|
||||
border-radius: 50rpx;
|
||||
}
|
||||
|
||||
.addEmoji {
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.imagesList { margin-top: 20rpx;
|
||||
.item {
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
388
components/orderCoupon.vue
Normal file
388
components/orderCoupon.vue
Normal file
@@ -0,0 +1,388 @@
|
||||
<template>
|
||||
<view>
|
||||
<!-- 优惠券弹出 -->
|
||||
<u-popup :show="youhuiShow" :round="10" @close="closePup">
|
||||
<view class="tanchu">
|
||||
<view class="dp_title">请选择优惠券</view>
|
||||
<template v-if="list.length > 0">
|
||||
<view style="max-height: 40vh; overflow-y: scroll">
|
||||
<view v-for="(item, index) in list" :key="index">
|
||||
<view
|
||||
:class="`youhuiItem ${
|
||||
youhuiIndex === index ? ' youItem_style' : ''
|
||||
} ${item.canUse === 0 ? 'disableSelect' : ''}`"
|
||||
@click="choseYouhui(index)"
|
||||
><text
|
||||
class="border_radius_10"
|
||||
style="
|
||||
position: absolute;
|
||||
top: 10rpx;
|
||||
right: 10rpx;
|
||||
font-size: 25rpx;
|
||||
background-color: #ffe3e9;
|
||||
color: #c81346;
|
||||
padding: 6rpx;
|
||||
"
|
||||
>{{ item.couponEntity.couponRange | couponType }}</text
|
||||
>
|
||||
<view
|
||||
style="width: 25%; color: #ff0043; text-align: center"
|
||||
class="couponPrice"
|
||||
>
|
||||
<text>¥</text>
|
||||
<b style="font-size: 45rpx">{{
|
||||
item.couponEntity.couponAmount
|
||||
}}</b>
|
||||
<text
|
||||
class="useLevel"
|
||||
style="
|
||||
display: block;
|
||||
color: #666;
|
||||
font-size: 25rpx;
|
||||
margin-top: 10rpx;
|
||||
"
|
||||
>满{{ item.couponEntity.useLevel }}元可用</text
|
||||
>
|
||||
</view>
|
||||
<view style="width: 68%; padding-left: 5%">
|
||||
<view>
|
||||
<text
|
||||
style="
|
||||
display: inline-block;
|
||||
margin-right: 6rpx;
|
||||
line-height: 36rpx;
|
||||
"
|
||||
>{{ item.couponEntity.couponName }}</text
|
||||
>
|
||||
</view>
|
||||
<text
|
||||
style="
|
||||
display: block;
|
||||
font-size: 22rpx;
|
||||
color: #999;
|
||||
margin-top: 10rpx;
|
||||
"
|
||||
>有效期至:{{
|
||||
item.effectType == 0 ? "永久有效" : item.endTime
|
||||
}}</text
|
||||
>
|
||||
<template v-if="item.canUse == 0">
|
||||
<view
|
||||
class=""
|
||||
style="font-size: 20rpx; display: inline-block"
|
||||
>
|
||||
<text style="color: #333">不可用原因:</text>
|
||||
<text style="color: #333">{{ item.canUseReason }}</text>
|
||||
</view>
|
||||
</template>
|
||||
</view>
|
||||
<view
|
||||
style="width: 7%; position: absolute; right: 20rpx; top: 43%"
|
||||
>
|
||||
<!-- <view class="" style="background-color: #d9d9d9; border-radius: 10rpx; 0 0 10rpx; text-align: center;" v-if="item.canUse == 0">
|
||||
<text
|
||||
style="color: #999; "
|
||||
>不可用</text>
|
||||
</view> -->
|
||||
|
||||
<template v-if="item.canUse == 1">
|
||||
<text
|
||||
style="
|
||||
border: 1px solid #d9d9d9;
|
||||
width: 35rpx;
|
||||
height: 35rpx;
|
||||
display: inline-block;
|
||||
border-radius: 30rpx;
|
||||
"
|
||||
v-if="youhuiIndex !== index"
|
||||
></text>
|
||||
|
||||
<u-icon
|
||||
name="checkmark-circle-fill"
|
||||
color="#fd6004"
|
||||
size="20"
|
||||
v-if="youhuiIndex === index"
|
||||
>
|
||||
</u-icon>
|
||||
</template>
|
||||
</view>
|
||||
<br clear="both" />
|
||||
</view>
|
||||
<u-collapse
|
||||
v-if="source != 'goodsDetail' && item.couponEntity.remark"
|
||||
style="
|
||||
margin-top: 0rpx;
|
||||
z-index: 10 !important;
|
||||
background-color: #fafafa;
|
||||
border-bottom-left-radius: 10rpx;
|
||||
border-bottom-right-radius: 10rpx;
|
||||
"
|
||||
:border="false"
|
||||
>
|
||||
<u-collapse-item title="详细信息" name="Docs guide">
|
||||
<view
|
||||
v-if="item.couponEntity.remark"
|
||||
style="
|
||||
font-size: 22rpx;
|
||||
width: 100%;
|
||||
margin-right: 20rpx !important;
|
||||
"
|
||||
>使用说明:{{ item.couponEntity.remark }}</view
|
||||
>
|
||||
</u-collapse-item>
|
||||
</u-collapse>
|
||||
</view>
|
||||
|
||||
<!-- <view style="font-size: 20rpx;color: #aaa;margin-top: 30rpx;">* 每笔订单只能使用一张优惠价</view> -->
|
||||
</view>
|
||||
<view class="btnBox flex_box flex_between" v-if="selectcouponList.length>0">
|
||||
<view class="" style="width: 48%">
|
||||
<button type="default" @click="confirmCoupon('none')">
|
||||
不使用优惠券
|
||||
</button>
|
||||
</view>
|
||||
<view class="" style="width: 48%">
|
||||
<button type="primary" @click="confirmCoupon()">选好了</button>
|
||||
</view>
|
||||
</view>
|
||||
<view class="btnBox flex_box flex_between" v-else>
|
||||
<view class="" style="width: 100%">
|
||||
<button type="default" @click="confirmCoupon('none')">
|
||||
取消
|
||||
</button>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
<view class="" v-else>
|
||||
<u-divider text="暂无可用优惠券哦"></u-divider>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "orderCoupon",
|
||||
props: ["list", "curCouponId", "sumMeony",'selectcouponList'],
|
||||
data() {
|
||||
return {
|
||||
youhuiShow: true,
|
||||
youhuiIndex: undefined,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
console.log("进入了", this.curCouponId, this.sumMeony);
|
||||
if (this.curCouponId) {
|
||||
this.youhuiIndex = this.list.findIndex(
|
||||
(item) => item.couponEntity.id === this.curCouponId
|
||||
);
|
||||
console.log("查找后的结果", this.youhuiIndex);
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
couponType(type) {
|
||||
// 0无限制 1课程卷 2课程品类卷
|
||||
var str = "";
|
||||
switch (type) {
|
||||
case 0:
|
||||
str = "全场通用";
|
||||
break;
|
||||
case 1:
|
||||
str = "指定课程可用";
|
||||
break;
|
||||
case 2:
|
||||
str = "指定课程品类可用";
|
||||
break;
|
||||
}
|
||||
return str;
|
||||
},
|
||||
},
|
||||
computed: {},
|
||||
methods: {
|
||||
closePup() {
|
||||
this.youhuiIndex = undefined;
|
||||
this.$emit("close");
|
||||
},
|
||||
// 确定选中优惠券
|
||||
confirmCoupon(str) {
|
||||
console.log(str, "6666");
|
||||
if (str && str == "none") {
|
||||
// 清空优惠券操作
|
||||
this.$emit("confirmCoupon");
|
||||
setTimeout(() => {
|
||||
this.closePup();
|
||||
}, 300);
|
||||
return;
|
||||
}
|
||||
if (this.youhuiIndex == 0 || this.youhuiIndex) {
|
||||
this.$emit("confirmCoupon", this.list[this.youhuiIndex]);
|
||||
setTimeout(() => {
|
||||
this.closePup();
|
||||
}, 300);
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: "请选择您要使用的优惠券",
|
||||
icon: "none",
|
||||
});
|
||||
}
|
||||
},
|
||||
// 选择优惠券
|
||||
choseYouhui(e) {
|
||||
if (this.list[e].canUse == 0) {
|
||||
return;
|
||||
}
|
||||
console.log("选中优惠券e", e);
|
||||
this.youhuiIndex = e;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.btnBox {
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
|
||||
.tanchu {
|
||||
padding: 40rpx 30rpx 40rpx 30rpx;
|
||||
position: relative;
|
||||
// max-height: 60vh;
|
||||
// overflow-y: scroll;
|
||||
|
||||
.dp_title {
|
||||
font-size: 32rpx;
|
||||
margin-bottom: 50rpx;
|
||||
color: #555;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.dp_add {
|
||||
position: absolute;
|
||||
top: 40rpx;
|
||||
right: 30rpx;
|
||||
font-size: 22rpx;
|
||||
background-color: #fd6004;
|
||||
color: #fff;
|
||||
border-radius: 10rpx;
|
||||
padding: 5rpx 10rpx;
|
||||
|
||||
.u-icon {
|
||||
display: inline-block;
|
||||
margin-right: 5rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.addressItem {
|
||||
border: 2px dashed #d9d9d9;
|
||||
border-radius: 10rpx;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
padding: 20rpx 10rpx;
|
||||
margin: 25rpx 0 0 0;
|
||||
align-items: center;
|
||||
background-color: #fff;
|
||||
|
||||
.addrContent {
|
||||
margin-left: 40rpx;
|
||||
flex: 1;
|
||||
|
||||
.addrContentTop {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
margin: 0 0 15rpx 0;
|
||||
position: relative;
|
||||
|
||||
.userName {
|
||||
font-size: 35rpx;
|
||||
font-weight: bold;
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
|
||||
.userTel {
|
||||
font-size: 25rpx;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
.userMoren {
|
||||
border: 1px solid #fd6004;
|
||||
color: #fd6004;
|
||||
padding: 3rpx 10rpx;
|
||||
font-size: 22rpx;
|
||||
border-radius: 10rpx;
|
||||
margin: 0 0 0 20rpx;
|
||||
}
|
||||
|
||||
.chooseCheck {
|
||||
position: absolute;
|
||||
top: 3rpx;
|
||||
right: 6rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.addrContentBottom {
|
||||
font-size: 32rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.addressItem.addItem_style {
|
||||
border-color: #fd6004;
|
||||
}
|
||||
|
||||
.youhuiItem {
|
||||
position: relative;
|
||||
background: linear-gradient(to top right, #fff, #fef2f4);
|
||||
|
||||
border: 1px solid #d9d9d9;
|
||||
border-radius: 10rpx;
|
||||
width: 100%;
|
||||
|
||||
padding: 50rpx 20rpx 20rpx;
|
||||
margin: 25rpx 0 0 0;
|
||||
align-items: center;
|
||||
background-color: #fff;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.disableSelect {
|
||||
background: linear-gradient(to top right, #fafafa, #fafafa) !important;
|
||||
|
||||
color: #979797 !important;
|
||||
.couponPrice {
|
||||
color: #979797 !important;
|
||||
}
|
||||
.useLevel {
|
||||
color: #979797 !important;
|
||||
}
|
||||
.border_radius_10 {
|
||||
color: #98989a !important;
|
||||
background-color: #fafafa !important;
|
||||
}
|
||||
}
|
||||
.youhuiItem > view {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.youhuiItem.youItem_style {
|
||||
border-color: #fd6004;
|
||||
}
|
||||
}
|
||||
::v-deep .u-cell__body {
|
||||
padding-top: 0 !important ;
|
||||
padding-bottom: 0 !important ;
|
||||
z-index: 10 !important ;
|
||||
.u-cell__title-text {
|
||||
color: #333 !important;
|
||||
font-size: 24rpx !important;
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .u-collapse-item__content__text {
|
||||
padding: 10rpx 20rpx !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
</style>
|
||||
256
components/tagTree.vue
Normal file
256
components/tagTree.vue
Normal file
@@ -0,0 +1,256 @@
|
||||
<template>
|
||||
<view>
|
||||
<uni-drawer
|
||||
ref="showRight"
|
||||
mode="right"
|
||||
:width="320"
|
||||
@change="changeD($event, 'showRight')"
|
||||
>
|
||||
<view class="close">
|
||||
<view class="zhan" style="width: 100%"></view>
|
||||
<u-icon
|
||||
name="close"
|
||||
@click="closeDrawer('showRight')"
|
||||
color="#117e4c"
|
||||
size="28"
|
||||
></u-icon>
|
||||
</view>
|
||||
<view class="proTitle">
|
||||
<text>请选择课程分类</text>
|
||||
</view>
|
||||
<scroll-view class="warp" scroll-y="true" style="max-height: 80vh">
|
||||
<uni-collapse
|
||||
accordion
|
||||
v-if="treeList.length > 0"
|
||||
@change="collapseChange"
|
||||
>
|
||||
<view v-for="(item, index) in treeList" @click.stop="clickCourseInfo(item)" style=" padding: 20rpx;box-sizing: border-box;border-bottom: 1px solid #ebeef5;"> {{ item.title}}</view>
|
||||
|
||||
<!-- <uni-collapse-item
|
||||
v-for="(item, index) in treeList"
|
||||
:key="index"
|
||||
:title="item.title"
|
||||
:show-animation="true"
|
||||
@click.stop="clickCourseInfo(item)"
|
||||
>
|
||||
<view class="content">
|
||||
|
||||
<view class="sub1List">
|
||||
<view
|
||||
class="item leve2"
|
||||
@click.stop="clickCourseInfo(item)"
|
||||
v-if="item.isLast == 1"
|
||||
>
|
||||
<text class="textss"> 本目录下全部课程</text>
|
||||
</view>
|
||||
<view
|
||||
:class="['item', 'leve2']"
|
||||
v-for="(item1, index1) in item.children"
|
||||
:key="index1"
|
||||
@click.stop="clickCourseInfo(item1)"
|
||||
>
|
||||
<text class="textss"> {{ item1.title }}</text>
|
||||
<view class="sub2List" v-if="item1.children">
|
||||
<view
|
||||
:class="['item', 'leve3']"
|
||||
v-for="(item2, index2) in item1.children"
|
||||
:key="index2"
|
||||
@click.stop="clickCourseInfo(item2)"
|
||||
>
|
||||
<text class="textss">{{ item2.title }}</text>
|
||||
<view
|
||||
class="sub3List"
|
||||
v-if="
|
||||
item2.isLast == 0 &&
|
||||
item2.children &&
|
||||
item2.children.length > 0
|
||||
"
|
||||
>
|
||||
|
||||
<text
|
||||
class="textss"
|
||||
v-for="(item3, index3) in item2.children"
|
||||
:key="index3"
|
||||
@click.stop="clickCourseInfo(item3)"
|
||||
>{{ item3.title }}</text
|
||||
>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-collapse-item> -->
|
||||
</uni-collapse>
|
||||
</scroll-view>
|
||||
</uni-drawer>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "tagTree",
|
||||
// props:['treeList'],
|
||||
data() {
|
||||
return {
|
||||
treeList: [],
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
showDrawer(e) {
|
||||
this.$refs[e].open();
|
||||
// this.videoContext.pause()
|
||||
// this.showTemp = true
|
||||
console.log("打开抽屉");
|
||||
},
|
||||
getData() {
|
||||
var data = { id: 0 };
|
||||
this.$http
|
||||
.request({
|
||||
url: "sociology/home/getSociologyLabels",
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data,
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
|
||||
.then((res) => {
|
||||
if (res.code == 0 && res.labels.length > 0) {
|
||||
this.treeList = res.labels;
|
||||
} else {
|
||||
this.treeList = [];
|
||||
}
|
||||
this.showDrawer("showRight");
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log(e, "报错");
|
||||
uni.showToast({
|
||||
title: "获取课程分类失败",
|
||||
icon: "none",
|
||||
});
|
||||
});
|
||||
},
|
||||
clickCourseInfo(val) {
|
||||
this.$emit("clickCourseInfo", val);
|
||||
this.closeDrawer("showRight");
|
||||
},
|
||||
closeDrawer(e) {
|
||||
this.$refs[e].close();
|
||||
},
|
||||
changeD(e, type) {
|
||||
// console.log((type === 'showRight' ? '左窗口' : '右窗口') + (e ? '打开' : '关闭'));
|
||||
this[type] = e;
|
||||
if (!e) {
|
||||
console.log("关闭弹窗");
|
||||
}
|
||||
},
|
||||
collapseChange(e) {
|
||||
// console.log(e, '折叠面板点击');
|
||||
// if (e) {
|
||||
// this.tagId = this.treeList[e].id
|
||||
// }
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
// ::v-deep uni-drawer{ height: 50vh !important;
|
||||
// .uni-drawer__content{
|
||||
// overflow-y: scroll !important;
|
||||
// }
|
||||
// }
|
||||
.sub1List {
|
||||
background-color: #f7f7f7;
|
||||
// padding-left: 20rpx;
|
||||
}
|
||||
|
||||
.content {
|
||||
.item {
|
||||
background-color: #fff;
|
||||
line-height: 80rpx;
|
||||
font-size: 28rpx;
|
||||
color: #1b2a32;
|
||||
// border-bottom: 1px solid #dae8f0;
|
||||
|
||||
text {
|
||||
padding-left: 20rpx;
|
||||
}
|
||||
|
||||
.item:last-child {
|
||||
border-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.item.active {
|
||||
// background-color: #aed1ec;
|
||||
color: #fff;
|
||||
background-image: linear-gradient(
|
||||
90deg,
|
||||
#3ab3ae 0%,
|
||||
#00e1ec 100%
|
||||
) !important;
|
||||
}
|
||||
|
||||
.textss {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
border-bottom: 1px solid #ebeef5;
|
||||
}
|
||||
|
||||
.leve2 {
|
||||
.textss {
|
||||
padding-left: 20rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.leve2 {
|
||||
.textss {
|
||||
padding-left: 40rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.leve3 {
|
||||
.sub3List {
|
||||
border-bottom: 1px solid #ebeef5;
|
||||
padding-left: 60rpx;
|
||||
.textss {
|
||||
background-color: #ebeef5;
|
||||
border-radius: 20rpx;
|
||||
padding: 10rpx 14rpx !important;
|
||||
}
|
||||
}
|
||||
.textss {
|
||||
padding-left: 60rpx;
|
||||
display: inline;
|
||||
margin-right: 20rpx;
|
||||
border: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
.leve4 {
|
||||
.textss {
|
||||
padding-left: 80rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.proTitle {
|
||||
text-align: center;
|
||||
padding: 20rpx 0;
|
||||
margin-top: 60rpx;
|
||||
// margin-bottom: 20rpx;
|
||||
color: #888;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.close {
|
||||
display: flex;
|
||||
justify-content: right;
|
||||
padding-top: 60rpx;
|
||||
padding-right: 20px;
|
||||
}.uni-collapse-item .uni-collapse-item-header .uni-collapse-item-arrow {
|
||||
display: none; /* 隐藏右箭头 */
|
||||
}
|
||||
</style>
|
||||
5
main.js
5
main.js
@@ -112,6 +112,8 @@ Vue.component("mescroll-body", MescrollBody);
|
||||
|
||||
// import musicPlay from '@/components/music.vue'
|
||||
// Vue.component('music-play', musicPlay);
|
||||
import commonOrderSubmit from '@/pages/component/commonComponents/orderSubmit.vue'
|
||||
Vue.component('common-order-submit', commonOrderSubmit);
|
||||
import commonList from '@/pages/component/commonComponents/list.vue'
|
||||
Vue.component('common-list', commonList);
|
||||
import commonVideoAliyun from '@/pages/component/commonComponents/video/AliPlayer.vue'
|
||||
@@ -142,7 +144,8 @@ import commonSelectGoods from '@/pages/component/commonComponents/selectGoods.vu
|
||||
Vue.component('common-select-goods', commonSelectGoods);
|
||||
import commonAdvertisement from '@/pages/component/commonComponents/advertisement.vue'
|
||||
Vue.component('common-advertisement', commonAdvertisement);
|
||||
|
||||
import commonSelectVip from '@/pages/component/commonComponents/selectVip.vue'
|
||||
Vue.component('common-select-vip', commonSelectVip);
|
||||
import commonAnchorLink from '@/pages/component/commonComponents/anchorLink.vue'
|
||||
Vue.component('common-anchor-link', commonAnchorLink);
|
||||
|
||||
|
||||
49
pages.json
49
pages.json
@@ -11,7 +11,8 @@
|
||||
// "height": "60px"
|
||||
// }
|
||||
// },
|
||||
"pages": [{
|
||||
"pages": [
|
||||
{
|
||||
"path": "pages/advertisement/index/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "启动页",
|
||||
@@ -47,7 +48,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/user/curriculumDetail",
|
||||
"style": {
|
||||
@@ -60,12 +60,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/mine/wallet/couponList",
|
||||
"style": {
|
||||
|
||||
|
||||
"navigationBarTitleText": "用户优惠券列表",
|
||||
"enablePullDownRefresh": false, // 禁止下拉刷新,
|
||||
"app-plus": {
|
||||
@@ -79,10 +76,8 @@
|
||||
"path": "pages/homePage/index/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "首页",
|
||||
|
||||
"enablePullDownRefresh": false,
|
||||
"onReachBottomDistance": 100,
|
||||
|
||||
"app-plus": {
|
||||
"bounce": "none",
|
||||
"titleNView": false,
|
||||
@@ -347,7 +342,6 @@
|
||||
"path": "pages/curriculum/cate/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "分类详情",
|
||||
|
||||
"enablePullDownRefresh": true,
|
||||
"onReachBottomDistance": 100,
|
||||
"app-plus": {
|
||||
@@ -382,6 +376,30 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/course/myCourse",
|
||||
"style": {
|
||||
"navigationBarTitleText": "我的课程",
|
||||
"enablePullDownRefresh": false,
|
||||
"app-plus": {
|
||||
"bounce": "none",
|
||||
"titleNView": false,
|
||||
"popGesture": "none"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/hufen/hufen",
|
||||
"style": {
|
||||
"navigationBarTitleText": "我的湖分",
|
||||
"enablePullDownRefresh": false,
|
||||
"app-plus": {
|
||||
"bounce": "none",
|
||||
"titleNView": false,
|
||||
"popGesture": "none"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/curriculum/order/curriculum/index",
|
||||
"style": {
|
||||
@@ -568,12 +586,14 @@
|
||||
"navigationBarTitleText": "模版",
|
||||
"app-plus": {
|
||||
"titleNView": {
|
||||
"buttons": [{
|
||||
"buttons": [
|
||||
{
|
||||
"text": "\ue534",
|
||||
"fontSrc": "/static/uni.ttf",
|
||||
"fontSize": "22px",
|
||||
"color": "#FFFFFF"
|
||||
}]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -584,12 +604,14 @@
|
||||
"navigationBarTitleText": "扩展组件",
|
||||
"app-plus": {
|
||||
"titleNView": {
|
||||
"buttons": [{
|
||||
"buttons": [
|
||||
{
|
||||
"text": "\ue534",
|
||||
"fontSrc": "/static/uni.ttf",
|
||||
"fontSize": "22px",
|
||||
"color": "#FFFFFF"
|
||||
}]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -920,7 +942,8 @@
|
||||
"borderStyle": "black",
|
||||
// "backgroundColor": "#ffffff",
|
||||
"backgroundColor": "#fff",
|
||||
"list": [{
|
||||
"list": [
|
||||
{
|
||||
"pagePath": "pages/homePage/index/index",
|
||||
"iconPath": "static/tab/home.png",
|
||||
"selectedIconPath": "static/tab/home_active.png",
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
/></view>
|
||||
</view>
|
||||
<view v-if="deliverDetails.length > 0">
|
||||
<!-- <u-tabs active-color="#2979ff" inactive-color="#606266" bar-height="6" bar-width="40"
|
||||
<!-- <u-tabs active-color="#117e4c" inactive-color="#606266" bar-height="6" bar-width="40"
|
||||
name="name" :list="deliverList" :is-scroll="false" :current="current" @change="tabchange"></u-tabs> -->
|
||||
<view class="deliverCntent">
|
||||
<view class="">
|
||||
|
||||
@@ -174,6 +174,23 @@
|
||||
|
||||
<br clear="both" />
|
||||
</view>
|
||||
<view class="orderContent" v-if="orderContet.orderType == 'relearn'">
|
||||
<image
|
||||
src="/static/icon/fugou.png"
|
||||
mode="aspectFill"
|
||||
style="width: 100rpx; height: 100rpx"
|
||||
></image>
|
||||
<view class="itemJian">
|
||||
<view class="orderTitle" style="line-height: 60rpx">
|
||||
<text>{{ orderContet.remark }}</text>
|
||||
</view>
|
||||
<view class="orderPrice">
|
||||
<text style="font-weight: bold"> </text>
|
||||
</view>
|
||||
<br clear="both" />
|
||||
</view>
|
||||
<br clear="both" />
|
||||
</view>
|
||||
<view class="orderContent" v-if="orderContet.orderType == 'vip'">
|
||||
<image
|
||||
src="/static/icon/vip.png"
|
||||
@@ -213,6 +230,7 @@
|
||||
</view>
|
||||
|
||||
<view class="order_item" style="">
|
||||
|
||||
<view class="orderallpri">
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>商品总价 :
|
||||
@@ -259,12 +277,88 @@
|
||||
>- ¥{{ orderContet.vipDiscountAmount }}</span
|
||||
>
|
||||
</view>
|
||||
<view class="orderReal" v-if="orderContet.orderType == 'order'">
|
||||
<view
|
||||
class="orderReal"
|
||||
v-if="orderContet.couponId && orderContet.couponId != null"
|
||||
>
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>优惠券 :
|
||||
</span>
|
||||
<span>- ¥</span>{{ orderContet.couponAmount }}
|
||||
</view>
|
||||
<view class="orderReal" v-if="orderContet.jfDeduction > 0">
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>积分 :
|
||||
</span>
|
||||
<span v-if="orderContet.jfDeduction > 0">-</span> <span>¥</span
|
||||
>{{ orderContet.jfDeduction }}
|
||||
<span style="color: #fa2d12" v-if="orderContet.jfDeduction > 0"
|
||||
>-</span
|
||||
>
|
||||
<span style="color: #fa2d12"
|
||||
>¥ {{ orderContet.jfDeduction }}</span
|
||||
>
|
||||
</view>
|
||||
<view
|
||||
class="orderReal"
|
||||
v-if="orderContet.paymentMethod == 4 && orderContet.realMoney > 0"
|
||||
>
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>天医币抵扣:
|
||||
</span>
|
||||
<span style="color: #fa2d12">- </span>
|
||||
<span style="color: #fa2d12">¥{{ orderContet.realMoney }}</span>
|
||||
</view>
|
||||
<view
|
||||
class="orderReal"
|
||||
v-if="orderContet.orderStatus != 0"
|
||||
style="margin-bottom: 20rpx"
|
||||
>
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>实付款 :
|
||||
</span>
|
||||
<b v-if="orderContet.orderType == 'point'" style="color: #dd3c0c"
|
||||
>¥ {{ orderContet.bookBuyConfigEntity.realMoney }}</b
|
||||
>
|
||||
<b style="color: #dd3c0c" v-else>
|
||||
<template v-if="orderContet.realMoney > 0">
|
||||
¥{{ orderContet.realMoney }}
|
||||
|
||||
<text style="font-size: 28rpx;margin-left: 10rpx;">
|
||||
<span
|
||||
style=""
|
||||
v-if="orderContet.paymentMethod == 1"
|
||||
>微信支付</span
|
||||
>
|
||||
<span
|
||||
style=""
|
||||
v-if="orderContet.paymentMethod == 2"
|
||||
>支付宝支付</span
|
||||
>
|
||||
<span
|
||||
style=""
|
||||
v-if="orderContet.paymentMethod == 3"
|
||||
>苹果支付</span
|
||||
>
|
||||
<span
|
||||
style=""
|
||||
v-if="orderContet.paymentMethod == 4"
|
||||
>
|
||||
天医币支付
|
||||
</span></text
|
||||
>
|
||||
</template>
|
||||
<text
|
||||
style="margin: 0 4rpx"
|
||||
v-if="
|
||||
orderContet.realMoney > 0 && orderContet.jfDeduction > 0
|
||||
"
|
||||
>
|
||||
+
|
||||
</text>
|
||||
|
||||
<text v-if="orderContet.jfDeduction > 0"
|
||||
>{{ orderContet.jfDeduction }} 积分</text
|
||||
></b
|
||||
>
|
||||
</view>
|
||||
<!-- <view class="orderReal">
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
@@ -275,14 +369,7 @@
|
||||
>
|
||||
<b v-else style="color: #dd3c0c"><span>-¥</span>0</b>
|
||||
</view> -->
|
||||
<view class="orderReal" v-if="orderContet.orderStatus != 0">
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>实付款 :
|
||||
</span>
|
||||
<b style="color: #dd3c0c"
|
||||
><span>¥</span>{{ orderContet.realMoney }}</b
|
||||
>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="order_item">
|
||||
<view class="orderYunf">
|
||||
@@ -327,9 +414,11 @@
|
||||
>付款时间 :
|
||||
</span>
|
||||
<text style="font-size: 24rpx; color: #666">{{
|
||||
orderContet.paymentDate
|
||||
orderContet.paymentDate? orderContet.paymentDate:''
|
||||
}}</text>
|
||||
</view>
|
||||
<br/>
|
||||
|
||||
</view>
|
||||
|
||||
<!-- <view class="orderReal" v-if="orderContet.orderStatus >= 2 && orderContet.orderStatus != 5">
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
<template>
|
||||
|
||||
<view
|
||||
class="container commonPageBox commonDetailPage"
|
||||
style=""
|
||||
>
|
||||
<view class="container commonPageBox commonDetailPage" style="">
|
||||
<!-- 公共组件-每个页面必须引入 -->
|
||||
<public-module></public-module>
|
||||
<z-nav-bar
|
||||
@@ -39,11 +35,7 @@
|
||||
<!-- 站位 -->
|
||||
|
||||
<!-- <view v-if="ordersListTab == 1"> -->
|
||||
<view
|
||||
class="order_box"
|
||||
:style="`height: auto;margin-top: 40px; `"
|
||||
style=""
|
||||
>
|
||||
<view class="order_box" :style="`height: auto;margin-top: 40px; `" style="margin-bottom: 40px;">
|
||||
<common-list
|
||||
imgUrl="url"
|
||||
indexKey="orderSn"
|
||||
@@ -130,7 +122,41 @@
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
v-if="slotProps.row.orderType == 'relearn'"
|
||||
class="bookinfolist"
|
||||
>
|
||||
<image
|
||||
class="feng fengPoint"
|
||||
src="/static/icon/fugou.png"
|
||||
mode="aspectFill"
|
||||
>
|
||||
</image>
|
||||
<!-- <view class="description" >课程复读订单
|
||||
</view> -->
|
||||
<view class="btns flexbox">
|
||||
<view class="booknameleft">
|
||||
{{ slotProps.row.remark }}
|
||||
</view>
|
||||
|
||||
<view
|
||||
style="
|
||||
line-height: 58rpx;
|
||||
color: #333;
|
||||
font-size: 26rpx;
|
||||
font-weight: 700;
|
||||
"
|
||||
>
|
||||
<text style="font-size: 20rpx"></text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view
|
||||
class="btns flexbox"
|
||||
style="color: #9f9f9f; margin-top: 10rpx; font-size: 24rpx"
|
||||
>
|
||||
下单时间:{{ slotProps.row.createTime }}
|
||||
</view> -->
|
||||
</view>
|
||||
<view
|
||||
v-if="slotProps.row.orderType == 'vip'"
|
||||
class="bookinfolist"
|
||||
@@ -322,65 +348,33 @@
|
||||
font-weight: 700;
|
||||
"
|
||||
>
|
||||
<text style="font-size: 20rpx">¥</text>
|
||||
{{
|
||||
slotProps.row.realMoney ||
|
||||
slotProps.row.realMoney == 0
|
||||
? slotProps.row.realMoney
|
||||
: ""
|
||||
}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
class="btns flexbox"
|
||||
style="
|
||||
margin-top: 0rpx;
|
||||
float: right;
|
||||
width: auto;
|
||||
margin-left: 20rpx;
|
||||
"
|
||||
<!-- <text style="font-size: 20rpx">¥</text> -->
|
||||
<text v-if="slotProps.row.orderType == 'point'">
|
||||
{{ slotProps.row.bookBuyConfigEntity.realMoney }}
|
||||
</text>
|
||||
|
||||
<template v-if="slotProps.row.realMoney > 0&&slotProps.row.orderType != 'point'">
|
||||
¥{{ slotProps.row.realMoney }}
|
||||
</template>
|
||||
<text
|
||||
style="margin: 0 4rpx"
|
||||
v-if="
|
||||
(slotProps.row.addressId == 0 ||
|
||||
slotProps.row.addressId == null) &&
|
||||
slotProps.row.orderType == 'order' &&
|
||||
slotProps.row.jfDeduction > 0
|
||||
slotProps.row.realMoney > 0 &&
|
||||
slotProps.row.jfDeduction > 0&&slotProps.row.orderType != 'point'
|
||||
"
|
||||
>
|
||||
<view
|
||||
class="right flexbox opbtns"
|
||||
style="
|
||||
line-height: 44rpx;
|
||||
letter-spacing: 1rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
"
|
||||
><text style="color: #9b9b9b">( </text>
|
||||
<view
|
||||
style="
|
||||
line-height: 46rpx;
|
||||
color: #9b9b9b;
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
margin-right: 10rpx;
|
||||
"
|
||||
>积分抵扣</view
|
||||
+
|
||||
</text>
|
||||
|
||||
<text v-if="slotProps.row.jfDeduction > 0&&slotProps.row.orderType != 'point'"
|
||||
>{{ slotProps.row.jfDeduction }} 积分</text
|
||||
>
|
||||
<view
|
||||
style="
|
||||
/* margin-top: 8rpx; */
|
||||
line-height: 46rpx;
|
||||
color: #9b9b9b;
|
||||
font-size: 26rpx;
|
||||
font-weight: 700;
|
||||
"
|
||||
>
|
||||
<text style="font-size: 20rpx">¥</text>
|
||||
{{ slotProps.row.jfDeduction }}
|
||||
</view> </view
|
||||
><text style="color: #9b9b9b">)</text>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
<view
|
||||
class="operation_box boxShadow"
|
||||
@@ -982,7 +976,7 @@ export default {
|
||||
});
|
||||
}
|
||||
this.getOrderList();
|
||||
},
|
||||
}
|
||||
);
|
||||
} else if (payItem.paymentMethod == 1) {
|
||||
console.log("微信支付");
|
||||
@@ -1282,7 +1276,7 @@ export default {
|
||||
//匹配最后一个表情符号并删除11。
|
||||
this.Pform.comment = this.Pform.comment.replace(
|
||||
/(\[[^\]]+\]|[\s\S])$/,
|
||||
"",
|
||||
""
|
||||
);
|
||||
if (this.emoji.length > 0) {
|
||||
this.emoji = this.emoji.slice(0, -1);
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
><uni-easyinput
|
||||
:maxlength="16"
|
||||
:style="{
|
||||
borderColor: '#2979FF',
|
||||
borderColor: '#117e4c',
|
||||
}"
|
||||
v-model="addForm.consigneeName"
|
||||
placeholder="请输入收件人姓名"
|
||||
|
||||
@@ -146,7 +146,8 @@ export default {
|
||||
}
|
||||
|
||||
.titleItem {
|
||||
width: calc(100% );
|
||||
width: calc(100%) !important;
|
||||
// display: block !important;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
|
||||
2311
pages/component/commonComponents/orderSubmit.vue
Normal file
2311
pages/component/commonComponents/orderSubmit.vue
Normal file
File diff suppressed because it is too large
Load Diff
@@ -77,10 +77,14 @@
|
||||
<template slot="labelSlot" slot-scope="slotProps">
|
||||
<!-- isSelectGoods -->
|
||||
<view
|
||||
style="width: 100%;"
|
||||
class="related_courses_name"
|
||||
:class="`goods_item ${
|
||||
(!isFudu &&
|
||||
selectGoodsData &&
|
||||
selectGoodsData.productId == slotProps.row.productId
|
||||
selectGoodsData.productId == slotProps.row.productId) ||
|
||||
(isFudu &&
|
||||
selectGoodsData.productName == slotProps.row.productName)
|
||||
? 'isSelectGoods color_shandow'
|
||||
: ''
|
||||
}`"
|
||||
@@ -98,7 +102,7 @@
|
||||
<view class="" 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"
|
||||
<view class="price" style="color: #3AB3AE "
|
||||
>¥{{ slotProps.row.activityPrice?slotProps.row.activityPrice:slotProps.row.price }}</view
|
||||
></view
|
||||
> -->
|
||||
@@ -163,7 +167,8 @@ export default {
|
||||
"isScroll",
|
||||
"selectGoodsData",
|
||||
"customButtonGroup1",
|
||||
"buyOptions",
|
||||
"buyOptions", "isFudu", // 是否复读
|
||||
"type", // 页面类型
|
||||
],
|
||||
data() {
|
||||
return {
|
||||
|
||||
393
pages/component/commonComponents/selectVip.vue
Normal file
393
pages/component/commonComponents/selectVip.vue
Normal file
@@ -0,0 +1,393 @@
|
||||
<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="popup_top">
|
||||
<!-- @click="previewImage(selectGoodsData.productImages)" -->
|
||||
<view class="product_image">
|
||||
<image
|
||||
src="@/static/icon/vip.png"
|
||||
mode="aspectFit"
|
||||
class="goods_image"
|
||||
></image>
|
||||
</view>
|
||||
<view class="title">已选:{{ selectGoodsData.title }} {{ selectGoodsData.year }}年</view>
|
||||
</view>
|
||||
|
||||
<view :class="`common_radius_box goods_box popup_content`">
|
||||
<view class="title title_box"
|
||||
>
|
||||
|
||||
|
||||
|
||||
|
||||
<text style="color: #e97512; font-weight: bold;font-size: 30rpx;">
|
||||
¥{{ Number(selectGoodsData.rebateFee).toFixed(2) }}</text
|
||||
>
|
||||
</text>
|
||||
<u-icon
|
||||
name="close"
|
||||
color="#333"
|
||||
size="18"
|
||||
@click="close"
|
||||
style="display: inline-block"
|
||||
></u-icon
|
||||
></view>
|
||||
<view class="title title_list"
|
||||
><text>VIP商品列表({{ goodsList.length }})</text></view
|
||||
>
|
||||
|
||||
<common-list
|
||||
imgUrl="url"
|
||||
isNoIcon
|
||||
imgMode="aspectFit"
|
||||
defaultUrl=""
|
||||
:isCondition="true"
|
||||
:dataList="goodsList"
|
||||
@hancleClick="selectGoods"
|
||||
label="title"
|
||||
>
|
||||
<template slot="labelSlot" slot-scope="slotProps">
|
||||
|
||||
<!-- isSelectGoods -->
|
||||
<view
|
||||
class="related_courses_name"
|
||||
:class="`goods_item ${
|
||||
(
|
||||
selectGoodsData &&
|
||||
selectGoodsData.id == slotProps.row.id)
|
||||
? 'isSelectGoods color_shandow'
|
||||
: ''
|
||||
}`"
|
||||
>
|
||||
<view class="image_box" style="margin-right: 10rpx">
|
||||
<image
|
||||
src="@/static/icon/vip.png"
|
||||
mode="aspectFit"
|
||||
class="goods_image"
|
||||
></image>
|
||||
</view>
|
||||
|
||||
<view :class="`goods_info just`" style="">
|
||||
<view class="name">{{ slotProps.row.title }}<text style="color: #ff2e4d;margin-left: 10rpx;">{{ slotProps.row.year }}年</text></view>
|
||||
<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: #3AB3AE"
|
||||
>¥{{ slotProps.row.activityPrice?slotProps.row.activityPrice:slotProps.row.price }}</view
|
||||
></view
|
||||
> -->
|
||||
<text ><span style="color: #e97512;">
|
||||
¥{{Number(slotProps.row.rebateFee).toFixed(2)}}</span>
|
||||
</text>
|
||||
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <text v-if="slotProps.row.conditions!='03'">【试听】</text> -->
|
||||
</template>
|
||||
</common-list>
|
||||
|
||||
<view class="goods_nav_box">
|
||||
<uni-goods-nav
|
||||
:fill="true"
|
||||
:options="buyOptions"
|
||||
:button-group="customButtonGroup1"
|
||||
@click="onHandleClickBuy"
|
||||
@buttonClick="onHandleClickBuy"
|
||||
/>
|
||||
</view>
|
||||
<!-- <view>
|
||||
<text @click="handleClickClose">取消</text>
|
||||
<text @click="handleClickGoBuy">立即购买</text>
|
||||
</view>-->
|
||||
</view>
|
||||
</u-popup></view
|
||||
>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapState } from "vuex";
|
||||
export default {
|
||||
props: [
|
||||
"goodsList",
|
||||
"label",
|
||||
"isCondition",
|
||||
"imgUrl",
|
||||
"imgMode",
|
||||
"className",
|
||||
"col",
|
||||
"defaultUrl",
|
||||
"isScroll",
|
||||
"selectGoodsData",
|
||||
"customButtonGroup1",
|
||||
"buyOptions",
|
||||
"isFudu", // 是否复读
|
||||
"type", // 页面类型
|
||||
],
|
||||
data() {
|
||||
return {
|
||||
show: false,
|
||||
};
|
||||
},
|
||||
onLoad() {},
|
||||
onHide() {
|
||||
// this.showSearchList = false
|
||||
// this.searchList = []
|
||||
},
|
||||
computed: {
|
||||
...mapState(["userInfo"]),
|
||||
},
|
||||
methods: {
|
||||
getPrice(slotProps) {
|
||||
if (
|
||||
Number(slotProps.row.isVipPrice) === 1 &&
|
||||
Number(slotProps.row.vipPrice) > 0
|
||||
) {
|
||||
return `
|
||||
<text style="color: #e97512; font-size: 12px; font-weight: bold;">
|
||||
¥${Number(slotProps.row.vipPrice).toFixed(2)}
|
||||
</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>
|
||||
`;
|
||||
} else if (Number(slotProps.row.activityPrice) > 0) {
|
||||
return `
|
||||
<text style="color: #e97512; font-size: 12px; font-weight: bold;">
|
||||
¥${Number(slotProps.row.activityPrice).toFixed(2)}
|
||||
</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>
|
||||
`;
|
||||
} else {
|
||||
return `<span style="color: #e97512;">
|
||||
¥${Number(slotProps.row.price).toFixed(2)}</span>
|
||||
`;
|
||||
}
|
||||
},
|
||||
// 放大图片
|
||||
previewImage(url) {
|
||||
console.log(url);
|
||||
uni.previewImage({
|
||||
urls: [url],
|
||||
longPressActions: {
|
||||
itemList: ["很抱歉,暂不支持保存图片到本地"],
|
||||
success: function (res) {
|
||||
// console.log(res,'+++++')
|
||||
},
|
||||
},
|
||||
});
|
||||
},
|
||||
close() {
|
||||
this.show = false;
|
||||
},
|
||||
selectGoods(data) {
|
||||
this.$emit("selectGoods", data);
|
||||
},
|
||||
open() {
|
||||
this.show = true;
|
||||
},
|
||||
gotoDetail(v) {
|
||||
this.$emit("hancleClick", v);
|
||||
},
|
||||
onHandleClickBuy() {
|
||||
// this.$emit("selectGoodsData", this.selectGoodsData);
|
||||
setTimeout(() => {
|
||||
this.$emit("onHandleClickBuy");
|
||||
}, 200);
|
||||
|
||||
},
|
||||
},
|
||||
onBackPress() {
|
||||
// #ifdef APP-PLUS
|
||||
plus.key.hideSoftKeybord();
|
||||
// #endif
|
||||
},
|
||||
|
||||
components: {},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "@/style/mixin.scss";
|
||||
.goods_item {
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
// margin-bottom: 20rpx;
|
||||
padding: 10rpx 20rpx;
|
||||
border: 2rpx solid #fff;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
.title {
|
||||
box-sizing: border-box;
|
||||
// font-weight: bold;
|
||||
margin-bottom: 40rpx;
|
||||
padding-left: 20rpx;
|
||||
}
|
||||
.image_box {
|
||||
width: 70rpx;
|
||||
height: 70rpx;
|
||||
float: left;
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.goods_image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.goods_info {
|
||||
width: calc(100%);
|
||||
// padding: 10rpx 20rpx;
|
||||
box-sizing: border-box;
|
||||
// height: 100rpx;
|
||||
// display: flex;
|
||||
// align-items: center;
|
||||
// justify-content: space-between;
|
||||
float: left;
|
||||
.name {
|
||||
font-size: 26rpx;
|
||||
// font-weight: 600;
|
||||
color: #333;
|
||||
}
|
||||
.price {
|
||||
font-size: 26rpx;
|
||||
color: #aaa;
|
||||
}
|
||||
}
|
||||
.isSelectGoods {
|
||||
color: $themeColor !important;
|
||||
.name {
|
||||
color: $themeColor !important;
|
||||
}
|
||||
.price {
|
||||
color: $themeColor !important;
|
||||
}
|
||||
border: 2rpx solid $themeColor;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
/deep/.list_item {
|
||||
// border-bottom: none;
|
||||
padding: 10rpx 0 !important;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
.goods_image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.curriulum_box {
|
||||
margin-top: 20rpx;
|
||||
width: 100%;
|
||||
|
||||
.curriulum_title_box {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 20rpx;
|
||||
background-color: #fff;
|
||||
|
||||
.curriulum_title {
|
||||
width: calc(100% - 80rpx);
|
||||
|
||||
font-size: 38rpx;
|
||||
line-height: 40rpx;
|
||||
padding: 20rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.goods_box {
|
||||
background-color: #fff;
|
||||
// margin-top: 20rpx;
|
||||
// padding: 40rpx 30rpx;
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
|
||||
.curriulum_title_box {
|
||||
width: calc(100%) !important;
|
||||
padding-bottom: 20rpx;
|
||||
background-color: #fff;
|
||||
|
||||
.curriulum_title {
|
||||
width: calc(100%);
|
||||
font-weight: 600;
|
||||
font-size: 34rpx;
|
||||
// line-height: 40rpx;
|
||||
// display: flex;
|
||||
// align-items: center;
|
||||
margin-top: 80rpx;
|
||||
margin-bottom: 0rpx;
|
||||
// padding: 20rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
}
|
||||
.popup_box {
|
||||
padding-top: 30rpx;
|
||||
|
||||
background-color: transparent;
|
||||
.popup_top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: #fff;
|
||||
margin-bottom: 20rpx;
|
||||
padding: 0 20rpx;
|
||||
.title {
|
||||
margin-bottom: 0;
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
.popup_content {
|
||||
padding-bottom: 140rpx;
|
||||
}
|
||||
/deep/.list_item {
|
||||
// border-bottom: none;
|
||||
|
||||
border: none !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
.product_image {
|
||||
width: 120rpx;
|
||||
height: 120rpx;
|
||||
border-radius: 10rpx;
|
||||
// background-color: #f5f5f5;
|
||||
// margin: 0 auto;
|
||||
}
|
||||
}
|
||||
/deep/.u-popup__content {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
/deep/.u-popup__content__close {
|
||||
color: #fff !important;
|
||||
}
|
||||
.title_box {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding-left: 0;
|
||||
.title_price {
|
||||
color: #ef1224;
|
||||
font-size: 40rpx;
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
1074
pages/course/myCourse.vue
Normal file
1074
pages/course/myCourse.vue
Normal file
File diff suppressed because it is too large
Load Diff
@@ -123,7 +123,7 @@ export default{
|
||||
color: #fff;
|
||||
padding: 0 12rpx;
|
||||
border-radius: 15rpx;
|
||||
background-image: linear-gradient(90deg, #258feb 0%, #00e1ec 100%);
|
||||
background-image: linear-gradient(90deg, #3AB3AE 0%, #00e1ec 100%);
|
||||
}
|
||||
.vip_item_special .vip_item_title{
|
||||
height: 50rpx;
|
||||
@@ -190,7 +190,7 @@ export default{
|
||||
}
|
||||
.line{
|
||||
text-decoration: line-through;
|
||||
color: #258feb;
|
||||
color: #3AB3AE ;
|
||||
font-style: italic;
|
||||
}
|
||||
.vip_item_flag{
|
||||
|
||||
@@ -781,6 +781,7 @@
|
||||
}
|
||||
|
||||
.titleItem {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
</view>
|
||||
|
||||
<view class="right">
|
||||
<u-icon
|
||||
<!-- <u-icon
|
||||
v-if="
|
||||
userVip == null &&
|
||||
slotProps.data.type != 0 &&
|
||||
@@ -151,7 +151,7 @@
|
||||
color="#FF2B57"
|
||||
size="30"
|
||||
style="display: inline-block; margin-left: 10rpx"
|
||||
></u-icon>
|
||||
></u-icon> -->
|
||||
|
||||
<text
|
||||
v-if="
|
||||
@@ -168,9 +168,51 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</template>
|
||||
|
||||
<template slot="contentList" slot-scope="slotProps">
|
||||
|
||||
<view
|
||||
v-if="
|
||||
userVip == null &&
|
||||
slotProps.data.type != 0 &&
|
||||
slotProps.data.isBuy != 1
|
||||
"
|
||||
style="margin-bottom: 20rpx;"
|
||||
>
|
||||
<view class="libOther">
|
||||
<!-- 没有观看权限的时候 -->
|
||||
<view class="text">
|
||||
您未购买此目录课程或已到期,购买后或开通VIP即可学习本目录课程
|
||||
</view>
|
||||
<view class="tag-view flex_box">
|
||||
<u-button
|
||||
class="btn"
|
||||
type="warning"
|
||||
size="small"
|
||||
@click="handleClickGetGoodsList(slotProps.data)"
|
||||
text="购买课程"
|
||||
></u-button>
|
||||
|
||||
<u-button
|
||||
class="btn"
|
||||
type="success"
|
||||
size="small"
|
||||
@click="goNewPay(slotProps.data)"
|
||||
text="复读"
|
||||
v-if="showNewPayBtn[slotProps.index]&&showNewPayBtn[slotProps.index].status"
|
||||
></u-button>
|
||||
<u-button
|
||||
size="small"
|
||||
class="btn"
|
||||
type="primary"
|
||||
@click="onPageJump('/pages/mine/vip/index')"
|
||||
text="开通VIP"
|
||||
></u-button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="containerBg2">
|
||||
<view class="shiting_content">
|
||||
<view class="catalogueList">
|
||||
@@ -217,7 +259,7 @@
|
||||
slotProps1.row.isAudition == 0
|
||||
"
|
||||
name="lock"
|
||||
color="#258feb"
|
||||
color="#3AB3AE "
|
||||
size="24"
|
||||
></u-icon>
|
||||
</view>
|
||||
@@ -229,7 +271,7 @@
|
||||
slotProps.data.isBuy == 0
|
||||
"
|
||||
name="lock"
|
||||
color="#258feb"
|
||||
color="#3AB3AE "
|
||||
size="24"
|
||||
></u-icon>
|
||||
</view>
|
||||
@@ -276,6 +318,7 @@
|
||||
</template>
|
||||
</common-anchor-link>
|
||||
<common-select-goods
|
||||
:isFudu="isFudu"
|
||||
ref="commonSelectGoods"
|
||||
:selectGoodsData="selectGoodsData"
|
||||
:goodsList="goodsList"
|
||||
@@ -345,6 +388,10 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
fuduId:null,
|
||||
isFudu:false,
|
||||
|
||||
showNewPayBtn: [],
|
||||
isHideCourseInfo: false,
|
||||
courseList: [],
|
||||
showGoBuy: true,
|
||||
@@ -427,6 +474,8 @@ export default {
|
||||
list: "sociology/course/getCourseDetail",
|
||||
goodsList: "sociology/product/getProductListForCourse",
|
||||
startStudyForMF: "sociology/course/startStudyForMF",
|
||||
newPayment:"common/courseRelearn/courseCatalogueCanRelearn", // 检查复读地址
|
||||
newPaymentList:"common/courseRelearn/relearnShopProductList", // 获取复读列表
|
||||
},
|
||||
userVip: null, //是否有vip
|
||||
textList: [], //转化文字集合
|
||||
@@ -458,7 +507,87 @@ export default {
|
||||
this.getCourseDescriptionData();
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
methods: { // 选择复读选项
|
||||
async goNewPay(item){
|
||||
await this.getNewPaymentList(item.id)
|
||||
if(this.newPaymentProList.length > 0){
|
||||
this.goodsList = this.newPaymentProList;
|
||||
this.selectGoodsData = this.goodsList[0];
|
||||
this.$refs.commonSelectGoods.open();
|
||||
this.isFudu = true
|
||||
this.show = true;
|
||||
//存复读需要的id
|
||||
this.fuduId = item.id;
|
||||
}else{
|
||||
this.show = false
|
||||
this.isFudu = false
|
||||
this.$commonJS.showToast('暂无复读方案');
|
||||
}
|
||||
},
|
||||
async getNewPaymentList(id){
|
||||
uni.showLoading({
|
||||
title:'加载中'
|
||||
})
|
||||
await this.$http
|
||||
.request({
|
||||
url: this.urlList.newPaymentList,
|
||||
method: "POST",
|
||||
data: {
|
||||
catalogueId: id,
|
||||
},
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then(async (res) => {
|
||||
console.log("复读列表", res);
|
||||
uni.hideLoading()
|
||||
if(res.code != 0){return this.$commonJS.showToast(res.errMsg);}
|
||||
// if (res.code == 0) {
|
||||
this.newPaymentProList = res.productList
|
||||
// }
|
||||
this.$forceUpdate();
|
||||
}).catch(e => {
|
||||
uni.hideLoading()
|
||||
console.log('e',e);
|
||||
this.newPaymentProList = []
|
||||
this.$commonJS.showToast(e.errMsg);
|
||||
});
|
||||
|
||||
},
|
||||
// 查询目录续费情况
|
||||
async checkRenewPayment(id) {
|
||||
var ss = false;
|
||||
await this.$http
|
||||
.request({
|
||||
url: this.urlList.newPayment,
|
||||
method: "POST",
|
||||
data: {
|
||||
courseCatalogueId: id,
|
||||
},
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then(async (res) => {
|
||||
console.log("res at line 493:", res);
|
||||
if (res.code != 0) {
|
||||
// return this.$commonJS.showToast(res.errMsg);
|
||||
}
|
||||
if (res.code == 0) {
|
||||
ss = res.canRelearn;
|
||||
}
|
||||
this.$forceUpdate();
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log("e", e);
|
||||
ss = false;
|
||||
this.$commonJS.showToast(e.errMsg);
|
||||
});
|
||||
return ss;
|
||||
},
|
||||
//点击顶部按钮
|
||||
handleClickGetVip() {
|
||||
uni.navigateTo({
|
||||
@@ -585,6 +714,8 @@ export default {
|
||||
navTitle: this.options.navTitle,
|
||||
title: this.options.title,
|
||||
sourceType: "curriculum",
|
||||
isFudu: this.isFudu,
|
||||
fuduId: this.fuduId
|
||||
}); // 这里转换成 字符串
|
||||
uni.navigateTo({
|
||||
url: `/pages/goods/order/index?data=${mynavData}`,
|
||||
@@ -618,6 +749,11 @@ export default {
|
||||
}
|
||||
this.$forceUpdate();
|
||||
});
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
this.getCourseDescriptionData();
|
||||
}, 500);
|
||||
});
|
||||
} else if (v.type == 2 && this.userVip == null) {
|
||||
uni.showModal({
|
||||
title: "提示",
|
||||
@@ -628,11 +764,7 @@ export default {
|
||||
} else {
|
||||
this.getProductListForCourse(v);
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
this.getCourseDescriptionData();
|
||||
}, 500);
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
getProductListForCourse(v) {
|
||||
@@ -799,8 +931,16 @@ export default {
|
||||
that.curriculumData = res.data.course;
|
||||
that.cateList = [...res.data.catalogues];
|
||||
for (let i = 0; i < that.cateList.length; i++) {
|
||||
this.showNewPayBtn[i]={status:false}
|
||||
console.log('at line 876:',this.showNewPayBtn[i] )
|
||||
var list = await that.getChapterList(that.cateList[i]);
|
||||
if (that.cateList[i].isBuy == 0 && this.userVip == null) {
|
||||
that.showNewPayBtn[i].status = await this.checkRenewPayment(that.cateList[i].id);
|
||||
|
||||
console.log("可以复读吗?", this.showNewPayBtn);
|
||||
} else {
|
||||
console.log("不用复读");
|
||||
} console.log('this.showNewPayBtn at line 877:', this.showNewPayBtn)
|
||||
that.allDataList[i] = {
|
||||
...that.cateList[i],
|
||||
courseList: [...list],
|
||||
@@ -812,6 +952,10 @@ export default {
|
||||
}, 200);
|
||||
this.$forceUpdate();
|
||||
});
|
||||
}, onPageJump(url, id) {
|
||||
uni.navigateTo({
|
||||
url: `${url}?id=${id}`,
|
||||
});
|
||||
},
|
||||
getPriceData() {
|
||||
var that = this;
|
||||
@@ -1667,7 +1811,7 @@ export default {
|
||||
|
||||
.describe_block {
|
||||
padding: 15rpx 20rpx;
|
||||
background: linear-gradient(90deg, #258feb 0%, #00e1ec 100%);
|
||||
background: linear-gradient(90deg, #3ab3ae 0%, #00e1ec 100%);
|
||||
position: fixed;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
@@ -1691,5 +1835,26 @@ export default {
|
||||
border-radius: 10rpx;
|
||||
line-height: 50rpx;
|
||||
height: 50rpx;
|
||||
}.libOther {
|
||||
border: 1px solid #fff;
|
||||
border-radius: 10rpx;
|
||||
text-align: center;
|
||||
background-color: rgba(0, 0, 0, .4);
|
||||
padding: 10rpx;
|
||||
|
||||
.text {
|
||||
font-size: 26rpx;
|
||||
line-height: 40rpx;
|
||||
margin-bottom: 20rpx;
|
||||
color: #fff;
|
||||
}
|
||||
}.tag-view {
|
||||
justify-content: center;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
.btn {
|
||||
width: 40%;
|
||||
margin: 0 20rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
2596
pages/goods/order/index copy.vue
Normal file
2596
pages/goods/order/index copy.vue
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -324,7 +324,7 @@ export default {
|
||||
},
|
||||
{
|
||||
name: "我的课程",
|
||||
url: "/pages/curriculum/order/index/index",
|
||||
url: "/pages/course/myCourse",
|
||||
// url: "",
|
||||
imgUrl: require("@/static/icon/homePage/wdkc.png"),
|
||||
},
|
||||
|
||||
351
pages/hufen/hufen.vue
Normal file
351
pages/hufen/hufen.vue
Normal file
@@ -0,0 +1,351 @@
|
||||
<template>
|
||||
<view class="commonPageBox">
|
||||
<!-- 公共组件-每个页面必须引入 -->
|
||||
<public-module></public-module>
|
||||
<z-nav-bar title="我的湖分" bgColor="#3ab3ae" fontColor="#fff">
|
||||
<!-- <uni-icons type="bars" class="topRight" slot="right" @click="showDrawer('showRight')" size="22"></uni-icons> -->
|
||||
</z-nav-bar>
|
||||
<view class="xiugai">
|
||||
<common-list
|
||||
:dataList="tabList"
|
||||
@hancleClick="handleClickTab"
|
||||
label="name"
|
||||
>
|
||||
<template slot="rightSlot" slot-scope="slotProps">
|
||||
<text
|
||||
class="fdButtonBox aui-text-success"
|
||||
style="
|
||||
line-height: 40rpx;
|
||||
font-size: 36rpx;
|
||||
float: right;
|
||||
color: #3AB3AE !important;
|
||||
font-weight: bold;
|
||||
"
|
||||
>{{ slotProps.row.score }}<text style="font-size: 30rpx;margin-left: 4rpx;">湖分</text></text
|
||||
>
|
||||
</template>
|
||||
</common-list>
|
||||
</view>
|
||||
<u-popup mode="bottom" :show="show" border-radius="10" @close="show=false">
|
||||
<view class="content" style="height: 50vh">
|
||||
<p style="height: 90rpx" class="popupTitle">
|
||||
{{ currentData.name }} 湖分记录
|
||||
</p>
|
||||
<scroll-view scroll-y="true" style="height: calc(100% - 210rpx)">
|
||||
<view style="padding: 20rpx; box-sizing: border-box">
|
||||
<!-- <view v-for="index in 20" :key="index"> 第{{ index }}个Item </view> -->
|
||||
<view class="AC_con">
|
||||
<!-- <view class="AC_jilu PM_font">湖分记录</view> -->
|
||||
<common-list
|
||||
:dataList="MoneyRecord"
|
||||
isCondition="true"
|
||||
isNoIcon="true"
|
||||
label="orderType"
|
||||
>
|
||||
<template slot="labelSlot" slot-scope="slotProps">
|
||||
<view class="label_content AC_List">
|
||||
<view class="left">
|
||||
<view class="title"
|
||||
><view class="AC_time"
|
||||
>{{ slotProps.row.createTime }}
|
||||
</view></view
|
||||
>
|
||||
</view>
|
||||
<view
|
||||
:class="`right ${slotProps.row.score > 0 ? 'Hot' : ''}`"
|
||||
>
|
||||
<text
|
||||
v-if="slotProps.row.score > 0"
|
||||
style="color: #3ab3ae"
|
||||
>+</text
|
||||
>
|
||||
<text style="color: #3ab3ae">{{
|
||||
slotProps.row.score
|
||||
}}</text> </view
|
||||
><view class="AC_mark" v-if="slotProps.row.detail">{{
|
||||
slotProps.row.detail
|
||||
}}</view>
|
||||
</view>
|
||||
<!-- <text class="order" style="font-size: 12px;" v-if="slotProps.row.relationId" @click="goClick(slotProps.row.relationId)">订单详情</text> -->
|
||||
</template>
|
||||
</common-list>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="confrim-btn">
|
||||
<u-button
|
||||
style="
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
margin-top: 20rpx;
|
||||
color: #1d1d1d;
|
||||
border: 1rpx solid #a0a0a0;
|
||||
"
|
||||
@click="show = false"
|
||||
>关闭</u-button
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
var clear;
|
||||
import { mapState } from "vuex";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
tabList: [],
|
||||
MoneyRecord: [],
|
||||
pageList: [],
|
||||
show: false,
|
||||
currentData: {},
|
||||
};
|
||||
},
|
||||
//第一次加载
|
||||
onLoad(e) {
|
||||
|
||||
// 隐藏原生的tabbar
|
||||
uni.hideTabBar();
|
||||
},
|
||||
computed: {
|
||||
...mapState(["userInfo"]),
|
||||
videoHTML() {
|
||||
return `<video class="video-box" poster="http://ehh-public-01.oss-cn-beijing.aliyuncs.com/wumenyishu-image/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20240606110049.jpg" src="${this.videoUrl}" enable-danmu danmu-btn controls style="width:100%;height:320rpx"></video>`;
|
||||
},
|
||||
},
|
||||
//页面显示
|
||||
onShow() {
|
||||
// 隐藏原生的tabbar
|
||||
uni.hideTabBar();
|
||||
this.getData();
|
||||
},
|
||||
onUnload() {
|
||||
// #ifdef APP-PLUS
|
||||
plus.screen.lockOrientation("portrait-primary"); // 清除横屏
|
||||
// #endif
|
||||
this.showTemp = true;
|
||||
this.videoContext = null;
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
uni.stopPullDownRefresh();
|
||||
},
|
||||
components: {
|
||||
// curriculumVideo,
|
||||
},
|
||||
//方法
|
||||
methods: {
|
||||
async handleClickTab(e) {
|
||||
this.currentData = e;
|
||||
console.log("e at line 78:", e);
|
||||
await this.gethufenData();
|
||||
this.show = true;
|
||||
console.log(e);
|
||||
this.$forceUpdate();
|
||||
|
||||
// this.tabList = e;
|
||||
},
|
||||
getPointsType(type) {
|
||||
var str = "";
|
||||
|
||||
switch (type) {
|
||||
case "01":
|
||||
return "在线教学";
|
||||
|
||||
case "03":
|
||||
return "学术期刊";
|
||||
|
||||
case "05":
|
||||
return "太湖讲堂";
|
||||
|
||||
case "07":
|
||||
return "创作技术";
|
||||
|
||||
case "11":
|
||||
return "注册邀请";
|
||||
|
||||
case "13":
|
||||
return "课程邀请";
|
||||
}
|
||||
},
|
||||
async gethufenData(type) {
|
||||
await this.$http
|
||||
.request({
|
||||
url: "common/userContribution/getUserContributionByType",
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data: {
|
||||
current: 1,
|
||||
limit: 999999,
|
||||
type: this.currentData.type,
|
||||
},
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then((res) => {
|
||||
console.log("res at line 296:", res.list);
|
||||
if (res.code == 0 && res.list.records.length > 0) {
|
||||
this.MoneyRecord = [];
|
||||
this.MoneyRecord = res.list.records;
|
||||
} else {
|
||||
this.MoneyRecord = [];
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log(e, "报错");
|
||||
});
|
||||
},
|
||||
async getData() {
|
||||
await this.$http
|
||||
.post("common/userContribution/getUserContribution")
|
||||
.then((res) => {
|
||||
console.log("res at line 296:", res.list);
|
||||
if (res.code == 0 && res.list.length > 0) {
|
||||
this.tabList = [];
|
||||
this.tabList = res.list.map((e) => {
|
||||
return { ...e, name: e.dict_value };
|
||||
});
|
||||
} else {
|
||||
this.tabList = [];
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log(e, "报错");
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.AC_List {
|
||||
overflow: hidden;
|
||||
|
||||
.left {
|
||||
width: calc(100% - 200rpx) !important;
|
||||
// font-weight: 700;
|
||||
float: left;
|
||||
color: #333;
|
||||
font-size: 38rpx;
|
||||
line-height: 40rpx;
|
||||
}
|
||||
.right {
|
||||
display: block;
|
||||
width: 200rpx !important;
|
||||
float: right;
|
||||
text-align: right;
|
||||
font-size: 38rpx;
|
||||
// font-weight: 700;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
// border-bottom: 1px solid #eee;
|
||||
// padding: 40rpx 10rpx;
|
||||
|
||||
.AC_title {
|
||||
font-size: 32rpx;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
view {
|
||||
float: right;
|
||||
font-size: 34rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.AC_mark {
|
||||
width: 100%;
|
||||
font-size: 28rpx;
|
||||
margin-top: 10rpx;
|
||||
margin-bottom: 15rpx;
|
||||
// white-space: nowrap;
|
||||
color: #343434;
|
||||
float: left;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.AC_time {
|
||||
// width: 100%;
|
||||
color: #909090;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
}
|
||||
.popupTitle {
|
||||
padding-top: 10rpx;
|
||||
|
||||
box-sizing: border-box;
|
||||
font-size: 42rpx;
|
||||
// font-weight: bold;
|
||||
text-align: center;
|
||||
font-family: PangMenZhengDaoBiaoTiTiMianFeiBan;
|
||||
line-height: 60rpx;
|
||||
color: #3ab3ae;
|
||||
}
|
||||
.grid-text {
|
||||
font-size: 28rpx;
|
||||
margin-top: 4rpx;
|
||||
}
|
||||
.commonPageBox {
|
||||
height: 100vh;
|
||||
// background-image: url("@/static/icon/mine_bg.png");
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
background-image: linear-gradient(
|
||||
-60deg,
|
||||
#f4fcf6 0%, /* 极浅的绿白色 */
|
||||
#e8f7f0 40%, /* 轻微绿色调的浅色 */
|
||||
#d8f3e6 60%, /* 非常浅的绿色 */
|
||||
#f0fdf9 80%, /* 淡绿色与白色的混合 */
|
||||
#f9fffb 100% /* 接近白色的极浅绿色 */
|
||||
);
|
||||
|
||||
|
||||
// background-color: #d8f8e4 !important;
|
||||
}
|
||||
.xiugai {
|
||||
border-radius: 20rpx !important;
|
||||
margin: 20rpx;
|
||||
// padding:0 40rpx;
|
||||
background: #fff;
|
||||
|
||||
.nav_list {
|
||||
background-color: #b7e0e2;
|
||||
padding: 15rpx 0 15rpx 10rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 22rpx;
|
||||
position: relative;
|
||||
font-weight: bold;
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
|
||||
&:active {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
text {
|
||||
color: #333;
|
||||
margin-left: 10rpx;
|
||||
}
|
||||
|
||||
&::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
right: 20rpx;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
background-image: url("@/static/icon/icon_right.png");
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
}
|
||||
}
|
||||
|
||||
.nav_list:nth-last-child(1) {
|
||||
border-bottom: 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -247,10 +247,10 @@
|
||||
<template slot="rightSlot" slot-scope="slotProps">
|
||||
<text
|
||||
class="fdButtonBox aui-text-success"
|
||||
style="line-height: 40rpx"
|
||||
>{{ slotProps.row.content }}</text
|
||||
v-if="slotProps.row.contentType&&slotProps.row.contentType == 'hufen'&&hufenNumber>0"
|
||||
style="line-height: 40rpx; font-size: 40rpx;color: #3AB3AE;float: right;"
|
||||
>{{ hufenNumber }}<text style="font-size: 30rpx;margin-left: 4rpx;">湖分</text></text
|
||||
>
|
||||
|
||||
<view> </view>
|
||||
</template>
|
||||
</common-list>
|
||||
@@ -316,7 +316,7 @@ import $http from "@/config/requestConfig.js";
|
||||
import { mapState, mapMutations } from "vuex";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
return {hufenNumber: 0,
|
||||
userCouponNum: 0,
|
||||
come: "1",
|
||||
orderList: [
|
||||
@@ -384,6 +384,10 @@ export default {
|
||||
url: "/pages/bookShop/orderList?type=mine",
|
||||
|
||||
type: "switchTab",
|
||||
},{
|
||||
name: "我的湖分",
|
||||
url: "/pages/hufen/hufen",
|
||||
type: "pageJump", contentType: "hufen",
|
||||
},
|
||||
{
|
||||
name: "个人资料",
|
||||
@@ -430,6 +434,7 @@ export default {
|
||||
onShow() {
|
||||
this.getBookList();
|
||||
this.getData();
|
||||
this.gethufenData();
|
||||
//获取vip身份
|
||||
this.textList = [];
|
||||
this.getUserVipType();
|
||||
@@ -443,7 +448,20 @@ export default {
|
||||
},
|
||||
//方法
|
||||
methods: {
|
||||
...mapMutations(["setUserInfo"]),
|
||||
...mapMutations(["setUserInfo"]), async gethufenData() {
|
||||
await this.$http
|
||||
.post("common/userContribution/getUserContribution")
|
||||
.then((res) => {
|
||||
console.log("res at line 296:", res);
|
||||
if (res.code == 0) {
|
||||
this.hufenNumber = res.total;
|
||||
} else {
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log(e, "报错");
|
||||
});
|
||||
},
|
||||
async getUserCouponList() {
|
||||
await this.$http
|
||||
.request({
|
||||
@@ -1432,7 +1450,7 @@ uni-page-body {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 0 10rpx;
|
||||
background: linear-gradient(90deg, #258feb 0%, #00e1ec 100%);
|
||||
background: linear-gradient(90deg, #3AB3AE 0%, #00e1ec 100%);
|
||||
border-radius: 20rpx;
|
||||
font-size: 18rpx;
|
||||
line-height: 40rpx;
|
||||
|
||||
@@ -736,7 +736,7 @@ export default {
|
||||
//console.log('中等密码-----',value)
|
||||
this.passNote =
|
||||
"请至少使用大小写字母、数字、符号两种类型组合的密码,长度为8位。";
|
||||
this.passStr = "<span style='color:#2979ff'>密码强度中等!</span>";
|
||||
this.passStr = "<span style='color:#117e4c'>密码强度中等!</span>";
|
||||
this.passwordOk = true;
|
||||
} else if (enoughRegex.test(value)) {
|
||||
//console.log('弱密码-----',value)
|
||||
|
||||
351
pages/mine/vip/index copy.vue
Normal file
351
pages/mine/vip/index copy.vue
Normal file
@@ -0,0 +1,351 @@
|
||||
<template>
|
||||
|
||||
<view class="commonPageBox">
|
||||
<z-nav-bar title="VIP"></z-nav-bar>
|
||||
<view class="vip_block">
|
||||
<view
|
||||
class="vip_item"
|
||||
:class="[
|
||||
item.type == 1 || item.type == 2 ? 'vip_item_special' : '',
|
||||
item.state == 1 ? 'vip_item_overdue' : '',
|
||||
(item.type == 1 && item.state == 0) ||
|
||||
(item.type == 2 && item.state == 0)
|
||||
? 'vip_item_bg_1'
|
||||
: '',
|
||||
item.type != 1 && item.type != 2 && item.state == 0
|
||||
? 'vip_item_bg_2'
|
||||
: '',
|
||||
]"
|
||||
v-for="(item, index) in list"
|
||||
:key="index"
|
||||
>
|
||||
<view>
|
||||
<text class="vip_item_title">{{ item.title }}</text>
|
||||
<text class="vip_item_tip" v-if="item.tip && item.tip < 100"
|
||||
><uni-icons type="info" size="17" color="#ff1f00"></uni-icons>还有{{item.tip}}天到期</text
|
||||
>
|
||||
<text class="vip_item_flag" v-if="item.state == 1">
|
||||
<uni-icons type="info" size="17" color="#999"></uni-icons>已过期
|
||||
</text>
|
||||
</view>
|
||||
|
||||
<view class="vip_price" style="padding-top: 10rpx">
|
||||
<text class="font_bold">课程价格:</text>
|
||||
<view class="vip_qx_v">一年<text class="vip_fee line">{{ item.originalPrice || 0 }}</text>元</view>
|
||||
</view>
|
||||
<view v-if="$platform!='ios'">
|
||||
<text
|
||||
class="vip_item_btn"
|
||||
v-if="item.state == null"
|
||||
@click="openorderModal(item, 0)"
|
||||
>去办理</text
|
||||
>
|
||||
<text class="vip_item_btn" v-else @click="openorderModal(item, 0)"
|
||||
>去续费</text
|
||||
>
|
||||
</view>
|
||||
|
||||
<view class="vip_price" v-if="item.vcbList && item.vcbList.length > 0">
|
||||
<text class="font_bold" v-if="item.type == 1 || item.type == 2"
|
||||
>超级VIP价格:</text
|
||||
>
|
||||
<text class="font_bold" v-else>VIP价格:</text>
|
||||
<text
|
||||
class="vip_price_v"
|
||||
v-for="(item_price, index_price) in item.vcbList"
|
||||
:key="index_price"
|
||||
@click="openorderModal(item_price)"
|
||||
>
|
||||
{{ item_price.year }}年<text>{{ item_price.rebateFee }}</text
|
||||
>元
|
||||
</text>
|
||||
</view>
|
||||
<view
|
||||
class="vip_price"
|
||||
v-if="item.yanqiList && item.yanqiList.length > 0"
|
||||
>
|
||||
<text class="font_bold">延期价格:</text>
|
||||
<text
|
||||
class="vip_price_v"
|
||||
v-for="(item_yq, index_yq) in item.yanqiList"
|
||||
:key="index_yq"
|
||||
@click="openorderModal(item_yq, 1)"
|
||||
>
|
||||
{{ item_yq.year }}年<text>{{ item_yq.rebateFee }}</text
|
||||
>元
|
||||
</text>
|
||||
</view>
|
||||
<view class="vip_qx">
|
||||
<text class="font_bold" style="display: block">VIP权限:</text>
|
||||
<view class="vip_qx_v" v-if="item.type == 1"
|
||||
>无限制观看吴门医述APP中医学、中西汇通学、针灸学、肿瘤学四个板块任意课程;</view
|
||||
>
|
||||
<view class="vip_qx_v" v-else-if="item.type == 2"
|
||||
>无限制观看众妙之门APP与吴门医述APP心理学板块任意课程;</view
|
||||
>
|
||||
<view class="vip_qx_v" v-else-if="item.type == 7"
|
||||
>无限制观看众妙之门APP任意课程;</view
|
||||
>
|
||||
<view class="vip_qx_v" v-else
|
||||
>无限制观看吴门医述APP{{
|
||||
item.title.replace(/VIP/g, "")
|
||||
}}板块任意课程;</view
|
||||
>
|
||||
|
||||
<view class="vip_qx_v">
|
||||
<text v-if="item.type == 1 || item.type == 2">{{
|
||||
item.title.replace(/超级VIP/g, "")
|
||||
}}</text>
|
||||
<text v-else>{{ item.title.replace(/VIP/g, "") }}</text>
|
||||
培训班报名享受<text
|
||||
class="vip_fee"
|
||||
v-if="item.type == 1 || item.type == 2"
|
||||
>8折</text
|
||||
><text class="vip_fee" v-else>9折</text>优惠
|
||||
</view>
|
||||
<view class="vip_qx_v"
|
||||
>疯子读书APP购书享受<text
|
||||
class="vip_fee"
|
||||
v-if="item.type == 1 || item.type == 2"
|
||||
>8折</text
|
||||
><text class="vip_fee" v-else>9折</text>优惠</view
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<u-popup :show="orderModalShow" mode="bottom" :round="20">
|
||||
<view class="orderModalShow popup_box">
|
||||
<u-icon
|
||||
name="close"
|
||||
color="#333"
|
||||
size="18"
|
||||
@click="closeOrderModalShow"
|
||||
style="
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
right: 20rpx;
|
||||
top: 20rpx;
|
||||
"
|
||||
></u-icon>
|
||||
<orderPay ref="orderPay" :dataInfo="selectVipData"></orderPay>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import $http from "@/config/requestConfig.js";
|
||||
import orderPay from "./order.vue";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
type: 0,
|
||||
text: "", //针对不同type展示文案
|
||||
list: [],
|
||||
orderModalShow: false,
|
||||
selectVipData: {},
|
||||
};
|
||||
},
|
||||
components: {
|
||||
orderPay,
|
||||
},
|
||||
onLoad() {
|
||||
this.getData();
|
||||
},
|
||||
onShow() {},
|
||||
methods: {
|
||||
//获取数据
|
||||
getData() {
|
||||
uni.showLoading({
|
||||
title: "加载中",
|
||||
});
|
||||
$http
|
||||
.request({
|
||||
url: "common/userVip/getVipBuyConfigList",
|
||||
method: "POST",
|
||||
data: {},
|
||||
header: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then((res) => {
|
||||
uni.hideLoading();
|
||||
if (res.code == 0) {
|
||||
this.list = res.res;
|
||||
}
|
||||
})
|
||||
.catch((e) => {});
|
||||
},
|
||||
//点击购买
|
||||
openorderModal(item, type) {
|
||||
if(this.$platform=='ios'){
|
||||
return false
|
||||
}
|
||||
let text = "";
|
||||
//如果是右侧按钮点击展示
|
||||
//判断点击类型是vip价格还是延期价格
|
||||
if (type == 0) {
|
||||
if (item.state == null) {
|
||||
//没有vip
|
||||
this.selectVipData.list = item.vcbList;
|
||||
this.selectVipData.id = item.vcbList[0].id;
|
||||
} else {
|
||||
this.selectVipData.list = item.yanqiList;
|
||||
this.selectVipData.id = item.yanqiList[0].id;
|
||||
}
|
||||
} else {
|
||||
this.selectVipData.id = item.id;
|
||||
}
|
||||
|
||||
if (type) {
|
||||
this.selectVipData.type = type;
|
||||
}
|
||||
|
||||
this.selectVipData.title = item.title + "-" + item.year + "年";
|
||||
this.selectVipData.lastFee = item.rebateFee;
|
||||
|
||||
this.orderModalShow = true;
|
||||
console.log("-----selectVipData-----", this.selectVipData);
|
||||
this.$nextTick(() => {
|
||||
this.$refs.orderPay.initPrepareOrder();
|
||||
});
|
||||
},
|
||||
//关闭
|
||||
closeOrderModalShow() {
|
||||
this.orderModalShow = false;
|
||||
this.selectVipData = {};
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.commonPageBox {
|
||||
height: 100% !important;
|
||||
}
|
||||
.vip_block {
|
||||
padding: 20rpx;
|
||||
}
|
||||
.vip_item {
|
||||
width: 100%;
|
||||
padding: 30rpx 20rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0px 0px 5px 0px #a7bbe4;
|
||||
margin-bottom: 20rpx;
|
||||
position: relative;
|
||||
}
|
||||
.vip_item_title {
|
||||
display: inline-block;
|
||||
height: 46rpx;
|
||||
line-height: 46rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: bold;
|
||||
color: #fff;
|
||||
padding: 0 12rpx;
|
||||
border-radius: 15rpx;
|
||||
background-image: linear-gradient(90deg, #3AB3AE 0%, #00e1ec 100%);
|
||||
}
|
||||
.vip_item_special .vip_item_title {
|
||||
height: 50rpx;
|
||||
line-height: 50rpx;
|
||||
font-size: 26rpx;
|
||||
background-image: linear-gradient(90deg, #ff1f00 0%, #fa9f93 100%);
|
||||
}
|
||||
.vip_price {
|
||||
margin-top: 5rpx;
|
||||
}
|
||||
.vip_price text,
|
||||
.vip_qx text,
|
||||
.vip_qx_v {
|
||||
display: inline-block;
|
||||
font-size: 28rpx;
|
||||
line-height: 40rpx;
|
||||
}
|
||||
.vip_item_used {
|
||||
position: absolute;
|
||||
right: 20rpx;
|
||||
bottom: 20rpx;
|
||||
font-size: 24rpx;
|
||||
color: #427ec5;
|
||||
font-weight: bold;
|
||||
}
|
||||
.vip_item_btn {
|
||||
position: absolute;
|
||||
right: 20rpx;
|
||||
top: 30rpx;
|
||||
font-size: 23rpx;
|
||||
line-height: 40rpx;
|
||||
border: 1rpx solid #ff1f00;
|
||||
color: #ff1f00;
|
||||
padding: 0 12rpx;
|
||||
border-radius: 15rpx;
|
||||
opacity: 0.8;
|
||||
}
|
||||
.font_bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
.vip_fee {
|
||||
font-size: 34rpx !important;
|
||||
color: #ff1f00;
|
||||
font-weight: bold;
|
||||
padding: 0 5rpx;
|
||||
}
|
||||
.vip_price_v {
|
||||
font-size: 26rpx !important;
|
||||
color: #ff1f00;
|
||||
border: 1rpx solid #ff1f00;
|
||||
border-radius: 10rpx;
|
||||
margin-right: 15rpx;
|
||||
margin-bottom: 10rpx;
|
||||
padding: 0 10rpx;
|
||||
}
|
||||
.vip_price_yq {
|
||||
font-size: 26rpx !important;
|
||||
color: #427ec5;
|
||||
border: 1rpx solid #427ec5;
|
||||
border-radius: 10rpx;
|
||||
margin-right: 15rpx;
|
||||
margin-bottom: 10rpx;
|
||||
padding: 0 10rpx;
|
||||
}
|
||||
.line {
|
||||
text-decoration: line-through;
|
||||
color: #3AB3AE ;
|
||||
font-style: italic;
|
||||
}
|
||||
.vip_item_flag {
|
||||
font-size: 26rpx;
|
||||
color: #666;
|
||||
padding-left: 20rpx;
|
||||
}
|
||||
.vip_item_flag text {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
.vip_item_overdue {
|
||||
background: rgba(220, 223, 225, 0.9) !important;
|
||||
opacity: 0.75;
|
||||
}
|
||||
.vip_item_overdue .vip_item_title {
|
||||
background-image: none;
|
||||
font-size: 32rpx;
|
||||
color: #000;
|
||||
padding: 0;
|
||||
}
|
||||
.vip_item_bg_1 {
|
||||
background: rgba(227, 120, 125, 0.3) !important;
|
||||
}
|
||||
.vip_item_bg_2 {
|
||||
background: rgba(64, 148, 222, 0.3) !important;
|
||||
}
|
||||
.vip_item_tip {
|
||||
color: #ff1f00;
|
||||
font-size: 26rpx;
|
||||
padding-left: 20rpx;
|
||||
}
|
||||
.vip_item_tip text {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
</style>
|
||||
@@ -1,7 +1,6 @@
|
||||
<template>
|
||||
|
||||
<view class="commonPageBox">
|
||||
<z-nav-bar title="VIP"></z-nav-bar>
|
||||
<z-nav-bar title="VIP" bgColor="#3AB3AE" fontColor="#fff"></z-nav-bar>
|
||||
<view class="vip_block">
|
||||
<view
|
||||
class="vip_item"
|
||||
@@ -22,7 +21,9 @@
|
||||
<view>
|
||||
<text class="vip_item_title">{{ item.title }}</text>
|
||||
<text class="vip_item_tip" v-if="item.tip && item.tip < 100"
|
||||
><uni-icons type="info" size="17" color="#ff1f00"></uni-icons>还有{{item.tip}}天到期</text
|
||||
><uni-icons type="info" size="17" color="#ff1f00"></uni-icons>还有{{
|
||||
item.tip
|
||||
}}天到期</text
|
||||
>
|
||||
<text class="vip_item_flag" v-if="item.state == 1">
|
||||
<uni-icons type="info" size="17" color="#999"></uni-icons>已过期
|
||||
@@ -31,16 +32,19 @@
|
||||
|
||||
<view class="vip_price" style="padding-top: 10rpx">
|
||||
<text class="font_bold">课程价格:</text>
|
||||
<view class="vip_qx_v">一年<text class="vip_fee line">{{ item.originalPrice || 0 }}</text>元</view>
|
||||
<view class="vip_qx_v"
|
||||
>一年<text class="vip_fee line">{{ item.originalPrice || 0 }}</text
|
||||
>元</view
|
||||
>
|
||||
</view>
|
||||
<view v-if="$platform != 'ios'">
|
||||
<text
|
||||
class="vip_item_btn"
|
||||
v-if="item.state == null"
|
||||
@click="openorderModal(item, 0)"
|
||||
@click="openorderModal(item)"
|
||||
>去办理</text
|
||||
>
|
||||
<text class="vip_item_btn" v-else @click="openorderModal(item, 0)"
|
||||
<text class="vip_item_btn" v-else @click="openorderModal(item)"
|
||||
>去续费</text
|
||||
>
|
||||
</view>
|
||||
@@ -54,7 +58,7 @@
|
||||
class="vip_price_v"
|
||||
v-for="(item_price, index_price) in item.vcbList"
|
||||
:key="index_price"
|
||||
@click="openorderModal(item_price)"
|
||||
@click="openorderModal(item, index_price)"
|
||||
>
|
||||
{{ item_price.year }}年<text>{{ item_price.rebateFee }}</text
|
||||
>元
|
||||
@@ -69,14 +73,20 @@
|
||||
class="vip_price_v"
|
||||
v-for="(item_yq, index_yq) in item.yanqiList"
|
||||
:key="index_yq"
|
||||
@click="openorderModal(item_yq, 1)"
|
||||
@click="openorderModal({ state: item.state, ...item }, index_yq)"
|
||||
>
|
||||
{{ item_yq.year }}年<text>{{ item_yq.rebateFee }}</text
|
||||
>元
|
||||
</text>
|
||||
</view>
|
||||
<view class="vip_qx">
|
||||
<text class="font_bold" style="display: block">VIP权限:</text>
|
||||
<text
|
||||
class="font_bold"
|
||||
style="display: block"
|
||||
v-if="item.type == 1 || item.type == 2"
|
||||
>超级VIP权限:</text
|
||||
>
|
||||
<text class="font_bold" style="display: block" v-else>VIP权限:</text>
|
||||
<view class="vip_qx_v" v-if="item.type == 1"
|
||||
>无限制观看吴门医述APP中医学、中西汇通学、针灸学、肿瘤学四个板块任意课程;</view
|
||||
>
|
||||
@@ -101,33 +111,39 @@
|
||||
class="vip_fee"
|
||||
v-if="item.type == 1 || item.type == 2"
|
||||
>8折</text
|
||||
><text class="vip_fee" v-else>9折</text>优惠
|
||||
><text class="vip_fee" v-else>9折</text>优惠;
|
||||
</view>
|
||||
<view class="vip_qx_v"
|
||||
>疯子读书APP购书享受<text
|
||||
class="vip_fee"
|
||||
v-if="item.type == 1 || item.type == 2"
|
||||
>8折</text
|
||||
><text class="vip_fee" v-else>9折</text>优惠</view
|
||||
><text class="vip_fee" v-else>9折</text>优惠。</view
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<common-select-vip
|
||||
type="vip"
|
||||
:isCondition="true"
|
||||
ref="commonSelectGoods"
|
||||
:selectGoodsData="selectGoodsData"
|
||||
:goodsList="goodsList"
|
||||
:buyOptions="buyOptions"
|
||||
:customButtonGroup1="customButtonGroup1"
|
||||
@selectGoods="handleClickSelectGoods"
|
||||
@onHandleClickBuy="goBuy()"
|
||||
>
|
||||
</common-select-vip>
|
||||
<u-popup :show="orderModalShow" mode="bottom" :round="20">
|
||||
<view class="orderModalShow popup_box">
|
||||
<u-icon
|
||||
name="close"
|
||||
color="#333"
|
||||
size="18"
|
||||
@click="closeOrderModalShow"
|
||||
style="
|
||||
<!-- <u-icon name="close" color="#333" size="18" @click="closeOrderModalShow" style="
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
right: 20rpx;
|
||||
top: 20rpx;
|
||||
"
|
||||
></u-icon>
|
||||
"></u-icon> -->
|
||||
<orderPay ref="orderPay" :dataInfo="selectVipData"></orderPay>
|
||||
</view>
|
||||
</u-popup>
|
||||
@@ -143,6 +159,17 @@ export default {
|
||||
type: 0,
|
||||
text: "", //针对不同type展示文案
|
||||
list: [],
|
||||
buyOptions: [],
|
||||
customButtonGroup1: [
|
||||
{
|
||||
with: 200,
|
||||
text: "立即购买",
|
||||
backgroundColor: "linear-gradient(90deg, #3AB3AE 0%,#3AB3AE 100%)",
|
||||
color: "#fff",
|
||||
},
|
||||
],
|
||||
goodsList: [],
|
||||
selectGoodsData: {},
|
||||
orderModalShow: false,
|
||||
selectVipData: {},
|
||||
};
|
||||
@@ -155,6 +182,27 @@ export default {
|
||||
},
|
||||
onShow() {},
|
||||
methods: {
|
||||
handleClickSelectGoods(data) {
|
||||
this.selectGoodsData = data;
|
||||
console.log('this.selectGoodsData at line 186:', this.selectGoodsData)
|
||||
this.$forceUpdate();
|
||||
},
|
||||
goBuy() {
|
||||
// this.$refs.commonSelectGoods.close();
|
||||
var mynavData = JSON.stringify({
|
||||
|
||||
goods:[this.selectGoodsData],
|
||||
typeId: 0,
|
||||
navTitle: "",
|
||||
title: "",
|
||||
isVip: true,
|
||||
|
||||
}); // 这里转换成 字符串
|
||||
console.log('mynavData at line 192:', mynavData)
|
||||
uni.navigateTo({
|
||||
url: `/pages/goods/order/index?data=${mynavData}`,
|
||||
});
|
||||
},
|
||||
//获取数据
|
||||
getData() {
|
||||
uni.showLoading({
|
||||
@@ -179,37 +227,40 @@ export default {
|
||||
},
|
||||
//点击购买
|
||||
openorderModal(item, type) {
|
||||
if(this.$platform=='ios'){
|
||||
return false
|
||||
console.log("item at line 120:", item);
|
||||
if (this.$platform == "ios") {
|
||||
return false;
|
||||
}
|
||||
let text = "";
|
||||
//如果是右侧按钮点击展示
|
||||
//判断点击类型是vip价格还是延期价格
|
||||
if (type == 0) {
|
||||
|
||||
if (item.state == null) {
|
||||
//没有vip
|
||||
this.selectVipData.list = item.vcbList;
|
||||
this.selectVipData.id = item.vcbList[0].id;
|
||||
// this.selectVipData.id = item.vcbList[0].id;
|
||||
} else {
|
||||
this.selectVipData.list = item.yanqiList;
|
||||
this.selectVipData.id = item.yanqiList[0].id;
|
||||
}
|
||||
} else {
|
||||
this.selectVipData.id = item.id;
|
||||
}
|
||||
|
||||
if (type) {
|
||||
this.selectVipData.type = type;
|
||||
// this.selectVipData.id = item.yanqiList[0].id;
|
||||
}
|
||||
|
||||
this.selectVipData.title = item.title + "-" + item.year + "年";
|
||||
this.selectVipData.lastFee = item.rebateFee;
|
||||
this.selectVipData.state = item.state;
|
||||
|
||||
this.orderModalShow = true;
|
||||
console.log("-----selectVipData-----", this.selectVipData);
|
||||
this.$nextTick(() => {
|
||||
this.$refs.orderPay.initPrepareOrder();
|
||||
this.goodsList = this.selectVipData.list.map((e) => {
|
||||
return { ...e };
|
||||
});
|
||||
this.selectGoodsData = this.selectVipData.list[type ? type : 0];
|
||||
this.$refs.commonSelectGoods.open();
|
||||
this.show = true;
|
||||
|
||||
// this.orderModalShow = true;
|
||||
// console.log("-----selectVipData-----", this.selectVipData);
|
||||
|
||||
// this.$nextTick(() => {
|
||||
// this.$refs.orderPay.initPrepareOrder();
|
||||
// });
|
||||
},
|
||||
//关闭
|
||||
closeOrderModalShow() {
|
||||
@@ -245,7 +296,7 @@ export default {
|
||||
color: #fff;
|
||||
padding: 0 12rpx;
|
||||
border-radius: 15rpx;
|
||||
background-image: linear-gradient(90deg, #258feb 0%, #00e1ec 100%);
|
||||
background-image: linear-gradient(90deg, #3AB3AE 0%, #00e1ec 100%);
|
||||
}
|
||||
.vip_item_special .vip_item_title {
|
||||
height: 50rpx;
|
||||
@@ -312,7 +363,7 @@ export default {
|
||||
}
|
||||
.line {
|
||||
text-decoration: line-through;
|
||||
color: #258feb;
|
||||
color: #3AB3AE;
|
||||
font-style: italic;
|
||||
}
|
||||
.vip_item_flag {
|
||||
|
||||
@@ -285,8 +285,8 @@ export default {
|
||||
detailInfo: {},
|
||||
fdButtonStyle: {
|
||||
width: "90rpx",
|
||||
"border-color": "#258feb",
|
||||
color: "#258feb",
|
||||
"border-color": "#3AB3AE ",
|
||||
color: "#3AB3AE ",
|
||||
float: "right",
|
||||
"margin-right": "20rpx",
|
||||
"margin-left": "30rpx",
|
||||
@@ -511,6 +511,14 @@ export default {
|
||||
return;
|
||||
}
|
||||
let data = {
|
||||
paymentMethod: this.payType, //1微信2支付宝3苹果支付4虚拟币
|
||||
orderMoney: this.dataInfo.lastFee, //订单金额
|
||||
realMoney: Number(this.dataInfo.lastFee - this.jfNumber), //实际金额
|
||||
shippingMoney: 0, //运费
|
||||
jfDeduction: this.jfNumber, //积分抵扣
|
||||
vipBuyConfigId: this.dataInfo.id,
|
||||
come: 2, //订单来源,0疯子读书1国学众妙之门2医学吴门医
|
||||
|
||||
paymentMethod: this.payType, //1微信2支付宝3苹果支付4虚拟币
|
||||
orderMoney: this.dataInfo.lastFee, //订单金额
|
||||
realMoney: this.dataInfo.lastFee, //实际金额
|
||||
@@ -536,7 +544,10 @@ export default {
|
||||
icon: "none",
|
||||
image: "../../../static/icon/ic_close.png",
|
||||
});
|
||||
} else {
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (that.payType == 2) {
|
||||
// 常规支付
|
||||
uni.showToast({
|
||||
@@ -575,7 +586,7 @@ export default {
|
||||
});
|
||||
}, 0);
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
} else if (this.payType == 1) {
|
||||
// 微信支付
|
||||
@@ -611,6 +622,7 @@ export default {
|
||||
}
|
||||
});
|
||||
} else if (this.payType == 4) {
|
||||
console.log('4 at line 624:', 4)
|
||||
// 天医币支付
|
||||
uni.showToast({
|
||||
title: "购买成功",
|
||||
@@ -623,7 +635,6 @@ export default {
|
||||
}, 1000);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
//切换年份选项
|
||||
@@ -1171,7 +1182,7 @@ export default {
|
||||
border-color: #e6e6e6;
|
||||
border-left-color: transparent;
|
||||
border-style: solid;
|
||||
// background-color: #258feb;
|
||||
// background-color: #3AB3AE ;
|
||||
|
||||
border-top-right-radius: 10rpx;
|
||||
border-bottom-right-radius: 10rpx;
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
label="orderType"
|
||||
>
|
||||
<template slot="labelSlot" slot-scope="slotProps" >
|
||||
<view class="label_content AC_List">
|
||||
<view class="label_content AC_List" @click="slotProps.row.relationId?goClick(slotProps.row.relationId):''">
|
||||
<view class="left">
|
||||
<view class="title">{{ slotProps.row.orderType }}</view>
|
||||
</view>
|
||||
@@ -247,7 +247,13 @@ export default {
|
||||
musicPlay,
|
||||
},
|
||||
//方法
|
||||
methods: {
|
||||
methods: { goClick(id){
|
||||
uni.navigateTo({
|
||||
url: "/pages/bookShop/orderLCont?orderId=" +
|
||||
id
|
||||
|
||||
});
|
||||
},
|
||||
// 获取
|
||||
getData() {
|
||||
var data = {
|
||||
@@ -400,7 +406,7 @@ export default {
|
||||
overflow: hidden;
|
||||
|
||||
.left {
|
||||
width: calc(100% - 120rpx) !important;
|
||||
width: calc(100% - 200rpx) !important;
|
||||
font-weight: 700;
|
||||
float: left;
|
||||
color: #333;
|
||||
@@ -431,13 +437,14 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
.AC_mark {
|
||||
.AC_mark {width: 100%;
|
||||
font-size: 28rpx;
|
||||
margin-top: 10rpx;
|
||||
margin-bottom: 15rpx;
|
||||
// white-space: nowrap;
|
||||
color: #343434;
|
||||
float: left;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.AC_time {
|
||||
|
||||
@@ -305,7 +305,7 @@ export default {
|
||||
// console.log('中等密码-----',value)
|
||||
this.note =
|
||||
"请至少使用大小写字母、数字、符号两种类型组合的密码,长度为8位。";
|
||||
this.str2 = "<span style='color:#2979ff'>密码强度中等!</span>";
|
||||
this.str2 = "<span style='color:#117e4c'>密码强度中等!</span>";
|
||||
this.passwordOk = true;
|
||||
} else if (enoughRegex.test(value)) {
|
||||
// console.log('弱密码-----',value)
|
||||
|
||||
BIN
static/icon/fugou.png
Normal file
BIN
static/icon/fugou.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
@@ -2,7 +2,8 @@
|
||||
//主题色
|
||||
$themeColor: #3AB3AE;
|
||||
$themeBgColor: #EDF6F5 !important;
|
||||
|
||||
$containerColor: #f4f7ff;
|
||||
$imgBg: #edf3ff;
|
||||
@keyframes example1 {
|
||||
0% {
|
||||
transform: translate(-100px);
|
||||
@@ -19,7 +20,14 @@ $themeBgColor: #EDF6F5 !important;
|
||||
// opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin pleft_right($p) {
|
||||
padding-left:$p ;
|
||||
padding-right: $p;
|
||||
// background-image: url($url);
|
||||
}
|
||||
@mixin mshadow($size,$opacity) {
|
||||
box-shadow: 0px 0px $size 0px rgba(167, 187, 228, $opacity);
|
||||
}
|
||||
@mixin theme($type, $path: '') {
|
||||
@if $type =="btn_bg" {
|
||||
background-image: linear-gradient(90deg, #3AB3AE 0%, #117e4c 100%);
|
||||
@@ -49,7 +57,10 @@ $themeBgColor: #EDF6F5 !important;
|
||||
background-clip: content-box, border-box;
|
||||
border-radius: $radiusSize;
|
||||
}
|
||||
|
||||
@mixin ptop_bottm($p) {
|
||||
padding-bottom:$p ;
|
||||
padding-top: $p;
|
||||
}
|
||||
@mixin themFlex($align,$justify1) {
|
||||
display: flex;
|
||||
align-items:$align;
|
||||
|
||||
@@ -158,7 +158,7 @@
|
||||
</script>
|
||||
|
||||
<style lang="scss" >
|
||||
$uni-primary: #2979ff !default;
|
||||
$uni-primary: #117e4c !default;
|
||||
$uni-success: #4cd964 !default;
|
||||
$uni-warning: #f0ad4e !default;
|
||||
$uni-error: #dd524d !default;
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
}
|
||||
</script>
|
||||
<style lang="scss">
|
||||
$uni-primary: #2979ff !default;
|
||||
$uni-primary: #117e4c !default;
|
||||
$uni-base-color: #6a6a6a !default;
|
||||
$uni-main-color: #3a3a3a !default;
|
||||
.uni-breadcrumb-item {
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
$uni-color-error: #e43d33;
|
||||
$uni-opacity-disabled: 0.3;
|
||||
$uni-text-color-disable:#c0c0c0;
|
||||
$uni-primary: #2979ff !default;
|
||||
$uni-primary: #117e4c !default;
|
||||
.uni-calendar-item__weeks-box {
|
||||
flex: 1;
|
||||
/* #ifndef APP-NVUE */
|
||||
|
||||
@@ -179,7 +179,7 @@
|
||||
},
|
||||
isLocal:true,
|
||||
styles: {
|
||||
selectedColor: '#2979ff',
|
||||
selectedColor: '#117e4c',
|
||||
selectedTextColor: '#666',
|
||||
},
|
||||
isTop:0
|
||||
@@ -383,7 +383,7 @@
|
||||
*/
|
||||
setStyleBackgroud(item) {
|
||||
let styles = {}
|
||||
let selectedColor = this.selectedColor?this.selectedColor:'#2979ff'
|
||||
let selectedColor = this.selectedColor?this.selectedColor:'#117e4c'
|
||||
if (this.selectedColor) {
|
||||
if (this.mode !== 'list') {
|
||||
styles['border-color'] = item.selected?selectedColor:'#DCDFE6'
|
||||
@@ -402,7 +402,7 @@
|
||||
let styles = {}
|
||||
let classles = ''
|
||||
if (this.selectedColor) {
|
||||
let selectedColor = this.selectedColor?this.selectedColor:'#2979ff'
|
||||
let selectedColor = this.selectedColor?this.selectedColor:'#117e4c'
|
||||
styles['background-color'] = item.selected?selectedColor:'#fff'
|
||||
styles['border-color'] = item.selected?selectedColor:'#DCDFE6'
|
||||
|
||||
@@ -420,7 +420,7 @@
|
||||
let styles = {}
|
||||
let classles = ''
|
||||
if (this.selectedColor) {
|
||||
let selectedColor = this.selectedColor?this.selectedColor:'#2979ff'
|
||||
let selectedColor = this.selectedColor?this.selectedColor:'#117e4c'
|
||||
if (this.mode === 'tag') {
|
||||
styles.color = item.selected?(this.selectedTextColor?this.selectedTextColor:'#fff'):'#666'
|
||||
} else {
|
||||
@@ -452,7 +452,7 @@
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
$uni-primary: #2979ff !default;
|
||||
$uni-primary: #117e4c !default;
|
||||
$border-color: #DCDFE6;
|
||||
$disable:0.4;
|
||||
|
||||
|
||||
@@ -294,7 +294,7 @@
|
||||
.uni-stat__actived {
|
||||
width: 100%;
|
||||
flex: 1;
|
||||
// outline: 1px solid #2979ff;
|
||||
// outline: 1px solid #117e4c;
|
||||
}
|
||||
|
||||
.uni-label-text {
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
* @property {Number } clearSize 清除图标的大小,单位px(默认15)
|
||||
* @property {String} prefixIcon 输入框头部图标
|
||||
* @property {String} suffixIcon 输入框尾部图标
|
||||
* @property {String} primaryColor 设置主题色(默认#2979ff)
|
||||
* @property {String} primaryColor 设置主题色(默认#117e4c)
|
||||
* @property {Boolean} trim 是否自动去除两端的空格
|
||||
* @value both 去除两端空格
|
||||
* @value left 去除左侧空格
|
||||
@@ -180,7 +180,7 @@
|
||||
},
|
||||
primaryColor: {
|
||||
type: String,
|
||||
default: '#2979ff'
|
||||
default: '#117e4c'
|
||||
},
|
||||
styles: {
|
||||
type: Object,
|
||||
|
||||
@@ -309,7 +309,7 @@
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
$uni-primary: #2979ff !default;
|
||||
$uni-primary: #117e4c !default;
|
||||
.uni-pagination {
|
||||
/* #ifndef APP-NVUE */
|
||||
display: flex;
|
||||
|
||||
@@ -89,7 +89,7 @@ $uni-headings: map-deep-merge(
|
||||
|
||||
|
||||
// 主色
|
||||
$uni-primary: #2979ff !default;
|
||||
$uni-primary: #117e4c !default;
|
||||
$uni-primary-disable:lighten($uni-primary,20%) !default;
|
||||
$uni-primary-light: lighten($uni-primary,25%) !default;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ $uni-space-root: 2;
|
||||
// 边框半径默认值
|
||||
$uni-radius-root:5px;
|
||||
// 主色
|
||||
$uni-primary: #2979ff;
|
||||
$uni-primary: #117e4c;
|
||||
// 辅助色
|
||||
$uni-success: #4cd964;
|
||||
// 警告色
|
||||
|
||||
@@ -5,7 +5,7 @@ $uni-space-root: 2;
|
||||
$uni-radius-root:5px;
|
||||
|
||||
// 主色
|
||||
$uni-primary: #2979ff;
|
||||
$uni-primary: #117e4c;
|
||||
$uni-primary-disable:mix(#fff,$uni-primary,50%);
|
||||
$uni-primary-light: mix(#fff,$uni-primary,80%);
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" >
|
||||
$uni-primary: #2979ff !default;
|
||||
$uni-primary: #117e4c !default;
|
||||
|
||||
.uni-section {
|
||||
background-color: #fff;
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
},
|
||||
activeColor: {
|
||||
type: String,
|
||||
default: '#2979FF'
|
||||
default: '#117e4c'
|
||||
},
|
||||
styleType: {
|
||||
type: String,
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
activeColor: {
|
||||
// 激活状态颜色
|
||||
type: String,
|
||||
default: '#2979FF'
|
||||
default: '#117e4c'
|
||||
},
|
||||
deactiveColor: {
|
||||
// 未激活状态颜色
|
||||
@@ -88,7 +88,7 @@
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
$uni-primary: #2979ff !default;
|
||||
$uni-primary: #117e4c !default;
|
||||
$uni-border-color:#EDEDED;
|
||||
.uni-steps {
|
||||
/* #ifndef APP-NVUE */
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
$uni-primary: #2979ff !default;
|
||||
$uni-primary: #117e4c !default;
|
||||
$uni-success: #18bc37 !default;
|
||||
$uni-warning: #f3a73f !default;
|
||||
$uni-error: #e43d33 !default;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
* @property {Array} value 绑定的值
|
||||
* @property {String} shape 形状,circle-圆形,square-方形 (默认 'square' )
|
||||
* @property {Boolean} disabled 是否禁用全部checkbox (默认 false )
|
||||
* @property {String} activeColor 选中状态下的颜色,如设置此值,将会覆盖parent的activeColor值 (默认 '#2979ff' )
|
||||
* @property {String} activeColor 选中状态下的颜色,如设置此值,将会覆盖parent的activeColor值 (默认 '#117e4c' )
|
||||
* @property {String} inactiveColor 未选中的颜色 (默认 '#c8c9cc' )
|
||||
* @property {String | Number} size 整个组件的尺寸 单位px (默认 18 )
|
||||
* @property {String} placement 布局方式,row-横向,column-纵向 (默认 'row' )
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
},
|
||||
// 组件选中激活时的颜色
|
||||
elActiveColor() {
|
||||
return this.activeColor ? this.activeColor : (this.parentData.activeColor ? this.parentData.activeColor : '#2979ff');
|
||||
return this.activeColor ? this.activeColor : (this.parentData.activeColor ? this.parentData.activeColor : '#117e4c');
|
||||
},
|
||||
// 组件选未中激活时的颜色
|
||||
elInactiveColor() {
|
||||
@@ -250,7 +250,7 @@
|
||||
$u-checkbox-icon-wrap-square-border-radius:3px !default;
|
||||
$u-checkbox-icon-wrap-checked-color:#fff !default;
|
||||
$u-checkbox-icon-wrap-checked-background-color:red !default;
|
||||
$u-checkbox-icon-wrap-checked-border-color:#2979ff !default;
|
||||
$u-checkbox-icon-wrap-checked-border-color:#117e4c !default;
|
||||
$u-checkbox-icon-wrap-disabled-background-color:#ebedf0 !default;
|
||||
$u-checkbox-icon-wrap-disabled-checked-color:#c8c9cc !default;
|
||||
$u-checkbox-label-margin-left:5px !default;
|
||||
|
||||
@@ -4,7 +4,7 @@ export default {
|
||||
activeStyle: {
|
||||
type: [String, Object],
|
||||
default: () => ({
|
||||
color: '#2979ff',
|
||||
color: '#117e4c',
|
||||
fontSize: '14px'
|
||||
})
|
||||
},
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
* @property {Object} customStyle icon的样式,对象形式
|
||||
* @event {Function} click 点击图标时触发
|
||||
* @event {Function} touchstart 事件触摸时触发
|
||||
* @example <u-icon name="photo" color="#2979ff" size="28"></u-icon>
|
||||
* @example <u-icon name="photo" color="#117e4c" size="28"></u-icon>
|
||||
*/
|
||||
export default {
|
||||
name: 'u-icon',
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
* @property {String} cancelText 取消按钮的文字 (默认 '取消' )
|
||||
* @property {Boolean} showConfirmButton 是否显示确认按钮 (默认 true )
|
||||
* @property {Boolean} showCancelButton 是否显示取消按钮 (默认 false )
|
||||
* @property {String} confirmColor 确认按钮的颜色 (默认 '#2979ff' )
|
||||
* @property {String} confirmColor 确认按钮的颜色 (默认 '#117e4c' )
|
||||
* @property {String} cancelColor 取消按钮的颜色 (默认 '#606266' )
|
||||
* @property {Number} duration 弹窗动画过度时间 (默认 400 )
|
||||
* @property {Boolean} buttonReverse 对调确认和取消的位置 (默认 false )
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
* @property {String | Number | Boolean} value 绑定的值
|
||||
* @property {Boolean} disabled 是否禁用所有radio(默认 false )
|
||||
* @property {String} shape 外观形状,shape-方形,circle-圆形(默认 circle )
|
||||
* @property {String} activeColor 选中时的颜色,应用到所有子Radio组件(默认 '#2979ff' )
|
||||
* @property {String} activeColor 选中时的颜色,应用到所有子Radio组件(默认 '#117e4c' )
|
||||
* @property {String} inactiveColor 未选中的颜色 (默认 '#c8c9cc' )
|
||||
* @property {String} name 标识符
|
||||
* @property {String | Number} size 组件整体的大小,单位px(默认 18 )
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
},
|
||||
// 组件选中激活时的颜色
|
||||
elActiveColor() {
|
||||
return this.activeColor ? this.activeColor : (this.parentData.activeColor ? this.parentData.activeColor : '#2979ff');
|
||||
return this.activeColor ? this.activeColor : (this.parentData.activeColor ? this.parentData.activeColor : '#117e4c');
|
||||
},
|
||||
// 组件选未中激活时的颜色
|
||||
elInactiveColor() {
|
||||
@@ -246,7 +246,7 @@
|
||||
$u-radio-square-border-radius:3px !default;
|
||||
$u-radio-checked-color:#fff !default;
|
||||
$u-radio-checked-background-color:red !default;
|
||||
$u-radio-checked-border-color: #2979ff !default;
|
||||
$u-radio-checked-border-color: #117e4c !default;
|
||||
$u-radio-disabled-background-color:#ebedf0 !default;
|
||||
$u-radio-disabled--checked-color:#c8c9cc !default;
|
||||
$u-radio-label-margin-left: 5px !default;
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
* @property {Boolean} toggle 展开后是否显示收起按钮(默认 false )
|
||||
* @property {String} closeText 关闭时的提示文字(默认 '展开阅读全文' )
|
||||
* @property {String} openText 展开时的提示文字(默认 '收起' )
|
||||
* @property {String} color 提示文字的颜色(默认 '#2979ff' )
|
||||
* @property {String} color 提示文字的颜色(默认 '#117e4c' )
|
||||
* @property {String | Number} fontSize 提示文字的大小,单位px (默认 14 )
|
||||
* @property {Object} shadowStyle 显示阴影的样式
|
||||
* @property {String} textIndent 段落首行缩进的字符个数 (默认 '2em' )
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
* @property {Boolean} loading 是否处于加载中(默认 false )
|
||||
* @property {Boolean} disabled 是否禁用(默认 false )
|
||||
* @property {String | Number} size 开关尺寸,单位px (默认 25 )
|
||||
* @property {String} activeColor 打开时的背景色 (默认 '#2979ff' )
|
||||
* @property {String} activeColor 打开时的背景色 (默认 '#117e4c' )
|
||||
* @property {String} inactiveColor 关闭时的背景色 (默认 '#ffffff' )
|
||||
* @property {Boolean | String | Number} value 通过v-model双向绑定的值 (默认 false )
|
||||
* @property {Boolean | String | Number} activeValue 打开选择器时通过change事件发出的值 (默认 true )
|
||||
|
||||
@@ -19,7 +19,7 @@ export default {
|
||||
],
|
||||
// 颜色部分,本来可以通过scss的:export导出供js使用,但是奈何nvue不支持
|
||||
color: {
|
||||
'u-primary': '#2979ff',
|
||||
'u-primary': '#117e4c',
|
||||
'u-warning': '#ff9900',
|
||||
'u-success': '#19be6b',
|
||||
'u-error': '#fa3534',
|
||||
|
||||
@@ -14,7 +14,7 @@ export default {
|
||||
value: () => [],
|
||||
shape: 'square',
|
||||
disabled: false,
|
||||
activeColor: '#2979ff',
|
||||
activeColor: '#117e4c',
|
||||
inactiveColor: '#c8c9cc',
|
||||
size: 18,
|
||||
placement: 'row',
|
||||
|
||||
@@ -17,7 +17,7 @@ export default {
|
||||
cancelText: '取消',
|
||||
showConfirmButton: true,
|
||||
showCancelButton: false,
|
||||
confirmColor: '#2979ff',
|
||||
confirmColor: '#117e4c',
|
||||
cancelColor: '#606266',
|
||||
buttonReverse: false,
|
||||
zoom: true,
|
||||
|
||||
@@ -13,7 +13,7 @@ export default {
|
||||
value: '',
|
||||
disabled: false,
|
||||
shape: 'circle',
|
||||
activeColor: '#2979ff',
|
||||
activeColor: '#117e4c',
|
||||
inactiveColor: '#c8c9cc',
|
||||
name: '',
|
||||
size: 18,
|
||||
|
||||
@@ -14,7 +14,7 @@ export default {
|
||||
toggle: false,
|
||||
closeText: '展开阅读全文',
|
||||
openText: '收起',
|
||||
color: '#2979ff',
|
||||
color: '#117e4c',
|
||||
fontSize: 14,
|
||||
textIndent: '2em',
|
||||
name: ''
|
||||
|
||||
@@ -15,7 +15,7 @@ export default {
|
||||
min: 0,
|
||||
max: 100,
|
||||
step: 1,
|
||||
activeColor: '#2979ff',
|
||||
activeColor: '#117e4c',
|
||||
inactiveColor: '#c0c4cc',
|
||||
blockColor: '#ffffff',
|
||||
showValue: false,
|
||||
|
||||
@@ -13,7 +13,7 @@ export default {
|
||||
loading: false,
|
||||
disabled: false,
|
||||
size: 25,
|
||||
activeColor: '#2979ff',
|
||||
activeColor: '#117e4c',
|
||||
inactiveColor: '#ffffff',
|
||||
value: false,
|
||||
activeValue: true,
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
12
unpackage/dist/build/app-plus/app-service.js
vendored
12
unpackage/dist/build/app-plus/app-service.js
vendored
File diff suppressed because one or more lines are too long
6
unpackage/dist/build/app-plus/app-view.js
vendored
6
unpackage/dist/build/app-plus/app-view.js
vendored
File diff suppressed because one or more lines are too long
2
unpackage/dist/build/app-plus/pages/component/map/map.js
vendored
Normal file
2
unpackage/dist/build/app-plus/pages/component/map/map.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
10461
unpackage/dist/dev/app-plus/app-service.js
vendored
10461
unpackage/dist/dev/app-plus/app-service.js
vendored
File diff suppressed because one or more lines are too long
11789
unpackage/dist/dev/app-plus/app-view.js
vendored
11789
unpackage/dist/dev/app-plus/app-view.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
BIN
unpackage/dist/dev/app-plus/static/icon/fugou.png
vendored
Normal file
BIN
unpackage/dist/dev/app-plus/static/icon/fugou.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
Reference in New Issue
Block a user