liumiaomiao %!s(int64=3) %!d(string=hai) anos
pai
achega
86c2fb77ff
Modificáronse 33 ficheiros con 986 adicións e 183 borrados
  1. 75 0
      src/jfw/modules/app/src/web/staticres/jyapp/css/p13.css
  2. BIN=BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/no-read-dot.png
  3. BIN=BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/read-dot.png
  4. 15 1
      src/jfw/modules/app/src/web/staticres/jyapp/js/common.js
  5. 86 0
      src/jfw/modules/app/src/web/staticres/jyapp/js/dateFunc.js
  6. 116 0
      src/jfw/modules/app/src/web/staticres/jyapp/js/message-index.js
  7. 4 0
      src/jfw/modules/app/src/web/templates/weixin/search/mainSearch.html
  8. 73 0
      src/web/staticres/common-module/messageCenter/css/mesg-temp.css
  9. BIN=BIN
      src/web/staticres/common-module/messageCenter/image/jyxia.png
  10. BIN=BIN
      src/web/staticres/common-module/messageCenter/image/no-read-dot.png
  11. BIN=BIN
      src/web/staticres/common-module/messageCenter/image/read-dot.png
  12. 7 1
      src/web/staticres/common-module/messageCenter/js/detail.js
  13. 1 21
      src/web/staticres/common-module/messageCenter/js/func.js
  14. 13 13
      src/web/staticres/common-module/messageCenter/js/index.js
  15. 124 0
      src/web/staticres/common-module/messageCenter/js/message-template-index.js
  16. 3 0
      src/web/staticres/frontRouter/pc/mesgCenter/css/index-pc.css
  17. 6 2
      src/web/staticres/frontRouter/pc/mesgCenter/js/index-pc.js
  18. BIN=BIN
      src/web/staticres/images/jyxia.png
  19. BIN=BIN
      src/web/staticres/images/no-read-dot.png
  20. BIN=BIN
      src/web/staticres/images/pc/banner.png
  21. BIN=BIN
      src/web/staticres/images/pc/msg-arrow.png
  22. BIN=BIN
      src/web/staticres/images/read-dot.png
  23. 4 4
      src/web/staticres/js/dateFunc.js
  24. 1 1
      src/web/staticres/js/index_content.js
  25. 75 1
      src/web/staticres/js/login.js
  26. 4 4
      src/web/staticres/js/message.js
  27. 142 0
      src/web/staticres/js/pc-message-index.js
  28. 99 28
      src/web/staticres/pccss/index.css
  29. 6 0
      src/web/staticres/public-pc/css/header-nav.css
  30. 1 1
      src/web/staticres/public-pc/js/header-nav.js
  31. 2 0
      src/web/templates/frontRouter/pc/messageCenter/sess/index.html
  32. 125 106
      src/web/templates/pc/index.html
  33. 4 0
      src/web/templates/weixin/search/mainSearch.html

+ 75 - 0
src/jfw/modules/app/src/web/staticres/jyapp/css/p13.css

@@ -409,3 +409,78 @@
 }
 /* -e page 订阅*/
 /* -E p13 */
+
+/* 消息展示 */
+.p13 .home .side-line {
+    padding: 0.16rem 0;
+    background: #F5F6F7;
+}
+.p13 .home .list-msg {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    padding: .24rem .32rem .16rem .32rem;
+    background: #fff;
+}
+.p13 .home .list-msg .l-msg .words {
+    width: 6.3rem;
+    display: flex;
+    flex-direction: initial;
+    align-items: center;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+}
+.p13 .home .list-msg .l-msg .words:nth-child(2) {
+    margin-top: 0.16rem;
+}
+.p13 .home .list-msg .img-div {
+    padding: 0.5rem 0;
+}
+.p13 .home .list-msg .imgActive {
+    padding: 0.15rem 0;
+}
+.p13 .home .list-msg .r-msg {
+    width: .22rem;
+    height: .14rem;
+    cursor: pointer;
+    transform:rotate(-90deg);
+    -ms-transform:rotate(-90deg); 	/* IE 9 */
+    -moz-transform:rotate(-90deg); 	/* Firefox */
+    -webkit-transform:rotate(-90deg); /* Safari 和 Chrome */
+    -o-transform:rotate(-90deg);
+}
+.p13 .home .list-msg .l-msg .words .dot-img {
+    width: .08rem;
+    height: .08rem;
+    margin-right: .16rem;
+}
+.p13 .home .list-msg .l-msg .words .dotActive {
+    background: #EDEFF2;
+}
+.p13 .home .list-msg .l-msg .words h3 {
+    font-size: .24rem;
+    font-weight: bold;
+    color: #171826;
+    line-height: .48rem;
+}
+.p13 .home .list-msg .l-msg .words span {
+    font-size: .24rem;
+    line-height: .48rem;
+    margin: 0 .24rem;
+    /* max-width: 3rem; */
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+}
+.p13 .home .list-msg .l-msg .words .spActive {
+    max-width: 3rem;
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+}
+.p13 .home .list-msg .l-msg .words p {
+    font-size: .22rem;
+    color: #9B9CA3;
+    line-height: .48rem;
+}

BIN=BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/no-read-dot.png


BIN=BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/read-dot.png


+ 15 - 1
src/jfw/modules/app/src/web/staticres/jyapp/js/common.js

@@ -1055,6 +1055,18 @@ function autoLogin (url, callBack) {
   });
 }
 
