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 () { } })