Commit 6b4dbc30 by Sweet Zhang

联调

parent d9ec28db
......@@ -251,7 +251,7 @@ export function batchSaveBrokers(data) {
// 通过保险公司、险种查询产品列表及参数
export function getProductList(data) {
return request({
url: '/csf/prodcut/api/relProjectProductLaunch/parameter/page',
url: '/prodcut/api/relProjectProductLaunch/parameter/page',
method: 'post',
data: data
})
......
......@@ -629,11 +629,11 @@ function getSelectOptions(item) {
return []
}
async function loadRemoteOptionsForInit(item) {
const { prop, api, requestParams = {} } = item
const { prop, api, requestParams } = item
try {
// 构造请求体:只传 requestParams,不传 keyword
const payload = {
...(requestParams || {})
...(typeof requestParams === 'function' ? requestParams() : requestParams || {})
}
const res = await request({
......@@ -663,7 +663,7 @@ async function loadRemoteOptionsForInit(item) {
}
// ==================== 加载远程 API 选项(首次 focus 时加载,无搜索词) ====================
async function loadRemoteOptions(item) {
const { prop, api, requestParams = {}, keywordField, debounceWait, ...rest } = item
const { prop, api, requestParams, keywordField, debounceWait, ...rest } = item
if (!api || remoteOptions.value[prop]?.length > 0) return
try {
......@@ -671,7 +671,7 @@ async function loadRemoteOptions(item) {
// 构造请求体:合并 requestParams + 分页(默认第一页)
const payload = {
...(requestParams || {})
...(typeof requestParams === 'function' ? requestParams() : requestParams || {})
// 注意:此时无 keyword,所以不加 keywordField
}
......@@ -706,7 +706,7 @@ async function loadRemoteOptions(item) {
// ==================== 远程搜索(带关键词,防抖) ====================
let searchTimeout = null
function handleFilterChange(keyword, item) {
const { prop, api, requestParams = {}, keywordField = 'keyword', debounceWait = 300 } = item
const { prop, api, requestParams, keywordField = 'keyword', debounceWait = 300 } = item
if (!api) return
clearTimeout(searchTimeout)
......@@ -716,7 +716,7 @@ function handleFilterChange(keyword, item) {
// 构造请求体:requestParams + 分页 + 动态关键词字段
const payload = {
...(requestParams || {}),
...(typeof requestParams === 'function' ? requestParams() : requestParams || {}),
[keywordField]: keyword // ← 动态字段名,如 name / companyName
}
......
......@@ -9,14 +9,14 @@
</template>
<!-- 列表区域 -->
<template #table>
<!-- 统计信息卡片 -->
<div class="statistics-container" v-if="statisticsData.totalInAmount > 0">
<!-- 统计信息卡片 v-if="statisticsData.totalInAmount > 0"-->
<div class="statistics-container">
<el-row :gutter="20">
<el-col :xs="24" :sm="12" :md="4" :lg="4">
<el-card shadow="hover" class="statistics-card">
<div class="card-content">
<div class="card-label">入账金额</div>
<div class="card-value">{{ statisticsData.totalInAmount }}</div>
<div class="card-value">{{ statisticsData.totalInAmount ? formatCurrency(statisticsData.totalInAmount) : 0 }}</div>
</div>
</el-card>
</el-col>
......@@ -24,7 +24,7 @@
<el-card shadow="hover" class="statistics-card">
<div class="card-content">
<div class="card-label">总保单数</div>
<div class="card-value">{{ statisticsData.totalPolicyCount }}</div>
<div class="card-value">{{ statisticsData.totalPolicyCount ? statisticsData.totalPolicyCount : 0 }}</div>
</div>
</el-card>
</el-col>
......@@ -32,7 +32,7 @@
<el-card shadow="hover" class="statistics-card">
<div class="card-content">
<div class="card-label">总保费(HKD)</div>
<div class="card-value">{{ statisticsData.totalPremium }}</div>
<div class="card-value">{{ statisticsData.totalPremium ? formatCurrency(statisticsData.totalPremium) : 0 }}</div>
</div>
</el-card>
</el-col>
......@@ -40,7 +40,7 @@
<el-card shadow="hover" class="statistics-card">
<div class="card-content">
<div class="card-label">待出账金额</div>
<div class="card-value">{{ statisticsData.pendingOutAmount }}</div>
<div class="card-value">{{ statisticsData.pendingOutAmount ? formatCurrency(statisticsData.pendingOutAmount) : 0 }}</div>
</div>
</el-card>
</el-col>
......@@ -48,7 +48,7 @@
<el-card shadow="hover" class="statistics-card">
<div class="card-content">
<div class="card-label">可出账金额</div>
<div class="card-value">{{ statisticsData.availableOutAmount }}</div>
<div class="card-value">{{ statisticsData.availableOutAmount ? formatCurrency(statisticsData.availableOutAmount) : 0 }}</div>
</div>
</el-card>
</el-col>
......@@ -56,7 +56,7 @@
<el-card shadow="hover" class="statistics-card">
<div class="card-content">
<div class="card-label">差额(估)</div>
<div class="card-value">{{ formatCurrency(statisticsData.differenceAmount) }}</div>
<div class="card-value">{{ statisticsData.differenceAmount ? formatCurrency(statisticsData.differenceAmount) : 0 }}</div>
</div>
</el-card>
</el-col>
......@@ -73,7 +73,7 @@
<el-table-column prop="policyNo" label="保单号" width="120" sortable />
<el-table-column prop="insuranceCompany" label="保险公司" width="120" sortable />
<el-table-column prop="commissionPaidAmount" label="累积已入账金额" width="120" sortable />
<el-table-column prop="commissionPaidRatio" label="累积已入账比例" width="120" sortable :formatter="(row) => `${row.commissionPaidRatio }%`" />
<el-table-column prop="commissionPaidRatio" label="累积已入账比例" width="120" sortable :formatter="(row) => `${row.commissionPaidRatio ? row.commissionPaidRatio : 0 }%`" />
<el-table-column prop="fortuneName" label="出账项目" width="130" sortable />
<el-table-column prop="fortunePeriod" label="出账期数" width="130" sortable />
<el-table-column prop="fortuneTotalPeriod" label="总期数" width="120" sortable />
......@@ -185,7 +185,7 @@ const searchConfig = ref([
debounceWait: 500, // 自定义防抖时间
multiple: true,
valueKey: 'insuranceCompanyBizId',
labelKey: 'abbreviation',
labelKey: 'fullName',
transform: (res) => {
console.log(res)
return res?.data.records || []
......
......@@ -387,7 +387,7 @@ const searchConfig = ref([
debounceWait: 500, // 自定义防抖时间
multiple: true,
valueKey: 'insuranceCompanyBizId',
labelKey: 'abbreviation',
labelKey: 'fullName',
transform: (res) => {
console.log(res)
return res?.data.records || []
......
......@@ -319,7 +319,7 @@ const searchConfig = ref([
placeholder: '输入保险公司名称搜索',
debounceWait: 500, // 自定义防抖时间
valueKey: 'insuranceCompanyBizId',
labelKey: 'abbreviation',
labelKey: 'fullName',
transform: (res) => {
console.log(res)
return res?.data.records || []
......@@ -725,6 +725,7 @@ const handleConfirmSetPayRecordStatus = async () => {
onMounted(async () => {
try {
await loadDicts(['csf_expected_fortune_status'])
loadTableData()
} catch (error) {
console.error('字典加载失败', error)
} finally {
......
......@@ -410,7 +410,7 @@ const searchConfig = ref([
debounceWait: 500, // 自定义防抖时间
multiple: true,
valueKey: 'insuranceCompanyBizId',
labelKey: 'abbreviation',
labelKey: 'fullName',
transform: (res) => {
return res?.data.records || []
}
......@@ -736,6 +736,7 @@ const handleConfirmSetStatus = () => {
onMounted(async () => {
try {
await loadDicts(['csf_expected_commission_status'])
loadTableData()
} catch (error) {
console.error('字典加载失败', error)
} finally {
......
......@@ -824,17 +824,25 @@ const viewHistory = () => {
}
}
const handleTableSelectChange = (father, row, key) => {
console.log('选择了', row, key)
searchOptions.value[key].forEach(item => {
console.log('item', item)
if (row[key] == item.value) {
row[key] = item.label
row.userBizId = item.userBizId
if (key == 'name') {
row.userSignBizId = item.value
row.practiceCode = item.practiceCode
row.phone = item.phone
row.cardNo = item.cardNo
row.email = item.email
row.cardType = item.cardType
} else if (key == 'realName') {
row.userSaleBizId = item.value
}
}
})
}
// 添加表单子级dom
const addChildren = father => {
......
......@@ -667,10 +667,10 @@ const remittanceConfig = [
type: 'select',
prop: 'policyNo',
label: '保单号码',
api: '/csf/api/policy/list/page/vo',
api: '/csf/api/policy_follow/policyNos',
keywordField: 'policyNo',
requestParams: { pageNo: 1, pageSize: 20 },
placeholder: '输入转介人名称搜索',
requestParams: { pageNo: 1, pageSize: 100 },
placeholder: '输入保单号码搜索',
debounceWait: 500, // 自定义防抖时间
valueKey: 'policyNo',
labelKey: 'policyNo',
......@@ -1046,10 +1046,10 @@ const addCheckRecordConfig = [
type: 'select',
prop: 'policyNo',
label: '保单号码',
api: '/csf/api/policy/list/page/vo',
api: '/csf/api/policy_follow/policyNos',
keywordField: 'policyNo',
requestParams: { pageNo: 1, pageSize: 20 },
placeholder: '输入转介人名称搜索',
requestParams: { pageNo: 1, pageSize: 100 },
placeholder: '输入保单号码搜索',
debounceWait: 500, // 自定义防抖时间
valueKey: 'policyNo',
labelKey: 'policyNo',
......
......@@ -120,13 +120,14 @@ const editStatusFormConfig = ref([
prop: 'status',
label: '新单状态',
dictType: 'csf_policy_follow_status_new'
}, {
},
{
type: 'date',
prop: 'policyEffectiveDate',
prop: 'effectiveDate',
label: '保单生效日',
}, {
type: 'date',
prop: 'policyInsureDate',
prop: 'underwritingDate',
label: '保单核保日',
},
])
......@@ -243,6 +244,7 @@ const normalizeIntroducerData = (data) => {
onMounted(async () => {
try {
await loadDicts(['csf_policy_follow_status_new'])
loadTableData()
} catch (error) {
console.error('字典加载失败', error)
} finally {
......@@ -338,7 +340,7 @@ const searchConfig = ref([
placeholder: '输入保险公司名称搜索',
debounceWait: 500, // 自定义防抖时间
valueKey: 'insuranceCompanyBizId',
labelKey: 'abbreviation',
labelKey: 'fullName',
multiple: true,
transform: (res) => {
return res?.data.records || []
......@@ -425,6 +427,10 @@ const handleSelect = async (e, row) => {
viewDetailDialogFlag.value = true
break
case 'setNewSingleStatus':
if (selectedRow.value.status === '生效') {
ElMessage.warning('保单已生效,不能更新新单状态')
return
}
editStatusDialogFlag.value = true
editStatusFormData.value = {
status: row.status
......
......@@ -62,6 +62,16 @@ export default defineConfig(({ mode, command }) => {
// proxyReq.setHeader('host', '139.224.145.34:9002')
// })
// }
},'/product': {
target: 'http://139.224.145.34:9002',
changeOrigin: true,
secure: false,
// 如果后端需要 host 头
// configure: (proxy, options) => {
// proxy.on('proxyReq', (proxyReq, req, res) => {
// proxyReq.setHeader('host', '139.224.145.34:9002')
// })
// }
},
// springdoc proxy
'^/v3/api-docs/(.*)': {
......
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