完善页面
@ -96,8 +96,10 @@ body {
|
|||||||
}
|
}
|
||||||
.theme-btn{
|
.theme-btn{
|
||||||
border: 1rpx solid;
|
border: 1rpx solid;
|
||||||
@include border_color("border_color");
|
// @include border_color("border_color");
|
||||||
@include background_color("background_color");
|
// @include background_color("background_color");
|
||||||
|
border-color: #365A9A;
|
||||||
|
background-color: #365A9A;
|
||||||
@include text_color("text_color1");
|
@include text_color("text_color1");
|
||||||
}
|
}
|
||||||
.theme-linbtn{
|
.theme-linbtn{
|
||||||
|
|||||||
@ -132,6 +132,7 @@
|
|||||||
}, {
|
}, {
|
||||||
"path": "pages/user/index/index",
|
"path": "pages/user/index/index",
|
||||||
"style": {
|
"style": {
|
||||||
|
"navigationStyle": "custom",
|
||||||
"navigationBarTitleText": "个人中心",
|
"navigationBarTitleText": "个人中心",
|
||||||
"app-plus": {
|
"app-plus": {
|
||||||
"titleNView": false //禁用原生导航栏
|
"titleNView": false //禁用原生导航栏
|
||||||
@ -160,7 +161,7 @@
|
|||||||
}, {
|
}, {
|
||||||
"path": "pages/user/address/add/add",
|
"path": "pages/user/address/add/add",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "添加收货地址",
|
"navigationStyle": "custom",
|
||||||
"app-plus": {
|
"app-plus": {
|
||||||
//#ifdef H5
|
//#ifdef H5
|
||||||
"titleNView": false
|
"titleNView": false
|
||||||
@ -240,7 +241,7 @@
|
|||||||
}, {
|
}, {
|
||||||
"path": "pages/user/address/edit/edit",
|
"path": "pages/user/address/edit/edit",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "地址编辑",
|
"navigationStyle": "custom",
|
||||||
"app-plus": {
|
"app-plus": {
|
||||||
//#ifdef H5
|
//#ifdef H5
|
||||||
"titleNView": false
|
"titleNView": false
|
||||||
|
|||||||
@ -1,28 +1,42 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="address-form" :data-theme='theme()' :class="theme() || ''">
|
<view class="address-form" :data-theme='theme()' :class="theme() || ''">
|
||||||
|
<navbar title="新增地址"></navbar>
|
||||||
|
|
||||||
<form @submit="formSubmit" @reset="formReset">
|
<form @submit="formSubmit" @reset="formReset">
|
||||||
<view class="bg-white p-0-30 f30">
|
<view class="bg-whitef30" style="margin-top: 44rpx;">
|
||||||
<view class="d-s-c border-b-d9">
|
<view class="p-0-30 ">
|
||||||
<text class="key-name">收货人</text>
|
<view class="d-s-c border-b">
|
||||||
<input class="ml20 flex-1 f32 p-30-0" name="name" type="text" placeholder-class="grary9" v-model="address.name"
|
<text class="key-name">联系人</text>
|
||||||
placeholder="请输入收货人姓名" />
|
<input class="ml20 flex-1 f32 p-30-0" name="name" type="text" placeholder-class="grary9" v-model="address.name"
|
||||||
</view>
|
placeholder="请填写联系人" style="font-size: 30rpx;"/>
|
||||||
<view class="d-s-c border-b-d9">
|
</view>
|
||||||
<text class="key-name">联系方式</text>
|
<view class="d-s-c border-b">
|
||||||
<input class="ml20 flex-1 f32 p-30-0" name="phone" type="text" placeholder-class="grary9" v-model="address.phone"
|
<text class="key-name">电话</text>
|
||||||
placeholder="请输入收货人手机号" />
|
<input class="ml20 flex-1 f32 p-30-0" name="phone" type="text" placeholder-class="grary9" v-model="address.phone"
|
||||||
</view>
|
placeholder="请填写联系电话" style="font-size: 30rpx;"/>
|
||||||
<view class="d-s-c border-b-d9">
|
</view>
|
||||||
<text class="key-name">所在地区</text>
|
<view class="d-s-c border-b">
|
||||||
<view class="input-box flex-1">
|
<text class="key-name">省市区</text>
|
||||||
<input class="ml20 f32 flex-1 p-30-0" type="text" value="" placeholder-class="grary9" placeholder="" v-model="selectCity"
|
<view class="input-box flex-1">
|
||||||
disabled="true" @click="showMulLinkageThreePicker" />
|
<input class="ml20 f32 flex-1 p-30-0" type="text" value="" placeholder-class="grary9" placeholder="" v-model="selectCity"
|
||||||
|
disabled="true" @click="showMulLinkageThreePicker" style="font-size: 30rpx;" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="d-s-c">
|
||||||
|
<text class="key-name">地址</text>
|
||||||
|
<textarea class="ml20 flex-1 p-30-0 lh150" name="detail" :auto-height="true" v-model="address.detail"
|
||||||
|
placeholder-class="grary9" placeholder="请填写具体地址" style="font-size: 30rpx;"></textarea>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="d-s-c border-b-d9">
|
|
||||||
<text class="key-name">详细地址</text>
|
<view class="line"></view>
|
||||||
<textarea class="ml20 flex-1 p-30-0 lh150" name="detail" :auto-height="true" v-model="address.detail"
|
|
||||||
placeholder-class="grary9" placeholder="请输入街道小区楼牌号等"></textarea>
|
<view class="d-b-c" style="padding: 0 30rpx; margin-top: 32rpx;">
|
||||||
|
<view class="key-name" style="width: 200rpx;">设为默认地址</view>
|
||||||
|
<view class="">
|
||||||
|
<radio style="transform:scale(0.6)" color='#4C9F44' :value="item.address_id+''" :checked="default_id==item.address_id+''"
|
||||||
|
@click="radioChange(item.address_id)" />
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="p30"><button form-type="submit" class="theme-btn f32 mt60 addBtn">保存</button></view>
|
<view class="p30"><button form-type="submit" class="theme-btn f32 mt60 addBtn">保存</button></view>
|
||||||
@ -32,10 +46,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import navbar from '@/components/navbar.vue';
|
||||||
import mpvueCityPicker from '@/components/mpvue-citypicker/mpvueCityPicker.vue';
|
import mpvueCityPicker from '@/components/mpvue-citypicker/mpvueCityPicker.vue';
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
mpvueCityPicker
|
mpvueCityPicker,
|
||||||
|
navbar
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -178,8 +194,22 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.addBtn {
|
.addBtn {
|
||||||
height: 80rpx;
|
position: fixed;
|
||||||
line-height: 80rpx;
|
bottom: 40rpx;
|
||||||
border-radius: 40rpx;
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
margin: 0 60rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border-b {
|
||||||
|
border-bottom: 1rpx soli#F2F2F2 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.line {
|
||||||
|
height: 12rpx;
|
||||||
|
background: #F7F7F7;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,20 +1,27 @@
|
|||||||
<template>
|
<template>
|
||||||
<view v-if="!loadding" :data-theme='theme()' :class="theme() || ''">
|
<view v-if="!loadding" :data-theme='theme()' :class="theme() || ''">
|
||||||
<view v-if="listData.length>0" class="pbenv">
|
<view v-if="listData.length>0" class="pbenv">
|
||||||
<view class="address-list bg-white">
|
<view class="address-list">
|
||||||
<view class="address p-30-0 border-b-d" v-for="(item,index) in listData" :key="index">
|
<view class="address bg-white d-b-c" v-for="(item,index) in listData" :key="index">
|
||||||
<view class="info flex-1 mb10">
|
<view class="">
|
||||||
<view class="user f32 d-b-c">
|
<view class=" flex-1 mb10">
|
||||||
<text>{{item.name}}</text>
|
<view class="user f32 address-info">
|
||||||
<text class="ml20 gray9 f26">{{item.phone}}</text>
|
<text>{{item.name}}</text>
|
||||||
</view>
|
<text class="ml20">{{item.phone}}</text>
|
||||||
<view class="pt20 f26 gray3">
|
</view>
|
||||||
{{item.region.province}}{{item.region.city}}{{item.region.region}}{{item.detail}}
|
<view class="pt20 f26 gray3">
|
||||||
|
{{item.region.province}}{{item.region.city}}{{item.region.region}}{{item.detail}}
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="d-b-c">
|
|
||||||
|
<view class="" @click="editAddress(item.address_id)">
|
||||||
|
<image class="add_icon_img" src="@/static/icon/edit_address.png" mode="" style="width: 48rpx; height: 48rpx;"></image>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- <view class="d-b-c">
|
||||||
<view class="radio d-s-c">
|
<view class="radio d-s-c">
|
||||||
<radio style="transform:scale(0.6)" :color='getThemeColor()' :value="item.address_id+''" :checked="default_id==item.address_id+''"
|
<radio style="transform:scale(0.6)" color='#4C9F44' :value="item.address_id+''" :checked="default_id==item.address_id+''"
|
||||||
@click="radioChange(item.address_id)" />
|
@click="radioChange(item.address_id)" />
|
||||||
<text class="">默认地址</text>
|
<text class="">默认地址</text>
|
||||||
</view>
|
</view>
|
||||||
@ -29,16 +36,16 @@
|
|||||||
<text class="gray9 ml10">编辑</text>
|
<text class="gray9 ml10">编辑</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="add_add-btn theme-btn" @click="addAddress()">新增收货地址</view>
|
<view class="add_add-btn theme-btn" @click="addAddress()">新增收货地址</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-else>
|
<view v-else>
|
||||||
<view class="none_add">
|
<view class="none_add">
|
||||||
<image class="no_add" src="/static/no_adress.png" mode="aspectFill"></image>
|
<image class="no_add" src="/static/no_adress.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="no_add_add" @click="addAddress()">新增收货地址</view>
|
<view class="no_add_add" @click="addAddress()">新增地址</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@ -63,6 +70,7 @@
|
|||||||
onLoad: function(options) {
|
onLoad: function(options) {
|
||||||
this.options = options;
|
this.options = options;
|
||||||
},
|
},
|
||||||
|
|
||||||
onShow: function() {
|
onShow: function() {
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
title: '加载中'
|
title: '加载中'
|
||||||
@ -146,12 +154,13 @@
|
|||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
page {
|
page {
|
||||||
background-color: #FFFFFF;
|
background-color: $xh-bg;
|
||||||
}
|
}
|
||||||
|
|
||||||
.address-list {
|
.address-list {
|
||||||
|
margin-top: 20rpx;
|
||||||
border-top: 16rpx solid #F2F2F2;
|
border-top: 16rpx solid #F2F2F2;
|
||||||
padding: 0 20rpx;
|
padding: 0 30rpx;
|
||||||
padding-bottom: 90rpx;
|
padding-bottom: 90rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -167,27 +176,33 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.none_add {
|
.none_add {
|
||||||
padding: 314rpx 214rpx 60rpx 214rpx;
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
margin-top: 318rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.no_add {
|
.no_add {
|
||||||
width: 322rpx;
|
width: 292rpx;
|
||||||
height: 180rpx;
|
height: 202rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.no_add_add {
|
.no_add_add {
|
||||||
width: 320rpx;
|
width: 630rpx;
|
||||||
height: 80rpx;
|
margin: 0 60rpx;
|
||||||
border: 2rpx solid #FFB7B7;
|
height: 90rpx;
|
||||||
border-radius: 40rpx;
|
border-radius: 8rpx;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 80rpx;
|
line-height: 90rpx;
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
font-family: PingFang SC;
|
font-family: PingFang SC;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
@include font_color('font_color');
|
background: #365A9A;
|
||||||
@include border_color('border_color');
|
color: #FFFFFF;
|
||||||
margin: 0 auto;
|
position: fixed;
|
||||||
|
bottom: 40rpx;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.add_add {
|
.add_add {
|
||||||
@ -223,13 +238,13 @@
|
|||||||
}
|
}
|
||||||
.add_add-btn{
|
.add_add-btn{
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: calc(env(safe-area-inset-bottom) + 20rpx);
|
bottom: 40rpx;
|
||||||
width:690rpx;
|
width:690rpx;
|
||||||
margin: 20rpx 30rpx;
|
margin: 20rpx 30rpx;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
height: 80rpx;
|
height: 90rpx;
|
||||||
border-radius: 40rpx;
|
border-radius: 8rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -238,4 +253,20 @@
|
|||||||
padding-bottom: calc(env(safe-area-inset-bottom) + 120rpx);
|
padding-bottom: calc(env(safe-area-inset-bottom) + 120rpx);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.address-info {
|
||||||
|
font-size: 30rpx;
|
||||||
|
color: #121212;
|
||||||
|
line-height: 42rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.address {
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
border-radius: 16rpx;
|
||||||
|
padding: 30rpx;
|
||||||
|
|
||||||
|
.info {
|
||||||
|
padding: 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,41 +1,60 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="address-form" :data-theme='theme()' :class="theme() || ''">
|
<view class="address-form" :data-theme='theme()' :class="theme() || ''">
|
||||||
|
<navbar title="编辑地址"></navbar>
|
||||||
|
|
||||||
<form @submit="formSubmit" @reset="formReset">
|
<form @submit="formSubmit" @reset="formReset">
|
||||||
<view class="bg-white p-0-30 f30">
|
<view class="bg-white f30">
|
||||||
<view class="d-s-c border-b-d9">
|
<view class="p-0-30 ">
|
||||||
<text class="key-name">收货人</text>
|
<view class="d-s-c border-b">
|
||||||
<input class="ml20 f32 flex-1 p-30-0" name="name" type="text" v-model="address.name" placeholder-class="grary9"
|
<text class="key-name">联系人</text>
|
||||||
placeholder="请输入收货人姓名" />
|
<input class="ml20 f32 flex-1 p-30-0" name="name" type="text" v-model="address.name" placeholder-class="grary9"
|
||||||
</view>
|
placeholder="请填写联系人" style="font-size: 30rpx;"/>
|
||||||
<view class="d-s-c border-b-d9">
|
</view>
|
||||||
<text class="key-name">联系方式</text>
|
<view class="d-s-c border-b">
|
||||||
<input class="ml20 f32 flex-1 p-30-0" name="phone" type="text" v-model="address.phone" placeholder-class="grary9"
|
<text class="key-name">电话</text>
|
||||||
placeholder="请输入收货人手机号" />
|
<input class="ml20 f32 flex-1 p-30-0" name="phone" type="text" v-model="address.phone" placeholder-class="grary9"
|
||||||
</view>
|
placeholder="请填写联系电话" style="font-size: 30rpx;"/>
|
||||||
<view class="d-s-c border-b-d9">
|
</view>
|
||||||
<text class="key-name">所在地区</text>
|
<view class="d-s-c border-b">
|
||||||
<view class="input-box flex-1">
|
<text class="key-name">省市区</text>
|
||||||
<input class="ml20 f32 flex-1 p-30-0" type="text" value="" placeholder-class="grary9" placeholder="" v-model="selectCity"
|
<view class="input-box flex-1">
|
||||||
disabled="true" @click="showMulLinkageThreePicker" />
|
<input class="ml20 f32 flex-1 p-30-0" type="text" value="" placeholder-class="grary9" placeholder="" v-model="selectCity"
|
||||||
|
disabled="true" @click="showMulLinkageThreePicker" style="font-size: 30rpx;"/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="d-s-c border-b">
|
||||||
|
<text class="key-name">地址</text>
|
||||||
|
<textarea class="ml20 flex-1 f32 p-30-0 lh150" name="detail" placeholder-class="grary9" :auto-height="true"
|
||||||
|
v-model="address.detail" placeholder="请填写具体地址" style="font-size: 30rpx;"></textarea>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="d-s-c border-b-d9">
|
|
||||||
<text class="key-name">详细地址</text>
|
<view class="line"></view>
|
||||||
<textarea class="ml20 flex-1 f32 p-30-0 lh150" name="detail" placeholder-class="grary9" :auto-height="true"
|
|
||||||
v-model="address.detail" placeholder="请输入街道小区楼牌号等"></textarea>
|
<view class="d-b-c" style="padding: 0 30rpx; margin-top: 32rpx;">
|
||||||
|
<view class="key-name" style="width: 200rpx;">设为默认地址</view>
|
||||||
|
<view class="">
|
||||||
|
<radio style="transform:scale(0.6)" color='#4C9F44' :value="item.address_id+''" :checked="default_id==item.address_id+''"
|
||||||
|
@click="radioChange(item.address_id)" />
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="p30"><button form-type="submit" class="theme-btn f32 mt60 addBtn">保存</button></view>
|
<view class="d-f a-i-c btn">
|
||||||
|
<button class="f32 mt60 delBtn" @click="delAddress(address.address_id)">删除地址</button>
|
||||||
|
<button form-type="submit" class="theme-btn f32 mt60 addBtn">保存</button>
|
||||||
|
</view>
|
||||||
</form>
|
</form>
|
||||||
<mpvue-city-picker v-if="is_load" ref="mpvueCityPicker" :province="province" :city="city" :area="area" :pickerValueDefault="cityPickerValueDefault" @onConfirm="onConfirm"></mpvue-city-picker>
|
<mpvue-city-picker v-if="is_load" ref="mpvueCityPicker" :province="province" :city="city" :area="area" :pickerValueDefault="cityPickerValueDefault" @onConfirm="onConfirm"></mpvue-city-picker>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import navbar from '@/components/navbar.vue';
|
||||||
import mpvueCityPicker from '@/components/mpvue-citypicker/mpvueCityPicker.vue';
|
import mpvueCityPicker from '@/components/mpvue-citypicker/mpvueCityPicker.vue';
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
mpvueCityPicker
|
mpvueCityPicker,
|
||||||
|
navbar
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -143,6 +162,7 @@
|
|||||||
|
|
||||||
self._post('user.address/edit', formdata, function(res) {
|
self._post('user.address/edit', formdata, function(res) {
|
||||||
self.showSuccess(res.msg, function() {
|
self.showSuccess(res.msg, function() {
|
||||||
|
|
||||||
// #ifdef H5
|
// #ifdef H5
|
||||||
uni.navigateBack({
|
uni.navigateBack({
|
||||||
delta: 2
|
delta: 2
|
||||||
@ -174,6 +194,32 @@
|
|||||||
this.province_id = e.cityCode[0];
|
this.province_id = e.cityCode[0];
|
||||||
this.city_id = e.cityCode[1];
|
this.city_id = e.cityCode[1];
|
||||||
this.region_id = e.cityCode[2];
|
this.region_id = e.cityCode[2];
|
||||||
|
},
|
||||||
|
|
||||||
|
/*删除地址*/
|
||||||
|
delAddress(e) {
|
||||||
|
let self = this;
|
||||||
|
wx.showModal({
|
||||||
|
title: "提示",
|
||||||
|
content: "您确定要移除当前收货地址吗?",
|
||||||
|
success: function(o) {
|
||||||
|
o.confirm && self._get('user.address/delete', {
|
||||||
|
address_id: e
|
||||||
|
}, function(result) {
|
||||||
|
if (result.code == 1) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '删除成功',
|
||||||
|
duration: 2000
|
||||||
|
});
|
||||||
|
|
||||||
|
setTimeout(res => {
|
||||||
|
uni.navigateBack()
|
||||||
|
}, 500)
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -200,9 +246,38 @@
|
|||||||
box-shadow: 0 8rpx 16rpx 0 rgba(226, 35, 26, .6);
|
box-shadow: 0 8rpx 16rpx 0 rgba(226, 35, 26, .6);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 40rpx;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
margin: 0 60rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.delBtn {
|
||||||
|
width: 330rpx;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
background-color: #F6F7F8;
|
||||||
|
border-color: #F6F7F8;
|
||||||
|
color: #303133 !important;
|
||||||
|
margin-right: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.addBtn {
|
.addBtn {
|
||||||
height: 80rpx;
|
width: 330rpx;
|
||||||
line-height: 80rpx;
|
height: 90rpx;
|
||||||
border-radius: 40rpx;
|
line-height: 90rpx;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border-b {
|
||||||
|
border-bottom: 1rpx soli#F2F2F2 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.line {
|
||||||
|
height: 12rpx;
|
||||||
|
background: #F7F7F7;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,9 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<view :data-theme='theme()' :class="theme() || ''">
|
<view :data-theme='theme()' :class="theme() || ''" :style="'background-image: url(../../../static/my_bg.png); background-repeat: no-repeat; background-size:100% auto;background-color:#F6F7F9;padding-bottom: 40rpx;'">
|
||||||
<!-- #ifdef APP-PLUS -->
|
<!-- #ifdef APP-PLUS -->
|
||||||
<header-bar></header-bar>
|
<header-bar></header-bar>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
|
|
||||||
|
<view class="top_head pr">
|
||||||
|
<view class="head_top" :style="'height:' + topBarTop() + 'px;'"></view>
|
||||||
|
<view class="title" :style="topBarHeight() == 0 ? '' : 'height:' + topBarHeight() + 'px;'">
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
<view class="user-index" v-if="!loadding">
|
<view class="user-index" v-if="!loadding">
|
||||||
<!--个人信息-->
|
<!--个人信息-->
|
||||||
<view class="user-header">
|
<view class="user-header">
|
||||||
@ -20,7 +26,7 @@
|
|||||||
</text>
|
</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="tel d-s-c">
|
<view class="tel d-s-c">
|
||||||
<text class="f26">ID:{{ detail.user_id }}</text>
|
<text class="f26 id-number">{{ detail.mobile || 'ID:' + detail.user_id }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -28,7 +34,7 @@
|
|||||||
|
|
||||||
<!--我的订单-->
|
<!--我的订单-->
|
||||||
|
|
||||||
<view class="my-order">
|
<!-- <view class="my-order">
|
||||||
<view class="list d-a-c flex-1">
|
<view class="list d-a-c flex-1">
|
||||||
<view class="item d-c-c d-c" @click="jumpPage('/pages/user/my-wallet/my-wallet')">
|
<view class="item d-c-c d-c" @click="jumpPage('/pages/user/my-wallet/my-wallet')">
|
||||||
<view class=" red_mini">{{ detail.balance }}</view>
|
<view class=" red_mini">{{ detail.balance }}</view>
|
||||||
@ -43,6 +49,56 @@
|
|||||||
<text class="pt16 f24 gray3">优惠券</text>
|
<text class="pt16 f24 gray3">优惠券</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
</view> -->
|
||||||
|
<!-- 我的场馆订单 -->
|
||||||
|
<view class="my-cg-order my-assets">
|
||||||
|
<view class="my-assets-all">
|
||||||
|
<view class="f30 fb">我的场馆订单</view>
|
||||||
|
<view class="gray9 f26" @click="jumpPage('/pages/order/myorder?dataType=all')">全部订单<text
|
||||||
|
class="icon iconfont icon-jiantou"></text></view>
|
||||||
|
</view>
|
||||||
|
<view class="d-b-c w100">
|
||||||
|
<view class="item" @click="jumpPage('/pages/order/myorder?dataType=payment')">
|
||||||
|
<view class="icon-box pr">
|
||||||
|
<image src="/static/icon/dfk.png" mode=""></image>
|
||||||
|
<text class="dot d-c-c"
|
||||||
|
v-if="orderCount.payment != null && orderCount.payment > 0">{{ orderCount.payment }}</text>
|
||||||
|
</view>
|
||||||
|
<text>待付款</text>
|
||||||
|
</view>
|
||||||
|
<view class="item" @click="jumpPage('/pages/order/myorder?dataType=delivery')">
|
||||||
|
<view class="icon-box pr">
|
||||||
|
<image src="/static/icon/dfh.png" mode=""></image>
|
||||||
|
<text class="dot d-c-c"
|
||||||
|
v-if="orderCount.delivery != null && orderCount.delivery > 0">{{ orderCount.delivery }}</text>
|
||||||
|
</view>
|
||||||
|
<text class="">待发货</text>
|
||||||
|
</view>
|
||||||
|
<view class="item" @click="jumpPage('/pages/order/myorder?dataType=received')">
|
||||||
|
<view class="icon-box pr">
|
||||||
|
<image src="/static/icon/dsh.png" mode=""></image>
|
||||||
|
<text class="dot d-c-c"
|
||||||
|
v-if="orderCount.received != null && orderCount.received > 0">{{ orderCount.received }}</text>
|
||||||
|
</view>
|
||||||
|
<text>待收货</text>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="item" @click="jumpPage('/pages/order/myorder?dataType=comment')">
|
||||||
|
<view class="icon-box pr">
|
||||||
|
<image src="/static/icon/icon-quanbudingdan.png" mode=""></image>
|
||||||
|
<text class="dot d-c-c"
|
||||||
|
v-if="orderCount.comment != null && orderCount.comment > 0">{{ orderCount.comment }}</text>
|
||||||
|
</view>
|
||||||
|
<text>待评价</text>
|
||||||
|
</view> -->
|
||||||
|
<view class="item" @click="jumpPage('/pages/order/refund/index/index')">
|
||||||
|
<view class="icon-box pr">
|
||||||
|
<image src="/static/icon/icon-tuikuan.png" mode=""></image>
|
||||||
|
<text class="dot d-c-c"
|
||||||
|
v-if="orderCount.refund != null && orderCount.refund > 0">{{ orderCount.refund }}</text>
|
||||||
|
</view>
|
||||||
|
<text>退款/售后</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="bind_phone" v-if="!detail.mobile">
|
<view class="bind_phone" v-if="!detail.mobile">
|
||||||
@ -66,7 +122,7 @@
|
|||||||
<view class="d-b-c w100">
|
<view class="d-b-c w100">
|
||||||
<view class="item" @click="jumpPage('/pages/order/myorder?dataType=payment')">
|
<view class="item" @click="jumpPage('/pages/order/myorder?dataType=payment')">
|
||||||
<view class="icon-box pr">
|
<view class="icon-box pr">
|
||||||
<image src="/static/icon/icon-icon.png" mode=""></image>
|
<image src="/static/icon/dfk.png" mode=""></image>
|
||||||
<text class="dot d-c-c"
|
<text class="dot d-c-c"
|
||||||
v-if="orderCount.payment != null && orderCount.payment > 0">{{ orderCount.payment }}</text>
|
v-if="orderCount.payment != null && orderCount.payment > 0">{{ orderCount.payment }}</text>
|
||||||
</view>
|
</view>
|
||||||
@ -74,7 +130,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="item" @click="jumpPage('/pages/order/myorder?dataType=delivery')">
|
<view class="item" @click="jumpPage('/pages/order/myorder?dataType=delivery')">
|
||||||
<view class="icon-box pr">
|
<view class="icon-box pr">
|
||||||
<image src="/static/icon/icon-daifahuo.png" mode=""></image>
|
<image src="/static/icon/dfh.png" mode=""></image>
|
||||||
<text class="dot d-c-c"
|
<text class="dot d-c-c"
|
||||||
v-if="orderCount.delivery != null && orderCount.delivery > 0">{{ orderCount.delivery }}</text>
|
v-if="orderCount.delivery != null && orderCount.delivery > 0">{{ orderCount.delivery }}</text>
|
||||||
</view>
|
</view>
|
||||||
@ -82,20 +138,20 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="item" @click="jumpPage('/pages/order/myorder?dataType=received')">
|
<view class="item" @click="jumpPage('/pages/order/myorder?dataType=received')">
|
||||||
<view class="icon-box pr">
|
<view class="icon-box pr">
|
||||||
<image src="/static/icon/icon-daishouhuo.png" mode=""></image>
|
<image src="/static/icon/dsh.png" mode=""></image>
|
||||||
<text class="dot d-c-c"
|
<text class="dot d-c-c"
|
||||||
v-if="orderCount.received != null && orderCount.received > 0">{{ orderCount.received }}</text>
|
v-if="orderCount.received != null && orderCount.received > 0">{{ orderCount.received }}</text>
|
||||||
</view>
|
</view>
|
||||||
<text>待收货</text>
|
<text>待收货</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="item" @click="jumpPage('/pages/order/myorder?dataType=comment')">
|
<!-- <view class="item" @click="jumpPage('/pages/order/myorder?dataType=comment')">
|
||||||
<view class="icon-box pr">
|
<view class="icon-box pr">
|
||||||
<image src="/static/icon/icon-quanbudingdan.png" mode=""></image>
|
<image src="/static/icon/icon-quanbudingdan.png" mode=""></image>
|
||||||
<text class="dot d-c-c"
|
<text class="dot d-c-c"
|
||||||
v-if="orderCount.comment != null && orderCount.comment > 0">{{ orderCount.comment }}</text>
|
v-if="orderCount.comment != null && orderCount.comment > 0">{{ orderCount.comment }}</text>
|
||||||
</view>
|
</view>
|
||||||
<text>待评价</text>
|
<text>待评价</text>
|
||||||
</view>
|
</view> -->
|
||||||
<view class="item" @click="jumpPage('/pages/order/refund/index/index')">
|
<view class="item" @click="jumpPage('/pages/order/refund/index/index')">
|
||||||
<view class="icon-box pr">
|
<view class="icon-box pr">
|
||||||
<image src="/static/icon/icon-tuikuan.png" mode=""></image>
|
<image src="/static/icon/icon-tuikuan.png" mode=""></image>
|
||||||
@ -112,13 +168,20 @@
|
|||||||
<view class="my-assets-all p-0-30">
|
<view class="my-assets-all p-0-30">
|
||||||
<view class="f30 fb">我的服务</view>
|
<view class="f30 fb">我的服务</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="group-bd f-w">
|
<view class="group-bd f-w" style="padding: 0 30rpx;">
|
||||||
<view :class="'item ' + item.icon + '-box'" v-for="(item, index) in menus" :key="index"
|
<view :class="'item ' + item.icon + '-box'" v-for="(item, index) in menus" :key="index"
|
||||||
@click="jumpPage(item.path)">
|
@click="jumpPage(item.path)" style="margin-bottom: 30rpx;">
|
||||||
<view class="icon-round d-c-c">
|
<view class="d-b-c" style="width: 100%;">
|
||||||
<image class="icon-round" :src="item.icon" mode="aspectFill"></image>
|
<view class="d-f">
|
||||||
|
<view class="icon-round d-c-c">
|
||||||
|
<image class="icon-round" :src="item.icon" mode="" style="width: 40rpx; height: 40rpx;"></image>
|
||||||
|
</view>
|
||||||
|
<view class="name">{{ item.name }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="gray9 f26" @click="jumpPage('/pages/order/myorder?dataType=all')"><text
|
||||||
|
class="icon iconfont icon-jiantou" style="color: #BFC2CC;font-size: 26rpx; "></text></view>
|
||||||
</view>
|
</view>
|
||||||
<text class="name">{{ item.name }}</text>
|
<view class="line" v-if="index !== menus.length - 1"></view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -128,9 +191,9 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!--推荐-->
|
<!--推荐-->
|
||||||
<view>
|
<!-- <view>
|
||||||
<recommendProduct :location="20"></recommendProduct>
|
<recommendProduct :location="20"></recommendProduct>
|
||||||
</view>
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
<tabBar></tabBar>
|
<tabBar></tabBar>
|
||||||
</view>
|
</view>
|
||||||
@ -288,17 +351,17 @@
|
|||||||
|
|
||||||
.user-header {
|
.user-header {
|
||||||
position: relative;
|
position: relative;
|
||||||
@include background_color('background_color');
|
// @include background_color('background_color');
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-header .user-header-inner {
|
.user-header .user-header-inner {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding: 30rpx 30rpx 120rpx;
|
padding: 30rpx 30rpx 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
margin-bottom: 100rpx;
|
margin-bottom: 20rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-header .user-header-inner::after,
|
.user-header .user-header-inner::after,
|
||||||
@ -351,8 +414,15 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.user-header .info .name {
|
.user-header .info .name {
|
||||||
font-weight: bold;
|
font-size: 36rpx;
|
||||||
font-size: 32rpx;
|
color: #303133;
|
||||||
|
line-height: 50rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-header .info .id-number {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #606266;
|
||||||
|
line-height: 34rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-header .info .tel {
|
.user-header .info .tel {
|
||||||
@ -400,6 +470,26 @@
|
|||||||
z-index: 10;
|
z-index: 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.my-cg-order {
|
||||||
|
margin: 0 20rpx 20rpx !important;
|
||||||
|
padding: 30rpx;
|
||||||
|
background: #ffffff;
|
||||||
|
border-radius: 12rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-cg-order .title {
|
||||||
|
font-size: 30rpx;
|
||||||
|
color: #303133;
|
||||||
|
line-height: 42rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-cg-order .title2 {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #606266;
|
||||||
|
line-height: 34rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.order_center {
|
.order_center {
|
||||||
border-left: 1rpx solid #D9D9D9;
|
border-left: 1rpx solid #D9D9D9;
|
||||||
border-right: 1rpx solid #D9D9D9;
|
border-right: 1rpx solid #D9D9D9;
|
||||||
@ -486,19 +576,19 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.menu-wrap .group-bd {
|
.menu-wrap .group-bd {
|
||||||
display: flex;
|
// display: flex;
|
||||||
justify-content: flex-start;
|
// justify-content: flex-start;
|
||||||
align-items: flex-start;
|
// align-items: flex-start;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-wrap .item {
|
.menu-wrap .item {
|
||||||
display: flex;
|
// display: flex;
|
||||||
justify-content: center;
|
// justify-content: center;
|
||||||
align-items: center;
|
// align-items: center;
|
||||||
flex-direction: column;
|
// flex-direction: column;
|
||||||
width: 142rpx;
|
// width: 142rpx;
|
||||||
height: 150rpx;
|
// height: 150rpx;
|
||||||
font-size: 24rpx;
|
// font-size: 24rpx;
|
||||||
}
|
}
|
||||||
.menu-wrap .icon-round {
|
.menu-wrap .icon-round {
|
||||||
width: 56rpx;
|
width: 56rpx;
|
||||||
@ -630,4 +720,10 @@
|
|||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.line {
|
||||||
|
height: 2rpx;
|
||||||
|
background: #E5E5E5;
|
||||||
|
margin-top: 32rpx;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="address-form" :data-theme="theme()" :class="theme() || ''">
|
<view class="address-form" :data-theme="theme()" :class="theme() || ''">
|
||||||
<view class="bg-white p-0-30 f30">
|
<view class="bg-white p-0-30 f30">
|
||||||
<view class="d-b-c border-b info-item avatar">
|
<view class="d-b-c info-item avatar">
|
||||||
<text class="key-name">头像</text>
|
<text class="key-name">头像</text>
|
||||||
<!-- #ifndef MP-WEIXIN -->
|
<!-- #ifndef MP-WEIXIN -->
|
||||||
<view class="d-e-c" @click="changeAvatarUrl">
|
<view class="d-e-c" @click="changeAvatarUrl">
|
||||||
<view class="info-image"><image :src="userInfo.avatarUrl || '/static/default.png'" mode=""></image></view>
|
<view class="info-image"><image :src="userInfo.avatarUrl || '@/static/avatar.png'" mode=""></image></view>
|
||||||
<text class="icon iconfont icon-jiantou"></text>
|
<text class="icon iconfont icon-jiantou"></text>
|
||||||
</view>
|
</view>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
@ -13,20 +13,20 @@
|
|||||||
<view class="d-e-c">
|
<view class="d-e-c">
|
||||||
<view class="info-image">
|
<view class="info-image">
|
||||||
<button style="padding: 0;" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
|
<button style="padding: 0;" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
|
||||||
<image :src="userInfo.avatarUrl || '/static/default.png'" mode=""></image>
|
<image :src="userInfo.avatarUrl || '@/static/avatar.png'" mode=""></image>
|
||||||
</button>
|
</button>
|
||||||
</view>
|
</view>
|
||||||
<text class="icon iconfont icon-jiantou"></text>
|
<text class="icon iconfont icon-jiantou"></text>
|
||||||
</view>
|
</view>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
</view>
|
</view>
|
||||||
<view class="d-b-c p-30-0 border-b">
|
<!-- <view class="d-b-c p-30-0">
|
||||||
<text class="key-name">会员ID</text>
|
<text class="key-name">会员ID</text>
|
||||||
<view class="d-e-c">
|
<view class="d-e-c">
|
||||||
<text class="mr20">{{ userInfo.user_id }}</text>
|
<text class="mr20">{{ userInfo.user_id }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
<view class="d-b-c p-30-0 border-b">
|
<view class="d-b-c p-30-0">
|
||||||
<text class="key-name">昵称</text>
|
<text class="key-name">昵称</text>
|
||||||
<view class="d-e-c" @click="changeName('nickName')">
|
<view class="d-e-c" @click="changeName('nickName')">
|
||||||
<text class="mr20">{{ userInfo.nickName }}</text>
|
<text class="mr20">{{ userInfo.nickName }}</text>
|
||||||
@ -44,13 +44,13 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- #ifdef APP-PLUS -->
|
<!-- #ifdef APP-PLUS -->
|
||||||
<view class="d-b-c p-30-0 border-b">
|
<view class="d-b-c p-30-0">
|
||||||
<text class="key-name">当前版本</text>
|
<text class="key-name">当前版本</text>
|
||||||
<view class="d-e-c">
|
<view class="d-e-c">
|
||||||
<text class="mr20">{{ version_no }}</text>
|
<text class="mr20">{{ version_no }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="d-b-c p-30-0 border-b" @click="deleteAccount()">
|
<view class="d-b-c p-30-0" @click="deleteAccount()">
|
||||||
<text class="key-name">删除账号</text>
|
<text class="key-name">删除账号</text>
|
||||||
<view class="d-e-c">
|
<view class="d-e-c">
|
||||||
<text class="icon iconfont icon-jiantou"></text>
|
<text class="icon iconfont icon-jiantou"></text>
|
||||||
@ -307,13 +307,13 @@ export default {
|
|||||||
.info-image {
|
.info-image {
|
||||||
width: 112rpx;
|
width: 112rpx;
|
||||||
height: 112rpx;
|
height: 112rpx;
|
||||||
border-radius: 10rpx;
|
border-radius: 100%;
|
||||||
margin-right: 20rpx;
|
margin-right: 20rpx;
|
||||||
|
|
||||||
image {
|
image {
|
||||||
width: 112rpx;
|
width: 112rpx;
|
||||||
height: 112rpx;
|
height: 112rpx;
|
||||||
border-radius: 10rpx;
|
border-radius: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
BIN
static/avatar.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
static/icon/dfh.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
static/icon/dfk.png
Normal file
|
After Width: | Height: | Size: 1005 B |
BIN
static/icon/dsh.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
static/icon/edit_address.png
Normal file
|
After Width: | Height: | Size: 751 B |
BIN
static/icon/right.png
Normal file
|
After Width: | Height: | Size: 697 B |
BIN
static/icon/tk.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
static/icon/ywc.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
static/icon/yyy.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
static/my_bg.png
Normal file
|
After Width: | Height: | Size: 174 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 12 KiB |