PageRenderTime 42ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/Src/WS.EKA.Portal/Scripts/models/myOrder.js

http://mobileshop.codeplex.com
JavaScript | 101 lines | 93 code | 8 blank | 0 comment | 14 complexity | 07e586754e2b0e990936aa1ceff95922 MD5 | raw file
Possible License(s): Apache-2.0, BSD-3-Clause
  1. window.Order = Backbone.Model.extend({
  2. urlRoot: 'api/order/',
  3. url: function () {
  4. return this.urlRoot + localStorage.getItem('orderCode');
  5. },
  6. parse: function (model) {
  7. model.PaymentName = (model.Payment) && (model.Payment.NAME);
  8. model.DispatchModeName = (model.DispatchMode) && (model.DispatchMode.NAME);
  9. model.HasInvoice = model.InvoiceType != '';
  10. if (model.OderStatus == 5) {
  11. model.NeedPay = false;
  12. model.Status = "??";
  13. } else {
  14. model.NeedPay = false;
  15. if (model.PaymentStatus == 2) {
  16. switch (model.ShipmentStatus) {
  17. case 0:
  18. model.Status = '???'; break;
  19. case 1:
  20. model.Status = '???'; break;
  21. case 2:
  22. model.Status = '???'; break;
  23. case 3:
  24. model.Status = '???'; break;
  25. case 4:
  26. model.Status = '???'; break;
  27. default:
  28. model.Status = '???'; break;
  29. }
  30. } else {
  31. switch (model.PaymentStatus) {
  32. case 0:
  33. model.Status = '???'; model.NeedPay = true; break;
  34. case 1:
  35. model.Status = '???'; break;
  36. case 3:
  37. model.Status = '??'; break;
  38. default:
  39. model.Status = '???'; break;
  40. }
  41. }
  42. }
  43. return model;
  44. }
  45. });
  46. window.OrderList = Backbone.Collection.extend({
  47. model: Order,
  48. urlRoot: 'api/order/member/',
  49. url: function () {
  50. return this.urlRoot + pageView.getCookieValue('uid');
  51. }
  52. });
  53. window.MyOrderListView = Backbone.View.extend({
  54. el: '#jqt',
  55. initialize: function () {
  56. this.template = $('#MyOrderTemplate').html();
  57. this.collection = new OrderList();
  58. },
  59. events: {
  60. 'click #MyOrder ul.orderItem': 'goToOrderDetail'
  61. },
  62. render: function () {
  63. var partial = { header: $('#HeaderTemplate').html(), footer: $('#FooterTemplate').html(),
  64. innerFooter: $('#InnerFooterTemplate').html()
  65. };
  66. var data = { hasBack: true, title: '??', btnListR: [{ name: 'avatar' }, { name: 'home'}] };
  67. this.$el.append(Mustache.render(this.template, data, partial));
  68. this.fetchOrders();
  69. return this;
  70. },
  71. fetchOrders: function () {
  72. var that = this;
  73. this.collection.fetch({
  74. success: function () {
  75. var template;
  76. if (that.collection.length == 0) {
  77. template = $('#EmptyOrderTemplate').html();
  78. $('.myOrder').html(Mustache.render(template, [], []));
  79. } else {
  80. template = $('#OrderListTemplate').html();
  81. var data = { orders: that.collection.toJSON() };
  82. $('.myOrder').html(Mustache.render(template, data, []));
  83. }
  84. pageView.resizeScroll();
  85. }
  86. });
  87. },
  88. goToOrderDetail: function (e) {
  89. var target = $(e.currentTarget);
  90. localStorage.setItem('orderCode', target.attr('orderCode'));
  91. pageView.goTo('OrderDetail');
  92. }
  93. });