<!-- 发票抬头列表 --> <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>