This commit is contained in:
Mr.jiang 2024-08-02 10:01:19 +08:00
commit c10dba9978
24 changed files with 1328 additions and 743 deletions

View File

@ -45,7 +45,8 @@
<view class="detail-foot-list" v-for="(item,index) in detailData" :key="index" @click="detail(item)">
<view class="detail-foot-list-top">
<span style="margin-right: 5px;">{{item.title}}</span>
<span style="display: none;">详情</span>
<!-- <span style="display: none;">详情</span> -->
<span style="margin-left: 5px;">{{orderXm.levelName}}</span>
</view>
<view class="detail-view">
<image class="detail-view-img" :src="item.massageImg" mode=""></image>
@ -1428,16 +1429,22 @@
padding: 20rpx 0;
}
.detail-foot-list-top span:nth-child(2){
width: 76rpx;
height: 33rpx;
line-height: 33rpx;
// width: 76rpx;
// height: 33rpx;
// line-height: 33rpx;
// text-align: center;
// border-radius: 16rpx;
// border: 1px solid #7D7D7D;
// font-weight: 400;
// font-size: 20rpx;
// color: #777777;
// margin: 0px 25px 0px 5px;
padding: 1px 8px;
border-radius: 10rpx 3rpx 10rpx 3rpx;
width: 50px;
text-align: center;
border-radius: 16rpx;
border: 1px solid #7D7D7D;
font-weight: 400;
font-size: 20rpx;
color: #777777;
margin: 0px 25px 0px 5px;
background-color: #f1f8d7;
color: #58b314;
}
.detail-foot-list-top span:nth-child(3){
font-weight: 400;

View File

@ -45,7 +45,8 @@
<view class="detail-foot-list" v-for="(item,index) in detailData" :key="index" @click="detail(item)">
<view class="detail-foot-list-top">
<span style="margin-right: 5px;">{{item.title}}</span>
<span style="display: none;">详情</span>
<!-- <span style="display: none;">详情</span> -->
<span style="margin-left: 5px;">{{orderXm.levelName}}</span>
</view>
<view class="detail-view">
<image class="detail-view-img" :src="item.massageImg" mode=""></image>
@ -1441,16 +1442,22 @@
padding: 20rpx 0;
}
.detail-foot-list-top span:nth-child(2){
width: 76rpx;
height: 33rpx;
line-height: 33rpx;
// width: 76rpx;
// height: 33rpx;
// line-height: 33rpx;
// text-align: center;
// border-radius: 16rpx;
// border: 1px solid #7D7D7D;
// font-weight: 400;
// font-size: 20rpx;
// color: #777777;
// margin: 0px 25px 0px 5px;
padding: 1px 8px;
border-radius: 10rpx 3rpx 10rpx 3rpx;
width: 50px;
text-align: center;
border-radius: 16rpx;
border: 1px solid #7D7D7D;
font-weight: 400;
font-size: 20rpx;
color: #777777;
margin: 0px 25px 0px 5px;
background-color: #f1f8d7;
color: #58b314;
}
.detail-foot-list-top span:nth-child(3){
font-weight: 400;

View File

@ -44,7 +44,8 @@
<view class="detail-foot-list" v-for="(item,index) in detailData" :key="index" @click="detail(item)">
<view class="detail-foot-list-top">
<span style="margin-right: 5px;">{{item.title}}</span>
<span style="display: none;">详情</span>
<!-- <span style="display: none;">详情</span> -->
<span style="margin-left: 5px;">{{orderXm.levelName}}</span>
</view>
<view class="detail-view">
<image class="detail-view-img" :src="item.massageImg" mode=""></image>
@ -1490,16 +1491,22 @@
padding: 20rpx 0;
}
.detail-foot-list-top span:nth-child(2){
width: 76rpx;
height: 33rpx;
line-height: 33rpx;
// width: 76rpx;
// height: 33rpx;
// line-height: 33rpx;
// text-align: center;
// border-radius: 16rpx;
// border: 1px solid #7D7D7D;
// font-weight: 400;
// font-size: 20rpx;
// color: #777777;
// margin: 0px 25px 0px 5px;
padding: 1px 8px;
border-radius: 10rpx 3rpx 10rpx 3rpx;
width: 50px;
text-align: center;
border-radius: 16rpx;
border: 1px solid #7D7D7D;
font-weight: 400;
font-size: 20rpx;
color: #777777;
margin: 0px 25px 0px 5px;
background-color: #f1f8d7;
color: #58b314;
}
.detail-foot-list-top span:nth-child(3){
font-weight: 400;

View File

@ -45,7 +45,8 @@
<view class="detail-foot-list" v-for="(item,index) in detailData" :key="index" @click="detail(item)">
<view class="detail-foot-list-top">
<span style="margin-right: 5px;">{{item.title}}</span>
<span style="display: none;">详情</span>
<!-- <span style="display: none;">详情</span> -->
<span style="margin-left: 5px;">{{orderXm.levelName}}</span>
</view>
<view class="detail-view">
<image class="detail-view-img" :src="item.massageImg" mode=""></image>
@ -55,6 +56,7 @@
<span class="header-bottom-money-zhen-child1"></span>
<span class="header-bottom-money-zhen-child2">{{item.packagePrice}}</span>
<span class="header-bottom-money-zhen-child3">{{item.oldPrice}}</span>
<!-- <span class="header-bottom-money-zhen-child3">{{orderXm.oldPrice}}</span> -->
</view>
</view>
<view class="xiangmu-cont-top-left">服务时长:{{item.duration}}分钟</view>
@ -129,7 +131,7 @@
methods: {
goOrder() {//orderId
let that = this
console.log('asdasd',that.couponId)
console.log(that.orderXm.groupNo);
let data = {
userId: uni.getStorageSync('userId'),
groupNo:that.orderXm.groupNo,
@ -439,16 +441,22 @@
padding: 20rpx 0;
}
.detail-foot-list-top span:nth-child(2){
width: 76rpx;
height: 33rpx;
line-height: 33rpx;
// width: 76rpx;
// height: 33rpx;
// line-height: 33rpx;
// text-align: center;
// border-radius: 16rpx;
// border: 1px solid #7D7D7D;
// font-weight: 400;
// font-size: 20rpx;
// color: #777777;
// margin: 0px 25px 0px 5px;
padding: 1px 8px;
border-radius: 10rpx 3rpx 10rpx 3rpx;
width: 50px;
text-align: center;
border-radius: 16rpx;
border: 1px solid #7D7D7D;
font-weight: 400;
font-size: 20rpx;
color: #777777;
margin: 0px 25px 0px 5px;
background-color: #f1f8d7;
color: #58b314;
}
.detail-foot-list-top span:nth-child(3){
font-weight: 400;

View File

@ -47,7 +47,8 @@
<view class="detail-foot-list" v-for="(item,index) in detailData" :key="index" @click="detail(item)">
<view class="detail-foot-list-top">
<span style="margin-right: 5px;">{{item.title}}</span>
<span style="display: none;">详情</span>
<!-- <span style="display: none;">详情</span> -->
<span style="margin-left: 5px;">{{orderXm.levelName}}</span>
</view>
<view class="detail-view">
<image class="detail-view-img" :src="item.massageImg" mode=""></image>
@ -1517,16 +1518,22 @@
padding: 20rpx 0;
}
.detail-foot-list-top span:nth-child(2){
width: 76rpx;
height: 33rpx;
line-height: 33rpx;
// width: 76rpx;
// height: 33rpx;
// line-height: 33rpx;
// text-align: center;
// border-radius: 16rpx;
// border: 1px solid #7D7D7D;
// font-weight: 400;
// font-size: 20rpx;
// color: #777777;
// margin: 0px 25px 0px 5px;
padding: 1px 8px;
border-radius: 10rpx 3rpx 10rpx 3rpx;
width: 50px;
text-align: center;
border-radius: 16rpx;
border: 1px solid #7D7D7D;
font-weight: 400;
font-size: 20rpx;
color: #777777;
margin: 0px 25px 0px 5px;
background-color: #f1f8d7;
color: #58b314;
}
.detail-foot-list-top span:nth-child(3){
font-weight: 400;

View File

@ -14,6 +14,9 @@
<view class="margin-right-xs u-skeleton-fillet head-title">
{{orderXm.title}}
</view>
<view class="xiaoer item-view-biao">
{{orderXm.levelName}}
</view>
</view>
<view class="flex align-center">
<view style="width: 100%;">
@ -264,6 +267,15 @@
this.msTimeDate = 60;
}
this.orderXm=this.$queue.getData('mainData');
if(this.orderXm.level == 3){
this.orderXm.levelName = "新手"
}
if(this.orderXm.level == 4){
this.orderXm.levelName = "专家"
}
if(this.orderXm.level == 5){
this.orderXm.levelName = "资深"
}
console.log("this.orderXm",this.orderXm)
this.detailData=this.$queue.getData('detailData');
var date = new Date();
@ -2194,4 +2206,14 @@
border-bottom: 1px #e5e5e5 solid;
margin: 30rpx 0;
}
.item-view-biao{
padding: 1px 5px;
border-radius: 15rpx 3rpx 15rpx 3rpx;
width: 50px;
text-align: center;
}
.xiaoer{
background-color:#f1f8d7;
color: #58b314;
}
</style>

View File

@ -1,7 +1,7 @@
<!-- 自定义下拉刷新与上拉加载演示(vue) -->
<template>
<view class="content">
<z-paging ref="paging" v-model="dataList" @query="queryList" >
<z-paging ref="paging" v-model="dataList" @query="queryList">
<!-- 需要固定在顶部不滚动的view放在slot="top"的view中如果需要跟着滚动则不要设置slot="top" -->
<!-- 注意此处的z-tabs为独立的组件可替换为第三方的tabs若需要使用z-tabs请在插件市场搜索z-tabs并引入否则会报插件找不到的错误 -->
<template #top>
@ -11,12 +11,13 @@
<span>项目次卡</span>
</view>
<view>
<uni-search-bar @service="serviceTrue" @confirm="search" :cancelext="'取消'" v-model="searchValue" @input="input"
@clear="clear">
<uni-search-bar @service="serviceTrue" @confirm="search" :cancelext="'取消'" v-model="searchValue"
@input="input" @clear="clear">
</uni-search-bar>
<view class="search-btn" @click="searchBtn">
<image style="width:30rpx; height:30rpx; margin-right: 10rpx;" src="../../static/search.png"></image>
搜索
<image style="width:30rpx; height:30rpx; margin-right: 10rpx;"
src="../../static/search.png"></image>
搜索
</view>
</view>
</view>
@ -29,18 +30,18 @@
<!-- 注意注意注意字节跳动小程序中自定义下拉刷新不支持slot-scope将导致custom-refresher无法显示 -->
<!-- 如果是字节跳动小程序请参照sticky-demo.vue中的写法此处使用slot-scope是为了减少data中无关变量声明降低依赖 -->
<!-- <template #refresher="{refresherStatus}" >-->
<!-- 此处的custom-refresh为demo中自定义的组件非z-paging的内置组件请在实际项目中自行创建这里插入什么view下拉刷新就显示什么view -->
<!-- <custom-refresher :status="refresherStatus" />-->
<!-- </template>-->
<!-- <template #refresher="{refresherStatus}" >-->
<!-- 此处的custom-refresh为demo中自定义的组件非z-paging的内置组件请在实际项目中自行创建这里插入什么view下拉刷新就显示什么view -->
<!-- <custom-refresher :status="refresherStatus" />-->
<!-- </template>-->
<!-- 自定义没有更多数据view -->
<template #loadingMoreNoMore >
<template #loadingMoreNoMore>
<!-- 此处的custom-nomore为demo中自定义的组件非z-paging的内置组件请在实际项目中自行创建这里插入什么view没有更多数据就显示什么view -->
<custom-nomore />
</template>
<!-- 如果希望其他view跟着页面滚动可以放在z-paging标签内 -->
<view class="item" v-for="(item,index) in dataList" :key="index" @click="itemClick(item)" >
<view class="item" v-for="(item,index) in dataList" :key="index" @click="itemClick(item)">
<!-- <view class="item-title">{{item.title}}</view>
<view class="item-detail">{{item.detail}}</view> -->
<!-- <view class="item-line"></view> -->
@ -51,7 +52,7 @@
<view class="item-view">
<view class="view-cata">
<view class="item-view-title">{{item.title}}</view>
<span class="xiaoer item-view-biao">{{item.classifyName}}</span>
<span class="xiaoer item-view-biao">{{item.levelName}}</span>
</view>
<view class="item-view-bottom-qian">
<span></span>
@ -59,14 +60,14 @@
<span>/{{item.serviceCount}}</span>
<span>{{item.oldPrice}}/{{item.serviceCount}}</span>
</view>
<view class="flex" style="margin-top: 10rpx;">
<view class="shop_label" v-if="item.tagsData!=''">
<span v-for="tag in item.tagsData" :key="tag">{{tag}}</span>
</view>
<view class="shop_label" v-else>
<span>助眠解压</span>
</view>
</view>
<view class="flex" style="margin-top: 10rpx;">
<view class="shop_label" v-if="item.tagsData!=''">
<span v-for="tag in item.tagsData" :key="tag">{{tag}}</span>
</view>
<view class="shop_label" v-else>
<span>助眠解压</span>
</view>
</view>
<view class="item-view-bottom">
<view class="item-view-xiangmu">
<span>已售</span><span>{{item.sales}} <!-- | 好评{{item.esteemRate}}% --></span>
@ -90,30 +91,30 @@
// v-model
dataList: [],
tabList: [],
typeData:'105',
typeData: '105',
tabIndex: 0,
searchValue:'',
serviceTrue:true,
page:1,
limit:10,
titleNmae:'',
tagsData:[]
searchValue: '',
serviceTrue: true,
page: 1,
limit: 10,
titleNmae: '',
tagsData: []
}
},
onLoad(){
onLoad() {
this.myId = uni.getStorageSync('userId')
// this.getData()
},
methods: {
input(res) {//
this.searchValue=res;
input(res) { //
this.searchValue = res;
},
searchBtn(){//
if(this.searchValue!=""){
searchBtn() { //
if (this.searchValue != "") {
this.getData()
}
},
getData(){
getData() {
// let data = {
// userId: this.myId,
// type: this.typeData,
@ -129,7 +130,7 @@
// }
// }
// })
this.$refs.paging.reload(true);
this.$refs.paging.reload(true);
},
tabChange(index) {
this.tabIndex = index;
@ -147,13 +148,22 @@
page: pageNo,
limit: pageSize,
type: this.typeData,
title:this.searchValue,
title: this.searchValue,
}
this.$Request.get('/app/user/package/findMyPackageList',params).then(res => {
this.$Request.get('/app/user/package/findMyPackageList', params).then(res => {
// z-paging
for(var i=0;i<res.data.records.length;i++){
res.data.records[i].tagsData=res.data.records[i].labels.split(',');
}
for (var i = 0; i < res.data.records.length; i++) {
res.data.records[i].tagsData = res.data.records[i].labels.split(',');
if(res.data.records[i].level == 3){
res.data.records[i].levelName = "新手"
}
if(res.data.records[i].level == 4){
res.data.records[i].levelName = "专家"
}
if(res.data.records[i].level == 5){
res.data.records[i].levelName = "资深"
}
}
this.$refs.paging.complete(res.data.records);
}).catch(res => {
// this.$refs.paging.complete(false);
@ -162,9 +172,9 @@
this.$refs.paging.complete(false);
})
},
backImg(){//
backImg() { //
uni.reLaunch({
url:'/pages/my/index'
url: '/pages/my/index'
})
},
clear(res) {
@ -172,7 +182,8 @@
},
itemClick(item) {
uni.navigateTo({
url:'/pages/my/cikarDrtail?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+'my'
url: '/pages/my/cikarDrtail?id=' + item.id + '&limit=' + this.limit + '&page=' + this.page +
'&name=' + 'my'
})
}
}
@ -180,12 +191,13 @@
</script>
<style scoped>
.shop_label{
.shop_label {
display: flex;
flex-wrap: wrap;
margin-top: 4rpx;
}
.shop_label span{
.shop_label span {
background: linear-gradient(90deg, #ffefde, #fff7ef);
height: 34rpx;
line-height: 34rpx;
@ -196,7 +208,8 @@
margin-bottom: 8rpx;
color: #f68607;
}
.item-view-bottom-btn{
.item-view-bottom-btn {
text-align: center;
width: 131rpx;
height: 55rpx;
@ -208,84 +221,102 @@
color: #FFFFFF;
}
.item-view-bottom-qian span:nth-child(5){
font-size: 28rpx;
color: #848484;
text-decoration-line: line-through;
.item-view-bottom-qian span:nth-child(5) {
font-size: 28rpx;
color: #848484;
text-decoration-line: line-through;
}
.item-view-bottom-qian span:nth-child(4){
font-size: 26rpx;
color: #848484;
text-decoration-line: line-through;
margin-left: 5px;
.item-view-bottom-qian span:nth-child(4) {
font-size: 26rpx;
color: #848484;
text-decoration-line: line-through;
margin-left: 5px;
}
.item-view-bottom-qian span:nth-child(3){
font-size: 28rpx;
color: #FF6000;
.item-view-bottom-qian span:nth-child(3) {
font-size: 28rpx;
color: #FF6000;
}
.item-view-bottom-qian span:nth-child(2){
font-weight: bold;
font-size: 36.81rpx;
color: #FF6000;
.item-view-bottom-qian span:nth-child(2) {
font-weight: bold;
font-size: 36.81rpx;
color: #FF6000;
}
.item-view-bottom-qian span:nth-child(1){
font-weight: 400;
font-size: 26rpx;
color: #FF6000;
.item-view-bottom-qian span:nth-child(1) {
font-weight: 400;
font-size: 26rpx;
color: #FF6000;
}
.item-view-bottom-qian{
margin-top: 2px;
.item-view-bottom-qian {
margin-top: 2px;
}
.item-view-bottom{
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
.item-view-bottom {
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.item-view-jianjie{
.item-view-jianjie {
font-weight: 400;
font-size: 24rpx;
color: #999;
margin:5px 0px;
margin: 5px 0px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
-webkit-line-clamp: 2;
/* 显示的行数,可以根据需要修改 */
overflow: hidden;
text-overflow: ellipsis;
}
.item-view-biao{
.item-view-biao {
padding: 1px 5px;
border-radius: 15rpx 3rpx 15rpx 3rpx;
}
.tuina{
background-color:#d1f2df;
width: 50px;
text-align: center;
}
.tuina {
background-color: #d1f2df;
color: #17984d;
}
.xiaoer{
background-color:#f1f8d7;
.xiaoer {
background-color: #f1f8d7;
color: #58b314;
}
.taishi{
background-color:#e5d5c6;
.taishi {
background-color: #e5d5c6;
color: #805d39;
}
.kangfu{
background-color:#fcf3da;
.kangfu {
background-color: #fcf3da;
color: #ff8600;
}
.item-view-xiangmu span:nth-child(2){
.item-view-xiangmu span:nth-child(2) {
font-weight: normal;
color: #333333;
font-size: 30rpx;
}
.item-view-xiangmu span:nth-child(1){
.item-view-xiangmu span:nth-child(1) {
font-weight: normal;
color: #666666;
margin-right: 5rpx;
font-size: 30rpx;
}
.item-view-xiangmu{
.item-view-xiangmu {
width: 100%;
display: flex;
flex-direction: row;
@ -293,7 +324,8 @@
font-size: 25rpx;
align-items: flex-end;
}
.item-view-title{
.item-view-title {
font-weight: bold;
font-size: 32rpx;
color: #333333;
@ -301,25 +333,29 @@
text-overflow: ellipsis;
white-space: nowrap;
}
.item-view{
width:60%;
.item-view {
width: 60%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
justify-content: space-between;
padding:5rpx 0;
padding: 5rpx 0;
}
.item-img{
width: 240rpx;
height: 200rpx;
border-radius: 14rpx;
position: relative;
.item-img {
width: 240rpx;
height: 200rpx;
border-radius: 14rpx;
position: relative;
}
.item-img img{
.item-img img {
border-radius: 14rpx;
}
.img-span{
.img-span {
padding: 2px 5px;
font-weight: 400;
font-size: 8px;
@ -332,24 +368,27 @@
margin-bottom: 5px;
margin-right: 5px;
}
.item-img image{
.item-img image {
width: 100%;
height: 100%;
border-radius: 14rpx;
}
.item {
width: 100%;
margin: 0 auto ;
margin: 0 auto;
display: flex;
flex-direction: row;
justify-content: space-between;
/*height: 140px;*/
background: #FFFFFF;
border-radius: 21rpx;
margin-top:10px;
margin-top: 10px;
align-items: center;
padding:20rpx;
padding: 20rpx;
}
.item-detail {
padding: 5rpx 15rpx;
border-radius: 10rpx;
@ -366,21 +405,25 @@
width: 100%;
background-color: #eeeeee;
}
/deep/.zp-paging-container{
/deep/.zp-paging-container {
background-color: #f7f7f7;
width:100%;
width: 100%;
}
/deep/.zp-paging-container-content{
/deep/.zp-paging-container-content {
width: 95%;
margin: 0 auto;
}
.fenlei{
.fenlei {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.index-fenl-title{
.index-fenl-title {
width: 81rpx;
text-align: center;
position: relative;
@ -389,27 +432,31 @@
align-items: center;
font-weight: bold;
font-size: 34rpx;
color:#019C88;
color: #019C88;
}
.index-fenl-title-bottom{
.index-fenl-title-bottom {
position: absolute;
bottom: 0;
margin-bottom: 0px;
width: 81rpx;
height: 14rpx;
border-radius: 7rpx;
background: linear-gradient(-48deg,rgba(1, 156, 136, 0.35),rgba(45, 196, 142, 0.35));
background: linear-gradient(-48deg, rgba(1, 156, 136, 0.35), rgba(45, 196, 142, 0.35));
}
/deep/.uni-searchbar__cancel{
/deep/.uni-searchbar__cancel {
display: none;
}
/deep/.uni-searchbar__box-icon-search,.search-btn{
/deep/.uni-searchbar__box-icon-search,
.search-btn {
width: 110rpx;
height: 50rpx;
}
/deep/.uni-searchbar__box{
height:34px;
/deep/.uni-searchbar__box {
height: 34px;
border-radius: 30px !important;
background-color: #fff !important;
border: 1px solid #09a28a;
@ -418,31 +465,35 @@
flex-flow: row-reverse;
position: relative;
}
/deep/.uni-searchbar{
width:250px;
/deep/.uni-searchbar {
width: 250px;
border-radius: 31rpx;
padding-right: 24rpx;
}
.search-btn{
.search-btn {
text-align: center;
color: #019c88;
font-weight: bold;
position: absolute;
right:40rpx;
right: 40rpx;
top: 20rpx;
font-size: 30rpx;
display: flex;
align-items: center;
}
.service-head-top-left image{
.service-head-top-left image {
width: 20px;
height: 20rpx;
margin-right:5px;
margin-right: 5px;
margin-left: 10rpx;
}
.service-head-top-left span{
height:100rpx;
background:url('../../static/images/headline.png') 0rpx 50rpx;
.service-head-top-left span {
height: 100rpx;
background: url('../../static/images/headline.png') 0rpx 50rpx;
background-repeat: no-repeat;
font-weight: bold;
font-size: 34rpx;
@ -450,22 +501,26 @@
display: flex;
align-items: center;
}
.service-head-top-left{
.service-head-top-left {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.service-head-top{
height:90rpx;
.service-head-top {
height: 90rpx;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.view-cata{
.view-cata {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
</style>
</style>

View File

@ -35,6 +35,7 @@
{{mainData.oldPrice}}/{{mainData.serviceCount}}
</view>
</view>
<view class="xiaoer item-view-biao">{{mainData.levelName}}</view>
</view>
</view>
<view class="header-bottom-foot">
@ -209,9 +210,9 @@
detail(item){//
console.log("item=====>",item)
if(item.usedQuantity){
item.id=this.mainData.id
// item.id=this.mainData.id
uni.navigateTo({
url:'/pages/my/orderDetailsList?id='+item.id+'&mainId='+this.mainId+'&name='+'次卡'
url:'/pages/my/orderDetailsList?id='+this.mainData.id+'&mainId='+this.mainId+'&name='+'次卡'
})
}else{
uni.showToast({
@ -646,6 +647,15 @@
}
that.$Request.get('/app/massage/packageDetail/findAppPage', data).then(res => {
if (res.code == 0) {
if(res.mainData.level == 3){
res.mainData.levelName = "新手"
}
if(res.mainData.level == 4){
res.mainData.levelName = "专家"
}
if(res.mainData.level == 5){
res.mainData.levelName = "资深"
}
that.mainData=res.mainData;
that.contentImg=that.mainData.contentImg.split(",");
that.detailData=res.detailData.list;
@ -662,6 +672,15 @@
}
that.$Request.get('/app/user/package/detail/findMyPackageDetailList', data).then(res => {
if (res.code == 0) {
if(res.data.mainData.level == 3){
res.data.mainData.levelName = "新手"
}
if(res.data.mainData.level == 4){
res.data.mainData.levelName = "专家"
}
if(res.data.mainData.level == 5){
res.data.mainData.levelName = "资深"
}
that.mainData=res.data.mainData;
that.contentImg=that.mainData.contentImg.split(",");
that.detailData=res.data.detailData;
@ -1293,4 +1312,14 @@
font-size: 17px;
text-align: center;
}
.xiaoer {
background-color: #f1f8d7;
color: #58b314;
}
.item-view-biao {
margin: 8px 0px;
border-radius: 10rpx 3rpx 10rpx 3rpx;
width: 50px;
text-align: center;
}
</style>

View File

@ -188,7 +188,6 @@
url:'/pages/my/fuwuDateil?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+'index'+'&isCanCoupon='+item.isCanCoupon
})
}
}
}
}

View File

@ -11,11 +11,12 @@
<span>服务疗程</span>
</view>
<view>
<uni-search-bar @service="serviceTrue" @confirm="search" :cancelext="'取消'" v-model="searchValue" @input="input"
@clear="clear">
<uni-search-bar @service="serviceTrue" @confirm="search" :cancelext="'取消'" v-model="searchValue"
@input="input" @clear="clear">
</uni-search-bar>
<view class="search-btn" @click="searchBtn">
<image style="width:30rpx; height:30rpx; margin-right: 10rpx;" src="../../static/search.png"></image>
<image style="width:30rpx; height:30rpx; margin-right: 10rpx;"
src="../../static/search.png"></image>
搜索
</view>
</view>
@ -29,10 +30,10 @@
<!-- 注意注意注意字节跳动小程序中自定义下拉刷新不支持slot-scope将导致custom-refresher无法显示 -->
<!-- 如果是字节跳动小程序请参照sticky-demo.vue中的写法此处使用slot-scope是为了减少data中无关变量声明降低依赖 -->
<!-- <template #refresher="{refresherStatus}">-->
<!-- 此处的custom-refresh为demo中自定义的组件非z-paging的内置组件请在实际项目中自行创建这里插入什么view下拉刷新就显示什么view -->
<!-- <custom-refresher :status="refresherStatus" />-->
<!-- </template>-->
<!-- <template #refresher="{refresherStatus}">-->
<!-- 此处的custom-refresh为demo中自定义的组件非z-paging的内置组件请在实际项目中自行创建这里插入什么view下拉刷新就显示什么view -->
<!-- <custom-refresher :status="refresherStatus" />-->
<!-- </template>-->
<!-- 自定义没有更多数据view -->
<template #loadingMoreNoMore>
<!-- 此处的custom-nomore为demo中自定义的组件非z-paging的内置组件请在实际项目中自行创建这里插入什么view没有更多数据就显示什么view -->
@ -51,7 +52,7 @@
<view class="item-view">
<view class="view-cata">
<view class="item-view-title">{{item.title}}</view>
<span class="xiaoer item-view-biao">{{item.classifyName}}</span>
<span class="xiaoer item-view-biao">{{item.levelName}}</span>
</view>
<view class="item-view-bottom-qian">
<span></span>
@ -59,14 +60,14 @@
<span>/{{item.serviceCount}}</span>
<span>{{item.oldPrice}}/{{item.serviceCount}}</span>
</view>
<view class="flex" style="margin-top: 10rpx;">
<view class="shop_label" v-if="item.tagsData!=''">
<span v-for="tag in item.tagsData" :key="tag">{{tag}}</span>
</view>
<view class="shop_label" v-else>
<span>助眠解压</span>
</view>
</view>
<view class="flex" style="margin-top: 10rpx;">
<view class="shop_label" v-if="item.tagsData!=''">
<span v-for="tag in item.tagsData" :key="tag">{{tag}}</span>
</view>
<view class="shop_label" v-else>
<span>助眠解压</span>
</view>
</view>
<view class="item-view-bottom">
<view class="item-view-xiangmu">
<span>已售</span><span>{{item.sales}} <!-- | 好评{{item.esteemRate}}% --></span>
@ -90,31 +91,31 @@
// v-model
dataList: [],
tabList: [],
typeData:'106',
typeData: '106',
tabIndex: 0,
searchValue:'',
serviceTrue:true,
page:1,
limit:10,
titleNmae:'',
tagsData:[]
searchValue: '',
serviceTrue: true,
page: 1,
limit: 10,
titleNmae: '',
tagsData: []
}
},
onLoad(){
onLoad() {
this.myId = uni.getStorageSync('userId')
this.getData()
},
methods: {
input(res) {//
this.searchValue=res;
input(res) { //
this.searchValue = res;
console.log('----input:', res)
},
searchBtn(){//
if(this.searchValue!=""){
searchBtn() { //
if (this.searchValue != "") {
this.getData()
}
},
getData(){
getData() {
// let data = {
// userId: this.myId,
// type: this.typeData,
@ -130,7 +131,7 @@
// }
// }
// })
this.$refs.paging.reload(true);
this.$refs.paging.reload(true);
},
tabChange(index) {
this.tabIndex = index;
@ -148,13 +149,22 @@
page: pageNo,
limit: pageSize,
type: this.typeData,
title:this.searchValue,
title: this.searchValue,
}
this.$Request.get('/app/user/package/findMyPackageList',params).then(res => {
this.$Request.get('/app/user/package/findMyPackageList', params).then(res => {
// z-paging
for(var i=0;i<res.data.records.length;i++){
res.data.records[i].tagsData=res.data.records[i].labels.split(',');
}
for (var i = 0; i < res.data.records.length; i++) {
res.data.records[i].tagsData = res.data.records[i].labels.split(',');
if(res.data.records[i].level == 3){
res.data.records[i].levelName = "新手"
}
if(res.data.records[i].level == 4){
res.data.records[i].levelName = "专家"
}
if(res.data.records[i].level == 5){
res.data.records[i].levelName = "资深"
}
}
this.$refs.paging.complete(res.data.records);
}).catch(res => {
// this.$refs.paging.complete(false);
@ -164,9 +174,9 @@
})
},
backImg(){//
backImg() { //
uni.reLaunch({
url:'/pages/my/index'
url: '/pages/my/index'
})
},
clear(res) {
@ -174,7 +184,7 @@
},
itemClick(item) {
uni.navigateTo({
url:'/pages/my/fuwuliaochengDetail?id='+item.id+'&name='+'my'
url: '/pages/my/fuwuliaochengDetail?id=' + item.id + '&name=' + 'my'
})
}
}
@ -182,12 +192,13 @@
</script>
<style scoped>
.shop_label{
.shop_label {
display: flex;
flex-wrap: wrap;
margin-top: 4rpx;
}
.shop_label span{
.shop_label span {
background: linear-gradient(90deg, #ffefde, #fff7ef);
height: 34rpx;
line-height: 34rpx;
@ -198,94 +209,114 @@
margin-bottom: 8rpx;
color: #f68607;
}
.item-view-bottom-btn{
.item-view-bottom-btn {
text-align: center;
width: 131rpx;
height: 50rpx;
line-height: 50rpx;
background: linear-gradient(90deg, #019C88, #0FA78B, #35C495);
border-radius:10rpx;
border-radius: 10rpx;
font-size: 26rpx;
color: #FFFFFF;
}
.item-view-bottom-qian span:nth-child(5){
font-size: 28rpx;
color: #848484;
text-decoration-line: line-through;
.item-view-bottom-qian span:nth-child(5) {
font-size: 28rpx;
color: #848484;
text-decoration-line: line-through;
}
.item-view-bottom-qian span:nth-child(4){
font-size: 26rpx;
color: #848484;
text-decoration-line: line-through;
margin-left: 5px;
.item-view-bottom-qian span:nth-child(4) {
font-size: 26rpx;
color: #848484;
text-decoration-line: line-through;
margin-left: 5px;
}
.item-view-bottom-qian span:nth-child(3){
font-size: 28rpx;
color: #FF6000;
.item-view-bottom-qian span:nth-child(3) {
font-size: 28rpx;
color: #FF6000;
}
.item-view-bottom-qian span:nth-child(2){
font-weight: bold;
font-size: 36.81rpx;
color: #FF6000;
.item-view-bottom-qian span:nth-child(2) {
font-weight: bold;
font-size: 36.81rpx;
color: #FF6000;
}
.item-view-bottom-qian span:nth-child(1){
font-weight: 400;
font-size: 26rpx;
color: #FF6000;
.item-view-bottom-qian span:nth-child(1) {
font-weight: 400;
font-size: 26rpx;
color: #FF6000;
}
.item-view-bottom-qian{
margin-top: 2px;
.item-view-bottom-qian {
margin-top: 2px;
}
.item-view-bottom{
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
.item-view-bottom {
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.item-view-jianjie{
.item-view-jianjie {
font-weight: 400;
font-size: 24rpx;
color: #999;
margin:5px 0px;
margin: 5px 0px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
-webkit-line-clamp: 2;
/* 显示的行数,可以根据需要修改 */
overflow: hidden;
text-overflow: ellipsis;
}
.item-view-biao{
.item-view-biao {
padding: 1px 5px;
border-radius: 15rpx 3rpx 15rpx 3rpx;
width: 50px;
text-align: center;
}
.tuina{
background-color:#d1f2df;
.tuina {
background-color: #d1f2df;
color: #17984d;
}
.xiaoer{
background-color:#f1f8d7;
.xiaoer {
background-color: #f1f8d7;
color: #58b314;
}
.taishi{
background-color:#e5d5c6;
.taishi {
background-color: #e5d5c6;
color: #805d39;
}
.kangfu{
background-color:#fcf3da;
.kangfu {
background-color: #fcf3da;
color: #ff8600;
}
.item-view-xiangmu span:nth-child(2){
.item-view-xiangmu span:nth-child(2) {
font-weight: normal;
color: #333333;
font-size: 30rpx;
}
.item-view-xiangmu span:nth-child(1){
.item-view-xiangmu span:nth-child(1) {
font-weight: normal;
color: #666666;
margin-right: 5rpx;
font-size: 30rpx;
}
.item-view-xiangmu{
.item-view-xiangmu {
width: 100%;
display: flex;
flex-direction: row;
@ -293,7 +324,8 @@
font-size: 25rpx;
align-items: flex-end;
}
.item-view-title{
.item-view-title {
font-weight: bold;
font-size: 32rpx;
color: #333333;
@ -301,22 +333,25 @@
text-overflow: ellipsis;
white-space: nowrap;
}
.item-view{
width:60%;
.item-view {
width: 60%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
justify-content: space-between;
padding:5rpx 0;
padding: 5rpx 0;
}
.item-img{
width: 240rpx;
height: 200rpx;
border-radius: 14rpx;
position: relative;
.item-img {
width: 240rpx;
height: 200rpx;
border-radius: 14rpx;
position: relative;
}
.img-span{
.img-span {
padding: 2px 5px;
font-weight: 400;
font-size: 8px;
@ -329,24 +364,27 @@
margin-bottom: 5px;
margin-right: 5px;
}
.item-img image{
.item-img image {
width: 100%;
height: 100%;
border-radius: 14rpx;
}
.item {
width: 100%;
margin: 0 auto ;
margin: 0 auto;
display: flex;
flex-direction: row;
justify-content: space-between;
/*height: 140px;*/
background: #FFFFFF;
border-radius: 21rpx;
margin-top:10px;
margin-top: 10px;
align-items: center;
padding:20rpx;
padding: 20rpx;
}
.item-detail {
padding: 5rpx 15rpx;
border-radius: 10rpx;
@ -363,21 +401,25 @@
width: 100%;
background-color: #eeeeee;
}
/deep/.zp-paging-container{
/deep/.zp-paging-container {
background-color: #f7f7f7;
width:100%;
width: 100%;
}
/deep/.zp-paging-container-content{
/deep/.zp-paging-container-content {
width: 95%;
margin: 0 auto;
}
.fenlei{
.fenlei {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.index-fenl-title{
.index-fenl-title {
width: 81rpx;
text-align: center;
position: relative;
@ -386,37 +428,43 @@
align-items: center;
font-weight: bold;
font-size: 34rpx;
color:#019C88;
color: #019C88;
}
.index-fenl-title-bottom{
.index-fenl-title-bottom {
position: absolute;
bottom: 0;
margin-bottom: 0px;
width: 81rpx;
height: 14rpx;
border-radius: 7rpx;
background: linear-gradient(-48deg,rgba(1, 156, 136, 0.35),rgba(45, 196, 142, 0.35));
background: linear-gradient(-48deg, rgba(1, 156, 136, 0.35), rgba(45, 196, 142, 0.35));
}
/deep/.uni-searchbar__cancel{
/deep/.uni-searchbar__cancel {
display: none;
}
.search-btn{
.search-btn {
text-align: center;
color: #019c88;
font-weight: bold;
position: absolute;
right:40rpx;
right: 40rpx;
top: 20rpx;
font-size: 30rpx;
display: flex;
align-items: center;
}
/deep/.uni-searchbar__box-icon-search,.search-btn{
/deep/.uni-searchbar__box-icon-search,
.search-btn {
width: 110rpx;
height: 50rpx;
}
/deep/.uni-searchbar__box{
height:34px;
/deep/.uni-searchbar__box {
height: 34px;
border-radius: 30px !important;
background-color: #fff !important;
border: 1px solid #09a28a;
@ -425,20 +473,23 @@
flex-flow: row-reverse;
position: relative;
}
/deep/.uni-searchbar{
width:250px;
/deep/.uni-searchbar {
width: 250px;
border-radius: 31rpx;
padding-right: 24rpx;
}
.service-head-top-left image{
.service-head-top-left image {
width: 20px;
height: 20rpx;
margin-right:5px;
margin-right: 5px;
margin-left: 10rpx;
}
.service-head-top-left span{
height:100rpx;
background:url('../../static/images/headline.png') 0rpx 50rpx;
.service-head-top-left span {
height: 100rpx;
background: url('../../static/images/headline.png') 0rpx 50rpx;
background-repeat: no-repeat;
font-weight: bold;
font-size: 34rpx;
@ -446,22 +497,26 @@
display: flex;
align-items: center;
}
.service-head-top-left{
.service-head-top-left {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.service-head-top{
height:90rpx;
.service-head-top {
height: 90rpx;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.view-cata{
.view-cata {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
</style>
</style>

View File

@ -35,6 +35,7 @@
{{mainData.oldPrice}}/{{mainData.serviceCount}}
</view>
</view>
<view class="xiaoer item-view-biao">{{mainData.levelName}}</view>
</view>
</view>
<view class="header-bottom-title-bottom">
@ -218,9 +219,9 @@
methods:{
details(item){//
if(item.usedQuantity){
item.id=this.mainData.id
// item.id=this.mainData.id
uni.navigateTo({
url:'/pages/my/orderDetailsList?id='+item.id+'&mainId='+this.mainId+'&name='+'疗程'
url:'/pages/my/orderDetailsList?id='+this.mainData.id+'&mainId='+this.mainId+'&name='+'疗程'
})
}else{
uni.showToast({
@ -657,7 +658,16 @@
}
that.$Request.get('/app/massage/packageDetail/findAppPage', data).then(res => {
if (res.code == 0) {
that.mainData=res.mainData;
if(res.mainData.level == 3){
res.mainData.levelName = "新手"
}
if(res.mainData.level == 4){
res.mainData.levelName = "专家"
}
if(res.mainData.level == 5){
res.mainData.levelName = "资深"
}
that.mainData=res.mainData;
that.detailData=res.detailData.list;
that.backgroundImageUrl=res.mainData.packageImg
that.contentImg=res.mainData.contentImg.split(",");
@ -673,7 +683,16 @@
limit: that.limit,
}
that.$Request.get('/app/user/package/detail/findMyPackageDetailList', data).then(res => {
if (res.code == 0) {
if (res.code == 0) {
if(res.data.mainData.level == 3){
res.data.mainData.levelName = "新手"
}
if(res.data.mainData.level == 4){
res.data.mainData.levelName = "专家"
}
if(res.data.mainData.level == 5){
res.data.mainData.levelName = "资深"
}
that.mainData=res.data.mainData;
that.detailData=res.data.detailData;
that.contentImg=that.mainData.contentImg.split(",");
@ -1326,4 +1345,14 @@
font-size: 17px;
text-align: center;
}
.xiaoer {
background-color: #f1f8d7;
color: #58b314;
}
.item-view-biao {
margin: 8px 0px;
border-radius: 10rpx 3rpx 10rpx 3rpx;
width: 50px;
text-align: center;
}
</style>

View File

@ -632,9 +632,6 @@
}
})
}
},
youhui(link) { //
if (this.userId) {
@ -723,6 +720,27 @@
})
}
},
itemClick(item) {
let limit = 10;
let page = 1;
if(item.type=='104'){
uni.navigateTo({
url:'/pages/my/serviceOderDrtail?id='+item.id+'&limit='+limit+'&page='+page+'&name='+'index'+'&isCanCoupon='+item.isCanCoupon
})
}else if(item.type=='105'){
uni.navigateTo({
url:'/pages/my/cikarDrtail?id='+item.id+'&limit='+limit+'&page='+page+'&name='+'index'+'&isCanCoupon='+item.isCanCoupon
})
}else if(item.type=='106'){
uni.navigateTo({
url:'/pages/my/fuwuliaochengDetail?id='+item.id+'&limit='+limit+'&page='+page+'&name='+'index'+'&isCanCoupon='+item.isCanCoupon
})
}else{
uni.navigateTo({
url:'/pages/my/fuwuDateil?id='+item.id+'&limit='+limit+'&page='+page+'&name='+'index'+'&isCanCoupon='+item.isCanCoupon
})
}
}
}
}
</script>

View File

@ -29,7 +29,7 @@
<view class="item-view">
<view class="view-cata">
<view class="item-view-title">{{item.title}}</view>
<!-- <span class="xiaoer item-view-biao">{{item.classifyName}}</span> -->
<span class="xiaoer item-view-biao">{{item.levelName}}</span>
</view>
<view class="item-view-bottom-qian">
<span></span>
@ -164,6 +164,15 @@
this.$Request.get('/app/massage/package/findPage',params).then(res => {
for(var i=0;i<res.data.list.length;i++){
res.data.list[i].tagsData=res.data.list[i].labels.split(',');
if(res.data.list[i].level == 3){
res.data.list[i].levelName = "新手"
}
if(res.data.list[i].level == 4){
res.data.list[i].levelName = "专家"
}
if(res.data.list[i].level == 5){
res.data.list[i].levelName = "资深"
}
}
this.$refs.paging.complete(res.data.list);
}).catch(res => {
@ -311,6 +320,8 @@
.item-view-biao{
padding: 1px 5px;
border-radius: 15rpx 3rpx 15rpx 3rpx;
width: 50px;
text-align: center;
}
.tuina{
background-color:#d1f2df;
@ -543,5 +554,6 @@
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
</style>

View File

@ -64,6 +64,7 @@
<view class="detail-foot-list" v-for="(item,index) in detailData" :key="index" @click="detail(item)">
<view class="detail-foot-list-top">
<span style="margin-right: 5px;">{{item.title}}</span>
<span style="margin-left: 5px;">{{mainData.levelName}}</span>
</view>
<view class="detail-view" style="position: relative;">
<image class="detail-view-img" :src="item.massageImg" mode=""></image>
@ -79,7 +80,7 @@
{{item.oldPrice}}
</view>
</view>
<view class="service-more" @click.stop="xiangqing(item)">{{item.status=='1'?'详情':'预约'}}</view>
<view class="service-more" @click.stop="xiangqing(item)">{{item.status=='1'?'订单':'预约'}}</view>
</view>
<view style="color: #019c88; font-size: 26rpx;">服务时长:{{item.duration}}分钟</view>
<view class="tese">
@ -182,9 +183,8 @@
},
xiangqing(item){
if(item.status=='1'){
item.id=this.mainData.id
uni.navigateTo({
url:'/pages/my/orderDetailsList?id='+item.id+'&mainId='+this.mainId+'&name='+'秒杀'
url:'/pages/my/orderDetailsList?id='+this.mainData.id+'&name='+'秒杀'
})
}else{
uni.navigateTo({
@ -196,18 +196,17 @@
},
detail(item){
if(item.status=='1'){
uni.showToast({
title:'该项目已使用!'
})
}else{
// if(item.status=='1'){
// uni.showToast({
// title:'使'
// })
// }else{
uni.navigateTo({
url:'/pages/my/myMsOderDrtail?mainId='+item.mainId+'&id='+item.id+
'&massageTypeId='+item.massageTypeId+
'&page='+1+
'&limit='+10
'&status='+item.status
})
}
// }
},
getData(){
@ -219,6 +218,15 @@
}
that.$Request.get('/app/user/package/detail/findMyPackageDetailList',data).then(res => {
if (res.code == 0) {
if(res.data.mainData.level == 3){
res.data.mainData.levelName = "新手"
}
if(res.data.mainData.level == 4){
res.data.mainData.levelName = "专家"
}
if(res.data.mainData.level == 5){
res.data.mainData.levelName = "资深"
}
that.mainData=res.data.mainData;
that.detailData=res.data.detailData;
that.backgroundImageUrl=that.mainData.packageImg;
@ -502,7 +510,7 @@
color: #3F3F3F;
}
.detail-foot-list-top span:nth-child(2){
width: 76rpx;
/* width: 76rpx;
height: 33rpx;
line-height: 33rpx;
text-align: center;
@ -511,7 +519,13 @@
font-weight: 400;
font-size: 20rpx;
color: #777777;
margin: 0px 25px 0px 5px;
margin: 0px 25px 0px 5px; */
padding: 1px 8px;
border-radius: 10rpx 3rpx 10rpx 3rpx;
width: 50px;
text-align: center;
background-color: #f1f8d7;
color: #58b314;
}
.detail-foot-list-top span:nth-child(3){
font-size: 30rpx;

View File

@ -27,7 +27,7 @@
<span>{{getList.title}}</span>
<!-- <span class="header-bottom-title-liao">
套餐
</span> -->
</span> -->
</view>
<view class="header-bottom-title-num">
<span>{{getList.sales}}</span>
@ -45,6 +45,7 @@
{{getList.oldPrice}}
</view>
</view>
<view class="xiaoer item-view-biao">{{getList.levelName}}</view>
</view>
</view>
<view class="header-bottom-foot">
@ -169,6 +170,15 @@
}
that.$Request.get('/app/user/package/detail/getMyPackageDetail', data).then(res => {
if (res.code == 0) {
if(res.data.level == 3){
res.data.levelName = "新手"
}
if(res.data.level == 4){
res.data.levelName = "专家"
}
if(res.data.level == 5){
res.data.levelName = "资深"
}
that.getList=res.data;
that.backgroundImageUrl=that.getList.massageImg
// that.labels=res.data.labels.split(',');
@ -603,4 +613,14 @@
flex-direction: column;
align-items: center;
}
.xiaoer {
background-color: #f1f8d7;
color: #58b314;
}
.item-view-biao {
margin: 8px 0px;
border-radius: 10rpx 3rpx 10rpx 3rpx;
width: 50px;
text-align: center;
}
</style>

View File

@ -1,7 +1,7 @@
<!-- 自定义下拉刷新与上拉加载演示(vue) -->
<template>
<view class="content">
<z-paging ref="paging" v-model="dataList" @query="queryList" >
<z-paging ref="paging" v-model="dataList" @query="queryList">
<!-- 需要固定在顶部不滚动的view放在slot="top"的view中如果需要跟着滚动则不要设置slot="top" -->
<!-- 注意此处的z-tabs为独立的组件可替换为第三方的tabs若需要使用z-tabs请在插件市场搜索z-tabs并引入否则会报插件找不到的错误 -->
<template #top>
@ -11,11 +11,12 @@
<image style="width: 136rpx; height:40rpx ;" src="../../static/seckill4.png"></image>
</view>
<view>
<uni-search-bar @service="serviceTrue" @confirm="search" :cancelext="'取消'" v-model="searchValue" @input="input"
@clear="clear">
<uni-search-bar @service="serviceTrue" @confirm="search" :cancelext="'取消'" v-model="searchValue"
@input="input" @clear="clear">
</uni-search-bar>
<view class="search-btn" @click="searchBtn">
<image style="width:30rpx; height:30rpx; margin-right: 10rpx;" src="../../static/search.png"></image>
<image style="width:30rpx; height:30rpx; margin-right: 10rpx;"
src="../../static/search.png"></image>
搜索
</view>
</view>
@ -29,37 +30,39 @@
<!-- 注意注意注意字节跳动小程序中自定义下拉刷新不支持slot-scope将导致custom-refresher无法显示 -->
<!-- 如果是字节跳动小程序请参照sticky-demo.vue中的写法此处使用slot-scope是为了减少data中无关变量声明降低依赖 -->
<!-- <template #refresher="{refresherStatus}" >-->
<!-- 此处的custom-refresh为demo中自定义的组件非z-paging的内置组件请在实际项目中自行创建这里插入什么view下拉刷新就显示什么view -->
<!-- <custom-refresher :status="refresherStatus" />-->
<!-- </template>-->
<!-- <template #refresher="{refresherStatus}" >-->
<!-- 此处的custom-refresh为demo中自定义的组件非z-paging的内置组件请在实际项目中自行创建这里插入什么view下拉刷新就显示什么view -->
<!-- <custom-refresher :status="refresherStatus" />-->
<!-- </template>-->
<!-- 自定义没有更多数据view -->
<template #loadingMoreNoMore >
<template #loadingMoreNoMore>
<!-- 此处的custom-nomore为demo中自定义的组件非z-paging的内置组件请在实际项目中自行创建这里插入什么view没有更多数据就显示什么view -->
<custom-nomore />
</template>
<!-- 如果希望其他view跟着页面滚动可以放在z-paging标签内 -->
<view class="item" v-for="(item,index) in dataList" :key="index" @click="itemClick(item)" >
<view class="item" v-for="(item,index) in dataList" :key="index" @click="itemClick(item)">
<!-- <view class="item-title">{{item.title}}</view>
<view class="item-detail">{{item.detail}}</view> -->
<!-- <view class="item-line"></view> -->
<view class="item-img">
<image :src="item.packageImg" mode=""></image>
<span class="img-span" v-if="text=='my'">{{item.status=='1'?'未用完':item.status=='2'?'退款':item.status=='9'?'已用完':'其他'}}</span>
<span class="img-span"
v-if="text=='my'">{{item.status=='1'?'未用完':item.status=='2'?'退款':item.status=='9'?'已用完':'其他'}}</span>
</view>
<view class="item-view" v-if="text=='index'">
<view class="view-cata">
<view class="item-view-title">{{item.title}}</view>
<span class="xiaoer item-view-biao">{{item.levelName}}</span>
</view>
<view class="flex" style="margin-top: 10rpx;">
<view class="shop_label" v-if="item.tagsData!=''">
<span v-for="tag in item.tagsData" :key="tag">{{tag}}</span>
</view>
<view class="shop_label" v-else>
<span>助眠解压</span>
</view>
</view>
<view class="flex" style="margin-top: 10rpx;">
<view class="shop_label" v-if="item.tagsData!=''">
<span v-for="tag in item.tagsData" :key="tag">{{tag}}</span>
</view>
<view class="shop_label" v-else>
<span>助眠解压</span>
</view>
</view>
<view class="pace-plan">
<view class="pace-text"><span>{{item.duration}}</span><span>分钟</span></view>
</view>
@ -77,21 +80,21 @@
<view class="item-view" v-else>
<view class="view-cata">
<view class="item-view-title">{{item.title}}</view>
<!-- <span class="xiaoer item-view-biao">{{item.classifyName}}</span> -->
<span class="xiaoer item-view-biao">{{item.levelName}}</span>
</view>
<view class="item-view-bottom-qian">
<span></span>
<span>{{item.price}}</span>
<span>{{item.oldPrice}}</span>
</view>
<view class="flex" style="margin-top: 10rpx;">
<view class="shop_label" v-if="item.tagsData!=''">
<span v-for="tag in item.tagsData" :key="tag">{{tag}}</span>
</view>
<view class="shop_label" v-else>
<span>助眠解压</span>
</view>
</view>
<view class="flex" style="margin-top: 10rpx;">
<view class="shop_label" v-if="item.tagsData!=''">
<span v-for="tag in item.tagsData" :key="tag">{{tag}}</span>
</view>
<view class="shop_label" v-else>
<span>助眠解压</span>
</view>
</view>
<view class="item-view-bottom">
<view class="item-view-xiangmu">
<span>已售</span><span>{{item.sales}} <!-- | 好评{{item.esteemRate}}% --></span>
@ -115,32 +118,32 @@
// v-model
dataList: [],
tabList: [],
typeData:'105',
typeData: '105',
tabIndex: 0,
searchValue:'',
serviceTrue:true,
page:1,
limit:10,
titleNmae:'',
tagsData:[],
text:''
searchValue: '',
serviceTrue: true,
page: 1,
limit: 10,
titleNmae: '',
tagsData: [],
text: ''
}
},
onLoad(e){
onLoad(e) {
this.myId = uni.getStorageSync('userId');
this.text=e.text
this.text = e.text
// this.getData()
},
methods: {
input(res) {//
this.searchValue=res;
input(res) { //
this.searchValue = res;
},
searchBtn(){//
if(this.searchValue!=""){
searchBtn() { //
if (this.searchValue != "") {
this.getData()
}
},
getData(){
getData() {
// let data = {
// userId: this.myId,
// type: '111',
@ -185,22 +188,40 @@
page: pageNo,
limit: pageSize,
type: '111',
title:this.searchValue,
title: this.searchValue,
}
if(this.text=='index'){//
this.$Request.get('/app/massage/package/findAppActivityPage',params).then(res => {
for(var i=0;i<res.data.list.length;i++){
res.data.list[i].tagsData=res.data.list[i].labels.split(',');
if (this.text == 'index') { //
this.$Request.get('/app/massage/package/findAppActivityPage', params).then(res => {
for (var i = 0; i < res.data.list.length; i++) {
res.data.list[i].tagsData = res.data.list[i].labels.split(',');
if(res.data.list[i].level == 3){
res.data.list[i].levelName = "新手"
}
if(res.data.list[i].level == 4){
res.data.list[i].levelName = "专家"
}
if(res.data.list[i].level == 5){
res.data.list[i].levelName = "资深"
}
}
this.$refs.paging.complete(res.data.list);
}).catch(res => {
this.$refs.paging.complete(false);
})
}else{
this.$Request.get('/app/user/package/findMyPackageList',params).then(res => {
for(var i=0;i<res.data.records.length;i++){
res.data.records[i].tagsData=res.data.records[i].labels.split(',');
}
} else {
this.$Request.get('/app/user/package/findMyPackageList', params).then(res => {
for (var i = 0; i < res.data.records.length; i++) {
res.data.records[i].tagsData = res.data.records[i].labels.split(',');
if(res.data.records[i].level == 3){
res.data.records[i].levelName = "新手"
}
if(res.data.records[i].level == 4){
res.data.records[i].levelName = "专家"
}
if(res.data.records[i].level == 5){
res.data.records[i].levelName = "资深"
}
}
this.$refs.paging.complete(res.data.records);
}).catch(res => {
this.$refs.paging.complete(false);
@ -208,14 +229,14 @@
}
},
backImg(){//
if(this.text=='my'){
backImg() { //
if (this.text == 'my') {
uni.reLaunch({
url:'/pages/my/index'
url: '/pages/my/index'
})
}else{
} else {
uni.reLaunch({
url:'/pages/index/index'
url: '/pages/index/index'
})
}
},
@ -223,13 +244,15 @@
this.getData()
},
itemClick(item) {
if(this.text=='index'){
if (this.text == 'index') {
uni.navigateTo({
url:'/pages/my/newTeamlDetail?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+this.text
url: '/pages/my/newTeamlDetail?id=' + item.id + '&limit=' + this.limit + '&page=' + this
.page + '&name=' + this.text
})
}else{
} else {
uni.navigateTo({
url:'/pages/my/pinTuanOderDrtail?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+this.text
url: '/pages/my/pinTuanOderDrtail?id=' + item.id + '&limit=' + this.limit + '&page=' + this
.page + '&name=' + this.text
})
}
}
@ -238,12 +261,13 @@
</script>
<style scoped>
.shop_label{
.shop_label {
display: flex;
flex-wrap: wrap;
margin-top: 4rpx;
}
.shop_label span{
.shop_label span {
background: linear-gradient(90deg, #ffefde, #fff7ef);
height: 34rpx;
line-height: 34rpx;
@ -254,33 +278,38 @@
margin-bottom: 8rpx;
color: #f68607;
}
.shop-arrow{
.shop-arrow {
display: inline-block;
border-top: 1px solid;
border-right: 1px solid;
width: 7px;
height: 7px;
border-color: #999;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
margin-top: 7px;
border-top: 1px solid;
border-right: 1px solid;
width: 7px;
height: 7px;
border-color: #999;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
margin-top: 7px;
}
.pace-plan{
.pace-plan {
display: flex;
flex-direction: row;
margin-left: 10rpx;
}
.pace-text{
.pace-text {
font-size: 24rpx;
}
.pace-text span:nth-child(1){
.pace-text span:nth-child(1) {
color: #666;
}
.pace-text span:nth-child(2){
color: #666;
}
.pace{
.pace-text span:nth-child(2) {
color: #666;
}
.pace {
width: 60%;
height: 30rpx;
border-radius: 30rpx;
@ -288,54 +317,63 @@
font-size: 20rpx;
line-height: 30rpx;
}
.seckill-entry{
.seckill-entry {
display: flex;
flex-direction: row;
justify-content: space-between;
margin-top: 10rpx;
}
.seckill-money{
.seckill-money {
width: 74%;
background: #fff8f0;
border-radius: 10rpx 0 0 10rpx;
padding: 14rpx 10rpx;
}
.seckill-money span:nth-child(1){
.seckill-money span:nth-child(1) {
color: #666;
font-size: 24rpx;
text-decoration: line-through;
}
.seckill-money span:nth-child(2){
.seckill-money span:nth-child(2) {
color: #fc2d32;
font-weight: bold;
font-size: 24rpx;
}
.seckill-money span:nth-child(3){
.seckill-money span:nth-child(3) {
color: #fc2d32;
font-size: 30rpx;
}
.seckill-rob{
width:50%;
.seckill-rob {
width: 50%;
height: 60rpx;
background:#fb2d30 url('../../static/seckill4-1.png');
background: #fb2d30 url('../../static/seckill4-1.png');
background-size: 40% 100%;
background-repeat: no-repeat;
line-height: 60rpx;
border-radius: 0 10rpx 10rpx 0;
border-radius: 0 10rpx 10rpx 0;
text-indent: 70rpx;
}
.seckill-img{
.seckill-img {
width: 70rpx;
height: 70rpx;
position: absolute;
top:-18rpx;
left:-22rpx;
top: -18rpx;
left: -22rpx;
}
.seckill-text{
.seckill-text {
color: #fff;
font-size:26rpx;
font-size: 26rpx;
}
.item-view-bottom-btn{
.item-view-bottom-btn {
text-align: center;
width: 131rpx;
height: 55rpx;
@ -346,79 +384,97 @@
font-size: 28rpx;
color: #FFFFFF;
}
.item-view-bottom-qian span:nth-child(4){
font-size: 26rpx;
color: #848484;
text-decoration-line: line-through;
margin-left: 5px;
.item-view-bottom-qian span:nth-child(4) {
font-size: 26rpx;
color: #848484;
text-decoration-line: line-through;
margin-left: 5px;
}
.item-view-bottom-qian span:nth-child(3){
font-size: 28rpx;
color: #FF6000;
.item-view-bottom-qian span:nth-child(3) {
font-size: 28rpx;
color: #FF6000;
}
.item-view-bottom-qian span:nth-child(2){
font-weight: bold;
font-size: 36.81rpx;
color: #FF6000;
.item-view-bottom-qian span:nth-child(2) {
font-weight: bold;
font-size: 36.81rpx;
color: #FF6000;
}
.item-view-bottom-qian span:nth-child(1){
font-weight: 400;
font-size: 26rpx;
color: #FF6000;
.item-view-bottom-qian span:nth-child(1) {
font-weight: 400;
font-size: 26rpx;
color: #FF6000;
}
.item-view-bottom-qian{
margin-top: 2px;
.item-view-bottom-qian {
margin-top: 2px;
}
.item-view-bottom{
.item-view-bottom {
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.item-view-jianjie{
.item-view-jianjie {
font-weight: 400;
font-size: 24rpx;
color: #999;
margin:5px 0px;
margin: 5px 0px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
-webkit-line-clamp: 2;
/* 显示的行数,可以根据需要修改 */
overflow: hidden;
text-overflow: ellipsis;
}
.item-view-biao{
.item-view-biao {
padding: 1px 5px;
border-radius: 15rpx 3rpx 15rpx 3rpx;
}
.tuina{
background-color:#d1f2df;
width: 50px;
text-align: center;
}
.tuina {
background-color: #d1f2df;
color: #17984d;
}
.xiaoer{
background-color:#f1f8d7;
.xiaoer {
background-color: #f1f8d7;
color: #58b314;
}
.taishi{
background-color:#e5d5c6;
.taishi {
background-color: #e5d5c6;
color: #805d39;
}
.kangfu{
background-color:#fcf3da;
.kangfu {
background-color: #fcf3da;
color: #ff8600;
}
.item-view-xiangmu span:nth-child(2){
.item-view-xiangmu span:nth-child(2) {
font-weight: normal;
color: #333333;
font-size: 30rpx;
}
.item-view-xiangmu span:nth-child(1){
.item-view-xiangmu span:nth-child(1) {
font-weight: normal;
color: #666666;
margin-right: 5rpx;
font-size: 30rpx;
}
.item-view-xiangmu{
.item-view-xiangmu {
width: 100%;
display: flex;
flex-direction: row;
@ -426,7 +482,8 @@
font-size: 25rpx;
align-items: flex-end;
}
.item-view-title{
.item-view-title {
font-weight: bold;
font-size: 32rpx;
color: #333333;
@ -434,25 +491,29 @@
text-overflow: ellipsis;
white-space: nowrap;
}
.item-view{
width:60%;
/*height: 100%;*/
display: flex;
flex-direction: column;
justify-content: center;
justify-content: space-between;
padding:5rpx 0;
.item-view {
width: 60%;
/*height: 100%;*/
display: flex;
flex-direction: column;
justify-content: center;
justify-content: space-between;
padding: 5rpx 0;
}
.item-img{
width: 240rpx;
height: 200rpx;
border-radius: 14rpx;
position: relative;
.item-img {
width: 240rpx;
height: 200rpx;
border-radius: 14rpx;
position: relative;
}
.item-img img{
.item-img img {
border-radius: 14rpx;
}
.img-span{
.img-span {
padding: 2px 5px;
font-weight: 400;
font-size: 8px;
@ -465,24 +526,27 @@
margin-bottom: 5px;
margin-right: 5px;
}
.item-img image{
.item-img image {
width: 100%;
height: 100%;
border-radius: 14rpx;
}
.item {
width: 100%;
margin: 0 auto ;
margin: 0 auto;
display: flex;
flex-direction: row;
justify-content: space-between;
/*height: 140px;*/
background: #FFFFFF;
border-radius: 21rpx;
margin-top:10px;
margin-top: 10px;
align-items: center;
padding:20rpx;
padding: 20rpx;
}
.item-detail {
padding: 5rpx 15rpx;
border-radius: 10rpx;
@ -499,21 +563,25 @@
width: 100%;
background-color: #eeeeee;
}
/deep/.zp-paging-container{
/deep/.zp-paging-container {
background-color: #f7f7f7;
width:100%;
width: 100%;
}
/deep/.zp-paging-container-content{
/deep/.zp-paging-container-content {
width: 95%;
margin:0px auto 0px auto;
margin: 0px auto 0px auto;
}
.fenlei{
.fenlei {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.index-fenl-title{
.index-fenl-title {
width: 81rpx;
text-align: center;
position: relative;
@ -522,37 +590,43 @@
align-items: center;
font-weight: bold;
font-size: 34rpx;
color:#019C88;
color: #019C88;
}
.index-fenl-title-bottom{
.index-fenl-title-bottom {
position: absolute;
bottom: 0;
margin-bottom: 0px;
width: 81rpx;
height: 14rpx;
border-radius: 7rpx;
background: linear-gradient(-48deg,rgba(1, 156, 136, 0.35),rgba(45, 196, 142, 0.35));
background: linear-gradient(-48deg, rgba(1, 156, 136, 0.35), rgba(45, 196, 142, 0.35));
}
/deep/.uni-searchbar__cancel{
/deep/.uni-searchbar__cancel {
display: none;
}
.search-btn{
.search-btn {
text-align: center;
color: #019c88;
font-weight: bold;
position: absolute;
right:40rpx;
right: 40rpx;
top: 20rpx;
font-size: 30rpx;
display: flex;
align-items: center;
}
/deep/.uni-searchbar__box-icon-search,.search-btn{
/deep/.uni-searchbar__box-icon-search,
.search-btn {
width: 110rpx;
height: 50rpx;
}
/deep/.uni-searchbar__box{
height:34px;
/deep/.uni-searchbar__box {
height: 34px;
border-radius: 30px !important;
background-color: #fff !important;
border: 1px solid #09a28a;
@ -561,43 +635,50 @@
flex-flow: row-reverse;
position: relative;
}
/deep/.uni-searchbar{
width:250px;
/deep/.uni-searchbar {
width: 250px;
border-radius: 31rpx;
padding-right: 24rpx;
}
.service-head-top-left image{
.service-head-top-left image {
width: 20px;
height: 20rpx;
margin-right:5px;
margin-right: 5px;
margin-left: 10rpx;
}
.service-head-top-left span{
.service-head-top-left span {
width: 180rpx;
height: 60rpx;
background:url('../../static/images/headline.png') 0rpx 26rpx;
background: url('../../static/images/headline.png') 0rpx 26rpx;
background-repeat: no-repeat;
font-weight: bold;
font-size: 34rpx;
color: #171717;
margin-top: 14rpx;
}
.service-head-top-left{
.service-head-top-left {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.service-head-top{
height:90rpx;
.service-head-top {
height: 90rpx;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.view-cata{
.view-cata {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
</style>
</style>

View File

@ -18,7 +18,7 @@
</view>
<view class="group-buy-right">
<view class="group-text">距结束仅剩</view>
<u-count-down :timestamp="endOfServiceTimer" @change="onCountdownChange"></u-count-down>
<u-count-down :timestamp="endOfServiceTimer" @change="onCountdownChange"></u-count-down>
<!-- <uni-countdown :show-day="false" :font-size="13" :day="day" :hour="hours" :minute="minutes" :second="seconds" /> -->
<!-- <view><span>08</span>:<span>08</span>:<span>08</span></view> -->
</view>
@ -35,7 +35,7 @@
</view>
<view class="header-bottom-title-num">
<span> 已拼</span>
<span>16</span>
<span>{{mainData.sales}}</span>
<span> </span>
</view>
</view>
@ -43,7 +43,8 @@
(人人可开团·仅新用户参团)
</view>
<view class="tewmork-key">
<span v-for="item in labels" :key="item">{{item}}</span>
<view class="header-bottom-money1"><span v-for="item in labels" :key="item">{{item}}</span></view>
<view class="xiaoer item-view-biao">{{mainData.levelName}}</view>
</view>
</view>
</view>
@ -60,7 +61,9 @@
<view class="flex" style="align-items: center;">
<view class="teamwork-se">
<view>还差<span class="team-text">{{itema.lessNum}}</span>拼成</view>
<view>剩余<u-count-down :timestamp="endOfServiceTimer" @change="onCountdownChange"></u-count-down></view>
<!-- <view>剩余</text>
<u-count-down :timestamp="endOfServiceTimer" @change="onCountdownChange"></u-count-down>
</view> -->
</view>
<view class="teamwork-button" :class="[newTime<=0?'hBtn':'aBtn']" @click="goumai(mainData,itema.groupNo)" v-if="mainData.isNewer!='1'&&newTime>0">去拼团</view>
</view>
@ -92,7 +95,7 @@
</view>
</view>
<view class="detail-btn" :class="[newTime<=0?'hBtn':'aBtn']" @click="goumai(mainData,'null',detailData)" v-if="mainData.isNewer!='1'&&newTime>0">
<view class="detail-btn" :class="[newTime<=0?'hBtn':'aBtn']" @click="goumai(mainData,'',detailData)" v-if="mainData.isNewer!='1'&&newTime>0">
<span>{{mainData.price}}</span>
<span> 一键开团</span>
</view>
@ -205,7 +208,6 @@
this.hours=hours;
this.minutes=minutes;
this.seconds=seconds;
console.log("asdsadasdasdasd",this.day,this.hours,this.minutes,this.seconds)
},
getData(){
var that=this;
@ -218,8 +220,16 @@
that.$Request.get('/app/massage/package/getAppGroupDetail', data).then(res => {
console.log(res);
if (res.code == 0) {
if(res.groupData.level == 3){
res.groupData.levelName = "新手"
}
if(res.groupData.level == 4){
res.groupData.levelName = "专家"
}
if(res.groupData.level == 5){
res.groupData.levelName = "资深"
}
that.mainData=res.groupData;
that.ordersData=res.ordersData;
that.backgroundImageUrl=res.groupData.packageImg
that.contentImg=res.groupData.contentImg.split(",");
@ -245,6 +255,15 @@
}
that.$Request.get('/app/user/package/detail/findMyPackageDetailList', data).then(res => {
if (res.code == 0) {
if(res.data.mainData.level == 3){
res.data.mainData.levelName = "新手"
}
if(res.data.mainData.level == 4){
res.data.mainData.levelName = "专家"
}
if(res.data.mainData.level == 5){
res.data.mainData.levelName = "资深"
}
that.mainData=res.data.mainData;
that.detailData=res.data.detailData;
that.contentImg=that.mainData.contentImg.split(",");
@ -1011,8 +1030,10 @@
margin-top: 12rpx;
}
.tewmork-key{
display: flex;
text-align: center;
display: flex;
text-align: center;
justify-content: space-between;
height: 30px;
}
.tewmork-key span{
height: 30rpx;
@ -1025,4 +1046,14 @@
margin-right: 6rpx;
margin-top: 6rpx;
}
.xiaoer {
background-color: #f1f8d7;
color: #58b314;
}
.item-view-biao {
margin: 4px 0px;
border-radius: 10rpx 3rpx 10rpx 3rpx;
width: 50px;
text-align: center;
}
</style>

View File

@ -1,22 +1,24 @@
<!-- 自定义下拉刷新与上拉加载演示(vue) -->
<template>
<view class="content">
<z-paging ref="paging" v-model="dataList" @query="queryList" >
<z-paging ref="paging" v-model="dataList" @query="queryList">
<!-- 需要固定在顶部不滚动的view放在slot="top"的view中如果需要跟着滚动则不要设置slot="top" -->
<!-- 注意此处的z-tabs为独立的组件可替换为第三方的tabs若需要使用z-tabs请在插件市场搜索z-tabs并引入否则会报插件找不到的错误 -->
<template #top>
<view class="service-head-top">
<view class="service-head-top-left">
<image class="service-fh" @click="backImg" src="../../static/fanhui.png" mode="widthFix"></image>
<image class="service-img" src="../../static/seckill.png"></image>
<image class="service-fh" @click="backImg" src="../../static/fanhui.png" mode="widthFix">
</image>
<image class="service-img" src="../../static/seckill.png"></image>
</view>
<view>
<uni-search-bar @service="serviceTrue" @confirm="search" :cancelext="'取消'" v-model="searchValue" @input="input"
@clear="clear">
<uni-search-bar @service="serviceTrue" @confirm="search" :cancelext="'取消'" v-model="searchValue"
@input="input" @clear="clear">
</uni-search-bar>
<view class="search-btn" @click="searchBtn">
<image style="width:30rpx; height:30rpx; margin-right: 10rpx;" src="../../static/search.png"></image>
搜索
<image style="width:30rpx; height:30rpx; margin-right: 10rpx;"
src="../../static/search.png"></image>
搜索
</view>
</view>
</view>
@ -29,48 +31,49 @@
<!-- 注意注意注意字节跳动小程序中自定义下拉刷新不支持slot-scope将导致custom-refresher无法显示 -->
<!-- 如果是字节跳动小程序请参照sticky-demo.vue中的写法此处使用slot-scope是为了减少data中无关变量声明降低依赖 -->
<!-- <template #refresher="{refresherStatus}" > -->
<!-- 此处的custom-refresh为demo中自定义的组件非z-paging的内置组件请在实际项目中自行创建这里插入什么view下拉刷新就显示什么view -->
<!-- <custom-refresher :status="refresherStatus" />
<!-- <template #refresher="{refresherStatus}" > -->
<!-- 此处的custom-refresh为demo中自定义的组件非z-paging的内置组件请在实际项目中自行创建这里插入什么view下拉刷新就显示什么view -->
<!-- <custom-refresher :status="refresherStatus" />
</template> -->
<!-- 自定义没有更多数据view -->
<template #loadingMoreNoMore >
<template #loadingMoreNoMore>
<!-- 此处的custom-nomore为demo中自定义的组件非z-paging的内置组件请在实际项目中自行创建这里插入什么view没有更多数据就显示什么view -->
<custom-nomore />
</template>
<!-- 如果希望其他view跟着页面滚动可以放在z-paging标签内 -->
<view class="item" v-for="(item,index) in dataList" :key="index" @click="itemClick(item)" >
<view class="item" v-for="(item,index) in dataList" :key="index" @click="itemClick(item)">
<!-- <view class="item-title">{{item.title}}</view>
<view class="item-detail">{{item.detail}}</view> -->
<!-- <view class="item-line"></view> -->
<view class="item-img">
<image :src="item.packageImg" mode=""></image>
<span class="img-span" v-if="text=='my'">{{item.status=='1'?'未用完':item.status=='2'?'退款':item.status=='9'?'已用完':'其他'}}</span>
<span class="img-span"
v-if="text=='my'">{{item.status=='1'?'未用完':item.status=='2'?'退款':item.status=='9'?'已用完':'其他'}}</span>
</view>
<view class="item-view">
<view class="view-cata">
<view class="item-view-title">{{item.title}}</view>
<!-- <view class="xiaoer item-view-biao">{{item.classifyName}}</view> -->
<view class="xiaoer item-view-biao">{{item.levelName}}</view>
</view>
<view class="item-view-bottom-qian">
<span></span>
<span>{{item.price}}</span>
<!-- <span>/{{item.serviceCount}}</span> -->
<span>{{item.oldPrice}}</span>
</view>
<view class="flex" style="margin-top: 10rpx;">
<view class="item-view-bottom-qian">
<span></span>
<span>{{item.price}}</span>
<!-- <span>/{{item.serviceCount}}</span> -->
<span>{{item.oldPrice}}</span>
</view>
<view class="flex" style="margin-top: 10rpx;">
<view class="shop_label" v-if="item.tagsData!=''">
<span v-for="tag in item.tagsData" :key="tag">{{tag}}</span>
</view>
<view class="shop_label" v-else>
<span>助眠解压</span>
</view>
</view>
<view class="item-view-bottom" v-if="text=='index'">
<view class="item-view-xiangmu">
<span>已售</span><span>{{item.sales}} <!-- | 好评{{item.esteemRate}}% --></span>
</view>
<view class="item-view-bottom" v-if="text=='index'">
<view class="item-view-xiangmu">
<span>已售</span><span>{{item.sales}} <!-- | 好评{{item.esteemRate}}% --></span>
</view>
<view class="item-view-bottom-btn" v-if="item.isStart=='true'">
开抢
</view>
@ -78,14 +81,14 @@
开抢
</view>
</view>
<view class="item-view-bottom" v-if="text=='my'">
<view class="item-view-xiangmu">
<span>已售</span><span>{{item.sales}} <!-- | 好评{{item.esteemRate}}% --></span>
<view class="item-view-bottom" v-if="text=='my'">
<view class="item-view-xiangmu">
<span>已售</span><span>{{item.sales}} <!-- | 好评{{item.esteemRate}}% --></span>
</view>
<view class="item-view-bottom-btn">
预约
</view>
</view>
<view class="item-view-bottom-btn">
预约
</view>
</view>
</view>
</view>
</z-paging>
@ -101,32 +104,32 @@
// v-model
dataList: [],
tabList: [],
typeData:'112',
typeData: '112',
tabIndex: 0,
searchValue:'',
serviceTrue:true,
page:1,
limit:10,
titleNmae:'',
tagsData:[],
text:''
searchValue: '',
serviceTrue: true,
page: 1,
limit: 10,
titleNmae: '',
tagsData: [],
text: ''
}
},
onLoad(e){
onLoad(e) {
this.myId = uni.getStorageSync('userId')
this.text=e.text
this.text = e.text
// this.getData()
},
methods: {
input(res) {//
this.searchValue=res;
input(res) { //
this.searchValue = res;
},
searchBtn(){//
if(this.searchValue!=""){
searchBtn() { //
if (this.searchValue != "") {
this.getData()
}
},
getData(){
getData() {
// console.log("getData");
// let data = {
// userId: this.myId,
@ -171,29 +174,48 @@
type: '112',
title: this.searchValue
}
if(this.text=='index'){//
this.$Request.get('/app/massage/package/findAppActivityPage',params).then(res => {
if (this.text == 'index') { //
this.$Request.get('/app/massage/package/findAppActivityPage', params).then(res => {
var timestamp = (new Date()).getTime();
for(var i=0;i<res.data.list.length;i++){
var tagsData=res.data.list[i].labels.split(',');
for (var i = 0; i < res.data.list.length; i++) {
var tagsData = res.data.list[i].labels.split(',');
res.data.list[i].tagsData = tagsData;
var time= new Date(res.data.list[i].startTime).getTime();
if(time < timestamp){
var time = new Date(res.data.list[i].startTime).getTime();
if (time < timestamp) {
res.data.list[i].isStart = 'true';
}else{
} else {
res.data.list[i].isStart = 'false';
}
if (res.data.list[i].level == 3) {
res.data.list[i].levelName = "新手"
}
if (res.data.list[i].level == 4) {
res.data.list[i].levelName = "专家"
}
if (res.data.list[i].level == 5) {
res.data.list[i].levelName = "资深"
}
console.log(res.data.list[i])
}
this.$refs.paging.complete(res.data.list);
}).catch(res => {
this.$refs.paging.complete(false);
})
}else{
this.$Request.get('/app/user/package/findMyPackageList',params).then(res => {
console.log(res.data.records);
for(var i=0;i<res.data.records.length;i++){
res.data.records[i].tagsData=res.data.records[i].labels.split(',');
}
} else {
this.$Request.get('/app/user/package/findMyPackageList', params).then(res => {
console.log(res.data.records);
for (var i = 0; i < res.data.records.length; i++) {
res.data.records[i].tagsData = res.data.records[i].labels.split(',');
if(res.data.records[i].level == 3){
res.data.records[i].levelName = "新手"
}
if(res.data.records[i].level == 4){
res.data.records[i].levelName = "专家"
}
if(res.data.records[i].level == 5){
res.data.records[i].levelName = "资深"
}
}
this.$refs.paging.complete(res.data.records);
}).catch(res => {
this.$refs.paging.complete(false);
@ -201,14 +223,14 @@
}
},
backImg(){//
if(this.text=='my'){
backImg() { //
if (this.text == 'my') {
uni.reLaunch({
url:'/pages/my/index'
url: '/pages/my/index'
})
}else{
} else {
uni.reLaunch({
url:'/pages/index/index'
url: '/pages/index/index'
})
}
},
@ -216,13 +238,15 @@
this.getData()
},
itemClick(item) {
if(this.text=='index'){
if (this.text == 'index') {
uni.navigateTo({
url:'/pages/my/newseckilldetails?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+this.text
url: '/pages/my/newseckilldetails?id=' + item.id + '&limit=' + this.limit + '&page=' + this
.page + '&name=' + this.text
})
}else{
} else {
uni.navigateTo({
url:'/pages/my/miaoShaOderDrtail?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+this.text
url: '/pages/my/miaoShaOderDrtail?id=' + item.id + '&limit=' + this.limit + '&page=' + this
.page + '&name=' + this.text
})
}
}
@ -231,25 +255,28 @@
</script>
<style scoped>
.pace-plan{
.pace-plan {
display: flex;
flex-direction: row;
padding: 20rpx 0;
align-items: center;
}
.pace-text{
.pace-text {
font-size: 24rpx;
}
.pace-text span:nth-child(1){
.pace-text span:nth-child(1) {
color: #666;
}
.pace-text span:nth-child(2){
.pace-text span:nth-child(2) {
color: #019C88;
font-weight: bold;
}
}
.pace{
.pace {
/* width: 60%; */
padding: 0px 5px;
height: 30rpx;
@ -259,53 +286,61 @@
line-height: 30rpx;
}
.seckill-entry{
.seckill-entry {
display: flex;
flex-direction: row;
justify-content: space-between;
}
.seckill-money{
.seckill-money {
color: #fc2d32;
background: #fff8f0;
border-radius: 30rpx;
padding: 15rpx 20rpx;
}
.seckill-money span:nth-child(1){
.seckill-money span:nth-child(1) {
font-size: 24rpx;
}
.seckill-money span:nth-child(2){
.seckill-money span:nth-child(2) {
font-weight: bold;
font-size: 40rpx;
}
.seckill-money span:nth-child(3){
.seckill-money span:nth-child(3) {
font-size: 24rpx;
}
.seckill-rob{
.seckill-rob {
width: 80px;
height: 50rpx;
background: linear-gradient(90deg, #fb2d30, #fc2e37);
border-radius: 5rpx 8rpx 30rpx 8rpx ;
border-radius: 5rpx 8rpx 30rpx 8rpx;
position: relative;
padding-left: 55rpx;
line-height: 50rpx;
margin-top: 15rpx;
}
.seckill-img{
.seckill-img {
width: 70rpx;
height: 70rpx;
position: absolute;
top:-18rpx;
left:-22rpx;
top: -18rpx;
left: -22rpx;
}
.seckill-text{
.seckill-text {
font-size: 40rpx;
color: #fff;
font-weight: bold;
font-style:italic;
font-style: italic;
}
.item-view-bottom-btn{
.item-view-bottom-btn {
text-align: center;
width: 131rpx;
height: 55rpx;
@ -316,7 +351,8 @@
font-size: 28rpx;
color: #FFFFFF;
}
.item-view-bottom-btn-un{
.item-view-bottom-btn-un {
text-align: center;
width: 131rpx;
height: 55rpx;
@ -327,89 +363,104 @@
font-size: 28rpx;
color: #FFFFFF;
}
.item-view-bottom-qian span:nth-child(5){
font-size: 28rpx;
color: #848484;
text-decoration-line: line-through;
}
.item-view-bottom-qian span:nth-child(3){
font-size: 28rpx;
color: #848484;
text-decoration-line: line-through;
margin-left: 5px;
.item-view-bottom-qian span:nth-child(5) {
font-size: 28rpx;
color: #848484;
text-decoration-line: line-through;
}
.item-view-bottom-qian span:nth-child(2){
font-weight: bold;
font-size: 36.81rpx;
color: #FF6000;
.item-view-bottom-qian span:nth-child(3) {
font-size: 28rpx;
color: #848484;
text-decoration-line: line-through;
margin-left: 5px;
}
.item-view-bottom-qian span:nth-child(1){
font-weight: 400;
font-size: 25rpx;
color: #FF6000;
}
.item-view-bottom-qian{
margin-top: 2px;
}
.item-view-bottom{
.item-view-bottom-qian span:nth-child(2) {
font-weight: bold;
font-size: 36.81rpx;
color: #FF6000;
}
.item-view-bottom-qian span:nth-child(1) {
font-weight: 400;
font-size: 25rpx;
color: #FF6000;
}
.item-view-bottom-qian {
margin-top: 2px;
}
.item-view-bottom {
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.item-view-jianjie{
.item-view-jianjie {
font-weight: 400;
font-size: 24rpx;
color: #999;
margin:5px 0px;
margin: 5px 0px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
-webkit-line-clamp: 2;
/* 显示的行数,可以根据需要修改 */
overflow: hidden;
text-overflow: ellipsis;
}
.item-view-biao{
.item-view-biao {
padding: 1px 8px;
border-radius: 10rpx 3rpx 10rpx 3rpx;
font-size: 22rpx;
margin-right: 10rpx;
height: 40rpx;
line-height: 40rpx;
}
.tuina{
background-color:#d1f2df;
width: 50px;
text-align: center;
}
.tuina {
background-color: #d1f2df;
color: #17984d;
}
.xiaoer{
background-color:#f1f8d7;
.xiaoer {
background-color: #f1f8d7;
color: #58b314;
}
.taishi{
background-color:#e5d5c6;
.taishi {
background-color: #e5d5c6;
color: #805d39;
}
.kangfu{
background-color:#fcf3da;
.kangfu {
background-color: #fcf3da;
color: #ff8600;
}
.item-view-xiangmu span:nth-child(2){
.item-view-xiangmu span:nth-child(2) {
font-weight: normal;
color: #333333;
font-size: 30rpx;
font-size: 30rpx;
}
.item-view-xiangmu span:nth-child(1){
.item-view-xiangmu span:nth-child(1) {
font-weight: normal;
color: #666666;
margin-right: 5rpx;
font-size: 30rpx;
font-size: 30rpx;
}
.shop_label{
.shop_label {
display: flex;
flex-wrap: wrap;
margin-top: 4rpx;
}
.shop_label span{
.shop_label span {
background: linear-gradient(90deg, #ffefde, #fff7ef);
height: 34rpx;
line-height: 34rpx;
@ -420,7 +471,8 @@
margin-bottom: 8rpx;
color: #f68607;
}
.item-view-xiangmu{
.item-view-xiangmu {
width: 100%;
display: flex;
flex-direction: row;
@ -428,7 +480,8 @@
font-size: 25rpx;
align-items: flex-end;
}
.item-view-title{
.item-view-title {
font-weight: bold;
font-size: 32rpx;
color: #333333;
@ -436,22 +489,25 @@
text-overflow: ellipsis;
white-space: nowrap;
}
.item-view{
width:60%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
justify-content: space-between;
padding:5rpx 0;
}
.item-img{
width: 240rpx;
height: 200rpx;
border-radius: 14rpx;
position: relative;
.item-view {
width: 60%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
justify-content: space-between;
padding: 5rpx 0;
}
.img-span{
.item-img {
width: 240rpx;
height: 200rpx;
border-radius: 14rpx;
position: relative;
}
.img-span {
padding: 2px 5px;
font-weight: 400;
font-size: 8px;
@ -464,24 +520,27 @@
margin-bottom: 5px;
margin-right: 5px;
}
.item-img image{
.item-img image {
width: 100%;
height: 100%;
border-radius: 14rpx;
}
.item {
width: 100%;
margin: 0 auto ;
margin: 0 auto;
display: flex;
flex-direction: row;
justify-content: space-between;
/*height: 140px;*/
background: #FFFFFF;
border-radius: 21rpx;
margin-bottom:10px;
margin-bottom: 10px;
align-items: center;
padding:20rpx;
padding: 20rpx;
}
.item-detail {
padding: 5rpx 15rpx;
border-radius: 10rpx;
@ -498,21 +557,25 @@
width: 100%;
background-color: #eeeeee;
}
/deep/.zp-paging-container{
/deep/.zp-paging-container {
background-color: #f7f7f7;
width:100%;
width: 100%;
}
/deep/.zp-paging-container-content{
/deep/.zp-paging-container-content {
width: 95%;
margin: 0 auto;
}
.fenlei{
.fenlei {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.index-fenl-title{
.index-fenl-title {
width: 81rpx;
text-align: center;
position: relative;
@ -521,37 +584,43 @@
align-items: center;
font-weight: bold;
font-size: 34rpx;
color:#019C88;
color: #019C88;
}
.index-fenl-title-bottom{
.index-fenl-title-bottom {
position: absolute;
bottom: 0;
margin-bottom: 0px;
width: 81rpx;
height: 14rpx;
border-radius: 7rpx;
background: linear-gradient(-48deg,rgba(1, 156, 136, 0.35),rgba(45, 196, 142, 0.35));
background: linear-gradient(-48deg, rgba(1, 156, 136, 0.35), rgba(45, 196, 142, 0.35));
}
/deep/.uni-searchbar__cancel{
/deep/.uni-searchbar__cancel {
display: none;
}
.search-btn{
.search-btn {
text-align: center;
color: #019c88;
font-weight: bold;
position: absolute;
right:40rpx;
right: 40rpx;
top: 20rpx;
font-size: 30rpx;
display: flex;
align-items: center;
}
/deep/.uni-searchbar__box-icon-search,.search-btn{
/deep/.uni-searchbar__box-icon-search,
.search-btn {
width: 110rpx;
height: 50rpx;
}
/deep/.uni-searchbar__box{
height:34px;
/deep/.uni-searchbar__box {
height: 34px;
border-radius: 30px !important;
background-color: #fff !important;
border: 1px solid #09a28a;
@ -560,42 +629,49 @@
flex-flow: row-reverse;
position: relative;
}
/deep/.uni-searchbar{
width:250px;
/deep/.uni-searchbar {
width: 250px;
border-radius: 31rpx;
padding-right: 24rpx;
}
.service-fh{
.service-fh {
width: 20px;
height: 20rpx;
margin-right:5px;
margin-right: 5px;
margin-left: 10rpx;
}
.service-img{
.service-img {
width: 146rpx;
height: 38rpx;
}
.service-head-top-left span{
.service-head-top-left span {
font-weight: bold;
font-size: 34rpx;
color: #171717;
}
.service-head-top-left{
.service-head-top-left {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.service-head-top{
height:90rpx;
.service-head-top {
height: 90rpx;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.view-cata{
.view-cata {
display: flex;
flex-direction: row;
justify-content: space-between;
}
</style>
</style>

View File

@ -28,13 +28,15 @@
<view class="header-bottom-title-text">
<span>{{mainData.title}}</span>
</view>
<!-- <view class="header-bottom-title-num">
<span> </span>
<view class="header-bottom-title-num">
<span> </span>
<span>{{mainData.sales}}</span>
</view> -->
<span> </span>
</view>
</view>
<view class="tewmork-key">
<span v-for="(item,index) in labels" :key="index">{{item}}</span>
<view class="header-bottom-money1"><span v-for="(item,index) in labels" :key="index">{{item}}</span></view>
<view class="xiaoer item-view-biao">{{mainData.levelName}}</view>
</view>
<view class="tewmork-time">
<span>秒杀时间</span><span>{{mainData.startTime}}</span> - <span>{{mainData.endTime}}</span>
@ -619,6 +621,15 @@
}else{
this.$set(res.data, 'btnShow', false)
}
if(res.data.level == 3){
res.data.levelName = "新手"
}
if(res.data.level == 4){
res.data.levelName = "专家"
}
if(res.data.level == 5){
res.data.levelName = "资深"
}
that.mainData=res.data;
that.backgroundImageUrl=res.data.packageImg
that.contentImg=res.data.contentImg.split(",");
@ -637,6 +648,15 @@
}else{
this.$set(res.data, 'btnShow', false)
}
if(res.data.level == 3){
res.data.levelName = "新手"
}
if(res.data.level == 4){
res.data.levelName = "专家"
}
if(res.data.level == 5){
res.data.levelName = "资深"
}
that.mainData=res.data;
that.backgroundImageUrl=res.data.packageImg
that.contentImg=res.data.contentImg.split(",");
@ -1242,7 +1262,7 @@
}
.header-bottom-title-num span:nth-child(2){
font-weight: bold;
color: #08A28A;
color: #f52b1b;
}
.header-bottom-title-num span:nth-child(3){
color: #848485;
@ -1448,18 +1468,30 @@
margin-top: 12rpx;
}
.tewmork-key{
display: flex;
text-align: center;
display: flex;
text-align: center;
justify-content: space-between;
height: 30px;
}
.tewmork-key span{
height: 30rpx;
line-height: 30rpx;
padding: 0 8rpx;
font-size: 20rpx;
font-size: 22rpx;
border: 1px #ed4b3e solid ;
color: #ed4b3e;
border-radius: 6rpx;
margin-right: 6rpx;
margin-top: 6rpx;
}
.xiaoer {
background-color: #f1f8d7;
color: #58b314;
}
.item-view-biao {
margin: 4px 0px;
border-radius: 10rpx 3rpx 10rpx 3rpx;
width: 50px;
text-align: center;
}
</style>

View File

@ -32,8 +32,7 @@
<view class="header-bottom-title-num">
<span>{{getList.sales}}</span>
<span> 人选择</span>
</view>
</view>
</view>
<view class="header-bottom-money-view">
<view class="header-bottom-money">
@ -45,6 +44,7 @@
{{getList.oldPrice}}
</view>
</view>
<view class="xiaoer item-view-biao">{{getList.levelName}}</view>
</view>
</view>
<view class="header-bottom-foot">
@ -162,6 +162,7 @@
},
getData(){
var that=this;
console.log(that.dataList);
let data = {
id: that.dataList.id,
page: that.page,
@ -169,6 +170,15 @@
}
that.$Request.get('/app/user/package/detail/getMyPackageDetail', data).then(res => {
if (res.code == 0) {
if(res.data.level == 3){
res.data.levelName = "新手"
}
if(res.data.level == 4){
res.data.levelName = "专家"
}
if(res.data.level == 5){
res.data.levelName = "资深"
}
that.getList=res.data;
that.backgroundImageUrl=that.getList.massageImg
// that.labels=res.data.labels.split(',');
@ -603,4 +613,14 @@
flex-direction: column;
align-items: center;
}
.xiaoer {
background-color: #f1f8d7;
color: #58b314;
}
.item-view-biao {
margin: 8px 0px;
border-radius: 10rpx 3rpx 10rpx 3rpx;
width: 50px;
text-align: center;
}
</style>

View File

@ -64,6 +64,7 @@
<view class="detail-foot-list" v-for="(item,index) in detailData" :key="index" @click="detail(item)">
<view class="detail-foot-list-top">
<span style="margin-right: 5px;">{{item.title}}</span>
<span style="margin-left: 5px;">{{mainData.levelName}}</span>
</view>
<view class="detail-view" style="position: relative;">
<image class="detail-view-img" :src="item.massageImg" mode=""></image>
@ -79,7 +80,7 @@
{{item.oldPrice}}
</view>
</view>
<view class="service-more" @click.stop="xiangqing(item)">{{item.status=='1'?'详情':'预约'}}</view>
<view class="service-more" @click.stop="xiangqing(item)">{{item.status=='1'?'订单':'预约'}}</view>
</view>
<view style="color: #019c88; font-size: 26rpx;">服务时长:{{item.duration}}分钟</view>
<view class="tese">
@ -182,9 +183,8 @@
},
xiangqing(item){
if(item.status=='1'){
item.id=this.mainData.id
uni.navigateTo({
url:'/pages/my/orderDetailsList?id='+item.id+'&mainId='+this.mainId+'&name='+'拼团'
url:'/pages/my/orderDetailsList?id='+this.mainData.id+'&mainId='+this.mainId+'&name='+'拼团'
})
}else{
uni.navigateTo({
@ -196,18 +196,17 @@
},
detail(item){
if(item.status=='1'){
uni.showToast({
title:'该项目已使用!'
})
}else{
// if(item.status=='1'){
// uni.showToast({
// title:'使'
// })
// }else{
uni.navigateTo({
url:'/pages/my/pTuanOderDrtail?mainId='+item.mainId+'&id='+item.id+
'&massageTypeId='+item.massageTypeId+
'&page='+1+
'&limit='+10
'&status='+item.status
})
}
// }
},
getData(){
@ -219,6 +218,15 @@
}
that.$Request.get('/app/user/package/detail/findMyPackageDetailList',data).then(res => {
if (res.code == 0) {
if(res.data.mainData.level == 3){
res.data.mainData.levelName = "新手"
}
if(res.data.mainData.level == 4){
res.data.mainData.levelName = "专家"
}
if(res.data.mainData.level == 5){
res.data.mainData.levelName = "资深"
}
that.mainData=res.data.mainData;
that.detailData=res.data.detailData;
that.backgroundImageUrl=that.mainData.packageImg;
@ -501,7 +509,7 @@
color: #3F3F3F;
}
.detail-foot-list-top span:nth-child(2){
width: 76rpx;
/* width: 76rpx;
height: 33rpx;
line-height: 33rpx;
text-align: center;
@ -510,7 +518,13 @@
font-weight: 400;
font-size: 20rpx;
color: #777777;
margin: 0px 25px 0px 5px;
margin: 0px 25px 0px 5px; */
padding: 1px 8px;
border-radius: 10rpx 3rpx 10rpx 3rpx;
width: 50px;
text-align: center;
background-color: #f1f8d7;
color: #58b314;
}
.detail-foot-list-top span:nth-child(3){
font-size: 30rpx;

View File

@ -82,6 +82,7 @@
<view class="detail-foot-list" v-for="(item,index) in detailData" :key="index" @click="detail(item)">
<view class="detail-foot-list-top">
<span style="margin-right: 5px;">{{item.title}}</span>
<span style="margin-left: 5px;">{{mainData.levelName}}</span>
</view>
<view class="detail-view" style="position: relative;">
<image class="detail-view-img" :src="item.massageImg" mode=""></image>
@ -97,7 +98,9 @@
{{item.oldPrice}}
</view>
</view>
<view class="service-more" @click.stop="xiangqing(item)">{{item.status=='1'?'详情':'预约'}}</view>
<view v-if="serviData.name!='index'">
<view class="service-more" @click.stop="xiangqing(item)">{{item.status=='1'?'订单':'预约'}}</view>
</view>
</view>
<view style="color: #019c88; font-size: 26rpx;">服务时长:{{item.duration}}分钟</view>
<view class="tese">
@ -634,29 +637,32 @@
}
},
xiangqing(item){
uni.navigateTo({
url:'/pages/my/cureOderDrtail?mainId='+item.mainId+'&id='+item.id+
'&massageTypeId='+item.massageTypeId+
'&status='+item.status+
'&name='+this.nameText
})
},
detail(item){
if(item.status=='1'&&this.serviData.name!='index'){
uni.showToast({
title:'该项目已使用!'
if(item.status=='1'){
uni.navigateTo({
url:'/pages/my/orderDetailsList?id='+this.mainData.id+'&mainId='+this.mainId+'&name='+'套餐'
})
}else{
uni.navigateTo({
url:'/pages/my/cureOderDrtail?mainId='+item.mainId+'&id='+item.id+
'&massageTypeId='+item.massageTypeId+
'&page='+1+
'&limit='+10+
'&status='+item.status+
'&name='+this.nameText
})
}
},
detail(item){
// if(item.status=='1'&&this.serviData.name!='index'){
// uni.showToast({
// title:'使'
// })
// }else{
uni.navigateTo({
url:'/pages/my/cureOderDrtail?mainId='+item.mainId+'&id='+item.id+
'&massageTypeId='+item.massageTypeId+
'&status='+item.status+
'&name='+this.nameText
})
// }
},
getData(){
var that=this;
@ -668,6 +674,15 @@
}
that.$Request.get('/app/user/package/detail/findMyPackageDetailList',data).then(res => {
if (res.code == 0) {
if(res.data.mainData.level == 3){
res.data.mainData.levelName = "新手"
}
if(res.data.mainData.level == 4){
res.data.mainData.levelName = "专家"
}
if(res.data.mainData.level == 5){
res.data.mainData.levelName = "资深"
}
that.mainData=res.data.mainData;
that.detailData=res.data.detailData;
that.backgroundImageUrl=that.mainData.packageImg;
@ -682,6 +697,15 @@
}
that.$Request.get('/app/massage/packageDetail/findAppPage',data).then(res => {
if (res.code == 0) {
if(res.mainData.level == 3){
res.mainData.levelName = "新手"
}
if(res.mainData.level == 4){
res.mainData.levelName = "专家"
}
if(res.mainData.level == 5){
res.mainData.levelName = "资深"
}
that.mainData=res.mainData;
that.detailData=res.detailData.list;
that.backgroundImageUrl=that.mainData.packageImg;
@ -967,7 +991,7 @@
color: #333333;
}
.detail-foot-list-top span:nth-child(2){
width: 76rpx;
/* width: 76rpx;
height: 33rpx;
line-height: 33rpx;
text-align: center;
@ -976,7 +1000,13 @@
font-weight: 400;
font-size: 20rpx;
color: #777777;
margin: 0px 25px 0px 5px;
margin: 0px 25px 0px 5px; */
padding: 1px 8px;
border-radius: 10rpx 3rpx 10rpx 3rpx;
width: 50px;
text-align: center;
background-color: #f1f8d7;
color: #58b314;
}
.detail-foot-list-top span:nth-child(3){
font-size: 30rpx;

View File

@ -51,7 +51,7 @@
<view class="item-view">
<view class="view-cata">
<view class="item-view-title">{{item.title}}</view>
<span class="xiaoer item-view-biao">{{item.classifyName}}</span>
<span class="xiaoer item-view-biao">{{item.levelName}}</span>
</view>
<view class="item-view-bottom-qian">
<span></span>
@ -151,9 +151,18 @@
}
this.$Request.get('/app/user/package/findMyPackageList',params).then(res => {
// z-paging
for(var i=0;i<res.data.records.length;i++){
res.data.records[i].tagsData=res.data.records[i].labels.split(',');
}
for(var i=0;i<res.data.records.length;i++){
res.data.records[i].tagsData=res.data.records[i].labels.split(',');
if(res.data.records[i].level == 3){
res.data.records[i].levelName = "新手"
}
if(res.data.records[i].level == 4){
res.data.records[i].levelName = "专家"
}
if(res.data.records[i].level == 5){
res.data.records[i].levelName = "资深"
}
}
this.$refs.paging.complete(res.data.records);
}).catch(res => {
// this.$refs.paging.complete(false);
@ -271,6 +280,8 @@
.item-view-biao{
padding: 1px 5px;
border-radius: 15rpx 3rpx 15rpx 3rpx;
width: 50px;
text-align: center;
}
.tuina{
background-color:#d1f2df;
@ -464,5 +475,6 @@
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
</style>

View File

@ -139,7 +139,7 @@
}
},
mounted() {
console.log("asdsad",this.serviceTrue)
},
watch: {
// #ifndef VUE3