order_detail.rb 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. # encoding:utf-8
  2. class OrderDetail < ActiveRecord::Base
  3. has_paper_trail
  4. self.table_name = "order_details"
  5. belongs_to :product
  6. belongs_to :order, :foreign_key => :order_id
  7. # has_one :order, :foreign_key=>:order_id, :primary_key=>:order_id
  8. validates :order_no,:order_id,:product_id,:nums, presence: true
  9. def order_state
  10. order = Order.where("id = ?", self.order_id).first
  11. if !order.blank?
  12. return order.status
  13. end
  14. end
  15. def paid_time
  16. paidTime = 0
  17. order = Order.where("id = ?", self.order_id).first
  18. if !order.blank?
  19. paidTime=order.paied_at
  20. end
  21. return paidTime
  22. end
  23. def pay_way
  24. payWay = ""
  25. order = Order.where("id = ?", self.order_id).first
  26. if !order.blank?
  27. payWay=order.pay_way
  28. end
  29. return payWay
  30. end
  31. STATUS_ENUM = [["未支付","unpay"],["已关闭","closed"],["待确认","unconfirmed"],["处理中","processing"],["已完成","complete"],["待收货","dispatch"],["已退款","refunded"]]
  32. PAY_WAY_ENUM = [
  33. # ["Web网银连连支付","webbankllpay"],
  34. # ["Web认证连连支付","webauthllpay"],
  35. # ["Wap认证连连支付","wapauthllpay"],
  36. ["微信支付","weixinpay"],
  37. ["提货券支付","balance"],
  38. # ["公众号微信支付","gzhwxpay"],
  39. # ["公众号提货券支付","gzhbalance"],
  40. # ["统统微信支付","wx_sumpay"],
  41. # ["统统Web网银支付","webbanksumpay"],
  42. ]
  43. rails_admin do
  44. navigation_label '商品管理'
  45. weight -240
  46. parent Order
  47. list do
  48. filters [:product,:order_no,:nums,:price,:order_state]
  49. field :id
  50. field :order_no do
  51. filterable true
  52. end
  53. #field :order
  54. field :product
  55. field :nums
  56. field :price do
  57. visible true
  58. label "单价(元)"
  59. formatted_value do
  60. value!=0 ? (value/100.0):0
  61. end
  62. end
  63. field :product_name
  64. field :order_state, :enum do
  65. filterable true
  66. enum do
  67. STATUS_ENUM
  68. end
  69. end
  70. # field :paid_time do
  71. # filterable true
  72. # formatted_value do
  73. # #bindings[:object].order.paied_time
  74. # (bindings[:object].order.paied_at == 0 || bindings[:object].order.paied_at == nil) ? Time.at(0) : Time.at(bindings[:object].order.paied_at)
  75. # end
  76. # end
  77. field :paid_time
  78. field :pay_way, :enum do
  79. filterable true
  80. enum do
  81. PAY_WAY_ENUM
  82. end
  83. end
  84. field :is_zeng
  85. field :size_name
  86. field :color_name
  87. field :created_at
  88. field :updated_at
  89. end
  90. show do
  91. field :id
  92. field :order_no
  93. field :product
  94. field :nums
  95. field :is_zeng
  96. field :price do
  97. visible true
  98. label "单价(元)"
  99. formatted_value do
  100. value!=0 ? (value/100.0):0
  101. end
  102. end
  103. field :product_name
  104. field :size_name
  105. field :color_name
  106. field :created_at
  107. field :updated_at
  108. end
  109. edit do
  110. field :order_no
  111. field :order_id
  112. field :product_id
  113. field :nums
  114. field :is_zeng
  115. field :price
  116. field :product_name
  117. end
  118. export do
  119. include_all_fields
  120. field :wx_user_id do
  121. formatted_value do
  122. bindings[:object].order.wx_user_id
  123. end
  124. end
  125. end
  126. end
  127. end