diy_member.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. var form,slider,carousel;
  2. layui.use(['form', 'slider', 'carousel'], function() {
  3. form = layui.form;
  4. slider = layui.slider;
  5. carousel = layui.carousel;
  6. })
  7. Vue.prototype.ns = ns;
  8. var vue = new Vue({
  9. el: "#diyView",
  10. data: {
  11. currComponent: 'diy-member-info',
  12. value: null,
  13. isRepeat: false
  14. },
  15. methods: {
  16. save(){
  17. if (this.isRepeat || !this.verify()) return;
  18. this.isRepeat = true;
  19. var self = this;
  20. $.ajax({
  21. type: 'POST',
  22. url: ns.url("shop/diy/memberindex"),
  23. data: {value: JSON.stringify(ns.deepclone(this.value))},
  24. dataType: 'JSON',
  25. success: function (res) {
  26. layer.msg(res.message);
  27. self.isRepeat = false;
  28. if (res.code == 0) {
  29. // location.reload();
  30. }
  31. }
  32. });
  33. },
  34. selectComponent(name){
  35. this.currComponent = name;
  36. },
  37. /**
  38. * 验证数据
  39. * @returns {boolean}
  40. */
  41. verify(){
  42. var verify = true,
  43. refs = Object.keys(this.$refs);
  44. for (var i = 0; i < refs.length; i++) {
  45. var ref = refs[i];
  46. if (this.$refs[ ref ] && typeof this.$refs[ ref ].verify == 'function') {
  47. verify = this.$refs[ ref ].verify();
  48. if (!verify) {
  49. this.$refs[ ref ].selectComponent();
  50. break;
  51. }
  52. }
  53. }
  54. return verify;
  55. }
  56. },
  57. computed: {
  58. }
  59. })