Commit b567c4f0 by Sweet Zhang

新单跟进对接

parent d1d8bca2
......@@ -247,3 +247,12 @@ export function batchSaveBrokers(data) {
data: data
})
}
// 通过保险公司、险种查询产品列表及参数
export function getProductList(data) {
return request({
url: '/csf/prodcut/api/relProjectProductLaunch/parameter/page',
method: 'post',
data: data
})
}
<template>
<div class="editable-table">
<el-form
ref="formRef"
:model="{}"
label-width="120px"
size="small"
>
<el-table
:data="internalData"
border
style="width: 100%"
:row-style="{ height: '48px' }"
:cell-style="{ padding: '6px 0' }"
>
<el-table-column
v-for="field in rowConfig"
:key="field.prop"
:label="field.label"
:width="field.width"
:min-width="field.minWidth"
>
<el-form ref="formRef" :model="{}" label-width="120px" size="small">
<el-button type="primary" size="default" style="margin: 12px 0" @click="addRow" :disabled="disabled">
添加一行
</el-button>
<el-table :data="internalData" border style="width: 100%" :row-style="{ height: '48px' }"
:cell-style="{ padding: '6px 0' }">
<el-table-column v-for="field in rowConfig" :key="field.prop" :label="field.label" :width="field.width"
:min-width="field.minWidth">
<template #default="{ row }">
<component
:is="getFieldComponent(field.type)"
v-bind="getFieldProps(field, row.data)"
<component :is="getFieldComponent(field.type)" v-bind="getFieldProps(field, row.data)"
@update:model-value="val => handleFieldChange(val, field, row)"
@option-change="option => handleOptionChange(option, field, row)"
@focus="() => loadRemoteOptions(field)"
@filter-change="keyword => handleFilterChange(keyword, field)"
:disabled="!!field.disabled || disabled"
/>
:disabled="!!field.disabled || disabled" />
</template>
</el-table-column>
<el-table-column label="操作" width="100" fixed="right">
<template #default="{ $index }">
<el-button
type="danger"
size="small"
link
@click="removeRow($index)"
:disabled="disabled"
>
<el-button type="danger" size="small" link @click="removeRow($index)" :disabled="disabled">
删除
</el-button>
</template>
</el-table-column>
</el-table>
<el-button
type="primary"
size="small"
style="margin-top: 12px"
@click="addRow"
:disabled="disabled"
>
添加一行
</el-button>
<!-- <el-button
type="success"
size="small"
......
......@@ -75,19 +75,12 @@
border
max-height="380px"
>
<el-table-column type="index" width="50" label="序号" />
<el-table-column type="index" width="60" label="序号" />
<el-table-column label="客户姓名" align="center" prop="customerName" width="100" />
<el-table-column label="状态" align="center" width="150">
<!-- <el-table-column label="状态" align="center" prop="status" width="100" :formatter="getDictLabel('csf_fna_status')"/> -->
<el-table-column label="状态" sortable align="center" prop="status" width="200">
<template #default="scope">
<span v-if="scope.row.status == 'UNCOMPLETED'">
<span style="color: #ff7d00" class="iconfont icon-yanqiweiwancheng"></span> 未完成
</span>
<span v-if="scope.row.status == 'COMPLETED'"
><span style="color: #43cf7c" class="iconfont icon-yiwancheng"></span> 已完成
</span>
<span v-if="scope.row.status == 'DRAFT'"
><span style="color: #86909c" class="iconfont icon-genjinjilu"></span> 草稿
</span>
<span>{{ selectDictLabel(csf_fna_status, scope.row.status) }}</span>
</template>
</el-table-column>
<el-table-column
......
......@@ -71,8 +71,9 @@
<CommonDialog :dialogTitle='mode === "viewDetail" ? "查看详情" : "更新数据"' dialogWidth='80%'
:openDialog=viewDetailDialogFlag :showAction='false' :showClose='true' @close='viewDetailDialogFlag = false'
@confirm='handleUpdateSubmit'>
<PolicyDetail v-model="policyDetailFormData" ref="policyDetailFormRef" @submit="onSubmit"
@cancel="viewDetailDialogFlag = false" />
<PolicyDetail v-model="policyDetailFormData" :policyBizId="selectedRow.policyBizId" :mode="mode"
ref="policyDetailFormRef" @submit="onSubmit" @cancel="viewDetailDialogFlag = false"
v-if="viewDetailDialogFlag" />
</CommonDialog>
......@@ -172,7 +173,6 @@ const onSubmit = async (data) => {
const res = await saveMailingInfo(params)
if (res.code === 200) {
ElMessage.success('保存邮寄信息成功')
// viewDetailDialogFlag.value = false
} else {
ElMessage.error(res.msg || '保存邮寄信息失败')
}
......@@ -184,10 +184,10 @@ const onSubmit = async (data) => {
}
const res = await updatePolicyfollow(params)
if (res.code === 200) {
ElMessage.success('保存基本信息成功')
ElMessage.success(data.activeTab === 'basic' ? '保存基本信息成功' : '保存产品计划成功')
// viewDetailDialogFlag.value = false
} else {
ElMessage.error(res.msg || '保存基本信息失败')
ElMessage.error(res.msg || (data.activeTab === 'basic' ? '保存基本信息失败' : '保存产品计划失败'))
}
} else if (data.activeTab === 'introducer') {
params = {
......@@ -228,10 +228,7 @@ const onSubmit = async (data) => {
}
const handleClose = () => {
// 可选:清空数据
}
// 处理转介人数据格式
const normalizeIntroducerData = (data) => {
if (Array.isArray(data)) return data
if (data && typeof data === 'object') {
......@@ -407,44 +404,40 @@ const dropdownItems = [
{ label: '更新数据', value: 'updateData' },
{ label: '生成签单报告', value: 'generateReport' },
{ label: '设置新单状态', value: 'setNewSingleStatus' },
{ label: '查看关联', value: 'viewRelated' },
// { label: '查看关联', value: 'viewRelated' },
// { label: '查看记录', value: 'viewRecord' },
]
const mode = ref('viewDetail')
const handleSelect = async (e, row) => {
selectedRow.value = { ...row }
console.log('列表点击操作', e, selectedRow.value)
mode.value = e
switch (e) {
case 'viewDetail':
// ElMessage.info('查看详情')
viewDetailDialogFlag.value = true
// 等待 DOM 更新完成
await nextTick()
if (policyDetailFormRef.value) {
// 调用子组件详情查询接口
const data = await policyDetailFormRef.value.getPolicyfollowDetail(row.policyBizId)
}
break
case 'updateData':
ElMessage.info('更新数据')
if (selectedRow.value.status === '生效') {
ElMessage.warning('非新单状态,不能更新数据')
return
}
viewDetailDialogFlag.value = true
break
case 'setNewSingleStatus':
// ElMessage.info('设置新单状态')
editStatusDialogFlag.value = true
editStatusFormData.value = {
status: row.status
}
break
case 'viewRelated':
// ElMessage.info('查看关联')
viewRelatedDialogFlag.value = true
break
case 'generateReport':
generateReport(row)
break
case 'viewRecord':
ElMessage.info('查看记录')
// ElMessage.info('查看记录')
break
default:
break
......@@ -465,10 +458,15 @@ const generateReport = async (row) => {
fileName,
'application/pdf;charset=utf-8'
)
if (res.code === 200) {
ElMessage.success('报告生成成功')
}else{
ElMessage.error(res.msg || '报告生成失败')
}
// 可以添加下载报告的逻辑
} catch (error) {
ElMessage.error(error.message || '报告生成失败')
console.error(error.message || '报告生成失败')
}
}
......
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