<!-- 发票抬头列表 -->
<template>
<view class="invoice-header">
<z-paging ref="paging" v-model="invoiceHeaderList" @query="queryList">
<!-- 导航栏 -->
<u-navbar
title-color="#fff"
:custom-back="customBack"
:border-bottom="false"
back-icon-color="#CCE8FF"
:background="{ background: '#008CFF' }"
title="抬头信息"
slot="top"
/>
<view class="invoice-header-list">
<view class="invoice-header-list-item" v-for="(item, index) in invoiceHeaderList" :key="index">
<view class="left">
<view class="left-item">{{ item.invoName }}</view>
<view class="left-item">{{ item.invoCode }}</view>
</view>
<view class="center">
{{ formatType(item.invoHeadType) }}
</view>
<view class="right">
<u-image width="28rpx" height="28rpx" src="/static/img/edit-icon.png" @click="editInvoiceHeader(item)" />
</view>
</view>
</view>
<view class="invoice-header-bottom" slot="bottom">
<u-button type="primary" @click="addInvoiceHeader">新增抬头</u-button>
</view>
</z-paging>
<u-toast ref="uToast" />
</view>
</template>
<script>
export default {
data() {
return {
invoiceHeaderList: [],
queryParams: {
pageNum: 1,
pageSize: 10
},
invoType: 1
};
},
onLoad(options) {
const { invoType } = options;
this.invoType = invoType;
},
methods: {
/**
* @description: 分页组件触发
* @param {*} pageNo
* @param {*} pageSize
* @return {*}
*/
queryList(pageNo, pageSize) {
this.queryParams.pageNum = pageNo;
this.queryParams.pageSize = pageSize;
this.getList();
},
/**
* @description: 返回新增抬头页面
* @return {*}
*/
customBack() {
this.$u.route({
url: '/pages/invoiceModule/addInvoice/addInvoice',
params: {
invoType: this.invoType
}
});
},
/**
* @description: 获取列表
* @return {*}
*/
async getList() {
const { code, data } = await this.$u.api.invoiceModuleApi.getInvoiceHeadListApi({ ...this.queryParams });
if (code === 200) {
this.$refs.paging.complete(data?.pageInfo?.rows || []);
}
},
/**
* @description: 新增抬头
* @return {*}
*/
addInvoiceHeader() {
this.$u.route({
url: '/pages/invoiceModule/addInvoiceHeader/addInvoiceHeader',
params: {
invoType: this.invoType
}
});
},
/**
* @description: 编辑抬头
* @param {*} item
* @return {*}
*/
editInvoiceHeader(item) {
this.$u.route({
url: '/pages/invoiceModule/addInvoiceHeader/addInvoiceHeader',
params: {
id: item.id,
invoType: this.invoType
}
});
},
// 删除抬头
async deleteInvoiceHeader(item) {
const { id } = item;
const { code } = await this.$u.api.invoiceModuleApi.deleteInvoiceHeaderApi({ id });
if (code === 200) {
this.$refs.uToast.show({
title: '删除成功!',
type: 'success'
});
this.getList();
}
},
/**
* @description: 初始化类型
* @param {*} val
* @return {*}
*/
formatType(val) {
const typeObj = {
1: '企业',
2: '个人'
};
return typeObj[val];
}
}
};
</script>
<style lang="scss" scoped>
@import './invoiceHeaderList.scss';
</style>