<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>