Commit 962fc061 authored by xiejb's avatar xiejb

发票列表与发票详情接口

parent 8d4ebb7b
...@@ -230,7 +230,7 @@ export default { ...@@ -230,7 +230,7 @@ export default {
}, },
methods: { methods: {
timeConfirm (data) { timeConfirm (data) {
this.time = data this.moreSearchInfo.time = data
}, },
onSearchClick() { onSearchClick() {
this.moreSearchShow = false this.moreSearchShow = false
......
<template> <template>
<div id="myInvoice"> <div id="myInvoice">
<my-invoice-list @gotoDetail="gotoDetail"/> <my-invoice-list ref="invoiceList" @gotoDetail="gotoDetail"/>
<high-search v-model="moreSearchShow" @onsearch="moreSearchConfirm" @onclean="moreSearchClean"/> <high-search v-model="moreSearchShow" @onsearch="moreSearchConfirm" @onclean="moreSearchClean"/>
</div> </div>
</template> </template>
...@@ -83,10 +83,10 @@ export default { ...@@ -83,10 +83,10 @@ export default {
methods: { methods: {
// 跳转发票详情 // 跳转发票详情
gotoDetail(model) { gotoDetail(model) {
// console.log() console.log(model)
this.$router.push({ this.$router.push({
path: '/invoiecDetail', path: '/invoiecDetail',
query: this.$store.state.linkInfo query: model
}); });
}, },
onBrowserBack() { onBrowserBack() {
...@@ -107,11 +107,13 @@ export default { ...@@ -107,11 +107,13 @@ export default {
}, },
// 高级搜索查询 // 高级搜索查询
moreSearchConfirm(data) { moreSearchConfirm(data) {
console.log('000000000') console.log(data)
this.$refs.invoiceList[0].httpAction(this.moreSearchInfo)
}, },
// 高级搜索取消 // 高级搜索取消
moreSearchClean(data) { moreSearchClean(data) {
this.moreSearchInfo = data; this.moreSearchInfo = data;
this.$refs.invoiceList[0].httpAction(this.moreSearchInfo)
}, },
closeAppPage() { closeAppPage() {
console.log('关闭页面') console.log('关闭页面')
......
<template> <template>
<div id="invoiecDetail"> <div id="invoiecDetail">
<div class="content"> <div class="content">
<invoiec-head/> <invoiec-head :invoiceItem="invoiceItem"/>
</div> </div>
<div class="list"> <div class="list">
<invoiec-detail-list/> <invoiec-detail-list :invoiceItem="invoiceItem"/>
</div> </div>
<!-- <high-search v-model="moreSearchShow" @onsearch="moreSearchConfirm" @onclean="moreSearchClean"/> --> <!-- <high-search v-model="moreSearchShow" @onsearch="moreSearchConfirm" @onclean="moreSearchClean"/> -->
</div> </div>
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
<script> <script>
import {getFormateDate} from '@/utils/common' import {getFormateDate} from '@/utils/common'
import { getMyInvoiceList } from '@/api/myInvoice'
import invoiecHead from './invoiecDetail/invoiecHead.vue' import invoiecHead from './invoiecDetail/invoiecHead.vue'
import invoiecDetailList from './invoiecDetail/invoiecDetailList.vue' import invoiecDetailList from './invoiecDetail/invoiecDetailList.vue'
export default { export default {
...@@ -22,6 +23,8 @@ export default { ...@@ -22,6 +23,8 @@ export default {
}, },
data() { data() {
return { return {
currentPage: 1,
pageSize: 10,
tabsTitle: [], tabsTitle: [],
moreSearchShow: false, moreSearchShow: false,
activeTab: 'home', activeTab: 'home',
...@@ -36,7 +39,7 @@ export default { ...@@ -36,7 +39,7 @@ export default {
end: getFormateDate(new Date(), "yyyy-MM-dd"), end: getFormateDate(new Date(), "yyyy-MM-dd"),
}, },
}, },
invoiceList: [] invoiceItem: {}
} }
}, },
computed: { computed: {
...@@ -64,6 +67,7 @@ export default { ...@@ -64,6 +67,7 @@ export default {
}) })
// 给window添加一个popstate事件,拦截返回键,执行this.onBrowserBack事件,addEventListener需要指向一个方法 // 给window添加一个popstate事件,拦截返回键,执行this.onBrowserBack事件,addEventListener需要指向一个方法
window.addEventListener('popstate', this.onBrowserBack, false) window.addEventListener('popstate', this.onBrowserBack, false)
this.getPostData()
}, },
destroyed() { destroyed() {
// 当页面销毁必须要移除这个事件,vue不刷新页面,不移除会重复执行这个事件 // 当页面销毁必须要移除这个事件,vue不刷新页面,不移除会重复执行这个事件
...@@ -93,6 +97,54 @@ export default { ...@@ -93,6 +97,54 @@ export default {
closeAppPage() { closeAppPage() {
console.log('关闭页面') console.log('关闭页面')
bridge.closeWindow_c() bridge.closeWindow_c()
},
getPostData() {
let _this = this
let data = {
'clientID': [
],
'endDate': '2021-03-15',
'goodsCode': '',
'goodsDesc': '',
'goodsId': '',
'goodsName': '',
'goodsSpec': '',
'invoiceCode': '',
'invoiceDate': '',
'invoiceFullNo': '',
'invoiceNo': this.$route.query.invoiceNo,
'isTwoTicket': '',
'manufacturer': '',
'mdmClientCode': '',
'mdmGoodsCode': '',
'order': '',
'orderId': '',
'orderNo': '',
'pageNum': this.currentPage,
'pageSize': this.pageSize,
'sort': '',
'sourceDb': this.$route.query.sourceDb,
'startDate': '2021-03-08',
'supplierId': [
]
}
getMyInvoiceList(data).then(rt => {
if (rt.data.code === '00000') {
if (rt.data.entity && rt.data.entity.invoiceList.length > 0) {
_this.invoiceItem = rt.data.entity.invoiceList[0]
}
} else {
_this.$toast(rt.data.message)
}
// 加载状态结束
_this.isLoading = false
}).catch(e => {
this.$toast('获取信息失败!')
_this.isRefreshing = false
_this.isLoading = false
_this.error = true
_this.finished = true
})
} }
} }
} }
......
<template> <template>
<div id="invoiecDetailList"> <div id="invoiecDetailList">
<div class="content"> <div class="content">
<van-pull-refresh class="list" ref="supplierList" v-model="isRefreshing" @refresh="onRefresh"> <!-- <van-pull-refresh class="list" ref="supplierList" v-model="isRefreshing" @refresh="onRefresh">
<van-list <van-list
v-model="isLoading" v-model="isLoading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
:error.sync="error" :error.sync="error"
error-text="请求失败,点击重新加载" error-text="请求失败,点击重新加载"
@load="onLoad"> @load="onLoad"> -->
<div class="invoiceItem" @click="gotoDetail(item)" <div class="invoiceItem" @click="gotoDetail(item)"
v-for="(item, index) in invoiceList" v-for="(item, index) in invoiceItem.goodsInfos"
:key="index"> :key="index">
<invoiec-list-item :item="item"/> <invoiec-list-item :item="item"/>
</div> </div>
</van-list> <!-- </van-list>
</van-pull-refresh> </van-pull-refresh> -->
</div> </div>
</div> </div>
</template> </template>
...@@ -39,10 +39,18 @@ export default { ...@@ -39,10 +39,18 @@ export default {
error: false, error: false,
logInfoShow: false, logInfoShow: false,
invoiceList: [], invoiceList: [],
invoiceItem: {},
sphImage: require('@/assets/img/u48.png'), sphImage: require('@/assets/img/u48.png'),
} }
}, },
props: {
invoiceItem: {
type: Object,
default: () => {
return {
}
}
}
},
computed: { computed: {
linkInfo () { linkInfo () {
return this.$store.state.linkInfo return this.$store.state.linkInfo
......
...@@ -2,32 +2,32 @@ ...@@ -2,32 +2,32 @@
<div id="invoiecHead"> <div id="invoiecHead">
<div class="content"> <div class="content">
<div class="taxIncluded"> <div class="taxIncluded">
<div class="taxAmount">377,898.00</div> <div class="taxAmount">{{invoiceItem.totalTaxAmount}}</div>
<div class="taxAmountSub">含税金额</div> <div class="taxAmountSub">含税金额</div>
</div> </div>
<div class="noTaxInfo"> <div class="noTaxInfo">
<div class="noTax"> <div class="noTax">
<div class="noTaxAmount">377,000.00</div> <div class="noTaxAmount">{{invoiceItem.totalTaxFreeAmount}}</div>
<div class="noTaxAmountSub">无税金额</div> <div class="noTaxAmountSub">无税金额</div>
</div> </div>
<div class="taxNumber"> <div class="taxNumber">
<div class="tax">377,000.00</div> <div class="tax">{{invoiceItem.totalTaxFee}}</div>
<div class="taxSub">无税金</div> <div class="taxSub"></div>
</div> </div>
</div> </div>
<van-divider :style="{ color: '#FFFFFF', borderColor: '#FFFFFF', margin: '10PX 0 10PX 0'}"/> <van-divider :style="{ color: '#FFFFFF', borderColor: '#FFFFFF', margin: '10PX 0 10PX 0'}"/>
<div class="invoiecInfo"> <div class="invoiecInfo">
<div class="cellInfo"> <div class="cellInfo">
<div class="title">发票号:</div> <div class="title">发票号:</div>
<div class="info">837418787438178</div> <div class="info">{{invoiceItem.invoiceNo}}</div>
</div> </div>
<div class="cellInfo"> <!-- <div class="cellInfo">
<div class="title">发票代码:</div> <div class="title">发票代码:</div>
<div class="info">837418787438178</div> <div class="info">837418787438178</div>
</div> </div> -->
<div class="cellInfo"> <div class="cellInfo">
<div class="title">发票日期:</div> <div class="title">发票日期:</div>
<div class="info">2020-11-13 09:00</div> <div class="info">{{invoiceItem.invoiceDate}}</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -59,6 +59,15 @@ export default { ...@@ -59,6 +59,15 @@ export default {
invoiceList: [] invoiceList: []
} }
}, },
props: {
invoiceItem: {
type: Object,
default: () => {
return {
}
}
}
},
computed: { computed: {
linkInfo () { linkInfo () {
return this.$store.state.linkInfo return this.$store.state.linkInfo
...@@ -87,7 +96,7 @@ export default { ...@@ -87,7 +96,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
#invoiecHead { #invoiecHead {
.content{ .content{
height: 270PX; height: 250PX;
width: 100%; width: 100%;
background-color: $main1; background-color: $main1;
padding: 10pX; padding: 10pX;
......
...@@ -3,44 +3,44 @@ ...@@ -3,44 +3,44 @@
<div class="itemInfo"> <div class="itemInfo">
<div class="orderNum"> <div class="orderNum">
<van-image fit="contain" width="45" height="50" :src="sphImage"/> <van-image fit="contain" width="45" height="50" :src="sphImage"/>
<div class="num">订单号:34678649876</div> <div class="num">订单号:{{item.orderNo}}</div>
</div> </div>
<div class="divider"></div> <div class="divider"></div>
<div class="invoiecInfo"> <div class="invoiecInfo">
<div class="name">[132521] 阿西匹林/0.25g*200s/浙江恒瑞制药有限公司</div> <div class="name">[{{item.goodsId}}]{{item.goodsName}}/{{item.goodsSpec}}/{{item.manufacturer}}</div>
<div class="cellInfo"> <div class="cellInfo">
<div class="batch">批次号:200409</div> <div class="batch">开票数量:{{item.invoiceQty}}</div>
<div class="numBer"> 开票数量:480</div> <!-- <div class="numBer">开票数量:{{item.invoiceQty}}</div> -->
</div> </div>
<van-divider :style="{ color: '#999999', borderColor: '#999999', margin: '5PX 0 5PX 0'}"/> <van-divider :style="{ color: '#999999', borderColor: '#999999', margin: '5PX 0 5PX 0'}"/>
<div class="cellInfo"> <div class="cellInfo">
<div class="leftInfo"> <div class="leftInfo">
<div class="title">无税单价:</div> <div class="title">无税单价:</div>
<div class="value">7.52</div> <div class="value">{{item.taxFreePrice}}</div>
</div> </div>
<div class="rightInfo"> <div class="rightInfo">
<div class="title">单品无税金额:</div> <div class="title">单品无税金额:</div>
<div class="value"> 3616.00</div> <div class="value">{{item.taxFreeAmount}}</div>
</div> </div>
</div> </div>
<div class="cellInfo"> <div class="cellInfo">
<div class="leftInfo"> <div class="leftInfo">
<div class="title">含税单价:</div> <div class="title">含税单价:</div>
<div class="value">7.52</div> <div class="value">{{item.taxPrice}}</div>
</div> </div>
<div class="rightInfo"> <div class="rightInfo">
<div class="title">单品含税金额:</div> <div class="title">单品含税金额:</div>
<div class="value"> 3616.00</div> <div class="value">{{item.taxAmount}}</div>
</div> </div>
</div> </div>
<div class="cellInfo"> <div class="cellInfo">
<div class="leftInfo"> <div class="leftInfo">
<div class="title">税率:</div> <div class="title">税率:</div>
<div class="value">7.52</div> <div class="value">{{item.taxRate}}</div>
</div> </div>
<div class="rightInfo"> <div class="rightInfo">
<div class="title">税额:</div> <div class="title">税额:</div>
<div class="value"> 3616.00</div> <div class="value">{{item.taxFee}}</div>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
// 引入接口 // 引入接口
import { getMyInvoiceList } from '@/api/myInvoice' import { getMyInvoiceList } from '@/api/myInvoice'
import myInvoiecListItem from './myInvoiecListItem.vue' import myInvoiecListItem from './myInvoiecListItem.vue'
import {getFormateDate} from '@/utils/common'
export default { export default {
name: 'MyInvoiceList', name: 'MyInvoiceList',
components: { components: {
...@@ -40,6 +41,17 @@ export default { ...@@ -40,6 +41,17 @@ export default {
logInfoShow: false, logInfoShow: false,
invoiceList: [], invoiceList: [],
invoiceItem: {}, invoiceItem: {},
moreSearchInfo: {
//接收搜索更多回传的数据
supplier: { comPartyId: "" }, //供应商ID
goods: { comGoodsId: "" }, //商品ID
orderNo: "", //订单编号
time: {
//起始时间
start: getFormateDate(new Date(), "yyyy-MM-dd"),
end: getFormateDate(new Date(), "yyyy-MM-dd"),
},
},
sphImage: require('@/assets/img/u48.png'), sphImage: require('@/assets/img/u48.png'),
} }
}, },
...@@ -59,6 +71,11 @@ export default { ...@@ -59,6 +71,11 @@ export default {
// this.onLoad() // this.onLoad()
}, },
methods: { methods: {
// 高级搜索
httpAction(model) {
this.moreSearchInfo = model
this.onRefresh()
},
gotoDetail(model) { gotoDetail(model) {
// console.log(model) // console.log(model)
this.$emit('gotoDetail', model) this.$emit('gotoDetail', model)
...@@ -78,7 +95,7 @@ export default { ...@@ -78,7 +95,7 @@ export default {
'clientID': [ 'clientID': [
'3168' '3168'
], ],
'endDate': '2021-03-15', 'endDate': this.moreSearchInfo.time.end,
'goodsCode': '', 'goodsCode': '',
'goodsDesc': '', 'goodsDesc': '',
'goodsId': '', 'goodsId': '',
...@@ -99,7 +116,7 @@ export default { ...@@ -99,7 +116,7 @@ export default {
'pageSize': this.pageSize, 'pageSize': this.pageSize,
'sort': '', 'sort': '',
'sourceDb': 'SHYY', 'sourceDb': 'SHYY',
'startDate': '2021-03-08', 'startDate': this.moreSearchInfo.time.start,
'supplierId': [ 'supplierId': [
'305','879','301' '305','879','301'
] ]
...@@ -151,7 +168,7 @@ export default { ...@@ -151,7 +168,7 @@ export default {
padding: 10PX; padding: 10PX;
-webkit-overflow-scrolling: touch; -webkit-overflow-scrolling: touch;
.invoiceItem{ .invoiceItem{
height: 145PX; // height: 145PX;
background-color: white; background-color: white;
margin-bottom: 10PX; margin-bottom: 10PX;
border-radius: 10PX; border-radius: 10PX;
......
...@@ -2,26 +2,26 @@ ...@@ -2,26 +2,26 @@
<div id="invoiecListItem"> <div id="invoiecListItem">
<div class="itemInfo"> <div class="itemInfo">
<div class="invoiecrNum"> <div class="invoiecrNum">
<div class="company">浙江恒瑞制药公司</div> <div class="company">{{item.supplierName}}</div>
<div class="time"><span>2020-11-13 09:00</span></div> <div class="time"><span>{{item.invoiceDate}}</span></div>
</div> </div>
<div class="divider"></div> <div class="divider"></div>
<div class="invoiecrInfo"> <div class="invoiecrInfo">
<div class="cellInfo"> <div class="cellInfo">
<div class="title">发票金额:</div> <div class="title">发票金额:</div>
<div class="info"><span class="price">377,899.00</span></div> <div class="info"><span class="price">{{item.totalTaxAmount}}</span></div>
<div class="btn"> <div class="btn">
<van-button round plain size="mini" type="info">预览</van-button> <van-button round plain size="mini" type="info">预览</van-button>
</div> </div>
</div> </div>
<div class="cellInfo"> <div class="cellInfo">
<div class="title">发票号:</div> <div class="title">发票号:</div>
<div class="info">XS837418787438178</div> <div class="info">{{item.invoiceNo}}</div>
</div> </div>
<div class="cellInfo"> <!-- <div class="cellInfo">
<div class="title">发票代号:</div> <div class="title">发票代号:</div>
<div class="info">837418787438178</div> <div class="info">837418787438178</div>
</div> </div> -->
</div> </div>
</div> </div>
</div> </div>
...@@ -86,19 +86,20 @@ export default { ...@@ -86,19 +86,20 @@ export default {
height: 40PX; height: 40PX;
margin: 0PX 10PX; margin: 0PX 10PX;
.company{ .company{
width: 60%; width: 70%;
padding-left: 5PX; padding-left: 5PX;
font-weight: 600; font-weight: 600;
} }
.time{ .time{
width: 40%; width: 30%;
text-align: right text-align: right
} }
} }
.invoiecrInfo{ .invoiecrInfo{
margin: 5PX 10PX; // margin: 10PX;
padding: 5PX;
// display: flex; // display: flex;
height: 110PX; // height: 110PX;
font-size: 15PX; font-size: 15PX;
.cellInfo{ .cellInfo{
display: flex; display: flex;
......
...@@ -69,7 +69,6 @@ export default { ...@@ -69,7 +69,6 @@ export default {
gotoDetail(model) { gotoDetail(model) {
let item = this.$route.query let item = this.$route.query
item.invoiceNo = model.invoiceNo item.invoiceNo = model.invoiceNo
console.log()
this.$router.push({ this.$router.push({
path: '/orderInvoiecDetail', path: '/orderInvoiecDetail',
query: item query: item
......
...@@ -39,7 +39,7 @@ export default { ...@@ -39,7 +39,7 @@ export default {
error: false, error: false,
logInfoShow: false, logInfoShow: false,
invoiceList: [], invoiceList: [],
invoiceItem: {}, // invoiceItem: {},
sphImage: require('@/assets/img/u48.png'), sphImage: require('@/assets/img/u48.png'),
} }
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment