From b8f8323cc39091d3119101923251a0455da87f55 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 09 五月 2024 16:03:35 +0800
Subject: [PATCH] 1.制作各种管理卡

---
 henanlibrary/src/main/java/com/dayu/henanlibrary/card/UserCard.java                         |    4 
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ManagerReadActivity.java  |   62 ++
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/SysActivity.java          |  161 ++-----
 qihealonelibrary/src/main/res/layout/activity_manager_list_qha.xml                          |   37 +
 qihealonelibrary/src/main/res/layout/activity_parameter_qha.xml                             |    1 
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/view/AdminCardDialog.java          |  119 +++++
 qihealonelibrary/src/main/res/layout/activity_admin_qha.xml                                 |   84 ---
 qihealonelibrary/src/main/AndroidManifest.xml                                               |   13 
 baselibrary/src/main/res/values/dimens.xml                                                  |    1 
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivity.java           |    7 
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ManagerListActivity.java  |   99 ++--
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ParameterActivity.java    |    9 
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReadCardAcitivy.java      |   15 
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/adapter/ManagerCardAdapter.java    |   11 
 qihealonelibrary/src/main/res/layout/admincard_dialog.xml                                   |  104 ++++
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java     |   69 +-
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/ElectricPriceCard.java        |   15 
 qihealonelibrary/src/main/res/layout/activity_manager_read_qha.xml                          |  196 ++++++++
 baselibrary/src/main/java/com/dayu/baselibrary/tools/HexUtil.java                           |   49 +
 baselibrary/src/main/java/com/dayu/baselibrary/view/EdtDialog.java                          |   27 +
 qihealonelibrary/src/main/res/layout/activity_password_card_qha.xml                         |    5 
 /dev/null                                                                                   |   62 --
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/ManageCard.java               |   33 
 qihealonelibrary/src/main/res/layout/qihe_item_replacements.xml                             |   16 
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java     |   99 +++
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/PasswordCardActivity.java |   11 
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/PassWordCard.java             |    2 
 27 files changed, 881 insertions(+), 430 deletions(-)

diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/HexUtil.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/HexUtil.java
index 189af92..fc17f34 100644
--- a/baselibrary/src/main/java/com/dayu/baselibrary/tools/HexUtil.java
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/HexUtil.java
@@ -54,6 +54,7 @@
 
     /**
      * byte 鏁扮粍杞�16杩涘埗瀛楃涓� 涓嶅姞0鍓嶇紑
+     *
      * @param bytes
      * @return
      */
@@ -104,20 +105,6 @@
         return bufferLittleEndian.getFloat();
     }
 
