You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
426 lines
14 KiB
426 lines
14 KiB
<template>
|
|
<view>
|
|
<scroll-view :scroll-y="modalName==null" class="page" :class="modalName!=null?'show':''">
|
|
<cu-custom bgColor="bg-gradual-pink" :isBack="true">
|
|
<block slot="backText">返回</block>
|
|
<block slot="content">列表</block>
|
|
</cu-custom>
|
|
<view class="cu-bar bg-white solid-bottom margin-top">
|
|
<view class="action">
|
|
<text class="cuIcon-title text-orange "></text> 宫格列表
|
|
</view>
|
|
<view class="action">
|
|
<button class="cu-btn bg-green shadow" @tap="showModal" data-target="gridModal">设置</button>
|
|
</view>
|
|
</view>
|
|
<view class="cu-modal" :class="modalName=='gridModal'?'show':''" @tap="hideModal">
|
|
<view class="cu-dialog" @tap.stop>
|
|
<radio-group class="block" @change="Gridchange">
|
|
<view class="cu-list menu text-left">
|
|
<view class="cu-item" v-for="(item,index) in 3" :key="index">
|
|
<label class="flex justify-between align-center flex-sub">
|
|
<view class="flex-sub">{{index +3}} 列</view>
|
|
<radio class="round" :value="(index + 3) + ''" :class="gridCol==index+3?'checked':''" :checked="gridCol==index+3"></radio>
|
|
</label>
|
|
</view>
|
|
</view>
|
|
</radio-group>
|
|
<view class="cu-list menu text-left solid-top">
|
|
<view class="cu-item">
|
|
<view class="content">
|
|
<text class="text-grey">边框</text>
|
|
</view>
|
|
<view class="action">
|
|
<switch @change="Gridswitch" :class="gridBorder?'checked':''" :checked="gridBorder?true:false"></switch>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="cu-list grid" :class="['col-' + gridCol,gridBorder?'':'no-border']">
|
|
<view class="cu-item" v-for="(item,index) in cuIconList" :key="index" v-if="index<gridCol*2">
|
|
<view :class="['cuIcon-' + item.cuIcon,'text-' + item.color]">
|
|
<view class="cu-tag badge" v-if="item.badge!=0">
|
|
<block v-if="item.badge!=1">{{item.badge>99?'99+':item.badge}}</block>
|
|
</view>
|
|
</view>
|
|
<text>{{item.name}}</text>
|
|
</view>
|
|
</view>
|
|
|
|
|
|
<view class="cu-bar bg-white solid-bottom margin-top">
|
|
<view class="action">
|
|
<text class="cuIcon-title text-orange"></text> 菜单列表
|
|
</view>
|
|
<view class="action">
|
|
<button class="cu-btn bg-green shadow" @tap="showModal" data-target="menuModal">设置</button>
|
|
</view>
|
|
</view>
|
|
<view class="cu-modal" :class="modalName=='menuModal'?'show':''" @tap="hideModal">
|
|
<view class="cu-dialog" @tap.stop>
|
|
<view class="cu-list menu text-left solid-top">
|
|
<view class="cu-item">
|
|
<view class="content">
|
|
<text class="text-grey">短边框</text>
|
|
</view>
|
|
<view class="action">
|
|
<switch @change="MenuBorder" :class="menuBorder?'checked':''" :checked="menuBorder?true:false"></switch>
|
|
</view>
|
|
</view>
|
|
<view class="cu-item">
|
|
<view class="content">
|
|
<text class="text-grey">箭头</text>
|
|
</view>
|
|
<view class="action">
|
|
<switch @change="MenuArrow" :class="menuArrow?'checked':''" :checked="menuArrow?true:false"></switch>
|
|
</view>
|
|
</view>
|
|
<view class="cu-item">
|
|
<view class="content">
|
|
<text class="text-grey">卡片</text>
|
|
</view>
|
|
<view class="action">
|
|
<switch @change="MenuCard" :class="menuCard?'checked':''" :checked="menuCard?true:false"></switch>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="cu-list menu" :class="[menuBorder?'sm-border':'',menuCard?'card-menu margin-top':'']">
|
|
<view class="cu-item" :class="menuArrow?'arrow':''">
|
|
<view class="content">
|
|
<text class="cuIcon-circlefill text-grey"></text>
|
|
<text class="text-grey">图标 + 标题</text>
|
|
</view>
|
|
</view>
|
|
<view class="cu-item" :class="menuArrow?'arrow':''">
|
|
<view class="content">
|
|
<image src="/static/logo.png" class="png" mode="aspectFit"></image>
|
|
<text class="text-grey">图片 + 标题</text>
|
|
</view>
|
|
</view>
|
|
<view class="cu-item" :class="menuArrow?'arrow':''">
|
|
<button class="cu-btn content" open-type="contact">
|
|
<text class="cuIcon-btn text-olive"></text>
|
|
<text class="text-grey">Open-type 按钮</text>
|
|
</button>
|
|
</view>
|
|
<view class="cu-item" :class="menuArrow?'arrow':''">
|
|
<navigator class="content" hover-class="none" url="../list/list" open-type="redirect">
|
|
<text class="cuIcon-discoverfill text-orange"></text>
|
|
<text class="text-grey">Navigator 跳转</text>
|
|
</navigator>
|
|
</view>
|
|
<view class="cu-item" :class="menuArrow?'arrow':''">
|
|
<view class="content">
|
|
<text class="cuIcon-emojiflashfill text-pink"></text>
|
|
<text class="text-grey">头像组</text>
|
|
</view>
|
|
<view class="action">
|
|
<view class="cu-avatar-group">
|
|
<view class="cu-avatar round sm" style="background-image:url(https://ossweb-img.qq.com/images/lol/web201310/skin/big10001.jpg);"></view>
|
|
<view class="cu-avatar round sm" style="background-image:url(https://ossweb-img.qq.com/images/lol/web201310/skin/big81005.jpg);"></view>
|
|
<view class="cu-avatar round sm" style="background-image:url(https://ossweb-img.qq.com/images/lol/web201310/skin/big25002.jpg);"></view>
|
|
<view class="cu-avatar round sm" style="background-image:url(https://ossweb-img.qq.com/images/lol/web201310/skin/big91012.jpg);"></view>
|
|
</view>
|
|
<text class="text-grey text-sm">4 人</text>
|
|
</view>
|
|
</view>
|
|
<view class="cu-item" :class="menuArrow?'arrow':''">
|
|
<view class="content">
|
|
<text class="cuIcon-btn text-green"></text>
|
|
<text class="text-grey">按钮</text>
|
|
</view>
|
|
<view class="action">
|
|
<button class="cu-btn round bg-green shadow">
|
|
<text class="cuIcon-upload"></text> 上传</button>
|
|
</view>
|
|
</view>
|
|
<view class="cu-item" :class="menuArrow?'arrow':''">
|
|
<view class="content">
|
|
<text class="cuIcon-tagfill text-red margin-right-xs"></text>
|
|
<text class="text-grey">标签</text>
|
|
</view>
|
|
<view class="action">
|
|
<view class="cu-tag round bg-orange light">音乐</view>
|
|
<view class="cu-tag round bg-olive light">电影</view>
|
|
<view class="cu-tag round bg-blue light">旅行</view>
|
|
</view>
|
|
</view>
|
|
<view class="cu-item" :class="menuArrow?'arrow':''">
|
|
<view class="content">
|
|
<text class="cuIcon-warn text-green"></text>
|
|
<text class="text-grey">文本</text>
|
|
</view>
|
|
<view class="action">
|
|
<text class="text-grey text-sm">小目标还没有实现!</text>
|
|
</view>
|
|
</view>
|
|
<view class="cu-item">
|
|
<view class="content padding-tb-sm">
|
|
<view>
|
|
<text class="cuIcon-clothesfill text-blue margin-right-xs"></text> 多行Item</view>
|
|
<view class="text-gray text-sm">
|
|
<text class="cuIcon-infofill margin-right-xs"></text> 小目标还没有实现!</view>
|
|
</view>
|
|
<view class="action">
|
|
<switch class="switch-sex" @change="SwitchSex" :class="skin?'checked':''" :checked="skin?true:false"></switch>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="cu-bar bg-white solid-bottom margin-top">
|
|
<view class="action">
|
|
<text class="cuIcon-title text-orange "></text> 消息列表
|
|
</view>
|
|
</view>
|
|
<view class="cu-list menu-avatar">
|
|
<view class="cu-item">
|
|
<view class="cu-avatar round lg" style="background-image:url(https://ossweb-img.qq.com/images/lol/web201310/skin/big10001.jpg);"></view>
|
|
<view class="content">
|
|
<view class="text-grey">凯尔</view>
|
|
<view class="text-gray text-sm flex">
|
|
<view class="text-cut">
|
|
<text class="cuIcon-infofill text-red margin-right-xs"></text>
|
|
我已天理为凭,踏入这片荒芜,不再受凡人的枷锁遏制。我已天理为凭,踏入这片荒芜,不再受凡人的枷锁遏制。
|
|
</view> </view>
|
|
</view>
|
|
<view class="action">
|
|
<view class="text-grey text-xs">22:20</view>
|
|
<view class="cu-tag round bg-grey sm">5</view>
|
|
</view>
|
|
</view>
|
|
<view class="cu-item">
|
|
<view class="cu-avatar round lg" style="background-image:url(https://ossweb-img.qq.com/images/lol/img/champion/Taric.png);">
|
|
<view class="cu-tag badge">99+</view>
|
|
</view>
|
|
<view class="content">
|
|
<view class="text-grey">
|
|
<view class="text-cut">瓦洛兰之盾-塔里克</view>
|
|
<view class="cu-tag round bg-orange sm">战士</view>
|
|
</view>
|
|
<view class="text-gray text-sm flex">
|
|
<view class="text-cut">
|
|
塔里克是保护者星灵,用超乎寻常的力量守护着符文之地的生命、仁爱以及万物之美。塔里克由于渎职而被放逐,离开了祖国德玛西亚,前去攀登巨神峰寻找救赎,但他找到的却是来自星界的更高层的召唤。现在的塔里克与古代巨神族的神力相融合,以瓦洛兰之盾的身份,永不疲倦地警惕着阴险狡诈的虚空腐化之力。
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="action">
|
|
<view class="text-grey text-xs">22:20</view>
|
|
<view class="cuIcon-notice_forbid_fill text-gray"></view>
|
|
</view>
|
|
</view>
|
|
<view class="cu-item ">
|
|
<view class="cu-avatar radius lg" style="background-image:url(https://ossweb-img.qq.com/images/lol/img/champion/Morgana.png);"></view>
|
|
<view class="content">
|
|
<view class="text-pink"><view class="text-cut">莫甘娜</view></view>
|
|
<view class="text-gray text-sm flex"> <view class="text-cut">凯尔,你被自己的光芒变的盲目!</view></view>
|
|
</view>
|
|
<view class="action">
|
|
<view class="text-grey text-xs">22:20</view>
|
|
<view class="cu-tag round bg-red sm">5</view>
|
|
</view>
|
|
</view>
|
|
<view class="cu-item grayscale">
|
|
<view class="cu-avatar radius lg" style="background-image:url(https://ossweb-img.qq.com/images/lol/web201310/skin/big81007.jpg);"></view>
|
|
<view class="content">
|
|
<view><view class="text-cut">伊泽瑞尔</view>
|
|
<view class="cu-tag round bg-orange sm">断开连接...</view>
|
|
</view>
|
|
<view class="text-gray text-sm flex"> <view class="text-cut"> 等我回来一个打十个</view></view>
|
|
</view>
|
|
<view class="action">
|
|
<view class="text-grey text-xs">22:20</view>
|
|
<view class="cu-tag round bg-red sm">5</view>
|
|
</view>
|
|
</view>
|
|
<view class="cu-item cur">
|
|
<view class="cu-avatar radius lg" style="background-image:url(https://ossweb-img.qq.com/images/lol/web201310/skin/big81020.jpg);">
|
|
<view class="cu-tag badge"></view>
|
|
</view>
|
|
<view class="content">
|
|
<view>
|
|
<view class="text-cut">瓦罗兰大陆-睡衣守护者-新手保护营</view>
|
|
<view class="cu-tag round bg-orange sm">6人</view>
|
|
</view>
|
|
<view class="text-gray text-sm flex">
|
|
<view class="text-cut"> 伊泽瑞尔:<text class="cuIcon-locationfill text-orange margin-right-xs"></text> 传送中...</view></view>
|
|
</view>
|
|
<view class="action">
|
|
<view class="text-grey text-xs">22:20</view>
|
|
<view class="cuIcon-notice_forbid_fill text-gray"></view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="cu-bar bg-white solid-bottom margin-top">
|
|
<view class="action">
|
|
<text class="cuIcon-title 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 4" :key="index"
|
|
@touchstart="ListTouchStart" @touchmove="ListTouchMove" @touchend="ListTouchEnd" :data-target="'move-box-' + index">
|
|
<view class="cu-avatar round lg" :style="[{backgroundImage:'url(https://ossweb-img.qq.com/images/lol/web201310/skin/big2100'+ (index+2) +'.jpg)'}]"></view>
|
|
<view class="content">
|
|
<view class="text-grey">文晓港</view>
|
|
<view class="text-gray text-sm">
|
|
<text class="cuIcon-infofill text-red margin-right-xs"></text> 消息未送达</view>
|
|
</view>
|
|
<view class="action">
|
|
<view class="text-grey text-xs">22:20</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>
|
|
|
|
</scroll-view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
cuIconList: [{
|
|
cuIcon: 'cardboardfill',
|
|
color: 'red',
|
|
badge: 120,
|
|
name: 'VR'
|
|
}, {
|
|
cuIcon: 'recordfill',
|
|
color: 'orange',
|
|
badge: 1,
|
|
name: '录像'
|
|
}, {
|
|
cuIcon: 'picfill',
|
|
color: 'yellow',
|
|
badge: 0,
|
|
name: '图像'
|
|
}, {
|
|
cuIcon: 'noticefill',
|
|
color: 'olive',
|
|
badge: 22,
|
|
name: '通知'
|
|
}, {
|
|
cuIcon: 'upstagefill',
|
|
color: 'cyan',
|
|
badge: 0,
|
|
name: '排行榜'
|
|
}, {
|
|
cuIcon: 'clothesfill',
|
|
color: 'blue',
|
|
badge: 0,
|
|
name: '皮肤'
|
|
}, {
|
|
cuIcon: 'discoverfill',
|
|
color: 'purple',
|
|
badge: 0,
|
|
name: '发现'
|
|
}, {
|
|
cuIcon: 'questionfill',
|
|
color: 'mauve',
|
|
badge: 0,
|
|
name: '帮助'
|
|
}, {
|
|
cuIcon: 'commandfill',
|
|
color: 'purple',
|
|
badge: 0,
|
|
name: '问答'
|
|
}, {
|
|
cuIcon: 'brandfill',
|
|
color: 'mauve',
|
|
badge: 0,
|
|
name: '版权'
|
|
}],
|
|
modalName: null,
|
|
gridCol: 3,
|
|
gridBorder: false,
|
|
menuBorder: false,
|
|
menuArrow: false,
|
|
menuCard: false,
|
|
skin: false,
|
|
listTouchStart: 0,
|
|
listTouchDirection: null,
|
|
};
|
|
},
|
|
methods: {
|
|
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>
|
|
.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";
|
|
}
|
|
</style>
|