address_user.html 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
  6. <meta name="apple-mobile-web-app-capable" content="yes">
  7. <meta name="apple-mobile-web-app-status-bar-style" content="black" />
  8. <meta name="format-detection" content="telephone=no">
  9. <title>编辑地址</title>
  10. <link rel="stylesheet" href="/static/css/style.css" />
  11. <link rel="stylesheet" href="/static/css/address.css" />
  12. <link rel="stylesheet" type="text/css" href="/static/index/css/mobileSelect.css">
  13. <script src="/static/index/js/mobileSelect.js" type="text/javascript"></script>
  14. </head>
  15. <body>
  16. <style>
  17. .address2-bottom input{
  18. -webkit-appearance:none;
  19. box-shadow:0 0 11px 0 rgba(0,0,0,0.2);
  20. font-size:0.9rem;
  21. float: inherit;
  22. margin: 0 auto 0.56rem auto;
  23. border-radius: 0.3rem;
  24. height: 2.5rem;
  25. line-height: 2.5rem;
  26. }
  27. .address2 .address2-bottom{
  28. padding-left: 0;
  29. }
  30. .address2-middle label{
  31. color: #999;
  32. font-size: 0.9rem;
  33. }
  34. .address2-middle-msg .middle-msg-box input,.address2-middle-msg .middle-msg-box select{
  35. font-size: 0.9rem;
  36. }
  37. .select-add{
  38. width: 200px;height: 50px;line-height: 50px;float: left
  39. }
  40. </style>
  41. <!--<img src="/static/images/address1.jpg" width="100%" style="position: absolute;opacity: 0.6;top: 0; z-index: -1;display:none;">
  42. <img src="/static/images/address2.jpg" width="100%" style="position: absolute;opacity: 0.6;top: 0; z-index: -1; display:none;">
  43. <img src="/static/images/address3.jpg" width="100%" style="position: absolute;opacity: 0.6;top: 0; z-index: -1; display:none;">-->
  44. <!--address2页面-->
  45. <div class="address2" id="address2" style="display:block;">
  46. <!--<div class="address2-top"></div>-->
  47. <div class="address2-middle">
  48. <div class="address2-middle-msg">
  49. <span class="middle-msg-box">
  50. <!--<span>收货人</span>
  51. <span>陈伟</span>-->
  52. <label for="person">收件人</label>
  53. <input type="text" id="person" placeholder="请填写收件人" value=""/>
  54. </span>
  55. <span class="middle-msg-box">
  56. <label for="phone_number">手机号</label>
  57. <input type="text" id="phone_number" placeholder="请填写手机号码" value=""/>
  58. <!--<span>手机号</span>
  59. <span>15329884885</span>-->
  60. </span>
  61. </div>
  62. <div class="address2-middle-msg">
  63. <span class="middle-msg-box">
  64. <label for="provinces">省份</label>
  65. <div id="trigger1" class="select-add">请选择</div>
  66. </span>
  67. <span class="middle-msg-box">
  68. <label for="cities">城市</label>
  69. <div id="trigger2" class="select-add">请选择</div>
  70. </span>
  71. <span class="middle-msg-box">
  72. <label for="counties">县区</label>
  73. <div id="trigger3" class="select-add">请选择</div>
  74. </span>
  75. <span class="middle-msg-box">
  76. <label for="address_detail">详细地址</label>
  77. <textarea id="address_detail" placeholder="请填写详细地址"></textarea>
  78. </span>
  79. </div>
  80. </div>
  81. <div class="address2-bottom">
  82. <input type="button" style="background: white;color: #868A89;" class="default_address" value="这是您的默认收货地址"/>
  83. <input type="button" class="set_default save_address" data-action="1" value="设为默认收货地址"/>
  84. <input type="button" class="save_address" data-action="2" value="保存"/>
  85. </div>
  86. </div>
  87. <script src="/static/js/jquery-3.2.1.min.js"></script>
  88. <script src="/static/layer/layer.js"></script>
  89. <script src="/static/js/common.js"></script>
  90. <script src="/static/js/address.js"></script>
  91. </body>
  92. </html>
  93. <script>
  94. $(function () {
  95. $.ajax({
  96. url: '/index/AddressInterfaces/getAddress',
  97. type: 'GET',
  98. async:false,
  99. data:{level:1},
  100. dataType:'json',
  101. success: function (res) {
  102. if(res.code==400){
  103. layer.msg(res.msg);
  104. }else{
  105. var data = res.data;
  106. var html = "<option data-code=''>请选择省份</option>";
  107. $.each(data,function (i,v) {
  108. html+="<option data-code='"+v.code+"'>"+v.name+"</option>";
  109. })
  110. $('.province').append(html);
  111. }
  112. }
  113. });
  114. $('.province').change(function () {
  115. var cityCode = $(this).find('option:selected').data('code');
  116. $.ajax({
  117. url: '/index/AddressInterfaces/getAddress',
  118. type: 'GET',
  119. async:false,
  120. data:{level:2,code:cityCode},
  121. dataType:'json',
  122. success: function (res) {
  123. if(res.code==400){
  124. layer.msg(res.msg);
  125. }else{
  126. var data = res.data;
  127. var html = "<option data-code=''>请选择城市</option>";
  128. $.each(data,function (i,v) {
  129. html+="<option data-code='"+v.code+"'>"+v.name+"</option>";
  130. })
  131. $('.city').empty();
  132. $('.city').append(html);
  133. }
  134. }
  135. });
  136. })
  137. $('.city').change(function () {
  138. var cityCode = $(this).find('option:selected').data('code');
  139. $.ajax({
  140. url: '/index/AddressInterfaces/getAddress',
  141. type: 'GET',
  142. async:false,
  143. data:{level:3,code:cityCode},
  144. dataType:'json',
  145. success: function (res) {
  146. if(res.code==400){
  147. layer.msg(res.msg);
  148. }else{
  149. var data = res.data;
  150. var html = "<option data-code=''>请选择县区</option>";
  151. $.each(data,function (i,v) {
  152. html+="<option data-code='"+v.code+"'>"+v.name+"</option>";
  153. })
  154. $('.area').empty();
  155. $('.area').append(html);
  156. }
  157. }
  158. });
  159. })
  160. })
  161. </script>
  162. <script type="text/javascript">
  163. var mobileSelect1 = new MobileSelect({
  164. trigger: '#trigger1',
  165. title: '选择省份',
  166. wheels: [
  167. {data:[
  168. {
  169. id:'1',
  170. value:'',
  171. childs:[
  172. {id:'A1',value:''},
  173. ]
  174. }
  175. ]}
  176. ],
  177. callback:function(indexArr, data){
  178. getCity(data[0].id)
  179. $('#trigger1').text(data[0].name);
  180. $('#trigger1').attr('data-id',data[0].id);
  181. },
  182. position:[0]
  183. });
  184. var mobileSelect2 = new MobileSelect({
  185. trigger: '#trigger2',
  186. title: '选择城市',
  187. wheels: [
  188. {data:[
  189. {
  190. id:'1',
  191. value:'',
  192. childs:[
  193. {id:'A1',value:''},
  194. ]
  195. }
  196. ]}
  197. ],
  198. callback:function(indexArr, data){
  199. getArea(data[0].id)
  200. $('#trigger2').text(data[0].name);
  201. $('#trigger2').attr('data-id',data[0].id);
  202. },
  203. position:[0]
  204. });
  205. var mobileSelect3 = new MobileSelect({
  206. trigger: '#trigger3',
  207. title: '选择区域',
  208. wheels: [
  209. {data:[
  210. {
  211. id:'1',
  212. value:'',
  213. childs:[
  214. {id:'A1',value:''},
  215. ]
  216. }
  217. ]}
  218. ],
  219. callback:function(indexArr, data){
  220. $('#trigger3').text(data[0].name);
  221. $('#trigger3').attr('data-id',data[0].id);
  222. },
  223. position:[0]
  224. });
  225. $.ajax({
  226. url: '/index/AddressInterfaces/getAddress',
  227. type: 'GET',
  228. async:false,
  229. data:{level:1},
  230. dataType:'json',
  231. success: function (res) {
  232. if(res.code==400){
  233. layer.msg(res.msg);
  234. }else{
  235. var province_data = [];
  236. var name = '';
  237. var id ='';
  238. var i=0;
  239. $.each(res.data,function (k,v) {
  240. province_data[k]={"id":v.code,"value":v.name};
  241. if(k===0){
  242. name = v.name;
  243. id = v.code;
  244. }
  245. })
  246. mobileSelect1.updateWheels(province_data);
  247. $('#trigger1').text(name);
  248. $('#trigger1').attr('data-id',id);
  249. getCity(id);
  250. }
  251. }
  252. });
  253. function getCity(cityCode){
  254. $.ajax({
  255. url: '/index/AddressInterfaces/getAddress',
  256. type: 'GET',
  257. async:false,
  258. data:{level:2,code:cityCode},
  259. dataType:'json',
  260. success: function (res) {
  261. if(res.code==400){
  262. layer.msg(res.msg);
  263. }else{
  264. var city_data = [];
  265. var name = '';
  266. var id ='';
  267. var i=0;
  268. $.each(res.data,function (k,v) {
  269. city_data[k]={"id":v.code,"value":v.name};
  270. if(k===0){
  271. name = v.name;
  272. id = v.code;
  273. }
  274. })
  275. mobileSelect2.updateWheels(city_data)
  276. $('#trigger2').text(name);
  277. $('#trigger2').attr('data-id',id);
  278. getArea(id);
  279. }
  280. }
  281. });
  282. }
  283. function getArea(cityCode) {
  284. $.ajax({
  285. url: '/index/AddressInterfaces/getAddress',
  286. type: 'GET',
  287. async:false,
  288. data:{level:3,code:cityCode},
  289. dataType:'json',
  290. success: function (res) {
  291. if(res.code==400){
  292. layer.msg(res.msg);
  293. }else{
  294. var area_data = [];
  295. var name = '';
  296. var id ='';
  297. var i=0;
  298. $.each(res.data,function (k,v) {
  299. area_data[k]={"id":v.code,"value":v.name};
  300. if(k===0){
  301. name = v.name;
  302. id = v.code;
  303. }
  304. })
  305. mobileSelect3.updateWheels(area_data)
  306. $('#trigger3').text(name);
  307. $('#trigger3').attr('data-id',id);
  308. }
  309. }
  310. });
  311. }
  312. $('.address2-bottom').on('click','.save_address',function () {
  313. var addressId = $('.addressId').val();
  314. var is_default = $(this).data('action');
  315. var name = $('#person').val();
  316. var mobile = $('#phone_number').val();
  317. var province = $('#trigger1').data('id');
  318. var city = $('#trigger2').data('id');
  319. var area = $('#trigger3').data('id');
  320. var address = $('#address_detail').val();
  321. if(name==null||name==undefined||name==""){
  322. layer.msg('请输入姓名');
  323. return false;
  324. }
  325. if(mobile==null||mobile==undefined||mobile==""){
  326. layer.msg('请输入手机号');
  327. return false;
  328. }
  329. if(province==null||province==undefined||province==""){
  330. layer.msg('请选择省份');
  331. return false;
  332. }
  333. if(city==null||city==undefined||city==""){
  334. layer.msg('请选择城市');
  335. return false;
  336. }
  337. if(area==null||area==undefined||area==""){
  338. layer.msg('请选择地区');
  339. return false;
  340. }
  341. if(address==null||address==undefined||address==""){
  342. layer.msg('请填写具体地址');
  343. return false;
  344. }
  345. $.ajax({
  346. url: '/index/addressInterfaces/saveUserAddress',
  347. type: 'GET',
  348. async:false,
  349. data:{
  350. mobile:mobile,
  351. addressId:addressId,
  352. is_default:is_default,
  353. province:province,
  354. city:city,
  355. area:area,
  356. address:address,
  357. consignee:name,
  358. },
  359. dataType:'json',
  360. success: function (res) {
  361. if(res.code==400){
  362. layer.msg(res.msg);
  363. return false;
  364. }else{
  365. window.location.href="{:url('/index/address/addressList_user')}";
  366. }
  367. }
  368. })
  369. });
  370. </script>