From bd4891e2fd6b773cbb0ec387f6db4bc944fdf51a Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 31 三月 2025 18:07:51 +0800
Subject: [PATCH] feat(generallibrary): 添加卡片列表功能并优化登录逻辑

---
 generallibrary/src/main/java/com/dayu/general/view/CardSearchDialog.kt |   74 +++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)

diff --git a/generallibrary/src/main/java/com/dayu/general/view/CardSearchDialog.kt b/generallibrary/src/main/java/com/dayu/general/view/CardSearchDialog.kt
new file mode 100644
index 0000000..cf0d808
--- /dev/null
+++ b/generallibrary/src/main/java/com/dayu/general/view/CardSearchDialog.kt
@@ -0,0 +1,74 @@
+package com.dayu.general.view
+
+import android.app.Dialog
+import android.content.Context
+import android.os.Bundle
+import android.view.Gravity
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import com.dayu.general.databinding.DialogCardSearchBinding
+
+/**
+ * 鍗$墖鎼滅储瀵硅瘽妗�
+ * 鐢ㄤ簬鎼滅储鍗″彿銆佸鎴风紪鍙枫�佸鎴峰鍚�
+ */
+class CardSearchDialog(context: Context) : Dialog(context) {
+
+    private lateinit var binding: DialogCardSearchBinding
+    private var onSearchListener: OnSearchListener? = null
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        binding = DialogCardSearchBinding.inflate(LayoutInflater.from(context))
+        setContentView(binding.root)
+
+        // 璁剧疆瀵硅瘽妗嗗搴︿负灞忓箷瀹藉害鐨�85%
+        window?.apply {
+            val params = attributes
+            params.width = (context.resources.displayMetrics.widthPixels * 0.85).toInt()
+            params.height = ViewGroup.LayoutParams.WRAP_CONTENT
+            params.gravity = Gravity.CENTER
+            attributes = params
+            setBackgroundDrawableResource(android.R.color.transparent)
+        }
+
+        // 璁剧疆鐐瑰嚮澶栭儴涓嶅彇娑堝璇濇
+        setCanceledOnTouchOutside(false)
+
+        // 璁剧疆鎼滅储鎸夐挳鐐瑰嚮浜嬩欢
+        binding.btnSearch.setOnClickListener {
+            val cardNumber = binding.etCardNumber.text.toString().trim()
+            val clientNumber = binding.etClientNumber.text.toString().trim()
+            val clientName = binding.etClientName.text.toString().trim()
+            
+            // 鍥炶皟鎼滅储浜嬩欢
+            onSearchListener?.onSearch(cardNumber, clientNumber, clientName)
+            dismiss()
+        }
+        
+        // 璁剧疆鍙栨秷鎸夐挳鐐瑰嚮浜嬩欢
+        binding.tvCancel.setOnClickListener {
+            dismiss()
+        }
+    }
+
+    /**
+     * 璁剧疆鎼滅储鐩戝惉鍣�
+     */
+    fun setOnSearchListener(listener: OnSearchListener) {
+        this.onSearchListener = listener
+    }
+
+    /**
+     * 鎼滅储鐩戝惉鍣ㄦ帴鍙�
+     */
+    interface OnSearchListener {
+        /**
+         * 鎼滅储鍥炶皟鏂规硶
+         * @param cardNumber 鍗″彿
+         * @param clientNumber 瀹㈡埛缂栧彿
+         * @param clientName 瀹㈡埛濮撳悕
+         */
+        fun onSearch(cardNumber: String, clientNumber: String, clientName: String)
+    }
+} 
\ No newline at end of file

--
Gitblit v1.8.0