上门回收

dev
shuxiaoquan 1 year ago
parent f2a11d69c0
commit 0ee482eaee
  1. 21
      pages.json
  2. 404
      pages/news/recycling/confirm.vue
  3. 367
      pages/news/recycling/detail.vue
  4. 34
      pages/news/recycling/index.vue
  5. BIN
      static/news/address.png
  6. BIN
      static/news/avater.png
  7. BIN
      static/news/icon-recycling-05.png
  8. BIN
      static/news/icon-recycling-06.png
  9. BIN
      static/news/icon-recycling-07-on.png
  10. BIN
      static/news/icon-recycling-07.png
  11. BIN
      static/news/icon-recycling-08.png
  12. BIN
      static/news/icon-recyling-tab-01.png
  13. BIN
      static/news/icon-recyling-tab-02.png
  14. BIN
      static/news/icon-recyling-tab-03.png
  15. BIN
      static/news/pic1.png
  16. BIN
      static/news/recyling-banner-01.png
  17. BIN
      static/news/tel.png

@ -542,8 +542,25 @@
"navigationStyle": "custom",
"enablePullDownRefresh": false
}
}
},
{
"path" : "recycling/detail",
"style" :
{
"navigationBarTitleText": "上门回收",
"navigationStyle": "custom",
"enablePullDownRefresh": false
}
},
{
"path" : "recycling/confirm",
"style" :
{
"navigationBarTitleText": "上门回收",
"navigationStyle": "custom",
"enablePullDownRefresh": false
}
}
]
},
{

@ -0,0 +1,404 @@
<template>
<view class="recycling">
<view class="recycling-hd">
<image src="@/static/news/recyling-banner-01.png"></image>
</view>
<view class="recycling-bd">
<view class="tab">
<view class="a">
<view class="item" @click="tabItem(1)"></view>
<view class="item" @click="tabItem(2)"></view>
<view class="item" @click="tabItem(3)"></view>
</view>
<view class="b">
<image v-if="tabIndex == 1" src="@/static/news/icon-recyling-tab-01.png"></image>
<image v-if="tabIndex == 2" src="@/static/news/icon-recyling-tab-02.png"></image>
<image v-if="tabIndex == 3" src="@/static/news/icon-recyling-tab-03.png"></image>
</view>
</view>
<view class="goods">
<view class="a">
<image src="@/static/news/icon-mall.jpg"></image>京送家电武隆路店
</view>
<view class="b">
<view class="l">
<image class="pic" src="@/static/home/phone.jpg"></image>
<view class="info">
<view class="tel">13770577307</view>
<view class="address">杭州市萧山区宏达路234号 国际中心</view>
<view class="time">营业时间10:00-18:00</view>
</view>
<view class="do">
<view class="tel">
<image src="@/static/news/tel.png"></image>电话
</view>
<view class="tel">
<image src="@/static/news/address.png"></image>导航
</view>
</view>
</view>
<view class="r">
<image class="pic" src="@/static/home/phone.jpg"></image>
<view class="info">
<view class="tel">手机回收</view>
<view class="price">¥<text>4189234</text></view>
</view>
<view class="num">
x1
</view>
</view>
</view>
</view>
<view class="form">
<view class="item">
<view class="a">服务时间</view>
<view class="b">
<view class="select">请选择预约到店时间</view>
<u-icon style="margin-left: 10rpx;" name="arrow-right"></u-icon>
</view>
</view>
<view class="item">
<view class="a">联系人</view>
<view class="b">
<input type="text" placeholder="联系人姓名" />
<view class="radio">
<u-radio-group v-model="radioValue" active-color="red">
<u-radio name="先生">先生</u-radio>
<u-radio name="女士">女士</u-radio>
</u-radio-group>
</view>
</view>
</view>
<view class="item">
<view class="a">联系电话</view>
<view class="b">
<input type="text" placeholder="联系人手机号码" />
</view>
</view>
<view class="item">
<view class="a">联系人微信</view>
<view class="b">
<input type="text" placeholder="联系人微信号码" />
</view>
</view>
<view class="item">
<view class="a">发件地址</view>
<view class="b">
<picker mode="region"></picker>
</view>
</view>
<view class="item">
<view class="a">门牌号</view>
<view class="b">
<input type="text" placeholder="详细地址 例:12幢1单元102室" />
</view>
</view>
<view class="item">
<view class="a">期待卖价</view>
<view class="b">
<input type="text" placeholder="请输入您期待的售卖价格(元)" />
</view>
</view>
<view class="phone">
<u-upload :action="action" width="160" height="160" :file-list="fileList" :custom-btn="true" max-count="5">
<template v-slot:addBtn>
<view class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
<image src="/static/news/icon-upload.png"></image>
<view class="1">上传图片</view>
<view class="1">1/8</view>
</view>
</template>
</u-upload>
</view>
<view class="remark">
<view class="name">留言 </view>
<view class="xu">
<view class="li">可提前来</view>
<view class="li">来之前打电话</view>
<view class="li">请尽快联系我</view>
</view>
<view class="content">
<u-input v-model="value" height="260" type="textarea" placeholder="请输入您的留言,最多可留言100字" :border="true" />
</view>
</view>
</view>
</view>
<view class="recycling-fd">
<view class="a">免支付预购</view>
<view class="b">提交订单</view>
</view>
</view>
</template>
<script>
export default{
data(){
return {
value: "",
radioValue: "女士",
tabIndex: 1,
fileList: [
{
url: 'http://pics.sc.chinaz.com/files/pic/pic9/201912/hpic1886.jpg',
}
],
}
},
methods: {
tabItem(i) {
this.tabIndex = i
},
}
}
</script>
<style lang="scss" scoped>
.recycling{
min-height: 100vh;
background-color: #FFFFFF;
padding-bottom: 130rpx;
overflow: hidden;
.slot-btn{
width: 80px;
height: 80px;
background: #FFFFFF;
border-radius: 10rpx;
border: 1px solid #C0C0C0;
text-align: center;
font-size: 24rpx;
font-weight: 500;
color: #D1D1D1;
image{
width: 50rpx;
height: 50rpx;
margin-top: 20rpx;
}
}
&-hd{
width: 686rpx;
height: 152rpx;
border-radius: 8rpx;
overflow: hidden;
margin: 0 auto;
margin-top: 30rpx;
image{
width: 100%;
height: 100%;
}
}
&-bd{
width: 690rpx;
min-height: 280rpx;
overflow: hidden;
margin: 0 auto;
margin-top: 30rpx;
position: relative;
border: 1px solid #F1F1F1;
.tab{
width: 690rpx;
height: 280rpx;
.b{
width: 100%;
height: 100%;
image{
width: 100%;
height: 100%;
}
}
.a{
width: 100%;
height: 98rpx;
position: absolute;
left: 0;
top: 0;
z-index: 2;
display: flex;
align-items: center;
.item{
flex: 1;
height: 100%;
}
}
}
.goods{
padding: 30rpx 35rpx;
overflow: hidden;
.a{
display: flex;
align-items: center;
image{
width: 50rpx;
height: 50rpx;
margin-right: 10rpx;
}
font-size: 28rpx;
font-weight: 500;
color: #000000;
}
.b{
padding: 20rpx 0;
overflow: hidden;
.l{
display: flex;
align-items: center;
overflow: hidden;
.pic{
width: 182rpx;
height: 146rpx;
border-radius: 6rpx;
margin-right: 10rpx;
}
.info{
width: 305rpx;
margin-right: 20rpx;
.title{
font-size: 24rpx;
font-weight: 400;
color: #5C5C5C;
}
.address{
font-size: 24rpx;
font-weight: 400;
color: #5C5C5C;
height: 80rpx;
line-height: 40rpx;
overflow: hidden;
}
.time{
font-size: 24rpx;
font-weight: 400;
color: #5C5C5C;
}
}
.do{
flex: 1;
text-align: center;
font-size: 20rpx;
font-weight: 400;
color: #989898;
display: flex;
align-items: center;
justify-content: space-between;
image{
width: 30rpx;
height: 30rpx;
display: block;
margin: 0 auto;
margin-bottom: 20rpx;
}
}
}
.r{
display: flex;
align-items: flex-start;
overflow: hidden;
margin-top: 30rpx;
.pic{
width: 182rpx;
height: 146rpx;
border-radius: 6rpx;
margin-right: 10rpx;
}
.info{
width: 305rpx;
margin-right: 20rpx;
.title{
font-size: 28rpx;
font-weight: 400;
color: #212121;
}
.price{
font-size: 32rpx;
font-weight: 500;
color: #FF584D;
margin-top: 20rpx;
}
}
.num{
flex: 1;
text-align: center;
font-size: 30rpx;
font-weight: 400;
color: #989898;
text-align: right;
}
}
}
}
.form {
padding: 0 40rpx;
overflow: hidden;
.item{
padding: 20rpx 0;
border-bottom: 1px solid #F4F4F4;
display: flex;
align-items: center;
.a{
width: 140rpx;
font-size: 28rpx;
font-weight: 400;
color: #313131;
line-height: 45rpx;
}
.b{
flex: 1;
display: flex;
align-items: center;
justify-content: space-between;
.select{
flex: 1;
font-size: 28rpx;
font-weight: 400;
line-height: 45rpx;
color: #949494;
&-on{
color: #212121;
}
}
input{
flex: 1;
font-size: 28rpx;
color: #212121;
line-height: 45rpx;
}
.radio{
display: flex;
align-items: center;
justify-content: center;
flex: 1;
border-left: 1px solid #E6E6E6;
}
}
}
}
}
&-fd{
width: 100%;
height: 120rpx;
background-color: #FFFFFF;
padding: 25rpx 25rpx;
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
position: fixed;
left: 0;
bottom: 0;
z-index: 99;
.a{
font-size: 28rpx;
font-weight: 400;
color: #727272;
}
.b{
width: 502rpx;
height: 88rpx;
line-height: 88rpx;
background: #FE483B;
border-radius: 88rpx;
text-align: center;
font-size: 28rpx;
font-weight: 600;
color: #FFFFFF;
}
}
}
</style>

@ -0,0 +1,367 @@
<template>
<view class="recycling">
<view class="recycling-swiper">
<u-swiper :list="list" mode="number" height="750" indicator-pos="bottomRight"></u-swiper>
</view>
<view class="recycling-hd">
<view class="a">
<view class="price"><text>112</text></view>
<view class="exchange">已售1890</view>
</view>
<view class="b">家用电器上门回收</view>
<view class="c">专业上门回收</view>
<view class="d">
<view class="l">
<image src="@/static/news/icon-recycling-05.png"></image>24小时客服
</view>
<view class="l">
<image src="@/static/news/icon-recycling-05.png"></image>未服务全额退
</view>
<view class="l">
<image src="@/static/news/icon-recycling-05.png"></image>未额外收费
</view>
<view class="l">
<image src="@/static/news/icon-recycling-05.png"></image>全程保障
</view>
</view>
</view>
<view class="recycling-select">
<view class="item">
<view class="a">已选</view>
<view class="b" @click="openPage(2)">{{selector[tabIndex]}}<u-icon name="arrow-right"></u-icon></view>
</view>
<view class="item">
<view class="a">送至</view>
<view class="b">河北省秦皇岛市某某区</view>
</view>
<view class="item">
<view class="a">服务</view>
<view class="b">优质服务全程跟踪</view>
</view>
</view>
<view class="recycling-chat">
<view class="a">
<view class="l">用户评价<text>30</text></view>
<view class="r">查看更多 <u-icon name="arrow-right"></u-icon></view>
</view>
<view class="b">
<view class="item">全部12</view>
<view class="item">沟通愉快4</view>
</view>
<view class="c">
<view class="item" v-for="i in 5" :key="i">
<view class="name">
<image src="@/static/news/avater.png"></image>Shark特
</view>
<view class="desc">非常棒讲解细致下次还来</view>
</view>
</view>
</view>
<view class="recycling-bd">
<view class="title">产品详情</view>
<view class="conten">
<image mode="widthFix" src="@/static/news/pic1.png"></image>
</view>
</view>
<view class="recycling-fd">
<view class="a">
<image src="@/static/news/icon-recycling-06.png"></image>客服
<button open-type="contact"></button>
</view>
<view class="a">
<image src="@/static/news/icon-recycling-07.png"></image>收藏
</view>
<view class="a">
<image src="@/static/news/icon-recycling-08.png"></image>购物车
</view>
<view class="b">加入购物车</view>
<view class="c">立即预约</view>
</view>
<u-picker v-model="isShow" mode="selector" :range="selector" @confirm="confirm"></u-picker>
</view>
</template>
<script>
export default{
data(){
return {
tabIndex: 0,
isShow: false,
selector: ["门店回收","上门回收","邮寄回收"],
list: [
{
image: 'https://cdn.uviewui.com/uview/swiper/1.jpg',
title: '昨夜星辰昨夜风,画楼西畔桂堂东'
},
{
image: 'https://cdn.uviewui.com/uview/swiper/2.jpg',
title: '身无彩凤双飞翼,心有灵犀一点通'
},
{
image: 'https://cdn.uviewui.com/uview/swiper/3.jpg',
title: '谁念西风独自凉,萧萧黄叶闭疏窗,沉思往事立残阳'
}
]
}
},
methods: {
openPage(index) {
if(index == 2){
this.isShow = true;
}
},
confirm(e){
this.tabIndex = e[0]
},
}
}
</script>
<style lang="scss" scoped>
.recycling{
padding-bottom: 130rpx;
overflow: hidden;
&-hd{
width: 720rpx;
min-height: 262rpx;
background: #FFFFFF;
border-radius: 8rpx;
margin: 0 auto;
margin-top: 20rpx;
padding: 25rpx;
box-sizing: border-box;
.a{
display: flex;
align-items: baseline;
justify-content: space-between;
.price{
font-size: 32rpx;
font-weight: 500;
color: #ED2B00;
text{
margin-left: 10rpx;
font-size: 48rpx;
}
}
.exchange{
font-size: 24rpx;
font-weight: 400;
color: #989898;
}
}
.b{
font-size: 28rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #000000;
line-height: 43rpx;
}
.c{
font-size: 28rpx;
color: #989898;
line-height: 43rpx;
}
.d{
display: flex;
align-items: center;
font-size: 20rpx;
font-weight: 400;
color: #CDA55E;
margin-top: 10rpx;
.l{
display: flex;
align-items: center;
margin-right: 20rpx;
}
image{
width: 40rpx;
height: 40rpx;
}
}
}
&-select{
width: 720rpx;
background: #FFFFFF;
border-radius: 8rpx;
margin: 0 auto;
margin-top: 20rpx;
padding: 15rpx 25rpx;
box-sizing: border-box;
.item{
padding: 12rpx 0;
display: flex;
align-items: center;
overflow: hidden;
.a{
width: 100rpx;
font-size: 24rpx;
font-weight: 400;
color: #C4C4C4;
}
.b{
flex: 1;
font-size: 24rpx;
font-weight: 400;
color: #3D3D3D;
display: flex;
align-items: center;
justify-content: space-between;
}
}
}
&-chat{
width: 720rpx;
background: #FFFFFF;
border-radius: 8rpx;
margin: 0 auto;
margin-top: 20rpx;
padding: 15rpx 25rpx;
box-sizing: border-box;
.a{
display: flex;
align-items: baseline;
justify-content: space-between;
font-size: 32rpx;
font-weight: 500;
color: #000000;
padding-top: 10rpx;
.l{
text{
font-size: 28psx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #909090;
}
}
.r{
flex: 1;
display: flex;
align-items: center;
font-size: 24rpx;
font-weight: 400;
color: #909090;
}
}
.b{
overflow: hidden;
width: 100%;
display: flex;
flex-wrap: wrap;
padding: 10rpx 0;
.item{
line-height: 50rpx;
background: #FFE7E7;
border-radius: 8rpx;
font-size: 28rpx;
font-weight: 400;
color: #515151;
padding: 0 20rpx;
margin-right: 20rpx;
margin-top: 20rpx;
}
}
.c{
.item{
padding: 20rpx 0;
border-top: 1px solid #f3f3f3;
&:first-child{
border-top: 1px solid #FFFFFF;
}
overflow: hidden;
.name{
font-size: 28rpx;
font-weight: 400;
color: #515151;
display: flex;
align-items: center;
image{
width: 75rpx;
height: 75rpx;
border-radius: 50%;
margin-right: 20rpx;
}
}
.desc{
font-size: 28rpx;
font-weight: 400;
color: #515151;
line-height: 45rpx;
margin-top: 20rpx;
}
}
}
}
&-bd{
width: 720rpx;
background: #FFFFFF;
border-radius: 8rpx;
margin: 0 auto;
margin-top: 20rpx;
padding: 25rpx 25rpx;
box-sizing: border-box;
.a{
font-size: 32rpx;
font-weight: 500;
color: #000000;
}
.b{
width: 100%;
padding: 20rpx 0;
image{
width: 100%;
}
}
}
&-fd{
width: 100%;
height: 120rpx;
background-color: #FFFFFF;
padding: 25rpx 20rpx;
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
position: fixed;
left: 0;
bottom: 0;
z-index: 99;
.a{
flex: 1;
text-align: center;
font-size: 20rpx;
font-weight: 400;
color: #3D3D3D;
image{
width: 40rpx;
height: 40rpx;
display: block;
margin: 0 auto;
}
}
.b{
width: 200rpx;
height: 78rpx;
line-height: 78rpx;
background: #FF9E2B;
border-radius: 78rpx;
text-align: center;
font-size: 24rpx;
font-weight: 600;
color: #FFFFFF;
margin-left: 20rpx;
}
.c{
width: 200rpx;
height: 78rpx;
line-height: 78rpx;
background: linear-gradient(102deg, #FE5E06 0%, #F3221A 100%);
border-radius: 78rpx;
text-align: center;
font-size: 24rpx;
font-weight: 600;
color: #FFFFFF;
margin-left: 20rpx;
}
}
}
</style>

@ -34,13 +34,13 @@
</view>
</view>
<view class="list">
<view class="item" v-for="i in 10" :key="i">
<view class="item" v-for="i in 10" :key="i" @click="openPage()">
<image src="@/static/home/phone.jpg"></image>
<view class="info">
<view class="title">苹果手机上门回收</view>
<view class="desc">专业上门回收</view>
<view class="price">
<view class="btn"></view>
<view class="btn">免支付预约</view>
<view class="num">已售400+ 好评87%</view>
</view>
</view>
@ -77,7 +77,12 @@
this.isScroll = false;
}
},
methods: {
methods: {
openPage() {
uni.navigateTo({
url: "/pages/news/recycling/detail"
})
},
tabItem(index){
this.tabIndex = index;
},
@ -170,7 +175,7 @@
margin-right: 20rpx;
}
.info{
max-width: 500rpx;
width: 440rpx;
white-space: nowrap;
.title{
overflow: hidden;
@ -185,7 +190,28 @@
text-overflow: ellipsis;
margin-top: 10rpx;
color: #888888;
height: 110rpx;
}
.price{
display: flex;
align-items: center;
justify-content: space-between;
font-size: 24rpx;
font-weight: 400;
color: #888888;
.btn{
width: 134rpx;
line-height: 44rpx;
text-align: center;
background: #FFFFFF;
border-radius: 8rpx;
border: 1px solid #FF4949;
font-size: 24rpx;
font-weight: 400;
color: #FF4949;
}
}
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 526 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 694 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 593 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 523 B

Loading…
Cancel
Save