diff --git a/www/img/icon_attendance.png b/www/img/icon_attendance.png
new file mode 100644
index 0000000..83f9f1d
--- /dev/null
+++ b/www/img/icon_attendance.png
Binary files differ
diff --git a/www/img/icon_conference.png b/www/img/icon_conference.png
new file mode 100644
index 0000000..53cb52b
--- /dev/null
+++ b/www/img/icon_conference.png
Binary files differ
diff --git a/www/js/mainmenu.js b/www/js/mainmenu.js
index eacec44..a8a5e2d 100644
--- a/www/js/mainmenu.js
+++ b/www/js/mainmenu.js
@@ -8,16 +8,32 @@
              console.log(event.registrationId)
         }, false)
         document.addEventListener("jpush.openNotification", function (event) {
-          var refno
+          var refno,msgtype
+		  var userid = window.localStorage.getItem("userid");
+		  var baseUrl = "https://yy.dlsmk.cn/wisdompolice/app"
           console.log("openNotify:"+event);
           if(device.platform == "Android") {
-            refno = event.extras.refno
+			msgtype = event.extras.msgtype
+			if (msgtype ==="conference"){
+				window.location= baseUrl + "/conference/signupconference?custid="+userid;
+			}else if(msgtype ==="atte1"){
+				window.location= baseUrl + "/atte/reviewindex?custid="+userid;
+			}else if(msgtype ==="atte2"){
+				window.location= baseUrl + "/atte/searchindex?custid="+userid;
+			}else if(msgtype ==="atte3"){
+				window.location= baseUrl + "/atte/reviewClock?custid="+userid;
+			}else if(msgtype ==="atte4"){
+				window.location= baseUrl + "/atte/clockhisindex?custid="+userid;
+			}else{
+				refno = event.extras.refno
+				app.openBill(refno);
+			}
           } else {
             refno = event.refno
             window.JPush.setApplicationIconBadgeNumber(0);
+			app.openBill(refno);
           }
-          app.openBill(refno);
-          console.log("openNotify:"+refno);
+          //console.log("openNotify:"+refno);
         }, false)
     },
     openBill:function(billno){
diff --git a/www/js/more.js b/www/js/more.js
index bd4cc2a..6c41713 100644
--- a/www/js/more.js
+++ b/www/js/more.js
@@ -34,11 +34,16 @@
             //showRet("https://yy.dlsmk.cn/wisdompolice/app/doorappindex?custid="+userid);
             showRet("https://yy.dlsmk.cn/wisdompolice/app/doordtl?custid="+userid);
         })
-        $("#moreBtn8").click(function(){
+        $("#moreBtn8").click(function(){ //考勤记录
             //window.location = "more.html";
             //showRet("https://yy.dlsmk.cn/wisdompolice/app/doorappindex?custid="+userid);
-            showRet("https://yy.dlsmk.cn/wisdompolice/app/doordtl?custid="+userid);
+            showRet("https://yy.dlsmk.cn/wisdompolice/app/attedtl?custid="+userid);
         })
+		$("#moreBtn9").click(function(){ //会议记录
+		    //window.location = "more.html";
+		    //showRet("https://yy.dlsmk.cn/wisdompolice/app/doorappindex?custid="+userid);
+		    showRet("https://yy.dlsmk.cn/wisdompolice/app/conference/conferencedtl?custid="+userid);
+		})
         $("#moreBtn2").click(function(){
             //window.location = "more.html";
             //showRet("https://yy.dlsmk.cn/wisdompolice/app/doorappindex?custid="+userid);
diff --git a/www/more.html b/www/more.html
index 72f6702..a97d9d6 100644
--- a/www/more.html
+++ b/www/more.html
@@ -51,12 +51,16 @@
             </div>
              <div class="aui-col-xs-3" id="moreBtn7">
                <div class="center-in"><img src="img/icon_more7.png" style="width:28px;height: 28px"></div>
-               <div class="aui-grid-label" style="margin-top:10px;">其他记录</div>
+               <div class="aui-grid-label" style="margin-top:10px;">门禁记录</div>
             </div>
-            <div class="aui-col-xs-3" id="moreBtn8" style="display: none">
-               <div class="center-in"><img src="img/icon_bill.png" style="width:28px;height: 28px"></div>
+            <div class="aui-col-xs-3" id="moreBtn8">
+               <div class="center-in"><img src="img/icon_conference.png" style="width:28px;height: 28px"></div>
                <div class="aui-grid-label" style="margin-top:10px;">考勤记录</div>
             </div>
+			<div class="aui-col-xs-3" id="moreBtn9">
+			   <div class="center-in"><img src="img/icon_attendance.png" style="width:28px;height: 28px"></div>
+			   <div class="aui-grid-label" style="margin-top:10px;">会议记录</div>
+			</div>
         </div>
     </section>
 
