Преглед изворни кода

2024-07-01 修改

修改:

1. 市场部营业额-市场部销售排名UI样式修改
zhaiy пре 9 месеци
родитељ
комит
ff6a9e01b0

+ 7 - 0
app/src/main/java/com/pan_american/android/data/model/customer_resource/market_sales_revenue/entity/SellerRank.kt

@@ -1,7 +1,14 @@
 package com.pan_american.android.data.model.customer_resource.market_sales_revenue.entity
 
+import com.bin.david.form.annotation.SmartColumn
+import com.bin.david.form.annotation.SmartTable
+
+@SmartTable(name = "市场部销售排名")
 class SellerRank {
+    @SmartColumn(id = 1, name = "排名")
     var rowNumber = 0
+    @SmartColumn(id = 2, name = "姓名")
     var userName = ""
+    @SmartColumn(id = 3, name = "成单量")
     var count = 0
 }

+ 23 - 32
app/src/main/java/com/pan_american/android/ui/customer_resource/market_sales_revenue/SalesRevenueRankFragment.kt

@@ -5,7 +5,7 @@ import android.view.LayoutInflater
 import android.view.ViewGroup
 import android.widget.TextView
 import androidx.core.content.res.ResourcesCompat
-import androidx.recyclerview.widget.LinearLayoutManager
+import com.bin.david.form.data.style.FontStyle
 import com.pan_american.android.OASystem
 import com.pan_american.android.R
 import com.pan_american.android.base.BaseFragment
@@ -93,8 +93,6 @@ class SalesRevenueRankFragment : BaseFragment<FragmentSalesRevenueRankBinding>()
                             this@SalesRevenueRankFragment.year = year
                         }
 
-                        binding.rank.adapter!!.notifyItemRangeRemoved(0, sellerRank.size)
-
                         sellerRank.clear()
 
                         getSellerRankData()
@@ -132,16 +130,33 @@ class SalesRevenueRankFragment : BaseFragment<FragmentSalesRevenueRankBinding>()
                 if (rankResponse != null) {
                     if (rankResponse.code == 200) {
 
-                        if (rankResponse.data.size == 0) {
+                        for (item in rankResponse.data) {
+                            sellerRank.add(item)
+                        }
+
+                        if (sellerRank.size == 0) {
                             showMessage(resources.getString(R.string.no_data))
-                            return
+                            sellerRank.add(SellerRank().apply {
+                                rowNumber = 1
+                                userName = "-"
+                                count = 0
+                            })
                         }
 
-                        for (item in rankResponse.data) {
-                            sellerRank.add(item)
+                        binding.rankTable.config.apply {
+                            isShowTableTitle = false
+                            isShowXSequence = false
+                            isShowYSequence = false
+                            minTableWidth = binding.rankTable.width
+                            verticalPadding = resources.getDimensionPixelSize(R.dimen.common_padding)
+                            columnTitleStyle = FontStyle(resources.getDimensionPixelSize(R.dimen.text_size_large), ResourcesCompat.getColor(resources, R.color.text_color, null))
+                            contentStyle = FontStyle(resources.getDimensionPixelSize(R.dimen.text_size_medium), ResourcesCompat.getColor(resources, R.color.text_color, null))
                         }
 
-                        initList()
+                        binding.rankTable.apply {
+                            setZoom(false)
+                            setData(sellerRank)
+                        }
 
                     } else {
                         showMessage(rankResponse.msg)
@@ -154,28 +169,4 @@ class SalesRevenueRankFragment : BaseFragment<FragmentSalesRevenueRankBinding>()
             }
         })
     }
-
-    private fun initList() {
-
-        val layoutManager = LinearLayoutManager(OASystem.context)
-        binding.rank.layoutManager = layoutManager
-
-        val adapter = ListAdapter.Builder<SellerRank>().apply {
-            setData(sellerRank)
-            setLayoutId(R.layout.item_seller_rank)
-            addBindView { itemView, data ->
-                itemView.findViewById<TextView>(R.id.rank).text = data.rowNumber.toString()
-                itemView.findViewById<TextView>(R.id.name).text = data.userName
-                itemView.findViewById<TextView>(R.id.seller_order).text = data.count.toString()
-            }
-        }.create()
-
-        binding.rank.adapter = adapter
-
-        adapter.onRecyclerViewItemClick = object : ListAdapter.OnRecyclerViewItemClick<SellerRank> {
-            override fun onItemClick(position: Int) {
-
-            }
-        }
-    }
 }

+ 4 - 51
app/src/main/res/layout/fragment_sales_revenue_rank.xml

@@ -49,58 +49,11 @@
         android:textSize="@dimen/text_size_large"
         android:textStyle="bold" />
 
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:layout_marginStart="@dimen/common_padding"
-        android:layout_marginTop="@dimen/common_padding"
-        android:layout_marginEnd="@dimen/common_padding"
-        android:orientation="horizontal">
-
-        <TextView
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:gravity="center"
-            android:padding="@dimen/common_padding_small"
-            android:text="@string/rank"
-            android:textColor="@color/text_color"
-            android:textSize="@dimen/text_size_large" />
-
-        <TextView
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:gravity="center"
-            android:padding="@dimen/common_padding_small"
-            android:text="@string/name"
-            android:textColor="@color/text_color"
-            android:textSize="@dimen/text_size_large" />
-
-        <TextView
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:gravity="center"
-            android:padding="@dimen/common_padding_small"
-            android:text="@string/sale_order"
-            android:textColor="@color/text_color"
-            android:textSize="@dimen/text_size_large" />
-
-    </LinearLayout>
-
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="@color/line_color" />
-
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/rank"
+    <com.bin.david.form.core.SmartTable
+        android:id="@+id/rank_table"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:layout_marginStart="@dimen/common_padding"
-        android:layout_marginEnd="@dimen/common_padding"
-        android:layout_marginBottom="@dimen/common_padding_large" />
+        android:layout_gravity="center_horizontal"
+        android:layout_margin="@dimen/common_padding"/>
 
 </LinearLayout>

+ 0 - 51
app/src/main/res/layout/item_seller_rank.xml

@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_marginTop="@dimen/common_padding"
-    android:orientation="vertical">
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal">
-
-        <TextView
-            android:id="@+id/rank"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:gravity="center"
-            android:padding="@dimen/common_padding_small"
-            android:textColor="@color/text_color"
-            android:textSize="@dimen/text_size_large" />
-
-        <TextView
-            android:id="@+id/name"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:gravity="center"
-            android:padding="@dimen/common_padding_small"
-            android:textColor="@color/text_color"
-            android:textSize="@dimen/text_size_large" />
-
-        <TextView
-            android:id="@+id/seller_order"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:gravity="center"
-            android:padding="@dimen/common_padding_small"
-            android:textColor="@color/text_color"
-            android:textSize="@dimen/text_size_large" />
-
-    </LinearLayout>
-
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:layout_marginTop="@dimen/common_padding"
-        android:background="@color/line_color" />
-
-</LinearLayout>