Commit 5f1a210e by Sweet Zhang

完成出账对接

parent 8f8977d8
...@@ -87,4 +87,14 @@ export function deletePolicyCommission(data) { ...@@ -87,4 +87,14 @@ export function deletePolicyCommission(data) {
}) })
} }
// 更新出账状态
// /csf/api/fortune/update/status
export function updatePolicyFortuneStatus(data) {
return request({
url: '/csf/api/fortune/update/status',
method: 'post',
data: data
})
}
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
<el-table-column prop="status" label="出账状态" width="100"> <el-table-column prop="status" label="出账状态" width="100">
<template #default="{ row }"> <template #default="{ row }">
<el-tag :type="getStatusType(row.status)"> <el-tag :type="getStatusType(row.status)">
{{ row.status }} {{convertStatusToDict(row.status) }}
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
...@@ -165,7 +165,6 @@ ...@@ -165,7 +165,6 @@
<SuccessFilled /> <SuccessFilled />
</el-icon> </el-icon>
<p style="margin-top: 16px; font-size: 16px;">出账操作已完成!</p> <p style="margin-top: 16px; font-size: 16px;">出账操作已完成!</p>
<p style="margin-top: 8px; color: #666;">已成功处理 {{ selectedRows.length }} 条记录</p>
</div> </div>
<template #footer> <template #footer>
<el-button type="primary" @click="generateSalarySlips">生成薪资单</el-button> <el-button type="primary" @click="generateSalarySlips">生成薪资单</el-button>
...@@ -179,7 +178,7 @@ ...@@ -179,7 +178,7 @@
import { ref, reactive, onMounted } from 'vue' import { ref, reactive, onMounted } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus'
import { SuccessFilled } from '@element-plus/icons-vue' import { SuccessFilled } from '@element-plus/icons-vue'
import { getReferrerFortuneList } from '@/api/financial/commission' import { getReferrerFortuneList,updatePolicyFortuneStatus } from '@/api/financial/commission'
// 查询参数 // 查询参数
const queryParams = reactive({ const queryParams = reactive({
...@@ -237,6 +236,15 @@ const getList = async () => { ...@@ -237,6 +236,15 @@ const getList = async () => {
} }
} }
const getStatusType = (status) => {
const types = {
0: 'warning',
1: 'success',
2: 'info'
}
return types[status] || 'info'
}
// 查询 // 查询
const handleQuery = () => { const handleQuery = () => {
queryParams.pageNo = 1 queryParams.pageNo = 1
...@@ -313,12 +321,12 @@ const completeBilling = async () => { ...@@ -313,12 +321,12 @@ const completeBilling = async () => {
'提示', '提示',
{ type: 'warning' } { type: 'warning' }
) )
console.log(selectedRows.value)
const arr = selectedRows.value.map(item => item.fortuneAccountBizId)
// 调用出账API // 调用出账API
// await api.completeBilling(selectedRows.value.map(item => item.id)) await updateStatus(arr)
// 显示完成弹窗
billingCompleteDialogVisible.value = true
} catch (error) { } catch (error) {
if (error !== 'cancel') { if (error !== 'cancel') {
...@@ -371,18 +379,58 @@ const formatCurrency = (amount) => { ...@@ -371,18 +379,58 @@ const formatCurrency = (amount) => {
}).format(amount) }).format(amount)
} }
// 获取状态标签类型 import { listType } from '@/api/system/dict/type'
const getStatusType = (status) => { const dictLists = ref([])
const types = { // 获取出账状态字典值
pending: 'warning', const getDictLists = () => {
completed: 'success', return new Promise((resolve, reject) => {
cancelled: 'danger' listType({typeList: ['csf_fortune_status']}).then(res => {
if (res.code === 200 && res.data) {
const dictData = res.data.find(item => item.dictType === 'csf_fortune_status');
dictLists.value = dictData?.dictItemList || [];
console.log('获取到的字典数据:', dictLists.value);
resolve(dictLists.value);
} else {
dictLists.value = [];
resolve([]);
}
}).catch(error => {
console.error('获取状态列表失败:', error);
dictLists.value = [];
reject(error);
});
});
}
// 返回数据中状态需要转换为字典值
const convertStatusToDict = (status) => {
const dictItem = dictLists.value.find(item => item.itemValue == status);
return dictItem?.itemLabel ?? status;
}
// 更新出账状态
const updateStatus = async (row) => {
try {
const res = await updatePolicyFortuneStatus({
fortuneBizIdList: row,
status: 2
});
console.log(res)
if (res.code === 200) {
// 显示完成弹窗
billingCompleteDialogVisible.value = true
getList()
} else {
ElMessage.error(res.msg)
}
} catch (error) {
} }
return types[status] || 'info'
} }
// 初始化 // 初始化
onMounted(() => { onMounted(() => {
getDictLists()
getList() getList()
}) })
</script> </script>
......
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