address.page.js
3.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
/**
* [个人中心]收货地址
* @author: jiangmin
* @date: 2016/07/05
*/
var cascadingAddress = require('../plugins/cascading-address');
var dialog = require('../plugins/dialog');
var _confirm = dialog.Confirm;
var $consignee = $('#consignee');
var $addressDetail = $('#addressDetail');
var $mobile = $('#mobile');
var $phone = $('#phone');
require('./me');
// 设置收货地址
$('.default-address').click(function () {
if ($(this).hasClass('checked')) {
$(this).removeClass('checked');
$(this).html('');
} else {
$(this).addClass('checked');
$(this).html('');
}
});
// 校验
$consignee.keydown(function () {
$(this).next().hide();
});
$consignee.blur(function () {
if ($(this).val().trim() === '') {
$(this).next().show();
}
});
$addressDetail.keydown(function () {
$(this).next().hide();
});
$addressDetail.blur(function () {
if ($(this).val().trim() === '') {
$(this).next().show();
}
});
$mobile.keydown(function () {
$(this).next().hide();
});
$mobile.blur(function () {
if ($(this).val().trim() === '') {
$(this).next().show();
} else {
let reg = new RegExp(/^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/);
if (!reg.test(($(this).val().trim()))) {
$(this).next().show();
$(this).next().html('手机号码格式不正确');
}
}
});
// 保存收货地址
$('#save-address').click(function () {
if ($consignee.val().trim() === '') {
alert('name不能为空');
} else {
$.ajax({
type: 'POST',
url: '/me/address/add',
dataType: 'json',
data: {// 保存数据
// todo uid
uid: '123456',
consignee: $consignee.val(),
// todo 城市编码
area_code: '123',
address: $addressDetail.val(),
mobile: $mobile.val(),
phone: $phone.val()
},
success: function () { // 刷新下面列表数据
}
});
}
});
// 修改收货地址
// 删除收货地址
$('.del-address').click(function () {
let id = $(this).data('id');
new _confirm({
content: '您确定要删除收货地址吗?',
cb: function () {
$.ajax({
type: 'POST',
url: '/me/address/del',
dataType: 'json',
data: {
// todo uid
uid: '123456',
id: id
},
success: function () { // 刷新下面列表数据
}
});
}
}).show();
});
// 设置默认收货地址
$('.set-default').click(function () {
let id = $(this).data('id');
$.ajax({
type: 'POST',
url: '/me/address/default',
dataType: 'json',
data: {// 保存数据
// todo uid
uid: '123456',
id: id
},
success: function () { // 刷新下面列表数据
}
});
});
$(function () {
// 运行此demo
// 1. 安装 npm i -g json-server
// 2. json-server --watch mock/address.json
cascadingAddress({
el: '#address',
url: 'http://localhost:3000/areas/0',
resource: 'areas'
});
});