-    /**
-     * 灏嗗甫绗﹀彿鐨�32浣嶆诞鐐规暟瑁呮崲byte鏁扮粍
-     * 浣庝綅鍦ㄥ墠楂樹綅鍦ㄥ悗
-     *
-     * @param value
-     * @return
-     */
-    public static byte[] folatToByte(Float value) {
-        ByteBuffer buffer = ByteBuffer.allocate(4); // 4涓瓧鑺�
-        buffer.order(ByteOrder.LITTLE_ENDIAN);
-        buffer.putFloat(value);
-        byte[] byteArray = buffer.array();
-        return byteArray;
-    }
 
     /**
      * hex瀛楃涓茶浆byte鏁扮粍
@@ -190,9 +177,6 @@
     }
 
 
-
-
-
     /**
      * 灏� 4瀛楄妭鐨�16杩涘埗瀛楃涓诧紝杞崲涓�32浣嶅甫绗﹀彿鐨勫崄杩涘埗娴偣鍨�
      *
@@ -213,6 +197,37 @@
         return Integer.toHexString(Float.floatToIntBits(value));
     }
 
+
+    /**
+     * float杞琀ex浣庝綅鍦ㄥ墠楂樹綅鍦ㄥ悗
+     *
+     * @param value
+     * @return
+     */
+    public static String floatToHexLowHigh(Float value) {
+        String hexString = Integer.toHexString(Float.floatToIntBits(value));
+        hexString = spaceHex(hexString);
+        hexString = HighLowHex(hexString);
+        return hexString;
+    }
+
+
+    public static float hexToFloatLowHigh(byte[] data) {
+        List<Byte> byteList = new ArrayList<>();
+        for (byte b : data) {
+            byteList.add(b);
+        }
+        Collections.reverse(byteList);
+        byte[] byteArray = new byte[byteList.size()];
+        for (int i = 0; i < byteList.size(); i++) {
+            byteArray[i] = byteList.get(i);
+        }
+        String hex = bytesToHexNoAppen(byteArray);
+        int intValue = Integer.parseInt(hex, 16); // 灏嗗崄鍏繘鍒跺瓧绗︿覆杞崲涓烘暣鏁拌〃绀�
+        float floatValue = Float.intBitsToFloat(intValue); // 灏嗘暣鏁拌〃绀鸿浆鎹负娴偣鏁�
+        return floatValue;
+    }
+
     /**
      * 鍗佽繘鍒惰浆16杩涘埗
      *
diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/view/EdtDialog.java b/baselibrary/src/main/java/com/dayu/baselibrary/view/EdtDialog.java
index 81bd801..c4e4bd2 100644
--- a/baselibrary/src/main/java/com/dayu/baselibrary/view/EdtDialog.java
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/view/EdtDialog.java
@@ -26,6 +26,8 @@
     Context mContext;
     DialogBack mDialogBack;
 
+    String mEdtHint;
+
     public EdtDialog(Context context, Intent intent) {
         super(context, R.style.ws_pay_showSelfDialog);
         this.intent = intent;
@@ -36,9 +38,23 @@
     public EdtDialog(Context context, DialogBack dialogBack) {
         super(context, R.style.ws_pay_showSelfDialog);
         mContext = context;
-        mDialogBack=dialogBack;
+        mDialogBack = dialogBack;
         initView();
     }
+
+    /**
+     * @param context
+     * @param edtHint    杈撳叆妗嗛粯璁ゆ樉绀虹殑鍐呭
+     * @param dialogBack
+     */
+    public EdtDialog(Context context, String edtHint, DialogBack dialogBack) {
+        super(context, R.style.ws_pay_showSelfDialog);
+        mContext = context;
+        mDialogBack = dialogBack;
+        mEdtHint = edtHint;
+        initView();
+    }
+
 
     private void initView() {
         getWindow().setGravity(Gravity.CENTER);
@@ -46,11 +62,14 @@
         setCanceledOnTouchOutside(false);
         TextView textView = (TextView) this.findViewById(R.id.pw_ok);
         final EditText editText = (EditText) this.findViewById(R.id.pw_et);
+        if (!TextUtils.isEmpty(mEdtHint)) {
+            editText.setHint(mEdtHint);
+        }
         TextView cannel = (TextView) this.findViewById(R.id.pw_cannel);
         textView.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                if (intent!=null){
+                if (intent != null) {
                     if (TextUtils.isEmpty(editText.getText().toString())) {
 //                        TipUtil.show(mContext, "璇疯緭鍏ュ簭鍒楀彿");
                     } else {
@@ -65,7 +84,7 @@
 
                     }
                 }
-                if (mDialogBack!=null){
+                if (mDialogBack != null) {
                     mDialogBack.onOk(editText.getText().toString());
                 }
             }
@@ -73,7 +92,7 @@
         cannel.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                if (mDialogBack!=null){
+                if (mDialogBack != null) {
                     mDialogBack.onCancel();
                 }
                 EdtDialog.this.dismiss();
diff --git a/baselibrary/src/main/res/values/dimens.xml b/baselibrary/src/main/res/values/dimens.xml
index ad5de61..512159e 100644
--- a/baselibrary/src/main/res/values/dimens.xml
+++ b/baselibrary/src/main/res/values/dimens.xml
@@ -5,6 +5,7 @@
     <dimen name="text_size">20sp</dimen>
     <dimen name="home_text_size">21sp</dimen>
     <dimen name="new_card_size">20sp</dimen>
+    <dimen name="big_text_size">24sp</dimen>
 
 
     <dimen name="title_bar_title_max_width">240dp</dimen>
diff --git a/henanlibrary/src/main/java/com/dayu/henanlibrary/card/UserCard.java b/henanlibrary/src/main/java/com/dayu/henanlibrary/card/UserCard.java
index 5e630ee..9faa0db 100644
--- a/henanlibrary/src/main/java/com/dayu/henanlibrary/card/UserCard.java
+++ b/henanlibrary/src/main/java/com/dayu/henanlibrary/card/UserCard.java
@@ -72,7 +72,7 @@
                     byte[] electricityPriceBytes = new byte[4];
                     System.arraycopy(zero, 4, electricityPriceBytes, 0, electricityPriceBytes.length);
 
-                    userCard.electricityPrice = HexUtil.hexToFloat(HexUtil.bytesToHex(electricityPriceBytes));
+                    userCard.electricityPrice = HexUtil.hexToFloatLowHigh(electricityPriceBytes);
                     userCard.state = BcdUtil.bcdToStr(zero[8]);
                     byte[] balanceBytes = new byte[4];
                     System.arraycopy(zero, 9, balanceBytes, 0, balanceBytes.length);
@@ -154,7 +154,7 @@
 
             System.arraycopy(swipeNumbers, 0, data, 2, swipeNumbers.length);
 
-            byte[] electricityPrices = HexUtil.hexToByteArray(HexUtil.folatToHexString(electricityPrice));
+            byte[] electricityPrices = HexUtil.hexToByteArray(HexUtil.floatToHexLowHigh(electricityPrice));
 
             System.arraycopy(electricityPrices, 0, data, 4, electricityPrices.length);
             try {
diff --git a/qihealonelibrary/src/main/AndroidManifest.xml b/qihealonelibrary/src/main/AndroidManifest.xml
index b3d9328..d686028 100644
--- a/qihealonelibrary/src/main/AndroidManifest.xml
+++ b/qihealonelibrary/src/main/AndroidManifest.xml
@@ -74,11 +74,20 @@
         <activity android:name="com.dayu.qihealonelibrary.activity.DomainActivity" />
         <activity android:name="com.dayu.qihealonelibrary.activity.ElectricPriceActivity" />
         <activity android:name="com.dayu.qihealonelibrary.activity.IdentifyingActivity" />
-        <activity android:name="com.dayu.qihealonelibrary.activity.ReplacementActivity" />
         <activity android:name="com.dayu.qihealonelibrary.activity.RechargeDetailActivity" />
         <activity android:name="com.dayu.qihealonelibrary.activity.PasswordCardActivity" />
         <activity android:name="com.dayu.qihealonelibrary.activity.RegionActivity" />
-
+        <activity android:name="com.dayu.qihealonelibrary.activity.ManagerListActivity" />
+        <activity
+            android:name="com.dayu.qihealonelibrary.activity.ManagerReadActivity"
+            android:exported="true"
+            android:launchMode="singleTop">
+            <intent-filter>
+                <action android:name="android.nfc.action.ACTION_NDEF_DISCOVERED" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <data android:mimeType="text/plain" />
+            </intent-filter>
+        </activity>
     </application>
 
 </manifest>
\ No newline at end of file
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReplacementActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ManagerListActivity.java
similarity index 60%
rename from qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReplacementActivity.java
rename to qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ManagerListActivity.java
index e916f27..9f98c26 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReplacementActivity.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ManagerListActivity.java
@@ -11,8 +11,10 @@
 
 import com.dayu.baselibrary.utils.TipUtil;
 import com.dayu.baselibrary.view.EdtDialog;
-import com.dayu.qihealonelibrary.adapter.ReplacementAdapter;
-import com.dayu.qihealonelibrary.databinding.ActivityReplacementQhaBinding;
+import com.dayu.qihealonelibrary.adapter.ManagerCardAdapter;
+import com.dayu.qihealonelibrary.adapter.NewCardAdapter;
+import com.dayu.qihealonelibrary.card.ManageCard;
+import com.dayu.qihealonelibrary.databinding.ActivityManagerListQhaBinding;
 import com.dayu.qihealonelibrary.dbBean.UserCardBean;
 import com.scwang.smart.refresh.footer.ClassicsFooter;
 import com.scwang.smart.refresh.layout.api.RefreshLayout;
@@ -26,44 +28,48 @@
 import io.reactivex.rxjava3.schedulers.Schedulers;
 
 /**
- * Created by Android Studio.
  * author: zuo
- * Date: 2023-11-20
- * Time: 17:32
- * 澶囨敞锛� 琛ュ崱鐣岄潰
+ * Date: 2024-05-09
+ * Time: 11:20
+ * 澶囨敞锛氱鐞嗗崱閫夋嫨鏈湴鐢ㄦ埛鐣岄潰
  */
-public class ReplacementActivity extends BaseActivity {
-    ActivityReplacementQhaBinding newcardListBinding;
+public class ManagerListActivity extends BaseActivity {
+
+    ActivityManagerListQhaBinding binding;
     List<UserCardBean> userCardBeanList = new ArrayList<>();
-    ReplacementAdapter adapter;
-    long beginTime;
-    long endTime;
+    ManagerCardAdapter adapter;
     int page = 0;
 
     //姣忛〉鏁版嵁鏉℃暟
     int limit = 30;
     RefreshLayout myRefreshLayout;
+    EdtDialog edtDialog;
+    String cardNumber;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        newcardListBinding = ActivityReplacementQhaBinding.inflate(LayoutInflater.from(this));
-        setContentView(newcardListBinding.getRoot());
-        setRightButton();
+        binding = ActivityManagerListQhaBinding.inflate(LayoutInflater.from(this));
+        setContentView(binding.getRoot());
+        cardNumber = this.getIntent().getStringExtra("cardNumber");
         initList();
         getList();
+        setRightButton();
     }
-
 
     public void itemClick(View view) {
         UserCardBean userCardBean = userCardBeanList.get((int) view.getTag());
-        Intent intent = new Intent(ReplacementActivity.this, NFCWreatActivity.class);
-        intent.putExtra("dbUserCard", userCardBean);
+        ManageCard manageCard = new ManageCard();
+        manageCard.setUserCard(cardNumber);
+        Intent intent = new Intent(ManagerListActivity.this, NFCWreatActivity.class);
+        intent.putExtra("manageCard", manageCard);
+        intent.putExtra("userCardBean_manager", userCardBean);
         startActivity(intent);
+        this.finish();
     }
 
     private void initList() {
-        myRefreshLayout = (RefreshLayout) newcardListBinding.refreshLayout;
+        myRefreshLayout = (RefreshLayout) binding.refreshLayout;
         myRefreshLayout.setEnableRefresh(false);
         myRefreshLayout.setRefreshFooter(new ClassicsFooter(this));
         myRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
@@ -73,10 +79,10 @@
                 getList();
             }
         });
-        adapter = new ReplacementAdapter(this, userCardBeanList);
+        adapter = new ManagerCardAdapter(this, userCardBeanList);
         LinearLayoutManager layoutManager = new LinearLayoutManager(this);
-        newcardListBinding.recyclerView.setLayoutManager(layoutManager);
-        newcardListBinding.recyclerView.setAdapter(adapter);
+        binding.recyclerView.setLayoutManager(layoutManager);
+        binding.recyclerView.setAdapter(adapter);
     }
 
 
@@ -85,11 +91,7 @@
         Observable<List<UserCardBean>> observable = Observable.create(emitter -> {
             // 鍦ㄨ繖閲屾墽琛屽紓姝ユ搷浣�
             List<UserCardBean> beanList;
-            if (beginTime == 0 && endTime == 0) {
-                beanList = asynchBaseDao.userCardDao().findAll(page * limit, limit);
-            } else {
-                beanList = asynchBaseDao.userCardDao().findByTime(beginTime, endTime);
-            }
+            beanList = asynchBaseDao.userCardDao().findAll(page * limit, limit);
             // 灏嗙粨鏋滃彂閫佺粰瑙傚療鑰�
             emitter.onNext(beanList);
             emitter.onComplete();
@@ -116,34 +118,29 @@
                 );
     }
 
-
-    EdtDialog edtDialog;
-
     private void setRightButton() {
-        titleBar.setOnItemclickListner(ClickType_RIGHT_TEXT, new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                edtDialog = new EdtDialog(ReplacementActivity.this, new EdtDialog.DialogBack() {
-                    @Override
-                    public void onOk(String data) {
-                        List<UserCardBean> beans = baseDao.userCardDao().findByData(data);
-                        if (beans != null && beans.size() > 0) {
-                            userCardBeanList.clear();
-                            userCardBeanList.addAll(beans);
-                            adapter.notifyDataSetChanged();
-                        } else {
-                            TipUtil.show("鏈壘鍒拌鐢ㄦ埛");
-                        }
-                        edtDialog.dismiss();
+        titleBar.setOnItemclickListner(ClickType_RIGHT_TEXT, v -> {
+            edtDialog = new EdtDialog(ManagerListActivity.this, "鍙緭鍏ュ鍚嶃�佽韩浠借瘉鍙枫�佹墜鏈哄彿鎼滅储", new EdtDialog.DialogBack() {
+                @Override
+                public void onOk(String data) {
+                    List<UserCardBean> beans = baseDao.userCardDao().findByData(data);
+                    if (beans != null && beans.size() > 0) {
+                        userCardBeanList.clear();
+                        userCardBeanList.addAll(beans);
+                        adapter.notifyDataSetChanged();
+                    } else {
+                        TipUtil.show("鏈壘鍒拌鐢ㄦ埛");
                     }
+                    edtDialog.dismiss();
+                }
 
-                    @Override
-                    public void onCancel() {
-                        edtDialog.dismiss();
-                    }
-                });
-                edtDialog.show();
-            }
+                @Override
+                public void onCancel() {
+                    edtDialog.dismiss();
+                }
+            });
+            edtDialog.show();
         });
     }
+
 }
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ManagerReadActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ManagerReadActivity.java
new file mode 100644
index 0000000..0ff88b5
--- /dev/null
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ManagerReadActivity.java
@@ -0,0 +1,62 @@
+package com.dayu.qihealonelibrary.activity;
+
+import android.content.Intent;
+import android.nfc.NfcAdapter;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+
+import com.dayu.baselibrary.utils.TipUtil;
+import com.dayu.qihealonelibrary.databinding.ActivityManagerReadQhaBinding;
+import com.dayu.qihealonelibrary.tools.NfcReadHelper;
+import com.dayu.qihealonelibrary.view.ProgressDialog;
+
+/**
+ * author: zuo
+ * Date: 2024-05-09
+ * Time: 11:05
+ * 澶囨敞锛�
+ */
+public class ManagerReadActivity extends BaseNfcActivity {
+
+    ActivityManagerReadQhaBinding binding;
+    Intent intent;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        binding = ActivityManagerReadQhaBinding.inflate(LayoutInflater.from(this));
+        setContentView(binding.getRoot());
+
+    }
+
+    @Override
+    public void onNewIntent(Intent intent) {
+        this.intent = intent;
+        ProgressDialog.show(this);
+        if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {
+            getCardNumber();
+        }
+        super.onNewIntent(intent);
+    }
+
+
+    private void getCardNumber() {
+        String cardNumber = NfcReadHelper.getInstence(intent, this).getCardNumber();
+        if (!TextUtils.isEmpty(cardNumber)) {
+            TipUtil.show(this, "璇诲崱鎴愬姛锛屾帴涓嬫潵浼氳烦杞埌鐢ㄦ埛鍒楄〃閫夋嫨琛ュ崱鐨勭敤鎴枫��", new TipUtil.TipListener() {
+                @Override
+                public void onCancle() {
+                    Intent intent = new Intent(ManagerReadActivity.this, ManagerListActivity.class);
+                    intent.putExtra("cardNumber", cardNumber);
+                    startActivity(intent);
+                    ManagerReadActivity.this.finish();
+                }
+            });
+
+
+        } else {
+            TipUtil.show(this, "鏈鍙栧埌鏂板崱鍗″彿锛岃閲嶆柊璐村崱");
+        }
+    }
+}
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivity.java
index 7e6732a..5137d47 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivity.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivity.java
@@ -57,12 +57,7 @@
     }
 
     private void initView() {
-        myBinding.cardReplacement.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                startActivity(new Intent(MyActivity.this, ReplacementActivity.class));
-            }
-        });
+
         myBinding.myAdmin.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java
