邓平艺 5 years ago
parent
commit
fa5eb2317d
  1. 37
      pages.json
  2. 12
      pages/find/find.vue
  3. 9
      pages/index/index.vue
  4. 48
      pages/messageCenter/index.vue
  5. 56
      pages/my/contact.vue
  6. 2
      pages/my/exclusiveMatch.vue
  7. 28
      pages/my/index.vue
  8. 11
      pages/my/likeMe.vue
  9. 9
      pages/my/memberDetails.vue
  10. 11
      pages/my/seeMe.vue
  11. 2
      pages/register/basicInfo.vue
  12. 385
      pages/register/chooseMate.vue
  13. 4
      pages/register/perfectInfo.vue
  14. 409
      pages/register/workFamily.vue
  15. 13
      pages/userList/filter.json
  16. 14
      pages/userList/userList.vue

37
pages.json

@ -29,6 +29,18 @@
"navigationBarTitleText": "会员注册-完善信息"
}
},
{
"path": "pages/register/chooseMate",
"style": {
"navigationBarTitleText": "会员注册-择偶条件"
}
},
{
"path": "pages/register/workFamily",
"style": {
"navigationBarTitleText": "会员注册-工作家庭"
}
},
{
"path": "pages/register/authorization",
"style": {
@ -90,6 +102,18 @@
"navigationBarTitleText": "我的收藏"
}
},
{
"path": "pages/my/seeMe",
"style": {
"navigationBarTitleText": "谁看过我"
}
},
{
"path": "pages/my/likeMe",
"style": {
"navigationBarTitleText": "喜欢我的"
}
},
{
"path": "pages/my/editInfo",
"style": {
@ -249,11 +273,6 @@
"iconPath": "static/tabbar/find.png",
"selectedIconPath": "static/tabbar/find-active.png",
"text": "发现"
},{
"pagePath": "pages/personalTailor/personalTailor",
"iconPath": "static/tabbar/customized.png",
"selectedIconPath": "static/tabbar/customized-active.png",
"text": "私人定制"
},{
"pagePath": "pages/messageCenter/index",
"iconPath": "static/tabbar/message.png",
@ -265,5 +284,13 @@
"selectedIconPath": "static/tabbar/my-active.png",
"text": "我的"
}]
//
// {
// "pagePath": "pages/personalTailor/personalTailor",
// "iconPath": "static/tabbar/customized.png",
// "selectedIconPath": "static/tabbar/customized-active.png",
// "text": "私人定制"
// },
}
}

12
pages/find/find.vue

@ -7,7 +7,7 @@
</swiper>
<view class="content">
<view class="card" v-for="item in 2" :key="item">
<view class="avatar">
<view class="avatar" @click="$url('/pages/my/index',{type: 'switch'})">
<lf-image src="../../static/logo.png" ></lf-image>
</view>
<view class="info">
@ -25,7 +25,13 @@
<!-- 时间和更多按钮 -->
<view class="lf-row-between lf-m-t-23">
<view class="lf-font-28 lf-color-777">08:38</view>
<view class="more" @click="show_more = !show_more">
<view class="more lf-font-28" style="width: 100rpx;height: 50rpx;">
<text class="lf-iconfont icon-fenxiang lf-font-24 lf-m-r-10"></text>
分享
</view>
<!-- 功能隐藏部分 -->
<!-- <view class="more" @click="show_more = !show_more">
<text class="lf-iconfont icon-more"></text>
<view class="more-modal" v-if="show_more">
<view class="more-item">
@ -41,7 +47,7 @@
<text class="lf-m-l-14">分享</text>
</view>
</view>
</view>
</view> -->
</view>
<!-- 评论 -->
<view class="comment">

9
pages/index/index.vue

