Sfoglia il codice sorgente

Merge branch 'develop'

* develop:
  order base detail export edit
  order base detail export edit
  order base detail export edit
  order base detail export edit
  order base detail export edit
  order base detail export edit
  order base detail export edit
  order base detail export edit
  order base detail export edit
  order base detail export edit
  order base detail export edit
  order base detail export edit
  order base detail export edit
  order base detail export edit
  order base detail export edit
  order base detail export edit
abiao 4 anni fa
parent
commit
c3c02b1af0

+ 163 - 0
app/models/base_detail.rb

@@ -0,0 +1,163 @@
+# encoding:utf-8
+class BaseDetail < ActiveRecord::Base
+  has_paper_trail
+  self.table_name = "base_details"
+  belongs_to :product
+  belongs_to :order, :foreign_key => :order_id
+  # has_one :order, :foreign_key=>:order_id, :primary_key=>:order_id
+  validates :order_no,:product_id,:nums,:dt_id, presence: true
+  validate :order_validation
+  def order_validation
+    if self.product_id > 0
+      prd = Product.where("id = ?", self.product_id).first
+      if prd.blank?
+        self.errors.add(:product_id,"商品不存在,请重新填写商品ID")
+      else
+        self.product_name=prd.name
+        #self.price=prd.price
+      end
+    end
+
+    if self.order_no.length>0
+      ord = Order.where("order_id = ?", self.order_no).first
+      if ord.blank?
+        self.errors.add(:order_id,"订单不存在,请重新填写编号")
+      else
+        self.order_id=ord.id
+      end
+    end
+
+  end
+
+  def order_state
+    order = Order.where("id = ?", self.order_id).first
+    if !order.blank?
+      return order.status
+    end
+  end
+
+
+  def paid_time
+    order = Order.where("id = ?", self.order_id).first
+    if !order.blank?
+      paidTime=order.paied_at == 0 || order.paied_at == nil ? Time.at(0) : Time.at(order.paied_at)
+      return paidTime
+    end
+    return paidTime
+  end
+
+
+  def pay_way
+    payWay = ""
+    order = Order.where("id = ?", self.order_id).first
+    if !order.blank?
+      payWay=order.pay_way
+    end
+    return payWay
+  end
+
+  STATUS_ENUM = [["未支付","unpay"],["已关闭","closed"],["待确认","unconfirmed"],["处理中","processing"],["已完成","complete"],["待收货","dispatch"],["已退款","refunded"]]
+  PAY_WAY_ENUM = [
+      # ["Web网银连连支付","webbankllpay"],
+      # ["Web认证连连支付","webauthllpay"],
+      # ["Wap认证连连支付","wapauthllpay"],
+      ["微信支付","weixinpay"],
+      ["提货券支付","balance"],
+      # ["公众号微信支付","gzhwxpay"],
+      # ["公众号提货券支付","gzhbalance"],
+      # ["统统微信支付","wx_sumpay"],
+      # ["统统Web网银支付","webbanksumpay"],
+  ]
+  rails_admin do
+    navigation_label '商品管理'
+    weight -240
+    parent Order
+
+    list do
+      filters [:product,:order_no,:nums,:price,:order_state]
+      field :id
+      field :order_no do
+        filterable true
+      end
+      #field :order
+      #field :product
+      field :product do
+        visible false
+      end
+      field :nums
+      field :price do
+        visible true
+        label "单价(元)"
+        formatted_value do
+          value!=0 ? (value/100.0):0
+        end
+      end
+      field :product_name
+      field :order_state, :enum do
+        filterable true
+        enum do
+          STATUS_ENUM
+        end
+      end
+      # field :paid_time do
+      #   filterable true
+      #   formatted_value do
+      #     #bindings[:object].order.paied_time
+      #     (bindings[:object].order.paied_at == 0 || bindings[:object].order.paied_at == nil) ? Time.at(0) : Time.at(bindings[:object].order.paied_at)
+      #   end
+      # end
+      field :paid_time
+      field :pay_way, :enum do
+        filterable true
+        enum do
+          PAY_WAY_ENUM
+        end
+      end
+      field :is_zeng
+      #field :size_name
+      #field :color_name
+      field :created_at
+      field :updated_at
+    end
+    show do
+      field :id
+      field :order_no
+      field :product
+      field :nums
+      field :is_zeng
+      field :price do
+        visible true
+        label "单价(元)"
+        formatted_value do
+          value!=0 ? (value/100.0):0
+        end
+      end
+      field :product_name
+      #field :size_name
+      #field :color_name
+      field :created_at
+      field :updated_at
+    end
+
+    edit do
+      field :order_no
+      #field :order_id
+      field :dt_id
+      field :product_id
+      field :nums
+      field :is_zeng
+      field :price
+    end
+    export do
+      include_all_fields
+      field :wx_user_id do
+        formatted_value do
+          bindings[:object].order.wx_user_id
+        end
+      end
+      field :nums
+      field :product_name
+
+    end
+  end
+end

+ 1 - 1
app/models/order.rb

