You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

442 lines
11 KiB
JavaScript

2 years ago
const app = getApp()
import { isEmptyCheck } from "../../utils/commonUtil";
// pages/addAddress/index.js
Page({
/**
* 页面的初始数据
*/
data: {
multiSelected: false,
multiIndex: [0, 0, 0],
multiIndexTemp: [0, 0, 0],
// multiArray: [['无脊柱动物', '脊柱动物'], ['扁性动物', '线形动物', '环节动物', '软体动物', '节肢动物'], ['猪肉绦虫', '吸血虫']],
multiArray: [[], [], []],
multiArrayTemp: [[], [], []],
multiArrayRecord: [[], [], []],
title:'添加地址',
btnLoading: false,
address: {
contacts: '',
contactsTel: '',
},
addressClassify: '',
addressStr: '',
recordId: '',
// provinceId: '',
// cityId: '',
// districtId: '',
},
getProvinceByPid: function() {
var that = this;
wx.request({
url: app.globalData.ip + '/city/getProvince',
data: {},
header: app.globalData.header,
method: "POST",
success: function (res) {
console.log(res);
if (res.data.status == 200) {
that.data.multiArrayRecord[0] = [{id: -1, name: '请选择'}].concat(res.data.data);
var nameArray = ['请选择'];
res.data.data.forEach((item, index) => {
nameArray.push(item.name);
});
that.data.multiArrayTemp[0] = nameArray;
that.setData({
multiArrayTemp: that.data.multiArrayTemp,
});
//如果有省市回显处理
if (app.isNotEmptyCheck(that.data.address.provinceId) && app.isNotEmptyCheck(that.data.address.cityId) && app.isNotEmptyCheck(that.data.address.districtId)) {
that.data.multiArrayRecord[0].forEach((item, index) => {
if (item.id == that.data.address.provinceId) {
that.data.multiIndex[0] = index;
}
});
that.setData({
multiArray: that.data.multiArrayTemp,
multiIndex: that.data.multiIndex,
multiIndexTemp: that.data.multiIndex,
});
that.getCityByPid2(1, that.data.address.provinceId);
}
} else {
app.showTips(that, res.data.msg);
}
}
})
},
bindMultiPickerChange: function (e) {
console.log('picker发送选择改变携带值为', e.detail.value)
var that = this;
var multiSelected = false;
if (e.detail.value[0] > 0 && e.detail.value[1] > 0 && e.detail.value[2] > 0) {
multiSelected = true;
}
this.setData({
multiIndex: e.detail.value,
multiSelected: multiSelected,
multiArray: that.data.multiArrayTemp,
})
},
bindMultiPickerColumnChange: function (e) {
console.log('修改的列为', e.detail.column, ',值为', e.detail.value);
var that = this;
if (e.detail.column == 0) {
that.data.multiIndexTemp[0] = e.detail.value;
that.data.multiIndexTemp[1] = 0;
that.data.multiIndexTemp[2] = 0;
that.data.multiArrayTemp[1] = [];
that.data.multiArrayTemp[2] = [];
this.setData({
multiIndexTemp: that.data.multiIndexTemp,
multiArrayTemp: that.data.multiArrayTemp,
})
}
if (e.detail.column < 2) {
this.getCityByPid(e.detail.column, e.detail.value);
}
},
getCityByPid: function (column, value) {
var that = this;
// var pid = that.data.userDetails.bankProvinceCode;
var pid = that.data.multiArrayRecord[column][value].id;
wx.request({
url: app.globalData.ip + '/city/getCityByPid',
data: {
pid: pid
},
header: app.globalData.header,
method: "POST",
success: function (res) {
console.log(res);
if (res.data.status == 200) {
that.data.multiArrayRecord[column+1] = [{id: -1, name: '请选择'}].concat(res.data.data);
var nameArray = ['请选择'];
res.data.data.forEach((item, index) => {
nameArray.push(item.name);
});
that.data.multiArrayTemp[column+1] = nameArray;
that.setData({
multiArrayTemp: that.data.multiArrayTemp
});
} else {
app.showTips(that, res.data.msg);
}
}
})
},
getCityByPid2: function (column, pid) {
var that = this;
wx.request({
url: app.globalData.ip + '/city/getCityByPid',
data: {
pid: pid
},
header: app.globalData.header,
method: "POST",
success: function (res) {
console.log(res);
if (res.data.status == 200) {
that.data.multiArrayRecord[column] = [{id: -1, name: '请选择'}].concat(res.data.data);
var nameArray = ['请选择'];
res.data.data.forEach((item, index) => {
nameArray.push(item.name);
});
that.data.multiArrayTemp[column] = nameArray;
that.data.multiArrayRecord[column].forEach((item, index) => {
if (column == 1 && item.id == that.data.address.cityId) {
that.data.multiIndex[column] = index;
} else if (column == 2 && item.id == that.data.address.districtId) {
that.data.multiIndex[column] = index;
}
});
that.setData({
multiArray: that.data.multiArrayTemp,
multiArrayTemp: that.data.multiArrayTemp,
multiIndex: that.data.multiIndex,
multiIndexTemp: that.data.multiIndex,
});
if (column == 1) {
that.getCityByPid2(2, that.data.address.cityId);
}
} else {
app.showTips(that, res.data.msg);
}
}
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
if(!isEmptyCheck(options.id)){
this.data.recordId = options.id;
this.data.title = '修改地址';
this.getDetail();
} else {
this.getProvinceByPid();
}
wx.setNavigationBarTitle({
title:this.data.title
})
},
selectAddressClassify:function(e){
var that = this;
var classify = e.currentTarget.dataset.classify;
console.log(classify);
that.setData({
addressClassify: classify
});
},
getDetail() {
var that = this;
wx.request({
url: app.globalData.ip + "/user/address/getUserAddressDetail?id=" + that.data.recordId,
method: "GET",
header: app.globalData.header,
data: {
},
success: function(res) {
console.log(res);
if (app.isNotEmptyCheck(res.data.data)) {
that.setData({
address: res.data.data,
addressClassify: res.data.data.classify,
addressStr: res.data.data.address,
});
if (app.isNotEmptyCheck(res.data.data.provinceId) && app.isNotEmptyCheck(res.data.data.cityId) && app.isNotEmptyCheck(res.data.data.districtId)) {
that.setData({
multiSelected: true,
});
}
that.getProvinceByPid();
}
}
});
},
onSubmit(e) {
console.log(e);
var that = this;
that.setData({
btnLoading: true
});
if (app.isEmptyCheck(e.detail.value.contacts)) {
wx.showToast({
icon: "none",
title: "请输入姓名",
duration: 3000
});
that.setData({
btnLoading: false
});
return;
}
var myreg = /^[1][3456789][0-9]{9}$/;
if (!myreg.test(e.detail.value.contactsTel) || e.detail.value.contactsTel == "") {
wx.showToast({
icon: "none",
title: "请输入正确手机号",
duration: 3000
});
that.setData({
btnLoading: false
});
return;
}
if (that.data.multiIndex[0] == 0 || that.data.multiIndex[1] == 0 || that.data.multiIndex[2] == 0) {
wx.showToast({
icon: "none",
title: "请选择详细地区",
duration: 3000
});
that.setData({
btnLoading: false
});
return;
}
if (app.isEmptyCheck(e.detail.value.address)) {
wx.showToast({
icon: "none",
title: "请输入详细地址",
duration: 3000
});
that.setData({
btnLoading: false
});
return;
}
if (app.isEmptyCheck(that.data.addressClassify)) {
wx.showToast({
icon: "none",
title: "请选择标签",
duration: 3000
});
that.setData({
btnLoading: false
});
return;
}
var formData = e.detail.value;
formData['id'] = that.data.recordId;
formData['classify'] = that.data.addressClassify;
if (that.data.multiIndex[0] > 0 && that.data.multiIndex[1] > 0 && that.data.multiIndex[2] > 0) {
formData['provinceId'] = that.data.multiArrayRecord[0][that.data.multiIndex[0]].id;
formData['cityId'] = that.data.multiArrayRecord[1][that.data.multiIndex[1]].id;
formData['districtId'] = that.data.multiArrayRecord[2][that.data.multiIndex[2]].id;
} else {
wx.showToast({
icon: "none",
title: "请选择地区",
duration: 3000
});
}
console.log(formData);
that.setData({
btnLoading: false
});
wx.request({
url: app.globalData.ip + "/user/address/addOrUpdateUserAddress",
method: "POST",
header: app.globalData.header,
data: formData,
success: function (res) {
console.log(res);
if (res.data.status == 200) {
wx.navigateBack({
delta: 1
})
} else {
wx.showToast({
icon: "none",
title: res.data.msg,
duration: 2000
});
that.setData({
btnLoading: false
});
}
}
});
},
chooseMap:function(){
var that = this;
console.log("1111111");
wx.chooseLocation({
success: function (res) {
console.log("res",res)
that.data.addressStr = res.name;
that.setData({
addressStr: that.data.addressStr
})
}
})
},
goAddAddress:function(){
wx.navigateTo({
url: '/pages/addressBook/index',
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})