shuinishop/pages/invoice/apply.vue

329 lines
6.3 KiB
Vue

<template>
<view>
<view class="block">
<view class="content">
<view class="orderinfo">
<view class="nominal">订单信息:</view>
<view class="order-info" v-for="row in rdata.shop_db" v-bind:key="rdata.id">
<view class="left">
<image :src="row.picurl"></image>
</view>
<view class="right">
<view class="name">
{{row.full_title}}
</view>
<!-- <view class="spec">{{row.spec}}</view> -->
<view class="price-number">
¥<view class="price">{{row._price}}</view>
x<view class="number">{{row._num}}</view>
</view>
</view>
</view>
<view class="row">
<view class="nominal">订单金额:</view><view class="text">{{rdata.totalmoney}}元</view>
</view>
</view>
</view>
</view>
<view class="row2">
<view class="nominal">开票信息:</view>
<view class="nominal">
<radio-group @change="radioChange">
<label class="radio"><radio value="1" />普票</label>
<label class="radio"><radio value="2" checked/>专票</label>
</radio-group>
</view>
</view>
<!-- 开票信息 -->
<view class="addr" @tap="selectInvoice" style="margin-top: 2px;">
<view class="right" v-if="invoiceinfo.id" >
<view class="tel-name" >
<view class="name">
{{invoiceinfo.name}}
</view>
<view class="tel">
{{invoiceinfo.duty_paragraph}}
</view>
</view>
<view class="addres">
{{invoiceinfo.address}}
<!-- {{recinfo.address.region.label}}
{{recinfo.address.detailed}} -->
</view>
</view>
<view class="right" v-else>
请选择发票信息
</view>
</view>
<view class="pay">
<view class="btn" @tap="upApply()">提交</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
amount:0,
orderName:'',
paytype:'alipay',//支付类型
imageValue:[],
rdata:{},
count:1,
name:'file',
url:'',
filepath:null,
invoiceinfo:{},
if_invoice:2
};
},
onLoad(e) {
// this.amount = parseFloat(e.amount).toFixed(2);
uni.getStorage({
key:'paymentOrder',
success: (e) => {
// if(e.data.shop_db.length>1){
// this.orderName = '多商品合并支付'
// }else{
// this.orderName = e.data.shop_db[0].title;
// }
this.rdata = e.data
}
})
},
onShow(){
uni.getStorage({
key: 'selectInvoice',
success: (e) => {
this.invoiceinfo = e.data;
}
})
},
methods:{
radioChange(e){
this.if_invoice = e.detail.value
},
doDeposit(){
//模板模拟支付,实际应用请调起微信/支付宝
uni.showLoading({
title:'支付中...'
});
setTimeout(()=>{
uni.hideLoading();
uni.showToast({
title:'支付成功'
});
setTimeout(()=>{
uni.redirectTo({
url:'../../pay/success/success?amount='+this.amount
});
},300);
},700)
},
select(e){
this.filepath = e.tempFilePaths[0]
},
selectInvoice(){
uni.navigateTo({
url: '../user/invoice/invoice?type=select'
})
},
upApply(){
if(this.invoiceinfo.id){
let data = {
if_invoice:this.if_invoice,
invoice:this.invoiceinfo.id
}
this.$u.api.tjkp(this.rdata.id,data).then(res=>{
uni.showToast({
title:'提交成功',
icon:'none'
})
uni.navigateBack({
})
})
}else{
uni.showToast({
title:'请选择发票信息',
icon:'none'
})
}
},
}
}
</script>
<style lang="scss">
.row2{
padding:20upx;
}
.addr {
width: 95%;
padding: 20upx;
margin: 30upx auto 20upx auto;
box-shadow: 0upx 5upx 20upx rgba(0, 0, 0, 0.1);
border-radius: 20upx;
display: flex;
.icon {
width: 80upx;
height: 80upx;
display: flex;
align-items: center;
image {
width: 60upx;
height: 60upx;
}
}
.tel-name {
width: 100%;
display: flex;
font-size: 32upx;
.tel {
margin-left: 40upx;
}
}
.addres {
width: 100%;
font-size: 26upx;
color: #999;
}
}
.block{
width: 94%;
padding: 0 3% 40upx 3%;
.title{
width: 100%;
font-size: 34upx;
}
.content{
.nominal{
color:gray;
}
.orderinfo{
width: 100%;
border-bottom: solid 1upx #eee;
.order-info{
width: 100%;
display: flex;
margin-top: 4upx;
.left{
flex-shrink: 0;
width: 25vw;
height: 20vw;
image{
width: 25vw;
height: 20vw;
border-radius: 10upx;
}
}
.right{
width: 100%;
margin-left: 10upx;
position: relative;
.name{
width: 100%;
font-size: 28upx;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.spec{
color: #a7a7a7;
font-size: 22upx;
}
.price-number{
position: absolute;
bottom: 0;
width: 100%;
display: flex;
justify-content: flex-end;
font-size: 22upx;
color: #333;
display: flex;
align-items: flex-end;
.price{
font-size: 24upx;
margin-right: 5upx;
}
}
}
}
}
.pay-list{
width: 100%;
border-bottom: solid 1upx #eee;
.row{
width: 100%;
height: 120upx;
display: flex;
align-items: center;
.left{
width: 100upx;
flex-shrink: 0;
display: flex;
align-items: center;
image{
width: 80upx;
height: 80upx;
}
}
.center{
width: 100%;
font-size: 30upx;
}
.right{
width: 100upx;
flex-shrink: 0;
display: flex;
justify-content: flex-end;
}
}
}
}
}
.pay{
margin-top: 20upx;
width: 100%;
display: flex;
justify-content: center;
flex-wrap: wrap;
.btn{
width: 70%;
height: 80upx;
border-radius: 80upx;
display: flex;
justify-content: center;
align-items: center;
color: #fff;
background-color: #f06c7a;
box-shadow: 0upx 5upx 10upx rgba(0,0,0,0.2);
}
.tis{
margin-top: 10upx;
width: 100%;
font-size: 24upx;
display: flex;
justify-content: center;
align-items: baseline;
color: #999;
.terms{
color: #5a9ef7;
}
}
}
</style>