parent
32ea3887fb
commit
3eb69bf7dd
@ -0,0 +1,581 @@ |
||||
<template> |
||||
<view class="invoice"> |
||||
<!-- <view class="invoice-goods" v-if="sourcePage==0 && orderDetail"> |
||||
<view class="b" v-if="orderDetail"> |
||||
<view class="r">订单编号:{{orderDetail.order_no}}<text @click="handleCopy(orderDetail.order_no)">复制</text> |
||||
</view> |
||||
<view class="r">开票金额:{{orderDetail.pay_price}}</view> |
||||
</view> |
||||
</view> --> |
||||
<view class="invoice-info"> |
||||
<view class="b"> |
||||
<view class="item"> |
||||
<view class="l">发票类型:</view> |
||||
<view class="r"> |
||||
<picker :value="index" :range="array" @change="bindPickerChange"> |
||||
<view class="lx">{{ index == -1 ? '请选择' : array[index] }}</view> |
||||
</picker> |
||||
</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="l">发票类型:</view> |
||||
<view class="r"> |
||||
<view class="li" :class="tabIndex == 1 ? 'li-on' : ''" @click="tabItem(1)">个人</view> |
||||
<view class="li" :class="tabIndex == 2 ? 'li-on' : ''" @click="tabItem(2)">单位</view> |
||||
</view> |
||||
</view> |
||||
<view class="item" v-if="tabIndex != 2"> |
||||
<view class="l">发票抬头:</view> |
||||
<view class="r"> |
||||
<input type="text" v-model="obj.header" placeholder="请输入个人姓名" /> |
||||
</view> |
||||
</view> |
||||
<view class="item" v-if="tabIndex == 2"> |
||||
<view class="l">发票抬头:</view> |
||||
<view class="r"> |
||||
<input type="text" v-model="array1[index1]" placeholder="请输入单位名称" /> |
||||
<!-- <view class="tt" @click="bindPickerChange1" style="color: rgb(58, 134, 255)">更改抬头</view> --> |
||||
</view> |
||||
</view> |
||||
<view class="item" v-if="tabIndex == 2"> |
||||
<view class="l">单位税号:</view> |
||||
<view class="r"> |
||||
<input type="text" v-model="obj.duty_no" placeholder="请输入纳税人识别号" /> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="invoice-company" v-if="tabIndex == 2"> |
||||
<view class="a">选填内容(开户银行、银行账号等) |
||||
<text :class="toggleIndex ? 'on' : ''" @click="toggleItem()">{{ toggleIndex ? "收起" : "展开" }}</text> |
||||
</view> |
||||
<view class="b" v-if="toggleIndex"> |
||||
<view class="item"> |
||||
<view class="l">开户银行:</view> |
||||
<view class="r"> |
||||
<input type="text" v-model="obj.bank_name" placeholder="请输入开户银行名称" /> |
||||
</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="l">银行账号:</view> |
||||
<view class="r"> |
||||
<input type="number" v-model="obj.bank_no" placeholder="请输入银行账号" /> |
||||
</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="l">单位地址:</view> |
||||
<view class="r"> |
||||
<input type="text" v-model="obj.address" placeholder="请输入单位地址" /> |
||||
</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="l">单位电话:</view> |
||||
<view class="r"> |
||||
<input type="number" v-model="obj.phone" placeholder="请输入单位电话" /> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="invoice-btn"> |
||||
<view class="invoice-fd" @click="toDetail()"> |
||||
提交 |
||||
</view> |
||||
</view> |
||||
|
||||
<!-- <u-modal v-model="show" :content="content" :show-cancel-button="true" :show-title="false" |
||||
confirm-color="#F55349"></u-modal> --> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
import * as InvoiceApi from '@/api/invoice' |
||||
export default { |
||||
data() { |
||||
return { |
||||
content: "确认您的发票信息无误后再提交", |
||||
show: true, |
||||
toggleIndex: true, |
||||
index: -1, |
||||
array: ['普通增值税发票'], |
||||
index1: -1, |
||||
array1: [], |
||||
tabIndex: 2, |
||||
sourcePage: 0, |
||||
orderDetail: '', |
||||
orderId: '', |
||||
obj: { |
||||
header: '', |
||||
gongsi: '', |
||||
duty_no: '', |
||||
bank_name: '', |
||||
bank_no: '', |
||||
address: '', |
||||
phone: '', |
||||
type: '', |
||||
source: 2 |
||||
} |
||||
|
||||
}; |
||||
}, |
||||
onLoad(op) { |
||||
let app = this; |
||||
app.orderId = op.orderId |
||||
app.sourcePage = op.source == 1 ? op.source : 0 |
||||
if (op.source == 0) { |
||||
app.orderDetail = op.order ? JSON.parse(op.order) : ''; |
||||
} |
||||
if (op.source == 2 || op.source == 1) { |
||||
let detail = op.detail ? JSON.parse(op.detail) : ''; |
||||
app.index = detail.type == 1 ? 0 : 1; |
||||
app.tabIndex = detail.source |
||||
app.obj = detail |
||||
} |
||||
|
||||
}, |
||||
methods: { |
||||
// 获取当前订单信息 |
||||
toDetail(canReset = false) { |
||||
const app = this |
||||
if (app.index == -1) { |
||||
uni.showToast({ |
||||
title: '请选择发票类型', |
||||
icon: 'none', |
||||
duration: 2000 |
||||
}) |
||||
return |
||||
} |
||||
if (!app.obj.header) { |
||||
uni.showToast({ |
||||
title: '请输入抬头', |
||||
icon: 'none', |
||||
duration: 2000 |
||||
}) |
||||
return |
||||
} |
||||
if (app.tabIndex == 2 && !app.obj.duty_no) { |
||||
uni.showToast({ |
||||
title: '请输入抬头', |
||||
icon: 'none', |
||||
duration: 2000 |
||||
}) |
||||
return |
||||
} |
||||
app.isLoading = true; |
||||
if (app.tabIndex == 1) { |
||||
app.obj.gongsi = ''; |
||||
app.obj.duty_no = ''; |
||||
app.obj.bank_name = ''; |
||||
app.obj.bank_no = ''; |
||||
app.obj.address = ''; |
||||
app.obj.phone = ''; |
||||
} |
||||
app.obj.type = app.index == 0 ? 1 : 2; |
||||
app.obj.source = app.tabIndex; |
||||
let url = '' |
||||
if (app.sourcePage == 0) { //开票addInvoicing editInvoicing invoicingAdd |
||||
url = InvoiceApi.invoicingAdd(app.orderId, app.obj) |
||||
} |
||||
if (app.sourcePage == 1) { //我的开票使用某一个开票 |
||||
app.obj.invoice_id = app.obj.id; //选择 |
||||
url = InvoiceApi.invoicingAdd(app.orderId, app.obj) |
||||
} |
||||
if (app.sourcePage == 2) { //申请记录 修改抬头 |
||||
url = InvoiceApi.invoicingEdit(app.orderId, app.obj) |
||||
} |
||||
if (app.sourcePage == 3) { //新增发票抬头 |
||||
url = InvoiceApi.addInvoicing(app.orderId, app.obj) |
||||
} |
||||
if (app.sourcePage == 4) { //我的发票记录过来编辑 |
||||
url = InvoiceApi.editInvoicing(app.orderId, app.obj) |
||||
} |
||||
debugger |
||||
url.then(result => { |
||||
if (result.status == 200) { |
||||
uni.showToast({ |
||||
title: result.message, |
||||
icon: 'none', |
||||
duration: 2000 |
||||
}) |
||||
if (result.data.list.length.length > 0) { |
||||
uni.navigateTo({ |
||||
url: "/pages/invoice/detail?id=" + result.data.list[0].id |
||||
}) |
||||
} else { |
||||
uni.showToast({ |
||||
title: '请求成功无返回详情', |
||||
icon: 'none', |
||||
duration: 2000 |
||||
}) |
||||
} |
||||
} else { |
||||
uni.showToast({ |
||||
title: result.message, |
||||
icon: 'none', |
||||
duration: 2000 |
||||
}) |
||||
} |
||||
|
||||
}) |
||||
// 相应全局事件订阅: 刷新上级页面数据 |
||||
canReset && uni.$emit('syncRefresh', true, true) |
||||
}, |
||||
|
||||
// 复制指定内容 |
||||
handleCopy(value) { |
||||
const app = this |
||||
uni.setClipboardData({ |
||||
data: value, |
||||
success: () => app.$toast('复制成功'), |
||||
fail: ({ |
||||
errMsg |
||||
}) => app.$toast('复制失败 ' + errMsg) |
||||
}) |
||||
}, |
||||
// 提交信息 |
||||
handleInvoice() { |
||||
const app = this |
||||
}, |
||||
onClose() { }, |
||||
tabItem(i) { |
||||
this.tabIndex = i; |
||||
}, |
||||
toggleItem(i) { |
||||
this.toggleIndex = !this.toggleIndex; |
||||
this.pamres.invoiceUnit = this.toggleIndex |
||||
}, |
||||
bindPickerChange(e) { |
||||
this.index = e.detail.value; |
||||
}, |
||||
bindPickerChange1() { |
||||
uni.navigateTo({ |
||||
url: "/pages/invoice/index?orderId=" + this.orderId + '&order=' + (app.orderDetail ? JSON.stringify(app.orderDetail) : '') |
||||
}) |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
.invoice-btn{ |
||||
width: 100%; |
||||
position: fixed; |
||||
bottom: 0; |
||||
left: 0; |
||||
padding: 30rpx 44rpx; |
||||
z-index: 8; |
||||
background: #F5F5F5; |
||||
} |
||||
.invoice-company{ |
||||
margin-bottom: 170rpx; |
||||
} |
||||
.invoice { |
||||
padding-bottom: 1rpx; |
||||
&-goods { |
||||
padding: 0 20rpx 0 40rpx; |
||||
overflow: hidden; |
||||
background-color: #fff; |
||||
padding: 30rpx; |
||||
box-sizing: border-box; |
||||
display: flex; |
||||
align-items: center; |
||||
|
||||
.a { |
||||
width: 145rpx; |
||||
height: 135rpx; |
||||
margin-right: 20rpx; |
||||
|
||||
image { |
||||
width: 100%; |
||||
height: 100%; |
||||
border-radius: 10rpx; |
||||
} |
||||
} |
||||
|
||||
.b { |
||||
flex: 1; |
||||
overflow: hidden; |
||||
|
||||
.l { |
||||
white-space: nowrap; |
||||
text-overflow: ellipsis; |
||||
font-size: 32rpx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 500; |
||||
color: #262626; |
||||
overflow: hidden; |
||||
} |
||||
|
||||
.r { |
||||
font-size: 30rpx; |
||||
font-family: PingFang SC, PingFang SC; |
||||
font-weight: 400; |
||||
color: #838383; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
margin-top: 20rpx; |
||||
|
||||
text { |
||||
display: block; |
||||
width: 104rpx; |
||||
line-height: 60rpx; |
||||
background: #FFFFFF; |
||||
border-radius: 4rpx; |
||||
text-align: center; |
||||
border: 1px solid #CACACA; |
||||
font-size: 28rpx; |
||||
color: #555; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
&-info { |
||||
margin-top: 20rpx; |
||||
background-color: #fff; |
||||
overflow: hidden; |
||||
|
||||
.a { |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
padding: 20rpx 30rpx 20rpx 60rpx; |
||||
box-sizing: border-box; |
||||
border-bottom: 1px solid #F3F3F3; |
||||
font-size: 32rpx; |
||||
font-weight: 500; |
||||
color: #262626; |
||||
|
||||
text { |
||||
color: #006AFF; |
||||
padding-right: 40rpx; |
||||
position: relative; |
||||
|
||||
&::after { |
||||
content: ""; |
||||
width: 16rpx; |
||||
height: 16rpx; |
||||
border-top: 1px solid #006AFF; |
||||
border-left: 1px solid #006AFF; |
||||
position: absolute; |
||||
right: 0; |
||||
top: 14rpx; |
||||
z-index: 1; |
||||
transform: rotate(135deg); |
||||
} |
||||
} |
||||
} |
||||
|
||||
.b { |
||||
padding: 0 30rpx 0 45rpx; |
||||
box-sizing: border-box; |
||||
overflow: hidden; |
||||
|
||||
.item { |
||||
padding: 30rpx 0; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
box-sizing: border-box; |
||||
border-top: 1px solid #F3F3F3; |
||||
font-size: 32rpx; |
||||
font-weight: 500; |
||||
color: #262626; |
||||
overflow: hidden; |
||||
|
||||
&:first-child { |
||||
border-top-color: #fff; |
||||
} |
||||
|
||||
.l { |
||||
width: 180rpx; |
||||
font-size: 32rpx; |
||||
font-weight: 400; |
||||
color: #656565; |
||||
} |
||||
|
||||
.r { |
||||
flex: 1; |
||||
display: flex; |
||||
align-items: center; |
||||
font-size: 32rpx; |
||||
font-weight: 400; |
||||
color: #262626; |
||||
|
||||
.li { |
||||
width: 150rpx; |
||||
height: 78rpx; |
||||
background: #F3F3F3; |
||||
border-radius: 8rpx; |
||||
text-align: center; |
||||
line-height: 78rpx; |
||||
font-size: 32rpx; |
||||
font-weight: 400; |
||||
color: #262626; |
||||
margin-right: 12rpx; |
||||
|
||||
&-on { |
||||
background: #FDF4F4; |
||||
background: url(/static/invoice/select-active.png) center top no-repeat; |
||||
background-size: contain; |
||||
} |
||||
} |
||||
|
||||
input { |
||||
flex: 1; |
||||
} |
||||
|
||||
picker { |
||||
flex: 1; |
||||
|
||||
.tt { |
||||
width: 180rpx; |
||||
position: relative; |
||||
color: #4894FF; |
||||
text-align: right; |
||||
|
||||
&::after { |
||||
content: ""; |
||||
width: 16rpx; |
||||
height: 16rpx; |
||||
border-top: 1px solid #4894FF; |
||||
border-left: 1px solid #4894FF; |
||||
position: absolute; |
||||
right: -50rpx; |
||||
top: 14rpx; |
||||
z-index: 1; |
||||
transform: rotate(135deg); |
||||
} |
||||
} |
||||
|
||||
.lx { |
||||
width: 100%; |
||||
position: relative; |
||||
|
||||
&::after { |
||||
content: ""; |
||||
width: 16rpx; |
||||
height: 16rpx; |
||||
border-top: 1px solid #B8B8B8; |
||||
border-left: 1px solid #B8B8B8; |
||||
position: absolute; |
||||
right: 20rpx; |
||||
top: 14rpx; |
||||
z-index: 1; |
||||
transform: rotate(135deg); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
} |
||||
} |
||||
|
||||
&-fd { |
||||
height: 104rpx; |
||||
background: #F55349; |
||||
border-radius: 8rpx; |
||||
font-size: 32rpx; |
||||
font-weight: 500; |
||||
color: #FFFFFF; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: center; |
||||
} |
||||
|
||||
&-company { |
||||
overflow: hidden; |
||||
|
||||
.a { |
||||
padding: 35rpx 50rpx; |
||||
font-size: 32rpx; |
||||
font-weight: 400; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
color: #262626; |
||||
|
||||
text { |
||||
width: 70rpx; |
||||
color: #888888; |
||||
margin-right: 30rpx; |
||||
position: relative; |
||||
|
||||
&::after { |
||||
content: ""; |
||||
width: 16rpx; |
||||
height: 16rpx; |
||||
border-top: 1px solid #888888; |
||||
border-left: 1px solid #888888; |
||||
position: absolute; |
||||
right: -30rpx; |
||||
top: 10rpx; |
||||
z-index: 1; |
||||
transform: rotate(225deg); |
||||
} |
||||
|
||||
&.on { |
||||
&::after { |
||||
content: ""; |
||||
width: 16rpx; |
||||
height: 16rpx; |
||||
border-top: 1px solid #888888; |
||||
border-left: 1px solid #888888; |
||||
position: absolute; |
||||
right: -30rpx; |
||||
top: 20rpx; |
||||
z-index: 1; |
||||
transform: rotate(45deg); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
.b { |
||||
padding: 0 30rpx 0 45rpx; |
||||
box-sizing: border-box; |
||||
background-color: #fff; |
||||
overflow: hidden; |
||||
|
||||
.item { |
||||
padding: 30rpx 0; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
box-sizing: border-box; |
||||
border-top: 1px solid #F3F3F3; |
||||
font-size: 32rpx; |
||||
font-weight: 500; |
||||
color: #262626; |
||||
overflow: hidden; |
||||
|
||||
&:first-child { |
||||
border-top-color: #fff; |
||||
} |
||||
|
||||
.l { |
||||
width: 180rpx; |
||||
font-size: 32rpx; |
||||
font-weight: 400; |
||||
color: #656565; |
||||
} |
||||
|
||||
.r { |
||||
flex: 1; |
||||
display: flex; |
||||
align-items: center; |
||||
font-size: 32rpx; |
||||
font-weight: 400; |
||||
color: #262626; |
||||
|
||||
input { |
||||
flex: 1; |
||||
} |
||||
} |
||||
} |
||||
|
||||
} |
||||
} |
||||
} |
||||
</style> |
@ -0,0 +1,210 @@ |
||||
<template> |
||||
<view class="invoice-box"> |
||||
<view class="bill-top"> |
||||
<view class="top-name" :class="tabIndex == 0 ? 'active' : ''" @click="onTabClick(0)">发票记录 |
||||
<view v-if="tabIndex == 0" class="active-border"></view> |
||||
</view> |
||||
<view class="top-name" :class="tabIndex == 1 ? 'active' : ''" @click="onTabClick(1)">发票抬头 |
||||
<view v-if="tabIndex == 1" class="active-border"></view> |
||||
</view> |
||||
</view> |
||||
<view v-if="tabIndex == 0"> |
||||
<view class="empty" v-if="recordList.length == 0"> |
||||
<u-empty text="暂无信息" mode="list"></u-empty> |
||||
</view> |
||||
<view class="bill-record" v-else> |
||||
<view class="bill-item" v-for="(item, index) in recordList" :key="index"> |
||||
<view class="bill-item-left"> |
||||
<view class="commpany-name">飞科网络科技有限公司</view> |
||||
<view class="bill-price"> |
||||
<text>¥</text>150 |
||||
</view> |
||||
</view> |
||||
<text class="bill-time">2023-12-31</text> |
||||
</view> |
||||
</view> |
||||
|
||||
</view> |
||||
<!-- 发票抬头 --> |
||||
<view v-if="tabIndex == 1"> |
||||
<view class="invoice-header"> |
||||
<view class="bill-header-item" @click="onAddInvoice" v-for="(item, index) in recordList" :key="index"> |
||||
<view class="bill-header-left"> |
||||
<view class="header-type">普通发票抬头-个人</view> |
||||
<view class="bill-header"> |
||||
王大幅 |
||||
</view> |
||||
</view> |
||||
<u-icon name="edit-pen" size="30" color="#838383"></u-icon> |
||||
</view> |
||||
</view> |
||||
<view class="invoice-btn-box"> |
||||
<view class="invoice-btn" @click="onAddInvoice"> |
||||
<text>+</text>添加发票抬头 |
||||
</view> |
||||
</view> |
||||
</view> |
||||
|
||||
|
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
import Empty from '@/components/empty' |
||||
import * as InvoiceApi from '@/api/invoice' |
||||
export default { |
||||
data() { |
||||
return { |
||||
tabIndex: 1, |
||||
invoicList: [], |
||||
recordList: [1, 2] |
||||
}; |
||||
}, |
||||
onLoad() { |
||||
}, |
||||
methods: { |
||||
onTabClick(index) { |
||||
this.tabIndex = index |
||||
}, |
||||
onEdit(item) { |
||||
uni.navigateTo({ |
||||
url: "/pages/invoice/editset?detail=" + JSON.stringify(item) + '&source=' + 4 |
||||
}) |
||||
}, |
||||
onAddInvoice() { |
||||
uni.navigateTo({ |
||||
url: "/pages/invoice/editset?source=" + 3 |
||||
}) |
||||
}, |
||||
} |
||||
} |
||||
</script> |
||||
<style lang="scss" scoped> |
||||
.invoice-btn-box { |
||||
width: 100%; |
||||
position: fixed; |
||||
bottom: 0; |
||||
left: 0; |
||||
padding: 30rpx 44rpx; |
||||
z-index: 8; |
||||
background: #F5F5F5; |
||||
|
||||
.invoice-btn { |
||||
height: 104rpx; |
||||
background: #F21A1C; |
||||
color: #fff; |
||||
font-size: 32rpx; |
||||
font-weight: bold; |
||||
display: flex; |
||||
justify-content: center; |
||||
align-items: center; |
||||
border-radius: 8rpx; |
||||
|
||||
text { |
||||
font-size: 50rpx; |
||||
margin-right: 10rpx; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.invoice-header { |
||||
background: #fff; |
||||
|
||||
.bill-header-item { |
||||
display: flex; |
||||
justify-content: space-between; |
||||
align-items: flex-end; |
||||
padding: 54rpx 46rpx 120rpx 64rpx; |
||||
} |
||||
|
||||
.header-type { |
||||
font-size: 32rpx; |
||||
font-weight: bold; |
||||
margin-bottom: 18rpx; |
||||
} |
||||
|
||||
.bill-header { |
||||
font-size: 32rpx; |
||||
color: #AEAEAE; |
||||
} |
||||
|
||||
} |
||||
|
||||
.bill-top { |
||||
margin-top: 6rpx; |
||||
margin-bottom: 4rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
background: #fff; |
||||
padding: 0 138rpx; |
||||
|
||||
.top-name { |
||||
width: 128rpx; |
||||
font-size: 32rpx; |
||||
height: 126rpx; |
||||
font-weight: bold; |
||||
color: #6F6F6F; |
||||
display: flex; |
||||
align-items: center; |
||||
position: relative; |
||||
|
||||
.active-border { |
||||
width: 72rpx; |
||||
height: 8rpx; |
||||
background: #FF2525; |
||||
border-radius: 34rpx; |
||||
position: absolute; |
||||
bottom: 0; |
||||
left: 26rpx; |
||||
} |
||||
|
||||
} |
||||
|
||||
.active { |
||||
color: #262626; |
||||
} |
||||
} |
||||
|
||||
.bill-item { |
||||
background: #fff; |
||||
margin-bottom: 10rpx; |
||||
display: flex; |
||||
padding: 44rpx 34rpx 40rpx 64rpx; |
||||
justify-content: space-between; |
||||
align-items: flex-end; |
||||
|
||||
.commpany-name { |
||||
font-size: 32rpx; |
||||
color: #454545; |
||||
margin-bottom: 34rpx; |
||||
} |
||||
|
||||
.bill-price { |
||||
font-size: 40rpx; |
||||
color: #F21A1C; |
||||
font-weight: bold; |
||||
|
||||
text { |
||||
font-size: 24rpx; |
||||
} |
||||
} |
||||
|
||||
.bill-time { |
||||
display: inline-block; |
||||
width: 180rpx; |
||||
font-size: 32rpx; |
||||
color: #AEAEAE; |
||||
} |
||||
} |
||||
|
||||
.empty { |
||||
width: 100%; |
||||
display: flex; |
||||
padding-top: 180rpx; |
||||
align-items: center; |
||||
justify-content: center; |
||||
flex-direction: column; |
||||
// height: calc(100vh - 152rpx); |
||||
} |
||||
</style> |
Loading…
Reference in new issue