完善页面

This commit is contained in:
wangxiaowei
2025-10-28 00:28:42 +08:00
parent b25f746919
commit b9ab2c63b9
18 changed files with 358 additions and 123 deletions

View File

@ -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{

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
static/icon/dfh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
static/icon/dfk.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1005 B

BIN
static/icon/dsh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 751 B

BIN
static/icon/right.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 697 B

BIN
static/icon/tk.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
static/icon/ywc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
static/icon/yyy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
static/my_bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 12 KiB