address.js 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. define(['jquery', 'bootstrap', 'frontend', 'form'], function ($, undefined, Frontend, Form) {
  2. var Controller = {
  3. index: function () {
  4. //删除地址
  5. $(document).on("click", ".btn-deladdress", function () {
  6. var that = this;
  7. Layer.confirm("确认删除?", {icon: 3}, function (index, layero) {
  8. Fast.api.ajax({
  9. url: "shop.address/del",
  10. data: {id: $(that).data('id')}
  11. }, function (data) {
  12. Layer.close(index);
  13. Layer.msg("删除成功");
  14. $(that).closest(".col-xs-12").remove();
  15. return false;
  16. });
  17. });
  18. return false;
  19. });
  20. //设置为默认
  21. $(document).on("click", ".btn-setdefault", function () {
  22. var that = this;
  23. Layer.confirm("确认设为默认地址?", {icon: 3}, function (index, layero) {
  24. Fast.api.ajax({
  25. url: "shop.address/setdefault",
  26. data: {id: $(that).data('id')}
  27. }, function (data) {
  28. Layer.close(index);
  29. Layer.msg("设置成功");
  30. $("address.address").removeClass("active");
  31. $(that).closest("address").addClass("active");
  32. return false;
  33. });
  34. });
  35. return false;
  36. });
  37. },
  38. add: function () {
  39. this.addedit();
  40. },
  41. edit: function () {
  42. this.addedit();
  43. },
  44. addedit: function () {
  45. $(document).on('change', '[data-toggle="cxselect"] select', function (a, b) {
  46. var arr = [];
  47. $('[data-toggle="cxselect"] select').each(function () {
  48. arr.push($.trim($("option:selected", this).text()));
  49. });
  50. var address = arr.join('');
  51. if ($.trim($("input[name='address']").val()).indexOf(address) !== 0) {
  52. $("input[name='address']").val(address);
  53. }
  54. });
  55. Form.events.cxselect($("#cityselect"));
  56. $(document).on("click", ".btn-saveaddress", function () {
  57. console.log($(this).closest(".row"));
  58. Fast.api.ajax({
  59. url: "shop.address/save",
  60. data: $(this).closest("form").serialize()
  61. }, function (data, ret) {
  62. Layer.alert(ret.msg, function () {
  63. location.href = ret.url;
  64. });
  65. return false;
  66. });
  67. return false;
  68. });
  69. $(document).on('click', "address", function () {
  70. $("input[name=area_id]").val($(this).data("id"));
  71. $("address").removeClass("active");
  72. $(this).addClass("active");
  73. });
  74. }
  75. };
  76. return Controller;
  77. });