Commit b6f33106 by yuzhenWang

Merge branch 'wyz' into 'test'

优化3

See merge request !146
parents ab8422e3 0b805847
......@@ -556,3 +556,11 @@ export function editExchangeRateApi(data) {
data: data
})
}
// 批量设置出账年月实
export function batchActualPayoutDate(data) {
return request({
url: '/csf/api/fortune/edit/actual_payout_date/batch',
method: 'post',
data: data
})
}
......@@ -71,7 +71,7 @@ import { ZoomIn, ZoomOut, Document, Picture } from '@element-plus/icons-vue'
import * as PDFJS from 'pdfjs-dist'
// 配置 PDF.js worker
PDFJS.GlobalWorkerOptions.workerSrc = '/js/pdf.worker.min.mjs'
PDFJS.GlobalWorkerOptions.workerSrc = '/js/pdf.worker.min.mjs' //在public/js/pdf.worker.min.mjs
// ---------- 内部状态 ----------
const dialogVisible = ref(false) // 弹窗显示状态
......
......@@ -126,7 +126,7 @@
sortable
:formatter="row => formatCurrency(row.hkdAmount || 0)"
/>
<el-table-column prop="currency" label="出账币种" width="130" sortable />
<el-table-column prop="payoutCurrency" label="出账币种" width="130" sortable />
<el-table-column
prop="fortunePaidAmount"
label="已出账金额"
......@@ -192,6 +192,13 @@
<div class="tableOptionContainer">
<el-button
type="primary"
:icon="EditPen"
:disabled="updatePayRollStatusDisable"
@click="batchSettingBillYearMonth"
>批量设置出账年月(实)</el-button
>
<el-button
type="primary"
:icon="Select"
:disabled="updatePayRollStatusDisable"
@click="downloadPolicyFortuneAccountapi"
......@@ -318,7 +325,7 @@ import CommonDialog from '@/components/commonDialog'
import SearchForm from '@/components/SearchForm/SearchForm.vue'
import { ElMessage } from 'element-plus'
import { formatCurrency, calculateAmount } from '@/utils/number'
import { Select } from '@element-plus/icons-vue'
import { Select, EditPen } from '@element-plus/icons-vue'
// 接口
import {
......@@ -329,7 +336,8 @@ import {
billSplitApi,
commissionExchangeRateApi,
actualPayoutDateApi,
editExchangeRateApi
editExchangeRateApi,
batchActualPayoutDate
} from '@/api/financial/commission'
import useUserStore from '@/store/modules/user'
const rateExchangeFormRef = ref(null)
......@@ -1462,13 +1470,13 @@ const submitSettingBillYearMonth = async () => {
if (billTimeType.value == 'multiple') {
//等后端接口
try {
const res = await downloadPolicyFortuneAccount({
const res = await batchActualPayoutDate({
fortuneBizIdList: multipleSelection.value.map(item => item.fortuneBizId),
actualPayoutDate: settingBillTimeForm.value.actualPayoutDate
})
if (res.code === 200) {
settingBillYearMonthFlag.value = false
ElMessage.success('完成检核,等待关账')
ElMessage.success(res.data)
const params = await searchFormRef.value.getFormData()
loadTableData(params)
}
......@@ -1494,23 +1502,27 @@ const submitSettingBillYearMonth = async () => {
}
}
}
const downloadPolicyFortuneAccountapi = async data => {
console.log('生成出账清单:', data)
const batchSettingBillYearMonth = () => {
settingBillYearMonthFlag.value = true
settingBillTimeForm.value = {}
billTimeType.value = 'multiple'
// try {
// const res = await downloadPolicyFortuneAccount({
// fortuneBizIdList: multipleSelection.value.map(item => item.fortuneBizId)
// })
// if (res.code === 200) {
// ElMessage.success('完成检核,等待关账')
// loadTableData()
// }
// } catch (error) {
// console.error('检核失败:', error)
// ElMessage.error(error.response?.data?.msg || '检核失败')
// }
}
const downloadPolicyFortuneAccountapi = async data => {
console.log('生成出账清单:', data)
try {
const res = await downloadPolicyFortuneAccount({
fortuneBizIdList: multipleSelection.value.map(item => item.fortuneBizId)
})
if (res.code === 200) {
ElMessage.success('完成检核,等待关账')
const searchParams = await searchFormRef.value.getFormData()
loadTableData(searchParams)
}
} catch (error) {
console.error('检核失败:', error)
ElMessage.error(error.response?.data?.msg || '检核失败')
}
}
import FileUploadPreview from '@/components/fileUploadPreview/fileUploadPreview.vue'
......
......@@ -708,8 +708,8 @@ const confirmRecordCheck = async () => {
ElMessage.success('修改检核记录成功')
recordCheckDialogFlag.value = false
updateDataFormRef.value.resetForm()
loadTableData()
const searchParams = searchFormRef.value.getFormData()
loadTableData(searchParams)
} catch (error) {
console.error('操作失败', error)
ElMessage.error('操作失败')
......@@ -985,7 +985,7 @@ const handleReset = () => {
const handleQuery = async () => {
currentPage.value = 1
const params = searchFormRef.value.getFormData()
console.log('查询:', params)
loadTableData(params)
}
......@@ -1151,7 +1151,8 @@ const setCompareStatusapi = async () => {
ElMessage.success('设置比对状态成功')
setCompareStatusDialogFlag.value = false
setCompareStatusFormRef.value.resetForm()
loadTableData()
const searchParams = searchFormRef.value.getFormData()
loadTableData(searchParams)
} else {
ElMessage.error(res.msg || '设置比对状态失败')
}
......@@ -1247,7 +1248,8 @@ const confirmAccountedStatus = () => {
if (res.code === 200) {
ElMessage.success('状态修改成功')
accountedStatusFlag.value = false
loadTableData() // 重新加载表格
const searchParams = searchFormRef.value.getFormData()
loadTableData(searchParams)
} else {
ElMessage.error(res.msg || '状态修改失败')
}
......
......@@ -43,7 +43,7 @@
>
<el-table-column type="selection" width="55" :reserve-selection="true" />
<el-table-column prop="businessNo" label="业务编号" min-width="120" />
<el-table-column prop="fortuneAccountBizId" label="业务ID" min-width="120" sortable />
<!-- <el-table-column prop="fortuneAccountBizId" label="业务ID" min-width="120" sortable /> -->
<el-table-column prop="broker" label="转介人" min-width="120" sortable />
<el-table-column prop="team" label="所属团队" min-width="120" sortable />
<el-table-column prop="hkdAmount" label="出账金额" width="120" sortable>
......@@ -373,7 +373,7 @@ const searchConfig = ref([
label: '转介人',
api: '/insurance/base/api/userSaleExpand/page',
keywordField: 'realName',
requestParams: { pageNo: 1, pageSize: 20 },
requestParams: { pageNo: 1, pageSize: 9999 },
placeholder: '输入转介人名称搜索',
debounceWait: 500, // 自定义防抖时间
valueKey: 'clientUserBizId',
......
<template>
<div class='app-container'>
<CommonPage :operationBtnList='operationBtnList' :visibleDefaultButtons='visibleDefaultButtons'
:showSearchForm='true' :show-pagination='true' :total='pageTotal' :current-page='currentPage'
:page-size='pageSize' @size-change='handleSizeChange' @current-change='handleCurrentChange'>
<div class="app-container">
<CommonPage
:operationBtnList="operationBtnList"
:visibleDefaultButtons="visibleDefaultButtons"
:showSearchForm="true"
:show-pagination="true"
:total="pageTotal"
:current-page="currentPage"
:page-size="pageSize"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
>
<!-- 搜索区域 -->
<template #searchForm>
<SearchForm ref="searchFormRef" :config="searchConfig" />
</template>
<!-- 列表区域 -->
<template #table>
<el-table :data="tableData" v-loading="loading" ref="tableRef"
row-key="salarySplitNo" :reserve-selection="true" :border="true">
<el-table-column v-for="(column, index) in tableColumns" :key="index" :fixed="column.fixed"
:prop="column.prop" :label="column.label" :width="column.width" :sortable="column.sortable"
:formatter="column.formatter" />
<el-table
:data="tableData"
v-loading="loading"
ref="tableRef"
row-key="salarySplitNo"
:reserve-selection="true"
:border="true"
>
<el-table-column
v-for="(column, index) in tableColumns"
:key="index"
:fixed="column.fixed"
:prop="column.prop"
:label="column.label"
:width="column.width"
:sortable="column.sortable"
:formatter="column.formatter"
/>
</el-table>
</template>
</CommonPage>
</div>
</template>
<script setup>
import { ref, reactive } from 'vue'
import CommonPage from '@/components/commonPage'
import {salarySummary,exportPayRoll} from '@/api/financial/commission'
import { salarySummary, exportPayRoll } from '@/api/financial/commission'
import { ElMessageBox, ElMessage } from 'element-plus'
import SearchForm from '@/components/SearchForm/SearchForm.vue'
const searchFormRef = ref(null)
......@@ -37,13 +56,13 @@ const searchConfig = ref([
label: '转介人',
api: '/insurance/base/api/userSaleExpand/page',
keywordField: 'realName',
requestParams: { pageNo: 1, pageSize: 20 },
requestParams: { pageNo: 1, pageSize: 9999 },
placeholder: '输入转介人名称搜索',
debounceWait: 500, // 自定义防抖时间
valueKey: 'clientUserBizId',
labelKey: 'realName',
multiple: true,
transform: (res) => {
transform: res => {
return res?.data.records || []
}
},
......@@ -57,26 +76,30 @@ const searchConfig = ref([
{
type: 'input',
prop: 'billOrg',
label: '出账机构',
label: '出账机构'
},
{
type: 'input',
prop: 'businessNo',
label: '业务编号'
}
])
const tableColumns = ref([
{ prop: 'salarySplitNo', label: '发放编号', sortable: true, width: '150', fixed: 'left' },
{ prop: 'businessNo', label: '业务编号' , width: '150',fixed:'left'},
{ prop: 'brokerName', label: '转介人', sortable: true, width: '150',fixed:'left'},
{ prop: 'internalNumber', label: '内部编号', sortable: true, width: '150'},
{ prop: 'team', label: '所属团队', sortable: true, width: '150'},
{ prop: 'fromAmount', label: '原币种金额', sortable: true, width: '150'},
{ prop: 'currency', label: '原币种', sortable: true, width: '150'},
{ prop: 'exchangeRate', label: '汇率(原币种->目标币种)', sortable: true, width: '150'},
{ prop: 'toAmount', label: '目标金额', sortable: true, width: '150'},
{ prop: 'toCurrency', label: '目标币种', sortable: true, width: '150'},
{ prop: 'fortuneAccountMonth', label: '出账月(实)', sortable: true, width: '150'},
{ prop: 'billOrg', label: '出账机构', sortable: true, width: '150'},
{ prop: 'hkdAmount', label: '本期总出账金额(原币种)', sortable: true, width: '150'},
{ prop: 'businessNo', label: '业务编号', width: '150', fixed: 'left' },
{ prop: 'brokerName', label: '转介人', sortable: true, width: '150', fixed: 'left' },
{ prop: 'internalNumber', label: '内部编号', sortable: true, width: '150' },
{ prop: 'team', label: '所属团队', sortable: true, width: '150' },
{ prop: 'fromAmount', label: '原币种金额', sortable: true, width: '150' },
{ prop: 'currency', label: '原币种', sortable: true, width: '150' },
{ prop: 'exchangeRate', label: '汇率(原币种->目标币种)', sortable: true, width: '150' },
{ prop: 'toAmount', label: '目标金额', sortable: true, width: '150' },
{ prop: 'toCurrency', label: '目标币种', sortable: true, width: '150' },
{ prop: 'fortuneAccountMonth', label: '出账月(实)', sortable: true, width: '150' },
{ prop: 'billOrg', label: '出账机构', sortable: true, width: '150' },
{ prop: 'hkdAmount', label: '本期总出账金额(原币种)', sortable: true, width: '150' }
// { prop: 'fortuneAccountBizId', label: '出账记录业务id', sortable: true, width: '150'},
])
// 添加表格引用
const tableRef = ref()
......@@ -90,27 +113,25 @@ const currentPage = ref(1)
const pageSize = ref(10)
const pageTotal = ref(0)
// 分页事件
const handleSizeChange = (val) => {
const handleSizeChange = val => {
pageSize.value = val
getList()
}
const handleCurrentChange = (val) => {
const handleCurrentChange = val => {
currentPage.value = val
getList()
}
// 获取数据列表
const getList = async (searchParams = {}) => {
loading.value = true
try {
const params = {
...searchParams,
startMonth:searchParams.payoutMonth ? searchParams.payoutMonth[0] : '',
endMonth:searchParams.payoutMonth ? searchParams.payoutMonth[1] :'',
payoutMonth:undefined,
startMonth: searchParams.payoutMonth ? searchParams.payoutMonth[0] : '',
endMonth: searchParams.payoutMonth ? searchParams.payoutMonth[1] : '',
payoutMonth: undefined,
pageNo: currentPage.value,
pageSize: pageSize.value
}
......@@ -150,22 +171,19 @@ const handleExport = async () => {
let params = searchFormRef.value?.getFormData()
params = {
...params,
startMonth:params.payoutMonth ? params.payoutMonth[0] : '',
endMonth:params.payoutMonth ? params.payoutMonth[1] :'',
payoutMonth:undefined,
startMonth: params.payoutMonth ? params.payoutMonth[0] : '',
endMonth: params.payoutMonth ? params.payoutMonth[1] : '',
payoutMonth: undefined
}
const response = await exportPayRoll(params)
if(response.data && response.data.url){
if (response.data && response.data.url) {
window.open(response.data.url)
}else{
} else {
ElMessage.error('导出失败')
}
}
const visibleDefaultButtons = ref(['export','reset', 'query'])
const visibleDefaultButtons = ref(['export', 'reset', 'query'])
// 按钮配置
const operationBtnList = ref([
{
......@@ -184,7 +202,6 @@ const operationBtnList = ref([
click: handleExport
}
])
</script>
<style scoped></style>
......@@ -695,21 +695,21 @@ const statisticsData = ref({
})
const handleInputChange = async (formType, prop, value, item) => {
if (formType == 'addReceivables') {
await nextTick()
let policyNo = addReceivablesFormModel.value.policyNo
let commissionPeriod = addReceivablesFormModel.value.commissionPeriod
if ((prop == 'policyNo' || prop == 'commissionPeriod') && commissionPeriod && policyNo) {
//等待后端接口
const res = await commissionExchangeRateApi({
policyNo: policyNo,
commissionPeriod: commissionPeriod
})
if (res.code == 200) {
addReceivablesFormModel.value.exchangeRate = res.data
} else {
ElMessage.error('查询结算汇率失败')
}
}
// await nextTick()
// let policyNo = addReceivablesFormModel.value.policyNo
// let commissionPeriod = addReceivablesFormModel.value.commissionPeriod
// if ((prop == 'policyNo' || prop == 'commissionPeriod') && commissionPeriod && policyNo) {
// //等待后端接口
// const res = await commissionExchangeRateApi({
// policyNo: policyNo,
// commissionPeriod: commissionPeriod
// })
// if (res.code == 200) {
// addReceivablesFormModel.value.exchangeRate = res.data
// } else {
// ElMessage.error('查询结算汇率失败')
// }
// }
}
}
// 按钮事件处理
......
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