import React, {Component} from 'react';
import {
View,
TouchableOpacity,
Text,
SafeAreaView,
FlatList,
ActivityIndicator,
Alert,
RefreshControl,
} from 'react-native';
import {
Drawer,
List,
Provider,
SwipeAction,
Picker,
} from '@ant-design/react-native';
import public_css from '../../../source/css/public_css';
import {RetrieveData} from '../../../data/storage';
import {RequestNetwork} from '../../../data/encryption';
import {ToastShow} from '../../../components/toast/toast';
import {InvoiceType, Distribute} from '../../../utils/config';
import {CleanAll} from '../../../components/abnormalMessage/abnormal_message';
import Spinner from 'react-native-loading-spinner-overlay';
import loading_css from '../../../source/css/loading_css';
export default class invoice_stock extends Component {
constructor(props) {
super(props);
this.props.navigation.dangerouslyGetParent().setOptions({
tabBarVisible: false,
});
this.state = {
isShowSearch: false,
beginDate: '',
endDate: '',
beginDateString: '',
endDateString: '',
invoiceList: [],
isRefreshing: false,
pageNum: 1, //当前页码
pageSize: 10, //每页数量
totalPage: 10, //总页数
showFoot: 0,
monthDate: {},
invoiceTypeList: InvoiceType(),
invoiceType: '1',
distributeStatusList: Distribute(),
distributeStatus: '0',
spinner: false,
isNextPage: false, // 是否有下一页
isPreviousPage: false, // 是否有上一页
};
}
render() {
let draw = (
,
nextState: Readonly,
nextContext: any,
): boolean {
if (nextProps.route.params != undefined) {
if (nextProps.route.params.isShow) {
this.setState({
isShowSearch: true,
});
this.drawer.openDrawer();
this.props.navigation.setParams({
isShow: false,
});
}
}
return true;
}
// 获取发票分发列表
getDistributeList = async () => {
const company = JSON.parse(await RetrieveData('company'));
const token = await RetrieveData('token');
const account = await RetrieveData('account');
if (token && account) {
const url = '/sys/invoiceExt/purchaseQuery';
let response = await RequestNetwork(
url,
token,
{
entTaxId: company.entTaxId,
deviceType: company.defaultDeviceInfo.deviceType,
taxDiscId: company.defaultDeviceInfo.taxDiscId,
invoiceCategory: this.state.invoiceType,
},
false,
2,
);
if (response) {
console.log(response);
if (response.code === 0) {
this.setLoadingStatus(false);
if (response.data.purchaseDetailVOs.length > 0) {
this.setState({
isRefreshing: false,
totalPage: response.data.purchaseDetailVOs.length,
});
this.setList(response.data.purchaseDetailVOs);
} else {
this.setState({
showFoot: 0,
isRefreshing: false,
});
}
} else {
this.setLoadingStatus(false);
await this.abnormalMessage(response);
}
}
}
};
//设置抬头列表
setList = (data) => {
let invoiceType = '';
if (data[0].invoiceCategory === 1) {
invoiceType = '增值税普通电子发票';
}
if (data[0].invoiceCategory === 2) {
invoiceType = '增值税电子专用发票';
}
if (data[0].invoiceCategory === 3) {
invoiceType = '增值税普通纸质发票';
}
if (data[0].invoiceCategory === 4) {
invoiceType = '增值税专用纸质发票';
}
let invoiceList = data[0].purchaseRecords;
let listData = invoiceList.map((_, i) => ({
invoiceCategory: invoiceType,
invoiceCode: invoiceList[i].invoiceCode,
invoiceStartNo: invoiceList[i].invoiceStartNo,
invoiceEndNo: invoiceList[i].invoiceEndNo,
invoicePurchaseQuantity: invoiceList[i].invoicePurchaseQuantity,
invoiceSurplusQuantity: invoiceList[i].invoiceSurplusQuantity,
invoicePurchaseDate: invoiceList[i].invoicePurchaseDate,
invoicePurchaseOperator: invoiceList[i].invoicePurchaseOperator,
}));
let list = this.state.invoiceList.concat(listData);
console.log(list);
this.setState({
invoiceList: list,
showFoot: 0,
});
};
//查询菜单开关状态
openStatus = (open) => {
if (open) {
} else {
// this.props.children.setClickNum();
}
};
//获取查询发票类型
invoiceTypeChange = (select) => {
let invoiceType = '';
if (select.length > 0) {
invoiceType = select[0];
}
this.setState({
invoiceType: invoiceType,
});
};
//查询
searchData = async () => {
this.setState({
isShowSearch: false,
invoiceList: [],
showFoot: 0,
});
this.setLoadingStatus(true);
await this.getDistributeList();
};
//清空查询数据
searchDataEmpty = async () => {
this.setState({
invoiceType: '1',
invoiceList: [],
showFoot: 0,
});
await this.getDistributeList();
};
// 加载list项
renderItem = (data) => (