index 2ca36b4..cd83929 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java
@@ -17,7 +17,10 @@
 import com.dayu.qihealonelibrary.card.ConfigurationPowerCard;
 import com.dayu.qihealonelibrary.card.ConfigureDeviceRegistrationCrad;
 import com.dayu.qihealonelibrary.card.DomainCard;
+import com.dayu.qihealonelibrary.card.ElectricPriceCard;
 import com.dayu.qihealonelibrary.card.ManageCard;
+import com.dayu.qihealonelibrary.card.PassWordCard;
+import com.dayu.qihealonelibrary.card.RegionCard;
 import com.dayu.qihealonelibrary.card.RegisteredCard;
 import com.dayu.qihealonelibrary.card.TestCard;
 import com.dayu.qihealonelibrary.card.UserCard;
@@ -41,8 +44,26 @@
  */
 public class NFCWreatActivity extends BaseNfcActivity {
 
+    RegisteredCard registeredCard;
+    CleanUserCard cleanUserCard;
+    ManageCard manageCard;
+    DomainCard domainCard;
 
+    CleanCard cleanCard;
+    ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad;
+    TestCard testCard;
+    //鍖哄煙琛ㄥ彿鍗�
+    RegionCard regionCard;
+    ConfigurationPowerCard configurationPowerCard;
+    //瀵嗙爜鍗�
+    PassWordCard passWordCard;
+    //鐢ㄦ埛鐢甸噺鍗曚环鍗�
+    ElectricPriceCard electricPriceCard;
+    UserCardBean userCardBeanByManager;
+    boolean electricPriceFlag = false;
+    boolean passwordFlag = false;
     boolean cleanFlag = false;
+    boolean regionFlag = false;
     boolean userFlag = false;
     boolean manageCardFlag = false;
     boolean registeredFlag = false;
@@ -67,16 +88,6 @@
     Intent intent;
 
 
-    RegisteredCard registeredCard;
-    CleanUserCard cleanUserCard;
-    ManageCard manageCard;
-    DomainCard domainCard;
-
-    CleanCard cleanCard;
-    ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad;
-    TestCard testCard;
-
-    ConfigurationPowerCard configurationPowerCard;
     //鎵撳嵃
     QHAloneApplication baseApp;
 
@@ -115,13 +126,24 @@
             if (this.getIntent().hasExtra("userCard")) {
                 userCard = (UserCard) this.getIntent().getSerializableExtra("userCard");
             }
+            if (this.getIntent().hasExtra("electricPriceCard")) {
+                electricPriceCard = (ElectricPriceCard) this.getIntent().getSerializableExtra("electricPriceCard");
+                binding.cardData.setText("鍒朵綔鐢ㄦ埛鐢甸噺鍗曚环鍗n褰撳墠鍗曚环锛�" + electricPriceCard.getElectricPrice().toString() + "鍏�");
+            }
+            if (this.getIntent().hasExtra("passWordCard")) {
+                passWordCard = (PassWordCard) this.getIntent().getSerializableExtra("passWordCard");
+                binding.cardData.setText("鍒朵綔瀵嗙爜鍗�");
+            }
             if (this.getIntent().hasExtra("cleanCard")) {
                 cleanCard = (CleanCard) this.getIntent().getSerializableExtra("cleanCard");
                 binding.cardData.setText("鍒朵綔娓呴浂鍗�");
             }
             if (this.getIntent().hasExtra("manageCard")) {
                 manageCard = (ManageCard) this.getIntent().getSerializableExtra("manageCard");
-                binding.cardData.setText("鍒朵綔绠$悊鍗�");
+                if (this.getIntent().hasExtra("userCardBean_manager")) {
+                    userCardBeanByManager = (UserCardBean) this.getIntent().getSerializableExtra("userCardBean_manager");
+                }
+                binding.cardData.setText("鍒朵綔绠$悊鍗�(璇峰皢绠$悊鍗¤创鍦ㄨ澶囦笂)\n鐢ㄦ埛鍗″彿锛�" + manageCard.getUserCard());
             }
             if (this.getIntent().hasExtra("registeredCard")) {
                 registeredCard = (RegisteredCard) this.getIntent().getSerializableExtra("registeredCard");
@@ -150,6 +172,10 @@
             if (this.getIntent().hasExtra("configurationPowerCard")) {
                 configurationPowerCard = (ConfigurationPowerCard) this.getIntent().getSerializableExtra("configurationPowerCard");
                 binding.cardData.setText("鍒朵綔閰嶇疆姘存车鍔熺巼鍗�");
+            }
+            if (this.getIntent().hasExtra("regionCard")) {
+                regionCard = (RegionCard) this.getIntent().getSerializableExtra("regionCard");
+                binding.cardData.setText("鍒朵綔鍖哄煙琛ㄥ彿鍗�");
             }
             if (this.getIntent().hasExtra("morny")) {
                 // 鍏呭�奸�昏緫
@@ -218,15 +244,29 @@
                     || registeredCard != null || cleanUserCard != null
                     || domainCard != null || testCard != null
                     || configureDeviceRegistrationCrad != null
-                    || configurationPowerCard != null) {
+                    || configurationPowerCard != null || regionCard != null || passWordCard != null || electricPriceCard != null) {
                 if (userCard != null && TextUtils.isEmpty(morny)) {
                     userFlag = WriteCardUtils.setUser(intent, userCard, this);
+                }
+                if (electricPriceCard != null) {
+                    setElectricPriceCard(intent, electricPriceCard);
+                }
+                if (passWordCard != null) {
+                    setPassWordCard(intent, passWordCard);
+                }
+                if (regionCard != null) {
+                    setRegionCard(intent, regionCard);
                 }
                 if (cleanCard != null) {
                     setClean(intent, cleanCard);
                 }
                 if (manageCard != null) {
                     setmanageCard(intent, manageCard);
+                    if (manageCardFlag && userCardBeanByManager != null) {
+                        //淇敼鐢ㄦ埛琛ㄤ俊鎭�
+                        userCardBeanByManager.setCardNumber(manageCard.getUserCard());
+                        baseDao.userCardDao().update(userCardBeanByManager);
+                    }
                 }
                 if (registeredCard != null) {
                     setRegisteredCard(intent, registeredCard);
@@ -246,7 +286,7 @@
                 if (configurationPowerCard != null) {
                     setConfigurationPower(intent, configurationPowerCard);
                 }
-                if ((configPowerFlag || configDeviceRegiestFlag || testCardFlag || domainCrdFlag || userFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag || cleanUserCardFlag)) {
+                if (electricPriceFlag || passwordFlag || regionFlag || configPowerFlag || configDeviceRegiestFlag || testCardFlag || domainCrdFlag || userFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag || cleanUserCardFlag) {
                     try {
                         if (userFlag && userCardBean != null) {
                             //鐢ㄦ埛鍗�
@@ -387,7 +427,7 @@
     }
 
     private void setmanageCard(Intent intent, final ManageCard manageCard) {
-        manageCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(manageCard.toZeroByte(baseDao), 1, 0);
+        manageCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(manageCard.toByte(baseDao), 1, 0);
     }
 
     /**
@@ -396,10 +436,39 @@
      * @param intent
      * @param clearOrInitCard
      */
-    private void setClean(Intent intent, final CleanCard clearOrInitCard) {
+    private void setClean(Intent intent, CleanCard clearOrInitCard) {
         cleanFlag = NFCWriteHelper.getInstence(intent, this).writeData(clearOrInitCard.toByte(baseDao), 1, 0);
     }
 
+    /**
+     * 淇濆瓨鍖哄煙琛ㄥ彿鍗�
+     *
+     * @param intent
+     * @param regionCard
+     */
+    private void setRegionCard(Intent intent, RegionCard regionCard) {
+        regionFlag = NFCWriteHelper.getInstence(intent, this).writeData(regionCard.toByte(), 1, 0);
+    }
+
+    /**
+     * 瀵嗙爜鍗�
+     *
+     * @param intent
+     * @param passWordCard
+     */
+    private void setPassWordCard(Intent intent, PassWordCard passWordCard) {
+        passwordFlag = NFCWriteHelper.getInstence(intent, this).writeData(passWordCard.toByte(baseDao), 1, 0);
+    }
+
+    /**
+     * 鐢ㄦ埛鐢甸噺鍗曚环
+     *
+     * @param intent
+     * @param electricPriceCard
+     */
+    private void setElectricPriceCard(Intent intent, ElectricPriceCard electricPriceCard) {
+        electricPriceFlag = NFCWriteHelper.getInstence(intent, this).writeData(electricPriceCard.toByte(baseDao), 1, 0);
+    }
 
     /**
      * 閲嶆柊娉ㄥ唽璁惧鍗�
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ParameterActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ParameterActivity.java
index 4949def..aa8ed5e 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ParameterActivity.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ParameterActivity.java
@@ -50,9 +50,10 @@
             Intent intent = new Intent(ParameterActivity.this, PasswordCardActivity.class);
             startActivity(intent);
         });
-        binding.parameterRegion.setOnClickListener(v -> {
-            Intent intent = new Intent(ParameterActivity.this, RegionActivity.class);
-            startActivity(intent);
-        });
+        //鍖哄煙琛ㄥ彿鍗�
+//        binding.parameterRegion.setOnClickListener(v -> {
+//            Intent intent = new Intent(ParameterActivity.this, RegionActivity.class);
+//            startActivity(intent);
+//        });
     }
 }
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/PasswordCardActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/PasswordCardActivity.java
index 19d776c..2157346 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/PasswordCardActivity.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/PasswordCardActivity.java
@@ -20,6 +20,7 @@
     ActivityPasswordCardQhaBinding binding;
 
     PassWordCardBean cardBean;
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -35,6 +36,9 @@
         if (powerBean != null) {
             this.cardBean = powerBean;
             binding.villageOldNumber.setText(powerBean.getPassWord());
+        } else {
+            cardBean = new PassWordCardBean();
+            binding.villageOldNumber.setText("褰撳墠杩樻湭璁剧疆");
         }
     }
 
@@ -44,12 +48,12 @@
             public void onClick(View v) {
                 String data = binding.villageNewNum.getText().toString();
                 if (!TextUtils.isEmpty(data)) {
-                    if (data.length()==12){
+                    if (data.length() == 12) {
                         cardBean.setPassWord(data);
                         baseDao.passWordCardDao().insert(cardBean);
-                        TipUtil.show("淇濆瓨鎴愬姛");
+                        TipUtil.show(PasswordCardActivity.this, "淇濆瓨鎴愬姛");
                         initData();
-                    }else {
+                    } else {
                         TipUtil.show("璇疯緭鍏ユ纭殑12浣嶅瓧绗︾殑16杩涘埗鍗″瘑鐮�");
                     }
 
@@ -59,7 +63,6 @@
             }
         });
     }
-
 
 
 }
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReadCardAcitivy.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReadCardAcitivy.java
index 7d955f6..38cb3dd 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReadCardAcitivy.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReadCardAcitivy.java
@@ -126,27 +126,22 @@
                     TipUtil.show("鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒");
                 }
 
-                stopAnim();
                 break;
             case CardCommon.MANAGE_CRAD:
                 viweGone(false);
                 redCardBinding.readCardTypeTV.setText("褰撳墠涓虹鐞嗗崱");
-                stopAnim();
                 break;
             case CardCommon.CLEAN_CARD_TYPE:
                 viweGone(false);
                 redCardBinding.readCardTypeTV.setText("褰撳墠涓烘竻闆跺崱");
-                stopAnim();
                 break;
             case CardCommon.REGISTERED_CARD_TYPE:
                 viweGone(false);
                 redCardBinding.readCardTypeTV.setText("褰撳墠涓洪噸鏂版敞鍐岃澶囧崱");
-                stopAnim();
                 break;
             case CardCommon.CLEAN_ALL_USER_CARD_TYPE:
                 viweGone(false);
                 redCardBinding.readCardTypeTV.setText("褰撳墠涓哄垹闄ゅ叏閮ㄧ敤鎴峰崱");
-                stopAnim();
                 break;
             case CardCommon.DOMAIN_CARD_TYPE:
                 viweGone(false);
@@ -158,17 +153,14 @@
                 } else {
                     TipUtil.show("鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒");
                 }
-                stopAnim();
                 break;
             case CardCommon.TEST_CARD_TYPE:
                 viweGone(false);
                 redCardBinding.readCardTypeTV.setText("褰撳墠涓烘祴璇曞崱");
-                stopAnim();
                 break;
             case CardCommon.CONFIGURATION_CARD_TYPE:
                 viweGone(false);
                 redCardBinding.readCardTypeTV.setText("褰撳墠涓洪厤缃澶囨敞鍐屼俊鎭崱");
-                stopAnim();
                 break;
             case CardCommon.CONFIGURATION_POWER_CARD_TYPE:
                 viweGone(false);
@@ -179,7 +171,6 @@
                 } else {
                     TipUtil.show("鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒");
                 }
-                stopAnim();
                 break;
             case CardCommon.BLACK:
                 viweGone(false);
@@ -207,7 +198,8 @@
                 if (!data.isEmpty()) {
                     ElectricPriceCard electricPriceCard = ElectricPriceCard.getBean(data);
                     StringBuilder electricPriceBuilder = new StringBuilder();
-                    electricPriceBuilder.append("鐢甸噺鍗曚环锛�").append(electricPriceCard.getElectricPrice()).append("\n");
+                    electricPriceBuilder.append("鐢甸噺鍗曚环锛�").append(electricPriceCard.getElectricPrice());
+                    electricPriceBuilder.append("鍏�");
                     redCardBinding.readCardDataTV.setText(electricPriceBuilder.toString());
                 } else {
                     TipUtil.show("鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒");
@@ -215,10 +207,9 @@
                 break;
             default:
                 TipUtil.show(ReadCardAcitivy.this, "鍗$墖鏃犳硶璇嗗埆");
-                stopAnim();
                 break;
         }
-
+        stopAnim();
 
     }
 
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java
index 6174ea1..9820463 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java
@@ -111,40 +111,49 @@
         userCard = UserCard.getBean(data);
         List<UserCardBean> userCardBeans = baseDao.userCardDao().findUserName(cardNumber);
         AdminDataBean adminDataBean = baseDao.adminDao().findFirst();
-        if (!userCardBeans.isEmpty()){
-            userCardBean = userCardBeans.get(0);
-            if (adminDataBean.addressCode.equalsIgnoreCase(String.valueOf(userCard.getArerNumber()))) {
+
+
+        if (adminDataBean.addressCode.equalsIgnoreCase(String.valueOf(userCard.getArerNumber()))) {
+            if (!userCardBeans.isEmpty()) {
+                userCardBean = userCardBeans.get(0);
                 this.userName = userCardBean.getUserName();
-                binding.rechargeReadLL.setVisibility(View.GONE);
-                binding.rechargeTextLL.setVisibility(View.VISIBLE);
-                binding.rechargeRegistBtn.setVisibility(View.VISIBLE);
-                binding.userName.setText(userName);
-                binding.redStatu.setText(state);
-                if (userCard != null) {
-                    Calendar calendar = userCard.getRechargeDate();
-                    if (calendar != null) {
-                        int year = calendar.get(Calendar.YEAR);
-                        int month = calendar.get(Calendar.MONTH); // 鏈堜唤浠�0寮�濮嬶紝鎵�浠ラ渶瑕佸姞1
-                        int day = calendar.get(Calendar.DAY_OF_MONTH);
-                        binding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細" + year + "骞�" + month + "鏈�" + day + "鏃�");
-                    } else {
-                        binding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細鏃�");
-                    }
-                    binding.redInitCode.setText(cardNumber);
-                    binding.redRechargeNumber.setText("鏈崱鍏呭�兼鏁帮細" + userCard.getRechargeTimes() + "");
-                    binding.redTotalWater.setText("鎬荤敤姘撮噺锛�" + userCard.getTotalWater());
-                    binding.redTotalPower.setText("鎬荤敤鐢甸噺锛�" + userCard.getTotalElectric());
-                    binding.redRemainderBlance.setText(MornyUtil.changeF2Y(userCard.getBalance()) + "鍏�");
-                    binding.redRemainderWater.setText("鍓╀綑姘撮噺锛�" + userCard.getSurplusWater());
-                }
-
             } else {
-                TipUtil.show(this, "涓嶆槸鏈尯鍩熷崱");
+                userCardBean = new UserCardBean();
+                userCardBean.setCardNumber(cardNumber);
+                userCardBean.setUserName("鏈煡鐢ㄦ埛");
+                userCardBean.setPhone("鏈煡");
+                userCardBean.setUserID("鏈煡");
+                userCardBean.setAddressCode(String.valueOf(userCard.getArerNumber()));
+                userCardBean.setSerial(String.valueOf(userCard.getArerNumber()));
+                this.userName = "鏈煡鐢ㄦ埛";
             }
-        }else {
-            TipUtil.show(this, "鏈煡璇㈠埌璇ュ崱鐢ㄦ埛淇℃伅");
-        }
 
+            binding.rechargeReadLL.setVisibility(View.GONE);
+            binding.rechargeTextLL.setVisibility(View.VISIBLE);
+            binding.rechargeRegistBtn.setVisibility(View.VISIBLE);
+            binding.userName.setText(userName);
+            binding.redStatu.setText(state);
+            if (userCard != null) {
+                Calendar calendar = userCard.getRechargeDate();
+                if (calendar != null) {
+                    int year = calendar.get(Calendar.YEAR);
+                    int month = calendar.get(Calendar.MONTH); // 鏈堜唤浠�0寮�濮嬶紝鎵�浠ラ渶瑕佸姞1
+                    int day = calendar.get(Calendar.DAY_OF_MONTH);
+                    binding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細" + year + "骞�" + month + "鏈�" + day + "鏃�");
+                } else {
+                    binding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細鏃�");
+                }
+                binding.redInitCode.setText(cardNumber);
+                binding.redRechargeNumber.setText("鏈崱鍏呭�兼鏁帮細" + userCard.getRechargeTimes() + "");
+                binding.redTotalWater.setText("鎬荤敤姘撮噺锛�" + userCard.getTotalWater());
+                binding.redTotalPower.setText("鎬荤敤鐢甸噺锛�" + userCard.getTotalElectric());
+                binding.redRemainderBlance.setText(MornyUtil.changeF2Y(userCard.getBalance()) + "鍏�");
+                binding.redRemainderWater.setText("鍓╀綑姘撮噺锛�" + userCard.getSurplusWater());
+            }
+
+        } else {
+            TipUtil.show(this, "涓嶆槸鏈尯鍩熷崱");
+        }
 
 
     }
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/SysActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/SysActivity.java
index 26f3ce8..9438eef 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/SysActivity.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/SysActivity.java
@@ -11,14 +11,19 @@
 import com.dayu.qihealonelibrary.card.ConfigurationPowerCard;
 import com.dayu.qihealonelibrary.card.ConfigureDeviceRegistrationCrad;
 import com.dayu.qihealonelibrary.card.DomainCard;
+import com.dayu.qihealonelibrary.card.ElectricPriceCard;
 import com.dayu.qihealonelibrary.card.ManageCard;
 import com.dayu.qihealonelibrary.card.PassWordCard;
+import com.dayu.qihealonelibrary.card.RegionCard;
 import com.dayu.qihealonelibrary.card.RegisteredCard;
 import com.dayu.qihealonelibrary.card.TestCard;
 import com.dayu.qihealonelibrary.databinding.ActivityAdminQhaBinding;
+import com.dayu.qihealonelibrary.dbBean.AdminDataBean;
 import com.dayu.qihealonelibrary.dbBean.DomainBean;
+import com.dayu.qihealonelibrary.dbBean.ElectricPriceBean;
 import com.dayu.qihealonelibrary.dbBean.PassWordCardBean;
 import com.dayu.qihealonelibrary.dbBean.PowerBean;
+import com.dayu.qihealonelibrary.view.AdminCardDialog;
 
 
 /**
@@ -43,130 +48,60 @@
 
     private void initView() {
 
+        //鍒朵綔绠$悊鍗�
+        adminBinding.adminAdmin.setOnClickListener(v -> {
 
-        adminBinding.adminAdmin.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
-                ManageCard manageCard = new ManageCard();
-                intent.putExtra("manageCard", manageCard);
-                startActivity(intent);
-            }
+            AdminCardDialog dialog=new AdminCardDialog(this);
+            dialog.show();
+
         });
         //鍒朵綔娓呴浂鍗�
-        adminBinding.adminCleanZero.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
+        adminBinding.adminCleanZero.setOnClickListener(v -> {
+            Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
+            CleanCard cleanCard = new CleanCard();
+            intent.putExtra("cleanCard", cleanCard);
+            startActivity(intent);
+        });
+        //鍒朵綔瀵嗙爜鍗�
+        adminBinding.adminPassWordCard.setOnClickListener(v -> {
+            PassWordCardBean powerBean = baseDao.passWordCardDao().findFirst();
+            if (powerBean != null) {
                 Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
-                CleanCard cleanCard = new CleanCard();
-                intent.putExtra("cleanCard", cleanCard);
+                PassWordCard passWordCard = new PassWordCard();
+                passWordCard.setPassWord(powerBean.getPassWord());
+                intent.putExtra("passWordCard", passWordCard);
                 startActivity(intent);
-            }
-        });
-        adminBinding.adminRegistered.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
-                RegisteredCard registeredCard = new RegisteredCard();
-                intent.putExtra("registeredCard", registeredCard);
-                startActivity(intent);
-            }
-        });
-        //鍒犻櫎鍏ㄩ儴鐢ㄦ埛
-        adminBinding.adminCleanUser.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
-                CleanUserCard cleanUserCard = new CleanUserCard();
-                intent.putExtra("cleanUserCard", cleanUserCard);
-                startActivity(intent);
-            }
-        });
-//        璁剧疆鍩熷悕鍗�
-        adminBinding.adminDomain.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
-                DomainBean domainBean = baseDao.domainPortDao().findFirst();
-                DomainCard domainCard = new DomainCard();
-                if (domainBean != null) {
-                    domainCard.setDomainNumber(domainBean.getDomainNumber());
-                    domainCard.setDomainName(domainBean.getDomain());
-                    domainCard.setPort(domainBean.getPort());
-                } else {
-                    domainCard.setDomainNumber("1");
-                    domainCard.setDomainName("dayuyanjiuyuan.top");
-                    domainCard.setPort(8888);
-                }
-                intent.putExtra("domainCard", domainCard);
-                startActivity(intent);
-            }
-        });
-
-        //鍒朵綔娴嬭瘯鍗�
-        adminBinding.adminTest.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
-                TestCard testCard = new TestCard();
-                intent.putExtra("testCard", testCard);
-                startActivity(intent);
-            }
-        });
-
-        //鍒朵綔閰嶇疆璁惧淇℃伅鍗�
-        adminBinding.adminConfigDeviceRegistration.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
-                ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad = new ConfigureDeviceRegistrationCrad();
-                intent.putExtra("configureDeviceRegistrationCrad", configureDeviceRegistrationCrad);
-                startActivity(intent);
-            }
-        });
-
-        //鍒朵綔閰嶇疆姘存车鍔熺巼鍗�
-        adminBinding.adminConfigPower.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                PowerBean powerBean = baseDao.powerDao().findFirst();
-                if (powerBean != null) {
-                    Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
-                    ConfigurationPowerCard configurationPowerCard = new ConfigurationPowerCard();
-                    configurationPowerCard.setPower(powerBean.getPower());
-                    intent.putExtra("configurationPowerCard", configurationPowerCard);
-                    startActivity(intent);
-                } else {
-                    TipUtil.show("璇峰厛璁剧疆姘存车鍔熺巼");
-                }
-
-            }
-        });
-
-
-        adminBinding.adminPassWordCard.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                PassWordCardBean powerBean = baseDao.passWordCardDao().findFirst();
-                if (powerBean != null) {
-                    Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
-                    PassWordCard passWordCard = new PassWordCard();
-                    passWordCard.setPassWord(powerBean.getPassWord());
-                    intent.putExtra("passWordCard", passWordCard);
-                    startActivity(intent);
-                } else {
-                    TipUtil.show("璇峰厛璁剧疆鍗″瘑鐮�");
-                }
+            } else {
+                TipUtil.show(this, "璇峰厛鍦ㄥ弬鏁拌缃唴璁剧疆鍗″瘑鐮�");
             }
         });
 
         //鍒朵綔鍖哄煙琛ㄥ彿鍗�
-        adminBinding.adminRegionCard.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
+        adminBinding.adminRegionCard.setOnClickListener(v -> {
 
-            }
+            Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
+            RegionCard regionCard = new RegionCard();
+            AdminDataBean adminDataBean = baseDao.adminDao().findFirst();
+            regionCard.setRegion(Integer.valueOf(adminDataBean.getAddressCode()));
+            regionCard.setControllerCodel(Integer.valueOf(adminDataBean.getAddressCode()));
+            intent.putExtra("regionCard", regionCard);
+            startActivity(intent);
         });
+        //鍒朵綔璁剧疆鐢ㄦ埛鐢甸噺鍗曚环鍗�
+        adminBinding.adminElectricCard.setOnClickListener(v -> {
+            Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
+            ElectricPriceBean electricPriceBean = baseDao.electricPriceDao().findFirst();
+            if (electricPriceBean != null) {
+                ElectricPriceCard electricPriceCard = new ElectricPriceCard();
+                electricPriceCard.setElectricPrice(electricPriceBean.getPrice());
+                intent.putExtra("electricPriceCard", electricPriceCard);
+                startActivity(intent);
+            } else {
+                TipUtil.show(this, "璇峰厛鍦ㄥ弬鏁拌缃唴璁剧疆鐢甸噺鍗曚环");
+            }
+
+        });
+
     }
 
 
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/adapter/ReplacementAdapter.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/adapter/ManagerCardAdapter.java
similarity index 88%
rename from qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/adapter/ReplacementAdapter.java
rename to qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/adapter/ManagerCardAdapter.java
index 9006aa7..9acb7ba 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/adapter/ReplacementAdapter.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/adapter/ManagerCardAdapter.java
@@ -11,18 +11,18 @@
 import com.dayu.baselibrary.databinding.ItemNoMoreBinding;
 import com.dayu.baselibrary.utils.DateUtil;
 import com.dayu.qihealonelibrary.R;
-import com.dayu.qihealonelibrary.activity.ReplacementActivity;
+import com.dayu.qihealonelibrary.activity.ManagerListActivity;
 import com.dayu.qihealonelibrary.databinding.QiheItemReplacementsBinding;
 import com.dayu.qihealonelibrary.dbBean.UserCardBean;
 
 import java.util.List;
 
-public class ReplacementAdapter extends BaseRecyclerAdapter<RecyclerView.ViewHolder> {
+public class ManagerCardAdapter extends BaseRecyclerAdapter<RecyclerView.ViewHolder> {
 
     List<UserCardBean> rechargeList;
-    ReplacementActivity mContext;
+    ManagerListActivity mContext;
 
-    public ReplacementAdapter(ReplacementActivity context, List<UserCardBean> rechargeList) {
+    public ManagerCardAdapter(ManagerListActivity context, List<UserCardBean> rechargeList) {
         mContext = context;
         this.rechargeList = rechargeList;
     }
@@ -45,8 +45,9 @@
     public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
         if (holder instanceof ViewHolder) {
             if (rechargeList.size() > 0) {
-                ((ViewHolder) holder).getBinding().userName.setText("鐢ㄦ埛鍚�:" + rechargeList.get(position).getUserName());
+                ((ViewHolder) holder).getBinding().userName.setText("濮撳悕:" + rechargeList.get(position).getUserName());
                 ((ViewHolder) holder).getBinding().userNo.setText("韬唤璇佸彿:" + rechargeList.get(position).getUserID());
+                ((ViewHolder) holder).getBinding().cardNumber.setText("鍗″彿:" + rechargeList.get(position).getCardNumber());
                 ((ViewHolder) holder).getBinding().water.setText("鐢佃瘽:" + rechargeList.get(position).getPhone());
                 ((ViewHolder) holder).getBinding().date.setText("鏃ユ湡:" + DateUtil.dateToStamp(rechargeList.get(position).getDate(), DateUtil.type1));
                 ((ViewHolder) holder).getBinding().item.setTag(position);
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/ElectricPriceCard.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/ElectricPriceCard.java
index 39303bf..9adf95a 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/ElectricPriceCard.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/ElectricPriceCard.java
@@ -32,11 +32,10 @@
     }
 
 
-
-    public static ElectricPriceCard getBean(List<byte[]> data){
-        ElectricPriceCard regionCard=new ElectricPriceCard();
-        byte[] zero=data.get(0);
-        regionCard.cardType= HexUtil.byteToHex(zero[0]);
+    public static ElectricPriceCard getBean(List<byte[]> data) {
+        ElectricPriceCard regionCard = new ElectricPriceCard();
+        byte[] zero = data.get(0);
+        regionCard.cardType = HexUtil.byteToHex(zero[0]);
 
         byte[] cardDataByte = new byte[4];
         System.arraycopy(zero, 1, cardDataByte, 0, cardDataByte.length);
@@ -45,7 +44,7 @@
 
         byte[] electricPriceByte = new byte[4];
         System.arraycopy(zero, 5, electricPriceByte, 0, electricPriceByte.length);
-        regionCard.electricPrice = HexUtil.bytesToFloat(electricPriceByte);
+        regionCard.electricPrice = HexUtil.hexToFloatLowHigh(electricPriceByte);
 
 
         return regionCard;
@@ -55,7 +54,7 @@
     /**
      * 绗�1鎵囧尯0鍧� 瀛樺偍鐨勬暟鎹�
      */
-    public class Zero  {
+    public class Zero {
         public byte[] toByte() {
             byte[] data = new byte[16];
             data[0] = HexUtil.hexToByte(cardType);
@@ -65,7 +64,7 @@
                 System.arraycopy(regionBytes, 0, data, 1, regionBytes.length);
             }
 
-            byte[] controllerCodelBytes = HexUtil.folatToByte(electricPrice);
+            byte[] controllerCodelBytes = HexUtil.hexToByteArray(HexUtil.floatToHexLowHigh(electricPrice));
             if (controllerCodelBytes != null) {
                 System.arraycopy(controllerCodelBytes, 0, data, 5, controllerCodelBytes.length);
             }
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/ManageCard.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/ManageCard.java
index d01aea9..a0ad0da 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/ManageCard.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/ManageCard.java
@@ -14,26 +14,26 @@
  */
 public class ManageCard extends BaseCard implements Serializable {
     public String cardType = CardCommon.MANAGE_CRAD;//鍗$被鍨�
-//    public String cardData = "A0B1C289";//鏍囪瘑鐮�
-
-
-    /**
-     * M1鍗$殑0鎵囧尯0鍧楅�氬父鐢ㄤ簬瀛樺偍涓�浜涘熀鏈殑鍗$墖淇℃伅
-     * 绗�0瀛楄妭锛氬崱鐗囩被鍨嬶紙M1鍗′负0x08锛�
-     * 绗�1瀛楄妭锛氬崱鐗囧湴鍧�锛堥�氬父涓�0x00锛�
-     * 绗�2-5瀛楄妭锛氬崱鐗囧簭鍒楀彿锛�4瀛楄妭锛�
-     * 绗�6-8瀛楄妭锛氬崱鐗囧埗閫犲晢浠g爜锛�3瀛楄妭锛�
-     * 绗�9瀛楄妭锛氬崱鐗囩増鏈�
-     * 绗�10-15瀛楄妭锛氶鐣欏尯鍩�
-     */
-    public byte[] userCard; //鐢ㄦ埛鍗″彿
-
 
     public String getCardData() {
         return cardData;
     }
 
-    public byte[] toZeroByte(QHAloneAppDatabase QHAloneAppDatabase) {
+    /**
+     * M1鍗$殑0鎵囧尯0鍧楅�氬父鐢ㄤ簬瀛樺偍涓�浜涘熀鏈殑鍗$墖淇℃伅
+     * 0-4瀛楄妭鏄崱鍙�
+     */
+    public String userCard; //鐢ㄦ埛鍗″彿
+
+    public String getUserCard() {
+        return userCard;
+    }
+
+    public void setUserCard(String userCard) {
+        this.userCard = userCard;
+    }
+
+    public byte[] toByte(QHAloneAppDatabase QHAloneAppDatabase) {
         setCardData(QHAloneAppDatabase, cardType);
         Zero zero = new Zero();
         return zero.toByte();
@@ -47,8 +47,9 @@
             byte[] cardDataByte = HexUtil.hexToByteArray(cardData);
             System.arraycopy(cardDataByte, 0, data, 1, cardDataByte.length);
 
+            byte[] userCardByts = HexUtil.hexToByteArray(userCard);
             if (userCard != null) {
-                System.arraycopy(userCard, 0, data, 5, userCard.length);
+                System.arraycopy(userCardByts, 0, data, 5, userCardByts.length);
             }
 
             data[15] = getByteSum(data);
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/PassWordCard.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/PassWordCard.java
index 97de506..b58a73e 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/PassWordCard.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/PassWordCard.java
@@ -49,7 +49,7 @@
     }
 
 
-    public class Zero extends BaseCard {
+    public class Zero  {
         public byte[] toByte() {
             byte[] data = new byte[16];
             data[0] = HexUtil.hexToByte(cardType);
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/view/AdminCardDialog.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/view/AdminCardDialog.java
new file mode 100644
index 0000000..a0cf36f
--- /dev/null
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/view/AdminCardDialog.java
@@ -0,0 +1,119 @@
+package com.dayu.qihealonelibrary.view;
+
+import static android.view.Gravity.CENTER;
+
+import android.app.Activity;
+import android.app.Dialog;
+import android.content.Intent;
+import android.text.TextUtils;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.RadioGroup;
+import android.widget.TextView;
+
+import com.dayu.baselibrary.dao.BaseDaoSingleton;
+import com.dayu.baselibrary.dao.LibraryDao;
+import com.dayu.baselibrary.dbbean.LibraryBean;
+import com.dayu.baselibrary.utils.TipUtil;
+import com.dayu.baselibrary.view.ConfirmDialog;
+import com.dayu.baselibrary.view.EdtDialog;
+import com.dayu.baselibrary.view.LibraryDialog;
+import com.dayu.qihealonelibrary.R;
+import com.dayu.qihealonelibrary.activity.BaseActivity;
+import com.dayu.qihealonelibrary.activity.ManagerReadActivity;
+import com.dayu.qihealonelibrary.activity.NFCWreatActivity;
+import com.dayu.qihealonelibrary.card.ManageCard;
+
+/**
+ * author: zuo
+ * Date: 2024-05-08
+ * Time: 17:53
+ * 澶囨敞锛氬埗浣滅鐞嗗崱鏃堕�夋嫨鏈満鐢ㄦ埛杩樻槸鎵嬪姩杈撳叆
+ */
+public class AdminCardDialog extends Dialog {
+
+    BaseActivity mContext;
+    boolean ischose = false;
+
+    int type;
+
+    EdtDialog edtDialog;
+
+    public AdminCardDialog(BaseActivity context) {
+        super(context, com.dayu.baselibrary.R.style.ws_pay_showSelfDialog);
+        mContext = context;
+        initView();
+    }
+
+    private void initView() {
+        getWindow().setGravity(CENTER);
+        setContentView(R.layout.admincard_dialog);
+        setCanceledOnTouchOutside(false);
+        RadioGroup radioGroup = findViewById(com.dayu.baselibrary.R.id.radioLibrary);
+
+        radioGroup.setOnCheckedChangeListener((group, checkedId) -> {
+            ischose = true;
+            // 褰撻�変腑鐨凴adioButton鍙戠敓鍙樺寲鏃惰皟鐢�
+            if (checkedId == R.id.local) {
+                type = 0;
+            } else if (checkedId == R.id.input) {// 澶勭悊閫変腑Option 2鐨勯�昏緫
+                type = 1;
+            }
+        });
+        TextView okBtn = findViewById(com.dayu.baselibrary.R.id.ok);
+        okBtn.setOnClickListener(v -> {
+            if (ischose) {
+                if (type == 0) {
+                    Intent intent = new Intent(mContext, ManagerReadActivity.class);
+                    mContext.startActivity(intent);
+                    AdminCardDialog.this.dismiss();
+                } else {
+                    edtDialog = new EdtDialog(mContext, "璇疯緭鍏�16杩涘埗鐨勭敤鎴峰崱鍙�", new EdtDialog.DialogBack() {
+                        @Override
+                        public void onOk(String data) {
+                            if (!TextUtils.isEmpty(data) && data.length() == 8) {
+                                Intent intent = new Intent(mContext, NFCWreatActivity.class);
+                                ManageCard manageCard = new ManageCard();
+                                manageCard.setUserCard(data);
+                                intent.putExtra("manageCard", manageCard);
+                                mContext.startActivity(intent);
+                                mContext.finish();
+                            } else {
+                                TipUtil.show("璇疯緭鍏�8瀛楃鐨勫崱鍙�");
+                            }
+                        }
+
+                        @Override
+                        public void onCancel() {
+                            edtDialog.dismiss();
+                        }
+                    });
+                    edtDialog.show();
+                }
+            }
+        });
+
+
+    }
+
+    @Override
+    public void show() {
+
+        super.show();
+        /**
+         * 璁剧疆瀹藉害鍏ㄥ睆锛岃璁剧疆鍦╯how鐨勫悗闈�
+         */
+        WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
+        layoutParams.gravity = CENTER;
+        layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT;
+        layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT;
+        getWindow().getDecorView().setPadding(0, 0, 0, 0);
+        getWindow().setAttributes(layoutParams);
+    }
+
+
+    public interface libraryBack {
+        void listener(int type);
+    }
+}
\ No newline at end of file
diff --git a/qihealonelibrary/src/main/res/layout/activity_admin_qha.xml b/qihealonelibrary/src/main/res/layout/activity_admin_qha.xml
index d00d146..85f99e2 100644
--- a/qihealonelibrary/src/main/res/layout/activity_admin_qha.xml
+++ b/qihealonelibrary/src/main/res/layout/activity_admin_qha.xml
@@ -45,66 +45,6 @@
                 android:textColor="@color/text_selecter"
                 android:textSize="@dimen/text_size" />
 
-            <TextView
-                android:id="@+id/admin_registered"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="20dp"
-                android:layout_marginTop="20dp"
-                android:padding="5dp"
-                android:visibility="gone"
-                android:text="鍒朵綔閲嶆柊娉ㄥ唽璁惧鍗�"
-                android:textColor="@color/text_selecter"
-                android:textSize="@dimen/text_size" />
-
-            <TextView
-                android:id="@+id/admin_CleanUser"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="20dp"
-                android:layout_marginTop="20dp"
-                android:padding="5dp"
-                android:visibility="gone"
-                android:text="鍒朵綔鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�"
-                android:textColor="@color/text_selecter"
-                android:textSize="@dimen/text_size" />
-
-            <TextView
-                android:id="@+id/admin_domain"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="20dp"
-                android:layout_marginTop="20dp"
-                android:padding="5dp"
-                android:text="鍒朵綔璁剧疆鍩熷悕鍗�"
-                android:visibility="gone"
-                android:textColor="@color/text_selecter"
-                android:textSize="@dimen/text_size" />
-
-
-            <TextView
-                android:id="@+id/admin_test"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="20dp"
-                android:layout_marginTop="20dp"
-                android:padding="5dp"
-                android:text="鍒朵綔娴嬭瘯鍗�"
-                android:visibility="gone"
-                android:textColor="@color/text_selecter"
-                android:textSize="@dimen/text_size" />
-
-            <TextView
-                android:id="@+id/admin_configDeviceRegistration"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="20dp"
-                android:layout_marginTop="20dp"
-                android:padding="5dp"
-                android:text="鍒朵綔閰嶇疆璁惧淇℃伅鍗�"
-                android:visibility="gone"
-                android:textColor="@color/text_selecter"
-                android:textSize="@dimen/text_size" />
 
             <TextView
                 android:id="@+id/admin_passWordCard"
@@ -117,16 +57,6 @@
                 android:textColor="@color/text_selecter"
                 android:textSize="@dimen/text_size" />
 
-            <TextView
-                android:id="@+id/admin_configPower"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="20dp"
-                android:layout_marginTop="20dp"
-                android:padding="5dp"
-                android:text="鍒朵綔閰嶇疆姘存车鍔熺巼鍗�"
-                android:textColor="@color/text_selecter"
-                android:textSize="@dimen/text_size" />
 
             <TextView
                 android:id="@+id/admin_blackCard"
@@ -137,7 +67,8 @@
                 android:padding="5dp"
                 android:text="鍒朵綔榛戝崱"
                 android:textColor="@color/text_selecter"
-                android:textSize="@dimen/text_size" />
+                android:textSize="@dimen/text_size"
+                android:visibility="gone" />
 
             <TextView
                 android:id="@+id/admin_regionCard"
@@ -149,6 +80,17 @@
                 android:text="鍒朵綔鍖哄煙琛ㄥ彿鍗�"
                 android:textColor="@color/text_selecter"
                 android:textSize="@dimen/text_size" />
+
+            <TextView
+                android:id="@+id/admin_electricCard"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="20dp"
+                android:layout_marginTop="20dp"
+                android:padding="5dp"
+                android:text="鍒朵綔鐢ㄦ埛鐢甸噺鍗曚环鍗�"
+                android:textColor="@color/text_selecter"
+                android:textSize="@dimen/text_size" />
         </LinearLayout>
 
 
diff --git a/qihealonelibrary/src/main/res/layout/activity_manage_setup_qha.xml b/qihealonelibrary/src/main/res/layout/activity_manage_setup_qha.xml
deleted file mode 100644
index e9e3226..0000000
--- a/qihealonelibrary/src/main/res/layout/activity_manage_setup_qha.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-
-    <com.dayu.baselibrary.view.TitleBar
-        android:id="@+id/titleBar"
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/dimen_title_height"
-        android:background="@color/title_bar_bg"
-        app:centerText="璁惧搴忓垪鍙疯缃�"
-        app:leftImage="@mipmap/icon_back" />
-
-    <LinearLayout
-        android:id="@+id/village_ll"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_below="@id/titleBar"
-        android:layout_margin="20dp"
-        android:orientation="horizontal">
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="褰撳墠璁惧搴忓垪鍙凤細"
-            android:textSize="@dimen/text_size" />
-
-        <TextView
-            android:id="@+id/village_oldNumber"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:textSize="@dimen/text_size" />
-
-    </LinearLayout>
-
-
-    <EditText
-        android:id="@+id/village_newNum"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_below="@+id/village_ll"
-        android:layout_alignParentStart="true"
-        android:layout_marginStart="20dp"
-        android:layout_marginTop="20dp"
-        android:maxLength="8"
-        android:layout_marginEnd="20dp"
-        android:layout_marginBottom="20dp"
-        android:hint="璇疯緭鍏ユ柊璁剧疆鐨勮澶囧簭鍒楀彿"
-        android:inputType="number" />
-
-    <TextView
-        android:id="@+id/village_ok"
-        android:layout_width="match_parent"
-        android:layout_height="50dp"
-        android:layout_alignParentBottom="true"
-        android:background="@color/title_bg"
-        android:gravity="center"
-        android:text="纭�  瀹�"
-        android:textSize="@dimen/text_size" />
-</RelativeLayout>
\ No newline at end of file
diff --git a/qihealonelibrary/src/main/res/layout/activity_manager_list_qha.xml b/qihealonelibrary/src/main/res/layout/activity_manager_list_qha.xml
new file mode 100644
index 0000000..5e2ac56
--- /dev/null
+++ b/qihealonelibrary/src/main/res/layout/activity_manager_list_qha.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <com.dayu.baselibrary.view.TitleBar
+        android:id="@+id/titleBar"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/dimen_title_height"
+        android:background="@color/title_bar_bg"
+        app:centerText="閫夋嫨鏈満鐢ㄦ埛"
+        app:leftImage="@mipmap/icon_back"
+        app:rightText="绛涢��" />
+
+    <com.scwang.smart.refresh.layout.SmartRefreshLayout
+        android:id="@+id/refreshLayout"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_below="@+id/titleBar">
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/recyclerView"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:background="#ffffff"
+            android:overScrollMode="never"
+            android:padding="10dp" />
+
+        <com.scwang.smart.refresh.footer.ClassicsFooter
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content" />
+    </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/qihealonelibrary/src/main/res/layout/activity_manager_read_qha.xml b/qihealonelibrary/src/main/res/layout/activity_manager_read_qha.xml
new file mode 100644
index 0000000..513ae23
--- /dev/null
+++ b/qihealonelibrary/src/main/res/layout/activity_manager_read_qha.xml
@@ -0,0 +1,196 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <com.dayu.baselibrary.view.TitleBar
+        android:id="@+id/titleBar"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/dimen_title_height"
+        android:background="@color/title_bar_bg"
+        app:centerText="璇诲彇鍗$墖"
+        app:leftImage="@mipmap/icon_back" />
+
+    <ScrollView
+        android:id="@+id/read_userLL"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_below="@id/titleBar"
+        android:visibility="gone">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_margin="20dp"
+            android:orientation="vertical">
+
+            <TextView
+                android:id="@+id/red_name"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="15dp"
+                android:text="濮撳悕锛�"
+                android:textSize="@dimen/text_size" />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="15dp"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="鍗″彿锛�"
+                    android:textSize="@dimen/text_size" />
+
+                <TextView
+                    android:id="@+id/red_initCode"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text=""
+                    android:textSize="@dimen/text_size" />
+            </LinearLayout>
+
+
+            <TextView
+                android:id="@+id/red_remainder_blance"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="15dp"
+                android:text="鍓╀綑閲戦锛�"
+                android:textSize="@dimen/text_size" />
+
+            <TextView
+                android:id="@+id/red_remainder_water"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="15dp"
+                android:text="鍓╀綑姘撮噺锛�"
+                android:textSize="@dimen/text_size" />
+
+            <TextView
+                android:id="@+id/red_rechargeDate"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="15dp"
+                android:text="鏈�鍚庤喘姘存棩鏈燂細"
+                android:textSize="@dimen/text_size"
+                android:visibility="visible" />
+
+            <TextView
+                android:id="@+id/red_rechargeNumber"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="15dp"
+                android:text="鍏呭�兼鏁帮細"
+                android:textSize="@dimen/text_size"
+                android:visibility="visible" />
+
+            <TextView
+                android:id="@+id/red_total_water"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="15dp"
+                android:text="鎬荤敤姘撮噺锛�"
+                android:textSize="@dimen/text_size"
+                android:visibility="visible" />
+
+            <TextView
+                android:id="@+id/red_total_power"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="15dp"
+                android:text="鎬荤敤鐢甸噺锛�"
+                android:textSize="@dimen/text_size"
+                android:visibility="visible" />
+
+            <TextView
+                android:id="@+id/red_statu"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="15dp"
+                android:text="鍗$姸鎬侊細"
+                android:textSize="@dimen/text_size" />
+
+        </LinearLayout>
+
+    </ScrollView>
+
+
+    <LinearLayout
+        android:id="@+id/read_cardTypeLL"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_below="@id/titleBar"
+        android:gravity="center"
+        android:orientation="vertical"
+        android:visibility="visible">
+
+        <TextView
+            android:id="@+id/read_cardTypeTV"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerHorizontal="true"
+            android:layout_centerVertical="true"
+            android:layout_gravity="center"
+            android:gravity="center"
+            android:textSize="30sp"
+            android:textStyle="bold" />
+
+        <TextView
+            android:id="@+id/read_cardDataTV"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerHorizontal="true"
+            android:layout_centerVertical="true"
+            android:layout_gravity="center"
+            android:layout_marginTop="20dp"
+            android:gravity="left"
+            android:textSize="20sp"
+            android:textStyle="bold" />
+    </LinearLayout>
+
+
+    <LinearLayout
+        android:id="@+id/read_imgLL"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_below="@id/titleBar"
+        android:background="#ffffff"
+        android:orientation="vertical"
+        android:visibility="visible">
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/titleBar"
+            android:layout_marginTop="40dp"
+            android:gravity="center"
+            android:text="璇峰皢鐢ㄦ埛鏂板崱璐村湪璁惧涓婅繘琛岃鍗�"
+            android:textColor="@color/red"
+            android:textSize="@dimen/big_text_size" />
+
+
+        <ImageView
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_below="@id/textView"
+            android:scaleType="fitCenter"
+            android:src="@mipmap/nfc_write" />
+    </LinearLayout>
+
+    <com.wang.avi.AVLoadingIndicatorView
+        android:id="@+id/avi"
+        style="@style/AVLoadingIndicatorView"
+        android:layout_width="80dp"
+        android:layout_height="80dp"
+        android:layout_centerHorizontal="true"
+        android:layout_centerVertical="true"
+        android:visibility="gone"
+        app:indicatorColor="@color/title_bg"
+        app:indicatorName="BallClipRotatePulseIndicator" />
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/qihealonelibrary/src/main/res/layout/activity_parameter_qha.xml b/qihealonelibrary/src/main/res/layout/activity_parameter_qha.xml
index 4001008..af9e3b8 100644
--- a/qihealonelibrary/src/main/res/layout/activity_parameter_qha.xml
+++ b/qihealonelibrary/src/main/res/layout/activity_parameter_qha.xml
@@ -65,6 +65,7 @@
         android:layout_marginLeft="20dp"
         android:layout_marginTop="20dp"
         android:padding="5dp"
+        android:visibility="gone"
         android:text="鍖哄煙琛ㄥ彿璁剧疆"
         android:textColor="@color/text_selecter"
         android:textSize="@dimen/text_size" />
diff --git a/qihealonelibrary/src/main/res/layout/activity_password_card_qha.xml b/qihealonelibrary/src/main/res/layout/activity_password_card_qha.xml
index ac5dd9e..689e90e 100644
--- a/qihealonelibrary/src/main/res/layout/activity_password_card_qha.xml
+++ b/qihealonelibrary/src/main/res/layout/activity_password_card_qha.xml
@@ -24,7 +24,7 @@
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="褰撳墠瀵嗙爜"
+            android:text="褰撳墠瀵嗙爜锛�"
             android:textSize="@dimen/text_size" />
 
         <TextView
@@ -48,7 +48,8 @@
         android:layout_marginBottom="20dp"
         android:hint="璇疯緭鍏ユ柊璁剧疆鐨�12浣�16杩涘埗鍗″瘑鐮�"
         android:inputType="number|numberDecimal"
-        android:digits="0123456789." />
+        android:lines="1"
+        android:maxLength="12" />
 
     <TextView
         android:id="@+id/village_ok"
diff --git a/qihealonelibrary/src/main/res/layout/admincard_dialog.xml b/qihealonelibrary/src/main/res/layout/admincard_dialog.xml
new file mode 100644
index 0000000..745573f
--- /dev/null
+++ b/qihealonelibrary/src/main/res/layout/admincard_dialog.xml
@@ -0,0 +1,104 @@
+<?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="match_parent"
+    android:background="#00ffffff"
+    android:gravity="center"
+    android:orientation="vertical">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_margin="@dimen/dialog_bg_margin"
+        android:background="@drawable/base_bg_dialog_top_stroke"
+        android:gravity="center"
+        android:orientation="vertical">
+
+        <TextView
+            android:layout_width="300dp"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="20dp"
+            android:gravity="center"
+            android:text="閫夋嫨琛ュ崱鏂瑰紡"
+            android:textColor="@color/dialog_btn"
+            android:textSize="23sp"
+            android:textStyle="bold" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="2px"
+            android:layout_marginTop="20dp"
+            android:background="@color/line_bg" />
+
+        <RadioGroup
+            android:id="@+id/radioLibrary"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+
+
+            <RadioButton
+                android:id="@+id/local"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="50dp"
+                android:layout_marginTop="25dp"
+                android:layout_marginRight="50dp"
+                android:background="@drawable/radio_select"
+                android:button="@null"
+                android:gravity="center"
+                android:padding="6dp"
+                android:text="閫夋嫨鏈満鐢ㄦ埛"
+                android:textColor="@drawable/radio_text_select"
+                android:textSize="20sp" />
+
+            <RadioButton
+                android:id="@+id/input"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="50dp"
+                android:layout_marginTop="25dp"
+                android:layout_marginRight="50dp"
+                android:background="@drawable/radio_select"
+                android:button="@null"
+                android:gravity="center"
+                android:padding="6dp"
+                android:text="鍗曠嫭杈撳叆鍗″彿"
+                android:textColor="@drawable/radio_text_select"
+                android:textSize="20sp" />
+        </RadioGroup>
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="2px"
+            android:layout_marginTop="35dp"
+            android:background="@color/line_bg" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center_horizontal"
+            android:orientation="horizontal"
+            android:padding="5dp">
+
+            <TextView
+                android:id="@+id/ok"
+                android:layout_width="match_parent"
+                android:layout_height="@dimen/dialog_btn_height"
+                android:background="@drawable/textview_select_bg"
+                android:gravity="center"
+                android:paddingLeft="15dp"
+                android:paddingTop="5dp"
+                android:paddingRight="15dp"
+                android:paddingBottom="5dp"
+                android:text="纭�      璁�"
+                android:textColor="@color/dialog_btn"
+                android:textSize="20sp" />
+
+
+        </LinearLayout>
+
+
+    </LinearLayout>
+
+</LinearLayout>
+
diff --git a/qihealonelibrary/src/main/res/layout/qihe_item_replacements.xml b/qihealonelibrary/src/main/res/layout/qihe_item_replacements.xml
index 72c0f55..2604abe 100644
--- a/qihealonelibrary/src/main/res/layout/qihe_item_replacements.xml
+++ b/qihealonelibrary/src/main/res/layout/qihe_item_replacements.xml
@@ -7,14 +7,13 @@
 
         <variable
             name="activity"
-            type="com.dayu.qihealonelibrary.activity.ReplacementActivity" />
+            type="com.dayu.qihealonelibrary.activity.ManagerListActivity" />
 
     </data>
 
-
     <LinearLayout
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
+        android:layout_height="wrap_content"
         android:orientation="vertical">
 
         <LinearLayout
@@ -36,11 +35,18 @@
                 android:textSize="14sp" />
 
             <TextView
+                android:id="@+id/cardNumber"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:text="鍗″彿锛�" />
+
+            <TextView
                 android:id="@+id/userNo"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
-                android:text="鎴峰彿锛�123123"
+                android:text="韬唤璇佸彿锛�123123"
                 android:textSize="14sp" />
 
             <TextView
@@ -48,7 +54,7 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
-                android:text="姘撮噺锛�123123"
+                android:text="鐢佃瘽锛�123123"
                 android:textSize="14sp" />
 
             <TextView

--
Gitblit v1.8.0