first commit
This commit is contained in:
1
衣莎项目/源码/YiShaXiYi/user/address/.pydio
Normal file
1
衣莎项目/源码/YiShaXiYi/user/address/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
d3dec3c4-94df-4ab4-ab35-254e5acb1f6f
|
||||
204
衣莎项目/源码/YiShaXiYi/user/address/address.js
Normal file
204
衣莎项目/源码/YiShaXiYi/user/address/address.js
Normal file
@@ -0,0 +1,204 @@
|
||||
// user/address/address.js
|
||||
const app = getApp();
|
||||
const util = app.loadUtils("util");
|
||||
const regeneratorRuntime = app.loadAsync();
|
||||
const model = app.loadModel("index");
|
||||
const http = app.loadHttp();
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
system: app.globalData.system, //设备相关信息
|
||||
pageTitle: "添加地址", //头部标题
|
||||
isBack: true,//显示返回
|
||||
conten: "",//地址显示
|
||||
name: "",//收货人姓名
|
||||
tel: "",//收货人手机号
|
||||
detail: "",//收货地址详情
|
||||
radioItems: [
|
||||
{ name: '是', value: '0', checked: 'true' },
|
||||
{ name: '否', value: '1', },
|
||||
],
|
||||
updateAdd: "",//修改收货地址
|
||||
modify: null,//0 修改地址 1 增加地址
|
||||
isAdd: false,//防止表单重复提交
|
||||
},
|
||||
radioChange: function (e) {
|
||||
var checked = e.detail.value
|
||||
var changed = {}
|
||||
for (var i = 0; i < this.data.radioItems.length; i++) {
|
||||
if (checked.indexOf(this.data.radioItems[i].name) !== -1) {
|
||||
changed['radioItems[' + i + '].checked'] = true
|
||||
} else {
|
||||
changed['radioItems[' + i + '].checked'] = false
|
||||
}
|
||||
}
|
||||
this.setData(changed)
|
||||
},
|
||||
// 接收修改地址
|
||||
async upAdd() {
|
||||
let add = await model.storage.getSetting("updataAdd")
|
||||
if (!!add) {
|
||||
model.storage.deleteStorage('updataAdd')
|
||||
let conten = {
|
||||
id: add.id,
|
||||
address: add.address,
|
||||
address_component: {
|
||||
province: add.provinceName,
|
||||
city: add.cityName,
|
||||
district: add.countryName
|
||||
}
|
||||
}
|
||||
this.setData({
|
||||
updateAdd: add,
|
||||
conten: conten
|
||||
})
|
||||
}
|
||||
},
|
||||
// 选择地址的方法
|
||||
async add() {
|
||||
let data = await util.selectAdd()
|
||||
let conten = this.data.conten
|
||||
data.result.id = conten.id
|
||||
this.setData({
|
||||
conten: data.result
|
||||
})
|
||||
},
|
||||
// 提交收货地址
|
||||
async subAdd(e) {
|
||||
if (this.data.isAdd) return;
|
||||
let value = e.detail.value
|
||||
if (value.name == "") {
|
||||
model.msg.dataMsg({
|
||||
content: "请输入联系人",
|
||||
type: "warning"
|
||||
})
|
||||
return
|
||||
}
|
||||
if (value.tel == "") {
|
||||
model.msg.dataMsg({
|
||||
content: "请输入手机号",
|
||||
type: "warning"
|
||||
})
|
||||
return
|
||||
}
|
||||
if (!(/^1[3456789]\d{9}$/.test(value.tel))) {
|
||||
model.msg.dataMsg({
|
||||
content: "请输入正确的手机号",
|
||||
type: "warning"
|
||||
})
|
||||
return false;
|
||||
}
|
||||
if (this.data.conten == "") {
|
||||
model.msg.dataMsg({
|
||||
content: "请选择收货地址",
|
||||
type: "warning"
|
||||
})
|
||||
return
|
||||
}
|
||||
if (value.detail == "") {
|
||||
model.msg.dataMsg({
|
||||
content: "请输入详情地址",
|
||||
type: "warning"
|
||||
})
|
||||
return
|
||||
}
|
||||
let data = {
|
||||
userName: value.name,
|
||||
telNumber: value.tel,
|
||||
address: this.data.conten.address,
|
||||
provinceName: this.data.conten.address_component.province,
|
||||
cityName: this.data.conten.address_component.city,
|
||||
countryName: this.data.conten.address_component.district,
|
||||
detail: value.detail,
|
||||
is_default: 0
|
||||
}
|
||||
// 判断是否选中默认
|
||||
if (this.data.radioItems[0].checked) {
|
||||
data.is_default = 1
|
||||
}
|
||||
// 修改地址需要地址id
|
||||
if (this.data.modify == 0) {
|
||||
data.id = this.data.conten.id
|
||||
}
|
||||
this.setData({
|
||||
isAdd: true
|
||||
})
|
||||
// 判断是否是修改地址
|
||||
let url = this.data.modify == 0 ? `${http.api.editUserAddress}` : `${http.api.userAddress}`
|
||||
let res = await http.http.request2({ url: url, method: "POST", data: data })
|
||||
|
||||
if (res.data.status == 1) {
|
||||
model.msg.dataMsg({
|
||||
content: res.data.msg,
|
||||
type: "success"
|
||||
})
|
||||
// 成功1s后返回上一页
|
||||
setTimeout(() => {
|
||||
wx.navigateBack({
|
||||
|
||||
})
|
||||
}, 1000)
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad: function (options) {
|
||||
this.setData({
|
||||
modify: options.modify
|
||||
})
|
||||
this.upAdd()
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage: function () {
|
||||
|
||||
}
|
||||
})
|
||||
4
衣莎项目/源码/YiShaXiYi/user/address/address.json
Normal file
4
衣莎项目/源码/YiShaXiYi/user/address/address.json
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"navigationBarTextStyle": "black",
|
||||
"usingComponents": {}
|
||||
}
|
||||
59
衣莎项目/源码/YiShaXiYi/user/address/address.wxml
Normal file
59
衣莎项目/源码/YiShaXiYi/user/address/address.wxml
Normal file
@@ -0,0 +1,59 @@
|
||||
<!-- 头部 -->
|
||||
<nav-bar isBack="{{isBack}}" pageTitle="{{pageTitle}}" system="{{system}}"></nav-bar>
|
||||
<!-- user/address/address.wxml -->
|
||||
<view class="address">
|
||||
<form bindsubmit="subAdd">
|
||||
<view class="list_text pd30 mt20">
|
||||
<view class="text_row">
|
||||
<view class="text_row1 flex-con2">联系人</view>
|
||||
<view class="text_row2 flex-con2">
|
||||
<input placeholder-style="color:#cccccc;" name="name" type="text" value="{{!!updateAdd.userName ? updateAdd.userName : ''}}" placeholder="{{ !!updateAdd.userName ? updateAdd.userName : '请输入姓名'}}" />
|
||||
</view>
|
||||
<view class="text_row3 flex-con3"></view>
|
||||
</view>
|
||||
<view class="text_row">
|
||||
<view class="text_row1 flex-con2">电话</view>
|
||||
<view class="text_row2 flex-con2">
|
||||
<input placeholder-style="color:#cccccc;" name="tel" type="number" value="{{!!updateAdd.telNumber ? updateAdd.telNumber : ''}}" placeholder="{{ !!updateAdd.telNumber ? updateAdd.telNumber : '请输入手机号'}}" />
|
||||
</view>
|
||||
<view class="text_row3 flex-con3"></view>
|
||||
</view>
|
||||
<view class="text_row">
|
||||
<view class="text_row1 flex-con2">位置</view>
|
||||
<view class="text_row2 flex-con2" bind:tap="add">
|
||||
<span>{{conten.address ||'请选择您的位置'}}</span>
|
||||
</view>
|
||||
<view class="text_row3 flex-con3" bind:tap="add">
|
||||
<image src="/static/img/icon/rthyrthertherth.png" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="text_row">
|
||||
<view class="text_row1 flex-con2">详情地址</view>
|
||||
<view class="text_row2 flex-con2">
|
||||
<input placeholder-style="color:#cccccc;" name="detail" type="text" value="{{!!updateAdd.detail ? updateAdd.detail : ''}}" placeholder="{{ !!updateAdd.detail ? updateAdd.detail : '小区/大厦/楼层门号'}}" />
|
||||
</view>
|
||||
<view class="text_row3 flex-con3"></view>
|
||||
</view>
|
||||
<view class="text_row">
|
||||
<view class="text_row1 flex-con2">默认地址</view>
|
||||
<view class="text_row2 flex-con2">
|
||||
<radio-group class="group flex-con2 flex1" bindchange="radioChange">
|
||||
<view class="label-2 flex1" wx:for="{{radioItems}}" wx:key="{{ index }}">
|
||||
<label class="label-2__text" for="{{item.name}}">
|
||||
<radio id="{{item.name}}" hidden value="{{item.name}}" checked="{{item.checked}}"></radio>
|
||||
<view class="label-2__icon">
|
||||
<view class="label-2__icon-checked" style="opacity:{{item.checked ? 1: 0}}"></view>
|
||||
</view>
|
||||
<text>{{item.name}}</text>
|
||||
</label>
|
||||
</view>
|
||||
</radio-group>
|
||||
</view>
|
||||
<view class="text_row3 flex-con3"></view>
|
||||
</view>
|
||||
</view>
|
||||
<button class="sub" form-type="submit">保存</button>
|
||||
</form>
|
||||
</view>
|
||||
<!-- toasta提示 -->
|
||||
<i-toast id="toast" />
|
||||
111
衣莎项目/源码/YiShaXiYi/user/address/address.wxss
Normal file
111
衣莎项目/源码/YiShaXiYi/user/address/address.wxss
Normal file
@@ -0,0 +1,111 @@
|
||||
/* user/address/address.wxss */
|
||||
|
||||
.list_text {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.text_row {
|
||||
display: flex;
|
||||
height: 100rpx;
|
||||
width: 100%;
|
||||
border-bottom: 2rpx solid #ebebeb;
|
||||
}
|
||||
|
||||
.text_row1 {
|
||||
flex: 2;
|
||||
font-size: 32rpx;
|
||||
font-weight: 700;
|
||||
font-stretch: normal;
|
||||
letter-spacing: 0px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.text_row2 {
|
||||
padding-left: 40rpx;
|
||||
flex: 7;
|
||||
font-size: 32rpx;
|
||||
font-weight: normal;
|
||||
font-stretch: normal;
|
||||
letter-spacing: 0px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.text_row2 span {
|
||||
font-family: PingFang-SC-Medium;
|
||||
font-size: 32rpx;
|
||||
font-weight: normal;
|
||||
font-stretch: normal;
|
||||
letter-spacing: 0px;
|
||||
color: #ccc;
|
||||
display: -webkit-box !important;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.text_row3 {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.text_row3 image {
|
||||
width: 15rpx;
|
||||
height: 33rpx;
|
||||
}
|
||||
|
||||
.text_row:last-child {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.label-1__text, .label-2__text {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
height: 100%;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.label-1__icon {
|
||||
position: relative;
|
||||
margin-right: 10px;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
background: #fcfff4;
|
||||
}
|
||||
|
||||
.label-1__icon-checked {
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
left: 3px;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
background: #1aad19;
|
||||
}
|
||||
|
||||
.label-2__icon {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-right: 10px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border: #ebebeb solid 2rpx;
|
||||
background: #fff;
|
||||
border-radius: 50px;
|
||||
}
|
||||
|
||||
.label-2__icon-checked {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
margin: -6px 0 0 -6px;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
background: #1aad19;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.label-4_text {
|
||||
text-align: center;
|
||||
margin-top: 15px;
|
||||
}
|
||||
Reference in New Issue
Block a user