调试接口
This commit is contained in:
parent
6019afb30e
commit
0d5dc4dded
|
@ -2,9 +2,13 @@
|
|||
// const ROOTPATH1 = "http://120.46.52.165/sqx_fast";
|
||||
// const ROOTPATH3 = "wss://120.46.52.165/wss/websocket/";
|
||||
|
||||
const ROOTPATH3 = "wss://192.168.2.222:8187/wss/websocket/";
|
||||
const ROOTPATH = "http://192.168.2.222:8187/sqx_fast";
|
||||
const ROOTPATH1 = "http://192.168.2.222:8187/sqx_fast";
|
||||
const ROOTPATH3 = "wss://192.168.2.222:8187/wss/websocket/";
|
||||
|
||||
// const ROOTPATH = "http://192.168.2.13:8187/sqx_fast";
|
||||
// const ROOTPATH1 = "http://192.168.2.13:8187/sqx_fast";
|
||||
// const ROOTPATH3 = "wss://192.168.2.13:8187/wss/websocket/";
|
||||
|
||||
// const ROOTPATH = "http://192.168.1.169:8187/sqx_fast";
|
||||
// const ROOTPATH1 = "http://192.168.1.169:8187/sqx_fast";
|
||||
|
@ -35,6 +39,7 @@ const TX_MAP_KEY = 'VIWBZ-5OM3F-CV7JZ-NLKJY-AXSYV-TMFM6';
|
|||
//const TX_MAP_KEY = '55UBZ-STNK4-DSNUM-F4A75-Q7BC5-FRBMS';
|
||||
|
||||
//ws基础连接地址
|
||||
// const WS_BASE_PATH = 'ws://192.168.2.13:8187/sqx_fast/';
|
||||
const WS_BASE_PATH = 'ws://192.168.2.222:8187/sqx_fast/';
|
||||
// const WS_BASE_PATH = 'ws://120.46.52.165/sqx_fast/';
|
||||
// const WS_BASE_PATH = 'wss://admin.sjajk.com/sqx_fast/';//生产需替换
|
||||
|
|
|
@ -21,12 +21,14 @@ module.exports = {
|
|||
// return 'https://admin.sjajk.com'//生产需替换
|
||||
// return 'http://120.46.52.165'
|
||||
return 'http://192.168.2.222:8187'
|
||||
// return 'http://192.168.2.13:8187'
|
||||
},
|
||||
//全局域名 部分html中需要单独替换 需要修改config中的网络请求域名
|
||||
publicYuMingApp() {
|
||||
// return 'https://wx.sjajk.com'//生产需替换
|
||||
// return 'http://120.46.52.165'
|
||||
return 'http://192.168.2.222:8187'
|
||||
// return 'http://192.168.2.13:8187'
|
||||
},
|
||||
logout() {
|
||||
this.remove("token");
|
||||
|
|
|
@ -0,0 +1,202 @@
|
|||
<template>
|
||||
<view style="width: 100%;" class="refresh-body" @touchmove.stop.prevent>
|
||||
<scroll-view scroll-y @scroll="scroll" @touchstart="touchstart" @scrolltolower="loadMore" @touchmove="touchmove" @touchend="touchend" class="refresh-scroll">
|
||||
<view class="content">
|
||||
<!-- 内容 -->
|
||||
<slot name="content"></slot>
|
||||
<!-- 上拉加载 -->
|
||||
<view class="t-loading-box" v-if="loadingType!=3&&openLoadMore" @click="loadMore">
|
||||
<view class="t-line"></view>
|
||||
<view class="t-loading-text">
|
||||
<view class="loading" v-if="loadingType==2"></view>
|
||||
<text>{{loadingText[loadingType]}}</text>
|
||||
</view>
|
||||
<view class="t-line"></view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name:'t-refresh',
|
||||
props:{
|
||||
//高度
|
||||
height: {
|
||||
type: String,
|
||||
default: '100vh'
|
||||
},
|
||||
//padding高度 配合tabs
|
||||
tPadding: {
|
||||
type: Number,
|
||||
},
|
||||
//是否开启上拉加载
|
||||
openLoadMore:{
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
//上拉状态 0 上拉加载更多 1 加载全部 2 上拉加载中 3 不展示组件
|
||||
loadingType: {
|
||||
type : Number,
|
||||
default: 0
|
||||
},
|
||||
//上拉状态文字
|
||||
loadingText : {
|
||||
type : Array,
|
||||
default :()=>{
|
||||
return ["上拉或点击加载更多","已加载全部数据",'加载中','']
|
||||
}
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
icon_class:'',
|
||||
top:-90,
|
||||
touchstart_num:0, //点击位置
|
||||
touchmove_num:0, //移动距离
|
||||
move_number:0, //拖动距离
|
||||
rotate_number:0,
|
||||
timer:null,
|
||||
is_refresh:false, //是否在刷新
|
||||
move_timer:null,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
scroll(e){
|
||||
e.detail.scrollTop>20?this.is_refresh=true:this.is_refresh=false
|
||||
},
|
||||
//触底加载更多
|
||||
loadMore(e) {
|
||||
if(this.openLoadMore){
|
||||
this.$emit("loadMore")
|
||||
}
|
||||
},
|
||||
//点击位置
|
||||
touchstart(e){
|
||||
this.touchstart_num=e.touches[0].clientY
|
||||
},
|
||||
//移动距离
|
||||
touchmove(e){
|
||||
if(!this.is_refresh&&e.touches.length<=1&&this.openRefresh){
|
||||
this.move_number=e.touches[0].clientY-this.touchstart_num
|
||||
this.rotate_number=this.move_number*2
|
||||
if(this.move_number<120){
|
||||
this.top=(this.move_number)/1-90
|
||||
}else if(120<=this.move_number&&this.move_number<=170){
|
||||
this.top=(this.move_number)/4
|
||||
}else{
|
||||
this.top=(this.move_number)/60+40
|
||||
}
|
||||
clearTimeout(this.timer)
|
||||
this.timer = setTimeout(()=>{
|
||||
this.touchmove_num=e.touches[0].clientY
|
||||
},500)
|
||||
}
|
||||
},
|
||||
//结束
|
||||
touchend(e){
|
||||
if(this.is_refresh||e.touches.length>=1||!this.openRefresh){return}
|
||||
if(this.move_number>170){
|
||||
this.icon_class='refresh-icon-active'
|
||||
this.top+=Number(this.tPadding)/2
|
||||
this.is_refresh=true
|
||||
this.$emit('refresh')
|
||||
this.move_timer=setInterval(()=>{
|
||||
this.rotate_number+=8
|
||||
},10)
|
||||
}else{
|
||||
this.move_timer=setInterval(()=>{
|
||||
this.top-=8
|
||||
if(this.top<=-90){
|
||||
clearInterval(this.move_timer)
|
||||
}
|
||||
},10)
|
||||
}
|
||||
},
|
||||
//加载完成
|
||||
endRefresh(){
|
||||
this.top=-90
|
||||
this.icon_class=''
|
||||
this.move_number=this.rotate_number=0
|
||||
this.is_refresh=false
|
||||
clearInterval(this.move_timer)
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" >
|
||||
.refresh-body{
|
||||
box-sizing: border-box;
|
||||
height: auto !important;
|
||||
padding-top: 0px !important;
|
||||
.refresh-scroll{
|
||||
position: relative;
|
||||
height: 100%;
|
||||
}
|
||||
.refresh-icon{
|
||||
width: 80upx;
|
||||
height: 80upx;
|
||||
text-align: center;
|
||||
line-height: 80upx;
|
||||
border-radius: 50%;
|
||||
background: #FFFFFF;
|
||||
box-shadow: 0px 0px 10rpx 0px rgba(0, 0, 0, 0.2);
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
color: #00aa7f;
|
||||
z-index: 9999999999;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
.iconfont{
|
||||
font-size: 36upx;
|
||||
}
|
||||
image{
|
||||
width: 36upx;
|
||||
}
|
||||
}
|
||||
.refresh-icon-active{
|
||||
position: fixed;
|
||||
}
|
||||
.content{
|
||||
height: 100%;
|
||||
}
|
||||
.t-loading-box{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: row;
|
||||
line-height:80upx;
|
||||
font-size: 26upx;
|
||||
width: 100%;
|
||||
padding-bottom:20upx;
|
||||
color: #888888;
|
||||
.t-loading-text{
|
||||
padding: 0 10upx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: row;
|
||||
}
|
||||
.loading {
|
||||
width:25upx;
|
||||
height:25upx;
|
||||
border:2.5upx solid #888888;
|
||||
border-bottom:#ffffff 2.5upx solid;
|
||||
border-radius:50%;
|
||||
margin-right: 15upx;
|
||||
animation:grace-rotate360 1200ms infinite linear;
|
||||
}
|
||||
.t-line{
|
||||
margin: 0px;
|
||||
border-bottom: 1px solid rgb(212, 212, 212);
|
||||
width: 20px;
|
||||
transform: scaleY(0.5);
|
||||
border-top-color: rgb(212, 212, 212);
|
||||
border-right-color: rgb(212, 212, 212);
|
||||
border-left-color: rgb(212, 212, 212);
|
||||
}
|
||||
}
|
||||
@keyframes grace-rotate360{0%{transform:rotate(0deg);} 50%{transform:rotate(180deg);} 100%{transform:rotate(360deg);}}
|
||||
}
|
||||
</style>
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name" : "盛安到家",
|
||||
"appid" : "H56D02895",
|
||||
"appid" : "__UNI__0A81F4F",
|
||||
"description" : "",
|
||||
"versionName" : "1.0.1",
|
||||
"versionCode" : 101,
|
||||
|
@ -184,8 +184,9 @@
|
|||
"key" : "2acf1b8c3d1aaf0070472dec19018d96",
|
||||
"securityJsCode" : "2b07c8496878c327a8ae7a19de33e2a7",
|
||||
// "serviceHost" : "http://wx.sjajk.com/_AMapService"//生产需替换
|
||||
// "serviceHost" : "http://120.46.52.165/_AMapService"
|
||||
"serviceHost" : "http://192.168.2.222:8187/_AMapService"
|
||||
// "serviceHost" : "http://120.46.52.165/_AMapService"
|
||||
"serviceHost" : "http://192.168.2.222:8187/_AMapService"
|
||||
// "serviceHost" : "http://192.168.2.13:8187/_AMapService"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<view>
|
||||
<view class="content">
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="part1">
|
||||
<view class="mobile">
|
||||
|
@ -27,6 +27,7 @@
|
|||
</view>
|
||||
<view class="btn" @click="bindhelp">确定</view>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<!-- <view style="margin-top: 20upx;background-color: #FFFFFF;height: max-content;padding: 20upx 20upx 20upx 35upx;">
|
||||
<input type="text" placeholder="收货人" style="height: 80upx;color: #000000;font-size: 30upx;" v-model="consignee" />
|
||||
<input type="number" placeholder="手机号码" maxlength="11" style="height: 80upx;margin-top: 20upx;color: #000000;font-size: 30upx;"
|
||||
|
@ -35,8 +36,6 @@
|
|||
<pickerAddress style="padding-bottom: 20upx;color: #000000;font-size: 30upx;height: 30upx;" @change="change">{{provinces}}</pickerAddress>
|
||||
<input type="text" v-model="detail" placeholder="详情地址:如道路,门牌号,小区,楼栋号,单元室等" style="height: 80upx;margin-top: 30upx;color: #000000;font-size: 30upx;" />
|
||||
</view> -->
|
||||
|
||||
<!-- #endif -->
|
||||
<!-- #ifndef MP-WEIXIN -->
|
||||
<view class="part1">
|
||||
<view class="part1-top">
|
||||
|
@ -141,16 +140,15 @@
|
|||
},
|
||||
shengcheng(longitude, latitude) {
|
||||
this.$Request.getT('/app/Login/selectCity?lat=' + latitude + '&lng=' + longitude).then(res => {
|
||||
// console.log(res)
|
||||
console.log(res)
|
||||
if (res.code === 0) {
|
||||
this.cityaddress = res.data.province + res.data.city + res.data.district
|
||||
// console.log(this.address)
|
||||
console.log(this.cityaddress)
|
||||
this.province = res.data.province
|
||||
this.city = res.data.city
|
||||
this.district = res.data.district
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
getAddressList(id) {
|
||||
uni.showLoading({
|
||||
|
@ -267,6 +265,14 @@
|
|||
</script>
|
||||
|
||||
<style scoped>
|
||||
/deep/uni-page-refresh{
|
||||
display: none !important;
|
||||
}
|
||||
.content{
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
background: #f7f7f7;
|
||||
}
|
||||
.part1-bottom{
|
||||
width: 100%;
|
||||
padding:10px;
|
||||
|
|
|
@ -81,14 +81,16 @@
|
|||
},
|
||||
methods: {
|
||||
goBackByAddress(addressId) {
|
||||
console.log(addressId)
|
||||
// console.log("addressId",addressId)
|
||||
this.$queue.setData('EditAddress', addressId);
|
||||
console.log(this.isfa)
|
||||
if (this.isfa == 0) {
|
||||
console.log('1111111')
|
||||
}
|
||||
if (this.isfa == 1) {
|
||||
uni.navigateBack()
|
||||
}else if (this.isfa ==1 ) {
|
||||
this.updateaddress()
|
||||
}else if (this.isfa == 2) {
|
||||
uni.reLaunch({
|
||||
url:'/my/order/payModify'
|
||||
})
|
||||
} else if (this.isfa == 3) {
|
||||
this.updateaddress()
|
||||
}
|
||||
|
|
|
@ -239,6 +239,7 @@
|
|||
border-radius: 21rpx;
|
||||
background-size: 100%;
|
||||
margin: 20px auto;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.you-nav{
|
||||
background: #FFFFFF;
|
||||
|
|
445
my/order/pay.vue
445
my/order/pay.vue
|
@ -1,16 +1,8 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
<!-- <view class="bg" style="font-size: 32upx;height: 150rpx;padding: 26rpx 29rpx 0 29rpx;">
|
||||
<view v-if="order.status ==1" style="color: #ffffff;">待付款...</view>
|
||||
<view v-if="order.status ==2" style="color: #ffffff;">待服务</view>
|
||||
<view v-if="order.status ==5" style="color: #ffffff;">已完成</view>
|
||||
<view v-if="order.status ==6" style="color: #ffffff;">服务中</view>
|
||||
<view v-if="order.status ==7" style="color: #ffffff;">理疗师出发</view>
|
||||
<view v-if="order.status ==8" style="color: #ffffff;">理疗师到达</view>
|
||||
<view v-if="order.status ==3" style="color: #ffffff;">待评价</view>
|
||||
<view v-if="order.status ==4" style="color: #ffffff;">已取消</view>
|
||||
<view v-if="order.overTimeOrders == 1" style="color: red;font-size:26rpx">(订单已超时)</view>
|
||||
</view> -->
|
||||
<view v-if="order.overTimeOrders == 1" class="dingshi" style="font-size: 32upx;height: 150rpx;padding: 26rpx 29rpx 0 29rpx;">
|
||||
<view style="color: red;font-size:26rpx">(订单已超时)</view>
|
||||
</view>
|
||||
<view class="padding-bottom u-skeleton">
|
||||
<view class="bgImg u-skeleton-fillet" v-if="order.ordersMassageList && order.ordersMassageList.length > 0"
|
||||
style="padding: 0 29rpx;">
|
||||
|
@ -22,11 +14,22 @@
|
|||
style="width: 100%;height: 100%;border-radius: 19upx;"></image>
|
||||
</view>
|
||||
<view class="u-flex-1 margin-left-sm">
|
||||
<view class="flex" style="font-weight: 600;">
|
||||
<view class="margin-right-xs text-df u-skeleton-fillet"
|
||||
style="margin-top: -2px;display: inline-block;width: 400rpx; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
|
||||
<view class="flex head-title-right">
|
||||
<view class="margin-right-xs text-df u-skeleton-fillet head-title">
|
||||
{{order.ordersMassageList[0].massageType.title}}
|
||||
</view>
|
||||
<view class="zhuangtai">
|
||||
<view v-if="order.status ==1">待付款...</view>
|
||||
<view v-if="order.status ==2">待服务</view>
|
||||
<view v-if="order.status ==5">已完成</view>
|
||||
<view v-if="order.status ==6">服务中</view>
|
||||
<view v-if="order.status ==7">理疗师出发</view>
|
||||
<view v-if="order.status ==8">理疗师到达</view>
|
||||
<view v-if="order.status ==3">待评价</view>
|
||||
<view v-if="order.status ==4">已取消</view>
|
||||
<view v-if="order.status ==9">待确认</view>
|
||||
<view v-if="order.status ==10">待补单</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex align-center">
|
||||
<view>
|
||||
|
@ -176,7 +179,7 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pay-ding feiuong">
|
||||
<!-- <view class="pay-ding feiuong">
|
||||
<view class="fei-title">费用明细</view>
|
||||
<view class="fei-view">
|
||||
<view class="fei-view-list">
|
||||
|
@ -185,7 +188,7 @@
|
|||
</view>
|
||||
<view class="fei-view-list">
|
||||
<span>出行费用</span>
|
||||
<span>¥20</span>
|
||||
<span>¥{{order.taxiMoney}}</span>
|
||||
</view>
|
||||
<view class="fei-view-list">
|
||||
<span>优惠券</span>
|
||||
|
@ -196,7 +199,7 @@
|
|||
<span style="color: #FF3939;font-size: 29rpx;">¥286</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
|
||||
|
@ -239,30 +242,87 @@
|
|||
</view>
|
||||
</view> -->
|
||||
|
||||
<view class="flex tabber padding-top-sm padding-bottom-sm align-center">
|
||||
<view v-if="order.status !=6" class="flex tabber padding-top-sm padding-bottom-sm align-center">
|
||||
<u-button @click="cancelOrder(order)" shape="circle" :custom-style="customStyle" :hair-line="false"
|
||||
v-if="(order.status == 1 || order.status == 2 || order.status == 7 || order.status == 8) && yhqxSel != '否'">取消订单
|
||||
</u-button>
|
||||
<u-button @click="openpay()" shape="circle" :custom-style="customStyle2" :hair-line="false"
|
||||
<u-button @click="openpay(order)" shape="circle" :custom-style="customStyle2" :hair-line="false"
|
||||
v-if="order.status == 1"
|
||||
style="background: linear-gradient(to right, #223845, #00a85b);border: 0;">立即支付
|
||||
class="dingshi">立即支付
|
||||
</u-button>
|
||||
<!-- <u-button @click="cancel(order)" class="margin-right" shape="circle" :custom-style="customStyle2"
|
||||
:hair-line="false" v-if="order.status == 6">订单完成
|
||||
</u-button> -->
|
||||
<u-button v-if="order.status == 2 || order.status == 5|| order.status == 3" :custom-style="customStyle2"
|
||||
<u-button v-if="order.status == 5|| order.status == 3" :custom-style="customStyle2"
|
||||
shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/complain?ordersId='+ordersId + '&byUserId=' + order.artificer.userId + '&byuserName=' + order.artificer.artificerName)"
|
||||
style="background: linear-gradient(to right, #223845, #00a85b);">
|
||||
class="dingshi">
|
||||
去投诉
|
||||
</u-button>
|
||||
<u-button v-if="order.status == 9&&order.refusalContent!=''&&order.refusalContent!=null" :custom-style="customStyle2"
|
||||
shape="circle" :plain="true"
|
||||
@click="toggleQ('center',order)"
|
||||
class="dingshi">
|
||||
拒单确认
|
||||
</u-button>
|
||||
<u-button v-if="order.status == 10" :custom-style="customStyle2"
|
||||
shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/payModifyDzhifu?ordersId='+order.ordersId,order)"
|
||||
class="dingshi">
|
||||
立即预约
|
||||
</u-button>
|
||||
<u-button v-if="order.status != 4&&order.status != 1&&order.status != 10&&order.status != 3&&order.status == 9&&order.status != 5" :custom-style="customStyle2"
|
||||
shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/payModifyDzhifu?ordersId='+ordersId,order)"
|
||||
class="dingshi">
|
||||
修改订单
|
||||
</u-button>
|
||||
<u-button v-if="order.status == 3" :custom-style="customStyle2" shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/feedback?artificerId='+order.artificerId+ '&ordersId='+order.ordersMassageList[0].ordersId)"
|
||||
style="background: linear-gradient(to right, #223845, #00a85b);">
|
||||
class="dingshi">
|
||||
去评价
|
||||
</u-button>
|
||||
<u-button :custom-style="customStyle2" shape="circle" :plain="true" @click="goChat"
|
||||
style="border: 0;background: linear-gradient(to right, #223845, #00a85b);">联系客服</u-button>
|
||||
class="dingshi">联系客服</u-button>
|
||||
</view>
|
||||
<view v-else class="flex tabber padding-top-sm padding-bottom-sm align-center" :style="{'height':btnShow?'100px':'60px'}">
|
||||
<view class="showBtn-mian">
|
||||
<view class="showBtn">
|
||||
<view class="gengduo" @click.stop="gengBtn">更多</view>
|
||||
<u-button shape="circle" :plain="true" @click="goChat"
|
||||
class="btns">联系客服</u-button>
|
||||
<u-button
|
||||
shape="circle" :plain="true"
|
||||
@click="toggle('center',order)"
|
||||
class="btns">
|
||||
提前结束
|
||||
</u-button>
|
||||
<u-button
|
||||
shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/complain?ordersId='+ordersId + '&byUserId=' + order.artificer.userId + '&byuserName=' + order.artificer.artificerName)"
|
||||
class="btns">
|
||||
修改订单
|
||||
</u-button>
|
||||
</view>
|
||||
<view class="showBtn-view" v-show="btnShow">
|
||||
<u-button
|
||||
shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/complain?ordersId='+ordersId + '&byUserId=' + order.artificer.userId + '&byuserName=' + order.artificer.artificerName)"
|
||||
class="btns">
|
||||
充值
|
||||
</u-button>
|
||||
<u-button
|
||||
shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/complain?ordersId='+ordersId + '&byUserId=' + order.artificer.userId + '&byuserName=' + order.artificer.artificerName)"
|
||||
class="btns">
|
||||
加钟
|
||||
</u-button>
|
||||
<u-button
|
||||
shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/complain?ordersId='+ordersId + '&byUserId=' + order.artificer.userId + '&byuserName=' + order.artificer.artificerName)"
|
||||
class="btns">
|
||||
改价
|
||||
</u-button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<u-skeleton :loading="loading" :animation="true" bgColor="#FFF"></u-skeleton>
|
||||
|
@ -313,12 +373,63 @@
|
|||
<view class="pay_btn" @click="pay()">确认支付</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
|
||||
<!-- 提前结束 -->
|
||||
<view>
|
||||
<!-- 提前结束 -->
|
||||
<uni-popup ref="popup" background-color="#fff">
|
||||
<view class="popup-content">
|
||||
<view class="popup-head">
|
||||
<span>请输入提前结束的原因</span>
|
||||
<span @click="closePopup(type)">x</span>
|
||||
</view>
|
||||
<view class="popup-mian">
|
||||
<textarea placeholder="请输入提前结束服务原因" @input="textareaInp" class="popup-mian-textarea" name="" id="" cols="30" rows="10"></textarea>
|
||||
<view class="popup-mian-btn">
|
||||
<span @click="closePopup(type)">
|
||||
取消
|
||||
</span>
|
||||
<span @click="tiqian('center')">
|
||||
确定
|
||||
</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
<!-- 确认拒绝 -->
|
||||
<view>
|
||||
<!-- 确认拒绝 -->
|
||||
<uni-popup ref="popupQ" background-color="#fff">
|
||||
<view class="popup-content">
|
||||
<view class="popup-head">
|
||||
<span>确认拒单</span>
|
||||
<span @click="closePopupQ(type)">x</span>
|
||||
</view>
|
||||
<view class="popup-mian">
|
||||
<view class="popup-mian-textarea">
|
||||
{{qurenJd.refusalContent}}
|
||||
</view>
|
||||
<view class="popup-mian-btn">
|
||||
<span @click="TuiPopup(type,'1')">
|
||||
同意
|
||||
</span>
|
||||
<span @click="TuiPopup(type,'3')">
|
||||
全额退款
|
||||
</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// 调用手机系统权限
|
||||
// #ifdef APP-PLUS
|
||||
import permision from "@/components/permission.js";
|
||||
// #endif
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
@ -368,7 +479,12 @@
|
|||
openLists: [],
|
||||
openWay: 1,
|
||||
closeable: true,
|
||||
yhqxSel: '否'
|
||||
yhqxSel: '否',
|
||||
btnShow:false,
|
||||
tiqianData:'',
|
||||
type:'center',
|
||||
earlyFinishReason:'',
|
||||
qurenJd:[]
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
|
@ -426,6 +542,125 @@
|
|||
// #endif
|
||||
},
|
||||
methods: {
|
||||
getOrder() {
|
||||
let data = {
|
||||
ordersId: this.ordersId
|
||||
}
|
||||
this.$Request.get('/app/artificer/selectOrdersDetails', data).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.loading = false
|
||||
uni.hideLoading()
|
||||
this.order = res.data
|
||||
let aliphone = this.$queue.getData('aliphone');
|
||||
if (aliphone === '是' && this.order.artificer) {
|
||||
this.ysPhone(this.order.phone, this.order.artificer.phone);
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
closePopupQ(type){//提前结束 关闭弹出框
|
||||
this.type = type
|
||||
this.$refs.popupQ.close(type);
|
||||
},
|
||||
toggleQ(type,item) {//确认拒单 弹出框
|
||||
this.qurenJd=item;
|
||||
|
||||
this.type = type
|
||||
// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
|
||||
this.$refs.popupQ.open(type)
|
||||
},
|
||||
TuiPopup(typeTxte,type){//确认拒单 全额退款.同意按钮 关闭弹出框
|
||||
this.type = typeTxte
|
||||
let data = {
|
||||
ordersId: this.qurenJd.ordersId,
|
||||
isAuto: '0',
|
||||
type: type
|
||||
}
|
||||
this.$Request.post('/app/artificer/cancelSupplementOrders', data).then(res => {
|
||||
if (res.code == 0) {
|
||||
uni.showToast({
|
||||
title:'操作完成!'
|
||||
})
|
||||
this.$refs.popupQ.close(typeTxte);
|
||||
}else{
|
||||
uni.showToast({
|
||||
icon:'error',
|
||||
title:'操作失败!'
|
||||
})
|
||||
}
|
||||
|
||||
}).catch(() => {
|
||||
//联网失败, 结束加载
|
||||
});
|
||||
},
|
||||
closePopup(type){//提前结束 关闭弹出框
|
||||
this.type = type
|
||||
this.$refs.popup.close(type);
|
||||
},
|
||||
textareaInp(e){//提前结束 输入框
|
||||
this.earlyFinishReason=e.detail.value;
|
||||
console.log("earlyFinishReason",this.earlyFinishReason)
|
||||
},
|
||||
tiqian(type){//提前结束 确认按钮
|
||||
var that=this;
|
||||
that.type = type;
|
||||
|
||||
uni.getLocation({
|
||||
type: 'wgs84',
|
||||
success: function (resa) {
|
||||
var longitude=resa.longitude;
|
||||
var latitude=resa.latitude;
|
||||
console.log('当前位置的经度:' + resa.longitude);
|
||||
console.log('当前位置的纬度:' + resa.latitude);
|
||||
let data = {
|
||||
ordersId: that.tiqianData.ordersId,
|
||||
accomplishLongitude:longitude,
|
||||
accomplishLatitude:latitude,
|
||||
earlyFinishReason: that.earlyFinishReason,
|
||||
}
|
||||
that.$Request.post('/app/artificer/accomplishOrders', data).then(res => {
|
||||
if (res.code == 0) {
|
||||
uni.showToast({
|
||||
title:'操作完成!'
|
||||
})
|
||||
that.$refs.popup.close(type);
|
||||
}else{
|
||||
console.log('shibai:' + longitude);
|
||||
console.log('shibai:' + latitude);
|
||||
uni.showToast({
|
||||
icon:'error',
|
||||
title:'操作失败!'
|
||||
})
|
||||
}
|
||||
|
||||
}).catch(() => {
|
||||
//联网失败, 结束加载
|
||||
});
|
||||
|
||||
},
|
||||
fail: function(e) {
|
||||
// #ifdef H5
|
||||
uni.showToast({
|
||||
title:'获取地址失败!'
|
||||
})
|
||||
// #endif
|
||||
// #ifdef APP-PLUS
|
||||
that.checkPermission();
|
||||
// #endif
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
toggle(type,item) {//提前结束 弹出框
|
||||
this.tiqianData=item;
|
||||
this.type = type;
|
||||
// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
|
||||
this.$refs.popup.open(type);
|
||||
},
|
||||
|
||||
gengBtn(){
|
||||
this.btnShow=!this.btnShow
|
||||
},
|
||||
goChat() {
|
||||
let kefu = this.$queue.getData('kefu'); // 用户端联系方式 1 手机号 2企业微信
|
||||
let kefuPhone = this.$queue.getData('kefuPhone');
|
||||
|
@ -787,27 +1022,13 @@
|
|||
}
|
||||
});
|
||||
},
|
||||
goNav(e) {
|
||||
goNav(e,item) {
|
||||
this.$queue.setData('daibudan',item);
|
||||
uni.navigateTo({
|
||||
url: e
|
||||
})
|
||||
},
|
||||
getOrder() {
|
||||
let data = {
|
||||
ordersId: this.ordersId
|
||||
}
|
||||
this.$Request.get('/app/artificer/selectOrdersDetails', data).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.loading = false
|
||||
uni.hideLoading()
|
||||
this.order = res.data
|
||||
let aliphone = this.$queue.getData('aliphone');
|
||||
if (aliphone === '是' && this.order.artificer) {
|
||||
this.ysPhone(this.order.phone, this.order.artificer.phone);
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
delOrder(e) {
|
||||
let that = this
|
||||
uni.showModal({
|
||||
|
@ -844,8 +1065,11 @@
|
|||
}
|
||||
});
|
||||
},
|
||||
openpay() {
|
||||
this.showpay = true
|
||||
openpay(item) {
|
||||
uni.navigateTo({
|
||||
url:'/my/order/payModifyDzhifu?ordersId='+item.ordersId
|
||||
})
|
||||
// this.showpay = true
|
||||
},
|
||||
// 支付订单
|
||||
pay() {
|
||||
|
@ -1173,6 +1397,131 @@
|
|||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.popup-mian-btn span:nth-child(1){
|
||||
background: linear-gradient(90deg, #FE912E, #FF9970);
|
||||
}
|
||||
.popup-mian-btn span:nth-child(2){
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
}
|
||||
.popup-mian-btn span{
|
||||
width: 247rpx;
|
||||
height: 77rpx;
|
||||
line-height: 77rpx;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 32rpx;
|
||||
color: #FFFEFE;
|
||||
border-radius: 39rpx;
|
||||
}
|
||||
.popup-mian-btn{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.popup-mian-textarea{
|
||||
width: 525.69rpx;
|
||||
height: 211.81rpx;
|
||||
}
|
||||
.popup-mian{
|
||||
width: 88%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: 5px auto 0px auto;
|
||||
}
|
||||
.popup-head span:nth-child(2){
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
line-height: 19px;
|
||||
text-align: center;
|
||||
font-size: 24px;
|
||||
color: #15AB8D;
|
||||
border-radius: 50%;
|
||||
border: 3px solid #15AB8D;
|
||||
}
|
||||
.popup-head span:nth-child(1){
|
||||
font-weight: bold;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.popup-head{
|
||||
width: 100%;
|
||||
height: 99.38rpx;
|
||||
background-color: rgba(21, 171, 141, 0.09);
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0 15px;
|
||||
}
|
||||
.popup-content{
|
||||
width: 613rpx;
|
||||
height: 479rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 56rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
/deep/.btns{
|
||||
background: #019C88 !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
/deep/.u-size-default{
|
||||
margin: 5px 0px 0px 0px;
|
||||
}
|
||||
.showBtn-mian{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
.gengduo{
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #7D7D7D;
|
||||
}
|
||||
.showBtn-view{
|
||||
width: 100%;
|
||||
justify-content: flex-end;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.showBtn,.hideBtn{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.dingshi{
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
}
|
||||
.zhuangtai{
|
||||
color: #029D88;
|
||||
}
|
||||
.head-title-right{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-weight: bold;
|
||||
}
|
||||
.head-title{
|
||||
margin-top: -2px;display: inline-block;
|
||||
width: 300rpx;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.fei-view-list span,.fei-view-list-z span{
|
||||
font-weight: bold;
|
||||
font-size: 25rpx;
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
<view class="padding-bottom u-skeleton">
|
||||
<view class="bgImg u-skeleton-fillet" v-if="order.ordersMassageList && order.ordersMassageList.length > 0"
|
||||
style="padding: 0 29rpx;">
|
||||
<view class="padding margin-top-sm header-view">
|
||||
<view class="bgImg u-skeleton-fillet" style="padding: 0 29rpx;">
|
||||
<view class="padding margin-top-sm header-view" @click="getAddressList()">
|
||||
<view v-if="!detailaddress">请选择地址</view>
|
||||
<view class="margin-right-xs">
|
||||
<view class="flex justify-between margin-top-lg">
|
||||
<view class="header-view-text">联系人</view>
|
||||
<view class="header-view-data">
|
||||
<text>{{order.serveTime}}</text>
|
||||
<text>{{name}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex justify-between margin-top-lg">
|
||||
<view class="header-view-text">手机号码</view>
|
||||
<view class="header-view-data" @click="bindphone(order.phone)">
|
||||
{{order.phone}}
|
||||
<view class="header-view-data">
|
||||
{{mobile}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex justify-between margin-top-lg">
|
||||
<view class="header-view-text">详细地址</view>
|
||||
<view class="flex adders-view" @tap="bindGps(order.latitude,order.longitude,order.address)">
|
||||
<view class="flex adders-view">
|
||||
<span>
|
||||
{{order.address}}
|
||||
{{province}}/{{city}}/{{district}}/{{detailaddress}}
|
||||
</span>
|
||||
<image src="../../static/shezhi-jiantou.png" mode=""></image>
|
||||
</view>
|
||||
|
@ -42,24 +42,46 @@
|
|||
服务时间
|
||||
</view>
|
||||
<view class="fuwu-time-view" @change="changeLog">
|
||||
<uni-datetime-picker v-model="single">{{single==''?order.serveTime:single}}</uni-datetime-picker>
|
||||
<uni-datetime-picker :hide-second='true' v-model="single" type="datetime">{{single==''?order.serveTime:single}}</uni-datetime-picker>
|
||||
<!-- <span>{{order.serveTime}}</span> -->
|
||||
<image style="margin-left: 5px;" class="fuwu-img" src="../../static/images/my/jiantou.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="liliao">
|
||||
<view class="liliao-top">
|
||||
<view class="liliao" @click="liliaoshi">
|
||||
<view class="liliao-top" style="width: 30%;">
|
||||
<span>理疗师</span>
|
||||
<span>资深</span>
|
||||
<span v-if="jishiName">{{jishiName.technicianTypeName}}</span>
|
||||
</view>
|
||||
<view class="liliao-bottom">
|
||||
<span>王丽娜</span>
|
||||
<span v-if="jishiName">{{jishiName.artificerName}}</span>
|
||||
<span v-else>选择不同技师价格可能不一样哦~</span>
|
||||
<image class="fuwu-img" src="../../static/images/my/jiantou.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="head-top">
|
||||
<checkbox-group @change="checkboxChange">
|
||||
<view class="youhui-weiyong youhui-list" v-for="(itemY,indexY) in couponData" :key="itemY.id">
|
||||
<view class="youhui-view-left">
|
||||
<view class="youhui-view-left-yuan">
|
||||
<span class="youhui-view-left-num">{{itemY.money}}</span>
|
||||
<span class="youhui-view-left-text">元</span>
|
||||
</view>
|
||||
<view class="youhui-view-left-bottom">
|
||||
满{{itemY.minMoney}}元可用
|
||||
</view>
|
||||
</view>
|
||||
<view class="youhui-view-right">
|
||||
<view class="youhui-view-right-top">
|
||||
<view class="youhui-view-right-title">{{itemY.couponName}}</view>
|
||||
<view class="youhui-view-right-time">{{itemY.endDate}}</view>
|
||||
</view>
|
||||
<label class="tui-radio">
|
||||
<checkbox activeBackgroundColor="#096f4b" color="#096f4b" :value="itemY.id.toString()" :checked="checkbox"/>
|
||||
</label>
|
||||
</view>
|
||||
</view>
|
||||
</checkbox-group>
|
||||
<!-- <view class="head-top">
|
||||
<view class="head-top-view">
|
||||
<image class="head-top-view-img" src="../../static/yuyue.png" mode=""></image>
|
||||
<view class="head-top-view-right">
|
||||
|
@ -90,12 +112,12 @@
|
|||
<span>合计</span>
|
||||
<span>¥{{order.sumMoney}}</span>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="margin-top-xl pay-ding">
|
||||
<view class="d-title">备注</view>
|
||||
<view class="list-pay">
|
||||
<view class="textarea-pay-list">
|
||||
<textarea class="textarea-pay" placeholder="请输入备注" name="" maxlength="100"></textarea>
|
||||
<textarea @input="textareaChange" class="textarea-pay" v-model="textareaData" placeholder="请输入备注" name="" maxlength="100"></textarea>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
@ -124,15 +146,10 @@
|
|||
|
||||
|
||||
|
||||
|
||||
<view class="tabber padding-top-sm padding-bottom-sm pay-zhifu">
|
||||
<span class="daizhifu">待支付:¥268</span>
|
||||
<u-button class="u-button-pay" @click="openpay()" shape="circle" :custom-style="customStyle2" :hair-line="false">
|
||||
立即支付
|
||||
</u-button>
|
||||
</view>
|
||||
<view class="pay_btn" style="margin-top: 30px;" @click="openpay()">立即预约</view>
|
||||
|
||||
</view>
|
||||
<u-skeleton :loading="loading" :animation="true" bgColor="#FFF"></u-skeleton>
|
||||
<!-- <u-skeleton :loading="loading" :animation="true" bgColor="#FFF"></u-skeleton> -->
|
||||
<u-popup v-model="showorder" mode="bottom" :closeable="closeable">
|
||||
<scroll-view scroll-y="true" style="width: 750rpx;height: 500rpx;">
|
||||
<view class="list_item" v-for="(item,index) in orderList" :key="index">
|
||||
|
@ -176,7 +193,13 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pay_btn" @click="pay()">确认支付</view>
|
||||
<view class="tabber padding-top-sm padding-bottom-sm pay-zhifu" style="background: #fff !important;">
|
||||
<span class="daizhifu">待支付:¥{{tpayMoney}}</span>
|
||||
<u-button class="u-button-pay" @click="pay()" shape="circle" :custom-style="customStyle2" :hair-line="false">
|
||||
立即支付
|
||||
</u-button>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</u-popup>
|
||||
|
||||
|
@ -188,7 +211,7 @@
|
|||
export default {
|
||||
data() {
|
||||
return {
|
||||
single: '',
|
||||
single:'2024-06-19',
|
||||
radio1:'',
|
||||
sex: [{
|
||||
text: '我已同意《盛安健康服务协议》',
|
||||
|
@ -240,14 +263,32 @@
|
|||
openLists: [],
|
||||
openWay: 1,
|
||||
closeable: true,
|
||||
yhqxSel: '否'
|
||||
yhqxSel: '否',
|
||||
address:[],
|
||||
detailaddress:'',
|
||||
name:'',
|
||||
mobile:'',
|
||||
cityaddress:'',
|
||||
isDefault:'',
|
||||
userId:'',
|
||||
latitude:'',
|
||||
longitude:'',
|
||||
province:'',
|
||||
city:'',
|
||||
district:'',
|
||||
addressId:'',
|
||||
isTrues: true,
|
||||
jishiName:'',
|
||||
checkbox:false,
|
||||
couponData:[],
|
||||
couponId:'',
|
||||
textareaData:'',
|
||||
ordersId:'',
|
||||
userPackageDetailId:'',
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
uni.showLoading({
|
||||
title: '加载中......',
|
||||
|
||||
})
|
||||
this.jishiName=this.$queue.getData('getJishi');
|
||||
// setTimeout(() => {
|
||||
// // this.loading = false;
|
||||
// }, 2000)
|
||||
|
@ -257,14 +298,18 @@
|
|||
title: '订单详情'
|
||||
})
|
||||
}
|
||||
this.ordersId = e.ordersId
|
||||
this.ordersId = this.$queue.getData('ordersId');
|
||||
this.userPackageDetailId = this.$queue.getData('userPackageDetailId');
|
||||
this.youhui()
|
||||
// this.getOrder()
|
||||
},
|
||||
|
||||
onShow() {
|
||||
this.yhqxSel = this.$queue.getData("yhqxSel");
|
||||
this.getOrder()
|
||||
if (uni.getStorageSync('token')) {
|
||||
this.getIsVip()
|
||||
this.addressId = this.$queue.getData('EditAddress');
|
||||
if (this.addressId) {
|
||||
this.getAddressList(this.addressId);
|
||||
} else {
|
||||
this.addressMy()
|
||||
}
|
||||
|
||||
// #ifndef MP-WEIXIN
|
||||
|
@ -298,7 +343,134 @@
|
|||
// #endif
|
||||
},
|
||||
methods: {
|
||||
openpay() {//验证
|
||||
if(this.single=='2024-06-19'){
|
||||
uni.showToast({
|
||||
title:'请选择服务时间!'
|
||||
})
|
||||
}else if(this.jishiName==''){
|
||||
uni.showToast({
|
||||
title:'请选择理疗师!'
|
||||
})
|
||||
}else if(this.radio1!='0'){
|
||||
uni.showToast({
|
||||
title:'请同意服务保障!'
|
||||
})
|
||||
}else{
|
||||
this.showpay = true;
|
||||
this.goOrder()
|
||||
}
|
||||
|
||||
},
|
||||
textareaChange(e){//备注
|
||||
this.textareaData=e.detail.value
|
||||
console.log("adsadas0",this.textareaData)
|
||||
},
|
||||
checkboxChange(e){
|
||||
this.couponId=e.detail.value.join(",")
|
||||
},
|
||||
youhui(){//获取优惠卷
|
||||
let that = this
|
||||
let data = {
|
||||
status: 0,
|
||||
page: 1,
|
||||
limit: 10
|
||||
}
|
||||
that.$Request.get("/app/coupon/selectCouponUserList", data).then(res => {
|
||||
if (res.code == 0) {
|
||||
that.couponData=res.data.list
|
||||
} else {
|
||||
that.$queue.showToast(res.msg)
|
||||
}
|
||||
|
||||
});
|
||||
},
|
||||
liliaoshi(){
|
||||
// this.$queue.setData('taocanDd', '2');
|
||||
|
||||
uni.setStorage({
|
||||
key: 'taocanDd',
|
||||
data: '支付',
|
||||
success: function () {
|
||||
uni.switchTab({
|
||||
url: '/pages/therapist/therapist'
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
getChuXing() {//判断这个城市 是不是在经营范围
|
||||
this.$Request.getT('/app/artificer/selectTaxiMoney?artificerId=' + this.artificerId + '&latitude=' + this
|
||||
.latitude + '&longitude=' + this.longitude).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.cheFei = res.data.taxiMoney ? res.data.taxiMoney : 0;
|
||||
// this.price = parseInt(this.price)+parseInt(this.cheFei).toFixed(2)
|
||||
this.distances = res.data.distances
|
||||
this.tripNum = res.data.tripNum
|
||||
this.xuMoney = res.data.xuMoney
|
||||
this.tripPrice = res.data.tripPrice
|
||||
this.cxSel = true;
|
||||
} else {
|
||||
this.cxSel = false;
|
||||
uni.showToast({
|
||||
title: '当前城市暂未开通,请切换城市',
|
||||
duration: 2000,
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
addressMy() {
|
||||
this.$Request.getT('/app/address/selectAddressById').then(res => {
|
||||
console.log(res)
|
||||
if (res.code == 0) {
|
||||
this.name = res.data.name;
|
||||
this.mobile = res.data.phone;
|
||||
this.cityaddress = res.data.province + res.data.city + res.data.district;
|
||||
this.detailaddress = res.data.detailsAddress;
|
||||
this.isDefault = res.data.isDefault;
|
||||
this.userId = res.data.userId;
|
||||
this.latitude = res.data.latitude;
|
||||
this.longitude = res.data.longitude;
|
||||
this.province = res.data.province
|
||||
this.city = res.data.city
|
||||
this.district = res.data.district
|
||||
this.addressId = res.data.addressId
|
||||
// this.getChuXing();
|
||||
// this.$queue.setData('EditAddress', res.data.addressId);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 选中地址
|
||||
getAddressList(addressId) {
|
||||
if (addressId) {
|
||||
this.$Request.getT('/app/address/selectAddressByAddressId?addressId=' + this.addressId).then(res => {
|
||||
console.log(res)
|
||||
if (res.code == 0) {
|
||||
this.name = res.data.name;
|
||||
this.mobile = res.data.phone;
|
||||
this.cityaddress = res.data.province + res.data.city + res.data.district;
|
||||
this.detailaddress = res.data.detailsAddress;
|
||||
this.isDefault = res.data.isDefault;
|
||||
this.userId = res.data.userId;
|
||||
this.latitude = res.data.latitude;
|
||||
this.longitude = res.data.longitude;
|
||||
this.province = res.data.province
|
||||
this.city = res.data.city
|
||||
this.district = res.data.district
|
||||
|
||||
// this.getChuXing();
|
||||
}
|
||||
// uni.hideLoading();
|
||||
});
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '../address/address?id=' + 2
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
changeLog(e){//服务时间
|
||||
console.log("11111",e)
|
||||
this.single=e;
|
||||
},
|
||||
goChat() {
|
||||
|
@ -377,32 +549,38 @@
|
|||
}
|
||||
});
|
||||
},
|
||||
goOrder(item) {
|
||||
goOrder() {//生成orderId
|
||||
let that = this
|
||||
let payMoney = that.isVip ? item.memberPrice : item.price;
|
||||
let data = {
|
||||
parentId: that.order.ordersId,
|
||||
artificerId: that.order.artificerId,
|
||||
ordersMassageList: [{
|
||||
massageId: item.massageTypeId,
|
||||
num: 1,
|
||||
}],
|
||||
price: payMoney,
|
||||
couponId: '',
|
||||
payMoney: payMoney,
|
||||
userId: uni.getStorageSync('userId'),
|
||||
address:that.province+that.city+that.district+that.detailaddress,
|
||||
artificerId:that.jishiName.artificerId,
|
||||
userPackageDetailId:that.userPackageDetailId,
|
||||
phone:that.mobile,
|
||||
userName:that.name,
|
||||
tripWay:that.jishiName.tripWay,
|
||||
city:that.city,
|
||||
couponId: that.couponId,
|
||||
userId: uni.getStorageSync('userId'),
|
||||
longitude:that.longitude,
|
||||
latitude:that.latitude,
|
||||
serveTime:that.single,
|
||||
remarks:that.textareaData,
|
||||
ordersMassageList:[
|
||||
{massageId: that.userPackageDetailId? that.userPackageDetailId:that.ordersId,num: 1},
|
||||
]
|
||||
}
|
||||
that.$Request.postJson("/app/artificer/insertOrders", data).then(res => {
|
||||
that.showorder = false
|
||||
if (res.code == 0) {
|
||||
that.tordersId = res.data.ordersId;
|
||||
that.tpayMoney = payMoney;
|
||||
that.ordersId = res.data.ordersId;
|
||||
that.tpayMoney = res.data.payMoney;
|
||||
that.showpay = true;
|
||||
that.paySel = 1;
|
||||
|
||||
} else {
|
||||
that.$queue.showToast(res.msg)
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
},
|
||||
payJZ() {
|
||||
|
@ -416,7 +594,7 @@
|
|||
that.$queue.showLoading('支付中...')
|
||||
// console.log('用户点击确定');
|
||||
that.$Request.post("/app/artificer/payOrders", {
|
||||
ordersId: that.tordersId,
|
||||
ordersId: that.ordersId,
|
||||
}).then(ret => {
|
||||
uni.hideLoading();
|
||||
if (ret.code == 0) {
|
||||
|
@ -424,7 +602,7 @@
|
|||
title: '支付成功',
|
||||
icon: 'none'
|
||||
})
|
||||
that.getOrder()
|
||||
// that.getOrder()
|
||||
|
||||
} else {
|
||||
uni.showToast({
|
||||
|
@ -434,7 +612,7 @@
|
|||
}
|
||||
});
|
||||
} else if (re.cancel) {
|
||||
that.getOrder()
|
||||
// that.getOrder()
|
||||
}
|
||||
}
|
||||
})
|
||||
|
@ -461,7 +639,7 @@
|
|||
title: '支付成功',
|
||||
icon: 'none'
|
||||
})
|
||||
that.getOrder()
|
||||
// that.getOrder()
|
||||
// this.$queue.showToast('支付成功');
|
||||
|
||||
// uni.switchTab({
|
||||
|
@ -474,7 +652,7 @@
|
|||
title: '支付失败',
|
||||
icon: 'nones'
|
||||
});
|
||||
that.getOrder()
|
||||
// that.getOrder()
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -719,9 +897,7 @@
|
|||
}
|
||||
});
|
||||
},
|
||||
openpay() {
|
||||
this.showpay = true
|
||||
},
|
||||
|
||||
// 支付订单
|
||||
pay() {
|
||||
let that = this
|
||||
|
@ -730,23 +906,24 @@
|
|||
this.payJZ();
|
||||
return;
|
||||
}
|
||||
console.log("ordersId000000000",this.ordersId)
|
||||
if (that.openWay == 1) { //零钱支付
|
||||
uni.showModal({
|
||||
title: '付款提示',
|
||||
content: '确认支付' + that.order.payMoney + '元吗?',
|
||||
content: '确认支付' + that.tpayMoney + '元吗?',
|
||||
success: function(re) {
|
||||
if (re.confirm) {
|
||||
that.$queue.showLoading('支付中...')
|
||||
console.log('用户点击确定');
|
||||
that.$Request.post("/app/artificer/payOrders", {
|
||||
ordersId: that.order.ordersId,
|
||||
ordersId: that.ordersId,
|
||||
}).then(res => {
|
||||
uni.hideLoading();
|
||||
if (res.code == 0) {
|
||||
uni.showToast({
|
||||
title: '支付成功'
|
||||
})
|
||||
that.getOrder()
|
||||
// that.getOrder()
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
|
@ -785,7 +962,7 @@
|
|||
title: '支付成功',
|
||||
icon: 'none'
|
||||
})
|
||||
that.getOrder()
|
||||
// that.getOrder()
|
||||
// this.$queue.showToast('支付成功');
|
||||
|
||||
// uni.switchTab({
|
||||
|
@ -798,7 +975,7 @@
|
|||
title: '支付失败',
|
||||
icon: 'nones'
|
||||
});
|
||||
that.getOrder()
|
||||
// that.getOrder()
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -930,7 +1107,7 @@
|
|||
title: '支付成功',
|
||||
icon: 'none'
|
||||
})
|
||||
that.getOrder()
|
||||
// that.getOrder()
|
||||
} else {
|
||||
uni.hideLoading();
|
||||
}
|
||||
|
@ -959,7 +1136,7 @@
|
|||
title: '支付成功',
|
||||
icon: 'none'
|
||||
})
|
||||
that.getOrder()
|
||||
// that.getOrder()
|
||||
},
|
||||
fail: function(err) {
|
||||
uni.hideLoading();
|
||||
|
@ -990,7 +1167,7 @@
|
|||
that.$Request.post('/app/artificer/deleteOrders', data).then(res => {
|
||||
uni.hideLoading();
|
||||
if (res.code == 0) {
|
||||
that.getOrder()
|
||||
// that.getOrder()
|
||||
} else {
|
||||
that.$queue.showToast(res.msg);
|
||||
}
|
||||
|
@ -1048,6 +1225,108 @@
|
|||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
/deep/uni-checkbox .uni-checkbox-input{
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.youhui-img{
|
||||
width: 111.81rpx;
|
||||
height: 111.81rpx;
|
||||
}
|
||||
.youhui-view-right-btn{
|
||||
width: 158rpx;
|
||||
height: 64rpx;
|
||||
background: linear-gradient(-90deg, #019C88, #2DC48E);
|
||||
border-radius: 32rpx;
|
||||
text-align: center;
|
||||
line-height: 64rpx;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #FFFFFF;
|
||||
text-shadow: 0rpx 2rpx 4rpx rgba(0,119,104,0.44);
|
||||
margin-left: 10px;
|
||||
}
|
||||
.youhui-view-right-time{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #999999;
|
||||
}
|
||||
.youhui-view-right-title{
|
||||
width: 110px;
|
||||
font-weight: 400;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.youhui-view-right-top{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
.youhui-view-right{
|
||||
width: 502.08rpx;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
}
|
||||
.youhui-view-left-bottom{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.youhui-view-left-yuan{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: baseline;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.youhui-view-left-num{
|
||||
font-weight: bold;
|
||||
font-size: 89rpx;
|
||||
}
|
||||
.youhui-view-left-text{
|
||||
font-weight: bold;
|
||||
font-size:24.31rpx;
|
||||
}
|
||||
.youhui-view-left{
|
||||
width: 199rpx;
|
||||
height: 242rpx;
|
||||
display: flex;
|
||||
flex-direction:column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.youhui-yiyong{
|
||||
background-image: url('../../static/youhuijuan/coupons7.png');
|
||||
}
|
||||
.youhui-weiyong{
|
||||
background-image: url('../../static/youhuijuan/coupons1.png');
|
||||
}
|
||||
.youhui-list{
|
||||
width: 95%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
height: 242rpx;
|
||||
border-radius: 21rpx;
|
||||
background-size: 100%;
|
||||
margin: 20px auto;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.dingwei-image{
|
||||
margin-right: 20rpx;
|
||||
width: 66rpx;
|
||||
height: 66rpx;
|
||||
padding: 10rpx 0;
|
||||
border-radius: 50%;
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
text-align: center;
|
||||
line-height: 66rpx;
|
||||
}
|
||||
/deep/.skeleton-fade{
|
||||
display: none;
|
||||
}
|
||||
/deep/.u-button-pay{
|
||||
width: 381rpx;
|
||||
height: 68rpx;
|
||||
|
@ -1354,8 +1633,7 @@
|
|||
}
|
||||
|
||||
.content{
|
||||
padding-bottom: 140rpx;
|
||||
padding-top: 20px;
|
||||
padding-top: 1px;
|
||||
width: 100%;
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
|
@ -1375,7 +1653,7 @@
|
|||
}
|
||||
|
||||
.bg {
|
||||
background: linear-gradient(to right, #223845, #00a85b);
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.list_item {
|
||||
|
@ -1517,9 +1795,9 @@
|
|||
|
||||
.popup_pay {
|
||||
width: 100%;
|
||||
height: 210px;
|
||||
position: relative;
|
||||
padding-bottom: 45rpx;
|
||||
/* height: 160px; */
|
||||
/* #ifndef MP-WEIXIN */
|
||||
/* height: 130px; */
|
||||
/* #endif */
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -23,21 +23,21 @@
|
|||
<view class="money-miao">只能用于平台消费支付,充值后不可退款</view>
|
||||
</view>
|
||||
<view class="padding-lr padding-bottom">
|
||||
<view class="yu-e">
|
||||
余额充值
|
||||
<view class="chongzhi">
|
||||
<span class="yu-e">余额充值</span>
|
||||
<span @click="toggle('center')">为TA充值</span>
|
||||
</view>
|
||||
<view class="flex justify-between flex-wrap" v-if="wallet.length > 0">
|
||||
<view v-for="(item,index) in wallet" :key='index' class="padding-sm radius"
|
||||
style="color: #555;background-color: #f7f7f7;width: 48%; margin-top: 20rpx;"
|
||||
@click="active(item)" :class="{active:item.isSelect}">
|
||||
<view v-if="item.coupon && item.coupon.money" class="coupon">
|
||||
¥{{item.price}}
|
||||
<view class="coupon" style="display: flex;justify-content:space-between;align-items: center;">
|
||||
<span>充¥{{item.price}}</span>
|
||||
<span>赠¥{{item.sumMoney}}</span>
|
||||
</view>
|
||||
<view v-else style="height: 100%;display: flex;align-items: center;font-size: 34rpx;font-weight: bold;">
|
||||
¥{{item.price}}
|
||||
</view>
|
||||
<view v-if="item.coupon && item.coupon.money" class="coupon-bottom" style="color: #029D88 !important;">
|
||||
赠送 <span style="color: #D33232;">{{item.giveNum}}张{{item.coupon.money}}</span>元优惠券
|
||||
<view class="coupon-bottom" style="color: #029D88 !important;">
|
||||
赠送 <span style="color: #D33232;">{{item.remarks}}</span>
|
||||
<!-- 赠送 <span style="color: #D33232;">{{item.giveNum}}张{{item.coupon.money}}</span>元优惠券 -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -84,11 +84,15 @@
|
|||
<image src="../../static/img/you.png" style="width: 16rpx;height: 28rpx;"></image>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
|
||||
<!-- <view class="flex justify-around margin-top " v-if="jsczSel != '否'">
|
||||
<view @click="goNav('/pages/therapist/therapistList?index=2')">为TA充值</view>
|
||||
<view @click="goNav('/pages/therapist/therapistList?index=3')">我的理疗师</view>
|
||||
</view> -->
|
||||
<view
|
||||
style="position: fixed;bottom: 0rpx;left: 0;right: 0;background: #FFFFFF;height: 110rpx;line-height: 110rpx;z-index: 999;">
|
||||
<view class="btn" @click="pay"
|
||||
style="background: linear-gradient(to right, #223845, #00a85b);color: #FFFFFF;margin: 16rpx 30upx;position: fixed;bottom: 0upx;width: 90%;border-radius: 50rpx;height: 78rpx;line-height: 78rpx;font-size: 32rpx;">
|
||||
style="background: linear-gradient(to right, #00a85b, #00a85b);color: #FFFFFF;margin: 16rpx 30upx;position: fixed;bottom: 0upx;width: 90%;border-radius: 50rpx;height: 78rpx;line-height: 78rpx;font-size: 32rpx;">
|
||||
确定充值</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -206,11 +210,109 @@
|
|||
<view class="btn" @click="cashMoney">立即提现</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <view class="flex justify-around margin-top " v-if="jsczSel != '否'">
|
||||
<view @click="goNav('/pages/therapist/therapistList?index=2')">为TA充值</view>
|
||||
<view @click="goNav('/pages/therapist/therapistList?index=3')">我的理疗师</view>
|
||||
</view> -->
|
||||
<view>
|
||||
<!-- 普通弹窗 -->
|
||||
<uni-popup ref="popup" background-color="#fff" @change="change">
|
||||
<view class="popup-content">
|
||||
<view class="popup-head">
|
||||
<span>改价单</span>
|
||||
<span @click="closePopup(type)">x</span>
|
||||
</view>
|
||||
<view class="popup-mian">
|
||||
<!-- <view class="popup-mian-textarea">
|
||||
<view class="popup-mian-view">
|
||||
<span>原服务项目价格:</span>
|
||||
<span>¥198元</span>
|
||||
</view>
|
||||
<view class="popup-mian-view">
|
||||
<span>现服务项目价格:</span>
|
||||
<span>¥298元</span>
|
||||
</view>
|
||||
<view class="popup-mian-view">
|
||||
<span>改价需支付差价:</span>
|
||||
<span>¥100元</span>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="chong">
|
||||
<view class="chong-list">
|
||||
<view class="chong-list-left">
|
||||
<radio value="" class="chong-list-radio"/>
|
||||
<image src="../../static/jinggao.png" mode=""></image>
|
||||
</view>
|
||||
<view class="chong-list-right">
|
||||
<view class="chong-title">
|
||||
<span>王丽楠</span>
|
||||
<image src="../../static/xinren.png" mode=""></image>
|
||||
</view>
|
||||
<view class="chong-bottom">
|
||||
<view class="chong-bottom-ding">
|
||||
<image src="../../static/orderDetail/dingwei.png" mode=""></image>
|
||||
<span>0.8km</span>
|
||||
</view>
|
||||
<view class="chong-bottom-cheng">
|
||||
<image class="therapist-bottom-img" src="../../static/dituzhaoren5.png">
|
||||
<span>春城有约</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="chong-list">
|
||||
<view class="chong-list-left">
|
||||
<radio value="" class="chong-list-radio"/>
|
||||
<image src="../../static/jinggao.png" mode=""></image>
|
||||
</view>
|
||||
<view class="chong-list-right">
|
||||
<view class="chong-title">
|
||||
<span>王丽楠</span>
|
||||
<image src="../../static/xinren.png" mode=""></image>
|
||||
</view>
|
||||
<view class="chong-bottom">
|
||||
<view class="chong-bottom-ding">
|
||||
<image src="../../static/orderDetail/dingwei.png" mode=""></image>
|
||||
<span>0.8km</span>
|
||||
</view>
|
||||
<view class="chong-bottom-cheng">
|
||||
<image class="therapist-bottom-img" src="../../static/dituzhaoren5.png">
|
||||
<span>春城有约</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="chong-list">
|
||||
<view class="chong-list-left">
|
||||
<radio value="" class="chong-list-radio"/>
|
||||
<image src="../../static/jinggao.png" mode=""></image>
|
||||
</view>
|
||||
<view class="chong-list-right">
|
||||
<view class="chong-title">
|
||||
<span>王丽楠</span>
|
||||
<image src="../../static/xinren.png" mode=""></image>
|
||||
</view>
|
||||
<view class="chong-bottom">
|
||||
<view class="chong-bottom-ding">
|
||||
<image src="../../static/orderDetail/dingwei.png" mode=""></image>
|
||||
<span>0.8km</span>
|
||||
</view>
|
||||
<view class="chong-bottom-cheng">
|
||||
<image class="therapist-bottom-img" src="../../static/dituzhaoren5.png">
|
||||
<span>春城有约</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="popup-mian-btn">
|
||||
<span @click="closePopup(type)">
|
||||
取消
|
||||
</span>
|
||||
<span>
|
||||
确定
|
||||
</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
@ -219,6 +321,7 @@
|
|||
export default {
|
||||
data() {
|
||||
return {
|
||||
type:'center',
|
||||
jsczSel: '否',
|
||||
tgCheck: '否',
|
||||
isAgency: 0,
|
||||
|
@ -270,7 +373,8 @@
|
|||
placeholder: '',
|
||||
renzheng: 0,
|
||||
sp: 0,
|
||||
txMsg: ''
|
||||
txMsg: '',
|
||||
nameTxt:''
|
||||
}
|
||||
},
|
||||
onLoad(d) {
|
||||
|
@ -280,12 +384,14 @@
|
|||
} else {
|
||||
this.tabIndex = 0;
|
||||
}
|
||||
|
||||
this.wxTxSel = this.$queue.getData('wxTxSel');
|
||||
this.ylTxSel = this.$queue.getData('ylTxSel');
|
||||
this.jsczSel = this.$queue.getData('jsczSel');
|
||||
this.txMsg = this.$queue.getData('txMsg');
|
||||
this.avatar = uni.getStorageSync('avatar')
|
||||
this.renzheng = uni.getStorageSync("renzheng")
|
||||
this.nameTxt=d.text
|
||||
this.getMoneyList();
|
||||
// #ifndef MP-WEIXIN
|
||||
this.openLists = [{
|
||||
|
@ -326,9 +432,6 @@
|
|||
if (res.code == 0) {
|
||||
this.wallet = [];
|
||||
res.data.forEach((d, index) => {
|
||||
// if(!d.coupon){
|
||||
// return;
|
||||
// }
|
||||
if (index == 0) {
|
||||
d.isSelect = true;
|
||||
this.thisSelect = d;
|
||||
|
@ -340,6 +443,19 @@
|
|||
}
|
||||
});
|
||||
},
|
||||
change(e) {
|
||||
console.log('当前模式:' + e.type + ',状态:' + e.show);
|
||||
},
|
||||
closePopup(type){//改价 关闭弹出框
|
||||
this.type = type
|
||||
this.$refs.popup.close(type);
|
||||
},
|
||||
toggle(type) {//改价 弹出框
|
||||
this.type = type
|
||||
// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
|
||||
this.$refs.popup.open(type)
|
||||
},
|
||||
|
||||
//退保证金
|
||||
TuiPrice() {
|
||||
let that = this
|
||||
|
@ -781,6 +897,206 @@
|
|||
</script>
|
||||
|
||||
<style scoped>
|
||||
.chong-list:last-child{
|
||||
border: 0px !important;
|
||||
}
|
||||
.chong-bottom-cheng image{
|
||||
width: 22.22rpx;
|
||||
height: 22.22rpx;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.chong-bottom-cheng span{
|
||||
font-weight: 500;
|
||||
font-size: 23rpx;
|
||||
color: #222222;
|
||||
}
|
||||
.chong-bottom-ding image{
|
||||
width: 18.75rpx;
|
||||
height: 21.53rpx;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.chong-bottom-ding span{
|
||||
font-weight: bold;
|
||||
font-size: 25rpx;
|
||||
color: #848485;
|
||||
}
|
||||
.chong-bottom-ding,.chong-bottom-cheng{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.chong-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.chong-title image{
|
||||
width: 50rpx;
|
||||
height: 22.22rpx;
|
||||
}
|
||||
.chong-title span{
|
||||
font-weight: 400;
|
||||
font-size: 29rpx;
|
||||
color: #333333;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.chong-title{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.chong-list-right{
|
||||
width: 75%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.chong-list-left image{
|
||||
width: 76rpx;
|
||||
height: 76rpx;
|
||||
}
|
||||
/deep/uni-radio .uni-radio-input{
|
||||
width: 29.86rpx;
|
||||
height: 29.86rpx;
|
||||
margin: -3px 0px 0px -20px;
|
||||
background-color: rgba(4, 159, 137, 1) !important;
|
||||
border-color: rgba(4, 159, 137, 1) !important;
|
||||
}
|
||||
.chong-list-radio{
|
||||
margin-right: 5px;
|
||||
width: 29.86rpx;
|
||||
height: 29.86rpx;
|
||||
}
|
||||
.chong-list-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.chong-list{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
padding: 10px 0px;
|
||||
border-bottom: 1px solid #DCDCDC;
|
||||
}
|
||||
.chong{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.img-span{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 40px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
background: linear-gradient(-90deg, #FF6F48, #FF9E69);
|
||||
border-top-left-radius: 15rpx;
|
||||
border-bottom-right-radius: 15rpx;
|
||||
font-weight: bold;
|
||||
font-size: 18rpx;
|
||||
color: #FFFFFF;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
margin: 0 6px 6px 0px;
|
||||
}
|
||||
|
||||
.popup-mian-view span:nth-child(1){
|
||||
color: #666666;
|
||||
}
|
||||
.popup-mian-view span:nth-child(2){
|
||||
color: #333;
|
||||
font-weight: bold;
|
||||
}
|
||||
.popup-mian-view span{
|
||||
font-size: 29rpx;
|
||||
}
|
||||
.popup-mian-view{
|
||||
width: 100%;
|
||||
height: 35px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px solid #DCDCDC;
|
||||
}
|
||||
.popup-mian-textarea{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.popup-mian-btn span:nth-child(1){
|
||||
background: linear-gradient(90deg, #FE912E, #FF9970);
|
||||
}
|
||||
.popup-mian-btn span:nth-child(2){
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
}
|
||||
.popup-mian-btn span{
|
||||
width: 247rpx;
|
||||
height: 77rpx;
|
||||
line-height: 77rpx;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 32rpx;
|
||||
color: #FFFEFE;
|
||||
border-radius: 39rpx;
|
||||
}
|
||||
.popup-mian-btn{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.popup-mian{
|
||||
width: 88%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: 5px auto 0px auto;
|
||||
}
|
||||
.popup-head span:nth-child(2){
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
line-height: 19px;
|
||||
text-align: center;
|
||||
font-size: 24px;
|
||||
color: #15AB8D;
|
||||
border-radius: 50%;
|
||||
border: 3px solid #15AB8D;
|
||||
}
|
||||
.popup-head span:nth-child(1){
|
||||
font-weight: bold;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.popup-head{
|
||||
width: 100%;
|
||||
height: 99.38rpx;
|
||||
background-color: rgba(21, 171, 141, 0.09);
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0 15px;
|
||||
}
|
||||
.popup-content{
|
||||
width: 613rpx;
|
||||
padding-bottom: 10px;
|
||||
background: #FFFFFF;
|
||||
border-radius: 56rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
|
||||
.coupon-bottom{
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
|
@ -795,6 +1111,22 @@
|
|||
width: 95%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.chongzhi span:nth-child(2){
|
||||
color: #00a85b;
|
||||
background-color: #fff;
|
||||
padding: 2px 5px;
|
||||
font-weight: bold;
|
||||
font-size: 35rpx;
|
||||
border:1px solid #00a85b;
|
||||
border-radius: 30px;
|
||||
}
|
||||
.chongzhi{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.yu-e{
|
||||
font-weight: bold;
|
||||
font-size: 35rpx;
|
||||
|
|
|
@ -7,26 +7,30 @@
|
|||
<view style="margin-bottom: 8upx">{{item.content}}</view>
|
||||
<view style="margin-bottom: 8upx"> 创建时间:{{item.createTime}}</view>
|
||||
<view style="margin-bottom: 8upx;text-align: right;">
|
||||
<text v-if="item.type == 1" class="text-olive" style="font-size: 32upx;font-weight: 600"><text class="text-olive">+</text>{{item.money}}元</text>
|
||||
<text v-if="item.type == 2" class="text-olive" style="font-size: 32upx;font-weight: 600"><text class="text-olive">+</text>{{item.money}}元</text>
|
||||
<text v-if="item.type == 2" class="text-red" style="font-size: 32upx;font-weight: 600"><text class="text-red">-</text>{{item.money}}元</text>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="content-list">
|
||||
<view class="content-list" v-for="(item, index) in list" :key="index">
|
||||
<view class="list-top">
|
||||
<span>支付订单</span>
|
||||
<span class="shijiH">-48元</span>
|
||||
<view class="list-top-view">
|
||||
<span class="list-top-view-title">{{item.title}}</span>
|
||||
<span class="img-span">{{item.blFlag=='1'?'余额':'现金'}}</span>
|
||||
</view>
|
||||
<text v-if="item.type == 1" class="text-olive" style="font-size: 32upx;font-weight: 600"><text class="text-olive">+</text>{{item.money}}元</text>
|
||||
<text v-if="item.type == 2" class="text-red" style="font-size: 32upx;font-weight: 600"><text class="text-red">-</text>{{item.money}}元</text>
|
||||
</view>
|
||||
<view class="list-bottom">
|
||||
<view class="list-bottom-ding">
|
||||
订单号:2023120611401234567,已经下单成功
|
||||
{{item.content}}
|
||||
</view>
|
||||
<view class="list-bottom-time">
|
||||
2024-01-01 10:00:00
|
||||
创建时间:{{item.createTime}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <empty v-if="list.length == 0" content="暂无明细" ></empty> -->
|
||||
<empty v-if="list.length == 0" content="暂无明细" ></empty>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
@ -93,6 +97,26 @@
|
|||
</script>
|
||||
|
||||
<style lang="less">
|
||||
.img-span{
|
||||
display: block;
|
||||
padding: 1px 5px;
|
||||
font-weight: 400;
|
||||
font-size: 8px;
|
||||
color: #FFFFFF;
|
||||
background: linear-gradient(-90deg, #FF6F48, #FF9E69);
|
||||
border-radius: 10px 0px 10px 0px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.list-top-view-title{
|
||||
color: #13141A;
|
||||
font-weight: bold;
|
||||
font-size: 35rpx;
|
||||
}
|
||||
.list-top-view{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.list-bottom-time{
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
|
@ -109,13 +133,7 @@
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.list-top span{
|
||||
font-weight: bold;
|
||||
font-size: 35rpx;
|
||||
}
|
||||
.list-top span:nth-child(1){
|
||||
color: #13141A;
|
||||
}
|
||||
|
||||
.shijiH{
|
||||
color: #FF8400;
|
||||
}
|
||||
|
@ -146,11 +164,13 @@
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: 0 auto;
|
||||
padding-bottom: 30px;
|
||||
}
|
||||
.content {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
// height: 100vh;
|
||||
background: #f7f7f7;
|
||||
// overflow: scroll;
|
||||
}
|
||||
|
||||
.tui-tab-item-title {
|
||||
|
|
123
pages.json
123
pages.json
|
@ -9,7 +9,7 @@
|
|||
"path": "pages/index/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "盛安到家",
|
||||
"enablePullDownRefresh": true,
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationStyle": "custom",
|
||||
"app-plus": {
|
||||
"titleNView": false
|
||||
|
@ -21,7 +21,7 @@
|
|||
// #ifndef H5
|
||||
{
|
||||
"path": "pages/index/index",
|
||||
"enablePullDownRefresh": true,
|
||||
"enablePullDownRefresh": false,
|
||||
"style": {
|
||||
"navigationBarTitleText": "盛安到家",
|
||||
"navigationStyle": "custom",
|
||||
|
@ -163,6 +163,109 @@
|
|||
}
|
||||
},
|
||||
// #endif
|
||||
{
|
||||
// 我的页面进入 次卡 疗程列表 在进入后订单详情列表
|
||||
"path": "pages/my/orderDetailsList",
|
||||
"style": {
|
||||
"navigationBarTitleText": "订单详情列表",
|
||||
"navigationBarBackgroundColor": "#096f4b",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/my/historyMy",
|
||||
"style": {
|
||||
"navigationBarTitleText": "浏览历史",
|
||||
"navigationBarBackgroundColor": "#096f4b",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/my/myCiLiaoDetail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "我的次卡疗程详情",
|
||||
"navigationBarBackgroundColor": "#096f4b",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/my/indextaociliaoList",
|
||||
"style": {
|
||||
"navigationBarTitleText": "首页套餐次卡疗程",
|
||||
"navigationBarBackgroundColor": "#096f4b",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/my/fuwuliaocheng",
|
||||
"style": {
|
||||
"navigationBarTitleText": "服务疗程",
|
||||
"navigationBarBackgroundColor": "#096f4b",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/my/fuwuGengduo",
|
||||
"style": {
|
||||
"navigationBarTitleText": "更多优惠",
|
||||
"navigationBarBackgroundColor": "#096f4b",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/my/fuwuDateil",
|
||||
"style": {
|
||||
"navigationBarTitleText": "服务项目详情",
|
||||
"navigationBarBackgroundColor": "#096f4b",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/my/fuwuxiangm",
|
||||
"style": {
|
||||
"navigationBarTitleText": "服务项目",
|
||||
"navigationBarBackgroundColor": "#096f4b",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/my/fuwuliaochengDetail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "服务疗程详情",
|
||||
"navigationBarBackgroundColor": "#096f4b",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/my/cika",
|
||||
"style": {
|
||||
"navigationBarTitleText": "项目次卡",
|
||||
"navigationBarBackgroundColor": "#096f4b",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/my/cikarDrtail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "项目次卡详情",
|
||||
"navigationBarBackgroundColor": "#096f4b",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/my/servicePackage",
|
||||
"style": {
|
||||
|
@ -354,7 +457,10 @@
|
|||
"path": "pages/therapist/therapist",
|
||||
"style": {
|
||||
"navigationBarTitleText": "理疗师",
|
||||
"enablePullDownRefresh": true
|
||||
"enablePullDownRefresh": true,
|
||||
"app-plus": {
|
||||
"titleNView": false
|
||||
}
|
||||
}
|
||||
},
|
||||
// #endif
|
||||
|
@ -363,7 +469,7 @@
|
|||
"style": {
|
||||
"navigationBarTitleText": "选择理疗师",
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": true
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
}, {
|
||||
"path": "pages/therapist/orderDetail",
|
||||
|
@ -396,12 +502,19 @@
|
|||
}
|
||||
}
|
||||
}, {
|
||||
"path": "order/payModifyDzhifu",
|
||||
"style": {
|
||||
"navigationBarTitleText": "订单详情",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "help/helpDetail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "帮助详情",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
}, {
|
||||
},{
|
||||
"path": "hongbao/youhuijuan",
|
||||
"style": {
|
||||
"navigationBarTitleText": "优惠券",
|
||||
|
|
|
@ -34,8 +34,8 @@
|
|||
</view>
|
||||
|
||||
<view class="index-nav-bottom width">
|
||||
<image src="../../static/index-nav-6.png" mode="widthFix"></image>
|
||||
<image src="../../static/index-nav-7.png" mode="widthFix"></image>
|
||||
<image src="../../static/index-nav-6.png" mode="widthFix" @click="chaoji"></image>
|
||||
<image src="../../static/index-nav-7.png" mode="widthFix" @click="xinren"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="title-star">
|
||||
|
@ -55,7 +55,7 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="index-project width">
|
||||
<view class="index-project-content" @click="goNav('/pages/my/servicePackage')">
|
||||
<view class="index-project-content" @click="goNav('/pages/my/indextaociliaoList?type='+104+'&name='+'index')">
|
||||
<image src="../../static/index-fenglei1.png" mode="widthFix"></image>
|
||||
<span>盛安套餐</span>
|
||||
</view>
|
||||
|
@ -71,7 +71,7 @@
|
|||
<image src="../../static/index-fenglei4.png" mode="widthFix"></image>
|
||||
<span>会员中心</span>
|
||||
</view>
|
||||
<view class="index-project-content" @click="goNav('/my/wallet/index')">
|
||||
<view class="index-project-content" @click="chaoji">
|
||||
<image src="../../static/index-fenglei10.png" mode="widthFix"></image>
|
||||
<span>充值赠送</span>
|
||||
</view>
|
||||
|
@ -79,9 +79,9 @@
|
|||
<image src="../../static/index-fenglei5.png" mode="widthFix"></image>
|
||||
<span>超值拼团</span>
|
||||
</view>
|
||||
<view class="index-project-content" @click="goNav('/pages/my/servicePackage')">
|
||||
<view class="index-project-content" @click="goNav('/pages/my/indextaociliaoList?type='+106+'&name='+'index')">
|
||||
<image src="../../static/index-fenglei6.png" mode="widthFix"></image>
|
||||
<span>超值套餐</span>
|
||||
<span>服务疗程</span>
|
||||
</view>
|
||||
<view class="index-project-content" @click="goNav()">
|
||||
<image src="../../static/index-fenglei7.png" mode="widthFix"></image>
|
||||
|
@ -99,7 +99,7 @@
|
|||
<view class="index-guanggao width">
|
||||
<image class="index-guanggao-pintuan" src="../../static/pintuan.png" mode="widthFix"></image>
|
||||
<view class="index-guanggao-right">
|
||||
<image class="index-guanggao-right-cika" @click="goNav('/pages/my/onceCardPackage')" src="../../static/cika.png" mode="widthFix"></image>
|
||||
<image class="index-guanggao-right-cika" @click="goNav('/pages/my/indextaociliaoList?type='+105+'&name='+'index')" src="../../static/cika.png" mode="widthFix"></image>
|
||||
<image class="index-guanggao-right-yuyue" src="../../static/yuyue.png" mode="widthFix"></image>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -119,24 +119,23 @@
|
|||
<view class="index-fujin-view">
|
||||
<image class="index-fujin-view-img" :src="item.artificerImg" mode=""></image>
|
||||
<view class="index-fujin-view-text">
|
||||
<image src="../../static/orderDetail/dingwei.png" mode=""></image>
|
||||
<image src="../../static/orderDetail/dingwei.png" mode="w"></image>
|
||||
<span>1.2km</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="index-fujin-jie">
|
||||
<view class="index-fujin-jie-view">
|
||||
<span class="index-fujin-jie-name">{{item.artificerName}}</span>
|
||||
<span class="index-fujin-jie-id">{{item.classifyName}}</span>
|
||||
<span class="index-fujin-jie-id">{{item.content}}</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
<view class="index-taocan width">
|
||||
<view class="index-taocan-view">
|
||||
<view class="index-taocan-view-nav" v-for="item in felNav" :key="item.id" @click="chengFel(item)">
|
||||
<view class="index-taocan-view-nav-s" @click="tuijian(item)">
|
||||
<view class="index-taocan-view-nav-s">
|
||||
<span class="index-taocan-view-nav-text" :class="[currentTabFl==item.id?'activeL':'activeH']">{{item.name}}</span>
|
||||
<span class="index-taocan-view-nav-jie" :class="[currentTabFl==item.id?'activeXL':'activeXH']">{{item.content}}</span>
|
||||
</view>
|
||||
|
@ -144,13 +143,14 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="index-card">
|
||||
<view class="index-card-view">
|
||||
<view class="index-card-view" v-for="(item,index) in tjData" :key="index" @click="goDatail(item)">
|
||||
<view class="index-card-view-title">
|
||||
<view class="index-card-view-title-left">古法十二经络</view>
|
||||
<image class="index-card-image" :src="item.packageImg" mode=""></image>
|
||||
<!-- <view class="index-card-view-title-left">{{item.title}}</view> -->
|
||||
<view class="index-card-view-title-right">助眠解压</view>
|
||||
</view>
|
||||
<view class="index-card-mian">
|
||||
<view class="index-card-mian-title marginTop">古法十二经络SPA</view>
|
||||
<view class="index-card-mian-title marginTop">{{item.title}}</view>
|
||||
<view class="index-card-mian-biao marginTop">
|
||||
<view class="index-card-mian-biao-left">
|
||||
助眠减压
|
||||
|
@ -159,38 +159,13 @@
|
|||
缓解疲劳
|
||||
</view>
|
||||
</view>
|
||||
<view class="index-card-mian-time marginTop">
|
||||
<view class="index-card-mian-time marginTop" v-if="item.duration">
|
||||
<image src="../../static/rumen-time.png" mode="widthFix"></image>
|
||||
<span>100分钟</span>
|
||||
<span>{{item.duration}}分钟</span>
|
||||
</view>
|
||||
<view class="index-card-mian-money marginTop">
|
||||
<span class="index-card-mian-money-zhen">¥388</span>
|
||||
<span class="index-card-mian-money-jia">¥500</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="index-card-view">
|
||||
<view class="index-card-view-title">
|
||||
<view class="index-card-view-title-left">古法十二经络</view>
|
||||
<view class="index-card-view-title-right">助眠解压</view>
|
||||
</view>
|
||||
<view class="index-card-mian">
|
||||
<view class="index-card-mian-title marginTop">古法十二经络SPA</view>
|
||||
<view class="index-card-mian-biao marginTop">
|
||||
<view class="index-card-mian-biao-left">
|
||||
助眠减压
|
||||
</view>
|
||||
<view class="index-card-mian-biao-right">
|
||||
缓解疲劳
|
||||
</view>
|
||||
</view>
|
||||
<view class="index-card-mian-time marginTop">
|
||||
<image src="../../static/rumen-time.png" mode="widthFix"></image>
|
||||
<span>100分钟</span>
|
||||
</view>
|
||||
<view class="index-card-mian-money marginTop">
|
||||
<span class="index-card-mian-money-zhen">¥388</span>
|
||||
<span class="index-card-mian-money-jia">¥500</span>
|
||||
<span class="index-card-mian-money-zhen">¥{{item.price}}</span>
|
||||
<span class="index-card-mian-money-jia">¥{{item.oldPrice}}</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -280,6 +255,7 @@
|
|||
city: '请选择城市',
|
||||
XCXIsSelect: '否',
|
||||
currentTabFl: 1,
|
||||
tjData:[],
|
||||
felNav:[{
|
||||
id:1,
|
||||
content: '大家常买',
|
||||
|
@ -340,35 +316,8 @@
|
|||
starTechnician:[],//明星技师
|
||||
nearbyTechnician:[],//附近技师
|
||||
classifyId: '',
|
||||
//列表数据
|
||||
goodsList: [
|
||||
{
|
||||
id: 1,
|
||||
name: '大甜梨',
|
||||
descr: '又大又甜又脆巨好吃',
|
||||
icon: '../../static/index-nav-6.png'
|
||||
},{
|
||||
id: 2,
|
||||
name: '猕猴桃',
|
||||
descr: '口感甜酸、可口',
|
||||
icon: '../../static/index-nav-7.png'
|
||||
},{
|
||||
id: 3,
|
||||
name: '樱桃',
|
||||
descr: '又大又甜水还多',
|
||||
icon: '../../static/index-nav-6.png'
|
||||
},{
|
||||
id: 4,
|
||||
name: '牛油果',
|
||||
descr: '果肉柔软、细腻',
|
||||
icon: '../../static/index-nav-7.png'
|
||||
},{
|
||||
id: 5,
|
||||
name: '提子',
|
||||
descr: '又大又甜水还多',
|
||||
icon: '../../static/index-nav-6.png'
|
||||
},
|
||||
]
|
||||
page:1,
|
||||
limit:10,
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
|
@ -401,6 +350,7 @@
|
|||
})
|
||||
that.getBannerList()
|
||||
that.getHomeArtificerList()
|
||||
that.remen()
|
||||
},
|
||||
onShow() {
|
||||
let that = this
|
||||
|
@ -431,13 +381,25 @@
|
|||
// that.myId = uni.getStorageSync('userId')
|
||||
},
|
||||
methods: {
|
||||
tuijian(item){//推荐
|
||||
if(item.id==4){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/serviceItems'
|
||||
})
|
||||
}
|
||||
|
||||
chaoji(){//超级满减
|
||||
uni.navigateTo({
|
||||
url:'/my/wallet/index'
|
||||
})
|
||||
},
|
||||
xinren(){//新人专享
|
||||
var that=this;
|
||||
that.$Request.get('/app/coupon/insertNewUserCoupon').then(res => {
|
||||
if (res.code == 0) {
|
||||
uni.showToast({
|
||||
title:res.msg
|
||||
})
|
||||
}else{
|
||||
uni.showToast({
|
||||
icon:'error',
|
||||
title:res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
goNav(e){
|
||||
if(e!=undefined){
|
||||
|
@ -450,6 +412,39 @@
|
|||
})
|
||||
}
|
||||
|
||||
},
|
||||
// chooseItem(item){
|
||||
|
||||
// },
|
||||
chooseItem(e) {//点击某一个item 推荐明星
|
||||
console.log('授权', uni.getStorageSync('sendMsg'))
|
||||
if (uni.getStorageSync('sendMsg')) {
|
||||
console.log('授权+1')
|
||||
wx.requestSubscribeMessage({
|
||||
tmplIds: this.arr,
|
||||
success(re) {
|
||||
console.log(JSON.stringify(re), 111111111111)
|
||||
var datas = JSON.stringify(re);
|
||||
if (datas.indexOf("accept") != -1) {
|
||||
console.log(re)
|
||||
}
|
||||
},
|
||||
fail: (res) => {
|
||||
console.log(res)
|
||||
}
|
||||
})
|
||||
}
|
||||
if (this.token) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/therapist/orderDetail?artificerId=' + e.artificerId + "&classifyId=" + this
|
||||
.tabIndex
|
||||
});
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/public/login'
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
goOrder(e) {
|
||||
console.log('授权', uni.getStorageSync('sendMsg'))
|
||||
|
@ -471,8 +466,7 @@
|
|||
}
|
||||
if (this.token) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/therapist/orderDetail?artificerId=' + e.artificerId + "&classifyId=" + this
|
||||
.tabIndex
|
||||
url: '/pages/therapist/orderDetail?artificerId=' + e.artificerId + "&classifyId=" + this.tabIndex
|
||||
});
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
|
@ -572,8 +566,59 @@
|
|||
}
|
||||
});
|
||||
},
|
||||
goDatail(item){//热门精选,推荐套餐 跳详情
|
||||
if(this.currentTabFl=='1'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/fuwuDateil?id='+item.massageTypeId+'&limit='+this.limit+'&page='+this.page
|
||||
})
|
||||
}else if(this.currentTabFl=='2'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/serviceOderDrtail?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+'index'+'&isCanCoupon='+item.isCanCoupon
|
||||
})
|
||||
}
|
||||
},
|
||||
chengFel(item){//大家常买。。。 导航切换
|
||||
this.currentTabFl=item.id
|
||||
this.currentTabFl=item.id;
|
||||
if(this.currentTabFl=='1'){
|
||||
this.remen()
|
||||
}else if(this.currentTabFl=='2'){
|
||||
this.tjtaocan()
|
||||
}else if(this.currentTabFl=='3'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/fuwuxiangm'
|
||||
})
|
||||
}else{
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/fuwuGengduo'
|
||||
})
|
||||
}
|
||||
},
|
||||
tjtaocan(){//推荐套餐
|
||||
this.$Request.get("/app/massage/package/findPage", {
|
||||
type:'104',
|
||||
page:'1',
|
||||
limit:'2'
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
if (res.data) {
|
||||
this.tjData = res.data.list
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
remen(){//热门精选
|
||||
this.$Request.get("/app/artificer/selectMassageTypePage", {
|
||||
by: '3',
|
||||
status:'1',
|
||||
page:'1',
|
||||
limit:'2'
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
if (res.data) {
|
||||
this.tjData = res.data.list
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
swichMenu(id) {//视频导航
|
||||
this.currentTab = id
|
||||
|
@ -593,17 +638,24 @@
|
|||
this.swichMenu(index)
|
||||
|
||||
},
|
||||
//点击某一个item 推荐明星
|
||||
chooseItem(item){
|
||||
this.goOrder(item);
|
||||
console.log("推荐明星",item)
|
||||
// 点击拿到整个当前点击的item 执行业务逻辑
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.index-card-image{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.index-card-view-title{
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 337.5rpx;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
border-radius: 30px;
|
||||
}
|
||||
/deep/.u-select{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
@ -618,7 +670,7 @@
|
|||
}
|
||||
/deep/.u-content,/deep/.u-search{
|
||||
flex: none;
|
||||
width: 557.08rpx;
|
||||
width: 230px;
|
||||
border-radius: 32rpx !important;
|
||||
height: 64rpx !important;
|
||||
}
|
||||
|
@ -808,6 +860,7 @@
|
|||
font-weight: bold;
|
||||
font-size: 31rpx;
|
||||
color: #333333;
|
||||
text-align: center;
|
||||
}
|
||||
.marginTop{
|
||||
margin-bottom: 10px;
|
||||
|
@ -830,7 +883,7 @@
|
|||
font-size: 21rpx;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
margin-left: 85px;
|
||||
/* margin-left: 85px; */
|
||||
}
|
||||
.index-card-view-title-left{
|
||||
width: 95px;
|
||||
|
@ -843,15 +896,7 @@
|
|||
border-top-left-radius: 30px;
|
||||
background-color: rgba(176, 176, 176, 0.48);
|
||||
}
|
||||
.index-card-view-title{
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 337.5rpx;
|
||||
background: url(../../static/yuyue.png) 100% no-repeat;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
border-radius: 30px;
|
||||
}
|
||||
|
||||
.index-card-mian-time,.index-card-mian-money{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
|
@ -884,6 +929,14 @@
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.tuijian-view{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-top: 15px;
|
||||
}
|
||||
.index-card{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
|
@ -927,7 +980,7 @@
|
|||
justify-content: space-between;
|
||||
}
|
||||
.index-taocan{
|
||||
margin: 54px auto 23px auto;
|
||||
margin: 15px auto 0px auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
@ -935,6 +988,16 @@
|
|||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #999999;
|
||||
text-align: center;
|
||||
display: table;
|
||||
width: 100px;
|
||||
line-height: 15px;
|
||||
white-space: pre-wrap;
|
||||
margin-top: 10px;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
overflow: hidden;
|
||||
}
|
||||
.index-fujin-jie-name{
|
||||
margin-bottom: 5px;
|
||||
|
@ -946,14 +1009,13 @@
|
|||
width: 100%;
|
||||
height: 290px;
|
||||
background: linear-gradient(0deg, #CFFAEC, #F4FFFB);
|
||||
margin: 20px 0;
|
||||
}
|
||||
.index-fujin-jie-view{
|
||||
width: 222.22rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
margin-top: 15px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.index-fujin-jie{
|
||||
width: 100%;
|
||||
|
|
|
@ -130,22 +130,14 @@
|
|||
备注
|
||||
</view>
|
||||
<view style="color: #999999;font-size: 22rpx;">
|
||||
<!-- <input v-model="beizhu" type="textarea" placeholder="请输入备注" maxlength="300" v-if="isTrues" />
|
||||
<input v-model="beizhu" type="textarea" placeholder="请输入备注" maxlength="300" :disabled="true"
|
||||
v-else /> -->
|
||||
|
||||
<u-input v-model="beizhu" type="textarea" placeholder="请输入备注" :clearable="false"
|
||||
maxlength="300" :custom-style="boxStyle" height="200" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="footer" style="font-size: 26upx;" @tap="isShowAgree">
|
||||
<view style="font-size: 26upx;display: flex;align-items: center;" class="cuIcon"
|
||||
:class="showAgree?'cuIcon-radiobox':'cuIcon-round'">
|
||||
<text>我已阅读并同意</text>
|
||||
<navigator url="/my/setting/about?id=391&name=下单协议" open-type="navigate">《下单协议》</navigator>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<view class="text-white flex justify-between cu-bar foot bg padding-lr" style="color: #096f4b;"
|
||||
v-if="cxSel">
|
||||
<view style="color: #333;">
|
||||
|
@ -220,61 +212,11 @@
|
|||
<view class="btn" @tap="goFaBu(item)">立即使用</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view style="width: 100%;text-align: center;" v-for='(item,index) in CouponIssueList' :key='index'>
|
||||
<view
|
||||
style="background: #fcf3e8;width: 100%;height: 130rpx;border-radius: 10rpx;margin-top: 20rpx;">
|
||||
<view style="display: flex;color: #1a1a1a;width: 100%;">
|
||||
<view
|
||||
style="line-height: 130rpx;margin-left: 0rpx;font-size: 40rpx;color: #1a1a1a;font-weight: 600;width: 150rpx;">
|
||||
<text style="font-size: 20upx;">¥</text>{{item.money}}
|
||||
</view>
|
||||
<view style="margin-left: 20rpx;width: 50%;text-align: left;">
|
||||
<view style="margin-top: 25rpx;">
|
||||
{{item.couponName}}</view>
|
||||
<view style="margin-top: 10rpx;font-size: 26rpx;">满{{item.minMoney}}减{{item.money}}</view>
|
||||
</view>
|
||||
<view
|
||||
style="height: 105rpx;width: 2rpx;background: #1a1a1a;margin-left: 20rpx;margin-top: 15rpx;">
|
||||
</view>
|
||||
<view
|
||||
style="color: #1a1a1a;line-height: 130rpx;height: 130rpx;width: 145rpx;font-weight: 600;"
|
||||
@tap='goFaBu(item)'>立即使用</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
</scroll-view>
|
||||
</view>
|
||||
</u-popup>
|
||||
<!-- <u-popup v-model="showpay" mode="bottom" :closeable="closeable" style="position: fixed;bottom: 0;"> -->
|
||||
<!-- <view style="width: 100%;height: 100vh;background: rgba(0,0,0,0.8);z-index: 991;position: absolute;top: 0;left: 0;" v-if="showpay" @touchmove.stop.prevent="moveHandle">
|
||||
<view class="popup_pay" >
|
||||
<view style="background-color: #fff;">
|
||||
<view style="width: 90%;margin: 0 auto;text-align: end;margin-top: 15px;" @tap.stop='close()'>
|
||||
<u-icon name="close-circle" size="40" color="#CCCCCC"></u-icon>
|
||||
</view>
|
||||
<view style="padding: 0 20upx;margin-bottom: 20rpx;">
|
||||
<view
|
||||
style="display: flex;height: 100upx;align-items: center;padding: 20upx 0;justify-content: center;"
|
||||
v-for="(item,index) in openLists" :key='index'>
|
||||
<image :src="item.image" style="width: 55upx;height: 55upx;border-radius: 50upx;">
|
||||
</image>
|
||||
<view style="font-size: 30upx;margin-left: 20upx;width: 70%;">
|
||||
{{item.text}}
|
||||
</view>
|
||||
<radio-group name="openWay" style="margin-left: 45upx;" @tap.stop='selectWay(item)'>
|
||||
<label class="tui-radio">
|
||||
<radio color="#096f4b" :checked="openWay === item.id ? true : false" />
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pay_btn" @click="pay()">确认支付</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<!-- </u-popup> -->
|
||||
|
||||
<!-- <u-picker v-model="addshow" mode="region" @confirm="addData"></u-picker> -->
|
||||
|
||||
</view>
|
||||
<u-skeleton :loading="loading" :animation="true" elColor='#FFFFFF' bgColor='#FFFFFF'></u-skeleton>
|
||||
</view>
|
||||
|
@ -379,7 +321,7 @@
|
|||
this.tripWay = option.tripWay;
|
||||
}
|
||||
this.isVIP = uni.getStorageSync('isVIP')
|
||||
this.getDet()
|
||||
// this.getDet()
|
||||
this.getordertherapist()
|
||||
this.XCXIsSelect = this.$queue.getData("XCXIsSelect");
|
||||
var date = new Date();
|
||||
|
|
|
@ -0,0 +1,414 @@
|
|||
<!-- 自定义下拉刷新与上拉加载演示(vue) -->
|
||||
<template>
|
||||
<view class="content">
|
||||
<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 @click="backImg" src="../../static/fanhui.png" mode="widthFix"></image>
|
||||
<span>项目次卡</span>
|
||||
</view>
|
||||
<view>
|
||||
<uni-search-bar @service="serviceTrue" @confirm="search" :cancelext="'取消'" v-model="searchValue" @input="input"
|
||||
@clear="clear">
|
||||
</uni-search-bar>
|
||||
<view class="search-btn" @click="searchBtn">
|
||||
搜索
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="fenlei">
|
||||
<z-tabs class="z-tabs-fenlei" :list="tabList" @change="tabChange" @changeClick="changeClick"/>
|
||||
</view> -->
|
||||
</template>
|
||||
|
||||
<!-- 自定义下拉刷新view(如果use-custom-refresher为true且不设置下面的slot="refresher",此时不用获取refresherStatus,会自动使用z-paging自带的下拉刷新view) -->
|
||||
|
||||
<!-- 注意注意注意!!字节跳动小程序中自定义下拉刷新不支持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>
|
||||
<!-- 自定义没有更多数据view -->
|
||||
<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-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">{{item.status=='1'?'未用完':item.status=='2'?'退款':'已用完'}}</span>
|
||||
</view>
|
||||
<view class="item-view">
|
||||
<view class="item-view-title">
|
||||
{{item.title}}
|
||||
</view>
|
||||
<view class="item-view-xiangmu">
|
||||
<span class="xiaoer item-view-biao">{{item.classifyName}}</span>
|
||||
<span>已售{{item.sales}}w+ | 好评{{item.esteemRate}}%</span>
|
||||
</view>
|
||||
<view class="item-view-jianjie">
|
||||
{{item.content}}
|
||||
</view>
|
||||
<view class="item-view-bottom">
|
||||
<view class="item-view-bottom-qian">
|
||||
<span>¥</span>
|
||||
<span>{{item.price}}</span>
|
||||
<span>/元套</span>
|
||||
<span>{{item.oldPrice}}</span>
|
||||
</view>
|
||||
<view class="item-view-bottom-btn">
|
||||
查看
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</z-paging>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
myId: '',
|
||||
// v-model绑定的这个变量不要在分页请求结束中自己赋值!!!
|
||||
dataList: [],
|
||||
tabList: [],
|
||||
typeData:'105',
|
||||
tabIndex: 0,
|
||||
searchValue:'',
|
||||
serviceTrue:true,
|
||||
page:1,
|
||||
limit:10,
|
||||
titleNmae:''
|
||||
}
|
||||
},
|
||||
onLoad(){
|
||||
this.myId = uni.getStorageSync('userId')
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
input(res) {//搜索 输入框
|
||||
this.searchValue=res;
|
||||
console.log('----input:', res)
|
||||
},
|
||||
searchBtn(){//搜索按钮
|
||||
if(this.searchValue!=""){
|
||||
this.getData()
|
||||
}
|
||||
},
|
||||
getData(){
|
||||
let data = {
|
||||
userId: this.myId,
|
||||
type: this.typeData,
|
||||
page: this.page,
|
||||
limit: this.limit,
|
||||
title:this.searchValue,
|
||||
}
|
||||
this.$Request.get('/app/user/package/findMyPackageList', data).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.dataList=res.data.records;
|
||||
}
|
||||
})
|
||||
},
|
||||
tabChange(index) {
|
||||
this.tabIndex = index;
|
||||
//当切换tab或搜索时请调用组件的reload方法,请勿直接调用:queryList方法!!
|
||||
//调用reload时参数传true则代表reload时触发下拉刷新效果,不传或false则代表取消此效果
|
||||
this.$refs.paging.reload(true);
|
||||
},
|
||||
queryList(pageNo, pageSize) {
|
||||
// console.log(pageNo,pageSize,this.tabIndex)
|
||||
// 组件加载时会自动触发此方法,因此默认页面加载时会自动触发,无需手动调用
|
||||
// 这里的pageNo和pageSize会自动计算好,直接传给服务器即可
|
||||
// 模拟请求服务器获取分页数据,请替换成自己的网络请求
|
||||
const params = {
|
||||
userId: this.myId,
|
||||
page: pageNo,
|
||||
limit: pageSize,
|
||||
type: this.typeData,
|
||||
title:''
|
||||
}
|
||||
this.$Request.get('/app/user/package/findMyPackageList',params).then(res => {
|
||||
// 将请求的结果数组传递给z-paging
|
||||
this.$refs.paging.complete(res.data.records);
|
||||
}).catch(res => {
|
||||
// 如果请求失败写this.$refs.paging.complete(false);
|
||||
// 注意,每次都需要在catch中写这句话很麻烦,z-paging提供了方案可以全局统一处理
|
||||
// 在底层的网络请求抛出异常时,写uni.$emit('z-paging-error-emit');即可
|
||||
this.$refs.paging.complete(false);
|
||||
})
|
||||
},
|
||||
|
||||
backImg(){//返回上一页
|
||||
uni.reLaunch({
|
||||
url:'/pages/my/index'
|
||||
})
|
||||
},
|
||||
clear(res) {
|
||||
this.getData()
|
||||
},
|
||||
itemClick(item) {
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/cikarDrtail?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+'my'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
.item-view-bottom-btn{
|
||||
text-align: center;
|
||||
width: 131rpx;
|
||||
height: 50rpx;
|
||||
line-height: 50rpx;
|
||||
background: linear-gradient(90deg, #019C88, #0FA78B, #35C495);
|
||||
border-radius: 10rpx;
|
||||
font-weight: bold;
|
||||
font-size: 24rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(4){
|
||||
font-weight: bold;
|
||||
font-size: 31rpx;
|
||||
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: #F95900;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(2){
|
||||
font-weight: bold;
|
||||
font-size: 36.81rpx;
|
||||
color: #F95900;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(3){
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #F95900;
|
||||
}
|
||||
.item-view-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.item-view-jianjie{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #848484;
|
||||
margin:5px 0px;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.item-view-biao{
|
||||
padding: 1px 2px;
|
||||
border-radius: 6rpx;
|
||||
}
|
||||
.tuina{
|
||||
background-color:#d1f2df;
|
||||
color: #17984d;
|
||||
}
|
||||
.xiaoer{
|
||||
background-color:#f1f8d7;
|
||||
color: #58b314;
|
||||
}
|
||||
.taishi{
|
||||
background-color:#e5d5c6;
|
||||
color: #805d39;
|
||||
}
|
||||
.kangfu{
|
||||
background-color:#fcf3da;
|
||||
color: #ff8600;
|
||||
}
|
||||
.item-view-xiangmu span:nth-child(2){
|
||||
font-weight: normal;
|
||||
color: #666666;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.item-view-xiangmu{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
font-weight: 400;
|
||||
font-size: 21rpx;
|
||||
margin-top: 5px;
|
||||
}
|
||||
.item-view-title{
|
||||
font-weight: bold;
|
||||
font-size: 33rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.item-view{
|
||||
width: 55%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
.item-img{
|
||||
width: 285rpx;
|
||||
height: 120px;
|
||||
border-radius: 14rpx;
|
||||
position: relative;
|
||||
}
|
||||
.img-span{
|
||||
padding: 2px 5px;
|
||||
font-weight: 400;
|
||||
font-size: 8px;
|
||||
color: #FFFFFF;
|
||||
background: linear-gradient(-90deg, #FF6F48, #FF9E69);
|
||||
border-radius: 7px 0px 7px 0px;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
right: 0;
|
||||
margin-bottom: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.item-img image{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.item {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
height: 140px;
|
||||
background: #FFFFFF;
|
||||
border-radius: 21rpx;
|
||||
margin-top:20px;
|
||||
align-items: center;
|
||||
padding: 0px 5px;
|
||||
}
|
||||
|
||||
.item-detail {
|
||||
padding: 5rpx 15rpx;
|
||||
border-radius: 10rpx;
|
||||
font-size: 28rpx;
|
||||
color: white;
|
||||
background-color: #007AFF;
|
||||
}
|
||||
|
||||
.item-line {
|
||||
position: absolute;
|
||||
bottom: 0rpx;
|
||||
left: 0rpx;
|
||||
height: 1px;
|
||||
width: 100%;
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
/deep/.zp-paging-container{
|
||||
background-color: #f7f7f7;
|
||||
width:100%;
|
||||
}
|
||||
/deep/.zp-paging-container-content{
|
||||
width: 95%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.fenlei{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.index-fenl-title{
|
||||
width: 81rpx;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
font-weight: bold;
|
||||
font-size: 34rpx;
|
||||
color:#019C88;
|
||||
}
|
||||
.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));
|
||||
}
|
||||
/deep/.uni-searchbar__cancel{
|
||||
display: none;
|
||||
}
|
||||
.search-btn{
|
||||
text-align: center;
|
||||
line-height: 31px;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
margin-top:9.4px;
|
||||
margin-right: 11px;
|
||||
height: 32px !important;
|
||||
}
|
||||
/deep/.uni-searchbar__box-icon-search,.search-btn{
|
||||
width: 101rpx;
|
||||
height: 60rpx;
|
||||
background: #18A689;
|
||||
border-radius: 31rpx;
|
||||
|
||||
}
|
||||
/deep/.uni-searchbar__box{
|
||||
height: 31px;
|
||||
border-radius: 15px !important;
|
||||
background-color: #fff !important;
|
||||
border: 2px solid #E5E5E5;
|
||||
padding: 0px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-flow: row-reverse;
|
||||
position: relative;
|
||||
}
|
||||
/deep/.uni-searchbar{
|
||||
width: 240px;
|
||||
border-radius: 31rpx;
|
||||
}
|
||||
.service-head-top-left image{
|
||||
width: 25px;
|
||||
height: 30rpx;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.service-head-top-left span{
|
||||
font-weight: bold;
|
||||
font-size: 44rpx;
|
||||
color: #171717;
|
||||
}
|
||||
.service-head-top-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.service-head-top{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
</style>
|
File diff suppressed because it is too large
Load Diff
|
@ -1,18 +1,21 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
<view class="header">
|
||||
<view class="header-top">
|
||||
<image src="../../static/servicePackage/member_ba.png" mode=""></image>
|
||||
<view class="header-top" :style="backgroundStyle">
|
||||
<image src="../../static/servicePackage/member_ba.png" mode="widthFix" v-if="!isVIP"></image>
|
||||
<image src="../../static/activate2.png" mode="widthFix" v-if="isVIP"></image>
|
||||
</view>
|
||||
<view class="header-bottom">
|
||||
<view class="header-bottom-top">
|
||||
<view class="header-bottom-title">
|
||||
<view class="header-bottom-title-text">
|
||||
<span>全身经络SPA 疗 </span>
|
||||
<span class="header-bottom-title-liao">疗程</span>
|
||||
<span>{{getList.title}}</span>
|
||||
<span class="header-bottom-title-liao">
|
||||
套餐
|
||||
</span>
|
||||
</view>
|
||||
<view class="header-bottom-title-num">
|
||||
<span>3856</span>
|
||||
<span>{{getList.sales}}</span>
|
||||
<span> 人选择</span>
|
||||
</view>
|
||||
|
||||
|
@ -21,15 +24,15 @@
|
|||
<view class="header-bottom-money">
|
||||
<view class="header-bottom-money-zhen">
|
||||
<span>¥</span>
|
||||
<span>365</span>
|
||||
<span>{{getList.price}}</span>
|
||||
<span>/元套</span>
|
||||
</view>
|
||||
<view class="header-bottom-money-jia">
|
||||
¥430
|
||||
¥{{getList.oldPrice}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="header-bottom-title-bottom">
|
||||
<view class="header-bottom-title-bottom" v-if="dataList.titleNmae=='服务疗程'">
|
||||
<image src="../../static/my-cika.png" mode=""></image>
|
||||
<span>30天一疗程,每隔三天一次</span>
|
||||
</view>
|
||||
|
@ -64,10 +67,10 @@
|
|||
<span class="detail-foot-mian-top-text">不限性别</span>
|
||||
</view>
|
||||
<view class="detail-foot-mian-top-bottom">
|
||||
<span class="detail-foot-mian-top-title">性别限制: </span>
|
||||
<span class="detail-foot-mian-top-title">适应人群: </span>
|
||||
<span class="detail-foot-mian-top-text">
|
||||
1.孕期、生理期禁做调理。
|
||||
2.血小板减少、有出血倾适用人群向等血液病患者禁做调理。3急性损伤引起的骨折、不明原因的肿痛和急性软2.血小板减少、有出血倾适用人群向等血液病患者禁做调理。3急性损伤引起的骨折、不明原因的肿痛和急性软2.血小板减少、有出血倾适用人群向等血液病患者禁做调理。3急性损伤引起的骨折、不明原因的肿痛和急性软2.血小板减少、有出血倾适用人群向等血液病患者禁做调理。3急性损伤引起的骨折、不明原因的肿痛和急性软2.血小板减少、有出血倾适用人群向等血液病患者禁做调理。3急性损伤引起的骨折、不明原因的肿痛和急性软2.血小板减少、有出血倾适用人群向等血液病患者禁做调理。3急性损伤引起的骨折、不明原因的肿痛和急性软2.血小板减少、有出血倾适用人群向等血液病患者禁做调理。3急性损伤引起的骨折、不明原因的肿痛和急性软</span>
|
||||
{{getList.applyPeople}}
|
||||
</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -77,7 +80,7 @@
|
|||
<span class="detail-foot-nav-bor"></span>
|
||||
</view>
|
||||
<view class="detail-foot-mian">
|
||||
<image src="../../static/img/user.png" mode=""></image>
|
||||
<image class="detail-foot-mian-img" :src="getList.contentImg" mode="widthFix"></image>
|
||||
<view class="detail-foot-mian-txet">
|
||||
<span>SCIENTIFIC WAIST</span>
|
||||
<span>科学护腰,不上脊椎</span>
|
||||
|
@ -85,7 +88,7 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detail-btn">
|
||||
<view class="detail-btn" v-if="dataList.name=='my'" @click="goumai(getList)">
|
||||
立即购买
|
||||
</view>
|
||||
</view>
|
||||
|
@ -94,10 +97,75 @@
|
|||
export default{
|
||||
data(){
|
||||
return{
|
||||
dataList:[],
|
||||
getList:[],
|
||||
isVIP:false,
|
||||
// 背景图片的URL可以是动态的,比如从API获取或根据条件生成
|
||||
backgroundImageUrl: '',
|
||||
nameText:''
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
backgroundStyle() {
|
||||
return {
|
||||
backgroundImage: `url(${this.backgroundImageUrl})`,
|
||||
backgroundSize: 'cover', // 根据需要调整
|
||||
};
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
var that=this;
|
||||
that.dataList=e;
|
||||
that.isVIP=this.$queue.getData('isVIP');
|
||||
if(that.dataList.name=='index'){
|
||||
that.getIndexData()
|
||||
}else{
|
||||
that.getData();
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
|
||||
goumai(item){//立即购买
|
||||
this.$queue.setData('getJishi','')
|
||||
this.$queue.setData('ordersId',this.dataList.massageTypeId);
|
||||
this.$queue.setData('userPackageDetailId',this.dataList.id);
|
||||
this.$queue.setData('daibudan','');
|
||||
uni.navigateTo({
|
||||
url:'/my/order/payModify?ordersId='+this.dataList.massageTypeId
|
||||
})
|
||||
|
||||
},
|
||||
getIndexData(){//从首页 推荐进入 请求的接口
|
||||
var that=this;
|
||||
let data = {
|
||||
id: that.dataList.id,
|
||||
limit: that.dataList.limit,
|
||||
mainId: that.dataList.mainId,
|
||||
massageTypeId:that.dataList.massageTypeId,
|
||||
page:that.dataList.page,
|
||||
}
|
||||
that.$Request.get('/app/massage/packageDetail/getAppPackageDetail',data).then(res => {
|
||||
if (res.code == 0) {
|
||||
that.getList=res.data;
|
||||
that.backgroundImageUrl=that.getList.massageImg
|
||||
}
|
||||
})
|
||||
},
|
||||
getData(){
|
||||
var that=this;
|
||||
let data = {
|
||||
id: that.dataList.id,
|
||||
limit: that.dataList.limit,
|
||||
mainId: that.dataList.mainId,
|
||||
massageTypeId:that.dataList.massageTypeId,
|
||||
page:that.dataList.page,
|
||||
}
|
||||
that.$Request.get('/app/user/package/detail/getMyPackageDetail', data).then(res => {
|
||||
if (res.code == 0) {
|
||||
that.getList=res.data;
|
||||
that.backgroundImageUrl=that.getList.massageImg
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -153,9 +221,9 @@
|
|||
align-items: center;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.detail-foot-mian image{
|
||||
.detail-foot-mian-img{
|
||||
width: 100%;
|
||||
height: 369.44rpx;
|
||||
height:auto;
|
||||
}
|
||||
.detail-foot-mian-top-bottom{
|
||||
margin-top: 10px;
|
||||
|
@ -219,6 +287,7 @@
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.detail-foot{
|
||||
width: 100%;
|
||||
|
|
|
@ -0,0 +1,514 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
<view class="header">
|
||||
<view class="header-top" :style="backgroundStyle">
|
||||
<image src="../../static/servicePackage/member_ba.png" mode="widthFix" v-if="!isVIP"></image>
|
||||
<image src="../../static/activate2.png" mode="widthFix" v-if="isVIP"></image>
|
||||
</view>
|
||||
<view class="header-bottom">
|
||||
<view class="header-bottom-top">
|
||||
<view class="header-bottom-title">
|
||||
<view class="header-bottom-title-text">
|
||||
<span>{{getList.title}}</span>
|
||||
<span class="header-bottom-title-liao">
|
||||
{{getList.classifyName}}
|
||||
</span>
|
||||
</view>
|
||||
<view class="header-bottom-title-num">
|
||||
<span>{{getList.sales}}</span>
|
||||
<span> 人选择</span>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="header-bottom-money-view">
|
||||
<view class="header-bottom-money">
|
||||
<view class="header-bottom-money-zhen">
|
||||
<span>¥</span>
|
||||
<span>{{getList.price}}</span>
|
||||
<span>/元套</span>
|
||||
</view>
|
||||
<view class="header-bottom-money-jia">
|
||||
¥{{getList.oldPrice}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="header-bottom-title-bottom" v-if="dataList.titleNmae=='服务疗程'">
|
||||
<image src="../../static/my-cika.png" mode=""></image>
|
||||
<span>30天一疗程,每隔三天一次</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="header-bottom-foot">
|
||||
<view class="header-bottom-foot-title">服务保障</view>
|
||||
<view class="header-bottom-foot-cont">
|
||||
<view class="header-bottom-foot-view">
|
||||
<image class="header-bottom-foot-view-img1" src="../../static/servicePackage/idCard.png" mode=""></image>
|
||||
<span>未服务全额退款</span>
|
||||
</view>
|
||||
<view class="header-bottom-foot-view" style="margin: 0px 7px;">
|
||||
<image class="header-bottom-foot-view-img2" src="../../static/servicePackage/money.png" mode=""></image>
|
||||
<span>不满意重做</span>
|
||||
</view>
|
||||
<view class="header-bottom-foot-view">
|
||||
<image class="header-bottom-foot-view-img3" src="../../static/servicePackage/shuangyue.png" mode=""></image>
|
||||
<span>最快30分钟上门</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detail-foot">
|
||||
<view class="detail-foot-nav">
|
||||
<span class="detail-foot-nav-text">适用说明</span>
|
||||
<span class="detail-foot-nav-bor"></span>
|
||||
</view>
|
||||
<view class="detail-foot-mian">
|
||||
<view class="detail-foot-mian-top">
|
||||
<span class="detail-foot-mian-top-title">性别限制: </span>
|
||||
<span class="detail-foot-mian-top-text">不限性别</span>
|
||||
</view>
|
||||
<view class="detail-foot-mian-top-bottom">
|
||||
<span class="detail-foot-mian-top-title">适应人群: </span>
|
||||
<span class="detail-foot-mian-top-text">
|
||||
{{getList.applyPeople}}
|
||||
</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detail-foot">
|
||||
<view class="detail-foot-nav">
|
||||
<span class="detail-foot-nav-text">项目详情</span>
|
||||
<span class="detail-foot-nav-bor"></span>
|
||||
</view>
|
||||
<view class="detail-foot-mian">
|
||||
<image class="detail-foot-mian-img" v-for="(item,index) in contentImg" :key="index" :src="item" mode="widthFix"></image>
|
||||
<view class="detail-foot-mian-txet">
|
||||
<span>SCIENTIFIC WAIST</span>
|
||||
<span>科学护腰,不上脊椎</span>
|
||||
<span>让您的腰不在盲目呵护!避免二次伤害!</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detail-btn" v-if="getList.status=='1'" @click="goumai(getList)">
|
||||
立即购买
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default{
|
||||
data(){
|
||||
return{
|
||||
dataList:[],
|
||||
getList:[],
|
||||
isVIP:false,
|
||||
// 背景图片的URL可以是动态的,比如从API获取或根据条件生成
|
||||
backgroundImageUrl: '',
|
||||
myId:'',
|
||||
contentImg:[]
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
backgroundStyle() {
|
||||
return {
|
||||
backgroundImage: `url(${this.backgroundImageUrl})`,
|
||||
backgroundSize: 'cover', // 根据需要调整
|
||||
};
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
var that=this;
|
||||
that.dataList=e;
|
||||
that.isVIP=this.$queue.getData('isVIP');
|
||||
that.myId = uni.getStorageSync('userId');
|
||||
that.getData()
|
||||
},
|
||||
methods:{
|
||||
goumai(item){//立即购买
|
||||
this.$queue.setData('getJishi','')
|
||||
this.$queue.setData('userPackageDetailId','');
|
||||
this.$queue.setData('ordersId',this.dataList.id);
|
||||
this.$queue.setData('daibudan','');
|
||||
uni.navigateTo({
|
||||
url:'/my/order/payModify?ordersId='+this.dataList.id
|
||||
})
|
||||
},
|
||||
getData(){
|
||||
var that=this;
|
||||
let data = {
|
||||
userId: that.myId,
|
||||
limit: that.dataList.limit,
|
||||
mainId: that.dataList.mainId,
|
||||
massageTypeId:that.dataList.id,
|
||||
page:that.dataList.page,
|
||||
}
|
||||
that.$Request.get('/app/artificer/selectMassageTypeById', data).then(res => {
|
||||
if (res.code == 0) {
|
||||
that.getList=res.data;
|
||||
that.contentImg=res.data.contentImg.split(",");
|
||||
that.backgroundImageUrl=that.getList.massageImg;
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.header-bottom-title-liao{
|
||||
display: inline-block;
|
||||
padding: 0 7px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
text-align: center;
|
||||
background: linear-gradient(-90deg, #FF6F48, #FF9E69);
|
||||
border-radius: 7px;
|
||||
margin-left: 5px;
|
||||
font-weight: bold;
|
||||
font-size: 8px;
|
||||
border-top-left-radius: 20px;
|
||||
border-bottom-right-radius: 20px;
|
||||
color: #fff;
|
||||
}
|
||||
.detail-btn{
|
||||
width:95%;
|
||||
height: 92rpx;
|
||||
line-height: 92rpx;
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
border-radius: 46rpx;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 42rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.detail-foot-mian-txet span:nth-child(1){
|
||||
color: #777777;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.detail-foot-mian-txet span:nth-child(2){
|
||||
color: #333;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
margin-bottom:3px;
|
||||
}
|
||||
.detail-foot-mian-txet span:nth-child(3){
|
||||
color: #777777;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.detail-foot-mian-txet{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.detail-foot-mian-img{
|
||||
width: 100%;
|
||||
height:auto;
|
||||
}
|
||||
.detail-foot-mian-top-bottom{
|
||||
margin-top: 10px;
|
||||
}
|
||||
.detail-foot-mian-top-title{
|
||||
color: #333333;
|
||||
}
|
||||
.detail-foot-mian-top-text{
|
||||
color: #777777;
|
||||
width:83%;
|
||||
}
|
||||
.detail-foot-mian-top,.detail-foot-mian-top-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
font-weight: bold;
|
||||
font-size: 22rpx;
|
||||
}
|
||||
.header-bottom-title-bottom span{
|
||||
font-weight: bold;
|
||||
font-size: 22rpx;
|
||||
color: #20AB95;
|
||||
}
|
||||
.header-bottom-title-bottom image{
|
||||
width: 34.03rpx;
|
||||
height: 30.56rpx;
|
||||
margin-right: 3px;
|
||||
}
|
||||
.header-bottom-title-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin: 5px 0px;
|
||||
}
|
||||
.shouc image{
|
||||
width: 34.03rpx;
|
||||
height: 32.64rpx;
|
||||
}
|
||||
|
||||
.shouc{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.detail-foot-nav-bor{
|
||||
width: 64px;
|
||||
height: 11rpx;
|
||||
border-radius: 6rpx;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
background: linear-gradient(90deg,rgba(234, 248, 245,0.7),rgba(132, 211, 196,0.7));
|
||||
}
|
||||
.detail-foot-nav-text{
|
||||
font-weight: bold;
|
||||
font-size: 32rpx;
|
||||
color: #000000;
|
||||
}
|
||||
.detail-foot-nav{
|
||||
width: 90%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.detail-foot{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 15px 0px;
|
||||
}
|
||||
|
||||
.tese span:nth-child(1){
|
||||
font-weight: bold;
|
||||
font-size: 22rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.tese span:nth-child(2){
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #8D9194;
|
||||
}
|
||||
.tese{
|
||||
width: 100%;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.detail-foot-list-top span:nth-child(1){
|
||||
font-weight: bold;
|
||||
font-size: 31rpx;
|
||||
color: #3F3F3F;
|
||||
}
|
||||
.detail-foot-list-top span:nth-child(2){
|
||||
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;
|
||||
}
|
||||
.detail-foot-list-top span:nth-child(3){
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #777777;
|
||||
}
|
||||
|
||||
.detail-foot-mian{
|
||||
width: 95%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: 0 auto;
|
||||
background-color: #fff;
|
||||
border-radius: 21rpx;
|
||||
padding: 15px;
|
||||
}
|
||||
.jianjie{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #8D9194;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.header-bottom-mian{
|
||||
margin: 10px 0px;
|
||||
}
|
||||
.header-bottom-mian-title{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
.header-bottom-mian-title span{
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #20AB95;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.header-bottom-mian-title image{
|
||||
width: 30.56rpx;
|
||||
height: 29.86rpx;
|
||||
}
|
||||
.header-bottom-foot-view-img1{
|
||||
width: 22.92rpx;
|
||||
height: 17.36rpx;
|
||||
}
|
||||
.header-bottom-foot-view-img2{
|
||||
width: 16.67rpx;
|
||||
height: 16.67rpx;
|
||||
}
|
||||
.header-bottom-foot-view-img3{
|
||||
width: 15.97rpx;
|
||||
height: 18.06rpx;
|
||||
}
|
||||
.header-bottom-foot-view image{
|
||||
margin-right: 3px;
|
||||
}
|
||||
.header-bottom-foot-view{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 0 5px;
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
background-color: rgba(8, 162, 138, 0.1);
|
||||
border-radius: 8px;
|
||||
font-weight: 400;
|
||||
font-size: 8px;
|
||||
color: #029D88;
|
||||
}
|
||||
.header-bottom-foot-title{
|
||||
width:100%;
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
text-align: left;
|
||||
font-weight: 600;
|
||||
font-size: 23rpx;
|
||||
color: #08A28A;
|
||||
margin-top: 5px;
|
||||
}
|
||||
.header-bottom-foot-cont{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.header-bottom-foot{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
.header-bottom-money-jia{
|
||||
font-weight: bold;
|
||||
font-size: 28rpx;
|
||||
color: #848484;
|
||||
line-height: 37rpx;
|
||||
text-decoration-line: line-through;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.header-bottom-money-zhen span{
|
||||
color: #F95900;
|
||||
}
|
||||
.header-bottom-money-zhen span:nth-child(1){
|
||||
font-size: 25rpx;
|
||||
}
|
||||
.header-bottom-money-zhen span:nth-child(2){
|
||||
font-size:36.81rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
.header-bottom-money-zhen span:nth-child(3){
|
||||
font-size: 25rpx;
|
||||
}
|
||||
.header-bottom-money-zhen{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: baseline;
|
||||
}
|
||||
|
||||
.header-bottom-money-view{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
margin-top:5px;
|
||||
}
|
||||
.header-bottom-money{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: flex-end;
|
||||
}
|
||||
.header-bottom-title-num span{
|
||||
font-weight: bold;
|
||||
font-size: 25rpx;
|
||||
}
|
||||
.header-bottom-title-num span:nth-child(1){
|
||||
color: #08A28A;
|
||||
}
|
||||
.header-bottom-title-num span:nth-child(2){
|
||||
color: #848485;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.header-bottom-title-text{
|
||||
font-weight: bold;
|
||||
font-size: 35rpx;
|
||||
color: #13141A;
|
||||
}
|
||||
.header-bottom-title{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.header-bottom-top{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.header-bottom{
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
padding: 15px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.header-top image{
|
||||
width: 706.25rpx;
|
||||
height: 105.07rpx;
|
||||
}
|
||||
.header-top{
|
||||
width: 100%;
|
||||
height: 745.83rpx;
|
||||
background-image: url('../../static/servicePackage/display.png');
|
||||
background-size: 100%;
|
||||
background-repeat: no-repeat;
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
justify-content: center;
|
||||
}
|
||||
.header{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.content{
|
||||
width: 100%;
|
||||
height: auto;
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,420 @@
|
|||
<!-- 自定义下拉刷新与上拉加载演示(vue) -->
|
||||
<template>
|
||||
<view class="content-view">
|
||||
<view class="service-head-top">
|
||||
<view class="service-head-top-left">
|
||||
<image @click="backImg" src="../../static/fanhui.png" mode="widthFix"></image>
|
||||
<span>更多推荐</span>
|
||||
</view>
|
||||
<view>
|
||||
<uni-search-bar @service="serviceTrue" @confirm="search" :cancelext="'取消'" v-model="searchValue" @input="input"
|
||||
@clear="clear">
|
||||
</uni-search-bar>
|
||||
<view class="search-btn" @click="searchBtn">
|
||||
搜索
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="fenlei">
|
||||
<z-tabs class="z-tabs-fenlei" :list="tabList" @change="tabChange" @changeClick="changeClick"/>
|
||||
</view> -->
|
||||
<t-refresh ref="refresh" v-if="dataList.length>0" @refresh="refresh" @loadMore="loadMore" :loadingType="loadingType" :tPadding="0">
|
||||
<template slot="content">
|
||||
<view class="item" v-for="(item,index) in dataList" :key="index" @click="itemClick(item)">
|
||||
<view class="item-img">
|
||||
<image :src="item.packageImg" mode=""></image>
|
||||
</view>
|
||||
<view class="item-view">
|
||||
<view class="item-view-title">
|
||||
{{item.title}}
|
||||
</view>
|
||||
<!-- <view class="item-view-xiangmu">
|
||||
<span class="xiaoer item-view-biao">{{item.classifyName}}</span>
|
||||
<span>已售{{item.sales}}w+ | 好评{{item.esteemRate}}%</span>
|
||||
</view> -->
|
||||
<view class="item-view-jianjie">
|
||||
{{item.content}}
|
||||
</view>
|
||||
<view class="item-view-bottom">
|
||||
<view class="item-view-bottom-qian">
|
||||
<span>¥</span>
|
||||
<span>{{item.price}}</span>
|
||||
<span>/元套</span>
|
||||
<span>{{item.oldPrice}}</span>
|
||||
</view>
|
||||
<view class="item-view-bottom-btn">
|
||||
查看
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</t-refresh>
|
||||
<empty v-if="dataList.length==0"></empty>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import empty from '@/components/empty.vue'
|
||||
import tRefresh from "@/components/t-refresh/t-refresh.vue"
|
||||
export default {
|
||||
components:{tRefresh,empty},
|
||||
data() {
|
||||
return {
|
||||
loadingType:0,
|
||||
myId: '',
|
||||
// v-model绑定的这个变量不要在分页请求结束中自己赋值!!!
|
||||
dataList: [],
|
||||
tabList: [],
|
||||
typeData:'105',
|
||||
tabIndex: 0,
|
||||
searchValue:'',
|
||||
serviceTrue:true,
|
||||
page:1,
|
||||
limit:10,
|
||||
titleNmae:'',
|
||||
classifyId:''
|
||||
}
|
||||
},
|
||||
onLoad(){
|
||||
this.myId = uni.getStorageSync('userId')
|
||||
this.getData()
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
this.page = 1;
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
// 加载更多
|
||||
loadMore: async function() {
|
||||
//loadingType: 0.数据未加载完 1.数据全部加载完了 2.数据加载中
|
||||
if(this.loadingType==0){
|
||||
this.loadingType=2
|
||||
//模拟数据请求
|
||||
setTimeout(()=>{
|
||||
this.page++;
|
||||
this.loadingType=0;
|
||||
this.getData()
|
||||
},1000)
|
||||
}
|
||||
},
|
||||
|
||||
input(res) {//搜索 输入框
|
||||
this.searchValue=res;
|
||||
console.log('----input:', res)
|
||||
},
|
||||
searchBtn(){//搜索按钮
|
||||
if(this.searchValue!=""){
|
||||
this.getData()
|
||||
}
|
||||
},
|
||||
getData(){
|
||||
this.$Request.get("/app/massage/package/findPackageAndMassagePage",{
|
||||
city:'',
|
||||
page:this.page,
|
||||
limit:this.limit,
|
||||
title:this.searchValue
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
if (res.data) {
|
||||
if (this.page == 1) this.dataList = []; //如果是第一页需手动制空列表
|
||||
this.dataList = [...this.dataList, ...res.data.list]; //追加新数据
|
||||
uni.stopPullDownRefresh()
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
changeClick(index,item){
|
||||
this.classifyId=item.id
|
||||
this.searchValue=''
|
||||
this.getData()
|
||||
},
|
||||
backImg(){//返回上一页
|
||||
uni.reLaunch({
|
||||
url:'/pages/index/index'
|
||||
})
|
||||
},
|
||||
clear(res) {
|
||||
this.getData()
|
||||
},
|
||||
itemClick(item) {
|
||||
if(item.type=='104'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/serviceOderDrtail?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+'index'+'&isCanCoupon='+item.isCanCoupon
|
||||
})
|
||||
}else if(item.type=='105'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/cikarDrtail?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+'index'+'&isCanCoupon='+item.isCanCoupon
|
||||
})
|
||||
}else if(item.type=='106'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/fuwuliaochengDetail?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+'index'+'&isCanCoupon='+item.isCanCoupon
|
||||
})
|
||||
}else{
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/fuwuDateil?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+'index'+'&isCanCoupon='+item.isCanCoupon
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
/deep/.refresh-body{
|
||||
height: 100% !important;
|
||||
background-color: #f7f7f7;
|
||||
margin-top: 35px;
|
||||
}
|
||||
.content-view{
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
overflow: auto;
|
||||
}
|
||||
.item-view-bottom-btn{
|
||||
text-align: center;
|
||||
width: 131rpx;
|
||||
height: 50rpx;
|
||||
line-height: 50rpx;
|
||||
background: linear-gradient(90deg, #019C88, #0FA78B, #35C495);
|
||||
border-radius: 10rpx;
|
||||
font-weight: bold;
|
||||
font-size: 24rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(4){
|
||||
font-weight: bold;
|
||||
font-size: 31rpx;
|
||||
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: #F95900;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(2){
|
||||
font-weight: bold;
|
||||
font-size: 36.81rpx;
|
||||
color: #F95900;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(3){
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #F95900;
|
||||
}
|
||||
.item-view-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.item-view-jianjie{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #848484;
|
||||
margin:5px 0px;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.item-view-biao{
|
||||
padding: 1px 2px;
|
||||
border-radius: 6rpx;
|
||||
}
|
||||
.tuina{
|
||||
background-color:#d1f2df;
|
||||
color: #17984d;
|
||||
}
|
||||
.xiaoer{
|
||||
background-color:#f1f8d7;
|
||||
color: #58b314;
|
||||
}
|
||||
.taishi{
|
||||
background-color:#e5d5c6;
|
||||
color: #805d39;
|
||||
}
|
||||
.kangfu{
|
||||
background-color:#fcf3da;
|
||||
color: #ff8600;
|
||||
}
|
||||
.item-view-xiangmu span:nth-child(2){
|
||||
font-weight: normal;
|
||||
color: #666666;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.item-view-xiangmu{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
font-weight: 400;
|
||||
font-size: 21rpx;
|
||||
margin-top: 5px;
|
||||
}
|
||||
.item-view-title{
|
||||
font-weight: bold;
|
||||
font-size: 33rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.item-view{
|
||||
width: 55%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
.item-img{
|
||||
width: 285rpx;
|
||||
height: 120px;
|
||||
border-radius: 14rpx;
|
||||
position: relative;
|
||||
}
|
||||
.img-span{
|
||||
padding: 2px 5px;
|
||||
font-weight: 400;
|
||||
font-size: 8px;
|
||||
color: #FFFFFF;
|
||||
background: linear-gradient(-90deg, #FF6F48, #FF9E69);
|
||||
border-radius: 7px 0px 7px 0px;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
right: 0;
|
||||
margin-bottom: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.item-img image{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.item {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
height: 140px;
|
||||
background: #FFFFFF;
|
||||
border-radius: 21rpx;
|
||||
margin-top:20px;
|
||||
align-items: center;
|
||||
padding: 0px 5px;
|
||||
}
|
||||
|
||||
.item-detail {
|
||||
padding: 5rpx 15rpx;
|
||||
border-radius: 10rpx;
|
||||
font-size: 28rpx;
|
||||
color: white;
|
||||
background-color: #007AFF;
|
||||
}
|
||||
|
||||
.item-line {
|
||||
position: absolute;
|
||||
bottom: 0rpx;
|
||||
left: 0rpx;
|
||||
height: 1px;
|
||||
width: 100%;
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
/deep/.zp-paging-container{
|
||||
background-color: #f7f7f7;
|
||||
width:100%;
|
||||
}
|
||||
/deep/.zp-paging-container-content{
|
||||
width: 95%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.fenlei{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.index-fenl-title{
|
||||
width: 81rpx;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
font-weight: bold;
|
||||
font-size: 34rpx;
|
||||
color:#019C88;
|
||||
}
|
||||
.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));
|
||||
}
|
||||
/deep/.uni-searchbar__cancel{
|
||||
display: none;
|
||||
}
|
||||
.search-btn{
|
||||
text-align: center;
|
||||
line-height: 31px;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
margin-top:9.4px;
|
||||
margin-right: 11px;
|
||||
height: 32px !important;
|
||||
}
|
||||
/deep/.uni-searchbar__box-icon-search,.search-btn{
|
||||
width: 101rpx;
|
||||
height: 60rpx;
|
||||
background: #18A689;
|
||||
border-radius: 31rpx;
|
||||
|
||||
}
|
||||
/deep/.uni-searchbar__box{
|
||||
height: 31px;
|
||||
border-radius: 15px !important;
|
||||
background-color: #fff !important;
|
||||
border: 2px solid #E5E5E5;
|
||||
padding: 0px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-flow: row-reverse;
|
||||
position: relative;
|
||||
}
|
||||
/deep/.uni-searchbar{
|
||||
width: 240px;
|
||||
border-radius: 31rpx;
|
||||
}
|
||||
.service-head-top-left image{
|
||||
width: 25px;
|
||||
height: 30rpx;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.service-head-top-left span{
|
||||
font-weight: bold;
|
||||
font-size: 44rpx;
|
||||
color: #171717;
|
||||
}
|
||||
.service-head-top-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.service-head-top{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
position: fixed;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
</style>
|
|
@ -0,0 +1,414 @@
|
|||
<!-- 自定义下拉刷新与上拉加载演示(vue) -->
|
||||
<template>
|
||||
<view class="content">
|
||||
<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 @click="backImg" src="../../static/fanhui.png" mode="widthFix"></image>
|
||||
<span>服务疗程</span>
|
||||
</view>
|
||||
<view>
|
||||
<uni-search-bar @service="serviceTrue" @confirm="search" :cancelext="'取消'" v-model="searchValue" @input="input"
|
||||
@clear="clear">
|
||||
</uni-search-bar>
|
||||
<view class="search-btn" @click="searchBtn">
|
||||
搜索
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="fenlei">
|
||||
<z-tabs class="z-tabs-fenlei" :list="tabList" @change="tabChange" @changeClick="changeClick"/>
|
||||
</view> -->
|
||||
</template>
|
||||
|
||||
<!-- 自定义下拉刷新view(如果use-custom-refresher为true且不设置下面的slot="refresher",此时不用获取refresherStatus,会自动使用z-paging自带的下拉刷新view) -->
|
||||
|
||||
<!-- 注意注意注意!!字节跳动小程序中自定义下拉刷新不支持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>
|
||||
<!-- 自定义没有更多数据view -->
|
||||
<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-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">{{item.status=='1'?'未用完':item.status=='2'?'退款':'已用完'}}</span>
|
||||
</view>
|
||||
<view class="item-view">
|
||||
<view class="item-view-title">
|
||||
{{item.title}}
|
||||
</view>
|
||||
<view class="item-view-xiangmu">
|
||||
<span class="xiaoer item-view-biao">{{item.classifyName}}</span>
|
||||
<span>已售{{item.sales}}w+ | 好评{{item.esteemRate}}%</span>
|
||||
</view>
|
||||
<view class="item-view-jianjie">
|
||||
{{item.content}}
|
||||
</view>
|
||||
<view class="item-view-bottom">
|
||||
<view class="item-view-bottom-qian">
|
||||
<span>¥</span>
|
||||
<span>{{item.price}}</span>
|
||||
<span>/元套</span>
|
||||
<span>{{item.oldPrice}}</span>
|
||||
</view>
|
||||
<view class="item-view-bottom-btn">
|
||||
查看
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</z-paging>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
myId: '',
|
||||
// v-model绑定的这个变量不要在分页请求结束中自己赋值!!!
|
||||
dataList: [],
|
||||
tabList: [],
|
||||
typeData:'106',
|
||||
tabIndex: 0,
|
||||
searchValue:'',
|
||||
serviceTrue:true,
|
||||
page:1,
|
||||
limit:10,
|
||||
titleNmae:''
|
||||
}
|
||||
},
|
||||
onLoad(){
|
||||
this.myId = uni.getStorageSync('userId')
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
input(res) {//搜索 输入框
|
||||
this.searchValue=res;
|
||||
console.log('----input:', res)
|
||||
},
|
||||
searchBtn(){//搜索按钮
|
||||
if(this.searchValue!=""){
|
||||
this.getData()
|
||||
}
|
||||
},
|
||||
getData(){
|
||||
let data = {
|
||||
userId: this.myId,
|
||||
type: this.typeData,
|
||||
page: this.page,
|
||||
limit: this.limit,
|
||||
title:this.searchValue,
|
||||
}
|
||||
this.$Request.get('/app/user/package/findMyPackageList', data).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.dataList=res.data.records;
|
||||
}
|
||||
})
|
||||
},
|
||||
tabChange(index) {
|
||||
this.tabIndex = index;
|
||||
//当切换tab或搜索时请调用组件的reload方法,请勿直接调用:queryList方法!!
|
||||
//调用reload时参数传true则代表reload时触发下拉刷新效果,不传或false则代表取消此效果
|
||||
this.$refs.paging.reload(true);
|
||||
},
|
||||
queryList(pageNo, pageSize) {
|
||||
// console.log(pageNo,pageSize,this.tabIndex)
|
||||
// 组件加载时会自动触发此方法,因此默认页面加载时会自动触发,无需手动调用
|
||||
// 这里的pageNo和pageSize会自动计算好,直接传给服务器即可
|
||||
// 模拟请求服务器获取分页数据,请替换成自己的网络请求
|
||||
const params = {
|
||||
userId: this.myId,
|
||||
page: pageNo,
|
||||
limit: pageSize,
|
||||
type: this.typeData,
|
||||
title:''
|
||||
}
|
||||
this.$Request.get('/app/user/package/findMyPackageList',params).then(res => {
|
||||
// 将请求的结果数组传递给z-paging
|
||||
this.$refs.paging.complete(res.data.records);
|
||||
}).catch(res => {
|
||||
// 如果请求失败写this.$refs.paging.complete(false);
|
||||
// 注意,每次都需要在catch中写这句话很麻烦,z-paging提供了方案可以全局统一处理
|
||||
// 在底层的网络请求抛出异常时,写uni.$emit('z-paging-error-emit');即可
|
||||
this.$refs.paging.complete(false);
|
||||
})
|
||||
},
|
||||
|
||||
backImg(){//返回上一页
|
||||
uni.reLaunch({
|
||||
url:'/pages/my/index'
|
||||
})
|
||||
},
|
||||
clear(res) {
|
||||
this.getData()
|
||||
},
|
||||
itemClick(item) {
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/fuwuliaochengDetail?id='+item.id+'&name='+'my'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
.item-view-bottom-btn{
|
||||
text-align: center;
|
||||
width: 131rpx;
|
||||
height: 50rpx;
|
||||
line-height: 50rpx;
|
||||
background: linear-gradient(90deg, #019C88, #0FA78B, #35C495);
|
||||
border-radius: 10rpx;
|
||||
font-weight: bold;
|
||||
font-size: 24rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(4){
|
||||
font-weight: bold;
|
||||
font-size: 31rpx;
|
||||
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: #F95900;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(2){
|
||||
font-weight: bold;
|
||||
font-size: 36.81rpx;
|
||||
color: #F95900;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(3){
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #F95900;
|
||||
}
|
||||
.item-view-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.item-view-jianjie{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #848484;
|
||||
margin:5px 0px;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.item-view-biao{
|
||||
padding: 1px 2px;
|
||||
border-radius: 6rpx;
|
||||
}
|
||||
.tuina{
|
||||
background-color:#d1f2df;
|
||||
color: #17984d;
|
||||
}
|
||||
.xiaoer{
|
||||
background-color:#f1f8d7;
|
||||
color: #58b314;
|
||||
}
|
||||
.taishi{
|
||||
background-color:#e5d5c6;
|
||||
color: #805d39;
|
||||
}
|
||||
.kangfu{
|
||||
background-color:#fcf3da;
|
||||
color: #ff8600;
|
||||
}
|
||||
.item-view-xiangmu span:nth-child(2){
|
||||
font-weight: normal;
|
||||
color: #666666;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.item-view-xiangmu{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
font-weight: 400;
|
||||
font-size: 21rpx;
|
||||
margin-top: 5px;
|
||||
}
|
||||
.item-view-title{
|
||||
font-weight: bold;
|
||||
font-size: 33rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.item-view{
|
||||
width: 55%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
.item-img{
|
||||
width: 285rpx;
|
||||
height: 120px;
|
||||
border-radius: 14rpx;
|
||||
position: relative;
|
||||
}
|
||||
.img-span{
|
||||
padding: 2px 5px;
|
||||
font-weight: 400;
|
||||
font-size: 8px;
|
||||
color: #FFFFFF;
|
||||
background: linear-gradient(-90deg, #FF6F48, #FF9E69);
|
||||
border-radius: 7px 0px 7px 0px;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
right: 0;
|
||||
margin-bottom: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.item-img image{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.item {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
height: 140px;
|
||||
background: #FFFFFF;
|
||||
border-radius: 21rpx;
|
||||
margin-top:20px;
|
||||
align-items: center;
|
||||
padding: 0px 5px;
|
||||
}
|
||||
|
||||
.item-detail {
|
||||
padding: 5rpx 15rpx;
|
||||
border-radius: 10rpx;
|
||||
font-size: 28rpx;
|
||||
color: white;
|
||||
background-color: #007AFF;
|
||||
}
|
||||
|
||||
.item-line {
|
||||
position: absolute;
|
||||
bottom: 0rpx;
|
||||
left: 0rpx;
|
||||
height: 1px;
|
||||
width: 100%;
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
/deep/.zp-paging-container{
|
||||
background-color: #f7f7f7;
|
||||
width:100%;
|
||||
}
|
||||
/deep/.zp-paging-container-content{
|
||||
width: 95%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.fenlei{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.index-fenl-title{
|
||||
width: 81rpx;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
font-weight: bold;
|
||||
font-size: 34rpx;
|
||||
color:#019C88;
|
||||
}
|
||||
.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));
|
||||
}
|
||||
/deep/.uni-searchbar__cancel{
|
||||
display: none;
|
||||
}
|
||||
.search-btn{
|
||||
text-align: center;
|
||||
line-height: 31px;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
margin-top:9.4px;
|
||||
margin-right: 11px;
|
||||
height: 32px !important;
|
||||
}
|
||||
/deep/.uni-searchbar__box-icon-search,.search-btn{
|
||||
width: 101rpx;
|
||||
height: 60rpx;
|
||||
background: #18A689;
|
||||
border-radius: 31rpx;
|
||||
|
||||
}
|
||||
/deep/.uni-searchbar__box{
|
||||
height: 31px;
|
||||
border-radius: 15px !important;
|
||||
background-color: #fff !important;
|
||||
border: 2px solid #E5E5E5;
|
||||
padding: 0px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-flow: row-reverse;
|
||||
position: relative;
|
||||
}
|
||||
/deep/.uni-searchbar{
|
||||
width: 240px;
|
||||
border-radius: 31rpx;
|
||||
}
|
||||
.service-head-top-left image{
|
||||
width: 25px;
|
||||
height: 30rpx;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.service-head-top-left span{
|
||||
font-weight: bold;
|
||||
font-size: 44rpx;
|
||||
color: #171717;
|
||||
}
|
||||
.service-head-top-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.service-head-top{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
</style>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,420 @@
|
|||
<!-- 自定义下拉刷新与上拉加载演示(vue) -->
|
||||
<template>
|
||||
<view class="content-view">
|
||||
<view class="service-head-top">
|
||||
<view class="service-head-top-left">
|
||||
<image @click="backImg" src="../../static/fanhui.png" mode="widthFix"></image>
|
||||
<span>服务项目</span>
|
||||
</view>
|
||||
<view>
|
||||
<uni-search-bar @service="serviceTrue" @confirm="search" :cancelext="'取消'" v-model="searchValue" @input="input"
|
||||
@clear="clear">
|
||||
</uni-search-bar>
|
||||
<view class="search-btn" @click="searchBtn">
|
||||
搜索
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fenlei">
|
||||
<z-tabs class="z-tabs-fenlei" :list="tabList" @change="tabChange" @changeClick="changeClick"/>
|
||||
</view>
|
||||
<t-refresh ref="refresh" v-if="dataList.length>0" @refresh="refresh" @loadMore="loadMore" :loadingType="loadingType" :tPadding="0">
|
||||
<template slot="content">
|
||||
<view class="item" v-for="(item,index) in dataList" :key="index" @click="itemClick(item)">
|
||||
<view class="item-img">
|
||||
<image :src="item.massageImg" mode=""></image>
|
||||
</view>
|
||||
<view class="item-view">
|
||||
<view class="item-view-title">
|
||||
{{item.title}}
|
||||
</view>
|
||||
<view class="item-view-xiangmu">
|
||||
<span class="xiaoer item-view-biao">{{item.classifyName}}</span>
|
||||
<span>已售{{item.sales}}w+ | 好评{{item.esteemRate}}%</span>
|
||||
</view>
|
||||
<view class="item-view-jianjie">
|
||||
{{item.jianjie}}
|
||||
</view>
|
||||
<view class="item-view-bottom">
|
||||
<view class="item-view-bottom-qian">
|
||||
<span>¥</span>
|
||||
<span>{{item.price}}</span>
|
||||
<span>/元套</span>
|
||||
<span>{{item.oldPrice}}</span>
|
||||
</view>
|
||||
<view class="item-view-bottom-btn">
|
||||
查看
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</t-refresh>
|
||||
<empty v-if="dataList.length==0"></empty>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import empty from '@/components/empty.vue'
|
||||
import tRefresh from "@/components/t-refresh/t-refresh.vue"
|
||||
export default {
|
||||
components:{tRefresh,empty},
|
||||
data() {
|
||||
return {
|
||||
loadingType:0,
|
||||
myId: '',
|
||||
// v-model绑定的这个变量不要在分页请求结束中自己赋值!!!
|
||||
dataList: [],
|
||||
tabList: [],
|
||||
typeData:'105',
|
||||
tabIndex: 0,
|
||||
searchValue:'',
|
||||
serviceTrue:true,
|
||||
page:1,
|
||||
limit:10,
|
||||
titleNmae:'',
|
||||
classifyId:''
|
||||
}
|
||||
},
|
||||
onLoad(){
|
||||
this.myId = uni.getStorageSync('userId')
|
||||
this.tabNav()
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
this.page = 1;
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
// 加载更多
|
||||
loadMore: async function() {
|
||||
//loadingType: 0.数据未加载完 1.数据全部加载完了 2.数据加载中
|
||||
if(this.loadingType==0){
|
||||
this.loadingType=2
|
||||
//模拟数据请求
|
||||
setTimeout(()=>{
|
||||
this.page++;
|
||||
this.loadingType=0;
|
||||
this.getData()
|
||||
},1000)
|
||||
}
|
||||
},
|
||||
tabNav(){
|
||||
let data = {
|
||||
type: "服务类型",
|
||||
}
|
||||
this.$Request.get('/app/dict/list', data).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.tabList=res.data;
|
||||
this.classifyId=res.data[0].id;
|
||||
this.getData()
|
||||
}
|
||||
})
|
||||
},
|
||||
input(res) {//搜索 输入框
|
||||
this.searchValue=res;
|
||||
console.log('----input:', res)
|
||||
},
|
||||
searchBtn(){//搜索按钮
|
||||
if(this.searchValue!=""){
|
||||
this.getData()
|
||||
}
|
||||
},
|
||||
getData(){
|
||||
this.$Request.get("/app/artificer/selectMassageTypePage", {
|
||||
by: '3',
|
||||
status:'1',
|
||||
classifyId:this.classifyId,
|
||||
page:this.page,
|
||||
limit:this.limit,
|
||||
title:this.searchValue
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
if (res.data) {
|
||||
if (this.page == 1) this.dataList = []; //如果是第一页需手动制空列表
|
||||
this.dataList = [...this.dataList, ...res.data.list]; //追加新数据
|
||||
uni.stopPullDownRefresh()
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
changeClick(index,item){
|
||||
this.classifyId=item.id
|
||||
this.searchValue=''
|
||||
this.getData()
|
||||
},
|
||||
backImg(){//返回上一页
|
||||
uni.reLaunch({
|
||||
url:'/pages/index/index'
|
||||
})
|
||||
},
|
||||
clear(res) {
|
||||
this.getData()
|
||||
},
|
||||
itemClick(item) {
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/fuwuDateil?id='+item.massageTypeId+'&limit='+this.limit+'&page='+this.page+'&name='+'index'+'&isCanCoupon='+item.isCanCoupon
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
/deep/.refresh-body .content{
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
/deep/.refresh-body{
|
||||
height: 100% !important;
|
||||
border-top: 2px solid #f7f7f7;
|
||||
}
|
||||
.content-view{
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
overflow: auto;
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
.item-view-bottom-btn{
|
||||
text-align: center;
|
||||
width: 131rpx;
|
||||
height: 50rpx;
|
||||
line-height: 50rpx;
|
||||
background: linear-gradient(90deg, #019C88, #0FA78B, #35C495);
|
||||
border-radius: 10rpx;
|
||||
font-weight: bold;
|
||||
font-size: 24rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(4){
|
||||
font-weight: bold;
|
||||
font-size: 31rpx;
|
||||
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: #F95900;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(2){
|
||||
font-weight: bold;
|
||||
font-size: 36.81rpx;
|
||||
color: #F95900;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(3){
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #F95900;
|
||||
}
|
||||
.item-view-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.item-view-jianjie{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #848484;
|
||||
margin:5px 0px;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.item-view-biao{
|
||||
padding: 1px 2px;
|
||||
border-radius: 6rpx;
|
||||
}
|
||||
.tuina{
|
||||
background-color:#d1f2df;
|
||||
color: #17984d;
|
||||
}
|
||||
.xiaoer{
|
||||
background-color:#f1f8d7;
|
||||
color: #58b314;
|
||||
}
|
||||
.taishi{
|
||||
background-color:#e5d5c6;
|
||||
color: #805d39;
|
||||
}
|
||||
.kangfu{
|
||||
background-color:#fcf3da;
|
||||
color: #ff8600;
|
||||
}
|
||||
.item-view-xiangmu span:nth-child(2){
|
||||
font-weight: normal;
|
||||
color: #666666;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.item-view-xiangmu{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
font-weight: 400;
|
||||
font-size: 21rpx;
|
||||
margin-top: 5px;
|
||||
}
|
||||
.item-view-title{
|
||||
font-weight: bold;
|
||||
font-size: 33rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.item-view{
|
||||
width: 55%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
.item-img{
|
||||
width: 285rpx;
|
||||
height: 120px;
|
||||
border-radius: 14rpx;
|
||||
position: relative;
|
||||
}
|
||||
.img-span{
|
||||
padding: 2px 5px;
|
||||
font-weight: 400;
|
||||
font-size: 8px;
|
||||
color: #FFFFFF;
|
||||
background: linear-gradient(-90deg, #FF6F48, #FF9E69);
|
||||
border-radius: 7px 0px 7px 0px;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
right: 0;
|
||||
margin-bottom: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.item-img image{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.item {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
height: 140px;
|
||||
background: #FFFFFF;
|
||||
border-radius: 21rpx;
|
||||
margin-top:20px;
|
||||
align-items: center;
|
||||
padding: 0px 5px;
|
||||
}
|
||||
|
||||
.item-detail {
|
||||
padding: 5rpx 15rpx;
|
||||
border-radius: 10rpx;
|
||||
font-size: 28rpx;
|
||||
color: white;
|
||||
background-color: #007AFF;
|
||||
}
|
||||
|
||||
.item-line {
|
||||
position: absolute;
|
||||
bottom: 0rpx;
|
||||
left: 0rpx;
|
||||
height: 1px;
|
||||
width: 100%;
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
/deep/.zp-paging-container{
|
||||
background-color: #f7f7f7;
|
||||
width:100%;
|
||||
}
|
||||
/deep/.zp-paging-container-content{
|
||||
width: 95%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.fenlei{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.index-fenl-title{
|
||||
width: 81rpx;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
font-weight: bold;
|
||||
font-size: 34rpx;
|
||||
color:#019C88;
|
||||
}
|
||||
.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));
|
||||
}
|
||||
/deep/.uni-searchbar__cancel{
|
||||
display: none;
|
||||
}
|
||||
.search-btn{
|
||||
text-align: center;
|
||||
line-height: 31px;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
margin-top:9.4px;
|
||||
margin-right: 11px;
|
||||
height: 32px !important;
|
||||
}
|
||||
/deep/.uni-searchbar__box-icon-search,.search-btn{
|
||||
width: 101rpx;
|
||||
height: 60rpx;
|
||||
background: #18A689;
|
||||
border-radius: 31rpx;
|
||||
|
||||
}
|
||||
/deep/.uni-searchbar__box{
|
||||
height: 31px;
|
||||
border-radius: 15px !important;
|
||||
background-color: #fff !important;
|
||||
border: 2px solid #E5E5E5;
|
||||
padding: 0px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-flow: row-reverse;
|
||||
position: relative;
|
||||
}
|
||||
/deep/.uni-searchbar{
|
||||
width: 240px;
|
||||
border-radius: 31rpx;
|
||||
}
|
||||
.service-head-top-left image{
|
||||
width: 25px;
|
||||
height: 30rpx;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.service-head-top-left span{
|
||||
font-weight: bold;
|
||||
font-size: 44rpx;
|
||||
color: #171717;
|
||||
}
|
||||
.service-head-top-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.service-head-top{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
</style>
|
|
@ -0,0 +1,444 @@
|
|||
<!-- 自定义下拉刷新与上拉加载演示(vue) -->
|
||||
<template>
|
||||
<view class="content-view">
|
||||
<view class="service-head-top">
|
||||
<view class="service-head-top-left">
|
||||
<image @click="backImg" src="../../static/fanhui.png" mode="widthFix"></image>
|
||||
<span>浏览历史</span>
|
||||
</view>
|
||||
<!-- <view>
|
||||
<uni-search-bar @service="serviceTrue" @confirm="search" :cancelext="'取消'" v-model="searchValue" @input="input"
|
||||
@clear="clear">
|
||||
</uni-search-bar>
|
||||
<view class="search-btn" @click="searchBtn">
|
||||
搜索
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<t-refresh ref="refresh" v-if="dataList.length>0" @refresh="refresh" @loadMore="loadMore" :loadingType="loadingType" :tPadding="0">
|
||||
<template slot="content">
|
||||
<view class="item" v-for="(item,index) in dataList" :key="index" @click="itemClick(item)">
|
||||
<view class="item-img">
|
||||
<image :src="item.massageImg" mode=""></image>
|
||||
</view>
|
||||
<view class="item-view">
|
||||
<view class="item-view-title">
|
||||
<span class="item-view-title-text">{{item.title}}</span>
|
||||
<span class="header-bottom-title-liao">
|
||||
{{item.typeName}}
|
||||
</span>
|
||||
</view>
|
||||
<!-- <view class="item-view-xiangmu">
|
||||
<span class="xiaoer item-view-biao">{{item.classifyName}}</span>
|
||||
<span>已售{{item.sales}}w+ | 好评{{item.esteemRate}}%</span>
|
||||
</view> -->
|
||||
<view class="item-view-jianjie">
|
||||
{{item.content}}
|
||||
</view>
|
||||
<view class="item-view-bottom">
|
||||
<view class="item-view-bottom-qian">
|
||||
<span>¥</span>
|
||||
<span>{{item.price}}</span>
|
||||
<span>/元套</span>
|
||||
<span>{{item.oldPrice}}</span>
|
||||
</view>
|
||||
<view class="item-view-bottom-btn">
|
||||
查看
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</t-refresh>
|
||||
<empty v-if="dataList.length==0"></empty>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import empty from '@/components/empty.vue'
|
||||
import tRefresh from "@/components/t-refresh/t-refresh.vue"
|
||||
export default {
|
||||
components:{tRefresh,empty},
|
||||
data() {
|
||||
return {
|
||||
loadingType:0,
|
||||
myId: '',
|
||||
// v-model绑定的这个变量不要在分页请求结束中自己赋值!!!
|
||||
dataList: [],
|
||||
tabList: [],
|
||||
typeData:'105',
|
||||
tabIndex: 0,
|
||||
searchValue:'',
|
||||
serviceTrue:true,
|
||||
page:1,
|
||||
limit:10,
|
||||
titleNmae:'',
|
||||
classifyId:''
|
||||
}
|
||||
},
|
||||
onLoad(){
|
||||
this.myId = uni.getStorageSync('userId');
|
||||
this.getData();
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
this.page = 1;
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
// 加载更多
|
||||
loadMore: async function() {
|
||||
//loadingType: 0.数据未加载完 1.数据全部加载完了 2.数据加载中
|
||||
if(this.loadingType==0){
|
||||
this.loadingType=2
|
||||
//模拟数据请求
|
||||
setTimeout(()=>{
|
||||
this.page++;
|
||||
this.loadingType=0;
|
||||
this.getData()
|
||||
},1000)
|
||||
}
|
||||
},
|
||||
input(res) {//搜索 输入框
|
||||
this.searchValue=res;
|
||||
},
|
||||
searchBtn(){//搜索按钮
|
||||
if(this.searchValue!=""){
|
||||
this.getData()
|
||||
}
|
||||
},
|
||||
getData(){
|
||||
this.$Request.get("/app/collect/massage/findPage", {
|
||||
userId: this.myId,
|
||||
classify:'2',
|
||||
page:this.page,
|
||||
limit:this.limit,
|
||||
title:this.searchValue
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
if (res.data) {
|
||||
if (this.page == 1) this.dataList = []; //如果是第一页需手动制空列表
|
||||
this.dataList = [...this.dataList, ...res.data.records]; //追加新数据
|
||||
uni.stopPullDownRefresh()
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
backImg(){//返回上一页
|
||||
uni.reLaunch({
|
||||
url:'/pages/my/index'
|
||||
})
|
||||
},
|
||||
clear(res) {
|
||||
this.getData()
|
||||
},
|
||||
itemClick(item) {
|
||||
if(item.typeName=='项目'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/fuwuDateil?id='+item.projectId+'&limit='+this.limit+'&page='+this.page+'&name='+'index'
|
||||
})
|
||||
}else if(item.typeName=='套餐'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/serviceOderDrtail?id='+item.projectId+'&limit='+10+'&page='+1+'&name='+'index'
|
||||
})
|
||||
}else if(item.typeName=='次卡'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/cikarDrtail?id='+item.projectId+'&limit='+this.limit+'&page='+this.page+'&name='+'index'
|
||||
})
|
||||
}else if(item.typeName=='疗程'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/fuwuliaochengDetail?id='+item.projectId+'&limit='+this.limit+'&page='+this.page+'&name='+'index'
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.header-bottom-title-liao{
|
||||
display: inline-block;
|
||||
padding: 0 7px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
text-align: center;
|
||||
background: linear-gradient(-90deg, #FF6F48, #FF9E69);
|
||||
border-radius: 7px;
|
||||
margin-left: 5px;
|
||||
font-weight: bold;
|
||||
font-size: 8px;
|
||||
border-top-left-radius: 20px;
|
||||
border-bottom-right-radius: 20px;
|
||||
color: #fff;
|
||||
}
|
||||
/deep/.refresh-body .content{
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
/deep/.refresh-body{
|
||||
height: 100% !important;
|
||||
border-top: 2px solid #f7f7f7;
|
||||
}
|
||||
.content-view{
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
overflow: auto;
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
.item-view-bottom-btn{
|
||||
text-align: center;
|
||||
width: 131rpx;
|
||||
height: 50rpx;
|
||||
line-height: 50rpx;
|
||||
background: linear-gradient(90deg, #019C88, #0FA78B, #35C495);
|
||||
border-radius: 10rpx;
|
||||
font-weight: bold;
|
||||
font-size: 24rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(4){
|
||||
font-weight: bold;
|
||||
font-size: 31rpx;
|
||||
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: #F95900;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(2){
|
||||
font-weight: bold;
|
||||
font-size: 36.81rpx;
|
||||
color: #F95900;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(3){
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #F95900;
|
||||
}
|
||||
.item-view-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.item-view-jianjie{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #848484;
|
||||
margin:5px 0px;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.item-view-biao{
|
||||
padding: 1px 2px;
|
||||
border-radius: 6rpx;
|
||||
}
|
||||
.tuina{
|
||||
background-color:#d1f2df;
|
||||
color: #17984d;
|
||||
}
|
||||
.xiaoer{
|
||||
background-color:#f1f8d7;
|
||||
color: #58b314;
|
||||
}
|
||||
.taishi{
|
||||
background-color:#e5d5c6;
|
||||
color: #805d39;
|
||||
}
|
||||
.kangfu{
|
||||
background-color:#fcf3da;
|
||||
color: #ff8600;
|
||||
}
|
||||
.item-view-xiangmu span:nth-child(2){
|
||||
font-weight: normal;
|
||||
color: #666666;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.item-view-xiangmu{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
font-weight: 400;
|
||||
font-size: 21rpx;
|
||||
margin-top: 5px;
|
||||
}
|
||||
.item-view-title-text{
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
font-weight: bold;
|
||||
font-size: 33rpx;
|
||||
color: #333333;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.item-view-title{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.item-view{
|
||||
width: 55%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
.item-img{
|
||||
width: 285rpx;
|
||||
height: 120px;
|
||||
border-radius: 14rpx;
|
||||
position: relative;
|
||||
}
|
||||
.img-span{
|
||||
padding: 2px 5px;
|
||||
font-weight: 400;
|
||||
font-size: 8px;
|
||||
color: #FFFFFF;
|
||||
background: linear-gradient(-90deg, #FF6F48, #FF9E69);
|
||||
border-radius: 7px 0px 7px 0px;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
right: 0;
|
||||
margin-bottom: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.item-img image{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.item {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
height: 140px;
|
||||
background: #FFFFFF;
|
||||
border-radius: 21rpx;
|
||||
margin-top:20px;
|
||||
align-items: center;
|
||||
padding: 0px 5px;
|
||||
}
|
||||
|
||||
.item-detail {
|
||||
padding: 5rpx 15rpx;
|
||||
border-radius: 10rpx;
|
||||
font-size: 28rpx;
|
||||
color: white;
|
||||
background-color: #007AFF;
|
||||
}
|
||||
|
||||
.item-line {
|
||||
position: absolute;
|
||||
bottom: 0rpx;
|
||||
left: 0rpx;
|
||||
height: 1px;
|
||||
width: 100%;
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
/deep/.zp-paging-container{
|
||||
background-color: #f7f7f7;
|
||||
width:100%;
|
||||
}
|
||||
/deep/.zp-paging-container-content{
|
||||
width: 95%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.fenlei{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.index-fenl-title{
|
||||
width: 81rpx;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
font-weight: bold;
|
||||
font-size: 34rpx;
|
||||
color:#019C88;
|
||||
}
|
||||
.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));
|
||||
}
|
||||
/deep/.uni-searchbar__cancel{
|
||||
display: none;
|
||||
}
|
||||
.search-btn{
|
||||
text-align: center;
|
||||
line-height: 31px;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
margin-top:9.4px;
|
||||
margin-right: 11px;
|
||||
height: 32px !important;
|
||||
}
|
||||
/deep/.uni-searchbar__box-icon-search,.search-btn{
|
||||
width: 101rpx;
|
||||
height: 60rpx;
|
||||
background: #18A689;
|
||||
border-radius: 31rpx;
|
||||
|
||||
}
|
||||
/deep/.uni-searchbar__box{
|
||||
height: 31px;
|
||||
border-radius: 15px !important;
|
||||
background-color: #fff !important;
|
||||
border: 2px solid #E5E5E5;
|
||||
padding: 0px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-flow: row-reverse;
|
||||
position: relative;
|
||||
}
|
||||
/deep/.uni-searchbar{
|
||||
width: 240px;
|
||||
border-radius: 31rpx;
|
||||
}
|
||||
.service-head-top-left image{
|
||||
width: 25px;
|
||||
height: 30rpx;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.service-head-top-left span{
|
||||
font-weight: bold;
|
||||
font-size: 44rpx;
|
||||
color: #171717;
|
||||
}
|
||||
.service-head-top-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.service-head-top{
|
||||
width: 100%;
|
||||
height: 51px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
</style>
|
|
@ -41,10 +41,11 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="my-head-bottom back-width" @click="kaitong">
|
||||
<image src="../../static/my-kaitonghuiyuan.png" mode="widthFix"></image>
|
||||
</view> -->
|
||||
<view class="padding-lr margin-lr" style="background-color: #35C495;border-radius: 18rpx;margin-top: 30rpx;"
|
||||
<view class="my-head-bottom back-width" @click="goNav('/my/vip/index')">
|
||||
<image src="../../static/my-kaitonghuiyuan.png" mode="widthFix" v-if="!isVip"></image>
|
||||
<image src="../../static/activate3.png" mode="widthFix" v-if="isVip"></image>
|
||||
</view>
|
||||
<!-- <view class="padding-lr margin-lr" style="background-color: #35C495;border-radius: 18rpx;margin-top: 30rpx;"
|
||||
v-if="XCXIsSelect != '否' && hyCheck != '否'">
|
||||
<view class="flex justify-between align-center" style="height: 140rpx;">
|
||||
<view class="flex justify-between align-center" style="">
|
||||
|
@ -65,7 +66,7 @@
|
|||
style="justify-content: space-between;color: #fff;">会员特权
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="my-serve width">
|
||||
<view class="my-serve-title">我的服务</view>
|
||||
|
@ -127,7 +128,7 @@
|
|||
{urlImg:'../../static/my-gong-5.png',text:'地址管理',link:'/my/address/address'},
|
||||
{urlImg:'../../static/my-gong-6.png',text:'帮助中心',link:'/my/help/feedbackIndex'},
|
||||
{urlImg:'../../static/my-gong-7.png',text:'设置中心',link:'/my/setting/index'},
|
||||
{urlImg:'../../static/my-gong-8.png',text:'浏览历史',link:'/my/gird/browse'},
|
||||
{urlImg:'../../static/my-gong-8.png',text:'浏览历史',link:'/pages/my/historyMy'},
|
||||
{urlImg:'../../static/my-gong-9.png',text:'我的团队',link:'/pages/my/myteam'},
|
||||
]
|
||||
}
|
||||
|
@ -457,26 +458,28 @@
|
|||
})
|
||||
},
|
||||
meServe(item){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/servicePackage?name='+item
|
||||
})
|
||||
// if(item=="服务套餐"){
|
||||
|
||||
// }else if(item=="项目次卡"){
|
||||
// uni.navigateTo({
|
||||
// url:'/pages/my/onceCardPackage?name='+'项目次卡'
|
||||
// })
|
||||
// }else if(item=="服务疗程"){
|
||||
// uni.navigateTo({
|
||||
// url:'/pages/my/curePackage?name='+'服务疗程'
|
||||
// })
|
||||
// }
|
||||
if(item=="服务套餐"){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/servicePackage'
|
||||
})
|
||||
}else if(item=="项目次卡"){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/cika'
|
||||
})
|
||||
}else if(item=="服务疗程"){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/fuwuliaocheng'
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
|
||||
|
||||
.my-use-list-text{
|
||||
font-weight: bold;
|
||||
font-size: 30rpx;
|
||||
|
|
|
@ -0,0 +1,413 @@
|
|||
<!-- 自定义下拉刷新与上拉加载演示(vue) -->
|
||||
<template>
|
||||
<view class="content-view">
|
||||
<view class="service-head-top">
|
||||
<view class="service-head-top-left">
|
||||
<image @click="backImg" src="../../static/fanhui.png" mode="widthFix"></image>
|
||||
<span>{{typeData=='104'?'服务套餐':typeData=='105'?'次卡':'服务疗程'}}</span>
|
||||
</view>
|
||||
<view>
|
||||
<uni-search-bar @service="serviceTrue" @confirm="search" :cancelext="'取消'" v-model="searchValue" @input="input"
|
||||
@clear="clear">
|
||||
</uni-search-bar>
|
||||
<view class="search-btn" @click="searchBtn">
|
||||
搜索
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<t-refresh ref="refresh" v-if="dataList.length>0" @refresh="refresh" @loadMore="loadMore" :loadingType="loadingType" :tPadding="0">
|
||||
<template slot="content">
|
||||
<view class="item" v-for="(item,index) in dataList" :key="index" @click="itemClick(item)">
|
||||
<view class="item-img">
|
||||
<image :src="item.packageImg" mode=""></image>
|
||||
</view>
|
||||
<view class="item-view">
|
||||
<view class="item-view-title">
|
||||
{{item.title}}
|
||||
</view>
|
||||
<view class="item-view-xiangmu">
|
||||
<span class="xiaoer item-view-biao">{{item.classifyName}}</span>
|
||||
<span>已售{{item.sales}}w+ | 好评{{item.esteemRate}}%</span>
|
||||
</view>
|
||||
<view class="item-view-jianjie">
|
||||
{{item.jianjie}}
|
||||
</view>
|
||||
<view class="item-view-bottom">
|
||||
<view class="item-view-bottom-qian">
|
||||
<span>¥</span>
|
||||
<span>{{item.price}}</span>
|
||||
<span>/元套</span>
|
||||
<span>{{item.oldPrice}}</span>
|
||||
</view>
|
||||
<view class="item-view-bottom-btn">
|
||||
查看
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</t-refresh>
|
||||
<empty v-if="dataList.length==0"></empty>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import empty from '@/components/empty.vue'
|
||||
import tRefresh from "@/components/t-refresh/t-refresh.vue"
|
||||
export default {
|
||||
components:{tRefresh,empty},
|
||||
data() {
|
||||
return {
|
||||
loadingType:0,
|
||||
myId: '',
|
||||
// v-model绑定的这个变量不要在分页请求结束中自己赋值!!!
|
||||
dataList: [],
|
||||
typeData:'104',
|
||||
tabIndex: 0,
|
||||
searchValue:'',
|
||||
serviceTrue:true,
|
||||
page:1,
|
||||
limit:10,
|
||||
titleNmae:'',
|
||||
classifyId:'',
|
||||
getName:''
|
||||
}
|
||||
},
|
||||
onLoad(e){
|
||||
this.typeData=e.type
|
||||
this.getName=e.name;
|
||||
this.myId = uni.getStorageSync('userId')
|
||||
this.getData()
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
this.page = 1;
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
// 加载更多
|
||||
loadMore: async function() {
|
||||
//loadingType: 0.数据未加载完 1.数据全部加载完了 2.数据加载中
|
||||
if(this.loadingType==0){
|
||||
this.loadingType=2
|
||||
//模拟数据请求
|
||||
setTimeout(()=>{
|
||||
this.page++;
|
||||
this.loadingType=0;
|
||||
this.getData()
|
||||
},1000)
|
||||
}
|
||||
},
|
||||
|
||||
input(res) {//搜索 输入框
|
||||
this.searchValue=res;
|
||||
console.log('----input:', res)
|
||||
},
|
||||
searchBtn(){//搜索按钮
|
||||
if(this.searchValue!=""){
|
||||
this.getData()
|
||||
}
|
||||
},
|
||||
getData(){
|
||||
var that=this;
|
||||
that.$Request.get("/app/massage/package/findPage", {
|
||||
type:that.typeData,
|
||||
page:that.page,
|
||||
limit:that.limit
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
if (res.data) {
|
||||
if (this.page == 1) this.dataList = []; //如果是第一页需手动制空列表
|
||||
this.dataList = [...this.dataList, ...res.data.list]; //追加新数据
|
||||
uni.stopPullDownRefresh()
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
backImg(){//返回上一页
|
||||
uni.reLaunch({
|
||||
url:'/pages/index/index'
|
||||
})
|
||||
},
|
||||
clear(res) {
|
||||
this.getData()
|
||||
},
|
||||
itemClick(item) {
|
||||
if(this.typeData=='104'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/serviceOderDrtail?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+this.getName+'&isCanCoupon='+item.isCanCoupon
|
||||
})
|
||||
}else if(this.typeData=='105'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/cikarDrtail?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+this.getName+'&isCanCoupon='+item.isCanCoupon
|
||||
})
|
||||
}else if(this.typeData=='106'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/fuwuliaochengDetail?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+this.getName+'&isCanCoupon='+item.isCanCoupon
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
/deep/.refresh-body .content{
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
/deep/.refresh-body{
|
||||
height: 100% !important;
|
||||
border-top: 2px solid #f7f7f7;
|
||||
}
|
||||
.content-view{
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
overflow: auto;
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
.item-view-bottom-btn{
|
||||
text-align: center;
|
||||
width: 131rpx;
|
||||
height: 50rpx;
|
||||
line-height: 50rpx;
|
||||
background: linear-gradient(90deg, #019C88, #0FA78B, #35C495);
|
||||
border-radius: 10rpx;
|
||||
font-weight: bold;
|
||||
font-size: 24rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(4){
|
||||
font-weight: bold;
|
||||
font-size: 31rpx;
|
||||
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: #F95900;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(2){
|
||||
font-weight: bold;
|
||||
font-size: 36.81rpx;
|
||||
color: #F95900;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(3){
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #F95900;
|
||||
}
|
||||
.item-view-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.item-view-jianjie{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #848484;
|
||||
margin:5px 0px;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.item-view-biao{
|
||||
padding: 1px 2px;
|
||||
border-radius: 6rpx;
|
||||
}
|
||||
.tuina{
|
||||
background-color:#d1f2df;
|
||||
color: #17984d;
|
||||
}
|
||||
.xiaoer{
|
||||
background-color:#f1f8d7;
|
||||
color: #58b314;
|
||||
}
|
||||
.taishi{
|
||||
background-color:#e5d5c6;
|
||||
color: #805d39;
|
||||
}
|
||||
.kangfu{
|
||||
background-color:#fcf3da;
|
||||
color: #ff8600;
|
||||
}
|
||||
.item-view-xiangmu span:nth-child(2){
|
||||
font-weight: normal;
|
||||
color: #666666;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.item-view-xiangmu{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
font-weight: 400;
|
||||
font-size: 21rpx;
|
||||
margin-top: 5px;
|
||||
}
|
||||
.item-view-title{
|
||||
font-weight: bold;
|
||||
font-size: 33rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.item-view{
|
||||
width: 55%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
.item-img{
|
||||
width: 285rpx;
|
||||
height: 120px;
|
||||
border-radius: 14rpx;
|
||||
position: relative;
|
||||
}
|
||||
.img-span{
|
||||
padding: 2px 5px;
|
||||
font-weight: 400;
|
||||
font-size: 8px;
|
||||
color: #FFFFFF;
|
||||
background: linear-gradient(-90deg, #FF6F48, #FF9E69);
|
||||
border-radius: 7px 0px 7px 0px;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
right: 0;
|
||||
margin-bottom: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.item-img image{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.item {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
height: 140px;
|
||||
background: #FFFFFF;
|
||||
border-radius: 21rpx;
|
||||
margin-top:20px;
|
||||
align-items: center;
|
||||
padding: 0px 5px;
|
||||
}
|
||||
|
||||
.item-detail {
|
||||
padding: 5rpx 15rpx;
|
||||
border-radius: 10rpx;
|
||||
font-size: 28rpx;
|
||||
color: white;
|
||||
background-color: #007AFF;
|
||||
}
|
||||
|
||||
.item-line {
|
||||
position: absolute;
|
||||
bottom: 0rpx;
|
||||
left: 0rpx;
|
||||
height: 1px;
|
||||
width: 100%;
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
/deep/.zp-paging-container{
|
||||
background-color: #f7f7f7;
|
||||
width:100%;
|
||||
}
|
||||
/deep/.zp-paging-container-content{
|
||||
width: 95%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.fenlei{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.index-fenl-title{
|
||||
width: 81rpx;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
font-weight: bold;
|
||||
font-size: 34rpx;
|
||||
color:#019C88;
|
||||
}
|
||||
.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));
|
||||
}
|
||||
/deep/.uni-searchbar__cancel{
|
||||
display: none;
|
||||
}
|
||||
.search-btn{
|
||||
text-align: center;
|
||||
line-height: 31px;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
margin-top:9.4px;
|
||||
margin-right: 11px;
|
||||
height: 32px !important;
|
||||
}
|
||||
/deep/.uni-searchbar__box-icon-search,.search-btn{
|
||||
width: 101rpx;
|
||||
height: 60rpx;
|
||||
background: #18A689;
|
||||
border-radius: 31rpx;
|
||||
|
||||
}
|
||||
/deep/.uni-searchbar__box{
|
||||
height: 31px;
|
||||
border-radius: 15px !important;
|
||||
background-color: #fff !important;
|
||||
border: 2px solid #E5E5E5;
|
||||
padding: 0px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-flow: row-reverse;
|
||||
position: relative;
|
||||
}
|
||||
/deep/.uni-searchbar{
|
||||
width: 240px;
|
||||
border-radius: 31rpx;
|
||||
}
|
||||
.service-head-top-left image{
|
||||
width: 25px;
|
||||
height: 30rpx;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.service-head-top-left span{
|
||||
font-weight: bold;
|
||||
font-size: 44rpx;
|
||||
color: #171717;
|
||||
}
|
||||
.service-head-top-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.service-head-top{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
</style>
|
|
@ -0,0 +1,626 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
<view class="header">
|
||||
<view class="header-top" :style="backgroundStyle">
|
||||
<image src="../../static/servicePackage/member_ba.png" mode="widthFix" v-if="!isVIP"></image>
|
||||
<image src="../../static/activate2.png" mode="widthFix" v-if="isVIP"></image>
|
||||
</view>
|
||||
<view class="header-bottom">
|
||||
<view class="header-bottom-top">
|
||||
<view class="header-bottom-title">
|
||||
<view class="header-bottom-title-text">
|
||||
<span>{{getList.title}}</span>
|
||||
<span class="header-bottom-title-liao">
|
||||
{{dataList.name}}
|
||||
</span>
|
||||
</view>
|
||||
<view class="header-bottom-title-num">
|
||||
<span>{{getList.sales}}</span>
|
||||
<span> 人选择</span>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="header-bottom-money-view">
|
||||
<view class="header-bottom-money">
|
||||
<view class="header-bottom-money-zhen">
|
||||
<span>¥</span>
|
||||
<span>{{getList.price}}</span>
|
||||
<span>/元套</span>
|
||||
</view>
|
||||
<view class="header-bottom-money-jia">
|
||||
¥{{getList.oldPrice}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="header-bottom-foot">
|
||||
<view class="header-bottom-foot-title">服务保障</view>
|
||||
<view class="header-bottom-foot-cont">
|
||||
<view class="header-bottom-foot-view">
|
||||
<image class="header-bottom-foot-view-img1" src="../../static/servicePackage/idCard.png" mode=""></image>
|
||||
<span>未服务全额退款</span>
|
||||
</view>
|
||||
<view class="header-bottom-foot-view" style="margin: 0px 7px;">
|
||||
<image class="header-bottom-foot-view-img2" src="../../static/servicePackage/money.png" mode=""></image>
|
||||
<span>不满意重做</span>
|
||||
</view>
|
||||
<view class="header-bottom-foot-view">
|
||||
<image class="header-bottom-foot-view-img3" src="../../static/servicePackage/shuangyue.png" mode=""></image>
|
||||
<span>最快30分钟上门</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detail-foot">
|
||||
<view class="detail-foot-nav">
|
||||
<span class="detail-foot-nav-text">适用说明</span>
|
||||
<span class="detail-foot-nav-bor"></span>
|
||||
</view>
|
||||
<view class="detail-foot-mian" style="background-color: #fff;width: 95%;">
|
||||
<view class="detail-foot-mian-top">
|
||||
<span class="detail-foot-mian-top-title">性别限制: </span>
|
||||
<span class="detail-foot-mian-top-text">不限性别</span>
|
||||
</view>
|
||||
<view class="detail-foot-mian-top-bottom">
|
||||
<span class="detail-foot-mian-top-title">适应人群: </span>
|
||||
<span class="detail-foot-mian-top-text">
|
||||
{{getList.applyPeople}}
|
||||
</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detail-foot">
|
||||
<view class="detail-foot-nav">
|
||||
<span class="detail-foot-nav-text">项目详情</span>
|
||||
<span class="detail-foot-nav-bor"></span>
|
||||
</view>
|
||||
<view class="detail-foot-mian">
|
||||
<image class="detail-foot-mian-img" :src="getList.contentImg" mode="widthFix"></image>
|
||||
<view class="detail-foot-mian-txet">
|
||||
<span>SCIENTIFIC WAIST</span>
|
||||
<span>科学护腰,不上脊椎</span>
|
||||
<span>让您的腰不在盲目呵护!避免二次伤害!</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detail-btn" @click="goumai(getList)">
|
||||
立即购买
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default{
|
||||
data(){
|
||||
return{
|
||||
detailData:[],
|
||||
dataList:[],
|
||||
getList:[],
|
||||
isVIP:false,
|
||||
// 背景图片的URL可以是动态的,比如从API获取或根据条件生成
|
||||
backgroundImageUrl: '',
|
||||
page:1,
|
||||
limit:10,
|
||||
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
backgroundStyle() {
|
||||
return {
|
||||
backgroundImage: `url(${this.backgroundImageUrl})`,
|
||||
backgroundSize: 'cover', // 根据需要调整
|
||||
};
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
var that=this;
|
||||
that.dataList=e;
|
||||
that.isVIP=this.$queue.getData('isVIP');
|
||||
that.getData()
|
||||
},
|
||||
methods:{
|
||||
goumai(item){//立即购买
|
||||
this.$queue.setData('getJishi','')
|
||||
this.$queue.setData('ordersId','');
|
||||
this.$queue.setData('ordersId',item.massageTypeId);
|
||||
this.$queue.setData('userPackageDetailId',item.id);
|
||||
this.$queue.setData('daibudan','');
|
||||
uni.navigateTo({
|
||||
url:'/my/order/payModify?ordersId='+item.massageTypeId
|
||||
})
|
||||
|
||||
},
|
||||
getData(){//次卡
|
||||
var that=this;
|
||||
let data = {
|
||||
massageTypeId:that.dataList.id,
|
||||
mainId: that.dataList.mainId,
|
||||
page: that.page,
|
||||
limit: that.limit,
|
||||
}
|
||||
that.$Request.get('/app/user/package/detail/getMyPackageDetail', data).then(res => {
|
||||
if (res.code == 0) {
|
||||
that.getList=res.data;
|
||||
that.backgroundImageUrl=that.getList.packageImg
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.dingdan-btn{
|
||||
text-align: center;
|
||||
width: 62px;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
border-radius: 4px;
|
||||
font-weight: bold;
|
||||
font-size: 11px;
|
||||
}
|
||||
.dingdan-btn-l{
|
||||
background: linear-gradient(90deg, #019C88, #0FA78B, #35C495);
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.dingdan-btn-h{
|
||||
background: #666;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.tese span:nth-child(1){
|
||||
font-weight: bold;
|
||||
font-size: 22rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.tese span:nth-child(2){
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #8D9194;
|
||||
}
|
||||
.tese{
|
||||
width: 100%;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.detail-foot-nav-bor{
|
||||
width: 64px;
|
||||
height: 11rpx;
|
||||
border-radius: 6rpx;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
background: linear-gradient(90deg,rgba(234, 248, 245,0.7),rgba(132, 211, 196,0.7));
|
||||
}
|
||||
.detail-foot-nav-text{
|
||||
font-weight: bold;
|
||||
font-size: 32rpx;
|
||||
color: #000000;
|
||||
}
|
||||
.detail-foot-nav{
|
||||
width: 90%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
}
|
||||
.detail-foot-title{
|
||||
width: 115px;
|
||||
height: 32px;
|
||||
background-image: url(../../static/servicePackage/horn.png);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
color: #FFFFFF;
|
||||
text-align: right;
|
||||
line-height: 32px;
|
||||
padding-right: 15px;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
.detail-foot-list-top{
|
||||
width: 95%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.detail-foot-list{
|
||||
width: 95%;
|
||||
border-radius: 21rpx;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background-color: #fff;
|
||||
padding: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.detail-foot{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 15px 0px;
|
||||
}
|
||||
.detail-foot-list-top span:nth-child(1){
|
||||
font-weight: bold;
|
||||
font-size: 31rpx;
|
||||
color: #3F3F3F;
|
||||
}
|
||||
.detail-foot-list-top span:nth-child(2){
|
||||
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;
|
||||
}
|
||||
.detail-foot-list-top span:nth-child(3){
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #777777;
|
||||
}
|
||||
.detail-foot-mian{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: 0 auto;
|
||||
border-radius: 21rpx;
|
||||
padding: 15px;
|
||||
}
|
||||
.header-bottom-title-liao{
|
||||
display: inline-block;
|
||||
padding: 0 7px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
text-align: center;
|
||||
background: linear-gradient(-90deg, #FF6F48, #FF9E69);
|
||||
border-radius: 7px;
|
||||
margin-left: 5px;
|
||||
font-weight: bold;
|
||||
font-size: 8px;
|
||||
border-top-left-radius: 20px;
|
||||
border-bottom-right-radius: 20px;
|
||||
color: #fff;
|
||||
}
|
||||
.detail-btn{
|
||||
width:95%;
|
||||
height: 92rpx;
|
||||
line-height: 92rpx;
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
border-radius: 46rpx;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 42rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.detail-foot-mian-txet span:nth-child(1){
|
||||
color: #777777;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.detail-foot-mian-txet span:nth-child(2){
|
||||
color: #333;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
margin-bottom:3px;
|
||||
}
|
||||
.detail-foot-mian-txet span:nth-child(3){
|
||||
color: #777777;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.detail-foot-mian-txet{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.detail-foot-mian-img{
|
||||
width: 100%;
|
||||
height:auto;
|
||||
}
|
||||
.detail-foot-mian-top-bottom{
|
||||
margin-top: 10px;
|
||||
}
|
||||
.detail-foot-mian-top-title{
|
||||
color: #333333;
|
||||
}
|
||||
.detail-foot-mian-top-text{
|
||||
color: #777777;
|
||||
width:83%;
|
||||
}
|
||||
.detail-foot-mian-top,.detail-foot-mian-top-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
font-weight: bold;
|
||||
font-size: 22rpx;
|
||||
}
|
||||
.header-bottom-title-bottom span{
|
||||
font-weight: bold;
|
||||
font-size: 22rpx;
|
||||
color: #20AB95;
|
||||
}
|
||||
.header-bottom-title-bottom image{
|
||||
width: 34.03rpx;
|
||||
height: 30.56rpx;
|
||||
margin-right: 3px;
|
||||
}
|
||||
.header-bottom-title-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin: 5px 0px;
|
||||
}
|
||||
.shouc image{
|
||||
width: 34.03rpx;
|
||||
height: 32.64rpx;
|
||||
}
|
||||
|
||||
.shouc{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.detail-foot-nav-bor{
|
||||
width: 64px;
|
||||
height: 11rpx;
|
||||
border-radius: 6rpx;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
background: linear-gradient(90deg,rgba(234, 248, 245,0.7),rgba(132, 211, 196,0.7));
|
||||
}
|
||||
.detail-foot-nav-text{
|
||||
font-weight: bold;
|
||||
font-size: 32rpx;
|
||||
color: #000000;
|
||||
}
|
||||
.detail-foot-nav{
|
||||
width: 90%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.detail-foot{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 15px 0px;
|
||||
}
|
||||
|
||||
.tese span:nth-child(1){
|
||||
font-weight: bold;
|
||||
font-size: 22rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.tese span:nth-child(2){
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #8D9194;
|
||||
}
|
||||
.tese{
|
||||
width: 100%;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.detail-foot-list-top span:nth-child(1){
|
||||
font-weight: bold;
|
||||
font-size: 31rpx;
|
||||
color: #3F3F3F;
|
||||
}
|
||||
.detail-foot-list-top span:nth-child(2){
|
||||
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;
|
||||
}
|
||||
.detail-foot-list-top span:nth-child(3){
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #777777;
|
||||
}
|
||||
|
||||
|
||||
.jianjie{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #8D9194;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.header-bottom-mian{
|
||||
margin: 10px 0px;
|
||||
}
|
||||
.header-bottom-mian-title{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
.header-bottom-mian-title span{
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #20AB95;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.header-bottom-mian-title image{
|
||||
width: 30.56rpx;
|
||||
height: 29.86rpx;
|
||||
}
|
||||
.header-bottom-foot-view-img1{
|
||||
width: 22.92rpx;
|
||||
height: 17.36rpx;
|
||||
}
|
||||
.header-bottom-foot-view-img2{
|
||||
width: 16.67rpx;
|
||||
height: 16.67rpx;
|
||||
}
|
||||
.header-bottom-foot-view-img3{
|
||||
width: 15.97rpx;
|
||||
height: 18.06rpx;
|
||||
}
|
||||
.header-bottom-foot-view image{
|
||||
margin-right: 3px;
|
||||
}
|
||||
.header-bottom-foot-view{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 0 5px;
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
background-color: rgba(8, 162, 138, 0.1);
|
||||
border-radius: 8px;
|
||||
font-weight: 400;
|
||||
font-size: 8px;
|
||||
color: #029D88;
|
||||
}
|
||||
.header-bottom-foot-title{
|
||||
width:100%;
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
text-align: left;
|
||||
font-weight: 600;
|
||||
font-size: 23rpx;
|
||||
color: #08A28A;
|
||||
margin-top: 5px;
|
||||
}
|
||||
.header-bottom-foot-cont{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.header-bottom-foot{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
.header-bottom-money-jia{
|
||||
font-weight: bold;
|
||||
font-size: 28rpx;
|
||||
color: #848484;
|
||||
line-height: 37rpx;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.header-bottom-money-zhen span{
|
||||
color: #F95900;
|
||||
}
|
||||
.header-bottom-money-zhen span:nth-child(1){
|
||||
font-size: 25rpx;
|
||||
}
|
||||
.header-bottom-money-zhen span:nth-child(2){
|
||||
font-size:36.81rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
.header-bottom-money-zhen span:nth-child(3){
|
||||
font-size: 25rpx;
|
||||
}
|
||||
.header-bottom-money-zhen{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: baseline;
|
||||
}
|
||||
|
||||
.header-bottom-money-view{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
margin-top:5px;
|
||||
}
|
||||
.header-bottom-money{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.header-bottom-title-num span{
|
||||
font-weight: bold;
|
||||
font-size: 25rpx;
|
||||
}
|
||||
.header-bottom-title-num span:nth-child(1){
|
||||
color: #08A28A;
|
||||
}
|
||||
.header-bottom-title-num span:nth-child(2){
|
||||
color: #848485;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.header-bottom-title-text{
|
||||
font-weight: bold;
|
||||
font-size: 35rpx;
|
||||
color: #13141A;
|
||||
}
|
||||
.header-bottom-title{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.header-bottom-top{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.header-bottom{
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
padding: 15px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.header-top image{
|
||||
width: 706.25rpx;
|
||||
height: 105.07rpx;
|
||||
}
|
||||
.header-top{
|
||||
width: 100%;
|
||||
height: 745.83rpx;
|
||||
background-image: url('../../static/servicePackage/display.png');
|
||||
background-size: 100%;
|
||||
background-repeat: no-repeat;
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
justify-content: center;
|
||||
}
|
||||
.header{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.content{
|
||||
width: 100%;
|
||||
height: auto;
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,448 @@
|
|||
<!-- 自定义下拉刷新与上拉加载演示(vue) -->
|
||||
<template>
|
||||
<view class="content-view">
|
||||
<view class="service-head-top">
|
||||
<view class="service-head-top-left">
|
||||
<image @click="backImg" src="../../static/fanhui.png" mode="widthFix"></image>
|
||||
<span>{{previousPage.name}}</span>
|
||||
</view>
|
||||
<view>
|
||||
<uni-search-bar @service="serviceTrue" @confirm="search" :cancelext="'取消'" v-model="searchValue" @input="input"
|
||||
@clear="clear">
|
||||
</uni-search-bar>
|
||||
<view class="search-btn" @click="searchBtn">
|
||||
搜索
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<t-refresh ref="refresh" v-if="dataList.length>0" @refresh="refresh" @loadMore="loadMore" :loadingType="loadingType" :tPadding="0">
|
||||
<template slot="content">
|
||||
<view class="item" v-for="(item,index) in dataList" :key="index" @click="itemClick(item)">
|
||||
<view class="item-img">
|
||||
<image :src="item.massageImg" mode=""></image>
|
||||
</view>
|
||||
<view class="item-view">
|
||||
<view class="item-view-title">
|
||||
<span class="item-view-title-text">{{item.title}}</span>
|
||||
<span class="header-bottom-title-liao">
|
||||
{{item.typeName}}
|
||||
</span>
|
||||
</view>
|
||||
<!-- <view class="item-view-xiangmu">
|
||||
<span class="xiaoer item-view-biao">{{item.classifyName}}</span>
|
||||
<span>已售{{item.sales}}w+ | 好评{{item.esteemRate}}%</span>
|
||||
</view> -->
|
||||
<view class="item-view-jianjie">
|
||||
{{item.content}}
|
||||
</view>
|
||||
<view class="item-view-bottom">
|
||||
<view class="item-view-bottom-qian">
|
||||
<span>¥</span>
|
||||
<span>{{item.price}}</span>
|
||||
<span>/元套</span>
|
||||
<span>{{item.oldPrice}}</span>
|
||||
</view>
|
||||
<view class="item-view-bottom-btn">
|
||||
查看
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</t-refresh>
|
||||
<empty v-if="dataList.length==0"></empty>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import empty from '@/components/empty.vue'
|
||||
import tRefresh from "@/components/t-refresh/t-refresh.vue"
|
||||
export default {
|
||||
components:{tRefresh,empty},
|
||||
data() {
|
||||
return {
|
||||
loadingType:0,
|
||||
myId: '',
|
||||
// v-model绑定的这个变量不要在分页请求结束中自己赋值!!!
|
||||
dataList: [],
|
||||
tabList: [],
|
||||
typeData:'105',
|
||||
tabIndex: 0,
|
||||
searchValue:'',
|
||||
serviceTrue:true,
|
||||
page:1,
|
||||
limit:10,
|
||||
titleNmae:'',
|
||||
classifyId:'',
|
||||
previousPage:{}
|
||||
}
|
||||
},
|
||||
onLoad(e){
|
||||
var that=this;
|
||||
that.previousPage=e;
|
||||
that.isVIP=this.$queue.getData('isVIP');
|
||||
that.myId = uni.getStorageSync('userId');
|
||||
that.getData()
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
this.page = 1;
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
// 加载更多
|
||||
loadMore: async function() {
|
||||
//loadingType: 0.数据未加载完 1.数据全部加载完了 2.数据加载中
|
||||
if(this.loadingType==0){
|
||||
this.loadingType=2
|
||||
//模拟数据请求
|
||||
setTimeout(()=>{
|
||||
this.page++;
|
||||
this.loadingType=0;
|
||||
this.getData()
|
||||
},1000)
|
||||
}
|
||||
},
|
||||
input(res) {//搜索 输入框
|
||||
this.searchValue=res;
|
||||
},
|
||||
searchBtn(){//搜索按钮
|
||||
if(this.searchValue!=""){
|
||||
this.getData()
|
||||
}
|
||||
},
|
||||
getData(){
|
||||
this.$Request.get("/app/collect/massage/findPage", {
|
||||
userId: this.myId,
|
||||
classify:'2',
|
||||
page:this.page,
|
||||
limit:this.limit,
|
||||
title:this.searchValue
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
if (res.data) {
|
||||
if (this.page == 1) this.dataList = []; //如果是第一页需手动制空列表
|
||||
this.dataList = [...this.dataList, ...res.data.records]; //追加新数据
|
||||
uni.stopPullDownRefresh()
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
backImg(){//返回上一页
|
||||
uni.reLaunch({
|
||||
url:'/pages/my/index'
|
||||
})
|
||||
},
|
||||
clear(res) {
|
||||
this.getData()
|
||||
},
|
||||
itemClick(item) {
|
||||
if(item.typeName=='项目'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/fuwuDateil?id='+item.projectId+'&limit='+this.limit+'&page='+this.page+'&name='+'index'
|
||||
})
|
||||
}else if(item.typeName=='套餐'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/serviceOderDrtail?id='+item.projectId+'&limit='+10+'&page='+1+'&name='+'index'
|
||||
})
|
||||
}else if(item.typeName=='次卡'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/cikarDrtail?id='+item.projectId+'&limit='+this.limit+'&page='+this.page+'&name='+'index'
|
||||
})
|
||||
}else if(item.typeName=='疗程'){
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/fuwuliaochengDetail?id='+item.projectId+'&limit='+this.limit+'&page='+this.page+'&name='+'index'
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.header-bottom-title-liao{
|
||||
display: inline-block;
|
||||
padding: 0 7px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
text-align: center;
|
||||
background: linear-gradient(-90deg, #FF6F48, #FF9E69);
|
||||
border-radius: 7px;
|
||||
margin-left: 5px;
|
||||
font-weight: bold;
|
||||
font-size: 8px;
|
||||
border-top-left-radius: 20px;
|
||||
border-bottom-right-radius: 20px;
|
||||
color: #fff;
|
||||
}
|
||||
/deep/.refresh-body .content{
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
/deep/.refresh-body{
|
||||
height: 100% !important;
|
||||
border-top: 2px solid #f7f7f7;
|
||||
}
|
||||
.content-view{
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
overflow: auto;
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
.item-view-bottom-btn{
|
||||
text-align: center;
|
||||
width: 131rpx;
|
||||
height: 50rpx;
|
||||
line-height: 50rpx;
|
||||
background: linear-gradient(90deg, #019C88, #0FA78B, #35C495);
|
||||
border-radius: 10rpx;
|
||||
font-weight: bold;
|
||||
font-size: 24rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(4){
|
||||
font-weight: bold;
|
||||
font-size: 31rpx;
|
||||
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: #F95900;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(2){
|
||||
font-weight: bold;
|
||||
font-size: 36.81rpx;
|
||||
color: #F95900;
|
||||
}
|
||||
.item-view-bottom-qian span:nth-child(3){
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #F95900;
|
||||
}
|
||||
.item-view-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.item-view-jianjie{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #848484;
|
||||
margin:5px 0px;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.item-view-biao{
|
||||
padding: 1px 2px;
|
||||
border-radius: 6rpx;
|
||||
}
|
||||
.tuina{
|
||||
background-color:#d1f2df;
|
||||
color: #17984d;
|
||||
}
|
||||
.xiaoer{
|
||||
background-color:#f1f8d7;
|
||||
color: #58b314;
|
||||
}
|
||||
.taishi{
|
||||
background-color:#e5d5c6;
|
||||
color: #805d39;
|
||||
}
|
||||
.kangfu{
|
||||
background-color:#fcf3da;
|
||||
color: #ff8600;
|
||||
}
|
||||
.item-view-xiangmu span:nth-child(2){
|
||||
font-weight: normal;
|
||||
color: #666666;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.item-view-xiangmu{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
font-weight: 400;
|
||||
font-size: 21rpx;
|
||||
margin-top: 5px;
|
||||
}
|
||||
.item-view-title-text{
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
font-weight: bold;
|
||||
font-size: 33rpx;
|
||||
color: #333333;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.item-view-title{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.item-view{
|
||||
width: 55%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
.item-img{
|
||||
width: 285rpx;
|
||||
height: 120px;
|
||||
border-radius: 14rpx;
|
||||
position: relative;
|
||||
}
|
||||
.img-span{
|
||||
padding: 2px 5px;
|
||||
font-weight: 400;
|
||||
font-size: 8px;
|
||||
color: #FFFFFF;
|
||||
background: linear-gradient(-90deg, #FF6F48, #FF9E69);
|
||||
border-radius: 7px 0px 7px 0px;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
right: 0;
|
||||
margin-bottom: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.item-img image{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.item {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
height: 140px;
|
||||
background: #FFFFFF;
|
||||
border-radius: 21rpx;
|
||||
margin-top:20px;
|
||||
align-items: center;
|
||||
padding: 0px 5px;
|
||||
}
|
||||
|
||||
.item-detail {
|
||||
padding: 5rpx 15rpx;
|
||||
border-radius: 10rpx;
|
||||
font-size: 28rpx;
|
||||
color: white;
|
||||
background-color: #007AFF;
|
||||
}
|
||||
|
||||
.item-line {
|
||||
position: absolute;
|
||||
bottom: 0rpx;
|
||||
left: 0rpx;
|
||||
height: 1px;
|
||||
width: 100%;
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
/deep/.zp-paging-container{
|
||||
background-color: #f7f7f7;
|
||||
width:100%;
|
||||
}
|
||||
/deep/.zp-paging-container-content{
|
||||
width: 95%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.fenlei{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.index-fenl-title{
|
||||
width: 81rpx;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
font-weight: bold;
|
||||
font-size: 34rpx;
|
||||
color:#019C88;
|
||||
}
|
||||
.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));
|
||||
}
|
||||
/deep/.uni-searchbar__cancel{
|
||||
display: none;
|
||||
}
|
||||
.search-btn{
|
||||
text-align: center;
|
||||
line-height: 31px;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
margin-top:9.4px;
|
||||
margin-right: 11px;
|
||||
height: 32px !important;
|
||||
}
|
||||
/deep/.uni-searchbar__box-icon-search,.search-btn{
|
||||
width: 101rpx;
|
||||
height: 60rpx;
|
||||
background: #18A689;
|
||||
border-radius: 31rpx;
|
||||
|
||||
}
|
||||
/deep/.uni-searchbar__box{
|
||||
height: 31px;
|
||||
border-radius: 15px !important;
|
||||
background-color: #fff !important;
|
||||
border: 2px solid #E5E5E5;
|
||||
padding: 0px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-flow: row-reverse;
|
||||
position: relative;
|
||||
}
|
||||
/deep/.uni-searchbar{
|
||||
width: 240px;
|
||||
border-radius: 31rpx;
|
||||
}
|
||||
.service-head-top-left image{
|
||||
width: 25px;
|
||||
height: 30rpx;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.service-head-top-left span{
|
||||
font-weight: bold;
|
||||
font-size: 44rpx;
|
||||
color: #171717;
|
||||
}
|
||||
.service-head-top-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.service-head-top{
|
||||
width: 100%;
|
||||
height: 51px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
</style>
|
|
@ -2,7 +2,8 @@
|
|||
<view class="content">
|
||||
<view class="header">
|
||||
<view class="header-top" :style="backgroundStyle">
|
||||
<image v-if="isVIP==false" src="../../static/servicePackage/member_ba.png" mode=""></image>
|
||||
<image src="../../static/servicePackage/member_ba.png" mode="widthFix" v-if="!isVip"></image>
|
||||
<image src="../../static/activate2.png" mode="widthFix" v-if="isVip"></image>
|
||||
</view>
|
||||
<view class="header-bottom">
|
||||
<view class="header-bottom-top">
|
||||
|
@ -11,7 +12,7 @@
|
|||
{{mainData.title}}
|
||||
</view>
|
||||
<view class="header-bottom-title-num">
|
||||
<span>{{mainData.sales}} </span>
|
||||
<span>{{mainData.sales}}</span>
|
||||
<span> 人选择</span>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -78,29 +79,87 @@
|
|||
</view>
|
||||
<view class="tese">
|
||||
<span>项目特色: </span>
|
||||
<span>{{item.content}}</span>
|
||||
<span>{{item.jianjie}}</span>
|
||||
</view>
|
||||
<view class="detail-foot-title">
|
||||
服务项目{{index+1}}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<checkbox-group @change="checkboxChange" v-if="serviData.name=='index' && serviData.isCanCoupon=='1'">
|
||||
<view class="youhui-weiyong youhui-list" v-for="(itemY,indexY) in couponData" :key="itemY.id">
|
||||
<view class="youhui-view-left">
|
||||
<view class="youhui-view-left-yuan">
|
||||
<span class="youhui-view-left-num">{{itemY.money}}</span>
|
||||
<span class="youhui-view-left-text">元</span>
|
||||
</view>
|
||||
<view class="youhui-view-left-bottom">
|
||||
满{{itemY.minMoney}}元可用
|
||||
</view>
|
||||
</view>
|
||||
<view class="youhui-view-right">
|
||||
<view class="youhui-view-right-top">
|
||||
<view class="youhui-view-right-title">{{itemY.couponName}}</view>
|
||||
<view class="youhui-view-right-time">{{itemY.endDate}}</view>
|
||||
</view>
|
||||
<label class="tui-radio">
|
||||
<checkbox activeBackgroundColor="#096f4b" color="#096f4b" :value="itemY.id.toString()" :checked="checkbox"/>
|
||||
</label>
|
||||
</view>
|
||||
</view>
|
||||
</checkbox-group>
|
||||
<view class="detail-btn" v-if="serviData.name=='index'" @click="openpay">
|
||||
立即预约
|
||||
</view>
|
||||
<!-- 支付方式 -->
|
||||
<u-popup v-model="showpay" mode="bottom" :closeable="closeable">
|
||||
<view class="popup_pay">
|
||||
<view style="background-color: #fff;">
|
||||
<view style="padding: 0 20upx;margin-top: 60rpx;margin-bottom: 20rpx;display: flex;flex-direction: column;justify-content: center;">
|
||||
<view
|
||||
style="width:92%;display: flex;height: 100upx;align-items: center;padding: 20upx 0;justify-content: center;"
|
||||
v-for="(item,index) in openLists" :key='item.id'>
|
||||
<image :src="item.image" style="width: 55upx;height: 55upx;border-radius: 50upx;">
|
||||
</image>
|
||||
<view style="font-size: 30upx;margin-left: 20upx;width: 70%;">
|
||||
{{item.text}}
|
||||
</view>
|
||||
<radio-group name="openWay" style="margin-left: 45upx;" @tap='selectWay(item)'>
|
||||
<label class="tui-radio">
|
||||
<radio color="#096f4b" :checked="openWay === item.id ? true : false" />
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pay_btn" @click="pay()">确认支付</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default{
|
||||
data(){
|
||||
return{
|
||||
checkbox:false,
|
||||
couponData:[],
|
||||
couponId:'',
|
||||
tordersId: '',
|
||||
tpayMoney: '',
|
||||
paySel: 0,
|
||||
openWay: 1,
|
||||
openLists: [],
|
||||
closeable: true,
|
||||
showpay: false,
|
||||
serviData:[],
|
||||
isVIP:false,
|
||||
isVip:false,
|
||||
mainData:[],
|
||||
detailData:[],
|
||||
// 背景图片的URL可以是动态的,比如从API获取或根据条件生成
|
||||
backgroundImageUrl: ''
|
||||
backgroundImageUrl: '',
|
||||
nameText:'',
|
||||
zong:''
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
@ -113,36 +172,606 @@
|
|||
},
|
||||
onLoad(e){
|
||||
var that=this;
|
||||
that.serviData=e
|
||||
that.serviData=e;
|
||||
that.getData();
|
||||
this.isVIP=this.$queue.getData('isVIP');
|
||||
that.youhui()
|
||||
that.isVip=this.$queue.getData('isVIP');
|
||||
},
|
||||
onShow() {
|
||||
// #ifndef MP-WEIXIN
|
||||
this.openLists = [{
|
||||
image: '../../static/images/icon_weixin.png',
|
||||
text: '微信支付',
|
||||
id: 2
|
||||
}, {
|
||||
image: '../../static/images/zhifubao.png',
|
||||
text: '支付宝支付',
|
||||
id: 3
|
||||
}, {
|
||||
image: '../../static/images/lingqian.png',
|
||||
text: '零钱支付',
|
||||
id: 1
|
||||
}],
|
||||
this.openWay = 2;
|
||||
// #endif
|
||||
|
||||
// #ifdef MP-WEIXIN
|
||||
this.openLists = [{
|
||||
image: '../../static/images/icon_weixin.png',
|
||||
text: '微信支付',
|
||||
id: 2
|
||||
}, {
|
||||
image: '../../static/images/lingqian.png',
|
||||
text: '零钱支付',
|
||||
id: 1
|
||||
}],
|
||||
this.openWay = 2;
|
||||
// #endif
|
||||
},
|
||||
methods:{
|
||||
checkboxChange(e){
|
||||
this.couponId=e.detail.value.join(",")
|
||||
},
|
||||
youhui(){//获取优惠卷
|
||||
let that = this
|
||||
let data = {
|
||||
status: 0,
|
||||
page: 1,
|
||||
limit: 10
|
||||
}
|
||||
that.$Request.get("/app/coupon/selectCouponUserList", data).then(res => {
|
||||
if (res.code == 0) {
|
||||
that.couponData=res.data.list
|
||||
} else {
|
||||
that.$queue.showToast(res.msg)
|
||||
}
|
||||
|
||||
});
|
||||
},
|
||||
goOrder() {//生成orderId
|
||||
let that = this
|
||||
console.log('asdasd',that.couponId)
|
||||
// let payMoney =item.price;
|
||||
// let payMoney = that.isVip ? item.memberPrice : item.price;
|
||||
let data = {
|
||||
userId: uni.getStorageSync('userId'),
|
||||
couponId: that.couponId,
|
||||
oldSumMoney: that.mainData.oldPrice*that.detailData.length,
|
||||
sumMoney: that.mainData.price*that.detailData.length,
|
||||
ordersPackageList:[
|
||||
{packageId: that.mainData.id,num: that.detailData.length},
|
||||
]
|
||||
}
|
||||
that.$Request.postJson("/app/user/package/order/insertOrders", data).then(res => {
|
||||
that.showorder = false
|
||||
if (res.code == 0) {
|
||||
that.tordersId = res.data.ordersId;
|
||||
that.tpayMoney = res.data.payMoney;
|
||||
that.showpay = true;
|
||||
that.paySel = 1;
|
||||
} else {
|
||||
that.$queue.showToast(res.msg)
|
||||
}
|
||||
|
||||
});
|
||||
},
|
||||
openpay() {
|
||||
this.goOrder()
|
||||
this.showpay = true
|
||||
},
|
||||
//支付选择
|
||||
selectWay: function(item) {
|
||||
this.openWay = item.id;
|
||||
},
|
||||
|
||||
payJZ() {
|
||||
let that = this;
|
||||
if (that.openWay == 1) { //零钱支付
|
||||
uni.showModal({
|
||||
title: '付款提示',
|
||||
content: '确认支付' + that.tpayMoney + '元吗?',
|
||||
success: function(re) {
|
||||
if (re.confirm) {
|
||||
that.$queue.showLoading('支付中...')
|
||||
// console.log('用户点击确定');
|
||||
that.$Request.post("/app/user/package/order/payOrder", {
|
||||
ordersId: that.tordersId,
|
||||
}).then(ret => {
|
||||
uni.hideLoading();
|
||||
if (ret.code == 0) {
|
||||
uni.showToast({
|
||||
title: '支付成功',
|
||||
icon: 'none'
|
||||
})
|
||||
that.getData()
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: ret.msg,
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
});
|
||||
} else if (re.cancel) {
|
||||
}
|
||||
}
|
||||
})
|
||||
} else if (that.openWay == 2) { //微信支付
|
||||
// #ifdef MP-WEIXIN
|
||||
let data = {
|
||||
ordersId: that.tordersId,
|
||||
type: 3
|
||||
}
|
||||
that.$Request.post('/app/wxPay/payOrder', data).then(ret => {
|
||||
console.log(ret)
|
||||
if (ret.code == 0) {
|
||||
uni.hideLoading();
|
||||
uni.requestPayment({
|
||||
provider: 'wxpay',
|
||||
timeStamp: ret.data.timestamp,
|
||||
nonceStr: ret.data.noncestr,
|
||||
package: ret.data.package,
|
||||
signType: ret.data.signType,
|
||||
paySign: ret.data.sign,
|
||||
success: function(ret) {
|
||||
console.log(ret)
|
||||
uni.showToast({
|
||||
title: '支付成功',
|
||||
icon: 'none'
|
||||
})
|
||||
that.getData()
|
||||
// this.$queue.showToast('支付成功');
|
||||
|
||||
// uni.switchTab({
|
||||
// url: '/pages/my/index'
|
||||
// })
|
||||
},
|
||||
fail: function(err) {
|
||||
// this.$queue.showToast('支付失败');
|
||||
uni.showToast({
|
||||
title: '支付失败',
|
||||
icon: 'nones'
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
// #endif
|
||||
|
||||
// #ifdef H5
|
||||
let ua = navigator.userAgent.toLowerCase();
|
||||
if (ua.indexOf('micromessenger') != -1) {
|
||||
let data = {
|
||||
ordersId: that.tordersId,
|
||||
type: 2
|
||||
}
|
||||
that.$Request.post('/app/wxPay/payOrder', data).then(rea => {
|
||||
that.showpay = false
|
||||
if (rea.code == 0) {
|
||||
that.callPay(rea.data);
|
||||
that.getData()
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: rea.msg,
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
});
|
||||
} else {
|
||||
let data = {
|
||||
ordersId: that.tordersId,
|
||||
type: 4
|
||||
}
|
||||
that.$Request.post('/app/wxPay/payOrder', data).then(rea => {
|
||||
that.showpay = false
|
||||
if (rea.code == 0) {
|
||||
const urlArr = window.location.href;
|
||||
const hostUrl = urlArr.split("/");
|
||||
const callBack = hostUrl[0] + "//" + hostUrl[2] + "/";
|
||||
const url = '&redirect_url=' + callBack + 'my/order/pay';
|
||||
window.location = rea.data.mweb_url + url
|
||||
that.getData()
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: rea.msg,
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// #endif
|
||||
|
||||
// #ifdef APP
|
||||
let data = {
|
||||
ordersId: that.order.ordersId,
|
||||
type: 1
|
||||
}
|
||||
that.$Request.post('/app/wxPay/payOrder', data).then(rea => {
|
||||
console.log(rea)
|
||||
that.showpay = false
|
||||
if (rea.code == 0) {
|
||||
that.isCheckPay(rea.code, 'wxpay', JSON.stringify(rea.data));
|
||||
}
|
||||
});
|
||||
// #endif
|
||||
} else if (that.openWay == 3) { //支付宝支付
|
||||
// #ifdef H5
|
||||
let data = {
|
||||
ordersId: that.tordersId,
|
||||
type: 2
|
||||
}
|
||||
that.$Request.post('/app/aliPay/payOrder', data).then(
|
||||
rea => {
|
||||
that.showpay = false
|
||||
const div = document.createElement('div')
|
||||
div.innerHTML = rea.data //此处form就是后台返回接收到的数据
|
||||
document.body.appendChild(div)
|
||||
document.forms[0].submit()
|
||||
that.getData()
|
||||
});
|
||||
// #endif
|
||||
|
||||
// #ifdef APP-PLUS
|
||||
let data = {
|
||||
ordersId: that.tordersId,
|
||||
type: 1
|
||||
}
|
||||
that.$Request.post('/app/aliPay/payOrder', data).then(
|
||||
rea => {
|
||||
that.showpay = false
|
||||
that.setPayment('alipay', rea.data);
|
||||
that.getData()
|
||||
});
|
||||
// #endif
|
||||
}
|
||||
|
||||
},
|
||||
// 支付订单
|
||||
pay() {
|
||||
let that = this
|
||||
this.showpay = false
|
||||
if (this.paySel != 0) {
|
||||
this.payJZ();
|
||||
return;
|
||||
}
|
||||
if (that.openWay == 1) { //零钱支付
|
||||
uni.showModal({
|
||||
title: '付款提示',
|
||||
content: '确认支付' + that.order.payMoney + '元吗?',
|
||||
success: function(re) {
|
||||
if (re.confirm) {
|
||||
that.$queue.showLoading('支付中...')
|
||||
console.log('用户点击确定');
|
||||
that.$Request.post("/app/user/package/order/payOrder", {
|
||||
ordersId: that.order.ordersId,
|
||||
}).then(res => {
|
||||
uni.hideLoading();
|
||||
if (res.code == 0) {
|
||||
uni.showToast({
|
||||
title: '支付成功'
|
||||
})
|
||||
that.getData()
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
});
|
||||
} else if (re.cancel) {
|
||||
uni.hideLoading();
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
} else if (that.openWay == 2) { //微信支付
|
||||
that.$queue.showLoading('支付中...')
|
||||
// #ifdef MP-WEIXIN
|
||||
let data = {
|
||||
ordersId: that.order.ordersId,
|
||||
type: 3
|
||||
}
|
||||
that.$Request.post('/app/wxPay/payOrder', data).then(ret => {
|
||||
console.log(ret)
|
||||
if (ret.code == 0) {
|
||||
uni.hideLoading();
|
||||
uni.requestPayment({
|
||||
provider: 'wxpay',
|
||||
timeStamp: ret.data.timestamp,
|
||||
nonceStr: ret.data.noncestr,
|
||||
package: ret.data.package,
|
||||
signType: ret.data.signType,
|
||||
paySign: ret.data.sign,
|
||||
success: function(ret) {
|
||||
console.log(ret)
|
||||
uni.showToast({
|
||||
title: '支付成功',
|
||||
icon: 'none'
|
||||
})
|
||||
that.getData()
|
||||
// this.$queue.showToast('支付成功');
|
||||
|
||||
// uni.switchTab({
|
||||
// url: '/pages/my/index'
|
||||
// })
|
||||
},
|
||||
fail: function(err) {
|
||||
// this.$queue.showToast('支付失败');
|
||||
uni.showToast({
|
||||
title: '支付失败',
|
||||
icon: 'nones'
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
// #endif
|
||||
|
||||
// #ifdef H5
|
||||
let ua = navigator.userAgent.toLowerCase();
|
||||
if (ua.indexOf('micromessenger') != -1) {
|
||||
let data = {
|
||||
ordersId: that.order.ordersId,
|
||||
type: 2
|
||||
}
|
||||
that.$Request.post('/app/wxPay/payOrder', data).then(rea => {
|
||||
that.showpay = false
|
||||
if (rea.code == 0) {
|
||||
that.callPay(rea.data);
|
||||
that.getData()
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: rea.msg,
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
});
|
||||
} else {
|
||||
let data = {
|
||||
ordersId: that.order.ordersId,
|
||||
type: 4
|
||||
}
|
||||
// debugger;
|
||||
that.$Request.post('/app/wxPay/payOrder', data).then(rea => {
|
||||
// const urlArr = window.location.href;
|
||||
// const hostUrl = urlArr.split("/");
|
||||
// const callBack = hostUrl[0] + "//" + hostUrl[2] + "/";
|
||||
// const url = '&redirect_url=' + callBack + 'my/order/pay';
|
||||
// window.location = rea.mweb_url + url
|
||||
that.showpay = false
|
||||
if (rea.code == 0) {
|
||||
const urlArr = window.location.href;
|
||||
const hostUrl = urlArr.split("/");
|
||||
const callBack = hostUrl[0] + "//" + hostUrl[2] + "/";
|
||||
const url = '&redirect_url=' + callBack + 'my/order/pay';
|
||||
window.location = rea.data.mweb_url + url
|
||||
that.getData()
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: rea.msg,
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// #endif
|
||||
|
||||
// #ifdef APP
|
||||
let data = {
|
||||
ordersId: that.order.ordersId,
|
||||
type: 1
|
||||
}
|
||||
that.$Request.post('/app/wxPay/payOrder', data).then(rea => {
|
||||
console.log(rea)
|
||||
that.showpay = false
|
||||
if (rea.code == 0) {
|
||||
that.getData()
|
||||
that.isCheckPay(rea.code, 'wxpay', JSON.stringify(rea.data));
|
||||
}
|
||||
});
|
||||
// #endif
|
||||
} else if (that.openWay == 3) { //支付宝支付
|
||||
that.$queue.showLoading('支付中...')
|
||||
// #ifdef H5
|
||||
let data = {
|
||||
ordersId: that.order.ordersId,
|
||||
type: 2
|
||||
}
|
||||
that.$Request.post('/app/aliPay/payOrder', data).then(
|
||||
rea => {
|
||||
const div = document.createElement('div')
|
||||
div.innerHTML = rea.data //此处form就是后台返回接收到的数据
|
||||
document.body.appendChild(div)
|
||||
document.forms[0].submit()
|
||||
that.getData()
|
||||
});
|
||||
// #endif
|
||||
|
||||
// #ifdef APP-PLUS
|
||||
let data = {
|
||||
ordersId: that.order.ordersId,
|
||||
type: 1
|
||||
}
|
||||
that.$Request.post('/app/aliPay/payOrder', data).then(
|
||||
rea => {
|
||||
that.setPayment('alipay', rea.data);
|
||||
that.getData()
|
||||
});
|
||||
// #endif
|
||||
}
|
||||
},
|
||||
|
||||
detail(item){
|
||||
console.log("111111",item)
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/cureOderDrtail'
|
||||
url:'/pages/my/cureOderDrtail?mainId='+item.mainId+'&id='+item.id+
|
||||
'&massageTypeId='+item.massageTypeId+
|
||||
'&page='+1+
|
||||
'&limit='+10+
|
||||
'&name='+this.nameText
|
||||
})
|
||||
|
||||
},
|
||||
getData(){
|
||||
var that=this;
|
||||
let data = {
|
||||
mainId: that.serviData.id,
|
||||
page: that.serviData.page,
|
||||
limit: that.serviData.limit,
|
||||
if(that.serviData.name!='index'){
|
||||
let data = {
|
||||
mainId: that.serviData.id,
|
||||
page: that.serviData.page,
|
||||
limit: that.serviData.limit,
|
||||
}
|
||||
that.$Request.get('/app/user/package/detail/findMyPackageDetailList',data).then(res => {
|
||||
if (res.code == 0) {
|
||||
that.mainData=res.data.mainData;
|
||||
that.detailData=res.data.detailData;
|
||||
that.backgroundImageUrl=that.mainData.packageImg;
|
||||
that.nameText="my"
|
||||
}
|
||||
that.$Request.get('/app/user/package/detail/findMyPackageDetailList',data).then(res => {
|
||||
if (res.code == 0) {
|
||||
that.mainData=res.data.mainData;
|
||||
that.detailData=res.data.detailData;
|
||||
that.backgroundImageUrl=that.mainData.packageImg
|
||||
}
|
||||
})
|
||||
})
|
||||
}else{//从首页 推荐进入 请求的接口
|
||||
let data = {
|
||||
mainId: that.serviData.id,
|
||||
page: that.serviData.page,
|
||||
limit: that.serviData.limit,
|
||||
}
|
||||
that.$Request.get('/app/massage/packageDetail/findAppPage',data).then(res => {
|
||||
if (res.code == 0) {
|
||||
that.mainData=res.mainData;
|
||||
that.detailData=res.detailData.list;
|
||||
that.backgroundImageUrl=that.mainData.packageImg;
|
||||
that.nameText="index"
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
/deep/uni-checkbox .uni-checkbox-input{
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.youhui-img{
|
||||
width: 111.81rpx;
|
||||
height: 111.81rpx;
|
||||
}
|
||||
.youhui-view-right-btn{
|
||||
width: 158rpx;
|
||||
height: 64rpx;
|
||||
background: linear-gradient(-90deg, #019C88, #2DC48E);
|
||||
border-radius: 32rpx;
|
||||
text-align: center;
|
||||
line-height: 64rpx;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #FFFFFF;
|
||||
text-shadow: 0rpx 2rpx 4rpx rgba(0,119,104,0.44);
|
||||
margin-left: 10px;
|
||||
}
|
||||
.youhui-view-right-time{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #999999;
|
||||
}
|
||||
.youhui-view-right-title{
|
||||
width: 105px;
|
||||
font-weight: 400;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.youhui-view-right-top{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
.youhui-view-right{
|
||||
width: 502.08rpx;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
}
|
||||
.youhui-view-left-bottom{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.youhui-view-left-yuan{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: baseline;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.youhui-view-left-num{
|
||||
font-weight: bold;
|
||||
font-size: 89rpx;
|
||||
}
|
||||
.youhui-view-left-text{
|
||||
font-weight: bold;
|
||||
font-size:24.31rpx;
|
||||
}
|
||||
.youhui-view-left{
|
||||
width: 199rpx;
|
||||
height: 242rpx;
|
||||
display: flex;
|
||||
flex-direction:column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.youhui-yiyong{
|
||||
background-image: url('../../static/youhuijuan/coupons7.png');
|
||||
}
|
||||
.youhui-weiyong{
|
||||
background-image: url('../../static/youhuijuan/coupons1.png');
|
||||
}
|
||||
.youhui-list{
|
||||
width: 95%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
height: 242rpx;
|
||||
border-radius: 21rpx;
|
||||
background-size: 100%;
|
||||
margin: 20px auto;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.popup_pay {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
padding-bottom: 45rpx;
|
||||
/* height: 400px; */
|
||||
/* height: 160px; */
|
||||
/* #ifndef MP-WEIXIN */
|
||||
/* height: 130px; */
|
||||
/* #endif */
|
||||
|
||||
}
|
||||
.pay_btn {
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
height: 80rpx;
|
||||
border-radius: 60rpx;
|
||||
color: #ffffff;
|
||||
line-height: 80rpx;
|
||||
}
|
||||
.detail-btn{
|
||||
width:95%;
|
||||
height: 92rpx;
|
||||
line-height: 92rpx;
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
border-radius: 46rpx;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 42rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.header-top image{
|
||||
width: 706.25rpx;
|
||||
height: 105.07rpx;
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<view class="service-head-top">
|
||||
<view class="service-head-top-left">
|
||||
<image @click="backImg" src="../../static/fanhui.png" mode="widthFix"></image>
|
||||
<span>{{titleNmae}}</span>
|
||||
<span>服务套餐</span>
|
||||
</view>
|
||||
<view>
|
||||
<uni-search-bar @service="serviceTrue" @confirm="search" :cancelext="'取消'" v-model="searchValue" @input="input"
|
||||
|
@ -45,7 +45,7 @@
|
|||
<!-- <view class="item-line"></view> -->
|
||||
<view class="item-img">
|
||||
<image :src="item.packageImg" mode=""></image>
|
||||
<span class="img-span">{{item.type}}</span>
|
||||
<span class="img-span">{{item.status=='1'?'未用完':item.status=='2'?'退款':'已用完'}}</span>
|
||||
</view>
|
||||
<view class="item-view">
|
||||
<view class="item-view-title">
|
||||
|
@ -65,116 +65,14 @@
|
|||
<span>/元套</span>
|
||||
<span>{{item.oldPrice}}</span>
|
||||
</view>
|
||||
<view class="item-view-bottom-btn" @click.stop="toggle('center')">
|
||||
<view class="item-view-bottom-btn">
|
||||
查看
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</z-paging>
|
||||
<view>
|
||||
<!-- 普通弹窗 -->
|
||||
<uni-popup ref="popup" background-color="#fff" @change="change">
|
||||
<view class="popup-content">
|
||||
<view class="popup-head">
|
||||
<span>改价单</span>
|
||||
<span @click="closePopup(type)">x</span>
|
||||
</view>
|
||||
<view class="popup-mian">
|
||||
<!-- <view class="popup-mian-textarea">
|
||||
<view class="popup-mian-view">
|
||||
<span>原服务项目价格:</span>
|
||||
<span>¥198元</span>
|
||||
</view>
|
||||
<view class="popup-mian-view">
|
||||
<span>现服务项目价格:</span>
|
||||
<span>¥298元</span>
|
||||
</view>
|
||||
<view class="popup-mian-view">
|
||||
<span>改价需支付差价:</span>
|
||||
<span>¥100元</span>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="chong">
|
||||
<view class="chong-list">
|
||||
<view class="chong-list-left">
|
||||
<radio value="" class="chong-list-radio"/>
|
||||
<image src="../../static/jinggao.png" mode=""></image>
|
||||
</view>
|
||||
<view class="chong-list-right">
|
||||
<view class="chong-title">
|
||||
<span>王丽楠</span>
|
||||
<image src="../../static/xinren.png" mode=""></image>
|
||||
</view>
|
||||
<view class="chong-bottom">
|
||||
<view class="chong-bottom-ding">
|
||||
<image src="../../static/orderDetail/dingwei.png" mode=""></image>
|
||||
<span>0.8km</span>
|
||||
</view>
|
||||
<view class="chong-bottom-cheng">
|
||||
<image class="therapist-bottom-img" src="../../static/dituzhaoren5.png">
|
||||
<span>春城有约</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="chong-list">
|
||||
<view class="chong-list-left">
|
||||
<radio value="" class="chong-list-radio"/>
|
||||
<image src="../../static/jinggao.png" mode=""></image>
|
||||
</view>
|
||||
<view class="chong-list-right">
|
||||
<view class="chong-title">
|
||||
<span>王丽楠</span>
|
||||
<image src="../../static/xinren.png" mode=""></image>
|
||||
</view>
|
||||
<view class="chong-bottom">
|
||||
<view class="chong-bottom-ding">
|
||||
<image src="../../static/orderDetail/dingwei.png" mode=""></image>
|
||||
<span>0.8km</span>
|
||||
</view>
|
||||
<view class="chong-bottom-cheng">
|
||||
<image class="therapist-bottom-img" src="../../static/dituzhaoren5.png">
|
||||
<span>春城有约</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="chong-list">
|
||||
<view class="chong-list-left">
|
||||
<radio value="" class="chong-list-radio"/>
|
||||
<image src="../../static/jinggao.png" mode=""></image>
|
||||
</view>
|
||||
<view class="chong-list-right">
|
||||
<view class="chong-title">
|
||||
<span>王丽楠</span>
|
||||
<image src="../../static/xinren.png" mode=""></image>
|
||||
</view>
|
||||
<view class="chong-bottom">
|
||||
<view class="chong-bottom-ding">
|
||||
<image src="../../static/orderDetail/dingwei.png" mode=""></image>
|
||||
<span>0.8km</span>
|
||||
</view>
|
||||
<view class="chong-bottom-cheng">
|
||||
<image class="therapist-bottom-img" src="../../static/dituzhaoren5.png">
|
||||
<span>春城有约</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="popup-mian-btn">
|
||||
<span @click="closePopup(type)">
|
||||
取消
|
||||
</span>
|
||||
<span>
|
||||
确定
|
||||
</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
@ -183,7 +81,6 @@
|
|||
data() {
|
||||
return {
|
||||
myId: '',
|
||||
type:'center',
|
||||
// v-model绑定的这个变量不要在分页请求结束中自己赋值!!!
|
||||
dataList: [],
|
||||
tabList: [],
|
||||
|
@ -196,22 +93,13 @@
|
|||
titleNmae:''
|
||||
}
|
||||
},
|
||||
onLoad(e){
|
||||
this.titleNmae=e.name
|
||||
if(this.titleNmae=="服务套餐"){
|
||||
this.typeData='104';
|
||||
}else if(this.titleNmae=="项目次卡"){
|
||||
this.typeData='105';
|
||||
}else if(this.titleNmae=="服务疗程"){
|
||||
this.typeData='106';
|
||||
}
|
||||
onLoad(){
|
||||
this.myId = uni.getStorageSync('userId')
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
input(res) {//搜索 输入框
|
||||
this.searchValue=res;
|
||||
console.log('----input:', res)
|
||||
},
|
||||
searchBtn(){//搜索按钮
|
||||
if(this.searchValue!=""){
|
||||
|
@ -260,18 +148,7 @@
|
|||
this.$refs.paging.complete(false);
|
||||
})
|
||||
},
|
||||
change(e) {
|
||||
console.log('当前模式:' + e.type + ',状态:' + e.show);
|
||||
},
|
||||
closePopup(type){//改价 关闭弹出框
|
||||
this.type = type
|
||||
this.$refs.popup.close(type);
|
||||
},
|
||||
toggle(type) {//改价 弹出框
|
||||
this.type = type
|
||||
// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
|
||||
this.$refs.popup.open(type)
|
||||
},
|
||||
|
||||
backImg(){//返回上一页
|
||||
uni.reLaunch({
|
||||
url:'/pages/my/index'
|
||||
|
@ -282,211 +159,27 @@
|
|||
},
|
||||
itemClick(item) {
|
||||
uni.navigateTo({
|
||||
url:'/pages/my/serviceOderDrtail?id='+item.id+'&limit='+this.limit+'&page='+this.page
|
||||
url:'/pages/my/serviceOderDrtail?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+'my'
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.chong-list:last-child{
|
||||
border: 0px !important;
|
||||
}
|
||||
.chong-bottom-cheng image{
|
||||
width: 22.22rpx;
|
||||
height: 22.22rpx;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.chong-bottom-cheng span{
|
||||
font-weight: 500;
|
||||
font-size: 23rpx;
|
||||
color: #222222;
|
||||
}
|
||||
.chong-bottom-ding image{
|
||||
width: 18.75rpx;
|
||||
height: 21.53rpx;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.chong-bottom-ding span{
|
||||
font-weight: bold;
|
||||
font-size: 25rpx;
|
||||
color: #848485;
|
||||
}
|
||||
.chong-bottom-ding,.chong-bottom-cheng{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.chong-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.chong-title image{
|
||||
width: 50rpx;
|
||||
height: 22.22rpx;
|
||||
}
|
||||
.chong-title span{
|
||||
font-weight: 400;
|
||||
font-size: 29rpx;
|
||||
color: #333333;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.chong-title{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.chong-list-right{
|
||||
width: 75%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.chong-list-left image{
|
||||
width: 76rpx;
|
||||
height: 76rpx;
|
||||
}
|
||||
/deep/uni-radio .uni-radio-input{
|
||||
width: 29.86rpx;
|
||||
height: 29.86rpx;
|
||||
margin: -3px 0px 0px -5px;
|
||||
background-color: rgba(4, 159, 137, 1) !important;
|
||||
border-color: rgba(4, 159, 137, 1) !important;
|
||||
}
|
||||
.chong-list-radio{
|
||||
margin-right: 5px;
|
||||
width: 29.86rpx;
|
||||
height: 29.86rpx;
|
||||
}
|
||||
.chong-list-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.chong-list{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
padding: 10px 0px;
|
||||
border-bottom: 1px solid #DCDCDC;
|
||||
}
|
||||
.chong{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.img-span{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 40px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
background: linear-gradient(-90deg, #FF6F48, #FF9E69);
|
||||
border-top-left-radius: 15rpx;
|
||||
border-bottom-right-radius: 15rpx;
|
||||
font-weight: bold;
|
||||
font-size: 18rpx;
|
||||
color: #FFFFFF;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
margin: 0 6px 6px 0px;
|
||||
}
|
||||
|
||||
.popup-mian-view span:nth-child(1){
|
||||
color: #666666;
|
||||
}
|
||||
.popup-mian-view span:nth-child(2){
|
||||
color: #333;
|
||||
font-weight: bold;
|
||||
}
|
||||
.popup-mian-view span{
|
||||
font-size: 29rpx;
|
||||
}
|
||||
.popup-mian-view{
|
||||
width: 100%;
|
||||
height: 35px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px solid #DCDCDC;
|
||||
}
|
||||
.popup-mian-textarea{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.popup-mian-btn span:nth-child(1){
|
||||
background: linear-gradient(90deg, #FE912E, #FF9970);
|
||||
}
|
||||
.popup-mian-btn span:nth-child(2){
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
}
|
||||
.popup-mian-btn span{
|
||||
width: 247rpx;
|
||||
height: 77rpx;
|
||||
line-height: 77rpx;
|
||||
text-align: center;
|
||||
padding: 2px 5px;
|
||||
font-weight: 400;
|
||||
font-size: 32rpx;
|
||||
color: #FFFEFE;
|
||||
border-radius: 39rpx;
|
||||
}
|
||||
.popup-mian-btn{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.popup-mian{
|
||||
width: 88%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: 5px auto 0px auto;
|
||||
}
|
||||
.popup-head span:nth-child(2){
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
line-height: 19px;
|
||||
text-align: center;
|
||||
font-size: 24px;
|
||||
color: #15AB8D;
|
||||
border-radius: 50%;
|
||||
border: 3px solid #15AB8D;
|
||||
}
|
||||
.popup-head span:nth-child(1){
|
||||
font-weight: bold;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.popup-head{
|
||||
width: 100%;
|
||||
height: 99.38rpx;
|
||||
background-color: rgba(21, 171, 141, 0.09);
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0 15px;
|
||||
}
|
||||
.popup-content{
|
||||
width: 613rpx;
|
||||
padding-bottom: 10px;
|
||||
background: #FFFFFF;
|
||||
border-radius: 56rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
font-size: 8px;
|
||||
color: #FFFFFF;
|
||||
background: linear-gradient(-90deg, #FF6F48, #FF9E69);
|
||||
border-radius: 7px 0px 7px 0px;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
right: 0;
|
||||
margin-bottom: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.item-view-bottom-btn{
|
||||
text-align: center;
|
||||
|
@ -662,7 +355,7 @@
|
|||
}
|
||||
.search-btn{
|
||||
text-align: center;
|
||||
line-height: 60rpx;
|
||||
line-height: 31px;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
|
|
|
@ -22,12 +22,13 @@
|
|||
<view class="text-green" v-if="item.status ==1"><span>202312061140172215</span><span>待付款</span></view>
|
||||
<view class="text-green" v-if="item.status ==2"><span>202312061140172215</span><span>待服务</span></view>
|
||||
<view class="text-green" v-if="item.status ==3"><span>202312061140172215</span><span>待评价</span></view>
|
||||
<view class="text-green" v-if="item.status ==9"><span>202312061140172215</span><span>待补单</span></view>
|
||||
<view class="text-green" v-if="item.status ==4" style="color: #333333;">已取消</view>
|
||||
<view class="text-green" v-if="item.status ==5"><span>202312061140172215</span><span>已完成</span></view>
|
||||
<view class="text-green" v-if="item.status ==6"><span>202312061140172215</span><span>服务中</span></view>
|
||||
<view class="text-green" v-if="item.status ==7"><span>202312061140172215</span><span>技师出发</span></view>
|
||||
<view class="text-green" v-if="item.status ==8"><span>202312061140172215</span><span>技师到达</span></view>
|
||||
<view class="text-green" v-if="item.status ==4" style="color: #333333;">已取消</view>
|
||||
<view class="text-green" v-if="item.status ==9"><span>202312061140172215</span><span>待确认</span></view>
|
||||
<view class="text-green" v-if="item.status ==10"><span>202312061140172215</span><span>待补单</span></view>
|
||||
<!-- <view class="u-tips-color">{{item.createTime}}</view> -->
|
||||
</view>
|
||||
<view class="margin-top-sm" style="width: 100%;height: 1rpx;background: #f7f7f7;"></view>
|
||||
|
@ -56,53 +57,107 @@
|
|||
|
||||
</view>
|
||||
<view class="flex u-p-t-20 justify-between align-center" style="justify-content: flex-end;">
|
||||
<view class="flex text-right">
|
||||
<u-button
|
||||
v-if="(item.status == 1 || item.status == 2 || item.status == 7 || item.status == 8) && yhqxSel != '否'"
|
||||
:custom-style="customStyle" shape="circle" :plain="true"
|
||||
class="btnsH"
|
||||
@click="cancelOrder(item)">取消订单</u-button>
|
||||
<u-button v-if="item.status != 4" :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/pay?ordersId='+item.ordersId)" class="btnsH">联系客服</u-button>
|
||||
<u-button v-if="item.status != 4" :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/payModify?ordersId='+item.ordersId)" class="btnsH">修改订单</u-button>
|
||||
<u-button v-if="item.status == 1" :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/pay?ordersId='+item.ordersId)" class="btns">去支付</u-button>
|
||||
<u-button v-if="item.status == 2" :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/pay?ordersId='+item.ordersId)" class="btns">查看详情</u-button>
|
||||
<!-- <u-button v-if="item.status == 6" :custom-style="customStyle" shape="circle" :plain="true"
|
||||
@click="cancel(item)">订单完成</u-button> -->
|
||||
<u-button v-if="item.status == 5" :custom-style="customStyle" shape="circle" class="btns" :plain="true" @click="goNav('/my/order/complain?id='+item.ordersId)" >
|
||||
去投诉
|
||||
</u-button>
|
||||
<u-button v-if="item.status == 3" :custom-style="customStyle1" class="btns" shape="circle" :plain="true"
|
||||
@click="toggle('center')">
|
||||
提前结束
|
||||
</u-button>
|
||||
<u-button v-if="item.status == 3" :custom-style="customStyle1" class="btns" shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/feedback?artificerId='+item.artificerId+ '&ordersId='+item.ordersId)">
|
||||
去评价
|
||||
</u-button>
|
||||
<!-- <u-button v-if="item.status == 4" :custom-style="customStyle" shape="circle" :plain="true"
|
||||
@click="delOrder(item)">删除订单</u-button> -->
|
||||
<view class="flex text-right" style="flex-direction: column;width: 100%;">
|
||||
|
||||
<view class="showBtn" :style="{'justify-content':item.status != 6?'flex-end':'space-between'}">
|
||||
<view class="gengduo" @click.stop="gengBtn(index)" v-show="item.status ==6">更多</view>
|
||||
<view class="showBtn-view">
|
||||
<u-button v-if="item.status == 10" :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/payModifyDzhifu?ordersId='+item.ordersId,item)" class="btns">
|
||||
立即预约
|
||||
</u-button>
|
||||
<u-button v-if="item.status == 3" :custom-style="customStyle1" class="btns" shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/feedback?artificerId='+item.artificerId+ '&ordersId='+item.ordersId)">
|
||||
待评价
|
||||
</u-button>
|
||||
<u-button v-if="item.status == 9&&item.refusalContent" :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="toggleQ('center',item)" class="btns">
|
||||
拒单确认
|
||||
</u-button>
|
||||
<u-button v-if="item.status == 1" :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/payModifyDzhifu?ordersId='+item.ordersId,item)" class="btns">
|
||||
去支付
|
||||
</u-button>
|
||||
<u-button
|
||||
v-if="(item.status == 1 || item.status == 2 || item.status == 7 || item.status == 8) && yhqxSel != '否'"
|
||||
:custom-style="customStyle" shape="circle" :plain="true"
|
||||
class="btns"
|
||||
@click="cancelOrder(item)">
|
||||
取消订单
|
||||
</u-button>
|
||||
<u-button v-if="item.status != 4&&item.status != 1&&item.status != 10&&item.status != 3&&item.status != 9&&item.status != 5" :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/payModify?ordersId='+item.ordersId,item)" class="btns">
|
||||
修改订单
|
||||
</u-button>
|
||||
<u-button v-if="item.status == 6" :custom-style="customStyle1" class="btns" shape="circle" :plain="true"
|
||||
@click="cancel(item)">
|
||||
充值
|
||||
</u-button>
|
||||
<u-button v-if="item.status == 6" :custom-style="customStyle1" class="btns" shape="circle" :plain="true"
|
||||
@click="cancel(item)">
|
||||
加钟
|
||||
</u-button>
|
||||
<u-button :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/pay?ordersId='+item.ordersId)" class="btnsH">
|
||||
联系客服
|
||||
</u-button>
|
||||
<u-button v-if="item.status == 5" :custom-style="customStyle1" shape="circle" class="btns" :plain="true" @click="goNav('/my/order/complain?id='+item.ordersId)" >
|
||||
去投诉
|
||||
</u-button>
|
||||
</view>
|
||||
</view>
|
||||
<view class="hideBtn" v-show="btnShow==index" style="justify-content: end;">
|
||||
<u-button v-if="item.status == 6" :custom-style="customStyle1" class="btns" shape="circle" :plain="true"
|
||||
@click="cancel(item)">
|
||||
改价
|
||||
</u-button>
|
||||
<u-button v-if="item.status == 6" :custom-style="customStyle1" class="btns" shape="circle" :plain="true"
|
||||
@click="toggle('center',item)">
|
||||
提前结束
|
||||
</u-button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
<!-- 普通弹窗 -->
|
||||
<uni-popup ref="popup" background-color="#fff" @change="change">
|
||||
<!-- 确认拒绝 -->
|
||||
<uni-popup ref="popupQ" background-color="#fff">
|
||||
<view class="popup-content">
|
||||
<view class="popup-head">
|
||||
<span>确认拒单</span>
|
||||
<span @click="closePopupQ(type)">x</span>
|
||||
</view>
|
||||
<view class="popup-mian">
|
||||
<view class="popup-mian-textarea">
|
||||
{{qurenJd.refusalContent}}
|
||||
</view>
|
||||
<view class="popup-mian-btn">
|
||||
<span @click="TuiPopup(type,'1')">
|
||||
同意
|
||||
</span>
|
||||
<span @click="TuiPopup(type,'3')">
|
||||
全额退款
|
||||
</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
<view>
|
||||
<!-- 提前结束 -->
|
||||
<uni-popup ref="popup" background-color="#fff">
|
||||
<view class="popup-content">
|
||||
<view class="popup-head">
|
||||
<span>请输入提前结束的原因</span>
|
||||
<span @click="closePopup(type)">x</span>
|
||||
</view>
|
||||
<view class="popup-mian">
|
||||
<textarea placeholder="请输入提前结束服务原因" class="popup-mian-textarea" name="" id="" cols="30" rows="10"></textarea>
|
||||
<textarea placeholder="请输入提前结束服务原因" @input="textareaInp" class="popup-mian-textarea" name="" id="" cols="30" rows="10"></textarea>
|
||||
<view class="popup-mian-btn">
|
||||
<span @click="closePopup(type)">
|
||||
取消
|
||||
</span>
|
||||
<span>
|
||||
<span @click="tiqian('center')">
|
||||
确定
|
||||
</span>
|
||||
</view>
|
||||
|
@ -119,7 +174,10 @@
|
|||
import mescrollBody from "@/components/mescroll-uni/components/mescroll-body/mescroll-body.vue";
|
||||
import meTabs from "@/components/mescroll-uni/me-tabs/me-tabs.vue";
|
||||
import empty from '@/components/empty.vue'
|
||||
|
||||
// 调用手机系统权限
|
||||
// #ifdef APP-PLUS
|
||||
import permision from "@/components/permission.js";
|
||||
// #endif
|
||||
export default {
|
||||
mixins: [MescrollMixin], // 使用mixin
|
||||
components: {
|
||||
|
@ -129,6 +187,9 @@
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
tiqianData:[],
|
||||
qurenJd:[],
|
||||
btnShow:'',
|
||||
type:'center',
|
||||
goods: [], // 数据列表
|
||||
game: [],
|
||||
|
@ -151,7 +212,7 @@
|
|||
name: '待补单',
|
||||
Aurl:'../../static/order_icon/order_icon4-4.png',
|
||||
Surl:'../../static/order_icon/order_icon4.png',
|
||||
status: '9'
|
||||
status: '10'
|
||||
},{
|
||||
name: '技师出发',
|
||||
Aurl:'../../static/order_icon/order_icon10-10.png',
|
||||
|
@ -208,7 +269,9 @@
|
|||
margin: "0 0 0 20rpx",
|
||||
fontSize: '26rpx'
|
||||
},
|
||||
yhqxSel: '否'
|
||||
yhqxSel: '否',
|
||||
latitude: '43.86487',
|
||||
longitude: '',
|
||||
// customStyle: {
|
||||
// color: '#1789FD',
|
||||
// backgroundColor: '#1E1F31',
|
||||
|
@ -217,11 +280,13 @@
|
|||
// height: '54rpx',
|
||||
// margin: "0 0 0 20rpx"
|
||||
// }
|
||||
earlyFinishReason:''
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.userId = uni.getStorageSync('userId')
|
||||
this.nickName = uni.getStorageSync('nickName')
|
||||
this.nickName = uni.getStorageSync('nickName');
|
||||
|
||||
},
|
||||
onShow() {
|
||||
this.yhqxSel = this.$queue.getData("yhqxSel");
|
||||
|
@ -244,17 +309,144 @@
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
change(e) {
|
||||
console.log('当前模式:' + e.type + ',状态:' + e.show);
|
||||
goNav(url,item) {
|
||||
this.$queue.setData('daibudan',item);
|
||||
uni.navigateTo({
|
||||
url:url
|
||||
})
|
||||
},
|
||||
gengBtn(index){//更多按钮
|
||||
this.btnShow=index
|
||||
},
|
||||
closePopupQ(type){//提前结束 关闭弹出框
|
||||
this.type = type
|
||||
this.$refs.popupQ.close(type);
|
||||
},
|
||||
toggleQ(type,item) {//确认拒单 弹出框
|
||||
this.qurenJd=item;
|
||||
|
||||
this.type = type
|
||||
// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
|
||||
this.$refs.popupQ.open(type)
|
||||
},
|
||||
TuiPopup(typeTxte,type){//确认拒单 全额退款.同意按钮 关闭弹出框
|
||||
this.type = typeTxte
|
||||
let data = {
|
||||
ordersId: this.qurenJd.ordersId,
|
||||
isAuto: '0',
|
||||
type: type
|
||||
}
|
||||
this.$Request.post('/app/artificer/cancelSupplementOrders', data).then(res => {
|
||||
if (res.code == 0) {
|
||||
uni.showToast({
|
||||
title:'操作完成!'
|
||||
})
|
||||
this.$refs.popupQ.close(typeTxte);
|
||||
}else{
|
||||
uni.showToast({
|
||||
icon:'error',
|
||||
title:'操作失败!'
|
||||
})
|
||||
}
|
||||
|
||||
}).catch(() => {
|
||||
//联网失败, 结束加载
|
||||
});
|
||||
},
|
||||
|
||||
closePopup(type){//提前结束 关闭弹出框
|
||||
this.type = type
|
||||
this.$refs.popup.close(type);
|
||||
},
|
||||
toggle(type) {//提前结束 弹出框
|
||||
this.type = type
|
||||
textareaInp(e){//提前结束 输入框
|
||||
this.earlyFinishReason=e.detail.value;
|
||||
console.log("earlyFinishReason",this.earlyFinishReason)
|
||||
},
|
||||
tiqian(type){//提前结束 确认按钮
|
||||
var that=this;
|
||||
that.type = type;
|
||||
|
||||
uni.getLocation({
|
||||
type: 'wgs84',
|
||||
success: function (resa) {
|
||||
var longitude=resa.longitude;
|
||||
var latitude=resa.latitude;
|
||||
console.log('当前位置的经度:' + resa.longitude);
|
||||
console.log('当前位置的纬度:' + resa.latitude);
|
||||
let data = {
|
||||
ordersId: that.tiqianData.ordersId,
|
||||
accomplishLongitude:longitude,
|
||||
accomplishLatitude:latitude,
|
||||
earlyFinishReason: that.earlyFinishReason,
|
||||
}
|
||||
that.$Request.post('/app/artificer/accomplishOrders', data).then(res => {
|
||||
if (res.code == 0) {
|
||||
uni.showToast({
|
||||
title:'操作完成!'
|
||||
})
|
||||
that.$refs.popup.close(type);
|
||||
}else{
|
||||
console.log('shibai:' + longitude);
|
||||
console.log('shibai:' + latitude);
|
||||
uni.showToast({
|
||||
icon:'error',
|
||||
title:'操作失败!'
|
||||
})
|
||||
}
|
||||
|
||||
}).catch(() => {
|
||||
//联网失败, 结束加载
|
||||
});
|
||||
|
||||
},
|
||||
fail: function(e) {
|
||||
// #ifdef H5
|
||||
uni.showToast({
|
||||
title:'获取地址失败!'
|
||||
})
|
||||
// #endif
|
||||
// #ifdef APP-PLUS
|
||||
that.checkPermission();
|
||||
// #endif
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
toggle(type,item) {//提前结束 弹出框
|
||||
this.tiqianData=item;
|
||||
this.type = type;
|
||||
// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
|
||||
this.$refs.popup.open(type)
|
||||
this.$refs.popup.open(type);
|
||||
},
|
||||
async checkPermission() {
|
||||
let status = permision.isIOS ? await permision.requestIOS('location') : await permision.requestAndroid(
|
||||
'android.permission.ACCESS_FINE_LOCATION');
|
||||
if (status === null || status === 1) {
|
||||
status = 1;
|
||||
} else if (status === 2) {
|
||||
uni.showModal({
|
||||
content: "系统定位已关闭",
|
||||
confirmText: "确定",
|
||||
showCancel: false,
|
||||
success: function(res) {}
|
||||
})
|
||||
} else if (status.code) {
|
||||
uni.showModal({
|
||||
content: status.message
|
||||
})
|
||||
} else {
|
||||
uni.showModal({
|
||||
title: '定位服务已关闭',
|
||||
content: "您需要打开定位权限,否则我们将无法获得到您附近的项目服务,导致我们无法为您提供服务,请到>设置>隐私>定位服务>中开启【盛安到家】定位权限",
|
||||
confirmText: "设置",
|
||||
success: function(res) {
|
||||
if (res.confirm) {
|
||||
permision.gotoAppSetting();
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
return status;
|
||||
},
|
||||
//获取列表数据
|
||||
getOrderList() {
|
||||
|
@ -302,7 +494,6 @@
|
|||
uni.showLoading({
|
||||
title: '加载中...'
|
||||
})
|
||||
console.log("asdasd",index)
|
||||
this.tabIndex = index
|
||||
// this.goods = []; // 置空列表,显示加载进度条
|
||||
this.page = 1
|
||||
|
@ -407,16 +598,13 @@
|
|||
}
|
||||
});
|
||||
},
|
||||
goNav(url) {
|
||||
uni.navigateTo({
|
||||
url
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
onReachBottom: function() {
|
||||
this.page = this.page + 1;
|
||||
this.getOrderList();
|
||||
if (this.totalCount == this.orderList.length) {
|
||||
console.log("asd",this.totalCount)
|
||||
if (this.totalCount==undefined&&this.orderList!='') {
|
||||
uni.showToast({
|
||||
title: '已经到底了~',
|
||||
icon: 'none'
|
||||
|
@ -434,6 +622,32 @@
|
|||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
/deep/.u-size-default{
|
||||
margin-top: 5px !important;
|
||||
}
|
||||
.gengduo{
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #7D7D7D;
|
||||
}
|
||||
.showBtn-view{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.showBtn{
|
||||
justify-content: space-between;
|
||||
}
|
||||
.showBtn,.hideBtn{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
|
||||
}
|
||||
|
||||
.popup-mian-btn span:nth-child(1){
|
||||
background: linear-gradient(90deg, #FE912E, #FF9970);
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
|
||||
</view>
|
||||
</view>
|
||||
<view class="oder-mian-qing">请TA上线</view>
|
||||
<view class="oder-mian-qing" @click="shangxian">请TA上线</view>
|
||||
<view class="oder-mian-guan" :class="[isFollow?'activeG':'activeQ']" @click="guanzhu(order)">
|
||||
+ 关注
|
||||
</view>
|
||||
|
@ -343,6 +343,24 @@
|
|||
});
|
||||
},
|
||||
methods: {
|
||||
shangxian(){//请TA上线
|
||||
var data={
|
||||
userId: this.myId,
|
||||
artificerId: this.artificerId
|
||||
}
|
||||
this.$Request.post("/app/message/insertUpMessage", data).then(res => {
|
||||
if (res.code == 0) {
|
||||
uni.showToast({
|
||||
title: '提醒成功!'
|
||||
})
|
||||
}else{
|
||||
uni.showToast({
|
||||
icon:'error',
|
||||
title: '提醒成功失败!'
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
dianMoney(e){//点击 图片打赏 输入金额
|
||||
this.money=e;
|
||||
},
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
<view class="content-head">
|
||||
<view class="padding-top-sm flex align-center">
|
||||
<view class="padding-top-sm flex align-center" style="padding-bottom: 9px;">
|
||||
<view v-if="XCXIsSelect != '否'" class="flex align-center justify-between margin-right-sm"
|
||||
@tap="showCityList" style="line-height: 68rpx;">
|
||||
<image src="../../static/liliao-1.png" class="dingwei-img"></image>
|
||||
|
@ -14,15 +14,6 @@
|
|||
<selectSwitchDitu @change="switch1Change" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <view class="tabview1" v-if="XCXIsSelect != '否'">
|
||||
<view class="tabview" v-if="tablist && tablist.length > 1">
|
||||
<view v-for="(item, index) in tablist" :key="index" @tap="tanChange(index, item)"
|
||||
:class="tabIndex == item.id ? 'tabItem_sel' : 'tabItem'">
|
||||
<view>{{ item.value }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="liebiao" v-show="current === 0">
|
||||
<view v-if="orderList.length" class="flex text-center flex-wrap list-view">
|
||||
|
@ -36,10 +27,10 @@
|
|||
src="https://admin.sjajk.com/file/uploadPath/2023/02/16/9ae1b7e9fa931b5fc24cd8edecc10d9f.png"
|
||||
style="width: 30rpx;height: 36rpx;position: absolute;z-index: 99;top: 40rpx;left: 110rpx;">
|
||||
</image>
|
||||
<!-- <image class="touxiang" src="../../static/cika.png" mode=""></image> -->
|
||||
<view class="zpmore_view_left" v-if="item.isNewer==1" @click.stop="saveImgss(item.isNewer, 0)">
|
||||
<!-- <view class="zpmore_view_left" v-if="item.technicianType==1" @click.stop="saveImgss(item.technicianType, 0)">
|
||||
<image src="../../static/dituzhaoren1.png" mode=""></image>
|
||||
</view>
|
||||
</view> -->
|
||||
<span class="img-span">{{item.technicianType=='3'?'新手':item.technicianType=='4'?'专家':'资深'}}</span>
|
||||
</view>
|
||||
<view class="list-right">
|
||||
<view class="flex align-center" style="justify-content: start;">
|
||||
|
@ -56,13 +47,10 @@
|
|||
}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="list-right-top-bottom">
|
||||
{{item.technicianTypeName}}
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="kyy_view">可服务</view> -->
|
||||
<!-- <view class="kfw_view">可预约</view>
|
||||
<view class="byy_view">休息中</view> -->
|
||||
</view>
|
||||
<view class="item-view-jianjie">
|
||||
{{item.technicianTypeName}}
|
||||
</view>
|
||||
<view class="therapist-mian">
|
||||
<view class="therapist-mian-top">
|
||||
|
@ -248,10 +236,10 @@
|
|||
import commonConfig from 'common/config.js';
|
||||
|
||||
import * as webMap from 'utils/webMap.js';
|
||||
|
||||
import permision from "@/components/permission.js";
|
||||
// 调用手机系统权限
|
||||
// #ifdef APP-PLUS
|
||||
import permision from "@/components/permission.js";
|
||||
// import permision from "@/components/permission.js";
|
||||
// #endif
|
||||
export default {
|
||||
components: {
|
||||
|
@ -354,18 +342,17 @@
|
|||
massageTypeId: null,
|
||||
currentMarkerIndex: -1,
|
||||
showPopup: false,
|
||||
dataIndex:''
|
||||
}
|
||||
},
|
||||
|
||||
onLoad(e) {
|
||||
console.log(e.massageTypeId)
|
||||
let that = this
|
||||
that.massageTypeId = e.massageTypeId
|
||||
//that.massageTypeId = e.massageTypeId;
|
||||
// that.getLocation();//低精度,快就完事了
|
||||
// that.getLocation(true);//高精度,慢慢查询
|
||||
|
||||
|
||||
|
||||
that.getTypeList();
|
||||
uni.getLocation({
|
||||
type: 'wgs84',
|
||||
geocode: true, //设置该参数为true可直接获取经纬度及城市信息
|
||||
|
@ -423,6 +410,12 @@
|
|||
that.city = uni.getStorageSync('city') ? uni.getStorageSync('city') : '请选择城市'
|
||||
that.getTpCount();
|
||||
that.getTpMy();
|
||||
uni.getStorage({
|
||||
key: 'taocanDd',
|
||||
success: (res) => {
|
||||
that.dataIndex = res.data;
|
||||
}
|
||||
});
|
||||
that.token = uni.getStorageSync('token')
|
||||
// if (uni.getStorageSync('token')) {
|
||||
if (that.latitude && that.longitude) {
|
||||
|
@ -468,6 +461,53 @@
|
|||
//this.closeSocket();
|
||||
},
|
||||
methods: {
|
||||
// 跳转订单
|
||||
goOrder(e) {
|
||||
if(this.dataIndex!='支付'&&this.dataIndex!='待支付'){
|
||||
console.log('授权', uni.getStorageSync('sendMsg'))
|
||||
if (uni.getStorageSync('sendMsg')) {
|
||||
console.log('授权+1')
|
||||
wx.requestSubscribeMessage({
|
||||
tmplIds: this.arr,
|
||||
success(re) {
|
||||
console.log(JSON.stringify(re), 111111111111)
|
||||
var datas = JSON.stringify(re);
|
||||
if (datas.indexOf("accept") != -1) {
|
||||
console.log(re)
|
||||
}
|
||||
},
|
||||
fail: (res) => {
|
||||
console.log(res)
|
||||
}
|
||||
})
|
||||
}
|
||||
if (this.token) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/therapist/orderDetail?artificerId=' + e.artificerId + "&classifyId=" + this
|
||||
.tabIndex
|
||||
});
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/public/login'
|
||||
});
|
||||
}
|
||||
}else{
|
||||
if(this.dataIndex=='待支付'){
|
||||
this.$queue.setData('getJishi',e);
|
||||
uni.reLaunch({
|
||||
url:'/my/order/payModifyDzhifu'
|
||||
})
|
||||
|
||||
}else{
|
||||
this.$queue.setData('getJishi',e);
|
||||
uni.reLaunch({
|
||||
url:'/my/order/payModify'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
switch1Change: function (e) {//地图和列表切换
|
||||
var num= Number(e)
|
||||
if(e==false){
|
||||
|
@ -882,7 +922,6 @@
|
|||
},
|
||||
// 跳转游戏列表
|
||||
goNav(url) {
|
||||
console.log(url, '1111112333')
|
||||
if (uni.getStorageSync('sendMsg')) {
|
||||
console.log('授权+1')
|
||||
wx.requestSubscribeMessage({
|
||||
|
@ -936,37 +975,7 @@
|
|||
url: '/pages/index/search/index?index=' + index
|
||||
});
|
||||
},
|
||||
// 跳转订单
|
||||
goOrder(e) {
|
||||
console.log('授权', uni.getStorageSync('sendMsg'))
|
||||
if (uni.getStorageSync('sendMsg')) {
|
||||
console.log('授权+1')
|
||||
wx.requestSubscribeMessage({
|
||||
tmplIds: this.arr,
|
||||
success(re) {
|
||||
console.log(JSON.stringify(re), 111111111111)
|
||||
var datas = JSON.stringify(re);
|
||||
if (datas.indexOf("accept") != -1) {
|
||||
console.log(re)
|
||||
}
|
||||
},
|
||||
fail: (res) => {
|
||||
console.log(res)
|
||||
}
|
||||
})
|
||||
}
|
||||
if (this.token) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/therapist/orderDetail?artificerId=' + e.artificerId + "&classifyId=" + this
|
||||
.tabIndex
|
||||
});
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/public/login'
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
//地图初始化,
|
||||
getLocation(isHighAccuracy = false) {
|
||||
console.log('获取地理位置,精度:', isHighAccuracy);
|
||||
|
@ -1241,6 +1250,18 @@
|
|||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.item-view-jianjie{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #848484;
|
||||
margin:5px 0px;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
text-align: left;
|
||||
}
|
||||
.dituList{
|
||||
width: 85%;
|
||||
height: 173px;
|
||||
|
@ -1250,7 +1271,7 @@
|
|||
}
|
||||
.liebiao{
|
||||
height: 100vh;
|
||||
margin-top: 52px;
|
||||
margin-top: 55px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
@ -1259,10 +1280,11 @@
|
|||
top: 0rpx;
|
||||
z-index: 999;
|
||||
width: 100%;
|
||||
background-image: url('../../static/topimg.png');
|
||||
// background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), #f7f7f7), url('../../static/background-img.png');
|
||||
// background-position: center center;
|
||||
// background-repeat: no-repeat;
|
||||
// background-size: cover;
|
||||
background-size: cover;
|
||||
// overflow: auto;
|
||||
}
|
||||
.therapist-bottom-dingwei-text{
|
||||
|
@ -1420,21 +1442,34 @@
|
|||
width: 68.75rpx;
|
||||
height: 29.86rpx;
|
||||
}
|
||||
.zpmore_view_left image{
|
||||
.img-span{
|
||||
padding: 1px 5px;
|
||||
font-weight: 400;
|
||||
font-size: 8px;
|
||||
color: #FFFFFF;
|
||||
background: linear-gradient(-90deg, #FF6F48, #FF9E69);
|
||||
border-radius: 7px 0px 7px 0px;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
right: 0px;
|
||||
margin: 0px 5px -16px 0px;
|
||||
width: 68.75rpx;
|
||||
height: 29.86rpx;
|
||||
right: 0;
|
||||
margin-bottom: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
// .zpmore_view_left image{
|
||||
// position: absolute;
|
||||
// bottom: 0px;
|
||||
// right: 0px;
|
||||
// margin: 0px 5px -16px 0px;
|
||||
// width: 68.75rpx;
|
||||
// height: 29.86rpx;
|
||||
// }
|
||||
.touxiang{
|
||||
width: 202.08rpx;
|
||||
height: 306.94rpx;
|
||||
}
|
||||
.touxiang-left-content{
|
||||
width: 202.08rpx;
|
||||
height: 306.94rpx;
|
||||
height: auto;
|
||||
border-radius: 10rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 40 KiB |
Binary file not shown.
After Width: | Height: | Size: 39 KiB |
Binary file not shown.
After Width: | Height: | Size: 40 KiB |
|
@ -5,7 +5,7 @@
|
|||
@click="chooseItem(item)">
|
||||
<image :src="item.artificerImg" :style="'width:'+imgWidth+'px;'+'height:'+225+'px;'" mode=""></image>
|
||||
<view class="item-name">{{item.artificerName}}</view>
|
||||
<view class="item-descr">{{item.classifyName}}</view>
|
||||
<view class="item-descr">{{item.content}}</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
|
@ -96,15 +96,15 @@
|
|||
.item-descr {
|
||||
text-align: center;
|
||||
display: table;
|
||||
width: 100%;
|
||||
width: 100px;
|
||||
font-size: 24rpx;
|
||||
line-height: 24rpx;
|
||||
line-height: 15px;
|
||||
white-space: pre-wrap;
|
||||
color: #999999;
|
||||
margin-top: 10px;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-line-clamp: 2;
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
|
@ -264,16 +264,20 @@ export default {
|
|||
this.$emit('blur', event);
|
||||
},
|
||||
onConfirm(e) {
|
||||
console.log("onConfirm")
|
||||
this.$emit('confirm', e.detail.value);
|
||||
},
|
||||
onClear(event) {
|
||||
console.log("onClear")
|
||||
this.$emit('input', '');
|
||||
},
|
||||
rightIconClick() {
|
||||
console.log("rightIconClick")
|
||||
this.$emit('right-icon-click');
|
||||
this.$emit('click');
|
||||
},
|
||||
fieldClick() {
|
||||
console.log("fieldClick")
|
||||
this.$emit('click');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -104,6 +104,7 @@ class Request {
|
|||
// baseUrl: 'https://admin.sjajk.com/', // 请求的根域名//生产需替换
|
||||
// baseUrl: 'http://120.46.52.165/', // 请求的根域名
|
||||
baseUrl: 'http://192.168.2.222:8187/',
|
||||
// baseUrl: 'http://192.168.2.27:8187/',
|
||||
// 默认的请求头
|
||||
header: {},
|
||||
method: 'POST',
|
||||
|
|
Loading…
Reference in New Issue