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> <template>
<view class="page"> <view class="page">
<view> <view>
<!-- <uv-swiper <!-- <uv-swiper
:list="bannerList" :list="bannerList"
@ -8,23 +8,17 @@
height="490rpx" height="490rpx"
indicatorStyle="bottom: 100rpx;" indicatorStyle="bottom: 100rpx;"
keyName="image"></uv-swiper> --> 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>
<!-- 瑶都万能墙 --> <!-- 瑶都万能墙 -->
<view class="Headbackground"> <view class="Headbackground">
<view class="Toggle"> <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>
<view class="top"> <view class="top">
<view class="profilePicture"
>
<view class="profilePicture">
<image :src="headInfo.headImage" mode=""></image> <image :src="headInfo.headImage" mode=""></image>
</view> </view>
<view class="UniversalWall"> <view class="UniversalWall">
@ -62,103 +56,81 @@
</view> </view>
</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>
<view
v-else-if="!userInfo.idCardOpen">
加入
<view v-else-if="!userInfo.idCardOpen">
成为会员
</view> </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> </view>
</view> </view>
<view class="box"> <view class="box">
<!-- 菜单栏 --> <!-- 菜单栏 -->
<scroll-view
scroll-x="true">
<scroll-view scroll-x="true">
<view class="life"> <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"> <view class="RentingAhouseimg">
<image
:src="item.icon" mode=""></image>
<image :src="item.icon" mode=""></image>
</view> </view>
<view class="RentingAhouse"> <view class="RentingAhouse">
{{ item.title }} {{ item.title }}
</view> </view>
</view> </view>
<view class="more" @click="menuClick(item.url)" >
更多
</view>
</view> </view>
</scroll-view> </scroll-view>
<!-- 分类 --> <!-- 分类 -->
<view class="LabelOptions"> <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>
<!-- 动态列表 --> <!-- 动态列表 -->
<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>
</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 /> <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;"> <view style="overflow: scroll;padding: 30rpx 20rpx;">
<uv-parse :content="headInfo.integralDetails"></uv-parse> <uv-parse :content="headInfo.integralDetails"></uv-parse>
</view> </view>
</uv-popup> </uv-popup>
<tabber select="0" /> <tabber select="0" />
</view> </view>
</template> </template>
@ -173,7 +145,9 @@
import signInOnePopup from '@/components/user/signInOnePopup.vue' import signInOnePopup from '@/components/user/signInOnePopup.vue'
import dynamicItem from '@/components/list/dynamic/dynamicItem.vue' import dynamicItem from '@/components/list/dynamic/dynamicItem.vue'
import mixinsList from '@/mixins/list.js' import mixinsList from '@/mixins/list.js'
import { mapState } from 'vuex'
import {
mapState
} from 'vuex'
export default { export default {
mixins: [mixinsList], mixins: [mixinsList],
components: { components: {
@ -189,17 +163,17 @@
data() { data() {
return { return {
// headInfo: {}, // headInfo: {},
menu : [],
mixinsListApi : 'getPostPage',
bannerList : [],
onShowData : false,
menu: [],
mixinsListApi: 'getPostPage',
bannerList: [],
onShowData: false,
} }
}, },
onLoad(query) { onLoad(query) {
if(query.shareId){
if (query.shareId) {
uni.setStorageSync('shareId', query.shareId) uni.setStorageSync('shareId', query.shareId)
} }
this.getData() this.getData()
// this.getIndexHeaderInfo() // this.getIndexHeaderInfo()
this.$store.commit('getIndexHeaderInfo') this.$store.commit('getIndexHeaderInfo')
@ -228,65 +202,75 @@
}, },
methods: { methods: {
tabsClick(item) { tabsClick(item) {
if(item.index){
if (item.index) {
this.queryParams.classId = item.id this.queryParams.classId = item.id
}else{
} else {
delete this.queryParams.classId delete this.queryParams.classId
} }
this.getData() this.getData()
}, },
menuClick(url) { menuClick(url) {
if (!url){
uni.showToast({
title:'暂未开放,请耐心等待',
icon: 'none'
})
return
}
// //
if (url.includes('reLaunch:')) { if (url.includes('reLaunch:')) {
uni.reLaunch({ uni.reLaunch({
url : url.replace('reLaunch:', '')
url: url.replace('reLaunch:', '')
}) })
}else{
} else {
uni.navigateTo({ uni.navigateTo({
url url
}) })
} }
}, },
// //
getIndexHeaderInfo(){
this.$api('getIndexHeaderInfo',res =>{
if(res.code == 200){
getIndexHeaderInfo() {
this.$api('getIndexHeaderInfo', res => {
if (res.code == 200) {
this.headInfo = res.result 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 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 this.menu = res.result
} }
}) })
}, },
// banner // banner
getBannerList(){
this.$api('getBannerList', res =>{
if(res.code == 200){
getBannerList() {
this.$api('getBannerList', res => {
if (res.code == 200) {
this.bannerList = res.result this.bannerList = res.result
} }
}) })
}, },
join(){
if(!uni.getStorageSync('token')){
join() {
if (!uni.getStorageSync('token')) {
uni.navigateTo({ uni.navigateTo({
url: '/pages_order/auth/wxLogin' url: '/pages_order/auth/wxLogin'
}) })
return return
} }
// if(this.userInfo.idCardOpen == 0){ // if(this.userInfo.idCardOpen == 0){
// uni.showToast({ // uni.showToast({
// title: '...', // title: '...',
@ -295,12 +279,12 @@
// }else if(!this.userInfo.idCardOpen){ // }else if(!this.userInfo.idCardOpen){
// this.$refs.certificationPopup.open() // this.$refs.certificationPopup.open()
// }else{ // }else{
this.$refs.sharePopup.open()
this.$refs.sharePopup.open()
// } // }
}, },
getUserInfo(){
if(uni.getStorageSync('token')){
getUserInfo() {
if (uni.getStorageSync('token')) {
this.$store.commit('getUserInfo') this.$store.commit('getUserInfo')
} }
}, },
@ -309,25 +293,29 @@
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.page{
.page {
position: relative; position: relative;
/deep/ .uv-tabs__wrapper__scroll-view::-webkit-scrollbar{
/deep/ .uv-tabs__wrapper__scroll-view::-webkit-scrollbar {
width: 0 !important; width: 0 !important;
height: 0 !important; height: 0 !important;
} }
} }
image{
image {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.Headbackground { .Headbackground {
position: absolute; position: absolute;
width: 100%; width: 100%;
top: 0; top: 0;
left: 0; left: 0;
padding-top: 80rpx; padding-top: 80rpx;
// background: linear-gradient(to bottom, rgb(85, 94, 123), rgb(45, 51, 73)); // background: linear-gradient(to bottom, rgb(85, 94, 123), rgb(45, 51, 73));
.Toggle{
.Toggle {
margin: 10rpx 30rpx; margin: 10rpx 30rpx;
padding: 20rpx; padding: 20rpx;
background-color: #00000022; background-color: #00000022;
@ -339,6 +327,7 @@
align-items: center; align-items: center;
font-size: 28rpx; font-size: 28rpx;
} }
.top { .top {
display: flex; display: flex;
color: white; color: white;
@ -349,7 +338,8 @@
.profilePicture { .profilePicture {
width: 150rpx; width: 150rpx;
height: 150rpx; height: 150rpx;
image{
image {
border-radius: 20rpx; border-radius: 20rpx;
} }
} }
@ -366,6 +356,7 @@
margin-top: 20rpx; margin-top: 20rpx;
font-size: 25rpx; font-size: 25rpx;
display: flex; display: flex;
text { text {
margin: 0 10rpx; margin: 0 10rpx;
} }
@ -376,8 +367,7 @@
position: absolute; position: absolute;
right: 10rpx; right: 10rpx;
top: 40rpx; top: 40rpx;
width: 125rpx;
height: 50rpx;
padding: 10rpx 20rpx;
background-color: $uni-color; background-color: $uni-color;
margin-left: auto; margin-left: auto;
display: flex; display: flex;
@ -388,8 +378,8 @@
} }
} }
.box{
.box {
margin-top: -70rpx; margin-top: -70rpx;
background-color: #fff; background-color: #fff;
border-top-left-radius: 40rpx; border-top-left-radius: 40rpx;
@ -397,12 +387,17 @@
position: relative; position: relative;
z-index: 9; z-index: 9;
overflow: hidden; overflow: hidden;
.life { .life {
display: flex; display: flex;
text-align: center; text-align: center;
padding: 10rpx 0; padding: 10rpx 0;
flex-wrap: wrap;
.mouse { .mouse {
// margin-top: 20rpx;
width: 20%; width: 20%;
box-sizing: border-box; box-sizing: border-box;
display: flex; display: flex;
@ -411,21 +406,29 @@
flex-direction: column; flex-direction: column;
font-size: 26rpx; font-size: 26rpx;
flex-shrink: 0; flex-shrink: 0;
.RentingAhouseimg { .RentingAhouseimg {
margin-top: 20rpx;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
flex-direction: column; flex-direction: column;
image{
image {
width: 70rpx; width: 70rpx;
height: 70rpx; height: 70rpx;
} }
} }
} }
.more {
margin-top: 85rpx;
margin-left: 47rpx;
}
} }
.dynamicList{
.dynamicList {
padding-top: 10rpx; padding-top: 10rpx;
} }
} }
</style> </style>

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

@ -32,57 +32,80 @@
<view class="touxinag"> <view class="touxinag">
<image :src="item.imageTitle" mode="aspectFill"></image> <image :src="item.imageTitle" mode="aspectFill"></image>
</view> </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> </view>
<view class="address"> <view class="address">
<view class="shi"> <view class="shi">
</view>
<view class="zhi">
{{item.startAddress}}
<view class="zhi">
{{item.startAddress}}
</view>
</view> </view>
</view>
<view class="ads">
<view class="zhon">
<view class="oo">
</view> </view>
<view class="zhi">
{{item.endAddress}}
<view class="ads">
<view class="zhon">
</view>
<view class="zhi">
{{item.endAddress}}
</view>
</view> </view>
</view> </view>
<view class="time">
出发时间{{item.startTime}}
<view class="pepo">
空位{{item.num}}
</view> </view>
<!-- <view class="chexing">
车型suv
<!-- <view class="time">
出发时间{{item.startTime}}
</view> --> </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>
<view class="name">
{{item.createBy}}
<view class="Licenseplate">
车牌湘A.9999
</view> </view>
</view> -->
</view>
</view> </view>
</template> </template>
<script> <script>
import mixinsSex from '@/mixins/sex.js' import mixinsSex from '@/mixins/sex.js'
export default { export default {
@ -94,11 +117,23 @@
}; };
}, },
methods: { 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> </script>
@ -123,37 +158,46 @@
.touxinag { .touxinag {
height: 70rpx;
width: 70rpx;
image{
height: 150rpx;
width: 150rpx;
image {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
} }
.chezhaoren {
.box {
margin-top: 20rpx;
width: 70%;
display: flex; 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 { .address {
display: flex; display: flex;
margin: 0rpx 10rpx; margin: 0rpx 10rpx;
align-items: center;
.shi { .shi {
margin-right: 10rpx; margin-right: 10rpx;
@ -177,6 +222,10 @@
margin-top: 5rpx; margin-top: 5rpx;
} }
.oo {
margin: 0rpx 5rpx;
}
} }
.ads { .ads {
@ -194,15 +243,29 @@
text-align: center; text-align: center;
} }
} }
.pepo{
margin: 10rpx 10rpx;
}
.time { .time {
margin: 10rpx 10rpx; margin: 10rpx 10rpx;
} }
.chexing {
.Vehicleinformation {
margin: 10rpx 10rpx; margin: 10rpx 10rpx;
// display: flex;
.chexing {
}
.Licenseplate {
margin: 5rpx 0rpx;
}
} }
.chezhuxinxi { .chezhuxinxi {
display: flex; display: flex;
margin: 10rpx 10rpx; margin: 10rpx 10rpx;


Loading…
Cancel
Save