发票中心:标题加粗(合并发票和提交记录);提交记录的顶部tabs高度;抬头管理的底部按钮边距调整;

填写发票信息页面:顶部间距30rpx;底部白色(原因是页面本身背景色为白色,内容盒子太小了导致原底部颜色显示出来了);预设抬头为空的时候显示暂无数据的样式;
新增抬头:底部按钮边距调整;
我参与的:申请开票和查看发票的按钮文字颜色和边框颜色保持一致;
发票详情:页面布局调整
报名成功后,展示微信群二维码弹窗,点击我已知晓,页面无跳转。一直停留在当前页面-已修复
This commit is contained in:
wangzimeng 2025-07-16 18:16:53 +08:00
parent 4ff2c143af
commit 790a4d0ffd
7 changed files with 319 additions and 264 deletions

View File

@ -547,13 +547,17 @@ export default {
uni.showToast({
title: '订单处理中...',
icon: 'none',
duration: 2000
duration: 1000
});
setTimeout(()=>{
uni.redirectTo({
url: '/packageA/my/success?id=' + this.orderInfo.id + '&order_no=' + this.orderInfo.order_no
})
},1500)
uni.navigateTo({
url: '/packageA/my/success?id=' + this.orderInfo.id + '&order_no=' + this.orderInfo.order_no
})
// setTimeout(()=>{
// uni.redirectTo({
// url: '/packageA/my/success?id=' + this.orderInfo.id + '&order_no=' + this.orderInfo.order_no
// })
// },1500)
},
openUrl(url) {

View File

@ -62,7 +62,7 @@
@click="toAddInvoic(item.id, item.order_no)">申请开票</view>
<view v-if="item.status == 9 && item.invoice_status == 1 && item.detail.feel == 0" class="btn_InvIng">开票中</view>
<view v-if="item.status == 9 && item.invoice_status == 2 && item.detail.feel == 0" class="btn_Inv"
@click="checkInvoice(item.user_invoice_apply_id, item.order_no)">查看</view>
@click="checkInvoice(item.user_invoice_apply_id, item.order_no)">查看</view>
<view v-if="item.status != 0" class="btn_xq"
@click="toDetail(item.id, item.order_no, item.status)">查看详情</view>
</view>
@ -485,7 +485,7 @@
height: 70rpx;
line-height: 70rpx;
text-align: center;
color: #999999;
color: #323232;
border: 2rpx solid #323232;
border-radius: 276rpx 276rpx 276rpx 276rpx;
margin-right: 10rpx;

View File

@ -94,7 +94,6 @@
<text style="color: #323232;">{{ formattime(detailAny.paytime) }}</text>
</view>
<view>{{detailAny.status}}</view>
</view>
</view>

View File

@ -4,7 +4,7 @@
<!-- 表单 -->
<view style="height: auto;">
<u-form :model="form" :rules="rules" ref="uForm" label-width="auto" labelPostition="left">
<u-form :model="form" ref="uForm" label-width="auto" labelPostition="left">
<view class="formBox">
<u-form-item label="发票类型" prop="invoice_type">
<view class="typeBOx" style="width: 300px;justify-content: flex-end;">
@ -29,7 +29,8 @@
</view>
</u-form-item>
<view class="line-row" style="margin-top: 0;"></view>
<u-form-item label="发票内容" prop="">
<view class="typeBOx" style="width: 305px;justify-content: space-between;">
<view class="typeImgs" @click="explainShow = true">
@ -48,6 +49,7 @@
<!-- <image style="width: 38rpx;height: 38rpx;" src="/static/tips.png" mode=""></image> -->
<!-- <u-input inputAlign="right" v-model="form.password" placeholder="请输入密码" border="none"/> -->
</u-form-item>
<view class="line-row" style="margin-top: 0;"></view>
<u-form-item label="抬头类型" prop="head_type">
<view class="typeBOx" style="width: 219px;justify-content: flex-end;">
@ -73,31 +75,42 @@
</view>
</u-form-item>
<view class="line-row" style="margin-top: 0;"></view>
<u-form-item label="抬头名称" prop="invoice_header" required>
<u-form-item label="抬头名称" prop="invoice_header">
<u-input inputAlign="right" v-model="form.invoice_header" placeholder="请输入抬头名称"
border="none" />
</u-form-item>
<view class="line-row" style="margin-top: 0;" v-if="form.head_type == 'corporate' || form.head_type == ''"></view>
<u-form-item label="单位税号" prop="tax_id"
v-if="form.head_type == 'corporate' || form.head_type == ''">
<u-input inputAlign="right" v-model="form.tax_id" placeholder="请输入单位税号"
border="none" />
</u-form-item>
<view class="line-row" style="margin-top: 0;" v-if="form.head_type == 'corporate' || form.head_type == ''"></view>
<u-form-item label="注册地址" prop="enterprise_address"
v-if="form.head_type == 'corporate' || form.head_type == ''">
<u-input inputAlign="right" v-model="form.enterprise_address" placeholder="必填"
border="none" />
</u-form-item>
<view class="line-row" style="margin-top: 0;" v-if="form.head_type == 'corporate' || form.head_type == ''"></view>
<u-form-item label="注册电话" prop="enterprise_phone"
v-if="form.head_type == 'corporate' || form.head_type == ''">
<u-input inputAlign="right" v-model="form.enterprise_phone" type="number" placeholder="必填"
border="none" />
</u-form-item>
<view class="line-row" style="margin-top: 0;" v-if="form.head_type == 'corporate' || form.head_type == ''"></view>
<u-form-item label="开户银行" prop="bank_deposit"
v-if="form.head_type == 'corporate' || form.head_type == ''">
<u-input inputAlign="right" v-model="form.bank_deposit" placeholder="必填"
border="none" />
</u-form-item>
<view class="line-row" style="margin-top: 0;" v-if="form.head_type == 'corporate' || form.head_type == ''"></view>
<u-form-item label="银行账号" prop="bank_number"
v-if="form.head_type == 'corporate' || form.head_type == ''">
<u-input inputAlign="right" v-model="form.bank_number" type="number" placeholder="必填"
@ -107,11 +120,12 @@
<!-- <view style="background-color: #f5f5f5;height: 40rpx;"></view> -->
<view class="recipientInfo">
<u-form-item label="手机号" prop="invoice_reservation_phone" required>
<u-form-item label="手机号" prop="invoice_reservation_phone">
<u-input inputAlign="right" v-model="form.invoice_reservation_phone" type="number"
placeholder="请输入发票预留手机号" border="none" />
</u-form-item>
<u-form-item label="邮箱地址" prop="invoice_reservation_email" required>
<view class="line-row" style="margin-top: 0;"></view>
<u-form-item label="邮箱地址" prop="invoice_reservation_email">
<u-input inputAlign="right" v-model="form.invoice_reservation_email"
placeholder="请输入发票预留邮箱" border="none" />
</u-form-item>
@ -235,36 +249,7 @@
invoice_reservation_email: '',
is_default: null
},
rules: {
// invoice_type: [{
// required: true,
// message: '',
// trigger: 'blur'
// }],
invoice_header: [{
required: true,
// type: 'invoice_header',
message: '请输入抬头名称',
trigger: 'blur'
}],
// invoice_type: [{
// required: true,
// // type: 'invoice_type',
// message: '',
// trigger: 'blur'
// }],
invoice_reservation_phone: [{
required: true,
// type: 'invoice_reservation_phone',
message: '请输入发票预留手机号',
trigger: 'blur'
}],
invoice_reservation_email: [{
required: true,
message: '请输入发票预留邮箱',
trigger: 'blur'
}],
},
detail: '', //detail
detailAny: '', //detail
qrimages: '',
@ -297,11 +282,13 @@
methods: {
handleHeadTp1() {
this.form.invoice_type = 'ordinary'
this.form.head_type = ''
console.log('1-1', this.form.invoice_type);
},
handleHeadTp2() {
// this.$set(this.form.invoice_type = 'special')
this.form.invoice_type = 'special'
this.form.head_type = 'corporate'
console.log('2-2', this.form.invoice_type);
},
handlePerson() {
@ -677,15 +664,31 @@
// width: 100%;
margin-top: 0rpx;
background-color: #ffffff;
padding: 10rpx 20rpx;
padding: 10rpx 30rpx;
border-radius: 20rpx;
.line-row {
width: 700rpx;
height: 1rpx;
background: #F0F0F0;
border-radius: 0rpx 0rpx 0rpx 0rpx;
}
}
.recipientInfo {
margin-top: 30rpx;
background-color: #ffffff;
padding: 10rpx 20rpx;
padding: 10rpx 30rpx;
border-radius: 20rpx;
.line-row {
width: 700rpx;
height: 1rpx;
background: #F0F0F0;
border-radius: 0rpx 0rpx 0rpx 0rpx;
}
}
.defaultInfo {
@ -735,11 +738,11 @@
display: grid;
justify-content: center;
position: fixed;
bottom: 0;
bottom: 60rpx;
// left: 0;
right: -2rpx;
z-index: 99;
background-color: #ffffff;
background-color: #f5f5f5;
color: #bbfc5b;
.invoiceBtn {

View File

@ -16,17 +16,18 @@
</view>
<view v-else>
<view style="color: #3D3D3D;font-size: 26rpx;font-weight: 400;margin-top: 10rpx;">已选择{{num}}个订单 预计发票金额
{{totalPrice}}</view>
{{totalPrice}}
</view>
<view style="color: #999999;font-size: 26rpx;font-weight: 400;margin-top: 10rpx;">预计金额仅作为参考请以合并后的实际金额为准
</view>
</view>
</view>
<!-- 表单 -->
<view style="height: auto;">
<u-form :model="form" :rules="rules" ref="uForm" label-width="auto" labelPostition="left">
<u-form :model="form" ref="uForm" label-width="auto" labelPostition="left">
<view class="formBox">
<u-form-item label="发票类型" prop="invoice_type">
<view class="typeBOx" style="width: 300px;justify-content: flex-end;">
<view class="typeBOx" style="width: 219px;justify-content: flex-end;">
<view class="normalInv" @click="handleHeadTp1()">
<view class="typeImgs">
<image v-if="form.invoice_type == 'ordinary'" style="width: 44rpx;height: 44rpx;"
@ -48,24 +49,27 @@
</view>
</u-form-item>
<view class="line-row" style="margin-top: 0;"></view>
<u-form-item label="发票内容" prop="">
<view class="typeBOx" style="width: 305px;justify-content: space-between;">
<view class="typeBOx" style="width: 296px;justify-content: space-between;">
<view class="typeImgs" @click="explainShow = true">
<image style="width: 44rpx;height: 44rpx;" src="https://naweigetetest2.hschool.com.cn/miniapp/invoice/conRecord.png"
mode=""></image>
<image style="width: 44rpx;height: 44rpx;"
src="https://naweigetetest2.hschool.com.cn/miniapp/invoice/conRecord.png" mode="">
</image>
</view>
<view class="normalInv">
<view class="typeImgs">
<image style="width: 44rpx;height: 44rpx;" src="/static/fabu/check.png"
mode=""></image>
</view>
<image style="width: 44rpx;height: 44rpx;" src="/static/fabu/check.png" mode="">
</image>
</view>
<view class="typeText">商品明细</view>
</view>
</view>
<!-- <image style="width: 38rpx;height: 38rpx;" src="/static/tips.png" mode=""></image> -->
<!-- <u-input inputAlign="right" v-model="form.password" placeholder="请输入密码" border="none"/> -->
</u-form-item>
<view class="line-row" style="margin-top: 0;"></view>
<u-form-item label="抬头类型" prop="head_type">
<view class="typeBOx" style="width: 219px;justify-content: flex-end;">
@ -91,8 +95,9 @@
</view>
</u-form-item>
<view class="line-row" style="margin-top: 0;"></view>
<u-form-item label="发票抬头" prop="">
<u-form-item label="预设抬头" prop="">
<view class="form_right" @click="openHeadShow()">
选择预设抬头类型
<u-icon name="arrow-right"></u-icon>
@ -107,27 +112,30 @@
</view>
</picker> -->
</u-form-item>
<view class="line-row" style="margin-top: 0;"></view>
<u-form-item label="抬头名称" prop="invoice_header" required>
<u-input inputAlign="right" v-model="form.invoice_header" placeholder="请输入抬头名称"
border="none" />
<u-form-item label="抬头名称" prop="invoice_header">
<u-input inputAlign="right" v-model="form.invoice_header" placeholder="请输入抬头名称" border="none" />
</u-form-item>
<view class="line-row" style="margin-top: 0;" v-if="form.head_type == 'corporate'"></view>
<u-form-item label="单位税号" prop="tax_id" v-if="form.head_type == 'corporate'">
<u-input inputAlign="right" v-model="form.tax_id" placeholder="请输入单位税号"
border="none" />
<u-input inputAlign="right" v-model="form.tax_id" placeholder="请输入单位税号" border="none" />
</u-form-item>
<view class="line-row" style="margin-top: 0;" v-if="form.head_type == 'corporate'"></view>
<u-form-item label="注册地址" prop="enterprise_address" v-if="form.head_type == 'corporate'">
<u-input inputAlign="right" style="width:400rpx" v-model="form.enterprise_address" placeholder="必填"
border="none" />
<u-input inputAlign="right" style="width:400rpx" v-model="form.enterprise_address"
placeholder="必填" border="none" />
</u-form-item>
<u-form-item label="注册电话" prop="enterprise_phone" v-if="form.invoice_type == 'special'">
<view class="line-row" style="margin-top: 0;" v-if="form.head_type == 'corporate'"></view>
<u-form-item label="注册电话" prop="enterprise_phone" v-if="form.head_type == 'corporate'">
<u-input inputAlign="right" v-model="form.enterprise_phone" type="number" placeholder="必填"
border="none" />
</u-form-item>
<view class="line-row" style="margin-top: 0;" v-if="form.head_type == 'corporate'"></view>
<u-form-item label="开户银行" prop="bank_deposit" v-if="form.head_type == 'corporate'">
<u-input inputAlign="right" v-model="form.bank_deposit" placeholder="必填"
border="none" />
<u-input inputAlign="right" v-model="form.bank_deposit" placeholder="必填" border="none" />
</u-form-item>
<view class="line-row" style="margin-top: 0;" v-if="form.head_type == 'corporate'"></view>
<u-form-item label="银行账号" prop="bank_number" v-if="form.head_type == 'corporate'">
<u-input inputAlign="right" v-model="form.bank_number" type="number" placeholder="必填"
border="none" />
@ -136,13 +144,14 @@
<!-- <view style="background-color: #f5f5f5;height: 40rpx;"></view> -->
<view class="recipientInfo">
<u-form-item label="手机号" prop="invoice_reservation_phone" required>
<u-form-item label="手机号" prop="invoice_reservation_phone">
<u-input inputAlign="right" v-model="form.invoice_reservation_phone" type="number"
placeholder="请输入发票预留手机号" border="none" />
</u-form-item>
<u-form-item label="邮箱地址" prop="invoice_reservation_email" required>
<u-input inputAlign="right" v-model="form.invoice_reservation_email"
placeholder="请输入发票预留邮箱" border="none" />
<view class="line-row" style="margin-top: 0;"></view>
<u-form-item label="邮箱地址" prop="invoice_reservation_email">
<u-input inputAlign="right" v-model="form.invoice_reservation_email" placeholder="请输入发票预留邮箱"
border="none" />
</u-form-item>
</view>
@ -155,7 +164,7 @@
</u-form>
<view style="width: 100%;height: 140rpx;"></view>
<view style="width: 100%;height: 140rpx;background-color: #f5f5f5;"></view>
</view>
<!-- 提交按钮 -->
@ -186,8 +195,9 @@
</view>
<view class="textSec">{{item.tax_id}}</view>
</view>
<view class="manageEdit" @click.stop="editHead(item.id)">
<image style="width: 50rpx;height: 50rpx;" src="https://naweigetetest2.hschool.com.cn/miniapp/invoice/manageEdit.png"
<view class="manageEdit" @click.stop="editHead(item.id)">
<image style="width: 50rpx;height: 50rpx;"
src="https://naweigetetest2.hschool.com.cn/miniapp/invoice/manageEdit.png"
mode=""></image>
</view>
</view>
@ -213,6 +223,13 @@
-->
</view>
<view class="bottom_box flex justify-center align-items" v-if="headList.length == 0">
<view style="text-align: center;">
<image src="/static/no.png" style="width: 150rpx;height: 150rpx;"></image>
<view>暂无数据</view>
</view>
</view>
</scroll-view>
<view class="popup-footer1">
@ -233,7 +250,7 @@
</view>
</view>
</u-popup>
<u-popup :show="explainShow" :round="22" mode="center" @close="explainShow = false" @open="explainShow = true"
:custom-style="popupStyRe">
<view class="popup_tkall" style="">
@ -242,8 +259,9 @@
<view>·发票内容将显示详细商品名称与价格信息</view>
<view style="margin-top: 20rpx;">·部分商家可能开具发票内容为商品所属类别及价格信息如有特殊需求请向商家客服咨询</view>
</view>
<view class="popup-footer" style="display: flex;justify-content: center;align-items: center;margin-top: 40rpx;">
<view class="popup-footer"
style="display: flex;justify-content: center;align-items: center;margin-top: 40rpx;">
<view class="headBtn" style="width: 45%;height: 80rpx;background-color: #ffffff;border-radius: 148rpx;color: #999999;font-size: 36rpx;
font-weight: 400;
line-height: 50rpx;
@ -323,36 +341,7 @@
invoice_reservation_phone: '',
invoice_reservation_email: ''
},
rules: {
// invoice_type: [{
// required: true,
// message: '',
// trigger: 'blur'
// }],
invoice_header: [{
required: true,
// type: 'invoice_header',
message: '请输入抬头名称',
trigger: 'blur'
}],
// invoice_type: [{
// required: true,
// // type: 'invoice_type',
// message: '',
// trigger: 'blur'
// }],
invoice_reservation_phone: [{
required: true,
// type: 'invoice_reservation_phone',
message: '请输入发票预留手机号',
trigger: 'blur'
}],
invoice_reservation_email: [{
required: true,
message: '请输入发票预留邮箱',
trigger: 'blur'
}],
},
detail: '', //detail
detailAny: '', //detail
qrimages: '',
@ -361,8 +350,8 @@
limit: 10,
headList: [],
selectHeadIndex: null,
totalPrice:0,
explainShow:false,//
totalPrice: 0,
explainShow: false, //
// keywords: '',
id: null,
order_no: null,
@ -377,14 +366,14 @@
this.id = options.id
console.log('id1', this.id);
this.getOrderInfo();
}else {
} else {
this.totalPrice = options.totalPrice
console.log('totalPrice:',this.totalPrice);
console.log('totalPrice:', this.totalPrice);
}
console.log('order_nos:', this.order_nos,'totalPrice:',this.totalPrice);
console.log('order_nos:', this.order_nos, 'totalPrice:', this.totalPrice);
},
onShow() {
console.log('onshow',this.headShow);
console.log('onshow', this.headShow);
// this.headShow = false;
this.getHeadList();
},
@ -421,11 +410,13 @@
},
handleHeadTp1() {
this.form.invoice_type = 'ordinary'
this.form.head_type = ''
console.log('1-1', this.form.invoice_type);
},
handleHeadTp2() {
// this.$set(this.form.invoice_type = 'special')
this.form.invoice_type = 'special'
this.form.head_type = 'corporate'
console.log('2-2', this.form.invoice_type);
},
handlePerson() {
@ -487,8 +478,8 @@
this.form.bank_number = item.bank_number
this.form.enterprise_address = item.enterprise_address
this.form.enterprise_phone = item.enterprise_phone
console.log('5555',this.form);
console.log('5555', this.form);
this.closeHeadShow();
},
addHead() {
@ -498,7 +489,7 @@
},
editHead(id) {
this.HeadId = id
console.log('HeadId',this.HeadId);
console.log('HeadId', this.HeadId);
uni.navigateTo({
url: '/packageB/invoice/addHead?id=' + this.HeadId
})
@ -572,7 +563,7 @@
return;
}
}
console.log('submit:',this.order_nos);
console.log('submit:', this.order_nos);
//
const cleanOrderNos = this.order_nos.replace(/^"+|"+$/g, '');
uni.$u.http.post('/api/school.header/apply', {
@ -600,7 +591,7 @@
// this.getInfo();
// uni.hideLoading();
}, 2000)
} else {
uni.showToast({
title: res.msg,
@ -692,7 +683,8 @@
}
.container {
padding: 40rpx 0;
min-height: 90vh;
padding: 30rpx 0;
background-color: #f5f5f5;
.invoiceInfo {
@ -702,8 +694,6 @@
align-items: center;
background-color: #ffffff;
width: 100%;
// margin-top: 20rpx;
// padding: 20rpx;
height: 220rpx;
.item-img {
@ -743,15 +733,30 @@
// width: 100%;
margin-top: 30rpx;
background-color: #ffffff;
padding: 10rpx 20rpx;
padding: 10rpx 30rpx;
border-radius: 20rpx;
.line-row {
margin-top: 25rpx;
width: 700rpx;
height: 1rpx;
background: #F0F0F0;
border-radius: 0rpx 0rpx 0rpx 0rpx;
}
}
.recipientInfo {
margin-top: 30rpx;
background-color: #ffffff;
padding: 10rpx 20rpx;
padding: 10rpx 30rpx;
border-radius: 20rpx;
.line-row {
width: 700rpx;
height: 1rpx;
background: #F0F0F0;
border-radius: 0rpx 0rpx 0rpx 0rpx;
}
}
.footer-btn {
@ -763,7 +768,7 @@
// left: 0;
right: -2rpx;
z-index: 99;
background-color: #ffffff;
background-color: #f5f5f5;
color: #bbfc5b;
.invoiceBtn {
@ -803,7 +808,7 @@
.popup-content {
height: auto;
padding-bottom: 130rpx;
padding-bottom: 80rpx;
// overflow-y: auto;
.manageList {
@ -992,6 +997,16 @@
}
.bottom_box {
display: grid;
justify-content: center;
align-items: center;
width: 100%;
position: relative;
// top:20rpx;
z-index: 10000;
}
.popup-footer {
width: 100%;
display: flex;
@ -1019,17 +1034,17 @@
margin-left: 2%;
}
}
}
.popup-footer1 {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
.headBtn {
width: 90%;
height: 90rpx;
@ -1051,8 +1066,8 @@
margin-left: 2%;
}
}
}

View File

@ -9,23 +9,23 @@
<span class="lines" :class="{ selected: headerSelected(item.index) }"></span>
</span>
</view>
<view class="record-tabs" v-if="selected == 1">
<span class="s-header flex flex-column" v-for="(item, index) in recordTypeList" :key="index"
:class="{ selected: recordIndexSelected(item.status) }"
@click="selecRecordIndex(item.status)">
:class="{ selected: recordIndexSelected(item.status) }" @click="selecRecordIndex(item.status)">
{{ item.text }}
<!-- <span class="lines" ></span> -->
</span>
</view>
<!-- 信息提醒 -->
<view class="manageRecord" v-if="selected == 2">
<image style="width: 36rpx;height: 36rpx;margin-right: 10rpx;" src="https://naweigetetest2.hschool.com.cn/miniapp/invoice/manageRecord.png" mode="">
<image style="width: 36rpx;height: 36rpx;margin-right: 10rpx;"
src="https://naweigetetest2.hschool.com.cn/miniapp/invoice/manageRecord.png" mode="">
</image>
<view>抬头信息仅用于开具发票请勿用于转账等其他用途谨防受骗</view>
</view>
<view style="min-height: 100vh;margin-top: 80rpx;width: 100%;">
<!-- 合开发票 -->
<view v-if="selected == 0">
@ -56,8 +56,7 @@
<view class="invoiceBtn" @click="handleIssueInvoice()">
<view>申请开票</view>
</view>
<view class="bottom_box flex justify-center align-items"
v-if="unInvoiceList.length == 0">
<view class="bottom_box flex justify-center align-items" v-if="unInvoiceList.length == 0">
<view style="text-align: center;">
<image src="/static/no.png" style="width: 150rpx;height: 150rpx;"></image>
<view>暂无数据</view>
@ -67,7 +66,7 @@
<!-- 提交记录 -->
<view class="recordList" v-else-if="selected == 1">
<!-- v-if="item[index].length == 1" -->
<view v-for="(item,index) in recordList" :key="index">
<!-- 单开 -->
@ -102,7 +101,7 @@
<text>已作废</text>
</view>
</view> -->
</view>
</view>
</view>
@ -153,71 +152,82 @@
</view>
</view>
</view>
<view class="bottom_box flex justify-center align-items"
v-if="recordList.length == 0">
<view class="bottom_box flex justify-center align-items" v-if="recordList.length == 0">
<view style="text-align: center;">
<image src="/static/no.png" style="width: 150rpx;height: 150rpx;"></image>
<view>暂无数据</view>
</view>
</view>
<view style="width: 100%;height: 100rpx;"></view>
</view>
<!-- 抬头管理 -->
<view class="manageList" v-else>
<!-- 专用 -->
<view class="manageList-item" v-for="(item,index) in headList" :key="index" style="margin-bottom: 20rpx;">
<view class="manage-type" v-if="item.head_type == 'corporate'">专业发票抬头</view>
<view class="manage-type" v-else>个人发票抬头</view>
<view class="manageLine"></view>
<view class="manageCon">
<view class="messContext">
<view class="textFir">
<view class="defaultBox" v-if="item.is_default == 1">默认</view>
<view class="manageName">{{item.invoice_header}}</view>
<view v-for="(item,index) in headList" :key="index" style="margin: 0 auto;display: grid;">
<!-- 专用 -->
<view class="manageList-item" v-if="item.head_type == 'corporate'"
style="margin-bottom: 20rpx;height: 237rpx;">
<view class="manage-type" v-if="item.head_type == 'corporate'">专业发票抬头</view>
<view class="manageLine"></view>
<view class="manageCon">
<view class="messContext" style="position: relative;
top: 14rpx;">
<view class="textFir">
<view class="defaultBox" v-if="item.is_default == 1">默认</view>
<view class="manageName">{{item.invoice_header}}</view>
</view>
<view class="textSec">{{item.tax_id}}</view>
</view>
<view class="manageEdit" @click="editHead(item.id)">
<image style="width: 50rpx;height: 50rpx;"
src="https://naweigetetest2.hschool.com.cn/miniapp/invoice/manageEdit.png"
mode="">
</image>
</view>
<view class="textSec">{{item.tax_id}}</view>
</view>
<view class="manageEdit" @click="editHead(item.id)">
<image style="width: 50rpx;height: 50rpx;" src="https://naweigetetest2.hschool.com.cn/miniapp/invoice/manageEdit.png" mode="">
</image>
</view>
</view>
<!-- 个人 -->
<view class="manageList-item" v-else style="height: 203rpx;">
<view class="manage-type">个人发票抬头</view>
<view class="manageLine"></view>
<view class="manageCon">
<view class="messContext" style="position: relative;
top: 20rpx;">
<view class="textFir">
<view class="defaultBox" v-if="item.is_default == 1">默认</view>
<view class="manageName">{{item.invoice_header}}</view>
</view>
<view class="textSec">{{item.tax_id}}</view>
</view>
<view class="manageEdit" @click="editHead(item.id)">
<image style="width: 50rpx;height: 50rpx;"
src="https://naweigetetest2.hschool.com.cn/miniapp/invoice/manageEdit.png"
mode="">
</image>
</view>
</view>
</view>
</view>
<!-- 个人
<view class="manageList-item">
<view class="manage-type">个人发票抬头</view>
<view class="manageLine"></view>
<view class="manageCon">
<view class="messContext">
<view class="textFir">
<view class="defaultBox">
默认</view>
<view class="manageName">洛阳灵睿网络技术有限公司</view>
</view>
</view>
<view class="manageEdit">
<image style="width: 50rpx;height: 50rpx;" src="https://naweigetetest2.hschool.com.cn/miniapp/invoice/manageEdit.png" mode=""></image>
</view>
</view>
</view>-->
<!-- 按钮 -->
<view class="footer-mangBtn">
<view class="invoiceBtn" @click="addHead()">
<view>添加发票抬头</view>
</view>
</view>
<view class="bottom_box flex justify-center align-items"
v-if="headList.length == 0">
<view class="bottom_box flex justify-center align-items" v-if="headList.length == 0">
<view style="text-align: center;">
<image src="/static/no.png" style="width: 150rpx;height: 150rpx;"></image>
<view>暂无数据</view>
</view>
</view>
</view>
</view>
@ -284,7 +294,7 @@
num: 0,
id: 0,
headList: [], //
HeadId:null,
HeadId: null,
};
},
onLoad(option) {
@ -317,7 +327,7 @@
this.getInvoiceList()
} else if (that.selected == 1) {
console.log('记录', this.recordeStatus);
this.getRecordList()
} else {
console.log('抬头');
@ -330,7 +340,7 @@
// console.log('index',index);
return this.selected === index;
},
//
getInvoiceList() {
uni.$u.http.get('/api/school.newactivity.order/order_list', {
@ -340,7 +350,7 @@
// status: 9,
// keywords: this.keywords,
invoice_status: 0,
have_invoice:1,
have_invoice: 1,
}
}).then(res => {
console.log('code', res.code);
@ -387,21 +397,21 @@
// this.order_nos = JSON.stringify(list)
this.order_nos = JSON.stringify(list.join(','))
this.num = list.length
console.log('num:', this.num,list1);
if(this.num > 1) {
console.log('num:', this.num, list1);
if (this.num > 1) {
list1.forEach(e => {
// if(e.payprice)
this.totalPrice += e.payprice
})
}else if(this.num > 1){
this.totalPrice =list1[0].payprice
}else{
} else if (this.num > 1) {
this.totalPrice = list1[0].payprice
} else {
}
console.log('num:', this.num, 'totalPrice:', this.totalPrice);
console.log('unInvoiceList',this.unInvoiceList.length);
if(this.unInvoiceList.length == 0){
console.log('unInvoiceList', this.unInvoiceList.length);
if (this.unInvoiceList.length == 0) {
uni.showToast({
title: '暂无可开发票的订单,请先去参加活动下单',
icon: 'none',
@ -432,8 +442,8 @@
// url: '/packageB/invoice/addInvoice?order_nos=' + this.order_nos + '&num=' + this.num
// })
},
//
getRecordList() {
console.log('提交记录', this.recordeStatus);
@ -460,7 +470,7 @@
},
//
selecRecordIndex(recordStatus) {
console.log('selecRecordIndex',recordStatus)
console.log('selecRecordIndex', recordStatus)
// const that = this;
this.recordeStatus = recordStatus;
console.log('recordeStatus', this.recordeStatus)
@ -473,12 +483,12 @@
},
//
toPageInvoiceInfo(item) {
console.log('toPageInvoiceInfo',item);
console.log('toPageInvoiceInfo', item);
uni.navigateTo({
url:'/packageB/invoice/invoiceInfo?id=' + item.id
url: '/packageB/invoice/invoiceInfo?id=' + item.id
})
},
//
getHeadList() {
uni.$u.http.get('/api/school.header/header_list', {
@ -508,12 +518,12 @@
},
editHead(id) {
this.HeadId = id
console.log('HeadId',this.HeadId);
console.log('HeadId', this.HeadId);
uni.navigateTo({
url: '/packageB/invoice/addHead?id=' + this.HeadId
})
},
}
}
@ -531,6 +541,7 @@
// overflow: hidden;
.tabs {
z-index: 1000;
background: #ffffff;
width: 100%;
display: flex;
@ -625,7 +636,7 @@
position: absolute;
top: 0;
font-size: 28rpx;
font-weight: 400;
font-weight: bold;
}
.itenCon-actPrice {
@ -660,28 +671,30 @@
bottom: 66rpx;
margin-left: 5%;
}
.record-tabs {
background: #f5f5f5;
width: 100%;
z-index: 1000;
background-color: #f5f5f5;
display: flex;
overflow-x: auto;
position: fixed;
top: 90rpx;
top: 70rpx;
margin: 10rpx 0;
border-radius: 30rpx;
padding: 20rpx 0;
// border-radius: 30rpx;
-webkit-overflow-scrolling: touch;
font-family: PingFang SC, PingFang SC;
.s-header {
display: flex;
justify-content: center;
align-items: center;
width: 150rpx;
height: 80rpx;
height: 60rpx;
font-weight: 400;
font-size: 28rpx;
color: #9E9E9E;
@ -693,10 +706,10 @@
position: relative;
z-index: 1000;
}
.s-header.selected {
width: 150rpx;
height: 80rpx;
height: 60rpx;
background-color: #ffffff;
// font-weight: 800;
// font-size: 32rpx;
@ -704,25 +717,26 @@
line-height: 28rpx;
z-index: 1000;
}
}
.recordList {
width: 100%;
height: auto;
display: block;
justify-content: center;
margin-top: 120rpx;
margin-top: 100rpx;
.recordList-item {
display: flex;
justify-content: center;
align-items: center;
background-color: #ffffff;
width: 91%;
margin-top: 20rpx;
// margin-top: 20rpx;
margin-bottom: 20rpx;
padding: 20rpx 30rpx;
height: 220rpx;
// margin: 0 auto;
@ -745,7 +759,7 @@
position: absolute;
top: 0;
font-size: 28rpx;
font-weight: 400;
font-weight: bold;
}
.itenCon2-actPrice {
@ -766,7 +780,7 @@
font-weight: 400;
font-size: 28rpx;
}
.lookInvoice3 {
width: 200rpx;
display: flex;
@ -792,13 +806,13 @@
}
.recordList-items {
display: block;
display: grid;
background-color: #ffffff;
width: 91%;
margin-top: 20rpx;
padding: 20rpx 30rpx;
height: 220rpx auto;
// margin: 0 auto;
height: auto;
margin: 0 auto;
.reListIts-item {
display: flex;
@ -806,7 +820,7 @@
align-items: center;
width: 100%;
margin-bottom: 20rpx;
margin: 0 auto;
// margin: 0 auto;
// background-color: #9E9E9E;
.itsItem-img2 {
@ -818,7 +832,7 @@
.itsItem-con2 {
margin-left: 30rpx;
width: 65%;
width: 78%;
height: 160rpx;
position: relative;
color: #323232;
@ -827,7 +841,7 @@
position: absolute;
top: 0;
font-size: 28rpx;
font-weight: 400;
font-weight: bold;
}
.itsItemCon2-actPrice {
@ -897,14 +911,14 @@
}
}
}
.manageRecord {
z-index: 100;
position: fixed;
top: 70rpx;
// width: 100%;
// margin: 0rpx 20rpx 20rpx 20rpx;
padding: 20rpx ;
padding: 20rpx 30rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
@ -919,20 +933,25 @@
background-color: #f5f5f5;
// margin: 0 auto;
}
.manageList {
width: 100%;
display: grid;
justify-content: center;
margin-top: 80rpx;
position: relative;
top: 90rpx;
margin: 0 auto;
row-gap: 20rpx;
// padding-top: 20rpx;
.manageList-item {
background-color: #ffffff;
padding: 20rpx 0;
width: 96%;
margin-bottom: 20rpx;
border-radius: 20rpx;
width: 710rpx;
// margin-left: 20rpx;
// margin-bottom: 30rpx;
margin: 0 auto;
border-radius: 20rpx;
.manage-type {
width: 100%;
@ -945,11 +964,12 @@
// text-align: center;
font-style: normal;
text-transform: none;
margin: 20rpx;
// margin: 20rpx;
padding: 30rpx;
}
.manageLine {
width: 750rpx;
width: 100%;
height: 1rpx;
background: #EEEEEE;
border-radius: 0rpx 0rpx 0rpx 0rpx;
@ -958,28 +978,33 @@
.manageCon {
display: flex;
justify-content: space-between;
margin: 20rpx;
// justify-content: center;
// margin: 20rpx;
padding: 30rpx;
align-items: center;
.messContext {
display: block;
display: grid;
.textFir {
display: flex;
justify-content: left;
align-items: center;
.defaultBox {
width: 68rpx;
height: 32rpx;
background: #FFEEEE;
border-radius: 6rpx;
color: #EB1B1B;
border: 1rpx solid #EB1B1B;
border: 2rpx solid #EB1B1B;
text-align: center;
font-size: 26rpx;
font-size: 22rpx;
font-weight: 500;
margin-right: 10rpx;
// padding: 10rpx;
}
.manageName {
@ -1013,15 +1038,15 @@
}
}
}
.footer-mangBtn {
width: 100%;
height: 160rpx;
background-color: #ffffff;
background-color: #f5f5f5;
position: fixed;
bottom: 0;
left: 0;
.invoiceBtn {
width: 90%;
height: 90rpx;
@ -1039,23 +1064,23 @@
align-items: center;
text-align: center;
position: fixed;
bottom: 32rpx;
bottom: 66rpx;
margin-left: 5%;
}
}
}
}
.bottom_box{
.bottom_box {
display: grid;
justify-content: center;
align-items: center;
width: 100%;
position: absolute;
top:40%;
top: 40%;
}
}

View File

@ -159,26 +159,30 @@
</script>
<style lang="scss" scoped>
.page {
background-color: #f5f5f5;
}
.container {
width: 100%;
background-color: #f7f7f7;
height: 100vh;
background-color: #f5f5f5;
.info-top {
width: 100%;
height: 260rpx;
height: 300rpx;
background-color: #323232;
// background-image: ;
.info-status {
display: inline;
display: grid;
width: 100%;
justify-content: center;
align-items: center;
color: #bbfc5b;
//margin-top: 60rpx;
position: relative;
top: 110rpx;
top: 100rpx;
.statusFir {
display: flex;
@ -198,11 +202,14 @@
.infoCon {
display: block;
// width: 690rpx;
width: 95%;
height: 506rpx;
height: 440rpx;
background-color: #ffffff;
padding: 30rpx 20rpx;
border-radius: 30rpx 30rpx 0 0;
border-radius: 30rpx;
position: relative;
bottom: 40rpx;
.conFIr{
width: 96%;
@ -211,19 +218,21 @@
align-items: center;
.conFir-left {
display: inline;
display: grid;
.leftTitle {
font-size: 28rpx;
font-weight: 400;
color: #9c9c9c;
line-height: 36rpx;
margin-top: 20rpx;
margin-bottom: 30rpx;
}
}
.conFir-right {
// border-top: 2rpx solid #323232;
position: relative;
top: 14rpx;
.ringhtImg-text {
background-color: #4d4d4d;
@ -250,14 +259,14 @@
justify-content: flex-start;
align-items: center;
position: relative;
bottom: 26rpx;
bottom: 18rpx;
.rightTitle {
font-size: 28rpx;
font-weight: 400;
color: #9c9c9c;
line-height: 36rpx;
margin-top: 20rpx;
margin-bottom: 30rpx;
}
}