You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
577 lines
14 KiB
577 lines
14 KiB
<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(0)"></view>
|
|
<view class="item" @click="tabItem(1)"></view>
|
|
<view class="item" @click="tabItem(2)"></view>
|
|
</view>
|
|
<view class="b">
|
|
<image v-if="tabIndex == 0" src="@/static/news/icon-recyling-tab-01.png"></image>
|
|
<image v-if="tabIndex == 1" src="@/static/news/icon-recyling-tab-02.png"></image>
|
|
<image v-if="tabIndex == 2" 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>{{storeInfo.shop_name}}
|
|
</view>
|
|
<view class="b">
|
|
<view class="l">
|
|
<image class="pic" :src="storeInfo.logo_url"></image>
|
|
<view class="info">
|
|
<view class="tel">{{storeInfo.linkman}}{{storeInfo.phone}}</view>
|
|
<view class="address">{{storeInfo.address}}</view>
|
|
<view class="time">营业时间:{{storeInfo.shop_hours}}</view>
|
|
</view>
|
|
<view class="do">
|
|
<view class="tel" @click="openPage(1,storeInfo.phone)">
|
|
<image src="@/static/news/tel.png"></image>电话
|
|
</view>
|
|
<view class="tel" @click="openPage(2)">
|
|
<image src="@/static/news/address.png"></image>导航
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="r">
|
|
<image class="pic" :src="info.recovery_image"></image>
|
|
<view class="info">
|
|
<view class="tel">{{info.recovery_name}}</view>
|
|
<view class="price">免支付预约</view>
|
|
</view>
|
|
<view class="num">
|
|
x1
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="form">
|
|
<view class="item">
|
|
<view class="a">品牌</view>
|
|
<view class="b">
|
|
<input class="box" type="text" v-model="brand" placeholder="品牌" />
|
|
</view>
|
|
</view>
|
|
<view class="item">
|
|
<view class="a">型号</view>
|
|
<view class="b">
|
|
<input class="box" type="text" v-model="model" placeholder="型号" />
|
|
</view>
|
|
</view>
|
|
<view class="item">
|
|
<view class="a">服务时间</view>
|
|
<view class="b" @click="openPage(3)">
|
|
<view class="select" :class="server_time?'select-on':''">{{server_time?server_time:(tabIndex <= 1?'请选择预约到店时间':'请选择预计寄出商品的时间')}}</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 class="box1" v-model="username" 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 class="box" type="number" v-model="mobile" placeholder="联系人手机号码" />
|
|
</view>
|
|
</view>
|
|
<view class="item" v-if="tabIndex == 2">
|
|
<view class="a">联系人微信</view>
|
|
<view class="b">
|
|
<input class="box" v-model="wx_account" type="text" placeholder="联系人微信号码" />
|
|
</view>
|
|
</view>
|
|
<view class="item" v-if="tabIndex == 2">
|
|
<view class="a">发件地址</view>
|
|
<view class="b">
|
|
<picker @change="changeRegion" mode="region">
|
|
<view class="select" :class="region.length>0?'select-on':''">
|
|
{{
|
|
region.length > 0?region[0]+region[1]+region[2]:'请选择所在人城市'
|
|
}}</view>
|
|
</picker>
|
|
</view>
|
|
</view>
|
|
<view class="item" v-if="tabIndex == 2">
|
|
<view class="a">门牌号</view>
|
|
<view class="b">
|
|
<input class="box" type="text" placeholder="例:12幢1单元102室" />
|
|
</view>
|
|
</view>
|
|
<view class="item">
|
|
<view class="a">期待卖价</view>
|
|
<view class="b">
|
|
<input class="box" v-model="expect_price" type="number" placeholder="请输入您期待的售卖价格(元)" />
|
|
</view>
|
|
</view>
|
|
<view class="photo" v-if="tabIndex != 0">
|
|
<u-upload :action="url" :header="header" @on-uploaded="success" width="160" height="160" :file-list="fileList" :custom-btn="true" max-count="8">
|
|
<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" @click="openPage(5,'可提前来')">可提前来</view>
|
|
<view class="li" @click="openPage(5,'来之前打电话')">来之前打电话</view>
|
|
<view class="li" @click="openPage(5,'请尽快联系我')">请尽快联系我</view>
|
|
</view>
|
|
<view class="content">
|
|
<u-input v-model="remake" height="260" type="textarea" placeholder="请输入您的留言,最多可留言100字" :border="true" />
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="recycling-fd">
|
|
<view class="a">免支付预购</view>
|
|
<view class="b" @click="openPage(4)">提交订单</view>
|
|
</view>
|
|
<!-- 时间选择器 -->
|
|
<u-picker mode="time" :params="params" v-model="show" confirm-color="#FE483B" :show-time-tag="false" @confirm="confirm"></u-picker>
|
|
</view>
|
|
</template>
|
|
<script>
|
|
import Config from '@/core/config'
|
|
export default{
|
|
data(){
|
|
return {
|
|
info: {},
|
|
type: 1,
|
|
radioValue: "男士",
|
|
server_time: "",
|
|
tabIndex: 0,
|
|
fileList: [],
|
|
image_ids: [],
|
|
express_no: "",
|
|
express_id: "",
|
|
shipping_address: "",
|
|
house_number: "",
|
|
wx_account: "",
|
|
model: "",
|
|
brand: "",
|
|
remake: "",
|
|
expect_price: "",
|
|
mobile: "",
|
|
username: "",
|
|
params: {
|
|
year: true,
|
|
month: true,
|
|
day: true,
|
|
hour: true,
|
|
minute: true,
|
|
second: true
|
|
},
|
|
show: false,
|
|
storeInfo: {},
|
|
region: [],
|
|
header: {
|
|
'Storeid': uni.getStorageSync('Store').storeInfo.store_id
|
|
'AccessToken': uni.getStorageSync('AccessToken')
|
|
'platform': "MP-WEIXIN",
|
|
},
|
|
|
|
url: Config.get('apiUrl')+'user/upload'
|
|
}
|
|
},
|
|
onLoad(o) {
|
|
this.tabIndex = o.tabIndex;
|
|
this.info = uni.getStorageSync("getInfo")
|
|
this.storeInfo = uni.getStorageSync("storeHsInfo")
|
|
this.type = o.type;
|
|
|
|
},
|
|
methods: {
|
|
success(e) {
|
|
console.log(e)
|
|
},
|
|
beforeUpload(e,list){
|
|
console.log(list)
|
|
for(i = 0; i<list.length;i++){
|
|
uni.uploadFile({
|
|
name: 'file',
|
|
header: {
|
|
|
|
},
|
|
url: ,
|
|
filePath: list[i].url,
|
|
success: (upRes) => {
|
|
let end = JSON.parse(upRes.data);
|
|
console.log(end)
|
|
// that.userInfo.avatar = end.data.path
|
|
// that.userInfo.avatar1 = end.data.url
|
|
},
|
|
fail: (err) => {
|
|
console.log("toUpload err",err)
|
|
console.log(err)
|
|
}
|
|
});
|
|
}
|
|
|
|
},
|
|
uploadImage() {
|
|
const that = this
|
|
uni.chooseImage({
|
|
count: 1,
|
|
sizeType: ["original"], //可以指定是原图还是压缩图,默认二者都有
|
|
sourceType: ["album", "camera"],
|
|
success: (res) => {
|
|
console.log(res.tempFilePaths[0])
|
|
|
|
},
|
|
fail(err){
|
|
console.log("fail",err)
|
|
}
|
|
});
|
|
},
|
|
tabItem(i) {
|
|
this.tabIndex = i
|
|
},
|
|
confirm(e){
|
|
this.server_time = e.year+"-"+e.month+'-'+e.day+" "+e.hour+"-"+e.minute+'-'+e.second
|
|
},
|
|
changeRegion(e) {
|
|
this.region = e.detail.value
|
|
},
|
|
openPage(i,msg){
|
|
if(i == 1){
|
|
uni.makePhoneCall({
|
|
phoneNumber: msg
|
|
})
|
|
}else if(i == 2){
|
|
uni.openLocation({
|
|
latitude: this.storeInfo.latitude,
|
|
longitude: this.storeInfo.longitude,
|
|
complete: function (res) {
|
|
console.log(res);
|
|
}
|
|
});
|
|
}else if(i == 3){
|
|
this.show = true
|
|
// uni.navigateTo({
|
|
// url: "/pages/news/recycling/timer"
|
|
// })
|
|
}else if(i == 4) {
|
|
uni.redirectTo({
|
|
url: "/pages/news/recycling/order"
|
|
})
|
|
}
|
|
},
|
|
}
|
|
}
|
|
</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;
|
|
.tab{
|
|
width: 690rpx;
|
|
height: 280rpx;
|
|
.b{
|
|
width: 100%;
|
|
height: 100%;
|
|
display: block;
|
|
image{
|
|
width: 100%;
|
|
height: 100%;
|
|
display: block;
|
|
}
|
|
}
|
|
.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;
|
|
border-left: 1px solid #F1F1F1;
|
|
border-right: 1px solid #F1F1F1;
|
|
.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;
|
|
border-left: 1px solid #F1F1F1;
|
|
border-right: 1px solid #F1F1F1;
|
|
border-bottom: 1px solid #F1F1F1;
|
|
.remark{
|
|
.name{
|
|
font-size: 28rpx;
|
|
font-weight: 400;
|
|
color: #313131;
|
|
}
|
|
.xu{
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
overflow: hidden;
|
|
.li{
|
|
line-height: 52rpx;
|
|
background: #FFFFFF;
|
|
border-radius: 6rpx;
|
|
border: 1px solid #EDEDED;
|
|
padding: 0 20rpx;
|
|
margin-right: 20rpx;
|
|
text-align: center;
|
|
font-size: 24rpx;
|
|
font-weight: 400;
|
|
color: #949494;
|
|
margin-top: 20rpx;
|
|
}
|
|
}
|
|
.content{
|
|
padding: 20rpx 0 50rpx;
|
|
font-size: 28rpx;
|
|
color: #212121;
|
|
}
|
|
}
|
|
.photo{
|
|
padding: 20rpx 0;
|
|
overflow: hidden;
|
|
}
|
|
.item{
|
|
padding: 20rpx 0;
|
|
border-bottom: 1px solid #F4F4F4;
|
|
display: flex;
|
|
align-items: center;
|
|
.a{
|
|
width: 160rpx;
|
|
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;
|
|
}
|
|
}
|
|
.box{
|
|
flex: 1;
|
|
font-size: 28rpx;
|
|
color: #212121;
|
|
line-height: 45rpx;
|
|
}
|
|
.box1{
|
|
width: 160rpx;
|
|
font-size: 28rpx;
|
|
color: #212121;
|
|
line-height: 45rpx;
|
|
}
|
|
.radio{
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
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> |