123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 |
- <template>
- <view>
- <!---消息系统暂未实现-->
- <cu-custom bgColor="bg-blue" :isBack="true">
- <block slot="backText">返回</block>
- <block slot="content">消息中心</block>
- </cu-custom>
- <scroll-view class="VerticalMain" scroll-y scroll-with-animation>
- <view class="cu-bar bg-white solid-bottom margin-top">
- <view class="action">
- <text class="cuIcon-notification text-orange "></text> 消息
- </view>
- </view>
- <view class="cu-list menu-avatar">
- <view class="cu-item" :class="modalName=='move-box-'+ index?'move-cur':''" v-for="(item,index) in messageList" :key="index"
- @touchstart="ListTouchStart" @touchmove="ListTouchMove" @touchend="ListTouchEnd" :data-target="'move-box-' + index">
- <view class="cu-avatar round lg" :style="[{backgroundImage:'url('+(item.createBy.photo?item.createBy.photo:'/static/user/flat-avatar.png')+')'}]"></view>
- <view class="content">
- <view class="text-bold text-grey">
- <view class="ellipsis-description" v-html="item.title"></view>
- </view>
- <view class=" text-gray text-sm">
- <div class="margin-left-xs ellipsis-description" v-html="item.content"></div>
- </view>
- </view>
- <view class="action" style="120px">
- <view class="text-grey text" >{{item.createDate}}</view>
- <!-- <view class="cu-tag round bg-grey sm">5</view> -->
- </view>
- <view class="move">
- <view class="bg-grey">置顶</view>
- <view class="bg-red">删除</view>
- </view>
- </view>
- <view v-if="messageList.length === 0">
- <view class="padding-lr bg-white">
- <view class="padding">暂无消息!</view>
- </view>
- </view>
- </view>
- </scroll-view>
- <view class="cu-tabbar-height"></view>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
-
- messageList: []
- };
- },
- async mounted () {
-
- },
- methods: {
- VerticalMain(e) {
- // #ifdef MP-ALIPAY
- return false //支付宝小程序暂时不支持双向联动
- // #endif
- let that = this;
- let tabHeight = 0;
- if (this.load) {
- for (let i = 0; i < this.list.length; i++) {
- let view = uni.createSelectorQuery().select("#main-" + this.list[i].id);
- view.fields({
- size: true
- }, data => {
- this.list[i].top = tabHeight;
- tabHeight = tabHeight + data.height;
- this.list[i].bottom = tabHeight;
- }).exec();
- }
- this.load = false
- }
- let scrollTop = e.detail.scrollTop + 10;
- for (let i = 0; i < this.list.length; i++) {
- if (scrollTop > this.list[i].top && scrollTop < this.list[i].bottom) {
- this.verticalNavTop = (this.list[i].id - 1) * 50
- this.tabCur = this.list[i].id
- console.log(scrollTop)
- return false
- }
- }
- },
- InputFocus(e) {
- this.InputBottom = e.detail.height
- },
- InputBlur(e) {
- this.InputBottom = 0
- },
- showModal(e) {
- this.modalName = e.currentTarget.dataset.target
- },
- hideModal(e) {
- this.modalName = null
- },
- Gridchange(e) {
- this.gridCol = e.detail.value
- },
- Gridswitch(e) {
- this.gridBorder = e.detail.value
- },
- MenuBorder(e) {
- this.menuBorder = e.detail.value
- },
- MenuArrow(e) {
- this.menuArrow = e.detail.value
- },
- MenuCard(e) {
- this.menuCard = e.detail.value
- },
- SwitchSex(e) {
- this.skin = e.detail.value
- },
- // ListTouch触摸开始
- ListTouchStart(e) {
- this.listTouchStart = e.touches[0].pageX
- },
- // ListTouch计算方向
- ListTouchMove(e) {
- this.listTouchDirection = e.touches[0].pageX - this.listTouchStart > 0 ? 'right' : 'left'
- },
- // ListTouch计算滚动
- ListTouchEnd(e) {
- if (this.listTouchDirection == 'left') {
- this.modalName = e.currentTarget.dataset.target
- } else {
- this.modalName = null
- }
- this.listTouchDirection = null
- }
- }
- }
- </script>
- <style>
- .ellipsis-description {
- font-size: 12px;
- line-height: $line-height-base;
- display: -webkit-box;/*作为弹性伸缩盒子模型显示*/
- -webkit-line-clamp: 1; /*显示的行数;如果要设置2行加...则设置为2*/
- overflow: hidden; /*超出的文本隐藏*/
- text-overflow: ellipsis; /* 溢出用省略号*/
- -webkit-box-orient: vertical;/*伸缩盒子的子元素排列:从上到下*/
- }
- .cu-list.menu-avatar>.cu-item .action {
- width: 120px;
- text-align: center;
- }
- .page {
- height: 100Vh;
- width: 100vw;
- }
- .page.show {
- overflow: hidden;
- }
- .switch-sex::after {
- content: "\e716";
- }
- .switch-sex::before {
- content: "\e7a9";
- }
- .switch-music::after {
- content: "\e66a";
- }
- .switch-music::before {
- content: "\e6db";
- }
- /* .fixed {
- position: fixed;
- z-index: 99;
- }
- */
- .VerticalNav.nav {
- width: 200upx;
- white-space: initial;
- }
-
- .VerticalNav.nav .cu-item {
- width: 100%;
- text-align: center;
- background-color: #fff;
- margin: 0;
- border: none;
- height: 50px;
- position: relative;
- }
-
- .VerticalNav.nav .cu-item.cur {
- background-color: #f1f1f1;
- }
-
- .top-warp{
- z-index: 9990;
- position: fixed;
- /* top: --window-top; /* css变量 */
- left: 0;
- width: 100%;
- /* height: 120upx; */
- /* background-color: white; */
- }
- .top-warp .tip{
- font-size: 28upx;
- height: 60upx;
- line-height: 60upx;
- text-align: center;
- }
- </style>
|