tijiao
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'
|
// import musicPlay from '@/components/music.vue'
|
||||||
// Vue.component('music-play', musicPlay);
|
// 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'
|
import commonList from '@/pages/component/commonComponents/list.vue'
|
||||||
Vue.component('common-list', commonList);
|
Vue.component('common-list', commonList);
|
||||||
import commonVideoAliyun from '@/pages/component/commonComponents/video/AliPlayer.vue'
|
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);
|
Vue.component('common-select-goods', commonSelectGoods);
|
||||||
import commonAdvertisement from '@/pages/component/commonComponents/advertisement.vue'
|
import commonAdvertisement from '@/pages/component/commonComponents/advertisement.vue'
|
||||||
Vue.component('common-advertisement', commonAdvertisement);
|
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'
|
import commonAnchorLink from '@/pages/component/commonComponents/anchorLink.vue'
|
||||||
Vue.component('common-anchor-link', commonAnchorLink);
|
Vue.component('common-anchor-link', commonAnchorLink);
|
||||||
|
|
||||||
|
|||||||
49
pages.json
49
pages.json
@@ -11,7 +11,8 @@
|
|||||||
// "height": "60px"
|
// "height": "60px"
|
||||||
// }
|
// }
|
||||||
// },
|
// },
|
||||||
"pages": [{
|
"pages": [
|
||||||
|
{
|
||||||
"path": "pages/advertisement/index/index",
|
"path": "pages/advertisement/index/index",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "启动页",
|
"navigationBarTitleText": "启动页",
|
||||||
@@ -47,7 +48,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "pages/user/curriculumDetail",
|
"path": "pages/user/curriculumDetail",
|
||||||
"style": {
|
"style": {
|
||||||
@@ -60,12 +60,9 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "pages/mine/wallet/couponList",
|
"path": "pages/mine/wallet/couponList",
|
||||||
"style": {
|
"style": {
|
||||||
|
|
||||||
|
|
||||||
"navigationBarTitleText": "用户优惠券列表",
|
"navigationBarTitleText": "用户优惠券列表",
|
||||||
"enablePullDownRefresh": false, // 禁止下拉刷新,
|
"enablePullDownRefresh": false, // 禁止下拉刷新,
|
||||||
"app-plus": {
|
"app-plus": {
|
||||||
@@ -79,10 +76,8 @@
|
|||||||
"path": "pages/homePage/index/index",
|
"path": "pages/homePage/index/index",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "首页",
|
"navigationBarTitleText": "首页",
|
||||||
|
|
||||||
"enablePullDownRefresh": false,
|
"enablePullDownRefresh": false,
|
||||||
"onReachBottomDistance": 100,
|
"onReachBottomDistance": 100,
|
||||||
|
|
||||||
"app-plus": {
|
"app-plus": {
|
||||||
"bounce": "none",
|
"bounce": "none",
|
||||||
"titleNView": false,
|
"titleNView": false,
|
||||||
@@ -347,7 +342,6 @@
|
|||||||
"path": "pages/curriculum/cate/index",
|
"path": "pages/curriculum/cate/index",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "分类详情",
|
"navigationBarTitleText": "分类详情",
|
||||||
|
|
||||||
"enablePullDownRefresh": true,
|
"enablePullDownRefresh": true,
|
||||||
"onReachBottomDistance": 100,
|
"onReachBottomDistance": 100,
|
||||||
"app-plus": {
|
"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",
|
"path": "pages/curriculum/order/curriculum/index",
|
||||||
"style": {
|
"style": {
|
||||||
@@ -568,12 +586,14 @@
|
|||||||
"navigationBarTitleText": "模版",
|
"navigationBarTitleText": "模版",
|
||||||
"app-plus": {
|
"app-plus": {
|
||||||
"titleNView": {
|
"titleNView": {
|
||||||
"buttons": [{
|
"buttons": [
|
||||||
|
{
|
||||||
"text": "\ue534",
|
"text": "\ue534",
|
||||||
"fontSrc": "/static/uni.ttf",
|
"fontSrc": "/static/uni.ttf",
|
||||||
"fontSize": "22px",
|
"fontSize": "22px",
|
||||||
"color": "#FFFFFF"
|
"color": "#FFFFFF"
|
||||||
}]
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -584,12 +604,14 @@
|
|||||||
"navigationBarTitleText": "扩展组件",
|
"navigationBarTitleText": "扩展组件",
|
||||||
"app-plus": {
|
"app-plus": {
|
||||||
"titleNView": {
|
"titleNView": {
|
||||||
"buttons": [{
|
"buttons": [
|
||||||
|
{
|
||||||
"text": "\ue534",
|
"text": "\ue534",
|
||||||
"fontSrc": "/static/uni.ttf",
|
"fontSrc": "/static/uni.ttf",
|
||||||
"fontSize": "22px",
|
"fontSize": "22px",
|
||||||
"color": "#FFFFFF"
|
"color": "#FFFFFF"
|
||||||
}]
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -920,7 +942,8 @@
|
|||||||
"borderStyle": "black",
|
"borderStyle": "black",
|
||||||
// "backgroundColor": "#ffffff",
|
// "backgroundColor": "#ffffff",
|
||||||
"backgroundColor": "#fff",
|
"backgroundColor": "#fff",
|
||||||
"list": [{
|
"list": [
|
||||||
|
{
|
||||||
"pagePath": "pages/homePage/index/index",
|
"pagePath": "pages/homePage/index/index",
|
||||||
"iconPath": "static/tab/home.png",
|
"iconPath": "static/tab/home.png",
|
||||||
"selectedIconPath": "static/tab/home_active.png",
|
"selectedIconPath": "static/tab/home_active.png",
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
/></view>
|
/></view>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="deliverDetails.length > 0">
|
<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> -->
|
name="name" :list="deliverList" :is-scroll="false" :current="current" @change="tabchange"></u-tabs> -->
|
||||||
<view class="deliverCntent">
|
<view class="deliverCntent">
|
||||||
<view class="">
|
<view class="">
|
||||||
|
|||||||
@@ -174,6 +174,23 @@
|
|||||||
|
|
||||||
<br clear="both" />
|
<br clear="both" />
|
||||||
</view>
|
</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'">
|
<view class="orderContent" v-if="orderContet.orderType == 'vip'">
|
||||||
<image
|
<image
|
||||||
src="/static/icon/vip.png"
|
src="/static/icon/vip.png"
|
||||||
@@ -213,6 +230,7 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="order_item" style="">
|
<view class="order_item" style="">
|
||||||
|
|
||||||
<view class="orderallpri">
|
<view class="orderallpri">
|
||||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||||
>商品总价 :
|
>商品总价 :
|
||||||
@@ -259,12 +277,88 @@
|
|||||||
>- ¥{{ orderContet.vipDiscountAmount }}</span
|
>- ¥{{ orderContet.vipDiscountAmount }}</span
|
||||||
>
|
>
|
||||||
</view>
|
</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 style="color: #666; margin-right: 10rpx; float: left"
|
||||||
>积分 :
|
>积分 :
|
||||||
</span>
|
</span>
|
||||||
<span v-if="orderContet.jfDeduction > 0">-</span> <span>¥</span
|
<span style="color: #fa2d12" v-if="orderContet.jfDeduction > 0"
|
||||||
>{{ orderContet.jfDeduction }}
|
>-</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>
|
||||||
<!-- <view class="orderReal">
|
<!-- <view class="orderReal">
|
||||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||||
@@ -275,14 +369,7 @@
|
|||||||
>
|
>
|
||||||
<b v-else style="color: #dd3c0c"><span>-¥</span>0</b>
|
<b v-else style="color: #dd3c0c"><span>-¥</span>0</b>
|
||||||
</view> -->
|
</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>
|
||||||
<view class="order_item">
|
<view class="order_item">
|
||||||
<view class="orderYunf">
|
<view class="orderYunf">
|
||||||
@@ -327,9 +414,11 @@
|
|||||||
>付款时间 :
|
>付款时间 :
|
||||||
</span>
|
</span>
|
||||||
<text style="font-size: 24rpx; color: #666">{{
|
<text style="font-size: 24rpx; color: #666">{{
|
||||||
orderContet.paymentDate
|
orderContet.paymentDate? orderContet.paymentDate:''
|
||||||
}}</text>
|
}}</text>
|
||||||
</view>
|
</view>
|
||||||
|
<br/>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- <view class="orderReal" v-if="orderContet.orderStatus >= 2 && orderContet.orderStatus != 5">
|
<!-- <view class="orderReal" v-if="orderContet.orderStatus >= 2 && orderContet.orderStatus != 5">
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<view class="container commonPageBox commonDetailPage" style="">
|
||||||
<view
|
|
||||||
class="container commonPageBox commonDetailPage"
|
|
||||||
style=""
|
|
||||||
>
|
|
||||||
<!-- 公共组件-每个页面必须引入 -->
|
<!-- 公共组件-每个页面必须引入 -->
|
||||||
<public-module></public-module>
|
<public-module></public-module>
|
||||||
<z-nav-bar
|
<z-nav-bar
|
||||||
@@ -39,11 +35,7 @@
|
|||||||
<!-- 站位 -->
|
<!-- 站位 -->
|
||||||
|
|
||||||
<!-- <view v-if="ordersListTab == 1"> -->
|
<!-- <view v-if="ordersListTab == 1"> -->
|
||||||
<view
|
<view class="order_box" :style="`height: auto;margin-top: 40px; `" style="margin-bottom: 40px;">
|
||||||
class="order_box"
|
|
||||||
:style="`height: auto;margin-top: 40px; `"
|
|
||||||
style=""
|
|
||||||
>
|
|
||||||
<common-list
|
<common-list
|
||||||
imgUrl="url"
|
imgUrl="url"
|
||||||
indexKey="orderSn"
|
indexKey="orderSn"
|
||||||
@@ -130,7 +122,41 @@
|
|||||||
>
|
>
|
||||||
</view>
|
</view>
|
||||||
</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
|
<view
|
||||||
v-if="slotProps.row.orderType == 'vip'"
|
v-if="slotProps.row.orderType == 'vip'"
|
||||||
class="bookinfolist"
|
class="bookinfolist"
|
||||||
@@ -322,65 +348,33 @@
|
|||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<text style="font-size: 20rpx">¥</text>
|
<!-- <text style="font-size: 20rpx">¥</text> -->
|
||||||
{{
|
<text v-if="slotProps.row.orderType == 'point'">
|
||||||
slotProps.row.realMoney ||
|
{{ slotProps.row.bookBuyConfigEntity.realMoney }}
|
||||||
slotProps.row.realMoney == 0
|
</text>
|
||||||
? slotProps.row.realMoney
|
|
||||||
: ""
|
<template v-if="slotProps.row.realMoney > 0&&slotProps.row.orderType != 'point'">
|
||||||
}}
|
¥{{ slotProps.row.realMoney }}
|
||||||
</view>
|
</template>
|
||||||
</view>
|
<text
|
||||||
</view>
|
style="margin: 0 4rpx"
|
||||||
<view
|
|
||||||
class="btns flexbox"
|
|
||||||
style="
|
|
||||||
margin-top: 0rpx;
|
|
||||||
float: right;
|
|
||||||
width: auto;
|
|
||||||
margin-left: 20rpx;
|
|
||||||
"
|
|
||||||
v-if="
|
v-if="
|
||||||
(slotProps.row.addressId == 0 ||
|
slotProps.row.realMoney > 0 &&
|
||||||
slotProps.row.addressId == null) &&
|
slotProps.row.jfDeduction > 0&&slotProps.row.orderType != 'point'
|
||||||
slotProps.row.orderType == 'order' &&
|
|
||||||
slotProps.row.jfDeduction > 0
|
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<view
|
+
|
||||||
class="right flexbox opbtns"
|
</text>
|
||||||
style="
|
|
||||||
line-height: 44rpx;
|
<text v-if="slotProps.row.jfDeduction > 0&&slotProps.row.orderType != 'point'"
|
||||||
letter-spacing: 1rpx;
|
>{{ slotProps.row.jfDeduction }} 积分</text
|
||||||
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
|
|
||||||
>
|
>
|
||||||
<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>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
<view
|
<view
|
||||||
class="operation_box boxShadow"
|
class="operation_box boxShadow"
|
||||||
@@ -982,7 +976,7 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.getOrderList();
|
this.getOrderList();
|
||||||
},
|
}
|
||||||
);
|
);
|
||||||
} else if (payItem.paymentMethod == 1) {
|
} else if (payItem.paymentMethod == 1) {
|
||||||
console.log("微信支付");
|
console.log("微信支付");
|
||||||
@@ -1282,7 +1276,7 @@ export default {
|
|||||||
//匹配最后一个表情符号并删除11。
|
//匹配最后一个表情符号并删除11。
|
||||||
this.Pform.comment = this.Pform.comment.replace(
|
this.Pform.comment = this.Pform.comment.replace(
|
||||||
/(\[[^\]]+\]|[\s\S])$/,
|
/(\[[^\]]+\]|[\s\S])$/,
|
||||||
"",
|
""
|
||||||
);
|
);
|
||||||
if (this.emoji.length > 0) {
|
if (this.emoji.length > 0) {
|
||||||
this.emoji = this.emoji.slice(0, -1);
|
this.emoji = this.emoji.slice(0, -1);
|
||||||
|
|||||||
@@ -55,7 +55,7 @@
|
|||||||
><uni-easyinput
|
><uni-easyinput
|
||||||
:maxlength="16"
|
:maxlength="16"
|
||||||
:style="{
|
:style="{
|
||||||
borderColor: '#2979FF',
|
borderColor: '#117e4c',
|
||||||
}"
|
}"
|
||||||
v-model="addForm.consigneeName"
|
v-model="addForm.consigneeName"
|
||||||
placeholder="请输入收件人姓名"
|
placeholder="请输入收件人姓名"
|
||||||
|
|||||||
@@ -146,7 +146,8 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.titleItem {
|
.titleItem {
|
||||||
width: calc(100% );
|
width: calc(100%) !important;
|
||||||
|
// display: block !important;
|
||||||
justify-content: space-between;
|
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">
|
<template slot="labelSlot" slot-scope="slotProps">
|
||||||
<!-- isSelectGoods -->
|
<!-- isSelectGoods -->
|
||||||
<view
|
<view
|
||||||
|
style="width: 100%;"
|
||||||
class="related_courses_name"
|
class="related_courses_name"
|
||||||
:class="`goods_item ${
|
:class="`goods_item ${
|
||||||
|
(!isFudu &&
|
||||||
selectGoodsData &&
|
selectGoodsData &&
|
||||||
selectGoodsData.productId == slotProps.row.productId
|
selectGoodsData.productId == slotProps.row.productId) ||
|
||||||
|
(isFudu &&
|
||||||
|
selectGoodsData.productName == slotProps.row.productName)
|
||||||
? 'isSelectGoods color_shandow'
|
? 'isSelectGoods color_shandow'
|
||||||
: ''
|
: ''
|
||||||
}`"
|
}`"
|
||||||
@@ -98,7 +102,7 @@
|
|||||||
<view class="" style="align-items: center">
|
<view class="" style="align-items: center">
|
||||||
<!-- <text style="color: #999; text-decoration: line-through; margin-right: 20rpx;"
|
<!-- <text style="color: #999; text-decoration: line-through; margin-right: 20rpx;"
|
||||||
v-if="slotProps.row.activityPrice > 0 && slotProps.row.activityPrice < slotProps.row.price" >¥{{slotProps.row.price}}</text>
|
v-if="slotProps.row.activityPrice > 0 && slotProps.row.activityPrice < slotProps.row.price" >¥{{slotProps.row.price}}</text>
|
||||||
<view class="price" style="color: #258feb"
|
<view class="price" style="color: #3AB3AE "
|
||||||
>¥{{ slotProps.row.activityPrice?slotProps.row.activityPrice:slotProps.row.price }}</view
|
>¥{{ slotProps.row.activityPrice?slotProps.row.activityPrice:slotProps.row.price }}</view
|
||||||
></view
|
></view
|
||||||
> -->
|
> -->
|
||||||
@@ -163,7 +167,8 @@ export default {
|
|||||||
"isScroll",
|
"isScroll",
|
||||||
"selectGoodsData",
|
"selectGoodsData",
|
||||||
"customButtonGroup1",
|
"customButtonGroup1",
|
||||||
"buyOptions",
|
"buyOptions", "isFudu", // 是否复读
|
||||||
|
"type", // 页面类型
|
||||||
],
|
],
|
||||||
data() {
|
data() {
|
||||||
return {
|
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;
|
color: #fff;
|
||||||
padding: 0 12rpx;
|
padding: 0 12rpx;
|
||||||
border-radius: 15rpx;
|
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{
|
.vip_item_special .vip_item_title{
|
||||||
height: 50rpx;
|
height: 50rpx;
|
||||||
@@ -190,7 +190,7 @@ export default{
|
|||||||
}
|
}
|
||||||
.line{
|
.line{
|
||||||
text-decoration: line-through;
|
text-decoration: line-through;
|
||||||
color: #258feb;
|
color: #3AB3AE ;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
.vip_item_flag{
|
.vip_item_flag{
|
||||||
|
|||||||
@@ -781,6 +781,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.titleItem {
|
.titleItem {
|
||||||
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -139,7 +139,7 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="right">
|
<view class="right">
|
||||||
<u-icon
|
<!-- <u-icon
|
||||||
v-if="
|
v-if="
|
||||||
userVip == null &&
|
userVip == null &&
|
||||||
slotProps.data.type != 0 &&
|
slotProps.data.type != 0 &&
|
||||||
@@ -151,7 +151,7 @@
|
|||||||
color="#FF2B57"
|
color="#FF2B57"
|
||||||
size="30"
|
size="30"
|
||||||
style="display: inline-block; margin-left: 10rpx"
|
style="display: inline-block; margin-left: 10rpx"
|
||||||
></u-icon>
|
></u-icon> -->
|
||||||
|
|
||||||
<text
|
<text
|
||||||
v-if="
|
v-if="
|
||||||
@@ -168,9 +168,51 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template slot="contentList" slot-scope="slotProps">
|
<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="containerBg2">
|
||||||
<view class="shiting_content">
|
<view class="shiting_content">
|
||||||
<view class="catalogueList">
|
<view class="catalogueList">
|
||||||
@@ -217,7 +259,7 @@
|
|||||||
slotProps1.row.isAudition == 0
|
slotProps1.row.isAudition == 0
|
||||||
"
|
"
|
||||||
name="lock"
|
name="lock"
|
||||||
color="#258feb"
|
color="#3AB3AE "
|
||||||
size="24"
|
size="24"
|
||||||
></u-icon>
|
></u-icon>
|
||||||
</view>
|
</view>
|
||||||
@@ -229,7 +271,7 @@
|
|||||||
slotProps.data.isBuy == 0
|
slotProps.data.isBuy == 0
|
||||||
"
|
"
|
||||||
name="lock"
|
name="lock"
|
||||||
color="#258feb"
|
color="#3AB3AE "
|
||||||
size="24"
|
size="24"
|
||||||
></u-icon>
|
></u-icon>
|
||||||
</view>
|
</view>
|
||||||
@@ -276,6 +318,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</common-anchor-link>
|
</common-anchor-link>
|
||||||
<common-select-goods
|
<common-select-goods
|
||||||
|
:isFudu="isFudu"
|
||||||
ref="commonSelectGoods"
|
ref="commonSelectGoods"
|
||||||
:selectGoodsData="selectGoodsData"
|
:selectGoodsData="selectGoodsData"
|
||||||
:goodsList="goodsList"
|
:goodsList="goodsList"
|
||||||
@@ -345,6 +388,10 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
fuduId:null,
|
||||||
|
isFudu:false,
|
||||||
|
|
||||||
|
showNewPayBtn: [],
|
||||||
isHideCourseInfo: false,
|
isHideCourseInfo: false,
|
||||||
courseList: [],
|
courseList: [],
|
||||||
showGoBuy: true,
|
showGoBuy: true,
|
||||||
@@ -427,6 +474,8 @@ export default {
|
|||||||
list: "sociology/course/getCourseDetail",
|
list: "sociology/course/getCourseDetail",
|
||||||
goodsList: "sociology/product/getProductListForCourse",
|
goodsList: "sociology/product/getProductListForCourse",
|
||||||
startStudyForMF: "sociology/course/startStudyForMF",
|
startStudyForMF: "sociology/course/startStudyForMF",
|
||||||
|
newPayment:"common/courseRelearn/courseCatalogueCanRelearn", // 检查复读地址
|
||||||
|
newPaymentList:"common/courseRelearn/relearnShopProductList", // 获取复读列表
|
||||||
},
|
},
|
||||||
userVip: null, //是否有vip
|
userVip: null, //是否有vip
|
||||||
textList: [], //转化文字集合
|
textList: [], //转化文字集合
|
||||||
@@ -458,7 +507,87 @@ export default {
|
|||||||
this.getCourseDescriptionData();
|
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() {
|
handleClickGetVip() {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
@@ -585,6 +714,8 @@ export default {
|
|||||||
navTitle: this.options.navTitle,
|
navTitle: this.options.navTitle,
|
||||||
title: this.options.title,
|
title: this.options.title,
|
||||||
sourceType: "curriculum",
|
sourceType: "curriculum",
|
||||||
|
isFudu: this.isFudu,
|
||||||
|
fuduId: this.fuduId
|
||||||
}); // 这里转换成 字符串
|
}); // 这里转换成 字符串
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/goods/order/index?data=${mynavData}`,
|
url: `/pages/goods/order/index?data=${mynavData}`,
|
||||||
@@ -618,6 +749,11 @@ export default {
|
|||||||
}
|
}
|
||||||
this.$forceUpdate();
|
this.$forceUpdate();
|
||||||
});
|
});
|
||||||
|
this.$nextTick(() => {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.getCourseDescriptionData();
|
||||||
|
}, 500);
|
||||||
|
});
|
||||||
} else if (v.type == 2 && this.userVip == null) {
|
} else if (v.type == 2 && this.userVip == null) {
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
title: "提示",
|
title: "提示",
|
||||||
@@ -628,11 +764,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.getProductListForCourse(v);
|
this.getProductListForCourse(v);
|
||||||
}
|
}
|
||||||
this.$nextTick(() => {
|
|
||||||
setTimeout(() => {
|
|
||||||
this.getCourseDescriptionData();
|
|
||||||
}, 500);
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
getProductListForCourse(v) {
|
getProductListForCourse(v) {
|
||||||
@@ -799,8 +931,16 @@ export default {
|
|||||||
that.curriculumData = res.data.course;
|
that.curriculumData = res.data.course;
|
||||||
that.cateList = [...res.data.catalogues];
|
that.cateList = [...res.data.catalogues];
|
||||||
for (let i = 0; i < that.cateList.length; i++) {
|
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]);
|
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.allDataList[i] = {
|
||||||
...that.cateList[i],
|
...that.cateList[i],
|
||||||
courseList: [...list],
|
courseList: [...list],
|
||||||
@@ -812,6 +952,10 @@ export default {
|
|||||||
}, 200);
|
}, 200);
|
||||||
this.$forceUpdate();
|
this.$forceUpdate();
|
||||||
});
|
});
|
||||||
|
}, onPageJump(url, id) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `${url}?id=${id}`,
|
||||||
|
});
|
||||||
},
|
},
|
||||||
getPriceData() {
|
getPriceData() {
|
||||||
var that = this;
|
var that = this;
|
||||||
@@ -1667,7 +1811,7 @@ export default {
|
|||||||
|
|
||||||
.describe_block {
|
.describe_block {
|
||||||
padding: 15rpx 20rpx;
|
padding: 15rpx 20rpx;
|
||||||
background: linear-gradient(90deg, #258feb 0%, #00e1ec 100%);
|
background: linear-gradient(90deg, #3ab3ae 0%, #00e1ec 100%);
|
||||||
position: fixed;
|
position: fixed;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -1691,5 +1835,26 @@ export default {
|
|||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
line-height: 50rpx;
|
line-height: 50rpx;
|
||||||
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>
|
</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: "我的课程",
|
name: "我的课程",
|
||||||
url: "/pages/curriculum/order/index/index",
|
url: "/pages/course/myCourse",
|
||||||
// url: "",
|
// url: "",
|
||||||
imgUrl: require("@/static/icon/homePage/wdkc.png"),
|
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">
|
<template slot="rightSlot" slot-scope="slotProps">
|
||||||
<text
|
<text
|
||||||
class="fdButtonBox aui-text-success"
|
class="fdButtonBox aui-text-success"
|
||||||
style="line-height: 40rpx"
|
v-if="slotProps.row.contentType&&slotProps.row.contentType == 'hufen'&&hufenNumber>0"
|
||||||
>{{ slotProps.row.content }}</text
|
style="line-height: 40rpx; font-size: 40rpx;color: #3AB3AE;float: right;"
|
||||||
|
>{{ hufenNumber }}<text style="font-size: 30rpx;margin-left: 4rpx;">湖分</text></text
|
||||||
>
|
>
|
||||||
|
|
||||||
<view> </view>
|
<view> </view>
|
||||||
</template>
|
</template>
|
||||||
</common-list>
|
</common-list>
|
||||||
@@ -316,7 +316,7 @@ import $http from "@/config/requestConfig.js";
|
|||||||
import { mapState, mapMutations } from "vuex";
|
import { mapState, mapMutations } from "vuex";
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {hufenNumber: 0,
|
||||||
userCouponNum: 0,
|
userCouponNum: 0,
|
||||||
come: "1",
|
come: "1",
|
||||||
orderList: [
|
orderList: [
|
||||||
@@ -384,6 +384,10 @@ export default {
|
|||||||
url: "/pages/bookShop/orderList?type=mine",
|
url: "/pages/bookShop/orderList?type=mine",
|
||||||
|
|
||||||
type: "switchTab",
|
type: "switchTab",
|
||||||
|
},{
|
||||||
|
name: "我的湖分",
|
||||||
|
url: "/pages/hufen/hufen",
|
||||||
|
type: "pageJump", contentType: "hufen",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "个人资料",
|
name: "个人资料",
|
||||||
@@ -430,6 +434,7 @@ export default {
|
|||||||
onShow() {
|
onShow() {
|
||||||
this.getBookList();
|
this.getBookList();
|
||||||
this.getData();
|
this.getData();
|
||||||
|
this.gethufenData();
|
||||||
//获取vip身份
|
//获取vip身份
|
||||||
this.textList = [];
|
this.textList = [];
|
||||||
this.getUserVipType();
|
this.getUserVipType();
|
||||||
@@ -443,7 +448,20 @@ export default {
|
|||||||
},
|
},
|
||||||
//方法
|
//方法
|
||||||
methods: {
|
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() {
|
async getUserCouponList() {
|
||||||
await this.$http
|
await this.$http
|
||||||
.request({
|
.request({
|
||||||
@@ -1432,7 +1450,7 @@ uni-page-body {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
padding: 0 10rpx;
|
padding: 0 10rpx;
|
||||||
background: linear-gradient(90deg, #258feb 0%, #00e1ec 100%);
|
background: linear-gradient(90deg, #3AB3AE 0%, #00e1ec 100%);
|
||||||
border-radius: 20rpx;
|
border-radius: 20rpx;
|
||||||
font-size: 18rpx;
|
font-size: 18rpx;
|
||||||
line-height: 40rpx;
|
line-height: 40rpx;
|
||||||
|
|||||||
@@ -736,7 +736,7 @@ export default {
|
|||||||
//console.log('中等密码-----',value)
|
//console.log('中等密码-----',value)
|
||||||
this.passNote =
|
this.passNote =
|
||||||
"请至少使用大小写字母、数字、符号两种类型组合的密码,长度为8位。";
|
"请至少使用大小写字母、数字、符号两种类型组合的密码,长度为8位。";
|
||||||
this.passStr = "<span style='color:#2979ff'>密码强度中等!</span>";
|
this.passStr = "<span style='color:#117e4c'>密码强度中等!</span>";
|
||||||
this.passwordOk = true;
|
this.passwordOk = true;
|
||||||
} else if (enoughRegex.test(value)) {
|
} else if (enoughRegex.test(value)) {
|
||||||
//console.log('弱密码-----',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>
|
<template>
|
||||||
|
|
||||||
<view class="commonPageBox">
|
<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_block">
|
||||||
<view
|
<view
|
||||||
class="vip_item"
|
class="vip_item"
|
||||||
@@ -22,7 +21,9 @@
|
|||||||
<view>
|
<view>
|
||||||
<text class="vip_item_title">{{ item.title }}</text>
|
<text class="vip_item_title">{{ item.title }}</text>
|
||||||
<text class="vip_item_tip" v-if="item.tip && item.tip < 100"
|
<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">
|
<text class="vip_item_flag" v-if="item.state == 1">
|
||||||
<uni-icons type="info" size="17" color="#999"></uni-icons>已过期
|
<uni-icons type="info" size="17" color="#999"></uni-icons>已过期
|
||||||
@@ -31,16 +32,19 @@
|
|||||||
|
|
||||||
<view class="vip_price" style="padding-top: 10rpx">
|
<view class="vip_price" style="padding-top: 10rpx">
|
||||||
<text class="font_bold">课程价格:</text>
|
<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>
|
||||||
<view v-if="$platform != 'ios'">
|
<view v-if="$platform != 'ios'">
|
||||||
<text
|
<text
|
||||||
class="vip_item_btn"
|
class="vip_item_btn"
|
||||||
v-if="item.state == null"
|
v-if="item.state == null"
|
||||||
@click="openorderModal(item, 0)"
|
@click="openorderModal(item)"
|
||||||
>去办理</text
|
>去办理</text
|
||||||
>
|
>
|
||||||
<text class="vip_item_btn" v-else @click="openorderModal(item, 0)"
|
<text class="vip_item_btn" v-else @click="openorderModal(item)"
|
||||||
>去续费</text
|
>去续费</text
|
||||||
>
|
>
|
||||||
</view>
|
</view>
|
||||||
@@ -54,7 +58,7 @@
|
|||||||
class="vip_price_v"
|
class="vip_price_v"
|
||||||
v-for="(item_price, index_price) in item.vcbList"
|
v-for="(item_price, index_price) in item.vcbList"
|
||||||
:key="index_price"
|
:key="index_price"
|
||||||
@click="openorderModal(item_price)"
|
@click="openorderModal(item, index_price)"
|
||||||
>
|
>
|
||||||
{{ item_price.year }}年<text>{{ item_price.rebateFee }}</text
|
{{ item_price.year }}年<text>{{ item_price.rebateFee }}</text
|
||||||
>元
|
>元
|
||||||
@@ -69,14 +73,20 @@
|
|||||||
class="vip_price_v"
|
class="vip_price_v"
|
||||||
v-for="(item_yq, index_yq) in item.yanqiList"
|
v-for="(item_yq, index_yq) in item.yanqiList"
|
||||||
:key="index_yq"
|
:key="index_yq"
|
||||||
@click="openorderModal(item_yq, 1)"
|
@click="openorderModal({ state: item.state, ...item }, index_yq)"
|
||||||
>
|
>
|
||||||
{{ item_yq.year }}年<text>{{ item_yq.rebateFee }}</text
|
{{ item_yq.year }}年<text>{{ item_yq.rebateFee }}</text
|
||||||
>元
|
>元
|
||||||
</text>
|
</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="vip_qx">
|
<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"
|
<view class="vip_qx_v" v-if="item.type == 1"
|
||||||
>无限制观看吴门医述APP中医学、中西汇通学、针灸学、肿瘤学四个板块任意课程;</view
|
>无限制观看吴门医述APP中医学、中西汇通学、针灸学、肿瘤学四个板块任意课程;</view
|
||||||
>
|
>
|
||||||
@@ -101,33 +111,39 @@
|
|||||||
class="vip_fee"
|
class="vip_fee"
|
||||||
v-if="item.type == 1 || item.type == 2"
|
v-if="item.type == 1 || item.type == 2"
|
||||||
>8折</text
|
>8折</text
|
||||||
><text class="vip_fee" v-else>9折</text>优惠
|
><text class="vip_fee" v-else>9折</text>优惠;
|
||||||
</view>
|
</view>
|
||||||
<view class="vip_qx_v"
|
<view class="vip_qx_v"
|
||||||
>疯子读书APP购书享受<text
|
>疯子读书APP购书享受<text
|
||||||
class="vip_fee"
|
class="vip_fee"
|
||||||
v-if="item.type == 1 || item.type == 2"
|
v-if="item.type == 1 || item.type == 2"
|
||||||
>8折</text
|
>8折</text
|
||||||
><text class="vip_fee" v-else>9折</text>优惠</view
|
><text class="vip_fee" v-else>9折</text>优惠。</view
|
||||||
>
|
>
|
||||||
</view>
|
</view>
|
||||||
</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">
|
<u-popup :show="orderModalShow" mode="bottom" :round="20">
|
||||||
<view class="orderModalShow popup_box">
|
<view class="orderModalShow popup_box">
|
||||||
<u-icon
|
<!-- <u-icon name="close" color="#333" size="18" @click="closeOrderModalShow" style="
|
||||||
name="close"
|
|
||||||
color="#333"
|
|
||||||
size="18"
|
|
||||||
@click="closeOrderModalShow"
|
|
||||||
style="
|
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 20rpx;
|
right: 20rpx;
|
||||||
top: 20rpx;
|
top: 20rpx;
|
||||||
"
|
"></u-icon> -->
|
||||||
></u-icon>
|
|
||||||
<orderPay ref="orderPay" :dataInfo="selectVipData"></orderPay>
|
<orderPay ref="orderPay" :dataInfo="selectVipData"></orderPay>
|
||||||
</view>
|
</view>
|
||||||
</u-popup>
|
</u-popup>
|
||||||
@@ -143,6 +159,17 @@ export default {
|
|||||||
type: 0,
|
type: 0,
|
||||||
text: "", //针对不同type展示文案
|
text: "", //针对不同type展示文案
|
||||||
list: [],
|
list: [],
|
||||||
|
buyOptions: [],
|
||||||
|
customButtonGroup1: [
|
||||||
|
{
|
||||||
|
with: 200,
|
||||||
|
text: "立即购买",
|
||||||
|
backgroundColor: "linear-gradient(90deg, #3AB3AE 0%,#3AB3AE 100%)",
|
||||||
|
color: "#fff",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
goodsList: [],
|
||||||
|
selectGoodsData: {},
|
||||||
orderModalShow: false,
|
orderModalShow: false,
|
||||||
selectVipData: {},
|
selectVipData: {},
|
||||||
};
|
};
|
||||||
@@ -155,6 +182,27 @@ export default {
|
|||||||
},
|
},
|
||||||
onShow() {},
|
onShow() {},
|
||||||
methods: {
|
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() {
|
getData() {
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
@@ -179,37 +227,40 @@ export default {
|
|||||||
},
|
},
|
||||||
//点击购买
|
//点击购买
|
||||||
openorderModal(item, type) {
|
openorderModal(item, type) {
|
||||||
if(this.$platform=='ios'){
|
console.log("item at line 120:", item);
|
||||||
return false
|
if (this.$platform == "ios") {
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
let text = "";
|
let text = "";
|
||||||
//如果是右侧按钮点击展示
|
//如果是右侧按钮点击展示
|
||||||
//判断点击类型是vip价格还是延期价格
|
//判断点击类型是vip价格还是延期价格
|
||||||
if (type == 0) {
|
|
||||||
if (item.state == null) {
|
if (item.state == null) {
|
||||||
//没有vip
|
//没有vip
|
||||||
this.selectVipData.list = item.vcbList;
|
this.selectVipData.list = item.vcbList;
|
||||||
this.selectVipData.id = item.vcbList[0].id;
|
// this.selectVipData.id = item.vcbList[0].id;
|
||||||
} else {
|
} else {
|
||||||
this.selectVipData.list = item.yanqiList;
|
this.selectVipData.list = item.yanqiList;
|
||||||
this.selectVipData.id = item.yanqiList[0].id;
|
// 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.title = item.title + "-" + item.year + "年";
|
||||||
this.selectVipData.lastFee = item.rebateFee;
|
this.selectVipData.lastFee = item.rebateFee;
|
||||||
|
this.selectVipData.state = item.state;
|
||||||
|
|
||||||
this.orderModalShow = true;
|
this.goodsList = this.selectVipData.list.map((e) => {
|
||||||
console.log("-----selectVipData-----", this.selectVipData);
|
return { ...e };
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.orderPay.initPrepareOrder();
|
|
||||||
});
|
});
|
||||||
|
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() {
|
closeOrderModalShow() {
|
||||||
@@ -245,7 +296,7 @@ export default {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
padding: 0 12rpx;
|
padding: 0 12rpx;
|
||||||
border-radius: 15rpx;
|
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 {
|
.vip_item_special .vip_item_title {
|
||||||
height: 50rpx;
|
height: 50rpx;
|
||||||
@@ -312,7 +363,7 @@ export default {
|
|||||||
}
|
}
|
||||||
.line {
|
.line {
|
||||||
text-decoration: line-through;
|
text-decoration: line-through;
|
||||||
color: #258feb;
|
color: #3AB3AE;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
.vip_item_flag {
|
.vip_item_flag {
|
||||||
|
|||||||
@@ -285,8 +285,8 @@ export default {
|
|||||||
detailInfo: {},
|
detailInfo: {},
|
||||||
fdButtonStyle: {
|
fdButtonStyle: {
|
||||||
width: "90rpx",
|
width: "90rpx",
|
||||||
"border-color": "#258feb",
|
"border-color": "#3AB3AE ",
|
||||||
color: "#258feb",
|
color: "#3AB3AE ",
|
||||||
float: "right",
|
float: "right",
|
||||||
"margin-right": "20rpx",
|
"margin-right": "20rpx",
|
||||||
"margin-left": "30rpx",
|
"margin-left": "30rpx",
|
||||||
@@ -511,6 +511,14 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let data = {
|
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虚拟币
|
paymentMethod: this.payType, //1微信2支付宝3苹果支付4虚拟币
|
||||||
orderMoney: this.dataInfo.lastFee, //订单金额
|
orderMoney: this.dataInfo.lastFee, //订单金额
|
||||||
realMoney: this.dataInfo.lastFee, //实际金额
|
realMoney: this.dataInfo.lastFee, //实际金额
|
||||||
@@ -536,7 +544,10 @@ export default {
|
|||||||
icon: "none",
|
icon: "none",
|
||||||
image: "../../../static/icon/ic_close.png",
|
image: "../../../static/icon/ic_close.png",
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (that.payType == 2) {
|
if (that.payType == 2) {
|
||||||
// 常规支付
|
// 常规支付
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
@@ -575,7 +586,7 @@ export default {
|
|||||||
});
|
});
|
||||||
}, 0);
|
}, 0);
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
);
|
);
|
||||||
} else if (this.payType == 1) {
|
} else if (this.payType == 1) {
|
||||||
// 微信支付
|
// 微信支付
|
||||||
@@ -611,6 +622,7 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else if (this.payType == 4) {
|
} else if (this.payType == 4) {
|
||||||
|
console.log('4 at line 624:', 4)
|
||||||
// 天医币支付
|
// 天医币支付
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "购买成功",
|
title: "购买成功",
|
||||||
@@ -623,7 +635,6 @@ export default {
|
|||||||
}, 1000);
|
}, 1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
//切换年份选项
|
//切换年份选项
|
||||||
@@ -1171,7 +1182,7 @@ export default {
|
|||||||
border-color: #e6e6e6;
|
border-color: #e6e6e6;
|
||||||
border-left-color: transparent;
|
border-left-color: transparent;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
// background-color: #258feb;
|
// background-color: #3AB3AE ;
|
||||||
|
|
||||||
border-top-right-radius: 10rpx;
|
border-top-right-radius: 10rpx;
|
||||||
border-bottom-right-radius: 10rpx;
|
border-bottom-right-radius: 10rpx;
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
label="orderType"
|
label="orderType"
|
||||||
>
|
>
|
||||||
<template slot="labelSlot" slot-scope="slotProps" >
|
<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="left">
|
||||||
<view class="title">{{ slotProps.row.orderType }}</view>
|
<view class="title">{{ slotProps.row.orderType }}</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -247,7 +247,13 @@ export default {
|
|||||||
musicPlay,
|
musicPlay,
|
||||||
},
|
},
|
||||||
//方法
|
//方法
|
||||||
methods: {
|
methods: { goClick(id){
|
||||||
|
uni.navigateTo({
|
||||||
|
url: "/pages/bookShop/orderLCont?orderId=" +
|
||||||
|
id
|
||||||
|
|
||||||
|
});
|
||||||
|
},
|
||||||
// 获取
|
// 获取
|
||||||
getData() {
|
getData() {
|
||||||
var data = {
|
var data = {
|
||||||
@@ -400,7 +406,7 @@ export default {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
.left {
|
.left {
|
||||||
width: calc(100% - 120rpx) !important;
|
width: calc(100% - 200rpx) !important;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
float: left;
|
float: left;
|
||||||
color: #333;
|
color: #333;
|
||||||
@@ -431,13 +437,14 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.AC_mark {
|
.AC_mark {width: 100%;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
margin-top: 10rpx;
|
margin-top: 10rpx;
|
||||||
margin-bottom: 15rpx;
|
margin-bottom: 15rpx;
|
||||||
// white-space: nowrap;
|
// white-space: nowrap;
|
||||||
color: #343434;
|
color: #343434;
|
||||||
float: left;
|
float: left;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.AC_time {
|
.AC_time {
|
||||||
|
|||||||
@@ -305,7 +305,7 @@ export default {
|
|||||||
// console.log('中等密码-----',value)
|
// console.log('中等密码-----',value)
|
||||||
this.note =
|
this.note =
|
||||||
"请至少使用大小写字母、数字、符号两种类型组合的密码,长度为8位。";
|
"请至少使用大小写字母、数字、符号两种类型组合的密码,长度为8位。";
|
||||||
this.str2 = "<span style='color:#2979ff'>密码强度中等!</span>";
|
this.str2 = "<span style='color:#117e4c'>密码强度中等!</span>";
|
||||||
this.passwordOk = true;
|
this.passwordOk = true;
|
||||||
} else if (enoughRegex.test(value)) {
|
} else if (enoughRegex.test(value)) {
|
||||||
// console.log('弱密码-----',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;
|
$themeColor: #3AB3AE;
|
||||||
$themeBgColor: #EDF6F5 !important;
|
$themeBgColor: #EDF6F5 !important;
|
||||||
|
$containerColor: #f4f7ff;
|
||||||
|
$imgBg: #edf3ff;
|
||||||
@keyframes example1 {
|
@keyframes example1 {
|
||||||
0% {
|
0% {
|
||||||
transform: translate(-100px);
|
transform: translate(-100px);
|
||||||
@@ -19,7 +20,14 @@ $themeBgColor: #EDF6F5 !important;
|
|||||||
// opacity: 1;
|
// 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: '') {
|
@mixin theme($type, $path: '') {
|
||||||
@if $type =="btn_bg" {
|
@if $type =="btn_bg" {
|
||||||
background-image: linear-gradient(90deg, #3AB3AE 0%, #117e4c 100%);
|
background-image: linear-gradient(90deg, #3AB3AE 0%, #117e4c 100%);
|
||||||
@@ -49,7 +57,10 @@ $themeBgColor: #EDF6F5 !important;
|
|||||||
background-clip: content-box, border-box;
|
background-clip: content-box, border-box;
|
||||||
border-radius: $radiusSize;
|
border-radius: $radiusSize;
|
||||||
}
|
}
|
||||||
|
@mixin ptop_bottm($p) {
|
||||||
|
padding-bottom:$p ;
|
||||||
|
padding-top: $p;
|
||||||
|
}
|
||||||
@mixin themFlex($align,$justify1) {
|
@mixin themFlex($align,$justify1) {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items:$align;
|
align-items:$align;
|
||||||
|
|||||||
@@ -158,7 +158,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" >
|
<style lang="scss" >
|
||||||
$uni-primary: #2979ff !default;
|
$uni-primary: #117e4c !default;
|
||||||
$uni-success: #4cd964 !default;
|
$uni-success: #4cd964 !default;
|
||||||
$uni-warning: #f0ad4e !default;
|
$uni-warning: #f0ad4e !default;
|
||||||
$uni-error: #dd524d !default;
|
$uni-error: #dd524d !default;
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
$uni-primary: #2979ff !default;
|
$uni-primary: #117e4c !default;
|
||||||
$uni-base-color: #6a6a6a !default;
|
$uni-base-color: #6a6a6a !default;
|
||||||
$uni-main-color: #3a3a3a !default;
|
$uni-main-color: #3a3a3a !default;
|
||||||
.uni-breadcrumb-item {
|
.uni-breadcrumb-item {
|
||||||
|
|||||||
@@ -102,7 +102,7 @@
|
|||||||
$uni-color-error: #e43d33;
|
$uni-color-error: #e43d33;
|
||||||
$uni-opacity-disabled: 0.3;
|
$uni-opacity-disabled: 0.3;
|
||||||
$uni-text-color-disable:#c0c0c0;
|
$uni-text-color-disable:#c0c0c0;
|
||||||
$uni-primary: #2979ff !default;
|
$uni-primary: #117e4c !default;
|
||||||
.uni-calendar-item__weeks-box {
|
.uni-calendar-item__weeks-box {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
/* #ifndef APP-NVUE */
|
/* #ifndef APP-NVUE */
|
||||||
|
|||||||
@@ -179,7 +179,7 @@
|
|||||||
},
|
},
|
||||||
isLocal:true,
|
isLocal:true,
|
||||||
styles: {
|
styles: {
|
||||||
selectedColor: '#2979ff',
|
selectedColor: '#117e4c',
|
||||||
selectedTextColor: '#666',
|
selectedTextColor: '#666',
|
||||||
},
|
},
|
||||||
isTop:0
|
isTop:0
|
||||||
@@ -383,7 +383,7 @@
|
|||||||
*/
|
*/
|
||||||
setStyleBackgroud(item) {
|
setStyleBackgroud(item) {
|
||||||
let styles = {}
|
let styles = {}
|
||||||
let selectedColor = this.selectedColor?this.selectedColor:'#2979ff'
|
let selectedColor = this.selectedColor?this.selectedColor:'#117e4c'
|
||||||
if (this.selectedColor) {
|
if (this.selectedColor) {
|
||||||
if (this.mode !== 'list') {
|
if (this.mode !== 'list') {
|
||||||
styles['border-color'] = item.selected?selectedColor:'#DCDFE6'
|
styles['border-color'] = item.selected?selectedColor:'#DCDFE6'
|
||||||
@@ -402,7 +402,7 @@
|
|||||||
let styles = {}
|
let styles = {}
|
||||||
let classles = ''
|
let classles = ''
|
||||||
if (this.selectedColor) {
|
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['background-color'] = item.selected?selectedColor:'#fff'
|
||||||
styles['border-color'] = item.selected?selectedColor:'#DCDFE6'
|
styles['border-color'] = item.selected?selectedColor:'#DCDFE6'
|
||||||
|
|
||||||
@@ -420,7 +420,7 @@
|
|||||||
let styles = {}
|
let styles = {}
|
||||||
let classles = ''
|
let classles = ''
|
||||||
if (this.selectedColor) {
|
if (this.selectedColor) {
|
||||||
let selectedColor = this.selectedColor?this.selectedColor:'#2979ff'
|
let selectedColor = this.selectedColor?this.selectedColor:'#117e4c'
|
||||||
if (this.mode === 'tag') {
|
if (this.mode === 'tag') {
|
||||||
styles.color = item.selected?(this.selectedTextColor?this.selectedTextColor:'#fff'):'#666'
|
styles.color = item.selected?(this.selectedTextColor?this.selectedTextColor:'#fff'):'#666'
|
||||||
} else {
|
} else {
|
||||||
@@ -452,7 +452,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
$uni-primary: #2979ff !default;
|
$uni-primary: #117e4c !default;
|
||||||
$border-color: #DCDFE6;
|
$border-color: #DCDFE6;
|
||||||
$disable:0.4;
|
$disable:0.4;
|
||||||
|
|
||||||
|
|||||||
@@ -294,7 +294,7 @@
|
|||||||
.uni-stat__actived {
|
.uni-stat__actived {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
// outline: 1px solid #2979ff;
|
// outline: 1px solid #117e4c;
|
||||||
}
|
}
|
||||||
|
|
||||||
.uni-label-text {
|
.uni-label-text {
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
* @property {Number } clearSize 清除图标的大小,单位px(默认15)
|
* @property {Number } clearSize 清除图标的大小,单位px(默认15)
|
||||||
* @property {String} prefixIcon 输入框头部图标
|
* @property {String} prefixIcon 输入框头部图标
|
||||||
* @property {String} suffixIcon 输入框尾部图标
|
* @property {String} suffixIcon 输入框尾部图标
|
||||||
* @property {String} primaryColor 设置主题色(默认#2979ff)
|
* @property {String} primaryColor 设置主题色(默认#117e4c)
|
||||||
* @property {Boolean} trim 是否自动去除两端的空格
|
* @property {Boolean} trim 是否自动去除两端的空格
|
||||||
* @value both 去除两端空格
|
* @value both 去除两端空格
|
||||||
* @value left 去除左侧空格
|
* @value left 去除左侧空格
|
||||||
@@ -180,7 +180,7 @@
|
|||||||
},
|
},
|
||||||
primaryColor: {
|
primaryColor: {
|
||||||
type: String,
|
type: String,
|
||||||
default: '#2979ff'
|
default: '#117e4c'
|
||||||
},
|
},
|
||||||
styles: {
|
styles: {
|
||||||
type: Object,
|
type: Object,
|
||||||
|
|||||||
@@ -309,7 +309,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
$uni-primary: #2979ff !default;
|
$uni-primary: #117e4c !default;
|
||||||
.uni-pagination {
|
.uni-pagination {
|
||||||
/* #ifndef APP-NVUE */
|
/* #ifndef APP-NVUE */
|
||||||
display: flex;
|
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-disable:lighten($uni-primary,20%) !default;
|
||||||
$uni-primary-light: lighten($uni-primary,25%) !default;
|
$uni-primary-light: lighten($uni-primary,25%) !default;
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ $uni-space-root: 2;
|
|||||||
// 边框半径默认值
|
// 边框半径默认值
|
||||||
$uni-radius-root:5px;
|
$uni-radius-root:5px;
|
||||||
// 主色
|
// 主色
|
||||||
$uni-primary: #2979ff;
|
$uni-primary: #117e4c;
|
||||||
// 辅助色
|
// 辅助色
|
||||||
$uni-success: #4cd964;
|
$uni-success: #4cd964;
|
||||||
// 警告色
|
// 警告色
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ $uni-space-root: 2;
|
|||||||
$uni-radius-root:5px;
|
$uni-radius-root:5px;
|
||||||
|
|
||||||
// 主色
|
// 主色
|
||||||
$uni-primary: #2979ff;
|
$uni-primary: #117e4c;
|
||||||
$uni-primary-disable:mix(#fff,$uni-primary,50%);
|
$uni-primary-disable:mix(#fff,$uni-primary,50%);
|
||||||
$uni-primary-light: mix(#fff,$uni-primary,80%);
|
$uni-primary-light: mix(#fff,$uni-primary,80%);
|
||||||
|
|
||||||
|
|||||||
@@ -100,7 +100,7 @@
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" >
|
<style lang="scss" >
|
||||||
$uni-primary: #2979ff !default;
|
$uni-primary: #117e4c !default;
|
||||||
|
|
||||||
.uni-section {
|
.uni-section {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|||||||
@@ -52,7 +52,7 @@
|
|||||||
},
|
},
|
||||||
activeColor: {
|
activeColor: {
|
||||||
type: String,
|
type: String,
|
||||||
default: '#2979FF'
|
default: '#117e4c'
|
||||||
},
|
},
|
||||||
styleType: {
|
styleType: {
|
||||||
type: String,
|
type: String,
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
activeColor: {
|
activeColor: {
|
||||||
// 激活状态颜色
|
// 激活状态颜色
|
||||||
type: String,
|
type: String,
|
||||||
default: '#2979FF'
|
default: '#117e4c'
|
||||||
},
|
},
|
||||||
deactiveColor: {
|
deactiveColor: {
|
||||||
// 未激活状态颜色
|
// 未激活状态颜色
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
$uni-primary: #2979ff !default;
|
$uni-primary: #117e4c !default;
|
||||||
$uni-border-color:#EDEDED;
|
$uni-border-color:#EDEDED;
|
||||||
.uni-steps {
|
.uni-steps {
|
||||||
/* #ifndef APP-NVUE */
|
/* #ifndef APP-NVUE */
|
||||||
|
|||||||
@@ -107,7 +107,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
$uni-primary: #2979ff !default;
|
$uni-primary: #117e4c !default;
|
||||||
$uni-success: #18bc37 !default;
|
$uni-success: #18bc37 !default;
|
||||||
$uni-warning: #f3a73f !default;
|
$uni-warning: #f3a73f !default;
|
||||||
$uni-error: #e43d33 !default;
|
$uni-error: #e43d33 !default;
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
* @property {Array} value 绑定的值
|
* @property {Array} value 绑定的值
|
||||||
* @property {String} shape 形状,circle-圆形,square-方形 (默认 'square' )
|
* @property {String} shape 形状,circle-圆形,square-方形 (默认 'square' )
|
||||||
* @property {Boolean} disabled 是否禁用全部checkbox (默认 false )
|
* @property {Boolean} disabled 是否禁用全部checkbox (默认 false )
|
||||||
* @property {String} activeColor 选中状态下的颜色,如设置此值,将会覆盖parent的activeColor值 (默认 '#2979ff' )
|
* @property {String} activeColor 选中状态下的颜色,如设置此值,将会覆盖parent的activeColor值 (默认 '#117e4c' )
|
||||||
* @property {String} inactiveColor 未选中的颜色 (默认 '#c8c9cc' )
|
* @property {String} inactiveColor 未选中的颜色 (默认 '#c8c9cc' )
|
||||||
* @property {String | Number} size 整个组件的尺寸 单位px (默认 18 )
|
* @property {String | Number} size 整个组件的尺寸 单位px (默认 18 )
|
||||||
* @property {String} placement 布局方式,row-横向,column-纵向 (默认 'row' )
|
* @property {String} placement 布局方式,row-横向,column-纵向 (默认 'row' )
|
||||||
|
|||||||
@@ -99,7 +99,7 @@
|
|||||||
},
|
},
|
||||||
// 组件选中激活时的颜色
|
// 组件选中激活时的颜色
|
||||||
elActiveColor() {
|
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() {
|
elInactiveColor() {
|
||||||
@@ -250,7 +250,7 @@
|
|||||||
$u-checkbox-icon-wrap-square-border-radius:3px !default;
|
$u-checkbox-icon-wrap-square-border-radius:3px !default;
|
||||||
$u-checkbox-icon-wrap-checked-color:#fff !default;
|
$u-checkbox-icon-wrap-checked-color:#fff !default;
|
||||||
$u-checkbox-icon-wrap-checked-background-color:red !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-background-color:#ebedf0 !default;
|
||||||
$u-checkbox-icon-wrap-disabled-checked-color:#c8c9cc !default;
|
$u-checkbox-icon-wrap-disabled-checked-color:#c8c9cc !default;
|
||||||
$u-checkbox-label-margin-left:5px !default;
|
$u-checkbox-label-margin-left:5px !default;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ export default {
|
|||||||
activeStyle: {
|
activeStyle: {
|
||||||
type: [String, Object],
|
type: [String, Object],
|
||||||
default: () => ({
|
default: () => ({
|
||||||
color: '#2979ff',
|
color: '#117e4c',
|
||||||
fontSize: '14px'
|
fontSize: '14px'
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
* @property {Object} customStyle icon的样式,对象形式
|
* @property {Object} customStyle icon的样式,对象形式
|
||||||
* @event {Function} click 点击图标时触发
|
* @event {Function} click 点击图标时触发
|
||||||
* @event {Function} touchstart 事件触摸时触发
|
* @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 {
|
export default {
|
||||||
name: 'u-icon',
|
name: 'u-icon',
|
||||||
|
|||||||
@@ -102,7 +102,7 @@
|
|||||||
* @property {String} cancelText 取消按钮的文字 (默认 '取消' )
|
* @property {String} cancelText 取消按钮的文字 (默认 '取消' )
|
||||||
* @property {Boolean} showConfirmButton 是否显示确认按钮 (默认 true )
|
* @property {Boolean} showConfirmButton 是否显示确认按钮 (默认 true )
|
||||||
* @property {Boolean} showCancelButton 是否显示取消按钮 (默认 false )
|
* @property {Boolean} showCancelButton 是否显示取消按钮 (默认 false )
|
||||||
* @property {String} confirmColor 确认按钮的颜色 (默认 '#2979ff' )
|
* @property {String} confirmColor 确认按钮的颜色 (默认 '#117e4c' )
|
||||||
* @property {String} cancelColor 取消按钮的颜色 (默认 '#606266' )
|
* @property {String} cancelColor 取消按钮的颜色 (默认 '#606266' )
|
||||||
* @property {Number} duration 弹窗动画过度时间 (默认 400 )
|
* @property {Number} duration 弹窗动画过度时间 (默认 400 )
|
||||||
* @property {Boolean} buttonReverse 对调确认和取消的位置 (默认 false )
|
* @property {Boolean} buttonReverse 对调确认和取消的位置 (默认 false )
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
* @property {String | Number | Boolean} value 绑定的值
|
* @property {String | Number | Boolean} value 绑定的值
|
||||||
* @property {Boolean} disabled 是否禁用所有radio(默认 false )
|
* @property {Boolean} disabled 是否禁用所有radio(默认 false )
|
||||||
* @property {String} shape 外观形状,shape-方形,circle-圆形(默认 circle )
|
* @property {String} shape 外观形状,shape-方形,circle-圆形(默认 circle )
|
||||||
* @property {String} activeColor 选中时的颜色,应用到所有子Radio组件(默认 '#2979ff' )
|
* @property {String} activeColor 选中时的颜色,应用到所有子Radio组件(默认 '#117e4c' )
|
||||||
* @property {String} inactiveColor 未选中的颜色 (默认 '#c8c9cc' )
|
* @property {String} inactiveColor 未选中的颜色 (默认 '#c8c9cc' )
|
||||||
* @property {String} name 标识符
|
* @property {String} name 标识符
|
||||||
* @property {String | Number} size 组件整体的大小,单位px(默认 18 )
|
* @property {String | Number} size 组件整体的大小,单位px(默认 18 )
|
||||||
|
|||||||
@@ -103,7 +103,7 @@
|
|||||||
},
|
},
|
||||||
// 组件选中激活时的颜色
|
// 组件选中激活时的颜色
|
||||||
elActiveColor() {
|
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() {
|
elInactiveColor() {
|
||||||
@@ -246,7 +246,7 @@
|
|||||||
$u-radio-square-border-radius:3px !default;
|
$u-radio-square-border-radius:3px !default;
|
||||||
$u-radio-checked-color:#fff !default;
|
$u-radio-checked-color:#fff !default;
|
||||||
$u-radio-checked-background-color:red !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-background-color:#ebedf0 !default;
|
||||||
$u-radio-disabled--checked-color:#c8c9cc !default;
|
$u-radio-disabled--checked-color:#c8c9cc !default;
|
||||||
$u-radio-label-margin-left: 5px !default;
|
$u-radio-label-margin-left: 5px !default;
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
* @property {Boolean} toggle 展开后是否显示收起按钮(默认 false )
|
* @property {Boolean} toggle 展开后是否显示收起按钮(默认 false )
|
||||||
* @property {String} closeText 关闭时的提示文字(默认 '展开阅读全文' )
|
* @property {String} closeText 关闭时的提示文字(默认 '展开阅读全文' )
|
||||||
* @property {String} openText 展开时的提示文字(默认 '收起' )
|
* @property {String} openText 展开时的提示文字(默认 '收起' )
|
||||||
* @property {String} color 提示文字的颜色(默认 '#2979ff' )
|
* @property {String} color 提示文字的颜色(默认 '#117e4c' )
|
||||||
* @property {String | Number} fontSize 提示文字的大小,单位px (默认 14 )
|
* @property {String | Number} fontSize 提示文字的大小,单位px (默认 14 )
|
||||||
* @property {Object} shadowStyle 显示阴影的样式
|
* @property {Object} shadowStyle 显示阴影的样式
|
||||||
* @property {String} textIndent 段落首行缩进的字符个数 (默认 '2em' )
|
* @property {String} textIndent 段落首行缩进的字符个数 (默认 '2em' )
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
* @property {Boolean} loading 是否处于加载中(默认 false )
|
* @property {Boolean} loading 是否处于加载中(默认 false )
|
||||||
* @property {Boolean} disabled 是否禁用(默认 false )
|
* @property {Boolean} disabled 是否禁用(默认 false )
|
||||||
* @property {String | Number} size 开关尺寸,单位px (默认 25 )
|
* @property {String | Number} size 开关尺寸,单位px (默认 25 )
|
||||||
* @property {String} activeColor 打开时的背景色 (默认 '#2979ff' )
|
* @property {String} activeColor 打开时的背景色 (默认 '#117e4c' )
|
||||||
* @property {String} inactiveColor 关闭时的背景色 (默认 '#ffffff' )
|
* @property {String} inactiveColor 关闭时的背景色 (默认 '#ffffff' )
|
||||||
* @property {Boolean | String | Number} value 通过v-model双向绑定的值 (默认 false )
|
* @property {Boolean | String | Number} value 通过v-model双向绑定的值 (默认 false )
|
||||||
* @property {Boolean | String | Number} activeValue 打开选择器时通过change事件发出的值 (默认 true )
|
* @property {Boolean | String | Number} activeValue 打开选择器时通过change事件发出的值 (默认 true )
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ export default {
|
|||||||
],
|
],
|
||||||
// 颜色部分,本来可以通过scss的:export导出供js使用,但是奈何nvue不支持
|
// 颜色部分,本来可以通过scss的:export导出供js使用,但是奈何nvue不支持
|
||||||
color: {
|
color: {
|
||||||
'u-primary': '#2979ff',
|
'u-primary': '#117e4c',
|
||||||
'u-warning': '#ff9900',
|
'u-warning': '#ff9900',
|
||||||
'u-success': '#19be6b',
|
'u-success': '#19be6b',
|
||||||
'u-error': '#fa3534',
|
'u-error': '#fa3534',
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ export default {
|
|||||||
value: () => [],
|
value: () => [],
|
||||||
shape: 'square',
|
shape: 'square',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
activeColor: '#2979ff',
|
activeColor: '#117e4c',
|
||||||
inactiveColor: '#c8c9cc',
|
inactiveColor: '#c8c9cc',
|
||||||
size: 18,
|
size: 18,
|
||||||
placement: 'row',
|
placement: 'row',
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ export default {
|
|||||||
cancelText: '取消',
|
cancelText: '取消',
|
||||||
showConfirmButton: true,
|
showConfirmButton: true,
|
||||||
showCancelButton: false,
|
showCancelButton: false,
|
||||||
confirmColor: '#2979ff',
|
confirmColor: '#117e4c',
|
||||||
cancelColor: '#606266',
|
cancelColor: '#606266',
|
||||||
buttonReverse: false,
|
buttonReverse: false,
|
||||||
zoom: true,
|
zoom: true,
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ export default {
|
|||||||
value: '',
|
value: '',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
shape: 'circle',
|
shape: 'circle',
|
||||||
activeColor: '#2979ff',
|
activeColor: '#117e4c',
|
||||||
inactiveColor: '#c8c9cc',
|
inactiveColor: '#c8c9cc',
|
||||||
name: '',
|
name: '',
|
||||||
size: 18,
|
size: 18,
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ export default {
|
|||||||
toggle: false,
|
toggle: false,
|
||||||
closeText: '展开阅读全文',
|
closeText: '展开阅读全文',
|
||||||
openText: '收起',
|
openText: '收起',
|
||||||
color: '#2979ff',
|
color: '#117e4c',
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
textIndent: '2em',
|
textIndent: '2em',
|
||||||
name: ''
|
name: ''
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ export default {
|
|||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 100,
|
||||||
step: 1,
|
step: 1,
|
||||||
activeColor: '#2979ff',
|
activeColor: '#117e4c',
|
||||||
inactiveColor: '#c0c4cc',
|
inactiveColor: '#c0c4cc',
|
||||||
blockColor: '#ffffff',
|
blockColor: '#ffffff',
|
||||||
showValue: false,
|
showValue: false,
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ export default {
|
|||||||
loading: false,
|
loading: false,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
size: 25,
|
size: 25,
|
||||||
activeColor: '#2979ff',
|
activeColor: '#117e4c',
|
||||||
inactiveColor: '#ffffff',
|
inactiveColor: '#ffffff',
|
||||||
value: false,
|
value: false,
|
||||||
activeValue: true,
|
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
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