diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/bean/CustomerSearchBean.java b/src/main/java/com/supwisdom/dlpay/restaurant/bean/CustomerSearchBean.java
index 7506ad2..983b8fd 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/bean/CustomerSearchBean.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/bean/CustomerSearchBean.java
@@ -13,6 +13,15 @@
 
     private String status;  //同步时添加状态异常的人员
     private String custStatus;
+    private String cardnover;
+
+    public String getCardnover() {
+        return cardnover;
+    }
+
+    public void setCardnover(String cardnover) {
+        this.cardnover = cardnover;
+    }
 
     public String getCustStatus() {
         return custStatus;
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/bean/CustomerShowBean.java b/src/main/java/com/supwisdom/dlpay/restaurant/bean/CustomerShowBean.java
index 5ffd06b..b2ec716 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/bean/CustomerShowBean.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/bean/CustomerShowBean.java
@@ -24,6 +24,15 @@
     private String remark;
     private String cardstatus;
     private String custstatus;
+    private String cardnover;
+
+    public String getCardnover() {
+        return cardnover;
+    }
+
+    public void setCardnover(String cardnover) {
+        this.cardnover = cardnover;
+    }
 
     public String getCuststatus() {
         return custstatus;
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustomerServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustomerServiceImpl.java
index 88b4432..6c6ce90 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustomerServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustomerServiceImpl.java
@@ -60,7 +60,7 @@
     @Override
     public PageResult<CustomerShowBean> getCustomerPage(CustomerSearchBean param,String type ) {
 
-        StringBuffer querySql = new StringBuffer("select t.cardno,c.custid,c.custname,c.inputdate,gg.discnt,d.deptcode,d.deptname,p.custtypename,c.status as custstatus, " +
+        StringBuffer querySql = new StringBuffer("select t.cardno,c.custid,c.custname,c.inputdate,gg.discnt,d.deptcode,d.deptname,p.custtypename,c.status as custstatus,tv.cardno as cardnover,  " +
                 "t.bankcardno,t.cardphyid,c.phone,c.custtype,c.checkstatus,t.status,t.transstatus,c.remark,c.custcode,t.status as cardstatus" +
                 " from tb_customer c " +
                 "left join Tb_card t on t.custid=c.custid " +
@@ -68,7 +68,7 @@
                 "on t.cardno=gg.cardno " +
                 "left join tb_dept d on c.deptcode= d.deptcode " +
                 "left join tb_custtype p on c.custtype=p.custtypeid " +
-
+                "left join tb_cardver tv on tv.custid=c.custid and tv.optype='logout' " +
                 " where 1=1 ");
         StringBuffer countSql = new StringBuffer("select count(*) as cnt from tb_customer c " +
                 "left join Tb_card t on t.custid=c.custid " +
@@ -76,6 +76,7 @@
                 "on t.cardno=gg.cardno " +
                 "left join tb_dept d on c.deptcode= d.deptcode " +
                 "left join tb_custtype p on c.custtype=p.custtypeid " +
+                "left join tb_cardver tv on tv.custid=c.custid and tv.optype='logout' " +
                 " where 1=1 ");
         if (!StringUtil.isEmpty(param.getCustname())) {
             querySql.append(" and  c.custname like :str ");
diff --git a/src/main/resources/templates/restaurant/customer/index.html b/src/main/resources/templates/restaurant/customer/index.html
index 28a3b17..694e868 100644
--- a/src/main/resources/templates/restaurant/customer/index.html
+++ b/src/main/resources/templates/restaurant/customer/index.html
@@ -98,7 +98,13 @@
             cols: [
                 [
                     {field: 'custname', align: 'center', title: '客户姓名', width: 160},
-                    {field: 'cardno', align: 'center', sort: true, title: '市民卡号', width: 160},
+                    {field: 'cardno', align: 'center', sort: true, title: '市民卡号', width: 160,templet: function (d) {
+                            if(d.custstatus=='delete'){
+                                return d.cardnover;
+                            } else {
+                                return d.cardno;
+                            }
+                        }},
                     {field: 'deptname', align: 'center', sort: true, title: '部门', width: 160},
                     {field: 'bankcardno', align: 'center', title: '银行卡号', width: 160},
                     {field: 'custtypename', align: 'center', title: '客户类别', width: 160},
