; var helpSuggestion = new Vue({ el: "#dashboard", mixins: [noticeMixin,cmSysVitaMixins], data: { btnLoading: false, isRequset:true, mssageTabBarIndex:0, mssageTabBar: [ {messageType: '',text: '全部消息',bages:0}, {messageType: 1,text: '交易物流',bages:0}, {messageType: 2,text: '账户通知',bages:0}, {messageType: 3,text: '服务通知',bages:0}, {messageType: 4,text: '优惠促销',bages:0}, ], allCount:0, listQuery: { source: 1, commonId: 0, messageType: '', pageNum: 1, pageSize: 10 }, noMore:false, listRecord: 0, pageInput: '1', degree:'', isCheckedAll:false, messagesList:[],//消息列表 check:false, checklist:[], msgId:'', }, filters: { NumBadge: function (n) {//处理 var num = ''; if (n > 100) { num = 99 } else { num = n; } return num; } }, computed: { pageTotal: function () { var total = Math.ceil(this.listRecord / this.listQuery.pageSize); return total > 0 ? total : 1; }, showPageBtn: function () { var total = Math.ceil(this.listRecord / this.listQuery.pageSize); total = total > 0 ? total : 1; var index = this.listQuery.pageNum, arr = []; if (total <= 6) { for (var i = 1; i <= total; i++) { arr.push(i); } return arr; } if (index <= 3) return [1, 2, 3, 4, 5, 0, total]; if (index >= total - 2) return [1, 0, total - 4, total - 3, total - 2, total - 1, total]; return [1, 0, index - 2, index - 1, index, index + 1, index + 2, 0, total]; } }, methods: { toPagination: function (pageNum) {//点击切换分页 if (pageNum <= this.pageTotal) { this.listQuery.pageNum = pageNum; this. getAuthClubMessageList(); } }, checkNum: function () {//输入跳转分页 if (this.pageInput > this.pageTotal) { this.pageInput = this.pageTotal; } else if (this.pageInput < 1) { this.pageInput = 1; } }, changeTabsFn:function(index,messageType){//点击Tab切换消息通知 this.mssageTabBarIndex = index; this.listQuery.messageType = messageType; this.listQuery.pageNum = 1; this.messagesList = []; this. getAuthClubMessageList(); }, getAuthClubMessageCount:function(){//查询tabs数量 var _self = this; UserApi.getAuthClubMessageCount({commonId:_self.listQuery.commonId},function (response) { var data = response.data; _self.mssageTabBar[0].bages = _self.allCount = data.count; _self.mssageTabBar[1].bages = data.tradeCount; _self.mssageTabBar[2].bages = data.account; _self.mssageTabBar[3].bages = data.notificationCount; _self.mssageTabBar[4].bages = data.promotionCount; }) }, getAuthClubMessageList:function(){ var _self = this; UserApi.getAuthClubMessageList(_self.listQuery,function (response) { if(response.code == 0){ _self.isRequset = false; _self.isCheckedAll = false; var data = response.data; if (data.list.length>0){ if(isPC){ _self.messagesList = data.list.map(function (el) { el.check = false return el; }); }else{ var list = data.list.map(function (el) { el.check = false return el; }); _self.messagesList = _self.messagesList.concat(list); } _self.listRecord = data.total; _self.requestFlag = true; }else { _self.requestFlag = false; _self.listRecord = data.total; } }else{ CAIMEI.Alert(response.msg, '确定', false); _self.requestFlag = false; } }) }, checkedContains(arr, val) {// 校验 return arr.some(item => item === val) }, checkedItemFn:function(item){ //单选 var _self = this; if(event.target.checked){ if(!_self.checkedContains(_self.checklist,item.id)){ _self.checklist.push(item.id); } }else { _self.checklist.splice(_self.checklist.indexOf(item.id), 1); } _self.msgId = _self.checklist.toString()+',' if(_self.checklist.length==_self.messagesList.length){ _self.isCheckedAll=true; }else { _self.isCheckedAll=false; } }, checkedAllFn: function () { //全選 var _self = this; _self.isCheckedAll = !_self.isCheckedAll; if (_self.isCheckedAll) { _self.checklist = []; _self.messagesList.forEach(function (item) { item.check = true; _self.checklist.push(item.id); _self.msgId = _self.checklist.toString()+',' }) }else{ _self.messagesList.forEach(function(item){ item.check = false; }); _self.checklist = []; _self.msgId = '' } }, deleteMessageFn: function(){//删除消息 var _this =this; if(this.allCount === 0){ CAIMEI.dialog('暂无消息'); }else if(_this.checklist.length==0){ CAIMEI.dialog('请勾选未读消息'); }else{ UserApi.authDeleteMessage({id:_this.msgId},function (res) { if (res.code==0){ CAIMEI.dialog('刪除成功'); setTimeout(function (){ _this.getAuthClubMessageList(); },500) }else { CAIMEI.Alert(res.msg, '确定', false); } }) } }, signMessageFn: function(){//标记为已读 var _this =this; console.log(_this.checklist); console.log(_this.msgId); if(this.allCount === 0){ CAIMEI.dialog('暂无未读消息'); }else if(_this.checklist.length==0){ CAIMEI.dialog('请勾选未读消息'); }else { UserApi.authUpdateRead({userType:1,Id:_this.msgId},function (res) { if(res.code==0){ CAIMEI.dialog('标记已读成功'); setTimeout(function (){ _this.getAuthClubMessageCount(); _this.getAuthClubMessageList(); },500) }else { CAIMEI.Alert(res.msg, '确定', false); } }) } } }, mounted: function () { var _self=this; if(globalUserData){ this.listQuery.commonId = globalUserData.clubId; this.getAuthClubMessageCount() this.getAuthClubMessageList(); } if(!isPC){ $('footer').addClass("noneImportant"); //移动端上垃加载更多 $(window).on('scroll', function(){ var scrollTop = $(this).scrollTop(); var scrollHeight = $(document).height(); var windowHeight = window.innerHeight; if (scrollTop + windowHeight >= scrollHeight) { //此处是滚动条到底部时候触发的事件,在这里写要加载的数据,或者是拉动滚动条的操作 var totalPage = Math.ceil(_self.listRecord / _self.listQuery.pageSize)?Math.ceil(_self.listRecord / _self.listQuery.pageSize):1; var next = _self.listQuery.pageNum+1; if(next <= totalPage){ if (_self.requestFlag){ _self.listQuery.pageNum = next; // 获取列表数据 _self.getAuthClubMessageList(); } _self.requestFlag = false; }else{ //到底了 _self.noMore = true; $('footer').removeClass("noneImportant"); } } }); } } });