+// ios or android
+function msgAndroidOrIOS () {
+  var u = navigator.userAgent.toLowerCase()
+  var agent = null;
+  if (/iphone|ipod|ipad|ios/.test(u)) {
+    agent = 'ios'
+  } else if (/(Android)/i.test(u)) {
+    agent = 'android'
+  }
+  return agent
+}
+
 // 底部导航消息总数
 function checkMsgCount(acync, str, callback) {
   $.ajax({
@@ -1073,7 +1085,9 @@ function checkMsgCount(acync, str, callback) {
         var isMsg = localStorage.getItem('isMsgNum')
         if (num !== Number(isMsg)) {
           try {
+            JyObj.refreshAppointTab('search', 1)
             JyObj.refreshAppointTab('message', 1)
+            // JyObj.checkLab()
           } catch (e) {
             console.log(e)
           }
@@ -1089,7 +1103,7 @@ function checkMsgCount(acync, str, callback) {
 }
 
 function keepQuest() {
-  var appType = androidOrIOS(), timer = null
+  var appType = msgAndroidOrIOS(), timer = null
   if (appType == 'ios' || appType == 'android') {
     clearInterval(timer)
     timer = setInterval(() => {

+ 86 - 0
src/jfw/modules/app/src/web/staticres/jyapp/js/dateFunc.js

@@ -0,0 +1,86 @@
+function dateTime (date, fmt='yyyy年MM月dd日 hh:mm') {// 时间戳转换
+  if (!date) return ''
+  var changes =  date ? String(date).replace(/-/g, '/') : ''
+  d = new Date(changes)
+  var o = {
+    "M+": d.getMonth() + 1, //月份 
+    "d+": d.getDate(), //日 
+    "h+": d.getHours(), //小时 
+    "m+": d.getMinutes(), //分 
+    "s+": d.getSeconds() //秒
+  }
+
+  // 根据y的长度来截取年
+  if (/(y+)/.test(fmt)){ 
+    fmt = fmt.replace(RegExp.$1, (d.getFullYear() + "").substr(4 - RegExp.$1.length))
+  }
+  for (var k in o){
+    if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)))
+  }
+  return fmt
+}
+
+function dateYear() {
+  // 获取当年的第一天
+  var date = new Date();
+  date.setDate(1);
+  date.setMonth(0);
+  return date.getTime();
+}
+
+function dateLast() {
+  // 获取昨天
+  var day = new Date();
+  day.setTime(day.getTime() - 24 * 60 * 60 * 1000);
+  return dateTime(day, 'yyyy/MM/dd');
+}
+
+function dateMatter(time, drag = 'normal') {
+  // 时间转换
+  var iosTime = time ? time.replace(/-/g, '/') : '' // 兼容ios
+  var timeStr = '';
+  var currentDay = dateTime(time, 'yyyy/MM/dd'); // 当前日期
+
+  var lingDay = new Date(new Date().toLocaleDateString()).getTime(); // 获取当天0点
+
+  var isTime = new Date(iosTime) - lingDay;
+  var diff = isTime < 0 ? '昨天' : '';
+  var isDate = new Date(iosTime) - dateYear();
+
+  if (isDate < 0) {
+    drag == 'normal' ? timeStr = dateTime(time) : timeStr = dateTime(time, 'yyyy年MM月dd日');
+  } else {
+    if (currentDay === dateLast()) {
+      drag == 'normal' ? timeStr = diff + dateTime(time, 'hh:mm') : timeStr = diff;
+    } else {
+      if (isTime < 0) {
+        drag == 'normal' ? timeStr = dateTime(time, 'MM月dd日 hh:mm') : timeStr = dateTime(time, 'MM月dd日');
+      } else {
+        timeStr = dateTime(time, 'hh:mm');
+      }
+    }
+  }
+
+  return timeStr;
+}
+// 判断是否为微信浏览器
+function getType () {
+  var ua = window.navigator.userAgent.toLowerCase()
+  if(ua.match(/MicroMessenger/i) == 'micromessenger'){
+    return true
+  } else {
+    return false
+  }
+}
+
+// ios or android
+function androidOrIOS () {
+  var u = navigator.userAgent.toLowerCase()
+  var agent = null;
+  if (/iphone|ipod|ipad|ios/.test(u)) {
+    agent = 'ios'
+  } else if (/(Android)/i.test(u)) {
+    agent = 'android'
+  }
+  return agent
+}

+ 116 - 0
src/jfw/modules/app/src/web/staticres/jyapp/js/message-index.js

@@ -0,0 +1,116 @@
+// app
+var temp = '<div class="side-line" v-if="lists.length"><div class="list-msg"><div class="l-msg"><div class="words" v-for="item in lists" :key="item.id"><img class="dot-img" src="../images/no-read-dot.png" v-if="item.isRead == 0"><img class="dot-img" src="../images/read-dot.png" v-else><h3 :class="{isActive: item.isRead == 0}">@@item.msg_type@@</h3><span @click="titleGoto(item)">@@item.title@@</span><p>@@item.createtime@@</p></div></div><div class="img-div" :class="{imgActive:lists.length==1}" @click="gotoUrl"><img class="r-msg" src="../images/wx/jyxia.png"></div></div></div>'
+
+var vm = new Vue({
+  el: '#vue-message-index-app',
+  delimiters: ['@@', '@@'],
+  template: temp,
+  data: function () {
+    return {
+      lists: []
+    }
+  },
+  created() {
+    this.getList()
+  },
+  methods: {
+    getList() {
+      var _this = this
+      $.ajax({
+        type:'POST',
+        url:'/jymessageCenter/latestNews',
+        success:function (res) {
+          if (res.data) {
+            res.data.forEach(v => {
+              v.msg_type = _this.msgType(v.msg_type)
+              v.createtime = dateMatter(v.createtime, 'nor')
+            });
+            _this.lists = res.data
+          }
+        }
+      })
+    },
+    topRead(ids, url, type) {
+      const _this = this
+      $.ajax({
+        type: 'POST',
+        url:'/jymessageCenter/markRead',
+        data: {
+          msgId: ids,
+          msgType: type
+        },
+        success:function () {
+          try {
+            // JyObj.refreshAppointTab('search', 0)
+            JyObj.refreshAppointTab('message', 1)
+            JyObj.checkLab()
+          } catch (e) {
+            console.log(e)
+          }
+          if (url) {
+            location.href = url
+          } else {
+            _this.getList()
+          }
+        }
+      })
+    },
+    titleGoto(item) {
+      let wxType = getType()
+      let appType = androidOrIOS()
+      let urls = item.url
+      if (wxType) {
+        if (item.isRead == 0) {
+          this.topRead(item.id, urls.weChatUrl, item.msg_type, wxType)
+        } else {
+          if (urls.weChatUrl) {
+            //链接中如果是www.jianyu360.cn域名,微信中会唤起app,该用window.open
+            window.open(urls.weChatUrl);
+          }
+        }
+      } else {
+        if (appType == 'android') {
+          if (item.isRead == 0) {
+            this.topRead(item.id, urls.androidUrl, item.msg_type)
+          } else {
+            if (urls.androidUrl) {
+              location.href = urls.androidUrl
+            } else {
+              return
+            }
+          }
+        } else {
+          if (item.isRead == 0) {
+            this.topRead(item.id, urls.iosUrl, item.msg_type)
+          } else {
+            if (urls.iosUrl) {
+              location.href = urls.iosUrl
+            } else {
+              return
+            }
+          }
+        }
+      }
+    },
+    gotoUrl() {
+      // location.href = '/jyapp/frontPage/messageCenter/sess/index'
+      try {
+        JyObj.skipAppointTab('message')
+      } catch (error) {
+        console.log(error)
+      }
+    },
+    msgType(val) {
+      const obj = {
+        '1': '活动优惠',
+        '2': '服务通知',
+        '3': '订阅消息',
+        '4': '项目动态 ',
+        '5': '企业动态',
+        '6': '分析报告 ',
+        '7': '系统通知',
+      }
+      return obj[val]
+    }
+  }
+})

+ 4 - 0
src/jfw/modules/app/src/web/templates/weixin/search/mainSearch.html

@@ -342,6 +342,8 @@
                     </a>
                 </div>
             </div>
+            <!-- 消息展示 -->
+            <div id="vue-message-index-app"></div>
             <!-- 最新标讯 -->
             <div class="home_data">
                 <h3 class="data_nav">最新标讯</h3>
@@ -642,6 +644,8 @@
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/js/visited.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/ent-search/ent-search-template.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/searchindex.js?v={{Msg "seo" "version"}}'></script>
+<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/dateFunc.js?v={{Msg "seo" "version"}}'></script>
+<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/message-index.js?v={{Msg "seo" "version"}}'></script>
 <script>
   {{$s:=(Ad "jy-app-sharepolitely-float" -1)}}
   var ADList={{$s}}

+ 73 - 0
src/web/staticres/common-module/messageCenter/css/mesg-temp.css

@@ -0,0 +1,73 @@
+/* 消息展示 */
+.side-line {
+  padding: 0.16rem 0;
+  background: #F5F6F7;
+}
+.list-msg {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: .24rem .32rem .16rem .32rem;
+  background: #fff;
+}
+.list-msg .l-msg .words {
+  width: 6.3rem;
+  display: flex;
+  flex-direction: initial;
+  align-items: center;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.list-msg .l-msg .words:nth-child(2) {
+  margin-top: 0.16rem;
+}
+.list-msg .img-div {
+  padding: 0.5rem 0;
+}
+.list-msg .imgActive {
+  padding: 0.15rem 0;
+}
+.list-msg .r-msg {
+  width: .22rem;
+  height: .14rem;
+  cursor: pointer;
+  transform:rotate(-90deg);
+  -ms-transform:rotate(-90deg); 	/* IE 9 */
+  -moz-transform:rotate(-90deg); 	/* Firefox */
+  -webkit-transform:rotate(-90deg); /* Safari 和 Chrome */
+  -o-transform:rotate(-90deg);
+}
+.list-msg .l-msg .words .dot-img {
+  width: .08rem;
+  height: .08rem;
+  margin-right: .16rem;
+}
+.list-msg .l-msg .words .dotActive {
+  background: #EDEFF2;
+}
+.list-msg .l-msg .words h3 {
+  font-size: .24rem;
+  font-weight: bold;
+  color: #171826;
+  line-height: .48rem;
+}
+.list-msg .l-msg .words span {
+  font-size: .24rem;
+  line-height: .48rem;
+  margin: 0 .24rem;
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+.list-msg .l-msg .words .spActive {
+  max-width: 3rem;
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+.list-msg .l-msg .words p {
+  font-size: .22rem;
+  color: #9B9CA3;
+  line-height: .48rem;
+}

BIN=BIN
src/web/staticres/common-module/messageCenter/image/jyxia.png


BIN=BIN
src/web/staticres/common-module/messageCenter/image/no-read-dot.png


BIN=BIN
src/web/staticres/common-module/messageCenter/image/read-dot.png


+ 7 - 1
src/web/staticres/common-module/messageCenter/js/detail.js

@@ -60,7 +60,13 @@ var vm = new Vue({
         data: {
           msgType: val
         },
-        success:function () {}
+        success:function () {
+          try {
+            JyObj.refreshAppointTab('search', 1)
+          } catch (error) {
+            console.log(error) 
+          }
+        }
       })
     },
     appMesg(type) {

+ 1 - 21
src/web/staticres/common-module/messageCenter/js/func.js

@@ -53,26 +53,6 @@ function getQueryString(name) {
   return context == null || context == "" || context == "undefined" ? "" : context;
 }
 
-function dateTime (date, fmt='yyyy年MM月dd日 hh:mm') {// 时间戳转换
-  if (!date) return ''
-  d = new Date(date)
-  var o = {
-    "M+": d.getMonth() + 1, //月份 
-    "d+": d.getDate(), //日 
-    "h+": d.getHours(), //小时 
-    "m+": d.getMinutes(), //分 
-    "s+": d.getSeconds() //秒
-  }
-
-  // 根据y的长度来截取年
-  if (/(y+)/.test(fmt)){ 
-    fmt = fmt.replace(RegExp.$1, (d.getFullYear() + "").substr(4 - RegExp.$1.length))
-  }
-  for (var k in o){
-    if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)))
-  }
-  return fmt
-}
 function dateTime (date, fmt='yyyy年MM月dd日 hh:mm') {// 时间戳转换
   if (!date) return ''
   var changes =  date ? String(date).replace(/-/g, '/') : ''
@@ -114,7 +94,7 @@ function dateMatter (time, type) {// 时间转换
   var diff = isTime < 0 ? '昨天' : ''
   var isDate = new Date(iosTime) - dateYear()
   if (isDate < 0) {
-    timeStr = dateTime(time)
+    type == 'out' ? timeStr = dateTime(time) : timeStr = dateTime(time, 'yyyy年MM月dd日')
   } else {
     if (currentDay === dateLast()) {
       if (type === 'out') {

+ 13 - 13
src/web/staticres/common-module/messageCenter/js/index.js

@@ -26,7 +26,7 @@ var vm = new Vue({
     }
   },
   mounted () {
-    iosBackRefresh()
+    // iosBackRefresh()
     keepQuest()
   },
   beforeDestroy() {
@@ -65,7 +65,7 @@ var vm = new Vue({
       })
     },
     // 点击置顶消息为已读
-    topRead(ids, url, type) {
+    topRead(ids, url, type, wxType) {
       const _this = this
       $.ajax({
         type:'POST',
@@ -77,12 +77,12 @@ var vm = new Vue({
         success:function () {
           _this.msgData()
           if (url) {
-        	if(getType()){
-				//链接中如果是www.jianyu360.cn域名,微信中会唤起app,该用window.open
-				window.open(url);
-			}else{
-	            location.href = url
-			}
+            if (getType()) {
+              //链接中如果是www.jianyu360.cn域名,微信中会唤起app,该用window.open
+              window.open(url)
+            } else {
+              location.href = url
+            }
           }
         }
       })
@@ -114,18 +114,18 @@ var vm = new Vue({
       let appType = androidOrIOS()
       if (wxType) {
         if (!num) {
-          this.topRead(ids, url.weChatUrl, type)
+          this.topRead(ids, url.weChatUrl, type, wxType)
         } else {
           if (url.weChatUrl) {
             //location.href = url.weChatUrl
-        	//链接中如果是www.jianyu360.cn域名,微信中会唤起app,该用window.open
-			window.open(url.weChatUrl);
+            //链接中如果是www.jianyu360.cn域名,微信中会唤起app,该用window.open
+            window.open(url.weChatUrl);
           }
         }
       } else {
         if (appType == 'android') {
           if (!num) {
-            this.topRead(ids, url.androidUrl, type)
+            this.topRead(ids, url.androidUrl, type, wxType)
           } else {
             if (url.androidUrl) {
               location.href = url.androidUrl
@@ -133,7 +133,7 @@ var vm = new Vue({
           }
         } else {
           if (!num) {
-            this.topRead(ids, url.iosUrl, type)
+            this.topRead(ids, url.iosUrl, type, wxType)
           } else {
             if (url.iosUrl) {
               location.href = url.iosUrl

+ 124 - 0
src/web/staticres/common-module/messageCenter/js/message-template-index.js

@@ -0,0 +1,124 @@
+// 微信端
+function iosBackRefresh () {
+  var isPageHide = false
+  window.addEventListener('pageshow', function () {
+      if (isPageHide) {
+          location.reload()
+      }
+  })
+  window.addEventListener('pagehide', function () {
+      isPageHide = true
+  })
+}
+var temp = '<div class="side-line" v-if="lists.length"><div class="list-msg"><div class="l-msg"><div class="words" v-for="item in lists" :key="item.id"><img class="dot-img" src="../images/no-read-dot.png" v-if="item.isRead == 0"><img class="dot-img" src="../images/read-dot.png" v-else><h3 :class="{isActive: item.isRead == 0}">@@item.msg_type@@</h3><span @click="titleGoto(item)">@@item.title@@</span><p>@@item.createtime@@</p></div></div><div class="img-div" :class="{imgActive:lists.length==1}" @click="gotoUrl"><img class="r-msg" src="../images/jyxia.png"></div></div></div>'
+
+var vm = new Vue({
+  el: '#vue-message-index-app',
+  delimiters: ['@@', '@@'],
+  template: temp,
+  data: function () {
+    return {
+      lists: []
+    }
+  },
+  created() {
+    this.getList()
+  },
+  mounted() {
+    iosBackRefresh()
+  },
+  methods: {
+    getList() {
+      var _this = this
+      $.ajax({
+        type:'POST',
+        url:'/jymessageCenter/latestNews',
+        success:function (res) {
+          if (res.data) {
+            res.data.forEach(v => {
+              v.msg_type = _this.msgType(v.msg_type)
+              v.createtime = dateMatter(v.createtime, 'out')
+            })
+            _this.lists = res.data
+          }
+        }
+      })
+    },
+    topRead(ids, url, type) {
+      const _this = this
+      $.ajax({
+        type: 'POST',
+        url:'/jymessageCenter/markRead',
+        data: {
+          msgId: ids,
+          msgType: type
+        },
+        success:function () {
+          if (url) {
+            // window.open(url)
+            const a1 = document.createElement('a')
+            a1.href = url
+            a1.click()
+          } else {
+            _this.getList()
+          }
+        }
+      })
+    },
+    titleGoto(item) {
+      let wxType = getType()
+      let appType = androidOrIOS()
+      let urls = item.url
+      if (wxType) {
+        if (item.isRead == 0) {
+          this.topRead(item.id, urls.weChatUrl, item.msg_type)
+        } else {
+          if (urls.weChatUrl) {
+            //链接中如果是www.jianyu360.cn域名,微信中会唤起app,该用window.open
+            window.open(urls.weChatUrl)
+          } else {
+            return
+          }
+        }
+      } else {
+        if (appType == 'android') {
+          if (item.isRead == 0) {
+            this.topRead(item.id, urls.androidUrl, item.msg_type)
+          } else {
+            if (urls.androidUrl) {
+              location.href = urls.androidUrl
+            } else {
+              return
+            }
+          }
+        } else {
+          if (item.isRead == 0) {
+            this.topRead(item.id, urls.iosUrl, item.msg_type)
+          } else {
+            if (urls.iosUrl) {
+              location.href = urls.iosUrl
+            } else {
+              return
+            }
+          }
+        }
+      }
+    },
+    gotoUrl() {
+      // location.href = '/weixin/frontPage/messageCenter/sess/index?msg=2'
+      window.open('/weixin/frontPage/messageCenter/sess/index?msg=2')
+    },
+    msgType(val) {
+      const obj = {
+        '1': '活动优惠',
+        '2': '服务通知',
+        '3': '订阅消息',
+        '4': '项目动态 ',
+        '5': '企业动态',
+        '6': '分析报告 ',
+        '7': '系统通知',
+      }
+      return obj[val]
+    }
+  }
+})

+ 3 - 0
src/web/staticres/frontRouter/pc/mesgCenter/css/index-pc.css

@@ -145,6 +145,9 @@
 .main-mesg .tabs-mesg .el-tabs .el-tabs__content {
   padding: 8px 0;
 }
+.main-mesg .tabs-mesg .el-tabs .el-tabs__content .el-loading-mask {
+  z-index: 99;
+}
 .main-mesg .is-tabs .el-tabs .el-tabs__content {
   padding-bottom: 16px;
 }

+ 6 - 2
src/web/staticres/frontRouter/pc/mesgCenter/js/index-pc.js

@@ -4,6 +4,7 @@ var vm = new Vue({
   delimiters: ['{', '}'],
   data: function () {
     return {
+      loading: false,
       activeName: '0',
       counts: [],
       isTabs: '',
@@ -29,7 +30,6 @@ var vm = new Vue({
   methods: {
     tabClick(val) {
       this.isTabs = val.name
-      this.tabsList.lists = []
       this.tabsList.offset = 1
       this.tabsData(val.name)
     },
@@ -48,6 +48,7 @@ var vm = new Vue({
     },
     tabsData(num) {
       const _this = this
+      this.loading = true
       $.ajax({
         type:'POST',
         url:'/jymessageCenter/messageList',
@@ -59,7 +60,11 @@ var vm = new Vue({
           pageSize: this.tabsList.pageSize
         },
         success:function (res) {
+          setTimeout(() => {
+            _this.loading = false
+          }, 300)
           if (res && res.status == 1) {
+            _this.tabsList.lists = []
             _this.tabsList.lasts = $.isEmptyObject(res.data.last) ? false : res.data.last
             _this.tabsList.lists = $.isEmptyObject(res.data.list) ? false : res.data.list
             _this.tabsList.totals = res.data.total
@@ -69,7 +74,6 @@ var vm = new Vue({
     },
     onPageChange(page) {
       this.tabsList.offset = page
-      this.tabsList.lists = []
       this.tabsData(this.isTabs)
     },
     readed(ids, type, url) {

BIN=BIN
src/web/staticres/images/jyxia.png


BIN=BIN
src/web/staticres/images/no-read-dot.png


BIN=BIN
src/web/staticres/images/pc/banner.png


BIN=BIN
src/web/staticres/images/pc/msg-arrow.png


BIN=BIN
src/web/staticres/images/read-dot.png


+ 4 - 4
src/web/staticres/js/dateFunc.js

@@ -45,7 +45,7 @@ function dateLast() {
   return dateTime(day, 'yyyy/MM/dd');
 }
 
-function dateMatter(time) {
+function dateMatter(time, drag = 'normal') {
   // 时间转换
   var timeStr = '';
   var currentDay = dateTime(time, 'yyyy/MM/dd'); // 当前日期
@@ -57,13 +57,13 @@ function dateMatter(time) {
   var isDate = new Date(time) - dateYear();
 
   if (isDate < 0) {
-    timeStr = dateTime(time);
+    drag == 'normal' ? timeStr = dateTime(time) : timeStr = dateTime(time, 'yyyy年MM月dd日');
   } else {
     if (currentDay === dateLast()) {
-      timeStr = diff + dateTime(time, 'hh:mm');
+      drag == 'normal' ? timeStr = diff + dateTime(time, 'hh:mm') : timeStr = diff;
     } else {
       if (isTime < 0) {
-        timeStr = dateTime(time, 'MM月dd日 hh:mm');
+        drag == 'normal' ? timeStr = dateTime(time, 'MM月dd日 hh:mm') : timeStr = dateTime(time, 'MM月dd日');
       } else {
         timeStr = dateTime(time, 'hh:mm');
       }

+ 1 - 1
src/web/staticres/js/index_content.js

@@ -111,7 +111,7 @@ $("#index .ser").bind("input propertychange",function(){
   function judgeTop(){
       for(var j=0; j<num.length;j++){
           if (num[j] >= wScrollTop && num[j] < (wScrollTop+wH-50)) {
-            console.log(j)
+            // console.log(j)
               if(j == 0){
                 obj.eq(j).css({
                     'animation-name':'CfadeInUp',

+ 75 - 1
src/web/staticres/js/login.js

@@ -389,6 +389,73 @@ function checkMenuForEnt () {
         }
     })
 }
+var msgTimer = null
+function toReaded(ids, type, url) {
+    const _this = this
+    $.ajax({
+        type: 'POST',
+        url:'/jymessageCenter/markRead',
+        data: {
+            msgId: ids,
+            msgType: type
+        },
+        success:function () {
+            if (url) {
+                location.href = url
+            } else {
+                return
+            }
+        }
+    })
+}
+// 查看是否有新消息
+function checkCounts() {
+    Notification.requestPermission(function(status) {
+        if(status === 'granted'){
+            var str = window.location.href
+            var arr = str.split('https://')[1].split('/')[1]
+            if (arr) {
+                clearInterval(msgTimer)
+                return
+            }
+            clearInterval(msgTimer)
+            msgTimer = setInterval(function () {
+                $.ajax({
+                    type: 'POST',
+                    url: '/jymessageCenter/lastNewMessage?t=' + Date.now(),
+                    success: function (r) {
+                        if (r.error_code == 1001) {
+                            clearInterval(msgTimer)
+                            return
+                        }
+                        var num = r.count
+                        var datas = r.data
+                        // var noMesgs = window.localStorage.setItem('noMesg', num)
+                        // if (num !== noMesgs && !$.isEmptyObject(datas)) {
+                        if (!$.isEmptyObject(datas) && datas !=="") {
+                            var notify = new Notification(datas.title,{
+                                icon: '../images/t3_new.jpg',
+                                body: datas.content
+                            })
+                            // 点击时桌面消息时触发
+                            notify.onclick = () => {
+                                if (r.data.isRead == 0) {
+                                   toReaded(r.data.id, r.data.msg_type, r.data.link)
+                                }
+                            }
+                        }
+                        window.localStorage.setItem('noMesg', num)
+                    },
+                    error: function () {
+                        clearInterval(msgTimer)
+                    }
+                })
+            }, 300000)
+        } else {
+            Notification.requestPermission()
+        }
+    })
+}
 
 //查询用户信息,响应页面登录信息
 var logic = function(data,num){
@@ -487,7 +554,9 @@ var logic = function(data,num){
 			infoListCss();
 			commonMouseEvent();
             message.init()
-		}catch(e){}
+            checkCounts()
+            initIndexMsgList()
+		}catch(e){ console.log(e) }
 	}
 }
 
@@ -692,6 +761,8 @@ var signout = function(){
 				getNewShareId(mynum,true);*/
 			}
             window.localStorage.removeItem('bus-key-group-SCOPE')
+            window.localStorage.removeItem('noMesg')
+            clearInterval(msgTimer)
 		}
 	})
 }
@@ -796,6 +867,8 @@ var haslogin = function(num,kyorpn,url){
 				infoListCss();
 				commonMouseEvent();
                 message.init()
+                checkCounts()
+                initIndexMsgList()
 			}catch(e){}
 		}
 		else{
@@ -806,6 +879,7 @@ var haslogin = function(num,kyorpn,url){
 			if (nosess!=null && (!loginflag)){
 			    openLoginDig();
 			}
+            window.localStorage.setItem('noMesg', 0)
 		}
 		getNewShareId(num,true);
 	})

+ 4 - 4
src/web/staticres/js/message.js

@@ -140,17 +140,17 @@ function Message() {
         var temp = ''
         if (lasts) {
             if (lasts.isRead == 0) {
-                temp += '<div id="firsted" class="m-li" onclick="linked(\''+lasts.id+'\',\''+lasts.link+'\',\''+lasts.isRead+'\',\''+lasts.msg_type+'\',\''+lasts.msgLogId+'\')"><div class="lis-cont"><img src="/images/pc/'+imgArrs[lasts.msg_type]+'@2x.png"><i class="dots"></i><div class="r-lis"><div class="title"><span>'+lasts.title+'</span><span>'+dateMatter(lasts.createtime)+'</span></div><p>'+lasts.content+'</p></div></div></div>'
+                temp += '<div id="firsted" class="m-li" onclick="linked(\''+lasts.id+'\',\''+lasts.link+'\',\''+lasts.isRead+'\',\''+lasts.msg_type+'\',\''+lasts.msgLogId+'\')"><div class="lis-cont"><img src="/images/pc/'+imgArrs[lasts.msg_type]+'@2x.png"><i class="dots"></i><div class="r-lis"><div class="title"><span>'+lasts.title+'</span><span>'+dateMatter(lasts.createtime, 'nor')+'</span></div><p>'+lasts.content+'</p></div></div></div>'
             } else {
-                temp += '<div id="firsted" class="m-li" onclick="linked(\''+lasts.id+'\',\''+lasts.link+'\',\''+lasts.isRead+'\',\''+lasts.msg_type+'\',\''+lasts.msgLogId+'\')"><div class="lis-cont"><img src="/images/pc/'+imgArrs[lasts.msg_type]+'@2x.png"><div class="r-lis"><div class="title"><span>'+lasts.title+'</span><span>'+dateMatter(lasts.createtime)+'</span></div><p>'+lasts.content+'</p></div></div></div>'
+                temp += '<div id="firsted" class="m-li" onclick="linked(\''+lasts.id+'\',\''+lasts.link+'\',\''+lasts.isRead+'\',\''+lasts.msg_type+'\',\''+lasts.msgLogId+'\')"><div class="lis-cont"><img src="/images/pc/'+imgArrs[lasts.msg_type]+'@2x.png"><div class="r-lis"><div class="title"><span>'+lasts.title+'</span><span>'+dateMatter(lasts.createtime, 'nor')+'</span></div><p>'+lasts.content+'</p></div></div></div>'
             }
         }
         if (lists) {
             for (var i = 0; i < lists.length; i++) {
                 if (lists[i].isRead == 0) {
-                    temp += '<div class="m-li" onclick="linked(\''+lists[i].id+'\',\''+lists[i].link+'\',\''+lists[i].isRead+'\',\''+lists[i].msg_type+'\',\''+lists[i].msgLogId+'\')"><div class="lis-cont"><img src="/images/pc/'+imgArrs[lists[i].msg_type]+'@2x.png"><i class="dots"></i><div class="r-lis"><div class="title"><span>'+lists[i].title+'</span><span>'+dateMatter(lists[i].createtime)+'</span></div><p>'+lists[i].content+'</p></div></div></div>'
+                    temp += '<div class="m-li" onclick="linked(\''+lists[i].id+'\',\''+lists[i].link+'\',\''+lists[i].isRead+'\',\''+lists[i].msg_type+'\',\''+lists[i].msgLogId+'\')"><div class="lis-cont"><img src="/images/pc/'+imgArrs[lists[i].msg_type]+'@2x.png"><i class="dots"></i><div class="r-lis"><div class="title"><span>'+lists[i].title+'</span><span>'+dateMatter(lists[i].createtime, 'nor')+'</span></div><p>'+lists[i].content+'</p></div></div></div>'
                 } else {
-                    temp += '<div class="m-li" onclick="linked(\''+lists[i].id+'\',\''+lists[i].link+'\',\''+lists[i].isRead+'\',\''+lists[i].msg_type+'\',\''+lists[i].msgLogId+'\')"><div class="lis-cont"><img src="/images/pc/'+imgArrs[lists[i].msg_type]+'@2x.png"><div class="r-lis"><div class="title"><span>'+lists[i].title+'</span><span>'+dateMatter(lists[i].createtime)+'</span></div><p>'+lists[i].content+'</p></div></div></div>'
+                    temp += '<div class="m-li" onclick="linked(\''+lists[i].id+'\',\''+lists[i].link+'\',\''+lists[i].isRead+'\',\''+lists[i].msg_type+'\',\''+lists[i].msgLogId+'\')"><div class="lis-cont"><img src="/images/pc/'+imgArrs[lists[i].msg_type]+'@2x.png"><div class="r-lis"><div class="title"><span>'+lists[i].title+'</span><span>'+dateMatter(lists[i].createtime, 'nor')+'</span></div><p>'+lists[i].content+'</p></div></div></div>'
                 }
             }
         }

+ 142 - 0
src/web/staticres/js/pc-message-index.js

@@ -0,0 +1,142 @@
+var temp = '<div class="list-msg" v-if="lists.length"><div class="l-msg"><div class="words" v-for="item in lists" :key="item.id"><i v-show="item.isRead == 0"></i><h3 :class="{isActive: item.isRead == 1}">@@item.msg_type@@</h3><span @click="titleGoto(item)">@@item.title@@</span><p>@@item.createtime@@</p></div></div><img @click="gotoUrl" class="r-msg" src="/images/pc/msg-arrow.png"></div>'
+
+var vmMesg = new Vue({
+  // el: '#vue-message-index-pc',
+  delimiters: ['@@', '@@'],
+  template: temp,
+  data: function () {
+    return {
+      el: '#vue-message-index-pc',
+      lists: [],
+      timer: null
+    }
+  },
+  mounted: function () {
+    this.getList()
+    // this.checkCounts()
+  },
+  methods: {
+    getList() {
+      const _this = this
+      $.ajax({
+        type: 'POST',
+        url: '/jymessageCenter/latestNews',
+        success:function (res) {
+          if (res.data) {
+            res.data.forEach(v => {
+              v.msg_type = _this.msgType(v.msg_type)
+              v.createtime = dateMatter(v.createtime)
+            });
+            _this.lists = res.data
+            // _this.lists = []
+            if (_this.lists.length == 0) {
+              window.localStorage.setItem('noMesg', 0)
+            } else {
+              window.localStorage.setItem('noMesg', _this.lists.length)
+            }
+            // window.localStorage.setItem('noMesg', 0)
+          } else {
+            window.localStorage.setItem('noMesg', 0)
+          }
+        },
+        error:function () {
+          window.localStorage.setItem('noMesg', 0)
+        }
+      })
+    },
+    readed(ids, type, url) {
+      const _this = this
+      $.ajax({
+        type: 'POST',
+        url:'/jymessageCenter/markRead',
+        data: {
+          msgId: ids,
+          msgType: type
+        },
+        success:function () {
+          if (url) {
+            location.href = url
+          } else {
+            _this.getList()
+          }
+        }
+      })
+    },
+    titleGoto(item) {
+      if (item.isRead == 0) {
+        this.readed(item.id, item.msg_type, item.link)
+      } else {
+        if (item.link) {
+          location.href = item.link
+        }
+      }
+    },
+    checkCounts() {
+      const _this = this
+      Notification.requestPermission(function(status) {
+        console.info(status, '----------')
+        if(status === 'granted'){
+          clearInterval(_this.timer)
+          _this.timer = setInterval(function () {
+            $.ajax({
+              type: 'POST',
+              url: '/jymessageCenter/lastNewMessage?t=' + Date.now(),
+              success: function (r) {
+                var num = r.count
+                var isMsg = window.localStorage.getItem('noMesg')
+                if (num !== Number(isMsg)) {
+                  var datas = r.data
+                  var notify = new Notification(datas.title,{
+                      icon: '../images/t3_new.jpg',
+                      body: datas.content
+                  })
+                  // 点击时桌面消息时触发
+                  notify.onclick = () => {
+                    if (datas.link) {
+                      location.href = datas.link
+                    } else {
+                      return
+                    }
+                  }
+                  localStorage.setItem('noMesg', num)
+                }
+              },
+              error: function () {
+                clearInterval(_this.timer)
+              }
+            })
+          }, 3000)
+        } else {
+            Notification.requestPermission()
+        }
+      })
+    },
+    gotoUrl() {
+      location.href = '/swordfish/frontPage/messageCenter/sess/index'
+    },
+    msgType(val) {
+      const obj = {
+        '1': '活动优惠',
+        '2': '服务通知',
+        '3': '订阅消息',
+        '4': '项目动态 ',
+        '5': '企业动态',
+        '6': '分析报告 ',
+        '7': '系统通知',
+      }
+      return obj[val]
+    }
+  }
+})
+
+function initIndexMsgList () {
+  try {
+    var el = vmMesg._data.el
+    var $el = $(el)
+    if ($el.length > 0) {
+      vmMesg.$mount(el)
+    }
+  } catch (error) {
+    console.log(error)
+  }
+}

+ 99 - 28
src/web/staticres/pccss/index.css

@@ -48,17 +48,21 @@
   height: auto;
   min-width: 1200px;
   min-height: 100vh;
-  background: url(/images/pc/banner@2x.jpg) center 0px no-repeat, url(/images/pc/bgTwo.jpg) no-repeat center 710px;
-  background-size: 1920px auto;
   position: relative;
-  
 }
+#index .jy-search-fadeInUp-top {
+  height: 453px;
+  background: url(/images/pc/banner.png) no-repeat center center;
+  background-size: cover;
 
+}
 #index .title {
+  line-height: 49px;
   color: #fff;
   font-size: 42px;
   text-align: center;
-  padding-top: 150px;
+  padding-top: 120px;
+  letter-spacing: 3px;
 }
 
 #index .search{
@@ -66,7 +70,7 @@
   position: relative;
 }
 #index .search form{
-  padding-top: 36px;
+  padding-top: 24px;
   text-align: center;
   position: relative;
 }
@@ -131,21 +135,21 @@ font-size: 14px;
 #index .search .btn {
   position: absolute;
   right: 50%;
-  top: 36px;
+  top: 24px;
   margin-right: -310px;
-    width: 64px;
-    height: 42px;
-    border-radius: 0 21px 21px 0;
-    border: none;
-    background:#2CB7CA url(/images/pc/index-searchicon.png) center center no-repeat;
-    background-size: 20px 20px;
-    cursor: pointer;
+  width: 64px;
+  height: 42px;
+  border-radius: 0 21px 21px 0;
+  border: none;
+  background:#2CB7CA url(/images/pc/index-searchicon.png) center center no-repeat;
+  background-size: 20px 20px;
+  cursor: pointer;
 }
 #index .search .tips{
   display: inline-block;
   width: 620px;
   text-align: left;
-  margin-top: 20px;
+  margin-top: 14px;
   font-size: 14px;
   color: rgba(255, 255, 255, 0.8);
   position: relative;
@@ -177,14 +181,14 @@ font-size: 14px;
 #index .projectList{
   display: flex;
   justify-content: center;
-  margin-top: 108px;
+  margin-top: 48px;
 }
 #index .projectList ul{
   display: flex;
   background: #fff;
   box-shadow: 0px 0px 28px 0px rgba(0,0,0,0.08); 
   width: 1200px;
-  height: 112px;
+  height: 96px;
   border-radius: 6px;
 }
 
@@ -225,11 +229,18 @@ font-size: 14px;
 #index .projectList ul li:hover p{
   color: #2CB7CA;
 }
-
+#index .jy-banner-or-area {
+  height: 820px;
+  background: url(/images/pc/bgTwo.jpg) no-repeat center bottom;
+  background-size: cover;
+}
+#index .jy-banner-or-area-bg {
+  height: 780px;
+}
 #index .jy-banner{
   width: 1200px;
   margin: 0 auto;
-  margin-top: 56px;
+  margin-top: 24px;
   display: flex;
   justify-content: space-between;
 }
@@ -264,7 +275,7 @@ font-size: 14px;
 
 #index .jy-area{
   width: 1200px;
-  margin: 58px auto 0;
+  margin: 34px auto 0;
 }
 #index .jy-area .tab-header{
   display: flex;
@@ -296,10 +307,10 @@ font-size: 14px;
   color: #2CB7CA;
 }
 #index .jy-area .tab-content{
-  height: 450px;
+  height: 442px;
   background-color: #fff;
   border-radius: 6px;
-  margin-top: 40px;
+  margin-top: 26px;
   padding: 24px 4px;
 }
 #index .jy-area .tab-content .tab-content-area{
@@ -364,10 +375,10 @@ font-size: 14px;
 }
 
 #index .newNotice{
-  margin-top: 80px;
   width: 100%;
-  height: 580px;
+  /* height: 592px; */
   background: #fff;
+  padding: 56px 0 64px 0;
 }
 
 #index .newNotice .newNotice-content,#index .newNotice .newNotice-header{
@@ -378,7 +389,7 @@ font-size: 14px;
   font-size: 24px;
   text-align: center;
   line-height: 36px;
-  padding-top: 56px;
+  /* padding-top: 56px; */
 }
 #index .newNotice .newNotice-header{
   display: flex;
@@ -475,7 +486,8 @@ font-size: 14px;
   width: 100%;
   height: 600px;
   background: url(/images/pc/zixun-bg.jpg) no-repeat center center;
-  background-size: 1920px auto;
+  /* background-size: 1920px auto; */
+  background-size: cover;
 }
 #index .newLatest h3{
   font-size: 24px;
@@ -635,13 +647,13 @@ font-size: 14px;
 }
 .jy-advantage .jy-advantage-content{
   width: 1200px;
-  margin: 0 auto 100px;
+  margin: 0 auto 80px;
   background: #fff;
 }
 .jy-advantage .jy-advantage-content ul{
   display: flex;
   justify-content: space-between;
-  padding-top: 100px;
+  padding-top: 80px;
 }
 .jy-advantage .jy-advantage-content ul li{
   width: 280px;
@@ -747,7 +759,7 @@ font-size: 14px;
 .jy-partners{
   width: 1204px;
   height: 450px;
-  margin: 0 auto 70px;
+  margin: 0 auto 40px;
 }
 .jy-partners h3{
   font-size: 24px;
@@ -1179,3 +1191,62 @@ body{
     color: #1d1d1d;
     background-color: #ececec;
 }
+#index .list-msg {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  width: 1200px;
+  height: 80px;
+  margin: auto;
+  border-radius: 8px;
+  border: 1px solid #2CB7CA;
+  margin-top: 28px;
+  padding: 0 16px;
+}
+#index .noActive {
+  margin-top: 56px;
+}
+#index .list-msg .l-msg .words {
+  display: flex;
+  flex-direction: initial;
+  align-items: center;
+}
+#index .list-msg .l-msg .words:nth-child(2) {
+  margin-top: 8px;
+}
+#index .list-msg .r-msg {
+  width: 20px;
+  height: 20px;
+  cursor: pointer;
+}
+#index .list-msg .l-msg .words i {
+  width: 6px;
+  height: 6px;
+  background: #FF3A20;
+  border-radius: 50%;
+  margin-right: 9px;
+}
+#index .list-msg .l-msg .words h3 {
+  font-size: 16px;
+  font-weight: bold;
+  color: #2CB7CA;
+  line-height: 24px;
+}
+#index .list-msg .l-msg .words span {
+  font-size: 14px;
+  color: #1D1D1D;
+  line-height: 22px;
+  margin: 0 16px;
+}
+#index .list-msg .l-msg .words span:hover {
+  color: #2CB7CA;
+  cursor: pointer;
+}
+#index .list-msg .l-msg .words p {
+  font-size: 12px;
+  color: #999999;
+  line-height: 18px;
+}
+#index .list-msg .l-msg .words .isActive {
+  margin-left: 15px;
+}

+ 6 - 0
src/web/staticres/public-pc/css/header-nav.css

@@ -367,6 +367,12 @@
     height: auto;
     text-align: left;
 }
+#public-nav .iner .jynav li .jy-list-msg .msg-par .m-ul .m-li .lis-cont .r-lis .title span:nth-child(1) {
+    max-width: 200px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+}
 #public-nav .iner .jynav li .jy-list-msg .msg-par .m-ul .m-li .lis-cont .r-lis .title span:nth-child(2) {
     font-size: 12px;
     color: #999;

+ 1 - 1
src/web/staticres/public-pc/js/header-nav.js

@@ -94,7 +94,7 @@ function trySelectNav (name) {
 })();
 function docScroll(e){
   var $href = window.location.href;
-  var opa = $(document).scrollTop() / 150
+  var opa = $(document).scrollTop() / 120
   var curTheme =$("#public-nav").attr('data-theme')
   if(opa >= 1){
     setNavTheme('light')

+ 2 - 0
src/web/templates/frontRouter/pc/messageCenter/sess/index.html

@@ -43,6 +43,7 @@
                   <i class="b-item" v-show="item.count">{item.count > 99 ? '99+' : item.count}</i>
                   <p class="words">{imgSrcs[item.type].title}</p>
                 </div>
+                <div v-loading="loading">
                 <div
                   class="tips tab-tips"
                   v-for="(ite, indx) in tabsList.lists"
@@ -61,6 +62,7 @@
                       <p>{ite.content}</p>
                   </div>
                 </div>
+              </div>
                 <div class="no-data" v-if="!tabsList.lists"><img src='{{Msg "seo" "cdn"}}/frontRouter/pc/mesgCenter/image/no-mesg.png?v={{Msg "seo" "version"}}'><div class="tip-text"><p>暂未接收到信息</p></div></div>
                 <div class="el-pagination-container" v-if="tabsList.totals > 20">
                   <el-pagination

+ 125 - 106
src/web/templates/pc/index.html

@@ -140,132 +140,139 @@
 	<body>
 		{{include "/common/pchead.html"}}
 		<section id="index">
-			<h3 class="title">全国招标信息免费看,不遮挡</h3>
-			<div class="search">
-				<form method="post" action="/jylab/supsearch/index.html" id="zbIndex" name="zbIndex">
-					<input class="ser" autocomplete="off"  type="text" name="keywords" placeholder="请输入您想要查询的招标信息,多个关键词用空格隔开" id="keywords" value="" />
-          <input type="hidden" name="searchvalue">
-          <input type="hidden">
-					<input class="btn" type="button" onclick="zbSeatch('zbIndex')" />
-				</form>
-        <div class="index_search_thikn">
+      <div class="jy-search-fadeInUp-top">
+        <h3 class="title">全国招标信息免费看,不遮挡</h3>
+        <div class="search">
+          <form method="post" action="/jylab/supsearch/index.html" id="zbIndex" name="zbIndex">
+            <input class="ser" autocomplete="off"  type="text" name="keywords" placeholder="请输入您想要查询的招标信息,多个关键词用空格隔开" id="keywords" value="" />
+            <input type="hidden" name="searchvalue">
+            <input type="hidden">
+            <input class="btn" type="button" onclick="zbSeatch('zbIndex')" />
+          </form>
+          <div class="index_search_thikn">
+            <ul>
+            </ul>
+          </div>
+          <div class="tips">
+            <span class="active spa1">招标搜索</span>
+            <span class="spa1">企业搜索</span>
+            <span id="buyUnits" class="cai-gou">采购单位搜索</span>
+            <i></i>
+          </div>
+          <div class="pre-search-list" style="display: none;"></div>
+      </div>
+
+        <div class="projectList CfadeInUp">
           <ul>
+            <li>
+              <a href="">
+                <span><img src="/images/pc/kecheng1.png" alt="" /></span>
+                <p>大会员</p>
+              </a>
+            </li>
           </ul>
         </div>
-        <div class="tips">
-          <span class="active spa1">招标搜索</span>
-          <span class="spa1">企业搜索</span>
-          <span id="buyUnits" class="cai-gou">采购单位搜索</span>
-          <i></i>
-        </div>
-        <div class="pre-search-list" style="display: none;"></div>
-		</div>
-
-      <div class="projectList CfadeInUp">
-        <ul>
-          <li>
-            <a href="">
-              <span><img src="/images/pc/kecheng1.png" alt="" /></span>
-              <p>大会员</p>
-            </a>
-          </li>
-        </ul>
       </div>
+      <!-- 消息展示 -->
+      <div id="vue-message-index-pc"></div>
+      <div class="jy-banner-or-area">
+        <div class="jy-banner-or-area-bg">
+          <!-- 剑鱼广告位轮播 -->
+          <div class="jy-banner CfadeInUp">
+            <div class="jy-banner-l" id="jy-pc-index-leftad">
+              <div  class="carousel slide center-block" id="slidershow" data-ride="carousel">
+                <div class="carousel-inner" role="listbox">
+                </div>
+                <ol class="carousel-indicators"></ol>
+              </div>
+            </div>
+            <div class="jy-banner-r"  id="jy-pc-index-rightad">
+              <div  class="carousel-one slide center-block" id="slidershow1" data-ride="carousel">
+                <div class="carousel-inner" role="listbox">
 
-      <!-- 剑鱼广告位轮播 -->
-      <div class="jy-banner CfadeInUp">
-        <div class="jy-banner-l" id="jy-pc-index-leftad">
-          <div  class="carousel slide center-block" id="slidershow" data-ride="carousel">
-            <div class="carousel-inner" role="listbox">
+                </div>
+                <ol class="carousel-indicators">
+                </ol>
+              </div>
             </div>
-            <ol class="carousel-indicators"></ol>
           </div>
-        </div>
-        <div class="jy-banner-r"  id="jy-pc-index-rightad">
-          <div  class="carousel-one slide center-block" id="slidershow1" data-ride="carousel">
-            <div class="carousel-inner" role="listbox">
 
+          <!-- 剑鱼区域链接 -->
+          <div class="nav-tab jy-area">
+            <div class="tab-header CfadeInUp">
+              <span class="active">按地域</span>
+              <span>按信息类型</span>
+              <span>热门招标</span>
+              <i></i>
             </div>
-            <ol class="carousel-indicators">
-						</ol>
-          </div>
-        </div>
-      </div>
+            <div class="tab-content CfadeInUp">
+              <div class="tab-content-area">
+                <ul>
+                  <li class="zxs">
+                    {{range $i, $v := .T.labUrl_1}}
+                        {{range $y, $x := $v}}
+                          {{if lt (len $x) 3}}
+                            {{range $yi, $xi := $x}}
+                              {{if eq $yi 0}}<a href="{{$xi.url}}" target="_blank">{{ $xi.city }}</a>{{end}}
+                            {{end}}
+                          {{end}}
 
-      <!-- 剑鱼区域链接 -->
-      <div class="nav-tab jy-area">
-        <div class="tab-header CfadeInUp">
-           <span class="active">按地域</span>
-           <span>按信息类型</span>
-           <span>热门招标</span>
-           <i></i>
-        </div>
-        <div class="tab-content CfadeInUp">
-           <div class="tab-content-area">
-             <ul>
-              <li class="zxs">
-                {{range $i, $v := .T.labUrl_1}}
-                    {{range $y, $x := $v}}
-                      {{if lt (len $x) 3}}
-                        {{range $yi, $xi := $x}}
-                          {{if eq $yi 0}}<a href="{{$xi.url}}" target="_blank">{{ $xi.city }}</a>{{end}}
-                        {{end}}
                       {{end}}
+                    {{end}}
+                  </li>
+                    {{range $i, $v := .T.labUrl_1}}
+                          {{range $y, $x := $v}}
+                              {{if gt (len $x) 2}}
+                                <li class="provice">
+                                  {{range $yi, $xi := $x}}
+                                      {{if eq $yi 0}}<a href="{{$xi.url}}" target="_blank">{{ $xi.city }}</a>
+                                      <div>
+                                      {{else}}
+                                            <span><a href="{{$xi.url}}" target="_blank">{{$xi.city}}</a></span>
+                                      {{end}}
 
-                  {{end}}
-                {{end}}
-              </li>
-                {{range $i, $v := .T.labUrl_1}}
-                      {{range $y, $x := $v}}
-                          {{if gt (len $x) 2}}
-                            <li class="provice">
-                              {{range $yi, $xi := $x}}
-                                  {{if eq $yi 0}}<a href="{{$xi.url}}" target="_blank">{{ $xi.city }}</a>
-                                  <div>
-                                  {{else}}
-                                        <span><a href="{{$xi.url}}" target="_blank">{{$xi.city}}</a></span>
                                   {{end}}
-
+                                </div></li>
                               {{end}}
-                            </div></li>
                           {{end}}
-                      {{end}}
-                {{end}}
+                    {{end}}
 
-             </ul>
-           </div>
-           <div class="tab-content-area">
-            <ul>
-              {{range $i, $v := .T.labUrl_2}}
-              <li class="provice">
-                {{range $y, $x := $v}}
-                   {{range $yi, $xi := $x}}
-                      {{if eq $yi 0}}<a href="{{$xi.url}}" target="_blank">{{$xi.key}}</a>
-                      <div>
-                      {{else}}
-                      <span><a href="{{$xi.url}}" target="_blank">{{$xi.key}}</a></span>
+                </ul>
+              </div>
+              <div class="tab-content-area">
+                <ul>
+                  {{range $i, $v := .T.labUrl_2}}
+                  <li class="provice">
+                    {{range $y, $x := $v}}
+                      {{range $yi, $xi := $x}}
+                          {{if eq $yi 0}}<a href="{{$xi.url}}" target="_blank">{{$xi.key}}</a>
+                          <div>
+                          {{else}}
+                          <span><a href="{{$xi.url}}" target="_blank">{{$xi.key}}</a></span>
+                          {{end}}
                       {{end}}
-                   {{end}}
-                {{end}}
-              </div></li>
-              {{end}}
+                    {{end}}
+                  </div></li>
+                  {{end}}
 
-            </ul>
-          </div>
-          <div class="tab-content-area">
-            <ul>
-              {{range $i, $v := .T.labUrl_3}}
-               <li class="provice industry">
-                  {{range $y, $x := $v}}
-                  <a href="javascript:;" >{{$y}}</a><div>
-                     {{range $yi, $xi := $x}}
-                        <span><a href="{{$xi.url}}" target="_blank">{{$xi.key}}</a></span>
-                     {{end}}
+                </ul>
+              </div>
+              <div class="tab-content-area">
+                <ul>
+                  {{range $i, $v := .T.labUrl_3}}
+                  <li class="provice industry">
+                      {{range $y, $x := $v}}
+                      <a href="javascript:;" >{{$y}}</a><div>
+                        {{range $yi, $xi := $x}}
+                            <span><a href="{{$xi.url}}" target="_blank">{{$xi.key}}</a></span>
+                        {{end}}
+                      {{end}}
+                    </div></li>
                   {{end}}
-                </div></li>
-              {{end}}
 
-            </ul>
+                </ul>
+              </div>
+            </div>
           </div>
         </div>
       </div>
@@ -713,7 +720,9 @@
 <script src='{{Msg "seo" "cdn"}}/common-module/selector/js/static-data.js?v={{Msg "seo" "version"}}'></script>
 <script src="//cdn-common.jianyu360.com/cdn/lib/vue/2.6.14/vue.min.js"></script>
 <script src="//cdn-common.jianyu360.com/cdn/lib/element-ui/2.15.7/lib/index.js"></script>
+<script src='{{Msg "seo" "cdn"}}/js/dateFunc.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/js/pc-collect-user-info.js?v={{Msg "seo" "version"}}'></script>
+<script src='{{Msg "seo" "cdn"}}/js/pc-message-index.js?v={{Msg "seo" "version"}}'></script>
 <script>
 var visitedLinks = {
   init: function () {
@@ -1088,6 +1097,16 @@ $('.carousel-one').carousel({
     interval: 3000
 })
 //最新公告信息
+// var noMesg = window.localStorage.getItem('noMesg')
+// console.log(noMesg, '===============')
+// if (noMesg == 0 || noMesg == undefined || noMesg == null) {
+//   $('.jy-banner').css('marginTop', '56px')
+//   $(".newNotice").css('marginTop', '192px')
+// } else {
+//   $('.jy-banner').css('marginTop', '28px')
+//   $(".newNotice").css('marginTop', '112px')
+// }
+
 $(".newNotice .newNotice-header span").on('click', function () {
 
   $(".newNotice .newNotice-header span").removeClass('active')

+ 4 - 0
src/web/templates/weixin/search/mainSearch.html

@@ -50,6 +50,7 @@
 <link href='{{Msg "seo" "cdn"}}/common-module/collection/css/index.css?v={{Msg "seo" "version"}}' rel="stylesheet"/>
 <link href='{{Msg "seo" "cdn"}}/common-module/collection/css/public.css?v={{Msg "seo" "version"}}' rel="stylesheet"/>
 <link href='{{Msg "seo" "cdn"}}/common-module/ent-search/ent-search-template.prefixer.css?v={{Msg "seo" "version"}}' rel="stylesheet"/>
+<link href='{{Msg "seo" "cdn"}}/common-module/messageCenter/css/mesg-temp.css?v={{Msg "seo" "version"}}' rel="stylesheet"/>
 
 
 
@@ -673,6 +674,8 @@
                 </a>
             </div>
         </div>
+				<!-- 消息展示 -->
+				<div id="vue-message-index-app"></div>
         <!-- 最新标讯 -->
         <div class="home_data">
             <h3 class="data_nav">最新标讯</h3>
@@ -973,6 +976,7 @@
 <script src='{{Msg "seo" "cdn"}}/common-module/collection/js/cate-mobile.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/collection/js/industry-mobile.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/ent-search/ent-search-template.js?v={{Msg "seo" "version"}}'></script>
+<script src='{{Msg "seo" "cdn"}}/common-module/messageCenter/js/message-template-index.js?v={{Msg "seo" "version"}}'></script>
 <script type="text/javascript" src="{{Msg "seo" "cdn"}}/js/wxSupersearch.js?v={{Msg "seo" "version"}}"></script>
 <script>
   {{$s:=(Ad "jy-wx-sharepolitely-float" -1)}}