|
@ -0,0 +1,16 @@
|
|||
{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
|
||||
// launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
|
||||
"version": "0.0",
|
||||
"configurations": [{
|
||||
"app-plus" :
|
||||
{
|
||||
"launchtype" : "local"
|
||||
},
|
||||
"default" :
|
||||
{
|
||||
"launchtype" : "local"
|
||||
},
|
||||
"type" : "uniCloud"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -17,7 +17,8 @@
|
|||
//安卓打包证书别名,自有证书打包填写的参数
|
||||
"certalias": "__uni__1f7550c",
|
||||
//安卓打包证书文件路径,自有证书打包填写的参数
|
||||
"certfile": "D:/project/arf/anmo-user/4f454e71517567791715ecbcfa934036.keystore",
|
||||
"certfile": "F:/phpStudy/PHPTutorial/WWW/sadjv3_jishi",
|
||||
// "certfile": "D:/project/arf/anmo-user/4f454e71517567791715ecbcfa934036.keystore",
|
||||
//安卓打包证书密码,自有证书打包填写的参数
|
||||
"certpassword": "y2HMR1IW",
|
||||
//安卓平台要打的渠道包 取值有"google","yyb","360","huawei","xiaomi","oppo","vivo",如果要打多个逗号隔开
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
// const ROOTHOST = "admin.sjajk.com";//生产需替换
|
||||
//测试环境
|
||||
const PROT = "http://"
|
||||
const ROOTHOST = "192.168.2.222:8187";
|
||||
// const ROOTHOST = "47.75.182.93:8090";
|
||||
// const ROOTHOST = "192.168.2.222:8187";
|
||||
const ROOTHOST = "120.46.52.165";
|
||||
// const ROOTHOST = "192.168.0.115:8187";
|
||||
// const ROOTHOST = "192.168.1.169:8187";
|
||||
// 后端本地张聪
|
||||
|
|
|
@ -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>
|
|
@ -18,4 +18,17 @@ sha256:52:87:02:4F:E7:F3:FB:1A:3D:9A:26:42:47:6A:95:75:1F:A7:F3:44:7E:1E:C7:A6
|
|||
|
||||
MD5: 40:07:C8:A8:2A:3B:A7:42:69:3D:47:FE:4F:F4:14:83
|
||||
SHA1: 50:F0:61:AD:AE:69:0A:23:DA:8A:97:AD:FC:48:21:DA:DE:91:C7:90
|
||||
SHA256: 71:C1:05:FD:D8:0F:CC:1C:9F:85:C6:0C:59:99:74:21:B4:E3:6F:0F:2C:FB:FA:3A:7E:DC:51:DF:81:2F:F9:C9
|
||||
SHA256: 71:C1:05:FD:D8:0F:CC:1C:9F:85:C6:0C:59:99:74:21:B4:E3:6F:0F:2C:FB:FA:3A:7E:DC:51:DF:81:2F:F9:C9
|
||||
|
||||
|
||||
-- 现在使用此证书
|
||||
打包使用sadjv3.keystore
|
||||
包名: com.sadjv3.anmo
|
||||
别名:_uni__b37c795
|
||||
证书别名: sadjv3.keystore
|
||||
证书密码: hBHbYr1C
|
||||
序列号: 3391729e
|
||||
|
||||
MD5: D5:3B:F3:63:8E:76:F2:2C:C0:E3:44:A8:B7:24:0A:FB
|
||||
SHA1: 59:65:FC:61:38:10:44:4E:D2:86:17:31:E5:00:70:86:A0:11:15:15
|
||||
SHA256: 45:EE:25:19:71:78:7E:30:1C:E7:7D:9D:5B:95:9C:12:45:73:9E:45:FD:DF:CA:DF:37:DD:36:F6:0F:E4:7D:D5
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name" : "盛安到家",
|
||||
"appid" : "__UNI__1F7550C",
|
||||
"appid" : "__UNI__B37C795",
|
||||
"description" : "",
|
||||
"versionName" : "2.0.5",
|
||||
"versionCode" : "100",
|
||||
|
@ -94,18 +94,7 @@
|
|||
"name" : "amapnk4ecquC"
|
||||
}
|
||||
},
|
||||
"push" : {
|
||||
"unipush" : {
|
||||
"version" : "2",
|
||||
"offline" : true,
|
||||
"vivo" : {},
|
||||
"icons" : {
|
||||
"small" : {
|
||||
"hdpi" : "static/logo.png"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"push" : {},
|
||||
"geolocation" : {
|
||||
"amap" : {
|
||||
"name" : "amapnk4ecquC",
|
||||
|
@ -120,33 +109,33 @@
|
|||
},
|
||||
"icons" : {
|
||||
"android" : {
|
||||
"hdpi" : "unpackage/res/icons/72x72.png",
|
||||
"xhdpi" : "unpackage/res/icons/96x96.png",
|
||||
"xxhdpi" : "unpackage/res/icons/144x144.png",
|
||||
"xxxhdpi" : "unpackage/res/icons/192x192.png"
|
||||
"hdpi" : "static/logo.png",
|
||||
"xhdpi" : "static/logo.png",
|
||||
"xxhdpi" : "static/logo.png",
|
||||
"xxxhdpi" : "static/logo.png"
|
||||
},
|
||||
"ios" : {
|
||||
"appstore" : "unpackage/res/icons/1024x1024.png",
|
||||
"appstore" : "static/logo.png",
|
||||
"ipad" : {
|
||||
"app" : "unpackage/res/icons/76x76.png",
|
||||
"app@2x" : "unpackage/res/icons/152x152.png",
|
||||
"notification" : "unpackage/res/icons/20x20.png",
|
||||
"notification@2x" : "unpackage/res/icons/40x40.png",
|
||||
"proapp@2x" : "unpackage/res/icons/167x167.png",
|
||||
"settings" : "unpackage/res/icons/29x29.png",
|
||||
"settings@2x" : "unpackage/res/icons/58x58.png",
|
||||
"spotlight" : "unpackage/res/icons/40x40.png",
|
||||
"spotlight@2x" : "unpackage/res/icons/80x80.png"
|
||||
"app" : "static/logo.png",
|
||||
"app@2x" : "static/logo.png",
|
||||
"notification" : "static/logo.png",
|
||||
"notification@2x" : "static/logo.png",
|
||||
"proapp@2x" : "static/logo.png",
|
||||
"settings" : "static/logo.png",
|
||||
"settings@2x" : "static/logo.png",
|
||||
"spotlight" : "static/logo.png",
|
||||
"spotlight@2x" : "static/logo.png"
|
||||
},
|
||||
"iphone" : {
|
||||
"app@2x" : "unpackage/res/icons/120x120.png",
|
||||
"app@3x" : "unpackage/res/icons/180x180.png",
|
||||
"notification@2x" : "unpackage/res/icons/40x40.png",
|
||||
"notification@3x" : "unpackage/res/icons/60x60.png",
|
||||
"settings@2x" : "unpackage/res/icons/58x58.png",
|
||||
"settings@3x" : "unpackage/res/icons/87x87.png",
|
||||
"spotlight@2x" : "unpackage/res/icons/80x80.png",
|
||||
"spotlight@3x" : "unpackage/res/icons/120x120.png"
|
||||
"app@2x" : "static/logo.png",
|
||||
"app@3x" : "static/logo.png",
|
||||
"notification@2x" : "static/logo.png",
|
||||
"notification@3x" : "static/logo.png",
|
||||
"settings@2x" : "static/logo.png",
|
||||
"settings@3x" : "static/logo.png",
|
||||
"spotlight@2x" : "static/logo.png",
|
||||
"spotlight@3x" : "static/logo.png"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -161,7 +150,7 @@
|
|||
"description" : "自定义推送铃声同时支持 Android、iOS 平台",
|
||||
"platforms" : "Android,iOS",
|
||||
"url" : "https://ext.dcloud.net.cn/plugin?id=7482",
|
||||
"android_package_name" : "uni.UNI1F7550C",
|
||||
"android_package_name" : "com.shengan.anmo",
|
||||
"ios_bundle_id" : "",
|
||||
"isCloud" : true,
|
||||
"bought" : 1,
|
||||
|
|
|
@ -184,14 +184,14 @@ page {
|
|||
|
||||
|
||||
.feedback-submit {
|
||||
background: linear-gradient(to right, #223845, #00a85b);
|
||||
background: linear-gradient(90deg, #019C88, #0FA78B, #35C495);
|
||||
color: #FFFFFF;
|
||||
margin: 16rpx 0;
|
||||
margin: 7px 0;
|
||||
width: 100%;
|
||||
border-radius: 50rpx;
|
||||
height: 78rpx;
|
||||
line-height: 78rpx;
|
||||
font-size: 30rpx;
|
||||
border-radius: 24px;
|
||||
height: 37px;
|
||||
line-height: 37px;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
.ciycle {
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
background-image: url("@/static/images/top.png");
|
||||
background-image: url('@/static/index/fun_banner4.png');
|
||||
background-size: 100%;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
@ -238,12 +238,12 @@
|
|||
border-radius: 20px;
|
||||
font-size: 20px;
|
||||
color: #FFFFFF;
|
||||
background-color: #50b58d;
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-top: 12px;
|
||||
background-image: linear-gradient(to bottom, #126c4f, #01a55b);
|
||||
/* background-image: linear-gradient(to bottom, #126c4f, #01a55b); */
|
||||
}
|
||||
|
||||
.optionsInfo {
|
||||
|
|
|
@ -357,7 +357,7 @@
|
|||
@import "./index.css";
|
||||
</style>
|
||||
|
||||
<style>
|
||||
<style scoped>
|
||||
page {
|
||||
background-color: #f1f1f1;
|
||||
height: 100%;
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
<view class="bgbox" style="">
|
||||
<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 ==3">已完成</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 ==5">待评价</view>
|
||||
<view v-if="order.status ==4">已取消</view>
|
||||
</view>
|
||||
<view class="padding-bottom" style="padding: 30rpx;margin-top: -80rpx;">
|
||||
|
|
|
@ -1,46 +1,18 @@
|
|||
<template>
|
||||
<view class="padding-lr" style="background-color: #ffffff;">
|
||||
<!-- #ifndef MP-WEIXIN -->
|
||||
<view class="flex padding-tb align-center" @click="goNav('/pages/public/pwd')">
|
||||
<view class="flex-sub text-df" style="line-height: 50upx;font-size: 30rpx;">修改密码</view>
|
||||
<image src="../../static/images/my/right.png" style="line-height: 50upx;width: 12rpx;height: 22rpx;">
|
||||
</image>
|
||||
<view class="content">
|
||||
<view class="shezhi-title">
|
||||
<image @click="backImg" src="../../static/fanhui.png" mode="widthFix"></image>
|
||||
<span>设置中心</span>
|
||||
</view>
|
||||
<view class="xian"></view>
|
||||
<!-- #endif -->
|
||||
<view class="flex padding-tb align-center" @click="goNav('/my/help/feedbackIndex')">
|
||||
<view class="flex-sub text-df" style="line-height: 50upx;font-size: 30rpx;">帮助中心</view>
|
||||
<image src="../../static/images/my/right.png" style="line-height: 50upx;width: 12rpx;height: 22rpx;">
|
||||
</image>
|
||||
<view class="shezhi-list" v-for="(item,index) in list" :key="index" @click="goNav(item)">
|
||||
<view class="shezhi-list-left">
|
||||
<image class="shezhi-list-img-icon" :src="item.imgUrl" mode=""></image>
|
||||
<view class="shezhi-list-img-text">{{item.text}}</view>
|
||||
</view>
|
||||
<image class="shezhi-list-img-jiantou" src="../../static/images/my/right.png" mode=""></image>
|
||||
</view>
|
||||
<view class="xian"></view>
|
||||
<view class="flex padding-tb align-center" @click="goNav('/my/feedback/index')">
|
||||
<view class="flex-sub text-df" style="line-height: 50upx;font-size: 30rpx;">意见反馈</view>
|
||||
<image src="../../static/images/my/right.png" style="line-height: 50upx;width: 12rpx;height: 22rpx;">
|
||||
</image>
|
||||
</view>
|
||||
<view class="xian"></view>
|
||||
<view class="flex padding-tb align-center" @click="goNav('/my/setting/xieyi')">
|
||||
<view class="flex-sub text-df" style="line-height: 50upx;font-size: 30rpx;">用户协议</view>
|
||||
<image src="../../static/images/my/right.png" style="line-height: 50upx;width: 12rpx;height: 22rpx;">
|
||||
</image>
|
||||
</view>
|
||||
<view class="xian"></view>
|
||||
<view class="flex padding-tb align-center" @click="goNav('/my/setting/mimi')">
|
||||
<view class="flex-sub text-df" style="line-height: 50upx;font-size: 30rpx;">隐私政策</view>
|
||||
<image src="../../static/images/my/right.png" style="line-height: 50upx;width: 12rpx;height: 22rpx;">
|
||||
</image>
|
||||
</view>
|
||||
<view class="xian"></view>
|
||||
<view class="flex padding-tb align-center" @click="goNav('/my/setting/about')">
|
||||
<view class="flex-sub text-df" style="line-height: 50upx;font-size: 30rpx;">关于我们</view>
|
||||
<image src="../../static/images/my/right.png" style="line-height: 50upx;width: 12rpx;height: 22rpx;">
|
||||
</image>
|
||||
</view>
|
||||
|
||||
<view
|
||||
style="position: fixed;bottom: 0rpx;left: 0;background: #FFFFFF;height: 110rpx;line-height: 110rpx;z-index: 999;width: 100%;padding: 0 30rpx;">
|
||||
<view class="btn" @click="goOut">退出登录</view>
|
||||
<view style="position: fixed;bottom: 0rpx;left: 0;right: 0;height: 110rpx;line-height: 110rpx;z-index: 999;">
|
||||
<view v-if="isShow" class="btn" @click="TuiLogin">退出登录</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
@ -49,16 +21,91 @@
|
|||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
version: '',
|
||||
isShow: false,
|
||||
list:[
|
||||
{url:'/pages/public/pwd',text:'修改密码',imgUrl:'../../static/shezhi1.png'},
|
||||
{url:'/my/help/feedbackIndex',text:'帮助中心',imgUrl:'../../static/shezhi3.png'},
|
||||
{url:'/my/feedback/index',text:'意见反馈',imgUrl:'../../static/shezhi4.png'},
|
||||
{url:'/my/setting/xieyi',text:'用户协议',imgUrl:'../../static/shezhi5.png'},
|
||||
{url:'/my/setting/mimi',text:'隐私政策',imgUrl:'../../static/shezhi6.png'},
|
||||
{url:'/my/setting/about',text:'关于我们',imgUrl:'../../static/shezhi8.png'},
|
||||
]
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
let token = this.$queue.getData('token');
|
||||
if (token) {
|
||||
this.isShow = true;
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
// #ifdef APP-PLUS
|
||||
plus.runtime.getProperty(plus.runtime.appid, widgetInfo => {
|
||||
this.version = widgetInfo.version;
|
||||
});
|
||||
// #endif
|
||||
},
|
||||
methods: {
|
||||
goNav(e) {
|
||||
backImg(){//返回上一页
|
||||
uni.reLaunch({
|
||||
url:'/pages/my/index'
|
||||
})
|
||||
},
|
||||
//退出登录
|
||||
TuiLogin() {
|
||||
let that = this
|
||||
let userId = this.$queue.getData('userId');
|
||||
if (userId) {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '确定退出登录吗?',
|
||||
success: function(res) {
|
||||
if (res.confirm) {
|
||||
console.log('用户点击确定');
|
||||
uni.removeStorageSync('userName')
|
||||
uni.removeStorageSync('avatar')
|
||||
uni.removeStorageSync('userId')
|
||||
uni.removeStorageSync('token')
|
||||
uni.removeStorageSync('phone')
|
||||
uni.removeStorageSync('zhiFuBaoName')
|
||||
uni.removeStorageSync('zhiFuBao')
|
||||
uni.removeStorageSync('invitationCode')
|
||||
uni.removeStorageSync('unionId')
|
||||
uni.removeStorageSync('openId')
|
||||
uni.removeStorageSync('isVIP')
|
||||
uni.showToast({
|
||||
title: '退出成功!',
|
||||
icon: 'none'
|
||||
})
|
||||
uni.reLaunch({
|
||||
url:'/pages/my/index?money=0&couponnum=0'
|
||||
})
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '您还未登录,请先登录',
|
||||
success: function(res) {
|
||||
if (res.confirm) {
|
||||
console.log('用户点击确定');
|
||||
uni.navigateTo({
|
||||
url: '/pages/public/login'
|
||||
})
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
goNav(item) {
|
||||
uni.navigateTo({
|
||||
url: e
|
||||
url: item.url
|
||||
})
|
||||
},
|
||||
goOut() {
|
||||
|
@ -100,26 +147,86 @@
|
|||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
page {
|
||||
background: #f7f7f7;
|
||||
}
|
||||
|
||||
.btn {
|
||||
background: linear-gradient(to right, #223845, #00a85b);
|
||||
color: #FFFFFF;
|
||||
margin: 16rpx auto;
|
||||
<style scoped>
|
||||
.content {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
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: 100% 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
.shezhi-list-img-text{
|
||||
font-weight: 400;
|
||||
font-size: 32rpx;
|
||||
color: #202020;
|
||||
}
|
||||
.shezhi-list-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.shezhi-list{
|
||||
width: 95%;
|
||||
padding: 0px 15px;
|
||||
height: 108rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 14rpx;
|
||||
margin: 10px auto;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.shezhi-list-img-icon{
|
||||
width: 39.58rpx;
|
||||
height: 40.28rpx;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.shezhi-list-img-jiantou{
|
||||
width: 10.76rpx;
|
||||
height: 18.19rpx;
|
||||
}
|
||||
|
||||
.shezhi-title{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
margin: 10px 0px;
|
||||
}
|
||||
.shezhi-title span{
|
||||
font-weight: bold;
|
||||
font-size: 38rpx;
|
||||
color: #17181C;
|
||||
}
|
||||
.shezhi-title image{
|
||||
width: 25px;
|
||||
height: 30rpx;
|
||||
margin-right: 10px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
}
|
||||
.btn {
|
||||
background: linear-gradient(90deg, #019C88, #0FA78B, #35C495);
|
||||
color: #FFFFFF;
|
||||
margin: 16rpx 30upx;
|
||||
position: fixed;
|
||||
bottom: 0upx;
|
||||
width: 90%;
|
||||
border-radius: 50rpx;
|
||||
height: 78rpx;
|
||||
line-height: 78rpx;
|
||||
font-size: 32rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.xian {
|
||||
.xian{
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
|
|
@ -0,0 +1,141 @@
|
|||
<template>
|
||||
<view>
|
||||
<view style="width: 100%;text-align: center;margin: 40upx 0upx;">
|
||||
<image src="../../static/jinggao.png" style="width: 90upx;height: 90upx;margin-bottom: 14rpx;" mode=""></image>
|
||||
<view style="font-size: 28upx;color: #333333;">很抱歉,我们在这里见面</view>
|
||||
<view style="margin-top: 20upx;font-size: 24upx;color: #B2B2B2;">如果您是误操作,请取消申请</view>
|
||||
</view>
|
||||
|
||||
<view style="margin: 0upx 20rpx;background: #FFFFFF;padding: 30rpx;border-radius: 20rpx;">
|
||||
<view style="color: #333333;">注销提示:</view>
|
||||
<view style="color: #333333;margin-top: 15upx;font-size: 24upx;">若你是二次申请注销,则注销申请会直接通过</view>
|
||||
<view style="color: #333333;margin-top: 20upx;font-size: 24upx;">一旦账号注销成功</view>
|
||||
<view class="title_item">
|
||||
<view class="item_yuan"></view>
|
||||
<view class="item_title">您的账号将无法登陆与使用</view>
|
||||
</view>
|
||||
<view class="title_item">
|
||||
<view class="item_yuan"></view>
|
||||
<view class="item_title">您的账号信息与会员权益将会永久清除且无法恢复</view>
|
||||
</view>
|
||||
<view class="title_item">
|
||||
<view class="item_yuan"></view>
|
||||
<view class="item_title">您的收益将被永久清空且无法恢复</view>
|
||||
</view>
|
||||
<view class="title_item">
|
||||
<view class="item_yuan"></view>
|
||||
<view class="item_title">您的账号所关联的订单将无法查询与找回</view>
|
||||
</view>
|
||||
<view class="title_item">
|
||||
<view class="item_yuan"></view>
|
||||
<view class="item_title">您在盛安到家购买的物品将无法进行售后</view>
|
||||
</view>
|
||||
<view class="title_item">
|
||||
<view class="item_yuan"></view>
|
||||
<view class="item_title">您在盛安到家的账号信息及会员权益将会永久清除且无法恢复</view>
|
||||
</view>
|
||||
<view class="title_item">
|
||||
<view class="item_yuan"></view>
|
||||
<view class="item_title" style="color: #f00;">您所绑定的手机号码3个月内将无法再次注册盛安到家</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
<view style="position: fixed;bottom: 0rpx;left: 0;right: 0;background: #FFFFFF;height: 110rpx;line-height: 110rpx;z-index: 999;display: flex;padding: 15upx 20upx;">
|
||||
<view @tap="send"
|
||||
style="flex: 1;background: #B2B2B2;color: #FFFFFF;height: 78rpx;line-height: 78rpx;font-size: 32rpx;border-radius: 50upx;text-align: center;">
|
||||
继续注销</view>
|
||||
<view @tap="back"
|
||||
style="margin-left: 10upx;flex: 1;background: linear-gradient(90deg, #019C88, #0FA78B, #35C495);color: #FFFFFF;height: 78rpx;line-height: 78rpx;font-size: 32rpx;border-radius: 50upx;text-align: center;">
|
||||
暂不注销</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
back() {
|
||||
uni.navigateBack();
|
||||
},
|
||||
send() {
|
||||
let that = this;
|
||||
let userId = this.$queue.getData('userId');
|
||||
let phone = this.$queue.getData('phone') ? this.$queue.getData('phone') : '';
|
||||
uni.showModal({
|
||||
title: '温馨提示',
|
||||
content: '注销后您的账号信息与会员权益将会永久清除且无法恢复,继续注销将在三日内清除完毕,确认继续注销吗?',
|
||||
showCancel: true,
|
||||
cancelText: '暂不注销',
|
||||
confirmText: '继续注销',
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
that.$queue.showLoading('注销中...');
|
||||
that.$Request
|
||||
.postJson('/app/message/insertMessage', {
|
||||
state: 3,
|
||||
title: phone ? phone : '注销账号',
|
||||
content: '我要注销账号!',
|
||||
phone: phone,
|
||||
userId: userId
|
||||
})
|
||||
.then(res => {
|
||||
if (res.code === 0) {
|
||||
uni.showToast({
|
||||
title: '申请成功!'
|
||||
});
|
||||
that.$queue.logout();
|
||||
setTimeout(function() {
|
||||
uni.switchTab({
|
||||
url: '/pages/index/index'
|
||||
})
|
||||
}, 1000);
|
||||
} else {
|
||||
uni.hideLoading();
|
||||
uni.showModal({
|
||||
showCancel: false,
|
||||
title: '注销失败',
|
||||
content: res.msg
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
page {
|
||||
background: #f1f1f1;
|
||||
}
|
||||
|
||||
.title_item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 15upx;
|
||||
}
|
||||
|
||||
.item_yuan {
|
||||
width: 10upx;
|
||||
height: 10upx;
|
||||
border-radius: 50upx;
|
||||
background: #999999;
|
||||
}
|
||||
|
||||
.item_title {
|
||||
margin-left: 10upx;
|
||||
font-size: 24upx;
|
||||
color: #B2B2B2;
|
||||
}
|
||||
</style>
|
|
@ -351,7 +351,7 @@
|
|||
padding: 30rpx;
|
||||
}
|
||||
.select-time-style {
|
||||
background: linear-gradient(to right, #223845, #00a85b);
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
color: #ffffff;
|
||||
width: 74px;
|
||||
height: 24px;
|
||||
|
|
|
@ -698,8 +698,14 @@
|
|||
}
|
||||
|
||||
.dhjsbg {
|
||||
background: linear-gradient(to right, #223845, #00a85b);
|
||||
padding-bottom: 140rpx;
|
||||
width: 100%;
|
||||
height: 144px;
|
||||
padding: 15px;
|
||||
background-image: url('../../static/index/fun_banner4.png');
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.active {
|
||||
|
@ -714,7 +720,7 @@
|
|||
}
|
||||
|
||||
.btn {
|
||||
background: linear-gradient(to right, #223845, #00a85b);
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
color: #FFFFFF;
|
||||
margin: 16rpx 0;
|
||||
width: 100%;
|
||||
|
|
168
pages.json
|
@ -8,7 +8,9 @@
|
|||
"path": "pages/index/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "首页",
|
||||
"navigationBarTextStyle": "white"
|
||||
"app-plus": {
|
||||
"titleNView": false
|
||||
}
|
||||
}
|
||||
},
|
||||
// #endif
|
||||
|
@ -18,11 +20,8 @@
|
|||
"style": {
|
||||
"navigationBarTitleText": "首页",
|
||||
"navigationBarBackgroundColor": "#223845",
|
||||
"navigationBarTextStyle": "white",
|
||||
"app-plus": {
|
||||
"titleNView": {
|
||||
"backgroundImage": ""
|
||||
}
|
||||
"titleNView": false
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -45,6 +44,88 @@
|
|||
"navigationBarTitleText": "资质证书"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/index/currentIncome",
|
||||
"style": {
|
||||
"navigationBarTitleText": "当前收益"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/index/addClock",
|
||||
"style": {
|
||||
"navigationBarTitleText": "加钟率"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/index/previousAdditions",
|
||||
"style": {
|
||||
"navigationBarTitleText": "往期加钟率"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/index/currentPoints",
|
||||
"style": {
|
||||
"navigationBarTitleText": "当前积分",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"enablePullDownRefresh": true,
|
||||
"onReachBottomDistance": 50,
|
||||
"app-plus": {
|
||||
"bounce": "none",
|
||||
"scrollIndicator": "none",
|
||||
"titleNView": {
|
||||
"backgroundImage": "linear-gradient(to bottom, #294856, #1a615b)"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/index/previousPoints",
|
||||
"style": {
|
||||
"navigationBarTitleText": "往期积分",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"enablePullDownRefresh": true,
|
||||
"onReachBottomDistance": 50,
|
||||
"app-plus": {
|
||||
"bounce": "none",
|
||||
"scrollIndicator": "none",
|
||||
"titleNView": {
|
||||
"backgroundImage": "linear-gradient(to bottom, #294856, #1a615b)"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/index/currentPointsDetail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "积分列表",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"enablePullDownRefresh": true,
|
||||
"onReachBottomDistance": 50,
|
||||
"app-plus": {
|
||||
"bounce": "none",
|
||||
"scrollIndicator": "none",
|
||||
"titleNView": {
|
||||
"backgroundImage": "linear-gradient(to bottom, #294856, #1a615b)"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/index/technicianLevel",
|
||||
"style": {
|
||||
"navigationBarTitleText": "技师等级",
|
||||
"app-plus": {
|
||||
"titleNView": false
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/index/previousEarnings",
|
||||
"style": {
|
||||
"navigationBarTitleText": "往期收益"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/index/jinji",
|
||||
"style": {
|
||||
|
@ -82,34 +163,16 @@
|
|||
"navigationBarTitleText": "网页"
|
||||
}
|
||||
},
|
||||
// #ifdef H5
|
||||
|
||||
{
|
||||
"path": "pages/order/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "我的订单",
|
||||
"app-plus": {
|
||||
"titleNView": {
|
||||
"backgroundImage": "linear-gradient(to right, #223845, #00a85b)"
|
||||
}
|
||||
},
|
||||
"navigationBarTextStyle": "white"
|
||||
"titleNView": false
|
||||
}
|
||||
}
|
||||
},
|
||||
// #endif
|
||||
// #ifndef H5
|
||||
{
|
||||
"path": "pages/order/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "我的订单",
|
||||
"app-plus": {
|
||||
"titleNView": {
|
||||
"backgroundImage": "linear-gradient(to right, #223845, #00a85b)"
|
||||
}
|
||||
},
|
||||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
},
|
||||
// #endif
|
||||
{
|
||||
"path": "pages/msg/index",
|
||||
"style": {
|
||||
|
@ -129,6 +192,19 @@
|
|||
"enablePullDownRefresh": true
|
||||
}
|
||||
},
|
||||
// #ifdef APP-PLUS
|
||||
{
|
||||
"path": "pages/my/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "我的",
|
||||
"navigationBarBackgroundColor": "#213b46",
|
||||
"navigationBarTextStyle": "white",
|
||||
"app-plus": {
|
||||
"titleNView": true
|
||||
}
|
||||
}
|
||||
},
|
||||
// #endif
|
||||
// #ifdef H5
|
||||
{
|
||||
"path": "pages/my/index",
|
||||
|
@ -148,7 +224,10 @@
|
|||
"style": {
|
||||
"navigationBarTitleText": "我的",
|
||||
"navigationBarBackgroundColor": "#213b46",
|
||||
"navigationBarTextStyle": "white"
|
||||
"navigationBarTextStyle": "white",
|
||||
"app-plus": {
|
||||
"titleNView": false
|
||||
}
|
||||
}
|
||||
},
|
||||
// #endif
|
||||
|
@ -164,6 +243,7 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/my/IntegralStatistics",
|
||||
"style": {
|
||||
|
@ -175,7 +255,6 @@
|
|||
"bounce": "none",
|
||||
"scrollIndicator": "none",
|
||||
"titleNView": {
|
||||
"titleColor": "#FFFFFF",
|
||||
"backgroundImage": "linear-gradient(to bottom, #294856, #1a615b)"
|
||||
}
|
||||
}
|
||||
|
@ -278,7 +357,22 @@
|
|||
"navigationBarTitleText": "帮助详情",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
|
||||
},{
|
||||
"path": "order/revenueDetails",
|
||||
"style": {
|
||||
"navigationBarTitleText": "详情",
|
||||
"app-plus": {
|
||||
"titleNView": true
|
||||
}
|
||||
}
|
||||
}, {
|
||||
"path": "setting/zhuxiao",
|
||||
"style": {
|
||||
"navigationBarTitleText": "注销",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},{
|
||||
"path": "qiandao/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "签到"
|
||||
|
@ -299,7 +393,6 @@
|
|||
"bounce": "none",
|
||||
"scrollIndicator": "none",
|
||||
"titleNView": {
|
||||
"titleColor": "#FFFFFF",
|
||||
"backgroundImage": "linear-gradient(to bottom, #294856, #1a615b)"
|
||||
}
|
||||
}
|
||||
|
@ -516,7 +609,10 @@
|
|||
{
|
||||
"path": "setting/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "设置中心"
|
||||
"navigationBarTitleText": "设置中心",
|
||||
"app-plus": {
|
||||
"titleNView": false
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -790,20 +886,20 @@
|
|||
"borderStyle": "black",
|
||||
"list": [{
|
||||
"pagePath": "pages/index/index",
|
||||
"iconPath": "static/tabbar/index.png",
|
||||
"selectedIconPath": "static/tabbar/index_.png",
|
||||
"iconPath": "static/tabbar/order10-1.png",
|
||||
"selectedIconPath": "static/tabbar/order10-2.png",
|
||||
"text": "首页"
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/order/index",
|
||||
"iconPath": "static/tabbar/order.png",
|
||||
"selectedIconPath": "static/tabbar/order_.png",
|
||||
"iconPath": "static/tabbar/order10-3.png",
|
||||
"selectedIconPath": "static/tabbar/order10-4.png",
|
||||
"text": "订单"
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/my/index",
|
||||
"iconPath": "static/tabbar/my.png",
|
||||
"selectedIconPath": "static/tabbar/my_.png",
|
||||
"iconPath": "static/tabbar/order10-5.png",
|
||||
"selectedIconPath": "static/tabbar/order10-6.png",
|
||||
"text": "我的"
|
||||
}
|
||||
]
|
||||
|
|
|
@ -0,0 +1,548 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
<view class="header">
|
||||
<view class="header-top">
|
||||
<view class="header-top-left">
|
||||
<image src="../../static/index/dangqian1.png" mode=""></image>
|
||||
<span class="header-text" style="margin-right: 5px;">
|
||||
当前周期
|
||||
</span>
|
||||
<span class="header-text">{{startTime}}~{{endTime}}</span>
|
||||
</view>
|
||||
<view class="header-top-btn" @click="wangqi">往期{{orderType=='2'?'加钟率':'充值率'}}</view>
|
||||
</view>
|
||||
<view class="header-bottom">
|
||||
<view class="header-bottom-money">
|
||||
{{orderType=='2'?homePageCountData[0]:homePageCountData[1]}}
|
||||
</view>
|
||||
<view class="header-text">{{titleData}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="tapNav-list">
|
||||
<view class="tapNav-view" v-for="(item,index) in tapNav" :key="index" @click="tabClick(item.isSfwc,index)">
|
||||
<view class="tapNav-name">{{item.name}}</view>
|
||||
<view class="tapNav-bor" v-if="tapNum==index"></view>
|
||||
</view>
|
||||
</view>
|
||||
<t-refresh class="mian" ref="refresh" v-if="listData.length>0" @refresh="refresh" @loadMore="loadMore" :loadingType="loadingType" :tPadding="0">
|
||||
<template slot="content">
|
||||
<!--本期加钟 充值 订单-->
|
||||
<view class="mina-view" v-if="isSfwc=='1'" v-for="item in listData" :key="item.id" @click="goOder(item)">
|
||||
<view class="view-title">
|
||||
<view class="view-title-left">
|
||||
<span class="view-title-left-shuxian"></span>
|
||||
<span class="view-title-left-text">本期{{orderType=='2'?'已加钟':'已充值'}}订单</span>
|
||||
</view>
|
||||
<view class="view-title-right">加钟订单数量: {{listData.length}}</view>
|
||||
</view>
|
||||
<view class="mian-list">
|
||||
<view class="mian-list-top">
|
||||
<view class="mian-list-top-biao">{{item.status=='3'?'已完成':'待评价'}}</view>
|
||||
<view class="mian-list-top-time">
|
||||
<span>预约时间: </span>
|
||||
<span>{{item.serveTime}}</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot">
|
||||
<view class="mian-foot-img">
|
||||
<image src="../../my/static/bg6.png" mode=""></image>
|
||||
</view>
|
||||
<view class="mian-foot-list">
|
||||
<view class="mian-foot-view">
|
||||
<view class="mian-title">{{item.entryName}}</view>
|
||||
<view class="mian-dingwei">
|
||||
<image src="../../static/index/dangqian2.png" mode=""></image>
|
||||
<span class="shouyi-text">0.8km</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot-dan shouyi-text">
|
||||
订单编号 : {{item.ordersNo}}
|
||||
</view>
|
||||
<view class="mian-foot-adder shouyi-text">
|
||||
服务地址 : {{item.address}}
|
||||
</view>
|
||||
<view class="mian-bottom">
|
||||
<view class="mian-bottom-xiang shouyi-text">项目金额 : ¥{{item.price}}</view>
|
||||
<view class="mian-bottom-shou">
|
||||
<span class="shouyi-text">本单收益: </span>
|
||||
<span class="shouyi-text" style="color: #FF6000;font-weight: bold;">¥{{item.artificerMoney}}</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!--本期未加钟 未充值 订单-->
|
||||
<view class="mina-view" v-else v-for="item in listData" :key="item.id" @click="goOder(item)">
|
||||
<view class="view-title">
|
||||
<view class="view-title-left">
|
||||
<span class="view-title-left-shuxian"></span>
|
||||
<span class="view-title-left-text">本期{{orderType=='2'?'已加钟':'已充值'}}订单</span>
|
||||
</view>
|
||||
<view class="view-title-right">加钟订单数量: {{listData.length}}</view>
|
||||
</view>
|
||||
<view class="mian-list">
|
||||
<view class="mian-list-top">
|
||||
<view class="mian-list-top-biao">{{item.status=='3'?'已完成':'待评价'}}</view>
|
||||
<view class="mian-list-top-time">
|
||||
<span>预约时间: </span>
|
||||
<span>{{item.serveTime}}</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot">
|
||||
<view class="mian-foot-img">
|
||||
<image src="../../my/static/bg6.png" mode=""></image>
|
||||
</view>
|
||||
<view class="mian-foot-list">
|
||||
<view class="mian-foot-view">
|
||||
<view class="mian-title">{{item.entryName}}</view>
|
||||
<view class="mian-dingwei">
|
||||
<image src="../../static/index/dangqian2.png" mode=""></image>
|
||||
<span class="shouyi-text">0.8km</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot-dan shouyi-text">
|
||||
订单编号 : {{item.ordersNo}}
|
||||
</view>
|
||||
<view class="mian-foot-adder shouyi-text">
|
||||
服务地址 : {{item.address}}
|
||||
</view>
|
||||
<view class="mian-bottom">
|
||||
<view class="mian-bottom-xiang shouyi-text">项目金额 : ¥{{item.price}}</view>
|
||||
<view class="mian-bottom-shou">
|
||||
<span class="shouyi-text">本单收益: </span>
|
||||
<span class="shouyi-text" style="color: #FF6000;font-weight: bold;">¥{{item.artificerMoney}}</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</template>
|
||||
</t-refresh>
|
||||
<empty v-if="listData.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{
|
||||
orderType:'',
|
||||
userId:'',
|
||||
startTime:'',
|
||||
endTime:'',
|
||||
listData:[],
|
||||
titleData:'',
|
||||
loadingType:0,
|
||||
page:1,
|
||||
limit:10,
|
||||
tapNum:0,
|
||||
tapNav:[
|
||||
{name:'本期已加钟订单',isSfwc:'1'},
|
||||
{name:'本期未加钟订单',isSfwc:'0'}
|
||||
],
|
||||
isSfwc:'1',
|
||||
homePageCountData:'',
|
||||
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
this.orderType=e.type;
|
||||
this.homePageCountData=this.$queue.getData("homePageCountNumOne");
|
||||
this.titleData=this.orderType=='2'?'当期加钟率':'当期充值率';
|
||||
if(this.orderType=='2'){
|
||||
this.tapNav=[
|
||||
{name:'本期已加钟订单',isSfwc:'1'},
|
||||
{name:'本期未加钟订单',isSfwc:'0'}
|
||||
]
|
||||
}else{
|
||||
this.tapNav=[
|
||||
{name:'本期已充值订单',isSfwc:'1'},
|
||||
{name:'本期未充值订单',isSfwc:'0'}
|
||||
]
|
||||
}
|
||||
this.userId = uni.getStorageSync("artificerId");
|
||||
this.getTime()
|
||||
this.getData();
|
||||
uni.setNavigationBarTitle({
|
||||
title: this.titleData
|
||||
});
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
this.page = 1;
|
||||
this.getData();
|
||||
},
|
||||
methods:{
|
||||
goOder(item){
|
||||
uni.navigateTo({
|
||||
url:'/my/order/revenueDetails?ordersId='+item.ordersId
|
||||
})
|
||||
},
|
||||
tabClick(isSfwc,index){
|
||||
this.tapNum=index;
|
||||
this.isSfwc=isSfwc;
|
||||
this.page=0;
|
||||
this.listData = [];
|
||||
uni.showLoading({
|
||||
title: '加载中'
|
||||
});
|
||||
this.getData();
|
||||
},
|
||||
// 加载更多
|
||||
loadMore: async function() {
|
||||
//loadingType: 0.数据未加载完 1.数据全部加载完了 2.数据加载中
|
||||
if(this.loadingType==0){
|
||||
this.loadingType=2
|
||||
//模拟数据请求
|
||||
setTimeout(()=>{
|
||||
this.page++;
|
||||
this.loadingType=0;
|
||||
this.getData()
|
||||
},1000)
|
||||
}
|
||||
},
|
||||
getTime(){
|
||||
let now = new Date();
|
||||
let year = now.getFullYear();
|
||||
let month = now.getMonth() + 1; // JavaScript中月份是从0开始计数,需加1
|
||||
let monthJia=month<10?'0'+month:month;
|
||||
let day = now.getDate();
|
||||
let currentDate = year + '-' + monthJia + '-' + day;
|
||||
let dayEnd = new Date(now.getFullYear(), monthJia, 0).getDate();
|
||||
if(day>=1&&day<=10){
|
||||
this.startTime=year + '-' + monthJia + '-01';
|
||||
this.endTime=year + '-' + monthJia + '-' + 10;
|
||||
}else if(day>=11&&day<=20){
|
||||
this.startTime=year + '-' + monthJia + '-' + 11;
|
||||
this.endTime=year + '-' + monthJia + '-' + 20;
|
||||
}else if(day>=21&&day<=dayEnd){
|
||||
this.startTime=year + '-' + monthJia + '-' + 21
|
||||
this.endTime=year + '-' + monthJia + '-' + dayEnd;
|
||||
}
|
||||
},
|
||||
getData(){
|
||||
var that=this;
|
||||
let data = {
|
||||
userId:that.userId,
|
||||
orderType:that.orderType,
|
||||
startTime:that.startTime,
|
||||
endTime:that.endTime,
|
||||
page: that.page,
|
||||
limit: that.limit,
|
||||
isSfwc:that.isSfwc
|
||||
}
|
||||
that.$Request.getT('/app/artificer/getOrderTypeList', data).then(res => {
|
||||
uni.hideLoading()
|
||||
if (res.code == 0) {
|
||||
if (that.page == 1) that.listData = []; //如果是第一页需手动制空列表
|
||||
that.listData = [...that.listData, ...res.data.list]; //追加新数据
|
||||
} else {
|
||||
that.$queue.showToast(res.msg);
|
||||
}
|
||||
});
|
||||
},
|
||||
details(){
|
||||
uni.navigateTo({
|
||||
url:'/pages/index/revenueDetails'
|
||||
})
|
||||
},
|
||||
wangqi(){//往期 跳页
|
||||
uni.navigateTo({
|
||||
url:'/pages/index/previousAdditions'
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.view-title{
|
||||
width: 100%;
|
||||
padding: 0 5px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
/deep/.page-box{
|
||||
width: 100%;
|
||||
}
|
||||
/deep/.t-loading-box{
|
||||
text-align: center;
|
||||
}
|
||||
/deep/.refresh-body .content{
|
||||
/* background-color: #f7f7f7; */
|
||||
}
|
||||
/deep/.refresh-body{
|
||||
height: 100% !important;
|
||||
border-top: 2px solid #f7f7f7;
|
||||
}
|
||||
.tapNav-name{
|
||||
font-weight: bold;
|
||||
font-size: 31rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.tapNav-bor{
|
||||
width: 100px;
|
||||
height: 14rpx;
|
||||
background: linear-gradient(-48deg, rgba(1, 156, 136, 0.35), rgba(45, 196, 142, 0.35));
|
||||
border-radius: 7rpx;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.tapNav-list{
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
flex-direction:row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
background-color: #fff;
|
||||
}
|
||||
.tapNav-view{
|
||||
height: 40px;
|
||||
width: 50%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
}
|
||||
.table-view span{
|
||||
font-weight: 400;
|
||||
font-size: 19rpx;
|
||||
color: #666666;
|
||||
}
|
||||
.table-view span:nth-child(1){
|
||||
font-weight: bold;
|
||||
}
|
||||
.table-view span{
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.table-view{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.mian-table{
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.view-num{
|
||||
color: #029D88 !important;
|
||||
}
|
||||
.mian-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.mian-foot-adder{
|
||||
margin: 2px 0px;
|
||||
}
|
||||
.mian-dingwei image{
|
||||
width: 18.75rpx;
|
||||
height:21.53rpx;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.mian-dingwei,.mian-bottom-shou{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.mian-title{
|
||||
font-weight: bold;
|
||||
font-size: 31rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.mian-foot-view{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.mian-foot-list{
|
||||
width: 75%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.mian-foot-img image{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.mian-foot-img{
|
||||
width: 158rpx;
|
||||
height: 188rpx;
|
||||
background: #E6E6E6;
|
||||
border-radius: 14rpx;
|
||||
}
|
||||
|
||||
.mian-foot{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.mian-list-top-time span{
|
||||
font-size:25rpx;
|
||||
}
|
||||
.mian-list-top-time span:nth-child(1){
|
||||
color: #7D7D7D;
|
||||
}
|
||||
.mian-list-top-time span:nth-child(2){
|
||||
color: #11957C;
|
||||
}
|
||||
.mian-list-top-time{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.mian-list-top-biao{
|
||||
width: 130rpx;
|
||||
height: 47rpx;
|
||||
line-height: 47rpx;
|
||||
color: #fff;
|
||||
font-size: 25rpx;
|
||||
text-align: center;
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
border-top-left-radius: 21rpx;
|
||||
border-bottom-right-radius: 21rpx;
|
||||
}
|
||||
.mian-list-top{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #E5E5E5;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.mian-list{
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.view-title-right{
|
||||
font-weight: 400;
|
||||
font-size: 21rpx;
|
||||
color: #666666;
|
||||
}
|
||||
.view-title-left-text{
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #333333;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.view-title-left-shuxian{
|
||||
width: 10rpx;
|
||||
height: 29rpx;
|
||||
background: #029D88;
|
||||
border-radius: 5rpx;
|
||||
}
|
||||
.view-title-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin: 15px 0px;
|
||||
}
|
||||
.view-title{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.mina-view{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.mina{
|
||||
width: 95%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.header-bottom-money{
|
||||
font-weight: bold;
|
||||
font-size: 49rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.header-top-btn{
|
||||
width: 174rpx;
|
||||
height: 49rpx;
|
||||
line-height: 49rpx;
|
||||
text-align: center;
|
||||
font-size: 21rpx;
|
||||
color: #333333;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
}
|
||||
.header-text{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #FFFFFF;
|
||||
margin-top: 2px;
|
||||
}
|
||||
.header-top-left image{
|
||||
width: 24.31rpx;
|
||||
height:22.92rpx;
|
||||
margin-right: 2px;
|
||||
margin-top: 3px;
|
||||
}
|
||||
.header-top-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.header-top{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.header{
|
||||
width: 100%;
|
||||
height: 300rpx;
|
||||
padding: 15px;
|
||||
background-image: url('../../static/index/fun_banner4.png');
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
}
|
||||
.content{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
height: 100vh;
|
||||
background-color: #f7f7f7;
|
||||
overflow: scroll;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,330 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
<view class="header">
|
||||
<view class="header-top">
|
||||
<view class="header-top-left">
|
||||
<image src="../../static/index/dangqian1.png" mode=""></image>
|
||||
<span class="header-text" style="margin-right: 5px;">当前周期</span>
|
||||
<span class="header-text">{{startTime}}~{{endTime}}</span>
|
||||
</view>
|
||||
<view class="header-top-btn" @click="wangqi">往期收益</view>
|
||||
</view>
|
||||
<view class="header-bottom">
|
||||
<view class="header-bottom-money">{{shouyiMoeny}}</view>
|
||||
<view class="header-text">当前收益</view>
|
||||
</view>
|
||||
</view>
|
||||
<t-refresh class="mian" ref="refresh" v-if="listData.length>0" @refresh="refresh" @loadMore="loadMore" :loadingType="loadingType" :tPadding="0">
|
||||
<template slot="content">
|
||||
<view class="mian-view" v-for="(item,index) in listData" :key="index" @click="goOder(item)">
|
||||
<view class="mian-head">
|
||||
<view class="mian-head-biao">{{item.status=='3'?'已完成':'待评价'}}</view>
|
||||
<view class="mian-head-time">
|
||||
<span class="shouyi-text">预约时间: </span>
|
||||
<span>{{item.serveTime}}</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot">
|
||||
<view class="mian-foot-img">
|
||||
<image src="../../my/static/bg6.png" mode=""></image>
|
||||
</view>
|
||||
<view class="mian-foot-list">
|
||||
<view class="mian-foot-view">
|
||||
<view class="mian-title">{{item.entryName}}</view>
|
||||
<view class="mian-dingwei">
|
||||
<image src="../../static/index/dangqian2.png" mode=""></image>
|
||||
<span class="shouyi-text">0.8km</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot-dan shouyi-text">
|
||||
订单编号 : {{item.ordersNo}}
|
||||
</view>
|
||||
<view class="mian-foot-adder shouyi-text">
|
||||
服务地址 : {{item.address}}
|
||||
</view>
|
||||
<view class="mian-bottom">
|
||||
<view class="mian-bottom-xiang shouyi-text">项目金额 : ¥{{item.price}}</view>
|
||||
<view class="mian-bottom-shou">
|
||||
<span class="shouyi-text">本单收益: </span>
|
||||
<span class="shouyi-text" style="color: #FF6000;font-weight: bold;">¥{{item.artificerMoney}}</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</t-refresh>
|
||||
<empty v-if="listData.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,
|
||||
orderType:'',
|
||||
userId:'',
|
||||
startTime:'',
|
||||
endTime:'',
|
||||
listData:[],
|
||||
titleData:'',
|
||||
page:1,
|
||||
limit:10,
|
||||
shouyiMoeny:'',
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
this.orderType=e.type;
|
||||
this.shouyiMoeny=e.shouyiMoeny;
|
||||
|
||||
this.userId = uni.getStorageSync("artificerId");
|
||||
this.getTime()
|
||||
this.getData();
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
this.page = 1;
|
||||
this.getData();
|
||||
},
|
||||
methods:{
|
||||
goOder(item){
|
||||
uni.navigateTo({
|
||||
url:'/my/order/revenueDetails?ordersId='+item.ordersId
|
||||
})
|
||||
},
|
||||
// 加载更多
|
||||
loadMore: async function() {
|
||||
//loadingType: 0.数据未加载完 1.数据全部加载完了 2.数据加载中
|
||||
if(this.loadingType==0){
|
||||
this.loadingType=2
|
||||
//模拟数据请求
|
||||
setTimeout(()=>{
|
||||
this.page++;
|
||||
this.loadingType=0;
|
||||
this.getData()
|
||||
},1000)
|
||||
}
|
||||
},
|
||||
getTime(){
|
||||
let now = new Date();
|
||||
let year = now.getFullYear();
|
||||
let month = now.getMonth() + 1; // JavaScript中月份是从0开始计数,需加1
|
||||
let monthJia=month<10?'0'+month:month;
|
||||
let day = now.getDate();
|
||||
let currentDate = year + '-' + monthJia + '-' + day;
|
||||
let dayEnd = new Date(now.getFullYear(), monthJia, 0).getDate();
|
||||
if(day>=1&&day<=10){
|
||||
this.startTime=year + '-' + monthJia + '-01';
|
||||
this.endTime=year + '-' + monthJia + '-' + 10;
|
||||
}else if(day>=11&&day<=20){
|
||||
this.startTime=year + '-' + monthJia + '-' + 11;
|
||||
this.endTime=year + '-' + monthJia + '-' + 20;
|
||||
}else if(day>=21&&day<=dayEnd){
|
||||
this.startTime=year + '-' + monthJia + '-' + 21
|
||||
this.endTime=year + '-' + monthJia + '-' + dayEnd;
|
||||
}
|
||||
},
|
||||
getData(){
|
||||
var that=this;
|
||||
let data = {
|
||||
userId:that.userId,
|
||||
orderType:that.orderType,
|
||||
startTime:that.startTime,
|
||||
endTime:that.endTime,
|
||||
page: that.page,
|
||||
limit: that.limit,
|
||||
}
|
||||
that.$Request.getT('/app/artificer/getOrderTypeList', data).then(res => {
|
||||
if (res.code == 0) {
|
||||
if (that.page == 1) that.listData = []; //如果是第一页需手动制空列表
|
||||
that.listData = [...that.listData, ...res.data.list]; //追加新数据
|
||||
} else {
|
||||
that.$queue.showToast(res.msg);
|
||||
}
|
||||
});
|
||||
},
|
||||
wangqi(){//往期收益 跳页
|
||||
uni.navigateTo({
|
||||
url:'/pages/index/previousEarnings'
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
/deep/.refresh-body .content{
|
||||
/* background-color: #f7f7f7; */
|
||||
}
|
||||
/deep/.refresh-body{
|
||||
height: 100% !important;
|
||||
border-top: 2px solid #f7f7f7;
|
||||
}
|
||||
.mian-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.mian-foot-adder{
|
||||
margin: 2px 0px;
|
||||
}
|
||||
.mian-dingwei image{
|
||||
width: 18.75rpx;
|
||||
height:21.53rpx;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.mian-dingwei,.mian-bottom-shou{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.mian-title{
|
||||
font-weight: bold;
|
||||
font-size: 31rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.mian-foot-view{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.mian-foot-list{
|
||||
width: 75%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.mian-foot-img image{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.mian-foot-img{
|
||||
width: 158rpx;
|
||||
height: 188rpx;
|
||||
background: #E6E6E6;
|
||||
border-radius: 14rpx;
|
||||
}
|
||||
|
||||
.mian-foot{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.shouyi-text{
|
||||
color: #7D7D7D;
|
||||
font-size: 22rpx;
|
||||
}
|
||||
.mian-head-time span:nth-child(2){
|
||||
color: #11957C;
|
||||
margin-top: 1px;
|
||||
}
|
||||
.mian-head-time{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
}
|
||||
.mian-head-biao{
|
||||
width: 130rpx;
|
||||
height: 47rpx;
|
||||
line-height: 47rpx;
|
||||
color: #fff;
|
||||
font-size: 25rpx;
|
||||
text-align: center;
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
border-top-left-radius: 21rpx;
|
||||
border-bottom-right-radius: 21rpx;
|
||||
}
|
||||
.mian-head{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px solid #E5E5E5;
|
||||
padding-bottom: 5px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.mian-view{
|
||||
width: 95%;
|
||||
background-color: #fff;
|
||||
padding: 10px;
|
||||
border-radius: 24rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.mian{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
.header-bottom-money{
|
||||
font-weight: bold;
|
||||
font-size: 49rpx;
|
||||
color: #FFFFFF;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
.header-top-btn{
|
||||
width: 174rpx;
|
||||
height: 49rpx;
|
||||
line-height: 49rpx;
|
||||
text-align: center;
|
||||
font-size: 21rpx;
|
||||
color: #333333;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
}
|
||||
.header-text{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #FFFFFF;
|
||||
margin-top: 2px;
|
||||
}
|
||||
.header-top-left image{
|
||||
width: 24.31rpx;
|
||||
height:22.92rpx;
|
||||
margin-right: 2px;
|
||||
margin-top: 3px;
|
||||
}
|
||||
.header-top-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.header-top{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.header{
|
||||
width: 100%;
|
||||
height: 300rpx;
|
||||
padding: 15px;
|
||||
background-image: url('../../static/index/fun_banner4.png');
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
}
|
||||
.content{
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,612 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
<view class="header">
|
||||
<view class="header-top">
|
||||
<view class="header-top-left">
|
||||
<image src="../../static/index/dangqian1.png" mode=""></image>
|
||||
<span class="header-text" style="margin-right: 5px;">
|
||||
当前周期
|
||||
</span>
|
||||
<span class="header-text">2024.01.01~2024.01.10</span>
|
||||
</view>
|
||||
<view class="header-top-btn" @click="wangqi">往期积分</view>
|
||||
</view>
|
||||
<view class="header-bottom">
|
||||
<view class="header-bottom-money">7310<text style="font-size: 23rpx;font-weight: 400;">分</text> </view>
|
||||
<view class="header-text">当前积分</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mina">
|
||||
<!--业绩积分-->
|
||||
<view class="mina-view">
|
||||
<view class="view-title">
|
||||
<view class="view-title-left">
|
||||
<span class="view-title-left-shuxian"></span>
|
||||
<span class="view-title-left-text">业绩积分:<text class="view-num">596</text>(项目金额累计积分,兑换比例为1:1)</span>
|
||||
</view>
|
||||
<view class="view-title-right" @click="jieshi">更多</view>
|
||||
</view>
|
||||
<view class="mian-list" @click="wangqi">
|
||||
<view class="mian-list-top">
|
||||
<view class="mian-list-top-biao">已完成</view>
|
||||
<view class="mian-list-top-time">
|
||||
<span>预约时间: </span>
|
||||
<span>2024-01-02 14:00</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot">
|
||||
<view class="mian-foot-img">
|
||||
<image src="../../my/static/bg6.png" mode=""></image>
|
||||
</view>
|
||||
<view class="mian-foot-list">
|
||||
<view class="mian-foot-view">
|
||||
<view class="mian-title">中医推拿(测试)</view>
|
||||
<view class="mian-dingwei">
|
||||
<image src="../../static/index/dangqian2.png" mode=""></image>
|
||||
<span class="shouyi-text">0.8km</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot-dan shouyi-text">
|
||||
订单编号 : 202310311231559420
|
||||
</view>
|
||||
<view class="mian-foot-adder shouyi-text">
|
||||
服务地址 : 吉林省长春市二道区欧亚万豪购物中心16-301
|
||||
</view>
|
||||
<view class="mian-bottom">
|
||||
<view class="mian-bottom-xiang shouyi-text">项目金额 : ¥298</view>
|
||||
<view class="mian-bottom-shou">
|
||||
<span class="shouyi-text">本单收益: </span>
|
||||
<span class="shouyi-text" style="color: #FF6000;font-weight: bold;">¥326.70</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-list">
|
||||
<view class="mian-list-top">
|
||||
<view class="mian-list-top-biao">已完成</view>
|
||||
<view class="mian-list-top-time">
|
||||
<span>预约时间: </span>
|
||||
<span>2024-01-02 14:00</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot">
|
||||
<view class="mian-foot-img">
|
||||
<image src="../../my/static/bg6.png" mode=""></image>
|
||||
</view>
|
||||
<view class="mian-foot-list">
|
||||
<view class="mian-foot-view">
|
||||
<view class="mian-title">中医推拿(测试)</view>
|
||||
<view class="mian-dingwei">
|
||||
<image src="../../static/index/dangqian2.png" mode=""></image>
|
||||
<span class="shouyi-text">0.8km</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot-dan shouyi-text">
|
||||
订单编号 : 202310311231559420
|
||||
</view>
|
||||
<view class="mian-foot-adder shouyi-text">
|
||||
服务地址 : 吉林省长春市二道区欧亚万豪购物中心16-301
|
||||
</view>
|
||||
<view class="mian-bottom">
|
||||
<view class="mian-bottom-xiang shouyi-text">项目金额 : ¥298</view>
|
||||
<view class="mian-bottom-shou">
|
||||
<span class="shouyi-text">本单收益: </span>
|
||||
<span class="shouyi-text" style="color: #FF6000;font-weight: bold;">¥326.70</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!--时长积分-->
|
||||
<view class="mina-view">
|
||||
<view class="view-title">
|
||||
<view class="view-title-left">
|
||||
<span class="view-title-left-shuxian"></span>
|
||||
<span class="view-title-left-text">时长积分: <text class="view-num">36</text>(在线时长10分钟可获取1积分)</span>
|
||||
</view>
|
||||
<view class="view-title-right" @click.stop="toggle('时长积分')">更多</view>
|
||||
</view>
|
||||
<view class="mian-table">
|
||||
<view class="table-view">
|
||||
<span style="font-size: 22rpx;">序号</span>
|
||||
<span>01</span>
|
||||
<span>02</span>
|
||||
<span>03</span>
|
||||
</view>
|
||||
<view class="table-view">
|
||||
<span style="font-size: 22rpx;">上线时间</span>
|
||||
<span>2024.01.01 10:00</span>
|
||||
<span>2024.01.01 10:00</span>
|
||||
<span>2024.01.01 10:00</span>
|
||||
</view>
|
||||
<view class="table-view">
|
||||
<span style="font-size: 22rpx;">下线时间</span>
|
||||
<span>2024.01.01 10:00</span>
|
||||
<span>2024.01.01 10:00</span>
|
||||
<span>2024.01.01 10:00</span>
|
||||
</view>
|
||||
<view class="table-view">
|
||||
<span style="font-size: 22rpx;">获取积分</span>
|
||||
<span style="color: #029D88;">12</span>
|
||||
<span style="color: #029D88;">12</span>
|
||||
<span style="color: #029D88;">12</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!--充值积分-->
|
||||
<view class="mina-view">
|
||||
<view class="view-title">
|
||||
<view class="view-title-left">
|
||||
<span class="view-title-left-shuxian"></span>
|
||||
<span class="view-title-left-text">充值积分: <text class="view-num">2000</text>(充值积分比例为1:1)</span>
|
||||
</view>
|
||||
<view class="view-title-right" @click.stop="toggle('充值积分')">更多</view>
|
||||
</view>
|
||||
<view class="mian-list">
|
||||
<view class="mian-list-top">
|
||||
<view class="mian-list-top-biao">已完成</view>
|
||||
<view class="mian-list-top-time">
|
||||
<span>预约时间: </span>
|
||||
<span>2024-01-02 14:00</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot">
|
||||
<view class="mian-foot-img">
|
||||
<image src="../../my/static/bg6.png" mode=""></image>
|
||||
</view>
|
||||
<view class="mian-foot-list">
|
||||
<view class="mian-foot-view">
|
||||
<view class="mian-title">中医推拿(测试)</view>
|
||||
<view class="mian-dingwei">
|
||||
<image src="../../static/index/dangqian2.png" mode=""></image>
|
||||
<span class="shouyi-text">0.8km</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot-dan shouyi-text">
|
||||
订单编号 : 202310311231559420
|
||||
</view>
|
||||
<view class="mian-foot-adder shouyi-text">
|
||||
服务地址 : 吉林省长春市二道区欧亚万豪购物中心16-301
|
||||
</view>
|
||||
<view class="mian-bottom">
|
||||
<view class="mian-bottom-xiang shouyi-text">项目金额 : ¥298</view>
|
||||
<view class="mian-bottom-shou">
|
||||
<span class="shouyi-text">本单收益: </span>
|
||||
<span class="shouyi-text" style="color: #FF6000;font-weight: bold;">¥326.70</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-list">
|
||||
<view class="mian-list-top">
|
||||
<view class="mian-list-top-biao">已完成</view>
|
||||
<view class="mian-list-top-time">
|
||||
<span>预约时间: </span>
|
||||
<span>2024-01-02 14:00</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot">
|
||||
<view class="mian-foot-img">
|
||||
<image src="../../my/static/bg6.png" mode=""></image>
|
||||
</view>
|
||||
<view class="mian-foot-list">
|
||||
<view class="mian-foot-view">
|
||||
<view class="mian-title">中医推拿(测试)</view>
|
||||
<view class="mian-dingwei">
|
||||
<image src="../../static/index/dangqian2.png" mode=""></image>
|
||||
<span class="shouyi-text">0.8km</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot-dan shouyi-text">
|
||||
订单编号 : 202310311231559420
|
||||
</view>
|
||||
<view class="mian-foot-adder shouyi-text">
|
||||
服务地址 : 吉林省长春市二道区欧亚万豪购物中心16-301
|
||||
</view>
|
||||
<view class="mian-bottom">
|
||||
<view class="mian-bottom-xiang shouyi-text">项目金额 : ¥298</view>
|
||||
<view class="mian-bottom-shou">
|
||||
<span class="shouyi-text">本单收益: </span>
|
||||
<span class="shouyi-text" style="color: #FF6000;font-weight: bold;">¥326.70</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
<!-- 普通弹窗 -->
|
||||
<uni-popup ref="popup" background-color="#fff" @change="change">
|
||||
<view class="popup-content">
|
||||
<view class="popup-head">
|
||||
<span>{{titleList}}</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="popup-mian-btn">
|
||||
<span @click="closePopup(type)">
|
||||
取消
|
||||
</span>
|
||||
<span>
|
||||
确定
|
||||
</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default{
|
||||
data(){
|
||||
return{
|
||||
type:'center',
|
||||
titleList:''
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
jieshi(){
|
||||
uni.navigateTo({
|
||||
url:'/pages/index/currentPointsDetail'
|
||||
})
|
||||
},
|
||||
change(e) {
|
||||
console.log('当前模式:' + e.type + ',状态:' + e.show);
|
||||
},
|
||||
closePopup(type){//改价 关闭弹出框
|
||||
this.type = type
|
||||
this.$refs.popup.close(type);
|
||||
},
|
||||
toggle(type) {//改价 弹出框
|
||||
this.titleList=type
|
||||
// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
|
||||
this.$refs.popup.open(this.type)
|
||||
},
|
||||
wangqi(){//往期收益 跳页
|
||||
uni.navigateTo({
|
||||
url:'/pages/index/previousPoints'
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.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;
|
||||
height: 479rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 56rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.table-view span{
|
||||
font-weight: 400;
|
||||
font-size: 19rpx;
|
||||
color: #666666;
|
||||
}
|
||||
.table-view span:nth-child(1){
|
||||
font-weight: bold;
|
||||
}
|
||||
.table-view span{
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.table-view{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.mian-table{
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.view-num{
|
||||
color: #029D88 !important;
|
||||
}
|
||||
.mian-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.mian-foot-adder{
|
||||
margin: 2px 0px;
|
||||
}
|
||||
.mian-dingwei image{
|
||||
width: 18.75rpx;
|
||||
height:21.53rpx;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.mian-dingwei,.mian-bottom-shou{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.mian-title{
|
||||
font-weight: bold;
|
||||
font-size: 31rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.mian-foot-view{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.mian-foot-list{
|
||||
width: 75%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.mian-foot-img image{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.mian-foot-img{
|
||||
width: 158rpx;
|
||||
height: 188rpx;
|
||||
background: #E6E6E6;
|
||||
border-radius: 14rpx;
|
||||
}
|
||||
|
||||
.mian-foot{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.mian-list-top-time span{
|
||||
font-size:25rpx;
|
||||
}
|
||||
.mian-list-top-time span:nth-child(1){
|
||||
color: #7D7D7D;
|
||||
}
|
||||
.mian-list-top-time span:nth-child(2){
|
||||
color: #11957C;
|
||||
}
|
||||
.mian-list-top-time{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.mian-list-top-biao{
|
||||
width: 130rpx;
|
||||
height: 47rpx;
|
||||
line-height: 47rpx;
|
||||
color: #fff;
|
||||
font-size: 25rpx;
|
||||
text-align: center;
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
border-top-left-radius: 21rpx;
|
||||
border-bottom-right-radius: 21rpx;
|
||||
}
|
||||
.mian-list-top{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #E5E5E5;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.mian-list{
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.view-title-right{
|
||||
font-weight: 400;
|
||||
font-size: 21rpx;
|
||||
color: #666666;
|
||||
}
|
||||
.view-title-left-text{
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #333333;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.view-title-left-shuxian{
|
||||
width: 10rpx;
|
||||
height: 29rpx;
|
||||
background: #029D88;
|
||||
border-radius: 5rpx;
|
||||
}
|
||||
.view-title-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin: 15px 0px;
|
||||
}
|
||||
.view-title{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.mina-view{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.mina{
|
||||
width: 95%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.header-bottom-money{
|
||||
font-weight: bold;
|
||||
font-size: 49rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.header-top-btn{
|
||||
width: 174rpx;
|
||||
height: 49rpx;
|
||||
line-height: 49rpx;
|
||||
text-align: center;
|
||||
font-size: 21rpx;
|
||||
color: #333333;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
}
|
||||
.header-text{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.header-top-left image{
|
||||
width: 24.31rpx;
|
||||
height:22.92rpx;
|
||||
margin-right: 2px;
|
||||
margin-top: 3px;
|
||||
}
|
||||
.header-top-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.header-top{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.header{
|
||||
width: 100%;
|
||||
height: 300rpx;
|
||||
padding: 15px;
|
||||
background-image: url('../../static/index/fun_banner4.png');
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
}
|
||||
.content{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
height: 100vh;
|
||||
background-color: #f7f7f7;
|
||||
overflow: scroll;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,434 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
|
||||
<view class="mina">
|
||||
<!--业绩积分-->
|
||||
<view class="mina-view">
|
||||
<view class="mian-list" @click="wangqi">
|
||||
<view class="mian-list-top">
|
||||
<view class="mian-list-top-biao">已完成</view>
|
||||
<view class="mian-list-top-time">
|
||||
<span>预约时间: </span>
|
||||
<span>2024-01-02 14:00</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot">
|
||||
<view class="mian-foot-img">
|
||||
<image src="../../my/static/bg6.png" mode=""></image>
|
||||
</view>
|
||||
<view class="mian-foot-list">
|
||||
<view class="mian-foot-view">
|
||||
<view class="mian-title">中医推拿(测试)</view>
|
||||
<view class="mian-dingwei">
|
||||
<image src="../../static/index/dangqian2.png" mode=""></image>
|
||||
<span class="shouyi-text">0.8km</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot-dan shouyi-text">
|
||||
订单编号 : 202310311231559420
|
||||
</view>
|
||||
<view class="mian-foot-adder shouyi-text">
|
||||
服务地址 : 吉林省长春市二道区欧亚万豪购物中心16-301
|
||||
</view>
|
||||
<view class="mian-bottom">
|
||||
<view class="mian-bottom-xiang shouyi-text">项目金额 : ¥298</view>
|
||||
<view class="mian-bottom-shou">
|
||||
<span class="shouyi-text">本单收益: </span>
|
||||
<span class="shouyi-text" style="color: #FF6000;font-weight: bold;">¥326.70</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-list">
|
||||
<view class="mian-list-top">
|
||||
<view class="mian-list-top-biao">已完成</view>
|
||||
<view class="mian-list-top-time">
|
||||
<span>预约时间: </span>
|
||||
<span>2024-01-02 14:00</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot">
|
||||
<view class="mian-foot-img">
|
||||
<image src="../../my/static/bg6.png" mode=""></image>
|
||||
</view>
|
||||
<view class="mian-foot-list">
|
||||
<view class="mian-foot-view">
|
||||
<view class="mian-title">中医推拿(测试)</view>
|
||||
<view class="mian-dingwei">
|
||||
<image src="../../static/index/dangqian2.png" mode=""></image>
|
||||
<span class="shouyi-text">0.8km</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot-dan shouyi-text">
|
||||
订单编号 : 202310311231559420
|
||||
</view>
|
||||
<view class="mian-foot-adder shouyi-text">
|
||||
服务地址 : 吉林省长春市二道区欧亚万豪购物中心16-301
|
||||
</view>
|
||||
<view class="mian-bottom">
|
||||
<view class="mian-bottom-xiang shouyi-text">项目金额 : ¥298</view>
|
||||
<view class="mian-bottom-shou">
|
||||
<span class="shouyi-text">本单收益: </span>
|
||||
<span class="shouyi-text" style="color: #FF6000;font-weight: bold;">¥326.70</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!--时长积分-->
|
||||
<view class="mina-view">
|
||||
|
||||
<view class="mian-table">
|
||||
<view class="table-view">
|
||||
<span style="font-size: 22rpx;">序号</span>
|
||||
<span>01</span>
|
||||
<span>02</span>
|
||||
<span>03</span>
|
||||
</view>
|
||||
<view class="table-view">
|
||||
<span style="font-size: 22rpx;">上线时间</span>
|
||||
<span>2024.01.01 10:00</span>
|
||||
<span>2024.01.01 10:00</span>
|
||||
<span>2024.01.01 10:00</span>
|
||||
</view>
|
||||
<view class="table-view">
|
||||
<span style="font-size: 22rpx;">下线时间</span>
|
||||
<span>2024.01.01 10:00</span>
|
||||
<span>2024.01.01 10:00</span>
|
||||
<span>2024.01.01 10:00</span>
|
||||
</view>
|
||||
<view class="table-view">
|
||||
<span style="font-size: 22rpx;">获取积分</span>
|
||||
<span style="color: #029D88;">12</span>
|
||||
<span style="color: #029D88;">12</span>
|
||||
<span style="color: #029D88;">12</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!--充值积分-->
|
||||
<view class="mina-view">
|
||||
|
||||
<view class="mian-list">
|
||||
<view class="mian-list-top">
|
||||
<view class="mian-list-top-biao">已完成</view>
|
||||
<view class="mian-list-top-time">
|
||||
<span>预约时间: </span>
|
||||
<span>2024-01-02 14:00</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot">
|
||||
<view class="mian-foot-img">
|
||||
<image src="../../my/static/bg6.png" mode=""></image>
|
||||
</view>
|
||||
<view class="mian-foot-list">
|
||||
<view class="mian-foot-view">
|
||||
<view class="mian-title">中医推拿(测试)</view>
|
||||
<view class="mian-dingwei">
|
||||
<image src="../../static/index/dangqian2.png" mode=""></image>
|
||||
<span class="shouyi-text">0.8km</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot-dan shouyi-text">
|
||||
订单编号 : 202310311231559420
|
||||
</view>
|
||||
<view class="mian-foot-adder shouyi-text">
|
||||
服务地址 : 吉林省长春市二道区欧亚万豪购物中心16-301
|
||||
</view>
|
||||
<view class="mian-bottom">
|
||||
<view class="mian-bottom-xiang shouyi-text">项目金额 : ¥298</view>
|
||||
<view class="mian-bottom-shou">
|
||||
<span class="shouyi-text">本单收益: </span>
|
||||
<span class="shouyi-text" style="color: #FF6000;font-weight: bold;">¥326.70</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-list">
|
||||
<view class="mian-list-top">
|
||||
<view class="mian-list-top-biao">已完成</view>
|
||||
<view class="mian-list-top-time">
|
||||
<span>预约时间: </span>
|
||||
<span>2024-01-02 14:00</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot">
|
||||
<view class="mian-foot-img">
|
||||
<image src="../../my/static/bg6.png" mode=""></image>
|
||||
</view>
|
||||
<view class="mian-foot-list">
|
||||
<view class="mian-foot-view">
|
||||
<view class="mian-title">中医推拿(测试)</view>
|
||||
<view class="mian-dingwei">
|
||||
<image src="../../static/index/dangqian2.png" mode=""></image>
|
||||
<span class="shouyi-text">0.8km</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-foot-dan shouyi-text">
|
||||
订单编号 : 202310311231559420
|
||||
</view>
|
||||
<view class="mian-foot-adder shouyi-text">
|
||||
服务地址 : 吉林省长春市二道区欧亚万豪购物中心16-301
|
||||
</view>
|
||||
<view class="mian-bottom">
|
||||
<view class="mian-bottom-xiang shouyi-text">项目金额 : ¥298</view>
|
||||
<view class="mian-bottom-shou">
|
||||
<span class="shouyi-text">本单收益: </span>
|
||||
<span class="shouyi-text" style="color: #FF6000;font-weight: bold;">¥326.70</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default{
|
||||
data(){
|
||||
return{
|
||||
titleList:''
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
.table-view span{
|
||||
font-weight: 400;
|
||||
font-size: 19rpx;
|
||||
color: #666666;
|
||||
}
|
||||
.table-view span:nth-child(1){
|
||||
font-weight: bold;
|
||||
}
|
||||
.table-view span{
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.table-view{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.mian-table{
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.view-num{
|
||||
color: #029D88 !important;
|
||||
}
|
||||
.mian-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.mian-foot-adder{
|
||||
margin: 2px 0px;
|
||||
}
|
||||
.mian-dingwei image{
|
||||
width: 18.75rpx;
|
||||
height:21.53rpx;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.mian-dingwei,.mian-bottom-shou{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.mian-title{
|
||||
font-weight: bold;
|
||||
font-size: 31rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.mian-foot-view{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.mian-foot-list{
|
||||
width: 75%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.mian-foot-img image{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.mian-foot-img{
|
||||
width: 158rpx;
|
||||
height: 188rpx;
|
||||
background: #E6E6E6;
|
||||
border-radius: 14rpx;
|
||||
}
|
||||
|
||||
.mian-foot{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.mian-list-top-time span{
|
||||
font-size:25rpx;
|
||||
}
|
||||
.mian-list-top-time span:nth-child(1){
|
||||
color: #7D7D7D;
|
||||
}
|
||||
.mian-list-top-time span:nth-child(2){
|
||||
color: #11957C;
|
||||
}
|
||||
.mian-list-top-time{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.mian-list-top-biao{
|
||||
width: 130rpx;
|
||||
height: 47rpx;
|
||||
line-height: 47rpx;
|
||||
color: #fff;
|
||||
font-size: 25rpx;
|
||||
text-align: center;
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
border-top-left-radius: 21rpx;
|
||||
border-bottom-right-radius: 21rpx;
|
||||
}
|
||||
.mian-list-top{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #E5E5E5;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.mian-list{
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.view-title-right{
|
||||
font-weight: 400;
|
||||
font-size: 21rpx;
|
||||
color: #666666;
|
||||
}
|
||||
.view-title-left-text{
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #333333;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.view-title-left-shuxian{
|
||||
width: 10rpx;
|
||||
height: 29rpx;
|
||||
background: #029D88;
|
||||
border-radius: 5rpx;
|
||||
}
|
||||
.view-title-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin: 15px 0px;
|
||||
}
|
||||
.view-title{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.mina-view{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.mina{
|
||||
width: 95%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.header-bottom-money{
|
||||
font-weight: bold;
|
||||
font-size: 49rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.header-top-btn{
|
||||
width: 174rpx;
|
||||
height: 49rpx;
|
||||
line-height: 49rpx;
|
||||
text-align: center;
|
||||
font-size: 21rpx;
|
||||
color: #333333;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
}
|
||||
.header-text{
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.header-top-left image{
|
||||
width: 24.31rpx;
|
||||
height:22.92rpx;
|
||||
margin-right: 2px;
|
||||
margin-top: 3px;
|
||||
}
|
||||
.header-top-left{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.header-top{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.header{
|
||||
width: 100%;
|
||||
height: 300rpx;
|
||||
padding: 15px;
|
||||
background-image: url('../../static/index/fun_banner4.png');
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
}
|
||||
.content{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
height: 100vh;
|
||||
background-color: #f7f7f7;
|
||||
overflow: scroll;
|
||||
}
|
||||
</style>
|
|
@ -1,10 +1,11 @@
|
|||
<template>
|
||||
<view style="padding-bottom: 80upx;">
|
||||
<view class="bg">
|
||||
<view class=" u-flex padding-lr" style="padding: 20px 30rpx 120px;align-items: center;">
|
||||
<!-- <view class="u-m-r-10" >
|
||||
<image :src="avatar" class="img-avatar"></image>
|
||||
</view> -->
|
||||
<view class="jishi-index">
|
||||
<view class=" u-flex padding-lr" style="padding: 30px 30rpx 120px;align-items: center;">
|
||||
<view class="u-m-r-10">
|
||||
<image :src="avatar" style="width: 70px;height: 70px;border-radius: 100rpx;"
|
||||
@click="goNav('/pages/my/userinfo')"></image>
|
||||
</view>
|
||||
<view class="u-flex-1 u-m-l-10 text-white" v-if="isLogin && userName">
|
||||
<view class="flex align-center justify-between">
|
||||
<view class="">
|
||||
|
@ -20,15 +21,15 @@
|
|||
</view>
|
||||
<view class="gxbox" @click="goNavs('/my/qiandao/index')">
|
||||
<template v-if="loglataddress">
|
||||
<view class="flex align-center">
|
||||
<view class="flex align-center gengxin">
|
||||
更新位置:<text class="wztext">{{ loglataddress }}</text>
|
||||
</view>
|
||||
<view class="flex align-center" style="margin-top: 5px;">
|
||||
更新时间:<text class="wztime">{{ loglattime }}</text>
|
||||
<view class="flex align-center gengxin" style="margin-top: 5px;">
|
||||
更新时间:<text class="wztext">{{ loglattime }}</text>
|
||||
</view>
|
||||
</template>
|
||||
<template v-else>
|
||||
<view class="flex align-center" style="justify-content: center;">
|
||||
<view class="flex align-center gengxin" style="justify-content: center;">
|
||||
点击更新位置
|
||||
</view>
|
||||
</template>
|
||||
|
@ -74,10 +75,10 @@
|
|||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<view style="margin-top: -100px;padding: 30rpx;">
|
||||
<view style="margin-top: -105px;padding: 30rpx;">
|
||||
<view class="dengjibox">
|
||||
<view class="djtit">当前等级</view>
|
||||
<view class="djimg">{{ currentGrade ? currentGrade : "A0" }}</view>
|
||||
<view class="djimg" @click="level">{{ currentGrade ? currentGrade : "A0" }}</view>
|
||||
<view class="" style="margin-top: 20px;">
|
||||
<text style="font-size: 30px;font-weight: bold;">{{ currentWholeIncome ? currentWholeIncome : 0 }}</text>
|
||||
<text style="font-size: 16px;">/{{ totalIncomeRange ? totalIncomeRange : 4000 }}</text>
|
||||
|
@ -85,14 +86,12 @@
|
|||
<u-line-progress active-color="#46a396" :show-percent="false" :height="38" inactive-color="#000000"
|
||||
:percent="lineProgressData" :striped-active="true"></u-line-progress>
|
||||
|
||||
<view v-if="!maxStatus && longUpgradeDescriptionSet.differenceOutstandingAchievement" class=""
|
||||
style="font-size: 15px;margin-top: 8px;text-align: center;height: 40px;line-height: 40px;">
|
||||
<view v-if="!maxStatus && longUpgradeDescriptionSet.differenceOutstandingAchievement" class="dengji-text">
|
||||
还差{{ longUpgradeDescriptionSet.differenceOutstandingAchievement }}业绩;{{ longUpgradeDescriptionSet.differenceIntegral }}积分;可以升级{{ longUpgradeDescriptionSet.differenceGrade }}<u-icon
|
||||
style="padding-left: 2px;" size="30" color="#ffffff" name="question-circle-fill"
|
||||
@click="clickIcon" index="0"></u-icon>
|
||||
</view>
|
||||
<view v-if="maxStatus" class=""
|
||||
style="font-size: 15px;margin-top: 8px;text-align: center;height: 40px;line-height: 40px;">
|
||||
<view v-if="maxStatus" class=" dengji-text">
|
||||
您已达到最高等级
|
||||
</view>
|
||||
<view>
|
||||
|
@ -116,22 +115,22 @@
|
|||
</u-popup>
|
||||
</view>
|
||||
<view class="flex align-center"
|
||||
style="justify-content: space-evenly;text-align: center;margin-top: 12px;">
|
||||
<view class="">
|
||||
style="justify-content: space-evenly;text-align: center;">
|
||||
<view class="" @click="dangqian">
|
||||
<view class="" style="font-size: 22px;font-weight: bold;">
|
||||
{{ currentRealIncome ? currentRealIncome : 0 }}
|
||||
</view>
|
||||
<view class="" style="font-size: 12px;">当期收益(元)</view>
|
||||
</view>
|
||||
<view class="xianb"></view>
|
||||
<view class="shuxian"></view>
|
||||
<view class="">
|
||||
<view class="" style="font-size: 22px;font-weight: bold;">{{ currentIntegral ? currentIntegral : 0 }}
|
||||
</view>
|
||||
<view class="" style="font-size: 12px;" @tap="goNav('/pages/my/IntegralStatistics')">当期积分</view>
|
||||
<view class="" style="font-size: 12px;" @tap="goNav('/pages/index/currentPoints')">当期积分</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="csda" @click="getJqqd()">
|
||||
<view class="csda">
|
||||
<view class="flex align-center" style="font-size: 16px;font-weight: bold;color: #fff;margin-top: 8px;">
|
||||
物料记录
|
||||
<image src="../../static/images/index/yiwen.png" style="width: 16px;height: 17px;margin-left: 10px;"
|
||||
|
@ -180,7 +179,7 @@
|
|||
查看更多</view>
|
||||
</view>
|
||||
<view v-if="formatHomeMaterialPackageList.length > 0" class="flex align-center justify-between zbhsga">
|
||||
<view class="importMaterialPackage" v-for="(item, index) in formatHomeMaterialPackageList"
|
||||
<view class="importMaterialPackage wuliao" v-for="(item, index) in formatHomeMaterialPackageList"
|
||||
:key="item.id">
|
||||
<view class="importMaterialPackage">
|
||||
<view class="importMaterialPackageInnerBox">
|
||||
|
@ -202,9 +201,10 @@
|
|||
</view>
|
||||
<view class="flex align-center justify-between" style="margin-top: 20px;">
|
||||
<view :class="activeTab == item.id ? 'tapDsalk' : 'dsalk'" @click="getJqqd(item.id)"
|
||||
v-for="item in homePageCountNum" :key="item.id">
|
||||
<view class="sda flex align-center">
|
||||
<image :src="item.icon" style="width: 20px;height: 20px;"></image>
|
||||
v-for="(item,homeIindex) in homePageCountNum" :key="homeIindex">
|
||||
<view class="sda flex align-center" v-if="homeIindex==indexImg" v-for="(imgItem,indexImg) in jiazhongIimg" :key="indexImg">
|
||||
<image :src="imgItem.url" mode="" style="width: 20px;height: 20px;"></image>
|
||||
<!-- <image :src="item.icon" style="width: 20px;height: 20px;"></image> -->
|
||||
</view>
|
||||
<view class="dqda">{{ item.title }}</view>
|
||||
<view class="" :style="{ fontSize: '20px', color: item.color, marginTop: '6px', fontWeight: 'bold' }">
|
||||
|
@ -309,24 +309,24 @@
|
|||
</view> -->
|
||||
<view class="flex align-center justify-between" style="margin-top: 20px;" v-if="XCXIsSelect != '否'">
|
||||
<view class="text-center" @click="goNavs('/pages/my/mangshi')">
|
||||
<image src="../../static/images/index/order1.png" style="width: 70rpx;height: 80rpx;"></image>
|
||||
<view>忙时设置</view>
|
||||
<image src="../../static/index/order_5.png" style="width: 60rpx;height: 61rpx;"></image>
|
||||
<view class="tongji-text">忙时设置</view>
|
||||
</view>
|
||||
<view class="text-center" @click="goNav('/my/shuju/index')">
|
||||
<image src="../../static/images/index/order2.png" style="width: 80rpx;height: 76rpx;"></image>
|
||||
<view>数据统计</view>
|
||||
<image src="../../static/index/order_4.png" style="width: 50rpx;height: 58rpx;"></image>
|
||||
<view class="tongji-text">数据统计</view>
|
||||
</view>
|
||||
<view class="text-center" @click="goNav('/my/commission/index')">
|
||||
<image src="../../static/images/index/order3.png" style="width: 48rpx;height: 77rpx;"></image>
|
||||
<view>分成明细</view>
|
||||
<image src="../../static/index/order_3.png" style="width: 55rpx;height: 61rpx;"></image>
|
||||
<view class="tongji-text">分成明细</view>
|
||||
</view>
|
||||
<view class="text-center" @click="goNav('/my/fund/index')">
|
||||
<image src="../../static/images/index/order4.png" style="width: 56rpx;height: 78rpx; "></image>
|
||||
<view>资金明细</view>
|
||||
<image src="../../static/index/order_2.png" style="width: 60rpx;height: 60rpx; "></image>
|
||||
<view class="tongji-text">资金明细</view>
|
||||
</view>
|
||||
<view class="text-center" @click="goNavs('/pages/index/jinji')">
|
||||
<image src="../../static/images/index/order5.png" style="width: 76rpx;height: 78rpx;"></image>
|
||||
<view>紧急报警</view>
|
||||
<image src="../../static/index/order_1.png" style="width: 69rpx;height: 64rpx;"></image>
|
||||
<view class="tongji-text">紧急报警</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="flex justify-between margin-top" style="border: 1rpx solid #cccccc;background-color: #e1f5ea; border-radius: 20rpx;">
|
||||
|
@ -415,7 +415,7 @@
|
|||
</view>
|
||||
<view class="bgwhite radius margin-top-sm padding-bottom-sm"
|
||||
:style="{ backgroundColor: item.status == 2 ? '#f6fcfa' : '', border: item.status == 2 ? '2px solid rgb(207, 237, 225)' : '' }"
|
||||
v-for="(item, index) in goods" :key='index' @click="goNav('/my/order/pay?ordersId=' + item.ordersId)">
|
||||
v-for="(item, index) in goods" :key='index' @click="goNav('/my/order/revenueDetails?ordersId=' + item.ordersId)">
|
||||
<view class="flex justify-between padding-sm">
|
||||
<view class="text-green">预约时间:{{ item.serveTime }}</view>
|
||||
<view class="text-green" v-if="item.status == 1">待付款...</view>
|
||||
|
@ -500,6 +500,11 @@ export default {
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
jiazhongIimg:[
|
||||
{url:'../../static/index/order_8.png',id:0},
|
||||
{url:'../../static/index/order_7.png',id:1},
|
||||
{url:'../../static/index/order_6.png',id:3}
|
||||
],
|
||||
Guanggao: '',
|
||||
ssDW: false,
|
||||
stateName: '休息中',
|
||||
|
@ -570,21 +575,21 @@ export default {
|
|||
currentGrade: null, //App首页当前等级
|
||||
lineProgressData: 0,
|
||||
homePageCountNum: [{
|
||||
id: 0,
|
||||
id: 1,
|
||||
title: "当期订单",
|
||||
icon: "../../static/images/index/dd01.png",
|
||||
color: "#2FB57A",
|
||||
num: 0,
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
id: 2,
|
||||
title: "当期加钟率",
|
||||
icon: "../../static/images/index/dd02.png",
|
||||
color: "#333333",
|
||||
num: 0,
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
id: 3,
|
||||
title: "当期充值率",
|
||||
icon: "../../static/images/index/dd03.png",
|
||||
color: "#ff6c25",
|
||||
|
@ -603,6 +608,9 @@ export default {
|
|||
pageSize: null,
|
||||
showViewHelp: false,
|
||||
showMaterialPackageListStatus: false,
|
||||
shouyiMoeny:'',
|
||||
homePageCountNumTwo:'',
|
||||
homePageCountNumOme:''
|
||||
}
|
||||
},
|
||||
onShareAppMessage(res) { //发送给朋友
|
||||
|
@ -627,7 +635,8 @@ export default {
|
|||
onLoad(e) {
|
||||
//获取App首页数据
|
||||
this.getHomeListData();
|
||||
this.userId = uni.getStorageSync('userId')
|
||||
this.userId = uni.getStorageSync('userId');
|
||||
console.log("ueser========",this.userId)
|
||||
// 获取邀请码保存到本地
|
||||
if (e.invitation) {
|
||||
this.$queue.setData('inviterCode', e.invitation);
|
||||
|
@ -699,10 +708,12 @@ export default {
|
|||
this.XCXIsSelect = this.$queue.getData("XCXIsSelect");
|
||||
}
|
||||
});
|
||||
this.userId = uni.getStorageSync('userId')
|
||||
// this.userId = uni.getStorageSync('userId')
|
||||
this.userId = this.$queue.getData("userId")
|
||||
|
||||
this.isCashDeposit = uni.getStorageSync('isCashDeposit')
|
||||
if (this.userId) {
|
||||
console.log(this.userId, "dwdwadwdawd");
|
||||
console.log(this.userId, "dwdwadwdawd============>");
|
||||
this.isLogin = true
|
||||
this.getJinRiOrder();
|
||||
this.getUserInfo()
|
||||
|
@ -728,6 +739,7 @@ export default {
|
|||
}, 10000)
|
||||
}
|
||||
} else {
|
||||
console.log(this.userId,"false============>");
|
||||
this.isLogin = false
|
||||
this.userName = ''
|
||||
this.browse = 0
|
||||
|
@ -773,6 +785,16 @@ export default {
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
level(){//跳往 技师等级
|
||||
uni.navigateTo({
|
||||
url:'/pages/index/technicianLevel'
|
||||
})
|
||||
},
|
||||
dangqian(){//跳往当前收益
|
||||
uni.navigateTo({
|
||||
url:'/pages/index/currentIncome'
|
||||
})
|
||||
},
|
||||
showMoreMaterialPackageList() {
|
||||
this.showMaterialPackageListStatus = true;
|
||||
},
|
||||
|
@ -796,6 +818,22 @@ export default {
|
|||
console.log(index);
|
||||
if (index) this.showIconPopup = true;
|
||||
},
|
||||
getJqqd(id) {
|
||||
if(id!='1'){
|
||||
this.$queue.setData("homePageCountNumOne",[this.homePageCountNumOne,this.homePageCountNumTwo])
|
||||
uni.navigateTo({
|
||||
url:'/pages/index/addClock?type='+id
|
||||
})
|
||||
}else{
|
||||
uni.navigateTo({
|
||||
url:'/pages/index/currentIncome?type='+id+'&shouyiMoeny='+this.shouyiMoeny
|
||||
})
|
||||
}
|
||||
|
||||
// this.$queue.showToast('敬请期待!')
|
||||
// 如果需要当期订单/当期加钟率/当期充值率点击样式时解开注释即可
|
||||
// if (id !== undefined) this.activeTab = id;
|
||||
},
|
||||
//获取App首页数据
|
||||
getHomeListData() {
|
||||
let artificerId = uni.getStorageSync("artificerId");
|
||||
|
@ -803,11 +841,18 @@ export default {
|
|||
this.$Request.getXZX("/app/artificer/integral/home/?artificerId=" + artificerId,).then((res) => {
|
||||
if (res && res.data) {
|
||||
console.log(res, "dwdw00of");
|
||||
this.shouyiMoeny=res?.data?.currentMonthsIncome
|
||||
|
||||
this.homePageCountNum[0].num = res?.data?.currentPeriodOrdersSum;
|
||||
|
||||
let formathomePageCountNum = (res?.data?.currentPeriodAddBellsSum * 1) * 100;
|
||||
this.homePageCountNum[1].num = Math.floor(formathomePageCountNum) + "%";
|
||||
this.homePageCountNumOne=this.homePageCountNum[1].num;
|
||||
|
||||
let currentPeriodRechargeSum = ((res?.data?.currentPeriodRechargeSum * 1) * 100);
|
||||
this.homePageCountNum[2].num = Math.floor(currentPeriodRechargeSum) + "%";
|
||||
this.homePageCountNumTwo=this.homePageCountNum[2].num;
|
||||
|
||||
this.currentWholeIncome = Math.floor(res?.data?.currentPerformance);
|
||||
this.currentRealIncome = res?.data?.earnings;
|
||||
this.currentIntegral = res?.data?.integral;
|
||||
|
@ -847,11 +892,7 @@ export default {
|
|||
url: ""
|
||||
})
|
||||
},
|
||||
getJqqd(id) {
|
||||
// this.$queue.showToast('敬请期待!')
|
||||
// 如果需要当期订单/当期加钟率/当期充值率点击样式时解开注释即可
|
||||
// if (id !== undefined) this.activeTab = id;
|
||||
},
|
||||
|
||||
getNewOrder() {
|
||||
let data = {
|
||||
page: 1,
|
||||
|
@ -1403,7 +1444,44 @@ export default {
|
|||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
<style lang="scss" scoped>
|
||||
.tongji-text{
|
||||
margin-top: 5px;
|
||||
font-weight: bold;
|
||||
font-size: 24rpx;
|
||||
color: #3A414B;
|
||||
}
|
||||
.wuliao:last-child .xianc{
|
||||
display: none;
|
||||
}
|
||||
.shuxian{
|
||||
width: 2rpx;
|
||||
height: 50rpx;
|
||||
background-color: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
.dengji-text{
|
||||
text-align: center;
|
||||
font-size: 30rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.gengxin{
|
||||
color: #333333;
|
||||
}
|
||||
.jishi-index-title{
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
font-size: 33rpx;
|
||||
color: #FFFFFF;
|
||||
padding-top: 20px;
|
||||
}
|
||||
.jishi-index{
|
||||
width: 100%;
|
||||
height: 215px;
|
||||
background-image: url('../../static/index/technician15.png');
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
page {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
@ -1435,10 +1513,15 @@ page {
|
|||
.dengjibox {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
background-image: linear-gradient(to right, #223845, #00a85b);
|
||||
height: 400rpx;
|
||||
background: linear-gradient(-90deg, #019C88, #1BB9A5, #029D88);
|
||||
box-shadow: 0rpx 0rpx 16rpx 0rpx rgba(26,25,26,0.3);
|
||||
border-radius: 20rpx;
|
||||
padding: 30rpx;
|
||||
color: #ffffff;
|
||||
border-radius: 10px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.djtit {
|
||||
|
@ -1449,7 +1532,7 @@ page {
|
|||
height: 26px;
|
||||
line-height: 26px;
|
||||
text-align: center;
|
||||
color: #e19722;
|
||||
color: #FFE257;
|
||||
font-size: 26rpx;
|
||||
background-color: #171717;
|
||||
border-radius: 10px 0 10px 0;
|
||||
|
@ -1482,23 +1565,23 @@ page {
|
|||
}
|
||||
|
||||
.csda {
|
||||
background: url(../../static/images/index/bhgc.png);
|
||||
height: 202rpx;
|
||||
border-radius: 30rpx;
|
||||
background: url(../../static/index/fun_banner2.png);
|
||||
background-size: cover;
|
||||
height: 108px;
|
||||
border-radius: 10px;
|
||||
padding: 30rpx 14rpx 14rpx 14rpx;
|
||||
margin-top: 20px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.zbhsga {
|
||||
background-color: rgba(17, 114, 80, 0.8);
|
||||
height: 70rpx;
|
||||
background: #029D88;
|
||||
border-radius: 20rpx;
|
||||
color: #ffffff;
|
||||
width: 100%;
|
||||
height: 38px;
|
||||
padding: 0 8rpx;
|
||||
border-radius: 5px;
|
||||
margin-top: 16px;
|
||||
margin-top: 14px;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
|
@ -1723,11 +1806,12 @@ uni-switch::before {
|
|||
}
|
||||
|
||||
.importMaterialPackage .importMaterialPackageInnerBox {
|
||||
font-size: 22rpx;
|
||||
// font-size: 22rpx;
|
||||
}
|
||||
|
||||
.importMaterialPackage view:last-child {
|
||||
margin-left: 3px;
|
||||
// margin-top: 4px;
|
||||
}
|
||||
|
||||
.viewMore {
|
||||
|
|
|
@ -0,0 +1,173 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
<view class="header"></view>
|
||||
<table border="0" class="mian-table">
|
||||
<tr class="mian-table-top">
|
||||
<td>序号</td>
|
||||
<td>开始日期</td>
|
||||
<td>结束日期</td>
|
||||
<td>金额</td>
|
||||
<td>操作</td>
|
||||
</tr>
|
||||
<tr class="table-list">
|
||||
<td>01</td>
|
||||
<td>2024.01.01</td>
|
||||
<td>2024.01.01</td>
|
||||
<td>¥653.40</td>
|
||||
<td class="mian-foot-btns" @click="detailTd">
|
||||
详情
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
<!-- <view class="mian">
|
||||
<view class="mian-nav">
|
||||
<view class="mian-nav-list xuhao">序号</view>
|
||||
<view class="mian-nav-list riqi">开始日期</view>
|
||||
<view class="mian-nav-list riqi">结束日期</view>
|
||||
<view class="mian-nav-list jie">金额</view>
|
||||
<view class="mian-nav-list caozuo">操作</view>
|
||||
</view>
|
||||
<view class="mian-foot">
|
||||
<view class="mian-foot-view">
|
||||
<view class="mian-foot-list xuhao">01</view>
|
||||
<view class="mian-foot-list riqi">2024.01.01</view>
|
||||
<view class="mian-foot-list riqi">2024.01.01</view>
|
||||
<view class="mian-foot-list jie">¥653.40</view>
|
||||
<view class="mian-foot-btn caozuo">详情</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default{
|
||||
data(){
|
||||
return{}
|
||||
},
|
||||
methods:{
|
||||
detailTd(){//详情 跳页
|
||||
uni.navigateTo({
|
||||
url:'/pages/index/revenueDetails'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.mian-foot-btns{
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #11957C;
|
||||
}
|
||||
td{
|
||||
text-align: center;
|
||||
}
|
||||
.table-list td{
|
||||
border-bottom: 1px solid #E5E5E5;
|
||||
}
|
||||
.table-list{
|
||||
height: 40px;
|
||||
}
|
||||
.mian-table-top{
|
||||
height: 49rpx;
|
||||
background: #EFEFEF;
|
||||
border-radius: 14rpx;
|
||||
border: 1px solid #EFEFEF;
|
||||
opacity: 0.62;
|
||||
}
|
||||
.mian-table{
|
||||
width: 95%;
|
||||
background-color: #fff;
|
||||
border-radius: 24rpx;
|
||||
padding: 10px;
|
||||
border-spacing: inherit;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
margin-top: 30px;
|
||||
}
|
||||
.xuhao{
|
||||
width: 10%;
|
||||
}
|
||||
.mian-nav-list{
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #333333;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.mian-foot-btn{
|
||||
width: 83rpx;
|
||||
height: 40rpx;
|
||||
line-height: 40rpx;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #11957C;
|
||||
border-radius: 14rpx;
|
||||
border: 1px solid #007B6A;
|
||||
}
|
||||
.mian-foot-list{
|
||||
width: 25%;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #666666;
|
||||
}
|
||||
.mian-foot-view{
|
||||
width: 100%;
|
||||
border-bottom: 1px solid #E5E5E5;
|
||||
display: flex;
|
||||
padding: 10px 0px;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.mian-foot{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.mian-nav{
|
||||
width: 100%;
|
||||
height: 49rpx;
|
||||
background-color: rgba(239, 239, 239, 0.62);
|
||||
border-radius: 14rpx;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.mian{
|
||||
width: 95%;
|
||||
height: 967rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
overflow-y: scroll;
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.header{
|
||||
width: 100%;
|
||||
height: 228rpx;
|
||||
background: linear-gradient(-36deg, #11957C, #20A98F, #019C88, #029D88);
|
||||
}
|
||||
.content{
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
background-color: #f7f7f7;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,173 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
<view class="header"></view>
|
||||
<table border="0" class="mian-table">
|
||||
<tr class="mian-table-top">
|
||||
<td>序号</td>
|
||||
<td>开始日期</td>
|
||||
<td>结束日期</td>
|
||||
<td>金额</td>
|
||||
<td>操作</td>
|
||||
</tr>
|
||||
<tr class="table-list">
|
||||
<td>01</td>
|
||||
<td>2024.01.01</td>
|
||||
<td>2024.01.01</td>
|
||||
<td>¥653.40</td>
|
||||
<td class="mian-foot-btns" @click="detailTd">
|
||||
详情
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
<!-- <view class="mian">
|
||||
<view class="mian-nav">
|
||||
<view class="mian-nav-list xuhao">序号</view>
|
||||
<view class="mian-nav-list riqi">开始日期</view>
|
||||
<view class="mian-nav-list riqi">结束日期</view>
|
||||
<view class="mian-nav-list jie">金额</view>
|
||||
<view class="mian-nav-list caozuo">操作</view>
|
||||
</view>
|
||||
<view class="mian-foot">
|
||||
<view class="mian-foot-view">
|
||||
<view class="mian-foot-list xuhao">01</view>
|
||||
<view class="mian-foot-list riqi">2024.01.01</view>
|
||||
<view class="mian-foot-list riqi">2024.01.01</view>
|
||||
<view class="mian-foot-list jie">¥653.40</view>
|
||||
<view class="mian-foot-btn caozuo">详情</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default{
|
||||
data(){
|
||||
return{}
|
||||
},
|
||||
methods:{
|
||||
detailTd(){//详情 跳页
|
||||
uni.navigateTo({
|
||||
url:'/pages/index/revenueDetails'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.mian-foot-btns{
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #11957C;
|
||||
}
|
||||
td{
|
||||
text-align: center;
|
||||
}
|
||||
.table-list td{
|
||||
border-bottom: 1px solid #E5E5E5;
|
||||
}
|
||||
.table-list{
|
||||
height: 40px;
|
||||
}
|
||||
.mian-table-top{
|
||||
height: 49rpx;
|
||||
background: #EFEFEF;
|
||||
border-radius: 14rpx;
|
||||
border: 1px solid #EFEFEF;
|
||||
opacity: 0.62;
|
||||
}
|
||||
.mian-table{
|
||||
width: 95%;
|
||||
background-color: #fff;
|
||||
border-radius: 24rpx;
|
||||
padding: 10px;
|
||||
border-spacing: inherit;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
margin-top: 30px;
|
||||
}
|
||||
.xuhao{
|
||||
width: 10%;
|
||||
}
|
||||
.mian-nav-list{
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #333333;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.mian-foot-btn{
|
||||
width: 83rpx;
|
||||
height: 40rpx;
|
||||
line-height: 40rpx;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #11957C;
|
||||
border-radius: 14rpx;
|
||||
border: 1px solid #007B6A;
|
||||
}
|
||||
.mian-foot-list{
|
||||
width: 25%;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #666666;
|
||||
}
|
||||
.mian-foot-view{
|
||||
width: 100%;
|
||||
border-bottom: 1px solid #E5E5E5;
|
||||
display: flex;
|
||||
padding: 10px 0px;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.mian-foot{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.mian-nav{
|
||||
width: 100%;
|
||||
height: 49rpx;
|
||||
background-color: rgba(239, 239, 239, 0.62);
|
||||
border-radius: 14rpx;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.mian{
|
||||
width: 95%;
|
||||
height: 967rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
overflow-y: scroll;
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.header{
|
||||
width: 100%;
|
||||
height: 228rpx;
|
||||
background: linear-gradient(-36deg, #11957C, #20A98F, #019C88, #029D88);
|
||||
}
|
||||
.content{
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
background-color: #f7f7f7;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,173 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
<view class="header"></view>
|
||||
<table border="0" class="mian-table">
|
||||
<tr class="mian-table-top">
|
||||
<td>序号</td>
|
||||
<td>开始日期</td>
|
||||
<td>结束日期</td>
|
||||
<td>金额</td>
|
||||
<td>操作</td>
|
||||
</tr>
|
||||
<tr class="table-list">
|
||||
<td>01</td>
|
||||
<td>2024.01.01</td>
|
||||
<td>2024.01.01</td>
|
||||
<td>¥653.40</td>
|
||||
<td class="mian-foot-btns" @click="detailTd">
|
||||
详情
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
<!-- <view class="mian">
|
||||
<view class="mian-nav">
|
||||
<view class="mian-nav-list xuhao">序号</view>
|
||||
<view class="mian-nav-list riqi">开始日期</view>
|
||||
<view class="mian-nav-list riqi">结束日期</view>
|
||||
<view class="mian-nav-list jie">金额</view>
|
||||
<view class="mian-nav-list caozuo">操作</view>
|
||||
</view>
|
||||
<view class="mian-foot">
|
||||
<view class="mian-foot-view">
|
||||
<view class="mian-foot-list xuhao">01</view>
|
||||
<view class="mian-foot-list riqi">2024.01.01</view>
|
||||
<view class="mian-foot-list riqi">2024.01.01</view>
|
||||
<view class="mian-foot-list jie">¥653.40</view>
|
||||
<view class="mian-foot-btn caozuo">详情</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default{
|
||||
data(){
|
||||
return{}
|
||||
},
|
||||
methods:{
|
||||
detailTd(){//详情 跳页
|
||||
uni.navigateTo({
|
||||
url:'/pages/index/revenueDetails'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.mian-foot-btns{
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #11957C;
|
||||
}
|
||||
td{
|
||||
text-align: center;
|
||||
}
|
||||
.table-list td{
|
||||
border-bottom: 1px solid #E5E5E5;
|
||||
}
|
||||
.table-list{
|
||||
height: 40px;
|
||||
}
|
||||
.mian-table-top{
|
||||
height: 49rpx;
|
||||
background: #EFEFEF;
|
||||
border-radius: 14rpx;
|
||||
border: 1px solid #EFEFEF;
|
||||
opacity: 0.62;
|
||||
}
|
||||
.mian-table{
|
||||
width: 95%;
|
||||
background-color: #fff;
|
||||
border-radius: 24rpx;
|
||||
padding: 10px;
|
||||
border-spacing: inherit;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
margin-top: 30px;
|
||||
}
|
||||
.xuhao{
|
||||
width: 10%;
|
||||
}
|
||||
.mian-nav-list{
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #333333;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.mian-foot-btn{
|
||||
width: 83rpx;
|
||||
height: 40rpx;
|
||||
line-height: 40rpx;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #11957C;
|
||||
border-radius: 14rpx;
|
||||
border: 1px solid #007B6A;
|
||||
}
|
||||
.mian-foot-list{
|
||||
width: 25%;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 25rpx;
|
||||
color: #666666;
|
||||
}
|
||||
.mian-foot-view{
|
||||
width: 100%;
|
||||
border-bottom: 1px solid #E5E5E5;
|
||||
display: flex;
|
||||
padding: 10px 0px;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.mian-foot{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.mian-nav{
|
||||
width: 100%;
|
||||
height: 49rpx;
|
||||
background-color: rgba(239, 239, 239, 0.62);
|
||||
border-radius: 14rpx;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.mian{
|
||||
width: 95%;
|
||||
height: 967rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
overflow-y: scroll;
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.header{
|
||||
width: 100%;
|
||||
height: 228rpx;
|
||||
background: linear-gradient(-36deg, #11957C, #20A98F, #019C88, #029D88);
|
||||
}
|
||||
.content{
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
background-color: #f7f7f7;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,381 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
<view class="nav-tab">
|
||||
<image src="../../static/index/fanhui.png" mode=""></image>
|
||||
<span class="nav-title">技师等级</span>
|
||||
<span class="nav-btn"> </span>
|
||||
</view>
|
||||
<view class="mian">
|
||||
<view class="header">
|
||||
<view class="header-right">
|
||||
<view class="header-right-top">
|
||||
<span>当前周期</span>
|
||||
<span>2024.01.01~2024.01.10</span>
|
||||
</view>
|
||||
<view class="header-right-text">
|
||||
备注: 本期等级是根据根据技师上个同期的业绩最终计算得出
|
||||
</view>
|
||||
</view>
|
||||
<view class="header-right-bottom">
|
||||
<view class="djimg">A0</view>
|
||||
<view class="djimg-text">当期等级</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-view">
|
||||
<view class="mian-list">
|
||||
<view class="mian-list-top">
|
||||
<view class="xinren">新人扶持</view>
|
||||
<view class="fencheng">
|
||||
<span>分成比例 </span>
|
||||
<span>65%</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-list-bottom">
|
||||
<view class="mian-list-view">
|
||||
<span>无需求</span>
|
||||
<span>最低等级</span>
|
||||
</view>
|
||||
<view class="mian-list-view">
|
||||
<span>50 h</span>
|
||||
<span>在线时长</span>
|
||||
</view>
|
||||
<view class="mian-list-view">
|
||||
<span>无需求</span>
|
||||
<span>加钟率</span>
|
||||
</view>
|
||||
<view class="mian-list-view">
|
||||
<span>0</span>
|
||||
<span>积分</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-list">
|
||||
<view class="mian-list-top">
|
||||
<view>
|
||||
<view class="djimg-s">A1</view>
|
||||
</view>
|
||||
<view class="fencheng">
|
||||
<span>分成比例 </span>
|
||||
<span>65%</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-list-bottom">
|
||||
<view class="mian-list-view">
|
||||
<span>无需求</span>
|
||||
<span>最低等级</span>
|
||||
</view>
|
||||
<view class="mian-list-view">
|
||||
<span>50 h</span>
|
||||
<span>在线时长</span>
|
||||
</view>
|
||||
<view class="mian-list-view">
|
||||
<span>无需求</span>
|
||||
<span>加钟率</span>
|
||||
</view>
|
||||
<view class="mian-list-view">
|
||||
<span>0</span>
|
||||
<span>积分</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-list">
|
||||
<view class="mian-list-top">
|
||||
<view>
|
||||
<view class="djimg-s">A2</view>
|
||||
</view>
|
||||
<view class="fencheng">
|
||||
<span>分成比例 </span>
|
||||
<span>65%</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-list-bottom">
|
||||
<view class="mian-list-view">
|
||||
<span>无需求</span>
|
||||
<span>最低等级</span>
|
||||
</view>
|
||||
<view class="mian-list-view">
|
||||
<span>50 h</span>
|
||||
<span>在线时长</span>
|
||||
</view>
|
||||
<view class="mian-list-view">
|
||||
<span>无需求</span>
|
||||
<span>加钟率</span>
|
||||
</view>
|
||||
<view class="mian-list-view">
|
||||
<span>0</span>
|
||||
<span>积分</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-list">
|
||||
<view class="mian-list-top">
|
||||
<view>
|
||||
<view class="djimg-s">A3</view>
|
||||
</view>
|
||||
<view class="fencheng">
|
||||
<span>分成比例 </span>
|
||||
<span>65%</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-list-bottom">
|
||||
<view class="mian-list-view">
|
||||
<span>无需求</span>
|
||||
<span>最低等级</span>
|
||||
</view>
|
||||
<view class="mian-list-view">
|
||||
<span>50 h</span>
|
||||
<span>在线时长</span>
|
||||
</view>
|
||||
<view class="mian-list-view">
|
||||
<span>无需求</span>
|
||||
<span>加钟率</span>
|
||||
</view>
|
||||
<view class="mian-list-view">
|
||||
<span>0</span>
|
||||
<span>积分</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-list">
|
||||
<view class="mian-list-top">
|
||||
<view>
|
||||
<view class="djimg-s">A4</view>
|
||||
</view>
|
||||
<view class="fencheng">
|
||||
<span>分成比例 </span>
|
||||
<span>65%</span>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mian-list-bottom">
|
||||
<view class="mian-list-view">
|
||||
<span>无需求</span>
|
||||
<span>最低等级</span>
|
||||
</view>
|
||||
<view class="mian-list-view">
|
||||
<span>50 h</span>
|
||||
<span>在线时长</span>
|
||||
</view>
|
||||
<view class="mian-list-view">
|
||||
<span>无需求</span>
|
||||
<span>加钟率</span>
|
||||
</view>
|
||||
<view class="mian-list-view">
|
||||
<span>0</span>
|
||||
<span>积分</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.djimg-s{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
background: url(../../static/images/index/vip.png) no-repeat center;
|
||||
background-size: cover;
|
||||
width: 76.39rpx;
|
||||
height:54rpx;
|
||||
text-align: center;
|
||||
line-height: 30px;
|
||||
font-weight: bold;
|
||||
font-size: 17rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.mian-list-view span:nth-child(1){
|
||||
font-size: 23rpx;
|
||||
color: #019D88;
|
||||
}
|
||||
.mian-list-view span:nth-child(2){
|
||||
font-size: 18rpx;
|
||||
color: #666666;
|
||||
margin-top: 5px;
|
||||
}
|
||||
.mian-list-view{
|
||||
width: 25%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.mian-list-bottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.fencheng span{
|
||||
font-size: 23rpx;
|
||||
}
|
||||
.fencheng span:nth-child(1){
|
||||
color: #333333;
|
||||
}
|
||||
.fencheng span:nth-child(2){
|
||||
color: #FE912A;
|
||||
margin-top: 2px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.fencheng{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.xinren{
|
||||
font-weight: bold;
|
||||
font-size: 23rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.mian-list-top{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 10px;
|
||||
|
||||
}
|
||||
.mian-list{
|
||||
width: 100%;
|
||||
background: #F7F7F7;
|
||||
border-radius: 14rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 10px;
|
||||
margin-bottom: 10px;
|
||||
position: relative;
|
||||
}
|
||||
.mian-view{
|
||||
width: 90%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
margin-top: 100px;
|
||||
}
|
||||
.djimg-text{
|
||||
font-size: 23rpx;
|
||||
color: #FFFFFF;
|
||||
|
||||
}
|
||||
|
||||
.djimg {
|
||||
position: absolute;
|
||||
right: 20px;
|
||||
top: 0;
|
||||
background: url(../../static/images/index/vip.png) no-repeat center;
|
||||
background-size: cover;
|
||||
width: 198rpx;
|
||||
height: 70px;
|
||||
text-align: center;
|
||||
line-height: 84px;
|
||||
font-weight: normal;
|
||||
font-size: 30rpx;
|
||||
color: #FEFEFE;
|
||||
font-style: italic;
|
||||
}
|
||||
.header-right-bottom{
|
||||
width: 30%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: space-evenly;
|
||||
margin-top: 42px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
.header-right-text{
|
||||
margin-top: 10px;
|
||||
font-size: 18rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.header-right-top span:nth-child(1){
|
||||
width: 117rpx;
|
||||
height: 34rpx;
|
||||
text-align: center;
|
||||
line-height: 34rpx;
|
||||
font-size: 22rpx;
|
||||
color: #843200;
|
||||
background: linear-gradient(-36deg, #FFE45A, #FFBB46);
|
||||
border-radius: 15rpx 0rpx 15rpx 0rpx;
|
||||
}
|
||||
.header-right-top span:nth-child(2){
|
||||
font-size: 22rpx;
|
||||
color: #FFF5BC;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.header-right-top{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin-top: 15px;
|
||||
}
|
||||
.header-right{
|
||||
width: 65%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.header{
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
height: 263rpx;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
background: linear-gradient(-90deg, #019C88, #1BB9A5, #029D88);
|
||||
border-top-left-radius: 56rpx;
|
||||
border-top-right-radius: 56rpx;
|
||||
position: relative;
|
||||
}
|
||||
.mian{
|
||||
width: 95%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
background-color: #fff;
|
||||
border-radius: 56rpx;
|
||||
position: relative;
|
||||
}
|
||||
.nav-btn{
|
||||
display: inline-block;
|
||||
width: 49rpx;
|
||||
height: 24rpx;
|
||||
}
|
||||
.nav-title{
|
||||
font-weight: bold;
|
||||
font-size: 38rpx;
|
||||
color: #17181C;
|
||||
}
|
||||
.nav-tab image{
|
||||
width: 15.42rpx;
|
||||
height: 27.64rpx;
|
||||
}
|
||||
.nav-tab{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding:10px;
|
||||
}
|
||||
.content{
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
background-image: url('../../static/index/swim.jpg');
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding-bottom: 30px;
|
||||
}
|
||||
</style>
|
|
@ -2,15 +2,15 @@
|
|||
<view class="" style="padding-bottom: 30px;">
|
||||
<view class="headtop">
|
||||
<view class="headbox">
|
||||
<view class="u-flex text-white" style="padding-top: 30rpx;">
|
||||
<view class="u-flex text-white" style="padding-top: 30px;">
|
||||
<view class="u-m-r-10">
|
||||
<image :src="avatar" style="width: 100rpx;height: 100rpx;border-radius: 100rpx;"
|
||||
<image :src="avatar" style="width: 70px;height: 70px;border-radius: 100rpx;"
|
||||
@click="goNav('/pages/my/userinfo')"></image>
|
||||
</view>
|
||||
<view class="u-flex-1 u-m-l-10 " v-if="isLogin && userName">
|
||||
<view class="u-font-18 text-bold">
|
||||
<view class="flex align-center">
|
||||
<view class="margin-left-sm margin-top-xs">{{ userName }}</view>
|
||||
<view class="flex align-center" style="margin-bottom: 5px;">
|
||||
<view class="margin-left-sm">{{ userName }}</view>
|
||||
<view class="flex align-center" style="font-size: 14px;">
|
||||
<image src="../../static/images/my/start.png"
|
||||
style="width: 13px;height: 12px;margin: 0 6rpx 0 20rpx;"></image>
|
||||
|
@ -70,36 +70,32 @@
|
|||
</view>
|
||||
<view class="btnyt" @click="goQian()">立即提现</view>
|
||||
</view>
|
||||
<view class="flex align-center justify-between" style="width: 100%;margin-top: 20px;">
|
||||
<view class="flex align-center justify-between" style="width: 100%;">
|
||||
<view class="" style="text-align: center;width: 23%;"
|
||||
@click="goNav('/my/wallet/mymoneydetail')">
|
||||
<view class="margin-top-xs"
|
||||
style="color: #fff;background-color: #118052;padding: 10px 0;border-radius: 10px;">
|
||||
<view class="margin-top-xs wode-view">
|
||||
<text class="money_text1">{{ dailyEarnings ? dailyEarnings : '0' }}</text>
|
||||
</view>
|
||||
<view style="color: #fff;font-size: 26rpx;margin-top: 8px;">当日收益</view>
|
||||
</view>
|
||||
<view class="" style="text-align: center;width: 23%;">
|
||||
<view class="margin-top-xs"
|
||||
style="color: #fff;background-color: #118052;padding: 10px 10px;border-radius: 10px;">
|
||||
<view class="margin-top-xs wode-view">
|
||||
<text class="money_text1">{{ earnings ? earnings : '0' }}</text>
|
||||
</view>
|
||||
<view style="color: #fff;font-size: 26rpx;margin-top: 8px;">当期收益</view>
|
||||
</view>
|
||||
<view class="" style="text-align: center;width: 23%;"
|
||||
@click="goNav('/my/wallet/mymoneydetail')">
|
||||
<view class="margin-top-xs"
|
||||
style="color: #fff;background-color: #118052;padding: 10px 0;border-radius: 10px;">
|
||||
<view class="margin-top-xs wode-view">
|
||||
<text
|
||||
class="money_text1">{{ currentMonthsIncome ? currentMonthsIncome : '0' }}</text>
|
||||
</view>
|
||||
<view style="color: #fff;font-size: 26rpx;margin-top: 8px;">当月收益</view>
|
||||
</view>
|
||||
<view class="" style="text-align: center;width: 23%;">
|
||||
<view class="margin-top-xs"
|
||||
style="color: #fff;background-color: #118052;padding: 10px 0;border-radius: 10px;">
|
||||
<text class="money_text1" style="font-size: 24rpx;">{{ currentEndDate ?
|
||||
currentEndDate : "暂无数据" }}</text>
|
||||
<view class="margin-top-xs wode-view">
|
||||
<text class="money_text1" style="font-size: 24rpx;">
|
||||
{{ currentEndDate ?currentEndDate : "暂无数据" }}</text>
|
||||
</view>
|
||||
<view style="color: #fff;font-size: 26rpx;margin-top: 8px;">当期结束日</view>
|
||||
</view>
|
||||
|
@ -118,21 +114,13 @@
|
|||
</view>
|
||||
<view class="margin-top"
|
||||
style="width: 100%;margin-top: -70px;padding: 30rpx;border-radius: 20px;background-color: #ffffff;">
|
||||
<!-- <view class="" style="font-size: 32rpx;font-weight: bold;color: #333333;margin-bottom: 26rpx;">
|
||||
<view class="wode-title">
|
||||
关于我
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="flex justify-between" style="flex-wrap: wrap;">
|
||||
<view class="sdza" @click="getJqqd()"
|
||||
style="background: url(../../static/images/my/ltxbg.png);background-size: cover;">
|
||||
<image src="../../static/images/my/ltx.png"
|
||||
style="width: 30px;height: 30px;margin-bottom: 4px;margin-top: 15px;"></image>
|
||||
<view class="">
|
||||
聊天室
|
||||
</view>
|
||||
</view>
|
||||
<view class="sdza" @click="goNavLifephotos()"
|
||||
<view class="sdza" @click="goNavLifephotos()"
|
||||
style="background: url(../../static/images/my/gyw01.png);background-size: cover;">
|
||||
<image src="../../static/images/my/gyw07.png"
|
||||
<image src="../../static/images/my/shenghuo.png"
|
||||
style="width: 30px;height: 30px;margin-bottom: 4px;margin-top: 15px;"></image>
|
||||
<view class="">
|
||||
生活照
|
||||
|
@ -140,50 +128,68 @@
|
|||
</view>
|
||||
<view class="sdza" @click="goNav('/my/publish/index')"
|
||||
style="background: url(../../static/images/my/gyw02.png);background-size: cover;">
|
||||
<image src="../../static/images/my/gyw08.png"
|
||||
style="width: 28px;height: 30px;margin-bottom: 4px;margin-top: 15px;"></image>
|
||||
<image src="../../static/images/my/xaingmu.png"
|
||||
style="width: 56rpx;height: 60rpx;margin-bottom: 4px;margin-top: 15px;"></image>
|
||||
<view class="">
|
||||
我的项目
|
||||
</view>
|
||||
</view>
|
||||
<view class="sdza" @click="goNavmyEvaluation()"
|
||||
style="background: url(../../static/images/my/gyw03.png);background-size: cover;">
|
||||
<image src="../../static/images/my/gyw09.png"
|
||||
style="width: 30px;height: 30px;margin-bottom: 4px;margin-top: 15px;"></image>
|
||||
<image src="../../static/images/my/pingjia.png"
|
||||
style="width: 60rpx;height: 58rpx;margin-bottom: 4px;margin-top: 15px;"></image>
|
||||
<view class="">
|
||||
我的评价
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="sdza" @click="goNavcertifiCate()"
|
||||
<!-- <view class="sdza" @click="getJqqd()"
|
||||
style="background: url(../../static/images/my/ltxbg.png);background-size: cover;">
|
||||
<image src="../../static/images/my/ltx.png"
|
||||
style="width: 30px;height: 30px;margin-bottom: 4px;margin-top: 15px;"></image>
|
||||
<view class="">
|
||||
聊天室
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<view class="sdza" @click="goNavcertifiCate()"
|
||||
style="background: url(../../static/images/my/gyw04.png);background-size: cover;">
|
||||
<image src="../../static/images/my/gyw10.png"
|
||||
style="width: 32px;height: 30px;margin-bottom: 4px;margin-top: 15px;"></image>
|
||||
<image src="../../static/images/my/zhengjian.png"
|
||||
style="width: 64rpx;height: 50rpx;margin-bottom: 4px;margin-top: 15px;"></image>
|
||||
<view class="">
|
||||
证件
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="sdza" @click="goNavcertifiCate()"
|
||||
style="background: url(../../static/images/my/gyw05.png);background-size: cover;">
|
||||
<image src="../../static/images/my/gyw11.png"
|
||||
style="width: 24px;height: 30px;margin-bottom: 4px;margin-top: 15px;"></image>
|
||||
<image src="../../static/images/my/ziyuan.png"
|
||||
style="width: 48rpx;height: 64rpx;margin-bottom: 4px;margin-top: 15px;"></image>
|
||||
<view class="">
|
||||
证件资质
|
||||
</view>
|
||||
</view>
|
||||
<view class="sdza" @click="goNfeedback()"
|
||||
style="background: url(../../static/images/my/gyw06.png);background-size: cover;">
|
||||
<image src="../../static/images/my/hetong.png"
|
||||
style="width: 54rpx;height: 60rpx;margin-bottom: 4px;margin-top: 15px;"></image>
|
||||
<view class="">
|
||||
合同
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <view class="sdza" @click="goNfeedback()"
|
||||
style="background: url(../../static/images/my/gyw06.png);background-size: cover;">
|
||||
<image src="../../static/images/my/gyw12.png"
|
||||
style="width: 27px;height: 30px;margin-bottom: 4px;margin-top: 15px;"></image>
|
||||
<view class="">
|
||||
意见反馈
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<view style="width: 100%;margin: 10px 0;" @click="goNav('/package/pages/zysc/index/index')"
|
||||
v-if="shopSel != '否'">
|
||||
<image src="../../static/images/my/shangc.png" style="width: 100%;height: 80px;"></image>
|
||||
<image src="../../static/index/fun_banner.png" style="width: 100%;height: 80px;"></image>
|
||||
</view>
|
||||
<view class="" style="font-size: 32rpx;font-weight: bold;color: #333333;margin-bottom: 26rpx;">
|
||||
<view class="wode-title" style="margin-bottom: 26rpx;">
|
||||
常用功能
|
||||
</view>
|
||||
<view class="flex justify-between margin-top" style="width: 100%;flex-wrap: wrap;">
|
||||
|
@ -196,22 +202,28 @@
|
|||
<view class="box_text">我的钱包</view>
|
||||
</view> -->
|
||||
<view class="box" @click="goChat()">
|
||||
<image src="../../static/images/my/kefu.png"></image>
|
||||
<image src="../../static/index/function1.png"></image>
|
||||
<view class="box_text">联系客服</view>
|
||||
</view>
|
||||
|
||||
<view class="box" @click="goNav('/my/help/feedbackIndex')">
|
||||
<image src="../../static/images/my/help.png"></image>
|
||||
<image src="../../static/index/function2.png"></image>
|
||||
<view class="box_text">帮助中心</view>
|
||||
</view>
|
||||
<view class="box" @click="goNav('/pages/poster/index')">
|
||||
<!-- v-if="renzheng > 0 && XCXIsSelect != '否'" -->
|
||||
<image src="../../static/index/function3.png"></image>
|
||||
<view class="box_text">邀请理疗师</view>
|
||||
</view>
|
||||
<view class="box" @click="goNav('/my/setting/index')">
|
||||
<image src="../../static/index/function4.png"></image>
|
||||
<view class="box_text">设置中心</view>
|
||||
</view>
|
||||
<!-- <view class="box" v-if="renzheng == 0 && XCXIsSelect != '否'" @click="goNav('/my/renzheng/rzType')">
|
||||
<image src="../../static/images/my/renzheng.png"></image>
|
||||
<view class="box_text">实名认证</view>
|
||||
</view> -->
|
||||
<view class="box" @click="goNav('/pages/poster/index')" v-if="renzheng > 0 && XCXIsSelect != '否'">
|
||||
<image src="../../static/images/my/shops.png"></image>
|
||||
<view class="box_text">邀请理疗师</view>
|
||||
</view>
|
||||
|
||||
<!-- <view class="box" @click="goNav('/my/publish/money')" v-if="bzjCheck != '否' && XCXIsSelect != '否'">
|
||||
<image src="../../static/images/my/baozhengjin.png"></image>
|
||||
<view class="box_text">保证金</view>
|
||||
|
@ -222,10 +234,7 @@
|
|||
<view class="box_text">我的团队</view>
|
||||
</view> -->
|
||||
|
||||
<view class="box" @click="goNav('/my/setting/index')">
|
||||
<image src="../../static/images/my/me.png"></image>
|
||||
<view class="box_text">设置中心</view>
|
||||
</view>
|
||||
|
||||
<!-- <view class="box" @click="uploadAudioStart()">
|
||||
<image src="../../static/images/my/shop.png"></image>
|
||||
<view class="box_text">报警开始</view>
|
||||
|
@ -751,7 +760,29 @@
|
|||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
<style lang="scss" scoped>
|
||||
.wode-title{
|
||||
font-size: 36rpx;
|
||||
font-weight: bold;
|
||||
color: #333333;
|
||||
margin-bottom: 26rpx;
|
||||
}
|
||||
.wode-view{
|
||||
width: 150rpx;
|
||||
height: 96rpx;
|
||||
background: #007B6A;
|
||||
border-radius: 20rpx;
|
||||
color: #fff;
|
||||
line-height: 96rpx;
|
||||
}
|
||||
.jishi-index-title{
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
font-size: 33rpx;
|
||||
color: #FFFFFF;
|
||||
padding-top: 20px;
|
||||
}
|
||||
page {
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
|
@ -761,10 +792,11 @@
|
|||
}
|
||||
|
||||
.headbox {
|
||||
background-image: url(../../static/images/my/bgbo.png);
|
||||
background-size: cover;
|
||||
height: 350px;
|
||||
width: 100%;
|
||||
padding: 0 30rpx;
|
||||
height: 315px;
|
||||
background-image: url('../../static/index/technician15.png');
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.xyf {
|
||||
|
@ -796,14 +828,14 @@
|
|||
}
|
||||
|
||||
.money_text1 {
|
||||
font-size: 17px;
|
||||
font-weight: bold;
|
||||
font-size: 46rpx;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.moneybox {
|
||||
width: 100%;
|
||||
margin-top: 36px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.btnyt {
|
||||
|
@ -815,6 +847,7 @@
|
|||
color: #333333;
|
||||
font-size: 30rpx;
|
||||
border-radius: 40rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.xflist {
|
||||
|
@ -839,10 +872,10 @@
|
|||
margin-bottom: 20rpx;
|
||||
|
||||
.box_text {
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #333333;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #090909;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
image {
|
||||
|
|
|
@ -36,8 +36,8 @@
|
|||
<view style="font-weight: 500;color: #999999;font-size: 28rpx;margin-right: 20rpx;" v-if="tripWay != 0">
|
||||
<!-- {{tripWay == 1 ? '公交' ? tripWay == 2 : '出租'}} -->
|
||||
<text v-if="tripWay == 1">公交</text>
|
||||
<text v-if="tripWay == 2">出租</text>
|
||||
<text v-if="tripWay == 3">免费</text>
|
||||
<text v-if="tripWay == 2">出租 (免费出行{{tripWayNum}}公里)</text>
|
||||
</view>
|
||||
<image src="../../static/images/my/right.png" style="width: 12rpx;height: 21rpx;"></image>
|
||||
</view>
|
||||
|
@ -50,6 +50,7 @@
|
|||
export default {
|
||||
data() {
|
||||
return {
|
||||
tripWayNum:'',
|
||||
tripWay: 0,
|
||||
show: false,
|
||||
renzheng: 0,
|
||||
|
@ -82,12 +83,17 @@
|
|||
});
|
||||
},
|
||||
cxCallback(index) {
|
||||
console.log(index)
|
||||
this.setChuXing(index + 1)
|
||||
if(index=='0'||index=='1'){
|
||||
this.setChuXing(index + 1)
|
||||
}else{
|
||||
var that=this;
|
||||
that.tripWayNum = uni.getStorageSync('tripWayNum');
|
||||
that.setChuXing(index+1,that.tripWayNum)
|
||||
}
|
||||
},
|
||||
setChuXing(tripWay) {
|
||||
setChuXing(tripWay,tripWayNum) {
|
||||
this.$queue.showLoading('设置中...')
|
||||
this.$Request.postT("/app/artificer/updateArtificerTripWay?tripWay=" + tripWay).then(res => {
|
||||
this.$Request.postT("/app/artificer/updateArtificerTripWay?tripWay=" + tripWay+'&tripWayNum='+tripWayNum).then(res => {
|
||||
uni.hideLoading();
|
||||
if (res.code == 0) {
|
||||
this.$queue.showToast('设置成功!');
|
||||
|
|
|
@ -0,0 +1,737 @@
|
|||
<!-- 菜单悬浮的原理: 通过给菜单添加position:sticky实现, 用法超简单, 仅APP端的低端机不兼容 https://caniuse.com/#feat=css-sticky -->
|
||||
<template>
|
||||
<view class="content">
|
||||
<!-- 对于mescroll-body: 需设置:sticky="true", 此应避免在mescroll-body标签前面加其他非定位的元素, 否则下拉区域会被挤出, 无法会隐藏.-->
|
||||
<!-- 对于mescroll-uni: 则无需设置:sticky="true", 无其他限制和要求 -->
|
||||
|
||||
<!-- sticky吸顶悬浮的菜单, 父元素必须是 mescroll -->
|
||||
<view class="sticky-tabs">
|
||||
<view class=" u-flex padding ding-view">
|
||||
<view class="u-m-r-10">
|
||||
<image :src="avatar" style="width: 100rpx;height: 100rpx;border-radius: 100rpx;"
|
||||
@click="goNav('/pages/my/userinfo')"></image>
|
||||
</view>
|
||||
<view class="u-flex-1 u-m-l-10 " v-if="isLogin && userName">
|
||||
<view class="u-font-18 text-bold">
|
||||
<view class="flex align-center" style="justify-content: space-between;">
|
||||
<view class="margin-left-sm " style="color: #ffffff;">{{ userName }}</view>
|
||||
<view class="labe zhuangtai" @tap="stateSave">
|
||||
<view v-if="isTrue">已上线</view>
|
||||
<view v-if="!isTrue">已离线</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex margin-left-sm margin-top-xs"
|
||||
style="font-size: 22rpx;font-weight: 500;color: #ffffff;">
|
||||
<view v-if="renzheng == 0" @click.stop="goNav('/my/renzheng/index?classify=' + 1)">
|
||||
暂未实名认证
|
||||
</view>
|
||||
<view v-if="renzheng == 1" @click.stop="goNav('/my/renzheng/index?classify=' + 1)">
|
||||
实名审核中
|
||||
</view>
|
||||
<view v-if="renzheng == 2">
|
||||
已实名认证
|
||||
</view>
|
||||
<view v-if="renzheng == 3" @click.stop="goNav('/my/renzheng/index?classify=' + 1)">
|
||||
实名已拒绝
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view v-else class="text-xl u-p-l-20 text-bold" @click="goLogin('/pages/public/login')"
|
||||
style="color: #ffffff;">
|
||||
登录
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="flex align-center padding-left bg">
|
||||
<image src="../../static/images/data.png" style="width: 26upx;height: 26upx;"></image>
|
||||
<view class="margin-left-xs flex align-center" style="color: #999999;">
|
||||
<view @click="bindData(1)">{{startTime?startTime:'开始时间'}}</view>
|
||||
至
|
||||
<view @click="bindData(2)">{{endTime?endTime:'结束时间'}}</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<!-- <me-tabs v-model="tabIndex" nameKey='title' :tabs="tabs" @change="tabChange"></me-tabs> -->
|
||||
<u-tabs :list="tabs" :is-scroll="true" :current="tabIndex" @change="tabChange" active-color="#000000"
|
||||
inactive-color="#999999" :customStyle="{ 'background-color': '#050505' }" isShowImg textClass="">
|
||||
</u-tabs>
|
||||
</view>
|
||||
|
||||
<mescroll-body :sticky="true" ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"
|
||||
style="padding: 0 16px;width: 100%;min-height: 100vh;">
|
||||
<!-- 数据列表 -->
|
||||
<!-- <view v-if="goods.length > 0" class="margin-sm padding-sm bg radius" v-for="(item,index) in goods"
|
||||
:key='index' @click="clickItem(item)"> -->
|
||||
<view class="bgwhite radius margin-bottom-sm padding-bottom-sm " v-for="(item, index) in goods" :key='index'
|
||||
@click="goNav('/my/order/pay?ordersId=' + item.ordersId)">
|
||||
<view class="flex justify-between padding-sm">
|
||||
|
||||
<view class="text-green" v-if="item.status == 1">待付款...</view>
|
||||
<view class="text-green" v-if="item.status == 2">待服务</view>
|
||||
<view class="text-green" v-if="item.status == 5">已完成</view>
|
||||
<view class="text-green" v-if="item.status == 6">服务中</view>
|
||||
<view class="text-green" v-if="item.status == 7">已出发</view>
|
||||
<view class="text-green" v-if="item.status == 8">已到达</view>
|
||||
<view class="text-green" v-if="item.status == 3">待评价</view>
|
||||
<view class="text-green" v-if="item.status == 4" style="color: #999999;">已取消</view>
|
||||
<view v-if="item.overTimeOrders == 1" style="color: red;font-size: 26rpx">(订单已超时)</view>
|
||||
<!-- <view class="text-green" v-if="item.state ==1 ||item.state ==2">待完成</view>
|
||||
|
||||
<view class="text-green" v-if="item.state ==3||item.state ==4">已完成</view> -->
|
||||
|
||||
<view class="text-green">预约时间:{{ item.serveTime }}</view>
|
||||
</view>
|
||||
<view class="xian"></view>
|
||||
<view class=" u-flex u-p-t-30 padding-sm">
|
||||
<view class="u-m-r-10">
|
||||
<u-avatar :src="item.massageImg ? item.massageImg : '../../static/logo.png'" mode="square"
|
||||
size="100">
|
||||
</u-avatar>
|
||||
</view>
|
||||
<view class="u-flex-1 margin-left-xs">
|
||||
<view class="u-font-18 text-bold u-line-1" style="width: 560rpx;">
|
||||
<view class="margin-right-xs text-df margin-left-xs"
|
||||
style="margin-top: 0rpx;display: inline-block;width: 400rpx; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
|
||||
{{ item.title }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="margin-left-xs text-cut" style="width:550upx">{{ item.address }}</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex u-p-t-20 justify-between align-center padding-sm">
|
||||
<view class=" flex-sub ">
|
||||
实收:<text class="text-df">¥</text><text class="text-xl text-bold">{{ item.sumArtificerMoney
|
||||
}}</text>
|
||||
</view>
|
||||
<view class="flex text-right">
|
||||
<!-- <u-button v-if="item.status == 1" :custom-style="customStyle" shape="circle" :plain="true"
|
||||
@click="cancelOrder(item)">取消订单</u-button> -->
|
||||
<!-- <u-button v-if="item.status == 1" :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="bindphone(item.phone)">联系TA</u-button> -->
|
||||
|
||||
<u-button v-if="item.state == 1" :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/pay?id=' + item.ordersId + '&isTrue=1')">查看详情</u-button>
|
||||
<u-button v-if="item.status == 6" :custom-style="customStyle" shape="circle" :plain="true"
|
||||
@click="cancel(item)">服务完成</u-button>
|
||||
</view>
|
||||
</view>
|
||||
<view class="xian" v-if="item.status == 6"></view>
|
||||
<view class="pintuan_syrs flex justify-between" v-if="item.status == 6">
|
||||
<view style="font-size: 28rpx;font-family: PingFang SC;font-weight: bold;color: #096f4b;">服务倒计时
|
||||
</view>
|
||||
<u-count-down :timestamp="endOfServiceTimer" separator-color="#20C675" color="#20C675"
|
||||
font-size="30" separator-size="30"></u-count-down>
|
||||
<!-- <uni-countdown ref="countDownEl" :title="'剩余'" :showDay="false" :fontSize="'14'"
|
||||
:hour="item.endTime.hour" :minute="item.endTime.minute" :second="item.endTime.second"
|
||||
color="#20C675" /> -->
|
||||
<!-- <uni-countdown :day="item.endTime.day" :hour="item.endTime.hour" :minute="item.endTime.minute"
|
||||
:second="item.endTime.second">
|
||||
</uni-countdown> -->
|
||||
</view>
|
||||
</view>
|
||||
<empty v-if="goods.length == 0"></empty>
|
||||
<!-- 开始时间 -->
|
||||
<u-picker v-model="startshow" mode="time" :params="paramsStart" @confirm="startData"></u-picker>
|
||||
<!-- 结束时间 -->
|
||||
<u-picker v-model="endshow" mode="time" :params="paramsEnd" @confirm="endData"></u-picker>
|
||||
</mescroll-body>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import MescrollMixin from "@/components/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
|
||||
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'
|
||||
import * as websocketUtils from 'utils/websocketUtils.js';
|
||||
|
||||
export default {
|
||||
mixins: [MescrollMixin], // 使用mixin
|
||||
components: {
|
||||
mescrollBody,
|
||||
meTabs,
|
||||
empty
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
endOfServiceTimer: null,
|
||||
goods: [], // 数据列表
|
||||
num: 1,
|
||||
game: [],
|
||||
tabs: [{
|
||||
//这四个都支持支持class,style,src,onClick,等html内容
|
||||
//选中图片
|
||||
activityImageProps: {
|
||||
src: '../../static/images/order_01.png',
|
||||
style: 'width: 26px;height: 26px;',
|
||||
},
|
||||
//未选中时的样式
|
||||
noactivityImageProps: {
|
||||
src: '../../static/images/order_011.png',
|
||||
style: 'width: 26px;height: 26px;',
|
||||
},
|
||||
//选中时的文字
|
||||
activityTitleTextProps: {
|
||||
class: 'activityTitleTextProps',
|
||||
},
|
||||
//未选中时的文字
|
||||
noactivityTitleTextProps: {
|
||||
class: 'noactivityTitleTextProps',
|
||||
},
|
||||
name: '今日订单',
|
||||
status: '1'
|
||||
}, {
|
||||
activityImageProps: {
|
||||
src: '../../static/images/order_02.png',
|
||||
style: 'width: 26px;height: 26px;',
|
||||
},
|
||||
noactivityImageProps: {
|
||||
src: '../../static/images/order_022.png',
|
||||
style: 'width: 26px;height: 26px;',
|
||||
},
|
||||
activityTitleTextProps: {
|
||||
class: 'activityTitleTextProps',
|
||||
},
|
||||
noactivityTitleTextProps: {
|
||||
class: 'noactivityTitleTextProps',
|
||||
},
|
||||
name: '待服务',
|
||||
status: '2'
|
||||
}, {
|
||||
activityImageProps: {
|
||||
src: '../../static/images/order_03.png',
|
||||
style: 'width: 26px;height: 26px;',
|
||||
},
|
||||
noactivityImageProps: {
|
||||
src: '../../static/images/order_033.png',
|
||||
style: 'width: 26px;height: 26px;',
|
||||
},
|
||||
activityTitleTextProps: {
|
||||
class: 'activityTitleTextProps',
|
||||
},
|
||||
noactivityTitleTextProps: {
|
||||
class: 'noactivityTitleTextProps',
|
||||
},
|
||||
name: '已完成',
|
||||
status: '3'
|
||||
}, {
|
||||
activityImageProps: {
|
||||
src: '../../static/images/order_04.png',
|
||||
style: 'width: 26px;height: 26px;',
|
||||
},
|
||||
noactivityImageProps: {
|
||||
src: '../../static/images/order_044.png',
|
||||
style: 'width: 26px;height: 26px;',
|
||||
},
|
||||
activityTitleTextProps: {
|
||||
class: 'activityTitleTextProps',
|
||||
},
|
||||
noactivityTitleTextProps: {
|
||||
class: 'noactivityTitleTextProps',
|
||||
},
|
||||
name: '历史订单',
|
||||
status: '4'
|
||||
}],
|
||||
tabIndex: 0, // tab下标
|
||||
isTrue: true,
|
||||
page: 1,
|
||||
limit: 10,
|
||||
userId: 0,
|
||||
status: 1,
|
||||
nickName: '',
|
||||
customStyle: {
|
||||
color: '#999999',
|
||||
border: '2rpx solid #999999',
|
||||
// backgroundColor: '#1E1F31',
|
||||
border: "8rpx",
|
||||
width: '180rpx',
|
||||
height: '54rpx',
|
||||
margin: "0 0 0 20rpx"
|
||||
},
|
||||
customStyle1: {
|
||||
color: '#096f4b',
|
||||
border: '2rpx solid #096f4b',
|
||||
border: "8rpx",
|
||||
width: '180rpx',
|
||||
height: '54rpx',
|
||||
margin: "0 0 0 20rpx"
|
||||
},
|
||||
latitude: '',
|
||||
longitude: '',
|
||||
avatar: '../../static/logo.png',
|
||||
isLogin: true,
|
||||
userName: '',
|
||||
renzheng: 0,
|
||||
startshow: false,
|
||||
endshow: false,
|
||||
paramsStart: {
|
||||
year: true,
|
||||
month: true,
|
||||
day: true,
|
||||
hour: false,
|
||||
minute: false,
|
||||
second: false
|
||||
},
|
||||
paramsEnd: {
|
||||
year: true,
|
||||
month: true,
|
||||
day: true,
|
||||
hour: false,
|
||||
minute: false,
|
||||
second: false
|
||||
},
|
||||
startTime: '',
|
||||
endTime: '',
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.$queue.showLoading("加载中...");
|
||||
this.userId = uni.getStorageSync('userId')
|
||||
this.nickName = uni.getStorageSync('nickName')
|
||||
let that = this;
|
||||
uni.getLocation({
|
||||
type: 'wgs84',
|
||||
success: function(res) {
|
||||
console.log('当前位置的经度:' + res.longitude);
|
||||
console.log('当前位置的纬度:' + res.latitude);
|
||||
that.$queue.setData('longitude', res.longitude);
|
||||
that.$queue.setData('latitude', res.latitude);
|
||||
that.latitude = res.latitude
|
||||
that.longitude = res.longitude
|
||||
}
|
||||
});
|
||||
},
|
||||
onShow() {
|
||||
let that = this;
|
||||
this.userId = uni.getStorageSync('userId')
|
||||
if (this.userId) {
|
||||
this.getArtificer()
|
||||
this.isLogin = true
|
||||
this.getUserInfo()
|
||||
|
||||
} else {
|
||||
this.isLogin = false
|
||||
this.userName = ''
|
||||
this.browse = 0
|
||||
this.fans = 0
|
||||
this.follow = 0
|
||||
this.visitor = 0
|
||||
this.avatar = '../../static/logo.png'
|
||||
}
|
||||
setTimeout(d => {
|
||||
this.mescroll.resetUpScroll()
|
||||
}, 1000)
|
||||
this.upCallback({
|
||||
num: this.num
|
||||
});
|
||||
},
|
||||
watch: {
|
||||
isTrue(newValue) {
|
||||
if (newValue) {
|
||||
this.$queue.showToast('您已上线');
|
||||
} else {
|
||||
this.$queue.showToast('您已离线');
|
||||
}
|
||||
},
|
||||
isLogin(newValue) {
|
||||
if (!newValue) {
|
||||
this.goods = [];
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//获取理疗师的信息
|
||||
getArtificer() {
|
||||
this.$Request.getT("/app/artificer/selectArtificer").then(res => {
|
||||
if (res.code == 0) {
|
||||
if (res.data) {
|
||||
if (res.data.status == 1) {
|
||||
this.isTrue = true
|
||||
} else if (res.data.status == 2) {
|
||||
this.isTrue = false
|
||||
}
|
||||
} else {
|
||||
this.isTrue = false
|
||||
}
|
||||
websocketUtils.changeGoLiveFn(this.isTrue);
|
||||
uni.setStorageSync('artificerId', res.data?.artificerId)
|
||||
}
|
||||
});
|
||||
},
|
||||
stateSave() {
|
||||
this.$Request.postT('/app/artificer/updateArtificer').then(res => {
|
||||
if (res.code == 0) {
|
||||
this.getArtificer();
|
||||
} else {
|
||||
this.$queue.showToast(res.msg);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 拨打电话
|
||||
bindphone(phone) {
|
||||
let that = this
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '是否拨打电话',
|
||||
success: function(res) {
|
||||
if (res.confirm) {
|
||||
console.log('用户点击确定', phone);
|
||||
uni.makePhoneCall({
|
||||
phoneNumber: phone //仅为示例
|
||||
});
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/*下拉刷新的回调 */
|
||||
downCallback() {
|
||||
// 这里加载你想下拉刷新的数据, 比如刷新轮播数据
|
||||
// loadSwiper();
|
||||
// 下拉刷新的回调,默认重置上拉加载列表为第一页 (自动执行 page.num=1, 再触发upCallback方法 )
|
||||
this.mescroll.resetUpScroll()
|
||||
},
|
||||
timeFormat(param) {
|
||||
return param < 10 ? '0' + param : param;
|
||||
},
|
||||
/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
|
||||
upCallback(page) {
|
||||
// debugger;
|
||||
if (!this.isLogin) {
|
||||
uni.hideLoading();
|
||||
if (this.mescroll) this.mescroll.endSuccess(); // 隐藏加载状态栏
|
||||
return;
|
||||
}
|
||||
// debugger;
|
||||
|
||||
let curTab = this.tabs[this.tabIndex].status
|
||||
this.num = page.num;
|
||||
let data = {
|
||||
type: curTab,
|
||||
page: page.num,
|
||||
limit: page.size,
|
||||
startTime: this.startTime,
|
||||
endTime: this.endTime
|
||||
}
|
||||
this.$Request.get('/app/artificer/selectTodayOrder', data).then(res => {
|
||||
uni.hideLoading();
|
||||
this.mescroll.endBySize(res.data.list.length, res.data.totalCount)
|
||||
if (page.num == 1) this.goods = []; //如果是第一页需手动制空列表
|
||||
this.goods = [...this.goods, ...res.data.list]; //追加新数据
|
||||
|
||||
this.goods.forEach(ret => {
|
||||
switch (ret.state) {
|
||||
case '1':
|
||||
ret.statusName = '今日订单'
|
||||
break;
|
||||
case '2':
|
||||
ret.statusName = '待完成'
|
||||
break;
|
||||
case '3':
|
||||
ret.statusName = '已完成'
|
||||
break;
|
||||
case '4':
|
||||
ret.statusName = '历史订单'
|
||||
break;
|
||||
}
|
||||
if (ret.status == 6 && ret.endTime) {
|
||||
let afterTimeStamp = new Date(ret.endTime).getTime() / 1000;
|
||||
let currentTimeStamp = new Date().getTime() / 1000;
|
||||
let formatTimeStamp = Math.floor(afterTimeStamp - currentTimeStamp);
|
||||
this.endOfServiceTimer = formatTimeStamp;
|
||||
}
|
||||
if (this.$refs.countDownEl) this.$refs.countDownEl.update();
|
||||
})
|
||||
this.mescroll.endSuccess(res.data.list.length); // 隐藏加载状态栏
|
||||
|
||||
}).catch(() => {
|
||||
//联网失败, 结束加载
|
||||
this.mescroll.endErr();
|
||||
});
|
||||
},
|
||||
// 切换菜单
|
||||
tabChange(index) {
|
||||
this.tabIndex = index
|
||||
this.goods = []; // 置空列表,显示加载进度条
|
||||
this.mescroll.resetUpScroll()
|
||||
},
|
||||
// 取消订单
|
||||
cancelOrder(e) {
|
||||
let that = this
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '确认取消订单吗?取消订单将会被扣除信用分!',
|
||||
success: function(res) {
|
||||
if (res.confirm) {
|
||||
let data = {
|
||||
ordersId: e.ordersId,
|
||||
}
|
||||
that.$queue.showLoading('提交中...')
|
||||
that.$Request.post('/app/artificer/deleteOrders', data).then(res => {
|
||||
uni.hideLoading();
|
||||
if (res.code == 0) {
|
||||
that.mescroll.resetUpScroll()
|
||||
} else {
|
||||
that.$queue.showToast(res.msg);
|
||||
}
|
||||
})
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
// 完成订单
|
||||
cancel(e) {
|
||||
let that = this
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '如果服务未完成点击完成订单会遭到平台违规处理,请确认服务是否完毕?',
|
||||
success: function(res) {
|
||||
if (res.confirm) {
|
||||
let data = {
|
||||
ordersId: e.ordersId,
|
||||
accomplishLongitude: that.longitude,
|
||||
accomplishLatitude: that.latitude
|
||||
}
|
||||
that.$queue.showLoading('提交中...')
|
||||
that.$Request.post('/app/artificer/accomplishOrders', data).then(res => {
|
||||
uni.hideLoading();
|
||||
if (res.code == 0) {
|
||||
that.mescroll.resetUpScroll()
|
||||
websocketUtils.uploadAudioEnd(); //关闭音频上传
|
||||
} else {
|
||||
that.$queue.showToast(res.msg);
|
||||
}
|
||||
})
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
//时间弹框开关
|
||||
bindData(index) {
|
||||
console.log(index, 1111)
|
||||
if (index == 1) {
|
||||
this.startshow = true
|
||||
} else if (index == 2) {
|
||||
this.endshow = true
|
||||
|
||||
}
|
||||
},
|
||||
//开始时间
|
||||
startData(e) {
|
||||
// console.log(e)
|
||||
this.startTime = e.year + ' ' + e.month + '-' + e.day
|
||||
},
|
||||
// 结束时间
|
||||
endData(e) {
|
||||
this.endTime = e.year + ' ' + e.month + '-' + e.day
|
||||
// console.log(this.endTime)
|
||||
this.mescroll.resetUpScroll()
|
||||
},
|
||||
goNav(e, name) {
|
||||
console.log(e)
|
||||
if (this.userId) {
|
||||
uni.navigateTo({
|
||||
url: e
|
||||
})
|
||||
} else {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '您还未登录,请先登录',
|
||||
success: function(res) {
|
||||
if (res.confirm) {
|
||||
console.log('用户点击确定');
|
||||
uni.navigateTo({
|
||||
url: '/pages/public/login'
|
||||
})
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
getUserInfo() {
|
||||
this.$Request.get("/app/user/selectUserById").then(res => {
|
||||
if (res.code == 0) {
|
||||
this.userName = res.data.userName
|
||||
this.invitationCode = res.data.invitationCode
|
||||
this.avatar = res.data.avatar ? res.data.avatar : '../../static/logo.png'
|
||||
this.isAuthentication = res.data.isAuthentication
|
||||
|
||||
// uni.setStorageSync('isAuthentication', res.data.isAuthentication)
|
||||
|
||||
uni.setStorageSync('avatar', res.data.avatar)
|
||||
uni.setStorageSync('invitationCode', res.data.invitationCode)
|
||||
uni.setStorageSync('zhiFuBao', res.data.zhiFuBao)
|
||||
uni.setStorageSync('zhiFuBaoName', res.data.zhiFuBaoName)
|
||||
|
||||
if (res.data.isAuthentication == 0 || res.data.isAuthentication == null) {
|
||||
this.renzheng = 0
|
||||
uni.setStorageSync("renzheng", this.renzheng)
|
||||
} else if (res.data.isAuthentication == 1) {
|
||||
this.renzheng = 1
|
||||
uni.setStorageSync("renzheng", this.renzheng)
|
||||
} else if (res.data.isAuthentication == 2) {
|
||||
this.renzheng = 2
|
||||
uni.setStorageSync("renzheng", this.renzheng)
|
||||
} else if (res.data.isAuthentication == 3) {
|
||||
this.renzheng = 3
|
||||
uni.setStorageSync("renzheng", this.renzheng)
|
||||
} else if (res.data.isAuthentication == 4) {
|
||||
this.renzheng = 4
|
||||
uni.setStorageSync("renzheng", this.renzheng)
|
||||
} else if (res.data.isAuthentication == 5) {
|
||||
this.renzheng = 5
|
||||
uni.setStorageSync("renzheng", this.renzheng)
|
||||
} else if (res.data.isAuthentication == 6) {
|
||||
this.renzheng = 6
|
||||
uni.setStorageSync("renzheng", this.renzheng)
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
/*
|
||||
sticky生效条件:
|
||||
1、父元素不能overflow:hidden或者overflow:auto属性。(mescroll-body设置:sticky="true"即可, mescroll-uni本身没有设置overflow)
|
||||
2、必须指定top、bottom、left、right4个值之一,否则只会处于相对定位
|
||||
3、父元素的高度不能低于sticky元素的高度
|
||||
4、sticky元素仅在其父元素内生效,所以父元素必须是 mescroll
|
||||
*/
|
||||
|
||||
.ding-view{
|
||||
width: 95%;
|
||||
height: 290rpx;
|
||||
background: linear-gradient(-90deg, #019C88, #1BB9A5, #029D88);
|
||||
border-radius: 24rpx;
|
||||
margin: 10px auto 0px auto;
|
||||
align-items: end;
|
||||
}
|
||||
.content{
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
background-image: url('../../static/index/swim.jpg');
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding-bottom: 30px;
|
||||
}
|
||||
|
||||
.u-tabs {
|
||||
padding: 16px;
|
||||
width: 90%;
|
||||
height: 199rpx;
|
||||
background: #F7F7F7 !important;
|
||||
border-radius: 21rpx;
|
||||
margin: -70px auto 0px auto;
|
||||
}
|
||||
|
||||
/deep/.u-scroll-view {
|
||||
padding: 10px 16px !important;
|
||||
}
|
||||
|
||||
/deep/.u-tab-item {
|
||||
height: auto !important;
|
||||
line-height: normal !important;
|
||||
width: 25% !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
/deep/.u-tab-bar {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.sticky-tabs {
|
||||
width: 100%;
|
||||
z-index: 990;
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
// background-color: #fff;
|
||||
}
|
||||
|
||||
/deep/.activityTitleTextProps {
|
||||
color: #096f4b;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/deep/.noactivityTitleTextProps {
|
||||
color: #666666;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
// 使用mescroll-uni,则top为0
|
||||
.mescroll-uni,
|
||||
/deep/.mescroll-uni {
|
||||
.sticky-tabs {
|
||||
top: 300upx;
|
||||
}
|
||||
}
|
||||
|
||||
.demo-tip {
|
||||
padding: 18upx;
|
||||
font-size: 24upx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/deep/.page-box {
|
||||
background: top !important;
|
||||
}
|
||||
|
||||
.bg {
|
||||
background-image: linear-gradient(to right, #223845, #00a85b);
|
||||
padding: 16px 16px 36px 16px;
|
||||
}
|
||||
|
||||
.bgwhite {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.xian {
|
||||
width: 100%;
|
||||
height: 1rpx;
|
||||
border: 1rpx solid #f8f8f8;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
|
||||
.pintuan_syrs {
|
||||
color: #999999;
|
||||
font-size: 20upx;
|
||||
margin: 20rpx 20rpx 0rpx;
|
||||
display: flex;
|
||||
padding-right: 18upx;
|
||||
}
|
||||
|
||||
.labe {
|
||||
width: 42px;
|
||||
background: #FFE45A;
|
||||
border-radius: 15rpx 0rpx 15rpx 0rpx;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
color: #7A3A00;
|
||||
font-size: 22rpx;
|
||||
font-weight: 400;
|
||||
height: 36rpx;
|
||||
margin-left: 20rpx;
|
||||
justify-content: center;
|
||||
text {
|
||||
width: 12rpx;
|
||||
height: 12rpx;
|
||||
background: #20C675;
|
||||
border-radius: 50%;
|
||||
margin-right: 8rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,22 +1,21 @@
|
|||
<!-- 菜单悬浮的原理: 通过给菜单添加position:sticky实现, 用法超简单, 仅APP端的低端机不兼容 https://caniuse.com/#feat=css-sticky -->
|
||||
<template>
|
||||
<view>
|
||||
<view class="content">
|
||||
<!-- 对于mescroll-body: 需设置:sticky="true", 此应避免在mescroll-body标签前面加其他非定位的元素, 否则下拉区域会被挤出, 无法会隐藏.-->
|
||||
<!-- 对于mescroll-uni: 则无需设置:sticky="true", 无其他限制和要求 -->
|
||||
|
||||
<!-- sticky吸顶悬浮的菜单, 父元素必须是 mescroll -->
|
||||
<view class="sticky-tabs">
|
||||
<view class=" u-flex padding bg">
|
||||
<view class=" u-flex padding ding-view">
|
||||
<view class="u-m-r-10">
|
||||
<image :src="avatar" style="width: 100rpx;height: 100rpx;border-radius: 100rpx;"
|
||||
@click="goNav('/pages/my/userinfo')"></image>
|
||||
</view>
|
||||
<view class="u-flex-1 u-m-l-10 " v-if="isLogin && userName">
|
||||
<view class="u-font-18 text-bold">
|
||||
<view class="flex align-center">
|
||||
<view class="flex align-center" style="justify-content: space-between;">
|
||||
<view class="margin-left-sm " style="color: #ffffff;">{{ userName }}</view>
|
||||
<view class="labe" @tap="stateSave">
|
||||
<text :style="{ background: !isTrue ? '#FF0000' : '#20C675' }"></text>
|
||||
<view class="labe zhuangtai" @tap="stateSave">
|
||||
<view v-if="isTrue">已上线</view>
|
||||
<view v-if="!isTrue">已离线</view>
|
||||
</view>
|
||||
|
@ -59,21 +58,21 @@
|
|||
</view>
|
||||
|
||||
<mescroll-body :sticky="true" ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"
|
||||
style="padding: 0 16px;background-color: #f7f7f7;">
|
||||
style="padding: 0 16px;width: 100%;min-height: 100vh;">
|
||||
<!-- 数据列表 -->
|
||||
<!-- <view v-if="goods.length > 0" class="margin-sm padding-sm bg radius" v-for="(item,index) in goods"
|
||||
:key='index' @click="clickItem(item)"> -->
|
||||
<view class="bgwhite radius margin-bottom-sm padding-bottom-sm " v-for="(item, index) in goods" :key='index'
|
||||
@click="goNav('/my/order/pay?ordersId=' + item.ordersId)">
|
||||
<view class="bgwhite radius margin-bottom-sm padding-bottom-sm" v-for="(item, index) in goods" :key='index'
|
||||
@click="goNav('/my/order/revenueDetails?ordersId=' + item.ordersId)">
|
||||
<view class="flex justify-between padding-sm">
|
||||
|
||||
<view class="text-green" v-if="item.status == 1">待付款...</view>
|
||||
<view class="text-green" v-if="item.status == 2">待服务</view>
|
||||
<view class="text-green" v-if="item.status == 5">已完成</view>
|
||||
<view class="text-green" v-if="item.status == 3">已完成</view>
|
||||
<view class="text-green" v-if="item.status == 6">服务中</view>
|
||||
<view class="text-green" v-if="item.status == 7">已出发</view>
|
||||
<view class="text-green" v-if="item.status == 8">已到达</view>
|
||||
<view class="text-green" v-if="item.status == 3">待评价</view>
|
||||
<view class="text-green" v-if="item.status == 5">待评价</view>
|
||||
<view class="text-green" v-if="item.status == 4" style="color: #999999;">已取消</view>
|
||||
<view v-if="item.overTimeOrders == 1" style="color: red;font-size: 26rpx">(订单已超时)</view>
|
||||
<!-- <view class="text-green" v-if="item.state ==1 ||item.state ==2">待完成</view>
|
||||
|
@ -81,6 +80,9 @@
|
|||
<view class="text-green" v-if="item.state ==3||item.state ==4">已完成</view> -->
|
||||
|
||||
<view class="text-green">预约时间:{{ item.serveTime }}</view>
|
||||
<view v-if="item.status == 9&&item.refusalContent!=''" class="judan">
|
||||
拒单审核中...
|
||||
</view>
|
||||
</view>
|
||||
<view class="xian"></view>
|
||||
<view class=" u-flex u-p-t-30 padding-sm">
|
||||
|
@ -90,31 +92,54 @@
|
|||
</u-avatar>
|
||||
</view>
|
||||
<view class="u-flex-1 margin-left-xs">
|
||||
<view class="u-font-18 text-bold u-line-1" style="width: 560rpx;">
|
||||
<view class="margin-right-xs text-df margin-left-xs"
|
||||
style="margin-top: 0rpx;display: inline-block;width: 400rpx; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
|
||||
<view class="u-font-18 text-bold u-line-1 top-title">
|
||||
<view class="margin-right-xs text-df margin-left-xs" style="margin-top: 0rpx;display: inline-block;width: 105px; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
|
||||
{{ item.title }}
|
||||
</view>
|
||||
<view class="flex-sub ">
|
||||
实收:<text class="text-df">¥</text><text class="text-xl text-bold">{{ item.sumArtificerMoney
|
||||
}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="margin-left-xs text-cut" style="width:550upx">{{ item.address }}</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex u-p-t-20 justify-between align-center padding-sm">
|
||||
<view class=" flex-sub ">
|
||||
实收:<text class="text-df">¥</text><text class="text-xl text-bold">{{ item.sumArtificerMoney
|
||||
}}</text>
|
||||
</view>
|
||||
<view class="flex text-right">
|
||||
|
||||
<view class="flex text-right" style="width: 100%;flex-direction: column;">
|
||||
<!-- <u-button v-if="item.status == 1" :custom-style="customStyle" shape="circle" :plain="true"
|
||||
@click="cancelOrder(item)">取消订单</u-button> -->
|
||||
<!-- <u-button v-if="item.status == 1" :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="bindphone(item.phone)">联系TA</u-button> -->
|
||||
|
||||
<u-button v-if="item.state == 1" :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="goNav('/my/order/pay?id=' + item.ordersId + '&isTrue=1')">查看详情</u-button>
|
||||
<u-button v-if="item.status == 6" :custom-style="customStyle" shape="circle" :plain="true"
|
||||
@click="cancel(item)">服务完成</u-button>
|
||||
@click="goNav('/my/order/pay?id=' + item.ordersId + '&isTrue=1')">查看详情</u-button> -->
|
||||
<view class="showBtn">
|
||||
<view class="gengduo" @click.stop="gengBtn(index)">更多</view>
|
||||
<view class="showBtn-view">
|
||||
<u-button :custom-style="customStyle" shape="circle" :plain="true"
|
||||
@click="goChat">联系客服</u-button>
|
||||
<u-button :custom-style="customStyle" v-if="item.status == 1||item.status == 7||item.status == 8||item.status == 9" shape="circle" :plain="true"
|
||||
@click="bindphone(item.phone)">联系客户</u-button>
|
||||
</view>
|
||||
</view>
|
||||
<view class="hideBtn" v-show="btnShow==index" style="justify-content: end;">
|
||||
<u-button :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="cxOrder(item)" v-show="item.status == 2">现在出发</u-button>
|
||||
<u-button :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="cxOrder(item)" v-if="item.status == 7">我已到达</u-button>
|
||||
<u-button :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="fuwuOrder(item)" v-if="item.status == 8">开始服务</u-button>
|
||||
<u-button :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="goChat">转待补单</u-button>
|
||||
|
||||
<u-button v-if="item.status == 6" :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="cancel(item)">服务完成</u-button>
|
||||
<u-button v-if="item.status == 9&&item.refusalContent==''||item.refusalContent==null" :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="toggle('bottom',item.ordersId)">拒单申请</u-button>
|
||||
<!-- refusalContent不等于空并且status == 9 就是拒单审核中 -->
|
||||
<u-button v-if="item.status == 9&&item.refusalContent==''||item.refusalContent==null" :custom-style="customStyle1" shape="circle" :plain="true"
|
||||
@click="nineState(item.ordersId)">确认接单</u-button>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="xian" v-if="item.status == 6"></view>
|
||||
|
@ -137,6 +162,33 @@
|
|||
<!-- 结束时间 -->
|
||||
<u-picker v-model="endshow" mode="time" :params="paramsEnd" @confirm="endData"></u-picker>
|
||||
</mescroll-body>
|
||||
<view>
|
||||
<!-- 普通弹窗 -->
|
||||
<uni-popup ref="popup" type="bottom" background-color="#fff">
|
||||
<view class="popup-content">
|
||||
<view class="popup-head">
|
||||
<span></span>
|
||||
<span @click="closePopup(type)">x</span>
|
||||
</view>
|
||||
<view class="popup-mian">
|
||||
<view class="popup-view">
|
||||
<view class="beizhu">
|
||||
<view class="popup-title">拒绝申请原因</view>
|
||||
<textarea class="beizhu-textarea" @input="refusa" placeholder="拒绝申请原因,请在此输入" name="" id="" cols="30" rows="10"></textarea>
|
||||
</view>
|
||||
</view>
|
||||
<view class="popup-mian-btn">
|
||||
<span @click="closePopup(type)">
|
||||
取消
|
||||
</span>
|
||||
<span @click="juJueState()">
|
||||
确定
|
||||
</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
@ -156,6 +208,10 @@
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
btnShow:'',
|
||||
refusalContent:'',
|
||||
type:'center',
|
||||
jordersId:'',
|
||||
endOfServiceTimer: null,
|
||||
goods: [], // 数据列表
|
||||
num: 1,
|
||||
|
@ -342,6 +398,164 @@
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
goLogin(e) {//登录
|
||||
uni.navigateTo({
|
||||
url: e
|
||||
})
|
||||
},
|
||||
fuwuOrder(e) {
|
||||
uni.navigateTo({
|
||||
url:'/my/order/revenueDetails?ordersId='+e.ordersId
|
||||
})
|
||||
},
|
||||
cxOrder(e) {//开始出发
|
||||
let contentName = '确认已经出发了吗?';
|
||||
if (e.status == 7) {
|
||||
contentName = '确认到达服务地点准备开始服务了吗?';
|
||||
}
|
||||
let that = this
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: contentName,
|
||||
success: function(res) {
|
||||
if (res.confirm) {
|
||||
let data = {
|
||||
ordersId: e.ordersId
|
||||
}
|
||||
that.$queue.showLoading('提交中...')
|
||||
that.$Request.post('/app/artificer/artificerStartOrEndTime', data).then(res => {
|
||||
uni.hideLoading();
|
||||
if (res.code == 0) {
|
||||
that.mescroll.resetUpScroll()
|
||||
uni.showToast({
|
||||
title:'出发成功!'
|
||||
})
|
||||
} else {
|
||||
that.$queue.showToast(res.msg);
|
||||
}
|
||||
})
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
gengBtn(index){
|
||||
console.log(11)
|
||||
this.btnShow=index
|
||||
// this.btnShow=!this.btnShow
|
||||
},
|
||||
goChat() {//联系客服
|
||||
let kefu = this.$queue.getData('kefu'); // 用户端联系方式 1 手机号 2企业微信
|
||||
let kefuPhone = this.$queue.getData('kefuPhone');
|
||||
if (uni.getStorageSync('token')) {
|
||||
if (kefu == 1) {
|
||||
uni.makePhoneCall({
|
||||
phoneNumber: kefuPhone //仅为示例
|
||||
});
|
||||
} else {
|
||||
// #ifdef MP-WEIXIN
|
||||
let that = this
|
||||
try {
|
||||
wx.openCustomerServiceChat({
|
||||
extInfo: {
|
||||
url: that.$queue.getData('kefuUrl')
|
||||
},
|
||||
corpId: that.$queue.getData('kefuAppId'),
|
||||
success(res) {},
|
||||
fail(res) {
|
||||
console.error(res)
|
||||
}
|
||||
})
|
||||
} catch (error) {
|
||||
console.error("catchcatch" + error)
|
||||
uni.showToast({
|
||||
title: '请更新至微信最新版本'
|
||||
});
|
||||
}
|
||||
// #endif
|
||||
// #ifndef MP-WEIXIN
|
||||
let url = this.$queue.getData('kefuUrl');
|
||||
if (url.indexOf('/pages/') !== -1 || url.indexOf('/my/') !== -1) {
|
||||
uni.navigateTo({
|
||||
url
|
||||
});
|
||||
} else {
|
||||
//#ifndef H5
|
||||
uni.navigateTo({
|
||||
url: '/pages/index/webView?url=' + url
|
||||
});
|
||||
//#endif
|
||||
//#ifdef H5
|
||||
window.location.href = url;
|
||||
//#endif
|
||||
}
|
||||
// #endif
|
||||
}
|
||||
} else {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '您还未登录,请先登录',
|
||||
success: function(res) {
|
||||
if (res.confirm) {
|
||||
console.log('用户点击确定');
|
||||
uni.navigateTo({
|
||||
url: '/pages/public/login'
|
||||
})
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
refusa(e){//拒绝接单 原因
|
||||
this.refusalContent=e.detail.value
|
||||
},
|
||||
closePopup(type){// 关闭弹出框
|
||||
this.type = type
|
||||
this.$refs.popup.close(type);
|
||||
},
|
||||
toggle(type,ordersId) {// 弹出框
|
||||
this.jordersId = ordersId;
|
||||
this.type=type;
|
||||
// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
|
||||
this.$refs.popup.open(type)
|
||||
},
|
||||
juJueState(){
|
||||
var that=this
|
||||
if(that.refusalContent){
|
||||
that.$Request.getT("/app/artificer/jishiJdsq",{
|
||||
ordersId:that.jordersId,
|
||||
refusalContent:that.refusalContent
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
that.$queue.showToast(res.msg);
|
||||
this.$refs.popup.close(this.type);
|
||||
|
||||
} else {
|
||||
that.$queue.showToast(res.msg);
|
||||
}
|
||||
});
|
||||
}else{
|
||||
uni.showToast({
|
||||
icon:"error",
|
||||
title:'请填写拒单原因'
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
nineState(ordersId){//确认接单
|
||||
this.$Request.getT("/app/artificer/jishiQueren",{
|
||||
ordersId:ordersId
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
that.$queue.showToast(res.msg);
|
||||
} else {
|
||||
that.$queue.showToast(res.msg);
|
||||
}
|
||||
});
|
||||
},
|
||||
//获取理疗师的信息
|
||||
getArtificer() {
|
||||
this.$Request.getT("/app/artificer/selectArtificer").then(res => {
|
||||
|
@ -486,6 +700,7 @@
|
|||
},
|
||||
// 完成订单
|
||||
cancel(e) {
|
||||
console.log(11)
|
||||
let that = this
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
|
@ -598,11 +813,143 @@
|
|||
}
|
||||
});
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
/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;
|
||||
|
||||
}
|
||||
/deep/.text-xl{
|
||||
font-size: 15px;
|
||||
}
|
||||
.flex-sub{
|
||||
text-align: right;
|
||||
font-size: 13px;
|
||||
}
|
||||
.top-title{
|
||||
width: 95%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.judan{
|
||||
color:#096f4b;
|
||||
}
|
||||
.beizhu-textarea{
|
||||
width: 100%;
|
||||
height: 199rpx;
|
||||
background-color: rgba(226, 226, 226, 0.3);
|
||||
border-radius: 14rpx;
|
||||
padding: 10px;
|
||||
}
|
||||
.popup-title{
|
||||
font-weight: bold;
|
||||
font-size: 29rpx;
|
||||
color: #333333;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.beizhu{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
margin-top: 20px;
|
||||
flex-direction: column;
|
||||
}
|
||||
.popup-view{
|
||||
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: 100%;
|
||||
height: 255px;
|
||||
background: #FFFFFF;
|
||||
border-top-left-radius: 56rpx;
|
||||
border-top-right-radius: 56rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
/*
|
||||
sticky生效条件:
|
||||
1、父元素不能overflow:hidden或者overflow:auto属性。(mescroll-body设置:sticky="true"即可, mescroll-uni本身没有设置overflow)
|
||||
|
@ -611,18 +958,40 @@
|
|||
4、sticky元素仅在其父元素内生效,所以父元素必须是 mescroll
|
||||
*/
|
||||
|
||||
.ding-view{
|
||||
width: 95%;
|
||||
height: 290rpx;
|
||||
background: linear-gradient(-90deg, #019C88, #1BB9A5, #029D88);
|
||||
border-radius: 24rpx;
|
||||
margin: 10px auto 0px auto;
|
||||
align-items: end;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.content{
|
||||
width: 100%;
|
||||
min-height: 100vh;
|
||||
background-image: url('../../static/index/swim.jpg');
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 30px 0px;
|
||||
}
|
||||
|
||||
.u-tabs {
|
||||
background: #f7f7f7 !important;
|
||||
border-radius: 10px 10px 0 0;
|
||||
margin-top: -20px;
|
||||
padding: 16px;
|
||||
width: 90%;
|
||||
height: 199rpx;
|
||||
// background: #F7F7F7 !important;
|
||||
border-radius: 21rpx;
|
||||
margin: -70px auto 10px auto;
|
||||
}
|
||||
|
||||
/deep/.u-scroll-view {
|
||||
background-color: #ffffff !important;
|
||||
padding: 10px 16px !important;
|
||||
border-radius: 10px !important;
|
||||
}
|
||||
|
||||
/deep/.u-tab-item {
|
||||
|
@ -637,8 +1006,9 @@
|
|||
}
|
||||
|
||||
.sticky-tabs {
|
||||
width: 100%;
|
||||
z-index: 990;
|
||||
position: sticky;
|
||||
position: f;
|
||||
top: var(--window-top);
|
||||
// background-color: #fff;
|
||||
}
|
||||
|
@ -668,7 +1038,7 @@
|
|||
}
|
||||
|
||||
/deep/.page-box {
|
||||
background-color: #F7F7F7 !important;
|
||||
background: top !important;
|
||||
}
|
||||
|
||||
.bg {
|
||||
|
@ -696,18 +1066,17 @@
|
|||
}
|
||||
|
||||
.labe {
|
||||
background: #DCF4DC;
|
||||
width: 42px;
|
||||
background: #FFE45A;
|
||||
border-radius: 15rpx 0rpx 15rpx 0rpx;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
border-radius: 39rpx;
|
||||
color: #1A1B1B;
|
||||
color: #7A3A00;
|
||||
font-size: 22rpx;
|
||||
font-weight: 400;
|
||||
width: 110rpx;
|
||||
height: 36rpx;
|
||||
justify-content: center;
|
||||
margin-left: 20rpx;
|
||||
|
||||
justify-content: center;
|
||||
text {
|
||||
width: 12rpx;
|
||||
height: 12rpx;
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<button v-if="isShowWxAPPShare=='是'" @click="shareWeiXin()" type="default" style="border: 1px #096f4b solid;color: #096f4b;font-size: 15px; width: 50%;border-radius: 30px;">文案推广</button>
|
||||
<button v-if="isShowWxAPPShare=='否'" @click="sharAPPUrl()" type="default" style="border: 1px #096f4b solid;color: #096f4b;font-size: 15px; width: 50%;border-radius: 30px;">文案推广</button>
|
||||
|
||||
<button @tap="test()" type="default" style="background: linear-gradient(to right, #223845, #00a85b);font-size: 15px;color: #FFFFFF; width: 50%; margin-left: 40upx;border-radius: 30px;">生成海报</button>
|
||||
<button @tap="test()" type="default" style="background: linear-gradient(to right, #096f4b, #00a85b);font-size: 15px;color: #FFFFFF; width: 50%; margin-left: 40upx;border-radius: 30px;">生成海报</button>
|
||||
</view>
|
||||
<qrcode-poster ref="poster" :title="nickName" :subTitle="nickName" :backgroundImage="backgroundImage" :abImg="userImageUrl" :content="invitationCode" />
|
||||
</view>
|
||||
|
|
|
@ -12,11 +12,11 @@
|
|||
<view>申请获取以下权限</view>
|
||||
<text>获得你的公开信息(昵称,头像、地区等)</text>
|
||||
</view>
|
||||
<button v-show="weixinPhone" style="background: #096f4b;color: #FFFFFF;" class="bottom"
|
||||
<button v-show="weixinPhone" style="background: linear-gradient(90deg, #019C88, #28BA92, #35C495);color: #FFFFFF;" class="bottom"
|
||||
open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">
|
||||
授权手机号
|
||||
</button>
|
||||
<button v-show="!weixinPhone" style="background: #096f4b;color: #FFFFFF;" class='bottom'
|
||||
<button v-show="!weixinPhone" style="background: linear-gradient(90deg, #019C88, #28BA92, #35C495);color: #FFFFFF;" class='bottom'
|
||||
bindtap="getUserProfile" @tap="wxGetUserInfo">
|
||||
授权登录
|
||||
</button>
|
||||
|
@ -45,7 +45,7 @@
|
|||
src="../../static/logo.png"></image>
|
||||
<button v-if="weixinLogin" class="confirm-btn" @click="weixinLo">微信登录</button>
|
||||
<button v-if="weixinLogin" class='confirm-btn-weixin' @click="register">手机号登录</button>
|
||||
<button v-if="!weixinLogin" class='confirm-btn' style="background-image: linear-gradient(to right, #223845, #00a85b);" @click="register">手机号登录</button>
|
||||
<button v-if="!weixinLogin" class='confirm-btn' style="background: linear-gradient(90deg, #019C88, #28BA92, #35C495);" @click="register">手机号登录</button>
|
||||
|
||||
<view style="text-align: center;margin: 30rpx 0rpx;align-items: center;">
|
||||
<view class="footer">
|
||||
|
@ -414,7 +414,7 @@
|
|||
// background: -o-linear-gradient(left, #f15b6c 0, #e10a07 100%);
|
||||
// background: -ms-linear-gradient(left, #f15b6c 0, #e10a07 100%);
|
||||
// background: linear-gradient(to left, #f15b6c 0, #e10a07 100%);
|
||||
background: #096f4b;
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
color: #fff;
|
||||
font-size: 32upx;
|
||||
|
||||
|
@ -435,7 +435,7 @@
|
|||
// background: -o-linear-gradient(left, #f15b6c 0, #e10a07 100%);
|
||||
// background: -ms-linear-gradient(left, #f15b6c 0, #e10a07 100%);
|
||||
// background: linear-gradient(to left, #f15b6c 0, #e10a07 100%);
|
||||
background: #096f4b;
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
color: #fff;
|
||||
font-size: 32upx;
|
||||
|
||||
|
@ -537,7 +537,7 @@
|
|||
border-radius: 30px;
|
||||
margin-top: 40px;
|
||||
// background: linear-gradient(to left, #005DFF 0, #005DeF 100%);
|
||||
background: #096f4b;
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
color: #fff;
|
||||
// font-size: $font-lg;
|
||||
|
||||
|
|
|
@ -186,7 +186,7 @@
|
|||
line-height: 80upx;
|
||||
border-radius: 60upx;
|
||||
margin-top: 32upx;
|
||||
background: linear-gradient(to right, #223845, #00a85b);
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
color: #fff;
|
||||
font-size: 30upx;
|
||||
|
||||
|
|
|
@ -156,14 +156,15 @@
|
|||
|
||||
|
||||
.confirm-btn {
|
||||
background: linear-gradient(to right, #223845, #00a85b);
|
||||
background: linear-gradient(90deg, #019C88, #0FA78B, #35C495);
|
||||
color: #FFFFFF;
|
||||
margin: 16rpx 0;
|
||||
margin: 7px 0;
|
||||
width: 100%;
|
||||
border-radius: 50rpx;
|
||||
height: 78rpx;
|
||||
line-height: 78rpx;
|
||||
font-size: 32rpx;
|
||||
border-radius: 24px;
|
||||
height: 37px;
|
||||
line-height: 37px;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
|
||||
&:after {
|
||||
border-radius: 60px;
|
||||
|
|
|
@ -317,7 +317,7 @@
|
|||
height: 30px;
|
||||
font-size: 10px;
|
||||
line-height: 30px;
|
||||
background: #096f4b;
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
}
|
||||
|
||||
|
||||
|
@ -359,7 +359,7 @@
|
|||
line-height: 80upx;
|
||||
border-radius: 60upx;
|
||||
margin-top: 32upx;
|
||||
background: linear-gradient(to right, #223845, #00a85b);
|
||||
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
|
||||
color: #fff;
|
||||
font-size: 30upx;
|
||||
|
||||
|
|
After Width: | Height: | Size: 229 KiB |
After Width: | Height: | Size: 273 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 830 B |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 855 B |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 876 B |
After Width: | Height: | Size: 952 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1012 B |
After Width: | Height: | Size: 59 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 116 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.6 KiB |
|
@ -1,3 +1,7 @@
|
|||
## 1.0.5(2024-03-20)
|
||||
- 修复 单选模式下选中样式不生效的bug
|
||||
## 1.0.4(2024-01-27)
|
||||
- 修复 修复错别字chagne为change
|
||||
## 1.0.3(2022-09-16)
|
||||
- 可以使用 uni-scss 控制主题色
|
||||
## 1.0.2(2022-06-30)
|
||||
|
|
|
@ -2,16 +2,21 @@
|
|||
<view class="uni-data-checklist" :style="{'margin-top':isTop+'px'}">
|
||||
<template v-if="!isLocal">
|
||||
<view class="uni-data-loading">
|
||||
<uni-load-more v-if="!mixinDatacomErrorMessage" status="loading" iconType="snow" :iconSize="18" :content-text="contentText"></uni-load-more>
|
||||
<uni-load-more v-if="!mixinDatacomErrorMessage" status="loading" iconType="snow" :iconSize="18"
|
||||
:content-text="contentText"></uni-load-more>
|
||||
<text v-else>{{mixinDatacomErrorMessage}}</text>
|
||||
</view>
|
||||
</template>
|
||||
<template v-else>
|
||||
<checkbox-group v-if="multiple" class="checklist-group" :class="{'is-list':mode==='list' || wrap}" @change="chagne">
|
||||
<label class="checklist-box" :class="['is--'+mode,item.selected?'is-checked':'',(disabled || !!item.disabled)?'is-disable':'',index!==0&&mode==='list'?'is-list-border':'']"
|
||||
:style="item.styleBackgroud" v-for="(item,index) in dataList" :key="index">
|
||||
<checkbox class="hidden" hidden :disabled="disabled || !!item.disabled" :value="item[map.value]+''" :checked="item.selected" />
|
||||
<view v-if="(mode !=='tag' && mode !== 'list') || ( mode === 'list' && icon === 'left')" class="checkbox__inner" :style="item.styleIcon">
|
||||
<checkbox-group v-if="multiple" class="checklist-group" :class="{'is-list':mode==='list' || wrap}"
|
||||
@change="change">
|
||||
<label class="checklist-box"
|
||||
:class="['is--'+mode,item.selected?'is-checked':'',(disabled || !!item.disabled)?'is-disable':'',index!==0&&mode==='list'?'is-list-border':'']"
|
||||
:style="item.styleBackgroud" v-for="(item,index) in dataList" :key="index">
|
||||
<checkbox class="hidden" hidden :disabled="disabled || !!item.disabled" :value="item[map.value]+''"
|
||||
:checked="item.selected" />
|
||||
<view v-if="(mode !=='tag' && mode !== 'list') || ( mode === 'list' && icon === 'left')"
|
||||
class="checkbox__inner" :style="item.styleIcon">
|
||||
<view class="checkbox__inner-icon"></view>
|
||||
</view>
|
||||
<view class="checklist-content" :class="{'list-content':mode === 'list' && icon ==='left'}">
|
||||
|
@ -20,13 +25,14 @@
|
|||
</view>
|
||||
</label>
|
||||
</checkbox-group>
|
||||
<radio-group v-else class="checklist-group" :class="{'is-list':mode==='list','is-wrap':wrap}" @change="chagne">
|
||||
<!-- -->
|
||||
<label class="checklist-box" :class="['is--'+mode,item.selected?'is-checked':'',(disabled || !!item.disabled)?'is-disable':'',index!==0&&mode==='list'?'is-list-border':'']"
|
||||
:style="item.styleBackgroud" v-for="(item,index) in dataList" :key="index">
|
||||
<radio class="hidden" hidden :disabled="disabled || item.disabled" :value="item[map.value]+''" :checked="item.selected" />
|
||||
<radio-group v-else class="checklist-group" :class="{'is-list':mode==='list','is-wrap':wrap}" @change="change">
|
||||
<label class="checklist-box"
|
||||
:class="['is--'+mode,item.selected?'is-checked':'',(disabled || !!item.disabled)?'is-disable':'',index!==0&&mode==='list'?'is-list-border':'']"
|
||||
:style="item.styleBackgroud" v-for="(item,index) in dataList" :key="index">
|
||||
<radio class="hidden" hidden :disabled="disabled || item.disabled" :value="item[map.value]+''"
|
||||
:checked="item.selected" />
|
||||
<view v-if="(mode !=='tag' && mode !== 'list') || ( mode === 'list' && icon === 'left')" class="radio__inner"
|
||||
:style="item.styleBackgroud">
|
||||
:style="item.styleBackgroud">
|
||||
<view class="radio__inner-icon" :style="item.styleIcon"></view>
|
||||
</view>
|
||||
<view class="checklist-content" :class="{'list-content':mode === 'list' && icon ==='left'}">
|
||||
|
@ -68,7 +74,7 @@
|
|||
export default {
|
||||
name: 'uniDataChecklist',
|
||||
mixins: [uniCloud.mixinDatacom || {}],
|
||||
emits:['input','update:modelValue','change'],
|
||||
emits: ['input', 'update:modelValue', 'change'],
|
||||
props: {
|
||||
mode: {
|
||||
type: String,
|
||||
|
@ -88,7 +94,7 @@
|
|||
// TODO vue3
|
||||
modelValue: {
|
||||
type: [Array, String, Number],
|
||||
default() {
|
||||
default () {
|
||||
return '';
|
||||
}
|
||||
},
|
||||
|
@ -122,20 +128,20 @@
|
|||
type: String,
|
||||
default: ''
|
||||
},
|
||||
emptyText:{
|
||||
emptyText: {
|
||||
type: String,
|
||||
default: '暂无数据'
|
||||
},
|
||||
disabled:{
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
map:{
|
||||
map: {
|
||||
type: Object,
|
||||
default(){
|
||||
default () {
|
||||
return {
|
||||
text:'text',
|
||||
value:'value'
|
||||
text: 'text',
|
||||
value: 'value'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -177,18 +183,18 @@
|
|||
contentrefresh: '加载中',
|
||||
contentnomore: '没有更多'
|
||||
},
|
||||
isLocal:true,
|
||||
isLocal: true,
|
||||
styles: {
|
||||
selectedColor: '#2979ff',
|
||||
selectedTextColor: '#666',
|
||||
},
|
||||
isTop:0
|
||||
isTop: 0
|
||||
};
|
||||
},
|
||||
computed:{
|
||||
dataValue(){
|
||||
if(this.value === '')return this.modelValue
|
||||
if(this.modelValue === '') return this.value
|
||||
computed: {
|
||||
dataValue() {
|
||||
if (this.value === '') return this.modelValue
|
||||
if (this.modelValue === '') return this.value
|
||||
return this.value
|
||||
}
|
||||
},
|
||||
|
@ -223,15 +229,15 @@
|
|||
},
|
||||
methods: {
|
||||
loadData() {
|
||||
this.mixinDatacomGet().then(res=>{
|
||||
this.mixinDatacomGet().then(res => {
|
||||
this.mixinDatacomResData = res.result.data
|
||||
if(this.mixinDatacomResData.length === 0){
|
||||
if (this.mixinDatacomResData.length === 0) {
|
||||
this.isLocal = false
|
||||
this.mixinDatacomErrorMessage = this.emptyText
|
||||
}else{
|
||||
} else {
|
||||
this.isLocal = true
|
||||
}
|
||||
}).catch(err=>{
|
||||
}).catch(err => {
|
||||
this.mixinDatacomErrorMessage = err.message
|
||||
})
|
||||
},
|
||||
|
@ -248,7 +254,7 @@
|
|||
}
|
||||
return parent;
|
||||
},
|
||||
chagne(e) {
|
||||
change(e) {
|
||||
const values = e.detail.value
|
||||
|
||||
let detail = {
|
||||
|
@ -383,13 +389,13 @@
|
|||
*/
|
||||
setStyleBackgroud(item) {
|
||||
let styles = {}
|
||||
let selectedColor = this.selectedColor?this.selectedColor:'#2979ff'
|
||||
let selectedColor = this.selectedColor ? this.selectedColor : '#2979ff'
|
||||
if (this.selectedColor) {
|
||||
if (this.mode !== 'list') {
|
||||
styles['border-color'] = item.selected?selectedColor:'#DCDFE6'
|
||||
styles['border-color'] = item.selected ? selectedColor : '#DCDFE6'
|
||||
}
|
||||
if (this.mode === 'tag') {
|
||||
styles['background-color'] = item.selected? selectedColor:'#f5f5f5'
|
||||
styles['background-color'] = item.selected ? selectedColor : '#f5f5f5'
|
||||
}
|
||||
}
|
||||
let classles = ''
|
||||
|
@ -402,13 +408,13 @@
|
|||
let styles = {}
|
||||
let classles = ''
|
||||
if (this.selectedColor) {
|
||||
let selectedColor = this.selectedColor?this.selectedColor:'#2979ff'
|
||||
styles['background-color'] = item.selected?selectedColor:'#fff'
|
||||
styles['border-color'] = item.selected?selectedColor:'#DCDFE6'
|
||||
|
||||
if(!item.selected && item.disabled){
|
||||
let selectedColor = this.selectedColor ? this.selectedColor : '#2979ff'
|
||||
styles['background-color'] = item.selected ? selectedColor : '#fff'
|
||||
styles['border-color'] = item.selected ? selectedColor : '#DCDFE6'
|
||||
|
||||
if (!item.selected && item.disabled) {
|
||||
styles['background-color'] = '#F2F6FC'
|
||||
styles['border-color'] = item.selected?selectedColor:'#DCDFE6'
|
||||
styles['border-color'] = item.selected ? selectedColor : '#DCDFE6'
|
||||
}
|
||||
}
|
||||
for (let i in styles) {
|
||||
|
@ -420,13 +426,13 @@
|
|||
let styles = {}
|
||||
let classles = ''
|
||||
if (this.selectedColor) {
|
||||
let selectedColor = this.selectedColor?this.selectedColor:'#2979ff'
|
||||
let selectedColor = this.selectedColor ? this.selectedColor : '#2979ff'
|
||||
if (this.mode === 'tag') {
|
||||
styles.color = item.selected?(this.selectedTextColor?this.selectedTextColor:'#fff'):'#666'
|
||||
styles.color = item.selected ? (this.selectedTextColor ? this.selectedTextColor : '#fff') : '#666'
|
||||
} else {
|
||||
styles.color = item.selected?(this.selectedTextColor?this.selectedTextColor:selectedColor):'#666'
|
||||
styles.color = item.selected ? (this.selectedTextColor ? this.selectedTextColor : selectedColor) : '#666'
|
||||
}
|
||||
if(!item.selected && item.disabled){
|
||||
if (!item.selected && item.disabled) {
|
||||
styles.color = '#999'
|
||||
}
|
||||
}
|
||||
|
@ -439,7 +445,7 @@
|
|||
let styles = {}
|
||||
let classles = ''
|
||||
if (this.mode === 'list') {
|
||||
styles['border-color'] = item.selected?this.styles.selectedColor:'#DCDFE6'
|
||||
styles['border-color'] = item.selected ? this.styles.selectedColor : '#DCDFE6'
|
||||
}
|
||||
for (let i in styles) {
|
||||
classles += `${i}:${styles[i]};`
|
||||
|
@ -454,7 +460,7 @@
|
|||
<style lang="scss">
|
||||
$uni-primary: #2979ff !default;
|
||||
$border-color: #DCDFE6;
|
||||
$disable:0.4;
|
||||
$disable: 0.4;
|
||||
|
||||
@mixin flex {
|
||||
/* #ifndef APP-NVUE */
|
||||
|
@ -476,6 +482,7 @@
|
|||
position: relative;
|
||||
z-index: 0;
|
||||
flex: 1;
|
||||
|
||||
// 多选样式
|
||||
.checklist-group {
|
||||
@include flex;
|
||||
|
@ -506,6 +513,7 @@
|
|||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.checklist-text {
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
|
@ -517,7 +525,7 @@
|
|||
border-right-width: 1px;
|
||||
border-right-color: #007aff;
|
||||
border-right-style: solid;
|
||||
border-bottom-width:1px;
|
||||
border-bottom-width: 1px;
|
||||
border-bottom-color: #007aff;
|
||||
border-bottom-style: solid;
|
||||
height: 12px;
|
||||
|
@ -542,6 +550,7 @@
|
|||
border-radius: 4px;
|
||||
background-color: #fff;
|
||||
z-index: 1;
|
||||
|
||||
.checkbox__inner-icon {
|
||||
position: absolute;
|
||||
/* #ifdef APP-NVUE */
|
||||
|
@ -556,7 +565,7 @@
|
|||
border-right-width: 1px;
|
||||
border-right-color: #fff;
|
||||
border-right-style: solid;
|
||||
border-bottom-width:1px ;
|
||||
border-bottom-width: 1px;
|
||||
border-bottom-color: #fff;
|
||||
border-bottom-style: solid;
|
||||
opacity: 0;
|
||||
|
@ -597,6 +606,7 @@
|
|||
&.is-disable {
|
||||
/* #ifdef H5 */
|
||||
cursor: not-allowed;
|
||||
|
||||
/* #endif */
|
||||
.checkbox__inner {
|
||||
background-color: #F2F6FC;
|
||||
|
@ -610,6 +620,7 @@
|
|||
background-color: #F2F6FC;
|
||||
border-color: $border-color;
|
||||
}
|
||||
|
||||
.checklist-text {
|
||||
color: #999;
|
||||
}
|
||||
|
@ -626,16 +637,20 @@
|
|||
transform: rotate(45deg);
|
||||
}
|
||||
}
|
||||
|
||||
.radio__inner {
|
||||
border-color: $uni-primary;
|
||||
|
||||
.radio__inner-icon {
|
||||
opacity: 1;
|
||||
background-color: $uni-primary;
|
||||
}
|
||||
}
|
||||
|
||||
.checklist-text {
|
||||
color: $uni-primary;
|
||||
}
|
||||
|
||||
// 选中禁用
|
||||
&.is-disable {
|
||||
.checkbox__inner {
|
||||
|
@ -645,6 +660,7 @@
|
|||
.checklist-text {
|
||||
opacity: $disable;
|
||||
}
|
||||
|
||||
.radio__inner {
|
||||
opacity: $disable;
|
||||
}
|
||||
|
@ -667,6 +683,7 @@
|
|||
/* #endif */
|
||||
border: 1px #eee solid;
|
||||
opacity: $disable;
|
||||
|
||||
.checkbox__inner {
|
||||
background-color: #F2F6FC;
|
||||
border-color: $border-color;
|
||||
|
@ -674,6 +691,7 @@
|
|||
cursor: not-allowed;
|
||||
/* #endif */
|
||||
}
|
||||
|
||||
.radio__inner {
|
||||
background-color: #F2F6FC;
|
||||
border-color: $border-color;
|
||||
|
@ -681,6 +699,7 @@
|
|||
cursor: not-allowed;
|
||||
/* #endif */
|
||||
}
|
||||
|
||||
.checklist-text {
|
||||
color: #999;
|
||||
}
|
||||
|
@ -688,9 +707,11 @@
|
|||
|
||||
&.is-checked {
|
||||
border-color: $uni-primary;
|
||||
|
||||
.checkbox__inner {
|
||||
border-color: $uni-primary;
|
||||
background-color: $uni-primary;
|
||||
|
||||
.checkbox__inner-icon {
|
||||
opacity: 1;
|
||||
transform: rotate(45deg);
|
||||
|
@ -747,6 +768,7 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 列表样式
|
||||
&.is--list {
|
||||
/* #ifndef APP-NVUE */
|
||||
|
@ -764,6 +786,7 @@
|
|||
&.is-disable {
|
||||
/* #ifdef H5 */
|
||||
cursor: not-allowed;
|
||||
|
||||
/* #endif */
|
||||
.checkbox__inner {
|
||||
background-color: #F2F6FC;
|
||||
|
@ -772,6 +795,7 @@
|
|||
cursor: not-allowed;
|
||||
/* #endif */
|
||||
}
|
||||
|
||||
.checklist-text {
|
||||
color: #999;
|
||||
}
|
||||
|
@ -787,11 +811,15 @@
|
|||
transform: rotate(45deg);
|
||||
}
|
||||
}
|
||||
|
||||
.radio__inner {
|
||||
border-color: $uni-primary;
|
||||
.radio__inner-icon {
|
||||
opacity: 1;
|
||||
background-color: $uni-primary;
|
||||
}
|
||||
}
|
||||
|
||||
.checklist-text {
|
||||
color: $uni-primary;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "uni-data-checkbox",
|
||||
"displayName": "uni-data-checkbox 数据选择器",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.5",
|
||||
"description": "通过数据驱动的单选框和复选框",
|
||||
"keywords": [
|
||||
"uni-ui",
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
## 2.7.9(2024-05-10)
|
||||
1.`修复` 在新版HbuilderX+vue3+微信小程序中可能出现的加载第二页数据后返回顶部无法下拉的问题。
|
||||
2.`修复` 在vue3+抖音小程序中可能出现的首次加载reload没有触发的问题。
|
||||
3.`优化` ts类型中,`ZPagingInstance`泛型不必填,默认为`any`。
|
||||
## 2.7.8(2024-05-09)
|
||||
1.`新增` typescript类型声明文件,感谢小何同学提供。
|
||||
2.`新增` 添加极简写法fetch相关配置及示例。
|
||||
3.`新增` `fixed-cellHeight`配置,支持在虚拟列表中自定义固定的cell高度。
|
||||
4.`新增` `refresher-refreshing-scrollable`配置,支持自定义下拉刷新中是否允许列表滚动。
|
||||
5.`修复` 在新版HubilderX+vue3+h5中,`swiper-demo`模式`slot=top`被导航栏遮挡的问题。
|
||||
6.`修复` 下拉进入二楼偶现的二楼高度未铺满全屏的问题。
|
||||
7.`修复` 虚拟列表中complete若传相同对象会导致key重复的问题。
|
||||
8.`修复` 在虚拟列表中调用refresh后缓存高度原始数据未清空的问题。
|
||||
9.`修复` 聊天记录模式删除记录时顶部显示loading的问题。
|
||||
9.`优化` `scrollIntoViewByIndex`支持在虚拟列表中滚动到指定cell。
|
||||
10.`优化` `content-z-index`默认值修改为1。
|
||||
## 2.7.7(2024-04-01)
|
||||
1.`新增` 下拉进入二楼功能及相关配置&demo。
|
||||
2.`新增` 虚拟列表写法添加【非内置列表】写法,可良好兼容vue3中的各平台并有较优的性能表现。
|
||||
3.`新增` `z-paging-cell`补充`@touchstart`事件。
|
||||
4.`修复` 页面滚动模式设置了`auto-full-height`后可能出现的依然有异常空白占位的问题和下拉刷新时列表数据被切割的问题。
|
||||
## 2.7.6(2024-02-29)
|
||||
1.`新增` `max-width`,支持设置`z-paging`的最大宽度,默认`z-paging`宽度铺满窗口。
|
||||
2.`新增` `chat-adjust-position-offset`,支持设置使用聊天记录模式中键盘弹出时占位高度偏移距离。
|
||||
3.`修复` 由于renderjs中聊天记录模式判断不准确导致的可能出现的从聊天记录页面跳转到其他页面后返回页面无法滚动的问题。
|
||||
4.`修复` 聊天记录模式首次加载失败后,发送消息顶部会显示加载失败文字的问题。
|
||||
5.`修复` 聊天记录模式nvue可能出现的键盘弹出无法滚动到底部的问题。
|
||||
6.`修复` 聊天记录模式+nvue滚动条无法展示的问题&底部会显示加载中的问题。
|
||||
7.`修复` 聊天记录模式监听键盘弹出可能出现的无法正常销毁的问题。
|
||||
8.`修复` 直接修改dataList的值组件内部的值未更新的问题。
|
||||
## 2.7.5(2024-01-23)
|
||||
1.`新增` props:`chat-loading-more-default-as-loading`,支持设置在聊天记录模式中滑动到顶部状态为默认状态时,以加载中的状态展示。
|
||||
2.`新增` slots:`chatNoMore`,支持自定义聊天记录模式没有更多数据view。
|
||||
3.`修复` 固定在底部view可能出现默认黄色的问题。
|
||||
4.`优化` 聊天记录加载更多样式,与普通模式对齐,支持点击加载更多&点击重试,并支持加载更多相关配置。
|
||||
5.`优化` 微调下拉刷新和底部加载更多样式。
|
||||
6.`优化` 聊天记录模式自动滚动到底部添加延时以避免可能出现的滚动到底部位置不正确的问题。
|
||||
7.`优化` 使用新的判断滚动到顶部算法以解决在安卓设备中可能出现的因滚动到顶部时scrollTop不为0导致的下拉刷新被禁用的问题。
|
||||
## 2.7.4(2024-01-14)
|
||||
1.`新增` props:`auto-adjust-position-when-chat`,支持设置使用聊天记录模式中键盘弹出时是否自动调整slot="bottom"高度。
|
||||
2.`新增` props:`auto-to-bottom-when-chat`,支持设置使用聊天记录模式中键盘弹出时是否自动滚动到底部。
|
||||
3.`新增` props:`show-chat-loading-when-reload`,支持设置使用聊天记录模式中reload时是否显示chatLoading。
|
||||
4.`修复` 在聊天记录模式中`scrollIntoViewById`和`scrollIntoViewByNodeTop`无效的问题。
|
||||
5.`优化` 聊天记录模式底部安全区域针对键盘开启/关闭兼容处理。
|
||||
6.`优化` 更新内置的空数据图&加载失败图,感谢图鸟UI提供的免费可商用的空数据图和加载失败图!
|
||||
## 2.7.3(2024-01-10)
|
||||
1.`新增` 聊天记录模式支持虚拟列表&添加相关demo。
|
||||
2.`新增` nvue中list添加`@scrollend`监听。
|
||||
3.`优化` 聊天记录模式+vue第一页并且没有更多时不倒置列表。
|
||||
4.`优化` 聊天记录模式+nvue中数据不满屏时默认从顶部开始,不进行列表倒置。
|
||||
## 2.7.2(2024-01-09)
|
||||
1.`修复` `vue3+h5`中报错`uni.onKeyboardHeightChange is not a function`的问题。
|
||||
2.`优化` 聊天记录模式细节:表情面板在触摸列表时隐藏&添加隐藏动画。
|
||||
## 2.7.1(2024-01-08)
|
||||
1.`新增` `keyboardHeightChange` event,支持监听键盘高度改变。
|
||||
2.`新增` 聊天记录模式新增切换表情面板/键盘demo。
|
||||
3.`优化` 键盘弹出占位添加动画效果。
|
||||
## 2.7.0(2024-01-07)
|
||||
2024新年快乐!!祝大家在新的一年里工作顺利,事事顺心!
|
||||
1.`新增` 全新的聊天记录模式设计!将vue中的聊天记录模式与nvue中对齐,完全解决了聊天记录模式滚动到顶部加载更多在vue中抖动的问题,同时将聊天记录模式键盘自动弹出自动上推页面交由`z-paging`处理,解决了由此引发的各种问题,尤其是在微信小程序中导航栏被键盘顶出屏幕外的问题。如果您使用了`z-paging`的聊天记录模式,强烈建议更新,写法有一定变更,具体请参见demo。
|
||||
2.`新增` `swiper-demo`新增`onShow`时候调用reload演示。
|
||||
3.`修复` 修复滚动相关方法在微信小程序中首次滚动动画无效的问题。
|
||||
4.`修复` props设置单位,单位为px时报错的问题。
|
||||
5.`修复` 在某些情况下`z-paging`加载了但是未渲染时,reload无效的问题。
|
||||
6.`修复` 底部loading动画未生效的问题。
|
|
@ -0,0 +1,162 @@
|
|||
<!-- z-paging聊天输入框 -->
|
||||
|
||||
<template>
|
||||
<view class="chat-input-bar-container">
|
||||
<view class="chat-input-bar">
|
||||
<view class="chat-input-container">
|
||||
<!-- :adjust-position="false"必须设置,防止键盘弹窗自动上顶,交由z-paging内部处理 -->
|
||||
<input :focus="focus" class="chat-input" v-model="msg" :adjust-position="false" confirm-type="send" type="text" placeholder="请输入内容" @confirm="sendClick" />
|
||||
</view>
|
||||
<!-- 表情图标(如果不需要切换表情面板则不用写) -->
|
||||
<view class="emoji-container">
|
||||
<image class="emoji-img" :src="`/static/${emojiType || 'emoji'}.png`" @click="emojiChange"></image>
|
||||
</view>
|
||||
<view class="chat-input-send" @click="sendClick">
|
||||
<text class="chat-input-send-text">发送</text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 表情面板,这里使用height控制隐藏显示是为了有高度变化的动画效果(如果不需要切换表情面板则不用写) -->
|
||||
<view class="emoji-panel-container" :style="[{height: emojiType === 'keyboard' ? '400rpx' : '0px'}]">
|
||||
<scroll-view scroll-y style="height: 100%;flex: 1;">
|
||||
<view class="emoji-panel">
|
||||
<text class="emoji-panel-text" v-for="(item, index) in emojisArr" :key="index" @click="emojiClick(item)">
|
||||
{{item}}
|
||||
</text>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name:"chat-input-bar",
|
||||
data() {
|
||||
return {
|
||||
msg: '',
|
||||
|
||||
// 表情数组(如果不需要切换表情面板则不用写)
|
||||
emojisArr: ['😊','😁','😀','😃','😣','😞','😩','😫','😲','😟','😦','😜','😳','😋','😥','😰','🤠','😎','😇','😉','😭','😈','😕','😏','😘','😤','😡','😅','😬','😺','😻','😽','😼','🙈','🙉','🙊','🔥','👍','👎','👌','✌️','🙏','💪','👻'],
|
||||
// 当前input focus(如果不需要切换表情面板则不用写)
|
||||
focus: false,
|
||||
// 当前表情/键盘点击后的切换类型,为空字符串代表展示表情logo但是不展示不展示表情面板(如果不需要切换表情面板则不用写)
|
||||
emojiType: '',
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
// 更新了键盘高度(如果不需要切换表情面板则不用写)
|
||||
updateKeyboardHeightChange(res) {
|
||||
if (res.height > 0) {
|
||||
// 键盘展开,将emojiType设置为emoji
|
||||
this.emojiType = 'emoji';
|
||||
}
|
||||
},
|
||||
// 用户尝试隐藏键盘,此时如果表情面板在展示中,应当隐藏表情面板,如果是键盘在展示中不用处理,z-paging内部已经处理(如果不需要切换表情面板则不用写)
|
||||
hidedKeyboard() {
|
||||
if (this.emojiType === 'keyboard') {
|
||||
this.emojiType = '';
|
||||
}
|
||||
},
|
||||
// 点击了切换表情面板/键盘(如果不需要切换表情面板则不用写)
|
||||
emojiChange() {
|
||||
this.$emit('emojiTypeChange', this.emojiType);
|
||||
if (this.emojiType === 'keyboard') {
|
||||
// 点击了键盘,展示键盘
|
||||
this.focus = true;
|
||||
} else {
|
||||
// 点击了切换表情面板
|
||||
this.focus = false;
|
||||
// 隐藏键盘
|
||||
uni.hideKeyboard();
|
||||
}
|
||||
this.emojiType = (!this.emojiType || this.emojiType === 'emoji') ? 'keyboard': 'emoji';
|
||||
},
|
||||
// 点击了某个表情,将其插入输入内容中(如果不需要切换表情面板则不用写)
|
||||
emojiClick(text) {
|
||||
this.msg += text;
|
||||
},
|
||||
|
||||
// 点击了发送按钮
|
||||
sendClick() {
|
||||
if (!this.msg.length) return;
|
||||
this.$emit('send', this.msg);
|
||||
this.msg = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.chat-input-bar {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
border-top: solid 1px #f5f5f5;
|
||||
background-color: #f8f8f8;
|
||||
|
||||
padding: 10rpx 20rpx;
|
||||
}
|
||||
.chat-input-container {
|
||||
flex: 1;
|
||||
/* #ifndef APP-NVUE */
|
||||
display: flex;
|
||||
/* #endif */
|
||||
padding: 15rpx;
|
||||
background-color: white;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
.chat-input {
|
||||
flex: 1;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.emoji-container {
|
||||
width: 54rpx;
|
||||
height: 54rpx;
|
||||
margin: 10rpx 0rpx 10rpx 20rpx;
|
||||
}
|
||||
.emoji-img {
|
||||
width: 54rpx;
|
||||
height: 54rpx;
|
||||
}
|
||||
.chat-input-send {
|
||||
background-color: #007AFF;
|
||||
margin: 10rpx 10rpx 10rpx 20rpx;
|
||||
border-radius: 10rpx;
|
||||
width: 110rpx;
|
||||
height: 60rpx;
|
||||
/* #ifndef APP-NVUE */
|
||||
display: flex;
|
||||
/* #endif */
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.chat-input-send-text {
|
||||
color: white;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
.emoji-panel-container {
|
||||
background-color: #f8f8f8;
|
||||
overflow: hidden;
|
||||
transition-property: height;
|
||||
transition-duration: 0.15s;
|
||||
/* #ifndef APP-NVUE */
|
||||
will-change: height;
|
||||
/* #endif */
|
||||
}
|
||||
.emoji-panel {
|
||||
font-size: 30rpx;
|
||||
/* #ifndef APP-NVUE */
|
||||
display: flex;
|
||||
/* #endif */
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
padding-right: 10rpx;
|
||||
padding-left: 15rpx;
|
||||
padding-bottom: 10rpx;
|
||||
}
|
||||
.emoji-panel-text {
|
||||
font-size: 50rpx;
|
||||
margin-left: 15rpx;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
</style>
|