diff --git a/src/views/fingertipIntegral/settlementList.vue b/src/views/fingertipIntegral/settlementList.vue index e7527d5..bec433f 100644 --- a/src/views/fingertipIntegral/settlementList.vue +++ b/src/views/fingertipIntegral/settlementList.vue @@ -9,16 +9,34 @@ clearable /> --> - + + 搜索 + 导出 @@ -35,7 +53,7 @@ @@ -150,11 +168,14 @@ export default { keyword: undefined, settlementStatus: undefined, startDate: undefined, - status: undefined + status: undefined, + dateArr: [] }, list: undefined, - statusOptions: [ + exportLoading: false, + + settlementStatusOptions: [ { label: '待处理', value: '0' @@ -208,7 +229,13 @@ export default { }, methods: { getList() { - settlementList(this.listQuery).then(res => { + const listQuery = JSON.parse(JSON.stringify(this.listQuery)) + const { dateArr } = listQuery + if (dateArr) { + listQuery.startDate = dateArr[0] + listQuery.endDate = dateArr[1] + } + settlementList(listQuery).then(res => { this.list = res.d.records this.total = res.d.total // this.pageSize = res.d.pageSize @@ -244,6 +271,53 @@ export default { closeDia() { this.diaVisible = false }, + handleExport() { + const that = this + import('@/vendor/Export2Excel').then(excel => { + const tHeader = ['用户名', '店名', '结算积分数', '提交时间', '结算状态', '已处理状态', '处理备注', '发票状态'] + const filterVal = ['residentInformation.name', 'residentInformation.speciallyBusinessInfo.name', 'num', 'createDate', 'settlementStatus', 'dealStatus', 'remark', 'invoiceStatus'] + this.exportLoading = true + const listQuery = JSON.parse(JSON.stringify(this.listQuery)) + const { dateArr } = listQuery + if (dateArr) { + listQuery.startDate = dateArr[0] + listQuery.endDate = dateArr[1] + } + listQuery.size = 999999 + settlementList(listQuery).then(res => { + setTimeout(() => { + this.exportLoading = false + }, 3000) + + const data = that.formatJson(filterVal, res.d.records) + excel.export_json_to_excel({ + header: tHeader, + data: data, + filename: '结算记录' + }) + }) + }) + }, + formatJson(filterVal, jsonData) { + return jsonData.map(v => + filterVal.map(j => { + let value + if (j === 'invoiceStatus' || j === 'dealStatus' || j === 'settlementStatus') { + value = this.$options.filters['optionsFilter'](v[j], this[`${j}Options`]) + } else if (j === 'createDate') { + value = this.$options.filters['parseTime'](v[j]) + } else if (j === 'residentInformation.name') { + value = v['residentInformation']['name'] + } else if (j === 'residentInformation.speciallyBusinessInfo.name') { + value = v['residentInformation']['speciallyBusinessInfo']['name'] + } else { + value = v[j] + } + // if (!value && value !== 0) value = "N/A"; + return value + }) + ) + }, handleDelivery(item) { this.$confirm('是否收到发票?', '提示', { confirmButtonText: '确定',