Browse Source

影响样式,对接接口,日历样式

master
396316021 1 year ago
parent
commit
7655e5d157
  1. 6
      components/MzButton/index.vue
  2. 13
      config/image.js
  3. 2
      pages/Addr/components/index.scss
  4. 21
      pages/Addr/index.vue
  5. 53
      pages/AddrDetail/index.vue
  6. 1
      pages/ChatDetail/components/index.scss
  7. 10
      pages/ChatDetail/index.vue
  8. 312
      pages/Index/components/HomePage/index.vue
  9. 35
      pages/Index/components/UserPage/index.vue
  10. 2
      pages/Index/index.vue
  11. 6
      pages/Login/index.vue
  12. 111
      pages/OrderPage/index.vue

6
components/MzButton/index.vue

@ -1,5 +1,5 @@
<template> <template>
<view class="mz-button-container" :style="{width:buttonWidth}"> <view class="mz-button-container" :style="{width:buttonWidth}" @click="clickHandle">
<view class="mz-button-background"> <view class="mz-button-background">
<view class="mz-button-background-main" :style="{backgroundColor:buttonColor,color:fontColor}"> <view class="mz-button-background-main" :style="{backgroundColor:buttonColor,color:fontColor}">
<view class="mz-button-content" :style="Object.assign(btnStyle,{ <view class="mz-button-content" :style="Object.assign(btnStyle,{
@ -65,7 +65,9 @@
}, },
methods: { methods: {
clickHandle(e){
this.$emit('click',e);
}
} }
} }
</script> </script>

13
config/image.js

@ -9,6 +9,17 @@ const image = {
}, },
IndexPage(){ IndexPage(){
} },
OrderPage:{
wallpaperBgImage:imghost +'/static/image/background.png',
addrBg:imghost+'/static/image/order-create-addr-bg.png',
addrAvatar:imghost+'/static/image/order-create-addr-avatar.png',
addrFw:imghost+'/static/image/order-create-addr-fw.png',
addrBook:imghost+'/static/image/order-create-addr-book.png',
tagClose:imghost+'/static/image/order-create-tag-close.png',
selectPet:imghost+'/static/image/order-create-select-pet.png',
selectService:imghost+'/static/image/order-create-select-service.png',
groupImg:imghost+'/static/image/order-create-group-1.png',
},
} }
export default image; export default image;

2
pages/Addr/components/index.scss