@ -6,10 +6,10 @@
<text class="lf-iconfont icon-linedesign-12 lf-font-30 lf-m-l-20"></text>
<view class="lf-m-l-10 lf-font-24">搜索</view>
</view>
<view class="botton" @click="$url('/pages/signIn/signIn')">签到</view>
<!-- <view class="botton" @click="$url('/pages/signIn/signIn')">签到</view> -->
</view>
<!-- 上墙部分 -->
<view class="up-the-wall">
<!-- <view class="up-the-wall">
<view class="lf-row-between">
<view class="lf-font-32 lf-color-black">最新上墙</view>
<view class="lf-color-999" @click="$url('/pages/wallMember/wallMember')">
@ -29,7 +29,7 @@
</view>
</view>
</scroll-view>
</view>
</view> -->
<self-line />
<!-- 推荐单身 -->
<view>
@ -71,7 +71,8 @@
display: flex;
justify-content: space-between;
.search{
width: 530rpx;
// width: 530rpx;
width: 100%;
height: 62rpx;
background: #F7F7F7;
border-radius: 32rpx;

48
pages/messageCenter/index.vue

@ -9,7 +9,8 @@
<view class="lf-font-32 lf-color-222">{{ item.title }}</view>
<view class="lf-m-t-10 lf-font-28 lf-color-777">{{ item.desc }}</view>
</view>
<view>
<view class="lf-row-between">
<view class="lf-bg-red lf-font-28 ifread-tag">99+</view>
<text class="lf-iconfont icon-xiangyou lf-color-999"></text>
</view>
</view>
@ -19,23 +20,25 @@
<script>
export default {
data(){
data() {
return {
//
// {
// title: '',
// desc: '',
// icon: 'icon-pinglun',
// bg_color: '#409EEC',
// path: '',
// unread_count: 0
// },
list: [{
title: '消息订阅',
desc: '关闭后将错过不少缘分',
icon: 'icon-pinglun',
bg_color: '#409EEC',
path: '',
unread_count: 0
},{
title: '联系过的人',
desc: '去看看哪些人联系过了',
icon: 'icon-contact-person',
bg_color: '#FE3EA5',
path: '',
unread_count: 0
},{
}, {
title: '系统消息',
desc: '查看官方消息',
icon: 'icon-tongzhi',
@ -45,26 +48,28 @@
}]
}
},
onLoad(){
onLoad() {
},
methods: {
}
}
</script>
<style lang="scss" scoped="scoped">
.content{
.content {
padding: 0 32rpx;
width: 750rpx;
height: max-content;
box-sizing: border-box;
.list{
.list {
padding: 30rpx 0;
border-bottom: 1rpx solid #e5e5e5;
display: flex;
.icon{
.icon {
width: 120rpx;
height: 120rpx;
border-radius: 50%;
@ -76,4 +81,15 @@
}
}
}
.ifread-tag {
border-radius: 20rpx;
padding: 4rpx;
color: white;
width: 64rpx;
display: flex;
align-items: center;
justify-content: center;
margin-right: 10rpx;
}
</style>

56
pages/my/contact.vue

@ -16,18 +16,68 @@
</view>
<view class="lf-row-round lf-w-100 lf-p-t-20">
<view class="lf-font-28" style="color: #E21196;">是的</view>
<view class="lf-font-28">不了</view>
<view class="lf-font-28" style="color: #E21196;" @click="apllyBind()">是的</view>
<view class="lf-font-28" @click="$toBack()">不了</view>
</view>
</view>
</view>
<!-- <view class="date "> 13:23</view> -->
<view class="date "> 13:23</view>
</view>
<view class="cu-item self">
<view class="main">
<view class="action">
<text class="cuIcon-locationfill text-orange text-xxl"></text>
</view>
<view class="content shadow">
嘉宾xxxx很符合我的期待,我想与Ta尝试配对
</view>
</view>
<view class="cu-avatar radius">
<image class="lf-w-100 lf-h-100" src="../../static/logo.png" mode="aspectFill" ></image>
</view>
<view class="date">13:23</view>
</view>
<view class="cu-item">
<view class="cu-avatar radius">
<image class="lf-w-100 lf-h-100" src="../../static/logo.png" mode="aspectFill" ></image>
</view>
<view class="main">
<view class="content shadow">
嘻嘻,小红娘明白啦!已经将您的爱慕传达给了嘉宾xxx,咋们先等待一下Ta的回复吧
</view>
<view class="action text-grey">
<text class="cuIcon-warnfill text-red text-xxl"></text>
</view>
</view>
<view class="date">13:23</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
apllyBind() {
uni.showModal({
title: '提示',
content: '确认联系对方吗?',
cancelText: '下次一定',
confirmColor: '#E21196',
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
}
}
});
}
}
}
</script>
<style>

2
pages/my/exclusiveMatch.vue

@ -12,7 +12,7 @@
<view class="lf-flex">
<u-icon name="weixin-fill lf-m-r-15 lf-font-38"></u-icon><text class="lf-font-28 lf-color-222">gyw38283</text>
</view>
<view class="content-btn" @click="copy(gyw38283)">
<view class="content-btn" @click="copy('gyw38283')">
复制
</view>
</view>

28
pages/my/index.vue

@ -21,24 +21,24 @@
<view class="lf-font-32 lf-color-white">0</view>
<view class="lf-font-24 lf-color-white lf-p-t-20">红线</view>
</view>
<view class="lf-row-round lf-flex-column" @click="showPeachblossom()">
<!-- <view class="lf-row-round lf-flex-column" @click="showPeachblossom()">
<view class="lf-font-32 lf-color-white">5</view>
<view class="lf-font-24 lf-color-white lf-p-t-20">桃花</view>
</view>
<view class="lf-row-round lf-flex-column">
</view> -->
<view class="lf-row-round lf-flex-column" @click="$url('/pages/my/seeMe')">
<view class="lf-font-32 lf-color-white">0</view>
<view class="lf-font-24 lf-color-white lf-p-t-20">谁看过我</view>
</view>
<view class="lf-row-round lf-flex-column">
<view class="lf-row-round lf-flex-column" @click="$url('/pages/my/likeMe')">
<view class="lf-font-32 lf-color-white">0</view>
<view class="lf-font-24 lf-color-white lf-p-t-20">谁收藏我</view>
<view class="lf-font-24 lf-color-white lf-p-t-20">喜欢我的</view>
</view>
<view class="lf-row-round lf-flex-column">
<view class="lf-font-32 lf-color-white">70%</view>
<view class="lf-font-24 lf-color-white lf-p-t-20">资料完整</view>
</view>
</view>
<view class="head-top-wrap lf-w-100 lf-h-100">
<!-- <view class="head-top-wrap lf-w-100 lf-h-100">
<view class="lf-w-100 tips-wrap">
<view class="tips">
<view class="lf-row-round lf-w-100 lf-h-100 lf-p-b-12">
@ -49,7 +49,7 @@
</view>
</view>
</view>
</view>
</view> -->
</view>
<view class="adv">
<view>
@ -88,12 +88,12 @@
list: [
{name: '我的红娘',icon:'github-circle-fill',path: '/pages/my/exclusiveMatch',pic: '../../static/my/red.png'},
{name: '实名认证',icon:'email',path: '/pages/my/authentication',pic: '../../static/my/authen.png'},
{name: '我的收藏',icon:'qzone',path: '/pages/my/collect',pic: '../../static/my/collect.png'},
{name: '我喜欢的',icon:'qzone',path: '/pages/my/collect',pic: '../../static/my/collect.png'},
{name: '我的动态',icon:'moments',path:'/pages/my/qzone',pic: '../../static/my/qzone.png'},
{name: '福利中心',icon:'red-packet',path:'/pages/my/welfare',pic: '../../static/my/welhare.png'},
// {name: '',icon:'red-packet',path:'/pages/my/welfare',pic: '../../static/my/welhare.png'},
{name: '公众号',icon:'google-circle-fill',path:'/pages/my/officialAccount',pic: '../../static/my/public.png'},
{name: '联系客服',icon:'kefu-ermai',path: '/pages/my/service',pic: '../../static/my/service.png'},
{name: '设置',icon:'setting',path: '/pages/my/setting',pic: '../../static/my/setting.png'}
// {name: '',icon:'setting',path: '/pages/my/setting',pic: '../../static/my/setting.png'}
]
}
},
@ -150,7 +150,9 @@
.head-top {
width: 100%;
height: 562rpx;
//
// height: 562rpx;
height: 480rpx;
position: relative;
z-index: 9;
/* background-color: red; */
@ -167,7 +169,9 @@
.head-top::after {
content: '';
width: 100%;
height: 529rpx;
//
// height: 529rpx;
height: 442rpx;
position: absolute;
left: 0;
top: 0;

11
pages/my/likeMe.vue

@ -0,0 +1,11 @@
<template>
<view>
<lf-userList></lf-userList>
</view>
</template>
<script>
</script>
<style scoped="scoped">
</style>

9
pages/my/memberDetails.vue

@ -34,7 +34,7 @@
<view class="lf-color-333 lf-font-28">
了解Ta的购车住房情况和家庭成员资料
</view>
<view class="lf-font-24 lf-m-t-20" style="color: #E21196;">
<view class="lf-font-24 lf-m-t-20" style="color: #E21196;" @click="$url('/pages/my/authentication')">
实名认证后可查看>>
</view>
</view>
@ -43,7 +43,7 @@
<view class="lf-color-333 lf-font-28">
了解Ta的婚史身高年龄等各项择偶要求
</view>
<view class="lf-font-24 lf-m-t-20" style="color: #E21196;">
<view class="lf-font-24 lf-m-t-20" style="color: #E21196;" @click="$url('/pages/my/authentication')">
实名认证后可查看>>
</view>
</view>
@ -65,14 +65,15 @@
分享
</view>
</view>
<view class="lf-flex-column" style="align-items: center;margin-left: 50rpx;">
<!-- 暂时隐藏部分 -->
<!-- <view class="lf-flex-column" style="align-items: center;margin-left: 50rpx;">
<view>
<u-icon name="more-dot-fill lf-font-32 lf-color-555"></u-icon>
</view>
<view class="lf-color-555 lf-font-24">
更多
</view>
</view>
</view> -->
</view>
<view>
<button class="tabbar-btn" @click="$url('/pages/my/contact')">联系Ta</button>

11
pages/my/seeMe.vue

@ -0,0 +1,11 @@
<template>
<view>
<lf-userList></lf-userList>
</view>
</template>
<script>
</script>
<style scoped="scoped">
</style>

2
pages/register/basicInfo.vue

@ -67,7 +67,7 @@
</view>
</view>
<button class="btn" hover-class="lf-opacity">下一步</button>
<button class="btn" hover-class="lf-opacity" @click="$url('/pages/register/perfectInfo')">下一步</button>
</view>
</view>
</template>

385
pages/register/chooseMate.vue

@ -0,0 +1,385 @@
<template>
<view class="lf-p-30">
<view class="up-the-wall">
<view class="lf-row-between lf-p-t-30 lf-p-b-30 border-register">
<view class="lf-font-28 lf-color-333"><text class="lf-color-primary">*</text>婚史要求</view>
<view class="lf-font-28 lf-color-333">
<picker mode="selector" @change="getValue('marriage', $event)" :range="marriage" :value="marriage_index">
<text>{{ marriage[marriage_index] || '请选择' }}</text>
</picker>
</view>
</view>
<view class="lf-row-between lf-p-t-30 lf-p-b-30 border-register">
<view class="lf-font-28 lf-color-333"><text class="lf-color-primary">*</text>最低身高</view>
<view class="lf-font-28 lf-color-333">
<picker mode="selector" @change="getValue('marriage', $event)" :range="marriage" :value="marriage_index">
<text>{{ marriage[marriage_index] || '请选择' }}</text>
</picker>
</view>
</view>
<view class="lf-row-between lf-p-t-30 lf-p-b-30 border-register">
<view class="lf-font-28 lf-color-333"><text class="lf-color-primary">*</text>最低学历要求</view>
<view class="lf-font-28 lf-color-333">
<picker mode="selector" @change="getValue('marriage', $event)" :range="marriage" :value="marriage_index">
<text>{{ marriage[marriage_index] || '请选择' }}</text>
</picker>
</view>
</view>
<view class="lf-row-between lf-p-t-30 lf-p-b-30 border-register">
<view class="lf-font-28 lf-color-333"><text class="lf-font-28" style="color: #E21196;">*</text>最低年薪要求</view>
<view @tap="showModal" data-target="ChooseModal" class="lf-font-28 lf-color-333">
请选择
</view>
</view>
<view class="tag-content">
<view class="personal-tag" :class="item.hot?'personal-special1':'personal-active1'" v-for="item of chooseList">{{item.name}}</view>
</view>
<view class="cu-modal" :class="modalName=='ChooseModal'?'show':''" @tap="hideModal">
<view class="cu-dialog">
<view class="lf-p-b-30 lf-font-32" style="color: #E21196;">
请选择你的家庭成员
</view>
<view class="tag-content1">
<view class="personal-tag1" :class="item.checked?'personal-active':''" :data-value="item.value" v-for="(item,index) of checkbox" @tap.stop="ChooseCheckbox">{{item.name}}</view>
</view>
<view class="lf-row-center">
<view class="work-btn1 work-btn" @click.stop="makeSure()">
确认选择
</view>
</view>
</view>
</view>
<button class="btn" hover-class="lf-opacity">最后一步</button>
</view>
</view>
</template>
<script>
export default {
data(){
return {
marriage: ['已婚', '未婚'],
marriage_index: null,
birth_date: '',
modalName: null,
checkbox: [{
value: 0,
name: '父亲',
checked: true,
hot: false,
}, {
value: 1,
name: '母亲',
checked: true,
hot: false,
}, {
value: 2,
name: '哥哥',
checked: false,
hot: false,
}, {
value: 3,
name: '姐姐',
checked: false,
hot: false,
}, {
value: 4,
name: '儿子',
checked: false,
hot: false,
}, {
value: 5,
name: '儿子(离异归对方)',
checked: false,
hot: true,
}],
chooseList: []
}
},
onLoad(){
},
methods: {
getValue(current, event){
this[current +'_index'] = event.detail.value;
},
showModal(e) {
this.modalName = e.currentTarget.dataset.target
},
hideModal(e) {
this.modalName = null
},
makeSure(e) {
this.chooseList = [];
this.checkbox.forEach(item => {
if(item.checked == true) {
this.chooseList.push(item)
}
});
this.modalName = null
},
ChooseCheckbox(e) {
let items = this.checkbox;
let values = e.currentTarget.dataset.value;
for (let i = 0, lenI = items.length; i < lenI; ++i) {
if (items[i].value == values) {
items[i].checked = !items[i].checked;
break
}
}
}
}
}
</script>
<style>
page {
background-color: #F5F5F5;
}
</style>
<style scoped lang="scss">
.perfance-area {
background-color: #F5F5F5;
width: 560rpx;
border-radius: 10rpx;
padding: 30rpx;
}
.up-the-wall {
width: 100%;
height: max-content;
padding: 21rpx 32rpx 21rpx;
background-color: white;
border-radius: 10rpx;
}
/deep/.input-placeholder {
/* placeholder颜色 */
color: #777777;
/* placeholder字体大小 */
font-size: 28rpx;
}
.border-register {
border-bottom: 1px solid #f5f5f5;
}
.btn{
width: 100%;
height: 90rpx;
line-height: 90rpx;
margin-top: 20rpx;
padding-bottom: 10rpx;
background: #E21196;
border-radius: 46rpx;
color: #FFFFFF;
}
.tag-content {
width: 600rpx;
flex-wrap: wrap;
display: flex;
margin-top: 10rpx;
}
.personal-tag {
margin: 10rpx 4rpx;
width: max-content;
padding: 2rpx 20rpx;
height: 55rpx;
border-radius: 28rpx;
border: 1rpx solid #E21196;
color: #E21196;
font-size: 28rpx;
margin-right: 15rpx;
display: flex;
justify-content: center;
align-items: center;
&:nth-child(5n) {
margin-right: 0;
}
&:nth-child(n + 6) {
margin-top: 20rpx;
}
}
.tag-content1 {
width: 600rpx;
flex-wrap: wrap;
display: flex;
}
.personal-tag1 {
width: max-content;
padding: 8rpx 25rpx;
height: 55rpx;
border-radius: 10rpx;
border: 1rpx solid #ccc;
color: #969090;
font-size: 28rpx;
margin-right: 15rpx;
display: flex;
justify-content: center;
align-items: center;
&:nth-child(5n) {
margin-right: 0;
}
&:nth-child(n + 6) {
margin-top: 20rpx;
}
}
.personal-active {
border: 1rpx solid #E21196!important;
color: #E21196!important;
}
.personal-special {
border: 1rpx solid orange!important;
color: orange!important;
}
.personal-active1 {
border: none!important;
background-color: #E21196!important;
color: #fff!important;
}
.personal-special1 {
border: none!important;
background-color: orange!important;
color: #fff!important;
}
.work-btn1 {
border-radius: 10rpx!important;
}
.work-btn {
width: 626rpx;
height: 90rpx;
background: #E21196;
border-radius: 45rpx;
color: white;
font-size: 32rpx;
display: flex;
justify-content: center;
text-align: center;
align-items: center;
margin-top: 60rpx;
}
.work-tag {
height: 100%!important;
}
.work-tag {
width: 686rpx;
height: 215rpx;
background: #FFFFFF;
border-radius: 10rpx;
margin: 30rpx auto;
display: flex;
flex-direction: column;
/* justify-content: space-around; */
padding: 30rpx;
}
//
.cu-modal {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1110;
opacity: 0;
outline: 0;
text-align: center;
-ms-transform: scale(1.185);
transform: scale(1.185);
backface-visibility: hidden;
perspective: 2000upx;
background: rgba(0, 0, 0, 0.6);
transition: all 0.3s ease-in-out 0s;
pointer-events: none;
}
.cu-modal::before {
content: "\200B";
display: inline-block;
height: 100%;
vertical-align: middle;
}
.cu-modal.show {
opacity: 1;
transition-duration: 0.3s;
-ms-transform: scale(1);
transform: scale(1);
overflow-x: hidden;
overflow-y: auto;
pointer-events: auto;
}
.cu-dialog {
position: relative;
display: inline-block;
vertical-align: middle;
margin-left: auto;
margin-right: auto;
width: 680upx;
max-width: 100%;
background-color: #f8f8f8;
border-radius: 10upx;
overflow: hidden;
padding: 30rpx;
}
.cu-modal.bottom-modal::before {
vertical-align: bottom;
}
.cu-modal.bottom-modal .cu-dialog {
width: 100%;
border-radius: 0;
}
.cu-modal.bottom-modal {
margin-bottom: -1000upx;
}
.cu-modal.bottom-modal.show {
margin-bottom: 0;
}
.cu-modal.drawer-modal {
transform: scale(1);
display: flex;
}
.cu-modal.drawer-modal .cu-dialog {
height: 100%;
min-width: 200upx;
border-radius: 0;
margin: initial;
transition-duration: 0.3s;
}
.cu-modal.drawer-modal.justify-start .cu-dialog {
transform: translateX(-100%);
}
.cu-modal.drawer-modal.justify-end .cu-dialog {
transform: translateX(100%);
}
.cu-modal.drawer-modal.show .cu-dialog {
transform: translateX(0%);
}
.cu-modal .cu-dialog>.cu-bar:first-child .action{
min-width: 100rpx;
margin-right: 0;
min-height: 100rpx;
}
</style>

4
pages/register/perfectInfo.vue

@ -27,7 +27,7 @@
<view class="lf-row-between lf-p-t-30 lf-p-b-30 border-register">
<view class="lf-font-28 lf-color-333"><text class="lf-font-28" style="color: #E21196;">*</text>家庭成员</view>
<view @tap="showModal" data-target="ChooseModal" class="lf-font-28 lf-color-777">
<view @tap="showModal" data-target="ChooseModal" class="lf-font-28 lf-color-333">
请选择
</view>
</view>
@ -62,7 +62,7 @@
<textarea class="perfance-area" maxlength="200" v-model="contentArea" placeholder="展现自己,也可以说出您的故事~" />
</view>
</view>
<button class="btn" hover-class="lf-opacity">不错,下一步</button>
<button class="btn" hover-class="lf-opacity" @click="$url('/pages/register/workFamily')">下一步</button>
</view>
</view>
</template>

409
pages/register/workFamily.vue

@ -0,0 +1,409 @@
<template>
<view class="lf-p-30">
<view class="up-the-wall">
<view class="lf-row-between lf-p-t-30 lf-p-b-30 border-register">
<view class="lf-font-28 lf-color-333"><text class="lf-color-primary">*</text>单位性质</view>
<view class="lf-font-28 lf-color-333">
<picker mode="selector" @change="getValue('marriage', $event)" :range="marriage" :value="marriage_index">
<text>{{ marriage[marriage_index] || '请选择' }}</text>
</picker>
</view>
</view>
<view class="lf-row-between lf-p-t-30 lf-p-b-30 border-register">
<view class="lf-font-28 lf-color-333"><text class="lf-color-primary">*</text>所属行业</view>
<view class="lf-font-28 lf-color-333">
<picker mode="selector" @change="getValue('marriage', $event)" :range="marriage" :value="marriage_index">
<text>{{ marriage[marriage_index] || '请选择' }}</text>
</picker>
</view>
</view>
<view class="lf-row-between lf-p-t-30 lf-p-b-30 border-register">
<view class="lf-font-28 lf-color-333"><text class="lf-color-primary">*</text>户籍地</view>
<view class="lf-font-28 lf-color-333">
<picker mode="selector" @change="getValue('marriage', $event)" :range="marriage" :value="marriage_index">
<text>{{ marriage[marriage_index] || '请选择' }}</text>
</picker>
</view>
</view>
<view class="lf-row-between lf-p-t-30 lf-p-b-30 border-register">
<view class="lf-font-28 lf-color-333"><text class="lf-color-primary">*</text>居住情况</view>
<view class="lf-font-28 lf-color-333">
<picker mode="selector" @change="getValue('marriage', $event)" :range="marriage" :value="marriage_index">
<text>{{ marriage[marriage_index] || '请选择' }}</text>
</picker>
</view>
</view>
<view class="lf-row-between lf-p-t-30 lf-p-b-30 border-register">
<view class="lf-font-28 lf-color-333"><text class="lf-color-primary">*</text>住房情况</view>
<view class="lf-font-28 lf-color-333">
<picker mode="selector" @change="getValue('marriage', $event)" :range="marriage" :value="marriage_index">
<text>{{ marriage[marriage_index] || '请选择' }}</text>
</picker>
</view>
</view>
<view class="lf-row-between lf-p-t-30 lf-p-b-30 border-register">
<view class="lf-font-28 lf-color-333"><text class="lf-color-primary">*</text>购房情况</view>
<view class="lf-font-28 lf-color-333">
<picker mode="selector" @change="getValue('marriage', $event)" :range="marriage" :value="marriage_index">
<text>{{ marriage[marriage_index] || '请选择' }}</text>
</picker>
</view>
</view>
<view class="lf-row-between lf-p-t-30 lf-p-b-30 border-register">
<view class="lf-font-28 lf-color-333"><text class="lf-font-28" style="color: #E21196;">*</text>家庭成员</view>
<view @tap="showModal" data-target="ChooseModal" class="lf-font-28 lf-color-333">
请选择
</view>
</view>
<view class="tag-content">
<view class="personal-tag" :class="item.hot?'personal-special1':'personal-active1'" v-for="item of chooseList">{{item.name}}</view>
</view>
<view class="cu-modal" :class="modalName=='ChooseModal'?'show':''" @tap="hideModal">
<view class="cu-dialog">
<view class="lf-p-b-30 lf-font-32" style="color: #E21196;">
请选择你的家庭成员
</view>
<view class="tag-content1">
<view class="personal-tag1" :class="item.checked?'personal-active':''" :data-value="item.value" v-for="(item,index) of checkbox" @tap.stop="ChooseCheckbox">{{item.name}}</view>
</view>
<view class="lf-row-center">
<view class="work-btn1 work-btn" @click.stop="makeSure()">
确认选择
</view>
</view>
</view>
</view>
<button class="btn" hover-class="lf-opacity" @click="$url('/pages/register/chooseMate')">不错,下一步</button>
</view>
</view>
</template>
<script>
export default {
data(){
return {
marriage: ['已婚', '未婚'],
marriage_index: null,
birth_date: '',
contentArea: '',
modalName: null,
checkbox: [{
value: 0,
name: '父亲',
checked: true,
hot: false,
}, {
value: 1,
name: '母亲',
checked: true,
hot: false,
}, {
value: 2,
name: '哥哥',
checked: false,
hot: false,
}, {
value: 3,
name: '姐姐',
checked: false,
hot: false,
}, {
value: 4,
name: '儿子',
checked: false,
hot: false,
}, {
value: 5,
name: '儿子(离异归对方)',
checked: false,
hot: true,
}],
chooseList: []
}
},
onLoad(){
},
methods: {
getValue(current, event){
this[current +'_index'] = event.detail.value;
},
showModal(e) {
this.modalName = e.currentTarget.dataset.target
},
hideModal(e) {
this.modalName = null
},
makeSure(e) {
this.chooseList = [];
this.checkbox.forEach(item => {
if(item.checked == true) {
this.chooseList.push(item)
}
});
this.modalName = null
},
ChooseCheckbox(e) {
let items = this.checkbox;
let values = e.currentTarget.dataset.value;
for (let i = 0, lenI = items.length; i < lenI; ++i) {
if (items[i].value == values) {
items[i].checked = !items[i].checked;
break
}
}
}
}
}
</script>
<style>
page {
background-color: #F5F5F5;
}
</style>
<style scoped lang="scss">
.perfance-area {
background-color: #F5F5F5;
width: 560rpx;
border-radius: 10rpx;
padding: 30rpx;
}
.up-the-wall {
width: 100%;
height: max-content;
padding: 21rpx 32rpx 21rpx;
background-color: white;
border-radius: 10rpx;
}
/deep/.input-placeholder {
/* placeholder颜色 */
color: #777777;
/* placeholder字体大小 */
font-size: 28rpx;
}
.border-register {
border-bottom: 1px solid #f5f5f5;
}
.btn{
width: 100%;
height: 90rpx;
line-height: 90rpx;
margin-top: 20rpx;
padding-bottom: 10rpx;
background: #E21196;
border-radius: 46rpx;
color: #FFFFFF;
}
.tag-content {
width: 600rpx;
flex-wrap: wrap;
display: flex;
margin-top: 10rpx;
}
.personal-tag {
margin: 10rpx 4rpx;
width: max-content;
padding: 2rpx 20rpx;
height: 55rpx;
border-radius: 28rpx;
border: 1rpx solid #E21196;
color: #E21196;
font-size: 28rpx;
margin-right: 15rpx;
display: flex;
justify-content: center;
align-items: center;
&:nth-child(5n) {
margin-right: 0;
}
&:nth-child(n + 6) {
margin-top: 20rpx;
}
}
.tag-content1 {
width: 600rpx;
flex-wrap: wrap;
display: flex;
}
.personal-tag1 {
width: max-content;
padding: 8rpx 25rpx;
height: 55rpx;
border-radius: 10rpx;
border: 1rpx solid #ccc;
color: #969090;
font-size: 28rpx;
margin-right: 15rpx;
display: flex;
justify-content: center;
align-items: center;
&:nth-child(5n) {
margin-right: 0;
}
&:nth-child(n + 6) {
margin-top: 20rpx;
}
}
.personal-active {
border: 1rpx solid #E21196!important;
color: #E21196!important;
}
.personal-special {
border: 1rpx solid orange!important;
color: orange!important;
}
.personal-active1 {
border: none!important;
background-color: #E21196!important;
color: #fff!important;
}
.personal-special1 {
border: none!important;
background-color: orange!important;
color: #fff!important;
}
.work-btn1 {
border-radius: 10rpx!important;
}
.work-btn {
width: 626rpx;
height: 90rpx;
background: #E21196;
border-radius: 45rpx;
color: white;
font-size: 32rpx;
display: flex;
justify-content: center;
text-align: center;
align-items: center;
margin-top: 60rpx;
}
.work-tag {
height: 100%!important;
}
.work-tag {
width: 686rpx;
height: 215rpx;
background: #FFFFFF;
border-radius: 10rpx;
margin: 30rpx auto;
display: flex;
flex-direction: column;
/* justify-content: space-around; */
padding: 30rpx;
}
//
.cu-modal {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1110;
opacity: 0;
outline: 0;
text-align: center;
-ms-transform: scale(1.185);
transform: scale(1.185);
backface-visibility: hidden;
perspective: 2000upx;
background: rgba(0, 0, 0, 0.6);
transition: all 0.3s ease-in-out 0s;
pointer-events: none;
}
.cu-modal::before {
content: "\200B";
display: inline-block;
height: 100%;
vertical-align: middle;
}
.cu-modal.show {
opacity: 1;
transition-duration: 0.3s;
-ms-transform: scale(1);
transform: scale(1);
overflow-x: hidden;
overflow-y: auto;
pointer-events: auto;
}
.cu-dialog {
position: relative;
display: inline-block;
vertical-align: middle;
margin-left: auto;
margin-right: auto;
width: 680upx;
max-width: 100%;
background-color: #f8f8f8;
border-radius: 10upx;
overflow: hidden;
padding: 30rpx;
}
.cu-modal.bottom-modal::before {
vertical-align: bottom;
}
.cu-modal.bottom-modal .cu-dialog {
width: 100%;
border-radius: 0;
}
.cu-modal.bottom-modal {
margin-bottom: -1000upx;
}
.cu-modal.bottom-modal.show {
margin-bottom: 0;
}
.cu-modal.drawer-modal {
transform: scale(1);
display: flex;
}
.cu-modal.drawer-modal .cu-dialog {
height: 100%;
min-width: 200upx;
border-radius: 0;
margin: initial;
transition-duration: 0.3s;
}
.cu-modal.drawer-modal.justify-start .cu-dialog {
transform: translateX(-100%);
}
.cu-modal.drawer-modal.justify-end .cu-dialog {
transform: translateX(100%);
}
.cu-modal.drawer-modal.show .cu-dialog {
transform: translateX(0%);
}
.cu-modal .cu-dialog>.cu-bar:first-child .action{
min-width: 100rpx;
margin-right: 0;
min-height: 100rpx;
}
</style>

13
pages/userList/filter.json

@ -1,4 +1,17 @@
{
"total": {
"name": "综合",
"selected": "",
"data": [{
"value": "默认排序"
},{
"value": "最新加入"
},{
"value": "最近在线"
},{
"value": "动态最多"
}]
},
"gender": {
"name": "性别",
"selected": "",

14
pages/userList/userList.vue

@ -1,7 +1,7 @@
<template>
<view>
<view class="head">
<button class="sign-in-btn">{{ name }}</button>
<!-- <button class="sign-in-btn">最新</button> -->
<!-- tabs -->
<view class="filter-item" v-for="(value, key) in filter" :key="key" @click="switchFilter(key)">
<text>{{ value.selected || value.name }}</text>
@ -138,7 +138,7 @@
line-height: 60rpx;
}
.filter-item{
width: 100rpx;
width: 114rpx;
height: 62rpx;
line-height: 62rpx;
text-align: right;
@ -168,10 +168,14 @@
left: 0;
z-index: 14;
overflow-y: scroll;
padding-left: 32rpx;
padding: 0 0 32rpx 32rpx;
display: flex;
flex-direction: column;
justify-content: space-evenly;
view{
height: 60rpx;
border-bottom: 1rpx solid #e5e5e5;
// border-bottom: 1rpx solid #e5e5e5;
padding: 20rpx 0;
line-height: 60rpx;
}
}
@ -198,7 +202,7 @@
height: 62rpx;
border-radius: 31rpx;
border: 1rpx solid #999999;
font-size: 28rpx;
font-size: 20rpx;
color: #999999;
text-align: center;
line-height: 62rpx;

Loading…
Cancel
Save