中品加油
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.

474 lines
15 KiB

2 years ago
<template>
<view class="">
<cu-custom class="main-totextbar bg-main-oil" :isBack="true" bgColor="bg-main-oil">
<block slot="backText">返回</block>
<block slot="content">发票信息</block>
</cu-custom>
<view class="padding-top-sm">
<view
class="shadow-warp radius move-top bg-gray margin margin-top-0 margin-bottom-sm bg-white text-bold text-xl padding-lg ">
<view class="Invoicing-header">
<view class="Invoicing-header-text text-lg">开票信息</view>
</view>
<view class="Invoicing-box " :class="[showBoxsing ? 'showBox':'hidenBox']">
<view class="Invoicing-box-list solid-top padding-top-sm padding-bottom-sm">
<view class="Invoicing-box-list-title text-df">
发票抬头:
</view>
<view class="Invoicing-box-list-text text-sm ">
{{InvoiceDetails.invoicName}}
</view>
</view>
<view class="Invoicing-box-list solid-top padding-top-sm padding-bottom-sm">
<view class="Invoicing-box-list-title text-df">
税号:
</view>
<view class="Invoicing-box-list-text text-sm ">
{{InvoiceDetails.invoicTaxIdentiNumber}}
</view>
</view>
<view class="Invoicing-box-list solid-top padding-top-sm padding-bottom-sm">
<view class="Invoicing-box-list-title text-df">
电子邮箱:
</view>
<view class="Invoicing-box-list-text text-df">
{{InvoiceDetails.invoicEmail}}
</view>
</view>
<view class="Invoicing-box-list solid-top padding-top-sm padding-bottom-sm">
<view class="Invoicing-box-list-title text-df">
发票备注:
</view>
<view class="Invoicing-box-list-text text-df">
{{InvoiceDetails.remark}}
</view>
</view>
<view class="Invoicing-box-list solid-top padding-top-sm padding-bottom-sm">
<view class="Invoicing-box-list-title text-df">
开票金额:
</view>
<view class="Invoicing-box-list-text text-df">
{{InvoiceDetails.invoicAmount}}
</view>
</view>
<view class="Invoicing-box-list solid-top padding-top-sm padding-bottom-sm">
<view class="Invoicing-box-list-title text-df">
发票类型:
</view>
<view class="Invoicing-box-list-text text-df">
普通电子发票
</view>
</view>
<view class="Invoicing-box-list solid-top padding-top-sm padding-bottom-sm">
<view class="Invoicing-box-list-title text-df">
抬头类型:
</view>
<view class="Invoicing-box-list-text text-df">
公司
</view>
</view>
<view class="Invoicing-box-list solid-top padding-top-sm padding-bottom-sm">
<view class="Invoicing-box-list-title text-df">
公司地址:
</view>
<view class="Invoicing-box-list-text text-df">
{{InvoiceDetails.invoicAddress}}
</view>
</view>
<view class="Invoicing-box-list solid-top padding-top-sm padding-bottom-sm">
<view class="Invoicing-box-list-title text-df">
电话号码:
</view>
<view class="Invoicing-box-list-text text-df">
{{InvoiceDetails.invoicTel}}
</view>
</view>
<view class="Invoicing-box-list solid-top padding-top-sm padding-bottom-sm">
<view class="Invoicing-box-list-title text-df">
开户银行:
</view>
<view class="Invoicing-box-list-text text-df">
{{InvoiceDetails.invoicOpenBank}}
</view>
</view>
<view class="Invoicing-box-list solid-top padding-top-sm padding-bottom-sm">
<view class="Invoicing-box-list-title text-df">
银行账号:
</view>
<view class="Invoicing-box-list-text text-df">
{{InvoiceDetails.invoicBankNumber}}
</view>
</view>
</view>
<view class=" text-center text-lg padding-top-sm" @tap="showBoxsings" v-text="showText">
</view>
</view>
</view>
<view class="">
<view
class="shadow-warp radius bg-gray margin margin-top-20 margin-bottom-sm bg-white text-bold text-xl padding-lg">
<view class="Invoicing-header-text text-lg ">
订单编号
</view>
<view class="text-df padding-left-sm " @tap="onCopy(InvoiceDetails.orderSerialNumber)">
{{InvoiceDetails.orderSerialNumber}} <text class="cuIcon-copy padding-left-xs text-sm "></text>
</view>
<view class="Invoicing-header-text text-lg margin-top-lg ">
开票进度
</view>
<view class="text-df padding-sm" style="width: 100%;">
<u-time-line>
<u-time-line-item :class="{'showIcons':item.check === true}" v-for="(item,index) in numList"
:key='index'>
<template v-slot:content>
<view class="time_lineDispay">
<view class="u-order-desc margin-right-lg">{{item.name}}</view>
<view class="u-order-time ">{{item.time}}</view>
</view>
<view class="time_lineDispay margin-top-xs" v-if="item.errcheck == 1"
v-show='index == 3'>
<view class="u-order-desc text-xs margin-right-lg text-red light">24小时内未收到发票请与客服联系
</view>
</view>
<view class="time_lineDispay margin-top-xs" v-if="item.errcheck == -1"
v-show='index == 1'>
<view class="u-order-desc text-xs margin-right-lg "> <text
class="text-red text-xs ">原因:</text> {{item.errtext}}</view>
<view class="u-order-time text-blue text-xs" @tap="gotochanges">前往修改开票信息</view>
</view>
</template>
</u-time-line-item>
</u-time-line>
<!-- <u-steps direction="column" :list="numList" :current="1" active-color="#FF0000"></u-steps> -->
</view>
</view>
</view>
</view>
</template>
<script>
import financelApi from '@/api/oil-finance.js'
export default {
data() {
return {
showText: '查看更多',
showBoxsing: false,
orderId: '',
numList: [{
name: '待申请',
time: '',
check: false,
}, {
name: '待审核',
time: '',
check: false,
errcheck: false
}, {
name: '待开票',
time: '',
check: false,
}, {
name: '待发件',
time: '',
check: false,
errcheck: 0,
errtext: ''
}],
InvoiceDetails: {
id: '', //主键id
orderSerialNumber: '', // 订单编号
invoicAmount: '', //开票金额
userName: '', //司机名
phone: '', //司机电话号码
invoicTel: '', //公司电话号码
siteName: '', //油站名
siteCode: '', //油站编码
auditMark: '', //审核状态
openInvoicMark: '', //开票状态
invoicEnclosure: '', //电子发票附件
remark: '', //开票备注
customerId: '', //司机id
auditRemark: '', //审核备注
invoicName: '', //发票抬头
invoicTaxIdentiNumber: '', //税号
openInvoicTime: '', //开票时间
invoicEmail: '', //接收邮件
invoicBankNumber: '', //银行账号
invoicOpenBank: '', //开户银行
invoicAddress: '', //公司地址
auditRecordTime: '', //开票申请时间
auditTime: '' //审核时间
}
}
},
onLoad(option) {
console.log(option)
this.orderId = option.orderId
this.getOrderInvoice()
},
methods: {
gotochanges() {
console.log(this.InvoiceDetails.invoicAmount)
uni.navigateTo({
url: "../orderInvoicing/orderInvoicing?orderId=" + this.orderId + '&&code=' + 2 +
'&&realAmount=' + this.InvoiceDetails.invoicAmount
})
},
showBoxsings() {
if (this.showBoxsing) {
this.showBoxsing = false
this.showText = '查看更多'
} else {
this.showText = '收回'
this.showBoxsing = true
}
},
onCopy(id) {
uni.setClipboardData({
data: id,
success: () => {
uni.showToast({
icon: 'none',
title: '订单号复制成功'
})
}
})
},
getOrderInvoice() { //获取发票详情
console.log('这里是传来的 orderId')
console.log(this.orderId)
financelApi.getRecordByOrderId(this.orderId).then((res) => {
console.log('这里的发票详情')
console.log(res)
let _that = this
if (res.data.auditMark == 1) {
console.log('审核通过')
this.timeLineStates(2)
_that.numList[0].name = '已申请'
_that.numList[1].name = '已审核'
_that.numList[0].time = res.data.auditRecordTime
_that.numList[1].time = res.data.auditTime
} else if (res.data.auditMark == -1) {
console.log('审核未通过')
_that.numList[0].name = '已申请'
_that.numList[1].name = '审核未通过'
_that.numList[0].time = res.data.auditRecordTime
console.log()
this.timeLineStates(2, res.data)
} else if (res.data.auditMark == 0) {
_that.numList[0].time = res.data.auditRecordTime
console.log('待审核')
_that.numList[0].name = '已申请'
_that.numList[1].name = '待审核'
this.timeLineStates(2)
}
if (res.data.auditMark == 1 && res.data.openInvoicMark === 'INVOICED') {
_that.numList[0].name = '已申请'
_that.numList[2].name = '开票成功'
_that.numList[1].name = '已审核'
console.log(res)
_that.numList[0].time = res.data.auditRecordTime
_that.numList[1].time = res.data.auditTime
_that.numList[2].time = res.data.openInvoicTime
this.timeLineStates(3)
} else if (res.data.auditMark == 1 && res.data.openInvoicMark === 'TO_INVOICED') {
_that.numList[0].name = '已申请'
_that.numList[2].name = '待开票'
_that.numList[1].name = '已审核'
_that.numList[0].time = res.data.auditRecordTime
_that.numList[1].time = res.data.auditTime
console.log('待开票')
this.timeLineStates(3)
} else if (res.data.auditMark == 1 && res.data.openInvoicMark === "INVOICING") {
_that.numList[0].name = '已申请'
_that.numList[2].name = '正在开票中'
_that.numList[1].name = '已审核'
_that.numList[0].time = res.data.auditRecordTime
_that.numList[1].time = res.data.auditTime
console.log('开票中')
this.timeLineStates(3)
} else if (res.data.auditMark == 1 && res.data.openInvoicMark === "INVOICE_FAIL") {
_that.numList[0].name = '已申请'
_that.numList[2].name = '开票失败'
_that.numList[1].name = '已审核'
_that.numList[0].time = res.data.auditRecordTime
_that.numList[1].time = res.data.auditTime
console.log('开票中')
this.timeLineStates(3, res.data)
}
// else if(res.data.auditMark == 1 &&  res.data.openInvoicMark === 'INVOICED'){
// _that.numList[0].name = '已申请'
// _that.numList[2].name = '正在开票'
// _that.numList[1].name = '已审核'
// _that.numList[2].time =res.data.openInvoicTime
// _that.numList[0].time = res.data.createTime
// _that.numList[1].time = res.data.auditTime
// console.log('待开票')
// this.timeLineStates(3)
// }
if (res.data.auditMark == 1 && res.data.openInvoicMark === 'INVOICED' && res.data
.sendEmailMark == 1) {
console.log('邮件发件成功')
_that.numList[0].name = '已申请'
_that.numList[1].name = '已审核'
_that.numList[2].name = '已开票'
_that.numList[3].name = '已发邮箱'
_that.numList[0].time = res.data.auditRecordTime
_that.numList[1].time = res.data.auditTime
_that.numList[2].time = res.data.openInvoicTime
_that.numList[3].time = res.data.sendEmailTime
this.timeLineStates(4, res.data)
} else if (res.data.auditMark == 1 && res.data.openInvoicMark === 'INVOICED' && res.data
.sendEmailMark == -1) {
_that.numList[0].name = '已申请'
_that.numList[1].name = '已审核'
_that.numList[2].name = '已开票'
_that.numList[3].name = '邮件发送失败'
_that.numList[0].time = res.data.auditRecordTime
_that.numList[1].time = res.data.auditTime
_that.numList[2].time = res.data.openInvoicTime
console.log('邮件发件失败')
this.timeLineStates(4, res.data)
} else if (res.data.auditMark == 1 && res.data.openInvoicMark === 'INVOICED' && res.data
.sendEmailMark == 0) {
_that.numList[0].name = '已申请'
_that.numList[1].name = '已审核'
_that.numList[2].name = '已开票'
_that.numList[3].name = '邮件正在发送'
_that.numList[0].time = res.data.auditRecordTime
_that.numList[1].time = res.data.auditTime
_that.numList[2].time = res.data.openInvoicTime
console.log('邮件发送中')
this.timeLineStates(4, res.data)
} else if (res.data.auditMark == 1 && res.data.openInvoicMark === 'INVOICED' && res.data
.sendEmailMark == null) {
_that.numList[0].name = '已申请'
_that.numList[1].name = '已审核'
_that.numList[2].name = '已开票'
_that.numList[3].name = '代发件'
_that.numList[0].time = res.data.auditRecordTime
_that.numList[1].time = res.data.auditTime
_that.numList[2].time = res.data.openInvoicTime
console.log('邮件发送中')
this.timeLineStates(4, res.data)
}
this.InvoiceDetails = res.data
})
},
// 获取当前步骤条状态
timeLineStates(num, obj) {
console.log('这里是obj')
console.log(obj)
console.log(num)
let listTime = this.numList
for (let i = 0; i < listTime.length; i++) {
if (i < num) {
listTime[i].check = true
console.log('123')
if (obj) {
if (obj.sendEmailMark == 1 && obj.auditMark == 1) {
console.log('这里是邮件1')
listTime[num - 1].errcheck = obj.sendEmailMark
} else if (obj.sendEmailMark != -1 && obj.auditMark == -1) {
console.log('这里是审核2')
listTime[num - 1].name = '审核失败'
listTime[num - 1].errcheck = obj.auditMark
listTime[num - 1].errtext = obj.auditRemark
console.log('这里进入obj')
} else if (obj.openInvoicMark == 'INVOICE_FAIL' && obj.auditMark == 1) {
console.log('这里是开票2')
let checkErr = 0
if (obj.openInvoicMark == 'INVOICE_FAIL') {
checkErr = -1
}
listTime[num - 1].name = '开票失败'
listTime[num - 1].errcheck = checkErr
listTime[num - 1].errtext = obj.openInvoicRemark
console.log('这里进入obj')
}
}
}
}
}
}
}
</script>
<style>
.showBox {
height: auto;
overflow: hidden;
}
.hidenBox {
height: 300upx;
overflow: hidden;
}
.time_lineDispay {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
}
.showIcons /deep/ .u-dot {
background: #FF0000 !important;
}
page {
background-color: #F1F2F7;
}
.weight-2 {
font-weight: 600;
}
.weight-4 {
font-weight: 400;
}
.weight-0 {
font-weight: 100;
}
.clomes-box {
display: flex;
justify-content: flex-start;
align-items: flex-start;
flex-direction: column;
}
.Invoicing-header-text {
border-left: 4px solid #FF0000;
padding-left: 10upx;
margin-bottom: 20upx;
}
.Invoicing-box {
display: flex;
justify-content: flex-start;
align-items: flex-start;
flex-direction: column;
width: 100%;
box-shadow: inset 0 -5px 5px #f1f1f17a;
}
.Invoicing-box-list-title {
flex: 0 0 auto;
width: 30%;
}
.Invoicing-box-list-text {}
.Invoicing-box-list {
display: flex;
justify-content: flex-start;
align-items: center;
width: 100%;
}
</style>