Commit 3c32c866 by Sweet Zhang

对接应付款导出,对接入账检核字段

parent ef6e03ce
...@@ -403,3 +403,12 @@ export function updatePayRecord(data){ ...@@ -403,3 +403,12 @@ export function updatePayRecord(data){
data: data data: data
}) })
} }
// 应付款导出
export function exportPayRecord(data) {
return request({
url: '/csf/api/expectedFortune/export',
method: 'post',
data: data,
responseType: 'blob'
})
}
...@@ -105,16 +105,16 @@ ...@@ -105,16 +105,16 @@
<el-table-column prop="commissionDate" label="入账日" width="120" sortable /> <el-table-column prop="commissionDate" label="入账日" width="120" sortable />
<el-table-column prop="commissionExpectedStatus" label="入账状态" width="120" sortable <el-table-column prop="commissionExpectedStatus" label="入账状态" width="120" sortable
:formatter="formatStatus" /> :formatter="formatStatus" />
<el-table-column prop="currentCommissionRatio" label="本次入账比例" width="130" sortable /> <el-table-column prop="currentCommissionRatio" label="本次入账比例" width="130" sortable :formatter="formatRatio" />
<el-table-column prop="periodPaidRatio" label="累积入账比例" width="130" sortable /> <el-table-column prop="paidRatio" label="累积入账比例" width="130" sortable :formatter="formatRatio" />
<el-table-column prop="periodPendingRatio" label="待入账比例" width="120" sortable /> <el-table-column prop="pendingRatio" label="待入账比例" width="120" sortable :formatter="formatRatio" />
<el-table-column prop="paidAmount" label="本次入账金额" width="130" sortable /> <el-table-column prop="amount" label="本次入账金额" width="130" sortable :formatter="formatCurrencyUtil" />
<el-table-column prop="currency" label="入账币种" width="120" sortable /> <el-table-column prop="currency" label="入账币种" width="120" sortable />
<el-table-column prop="exchangeRate" label="结算汇率(实)" width="140" sortable /> <el-table-column prop="exchangeRate" label="结算汇率(实)" width="140" sortable />
<el-table-column prop="commissionPeriod" label="本次入账期数" width="130" sortable /> <el-table-column prop="commissionPeriod" label="本次入账期数" width="130" sortable />
<el-table-column prop="totalPeriod" label="总期数" width="120" sortable /> <el-table-column prop="totalPeriod" label="总期数" width="120" sortable />
<el-table-column prop="commissionName" label="入账项目" width="120" sortable /> <el-table-column prop="commissionName" label="入账项目" width="120" sortable />
<el-table-column prop="premium" label="期交保费" width="120" sortable /> <el-table-column prop="premium" label="期交保费" width="120" sortable :formatter="formatCurrencyUtil" />
<el-table-column prop="remark" label="备注" width="120" sortable /> <el-table-column prop="remark" label="备注" width="120" sortable />
<el-table-column prop="isDeleted" label="记录状态" width="120" sortable> <el-table-column prop="isDeleted" label="记录状态" width="120" sortable>
<template #default="{ row }"> <template #default="{ row }">
...@@ -288,6 +288,18 @@ import { ...@@ -288,6 +288,18 @@ import {
import { Plus, Upload, Select } from '@element-plus/icons-vue' import { Plus, Upload, Select } from '@element-plus/icons-vue'
import FileUpload from '@/components/FileUpload/index.vue' import FileUpload from '@/components/FileUpload/index.vue'
import { loadDicts, getDictLabel } from '@/utils/useDict' import { loadDicts, getDictLabel } from '@/utils/useDict'
const formatRatio = (row,column,cellValue,index) => {
if (cellValue == null || cellValue == '' || cellValue == 0) {
return '-'
}
return cellValue + '%'
}
const formatCurrencyUtil = (row,column,cellValue,index) => {
if (cellValue == null || cellValue == '' || cellValue == 0) {
return '-'
}
return formatCurrency(cellValue)
}
const files = ref('') const files = ref('')
// 分页相关 // 分页相关
const currentPage = ref(1) const currentPage = ref(1)
...@@ -469,8 +481,8 @@ onMounted(async () => { ...@@ -469,8 +481,8 @@ onMounted(async () => {
} }
}) })
// 格式化函数(每次渲染都会调用,所以能拿到最新字典) // 格式化函数(每次渲染都会调用,所以能拿到最新字典)
const formatStatus = (row, column) => { const formatStatus = (row, column,cellValue,index) => {
return getDictLabel('csf_expected_commission_status', row.status) // 实时查缓存 return getDictLabel('csf_expected_commission_status', cellValue) // 实时查缓存
} }
// 应收单类型 // 应收单类型
const commissionBizTypeOptions = [ const commissionBizTypeOptions = [
......
...@@ -171,11 +171,12 @@ import CommonPage from '@/components/commonPage' ...@@ -171,11 +171,12 @@ import CommonPage from '@/components/commonPage'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus'
import { formatCurrency } from '@/utils/number' import { formatCurrency } from '@/utils/number'
import { expectedFortuneList, payRecordList, addPayRecord, updatePayRecord } from '@/api/financial/commission' import { expectedFortuneList, payRecordList, addPayRecord, updatePayRecord, exportPayRecord } from '@/api/financial/commission'
import SearchForm from '@/components/SearchForm/SearchForm.vue' import SearchForm from '@/components/SearchForm/SearchForm.vue'
import CommonDialog from '@/components/commonDialog' import CommonDialog from '@/components/commonDialog'
import { loadDicts, getDictLabel } from '@/utils/useDict' import { loadDicts, getDictLabel } from '@/utils/useDict'
import useUserStore from '@/store/modules/user' import useUserStore from '@/store/modules/user'
import { safeDownload } from '@/utils/safeDownload'
// 设置出账状态 // 设置出账状态
const setPayRecordStatusDialogVisible = ref(false) const setPayRecordStatusDialogVisible = ref(false)
const selectedRow = ref(null) const selectedRow = ref(null)
...@@ -501,8 +502,17 @@ const handleImport = () => { ...@@ -501,8 +502,17 @@ const handleImport = () => {
ElMessage.info('点击导入按钮') ElMessage.info('点击导入按钮')
} }
const handleExport = () => { const handleExport = async () => {
ElMessage.info('点击导出按钮') // 获取搜索参数
const params = searchFormRef.value?.getFormData() || {}
const response = await exportPayRecord(params)
// 文件名设置为应收款导出_yyyy-MM-dd hh:mm:ss.xlsx,不需要-,用字符串
const fileName = `应付款导出_${new Date().toLocaleString().replace(/\//g, '').replace(/:/g, '').replace(/\s/g, '')}.xlsx`
await safeDownload(
response,
fileName,
'application/vnd.ms-excel;charset=utf-8'
)
} }
const handleReset = () => { const handleReset = () => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment