完成发票初始版本
This commit is contained in:
@@ -24,6 +24,11 @@ Page({
|
||||
handleBack() {
|
||||
wx.navigateBack()
|
||||
},
|
||||
jumpToDetail() {
|
||||
wx.redirectTo({
|
||||
url: '/pages/invoiceDetailContent/index',
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
|
@@ -51,7 +51,13 @@
|
||||
|
||||
<navigator title="发票详细" canBack="{{true}}" bind:back="back" />
|
||||
<view class="wrapper">
|
||||
<view> 尊敬的客户,您好 </view>
|
||||
<view> 已经为您开具订单2222222222的发票,发票数量共计1张,如下: </view>
|
||||
<view> 发票裂隙:数电发票(电子发票),发票号码:54645654656556,您可以点击“发票下载”获取该发票文件 </view>
|
||||
<view style="margin-top: 40rpx;"> 尊敬的客户,您好: </view>
|
||||
<view style="margin-top: 20rpx;"> 已经为您开具订单2222222222的发票,发票数量共计1张,如下: </view>
|
||||
<view style="margin-top: 20rpx;"> 发票类型:数电发票(电子发票),发票号码:54645654656556,您可以点击“发票XML文件下载”获取该发票XML文件,或者点击“发票PDF文件下载”获取该发票PDF文件; </view>
|
||||
<view style="margin-top: 20rpx;"> 同时您也可以到预留的邮箱中查看下载发票。 </view>
|
||||
</view>
|
||||
|
||||
<view class="operate">
|
||||
<van-button type="info" style="flex: 1;" block> 下载 </van-button>
|
||||
<van-button type="info" style="flex: 1;margin-left: 40rpx;" block bind:click="jumpToDetail"> 发票明细 </van-button>
|
||||
</view>
|
@@ -4,4 +4,16 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 50rpx;
|
||||
}
|
||||
|
||||
page {
|
||||
background-color: var(--transparent-green);
|
||||
}
|
||||
|
||||
.operate {
|
||||
margin-top: 80rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 30rpx;
|
||||
margin-right: 30rpx;
|
||||
}
|
84
pages/invoiceDetailContent/index.js
Normal file
84
pages/invoiceDetailContent/index.js
Normal file
@@ -0,0 +1,84 @@
|
||||
import { getInvoiceInfoDetail } from "../../service/invoice";
|
||||
|
||||
// pages/invoiceDetailContent/index.js
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
detail: {},
|
||||
header: [
|
||||
{ key: 'time', title: '月份' },
|
||||
{ title: '电表地址',renderBody: (item) => item.meter.address },
|
||||
{ key: 'money', title: '金额' },
|
||||
]
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
const { id } = options;
|
||||
this.getDetail(id)
|
||||
},
|
||||
async getDetail(id) {
|
||||
const { code, message, data } = await getInvoiceInfoDetail(id);
|
||||
this.setData({
|
||||
detail: data
|
||||
})
|
||||
},
|
||||
jumpToInvoiceDetail() {
|
||||
wx.redirectTo({
|
||||
url: '/pages/invoiceDetail/index',
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
}
|
||||
})
|
9
pages/invoiceDetailContent/index.json
Normal file
9
pages/invoiceDetailContent/index.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"usingComponents": {
|
||||
"van-field": "@vant/weapp/field/index",
|
||||
"table": "/components/table/table",
|
||||
"van-button": "@vant/weapp/button/index",
|
||||
"navigator": "/components/navigator/index"
|
||||
},
|
||||
"navigationStyle": "custom"
|
||||
}
|
80
pages/invoiceDetailContent/index.wxml
Normal file
80
pages/invoiceDetailContent/index.wxml
Normal file
@@ -0,0 +1,80 @@
|
||||
<!--pages/invoiceDetailContent/index.wxml-->
|
||||
<navigator title="发票明细" canBack="{{true}}" />
|
||||
<view class="wrapper">
|
||||
<van-field
|
||||
value="{{detail.tenement.name}}"
|
||||
label="开票名称 :"
|
||||
readonly
|
||||
autosize="{{true}}"
|
||||
type="textarea"
|
||||
border="{{false}}"
|
||||
title-width="160rpx"
|
||||
/>
|
||||
<van-field
|
||||
value="{{detail.approveTime}}"
|
||||
label="申请时间 :"
|
||||
readonly
|
||||
autosize="{{true}}"
|
||||
type="textarea"
|
||||
border="{{false}}"
|
||||
title-width="160rpx"
|
||||
/>
|
||||
<van-field
|
||||
value="{{detail.finishTime}}"
|
||||
label="开票时间 :"
|
||||
readonly
|
||||
autosize="{{true}}"
|
||||
type="textarea"
|
||||
border="{{false}}"
|
||||
title-width="160rpx"
|
||||
/>
|
||||
<van-field
|
||||
value="{{detail.number}}"
|
||||
label="发票编号 :"
|
||||
readonly
|
||||
autosize="{{true}}"
|
||||
type="textarea"
|
||||
border="{{false}}"
|
||||
title-width="160rpx"
|
||||
/>
|
||||
<van-field
|
||||
value="{{detail.money}}"
|
||||
label="开票金额 :"
|
||||
readonly
|
||||
autosize="{{true}}"
|
||||
type="textarea"
|
||||
border="{{false}}"
|
||||
title-width="160rpx"
|
||||
/>
|
||||
<van-field
|
||||
value="{{detail.invoice.content}}"
|
||||
label="开票内容 :"
|
||||
readonly
|
||||
autosize="{{true}}"
|
||||
type="textarea"
|
||||
border="{{false}}"
|
||||
title-width="160rpx"
|
||||
/>
|
||||
<van-field
|
||||
value="{{detail.invoice.type === 0 ? '普通电子发票' : '增值税专用电子发票'}}"
|
||||
label="发票类型 :"
|
||||
readonly
|
||||
autosize="{{true}}"
|
||||
type="textarea"
|
||||
border="{{false}}"
|
||||
title-width="160rpx"
|
||||
/>
|
||||
<van-field
|
||||
label="电费情况 :"
|
||||
readonly
|
||||
autosize="{{true}}"
|
||||
type="textarea"
|
||||
border="{{false}}"
|
||||
title-width="160rpx"
|
||||
/>
|
||||
<table header="{{header}}" list="{{detail.list}}" />
|
||||
<view style="padding-top: 40rpx;padding-bottom: 40rpx;display: flex; justify-content: center;">
|
||||
<van-button type="info" bind:click="jumpToInvoiceDetail">发票</van-button>
|
||||
</view>
|
||||
</view>
|
||||
<view style="height: 50rpx;"></view>
|
10
pages/invoiceDetailContent/index.wxss
Normal file
10
pages/invoiceDetailContent/index.wxss
Normal file
@@ -0,0 +1,10 @@
|
||||
/* pages/invoiceDetailContent/index.wxss */
|
||||
page {
|
||||
background-color: var(--transparent-green);
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
background-color: #fff;
|
||||
margin: 30rpx;
|
||||
border-radius: 24rpx;
|
||||
}
|
@@ -1,3 +1,7 @@
|
||||
import { getAlreadyInvoiceList } from "../../../../service/invoice"
|
||||
import { alertInfo } from "../../../../utils/index";
|
||||
import request from '../../../../utils/request'
|
||||
const { OK } = request;
|
||||
// pages/invoiceList/components/already/index.js
|
||||
Component({
|
||||
|
||||
@@ -12,13 +16,45 @@ Component({
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
page: 1,
|
||||
list: []
|
||||
},
|
||||
onRefresh() {
|
||||
console.log('--------------')
|
||||
},
|
||||
lifetimes: {
|
||||
attached() {
|
||||
this.getList();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
|
||||
async getList() {
|
||||
const { page, list = [] } = this.data;
|
||||
const { code, message, data } = await getAlreadyInvoiceList(page);
|
||||
if (!data.length) {
|
||||
alertInfo("没用更多数据了")
|
||||
return
|
||||
}
|
||||
this.setData({
|
||||
list: [...list, ...data, ],
|
||||
page: page + 1,
|
||||
})
|
||||
},
|
||||
scrollToLower() {
|
||||
this.getList();
|
||||
},
|
||||
jumpToDetail() {
|
||||
wx.navigateTo({
|
||||
url: '/pages/invoiceDetail/index',
|
||||
})
|
||||
},
|
||||
jumpToDetailContent() {
|
||||
wx.navigateTo({
|
||||
url: '/pages/invoiceDetailContent/index',
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
@@ -1,26 +1,31 @@
|
||||
<!--pages/invoiceList/components/already/index.wxml-->
|
||||
<view class="card">
|
||||
<view class="left">
|
||||
<view class="title">
|
||||
河北华昌宝能售电有限公司
|
||||
</view>
|
||||
<view class="invoiceContent">
|
||||
发票内容:电费
|
||||
</view>
|
||||
<view class="invoiceType">
|
||||
发票类型:增值税专用发票
|
||||
</view>
|
||||
<view class="time">
|
||||
2024年3月3日 18:00:00
|
||||
</view>
|
||||
</view>
|
||||
<view class="right">
|
||||
<view class="money"> ¥3026 </view>
|
||||
<view class="operate">
|
||||
<view style="margin-top: 20rpx; margin-bottom: 20rpx;">
|
||||
<van-button type="info" class="invoiceBtn" bind:click="submit" size="small">发票</van-button>
|
||||
|
||||
|
||||
<scroll-view scroll-y lower-threshold="100px" bindscrolltolower="scrollToLower" style="height: 80vh;" scroll-top="{{topHeight}}px" class="scrView">
|
||||
<view class="card" wx:for="{{list}}">
|
||||
<view class="left">
|
||||
<view class="title">
|
||||
{{item.invoice.name}}
|
||||
</view>
|
||||
<view class="invoiceContent">
|
||||
发票内容: {{item.invoice.content}}
|
||||
</view>
|
||||
<view class="invoiceType">
|
||||
发票类型:{{ item.invoice.type === 0 ? '普通电子发票' : '增值税专用电子发票' }}
|
||||
</view>
|
||||
<view class="time">
|
||||
{{item.finishTime}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="right">
|
||||
<view class="money"> ¥{{item.money}} </view>
|
||||
<view class="operate">
|
||||
<view style="margin-top: 20rpx; margin-bottom: 20rpx;">
|
||||
<van-button type="info" class="invoiceBtn" bind:click="submit" size="small" bind:click="jumpToDetail">发票</van-button>
|
||||
</view>
|
||||
<van-button type="info" class="detailBtn" bind:click="submit" size="small" bind:click="jumpToDetailContent">明细</van-button>
|
||||
</view>
|
||||
<van-button type="info" class="detailBtn" bind:click="submit" size="small">明细</van-button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view style="height: 50rpx;"></view>
|
||||
</scroll-view>
|
@@ -1,4 +1,5 @@
|
||||
import { getInvoiceInfo, updateInvoiceInfo } from "../../../../service/invoice"
|
||||
import { getUserInfo } from "../../../../service/user";
|
||||
import { alertInfo, alertSuccess } from "../../../../utils/index";
|
||||
|
||||
// pages/invoiceList/components/info/index.js
|
||||
@@ -13,6 +14,7 @@ Component({
|
||||
lifetimes: {
|
||||
attached() {
|
||||
this.getDetail();
|
||||
this.getUser();
|
||||
}
|
||||
},
|
||||
/**
|
||||
@@ -33,6 +35,10 @@ Component({
|
||||
|
||||
this.setData({ detail: {...data, },editType: 'detail', formData: {} })
|
||||
},
|
||||
async getUser() {
|
||||
const { code, message, data } = await getUserInfo()
|
||||
this.setData({ user: data });
|
||||
},
|
||||
changeEditType() {
|
||||
this.setData({ editType: 'edit', formData: this.data.detail })
|
||||
},
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<view
|
||||
slot="operate"
|
||||
class="cardOperate"
|
||||
wx:if="{{editType === 'detail'}}"
|
||||
wx:if="{{editType === 'detail' && user.isAdmin}}"
|
||||
bind:tap="changeEditType"
|
||||
>
|
||||
<van-icon name="edit" />
|
||||
|
@@ -40,7 +40,7 @@ Page({
|
||||
list: [...tenements]
|
||||
})
|
||||
},
|
||||
async getCode(e, that) {
|
||||
async getCode() {
|
||||
// const { index, id } = e.currentTarget.dataset;
|
||||
const tenement = wx.getStorageSync('tenement');
|
||||
const { code, message, data } = await getWxCode(tenement.id)
|
||||
|
Reference in New Issue
Block a user