|
@@ -1,324 +0,0 @@
|
|
|
-var util = require('../../../utils/util.js');
|
|
|
-var api = require('../../../config/api.js');
|
|
|
-var app = getApp();
|
|
|
-Page({
|
|
|
- data: {
|
|
|
- address: {
|
|
|
- id:0,
|
|
|
- province_id: 0,
|
|
|
- city_id: 0,
|
|
|
- district_id: 0,
|
|
|
- address: '',
|
|
|
- full_region: '',
|
|
|
- name: '',
|
|
|
- mobile: '',
|
|
|
- is_default: 0
|
|
|
- },
|
|
|
- addressId: 0,
|
|
|
- openSelectRegion: false,
|
|
|
- selectRegionList: [
|
|
|
- { id: 0, name: '省份', parent_id: 1, type: 1 },
|
|
|
- { id: 0, name: '城市', parent_id: 1, type: 2 },
|
|
|
- { id: 0, name: '区县', parent_id: 1, type: 3 }
|
|
|
- ],
|
|
|
- regionType: 1,
|
|
|
- regionList: [],
|
|
|
- selectRegionDone: false
|
|
|
- },
|
|
|
- bindinputMobile(event) {
|
|
|
- let address = this.data.address;
|
|
|
- address.mobile = event.detail.value;
|
|
|
- this.setData({
|
|
|
- address: address
|
|
|
- });
|
|
|
- },
|
|
|
- bindinputName(event) {
|
|
|
- let address = this.data.address;
|
|
|
- address.name = event.detail.value;
|
|
|
- this.setData({
|
|
|
- address: address
|
|
|
- });
|
|
|
- },
|
|
|
- bindinputAddress (event){
|
|
|
- let address = this.data.address;
|
|
|
- address.address = event.detail.value;
|
|
|
- this.setData({
|
|
|
- address: address
|
|
|
- });
|
|
|
- },
|
|
|
- bindIsDefault(){
|
|
|
- let address = this.data.address;
|
|
|
- address.is_default = !address.is_default;
|
|
|
- this.setData({
|
|
|
- address: address
|
|
|
- });
|
|
|
- },
|
|
|
- getAddressDetail() {
|
|
|
- let that = this;
|
|
|
- util.request(api.AddressDetail, { id: that.data.addressId }).then(function (res) {
|
|
|
- if (res.errno === 0) {
|
|
|
- that.setData({
|
|
|
- address: res.data
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- setRegionDoneStatus() {
|
|
|
- let that = this;
|
|
|
- let doneStatus = that.data.selectRegionList.every(item => {
|
|
|
- return item.id != 0;
|
|
|
- });
|
|
|
-
|
|
|
- that.setData({
|
|
|
- selectRegionDone: doneStatus
|
|
|
- })
|
|
|
-
|
|
|
- },
|
|
|
- chooseRegion() {
|
|
|
- let that = this;
|
|
|
- this.setData({
|
|
|
- openSelectRegion: !this.data.openSelectRegion
|
|
|
- });
|
|
|
-
|
|
|
- //设置区域选择数据
|
|
|
- let address = this.data.address;
|
|
|
- if (address.province_id > 0 && address.city_id > 0 && address.district_id > 0) {
|
|
|
- let selectRegionList = this.data.selectRegionList;
|
|
|
- selectRegionList[0].id = address.province_id;
|
|
|
- selectRegionList[0].name = address.province_name;
|
|
|
- selectRegionList[0].parent_id = 1;
|
|
|
-
|
|
|
- selectRegionList[1].id = address.city_id;
|
|
|
- selectRegionList[1].name = address.city_name;
|
|
|
- selectRegionList[1].parent_id = address.province_id;
|
|
|
-
|
|
|
- selectRegionList[2].id = address.district_id;
|
|
|
- selectRegionList[2].name = address.district_name;
|
|
|
- selectRegionList[2].parent_id = address.city_id;
|
|
|
-
|
|
|
- this.setData({
|
|
|
- selectRegionList: selectRegionList,
|
|
|
- regionType: 3
|
|
|
- });
|
|
|
-
|
|
|
- this.getRegionList(address.city_id);
|
|
|
- } else {
|
|
|
- this.setData({
|
|
|
- selectRegionList: [
|
|
|
- { id: 0, name: '省份', parent_id: 1, type: 1 },
|
|
|
- { id: 0, name: '城市', parent_id: 1, type: 2 },
|
|
|
- { id: 0, name: '区县', parent_id: 1, type: 3 }
|
|
|
- ],
|
|
|
- regionType: 1
|
|
|
- })
|
|
|
- this.getRegionList(1);
|
|
|
- }
|
|
|
-
|
|
|
- this.setRegionDoneStatus();
|
|
|
-
|
|
|
- },
|
|
|
- onLoad: function (options) {
|
|
|
- // 页面初始化 options为页面跳转所带来的参数
|
|
|
- console.log(options)
|
|
|
- if (options.id) {
|
|
|
- this.setData({
|
|
|
- addressId: options.id
|
|
|
- });
|
|
|
- this.getAddressDetail();
|
|
|
- }
|
|
|
-
|
|
|
- this.getRegionList(1);
|
|
|
-
|
|
|
- },
|
|
|
- onReady: function () {
|
|
|
-
|
|
|
- },
|
|
|
- selectRegionType(event) {
|
|
|
- let that = this;
|
|
|
- let regionTypeIndex = event.target.dataset.regionTypeIndex;
|
|
|
- let selectRegionList = that.data.selectRegionList;
|
|
|
-
|
|
|
- //判断是否可点击
|
|
|
- if (regionTypeIndex + 1 == this.data.regionType || (regionTypeIndex - 1 >= 0 && selectRegionList[regionTypeIndex-1].id <= 0)) {
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- this.setData({
|
|
|
- regionType: regionTypeIndex + 1
|
|
|
- })
|
|
|
-
|
|
|
- let selectRegionItem = selectRegionList[regionTypeIndex];
|
|
|
-
|
|
|
- this.getRegionList(selectRegionItem.parent_id);
|
|
|
-
|
|
|
- this.setRegionDoneStatus();
|
|
|
-
|
|
|
- },
|
|
|
- selectRegion(event) {
|
|
|
- let that = this;
|
|
|
- let regionIndex = event.target.dataset.regionIndex;
|
|
|
- let regionItem = this.data.regionList[regionIndex];
|
|
|
- let regionType = regionItem.type;
|
|
|
- let selectRegionList = this.data.selectRegionList;
|
|
|
- selectRegionList[regionType - 1] = regionItem;
|
|
|
-
|
|
|
-
|
|
|
- if (regionType != 3) {
|
|
|
- this.setData({
|
|
|
- selectRegionList: selectRegionList,
|
|
|
- regionType: regionType + 1
|
|
|
- })
|
|
|
- this.getRegionList(regionItem.id);
|
|
|
- } else {
|
|
|
- this.setData({
|
|
|
- selectRegionList: selectRegionList
|
|
|
- })
|
|
|
- }
|
|
|
-
|
|
|
- //重置下级区域为空
|
|
|
- selectRegionList.map((item, index) => {
|
|
|
- if (index > regionType - 1) {
|
|
|
- item.id = 0;
|
|
|
- item.name = index == 1 ? '城市' : '区县';
|
|
|
- item.parent_id = 0;
|
|
|
- }
|
|
|
- return item;
|
|
|
- });
|
|
|
-
|
|
|
- this.setData({
|
|
|
- selectRegionList: selectRegionList
|
|
|
- })
|
|
|
-
|
|
|
-
|
|
|
- that.setData({
|
|
|
- regionList: that.data.regionList.map(item => {
|
|
|
-
|
|
|
- //标记已选择的
|
|
|
- if (that.data.regionType == item.type && that.data.selectRegionList[that.data.regionType - 1].id == item.id) {
|
|
|
- item.selected = true;
|
|
|
- } else {
|
|
|
- item.selected = false;
|
|
|
- }
|
|
|
-
|
|
|
- return item;
|
|
|
- })
|
|
|
- });
|
|
|
-
|
|
|
- this.setRegionDoneStatus();
|
|
|
-
|
|
|
- },
|
|
|
- doneSelectRegion() {
|
|
|
- if (this.data.selectRegionDone === false) {
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- let address = this.data.address;
|
|
|
- let selectRegionList = this.data.selectRegionList;
|
|
|
- address.province_id = selectRegionList[0].id;
|
|
|
- address.city_id = selectRegionList[1].id;
|
|
|
- address.district_id = selectRegionList[2].id;
|
|
|
- address.province_name = selectRegionList[0].name;
|
|
|
- address.city_name = selectRegionList[1].name;
|
|
|
- address.district_name = selectRegionList[2].name;
|
|
|
- address.full_region = selectRegionList.map(item => {
|
|
|
- return item.name;
|
|
|
- }).join('');
|
|
|
-
|
|
|
- this.setData({
|
|
|
- address: address,
|
|
|
- openSelectRegion: false
|
|
|
- });
|
|
|
-
|
|
|
- },
|
|
|
- cancelSelectRegion() {
|
|
|
- this.setData({
|
|
|
- openSelectRegion: false,
|
|
|
- regionType: this.data.regionDoneStatus ? 3 : 1
|
|
|
- });
|
|
|
-
|
|
|
- },
|
|
|
- getRegionList(regionId) {
|
|
|
- let that = this;
|
|
|
- let regionType = that.data.regionType;
|
|
|
- util.request(api.RegionList, { parentId: regionId }).then(function (res) {
|
|
|
- if (res.errno === 0) {
|
|
|
- that.setData({
|
|
|
- regionList: res.data.map(item => {
|
|
|
-
|
|
|
- //标记已选择的
|
|
|
- if (regionType == item.type && that.data.selectRegionList[regionType - 1].id == item.id) {
|
|
|
- item.selected = true;
|
|
|
- } else {
|
|
|
- item.selected = false;
|
|
|
- }
|
|
|
-
|
|
|
- return item;
|
|
|
- })
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- cancelAddress(){
|
|
|
- wx.reLaunch({
|
|
|
- url: '/pages/shopping/address/address',
|
|
|
- })
|
|
|
- },
|
|
|
- saveAddress(){
|
|
|
- console.log(this.data.address)
|
|
|
- let address = this.data.address;
|
|
|
-
|
|
|
- if (address.name == '') {
|
|
|
- util.showErrorToast('请输入姓名');
|
|
|
-
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- if (address.mobile == '') {
|
|
|
- util.showErrorToast('请输入手机号码');
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- if (address.district_id == 0) {
|
|
|
- util.showErrorToast('请输入省市区');
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- if (address.address == '') {
|
|
|
- util.showErrorToast('请输入详细地址');
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- let that = this;
|
|
|
- util.request(api.AddressSave, {
|
|
|
- id: address.id,
|
|
|
- name: address.name,
|
|
|
- mobile: address.mobile,
|
|
|
- province_id: address.province_id,
|
|
|
- city_id: address.city_id,
|
|
|
- district_id: address.district_id,
|
|
|
- address: address.address,
|
|
|
- is_default: address.is_default,
|
|
|
- }, 'POST').then(function (res) {
|
|
|
- if (res.errno === 0) {
|
|
|
- wx.reLaunch({
|
|
|
- url: '/pages/shopping/address/address',
|
|
|
- })
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- },
|
|
|
- onShow: function () {
|
|
|
- // 页面显示
|
|
|
-
|
|
|
- },
|
|
|
- onHide: function () {
|
|
|
- // 页面隐藏
|
|
|
-
|
|
|
- },
|
|
|
- onUnload: function () {
|
|
|
- // 页面关闭
|
|
|
-
|
|
|
- }
|
|
|
-})
|