|
@@ -214,6 +214,7 @@
|
|
|
</template>
|
|
|
<script type="text/javascript">
|
|
|
import FileSaver from "file-saver";
|
|
|
+import CsvExportor from "csv-exportor";
|
|
|
import XLSX from "xlsx";
|
|
|
export default {
|
|
|
data(){
|
|
@@ -401,49 +402,104 @@ importExcel (content) {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- async exportExcel() {
|
|
|
- const loading = this.$loading({
|
|
|
- lock: true,
|
|
|
- text: '系统正在努力接收中,过程大概需要几分钟的时间,请您耐心等待...',
|
|
|
- spinner: 'el-icon-loading',
|
|
|
- background: 'rgba(0, 0, 0, 0.7)'
|
|
|
- });
|
|
|
- let curr = this.current;
|
|
|
- let pagesize1 = this.pagesize;
|
|
|
- this.current = 1;
|
|
|
- this.pagesize = this.total;
|
|
|
- await this.loadData();
|
|
|
- // 设置当前日期
|
|
|
- let time = new Date();
|
|
|
- let year = time.getFullYear();
|
|
|
- let month = time.getMonth() + 1;
|
|
|
- let day = time.getDate();
|
|
|
- let name = "自有车发票查询列表_"+year + "" + month + "" + day;
|
|
|
- /* generate workbook object from table */
|
|
|
- // .table要导出的是哪一个表格
|
|
|
- var wb = XLSX.utils.table_to_book(document.querySelector(".table"),{ raw: true });
|
|
|
- this.formartNum(wb);
|
|
|
- /* get binary string as output */
|
|
|
- var wbout = XLSX.write(wb, {
|
|
|
- bookType: "xlsx",
|
|
|
- bookSST: true,
|
|
|
- type: "array"
|
|
|
- });
|
|
|
- try {
|
|
|
- // name+'.xlsx'表示导出的excel表格名字
|
|
|
- FileSaver.saveAs(
|
|
|
- new Blob([wbout], { type: "application/octet-stream" }),
|
|
|
- name + ".xlsx"
|
|
|
- );
|
|
|
- } catch (e) {
|
|
|
- if (typeof console !== "undefined") console.log(e, wbout);
|
|
|
- }
|
|
|
- this.current = curr;
|
|
|
- this.pagesize = pagesize1;
|
|
|
- this.loadData();
|
|
|
- loading.close();
|
|
|
- return wbout;
|
|
|
- },
|
|
|
+ async exportExcel() {
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: '系统正在努力接收中,过程大概需要几分钟的时间,请您耐心等待...',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(0, 0, 0, 0.7)'
|
|
|
+ });
|
|
|
+ var recodes = [];
|
|
|
+ debugger;
|
|
|
+ for(var j=1;j<=this.total/10000+1;j++){
|
|
|
+
|
|
|
+ const formData = new FormData();
|
|
|
+ formData.append('current', j);
|
|
|
+ formData.append('size', 10000);
|
|
|
+ for(var i in this.formCondition){
|
|
|
+ formData.append(i,this.formCondition[i]);
|
|
|
+ }
|
|
|
+ const response = await this.$http.post('selfCar/findSelfCarInvoices', formData);
|
|
|
+ if (response.data.code === 0) {
|
|
|
+ recodes = recodes.concat(response.data.data.records);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 设置当前日期
|
|
|
+ let time = new Date();
|
|
|
+ let year = time.getFullYear();
|
|
|
+ let month = time.getMonth() + 1;
|
|
|
+ let day = time.getDate();
|
|
|
+ let name = "自有车发票查询列表_"+year + "" + month + "" + day;
|
|
|
+ let cloums = [
|
|
|
+ {"title":"企业编号","key":"companyNum"},
|
|
|
+ {"title":"公司名称","key":"buyerName"},
|
|
|
+ {"title":"购方税号","key":"buyerTaxpayerCode"},
|
|
|
+ {"title":"车牌号码","key":"plateNum"},
|
|
|
+ {"title":"etc卡号","key":"cardId"},
|
|
|
+ {"title":"交易Id","key":"tradeId"},
|
|
|
+ {"title":"销方税号","key":"sellerTaxpayerCode"},
|
|
|
+ {"title":"销方名称","key":"sellerName"},
|
|
|
+ {"title":"入口收费站","key":"enStation"},
|
|
|
+ {"title":"出口收费站","key":"exStation"},
|
|
|
+ {"title":"发票代码","key":"invoiceCode"},
|
|
|
+ {"title":"发票号码","key":"invoiceNum"},
|
|
|
+ {"title":"开票时间","key":"invoiceMakeTime"},
|
|
|
+ {"title":"交易时间","key":"exTime"},
|
|
|
+ {"title":"交易金额(元)","key":"fee"},
|
|
|
+ {"title":"价税合计(元)","key":"totalAmount"},
|
|
|
+ {"title":"税额(元)","key":"totalTaxAmount"},
|
|
|
+ {"title":"金额(元)","key":"amount"},
|
|
|
+ {"title":"税率","key":"taxRate"},
|
|
|
+ {"title":"扣费时间","key":"calculateTime"},
|
|
|
+ {"title":"交易状态","key":"tradeStatus"},
|
|
|
+ {"title":"预览地址","key":"invoiceHtmlUrl"},
|
|
|
+ {"title":"下载地址","key":"invoiceUrl"}
|
|
|
+
|
|
|
+ ];
|
|
|
+ this.exportExcelComm(cloums,recodes,name,loading)
|
|
|
+
|
|
|
+ },
|
|
|
+ formatJson (filterVal, jsonData) {
|
|
|
+ return jsonData.map(v => filterVal.map(j => {
|
|
|
+ if(j == 'tradeStatus'){
|
|
|
+ if(v[j] == 1){
|
|
|
+ return "待开票";
|
|
|
+ } else if(v[j] == 2){
|
|
|
+ return "开票中";
|
|
|
+ }else if(v[j] == 3){
|
|
|
+ return "开票完成";
|
|
|
+ }
|
|
|
+ }else if(j =='fee'){
|
|
|
+ return v[j]/100;
|
|
|
+ }else if(j =='totalAmount'){
|
|
|
+ return v[j]/100;
|
|
|
+ }else if(j =='totalTaxAmount'){
|
|
|
+ return v[j]/100;
|
|
|
+ }else if(j =='amount'){
|
|
|
+ return v[j]/100;
|
|
|
+ }else if(j=='sellerTaxpayerCode' || j=='cardId' ){
|
|
|
+ return v[j]+'\t';
|
|
|
+ }else{
|
|
|
+ return v[j];
|
|
|
+ }
|
|
|
+
|
|
|
+ }));
|
|
|
+ },
|
|
|
+ // 导出Excel
|
|
|
+ exportExcelComm(columns,list,excelName,loading){
|
|
|
+ let tHeader = []
|
|
|
+ let filterVal = []
|
|
|
+ columns.forEach(item =>{
|
|
|
+ tHeader.push(item.title)
|
|
|
+ filterVal.push(item.key)
|
|
|
+ })
|
|
|
+
|
|
|
+ const data = this.formatJson(filterVal,list);
|
|
|
+ data.unshift(tHeader);
|
|
|
+ CsvExportor.downloadCsv(data, { tHeader }, excelName+".csv");
|
|
|
+ loading.close();
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
</script>
|