提交 3e2978c9 authored 作者: lihuihui's avatar lihuihui

feat: 全部下载

上级 16cccc19
......@@ -11,6 +11,7 @@
"blueimp-md5": "^2.18.0",
"clipboard": "^2.0.8",
"element-ui": "^2.15.5",
"js-file-download": "^0.4.12",
"qrcode.vue": "^1.7.0",
"query-string": "^7.0.1",
"vue": "^2.6.14",
......@@ -4170,6 +4171,11 @@
"integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
"dev": true
},
"node_modules/js-file-download": {
"version": "0.4.12",
"resolved": "https://registry.npmjs.org/js-file-download/-/js-file-download-0.4.12.tgz",
"integrity": "sha512-rML+NkoD08p5Dllpjo0ffy4jRHeY6Zsapvr/W86N7E0yuzAO6qa5X9+xog6zQNlH102J7IXljNY2FtS6Lj3ucg=="
},
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
......@@ -9664,6 +9670,11 @@
"integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
"dev": true
},
"js-file-download": {
"version": "0.4.12",
"resolved": "https://registry.npmjs.org/js-file-download/-/js-file-download-0.4.12.tgz",
"integrity": "sha512-rML+NkoD08p5Dllpjo0ffy4jRHeY6Zsapvr/W86N7E0yuzAO6qa5X9+xog6zQNlH102J7IXljNY2FtS6Lj3ucg=="
},
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
......
......@@ -16,6 +16,7 @@
"blueimp-md5": "^2.18.0",
"clipboard": "^2.0.8",
"element-ui": "^2.15.5",
"js-file-download": "^0.4.12",
"qrcode.vue": "^1.7.0",
"query-string": "^7.0.1",
"vue": "^2.6.14",
......
......@@ -16,3 +16,13 @@ export function getCondition(params) {
export function assignSales(data) {
return httpRequest.post('/api/finance/v1/invoices/assign-sales', data, {})
}
// 发票充值
export function deposit() {
return httpRequest.post('/api/finance/v1/invoices/deposit')
}
// 下载发票列表
export function downloadInvoices(params) {
return httpRequest.get('/api/finance/v1/invoices/download', { params, responseType: 'blob' })
}
......@@ -39,6 +39,7 @@
</template>
<el-row>
<el-button type="primary" @click="isHandleSelection">分配票据跟进人</el-button>
<el-button type="primary" @click="deposit">发票充值</el-button>
</el-row>
<template v-slot:table-x="{ row }">
<router-link :to="{ name: 'paymentView', params: { id: row.id } }">
......@@ -48,6 +49,7 @@
<template #footer>
<span>已选择{{ multipleSelection.length }}</span>
<el-button @click="exportSelect" style="margin-left: 40px">导出</el-button>
<el-button @click="downloadInvoices" style="margin-left: 40px">全部导出</el-button>
</template>
</app-list>
</app-card>
......@@ -66,9 +68,9 @@ import AppList from '@/components/base/AppList.vue'
import AppCard from '@/components/base/AppCard.vue'
import DistributionDialog from '../components/DistributionDialog.vue'
// 接口
import { getInvoiceList, getCondition } from '../api'
import { getInvoiceList, getCondition, deposit, downloadInvoices } from '../api'
import XLSX from 'xlsx'
import { funDownload } from '@/utils/util'
import fileDownload from 'js-file-download'
export default {
components: { AppCard, AppList, DistributionDialog },
......@@ -203,6 +205,22 @@ export default {
})
},
methods: {
// 发票列表下载
downloadInvoices() {
downloadInvoices(this.tableOptions.remote.params).then(res => {
console.log(res)
fileDownload(res, '发票列表.xlsx')
})
},
// 发票充值
deposit() {
deposit().then(res => {
this.$message({
message: '充值成功',
type: 'success'
})
})
},
beforeRequest(params, isReset) {
if (params.firstDate) {
const [firstTimeFrom, firstTimeTo] = params.firstDate
......@@ -243,7 +261,6 @@ export default {
const propList = list.map(item => item.prop)
const excelList = []
excelList.push(headList)
console.log(this.tableOptions.columns, '321123==')
this.multipleSelection.forEach(item => {
const rowValArr = []
propList.forEach(key => {
......@@ -270,8 +287,7 @@ export default {
wb.Sheets.Worksheet = ws
const wopts = { bookType: 'xlsx', bookSST: false, type: 'array' }
const wbout = XLSX.write(wb, wopts)
const url = URL.createObjectURL(new window.Blob([wbout], { type: 'application/octet-stream' }))
funDownload(url, `发票列表_${Date.now()}.xlsx`)
fileDownload(wbout, '发票列表.xlsx')
},
// 过滤对应option label
findName(names, item) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论