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);
