Compare commits

...

3 Commits

3 changed files with 398 additions and 295 deletions

View File

@ -15,6 +15,11 @@
"style": {
"navigationBarTitleText": "会员"
}
},{
"path": "pages/notice/index",
"style": {
"navigationBarTitleText": "公告详情"
}
},
{
"path": "pages/member_detail/index",

View File

@ -4,14 +4,24 @@
<view class="header_top">
<view class="content">
<view class="left">
<u--image class="image" :src="tenant.logo" width="160rpx" height="160rpx" shape="circle"></u--image>
<u--image class="image" :src="tenant.logo" width="160rpx" height="160rpx" shape="circle">
</u--image>
</view>
<view class="center">
<view class="top">{{tenant.name}}</view>
<view class="text">
<view class="detail"><u-icon style="display: inline-block;line-height: 28rpx;" name="file-text-fill" color="#fff" size="28rpx"></u-icon>:{{tenant.introduction}}</view>
<view class="detail"><u-icon style="display: inline-block;line-height: 28rpx;" name="phone" color="#fff" size="28rpx"></u-icon>:{{tenant.serviceMobile}}</view>
<view class="detail"><u-icon style="display: inline-block;line-height: 28rpx;" name="clock" color="#fff" size="28rpx"></u-icon>:{{tenant.serviceTime}}</view>
<view class="detail">
<u-icon style="display: inline-block;line-height: 28rpx;" name="file-text-fill"
color="#fff" size="28rpx"></u-icon>:{{tenant.introduction}}
</view>
<view class="detail">
<u-icon style="display: inline-block;line-height: 28rpx;" name="phone" color="#fff"
size="28rpx"></u-icon>:{{tenant.serviceMobile}}
</view>
<view class="detail">
<u-icon style="display: inline-block;line-height: 28rpx;" name="clock" color="#fff"
size="28rpx"></u-icon>:{{tenant.serviceTime}}
</view>
</view>
</view>
<view class="right">
@ -29,7 +39,7 @@
</navigator>
</view>
</view>
<view class="notice">
<view class="notice" @tap="goNoticeDetail">
<u-notice-bar :text="text" fontSize="26rpx" color="#000" bgColor="transparent"></u-notice-bar>
</view>
<view class="hot">
@ -45,11 +55,7 @@
</view>
<view class="input">
<u--input
placeholder="请输入内容"
v-model="value"
@change="change"
></u--input>
<u--input placeholder="请输入内容" v-model="value"></u--input>
</view>
<view class="button" @tap="searchSubmitValue">
搜索
@ -73,16 +79,18 @@
</view>
</view>
<view class="container">
<view class="item" v-for="item in productList" @click="goDetail(item)">
<image :src="item.image" mode=""></image>
<view class="name">{{item.storeName}}</view>
<text><u--text color="#E50202" mode="price" :text="item.price"></u--text></text>
</view>
</view>
<view class="" style="margin-top: 110rpx;">
<view class="item" v-for="item in productList" @click="goDetail(item)">
<image :src="item.image" mode=""></image>
<view class="name">{{item.storeName}}</view>
<text>
<u--text color="#E50202" mode="price" :text="item.price"></u--text>
</text>
</view>
</view>
<view class="" style="margin-top: 110rpx;">
</view>
</view>
</template>
@ -204,7 +212,7 @@
bastInfo: '',
fastInfo: '',
fastList: [],
text:'尊敬的业主:接环卫所通知,近期将对小区进行大扫除,请大家做好准备',
text: '尊敬的业主:接环卫所通知,近期将对小区进行大扫除,请大家做好准备',
firstInfo: '',
salesInfo: '',
indicatorDots: false,
@ -319,13 +327,13 @@
// ]);
getUserInfo().then(res => {
this.userInfo = res.data
getTenant(153).then(res=>{
getTenant(153).then(res => {
this.tenant = res.data
this.text = res.data.notice
})
})
getHeader().then(res=>{
console.log(res,'会员')
getHeader().then(res => {
console.log(res, '会员')
})
this.getBanners()
this.getIndexPage()
@ -341,8 +349,12 @@
})
},
methods: {
change(){
console.log(this.value,'value')
//
goNoticeDetail() {
console.log('notice哇')
uni.navigateTo({
url: '/pages/notice/index'
})
},
//
searchSubmitValue: function() {
@ -356,32 +368,32 @@
});
},
//
addCart(id){
addCart(id) {
getSpuDetail(id).then(res => {
console.log(res.data.productValue.默认.id,'1111111111111')
console.log(res.data.productValue.默认.id, '1111111111111')
let unique = res.data.productValue.默认.id
postCartAdd({
productId: id,
productAttrUnique: unique,
cartNum: 1
}).then(res=> {
}).then(res => {
console.log('加入成功')
})
})
},
go(){
console.log(this.productList,'------')
go() {
console.log(this.productList, '------')
},
// banneruserInfo
getBanners(){
getBanners() {
// console.log(this.$store.tenantId,'tenantId')
getBanner().then(res=>{
getBanner().then(res => {
this.bannerList = res.data.list[0]
console.log(this.bannerList,'banner')
console.log(this.bannerList, 'banner')
})
console.log(this.userInfo.userId,'userInfo111111')
console.log(this.userInfo.userId, 'userInfo111111')
},
getCoupon: function(id, index) {
@ -497,12 +509,12 @@
})
},
//
getIndexPage(){
getIndexPage() {
let that = this
productPage().then(res=>{
console.log(res.data.list,'商品列表')
productPage().then(res => {
console.log(res.data.list, '商品列表')
this.productList = this.productList.concat(res.data.list)
console.log(this.productList,'---------')
console.log(this.productList, '---------')
})
},
getcouponList() {
@ -650,9 +662,9 @@
// H5
let appSearchH = uni.createSelectorQuery().select(".serch-wrapper");
appSearchH.boundingClientRect(function(data) {
if(data){
self.searchH = data.height
}
if (data) {
self.searchH = data.height
}
}).exec()
// #endif
},
@ -698,302 +710,338 @@
}
</style>
<style lang="scss">
.box {
.header {
position: relative;
width: 100%;
height: 544rpx;
background: url(@/static/images/shop/index_headerbg.png);
background-size: 100% 100%;
.header_top {
.box {
.header {
position: relative;
width: 100%;
height: 457rpx;
height: 544rpx;
background: url(@/static/images/shop/index_headerbg.png);
background-size: 100% 100%;
.content {
.header_top {
position: relative;
width: 100%;
display: flex;
justify-content: space-around;
align-items: center;
position: absolute;
top: 109rpx;
.left {
width: 164rpx;
height: 164rpx;
height: 457rpx;
.content {
width: 100%;
display: flex;
justify-content: space-around;
align-items: center;
position: absolute;
top: 109rpx;
.left {
width: 164rpx;
height: 164rpx;
.image {
border: 3rpx solid #EE5423;
border-radius: 50%;
border: linear-gradient(0deg, #F77C4D, #EE5423);
}
.image {
border: 3rpx solid #EE5423;
border-radius: 50%;
border: linear-gradient(0deg, #F77C4D, #EE5423);
}
}
.center {
width: 330rpx;
height: 170rpx;
.top {
font-size: 30rpx;
font-family: PingFang SC;
font-weight: 400;
color: #FFFFFF;
.center {
width: 330rpx;
height: 170rpx;
.top {
font-size: 30rpx;
font-family: PingFang SC;
font-weight: 400;
color: #FFFFFF;
}
.text {
margin-top: 25rpx;
.detail {
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 400;
color: #FFFFFF;
}
}
}
.text {
margin-top: 25rpx;
.detail {
font-size: 24rpx;
.right {
width: 150rpx;
height: 170rpx;
display: flex;
justify-content: space-around;
flex-wrap: wrap;
align-items: center;
.up {
width: 110rpx;
height: 110rpx;
image {
width: 101rpx;
height: 110rpx;
}
}
text {
font-size: 22rpx;
font-family: PingFang SC;
font-weight: 400;
color: #FFFFFF;
}
.button {
width: 119rpx;
height: 36rpx;
border-radius: 18rpx;
background: #F22E60;
text-align: center;
line-height: 36rpx;
font-size: 22rpx;
font-family: PingFang SC;
font-weight: 400;
color: #FFFFFF;
}
}
}
.right {
width: 150rpx;
height: 170rpx;
display: flex;
justify-content: space-around;
flex-wrap: wrap;
align-items: center;
.up {
width: 110rpx;
height: 110rpx;
image {
width: 101rpx;
height: 110rpx;
}
}
text {
font-size: 22rpx;
font-family: PingFang SC;
font-weight: 400;
color: #FFFFFF;
}
.button {
width: 119rpx;
height: 36rpx;
border-radius: 18rpx;
background: #F22E60;
text-align: center;
line-height: 36rpx;
font-size: 22rpx;
font-family: PingFang SC;
font-weight: 400;
color: #FFFFFF;
}
}
}
}
.header_bottom {
position: absolute;
margin-left: 43rpx;
bottom: 0;
width: 664rpx;
height: 238rpx;
// background: url(@/static/images/shop/index_hbottom.png);
// background-size: 100% 100%;
image {
.header_bottom {
position: absolute;
margin-left: 43rpx;
bottom: 0;
width: 664rpx;
height: 238rpx;
border-radius: 20rpx;
// background: url(@/static/images/shop/index_hbottom.png);
// background-size: 100% 100%;
image {
width: 664rpx;
height: 238rpx;
border-radius: 20rpx;
}
}
}
}
.notice {
margin-top: 30rpx;
margin-left: 48rpx;
width: 658rpx;
height: 67rpx;
background: #fff;
border-radius: 20rpx;
display: flex;
justify-content: center;
align-items: center;
}
.hot {
width: 663rpx;
height: 322rpx;
margin-top: 27rpx;
margin-left: 44rpx;
background: #fff;
border-radius: 20rpx;
.contain {
width: 100%;
height: 1rpx;
margin-bottom: 26rpx;
}
.top {
width: 100%;
height: 55rpx;
.notice {
margin-top: 30rpx;
margin-left: 48rpx;
width: 658rpx;
height: 67rpx;
background: #fff;
border-radius: 20rpx;
display: flex;
justify-content: space-between;
.left {
height: 100%;
margin-left: 19rpx;
justify-content: center;
align-items: center;
}
.hot {
width: 663rpx;
height: 322rpx;
margin-top: 27rpx;
margin-left: 44rpx;
background: #fff;
border-radius: 20rpx;
.contain {
width: 100%;
height: 1rpx;
margin-bottom: 26rpx;
}
.top {
width: 100%;
height: 55rpx;
display: flex;
justify-content: space-around;
.icon {
width: 40rpx;
height: 40rpx;
background: url(@/static/images/shop/index_hot.png);
background-size: 100% 100%;
justify-content: space-between;
.left {
height: 100%;
margin-left: 19rpx;
display: flex;
justify-content: space-around;
.icon {
width: 40rpx;
height: 40rpx;
background: url(@/static/images/shop/index_hot.png);
background-size: 100% 100%;
}
text {
margin-left: 11rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 400;
color: #000000;
}
}
text {
margin-left: 11rpx;
font-size: 32rpx;
.right {
width: 387rpx;
height: 100%;
.search {
width: 387rpx;
height: 55rpx;
border: 1rpx solid #FE7596;
display: flex;
justify-content: space-between;
align-items: center;
border-radius: 27rpx;
.icon {
margin-left: 10rpx;
width: 37rpx;
height: 31rpx;
background: url(@/static/images/shop/index_search.png);
background-size: 100% 100%;
}
.button {
margin-right: 3rpx;
width: 82rpx;
height: 46rpx;
line-height: 45rpx;
text-align: center;
background: linear-gradient(0deg, #F02563 0%, #FE7596 100%);
border-radius: 22.5rpx;
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 400;
color: #FFFFFF;
}
}
}
}
.bottom {
margin-top: 27rpx;
height: 200rpx;
overflow: scroll;
white-space: nowrap;
.item {
position: relative;
display: inline-block;
width: 370rpx;
height: 199rpx;
margin-left: 19rpx;
image {
width: 370rpx;
height: 199rpx;
}
.title {
position: absolute;
left: 22rpx;
top: 22rpx;
width: 116rpx;
height: 34rpx;
line-height: 34rpx;
text-align: center;
background: linear-gradient(0deg, #FF4200 0%, #FFB21D 100%);
border-radius: 8rpx;
font-size: 22rpx;
font-family: PingFang SC;
font-weight: 400;
color: #FFFFFF;
}
.rank {
width: 90rpx;
height: 34rpx;
line-height: 34rpx;
background: linear-gradient(0deg, #F74A7B 0%, #FFAFAF 100%);
border-radius: 8rpx;
}
.img1 {
position: absolute;
left: 17rpx;
top: 81rpx;
width: 166rpx;
height: 71rpx;
}
.img2 {
position: absolute;
top: 22rpx;
right: 25rpx;
width: 138rpx;
height: 132rpx;
}
}
}
}
.container {
width: 663rpx;
margin-left: 44rpx;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.item {
position: relative;
margin-top: 28rpx;
width: 322rpx;
height: 404rpx;
background: #fff;
overflow: hidden;
border-radius: 20rpx;
image {
width: 100%;
height: 294rpx;
}
.name {
margin-left: 15rpx;
margin-bottom: 10rpx;
font-size: 26rpx;
font-family: PingFang SC;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
font-weight: 400;
color: #000000;
}
}
.right {
width: 387rpx;
height: 100%;
.search {
width: 387rpx;
height: 55rpx;
border: 1rpx solid #FE7596;
display: flex;
justify-content: space-between;
align-items: center;
border-radius: 27rpx;
.icon {
margin-left: 10rpx;
width: 37rpx;
height: 31rpx;
background: url(@/static/images/shop/index_search.png);
background-size: 100% 100%;
}
.button {
margin-right: 3rpx;
width: 82rpx;
height: 46rpx;
line-height: 45rpx;
text-align: center;
background: linear-gradient(0deg, #F02563 0%, #FE7596 100%);
border-radius: 22.5rpx;
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 400;
color: #FFFFFF;
}
}
}
}
.bottom {
margin-top: 27rpx;
height: 200rpx;
overflow: scroll;
white-space: nowrap;
.item {
position: relative;
display: inline-block;
width: 370rpx;
height: 199rpx;
margin-left: 19rpx;
image {
width: 370rpx;
height: 199rpx;
}
.title {
text {
position: absolute;
left: 22rpx;
top: 22rpx;
width: 116rpx;
height: 34rpx;
line-height: 34rpx;
text-align: center;
background: linear-gradient(0deg, #FF4200 0%, #FFB21D 100%);
border-radius: 8rpx;
font-size: 22rpx;
right: 20rpx;
bottom: 14rpx;
font-size: 28rpx;
white-space: nowrap;
font-family: PingFang SC;
font-weight: 400;
color: #FFFFFF;
color: #E50202;
}
.rank {
width: 90rpx;
height: 34rpx;
line-height: 34rpx;
background: linear-gradient(0deg, #F74A7B 0%, #FFAFAF 100%);
border-radius: 8rpx;
}
.img1 {
.car {
position: absolute;
left: 17rpx;
top: 81rpx;
width: 166rpx;
height: 71rpx;
}
.img2 {
position: absolute;
top: 22rpx;
right: 25rpx;
width: 138rpx;
height: 132rpx;
width: 60rpx;
height: 60rpx;
background: url(@/static/images/shop/car.png);
background-size: 100% 100%;
}
}
}
}
.container {
width: 663rpx;
margin-left: 44rpx;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.item {
position: relative;
margin-top: 28rpx;
width: 322rpx;
height: 404rpx;
background: #fff;
overflow: hidden;
border-radius: 20rpx;
image {
width: 100%;
height: 294rpx;
}
.name {
margin-left: 15rpx;
margin-bottom: 10rpx;
font-size: 26rpx;
font-family: PingFang SC;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
font-weight: 400;
color: #000000;
}
text {
position: absolute;
right: 20rpx;
bottom: 14rpx;
font-size: 28rpx;
white-space: nowrap;
font-family: PingFang SC;
font-weight: 400;
color: #E50202;
}
.car {
position: absolute;
width: 60rpx;
height: 60rpx;
background: url(@/static/images/shop/car.png);
background-size: 100% 100%;
}
}
}
}
::v-deep .notice{
.u-icon__icon {
::v-deep .notice {
.u-icon__icon {
color: #FF4802 !important;
span {
font-size: 28rpx;
}
}
}
}
</style>

View File

@ -0,0 +1,50 @@
<template>
<view class="notice">
<view class="item">
{{text}}
</view>
</view>
</template>
<script>
import {
getTenant
} from '../../api/product.js'
import {
setVisit,
getUserInfo
} from '@/api/user.js'
export default {
data(){
return {
tanent: {},
text: '',
userInfo: {}
}
},
mounted(){
getUserInfo().then(res => {
this.userInfo = res.data
console.log(res.data)
getTenant(153).then(res => {
this.tenant = res.data
this.text = res.data.notice
})
})
}
}
</script>
<style>
.notice {
width: 100%;
height: 100%;
.item {
width: 800rpx;
height: 1000rpx;
background: #fff;
}
}
</style>