@@ -10,7 +10,7 @@ class Order < ActiveRecord::Base
     belongs_to :depart_record, :foreign_key => :depart
 
     has_many :order_details
-    has_many :order_base_details
+    has_many :base_details
 
     before_save :before_save
     #after_update :after_update

+ 9 - 10
app/models/order_base_detail.rb

@@ -3,8 +3,7 @@ class OrderBaseDetail < ActiveRecord::Base
   has_paper_trail
   self.table_name = "order_base_details"
   validates :order_no,:order_dt_id,:product_id, presence: true
-  belongs_to :order, :foreign_key => :order_id
-  attr_accessor :get_order_state
+  # belongs_to :order, :foreign_key => :order_id
 
   def get_order_state(x)
     case x
@@ -51,10 +50,10 @@ class OrderBaseDetail < ActiveRecord::Base
       field :id
       field :order_no
       field :product_id
-      field :title
+      field :product_name
       field :nums
       field :order_dt_id
-      field :paid_time do
+      field :dt_paid_time do
         filterable true
          formatted_value do
            #bindings[:object].order.paied_time
@@ -73,7 +72,7 @@ class OrderBaseDetail < ActiveRecord::Base
           end
       end
 
-      field :pay_way do
+      field :dt_pay_way do
         filterable true
         formatted_value do
           if !bindings[:object].order.blank?
@@ -87,17 +86,17 @@ class OrderBaseDetail < ActiveRecord::Base
       field :id
       field :order_no
       field :product_id
-      field :title
+      field :product_name
       field :nums
       field :order_dt_id
       field :send
     end
 
     edit do
-      field :id
+      include_all_fields
       field :order_no
       field :product_id
-      field :title
+      field :product_name
       field :nums
       field :order_dt_id
       field :send
@@ -110,7 +109,7 @@ class OrderBaseDetail < ActiveRecord::Base
           bindings[:object].order.wx_user_id
         end
       end
-      field :paid_time do
+      field :dt_paid_time do
         filterable true
         formatted_value do
           #bindings[:object].order.paied_time
@@ -129,7 +128,7 @@ class OrderBaseDetail < ActiveRecord::Base
         end
       end
 
-      field :pay_way do
+      field :dt_pay_way do
         filterable true
         formatted_value do
           if !bindings[:object].order.blank?

+ 9 - 3
app/models/order_detail.rb

@@ -14,6 +14,7 @@ class OrderDetail < ActiveRecord::Base
         self.errors.add(:product_id,"商品不存在,请重新填写商品ID")
       else
         self.product_name=prd.name
+        #self.price=prd.price
       end
     end
 
@@ -37,10 +38,10 @@ class OrderDetail < ActiveRecord::Base
 
 
   def paid_time
-    paidTime = 0
     order = Order.where("id = ?", self.order_id).first
     if !order.blank?
-      paidTime=order.paied_at
+      paidTime=order.paied_at == 0 || order.paied_at == nil ? Time.at(0) : Time.at(order.paied_at)
+      return paidTime
     end
     return paidTime
   end
@@ -79,7 +80,10 @@ class OrderDetail < ActiveRecord::Base
         filterable true
       end
       #field :order
-      field :product
+      #field :product
+      field :product do
+        visible false
+      end
       field :nums
       field :price do
         visible true
@@ -150,6 +154,8 @@ class OrderDetail < ActiveRecord::Base
           bindings[:object].order.wx_user_id
         end
       end
+      field :nums
+      field :product_name
       field :unit_robo_balance_price do
         visible false
       end

+ 27 - 0
config/locales/models/base_detail.yml

@@ -0,0 +1,27 @@
+zh-CN:
+  activerecord:
+    models:
+      base_detail: 基本明细表
+    attributes:
+      base_detail:
+        id: ID
+        order_id: 订单Id
+        dt_id: 订单明细Id
+        wx_user_id: 微信用户Id
+        order_no: 订单编号
+        order: 订单
+        product_name: 产品名称
+        product: 商品
+        product_id: 商品ID
+        nums: 数量
+        price: 价格
+        order_state: 订单状态
+        paid_time: 支付时间
+        pay_way: 支付方式
+        is_zeng: 是否赠品
+        size_name: 规格一
+        color_name: 规格二
+        depart: 部门
+        created_at: 创建时间
+        updated_at: 修改时间
+

+ 0 - 21
config/locales/models/order_base_detail.yml

@@ -1,21 +0,0 @@
-zh-CN:
-  activerecord:
-    models: 
-      order_base_detail: 订单基本明细
-    attributes:
-      order_base_detail:
-        id: ID
-        product_id: 商品id
-        product: 商品
-        title: 商品名称
-        order_id: 订单ID
-        order_no: 订单编号
-        order_dt_id: 订单明细ID
-        wx_user_id: 微信用户Id
-        order_dt_state: 订单状态
-        paid_time: 支付时间
-        pay_way: 支付方式
-        created_at: 创建时间
-        updated_at: 修改时间
-        nums: 数量
-        send: 赠品