parent
5f8c8af9d0
commit
231dc63679
@ -1,274 +1,322 @@ |
||||
<template> |
||||
<view class="updatePrice"> |
||||
|
||||
<view class="dispatchContent"> |
||||
<view class="orderNum"> |
||||
订单号:{{orderInfo.order_no}} |
||||
</view> |
||||
<view class="dispatchItem" v-for="item in orderInfo.goods"> |
||||
<image :src="item.goods_image" mode="aspectFill"></image> |
||||
<view class="right"> |
||||
<view class="title"> |
||||
{{item.goods_name}} |
||||
</view> |
||||
<view class="subTitle" v-for="p in item.goods_props" :key="p.group"> |
||||
{{p.group.name}}:{{p.value.name}} |
||||
|
||||
</view> |
||||
<view class="num"> |
||||
x{{item.total_num}} |
||||
</view> |
||||
<view class="price"> |
||||
<text style="font-size: 26upx;">¥</text> |
||||
<text>{{item.total_price}}</text> |
||||
<view class="updatePrice"> |
||||
|
||||
<view class="dispatchContent"> |
||||
<view class="orderNum"> |
||||
订单号:{{orderInfo.order_no}} |
||||
</view> |
||||
<view class="dispatchItem" v-for="item in orderInfo.goods"> |
||||
<image :src="item.goods_image" mode="aspectFill"></image> |
||||
<view class="right"> |
||||
<view class="title"> |
||||
{{item.goods_name}} |
||||
</view> |
||||
<view class="subTitle" v-for="p in item.goods_props" :key="p.group"> |
||||
{{p.group.name}}:{{p.value.name}} |
||||
|
||||
</view> |
||||
<view class="num"> |
||||
x{{item.total_num}} |
||||
</view> |
||||
<view class="price"> |
||||
<text style="font-size: 26upx;">¥</text> |
||||
<text>{{item.total_price}}</text> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
|
||||
</view> |
||||
|
||||
</view> |
||||
<view class="selectContent" style="border:none;background-color: #fff;"> |
||||
<!-- <view class="left"> |
||||
物流费用 |
||||
</view> |
||||
<view class="right"> |
||||
<view class="price"> |
||||
<text style="font-size: 26upx;">¥</text> |
||||
<text>288</text> |
||||
<view class="selectContent" style="border:none;background-color: #fff;"> |
||||
<picker @change="changeOption" mode="selector" range-key="express_name" :value="index" :range="wlList"> |
||||
<u-field v-model="expressName" :disabled="true" label="物流公司" placeholder="请选择物流公司" |
||||
right-icon="arrow-right"> |
||||
</u-field> |
||||
</picker> |
||||
<view class="scan"> |
||||
<u-field style="flex: 1;padding:30upx 0 30upx 30upx" v-model="codeNum" label="物流单号" |
||||
placeholder="请填写物流单号"> |
||||
</u-field> |
||||
<image :src="$picUrl+'/static/news3/scan.png'" @click="scanCode" mode=""></image> |
||||
</view> |
||||
<u-icon name="arrow-right" color="#C3C3C3" size="28"></u-icon> |
||||
</view> --> |
||||
<u-field @click="wuliuShow=true" v-model="expressName" |
||||
:disabled="true" label="物流公司" placeholder="请选择物流公司" |
||||
right-icon="arrow-down-fill" |
||||
> |
||||
</u-field> |
||||
<u-action-sheet @click="selectedExpress" :list="wlList" v-model="wuliuShow"></u-action-sheet> |
||||
<view class="scan"> |
||||
<u-field |
||||
style="flex: 1;padding:30upx 0 30upx 30upx" |
||||
v-model="codeNum" |
||||
label="物流单号" |
||||
placeholder="请填写物流单号" |
||||
> |
||||
</u-field> |
||||
<image :src="$picUrl+'/static/news3/scan.png'" mode=""></image> |
||||
</view> |
||||
<view class="footerBtn"> |
||||
<view class="wuliuBtn"> |
||||
物流链接 |
||||
<view class="footerBtn" @click="onCheck" v-if="source==1"> |
||||
<view class="wuliuBtn"> |
||||
物流链接 |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="goods-fd"> |
||||
<view class="btn" @click="sendGoodsHandle">{{source==1?'保存修改':'确认发货'}}</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<view class="btn" @click="sendGoodsHandle"> |
||||
确认发货 |
||||
</view> |
||||
|
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
import * as newFunApi from '@/api/newFun' |
||||
export default{ |
||||
data(){ |
||||
return{ |
||||
modifyInfo:false, |
||||
newPrice:null, |
||||
wuliuShow:false, |
||||
wlList:[ |
||||
|
||||
], |
||||
codeNum:'', |
||||
orderInfo:{}, |
||||
expressList:[], |
||||
expressId:null, |
||||
expressName:'', |
||||
} |
||||
}, |
||||
methods:{ |
||||
selectedExpress(val){ |
||||
console.log(val,this.wlList) |
||||
this.expressId = this.wlList[val].id |
||||
this.expressName = this.wlList[val].text |
||||
import * as newFunApi from '@/api/newFun' |
||||
export default { |
||||
data() { |
||||
return { |
||||
modifyInfo: false, |
||||
newPrice: null, |
||||
wlList: [ |
||||
|
||||
], |
||||
codeNum: '', |
||||
orderInfo: {}, |
||||
expressList: [], |
||||
expressId: null, |
||||
expressName: '', |
||||
source: 1 |
||||
} |
||||
}, |
||||
async sendGoodsHandle(){ |
||||
let goosList = this.orderInfo.goods.map(item=>{ |
||||
return{ |
||||
orderGoodsId:item.order_goods_id, |
||||
deliveryNum:item.delivery_num |
||||
methods: { |
||||
/** |
||||
* 查快递 |
||||
*/ |
||||
onCheck() { |
||||
if (!this.codeNum) { |
||||
return this.$toast('请填写物流单号') |
||||
} |
||||
uni.navigateTo({ |
||||
url: "/pages/news3/LogisticsDetails?logisticsNum=" + this.codeNum |
||||
}) |
||||
}, |
||||
scanCode() { |
||||
uni.scanCode({ |
||||
success: (res) => { |
||||
this.codeNum = res.result; |
||||
}, |
||||
fail: (res) => { |
||||
uni.showToast({ |
||||
title: '扫描失败', |
||||
icon: 'none' |
||||
}) |
||||
} |
||||
}) |
||||
}, |
||||
// 选择物流 |
||||
changeOption(e) { |
||||
this.expressName = this.wlList[e.detail.value].express_name; |
||||
this.expressId = this.wlList[e.detail.value].express_id |
||||
}, |
||||
async sendGoodsHandle() { |
||||
if (!this.expressId) { |
||||
return that.$toast('请选择物流公司') |
||||
} |
||||
}) |
||||
let params={ |
||||
"orderId": this.orderInfo.order_no, |
||||
"form": { |
||||
"deliveryMethod":this.wuliu?10:20, |
||||
"packGoodsData": goosList, |
||||
"expressId": this.expressId, |
||||
"expressNo": this.codeNum, |
||||
"syncMpWeixinShipping": 1 |
||||
if (!this.codeNum) { |
||||
return that.$toast('请填写物流单号') |
||||
} |
||||
} |
||||
let {status, message, data} = await newFunApi.sendGoods(params); |
||||
if(status == 200){ |
||||
uni.hideLoading(); |
||||
uni.navigateBack({delta:1}) |
||||
// this.goodsList = this.goodsList.concat(data.list.data) |
||||
// this.total = data.list.total |
||||
} |
||||
}, |
||||
showAction(){ |
||||
this.wuliuShow = true; |
||||
}, |
||||
async getWuliuList(){ |
||||
let {status, message, data} = await newFunApi.wuliuList(); |
||||
if(status == 200){ |
||||
uni.hideLoading(); |
||||
let arr = data.list; |
||||
this.wlList = arr.map(item=>{ |
||||
let goosList = this.orderInfo.goods.map(item => { |
||||
return { |
||||
text:item.express_name, |
||||
id:item.express_id |
||||
orderGoodsId: item.order_goods_id, |
||||
deliveryNum: item.delivery_num |
||||
} |
||||
}) |
||||
} |
||||
|
||||
let params = { |
||||
"orderId": this.orderInfo.order_id, |
||||
"form": { |
||||
"deliveryMethod": this.wuliu ? 10 : 20, |
||||
"packGoodsData": goosList, |
||||
"expressId": this.expressId, |
||||
"expressNo": this.codeNum, |
||||
"syncMpWeixinShipping": 1 |
||||
} |
||||
} |
||||
let { |
||||
status, |
||||
message, |
||||
data |
||||
} = await newFunApi.sendGoods(params); |
||||
if (status == 200) { |
||||
uni.hideLoading(); |
||||
uni.showToast({ |
||||
title: this.source == 1?'修改成功':'发货成功', |
||||
icon: 'none' |
||||
}) |
||||
uni.navigateBack({ |
||||
delta: 1 |
||||
}) |
||||
} |
||||
}, |
||||
async getWuliuList() { |
||||
let { |
||||
status, |
||||
message, |
||||
data |
||||
} = await newFunApi.wuliuList(); |
||||
if (status == 200) { |
||||
uni.hideLoading(); |
||||
if (this.source == 1) { |
||||
if (this.expressId) { |
||||
data.list.forEach(item => { |
||||
if (item.express_id == this.expressId) { |
||||
this.expressName = item.express_name || ''; |
||||
} |
||||
}); |
||||
} |
||||
} |
||||
this.wlList = data.list |
||||
} |
||||
|
||||
}, |
||||
}, |
||||
}, |
||||
onLoad(option){ |
||||
console.log(option) |
||||
this.orderInfo = JSON.parse(option.item) |
||||
console.log(this.orderInfo) |
||||
this.getWuliuList() |
||||
onLoad(option) { |
||||
this.orderInfo = JSON.parse(option.item) |
||||
this.source = option.source; |
||||
if (this.source == 1) { |
||||
this.expressId = this.orderInfo.delivery[0].express_id |
||||
this.codeNum = this.orderInfo.delivery[0].express_no |
||||
} |
||||
this.getWuliuList() |
||||
|
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
page{ |
||||
min-height: 100%; |
||||
background-color: #F7F8FA; |
||||
} |
||||
.orderNum{ |
||||
|
||||
font-size: 28upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 400; |
||||
color: #707070; |
||||
margin:10upx 30upx; |
||||
|
||||
} |
||||
.dispatchContent{ |
||||
margin:20upx 0; |
||||
background: #FFFFFF; |
||||
// border-radius: 6px 6px 6px 6px; |
||||
opacity: 1; |
||||
padding:20upx 10upx; |
||||
} |
||||
.dispatchItem{ |
||||
display: flex; |
||||
align-items: center; |
||||
|
||||
image{ |
||||
width: 194upx; |
||||
height:194upx; |
||||
page { |
||||
min-height: 100%; |
||||
background-color: #F7F8FA; |
||||
} |
||||
.right{ |
||||
flex:1; |
||||
margin-left:40upx; |
||||
position: relative; |
||||
|
||||
.orderNum { |
||||
|
||||
font-size: 28upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 400; |
||||
color: #707070; |
||||
margin: 10upx 0upx; |
||||
|
||||
} |
||||
|
||||
.dispatchContent { |
||||
margin: 20upx 0; |
||||
background: #FFFFFF; |
||||
// border-radius: 6px 6px 6px 6px; |
||||
opacity: 1; |
||||
padding: 20upx 30upx; |
||||
} |
||||
|
||||
.dispatchItem { |
||||
display: flex; |
||||
flex-direction: column; |
||||
justify-content: space-around; |
||||
.title{ |
||||
|
||||
font-size: 28upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 500; |
||||
color: #3B3B3B; |
||||
|
||||
align-items: center; |
||||
|
||||
image { |
||||
width: 194upx; |
||||
height: 194upx; |
||||
} |
||||
.subTitle{ |
||||
|
||||
font-size: 28upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 400; |
||||
color: #7C7C7C; |
||||
margin:14upx 0; |
||||
|
||||
|
||||
.right { |
||||
flex: 1; |
||||
margin-left: 40upx; |
||||
position: relative; |
||||
display: flex; |
||||
flex-direction: column; |
||||
justify-content: space-around; |
||||
|
||||
.title { |
||||
|
||||
font-size: 28upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 500; |
||||
color: #3B3B3B; |
||||
|
||||
} |
||||
|
||||
.subTitle { |
||||
|
||||
font-size: 28upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 400; |
||||
color: #7C7C7C; |
||||
margin: 14upx 0; |
||||
|
||||
} |
||||
|
||||
.num { |
||||
|
||||
font-size: 28upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 500; |
||||
color: #1E1E1E; |
||||
} |
||||
|
||||
.price { |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: flex-end; |
||||
font-size: 32upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 500; |
||||
color: #F21A1C; |
||||
position: absolute; |
||||
right: 20upx; |
||||
bottom: 0upx; |
||||
z-index: 9; |
||||
|
||||
} |
||||
} |
||||
.num{ |
||||
|
||||
font-size: 28upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 500; |
||||
color: #1E1E1E; |
||||
} |
||||
|
||||
.scan { |
||||
display: flex; |
||||
align-items: center; |
||||
|
||||
image { |
||||
width: 40upx; |
||||
height: 40upx; |
||||
margin-right: 32upx; |
||||
} |
||||
.price{ |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: flex-end; |
||||
font-size: 32upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
} |
||||
|
||||
::v-deep .u-field { |
||||
padding: 30upx; |
||||
} |
||||
|
||||
::v-deep .uni-input-wrapper { |
||||
text-align: right; |
||||
} |
||||
|
||||
.footerBtn { |
||||
padding: 30upx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: flex-end; |
||||
} |
||||
|
||||
.wuliuBtn { |
||||
// padding:8upx 46upx; |
||||
text-align: center; |
||||
height: 60upx; |
||||
line-height: 60upx; |
||||
border: 1px solid #F63116; |
||||
font-size: 28upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 500; |
||||
color: #F83F11; |
||||
border-radius: 20px; |
||||
width: 200upx; |
||||
} |
||||
|
||||
.goods-fd { |
||||
width: 100%; |
||||
position: fixed; |
||||
left: 0; |
||||
bottom: 0; |
||||
padding: 0.9375rem; |
||||
z-index: 99; |
||||
background-color: #fafafa; |
||||
box-sizing: border-box; |
||||
|
||||
.btn { |
||||
width: 630rpx; |
||||
line-height: 88rpx; |
||||
background: #F34A40; |
||||
border-radius: 88rpx; |
||||
text-align: center; |
||||
font-size: 28rpx; |
||||
font-weight: 500; |
||||
color: #F21A1C; |
||||
position: absolute; |
||||
right:20upx; |
||||
bottom:0upx; |
||||
z-index:9; |
||||
|
||||
color: #FFFFFF; |
||||
margin: auto; |
||||
} |
||||
} |
||||
} |
||||
.scan{ |
||||
display: flex; |
||||
align-items: center; |
||||
image{ |
||||
width:40upx; |
||||
height:40upx; |
||||
margin-right:32upx; |
||||
} |
||||
} |
||||
::v-deep .u-field{ |
||||
padding:30upx; |
||||
} |
||||
::v-deep .uni-input-wrapper{ |
||||
text-align: right; |
||||
} |
||||
.footerBtn{ |
||||
padding:30upx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: flex-end; |
||||
} |
||||
.wuliuBtn{ |
||||
// padding:8upx 46upx; |
||||
text-align: center; |
||||
height:60upx; |
||||
line-height: 60upx; |
||||
border:1px solid #F63116; |
||||
font-size: 28upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 500; |
||||
color: #F83F11; |
||||
border-radius:20px; |
||||
width:200upx; |
||||
} |
||||
|
||||
.btn{ |
||||
width: 80%; |
||||
height: 100upx; |
||||
background: #FFAAA4; |
||||
border-radius: 6px 6px 6px 6px; |
||||
opacity: 1; |
||||
line-height: 100upx; |
||||
text-align: center; |
||||
font-size: 28upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 500; |
||||
color: #FFFFFF; |
||||
margin:140upx auto; |
||||
|
||||
} |
||||
|
||||
|
||||
</style> |
||||
</style> |
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,92 +1,462 @@ |
||||
<template> |
||||
<view> |
||||
<view class="top"> |
||||
<u-field |
||||
v-model="name" |
||||
label="收货人" |
||||
placeholder="请填写" |
||||
> |
||||
</u-field> |
||||
<u-field |
||||
v-model="mobile" |
||||
label="手机号" |
||||
placeholder="请填写" |
||||
> |
||||
</u-field> |
||||
<u-field @click="showAction" v-model="address" |
||||
:disabled="true" label="所属城市" placeholder="请选择" |
||||
right-icon="arrow-down-fill" |
||||
></u-field> |
||||
<u-picker mode="region" v-model="show"></u-picker> |
||||
</view> |
||||
<view class="bottom"> |
||||
<view class="title"> |
||||
详细地址 |
||||
<view class="addressList"> |
||||
<view class="addressList-hd"> |
||||
<view class="section" style="padding-top: 26upx;"> |
||||
<u-input class="realAddr" type="textarea" placeholder="请粘贴或输入文本,点击“识别”自动识别姓名、电话和地址" v-model="content"> |
||||
</u-input> |
||||
<view class="btnContent"> |
||||
<view class="btn" @click="onIntelligence" :style="{'opacity': content?1:0.6 }"> |
||||
识别 |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="a">收货人</view> |
||||
<view class="b"> |
||||
<input v-model="form.name" type="text" placeholder="请输入收货人姓名" /> |
||||
</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="a">手机号</view> |
||||
<view class="b"> |
||||
<input v-model="form.phone" @blur="onPhone" maxlength="13" type="number" placeholder="请输入收货人手机号" /> |
||||
</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="a">所属城市</view> |
||||
<view class="b"> |
||||
<picker mode="multiSelector" @change="multiChange" @columnchange="columnChange" |
||||
value="{{multiIndex}}" :range="multiArray" range-key="name"> |
||||
<view class="pbox" :style="{'color': cityInfo.province?'#303030':'gray' }"> |
||||
{{cityInfo.province?cityInfo.province+cityInfo.city+cityInfo.area:'请选择省市区'}} |
||||
<u-icon name="arrow-right"></u-icon> |
||||
</view> |
||||
</picker> |
||||
</view> |
||||
</view> |
||||
<view class="items"> |
||||
<view class="a">详细地址</view> |
||||
<view class="b"> |
||||
<input v-model="form.detail" type="text" placeholder="请输入详细地址" /> |
||||
</view> |
||||
</view> |
||||
<u-input v-model="realAddr" placeholder="XX街道XX 小区1栋1单元101" type="textarea"></u-input> |
||||
</view> |
||||
<view class="footerBtn"> |
||||
保存修改 |
||||
<view class="addressList-fd"> |
||||
<view class="btn" @click="editAddress">保存修改</view> |
||||
</view> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
export default{ |
||||
data(){ |
||||
return{ |
||||
name:'', |
||||
mobile:'', |
||||
show:false, |
||||
address:'', |
||||
} |
||||
}, |
||||
methods:{ |
||||
showAction(){ |
||||
this.show = true; |
||||
import * as newFunApi from '@/api/newFun' |
||||
import * as AddressApi from '@/api/address' |
||||
export default { |
||||
data() { |
||||
return { |
||||
type: 'add', |
||||
checked: false, |
||||
value: "", |
||||
cityInfo: { |
||||
province: '请选择省市区', |
||||
city: '', |
||||
area: '' |
||||
}, |
||||
form: { |
||||
name: '', |
||||
phone: '', |
||||
region: [], |
||||
detail: '' |
||||
}, |
||||
content: '', |
||||
orderInfo: null, |
||||
multiIndex: [0, 0, 0], |
||||
multiArray: [], |
||||
multiData: [] |
||||
}; |
||||
}, |
||||
}, |
||||
mounted(){ |
||||
|
||||
onLoad(optios) { |
||||
console.log(JSON.parse(optios.item)) |
||||
if (optios.item) { |
||||
this.orderInfo = JSON.parse(optios.item); |
||||
this.cityInfo.province = this.orderInfo.address.region.province; |
||||
this.cityInfo.city = this.orderInfo.address.region.city; |
||||
this.cityInfo.area = this.orderInfo.address.region.region; |
||||
this.form.name = this.orderInfo.address.name; |
||||
this.form.phone = this.orderInfo.address.phone; |
||||
this.form.region = [{ |
||||
value: this.orderInfo.address.province_id, |
||||
label: this.orderInfo.address.region.province |
||||
}, { |
||||
value: this.orderInfo.address.city_id, |
||||
label: this.orderInfo.address.region.city |
||||
}, { |
||||
value: this.orderInfo.address.region_id, |
||||
label: this.orderInfo.address.region.region |
||||
}]; |
||||
this.form.detail = this.orderInfo.address.detail; |
||||
} else { |
||||
this.cityInfo.province = '' |
||||
} |
||||
this.getProvinceAll() |
||||
}, |
||||
methods: { |
||||
async getProvinceAll() { |
||||
let { |
||||
status, |
||||
message, |
||||
data |
||||
} = await AddressApi.province(); |
||||
if (status == 200) { |
||||
this.multiData = data.list; |
||||
var multiIndex = this.multiIndex; |
||||
this.multiArray = [ |
||||
this.multiData, |
||||
this.multiData[0].children, |
||||
this.multiData[0].children[0].children |
||||
] |
||||
} |
||||
}, |
||||
onPhone(e) { |
||||
if (this.validatePhoneNumber(Number(e.detail.value))) { |
||||
this.form.phone = Number(e.detail.value) |
||||
} else { |
||||
this.form.phone = '' |
||||
return this.$toast('手机号格式不正确') |
||||
} |
||||
}, |
||||
validatePhoneNumber(phone) { |
||||
// 定义手机号的正则表达式规则 |
||||
var regExp = /^1[3456789]\d{9}$/; |
||||
if (regExp.test(phone)) { |
||||
return true; // 符合手机号格式要求 |
||||
} else { |
||||
return false; // 不符合手机号格式要求 |
||||
} |
||||
}, |
||||
// 智能识别 |
||||
onIntelligence() { |
||||
if (!this.content) { |
||||
return this.$toast('请输入识别内容') |
||||
} |
||||
newFunApi.analysis({ |
||||
content: this.content |
||||
}) |
||||
.then(res => { |
||||
if (res.status) { |
||||
let data = res.data.detail |
||||
this.cityInfo.province = data.region.province; |
||||
this.cityInfo.city = data.region.city; |
||||
this.cityInfo.area = data.region.region; |
||||
this.form.detail = data.detail |
||||
this.form.name = data.name; |
||||
this.form.phone = data.phone; |
||||
this.form.region = [{ |
||||
value: data.province_id, |
||||
label: data.region.province |
||||
}, { |
||||
value: data.city_id, |
||||
label: data.region.city |
||||
}, { |
||||
value: data.region_id, |
||||
label: data.region.region |
||||
}]; |
||||
uni.showToast({ |
||||
title: '识别成功', |
||||
icon: 'none', |
||||
duration: 2000 |
||||
}) |
||||
} else { |
||||
uni.showToast({ |
||||
title: '识别失败', |
||||
icon: 'none', |
||||
duration: 2000 |
||||
}) |
||||
} |
||||
}) |
||||
.finally() |
||||
}, |
||||
// 获取多列的索引 |
||||
multiChange: function(e) { |
||||
this.multiIndex = e.detail.value; |
||||
let a_name = this.multiArray[0][e.detail.value[0]].name; |
||||
let a_id = this.multiArray[0][e.detail.value[0]].id; |
||||
let b_name = this.multiArray[1][e.detail.value[1]].name; |
||||
let b_id = this.multiArray[1][e.detail.value[1]].id; |
||||
let c_name = this.multiArray[2][e.detail.value[2]].name; |
||||
let c_id = this.multiArray[2][e.detail.value[2]].id; |
||||
this.cityInfo.province = a_name; |
||||
this.cityInfo.city = b_name; |
||||
this.cityInfo.area = c_name; |
||||
this.form.region = [{ |
||||
value: a_id, |
||||
label: a_name |
||||
}, { |
||||
value: b_id, |
||||
label: b_name |
||||
}, { |
||||
value: c_id, |
||||
label: c_name |
||||
}]; |
||||
}, |
||||
|
||||
// 选择列 |
||||
columnChange: function(e) { |
||||
var _this = this; |
||||
var columnIndex = e.detail.column; |
||||
var columnValue = e.detail.value; |
||||
_this.multiIndex[columnIndex] = columnValue; |
||||
this.multiArray = [ |
||||
_this.multiData, |
||||
_this.multiData[_this.multiIndex[0]].children, |
||||
_this.multiData[_this.multiIndex[0]].children[_this.multiIndex[1]].children |
||||
] |
||||
}, |
||||
editAddress() { |
||||
// 编辑收货地址 |
||||
const that = this |
||||
if (that.form.name == '') { |
||||
return that.$toast('请填写收货人姓名') |
||||
} |
||||
if (that.form.phone == '') { |
||||
return that.$toast('请填写收货人手机号') |
||||
} |
||||
if (that.form.region == []) { |
||||
return that.$toast('请选择所属地市') |
||||
} |
||||
if (!that.form.detail) { |
||||
return that.$toast('请输入详细地址') |
||||
} |
||||
let params = { |
||||
"orderId": this.orderInfo.order_id, |
||||
"form": that.form |
||||
} |
||||
newFunApi.updateAddress(params) |
||||
.then(result => { |
||||
that.$toast(result.message) |
||||
setTimeout(() => { |
||||
uni.navigateBack() |
||||
}, 1000) |
||||
|
||||
}) |
||||
.finally(() => { |
||||
|
||||
}) |
||||
}, |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
page{ |
||||
min-height:100%; |
||||
background-color: #F7F8FA; |
||||
} |
||||
.top{ |
||||
background-color: #fff; |
||||
padding:0 40upx; |
||||
margin-top:12upx; |
||||
} |
||||
.bottom{ |
||||
background-color: #fff; |
||||
margin-top:8upx; |
||||
padding:26upx 40upx; |
||||
.title{ |
||||
font-size: 28upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 500; |
||||
color: #3B3B3B; |
||||
margin-bottom: 30upx; |
||||
|
||||
.section { |
||||
background-color: #fff; |
||||
padding: 0 18upx; |
||||
|
||||
.realAddr { |
||||
padding: 10upx 0 !important; |
||||
|
||||
::v-deep .uni-input-wrapper { |
||||
text-align: left !important; |
||||
} |
||||
|
||||
::v-deep .uni-input-placeholder { |
||||
white-space: pre-wrap; |
||||
} |
||||
} |
||||
|
||||
.btnContent { |
||||
display: flex; |
||||
justify-content: flex-end; |
||||
padding-bottom: 30upx; |
||||
} |
||||
|
||||
.btn { |
||||
width: 120upx; |
||||
height: 50upx; |
||||
background: #FE483B; |
||||
border-radius: 19px 19px 19px 19px; |
||||
opacity: 1; |
||||
line-height: 50upx; |
||||
text-align: center; |
||||
|
||||
font-size: 24upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 500; |
||||
color: #FFFFFF; |
||||
|
||||
} |
||||
|
||||
.addrDetail { |
||||
padding: 0 10upx; |
||||
|
||||
.addrTitle { |
||||
|
||||
font-size: 28upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 400; |
||||
color: #303030; |
||||
margin-top: 32upx; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.addressList { |
||||
padding: 0 0 20rpx; |
||||
overflow: hidden; |
||||
|
||||
&-hd { |
||||
background-color: #fff; |
||||
padding: 0 25rpx 25rpx; |
||||
overflow: hidden; |
||||
|
||||
.item { |
||||
padding: 25rpx 10rpx; |
||||
line-height: 50rpx; |
||||
font-size: 28rpx; |
||||
color: #212121; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
border-bottom: 1px solid #F7F7F7; |
||||
|
||||
.b { |
||||
font-size: 28rpx; |
||||
color: #9D9D9D; |
||||
flex: 1; |
||||
text-align: right; |
||||
|
||||
input { |
||||
width: 100%; |
||||
line-height: 50rpx; |
||||
font-size: 28rpx; |
||||
color: #212121; |
||||
} |
||||
|
||||
.select { |
||||
color: #C7C7C7; |
||||
|
||||
&-on { |
||||
color: #212121; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
.items { |
||||
padding: 20rpx 0; |
||||
line-height: 50rpx; |
||||
font-size: 28rpx; |
||||
color: #212121; |
||||
|
||||
.b { |
||||
font-size: 28rpx; |
||||
flex: 1; |
||||
text-align: left; |
||||
|
||||
input { |
||||
width: 100%; |
||||
line-height: 50rpx; |
||||
font-size: 28rpx; |
||||
color: #212121; |
||||
margin-top: 20rpx; |
||||
} |
||||
} |
||||
} |
||||
|
||||
} |
||||
|
||||
&-bd { |
||||
background-color: #fff; |
||||
padding: 25rpx; |
||||
overflow: hidden; |
||||
margin-top: 20rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
} |
||||
|
||||
&-fd { |
||||
width: 100%; |
||||
position: fixed; |
||||
left: 0; |
||||
bottom: 0; |
||||
padding: 30rpx; |
||||
background-color: #fafafa; |
||||
box-sizing: border-box; |
||||
|
||||
.btn { |
||||
width: 100%; |
||||
line-height: 96rpx; |
||||
background: #F34A40; |
||||
border-radius: 8rpx; |
||||
text-align: center; |
||||
font-size: 28rpx; |
||||
font-weight: 500; |
||||
color: #FFFFFF; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.list { |
||||
// border-bottom: 1rpx solid #eee; |
||||
padding: 0 0 0 18rpx; |
||||
box-sizing: border-box; |
||||
display: flex; |
||||
flex-direction: row; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
position: relative; |
||||
|
||||
.picker { |
||||
height: 92rpx; |
||||
width: 33%; |
||||
|
||||
.pbox { |
||||
width: 100%; |
||||
height: 92rpx; |
||||
display: flex; |
||||
flex-direction: row; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
color: #808080; |
||||
|
||||
view { |
||||
width: 100%; |
||||
text-align: right; |
||||
} |
||||
|
||||
.icon-you { |
||||
font-size: 28rpx; |
||||
} |
||||
} |
||||
|
||||
.pbox_hover { |
||||
color: #383838; |
||||
} |
||||
|
||||
} |
||||
|
||||
.name { |
||||
width: 168rpx; |
||||
font-size: 32rpx; |
||||
color: #383838; |
||||
} |
||||
|
||||
.icon-you { |
||||
font-size: 28rpx; |
||||
color: #999999; |
||||
} |
||||
|
||||
.input { |
||||
flex: 1; |
||||
height: 100%; |
||||
line-height: 92rpx; |
||||
color: #9080A1; |
||||
} |
||||
|
||||
.textarea { |
||||
flex: 1; |
||||
height: 100%; |
||||
color: #A9A9A9; |
||||
} |
||||
} |
||||
} |
||||
.footerBtn{ |
||||
width:80%; |
||||
height: 100upx; |
||||
line-height: 100upx; |
||||
background: #FFAAA4; |
||||
border-radius: 6px 6px 6px 6px; |
||||
opacity: 1; |
||||
font-size: 28upx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 500; |
||||
color: #FFFFFF; |
||||
text-align: center; |
||||
margin:64upx auto; |
||||
} |
||||
</style> |
||||
</style> |
||||
|
Loading…
Reference in new issue