Files
zhongPin/BagStation/InvoiceProgress/InvoiceProgress.vue
2023-02-15 09:25:11 +08:00

474 lines
15 KiB
Vue
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<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>