Browse Source

粉丝

master
Bobi 3 months ago
parent
commit
a9b2284a4a
2 changed files with 235 additions and 169 deletions
  1. +115
    -112
      pages/index/index.vue
  2. +120
    -57
      pages_order/components/list/cart/cartItem.vue

+ 115
- 112
pages/index/index.vue View File

@ -1,6 +1,6 @@
<template>
<view class="page">
<view>
<!-- <uv-swiper
:list="bannerList"
@ -8,23 +8,17 @@
height="490rpx"
indicatorStyle="bottom: 100rpx;"
keyName="image"></uv-swiper> -->
<image :src="headInfo.bg"
style="width: 100%;height: 490rpx;"
mode="aspectFill"></image>
<image :src="headInfo.bg" style="width: 100%;height: 490rpx;" mode="aspectFill"></image>
</view>
<!-- 瑶都万能墙 -->
<view class="Headbackground">
<view class="Toggle">
<uv-icon
size="30rpx"
color="#fff"
name="map"></uv-icon>
<uv-icon size="30rpx" color="#fff" name="map"></uv-icon>
江华瑶族自治县
</view>
<view class="top">
<view class="profilePicture"
>
<view class="profilePicture">
<image :src="headInfo.headImage" mode=""></image>
</view>
<view class="UniversalWall">
@ -62,103 +56,81 @@
</view>
</view>
<view class="join"
@click="join">
<view
v-if="userInfo.idCardOpen == 0">
<view class="join" @click="join">
<view v-if="userInfo.idCardOpen == 0">
审核中
</view>
<view
v-else-if="!userInfo.idCardOpen">
加入
<view v-else-if="!userInfo.idCardOpen">
成为会员
</view>
<view
v-else>
<uv-icon
color="#fff"
size="30rpx"
name="list-dot"></uv-icon>
<view v-else>
<uv-icon color="#fff" size="30rpx" name="list-dot"></uv-icon>
</view>
</view>
</view>
</view>
<view class="box">
<!-- 菜单栏 -->
<scroll-view
scroll-x="true">
<scroll-view scroll-x="true">
<view class="life">
<view class="mouse" @click="menuClick(item.url)"
:key="index"
v-for="(item, index) in menu">
<view class="mouse" @click="menuClick(item.url)" :key="index" v-for="(item, index) in menu">
<view class="RentingAhouseimg">
<image
:src="item.icon" mode=""></image>
<image :src="item.icon" mode=""></image>
</view>
<view class="RentingAhouse">
{{ item.title }}
</view>
</view>
<view class="more" @click="menuClick(item.url)" >
更多
</view>
</view>
</scroll-view>
<!-- 分类 -->
<view class="LabelOptions">
<uv-tabs :list="category"
:activeStyle="{color : '#000', fontWeight : 900, fontSize : '36rpx'}"
lineColor="#5baaff"
lineHeight="8rpx"
lineWidth="60rpx"
keyName="title"
@click="tabsClick"></uv-tabs>
<uv-tabs :list="category" :activeStyle="{color : '#000', fontWeight : 900, fontSize : '36rpx'}"
lineColor="#5baaff" lineHeight="8rpx" lineWidth="60rpx" keyName="title"
@click="tabsClick"></uv-tabs>
</view>
<!-- 动态列表 -->
<view
class="dynamicList">
<dynamicItem
:key="index"
v-for="(item, index) in list"
:item="item"
@click="$utils.navigateTo('/pages_order/post/postDetail?id=' + item.id)"
/>
<view class="dynamicList">
<dynamicItem :key="index" v-for="(item, index) in list" :item="item"
@click="$utils.navigateTo('/pages_order/post/postDetail?id=' + item.id)" />
</view>
</view>
<!-- 页面浮窗 -->
<createDetailPopup
@customerServiceOpen="$refs.customerServicePopup.open()"
@integralDetailsOpen="$refs.integralDetailsPopup.open('bottom')"
/>
<createDetailPopup @customerServiceOpen="$refs.customerServicePopup.open()"
@integralDetailsOpen="$refs.integralDetailsPopup.open('bottom')" />
<!-- 加入我们 -->
<certificationPopup ref="certificationPopup"/>
<certificationPopup ref="certificationPopup" />
<!-- 分享 -->
<sharePopup ref="sharePopup"/>
<sharePopup ref="sharePopup" />
<!-- 签到获取积分 -->
<signInOnePopup ref="signInOnePopup"/>
<signInOnePopup ref="signInOnePopup" />
<!-- 联系客服 -->
<customerServicePopup
:title="headInfo.details"
:image="headInfo.kefu"
ref="customerServicePopup"/>
<customerServicePopup :title="headInfo.details" :image="headInfo.kefu" ref="customerServicePopup" />
<!-- 隐私协议 -->
<PrivacyAgreementPoup />
<!-- 积分规则 -->
<uv-popup ref="integralDetailsPopup"
:round="30"
:customStyle="{height: '60vh'}">
<uv-popup ref="integralDetailsPopup" :round="30" :customStyle="{height: '60vh'}">
<view style="overflow: scroll;padding: 30rpx 20rpx;">
<uv-parse :content="headInfo.integralDetails"></uv-parse>
</view>
</uv-popup>
<tabber select="0" />
</view>
</template>
@ -173,7 +145,9 @@
import signInOnePopup from '@/components/user/signInOnePopup.vue'
import dynamicItem from '@/components/list/dynamic/dynamicItem.vue'
import mixinsList from '@/mixins/list.js'
import { mapState } from 'vuex'
import {
mapState
} from 'vuex'
export default {
mixins: [mixinsList],
components: {
@ -189,17 +163,17 @@
data() {
return {
// headInfo: {},
menu : [],
mixinsListApi : 'getPostPage',
bannerList : [],
onShowData : false,
menu: [],
mixinsListApi: 'getPostPage',
bannerList: [],
onShowData: false,
}
},
onLoad(query) {
if(query.shareId){
if (query.shareId) {
uni.setStorageSync('shareId', query.shareId)
}
this.getData()
// this.getIndexHeaderInfo()
this.$store.commit('getIndexHeaderInfo')
@ -228,65 +202,75 @@
},
methods: {
tabsClick(item) {
if(item.index){
if (item.index) {
this.queryParams.classId = item.id
}else{
} else {
delete this.queryParams.classId
}
this.getData()
},
menuClick(url) {
if (!url){
uni.showToast({
title:'暂未开放,请耐心等待',
icon: 'none'
})
return
}
//
if (url.includes('reLaunch:')) {
uni.reLaunch({
url : url.replace('reLaunch:', '')
url: url.replace('reLaunch:', '')
})
}else{
} else {
uni.navigateTo({
url
})
}
},
//
getIndexHeaderInfo(){
this.$api('getIndexHeaderInfo',res =>{
if(res.code == 200){
getIndexHeaderInfo() {
this.$api('getIndexHeaderInfo', res => {
if (res.code == 200) {
this.headInfo = res.result
}
})
},
//
getClassifyList(){
this.$api('getClassifyList',res =>{
if(res.code == 200){
getClassifyList() {
this.$api('getClassifyList', res => {
if (res.code == 200) {
this.menu = res.result
}
})
},
//
getClassifyList(){
this.$api('getClassifyList',res =>{
if(res.code == 200){
getClassifyList() {
this.$api('getClassifyList', res => {
if (res.code == 200) {
this.menu = res.result
}
})
},
// banner
getBannerList(){
this.$api('getBannerList', res =>{
if(res.code == 200){
getBannerList() {
this.$api('getBannerList', res => {
if (res.code == 200) {
this.bannerList = res.result
}
})
},
join(){
if(!uni.getStorageSync('token')){
join() {
if (!uni.getStorageSync('token')) {
uni.navigateTo({
url: '/pages_order/auth/wxLogin'
})
return
}
// if(this.userInfo.idCardOpen == 0){
// uni.showToast({
// title: '...',
@ -295,12 +279,12 @@
// }else if(!this.userInfo.idCardOpen){
// this.$refs.certificationPopup.open()
// }else{
this.$refs.sharePopup.open()
this.$refs.sharePopup.open()
// }
},
getUserInfo(){
if(uni.getStorageSync('token')){
getUserInfo() {
if (uni.getStorageSync('token')) {
this.$store.commit('getUserInfo')
}
},
@ -309,25 +293,29 @@
</script>
<style scoped lang="scss">
.page{
.page {
position: relative;
/deep/ .uv-tabs__wrapper__scroll-view::-webkit-scrollbar{
/deep/ .uv-tabs__wrapper__scroll-view::-webkit-scrollbar {
width: 0 !important;
height: 0 !important;
}
}
image{
image {
width: 100%;
height: 100%;
}
.Headbackground {
position: absolute;
width: 100%;
top: 0;
left: 0;
padding-top: 80rpx;
// background: linear-gradient(to bottom, rgb(85, 94, 123), rgb(45, 51, 73));
.Toggle{
.Toggle {
margin: 10rpx 30rpx;
padding: 20rpx;
background-color: #00000022;
@ -339,6 +327,7 @@
align-items: center;
font-size: 28rpx;
}
.top {
display: flex;
color: white;
@ -349,7 +338,8 @@
.profilePicture {
width: 150rpx;
height: 150rpx;
image{
image {
border-radius: 20rpx;
}
}
@ -366,6 +356,7 @@
margin-top: 20rpx;
font-size: 25rpx;
display: flex;
text {
margin: 0 10rpx;
}
@ -376,8 +367,7 @@
position: absolute;
right: 10rpx;
top: 40rpx;
width: 125rpx;
height: 50rpx;
padding: 10rpx 20rpx;
background-color: $uni-color;
margin-left: auto;
display: flex;
@ -388,8 +378,8 @@
}
}
.box{
.box {
margin-top: -70rpx;
background-color: #fff;
border-top-left-radius: 40rpx;
@ -397,12 +387,17 @@
position: relative;
z-index: 9;
overflow: hidden;
.life {
display: flex;
text-align: center;
padding: 10rpx 0;
flex-wrap: wrap;
.mouse {
// margin-top: 20rpx;
width: 20%;
box-sizing: border-box;
display: flex;
@ -411,21 +406,29 @@
flex-direction: column;
font-size: 26rpx;
flex-shrink: 0;
.RentingAhouseimg {
margin-top: 20rpx;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
image{
image {
width: 70rpx;
height: 70rpx;
}
}
}
.more {
margin-top: 85rpx;
margin-left: 47rpx;
}
}
.dynamicList{
.dynamicList {
padding-top: 10rpx;
}
}
</style>

+ 120
- 57
pages_order/components/list/cart/cartItem.vue View File

@ -32,57 +32,80 @@
<view class="touxinag">
<image :src="item.imageTitle" mode="aspectFill"></image>
</view>
<view class="chezhaoren">
<uv-icon name="car-fill" color="#2979ff" size="50"></uv-icon>
车找人 {{item.num}}空位
</view>
<view class="lianxi">
<uv-icon name="phone-fill" color="#fff" size="40"></uv-icon>
联系
<view class="box">
<view class="chezhaoren">
<uv-icon name="car-fill" color="#2979ff" size="50"></uv-icon>
<!-- 车找人 -->{{item.createBy}}
</view>
<view class="lianxi">
<!-- <uv-icon name="phone-fill" color="#fff" size="40"></uv-icon>
联系 -->
<callPhone
style="margin-left: auto;"
:phone="item.phone"
type="2"
:phoneTitle="item.title"
:pid="item.id"
title="应聘"/>
</view>
</view>
</view>
<view class="address">
<view class="shi">
</view>
<view class="zhi">
{{item.startAddress}}
<view class="zhi">
{{item.startAddress}}
</view>
</view>
</view>
<view class="ads">
<view class="zhon">
<view class="oo">
</view>
<view class="zhi">
{{item.endAddress}}
<view class="ads">
<view class="zhon">
</view>
<view class="zhi">
{{item.endAddress}}
</view>
</view>
</view>
<view class="time">
出发时间{{item.startTime}}
<view class="pepo">
空位{{item.num}}
</view>
<!-- <view class="chexing">
车型suv
<!-- <view class="time">
出发时间{{item.startTime}}
</view> -->
<!-- <view class="chezhuxinxi">
<view class="sex">
<uv-icon name="man" color="#2979ff" size="28"></uv-icon>
<view class="Vehicleinformation">
<view class="chexing">
车型suv
</view>
<view class="name">
{{item.createBy}}
<view class="Licenseplate">
车牌湘A.9999
</view>
</view> -->
</view>
</view>
</template>
<script>
import mixinsSex from '@/mixins/sex.js'
export default {
@ -94,11 +117,23 @@
};
},
methods: {
callPhone() {
uni.makePhoneCall({
phoneNumber: this.item.phone
})
},
// callPhone() {
// uni.makePhoneCall({
// phoneNumber: this.item.phone
// })
// },
// callPhone() {
// uni.makePhoneCall({
// phoneNumber: this.item.userPhone,
// success() {
// console.log('');
// },
// fail() {
// console.log('');
// }
// })
// },
},
}
</script>
@ -123,37 +158,46 @@
.touxinag {
height: 70rpx;
width: 70rpx;
image{
height: 150rpx;
width: 150rpx;
image {
width: 100%;
height: 100%;
}
}
.chezhaoren {
.box {
margin-top: 20rpx;
width: 70%;
display: flex;
justify-content: center;
align-items: center;
margin-right: auto;
margin-left: 10rpx;
border: 1rpx solid $uni-color;
height: 40rpx;
padding: 16rpx;
color: $uni-color;
border-radius: 10rpx;
}
justify-content: space-around;
// background-color: gold;
.chezhaoren {
display: flex;
justify-content: center;
align-items: center;
margin-right: auto;
margin-left: 10rpx;
border: 1rpx solid $uni-color;
height: 40rpx;
padding: 16rpx;
color: $uni-color;
border-radius: 10rpx;
}
.lianxi {
color: #fff;
background-color: $uni-color;
height: 70rpx;
display: flex;
justify-content: center;
align-items: center;
width: 120rpx;
border-radius: 15rpx;
margin: 0rpx 20rpx;
.lianxi {
// color: #fff;
// background-color: $uni-color;
// height: 70rpx;
// display: flex;
// justify-content: center;
// align-items: center;
// width: 120rpx;
// border-radius: 15rpx;
// margin: 0rpx 20rpx;
}
}
}
@ -161,6 +205,7 @@
.address {
display: flex;
margin: 0rpx 10rpx;
align-items: center;
.shi {
margin-right: 10rpx;
@ -177,6 +222,10 @@
margin-top: 5rpx;
}
.oo {
margin: 0rpx 5rpx;
}
}
.ads {
@ -194,15 +243,29 @@
text-align: center;
}
}
.pepo{
margin: 10rpx 10rpx;
}
.time {
margin: 10rpx 10rpx;
}
.chexing {
.Vehicleinformation {
margin: 10rpx 10rpx;
// display: flex;
.chexing {
}
.Licenseplate {
margin: 5rpx 0rpx;
}
}
.chezhuxinxi {
display: flex;
margin: 10rpx 10rpx;


Loading…
Cancel
Save