新增分享,找回密码,实名认证,签约

This commit is contained in:
唐明明
2023-08-25 14:04:31 +08:00
parent 32cc588ae7
commit 0f7c37d548
106 changed files with 2130 additions and 1313 deletions

View File

@@ -9,10 +9,10 @@ Page({
* 页面的初始数据
*/
data: {
nameValue : '', // 姓名
mobile : '', // 电话
address : '', // 地址
isDefault : '', // 默认地址
nameValue : '', // 姓名
mobile : '', // 电话
address : '', // 地址
isDefault : '', // 默认地址
// 省份选择
areasArr : [],
areaId : 0,
@@ -28,6 +28,7 @@ Page({
regiId : 0,
regiIndex : 0,
// 提交信息
disabled : false
},
@@ -55,7 +56,6 @@ Page({
wx.$api.site.create().then(res => {
let areas = res.data,
areaIndex = this.data.areaIndex
this.setData({
areasArr : areas,
areaId : areas[areaIndex].id,
@@ -74,8 +74,14 @@ Page({
atcode = area[index].id
if (index != this.data.areaIndex) {
this.setData({
areaIndex : index,
areaId : atcode
areaIndex : index,
areaId : atcode,
cityArr : [],
cityId : 0,
cityIndex : 0,
regiArr : [],
regiId : 0,
regiIndex : 0,
})
// 获取市级列表
this.citylist(atcode)
@@ -91,9 +97,12 @@ Page({
}).then(res=>{
let cityArr = res.data
this.setData({
cityId : cityArr[0].id,
cityIndex : 0,
cityArr : cityArr
cityId : cityArr[0].id,
cityIndex : 0,
cityArr : cityArr,
regiArr : [],
regiId : 0,
regiIndex : 0,
})
// 获取区级列表

View File

@@ -1,44 +1,48 @@
<form bindsubmit="siteform" class="site-form">
<view class="site-input">
<label>收货人</label>
<input placeholder="请输入收货人姓名" name="name" type="text" value="{{nameValue}}" bindinput="bindinput"></input>
</view>
<view class="site-input">
<label>手机号码</label>
<input placeholder="请输入手机号码" maxlength="11" name="mobile" type="number"></input>
</view>
<view class="site-input">
<label>所在省份</label>
<picker bindchange="areasChange" value="{{areaIndex}}" range="{{areasArr}}" range-key="name">
<view class="picker">
{{ areasArr[areaIndex].name }}
<view class="content">
<form bindsubmit="siteform">
<view class="site-form">
<view class="site-input">
<label>收货人</label>
<input placeholder="请输入收货人姓名" name="name" type="text" value="{{nameValue}}" bindinput="bindinput"></input>
</view>
<image src="/static/icons/orderArrow.png"></image>
</picker>
</view>
<view class="site-input">
<label>所在城市</label>
<picker bindchange="cityDrop" value="{{cityIndex}}" range="{{cityArr}}" range-key="name" class="conneColor">
<view class="picker">
{{ cityArr[cityIndex].name }}
<view class="site-input">
<label>手机号码</label>
<input placeholder="请输入手机号码" maxlength="11" name="mobile" type="number"></input>
</view>
<image src="/static/icons/orderArrow.png"></image>
</picker>
</view>
<view class="site-input">
<label>所在区域</label>
<picker bindchange="regiDrop" value="{{regiIndex}}" range="{{regiArr}}" range-key="name" class="conneColor">
<view class="picker">
{{ regiArr[regiIndex].name }}
<view class="site-input">
<label>所在省份</label>
<picker bindchange="areasChange" value="{{areaIndex}}" range="{{areasArr}}" range-key="name">
<view class="picker nowrap">
{{ areasArr[areaIndex].name }}
<image class="picker-icon" src="/static/icons/orderArrow.png"></image>
</view>
</picker>
</view>
<view class="site-input">
<label>所在城市</label>
<picker bindchange="cityDrop" value="{{cityIndex}}" range="{{cityArr}}" range-key="name" class="conneColor">
<view class="picker nowrap">
{{ cityArr[cityIndex].name }}
<image class="picker-icon" src="/static/icons/orderArrow.png"></image>
</view>
</picker>
</view>
<image src="/static/icons/orderArrow.png"></image>
</picker>
</view>
<view class="site-input">
<label>收货地址</label>
<input placeholder="请输入详细地址" name="address"></input>
</view>
<view class="site-btn">
<button form-type="submit" size="mini" disabled="{{disabled}}">保存</button>
</view>
</form>
<view class="site-input">
<label>所在区域</label>
<picker bindchange="regiDrop" value="{{regiIndex}}" range="{{regiArr}}" range-key="name" class="conneColor">
<view class="picker nowrap">
{{ regiArr[regiIndex].name }}
<image class="picker-icon" src="/static/icons/orderArrow.png"></image>
</view>
</picker>
</view>
<view class="site-input">
<label>收货地址</label>
<input placeholder="请输入详细地址" name="address"></input>
</view>
</view>
<view class="site-btn">
<button form-type="submit" size="mini" disabled="{{disabled}}">保存</button>
</view>
</form>
</view>

View File

@@ -1,79 +1,17 @@
.site-form {
background: white;
display: block;
}
.site-input {
padding: 0 30rpx 0 200rpx;
position: relative;
line-height: 110rpx;
min-height: 110rpx;
border-bottom: 2rpx solid #f3f3f3;
}
.content{ min-height: 100vh; background: #f7f8f9; padding-top: 30rpx; box-sizing: border-box; }
.site-input::before {
position: absolute;
bottom: 0;
left: 30rpx;
right: 0;
height: 1rpx;
content: "";
background: #e4e6f2;
}
/* 收货地址 */
.site-form{ background: white; border-radius: 20rpx; margin: 0 30rpx; padding: 20rpx 0; }
.site-input{ display: flex; justify-content: space-between; align-items: center; padding: 0 30rpx;}
.site-input label{ width: 170rpx; font-size: 30rpx; color: #333; line-height: 90rpx; }
.site-input input{ width: calc(100% - 170rpx); font-size: 30rpx; }
.site-input picker{ width: calc(100% - 170rpx); }
.picker{ padding-right: 90rpx; width: 100%; box-sizing: border-box; position: relative; }
.picker-icon{ width: 32rpx; height: 32rpx; position: absolute; right: 0; top: 50%; margin-top: -16rpx; }
.site-input:last-child::before {
display: none;
}
/* 保存地址 */
.site-btn{ padding: 50rpx 30rpx; }
.site-btn button[size="mini"]{ background: #e92152; height: 90rpx; line-height: 90rpx; width: 100%; border-radius: 45rpx; color: white; font-size: 32rpx; }
.site-btn button[size="mini"][disabled] { background: #e92152; color: #fff; opacity: .5; }
.site-input label {
position: absolute;
left: 30rpx;
top: 0;
}
.site-input input {
height: 110rpx;
}
.site-input image {
width: 44rpx;
height: 44rpx;
position: absolute;
right: 20rpx;
top: calc(50% - 22rpx);
}
.site-btn {
padding: 20rpx 30rpx;
margin-top: 100rpx;
}
.site-btn button[size="mini"] {
width: 100%;
background: #e92152;
height: 88rpx;
line-height: 88rpx;
font-size: 30rpx;
color: white;
padding: 0;
}
.site-btn button[disabled] {
background: #e92152 !important;
color: #fff !important;
}
.site-switch {
font-size: 32rpx;
margin: 30rpx;
display: flex;
line-height: 40rpx;
}
.site-switch text {
flex: 1;
}
.site-switch-active {
color: #797979;
}

View File

@@ -11,17 +11,14 @@ Page({
address : '',
isDefault : '',
disabled : false,
//省份选择
areas : [],
areaId : '',
areaIndex : 0,
//市级选择
cityList : [],
cityId : 0,
cityIndex : 0,
//区域选择
regiList : [],
regiId : 0,
@@ -90,8 +87,14 @@ Page({
atcode = area[index].id
if (index != this.data.areaIndex) {
this.setData({
areaIndex : index,
areaId : atcode
areaIndex : index,
areaId : atcode,
cityList : [],
cityId : 0,
cityIndex : 0,
regiList : [],
regiId : 0,
regiIndex : 0,
})
// 获取市级列表
this.citylist(atcode)
@@ -107,9 +110,12 @@ Page({
}).then(res=>{
let cityArr = res.data
this.setData({
cityId : cityArr[0].id,
cityIndex : 0,
cityList : cityArr
cityId : cityArr[0].id,
cityIndex : 0,
cityList : cityArr,
regiList : [],
regiId : 0,
regiIndex : 0,
})
// 获取区级列表
@@ -208,14 +214,17 @@ Page({
*/
addressRemove(){
wx.showModal({
title : '提示',
content : '是否删除地址',
success : res=> {
title : '提示',
content : '是否删除地址',
confirmText : '删除',
confirmColor: '#e92152',
success : res => {
if (res.confirm) {
wx.showLoading({
title: '删除中',
})
wx.$api.site.siteDel(this.data.addressId).then(res=>{
wx.$api.site.siteDel(this.data.addressId).then(() => {
wx.hideLoading()
wx.navigateBack()
})
}

View File

@@ -1,52 +1,53 @@
<form bindsubmit="siteform" class="site-form">
<view class="site-input">
<label>收货人</label>
<input placeholder="请输入收货人姓名" name="name" value="{{nameValue}}" type="text" bindinput="bindinput"></input>
</view>
<view class="site-input">
<label>手机号码</label>
<input placeholder="请输入手机号码" maxlength="11" name="mobile" type="number" value="{{mobile}}"></input>
</view>
<view class="site-input">
<label>所在省份</label>
<picker bindchange="areasChange" value="{{areaIndex}}" range="{{areas}}" range-key="name" name="region_id">
<view class="picker">
{{ areas[areaIndex].name }}
<view class="content">
<form bindsubmit="siteform">
<view class="site-form">
<view class="site-input">
<label>收货人</label>
<input placeholder="请输入收货人姓名" name="name" value="{{nameValue}}" type="text" bindinput="bindinput"></input>
</view>
<image src="/static/icons/orderArrow.png"></image>
</picker>
</view>
<view class="site-input">
<label>所在城市</label>
<picker bindchange="cityDrop" value="{{cityIndex}}" range="{{cityList}}" range-key="name" class="conneColor" name="city_id">
<view class="picker">
{{ cityList[cityIndex].name }}
<view class="site-input">
<label>手机号码</label>
<input placeholder="请输入手机号码" maxlength="11" name="mobile" type="number" value="{{mobile}}"></input>
</view>
<image src="/static/icons/orderArrow.png"></image>
</picker>
</view>
<view class="site-input">
<label>所在区域</label>
<picker bindchange="regiDrop" value="{{regiIndex}}" range="{{regiList}}" range-key="name" class="conneColor" name="district_id">
<view class="picker">
{{ regiList[regiIndex].name }}
<view class="site-input">
<label>所在省份</label>
<picker bindchange="areasChange" value="{{areaIndex}}" range="{{areas}}" range-key="name" name="region_id">
<view class="picker nowrap">
{{ areas[areaIndex].name }}
<image class="picker-icon" src="/static/icons/orderArrow.png"></image>
</view>
</picker>
</view>
<image src="/static/icons/orderArrow.png"></image>
</picker>
</view>
<view class="site-input">
<label>收货地址</label>
<input placeholder="请输入详细地址" name="address" value="{{address}}"></input>
</view>
<view class="site-switch">
<text>设置默认地址</text>
<switch style='zoom:.6;' bindchange="addressDefault" color="#ff9951" checked="{{isDefault}}" />
</view>
<view class="site-del" bindtap="addressRemove">
<image class="site-del-img" src="/static/icons/siteDel.png"></image>
<text>删除地址</text>
</view>
<view class="site-btn">
<button form-type="submit" size="mini" disabled="{{disabled}}">保存</button>
</view>
</form>
<view class="site-input">
<label>所在城市</label>
<picker bindchange="cityDrop" value="{{cityIndex}}" range="{{cityList}}" range-key="name" class="conneColor" name="city_id">
<view class="picker nowrap">
{{ cityList[cityIndex].name }}
<image class="picker-icon" src="/static/icons/orderArrow.png"></image>
</view>
</picker>
</view>
<view class="site-input">
<label>所在区域</label>
<picker bindchange="regiDrop" value="{{regiIndex}}" range="{{regiList}}" range-key="name" class="conneColor" name="district_id">
<view class="picker nowrap">
{{ regiList[regiIndex].name }}
<image class="picker-icon" src="/static/icons/orderArrow.png"></image>
</view>
</picker>
</view>
<view class="site-input">
<label>收货地址</label>
<input placeholder="请输入详细地址" name="address" value="{{address}}"></input>
</view>
<view class="site-switch">
<text>设置默认地址</text>
<switch style='zoom:.6;' bindchange="addressDefault" color="#e92152" checked="{{isDefault}}" />
</view>
</view>
<view class="site-btn">
<button form-type="submit" size="mini" disabled="{{disabled}}">保存</button>
</view>
<view class="site-del" bindtap="addressRemove">删除地址</view>
</form>
</view>

View File

@@ -1,99 +1,19 @@
.site-form {
background: white;
display: block;
}
.site-input {
padding: 0 30rpx 0 200rpx;
position: relative;
line-height: 110rpx;
min-height: 110rpx;
}
.content{ min-height: 100vh; background: #f7f8f9; padding-top: 30rpx; box-sizing: border-box; }
.site-input::before {
position: absolute;
bottom: 0;
left: 30rpx;
right: 0;
height: 1rpx;
content: "";
background: #e4e6f2;
}
/* 收货地址 */
.site-form{ background: white; border-radius: 20rpx; margin: 0 30rpx; padding: 20rpx 0; }
.site-input{ display: flex; justify-content: space-between; align-items: center; padding: 0 30rpx;}
.site-input label{ width: 170rpx; font-size: 30rpx; color: #333; line-height: 90rpx; }
.site-input input{ width: calc(100% - 170rpx); font-size: 30rpx; }
.site-input picker{ width: calc(100% - 170rpx); }
.picker{ padding-right: 90rpx; width: 100%; box-sizing: border-box; position: relative; }
.picker-icon{ width: 32rpx; height: 32rpx; position: absolute; right: 0; top: 50%; margin-top: -16rpx; }
.site-switch{ display: flex; align-items: center; justify-content: space-between; padding: 0 30rpx; height: 90rpx; color: #333; }
.site-input:last-child::before {
display: none;
}
/* 保存地址 */
.site-btn{ padding: 50rpx 30rpx 30rpx; }
.site-btn button[size="mini"]{ background: #e92152; height: 90rpx; line-height: 90rpx; width: 100%; vertical-align: top; border-radius: 45rpx; color: white; font-size: 32rpx; }
.site-btn button[size="mini"][disabled] { background: #e92152; color: #fff; opacity: .5; }
.site-del{ margin: 0 30rpx; line-height: 90rpx; text-align: center; color: #e92152; background: white; border-radius: 45rpx; }
.site-input label {
position: absolute;
left: 30rpx;
top: 0;
}
.site-input input {
height: 110rpx;
}
.site-input image {
width: 44rpx;
height: 44rpx;
position: absolute;
right: 20rpx;
top: calc(50% - 22rpx);
}
.site-btn {
padding: 20rpx 30rpx;
margin-top: 100rpx;
}
.site-btn button[size="mini"] {
width: 100%;
background: #e92152;
height: 88rpx;
line-height: 88rpx;
font-size: 30rpx;
color: white;
padding: 0;
}
.site-btn button[disabled] {
background: #e92152 !important;
color: #fff !important;
}
.site-switch {
font-size: 32rpx;
margin: 30rpx;
display: flex;
line-height: 40rpx;
}
.site-switch text {
flex: 1;
}
.site-switch-active {
color: #797979;
}
.site-del {
width: 100%;
text-align: center;
margin-top: 40rpx;
padding-top: 60rpx;
border-top: 2rpx solid rgb(228, 230, 242);
color: #ff9951;
}
.site-del-btn {
text-align: center;
}
.site-del-img {
width: 46rpx;
height: 46rpx;
display: inline-block;
vertical-align: -10rpx;
margin-right: 5rpx;
}

View File

@@ -1,25 +1,16 @@
<view class="list" wx:if="{{listArr.length > 0}}">
<view class="address" wx:for="{{listArr}}" wx:key="listArr">
<!-- "hover-class="none" url="./edit/edit?id={{item.address_id}} -->
<view class="address-top">
<view class="address-img">
<image src="/static/icons/siteIcon.png" mode="aspectFill"></image>
</view>
<view class="address-flex">
<image class="address-icon" src="/static/icons/siteIcon.png" mode="widthFix"></image>
<view class="address-cont">
<view class="address-cont-title">
<view class="address-cont-name">
{{item.name}}
</view>
<view class="address-cont-mobile">
{{item.mobile}}
</view>
<view class="address-cont-default" wx:if="{{item.default}}">
默认
</view>
<view class="nowrap-multi address-text">{{item.full_address}}</view>
<view class="address-info">
<text class="address-name nowrap">{{item.name}}</text>
<text class="address-mobile">{{item.mobile}}</text>
<text class="address-tag">默认</text>
</view>
<view class="nowrap-multi address-cont-text">{{item.full_address}}</view>
</view>
<image src="/static/icons/siteEdit.png" bindtap="addressEdit" data-id="{{item.address_id}}" class="address-btn"></image>
<image src="/static/icons/siteEdit.png" bindtap="addressEdit" data-id="{{item.address_id}}" class="address-btn" mode="widthFix"></image>
</view>
<view class="select" wx:if="{{type == 'selectAddress' || type == 'goodsAddress'}}">
<view class="select-btn" bindtap="selectAddress" data-index="{{index}}">

View File

@@ -1,116 +1,21 @@
page{
background-color: #f4f4f6;
}
.list {
border-bottom: 90px solid transparent;
padding: 30rpx;
box-sizing: border-box;
}
/* 地址列表 */
.list{ padding: 30rpx 0 180rpx; height: 100vh; box-sizing: border-box; background: #f7f8f9; }
.address{ background: white; border-radius: 20rpx; margin: 0 30rpx; }
.address-flex{ display: flex; justify-content: space-between; align-items: center; padding: 30rpx; }
.address-icon{ width: 38rpx; height: 38rpx; }
.address-btn{ width: 38rpx; height: 38rpx; }
.address-cont{ width: calc(100% - 76rpx); padding: 0 30rpx; box-sizing: border-box; }
.address-text{ font-size: 30rpx; line-height: 40rpx; font-weight: bold; padding-bottom: 15rpx; }
.address-info{ display: flex; align-items: center; }
.address-tag{ color: white; height: 30rpx; display: inline-block; font-size: 20rpx; background: #e92152; padding: 0 10rpx; border-radius: 10rpx; margin-left: 10rpx; }
.address-name{ font-size: 30rpx; max-width: 200rpx; }
.address-mobile{ padding-left: 20rpx; color: gray; }
.select{ text-align: center; color: #e92152; border-top: solid 1rpx #f7f8f9; font-size: 30rpx; line-height: 90rpx; }
.address {
background-color: #FFFFFF;
margin-bottom: 30rpx;
padding: 30rpx;
box-sizing: border-box;
border-radius: 10rpx;
}
.address:last-child {
margin-bottom: 0;
}
.address-top {
display: flex;
}
.address-img {
background-color: #eeeeee;
border-radius: 50%;
width: 60rpx;
height: 60rpx;
padding: 10rpx;
box-sizing: border-box;
margin-top: 25rpx;
}
.address-img image {
width: 100%;
height: 100%;
}
.address-btn {
width: 40rpx;
height: 40rpx;
margin-top: 62rpx;
}
.address-cont {
width: calc(100% - 102rpx);
padding: 0 30rpx;
box-sizing: border-box;
}
.address-cont-title {
display: flex;
margin-bottom: 20rpx;
line-height: 44rpx;
}
.address-cont-mobile {
margin: 0 20rpx;
color: rgb(104, 104, 104);
}
.address-cont-default {
background-color: #ff9951;
color: #FFFFFF;
font-size: 24rpx;
border-radius: 40rpx;
padding: 0 15rpx;
height: 38rpx;
line-height: 38rpx;
margin-top: 2rpx;
}
.address-cont-text {
line-height: 42rpx;
font-size: 28rpx;
}
.select {
text-align: right;
padding-top: 30rpx;
}
.select-btn {
border: 2rpx solid #e92152;
color: #ff9951;
display: inline-block;
font-size: 28rpx;
padding: 0 30rpx;
line-height: 54rpx;
border-radius: 5rpx;
}
/* 空页面 */
.pages-hint{ padding-bottom: 180rpx; }
/* 按钮 */
.footer {
width: 100%;
height: 90px;
background-color: #FFFFFF;
position: fixed;
left: 0;
bottom: 0;
z-index: 9;
padding: 20px;
box-sizing: border-box;
}
.btn {
line-height: 50px;
background-color: #e92152;
height: 100%;
text-align: center;
color: #FFFFFF;
border-radius: 10rpx;
}
.footer { width: 100%; background-color: #FFFFFF; position: fixed; left: 0; bottom: 0; z-index: 9; padding: 30rpx 30rpx 60rpx; box-sizing: border-box; }
.footer .btn { line-height: 90rpx; padding: 0; font-size: 32rpx; font-weight: bold; background-color: #e92152; text-align: center; color: #FFFFFF; border-radius: 45rpx; }