diff --git a/app/src/main/java/com/supwisdom/activities/cardlib/CardlibActivity.kt b/app/src/main/java/com/supwisdom/activities/cardlib/CardlibActivity.kt
index f64c8cb..1417fe2 100644
--- a/app/src/main/java/com/supwisdom/activities/cardlib/CardlibActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/cardlib/CardlibActivity.kt
@@ -23,7 +23,7 @@
 @Suppress("DEPRECATION")
 class CardlibActivity : BaseActivity(), ICardlibView {
     private val pos = SPApplication.getInstance().getPos()
-    private var vResult: TextView? = null
+    private lateinit var vResult: TextView
     private var vProgressBar: ProgressBar? = null
     private var presenter: CardlibPresenter? = null
     @Volatile
@@ -86,14 +86,14 @@
     override fun showInitCardlibResult(issuccess: Boolean, msg: String) {
         if (issuccess) {
             val record = pos.getConfigPara()
-            if (record != null && record.initOK) {
+            if (record != null && record.initOK && pos.getDynamicPara() != null) {
                 jumpActivity(LoadActivity::class.java)
             } else {
                 jumpActivity(InitActivity::class.java)
             }
         } else {
-            vResult!!.text = msg
-            vResult!!.visibility = View.VISIBLE
+            vResult.text = msg
+            vResult.visibility = View.VISIBLE
             AuxScreenController.getInstance().refreshTitle("卡库初始化")
             AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDateTime())
             AuxScreenController.getInstance().refreshContent(listOf("请联系管理员", "加载驱动失败", "原因:", msg))
diff --git a/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt b/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt
index 6308775..ceb15e8 100644
--- a/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt
@@ -14,6 +14,7 @@
 import com.supwisdom.R
 import com.supwisdom.activities.BaseActivity
 import com.supwisdom.activities.SPApplication
+import com.supwisdom.activities.consume.bean.CardStatus
 import com.supwisdom.activities.consume.bean.CardUserInfoBean
 import com.supwisdom.activities.menu.MenuActivity
 import com.supwisdom.activities.transdtl.TransdtlActivity
@@ -40,10 +41,9 @@
     private lateinit var presenter: ConsumePresenter
     private lateinit var vLinkstat: TextView
     private lateinit var vShopname: TextView
-    private lateinit var vCustname: TextView
-    private lateinit var vStuempno: TextView
+    private lateinit var vCitizenName: TextView
+    private lateinit var vCitizenCardno: TextView
     private lateinit var vCardstatus: TextView
-    private lateinit var vBalance: TextView
     private lateinit var vTime: TextView
     private lateinit var vLinkLogo: ImageView
     private lateinit var vLastResult: TextView
@@ -119,21 +119,20 @@
     }
 
     private fun initView() {
-        vShopname = this.findViewById<TextView>(R.id.consume_shopname)
-        vLinkLogo = this.findViewById<ImageView>(R.id.consume_linklogo)
-        vLinkstat = this.findViewById<TextView>(R.id.consume_linkstat)
-        amountTxt = this.findViewById<TextView>(R.id.consume_amt)
-        vCustname = this.findViewById<TextView>(R.id.consume_custname)
-        vStuempno = this.findViewById<TextView>(R.id.consume_stuempno)
-        vCardstatus = this.findViewById<TextView>(R.id.consume_cardstatus)
-        vBalance = this.findViewById<TextView>(R.id.consume_balance)
-        vTime = this.findViewById<TextView>(R.id.consume_time)
-        vLastResult = this.findViewById<TextView>(R.id.consume_last_result)
+        vShopname = this.findViewById<TextView>(R.id.tv_shopname)
+        vLinkLogo = this.findViewById<ImageView>(R.id.tv_linklogo)
+        vLinkstat = this.findViewById<TextView>(R.id.tv_linkstat)
+        amountTxt = this.findViewById<TextView>(R.id.tv_input_amt)
+        vCitizenName = this.findViewById<TextView>(R.id.tv_citizen_name)
+        vCitizenCardno = this.findViewById<TextView>(R.id.tv_citizen_cardno)
+        vCardstatus = this.findViewById<TextView>(R.id.tv_cardstatus)
+        vTime = this.findViewById<TextView>(R.id.tv_nowtime)
+        vLastResult = this.findViewById<TextView>(R.id.tv_last_pay_result)
         vLastPayamt = this.findViewById<TextView>(R.id.consume_last_payamt)
-        vLastPayway = this.findViewById<TextView>(R.id.consume_last_payway)
-        vLastPayday = this.findViewById<TextView>(R.id.consume_last_payday)
-        vLastPaytime = this.findViewById<TextView>(R.id.consume_last_paytime)
-        vLastPayFailreason = this.findViewById<TextView>(R.id.consume_last_failreason)
+        vLastPayway = this.findViewById<TextView>(R.id.tv_last_payway)
+        vLastPayday = this.findViewById<TextView>(R.id.tv_last_payday)
+        vLastPaytime = this.findViewById<TextView>(R.id.tv_last_paytime)
+        vLastPayFailreason = this.findViewById<TextView>(R.id.tv_last_failreason)
         vLastPayFailll = this.findViewById<LinearLayout>(R.id.ll_consume_last_failreason)
         vLastPayamtll = this.findViewById<LinearLayout>(R.id.ll_consume_last_payamt)
     }
@@ -214,33 +213,22 @@
 
     override fun showUserInfo(info: CardUserInfoBean) {
         CommonUtil.acquireWakeLock(this)
-        vCustname.text = info.username
-        if (info.retcode == PublicDef.SUCCESS) {
-            vCardstatus.text = "暂未实现"//PublicDef.CARD_STAT_MAP[info.cardstat]
-            if (info.cardstatus != 0) {
-                vCardstatus.setTextColor(Color.RED)
-            } else {
-                vCardstatus.setTextColor(resources.getColor(R.color.blue))
-            }
-            if (info.balance == null) {
-                vBalance.text = null
-            } else {
-                vBalance.text = String.format("%.02f 元", info.balance!! / 100.0f)
-            }
-        } else {
-            vCardstatus.text = info.retmsg
+        vCitizenName.text = info.username
+        vCitizenCardno.text = info.cardno
+        vCardstatus.text = info.cardstatus?.toString()
+        if (info.cardstatus != CardStatus.NORMAL) {
             vCardstatus.setTextColor(Color.RED)
-            vBalance.text = null
+        } else {
+            vCardstatus.setTextColor(resources.getColor(R.color.blue))
         }
     }
 
     private var lastshowtime: String? = null
     override fun clearUserInfo(datetime: String) {
         if (!isBackRuning) {
-            vCustname.text = null
-            vStuempno.text = null
+            vCitizenName.text = null
+            vCitizenCardno.text = null
             vCardstatus.text = null
-            vBalance.text = null
             val tmptime = datetime.substring(0, 16)
             if (lastshowtime != tmptime) {
                 lastshowtime = tmptime
@@ -437,6 +425,8 @@
     private fun checkAmtToPay() {
         amount = getCurAmount() + addAmount
         if (amount > 0) {
+            AuxScreenController.getInstance()
+                .refreshContent(Arrays.asList("等待付款", CommonUtil.showFormatAmount("金额", amount)))
             amountTxt.text = String.format("%.02f", amount / 100.0f)
             presenter.clickToPay(amount)
             showDialogPay()
@@ -472,8 +462,8 @@
                 amountTxt.text = "$str$value"
             }
         } else {
-            //限制消费金额<1000
-            if (str.length < 3) {
+            //限制消费金额<10000
+            if (str.length < 4) {
                 amountTxt.text = "$str$value"
             }
         }
diff --git a/app/src/main/java/com/supwisdom/activities/consume/bean/CardAccountRetBean.kt b/app/src/main/java/com/supwisdom/activities/consume/bean/CardAccountRetBean.kt
index 461c16d..1cc78c1 100644
--- a/app/src/main/java/com/supwisdom/activities/consume/bean/CardAccountRetBean.kt
+++ b/app/src/main/java/com/supwisdom/activities/consume/bean/CardAccountRetBean.kt
@@ -8,7 +8,7 @@
  **/
 class CardAccountRetBean : BaseResp() {
     var username: String? = null
-    var userid: Int = 0
-    var balance: Int = 0
+    var userid: String? = null
+    var balance: Int? = null
     var status: String? = null
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/supwisdom/activities/consume/bean/CardBean.kt b/app/src/main/java/com/supwisdom/activities/consume/bean/CardBean.kt
index f68486f..e27206f 100644
--- a/app/src/main/java/com/supwisdom/activities/consume/bean/CardBean.kt
+++ b/app/src/main/java/com/supwisdom/activities/consume/bean/CardBean.kt
@@ -12,7 +12,7 @@
     var datetime: String? = null
     var amount: Int = 0
     var username: String? = null
-    var userid: Int = 0
+    var userid: String? = null
     var balance: Int? = null
-    var cardstatus: Int = 0
+    var cardstatus: CardStatus? = null
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/supwisdom/activities/consume/bean/CardUserInfoBean.kt b/app/src/main/java/com/supwisdom/activities/consume/bean/CardUserInfoBean.kt
index ebaf647..499cdd3 100644
--- a/app/src/main/java/com/supwisdom/activities/consume/bean/CardUserInfoBean.kt
+++ b/app/src/main/java/com/supwisdom/activities/consume/bean/CardUserInfoBean.kt
@@ -10,13 +10,27 @@
  **/
 class CardUserInfoBean constructor(retcode: Int, retmsg: String) : BaseResp(retcode, retmsg) {
     var username: String? = null
+    var cardno: String? = null
     var showtime: Int = 3
     var balance: Int? = null
-    var cardstatus: Int = 0
+    var cardstatus: CardStatus? = null
     var amount: Int = 0
     var payamt: Int = 0
     var status: PayStatus? = null
     var reversalFlag: ReversalFlag? = null
     var datetime: String? = null
     var payway: String? = null //card,code
+}
+
+enum class CardStatus(val desc: String) {
+    NORMAL("正常"),
+    LOCK("已锁定"),
+    FROZEN("已冻结"),
+    LOST("已挂失"),
+    EXPIRE("已过期"),
+    LOGOUT("已注销");
+
+    override fun toString(): String {
+        return this.desc
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/supwisdom/activities/consume/mode/CardPayService.kt b/app/src/main/java/com/supwisdom/activities/consume/mode/CardPayService.kt
index 3972fe6..6f501b0 100644
--- a/app/src/main/java/com/supwisdom/activities/consume/mode/CardPayService.kt
+++ b/app/src/main/java/com/supwisdom/activities/consume/mode/CardPayService.kt
@@ -14,10 +14,8 @@
 import com.supwisdom.exception.CardPayCancelFailError
 import com.supwisdom.exception.CardPayFailError
 import com.supwisdom.okhttp.TransResp
-import com.supwisdom.utils.CommonUtil
-import com.supwisdom.utils.DateUtil
-import com.supwisdom.utils.GsonUtil
-import com.supwisdom.utils.PublicDef
+import com.supwisdom.service.EpayApiImpl
+import com.supwisdom.utils.*
 import org.apache.http.HttpStatus
 
 /**
@@ -148,15 +146,24 @@
                     cardBean.username = retBean.username
                     cardBean.userid = retBean.userid
                     cardBean.balance = retBean.balance
-                    cardBean.cardstatus = 1 //TODO
+                    when {
+                        "normal" == retBean.status -> cardBean.cardstatus = CardStatus.NORMAL
+                        "expire" == retBean.status -> cardBean.cardstatus = CardStatus.EXPIRE
+                        "lost" == retBean.status -> cardBean.cardstatus = CardStatus.LOCK
+                        "logout" == retBean.status -> cardBean.cardstatus = CardStatus.LOGOUT
+                        "frozen" == retBean.status -> cardBean.cardstatus = CardStatus.FROZEN
+                        "lock" == retBean.status -> cardBean.cardstatus = CardStatus.LOST
+                    }
                 }
             }
         }
 
         private fun showCardUserInfo() {
             val info = CardUserInfoBean(PublicDef.SUCCESS, "账户信息")
-            info.username = cardBean.username
-            info.balance = cardBean.balance
+            if (cardBean.username != cardBean.cardNo) {
+                info.username = cardBean.username
+            }
+            info.cardno = cardBean.cardNo
             info.cardstatus = cardBean.cardstatus
             sendMsg(PublicDef.MSG_USER_INFO_SHOW, info)
         }
@@ -298,11 +305,16 @@
 
             val whiteRecord =
                 pos.getWhiteList(offRecord.cardphyid!!, offRecord.cardno!!) ?: throw CardPayFailError("卡无权限")
-            if (whiteRecord.flag == 1) {
-                throw CardPayFailError("卡已锁定")
-            }
-            if (whiteRecord.balance < offRecord.payamt) {
-                throw CardPayFailError("请到联机设备使用")
+            when (whiteRecord.status) {
+                "normal" -> {
+
+                }
+                "expire" -> throw CardPayFailError("卡已过期")
+                "lost" -> throw CardPayFailError("卡已挂失")
+                "logout" -> throw CardPayFailError("卡已注销")
+                "frozen" -> throw CardPayFailError("卡已冻结")
+                "lock" -> throw CardPayFailError("卡已锁定")
+                else -> throw CardPayFailError("卡状态:${whiteRecord.status}")
             }
         }
 
@@ -339,6 +351,19 @@
             if (!pos.updateTransdtlOffline(offRecord)) {
                 throw CardPayFailError("更新流水失败")
             }
+            asyncUpload(offRecord)
+        }
+
+        private fun asyncUpload(dtl: TransdtlOfflineRecord) {
+            ThreadPool.getShortPool().execute(Runnable {
+                try {
+                    EpayApiImpl().uploadTransdtl(dtl)
+                    dtl.upflag = 1
+                    pos.updateTransdtlOffline(dtl)
+                } catch (ex: java.lang.Exception) {
+                    ex.printStackTrace()
+                }
+            })
         }
 
         private fun doClear() {
diff --git a/app/src/main/java/com/supwisdom/bean/WhiteListItemBean.kt b/app/src/main/java/com/supwisdom/bean/WhiteListItemBean.kt
index 398667c..f74f4a5 100644
--- a/app/src/main/java/com/supwisdom/bean/WhiteListItemBean.kt
+++ b/app/src/main/java/com/supwisdom/bean/WhiteListItemBean.kt
@@ -7,6 +7,5 @@
 class WhiteListItemBean {
     var cardphyid: String? = null
     var cardno: String? = null
-    var flag: Int = 0
-    var balance: Int = 0
+    var status: String? = null
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/supwisdom/db/BeanPropEnum.kt b/app/src/main/java/com/supwisdom/db/BeanPropEnum.kt
index 8eb7e66..7f855d2 100644
--- a/app/src/main/java/com/supwisdom/db/BeanPropEnum.kt
+++ b/app/src/main/java/com/supwisdom/db/BeanPropEnum.kt
@@ -92,8 +92,7 @@
     enum class WhiteList {
         cardphyid,
         cardno,
-        flag,
-        balance
+        status
     }
 
     enum class TransdtlUnion {
diff --git a/app/src/main/java/com/supwisdom/db/DBParaHelper.kt b/app/src/main/java/com/supwisdom/db/DBParaHelper.kt
index 17c542a..e742c04 100644
--- a/app/src/main/java/com/supwisdom/db/DBParaHelper.kt
+++ b/app/src/main/java/com/supwisdom/db/DBParaHelper.kt
@@ -41,8 +41,7 @@
             + TABLE_NAME_WHITELIST + " ( "
             + BeanPropEnum.WhiteList.cardphyid + " varchar(32),"
             + BeanPropEnum.WhiteList.cardno + " varchar(32),"
-            + BeanPropEnum.WhiteList.flag + " integer,"
-            + BeanPropEnum.WhiteList.balance + " integer,"
+            + BeanPropEnum.WhiteList.status + " varchar(16),"
             + "primary key ("
             + BeanPropEnum.WhiteList.cardphyid + ","
             + BeanPropEnum.WhiteList.cardno + ") )")
diff --git a/app/src/main/java/com/supwisdom/db/Pos.kt b/app/src/main/java/com/supwisdom/db/Pos.kt
index d03277b..6159775 100644
--- a/app/src/main/java/com/supwisdom/db/Pos.kt
+++ b/app/src/main/java/com/supwisdom/db/Pos.kt
@@ -173,7 +173,11 @@
     fun saveTransdtlOnline(record: TransdtlOnlineRecord): Boolean {
         try {
             transdtlOnlineDao.getLock().lock()
-            return transdtlOnlineDao.save(record)
+            if (transdtlOnlineDao.save(record)) {
+                onlMaxSeqno = record.devseqno
+                return true
+            }
+            return false
         } finally {
             transdtlOnlineDao.getLock().unlock()
         }
@@ -221,7 +225,11 @@
     fun saveTransdtlOffline(record: TransdtlOfflineRecord): Boolean {
         try {
             transdtlOfflineDao.getLock().lock()
-            return transdtlOfflineDao.save(record)
+            if (transdtlOfflineDao.save(record)) {
+                offMaxSeqno = record.devseqno
+                return true
+            }
+            return false
         } finally {
             transdtlOfflineDao.getLock().unlock()
         }
diff --git a/app/src/main/java/com/supwisdom/db/WhiteListDao.kt b/app/src/main/java/com/supwisdom/db/WhiteListDao.kt
index a5dfcdd..2630c43 100644
--- a/app/src/main/java/com/supwisdom/db/WhiteListDao.kt
+++ b/app/src/main/java/com/supwisdom/db/WhiteListDao.kt
@@ -68,8 +68,7 @@
         val record = WhiteListRecord()
         record.cardphyid = cursor.getString(cursor.getColumnIndex(BeanPropEnum.WhiteList.cardphyid.toString()))
         record.cardno = cursor.getString(cursor.getColumnIndex(BeanPropEnum.WhiteList.cardno.toString()))
-        record.flag = cursor.getInt(cursor.getColumnIndex(BeanPropEnum.WhiteList.flag.toString()))
-        record.balance = cursor.getInt(cursor.getColumnIndex(BeanPropEnum.WhiteList.balance.toString()))
+        record.status = cursor.getString(cursor.getColumnIndex(BeanPropEnum.WhiteList.status.toString()))
         return record
     }
 
@@ -77,8 +76,7 @@
         val values = ContentValues()
         values.put(BeanPropEnum.WhiteList.cardphyid.toString(), record.cardphyid)
         values.put(BeanPropEnum.WhiteList.cardno.toString(), record.cardno)
-        values.put(BeanPropEnum.WhiteList.flag.toString(), record.flag)
-        values.put(BeanPropEnum.WhiteList.balance.toString(), record.balance)
+        values.put(BeanPropEnum.WhiteList.status.toString(), record.status)
         return values
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/supwisdom/entity/WhiteListRecord.kt b/app/src/main/java/com/supwisdom/entity/WhiteListRecord.kt
index bbda15c..a632753 100644
--- a/app/src/main/java/com/supwisdom/entity/WhiteListRecord.kt
+++ b/app/src/main/java/com/supwisdom/entity/WhiteListRecord.kt
@@ -7,6 +7,5 @@
 class WhiteListRecord {
     var cardphyid: String? = null
     var cardno: String? = null
-    var flag: Int = 0 // 0--白卡 1--黑卡
-    var balance: Int = 0
+    var status: String? = null
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/supwisdom/service/EpayApiImpl.kt b/app/src/main/java/com/supwisdom/service/EpayApiImpl.kt
index 517819d..ae6fd09 100644
--- a/app/src/main/java/com/supwisdom/service/EpayApiImpl.kt
+++ b/app/src/main/java/com/supwisdom/service/EpayApiImpl.kt
@@ -143,8 +143,7 @@
                 val record = WhiteListRecord()
                 record.cardphyid = it.cardphyid
                 record.cardno = it.cardno
-                record.flag = it.flag
-                record.balance = it.balance
+                record.status = it.status
                 list.add(record)
             }
             if (!pos.saveWhiteList(list)) {
diff --git a/app/src/main/res/layout/activity_consume.xml b/app/src/main/res/layout/activity_consume.xml
index b4565e0..44ed9bd 100644
--- a/app/src/main/res/layout/activity_consume.xml
+++ b/app/src/main/res/layout/activity_consume.xml
@@ -1,437 +1,426 @@
 <?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="@color/light_blue2"
-    android:focusable="true"
-    android:orientation="vertical">
+              android:layout_width="match_parent"
+              android:layout_height="match_parent"
+              android:background="@color/light_blue2"
+              android:focusable="true"
+              android:orientation="vertical">
 
     <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="20dp"
-        android:layout_marginTop="20dp"
-        android:layout_marginRight="20dp"
-        android:background="@drawable/corner_bg_white"
-        android:orientation="vertical">
-
-        <LinearLayout
             android:layout_width="match_parent"
-            android:layout_height="304dp"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="20dp"
+            android:layout_marginTop="20dp"
+            android:layout_marginRight="20dp"
+            android:background="@drawable/corner_bg_white"
             android:orientation="vertical">
 
-            <LinearLayout
+        <LinearLayout
                 android:layout_width="match_parent"
-                android:layout_height="130dp"
-                android:orientation="horizontal"
-                android:padding="@dimen/consume_text_pad_size"
-                android:weightSum="3">
+                android:layout_height="304dp"
+                android:orientation="vertical">
+
+            <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="130dp"
+                    android:orientation="horizontal"
+                    android:padding="@dimen/consume_text_pad_size"
+                    android:weightSum="3">
 
                 <LinearLayout
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="2"
-                    android:orientation="horizontal">
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="2"
+                        android:orientation="horizontal">
 
                     <ImageView
-                        android:layout_width="60dp"
-                        android:layout_height="60dp"
-                        android:layout_gravity="center"
-                        android:scaleType="fitXY"
-                        android:src="@mipmap/shop_logo" />
+                            android:layout_width="60dp"
+                            android:layout_height="60dp"
+                            android:layout_gravity="center"
+                            android:scaleType="fitXY"
+                            android:src="@mipmap/shop_logo"/>
 
                     <LinearLayout
-                        android:layout_width="wrap_content"
-                        android:layout_height="match_parent"
-                        android:layout_gravity="center"
-                        android:layout_marginLeft="10dp"
-                        android:layout_marginTop="8dp"
-                        android:orientation="vertical"
-                        android:padding="1dp">
+                            android:layout_width="wrap_content"
+                            android:layout_height="match_parent"
+                            android:layout_gravity="center"
+                            android:layout_marginLeft="10dp"
+                            android:layout_marginTop="8dp"
+                            android:orientation="vertical"
+                            android:padding="1dp">
 
                         <TextView
-                            android:id="@+id/consume_shopname"
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:maxLines="2"
-                            android:text=""
-                            android:textColor="@color/blue"
-                            android:textSize="28sp" />
+                                android:id="@+id/tv_shopname"
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:maxLines="2"
+                                android:text=""
+                                android:textColor="@color/blue"
+                                android:textSize="28sp"/>
 
                         <TextView
-                            android:id="@+id/consume_time"
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:gravity="start"
-                            android:maxLines="1"
-                            android:text=""
-                            android:textColor="@color/blue"
-                            android:textSize="22sp" />
+                                android:id="@+id/tv_nowtime"
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:gravity="start"
+                                android:maxLines="1"
+                                android:text=""
+                                android:textColor="@color/blue"
+                                android:textSize="22sp"/>
                     </LinearLayout>
                 </LinearLayout>
 
                 <LinearLayout
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_gravity="center"
-                    android:layout_weight="1"
-                    android:gravity="right"
-                    android:orientation="horizontal">
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_gravity="center"
+                        android:layout_weight="1"
+                        android:gravity="end"
+                        android:orientation="horizontal">
 
                     <ImageView
-                        android:id="@+id/consume_linklogo"
-                        android:layout_width="30dp"
-                        android:layout_height="30dp"
-                        android:scaleType="fitXY"
-                        android:src="@drawable/wireless_on" />
+                            android:id="@+id/tv_linklogo"
+                            android:layout_width="30dp"
+                            android:layout_height="30dp"
+                            android:scaleType="fitXY"
+                            android:src="@drawable/wireless_on"/>
 
                     <TextView
-                        android:id="@+id/consume_linkstat"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:maxLines="1"
-                        android:text="已联网"
-                        android:textColor="@color/blue"
-                        android:textSize="22sp" />
+                            android:id="@+id/tv_linkstat"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:maxLines="1"
+                            android:text="已联网"
+                            android:textColor="@color/blue"
+                            android:textSize="22sp"/>
                 </LinearLayout>
             </LinearLayout>
 
             <View
+                    android:layout_width="match_parent"
+                    android:layout_height="1dp"
+                    android:layout_marginLeft="10dp"
+                    android:layout_marginRight="10dp"
+                    android:background="@color/black"/>
+
+            <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:orientation="horizontal"
+                    android:padding="@dimen/consume_text_pad_size">
+
+                <TextView
+                        android:id="@+id/tv_consume_hint"
+                        android:layout_width="260dp"
+                        android:layout_height="match_parent"
+                        android:gravity="start|center"
+                        android:text="消费金额"
+                        android:textColor="@color/blue"
+                        android:textSize="50sp"
+                        android:textStyle="bold"/>
+
+                <TextView
+                        android:id="@+id/tv_input_amt"
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:gravity="center"
+                        android:maxLines="1"
+                        android:text="0"
+                        android:textColor="@color/orange1"
+                        android:textSize="65sp"
+                        android:textStyle="bold"/>
+            </LinearLayout>
+        </LinearLayout>
+    </LinearLayout>
+
+    <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="20dp"
+            android:layout_marginTop="10dp"
+            android:layout_marginRight="20dp"
+            android:background="@drawable/corner_bg_ordinary_consume_green"
+            android:orientation="vertical">
+
+        <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:padding="10dp">
+
+            <ImageView
+                    android:layout_width="40dp"
+                    android:layout_height="40dp"
+                    android:scaleType="fitXY"
+                    android:src="@mipmap/show_card_info"/>
+
+            <TextView
+                    android:id="@+id/tv_card_info"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="市民卡信息"
+                    android:textColor="@color/blue"
+                    android:textSize="@dimen/consume_text_size2"/>
+        </LinearLayout>
+
+        <View
                 android:layout_width="match_parent"
                 android:layout_height="1dp"
                 android:layout_marginLeft="10dp"
+                android:layout_marginTop="5dp"
                 android:layout_marginRight="10dp"
-                android:background="@color/black" />
+                android:layout_marginBottom="5dp"
+                android:background="@color/black"/>
 
-            <LinearLayout
+        <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
-                android:orientation="horizontal"
-                android:padding="@dimen/consume_text_pad_size">
+                android:layout_marginLeft="10dp"
+                android:layout_marginTop="5dp"
+                android:orientation="vertical">
 
-                <TextView
-                    android:id="@+id/tv_consume_hint"
-                    android:layout_width="300dp"
-                    android:layout_height="match_parent"
-                    android:gravity="start|center"
-                    android:text="消费金额"
-                    android:textColor="@color/blue"
-                    android:textSize="50sp"
-                    android:textStyle="bold" />
+            <ImageView
+                    android:layout_width="80dp"
+                    android:layout_height="80dp"
+                    android:layout_gravity="center"
+                    android:scaleType="fitXY"
+                    android:src="@mipmap/default_photo"
+                    android:visibility="gone"/>
 
-                <TextView
-                    android:id="@+id/consume_amt"
+
+            <TextView
                     android:layout_width="wrap_content"
-                    android:layout_height="match_parent"
-                    android:gravity="center"
-                    android:maxLines="1"
-                    android:text="0"
-                    android:textColor="@color/orange1"
-                    android:textSize="65sp"
-                    android:textStyle="bold" />
+                    android:layout_height="wrap_content"
+                    android:padding="@dimen/consume_text_pad_size1"
+                    android:text="如需查询信息,请刷卡!"
+                    android:textColor="@color/blue"
+                    android:textSize="@dimen/consume_text_size2"/>
+
+            <LinearLayout style="@style/consume_wait_account_ll_style">
+
+                <TextView
+                        style="@style/consume_wait_account_paraname_style"
+                        android:text="姓         名: "/>
+
+                <TextView
+                        android:id="@+id/tv_citizen_name"
+                        style="@style/consume_wait_account_paraval_style"/>
+            </LinearLayout>
+
+            <LinearLayout style="@style/consume_wait_account_ll_style">
+
+                <TextView
+                        style="@style/consume_wait_account_paraname_style"
+                        android:text="市民卡号: "/>
+
+                <TextView
+                        android:id="@+id/tv_citizen_cardno"
+                        style="@style/consume_wait_account_paraval_style"/>
+            </LinearLayout>
+
+            <LinearLayout style="@style/consume_wait_account_ll_style">
+
+                <TextView
+                        style="@style/consume_wait_account_paraname_style"
+                        android:text="账户状态: "/>
+
+                <TextView
+                        android:id="@+id/tv_cardstatus"
+                        style="@style/consume_wait_account_paraval_style"/>
             </LinearLayout>
         </LinearLayout>
     </LinearLayout>
 
     <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="20dp"
-        android:layout_marginTop="10dp"
-        android:layout_marginRight="20dp"
-        android:background="@drawable/corner_bg_ordinary_consume_green"
-        android:orientation="vertical">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:padding="10dp">
-
-            <ImageView
-                android:layout_width="40dp"
-                android:layout_height="40dp"
-                android:scaleType="fitXY"
-                android:src="@mipmap/show_card_info" />
-
-            <TextView
-                android:id="@+id/tv_card_info"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="校园卡信息"
-                android:textColor="@color/blue"
-                android:textSize="@dimen/consume_text_size2" />
-        </LinearLayout>
-
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1dp"
-            android:layout_marginLeft="10dp"
-            android:layout_marginTop="5dp"
-            android:layout_marginRight="10dp"
-            android:layout_marginBottom="5dp"
-            android:background="@color/black" />
-
-        <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            android:layout_marginLeft="10dp"
-            android:layout_marginTop="5dp"
+            android:layout_marginLeft="20dp"
+            android:layout_marginTop="10dp"
+            android:layout_marginRight="20dp"
+            android:layout_marginBottom="20dp"
+            android:background="@drawable/corner_bg_ordinary_consume_green"
             android:orientation="vertical">
 
-            <ImageView
-                android:layout_width="80dp"
-                android:layout_height="80dp"
-                android:layout_gravity="center"
-                android:scaleType="fitXY"
-                android:src="@mipmap/default_photo"
-                android:visibility="gone" />
-
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:padding="@dimen/consume_text_pad_size1"
-                android:text="如需查询余额,请刷卡!"
-                android:textColor="@color/blue"
-                android:textSize="@dimen/consume_text_size2" />
-
-            <LinearLayout style="@style/consume_wait_account_ll_style">
-
-                <TextView
-                    style="@style/consume_wait_account_paraname_style"
-                    android:text="姓    名:  " />
-
-                <TextView
-                    android:id="@+id/consume_custname"
-                    style="@style/consume_wait_account_paraval_style" />
-            </LinearLayout>
-
-            <LinearLayout style="@style/consume_wait_account_ll_style">
-
-                <TextView
-                    style="@style/consume_wait_account_paraname_style"
-                    android:text="学工号:  " />
-
-                <TextView
-                    android:id="@+id/consume_stuempno"
-                    style="@style/consume_wait_account_paraval_style" />
-            </LinearLayout>
-
-            <LinearLayout style="@style/consume_wait_account_ll_style">
-
-                <TextView
-                    style="@style/consume_wait_account_paraname_style"
-                    android:text="余    额:  " />
-
-                <TextView
-                    android:id="@+id/consume_balance"
-                    style="@style/consume_wait_account_paraval_style" />
-            </LinearLayout>
-
-            <LinearLayout style="@style/consume_wait_account_ll_style">
-
-                <TextView
-                    style="@style/consume_wait_account_paraname_style"
-                    android:text="卡状态:  " />
-
-                <TextView
-                    android:id="@+id/consume_cardstatus"
-                    style="@style/consume_wait_account_paraval_style" />
-            </LinearLayout>
-        </LinearLayout>
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_marginLeft="20dp"
-        android:layout_marginTop="10dp"
-        android:layout_marginRight="20dp"
-        android:layout_marginBottom="20dp"
-        android:background="@drawable/corner_bg_ordinary_consume_green"
-        android:orientation="vertical">
-
         <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:padding="@dimen/consume_text_pad_size1">
-
-            <ImageView
-                android:layout_width="40dp"
-                android:layout_height="40dp"
-                android:scaleType="fitXY"
-                android:src="@mipmap/bill_lastdtl" />
-
-            <TextView
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:text="最近一笔"
-                android:textColor="@color/blue"
-                android:textSize="@dimen/consume_text_size2" />
+                android:orientation="horizontal"
+                android:padding="@dimen/consume_text_pad_size1">
+
+            <ImageView
+                    android:layout_width="40dp"
+                    android:layout_height="40dp"
+                    android:scaleType="fitXY"
+                    android:src="@mipmap/bill_lastdtl"/>
+
+            <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="最近一笔"
+                    android:textColor="@color/blue"
+                    android:textSize="@dimen/consume_text_size2"/>
         </LinearLayout>
 
         <View
-            android:layout_width="match_parent"
-            android:layout_height="1dp"
-            android:layout_marginLeft="10dp"
-            android:layout_marginTop="10dp"
-            android:layout_marginRight="10dp"
-            android:layout_marginBottom="5dp"
-            android:background="@color/black" />
+                android:layout_width="match_parent"
+                android:layout_height="1dp"
+                android:layout_marginLeft="10dp"
+                android:layout_marginTop="10dp"
+                android:layout_marginRight="10dp"
+                android:layout_marginBottom="5dp"
+                android:background="@color/black"/>
 
         <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:paddingLeft="10dp"
-            android:paddingTop="10dp">
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:text="支付结果:  "
-                android:textColor="@color/black"
-                android:textSize="@dimen/consume_text_size2" />
-
-            <TextView
-                android:id="@+id/consume_last_result"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:maxLines="1"
-                android:text=""
-                android:textColor="@color/blue"
-                android:textSize="@dimen/consume_text_size2"
-                android:textStyle="bold" />
+                android:orientation="horizontal"
+                android:paddingLeft="10dp"
+                android:paddingTop="10dp">
+
+            <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:text="支付结果:  "
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/consume_text_size2"/>
+
+            <TextView
+                    android:id="@+id/tv_last_pay_result"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:maxLines="1"
+                    android:text=""
+                    android:textColor="@color/blue"
+                    android:textSize="@dimen/consume_text_size2"
+                    android:textStyle="bold"/>
         </LinearLayout>
 
         <LinearLayout
-            android:id="@+id/ll_consume_last_failreason"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:paddingLeft="10dp"
-            android:paddingTop="5dp"
-            android:visibility="gone">
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:text="失败提示:  "
-                android:textColor="@color/cl_red"
-                android:textSize="@dimen/consume_text_size2" />
-
-            <TextView
-                android:id="@+id/consume_last_failreason"
+                android:id="@+id/ll_consume_last_failreason"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:maxLines="1"
-                android:text=""
-                android:textColor="@color/cl_red"
-                android:textSize="@dimen/consume_text_size2"
-                android:textStyle="bold" />
+                android:orientation="horizontal"
+                android:paddingLeft="10dp"
+                android:paddingTop="5dp"
+                android:visibility="gone">
+
+            <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:text="失败提示:  "
+                    android:textColor="@color/cl_red"
+                    android:textSize="@dimen/consume_text_size2"/>
+
+            <TextView
+                    android:id="@+id/tv_last_failreason"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:maxLines="1"
+                    android:text=""
+                    android:textColor="@color/cl_red"
+                    android:textSize="@dimen/consume_text_size2"
+                    android:textStyle="bold"/>
         </LinearLayout>
 
         <LinearLayout
-            android:id="@+id/ll_consume_last_payamt"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:paddingLeft="10dp"
-            android:paddingTop="5dp">
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:text="支付金额:  "
-                android:textColor="@color/black"
-                android:textSize="@dimen/consume_text_size2" />
-
-            <TextView
-                android:id="@+id/consume_last_payamt"
+                android:id="@+id/ll_consume_last_payamt"
                 android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:maxLines="1"
-                android:text=""
-                android:textColor="@color/blue"
-                android:textSize="@dimen/consume_text_size2"
-                android:textStyle="bold" />
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:paddingLeft="10dp"
+                android:paddingTop="5dp">
+
+            <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:text="支付金额:  "
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/consume_text_size2"/>
+
+            <TextView
+                    android:id="@+id/consume_last_payamt"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:maxLines="1"
+                    android:text=""
+                    android:textColor="@color/blue"
+                    android:textSize="@dimen/consume_text_size2"
+                    android:textStyle="bold"/>
         </LinearLayout>
 
         <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:paddingLeft="10dp"
-            android:paddingTop="5dp">
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:text="支付方式:  "
-                android:textColor="@color/black"
-                android:textSize="@dimen/consume_text_size2" />
-
-            <TextView
-                android:id="@+id/consume_last_payway"
                 android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:maxLines="1"
-                android:text=""
-                android:textColor="@color/blue"
-                android:textSize="@dimen/consume_text_size2"
-                android:textStyle="bold" />
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:paddingLeft="10dp"
+                android:paddingTop="5dp">
+
+            <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:text="支付方式:  "
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/consume_text_size2"/>
+
+            <TextView
+                    android:id="@+id/tv_last_payway"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:maxLines="1"
+                    android:text=""
+                    android:textColor="@color/blue"
+                    android:textSize="@dimen/consume_text_size2"
+                    android:textStyle="bold"/>
         </LinearLayout>
 
         <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:paddingLeft="10dp"
-            android:paddingTop="5dp">
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:text="支付日期:  "
-                android:textColor="@color/black"
-                android:textSize="@dimen/consume_text_size2" />
-
-            <TextView
-                android:id="@+id/consume_last_payday"
                 android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:maxLines="1"
-                android:text=""
-                android:textColor="@color/blue"
-                android:textSize="@dimen/consume_text_size2"
-                android:textStyle="bold" />
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:paddingLeft="10dp"
+                android:paddingTop="5dp">
+
+            <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:text="支付日期:  "
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/consume_text_size2"/>
+
+            <TextView
+                    android:id="@+id/tv_last_payday"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:maxLines="1"
+                    android:text=""
+                    android:textColor="@color/blue"
+                    android:textSize="@dimen/consume_text_size2"
+                    android:textStyle="bold"/>
         </LinearLayout>
 
         <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:paddingLeft="10dp"
-            android:paddingTop="5dp">
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:text="支付时间:  "
-                android:textColor="@color/black"
-                android:textSize="@dimen/consume_text_size2" />
-
-            <TextView
-                android:id="@+id/consume_last_paytime"
                 android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:maxLines="1"
-                android:text=""
-                android:textColor="@color/blue"
-                android:textSize="@dimen/consume_text_size2"
-                android:textStyle="bold" />
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:paddingLeft="10dp"
+                android:paddingTop="5dp">
+
+            <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:text="支付时间:  "
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/consume_text_size2"/>
+
+            <TextView
+                    android:id="@+id/tv_last_paytime"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:maxLines="1"
+                    android:text=""
+                    android:textColor="@color/blue"
+                    android:textSize="@dimen/consume_text_size2"
+                    android:textStyle="bold"/>
         </LinearLayout>
     </LinearLayout>
 </LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index d16cba1..123c964 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -393,6 +393,7 @@
         <item name="android:layout_height">wrap_content</item>
         <item name="android:layout_width">wrap_content</item>
         <item name="android:textColor">@color/black</item>
+        <item name="android:maxLines">1</item>
         <item name="android:textSize">@dimen/consume_text_size2</item>
     </style>
 
