| @ -0,0 +1,54 @@ | |||||
| <template> | |||||
| <view class="flex card"> | |||||
| <view class="flex label"> | |||||
| <image class="icon" src="/pages_order/static/center/icon-wx.png" mode="scaleToFill"></image> | |||||
| <view>官方微信公众号</view> | |||||
| </view> | |||||
| <button class="flex btn"> | |||||
| <text class="btn-text">即刻关注</text> | |||||
| <uv-icon name="arrow-right" color="#C6C6C6" size="24rpx"></uv-icon> | |||||
| </button> | |||||
| </view> | |||||
| </template> | |||||
| <script> | |||||
| export default { | |||||
| } | |||||
| </script> | |||||
| <style scoped lang="scss"> | |||||
| @import './styles/card.scss'; | |||||
| .card { | |||||
| padding: 24rpx 32rpx; | |||||
| justify-content: space-between; | |||||
| } | |||||
| .icon { | |||||
| width: 64rpx; | |||||
| height: 64rpx; | |||||
| } | |||||
| .label { | |||||
| column-gap: 16rpx; | |||||
| font-family: PingFang SC; | |||||
| font-weight: 400; | |||||
| font-size: 28rpx; | |||||
| line-height: 1; | |||||
| color: #252545; | |||||
| } | |||||
| .btn { | |||||
| font-family: PingFang SC; | |||||
| font-size: 24rpx; | |||||
| font-weight: 400; | |||||
| line-height: 1.4; | |||||
| color: #A8A8A8; | |||||
| &-text { | |||||
| margin-right: 4rpx; | |||||
| } | |||||
| } | |||||
| </style> | |||||
| @ -0,0 +1,76 @@ | |||||
| <template> | |||||
| <view class="flex card cols"> | |||||
| <view class="flex flex-column col" v-for="item in list" :key="item.id"> | |||||
| <view class="icon"> | |||||
| <image class="icon-img" :src="item.icon" mode="scaleToFill"></image> | |||||
| <view class="flex sup" v-if="item.value">{{ item.value }}</view> | |||||
| </view> | |||||
| <view class="label">{{ item.label }}</view> | |||||
| </view> | |||||
| </view> | |||||
| </template> | |||||
| <script> | |||||
| export default { | |||||
| data() { | |||||
| return { | |||||
| list: [], | |||||
| } | |||||
| }, | |||||
| mounted() { | |||||
| this.list = [ | |||||
| { id: '001', label: '待支付', value: 2, icon: '/pages_order/static/center/order-1.png' }, | |||||
| { id: '002', label: '待发货', value: 2, icon: '/pages_order/static/center/order-2.png' }, | |||||
| { id: '003', label: '待收货', value: 0, icon: '/pages_order/static/center/order-3.png' }, | |||||
| { id: '004', label: '售后', value: 0, icon: '/pages_order/static/center/order-4.png' }, | |||||
| { id: '005', label: '全部', icon: '/pages_order/static/center/order-5.png' }, | |||||
| ] | |||||
| }, | |||||
| } | |||||
| </script> | |||||
| <style scoped lang="scss"> | |||||
| @import './styles/card.scss'; | |||||
| .card { | |||||
| padding: 32rpx; | |||||
| column-gap: 16rpx; | |||||
| } | |||||
| .icon { | |||||
| position: relative; | |||||
| width: 48rpx; | |||||
| height: 48rpx; | |||||
| &-img { | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| } | |||||
| .sup { | |||||
| position: absolute; | |||||
| top: 0; | |||||
| right: 0; | |||||
| transform: translate(50%, -50%); | |||||
| min-width: 32rpx; | |||||
| height: 32rpx; | |||||
| font-family: PingFang SC; | |||||
| font-weight: 500; | |||||
| font-size: 24rpx; | |||||
| line-height: 1.3; | |||||
| color: #FFFFFF; | |||||
| background: #F53F3F; | |||||
| border-radius: 32rpx; | |||||
| } | |||||
| } | |||||
| .label { | |||||
| margin-top: 12rpx; | |||||
| font-family: PingFang SC; | |||||
| font-weight: 400; | |||||
| font-size: 28rpx; | |||||
| line-height: 1; | |||||
| color: #252545; | |||||
| } | |||||
| </style> | |||||
| @ -0,0 +1,180 @@ | |||||
| <template> | |||||
| <view class="card"> | |||||
| <view class="flex header"> | |||||
| <view class="title">体检报告</view> | |||||
| <button class="btn">体检入口</button> | |||||
| </view> | |||||
| <view class="flex cols"> | |||||
| <view class="flex flex-column col score"> | |||||
| <view class="flex"> | |||||
| <view class="score-value">{{ data.BMI || '--' }}</view> | |||||
| <view v-if="data.BMIchange < 0" class="flex change"> | |||||
| <text>{{ data.BMIchange }}</text> | |||||
| <image class="change-icon" src="@/pages_order/static/report/arrow-down.png" mode="widthFix"></image> | |||||
| </view> | |||||
| <view v-else-if="data.BMIchange > 0" class="flex change rise"> | |||||
| <text>{{ data.BMIchange }}</text> | |||||
| <image class="change-icon" src="@/pages_order/static/report/arrow-down.png" mode="widthFix"></image> | |||||
| </view> | |||||
| </view> | |||||
| <view class="flex"> | |||||
| <view class="label">BMI</view> | |||||
| <view class="tag"> | |||||
| {{ data.BMItag || '-' }} | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <view class="divider"></view> | |||||
| <view class="flex flex-column col score"> | |||||
| <view class="flex"> | |||||
| <view class="score-value">{{ data.fat || '--' }}</view> | |||||
| <view v-if="data.fatChange < 0" class="flex change"> | |||||
| <text>{{ data.fatChange }}</text> | |||||
| <image class="change-icon" src="@/pages_order/static/report/arrow-down.png" mode="widthFix"></image> | |||||
| </view> | |||||
| <view v-else-if="data.fatChange > 0" class="flex change rise"> | |||||
| <text>{{ data.fatChange }}</text> | |||||
| <image class="change-icon" src="@/pages_order/static/report/arrow-down.png" mode="widthFix"></image> | |||||
| </view> | |||||
| </view> | |||||
| <view class="flex"> | |||||
| <view class="label">脂肪</view> | |||||
| <view class="tag"> | |||||
| {{ data.fatTag || '-' }} | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <view class="divider"></view> | |||||
| <view class="flex flex-column col"> | |||||
| <view class="label">解锁更多</view> | |||||
| <view class="label">身体数据</view> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </template> | |||||
| <script> | |||||
| export default { | |||||
| data() { | |||||
| return { | |||||
| data: { | |||||
| BMI: 20.3, | |||||
| BMIchange: -0.2, | |||||
| BMItag: '正常', | |||||
| fat: null, | |||||
| fatChange: null, | |||||
| fatTag: null, | |||||
| }, | |||||
| } | |||||
| }, | |||||
| } | |||||
| </script> | |||||
| <style scoped lang="scss"> | |||||
| @import './styles/card.scss'; | |||||
| .card { | |||||
| padding: 32rpx; | |||||
| background-image: linear-gradient(#FAFAFF, #F3F3F3); | |||||
| } | |||||
| .header { | |||||
| justify-content: space-between; | |||||
| margin-bottom: 24rpx; | |||||
| .title { | |||||
| font-family: PingFang SC; | |||||
| font-weight: 600; | |||||
| font-size: 36rpx; | |||||
| line-height: 1.2; | |||||
| color: #252545; | |||||
| } | |||||
| .btn { | |||||
| font-family: PingFang SC; | |||||
| font-weight: 600; | |||||
| font-size: 28rpx; | |||||
| line-height: 1.5; | |||||
| color: #FFFFFF; | |||||
| padding: 8rpx 24rpx; | |||||
| background-image: linear-gradient(to right, #4B348F, #845CFA); | |||||
| border: 1rpx solid #FFFFFF; | |||||
| border-radius: 32rpx; | |||||
| box-shadow: -5rpx -5rpx 10rpx 0 #FFFFFF, | |||||
| 10rpx 10rpx 20rpx 0 #AAAACC80, | |||||
| 4rpx 4rpx 10rpx 0 #AAAACC40, | |||||
| -2rpx -2rpx 5rpx 0 #FFFFFF; | |||||
| } | |||||
| } | |||||
| .col { | |||||
| &.score { | |||||
| .score { | |||||
| &-value { | |||||
| font-family: PingFang SC; | |||||
| line-height: 1.4; | |||||
| font-weight: 600; | |||||
| font-size: 40rpx; | |||||
| color: $uni-color; | |||||
| } | |||||
| } | |||||
| .change { | |||||
| margin-left: 8rpx; | |||||
| font-family: PingFang SC; | |||||
| font-weight: 400; | |||||
| font-size: 24rpx; | |||||
| line-height: 1.4; | |||||
| color: #F79205; | |||||
| &-icon { | |||||
| width: 24rpx; | |||||
| height: auto; | |||||
| } | |||||
| &.rise { | |||||
| .change-icon { | |||||
| transform: rotate(180deg); | |||||
| } | |||||
| } | |||||
| } | |||||
| .tag { | |||||
| margin-left: 16rpx; | |||||
| padding: 6rpx 16rpx; | |||||
| font-family: PingFang SC; | |||||
| font-weight: 400; | |||||
| font-size: 20rpx; | |||||
| line-height: 1.4; | |||||
| color: #FFFFFF; | |||||
| background-image: linear-gradient(90deg, #4B348F, #845CFA); | |||||
| border-top-left-radius: 24rpx; | |||||
| border-bottom-right-radius: 24rpx; | |||||
| } | |||||
| } | |||||
| .label { | |||||
| font-size: 26rpx; | |||||
| font-weight: 400; | |||||
| line-height: 1.4; | |||||
| font-family: PingFang SC; | |||||
| color: transparent; | |||||
| background-image: linear-gradient(to right, #4B348F, #845CFA); | |||||
| background-clip: text; | |||||
| display: inline-block; | |||||
| } | |||||
| } | |||||
| .divider { | |||||
| flex: none; | |||||
| // todo | |||||
| width: 4rpx; | |||||
| height: 32rpx; | |||||
| background: #B5B8CE; | |||||
| } | |||||
| </style> | |||||
| @ -0,0 +1,15 @@ | |||||
| .card { | |||||
| margin-top: 32rpx; | |||||
| width: 100%; | |||||
| background: #FAFAFF; | |||||
| border: 2rpx solid #FFFFFF; | |||||
| border-radius: 32rpx; | |||||
| box-sizing: border-box; | |||||
| } | |||||
| .cols { | |||||
| .col { | |||||
| flex: 1; | |||||
| } | |||||
| } | |||||
| @ -0,0 +1,353 @@ | |||||
| <template> | |||||
| <view class="page"> | |||||
| <navbar title="个人中心" /> | |||||
| <view class="head"> | |||||
| <view class="headImage"> | |||||
| <image src="" mode=""></image> | |||||
| </view> | |||||
| <view class="info"> | |||||
| <view class="name"> | |||||
| 倾心. | |||||
| </view> | |||||
| <!-- <view class="vip"> | |||||
| VIP1 | |||||
| </view> --> | |||||
| <view class="tips"> | |||||
| 今天是您来的的第32天 | |||||
| </view> | |||||
| </view> | |||||
| <!-- <view class="headBtn" @click="headBtn"> | |||||
| 角色切换 | |||||
| </view> --> | |||||
| <view class="setting"> | |||||
| <uv-icon name="setting" size="40rpx"></uv-icon> | |||||
| </view> | |||||
| </view> | |||||
| <!-- 水洗店 --> | |||||
| <view class="userShop" v-if="userShop"> | |||||
| <userShopCommission /> | |||||
| <view class="userList"> | |||||
| <view class="title"> | |||||
| 我的用户 | |||||
| </view> | |||||
| <view class="list"> | |||||
| <view class="item" v-for="(item, index) in 20" :key="index"> | |||||
| <view class="name"> | |||||
| 客户:王生 | |||||
| </view> | |||||
| <view class="num"> | |||||
| 剩余水洗布:198 | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <!-- 酒店 --> | |||||
| <view class="user" v-else> | |||||
| <view class="line"> | |||||
| <view class="item"> | |||||
| <view class="image"> | |||||
| <image src="/static/image/center/1.png" mode=""></image> | |||||
| </view> | |||||
| <view class=""> | |||||
| 余额¥3000 | |||||
| </view> | |||||
| </view> | |||||
| <view class="item"> | |||||
| <view class="image"> | |||||
| <image src="/static/image/center/4.png" mode=""></image> | |||||
| </view> | |||||
| <view class=""> | |||||
| 押金¥30000 | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <view class="line grid"> | |||||
| <view class="title"> | |||||
| 常用功能 | |||||
| </view> | |||||
| <uv-grid :col="4" :border="false"> | |||||
| <uv-grid-item @click="$utils.navigateTo('/pages_order/mine/address')"> | |||||
| <image class="image" src="/static/image/center/7.png" mode=""></image> | |||||
| <text class="grid-text">地址管理</text> | |||||
| </uv-grid-item> | |||||
| <uv-grid-item @click="$utils.redirectTo('/index/order')"> | |||||
| <image class="image" src="/static/image/center/8.png" mode=""></image> | |||||
| <text class="grid-text">订单管理</text> | |||||
| </uv-grid-item> | |||||
| <uv-grid-item @click="$utils.navigateTo('/pages_order/order/refundsOrExchange?index='+0)"> | |||||
| <image class="image" src="/static/image/center/5.png" mode=""></image> | |||||
| <text class="grid-text">换货</text> | |||||
| </uv-grid-item> | |||||
| <uv-grid-item @click="$utils.navigateTo('/pages_order/order/refundsOrExchange?index='+1)"> | |||||
| <image class="image" src="/static/image/center/7.png" mode=""></image> | |||||
| <text class="grid-text">退货</text> | |||||
| </uv-grid-item> | |||||
| </uv-grid> | |||||
| </view> | |||||
| <view class="line grid"> | |||||
| <uv-grid :col="4" :border="false"> | |||||
| <uv-grid-item @click="contactUs"> | |||||
| <image class="image" src="/static/image/center/9.png" mode=""></image> | |||||
| <text class="grid-text">联系客服</text> | |||||
| </uv-grid-item> | |||||
| <uv-grid-item> | |||||
| <image class="image" src="/static/image/center/6.png" mode=""></image> | |||||
| <text class="grid-text">我的租赁</text> | |||||
| </uv-grid-item> | |||||
| <uv-grid-item @click="$utils.redirectTo('/index/cart')"> | |||||
| <image class="image" src="/static/image/center/7.png" mode=""></image> | |||||
| <text class="grid-text">租赁车</text> | |||||
| </uv-grid-item> | |||||
| <uv-grid-item | |||||
| @click="$utils.navigateTo('/pages_order/auth/loginAndRegisterAndForgetPassword?index='+2)"> | |||||
| <image class="image" src="/static/image/center/7.png" mode=""></image> | |||||
| <text class="grid-text">申请成为水洗店</text> | |||||
| </uv-grid-item> | |||||
| </uv-grid> | |||||
| </view> | |||||
| </view> | |||||
| <tabber select="center" /> | |||||
| </view> | |||||
| </template> | |||||
| <script> | |||||
| import tabber from '@/components/base/tabbar.vue' | |||||
| import { | |||||
| mapGetters | |||||
| } from 'vuex' | |||||
| import userShopCommission from '@/components/userShop/userShopCommission.vue' | |||||
| export default { | |||||
| components: { | |||||
| tabber, | |||||
| userShopCommission, | |||||
| }, | |||||
| computed: { | |||||
| ...mapGetters(['userShop']), | |||||
| }, | |||||
| data() { | |||||
| return { | |||||
| } | |||||
| }, | |||||
| methods: { | |||||
| headBtn() { | |||||
| let self = this | |||||
| uni.showModal({ | |||||
| title: '演示切换角色之后的效果', | |||||
| success(res) { | |||||
| if (res.confirm) { | |||||
| self.$store.state.shop = !self.$store.state.shop | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| } | |||||
| } | |||||
| </script> | |||||
| <style scoped lang="scss"> | |||||
| .page { | |||||
| .warp { | |||||
| display: flex; | |||||
| align-items: center; | |||||
| justify-content: center; | |||||
| height: 100%; | |||||
| } | |||||
| .rect { | |||||
| width: 600rpx; | |||||
| height: 300rpx; | |||||
| background-color: #fff; | |||||
| border-radius: 20rpx; | |||||
| overflow: hidden; | |||||
| .title { | |||||
| padding: 10rpx 0 0 15rpx; | |||||
| background-color: #fd5100; | |||||
| color: #FFF; | |||||
| text-align: left; | |||||
| width: 100%; | |||||
| height: 18%; | |||||
| font-size: 36rpx; | |||||
| } | |||||
| .center { | |||||
| height: 40%; | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| align-items: center; | |||||
| font-size: 36rpx; | |||||
| } | |||||
| .bottom { | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| gap: 50rpx; | |||||
| } | |||||
| } | |||||
| } | |||||
| image { | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| } | |||||
| .head { | |||||
| display: flex; | |||||
| background-color: #fff; | |||||
| padding: 40rpx 20rpx; | |||||
| align-items: center; | |||||
| position: relative; | |||||
| .headImage { | |||||
| width: 120rpx; | |||||
| height: 120rpx; | |||||
| // background-image: url(/static/image/center/3.png); | |||||
| background-size: 100% 100%; | |||||
| overflow: hidden; | |||||
| border-radius: 50%; | |||||
| margin-right: 40rpx; | |||||
| } | |||||
| .info { | |||||
| font-size: 28rpx; | |||||
| .vip { | |||||
| background-color: #FCCC92; | |||||
| color: #FA6239; | |||||
| width: 100rpx; | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| align-items: center; | |||||
| height: 40rpx; | |||||
| border-radius: 20rpx; | |||||
| margin-top: 20rpx; | |||||
| } | |||||
| .name { | |||||
| font-size: 32rpx; | |||||
| } | |||||
| .tips { | |||||
| font-size: 26rpx; | |||||
| color: #ABABAB; | |||||
| } | |||||
| } | |||||
| .headBtn { | |||||
| margin-left: auto; | |||||
| padding: 15rpx 20rpx; | |||||
| background-color: $uni-color; | |||||
| color: #fff; | |||||
| border-radius: 20rpx; | |||||
| margin-top: 50rpx; | |||||
| } | |||||
| .setting { | |||||
| position: absolute; | |||||
| right: 50rpx; | |||||
| top: 50rpx; | |||||
| } | |||||
| } | |||||
| .userShop { | |||||
| .userList { | |||||
| .title { | |||||
| font-size: 32rpx; | |||||
| font-weight: 900; | |||||
| padding: 20rpx; | |||||
| } | |||||
| .list { | |||||
| display: flex; | |||||
| flex-wrap: wrap; | |||||
| .item { | |||||
| width: 270rpx; | |||||
| margin: 20rpx; | |||||
| display: flex; | |||||
| flex-direction: column; | |||||
| padding: 40rpx 30rpx; | |||||
| background-color: #fff; | |||||
| border-radius: 30rpx; | |||||
| line-height: 60rpx; | |||||
| .name {} | |||||
| .num { | |||||
| color: $uni-color; | |||||
| font-weight: 600; | |||||
| font-size: 28rpx; | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| .user { | |||||
| .line { | |||||
| display: flex; | |||||
| background-color: #fff; | |||||
| margin-top: 20rpx; | |||||
| padding: 20rpx 0; | |||||
| .item { | |||||
| flex: 1; | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| align-items: center; | |||||
| padding: 20rpx 0; | |||||
| &:nth-child(1) { | |||||
| border-right: 1px solid #00000013; | |||||
| } | |||||
| .image { | |||||
| width: 100rpx; | |||||
| height: 70rpx; | |||||
| margin-right: 20rpx; | |||||
| } | |||||
| } | |||||
| } | |||||
| .grid { | |||||
| flex-direction: column; | |||||
| font-size: 26rpx; | |||||
| padding: 20rpx; | |||||
| .title { | |||||
| margin-bottom: 30rpx; | |||||
| font-size: 28rpx; | |||||
| font-weight: 600; | |||||
| } | |||||
| .image { | |||||
| width: 70rpx; | |||||
| height: 70rpx; | |||||
| margin-bottom: 10rpx; | |||||
| } | |||||
| text { | |||||
| text-align: center; | |||||
| width: 120rpx; | |||||
| } | |||||
| } | |||||
| } | |||||
| </style> | |||||
| @ -1,352 +1,209 @@ | |||||
| <template> | <template> | ||||
| <view class="page"> | |||||
| <view class="page__view"> | |||||
| <navbar title="个人中心" /> | |||||
| <image class="bg" src="@/pages_order/static/center/bg.png" mode="widthFix"></image> | |||||
| <view class="head"> | |||||
| <view class="headImage"> | |||||
| <image src="" mode=""></image> | |||||
| </view> | |||||
| <view class="info"> | |||||
| <view class="name"> | |||||
| 倾心. | |||||
| </view> | |||||
| <!-- <view class="vip"> | |||||
| VIP1 | |||||
| </view> --> | |||||
| <view class="tips"> | |||||
| 今天是您来的的第32天 | |||||
| </view> | |||||
| </view> | |||||
| <!-- <view class="headBtn" @click="headBtn"> | |||||
| 角色切换 | |||||
| </view> --> | |||||
| <view class="setting"> | |||||
| <uv-icon name="setting" size="40rpx"></uv-icon> | |||||
| </view> | |||||
| </view> | |||||
| <view class="main"> | |||||
| <!-- 水洗店 --> | |||||
| <view class="userShop" v-if="userShop"> | |||||
| <userShopCommission /> | |||||
| <view class="userList"> | |||||
| <view class="title"> | |||||
| 我的用户 | |||||
| </view> | |||||
| <view class="list"> | |||||
| <view class="item" v-for="(item, index) in 20" :key="index"> | |||||
| <view class="name"> | |||||
| 客户:王生 | |||||
| </view> | |||||
| <view class="num"> | |||||
| 剩余水洗布:198 | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <navbar bgColor="transparent" > | |||||
| <image class="nav-icon" src="@/pages_order/static/center/icon-nav.png" mode="widthFix"></image> | |||||
| </navbar> | |||||
| <!-- 酒店 --> | |||||
| <view class="user" v-else> | |||||
| <view class="line"> | |||||
| <view class="item"> | |||||
| <view class="image"> | |||||
| <image src="/static/image/center/1.png" mode=""></image> | |||||
| <view class="content"> | |||||
| <view class="flex user"> | |||||
| <view class="user-avatar"> | |||||
| <image class="user-avatar-img" src="@/pages_order/static/report/avatar.png" mode="scaleToFill"></image> | |||||
| </view> | </view> | ||||
| <view class=""> | |||||
| 余额¥3000 | |||||
| <view class="user-info"> | |||||
| <view class="user-info-name">战斗世界</view> | |||||
| <view class="user-info-desc">世界这么美,身体要健康~</view> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class="item"> | |||||
| <view class="image"> | |||||
| <image src="/static/image/center/4.png" mode=""></image> | |||||
| </view> | |||||
| <view class=""> | |||||
| 押金¥30000 | |||||
| <reportCard></reportCard> | |||||
| <orderCard></orderCard> | |||||
| <accountCard></accountCard> | |||||
| <view class="card"> | |||||
| <view v-for="item in list1" :key="item.id"> | |||||
| <!-- todo: key -> custom --> | |||||
| <view class="flex row" @click="$utils.navigateTo(item.path)"> | |||||
| <view class="flex label"> | |||||
| <image class="icon" :src="item.icon" mode="scaleToFill"></image> | |||||
| <view>{{ item.label }}</view> | |||||
| </view> | |||||
| <uv-icon name="arrow-right" color="#C6C6C6" size="24rpx"></uv-icon> | |||||
| </view> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | |||||
| <view class="line grid"> | |||||
| <view class="title"> | |||||
| 常用功能 | |||||
| <view class="card"> | |||||
| <view v-for="item in list2" :key="item.id"> | |||||
| <!-- todo: key -> custom --> | |||||
| <view class="flex row" @click="$utils.navigateTo(item.path)"> | |||||
| <view class="flex label"> | |||||
| <image class="icon" :src="item.icon" mode="scaleToFill"></image> | |||||
| <view>{{ item.label }}</view> | |||||
| </view> | |||||
| <uv-icon name="arrow-right" color="#C6C6C6" size="24rpx"></uv-icon> | |||||
| </view> | |||||
| </view> | |||||
| </view> | </view> | ||||
| <uv-grid :col="4" :border="false"> | |||||
| <uv-grid-item @click="$utils.navigateTo('/pages_order/mine/address')"> | |||||
| <image class="image" src="/static/image/center/7.png" mode=""></image> | |||||
| <text class="grid-text">地址管理</text> | |||||
| </uv-grid-item> | |||||
| <uv-grid-item @click="$utils.redirectTo('/index/order')"> | |||||
| <image class="image" src="/static/image/center/8.png" mode=""></image> | |||||
| <text class="grid-text">订单管理</text> | |||||
| </uv-grid-item> | |||||
| <uv-grid-item @click="$utils.navigateTo('/pages_order/order/refundsOrExchange?index='+0)"> | |||||
| <image class="image" src="/static/image/center/5.png" mode=""></image> | |||||
| <text class="grid-text">换货</text> | |||||
| </uv-grid-item> | |||||
| <uv-grid-item @click="$utils.navigateTo('/pages_order/order/refundsOrExchange?index='+1)"> | |||||
| <image class="image" src="/static/image/center/7.png" mode=""></image> | |||||
| <text class="grid-text">退货</text> | |||||
| </uv-grid-item> | |||||
| </uv-grid> | |||||
| </view> | </view> | ||||
| <view class="line grid"> | |||||
| <uv-grid :col="4" :border="false"> | |||||
| <uv-grid-item @click="contactUs"> | |||||
| <image class="image" src="/static/image/center/9.png" mode=""></image> | |||||
| <text class="grid-text">联系客服</text> | |||||
| </uv-grid-item> | |||||
| <uv-grid-item> | |||||
| <image class="image" src="/static/image/center/6.png" mode=""></image> | |||||
| <text class="grid-text">我的租赁</text> | |||||
| </uv-grid-item> | |||||
| <uv-grid-item @click="$utils.redirectTo('/index/cart')"> | |||||
| <image class="image" src="/static/image/center/7.png" mode=""></image> | |||||
| <text class="grid-text">租赁车</text> | |||||
| </uv-grid-item> | |||||
| <tabber select="center" /> | |||||
| <uv-grid-item | |||||
| @click="$utils.navigateTo('/pages_order/auth/loginAndRegisterAndForgetPassword?index='+2)"> | |||||
| <image class="image" src="/static/image/center/7.png" mode=""></image> | |||||
| <text class="grid-text">申请成为水洗店</text> | |||||
| </uv-grid-item> | |||||
| </uv-grid> | |||||
| </view> | |||||
| </view> | </view> | ||||
| <tabber select="center" /> | |||||
| </view> | </view> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import tabber from '@/components/base/tabbar.vue' | import tabber from '@/components/base/tabbar.vue' | ||||
| import { | |||||
| mapGetters | |||||
| } from 'vuex' | |||||
| import userShopCommission from '@/components/userShop/userShopCommission.vue' | |||||
| import reportCard from '@/components/center/reportCard.vue' | |||||
| import orderCard from '@/components/center/orderCard.vue' | |||||
| import accountCard from '@/components/center/accountCard.vue' | |||||
| export default { | export default { | ||||
| components: { | components: { | ||||
| reportCard, | |||||
| orderCard, | |||||
| accountCard, | |||||
| tabber, | tabber, | ||||
| userShopCommission, | |||||
| }, | |||||
| computed: { | |||||
| ...mapGetters(['userShop']), | |||||
| }, | }, | ||||
| data() { | data() { | ||||
| return { | return { | ||||
| list1: [ | |||||
| // todo | |||||
| { id: '001', label: '检测预约', icon: '/pages_order/static/center/icon-detectBook.png', path: '/pages_order/mine/detectBook' }, | |||||
| // todo | |||||
| { id: '002', label: '联系客服', icon: '/pages_order/static/center/icon-service.png', key: 'service' }, | |||||
| // todo | |||||
| { id: '003', label: '服用说明', icon: '/pages_order/static/center/icon-instruc.png', path: '/pages_order/mine/instruc' }, | |||||
| // todo | |||||
| { id: '004', label: '用户须知', icon: '/pages_order/static/center/icon-userAgreement.png', path: '/pages_order/mine/userAgreement' }, | |||||
| ], | |||||
| list2: [ | |||||
| // todo | |||||
| { id: '005', label: '我的评价', icon: '/pages_order/static/center/icon-comment.png', path: '/pages_order/mine/detectBook' }, | |||||
| // todo | |||||
| { id: '006', label: '关于我们', icon: '/pages_order/static/center/icon-aboutUs.png', path: '/pages_order/mine/service' }, | |||||
| // todo | |||||
| { id: '007', label: '修改信息', icon: '/pages_order/static/center/icon-modifyInfo.png', path: '/pages_order/mine/instruc' }, | |||||
| // todo | |||||
| { id: '008', label: '退出登录', icon: '/pages_order/static/center/icon-logout.png', key: 'logout' }, | |||||
| ], | |||||
| } | } | ||||
| }, | }, | ||||
| methods: { | |||||
| headBtn() { | |||||
| let self = this | |||||
| uni.showModal({ | |||||
| title: '演示切换角色之后的效果', | |||||
| success(res) { | |||||
| if (res.confirm) { | |||||
| self.$store.state.shop = !self.$store.state.shop | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| } | |||||
| } | } | ||||
| </script> | </script> | ||||
| <style scoped lang="scss"> | <style scoped lang="scss"> | ||||
| .page { | |||||
| .warp { | |||||
| display: flex; | |||||
| align-items: center; | |||||
| justify-content: center; | |||||
| height: 100%; | |||||
| } | |||||
| .rect { | |||||
| width: 600rpx; | |||||
| height: 300rpx; | |||||
| background-color: #fff; | |||||
| border-radius: 20rpx; | |||||
| overflow: hidden; | |||||
| .title { | |||||
| padding: 10rpx 0 0 15rpx; | |||||
| background-color: #fd5100; | |||||
| color: #FFF; | |||||
| text-align: left; | |||||
| width: 100%; | |||||
| height: 18%; | |||||
| font-size: 36rpx; | |||||
| } | |||||
| .page__view { | |||||
| width: 100vw; | |||||
| min-height: 100vh; | |||||
| background-color: $uni-bg-color; | |||||
| position: relative; | |||||
| .center { | |||||
| height: 40%; | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| align-items: center; | |||||
| font-size: 36rpx; | |||||
| } | |||||
| /deep/ .nav-bar__view { | |||||
| position: fixed; | |||||
| top: 0; | |||||
| left: 0; | |||||
| } | |||||
| .bottom { | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| gap: 50rpx; | |||||
| } | |||||
| .nav-icon { | |||||
| width: 200rpx; | |||||
| height: auto; | |||||
| vertical-align: top; | |||||
| } | } | ||||
| } | } | ||||
| .bg { | |||||
| width: 100vw; | |||||
| height: auto; | |||||
| } | |||||
| .main { | |||||
| position: absolute; | |||||
| top: 176rpx; | |||||
| left: 0; | |||||
| width: 100%; | |||||
| } | |||||
| image { | |||||
| .content { | |||||
| width: 100%; | width: 100%; | ||||
| height: 100%; | |||||
| padding: 16rpx 32rpx 80rpx 32rpx; | |||||
| box-sizing: border-box; | |||||
| } | } | ||||
| .head { | |||||
| display: flex; | |||||
| background-color: #fff; | |||||
| padding: 40rpx 20rpx; | |||||
| align-items: center; | |||||
| position: relative; | |||||
| .user { | |||||
| column-gap: 24rpx; | |||||
| .headImage { | |||||
| width: 120rpx; | |||||
| height: 120rpx; | |||||
| // background-image: url(/static/image/center/3.png); | |||||
| background-size: 100% 100%; | |||||
| overflow: hidden; | |||||
| &-avatar { | |||||
| flex: none; | |||||
| width: 100rpx; | |||||
| height: 100rpx; | |||||
| border: 4rpx solid #FFFFFF; | |||||
| border-radius: 50%; | border-radius: 50%; | ||||
| margin-right: 40rpx; | |||||
| } | |||||
| .info { | |||||
| font-size: 28rpx; | |||||
| .vip { | |||||
| background-color: #FCCC92; | |||||
| color: #FA6239; | |||||
| width: 100rpx; | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| align-items: center; | |||||
| height: 40rpx; | |||||
| border-radius: 20rpx; | |||||
| margin-top: 20rpx; | |||||
| } | |||||
| .name { | |||||
| font-size: 32rpx; | |||||
| } | |||||
| overflow: hidden; | |||||
| .tips { | |||||
| font-size: 26rpx; | |||||
| color: #ABABAB; | |||||
| &-img { | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| } | } | ||||
| } | } | ||||
| .headBtn { | |||||
| margin-left: auto; | |||||
| padding: 15rpx 20rpx; | |||||
| background-color: $uni-color; | |||||
| color: #fff; | |||||
| border-radius: 20rpx; | |||||
| margin-top: 50rpx; | |||||
| } | |||||
| .setting { | |||||
| position: absolute; | |||||
| right: 50rpx; | |||||
| top: 50rpx; | |||||
| } | |||||
| } | |||||
| &-info { | |||||
| flex: 1; | |||||
| .userShop { | |||||
| .userList { | |||||
| .title { | |||||
| font-size: 32rpx; | |||||
| font-weight: 900; | |||||
| padding: 20rpx; | |||||
| &-name { | |||||
| font-family: PingFang SC; | |||||
| font-weight: 600; | |||||
| font-size: 36rpx; | |||||
| line-height: 1.2; | |||||
| color: #FFFFFF; | |||||
| } | } | ||||
| .list { | |||||
| display: flex; | |||||
| flex-wrap: wrap; | |||||
| .item { | |||||
| width: 270rpx; | |||||
| margin: 20rpx; | |||||
| display: flex; | |||||
| flex-direction: column; | |||||
| padding: 40rpx 30rpx; | |||||
| background-color: #fff; | |||||
| border-radius: 30rpx; | |||||
| line-height: 60rpx; | |||||
| .name {} | |||||
| .num { | |||||
| color: $uni-color; | |||||
| font-weight: 600; | |||||
| font-size: 28rpx; | |||||
| } | |||||
| } | |||||
| &-desc { | |||||
| margin-top: 8rpx; | |||||
| font-family: PingFang SC; | |||||
| font-weight: 400; | |||||
| font-size: 24rpx; | |||||
| line-height: 1.5; | |||||
| color: #F4F4F4; | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| .user { | |||||
| .line { | |||||
| display: flex; | |||||
| background-color: #fff; | |||||
| margin-top: 20rpx; | |||||
| padding: 20rpx 0; | |||||
| .item { | |||||
| flex: 1; | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| align-items: center; | |||||
| padding: 20rpx 0; | |||||
| &:nth-child(1) { | |||||
| border-right: 1px solid #00000013; | |||||
| } | |||||
| .image { | |||||
| width: 100rpx; | |||||
| height: 70rpx; | |||||
| margin-right: 20rpx; | |||||
| } | |||||
| } | |||||
| } | |||||
| .grid { | |||||
| flex-direction: column; | |||||
| font-size: 26rpx; | |||||
| padding: 20rpx; | |||||
| .title { | |||||
| margin-bottom: 30rpx; | |||||
| .card { | |||||
| margin-top: 32rpx; | |||||
| width: 100%; | |||||
| background: #FAFAFF; | |||||
| border: 2rpx solid #FFFFFF; | |||||
| border-radius: 32rpx; | |||||
| box-sizing: border-box; | |||||
| .row { | |||||
| justify-content: space-between; | |||||
| width: 100%; | |||||
| padding: 40rpx; | |||||
| box-sizing: border-box; | |||||
| .label { | |||||
| font-family: PingFang SC; | |||||
| font-weight: 400; | |||||
| font-size: 28rpx; | font-size: 28rpx; | ||||
| font-weight: 600; | |||||
| } | |||||
| .image { | |||||
| width: 70rpx; | |||||
| height: 70rpx; | |||||
| margin-bottom: 10rpx; | |||||
| } | |||||
| line-height: 1; | |||||
| color: #252545; | |||||
| text { | |||||
| text-align: center; | |||||
| width: 120rpx; | |||||
| .icon { | |||||
| margin-right: 16rpx; | |||||
| width: 40rpx; | |||||
| height: 40rpx; | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||