@ -19,7 +19,7 @@
position: relative; position: relative;
z-index: 2; z-index: 2;
width:100%; width:100%;
margin-right:30rpx; //margin-right:30rpx;
.addr-move-container{ .addr-move-container{
height:231rpx; height:231rpx;
width:100%; width:100%;

21
pages/Addr/index.vue

@ -7,11 +7,11 @@
<view class="addr-list-container row"> <view class="addr-list-container row">
<!-- <view @touchstart="touchstart" @touchend="touchend" @touchmove="touchmove" v-for="item in addrList" class="addr-list-item row" :style="{backgroundImage:'url('+staticImage.addrBg+')'}">--> <!-- <view @touchstart="touchstart" @touchend="touchend" @touchmove="touchmove" v-for="item in addrList" class="addr-list-item row" :style="{backgroundImage:'url('+staticImage.addrBg+')'}">-->
<uni-swipe-action v-for="item in addrList"> <uni-swipe-action v-for="item in addrList" style="width:100%;">
<uni-swipe-action-item :right-options="options1"> <uni-swipe-action-item :right-options="options1" style="width:100%;">
<view class="addr-list-item-container"> <view class="addr-list-item-container" @click="(type === 'select')?navBack(item):''">
<view class="addr-list-item row" :style="{backgroundImage:'url('+staticImage.addrBg+')'}"> <view class="addr-list-item row" :style="{backgroundImage:'url('+staticImage.addrBg+')'}">
<view class="addr-list-content"> <view class="addr-list-content row">
<view class="addr-title-group row"> <view class="addr-title-group row">
<view class="addr-title">{{item.name}}</view> <view class="addr-title">{{item.name}}</view>
<view class="addr-phone">{{item.phone}}</view> <view class="addr-phone">{{item.phone}}</view>
@ -87,6 +87,7 @@
import MzButton from '@/components/MzButton/Index.vue'; import MzButton from '@/components/MzButton/Index.vue';
import {delAddress, getAddressList} from "@/api/address"; import {delAddress, getAddressList} from "@/api/address";
import functions from "@/utils/functions"; import functions from "@/utils/functions";
import log from "@/utils/log";
export default { export default {
components: { components: {
HeaderNav, HeaderNav,
@ -126,16 +127,22 @@
isTop: false, isTop: false,
pagePadding: 100, pagePadding: 100,
petImage: imghost + '/static/image/pet_avatar1.jpeg', petImage: imghost + '/static/image/pet_avatar1.jpeg',
addrList: [] addrList: [],
type:'',
} }
}, },
onLoad() { onLoad(option) {
this.type = option.type||'lists'
}, },
onShow() { onShow() {
this.getAddressList(); this.getAddressList();
}, },
methods: { methods: {
navBack(item) {
item.select = true;
uni.setStorageSync('address',item)
uni.navigateBack();
},
touchstart(e) { touchstart(e) {
console.log(e) console.log(e)

53
pages/AddrDetail/index.vue

@ -7,12 +7,16 @@
<view class="container-background-group"> <view class="container-background-group">
<view class="container-background-content"> <view class="container-background-content">
<image :src="staticImage.addrDetailTitle" class="img" mode="widthFix"/> <image :src="staticImage.addrDetailTitle" class="img" mode="widthFix"/>
<u--form labelWidth="auto" labelPosition="left" :model="address" ref="form1"> <u-form labelWidth="auto" labelPosition="left" :model="address" ref="form1">
<u-form-item label="家长姓名" prop="address.name" borderBottom ref="item1"> <u-form-item label="家长姓名" prop="address.name" borderBottom ref="item1">
<u--input v-model="address.name" border="none" inputAlign="right" placeholder="请填写家长姓名"></u--input> <u-input v-model="address.name" border="none" inputAlign="right" placeholder="请填写家长姓名"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="家长电话" prop="address.phone" borderBottom ref="item1"> <u-form-item label="家长电话" prop="address.phone" borderBottom ref="item1">
<u--input v-model="address.phone" border="none" inputAlign="right" placeholder="请填写联系电话"></u--input> <u-input v-model="address.phone" border="none" inputAlign="right" placeholder="请填写联系电话"></u-input>
</u-form-item>
<u-form-item label="所在位置" prop="address.position" borderBottom ref="item1">
<!-- <view class="" @click="selectAddress">{{ address.position||'请选择位置' }}</view>-->
<u-text suffix-icon="arrow-right" icon-style="align-items:center;font-size:28rpx;" line-height="28" :text="address.position||'请选择位置'" size="28" :color="address.position?'#636363':'#636363'" align="right" @click="selectAddress"></u-text>
</u-form-item> </u-form-item>
<!-- <u-form-item label="省市区" prop="userInfo.sex" borderBottom @click="showSex = true; hideKeyboard()"--> <!-- <u-form-item label="省市区" prop="userInfo.sex" borderBottom @click="showSex = true; hideKeyboard()"-->
<!-- ref="item1">--> <!-- ref="item1">-->
@ -64,7 +68,7 @@
></MzButton> ></MzButton>
</view> </view>
</u-form-item> </u-form-item>
</u--form> </u-form>
<u-action-sheet :show="showSex" :actions="actions" title="请选择性别" description="如果选择保密会报错" <u-action-sheet :show="showSex" :actions="actions" title="请选择性别" description="如果选择保密会报错"
@close="showSex = false" @select="sexSelect"> @close="showSex = false" @select="sexSelect">
</u-action-sheet> </u-action-sheet>
@ -89,6 +93,7 @@
import log from "@/utils/log"; import log from "@/utils/log";
import {getDetail, saveAddress} from "@/api/address"; import {getDetail, saveAddress} from "@/api/address";
import functions from "@/utils/functions"; import functions from "@/utils/functions";
import api from "@/utils/functions";
export default { export default {
components: { components: {
HeaderNav, HeaderNav,
@ -203,6 +208,46 @@
this.address = data.data; this.address = data.data;
}) })
}, },
selectAddress() {
let that = this;
uni.getLocation({
type: 'gcj02',
success: function (res1) {
uni.chooseLocation({
latitude:res1.latitude||'',
longitude:res1.longitude||'',
success: (res) => {
// that.lat = res.latitude;
// that.lng = res.longitude;
// that.model.line.coordinate = res.latitude+','+res.longitude;
// that.model.line.address = res.name+res.address;
// this.getRegionFn(res);
api.getloction({activedeta:{
city:'',
address:res.address
}}).then(data => {
let address = data.address_components;
console.log('address',address)
that.address.province = address.province;
that.address.city = address.city;
that.address.district = address.district;
that.address.position = res.address;
that.address.info = res.name;
});
},
fail: (err) => {
console.log(err)
}
});
},
fail: (err) => {
console.log(err)
}
});
},
submit(){ submit(){
log(this.address); log(this.address);
saveAddress(this.address).then(() => { saveAddress(this.address).then(() => {

1
pages/ChatDetail/components/index.scss

@ -134,7 +134,6 @@
border-radius: 45rpx; border-radius: 45rpx;
z-index: 1; z-index: 1;
.detail-input{ .detail-input{
flex:1;
background: #FFFFFF; background: #FFFFFF;
box-shadow: 0rpx 5rpx 10rpx 0rpx rgba(179,181,181,0.1); box-shadow: 0rpx 5rpx 10rpx 0rpx rgba(179,181,181,0.1);
border-radius: 45rpx; border-radius: 45rpx;

10
pages/ChatDetail/index.vue

@ -48,16 +48,18 @@
<view class="detail-input-group-container"> <view class="detail-input-group-container">
<view class="detail-input-group row"> <view class="detail-input-group row">
<input class="detail-input" v-model="message" type="text"/> <view class="col">
<view @click="sendMessage"> <input class="detail-input" v-model="message" type="text"/>
</view>
<MzButton <MzButton
title="发送" title="发送"
font-color="#fff" font-color="#fff"
button-color="#4DC3B8" button-color="#4DC3B8"
button-width="auto" button-width="auto"
class="detail-input-button"> class="detail-input-button"
@click="sendMessage"
>
</MzButton> </MzButton>
</view>
</view> </view>
</view> </view>
</view> </view>

312
pages/Index/components/HomePage/index.vue

@ -1,174 +1,178 @@
<template> <template>
<view class="app-wallpaper" :style="{ <view class="app-wallpaper" :style="{
backgroundImage:'url('+staticImage.wallpaperBgImage+')' backgroundImage:'url('+staticImage.wallpaperBgImage+')'
}"> }">
<view class="index-banner"> <view class="index-banner">
<view class="index-banner-container"> <view class="index-banner-container">
<image class="img" v-for="item in indexBanner" mode="widthFix" :src="item.image" alt="" /> <image class="img" v-for="item in indexBanner" mode="widthFix" :src="item.image" alt=""/>
</view> </view>
</view> </view>
<view class="index-user-detail"> <view class="index-user-detail">
<view class="user-detail-container row"> <view class="user-detail-container row">
<view class="user-avatar"> <view class="user-avatar">
<img mode="widthFix" class="img" :src="user.avatar" alt=""> <img mode="widthFix" class="img" :src="user.avatar" alt="">
</view> </view>
<view class="user-content"> <view class="user-content">
<view class="user-title-top"> <view class="user-title-top row">
<image class="img" mode="widthFix" <image class="img" mode="widthFix"
:src="staticImage.hiImage" alt="" /> :src="staticImage.hiImage" alt=""/>
<text class="user-title-text">{{user.nickname}}</text> <view class="user-title-text">
</view> <u-text :text="user.nickname" color="#131313" size="30" custom-style="display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;overflow: hidden;max-width:200rpx;"></u-text>
<view class="user-title-bottom"> </view>
<image class="img" mode="aspectFit" </view>
:src="staticImage.dogImage" alt="" /> <view class="user-title-bottom">
<text class="user-title-idcard"> <image class="img" mode="aspectFit"
会员编号{{user.id}} :src="staticImage.dogImage" alt=""/>
</text> <text class="user-title-idcard">
</view> 会员编号{{ user.id }}
</view> </text>
<view class="user-coupons" :style="{backgroundImage:'url('+staticImage.couponsImage+')'}"> </view>
<view class="user-coupons-number" @click="userCouponsPage()"> </view>
<view class="user-coupons-number-container"> <view class="user-coupons" :style="{backgroundImage:'url('+staticImage.couponsImage+')'}">
{{user.coupon_count}} <view class="user-coupons-number" @click="userCouponsPage()">
</view> <view class="user-coupons-number-container">
</view> {{ userExtends.coupon_count }}
</view> </view>
</view> </view>
</view> </view>
<view class="index-button-group row"> </view>
<view class="index-button-detail col-6" v-for="(item) in staticImage.indexButtonGroup"> </view>
<view class="index-button-detail-container row" :style="{ <view class="index-button-group row">
<view class="index-button-detail col-6" v-for="(item) in staticImage.indexButtonGroup">
<view class="index-button-detail-container row" :style="{
backgroundImage:'url('+item.backgroundImage+')' backgroundImage:'url('+item.backgroundImage+')'
}" @click="navTo(item.url)"> }" @click="navTo(item.url)">
<view class="col-12"> <view class="col-12">
<image mode="widthFix" class="img" <image mode="widthFix" class="img"
:src="item.serviceImage"/> :src="item.serviceImage"/>
</view> </view>
<view class="col-12"> <view class="col-12">
<image mode="widthFix" class="img" <image mode="widthFix" class="img"
:src="item.buttonImage"/> :src="item.buttonImage"/>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
import { import {
imghost imghost
} from '@/config/host.js' } from '@/config/host.js'
import api from '@/utils/functions.js'; import api from '@/utils/functions.js';
import log from "@/utils/log"; import log from "@/utils/log";
export default { import {userExtends} from "@/api/user";
data: {
title: 'Hello',
loading: true,
staticImage:{
hiImage:imghost+'/static/image/index-user-title-hi.png',
dogImage:imghost+'/static/image/index-user-title-dog.png',
couponsImage:imghost+'/static/image/index-user-coupons-background.png',
indexButtonGroup:[
{
backgroundImage:imghost+'/static/image/index-button-one.png',
serviceImage:imghost+'/static/image/index-button-bg-one.png',
buttonImage:imghost+'/static/image/index-button-bg-btn-one.png',
url:'/pages/OrderPage/index'
},{
backgroundImage:imghost+'/static/image/index-button-two.png',
serviceImage:imghost+'/static/image/index-button-bg-two.png',
buttonImage:imghost+'/static/image/index-button-bg-btn-two.png',
url:'/pages/Card/index'
},{
backgroundImage:imghost+'/static/image/index-button-three.png',
serviceImage:imghost+'/static/image/index-button-bg-three.png',
buttonImage:imghost+'/static/image/index-button-bg-btn-three.png',
url:'/pages/UserCoupons/index'
},{
backgroundImage:imghost+'/static/image/index-button-four.png',
serviceImage:imghost+'/static/image/index-button-bg-four.png',
buttonImage:imghost+'/static/image/index-button-bg-btn-four.png',
url:'/pages/Draw/index'
},
],
wallpaperBgImage:imghost+'/static/image/background.png'
},
indexBanner:[
{
image:imghost+'/static/image/banner.png',
url:'',
}
],
user:{
avatar:imghost+'/static/image/banner.png',
nickname:'清晨的风',
coupon_count:221,
id:88685
},
isTop:false,
pagePadding:100,
userInfo:{},
},
onLoad() {
}, export default {
methods: { data: {
userCouponsPage(){ title: 'Hello',
uni.navigateTo({ loading: true,
url:'/pages/UserCoupons/index' staticImage: {
}) hiImage: imghost + '/static/image/index-user-title-hi.png',
}, dogImage: imghost + '/static/image/index-user-title-dog.png',
navTo(url){ couponsImage: imghost + '/static/image/index-user-coupons-background.png',
uni.navigateTo({ indexButtonGroup: [
url:url {
}) backgroundImage: imghost + '/static/image/index-button-one.png',
}, serviceImage: imghost + '/static/image/index-button-bg-one.png',
updateUserInfo(){ buttonImage: imghost + '/static/image/index-button-bg-btn-one.png',
if(this.userInfo){ url: '/pages/OrderPage/index'
this.user.id = this.userInfo.id }, {
this.user.nickname = this.userInfo.name backgroundImage: imghost + '/static/image/index-button-two.png',
this.user.avatar = this.userInfo.avatar serviceImage: imghost + '/static/image/index-button-bg-two.png',
this.user.coupon_count = this.userInfo.coupon_count buttonImage: imghost + '/static/image/index-button-bg-btn-two.png',
} url: '/pages/Card/index'
}, {
backgroundImage: imghost + '/static/image/index-button-three.png',
serviceImage: imghost + '/static/image/index-button-bg-three.png',
buttonImage: imghost + '/static/image/index-button-bg-btn-three.png',
url: '/pages/UserCoupons/index'
}, {
backgroundImage: imghost + '/static/image/index-button-four.png',
serviceImage: imghost + '/static/image/index-button-bg-four.png',
buttonImage: imghost + '/static/image/index-button-bg-btn-four.png',
url: '/pages/Draw/index'
},
],
wallpaperBgImage: imghost + '/static/image/background.png'
},
indexBanner: [
{
image: imghost + '/static/image/banner.png',
url: '',
} }
}, ],
onPageScroll(res) { user: {
if(res.scrollTop <= 20){ avatar: imghost + '/static/image/banner.png',
uni.$emit('isTop', true); nickname: '清晨的风',
}else{ coupon_count: 221,
uni.$emit('isTop', false); id: 88685
}
},
created() {
this.pagePadding = (api.navHeight().navPaddingTop+
api.navHeight().navHeight + (api.navHeight().headerPadding *2))
},
mounted() {
this.userInfo = this.$store.state.userInfo;
log(this.userInfo);
log(this.$store.state);
}, },
updated() { isTop: false,
pagePadding: 100,
userInfo: {},
userExtends: {},
},
onLoad() {
},
methods: {
userCouponsPage() {
uni.navigateTo({
url: '/pages/UserCoupons/index'
})
},
navTo(url) {
uni.navigateTo({
url: url
})
},
updateUserInfo() {
if (this.userInfo) {
this.user.id = this.userInfo.id
this.user.nickname = this.userInfo.name
this.user.avatar = this.userInfo.avatar
this.user.coupon_count = this.userExtends.coupon_count
}
}
},
onPageScroll(res) {
if (res.scrollTop <= 20) {
uni.$emit('isTop', true);
} else {
uni.$emit('isTop', false);
}
},
created() {
this.pagePadding = (api.navHeight().navPaddingTop +
api.navHeight().navHeight + (api.navHeight().headerPadding * 2))
},
mounted() {
this.userInfo = this.$store.state.userInfo;
this.userExtends = this.$store.state.userExtends;
},
updated() {
},
watch: {
"$store.state.userInfo": {
handler(newVal, oldVal) {
this.userInfo = newVal;
this.updateUserInfo();
}
}, },
watch:{ "$store.state.userExtends": {
"$store.state.userInfo": { handler(newVal, oldVal) {
handler(newVal, oldVal) { this.userExtends = newVal;
this.userInfo = newVal; this.updateUserInfo();
this.updateUserInfo();
}
},
"$store.state.userExtends": {
handler(newVal, oldVal) {
this.userExtends = newVal;
this.updateUserInfo();
}
} }
} }
} }
}
</script> </script>
<style lang="scss"> <style lang="scss">
@import './components/index.scss'; @import './components/index.scss';
</style> </style>

35
pages/Index/components/UserPage/index.vue

@ -151,7 +151,7 @@
import FooterNav from '@/components/FooterNav/Index.vue'; import FooterNav from '@/components/FooterNav/Index.vue';
import RightNav from '@/components/RightNav/Index.vue'; import RightNav from '@/components/RightNav/Index.vue';
import api from '@/utils/functions.js'; import api from '@/utils/functions.js';
import {userExtends} from "@/api/user"; import {userDetail, userExtends} from "@/api/user";
import log from "@/utils/log"; import log from "@/utils/log";
export default { export default {
components: { components: {
@ -196,19 +196,17 @@
} }
}, },
user:{ user:{
avatar:imghost+'/static/image/banner.png', avatar:'',
nickname:'清晨的风', nickname:'',
coupon_count:221, coupon_count:0,
id:88685 id:0,
feed_count:0
}, },
isTop:false, isTop:false,
pagePadding:100, pagePadding:100,
userInfo:{}, userInfo:{},
userExtends:{}, userExtends:{},
} }
},
onLoad() {
}, },
methods: { methods: {
navTo(url){ navTo(url){
@ -228,7 +226,9 @@
userExtends().then(data => { userExtends().then(data => {
log(data); log(data);
this.userExtends = data.data; this.userExtends = data.data;
}) uni.setStorageSync('userExtends',data.data);
this.$store.commit('userExtends',data.data);
});
}, },
userCouponsPage(){ userCouponsPage(){
uni.navigateTo({ uni.navigateTo({
@ -240,19 +240,18 @@
this.user.id = this.userInfo.id this.user.id = this.userInfo.id
this.user.nickname = this.userInfo.name this.user.nickname = this.userInfo.name
this.user.avatar = this.userInfo.avatar this.user.avatar = this.userInfo.avatar
this.user.coupon_count = this.userInfo.coupon_count this.user.coupon_count = this.userExtends.coupon_count
} }
},
showUserInfo(){
userDetail().then(res => {
uni.setStorageSync('user',res.data);
this.$store.commit('userInfo',res.data);
})
} }
},
onPageScroll(res) {
if(res.scrollTop <= 20){
uni.$emit('isTop', true);
}else{
uni.$emit('isTop', false);
}
}, },
mounted() { mounted() {
this.showUserInfo();
this.showNumber(); this.showNumber();
}, },
created() { created() {

2
pages/Index/index.vue

@ -108,6 +108,8 @@
}else{ }else{
let user = uni.getStorageSync('user'); let user = uni.getStorageSync('user');
this.$store.commit('userInfo', user); this.$store.commit('userInfo', user);
let userExtends = uni.getStorageSync('userExtends');
this.$store.commit('userExtends', userExtends);
} }
}, },
watch: { watch: {

6
pages/Login/index.vue

@ -108,7 +108,7 @@ import {
imghost imghost
} from '@/config/host.js' } from '@/config/host.js'
import api from '@/utils/functions.js'; import api from '@/utils/functions.js';
import {appletLogin, testLogin, userDetail} from "@/api/user"; import {appletLogin, testLogin, userDetail, userExtends} from "@/api/user";
export default { export default {
data() { data() {
@ -144,6 +144,10 @@ export default {
uni.setStorageSync('user',res.data); uni.setStorageSync('user',res.data);
this.$store.commit('userInfo',res.data); this.$store.commit('userInfo',res.data);
}); });
userExtends().then((res) => {
uni.setStorageSync('userExtends',res.data);
this.$store.commit('userExtends',res.data);
});
}); });
}, },
wxLogin(phoneCode) { wxLogin(phoneCode) {

111
pages/OrderPage/index.vue

@ -15,8 +15,8 @@
</view> </view>
<view class="main-content"> <view class="main-content">
<image mode="heightFix" class="img" :src="staticImage.addrFw"/> <image mode="heightFix" class="img" :src="staticImage.addrFw"/>
<view class="main-content-text"> <view class="main-content-text" style="max-width:300rpx;">
请输入具体地址 <u-text :text="address.info || '请输入具体地址'" color="#131313" size="30"></u-text>
</view> </view>
</view> </view>
<view class="main-select-btn "> <view class="main-select-btn ">
@ -46,21 +46,16 @@
服务日期 服务日期
</view> </view>
<view class="item-content row col"> <view class="item-content row col">
<view class="item-content-tag"> <view class="item-content-tag" v-for="(item,index) in timeList" v-if="timeList.length !== 0">
<view class="tag-text"> <view class="tag-text">
2023/5/25 {{ item }}
</view> </view>
<view class="tag-close"> <view class="tag-close" @click="delTime(index)">
<image mode="heightFix" class="img" :src="staticImage.tagClose"/> <image mode="heightFix" class="img" :src="staticImage.tagClose"/>
</view> </view>
</view> </view>
<view class="item-content-tag"> <view class="" v-else @click="showCalendar">
<view class="tag-text"> <u-text text="请选择服务日期" size="28" color="#636363"></u-text>
2023/5/25
</view>
<view class="tag-close">
<image mode="heightFix" class="img" :src="staticImage.tagClose"/>
</view>
</view> </view>
</view> </view>
<view class="item-icon" @click="showCalendar"> <view class="item-icon" @click="showCalendar">
@ -93,7 +88,7 @@
<u-icon name="arrow-right"></u-icon> <u-icon name="arrow-right"></u-icon>
</view> </view>
</view> </view>
<view class="order-item row"> <view class="order-item row" @click="navTo('/pages/UserCoupons/index?type=select')">
<view class="item-title"> <view class="item-title">
选择优惠 选择优惠
</view> </view>
@ -195,7 +190,7 @@
<view class="foot-menu-checkbox-group row col"> <view class="foot-menu-checkbox-group row col">
<view class="foot-menu-checkbox"></view> <view class="foot-menu-checkbox"></view>
<view class="foot-menu-title"> <view class="foot-menu-title">
<text>阅读并同意</text><text class="foot-menu-url">上门喂养协议</text> <text>阅读并同意</text><text class="foot-menu-url" @click="showAgreement">上门喂养协议</text>
</view> </view>
</view> </view>
</view> </view>
@ -209,7 +204,27 @@
</MzButton> </MzButton>
</view> </view>
</view> </view>
<uv-calendar ref="calendar" mode="multiple" title="选择服务日期" @confirm="confirm" color="#4DC3B8" round="40rpx"></uv-calendar> <uv-calendar ref="calendar" mode="multiple" title="选择服务日期" @confirm="timeSelect" color="#4DC3B8" round="40rpx">
<template #footer>
<MzButton button-color="#4DC3B8" button-width="90%" font-color="#fff" class="row" style="justify-content: center" @click="timeSelect">确定</MzButton>
</template>
</uv-calendar>
<uv-popup ref="agreement" mode="bottom" round="20rpx" closeable safeAreaInsetTop safeAreaInsetBottom custom-style="position:relative;">
<view class="title row" style="position:absolute;justify-content: center;width:100%;top:20rpx;left:0;">
<view class="value col" style="position: relative;text-align: center;">
<!-- <u-text text="协议内容" size="38" color="#191919"></u-text>-->
<view class="" style="position: relative;display:inline-block;">
<view style="color:#191919;font-size:38rpx;display:inline-block;position: relative;z-index: 2;">协议内容</view>
<view class="background" style="width:100%;height:50%;position: absolute;bottom:0;left:0;background-color:rgba(227, 191, 119, 0.6);display:inline-block;z-index:1;"></view>
</view>
</view>
</view>
<view style="padding:30rpx;">
1文字占位文字占位文字占位文字占位文字占位文字占位文字占位 2文字占位文字占位文字占位文字占位文字占位文字占位文
</view>
</uv-popup>
<!-- <RightNav></RightNav> --> <!-- <RightNav></RightNav> -->
</template> </template>
@ -223,7 +238,9 @@
import MzButton from '../../components/MzButton/Index.vue'; import MzButton from '../../components/MzButton/Index.vue';
import PetPage from '../../components/PetPage/Index.vue'; import PetPage from '../../components/PetPage/Index.vue';
import api from '@/utils/functions.js'; import api from '@/utils/functions.js';
import {cardDetail} from "../../api/card"; import {cardDetail} from "@/api/card";
import {getAddressList} from "@/api/address";
import image from "@/config/image";
export default { export default {
components: { components: {
HeaderNav, HeaderNav,
@ -240,35 +257,10 @@
id:'', id:'',
title: 'Hello', title: 'Hello',
loading: true, loading: true,
staticImage: { timeList:[],
screenActiveImg: imghost + '/static/image/screen-active.png', staticImage: image.OrderPage,
cardBackground: imghost + '/static/image/order-card-background.png',
wallpaperBgImage:imghost +'/static/image/background.png',
dogImage:imghost+'/static/image/index-user-title-dog.png',
cardDetailCard:imghost+'/static/image/card-detail-card.png',
couponsBackground:imghost+'/static/image/card-detail-coupons.png',
addrBg:imghost+'/static/image/order-create-addr-bg.png',
addrAvatar:imghost+'/static/image/order-create-addr-avatar.png',
addrFw:imghost+'/static/image/order-create-addr-fw.png',
addrBook:imghost+'/static/image/order-create-addr-book.png',
tagClose:imghost+'/static/image/order-create-tag-close.png',
selectPet:imghost+'/static/image/order-create-select-pet.png',
selectService:imghost+'/static/image/order-create-select-service.png',
groupImg:imghost+'/static/image/order-create-group-1.png',
},
indexBanner: [{
image: imghost + '/static/image/banner.png',
url: '',
}],
user: {
avatar: imghost + '/static/image/banner.png',
nickname: '清晨的风',
coupons: 221,
id: 88685
},
isTop: false, isTop: false,
pagePadding: 100, pagePadding: 100,
petImage: imghost + '/static/image/pet_avatar1.jpeg',
orderCardList:[ orderCardList:[
{ {
title:'成都市武侯区丰德国际4栋...', title:'成都市武侯区丰德国际4栋...',
@ -290,14 +282,45 @@
coupons_number:10, coupons_number:10,
time: '满0.01元使用仅限线上预约下单使用', time: '满0.01元使用仅限线上预约下单使用',
is_timeout: false, is_timeout: false,
}] }],
address:{},
} }
}, },
onLoad(options) { onLoad(options) {
this.id = options.id; this.id = options.id;
this.getCardDetail(); this.getCardDetail();
}, },
onShow(){
this.getDefaultAddress();
},
methods: { methods: {
getDefaultAddress() {
let cacheAddress = uni.getStorageSync('address');
if (cacheAddress) {
console.log('hasCacheAddress')
console.log(cacheAddress)
this.address = cacheAddress;
} else {
getAddressList({}).then(res => {
res.data.forEach(item => {
if (item.is_default === 1) {
this.address = item;
}
});
})
console.log(this.address)
}
},
delTime(index){
this.timeList.splice(index,1);
},
timeSelect(e){
this.timeList = this.$refs.calendar.selected;
this.$refs.calendar.close();
},
showAgreement(){
this.$refs.agreement.open();
},
navTo(url){ navTo(url){
uni.navigateTo({ uni.navigateTo({
url:url url:url

Loading…
Cancel
Save