7.10(优化

This commit is contained in:
Hong
2024-07-10 19:01:57 +08:00
parent 9614af1957
commit f15c0ec13c
15 changed files with 573 additions and 377 deletions

View File

@@ -1,6 +1,15 @@
import request from '@/utils/request'
//万能搜索接口 /api/front/activity/help/seek/list
export function getSeekListAPI(params) {
return request({
url: '/api/front/activity/help/seek/list',
method: 'get',
params
})
}
// 助力活动列表 /api/front/activity/help/list
export function getActivityListAPI(params) {
return request({

View File

@@ -625,18 +625,27 @@
"navigationBarTitleText": "我的评价", //租车订单
"enablePullDownRefresh": false
}
},
{
"path": "pages/search/search",
"style": {
"navigationBarTitleText": "搜索",
"enablePullDownRefresh": false
}
}
],
"subPackages": [{
"root": "pagesA",
"pages": [
{
"path": "search/search",
"style": {
"navigationBarTitleText": "搜索",
"enablePullDownRefresh": false
}
},
{
"path" : "search/serve_search",
"style" :
{
//享服务搜索
"navigationBarTitleText" : "享服务搜索",
"enablePullDownRefresh" : false
}
},
{
"path": "index/consult_detail",
"style": {

View File

@@ -15,7 +15,7 @@
</view>
<u-icon name="arrow-down-fill" size="10" color="#000"></u-icon>
</view>
<view class="search-box " @click="$tab.navigateTo('/pages/search/search')">
<view class="search-box " @click="$tab.navigateTo('/pagesA/search/search')">
<image class="search-bj" :src="`${config.aliyunOssUrl}/static/images/app/home/home_search.png`"
mode=""></image>
<view class="search-box-c flex align-center">
@@ -44,10 +44,10 @@
点击加入流水返佣
</view>
</view>
<view class="home-income-bottom-left f-26 c666">可提现收益
<view class="home-income-bottom-left f-26 c666">昨日预估收益
<text class="f-30 c333">{{incomeData.withdrawal}}</text>
</view>
<view class="home-income-bottom-right f-26 c666">累计总收益
<view class="home-income-bottom-right f-26 c666">预估总收益
<text class="f-30 c333">{{incomeData.totalRevenue}}</text>
</view>
</view>
@@ -225,10 +225,17 @@
},
// 点击轮播图
brannerClick(e) {
if (this.brannerList[e].linkType == 2 || this.brannerList[e] == 3) {
let linkObj = JSON.parse(this.brannerList[e].linkUrl)
console.log(linkObj);
this.$tab.navigateTo(linkObj.linkUrl)
if (this.brannerList[e].linkType == 0 || this.brannerList[e].linkType == 2 ||
this.brannerList[e].linkType == 3) {
let linkObj = this.brannerList[e].minLinkUrl
uni.navigateTo({
url: linkObj
})
}else if(this.brannerList[e].linkType == 1){
let linkObj = this.brannerList[e].minLinkUrl
uni.navigateTo({
url: `/pagesA/rebate/rebate_web?contract=${linkObj}`
})
}
},
brannerChange() {},

View File

@@ -10,7 +10,7 @@
</view>
<view :style="{height: `${$u.sys().statusBarHeight}px;`}" />
<view class="navbar-top flex align-center" style="padding-top: 12rpx;">
<view class="search-box " @click="$tab.navigateTo('/pages/search/search')">
<view class="search-box " @click="$tab.navigateTo('/pagesA/search/search')">
<image class="search-bj" :src="`${config.aliyunOssUrl}/static/images/app/home/home_search.png`"
mode=""></image>
<view class="search-box-c flex align-center">

View File

@@ -9,7 +9,7 @@
<image class="serve-title-tit" :src="`${config.aliyunOssUrl}/static/images/app/home/serve_title.png`" mode=""></image>
</view>
<view class="serve-search flex justify-between align-center">
<view class="serve-search-left flex align-center">
<view class="serve-search-left flex align-center" @click="$tab.navigateTo('/pagesA/search/serve_search')">
<image class="serve-search-image" :src="`${config.aliyunOssUrl}/static/images/app/icon/search.png`" mode="">
</image>
<view class="">搜索想要的商品</view>
@@ -19,7 +19,7 @@
</view>
</view>
<view class="swiper-box">
<u-swiper keyName="image" :list="branner" height="360rpx"></u-swiper>
<u-swiper keyName="image" :list="branner" height="360rpx" @click="brannerClick"></u-swiper>
</view>
<view class="serve-assistance">
<image class="serve-assistance-bj" :src="`${config.aliyunOssUrl}/static/images/app/home/serve_assistance.png`" mode=""></image>
@@ -246,7 +246,7 @@
getBranner() {
// 获取轮播图
brannerList({
type: 4
type: 9
}).then(res => {
// console.log('轮播图', res.data.list);
this.branner = res.data.list
@@ -357,6 +357,21 @@
url: `/pages/serve/repair/repair`
})
},
// 点击轮播图
brannerClick(e) {
if (this.branner[e].linkType == 0 || this.branner[e].linkType == 2 ||
this.branner[e].linkType == 3) {
let linkObj = this.branner[e].minLinkUrl
uni.navigateTo({
url: linkObj
})
}else if(this.branner[e].linkType == 1){
let linkObj = this.branner[e].minLinkUrl
uni.navigateTo({
url: `/pagesA/rebate/rebate_web?contract=${linkObj}`
})
}
},
}
}
</script>

View File

@@ -1,7 +1,7 @@
<template>
<view class="content">
<view class="con_imgview">
<u-swiper height="370rpx" :list="branner" :circular="true" keyName="image" indicator radius='0'></u-swiper>
<u-swiper height="370rpx" :list="branner" :circular="true" keyName="image" indicator radius='0' @click="brannerClick"></u-swiper>
</view>
<view class="con_type">
<view class="title">
@@ -153,6 +153,21 @@
toFault() {},
toAccident() {},
toRefund() {},
// 点击轮播图
brannerClick(e) {
if (this.branner[e].linkType == 0 || this.branner[e].linkType == 2 ||
this.branner[e].linkType == 3) {
let linkObj = this.branner[e].minLinkUrl
uni.navigateTo({
url: linkObj
})
}else if(this.branner[e].linkType == 1){
let linkObj = this.branner[e].minLinkUrl
uni.navigateTo({
url: `/pagesA/rebate/rebate_web?contract=${linkObj}`
})
}
},
}
}
</script>

View File

@@ -1016,7 +1016,7 @@
.right-mouth {
font-weight: 400;
width: 112rpx;
// width: 112rpx;
height: 24rpx;
font-size: 24rpx;
color: #888888;

View File

@@ -11,7 +11,7 @@
</view>
<u-swiper style="z-index: 888;" :height="`${height}rpx`" keyName="image" imgMode="widthFix" :list="branner"
radius='0'></u-swiper>
radius='0' @click="brannerClick"></u-swiper>
<u-sticky zIndex="9999" @fixed="fixed" offsetTop="-2" :customNavHeight="$u.sys().statusBarHeight">
<view class="tab-box-all rel">
<view class="tabs-box flex align-center justify-between">
@@ -265,6 +265,22 @@
// }
// },
methods: {
// 点击轮播图
brannerClick(e) {
console.log(this.branner[e]);
if (this.branner[e].linkType == 0 || this.branner[e].linkType == 2 ||
this.branner[e].linkType == 3) {
let linkObj = this.branner[e].minLinkUrl
uni.navigateTo({
url: linkObj
})
}else if(this.branner[e].linkType == 1){
let linkObj = this.branner[e].minLinkUrl
uni.navigateTo({
url: `/pagesA/rebate/rebate_web?contract=${linkObj}`
})
}
},
//监听
scrollFn(e) {
// console.log(e.target.scrollTop,this.height,'2222');

View File

@@ -1,6 +1,6 @@
<template>
<view>
<u-navbar :bgColor="showElement?'rgba(0,0,0,0)':'#fff'" :placeholder="true">
<u-navbar :bgColor="showElement?'rgba(0,0,0,0)':'#fff'">
<view class="u-nav-slot flex align-center" slot="left">
<image @click="navBackFb" style="width: 56rpx;height: 56rpx;"
:src="`${config.aliyunOssUrl}/static/images/app/activity/nav_back.png`" mode="">
@@ -17,57 +17,39 @@
</view>
</view>
</u-navbar>
<image class="back-image-bj" :src="topicInfo.backImage" mode=""></image>
<view class="back-image">
<image class="back-image-bj" :src="topicInfo.backImage" mode=""></image>
<view class="back-image-cont">
<view style="width: 500rpx; " class="white f-36 line-one">#{{topicInfo.name}}</view>
<!-- #ifdef MP-WEIXIN -->
<view class="back-image-cont-num f-26 flex align-center" style="margin-top: 8rpx">
<image :src="`${config.aliyunOssUrl}/static/images/app/welfare/user_num.png`" mode=""></image>
<text>{{topicInfo.countUse}}人参与</text>
<text class="f-52" style="margin: 0 24rpx;">·</text>
<image :src="`${config.aliyunOssUrl}/static/images/app/welfare/eye_num.png`" mode=""></image>
<text>{{topicInfo.countView}}人围观</text>
</view>
<!-- #endif -->
<!-- #ifdef APP -->
<view class="back-image-cont-num f-24 flex align-center">
<image src="@/static/images/app/welfare/user_num.png" mode=""></image>
<text>{{topicInfo.countUse}}人参与</text>
<text class="f-52 ml-24 mr-24">·</text>
<image src="@/static/images/app/welfare/eye_num.png" mode=""></image>
<text>{{topicInfo.countView}}人围观</text>
</view>
<!-- #endif -->
<view class="f-28 back-image-cont-text flex align-center justify-between" style="margin-top: 8rpx">
<text class="line-one">简介: {{topicInfo.intro}}</text>
<u-icon color="rgba(255,255,255,.7)" size="12" name="arrow-right"></u-icon>
</view>
</view>
<view class="back-image-add" @click="postFn">
<!-- <u-button @click="postFn"
:customStyle="{width: '136rpx', height: '56rpx', fontSize: '24rpx',color:'#000'}" color="#fff"> -->
<view class="flex align-center justify-center back-add">
<!-- #ifdef MP-WEIXIN -->
<image style="width: 33rpx;height: 33rpx;" :src="`${config.aliyunOssUrl}/static/images/app/welfare/add.png`" mode=""></image>
<!-- #endif -->
<!-- #ifdef APP -->
<image style="width: 33rpx;height: 33rpx;" src="@/static/images/app/welfare/add.png" mode=""></image>
<!-- #endif -->
<view style="height: 33rpx;line-height: 33rpx; font-size: 26rpx;border-radius: 6rpx;">发布</view>
<view class="white f-30">#{{topicInfo.name}}#</view>
<view class="back-image-cont flex align-center justify-between">
<view style="width: 397rpx;">
<view class="back-image-cont-num f-28 flex align-center">
<image :src="`${config.aliyunOssUrl}/static/images/app/home/people_icon.png`" mode=""></image>
<text>{{topicInfo.countUse}}人参与</text>
<text class="f-52" style="margin-left: 24rpx;margin-right: 24rpx;">·</text>
<image :src="`${config.aliyunOssUrl}/static/images/app/home/eye_icon.png`" mode=""></image>
<text>{{topicInfo.countView}}人围观</text>
</view>
<!-- </u-button> -->
<view class="f-26 back-image-cont-text">
<text class="" style="margin-left: 12rpx;">简介: {{topicInfo.intro}}</text>
</view>
</view>
<view class="back-image-add">
<u-button @click="postFn"
:customStyle="{width: '160rpx', height: '64rpx',color:'#ffffff',borderRadius:'32rpx'}" color="#00A473">
<view class="flex align-center">
<view class="f-42 fw-4"> + </view>
<view class="f-28 " style="height: 33rpx;line-height: 33rpx;"> 发布</view>
</view>
</u-button>
</view>
</view>
</view>
<view class="line-black" />
<view class="line-black-white" />
<u-sticky customNavHeight="108" v-if="showElement">
<view class="tab-list">
<u-tabs :list="tabList" @click="tabClick" @change="tabChange" lineColor="#13AFA8"
:current="currentIndex"
:activeStyle="{color: '#303133',fontWeight: 'bold',transform: 'scale(1.2)'}"
:inactiveStyle="{color: '#606266',transform: 'scale(1)'}"
itemStyle="height: 34px;"></u-tabs>
:current="currentIndex" :activeStyle="{color: '#303133',fontWeight: 'bold',transform: 'scale(1.2)'}"
:inactiveStyle="{color: '#606266',transform: 'scale(1)'}" itemStyle="height: 34px;"></u-tabs>
</view>
</u-sticky>
<!-- 福利活动 -->
@@ -80,35 +62,22 @@
<image :src="item.authorAvatar" mode="aspectFill"></image>
<view class="dynamic-condition-header-l">
<view>{{item.authorName}}</view>
<view>{{item.city||'中国'}} 一天前</view>
<view>{{item.city||'未知'}} 一天前</view>
</view>
</view>
<view v-if="actFlaf" class="cancel-collect">取消收藏</view>
<view v-else class="dynamic-condition-header-r">
<view class="dynamic-condition-header-r">
<u-icon name="more-dot-fill" color="#999" size="18"></u-icon>
</view>
</view>
<view class="questions-and-answers-text rel">
<!-- #ifdef MP-WEIXIN -->
<image class="ads mr-2" style="width: 44rpx;height: 44rpx;top: 12rpx;left: 0;"
:src="`${config.aliyunOssUrl}/static/images/app/mine/ask.png`" mode="">
</image>
<!-- #endif -->
<!-- #ifdef APP -->
<image class="ads mr-2" style="width: 44rpx;height: 44rpx;top: 12rpx;left: 0;"
src="@/static/images/app/mine/ask.png" mode="">
</image>
<!-- #endif -->
<text class="questions-and-answers-text-color">
<text class="" v-for="(topic) in item.topicList" :key="topic.id"> #{{topic.name}}#
</text>
#{{topicInfo.topicName}}#
</text>
{{item.content}}
</view>
<!-- <view style="margin: 24rpx 0;width: 100%;">
<text class="" v-for="(topic) in item.topicList" :key="topic.id">#{{topic.name}}#</text>
<u-text :lines="2" bold size="14" :text="item.content"></u-text>
</view> -->
<view v-if="item.image" class="image-one">
<!-- style="width: 100%;height: 386rpx;" -->
<image :src="item.image" mode="widthFix"></image>
@@ -117,14 +86,15 @@
<!-- #ifdef MP-WEIXIN -->
<view class="flex justify-end dynamic-condition-operate">
<view class="f-a-i">
<image class="dynamic-condition-operate-image" :src="`${config.aliyunOssUrl}/static/images/app/mine/share.png`"
mode="">
<image class="dynamic-condition-operate-image"
:src="`${config.aliyunOssUrl}/static/images/app/mine/share.png`" mode="">
</image>
<view class="dynamic-condition-operate-num">{{item.shareNum}}</view>
</view>
<view class="f-a-i" style="margin-left: 48rpx;">
<image class="dynamic-condition-operate-image"
:src="`${config.aliyunOssUrl}/static/images/app/mine/information.png`" mode=""></image>
:src="`${config.aliyunOssUrl}/static/images/app/mine/information.png`" mode="">
</image>
<view class="dynamic-condition-operate-num">{{item.replyNum}}</view>
</view>
<view class="f-a-i" style="margin-left: 48rpx;" @click="Like(item)">
@@ -139,7 +109,7 @@
<!-- #endif -->
<!-- #ifdef APP -->
<view class="flex justify-end dynamic-condition-operate">
<view class="f-a-i">
<view class="f-a-i">
<image class="dynamic-condition-operate-image" src="@/static/images/app/mine/share.png"
mode="">
</image>
@@ -168,7 +138,9 @@
</template>
<script>
import { formatNumber } from "@/utils/index.js"
import {
formatNumber
} from "@/utils/index.js"
import {
like
} from "@/api/discover/discover.js"
@@ -181,7 +153,6 @@
data() {
return {
config: getApp().globalData.config,
actFlaf:false,
showElement: true, // 初始化为显示状态
prevScrollTop: 0, // 记录上一次滚动的位置
config,
@@ -232,9 +203,9 @@
activeTopicId: this.topicId
}).then(res => {
res.data.list.forEach(item => {
item.shareNum=formatNumber(item.shareNum)
item.replyNum=formatNumber(item.replyNum)
item.likeNum=formatNumber(item.likeNum)
item.shareNum = formatNumber(item.shareNum)
item.replyNum = formatNumber(item.replyNum)
item.likeNum = formatNumber(item.likeNum)
})
this.$refs.paging.complete(res.data.list);
}).catch(err => {
@@ -257,9 +228,9 @@
this.$refs.paging.refresh();
},
//详情
toDetailPages(id,type){
toDetailPages(id, type) {
uni.navigateTo({
url:`/pages/index/detail?id=${id}&type=${type}`
url: `/pages/index/detail?id=${id}&type=${type}`
})
},
//详情
@@ -276,11 +247,10 @@
success: (res) => {
let postType = res.tapIndex == 0 ? 4 : 5
uni.navigateTo({
url: `/pages/welfare/activity_x/post?type=${postType}&activeTopicId=${this.topicId}`
url: `/pages/welfare/activity_x/post?type=${postType}&activeTopicId=${this.topicInfo.id}&topicId=${this.topicInfo.topicId}`
})
},
fail: function(res) {
}
fail: function(res) {}
});
},
//返回
@@ -294,7 +264,7 @@
},
onShareAppMessage(res) {
if (res.from === 'button') {
}
return {
title: this.topicInfo.name || '分享话题', //分享的名称
@@ -303,9 +273,10 @@
};
},
onPageScroll(e) {
console.log(e);
// 获取当前滚动的位置
const scrollTop = e.scrollTop;
this.$nextTick(()=>{
this.$nextTick(() => {
// 判断滚动方向
if (scrollTop != 0) {
// 向下滚动,隐藏元素
@@ -315,25 +286,25 @@
this.showElement = true;
}
// 更新上一次滚动的位置
// this.prevScrollTop = scrollTop;
this.prevScrollTop = scrollTop;
})
}
}
</script>
<style lang="scss">
.image-one {
width: 454rpx;
max-height: 666rpx;
overflow: hidden;
// height: 686rpx;
border-radius: 8rpx;
image{
image {
border-radius: 8rpx;
}
}
.tab-list {
width: 750rpx;
background: #fff;
@@ -397,65 +368,69 @@
}
}
}
.back-image {
.back-image-bj {
width: 750rpx;
height: 516rpx;
}
.back-image {
width: 690rpx;
height: 200rpx;
margin-top: 20rpx;
margin-left: 30rpx;
// background: #13AFA8;
background-image: url('https://qicheoss.oss-cn-shanghai.aliyuncs.com/static/images/app/home/huati.png');
background-size: cover;
background-repeat: no-repeat;
position: relative;
.back-image-add {
position: absolute;
bottom: 112rpx;
right: 32rpx;
}
.back-add {
width: 136rpx;
height: 56rpx;
background: #FFFFFF;
border-radius: 6rpx;
text-align: center;
}
.back-image-cont {
// border: 1px solid red;
width: 750rpx;
height: 184rpx;
position: absolute;
bottom: 0;
left: 0;
padding: 0 32rpx 48rpx 32rpx;
line-height: 45rpx;
}
.white {
width: 690rpx;
height: 72rpx;
line-height: 72rpx;
text-align: center;
color: #000;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.back-image-cont {
width: 638rpx;
height: 112rpx;
margin-left: 26rpx;
color: #00A473;
background: rgb(247, 255, 246);
border-radius: 20rpx;
padding: 0 27rpx;
.back-image-cont-text {
color: rgba(255, 255, 255, .7);
color: #000;
text {
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
}
.back-image-cont-num {
color: rgba(255, 255, 255, .7);
// text {
// margin-left: 8rpx;
// margin-right: 54rpx;
// }
color: #00A473;
image {
margin-right: 8rpx;
width: 30rpx;
height: 32rpx;
width: 44rpx;
height: 44rpx;
}
}
}
}
.back-image-bj {
position: absolute;
width: 750rpx;
height: 516rpx;
top: 0;
left: 0;
}
}
.line-black {
height: 8rpx;
background-color: #f5f5f5;
}
.line-black-white {
height: 20rpx;
background-color: #FFFFFF;

View File

@@ -1,17 +1,11 @@
<template>
<view>
<view class="navbar-box fixed-top">
<!-- #ifdef MP-WEIXIN -->
<view :style="{height: `${$u.sys().statusBarHeight}px;`}" />
<!-- #endif -->
<!-- #ifdef APP -->
<view :style="`height: ${$u.sys().statusBarHeight}px;`" />
<!-- #endif -->
<view class="navbar-title text-center rel">
<view class="back nav-item abs" @click="navBackFn">
<u-icon name="arrow-left" size="22" />
</view>
<text class="text">发帖子</text>
<view class="btn abs nav-item" :style="{'right': `${menuWidth+10}px`}">
<u-button @click="issueFn" :customStyle="{width: '144rpx', height: '56rpx', fontSize: '24rpx'}"
@@ -21,12 +15,7 @@
</view>
<!-- 防塌陷 -->
<view class="">
<!-- #ifdef MP-WEIXIN -->
<view :style="{height: `${$u.sys().statusBarHeight}px;`}" />
<!-- #endif -->
<!-- #ifdef APP -->
<view :style="`height: ${$u.sys().statusBarHeight}px;`" />
<!-- #endif -->
<view class="" style="height: 88rpx;" />
</view>
<view class="textarea-box">
@@ -39,44 +28,22 @@
<view class="upload-image-item rel" :style="{marginRight: index%3==2 ? '0' : '24rpx'}"
v-for="(item,index) in picList" :key="index">
<image class="upload-image" :src="item" mode=""></image>
<!-- #ifdef MP-WEIXIN -->
<image class="clear abs" :src="`${config.aliyunOssUrl}/static/images/app/serve/realname_clea.png`" @click="DelPic('faultImage')" mode=""></image>
<!-- #endif -->
<!-- #ifdef APP -->
<image class="clear abs" src="@/static/images/app/serve/realname_clea.png" @click="DelPic('faultImage')" mode=""></image>
<!-- #endif -->
</view>
<view v-if="picList.length==0" class="upload-image-item" @click="getImage">
<!-- #ifdef MP-WEIXIN -->
<image class="upload-image" :src="`${config.aliyunOssUrl}/static/images/app/serve/realname_upload.png`" mode=""></image>
<!-- #endif -->
<!-- #ifdef APP -->
<image class="upload-image" src="@/static/images/app/serve/realname_upload.png" mode=""></image>
<!-- #endif -->
</view>
</view>
<view class="topic flex justify-between align-center" @click="navTopicListFn()">
<!-- <view class="topic flex justify-between align-center" @click="navTopicListFn()">
<view class="flex align-center ">
<!-- #ifdef MP-WEIXIN -->
<image style="width: 48rpx;height: 48rpx;" :src="`${config.aliyunOssUrl}/static/images/app/welfare/xiaoxi.png`" mode=""></image>
<!-- #endif -->
<!-- #ifdef APP -->
<image style="" src="@/static/images/app/welfare/xiaoxi.png" mode=""></image>
<!-- #endif -->
<view class="topic-title" style="">相关话题</view>
</view>
<!-- #ifdef MP-WEIXIN -->
<image class="topic-r" :src="`${config.aliyunOssUrl}/static/images/app/icon/arrow-right.png`" mode=""></image>
<!-- #endif -->
<!-- #ifdef APP -->
<image class="topic-r" src="@/static/images/app/icon/arrow-right.png" mode=""></image>
<!-- #endif -->
</view>
<view class="flex flex-wrap topic-list">
<view v-for="(item,index) in topicList" @click="endTopicFn(item)">#{{item.name}}</view>
</view>
</view> -->
</view>
</template>
@@ -95,7 +62,8 @@
//分类id
categoryId: 1,
topicList:[],
endTopicData:{}
endTopicData:{},
topicId:''
};
},
methods: {
@@ -120,7 +88,7 @@
replyStatus: 1,
type: 1,
categoryId: this.categoryId,
topicIds:this.endTopicData.id,
topicIds:this.topicId,
activeTopicId:this.activeTopicId
}
plazaNoteAdd(obj).then(res => {
@@ -158,12 +126,13 @@
onLoad(options) {
this.categoryId = options.type
this.activeTopicId=options.activeTopicId
getCommunityTopicList({
limit:3,
page:1
}).then(res=>{
this.topicList=res.data.list
})
this.topicId=options.topicId
// getCommunityTopicList({
// limit:3,
// page:1
// }).then(res=>{
// this.topicList=res.data.list
// })
}
}
</script>

View File

@@ -34,13 +34,13 @@
</view>
</view>
<view class="swiper-box">
<u-swiper keyName="image" :list="brannerList" height="240rpx"></u-swiper>
<u-swiper keyName="image" :list="brannerList" height="240rpx" @click="brannerClick"></u-swiper>
</view>
<view class="rebate-shop">
<view class="rebate-shop-hea flex justify-between align-center">
<view class="f-36 fw-5 c333">返佣平台</view>
<view class="rebate-shop-address flex align-center justify-center f-26 c333"
@click="$tab.navigateTo('/pages/driver/serve/repair/re_create/select_city')">
@click="$tab.navigateTo('/pagesA/serve/repair/re_create/select_city')">
<u-icon name="map" color="#333333" size="18"></u-icon>
<view class="rebate-shop-address-cont">
{{citySave?citySave:'杭州'}}
@@ -169,7 +169,22 @@
}).catch(err => {
this.$refs.paging.complete(false);
})
}
},
// 点击轮播图
brannerClick(e) {
if (this.brannerList[e].linkType == 0 || this.brannerList[e].linkType == 2 ||
this.brannerList[e].linkType == 3) {
let linkObj = this.brannerList[e].minLinkUrl
uni.navigateTo({
url: linkObj
})
}else if(this.brannerList[e].linkType == 1){
let linkObj = this.brannerList[e].minLinkUrl
uni.navigateTo({
url: `/pagesA/rebate/rebate_web?contract=${linkObj}`
})
}
},
},
onLoad() {
brannerList({

View File

@@ -24,91 +24,48 @@
</view>
</view>
<view class="list-box">
<view v-for="(item,index) in dataList" :key="index">
<view class="user-item border-bottom border-eee">
<view class="user-info flex align-center justify-between">
<view class="left flex align-center" @click.stop="linkPersonalCenter(item.authorId)">
<image :src="item.authorAvatar" mode="aspectFill"></image>
<view class="">
<view class="f-28 c666">
{{item.authorName}}
</view>
<view class="f-24 c666">
IP {{item.city || "未知"}} {{item.diffDays}}天前
<view v-for="(item,index) in dataList" :key="index" @click="toDetailPages(item,index)">
<block>
<view class="consult" @click.stop="toDetailPages(item,index)">
<view class="consult-list" v-if="item.image.length==1">
<view class="flex align-center">
<view class="consult-list-left flex flex-column justify-between">
<view class="consult-list-left-title">
{{item.categoryId==1?item.content:item.title}}
</view>
<view class="flex justify-between c999">
<text>{{item.authorName}}</text>
<text>{{item.createTime}}</text>
</view>
</view>
<image class="consult-image-one" @click.stop="examineFn(item.image,imageIndex)"
v-for="(itemImage,imageIndex) in item.image" :key="imageIndex"
:src="itemImage" mode=""></image>
</view>
</view>
<view class="image-box" @click.stop="reportFn(item)">
<image :src="`${config.aliyunOssUrl}/static/images/app/icon/more.png`" mode=""></image>
</view>
</view>
<view class="content-title line-two" @click="toDetailPages(item,index)">
{{item.content?item.content:'分享图片'}}
</view>
<!-- <video :id="'refVideo'+item.id" v-if="item.video" :src="item.video" initial-time="1s"
:poster="item.cover" class="video-box" @play="handleVideoClick(index)"
@pause="currentVideoIndex = -1">
</video> -->
<view class="video-box" v-if="item.video" @click="toDetailPages(item,index)">
<image class="video-box-bo" :src="`${config.aliyunOssUrl}/static/images/app/mine/bo_fang.png`" mode=""></image>
<image class="video-box-bg" :src="item.cover" mode=""></image>
</view>
<view v-if="item.image" class="image-list-box ">
<view v-if="item.image.length==1">
<view v-for="(itemImage,imageIndex) in item.image" :key="imageIndex">
<image class="image-one" :src="itemImage" mode="cover"
@click.stop="examineFn(item.image,imageIndex)"></image>
<view class="consult-list" v-else>
<view class="consult-list-left-title">
{{item.categoryId==1?item.content:item.title}}
</view>
</view>
<view v-if="item.image.length==2" style="width: 100%;" class="flex justify-between">
<view v-for="(itemImage,imageIndex) in item.image" :key="imageIndex">
<image class="image-two" :src="itemImage" mode="cover"
@click.stop="examineFn(item.image,imageIndex)"></image>
<view v-if="item.image.length==2" class="flex justify-between flex-wrap">
<image class="consult-image-two" @click.stop="examineFn(item.image,imageIndex)"
v-for="(itemImage,imageIndex) in item.image" :key="imageIndex"
:src="itemImage" mode=""></image>
</view>
</view>
<view v-if="item.image.length==4" style="width: 100%;" class="flex justify-between flex-wrap">
<view v-for="(itemImage,imageIndex) in item.image" :key="imageIndex">
<image class="image-two" :src="itemImage" mode="cover"
@click.stop="examineFn(item.image,imageIndex)"></image>
<view v-else class="flex justify-between flex-wrap">
<block v-for="(itemImage,imageIndex) in item.image" :key="imageIndex">
<image v-if="imageIndex<3" class="consult-image-three"
@click.stop="examineFn(item.image,imageIndex)" :src="itemImage" mode="">
</image>
</block>
</view>
</view>
<view v-if="item.image.length>2&&item.image.length!=4" class="flex-wrap flex justify-between">
<view v-for="(itemImage,imageIndex) in item.image" :key="imageIndex">
<image class="image-three" :src="itemImage" mode="cover"
@click.stop="examineFn(item.image,imageIndex)"></image>
</view>
<view v-for="(a,b) in (item.image.length%3-1)<0?0:(item.image.length%3-1)">
<view class="image-three"></view>
<view class="consult-list-name flex justify-between c999">
<text>{{item.authorName}}</text>
<text>{{item.createTime}}</text>
</view>
</view>
</view>
<view class="faceback-box flex align-center justify-between">
<view class="" @click.stop="delCommFn(item, index)">
<!-- <text class="red" v-if="userInfo.id == item.authorId">删除</text> -->
</view>
<view class="flex align-center justify-end">
<!-- <view class="faceback-box-item flex align-center" @click.stop="shareFn(item)">
<image :src="`${config.aliyunOssUrl}/static/images/app/mine/share.png`"></image>
{{item.shareNum}}
</view> -->
<view class="faceback-box-item flex align-center" style="position:relative;">
<image :src="`${config.aliyunOssUrl}/static/images/app/mine/share.png`"></image>
{{item.shareNum}}
<button id="shareBtn" @click="shareBtnInfo(item)" open-type="share"></button>
</view>
<view class="faceback-box-item flex align-center" @click="toDetailPages(item,index)">
<image :src="`${config.aliyunOssUrl}/static/images/app/mine/information.png`"></image>
{{item.replyNum}}
</view>
<view class="faceback-box-item flex align-center" @click="Like(item)">
<image v-if="!item.userIsLike" :src="`${config.aliyunOssUrl}/static/images/app/mine/like.png`">
</image>
<image v-if="item.userIsLike" :src="`${config.aliyunOssUrl}/static/images/app/icon/like.png`"></image>
{{item.likeNum}}
</view>
</view>
</view>
</view>
</block>
</view>
</view>
</z-paging>
@@ -258,6 +215,7 @@
getPlazaList({
searchWord: this.searchWord,
categoryId: 1,
isFrontHome:true,
page,
limit
}).then(res => {
@@ -330,104 +288,60 @@
}
.list-box {
padding: 0 32rpx;
.user-item {
padding-top: 48rpx;
.user-info {
.left {
image {
margin-right: 16rpx;
width: 80rpx;
height: 80rpx;
border-radius: 50%;
}
width: 750rpx;
padding: 0 32rpx 30rpx 32rpx;
background: #ffffff;
.consult {
width: 100%;
padding-bottom: 29rpx;
border-bottom: 1rpx solid #EDEDED;
padding-top: 24rpx;
.consult-list {
.consult-list-name {
font-size: 26rpx;
color: #666;
margin-top: 16rpx;
}
.image-box {
image {
width: 32rpx;
height: 32rpx;
}
.consult-list-left-title {
font-weight: 500;
font-size: 34rpx;
color: #111111;
line-height: 38rpx;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
}
.content-title {
margin-top: 16rpx;
max-height: 86rpx;
font-size: 32rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #111111;
line-height: 43rpx;
}
.video-box {
width: 686rpx;
height: 686rpx;
border-radius: 8rpx;
margin-top: 24rpx;
position: relative;
.video-box-bg {
width: 686rpx;
height: 686rpx;
position: absolute;
top: 0;
left: 0;
.consult-list-left {
min-height: 150rpx;
width: calc(100% - 234rpx);
margin-right: 16rpx;
}
.video-box-bo {
position: absolute;
top: calc(50% - 60rpx);
left: calc(50% - 60rpx);
width: 120rpx;
height: 120rpx;
border-radius: 50%;
z-index: 999;
}
}
.image-list-box {
width: 100%;
margin-top: 24rpx;
.image-one {
width: 686rpx;
height: 686rpx;
border-radius: 8rpx;
}
.image-two {
width: 330rpx;
height: 330rpx;
box-shadow: 0rpx 0rpx 4rpx 0rpx rgba(0, 0, 0, 0.09);
border-radius: 8rpx;
}
.image-three {
.consult-image-one {
width: 218rpx;
height: 218rpx;
box-shadow: 0rpx 0rpx 4rpx 0rpx rgba(0, 0, 0, 0.09);
height: 150rpx;
border-radius: 8rpx;
margin: 24rpx 0;
}
}
.faceback-box {
padding: 34rpx 0;
.faceback-box-item {
margin-left: 48rpx;
.consult-image-two {
width: 310rpx;
height: 230rpx;
border-radius: 8rpx;
margin: 24rpx 0;
}
image {
margin: 0 16rpx;
width: 36rpx;
height: 36rpx;
.consult-image-three {
width: 223rpx;
height: 160rpx;
border-radius: 8rpx;
margin: 24rpx 0;
}
}
}

View File

@@ -0,0 +1,215 @@
<template>
<z-paging ref="paging" v-model="hotSelling" @query="queryList">
<view slot="top" class="search">
<u-search :showAction="true" placeholder="请输入搜索内容" v-model="searchWord" actionText="搜索" :animation="true"
@custom="customFn"></u-search>
</view>
<view class="coupons">
<view class="coupons-title flex justify-between align-center" @click="navigatorFn(1)">
<view>助力活动</view>
<u-icon name="arrow-right" color="#666" size="18"></u-icon>
</view>
<view class="coupons_con">
<view class="con_view" v-for="(item,index) in helps " :key="item.id" @click="toMyactivityPages(item)">
<image class="view_img" :src="item.cover" mode="aspectFill"></image>
<view class="view_txt"> {{item.name ? item.name : '--'}} </view>
</view>
</view>
<view class="coupons-title flex justify-between align-center" @click="navigatorFn(2)">
<view>限时秒杀</view>
<u-icon name="arrow-right" color="#666" size="18"></u-icon>
</view>
<view class="coupons_con">
<view class="con_view" v-for="(item,index) in flashSales " :key="item.id"
@click="toMyactivityPages(item)">
<image class="view_img" :src="item.cover" mode="aspectFill"></image>
<view class="view_txt"> {{item.name ? item.name : '--'}} </view>
</view>
</view>
<view class="coupons-title flex justify-between align-center" @click="navigatorFn(3)">
<view>积分商城</view>
<u-icon name="arrow-right" color="#666" size="18"></u-icon>
</view>
<view class="coupons_con">
<view class="con_view" v-for="(item,index) in integrals " :key="item.id"
@click="toMyactivityPages(item)">
<image class="view_img" :src="item.cover" mode="aspectFill"></image>
<view class="view_txt"> {{item.name ? item.name : '--'}} </view>
</view>
</view>
<view class="coupons-title flex justify-between align-center" @click="navigatorFn(4)">
<view>热销中心</view>
<u-icon name="arrow-right" color="#666" size="18"></u-icon>
</view>
<view class="coupons_con">
<view class="con_view" v-for="(item,index) in hotSelling " :key="item.id"
@click="toMyactivityPages(item)">
<image class="view_img" :src="item.cover" mode="aspectFill"></image>
<view class="view_txt"> {{item.name ? item.name : '--'}} </view>
</view>
</view>
</view>
</z-paging>
</template>
<script>
import {
getSeekListAPI
} from '@/api/serve/index'
export default {
data() {
return {
//搜索框
searchWord: '',
//助力
helps: [],
//限时秒杀
flashSales: [],
//热销
hotSelling: [],
//积分
integrals: [],
}
},
onLoad() {},
methods: {
customFn() {
this.$refs.paging.reload()
},
queryList(pageNo, pageSize) {
let obj = {
limit: pageSize,
page: pageNo,
name: this.searchWord
}
getSeekListAPI(obj).then(res => {
console.log(res.data);
this.helps = res.data.helps
this.flashSales = res.data.flashSales
this.integrals = res.data.integrals
this.$refs.paging.complete(res.data.hotSelling)
}).catch(err => {
this.$refs.paging.complete(false)
})
},
//跳转列表
navigatorFn(type){
if(type==1){
uni.navigateTo({
url: `/pages/serve/activity_list`
})
}else if(type==2){
uni.navigateTo({
url: `/pages/serve/coupons/coupons?num=${1}`
})
}else if(type==3){
uni.navigateTo({
url: '/pages/welfare/rightsInterests/rightsInterests'
})
}else{
uni.navigateTo({
url: `/pages/serve/hot_list?type=hot`
})
}
},
// 去活动详情
toMyactivityPages(item) {
console.log(item, '列表--活动详情');
// uni.navigateTo({
// url: `/pages/driver/serve/hot_list?type=help&id=${item && item.id}&name=${item && item.name}`
// })
uni.navigateTo({
url: `/pages/driver/mine/my_activity/detail?id=${item.productId}&helpGenre=${item.helpType}&activityId=${item.id}&isMould=${item.isMould}`
})
},
}
}
</script>
<style lang="scss">
.search {
padding: 0 32rpx 24rpx;
}
.coupons {
// border: 1px solid red;
padding: 0rpx 24rpx 0 24rpx;
.coupons-title{
width: 702rpx;
margin: 24rpx 0;
font-weight: 700;
font-size: 32rpx;
.coupons-image{
width: 14rpx;
height: 24rpx;
}
}
.coupons_con {
display: flex;
flex-wrap: wrap;
align-content: flex-start;
justify-content: space-between;
.con_view {
margin-bottom: 24rpx;
.view_img {
width: 340rpx;
height: 340rpx;
border-radius: 8rpx;
}
.view_txt {
// border: 1px solid red;
width: 340rpx;
height: 80rpx;
line-height: 40rpx;
font-size: 30rpx;
font-weight: 600;
color: #333333;
margin-top: 16rpx;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
}
}
}
.search-title {
margin: 48rpx 0 24rpx 0;
image {
width: 40rpx;
height: 40rpx;
}
}
.search-history {
.search-history-list {
margin-bottom: 24rpx;
image {
width: 36rpx;
height: 36rpx;
}
}
}
.search-label {
.search-label-list {
padding: 10rpx 20rpx;
border-radius: 30rpx;
background: #F3F3F3;
margin-right: 32rpx;
margin-bottom: 24rpx;
}
}
</style>

View File

@@ -2,7 +2,7 @@
<view class="content">
<view style="height: 24rpx;" />
<view class="con_imgview">
<u-swiper height="370rpx" :list="branner" :circular="true" keyName="image" indicator radius='0'></u-swiper>
<u-swiper height="370rpx" :list="branner" :circular="true" keyName="image" indicator radius='0' @click="brannerClick"></u-swiper>
</view>
<view class="positionview">
<view class="postop">
@@ -196,11 +196,26 @@
// 获取轮播图
getBranner() {
brannerList({
type: 4
type: 10
}).then(res => {
this.branner = res.data.list
})
},
// 点击轮播图
brannerClick(e) {
if (this.branner[e].linkType == 0 || this.branner[e].linkType == 2 ||
this.branner[e].linkType == 3) {
let linkObj = this.branner[e].minLinkUrl
uni.navigateTo({
url: linkObj
})
}else if(this.branner[e].linkType == 1){
let linkObj = this.branner[e].minLinkUrl
uni.navigateTo({
url: `/pagesA/rebate/rebate_web?contract=${linkObj}`
})
}
},
}
}
</script>

View File

@@ -34,10 +34,11 @@
<view class="item-box border-price">
<view class="flex align-center justify-between">
<view class="item-title">
{{orderType == 2 && '押金' || '定金'}}
{{'定金'}}
<!-- {{orderType == 2 && '押金' || '定金'}} -->
</view>
<view class="price">
{{orderType == 2?formProductData.depositMoney:formProductData.depositPrice}}
{{orderType == 2?formProductData.depositPrice:formProductData.depositPrice}}
</view>
</view>
<view class="content-text">
@@ -78,19 +79,13 @@
选择租期
</view>
<view @click="leaseTermShow=true">{{monthRentName}}</view>
<!-- <view class="">
<u-radio-group v-model="monthRent" activeColor="#13AFA8" placement="row"
@change="groupChange">
<view style="width:638rpx" class="flex align-center justify-between mt-32">
<u-radio activeColor="#13AFA8" :disabled="formProductData.monthRent<3" label="3个月" name="3">3个月</u-radio>
<u-radio activeColor="#13AFA8" :disabled="formProductData.monthRent<6" label="6个月" name="6">6个月</u-radio>
<u-radio activeColor="#13AFA8" :disabled="formProductData.monthRent<9" label="9个月" name="9">9个月</u-radio>
<u-radio activeColor="#13AFA8" :disabled="formProductData.monthRent<12" label="12个月" name="12">12个月</u-radio>
</view>
</u-radio-group>
</view> -->
</view>
</u-form-item>
<u-form-item border-bottom label-width="80" label="押金">
<u-input disabled disabledColor="#fff" v-model="formProductData.depositMoney" border="none"
input-align="right"></u-input>
</u-form-item>
</u-form>
</view>
<view style="height: 24rpx;" />
@@ -158,6 +153,24 @@
<u-icon name="arrow-right" size="12" color="#c0c4cc"></u-icon>
</view>
</u-form-item>
<view v-if="orderType == 1">
<u-form-item border-bottom label-width="80" label="首付">
<u-input disabled disabledColor="#fff" border="none" v-model="formProductData.first" placeholder="请输入首付"
input-align="right"></u-input>
</u-form-item>
<u-form-item border-bottom label-width="80" label="尾款">
<u-input disabled disabledColor="#fff" border="none" v-model="formProductData.balancePayment" placeholder="请输入尾款"
input-align="right"></u-input>
</u-form-item>
<u-form-item border-bottom label-width="80" label="月供">
<u-input disabled disabledColor="#fff" border="none" v-model="formProductData.monthTributePrice" placeholder="请输入月供"
input-align="right"></u-input>
</u-form-item>
<u-form-item border-bottom label-width="80" label="期数">
<u-input disabled disabledColor="#fff" border="none" v-model="formProductData.monthTribute" placeholder="请输入期数"
input-align="right"></u-input>
</u-form-item>
</view>
</view>
<view class="title">
车主(车辆所有人)信息
@@ -292,7 +305,7 @@
@cancel="show = false" @confirm="confirm" confirmColor="#13AFA8" :title="title" :show="show" round="16"
:columns="columns" ref="uPicker"></u-picker>
<u-picker keyName="carDealerName" @confirm="attrConfirm" confirmColor="#13AFA8" :title="title" :show="attrShow"
<u-picker keyName="carDealerName" @confirm="attrConfirm" confirmColor="#13AFA8" :title="title" :show="attrShow" closeOnClickOverlay @close="attrShow=false"
round="16" :columns="attrListData" @cancel="attrShow = false" ></u-picker>
<!-- 支付方式 -->
<u-popup :show="topUpTypeShow" @close="topUpTypeClose" round="16" closeOnClickOverlay>
@@ -385,7 +398,8 @@
postOrderCreate,
frontPayCarSell,
informationCreate,
frontPayPayrental
frontPayPayrental,
getProductInfo
} from "@/api/showroom/showroom.js"
import {
getCouponListAPI,
@@ -677,17 +691,25 @@
// this.form.city=e.value[0].regionName+e.value[1].regionName
this.form[this.keyName] = e.value[1].regionName
this.form.province = e.value[0].regionName
getProductInfo({
id: this.formProductData.id,
type: this.orderType,
city:e.value[1].regionName
}).then(res => {
console.log(res.data);
this.attrListData = [res.data.attrList]
})
} else {
this.form[this.keyName] = e.value[0]
}
this.show = false
},
attrConfirm(e) {
this.attrShow = false
this.form.attrListData = e.value[0].carDealerName
this.form.cspId = e.value[0].cspId //获取交付车商商品id
this.form.cspaId = e.value[0].id //获取交付车商发布id
this.form.carDealerId = e.value[0].carDealerId //车商id
this.attrShow = false
},
//
openPopup(e) {