Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-csf-front
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
yuzhenWang
yd-csf-front
Commits
6ae4c2de
Commit
6ae4c2de
authored
Jan 15, 2026
by
yuzhenWang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature-20250827wyz-写业务' into 'test'
预约修改发布测试 See merge request
!44
parents
aa6aa2f0
a596fc56
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
181 additions
and
99 deletions
+181
-99
src/formJson/productPlan.js
+1
-1
src/views/components/commonForm.vue
+1
-0
src/views/sign/FnaList/components/fanForm.vue
+1
-1
src/views/sign/FnaList/index.vue
+1
-0
src/views/sign/appointment/appointmentEdit.vue
+43
-3
src/views/sign/appointment/components/appointmentDetail.vue
+23
-8
src/views/sign/appointment/components/appointmentInfo.vue
+16
-12
src/views/sign/appointment/components/fileUpload.vue
+7
-7
src/views/sign/appointment/components/healthInfo.vue
+13
-4
src/views/sign/appointment/components/productPlan.vue
+18
-4
src/views/sign/appointment/index.vue
+36
-35
src/views/sign/policyReceipts/premiumRecon.vue
+21
-24
No files found.
src/formJson/productPlan.js
View file @
6ae4c2de
...
@@ -187,7 +187,7 @@ const productPlan = [
...
@@ -187,7 +187,7 @@ const productPlan = [
required
:
true
,
required
:
true
,
disabled
:
false
,
disabled
:
false
,
placeholder
:
'请选择'
,
placeholder
:
'请选择'
,
show
:
tru
e
,
show
:
fals
e
,
labelPosition
:
'top'
,
//标签的位置
labelPosition
:
'top'
,
//标签的位置
labelWidth
:
'120px'
,
//标签宽度
labelWidth
:
'120px'
,
//标签宽度
sm
:
12
,
//栅格布局份数
sm
:
12
,
//栅格布局份数
...
...
src/views/components/commonForm.vue
View file @
6ae4c2de
...
@@ -11,6 +11,7 @@
...
@@ -11,6 +11,7 @@
<!-- -->
<!-- -->
<el-anchor-link
<el-anchor-link
v-for=
"item in anchorList"
v-for=
"item in anchorList"
:key=
"item.title"
:href=
"'#' + item.title"
:href=
"'#' + item.title"
:title=
"item.name"
:title=
"item.name"
@
click=
"e => handleLinkClick(e, item.title)"
@
click=
"e => handleLinkClick(e, item.title)"
...
...
src/views/sign/FnaList/components/fanForm.vue
View file @
6ae4c2de
...
@@ -754,7 +754,7 @@ const setFormValue = (obj, formData) => {
...
@@ -754,7 +754,7 @@ const setFormValue = (obj, formData) => {
// 重疾险要加上row.showSumInsured = true便于控制重疾险保额输入框的显示
// 重疾险要加上row.showSumInsured = true便于控制重疾险保额输入框的显示
for
(
const
section
of
processedData
)
{
for
(
const
section
of
processedData
)
{
if
(
section
.
keyType
==
'Array'
)
{
if
(
section
.
keyType
==
'Array'
)
{
if
(
section
.
key
==
'existingSecurityOwner'
)
{
if
(
section
.
key
==
'existingSecurityOwner'
&&
obj
[
section
.
key
]
)
{
obj
[
section
.
key
].
forEach
(
item
=>
{
obj
[
section
.
key
].
forEach
(
item
=>
{
if
(
item
.
insuranceCategoryBizId
==
'CI'
)
{
if
(
item
.
insuranceCategoryBizId
==
'CI'
)
{
item
.
showSumInsured
=
true
item
.
showSumInsured
=
true
...
...
src/views/sign/FnaList/index.vue
View file @
6ae4c2de
...
@@ -73,6 +73,7 @@
...
@@ -73,6 +73,7 @@
@
selection-change=
"tableSelect"
@
selection-change=
"tableSelect"
@
sort-change=
"sortChange"
@
sort-change=
"sortChange"
border
border
max-height=
"380px"
>
>
<el-table-column
type=
"index"
width=
"50"
label=
"序号"
/>
<el-table-column
type=
"index"
width=
"50"
label=
"序号"
/>
<el-table-column
label=
"客户姓名"
align=
"center"
prop=
"customerName"
width=
"100"
/>
<el-table-column
label=
"客户姓名"
align=
"center"
prop=
"customerName"
width=
"100"
/>
...
...
src/views/sign/appointment/appointmentEdit.vue
View file @
6ae4c2de
...
@@ -441,7 +441,6 @@ const idsObj = ref({}) //各个模块的bizId
...
@@ -441,7 +441,6 @@ const idsObj = ref({}) //各个模块的bizId
const
appointmentSummeryInfo
=
ref
({})
//预约详情总信息
const
appointmentSummeryInfo
=
ref
({})
//预约详情总信息
const
currentFile
=
ref
(
null
)
const
currentFile
=
ref
(
null
)
const
foldInsurantInfo
=
ref
(
false
)
//健康信息中得受保人信息是否隐藏
const
foldInsurantInfo
=
ref
(
false
)
//健康信息中得受保人信息是否隐藏
const
showCancelApply
=
ref
(
false
)
//是否显示取消申请按钮
const
processInfo
=
ref
({
const
processInfo
=
ref
({
fnaNo
:
'暂无'
,
fnaNo
:
'暂无'
,
status
:
'未完成'
,
status
:
'未完成'
,
...
@@ -525,6 +524,7 @@ const tabsList = ref([
...
@@ -525,6 +524,7 @@ const tabsList = ref([
key
:
'fnaBizId'
key
:
'fnaBizId'
}
}
])
])
const
assetVerification
=
()
=>
{
const
assetVerification
=
()
=>
{
proxy
.
$message
.
warning
(
'此功能等待开放'
)
proxy
.
$message
.
warning
(
'此功能等待开放'
)
}
}
...
@@ -670,6 +670,10 @@ function getAppointmentInfo(appointmentBizId, changeTab) {
...
@@ -670,6 +670,10 @@ function getAppointmentInfo(appointmentBizId, changeTab) {
appointmentSummeryInfo
.
value
.
apiSecondHolderInfoDto
.
isSecond
=
appointmentSummeryInfo
.
value
.
apiSecondHolderInfoDto
.
isSecond
=
res
.
data
.
apiAppointmentInfoDto
.
isSecond
res
.
data
.
apiAppointmentInfoDto
.
isSecond
}
}
// 如果受保人中与投保人关系选择得是本人,那么健康信息中问卷只要填写投保人得问卷
// if (res.data.apiInsurantInfoDto && res.data.apiInsurantInfoDto.policyholderRel == 'MYSELF') {
// foldInsurantInfo.value = true
// }
let
options
=
fetchDictData
(
'csf_ap_status'
)
let
options
=
fetchDictData
(
'csf_ap_status'
)
options
.
forEach
(
item
=>
{
options
.
forEach
(
item
=>
{
if
(
item
.
value
==
appointmentSummeryInfo
.
value
.
status
)
{
if
(
item
.
value
==
appointmentSummeryInfo
.
value
.
status
)
{
...
@@ -848,8 +852,44 @@ const getDictsData = async () => {
...
@@ -848,8 +852,44 @@ const getDictsData = async () => {
// ])
// ])
}
}
// Tab切换前的验证
// Tab切换前的验证
const
beforeTabLeave
=
(
activeTabName
,
oldTabName
)
=>
{
const
beforeTabLeave
=
async
(
activeTabName
,
oldTabName
)
=>
{
return
true
foldInsurantInfo
.
value
=
false
// 获取受保人数据
let
insuredData
=
null
if
(
insuredInfoRef
.
value
)
{
insuredData
=
await
insuredInfoRef
.
value
[
0
].
handleFormValues
(
'insuredInfoRef'
)
// 健康信息得展示内容要根据受保人与投保人得关系展示
if
(
activeTabName
==
'questionnaires'
)
{
// 编辑状态下
if
(
idsObj
.
value
.
appointmentBizId
)
{
// 已经点过受保人这个tab
if
(
insuredData
&&
insuredData
.
policyholderRel
&&
insuredData
.
policyholderRel
==
'MYSELF'
)
{
foldInsurantInfo
.
value
=
true
}
else
if
(
!
insuredData
&&
appointmentSummeryInfo
.
value
.
apiInsurantInfoDto
.
policyholderRel
==
'MYSELF'
)
{
foldInsurantInfo
.
value
=
true
}
else
{
foldInsurantInfo
.
value
=
false
}
}
else
{
// 新增状态下
if
(
!
insuredData
)
{
proxy
.
$message
.
error
(
'请完善受保人信息'
)
foldInsurantInfo
.
value
=
false
return
false
}
// 已经点过受保人这个tab
if
(
insuredData
&&
insuredData
.
policyholderRel
&&
insuredData
.
policyholderRel
==
'MYSELF'
)
{
foldInsurantInfo
.
value
=
true
}
else
{
foldInsurantInfo
.
value
=
false
}
}
}
return
true
}
}
}
// 判断是否为数组
// 判断是否为数组
...
...
src/views/sign/appointment/components/appointmentDetail.vue
View file @
6ae4c2de
...
@@ -241,7 +241,7 @@
...
@@ -241,7 +241,7 @@
/>
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"60px"
align=
"center"
label=
"操作"
>
<
!-- <
el-table-column width="60px" align="center" label="操作">
<template #default="scope">
<template #default="scope">
<el-icon
<el-icon
class="deleteIcon"
class="deleteIcon"
...
@@ -249,7 +249,7 @@
...
@@ -249,7 +249,7 @@
><Delete
><Delete
/></el-icon>
/></el-icon>
</template>
</template>
</el-table-column>
</el-table-column>
-->
</template>
</template>
<
template
v-if=
"father.key == 'userSignDtoList'"
>
<
template
v-if=
"father.key == 'userSignDtoList'"
>
<el-table-column
label=
"姓名"
prop=
"name"
align=
"center"
>
<el-table-column
label=
"姓名"
prop=
"name"
align=
"center"
>
...
@@ -341,7 +341,7 @@
...
@@ -341,7 +341,7 @@
/>
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"60px"
align=
"center"
label=
"操作"
>
<
!-- <
el-table-column width="60px" align="center" label="操作">
<template #default="scope">
<template #default="scope">
<el-icon
<el-icon
@click="deleteChildren(father, scope.$index)"
@click="deleteChildren(father, scope.$index)"
...
@@ -349,7 +349,7 @@
...
@@ -349,7 +349,7 @@
><Delete
><Delete
/></el-icon>
/></el-icon>
</template>
</template>
</el-table-column>
</el-table-column>
-->
</template>
</template>
</el-table>
</el-table>
</el-row>
</el-row>
...
@@ -1232,14 +1232,21 @@ const setFormValue = (obj, formData) => {
...
@@ -1232,14 +1232,21 @@ const setFormValue = (obj, formData) => {
}
}
// 给表单表格赋值
// 给表单表格赋值
for
(
const
objKey
in
obj
)
{
for
(
const
objKey
in
obj
)
{
if
(
objKey
==
section
.
key
&&
section
.
keyType
==
'Array'
)
{
if
(
console
.
log
(
'key'
,
section
.
key
,
obj
[
section
.
key
])
objKey
==
section
.
key
&&
section
.
keyType
==
'Array'
&&
obj
[
section
.
key
]
&&
obj
[
section
.
key
].
length
>
0
)
{
section
.
data
=
obj
[
section
.
key
]
section
.
data
=
obj
[
section
.
key
]
}
}
}
}
if
(
section
.
data
)
{
if
(
section
.
data
)
{
for
(
const
field
of
section
.
data
)
{
for
(
const
field
of
section
.
data
)
{
if
(
field
.
dictType
)
{
// 获取字典数据
field
.
options
=
fetchDictData
(
field
.
dictType
)
}
if
(
field
.
key
==
'confirmAppointmentTime'
&&
props
.
appointmentStatus
!==
0
)
{
if
(
field
.
key
==
'confirmAppointmentTime'
&&
props
.
appointmentStatus
!==
0
)
{
field
.
show
=
true
field
.
show
=
true
}
}
...
@@ -1548,8 +1555,16 @@ watch(
...
@@ -1548,8 +1555,16 @@ watch(
}
}
}
}
)
)
watch
(
()
=>
props
.
detailInfo
,
newVal
=>
{
if
(
newVal
)
{
setFormValue
(
props
.
detailInfo
,
appointmentDomData
)
}
}
)
if
(
Object
.
keys
(
props
.
detailInfo
).
length
>
0
)
{
if
(
Object
.
keys
(
props
.
detailInfo
).
length
>
0
)
{
// processFormData()
setFormValue
(
props
.
detailInfo
,
appointmentDomData
)
setFormValue
(
props
.
detailInfo
,
appointmentDomData
)
}
}
// 暴露给父组件
// 暴露给父组件
...
...
src/views/sign/appointment/components/appointmentInfo.vue
View file @
6ae4c2de
<
template
>
<
template
>
<div
v-if=
"processedAppointmentData.length > 0"
>
<div
v-if=
"processedAppointmentData.length > 0"
>
<div
ref=
"appointmentRef"
>
<div
ref=
"appointmentRef"
>
<!-- 预约为父组件得第一个tab,初次渲染得时候锚点没正常显示,先这样解决有空再解决 -->
<div
style=
"position: relative; top: -100%; left: -100%"
>
{{
appointmentRef
}}
</div>
<CommonForm
<CommonForm
:anchorList=
"anchorList"
:anchorList=
"anchorList"
:affixOffset=
"affixOffset"
:affixOffset=
"affixOffset"
...
@@ -386,7 +388,7 @@
...
@@ -386,7 +388,7 @@
:showOperationBtn=
"false"
:showOperationBtn=
"false"
>
>
<
template
#
table
>
<
template
#
table
>
<el-table
v-loading=
"tableLoading"
:data=
"tableData"
border
>
<el-table
v-loading=
"tableLoading"
:data=
"tableData"
border
height=
"350px"
>
<el-table-column
label=
"创建人"
align=
"center"
prop=
"creatorName"
/>
<el-table-column
label=
"创建人"
align=
"center"
prop=
"creatorName"
/>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
>
...
@@ -600,6 +602,7 @@ const deleteKeyList = ref([
...
@@ -600,6 +602,7 @@ const deleteKeyList = ref([
const
searchOptions
=
ref
({})
// 存储不同key对应的选项
const
searchOptions
=
ref
({})
// 存储不同key对应的选项
const
searchLoadingStates
=
ref
({})
// 存储不同key对应的加载状态
const
searchLoadingStates
=
ref
({})
// 存储不同key对应的加载状态
const
total
=
ref
(
0
)
const
total
=
ref
(
0
)
const
anchorListReady
=
ref
(
false
)
const
data
=
reactive
({
const
data
=
reactive
({
form
:
{},
form
:
{},
processedAppointmentData
:
[],
// 处理后的表单数据
processedAppointmentData
:
[],
// 处理后的表单数据
...
@@ -1125,6 +1128,7 @@ const processFormData = async () => {
...
@@ -1125,6 +1128,7 @@ const processFormData = async () => {
}
}
console
.
log
(
'processedAppointmentData.value'
,
processedAppointmentData
.
value
)
console
.
log
(
'processedAppointmentData.value'
,
processedAppointmentData
.
value
)
console
.
log
(
'form.value'
,
form
.
value
)
console
.
log
(
'form.value'
,
form
.
value
)
anchorListReady
.
value
=
true
}
}
//弹出右侧抽屉
//弹出右侧抽屉
...
@@ -1349,7 +1353,12 @@ const setFormValue = (obj, formData) => {
...
@@ -1349,7 +1353,12 @@ const setFormValue = (obj, formData) => {
}
}
// 给表单表格赋值
// 给表单表格赋值
for
(
const
objKey
in
obj
)
{
for
(
const
objKey
in
obj
)
{
if
(
objKey
==
section
.
key
&&
section
.
keyType
==
'Array'
&&
obj
[
section
.
key
].
length
>
0
)
{
if
(
objKey
==
section
.
key
&&
section
.
keyType
==
'Array'
&&
obj
[
section
.
key
]
&&
obj
[
section
.
key
].
length
>
0
)
{
section
.
data
=
obj
[
section
.
key
]
section
.
data
=
obj
[
section
.
key
]
}
}
}
}
...
@@ -1578,7 +1587,7 @@ const handleFormValues = () => {
...
@@ -1578,7 +1587,7 @@ const handleFormValues = () => {
if
(
item
.
key
==
'referrerDtoList'
)
{
if
(
item
.
key
==
'referrerDtoList'
)
{
if
(
form
.
value
[
'isReferrerAccompany'
]
==
1
&&
item
.
data
.
length
>
0
)
{
if
(
form
.
value
[
'isReferrerAccompany'
]
==
1
&&
item
.
data
.
length
>
0
)
{
item
.
data
.
forEach
((
item1
,
index
)
=>
{
item
.
data
.
forEach
((
item1
,
index
)
=>
{
for
(
const
key
in
item1
)
{
for
(
const
key
in
obj
)
{
if
(
!
item1
[
key
])
{
if
(
!
item1
[
key
])
{
errorFields
.
value
.
push
({
errorFields
.
value
.
push
({
message
:
`陪同转介人-第
${
index
+
1
}
行
${
obj
[
key
]}
不能为空`
message
:
`陪同转介人-第
${
index
+
1
}
行
${
obj
[
key
]}
不能为空`
...
@@ -1602,7 +1611,7 @@ const handleFormValues = () => {
...
@@ -1602,7 +1611,7 @@ const handleFormValues = () => {
}
}
if
(
item
.
key
==
'userSignDtoList'
&&
item
.
data
.
length
>
0
)
{
if
(
item
.
key
==
'userSignDtoList'
&&
item
.
data
.
length
>
0
)
{
item
.
data
.
forEach
((
item1
,
index
)
=>
{
item
.
data
.
forEach
((
item1
,
index
)
=>
{
for
(
const
key
in
item
1
)
{
for
(
const
key
in
obj
1
)
{
if
(
!
item1
[
key
])
{
if
(
!
item1
[
key
])
{
errorFields
.
value
.
push
({
errorFields
.
value
.
push
({
message
:
`签单员-第
${
index
+
1
}
行
${
obj1
[
key
]}
不能为空`
message
:
`签单员-第
${
index
+
1
}
行
${
obj1
[
key
]}
不能为空`
...
@@ -1651,6 +1660,8 @@ const anchorList = computed(() => {
...
@@ -1651,6 +1660,8 @@ const anchorList = computed(() => {
data
.
push
({
title
:
section
.
anchorKey
,
name
:
section
.
fatherTitle
})
data
.
push
({
title
:
section
.
anchorKey
,
name
:
section
.
fatherTitle
})
}
}
}
}
console
.
log
(
'锚点'
,
data
)
return
data
return
data
})
})
// 关闭弹窗时清空弹窗历史签约表格
// 关闭弹窗时清空弹窗历史签约表格
...
@@ -1699,14 +1710,7 @@ watch(
...
@@ -1699,14 +1710,7 @@ watch(
}
}
}
}
)
)
watch
(
()
=>
props
.
formStatus
,
newVal
=>
{
if
(
newVal
===
'appointmentEdit'
)
{
processFormData
()
}
}
)
// 暴露给父组件
// 暴露给父组件
defineExpose
({
defineExpose
({
handleFormValues
,
handleFormValues
,
...
...
src/views/sign/appointment/components/fileUpload.vue
View file @
6ae4c2de
...
@@ -92,6 +92,7 @@
...
@@ -92,6 +92,7 @@
:on-exceed=
"handleExceed"
:on-exceed=
"handleExceed"
:on-success=
"uploadSuccess"
:on-success=
"uploadSuccess"
:before-upload=
"handleBeforeUpload"
:before-upload=
"handleBeforeUpload"
ref=
"uploadRef"
>
>
<div
class=
"uploadBox"
>
<div
class=
"uploadBox"
>
<el-icon
size=
"20"
><DocumentAdd
/></el-icon>
<el-icon
size=
"20"
><DocumentAdd
/></el-icon>
...
@@ -151,7 +152,7 @@ const props = defineProps({
...
@@ -151,7 +152,7 @@ const props = defineProps({
idsObj
:
{
type
:
Object
,
default
:
()
=>
({})
},
//父组件传递过来的id对象
idsObj
:
{
type
:
Object
,
default
:
()
=>
({})
},
//父组件传递过来的id对象
pageSource
:
{
type
:
String
,
default
:
''
}
//页面来源
pageSource
:
{
type
:
String
,
default
:
''
}
//页面来源
})
})
const
uploadRef
=
ref
(
null
)
const
dictStore
=
useDictStore
()
//获取字典数据
const
dictStore
=
useDictStore
()
//获取字典数据
const
{
proxy
}
=
getCurrentInstance
()
const
{
proxy
}
=
getCurrentInstance
()
const
editVisible
=
ref
(
false
)
const
editVisible
=
ref
(
false
)
...
@@ -186,11 +187,7 @@ const handleSubmitUpload = () => {
...
@@ -186,11 +187,7 @@ const handleSubmitUpload = () => {
fileBizIdList
:
uploadedFiles
.
value
.
map
(
item
=>
item
.
fileBizId
)
fileBizIdList
:
uploadedFiles
.
value
.
map
(
item
=>
item
.
fileBizId
)
}).
then
(
response
=>
{
}).
then
(
response
=>
{
getFileList
()
getFileList
()
// fileTableList.value.forEach(item => {
// if (item.materialBizId == currentUploadRow.value.materialBizId) {
// item.status = 'YSC'
// }
// })
editVisible
.
value
=
false
editVisible
.
value
=
false
})
})
}
catch
(
error
)
{
}
catch
(
error
)
{
...
@@ -206,7 +203,6 @@ const handleSubmitUpload = () => {
...
@@ -206,7 +203,6 @@ const handleSubmitUpload = () => {
item
.
status
=
'YSC'
item
.
status
=
'YSC'
}
}
})
})
console
.
log
(
'fileTableList.value'
,
fileTableList
.
value
)
}
}
}
}
editVisible
.
value
=
false
editVisible
.
value
=
false
...
@@ -234,6 +230,9 @@ const fetchDictData = dictType => {
...
@@ -234,6 +230,9 @@ const fetchDictData = dictType => {
// 重置上传列表(比如关闭弹窗时清空)
// 重置上传列表(比如关闭弹窗时清空)
const
resetUploadedList
=
()
=>
{
const
resetUploadedList
=
()
=>
{
uploadedFiles
.
value
=
[]
uploadedFiles
.
value
=
[]
if
(
uploadRef
.
value
)
{
uploadRef
.
value
.
clearFiles
()
}
}
}
const
handleUploadFile
=
row
=>
{
const
handleUploadFile
=
row
=>
{
currentUploadRow
.
value
=
JSON
.
parse
(
JSON
.
stringify
(
row
))
currentUploadRow
.
value
=
JSON
.
parse
(
JSON
.
stringify
(
row
))
...
@@ -447,6 +446,7 @@ const handleFormValues = () => {
...
@@ -447,6 +446,7 @@ const handleFormValues = () => {
watch
(
editVisible
,
newVal
=>
{
watch
(
editVisible
,
newVal
=>
{
if
(
!
newVal
)
{
if
(
!
newVal
)
{
resetUploadedList
()
resetUploadedList
()
limit
.
value
=
10
}
}
})
})
const
hasLoaded
=
ref
(
false
)
// 新增:是否已加载过数据
const
hasLoaded
=
ref
(
false
)
// 新增:是否已加载过数据
...
...
src/views/sign/appointment/components/healthInfo.vue
View file @
6ae4c2de
...
@@ -225,7 +225,7 @@ const props = defineProps({
...
@@ -225,7 +225,7 @@ const props = defineProps({
customerInfo
:
{
type
:
Object
,
default
:
()
=>
({
}
)
}
,
customerInfo
:
{
type
:
Object
,
default
:
()
=>
({
}
)
}
,
//客户详情回显表单用
//客户详情回显表单用
showSubmitBtn
:
{
type
:
Boolean
,
default
:
false
}
,
//父组件状态,新增、修改
showSubmitBtn
:
{
type
:
Boolean
,
default
:
false
}
,
//父组件状态,新增、修改
foldInsurantInfo
:
{
type
:
Boolean
,
default
:
false
}
,
//是否隐藏受保人信息
foldInsurantInfo
:
{
type
:
Boolean
}
,
//是否隐藏受保人信息
pageSource
:
{
type
:
String
,
default
:
''
}
,
//页面来源
pageSource
:
{
type
:
String
,
default
:
''
}
,
//页面来源
anchorContainer
:
{
type
:
String
,
default
:
''
}
,
//锚点滚动容器
anchorContainer
:
{
type
:
String
,
default
:
''
}
,
//锚点滚动容器
tabIndex
:
{
type
:
[
String
,
Number
],
default
:
''
}
,
//tab索引
tabIndex
:
{
type
:
[
String
,
Number
],
default
:
''
}
,
//tab索引
...
@@ -585,9 +585,7 @@ const hasLoaded = ref(false) // 新增:是否已加载过数据
...
@@ -585,9 +585,7 @@ const hasLoaded = ref(false) // 新增:是否已加载过数据
watch
(
watch
(
()
=>
props
.
activeName
,
()
=>
props
.
activeName
,
newVal
=>
{
newVal
=>
{
// 切换tab的时侯把表单值保存在临时变量里,方便切换回来的时候回显
questionRef
.
value
=
null
tempSecondHolderForm
.
value
=
{
...
form
.
value
}
if
(
newVal
===
'questionnaires'
)
{
if
(
newVal
===
'questionnaires'
)
{
if
(
!
hasLoaded
.
value
)
{
if
(
!
hasLoaded
.
value
)
{
getQuestionnairesInfo
()
getQuestionnairesInfo
()
...
@@ -597,6 +595,17 @@ watch(
...
@@ -597,6 +595,17 @@ watch(
}
}
)
)
// 受保人模块,与投保人关系改变这里要重新获取问卷信息
watch
(
()
=>
props
.
foldInsurantInfo
,
newVal
=>
{
questionnairesDom
.
value
=
[]
getQuestionnairesInfo
()
console
.
log
(
'newVal'
,
newVal
)
}
)
console
.
log
(
'foldInsurantInfo'
,
props
.
foldInsurantInfo
)
// 暴露给父组件
// 暴露给父组件
defineExpose
({
defineExpose
({
handleFormValues
,
handleFormValues
,
...
...
src/views/sign/appointment/components/productPlan.vue
View file @
6ae4c2de
...
@@ -724,12 +724,12 @@ const handleSelectChange = (father, child) => {
...
@@ -724,12 +724,12 @@ const handleSelectChange = (father, child) => {
}
}
break
break
case
'is
Backtrack
'
:
case
'is
Traceable
'
:
// 选是,展示日期
// 选是,展示日期
if
(
form
.
value
[
father
.
key
][
child
.
key
]
==
'1'
)
{
if
(
form
.
value
[
father
.
key
][
child
.
key
]
==
'1'
)
{
resetShow
(
'
policyEffective
Date'
,
true
)
resetShow
(
'
backtrack
Date'
,
true
)
}
else
{
}
else
{
resetShow
(
'
policyEffective
Date'
,
false
)
resetShow
(
'
backtrack
Date'
,
false
)
}
}
break
break
...
@@ -795,6 +795,15 @@ const setFormValue = (obj, formData) => {
...
@@ -795,6 +795,15 @@ const setFormValue = (obj, formData) => {
}
}
}
}
if
(
section
.
data
)
{
if
(
section
.
data
)
{
for
(
const
filed
of
section
.
data
)
{
if
(
filed
.
key
==
'backtrackDate'
&&
obj
.
apiProductPlanMainInfoDto
.
isTraceable
&&
obj
.
apiProductPlanMainInfoDto
.
isTraceable
==
'1'
)
{
filed
.
show
=
true
}
}
// 为附加险增加dom
// 为附加险增加dom
if
(
if
(
section
.
key
==
'apiProductPlanAdditionalInfoDtoList'
&&
section
.
key
==
'apiProductPlanAdditionalInfoDtoList'
&&
...
@@ -868,7 +877,12 @@ const handleSubmitForm = () => {
...
@@ -868,7 +877,12 @@ const handleSubmitForm = () => {
}
}
}
}
})
})
if
(
submitObj
.
apiProductPlanMainInfoDto
.
isTraceable
&&
submitObj
.
apiProductPlanMainInfoDto
.
isTraceable
==
'0'
)
{
delete
submitObj
.
apiProductPlanMainInfoDto
.
backtrackDate
}
if
(
errorFields
.
value
.
length
>
0
)
{
if
(
errorFields
.
value
.
length
>
0
)
{
proxy
.
$message
.
error
(
errorFields
.
value
[
0
].
message
)
proxy
.
$message
.
error
(
errorFields
.
value
[
0
].
message
)
return
undefined
return
undefined
...
...
src/views/sign/appointment/index.vue
View file @
6ae4c2de
...
@@ -61,58 +61,58 @@
...
@@ -61,58 +61,58 @@
:data=
"tenantList"
:data=
"tenantList"
@
selection-change=
"tableSelect"
@
selection-change=
"tableSelect"
@
sort-change=
"sortChange"
@
sort-change=
"sortChange"
max-height=
"380px"
>
>
<el-table-column
type=
"index"
label=
"序号"
width=
"50"
/>
<el-table-column
type=
"index"
label=
"序号"
width=
"60"
fixed=
"left"
/>
<el-table-column
label=
"预约编号"
align=
"center"
prop=
"appointmentNo"
width=
"200"
/>
<el-table-column
<el-table-column
label=
"预约状态"
align=
"center"
>
label=
"预约编号"
align=
"center"
prop=
"appointmentNo"
width=
"200"
fixed=
"left"
/>
<el-table-column
label=
"预约状态"
align=
"center"
prop=
"status"
fixed=
"left"
width=
"100"
>
<template
#
default=
"scope"
>
<template
#
default=
"scope"
>
<dict-tag
:options=
"csf_ap_status"
:value=
"scope.row.status"
/>
<dict-tag
:options=
"csf_ap_status"
:value=
"scope.row.status"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"最终预约时间"
align=
"center"
width=
"180"
>
<el-table-column
label=
"产品名称"
align=
"center"
prop=
"productName"
width=
"200"
show-overflow-tooltip
/>
<el-table-column
label=
"签单日"
align=
"center"
width=
"180"
prop=
"signDate"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<span>
{{
<span>
{{
scope
.
row
.
signDate
?
formatToDate
(
scope
.
row
.
signDate
)
:
'--'
}}
</span>
scope
.
row
.
confirmAppointmentTime
?
parseTime
(
scope
.
row
.
confirmAppointmentTime
)
:
'--'
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"产品名称"
align=
"center"
prop=
"productName"
width=
"150"
/>
<el-table-column
label=
"保险公司"
align=
"center"
prop=
"companyName"
width=
"150"
/>
<el-table-column
label=
"保险公司"
align=
"center"
prop=
"companyName"
width=
"150"
/>
<el-table-column
<el-table-column
label=
"签单员"
align=
"center"
prop=
"signName"
width=
"150"
/>
label=
"业务员"
align=
"center"
prop=
"businessRepresentName1"
width=
"150"
/>
<el-table-column
label=
"投保人"
align=
"center"
prop=
"policyholder"
width=
"150"
/>
<el-table-column
label=
"投保人"
align=
"center"
prop=
"policyholder"
width=
"150"
/>
<el-table-column
label=
"受保人"
align=
"center"
prop=
"insurant"
width=
"150"
/>
<el-table-column
label=
"受保人"
align=
"center"
prop=
"insurant"
width=
"150"
/>
<el-table-column
label=
"供款年期"
align=
"center"
prop=
"paymentTerm"
width=
"100"
/>
<!-- <el-table-column label="供款频率" align="center" prop="paymentFrequency" width="100">
<el-table-column
label=
"每期保费"
align=
"center"
prop=
"eachIssuePremium"
width=
"100"
/>
<el-table-column
label=
"货币"
align=
"center"
width=
"150"
>
<template #default="scope">
<template #default="scope">
<dict-tag
:options=
"bx_currency_type"
:value=
"scope.row.currency"
/>
<dict-tag :options="csf_ap_frequency" :value="scope.row.paymentFrequency" />
</template>
</el-table-column> -->
<el-table-column
label=
"供款频率"
align=
"center"
width=
"150"
prop=
"paymentFrequency"
>
<
template
#
default=
"scope"
>
<dict-tag
:options=
"csf_ap_frequency"
:value=
"scope.row.paymentFrequency"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"供款期数"
align=
"center"
prop=
"paymentTerm"
width=
"100"
/>
<el-table-column
label=
"每期保费"
align=
"center"
prop=
"eachIssuePremium"
width=
"100"
/>
<el-table-column
<el-table-column
label=
"保单币种"
align=
"center"
width=
"150"
prop=
"currency"
>
label=
"意向预约时间"
align=
"center"
prop=
"intentionAppointmentTime"
width=
"240"
show-overflow-tooltip
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<span>
{{
<dict-tag
:options=
"bx_currency_type"
:value=
"scope.row.currency"
/>
scope
.
row
.
intentionAppointmentTime
?
parseTime
(
scope
.
row
.
intentionAppointmentTime
)
:
'--'
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"150"
>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"150"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<span>
{{
formatToDate
(
scope
.
row
.
createTime
)
}}
</span>
<span>
{{
formatToDate
(
scope
.
row
.
createTime
)
}}
</span>
...
@@ -260,10 +260,11 @@ const data = reactive({
...
@@ -260,10 +260,11 @@ const data = reactive({
})
})
const
{
queryParams
,
form
,
rules
}
=
toRefs
(
data
)
const
{
queryParams
,
form
,
rules
}
=
toRefs
(
data
)
const
{
bx_currency_type
,
csf_ap_status
,
csf_ap_meeting_point
}
=
proxy
.
useDict
(
const
{
bx_currency_type
,
csf_ap_status
,
csf_ap_meeting_point
,
csf_ap_frequency
}
=
proxy
.
useDict
(
'bx_currency_type'
,
'bx_currency_type'
,
'csf_ap_status'
,
'csf_ap_status'
,
'csf_ap_meeting_point'
'csf_ap_meeting_point'
,
'csf_ap_frequency'
)
)
// 基础菜单项配置(不使用 ref,因为它是静态的)
// 基础菜单项配置(不使用 ref,因为它是静态的)
const
baseDropdownItems
=
[
const
baseDropdownItems
=
[
...
...
src/views/sign/policyReceipts/premiumRecon.vue
View file @
6ae4c2de
...
@@ -31,7 +31,12 @@
...
@@ -31,7 +31,12 @@
<el-table-column
prop=
"currentIssueNumber"
label=
"当前期数"
width=
"80"
fixed=
"left"
/>
<el-table-column
prop=
"currentIssueNumber"
label=
"当前期数"
width=
"80"
fixed=
"left"
/>
<el-table-column
prop=
"reconciliationType"
label=
"对账类型"
width=
"150"
>
<el-table-column
prop=
"reconciliationType"
label=
"对账类型"
width=
"150"
>
<template
#
default=
"
{ row }">
<template
#
default=
"
{ row }">
{{
getDictLabel
(
'reconciliation_type'
,
row
.
reconciliationType
)
}}
{{
row
.
currentIssueNumber
&&
row
.
currentIssueNumber
==
'1'
?
'首期保费对账'
:
'续期保费对账'
}}
<!--
{{
getDictLabel
(
'reconciliation_type'
,
row
.
reconciliationType
)
}}
-->
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"insuranceCompany"
label=
"保险公司"
width=
"150"
/>
<el-table-column
prop=
"insuranceCompany"
label=
"保险公司"
width=
"150"
/>
...
@@ -695,13 +700,13 @@ const remittanceConfig = [
...
@@ -695,13 +700,13 @@ const remittanceConfig = [
label
:
'保险公司'
,
label
:
'保险公司'
,
disabled
:
true
disabled
:
true
},
},
{
//
{
type
:
'select'
,
//
type: 'select',
prop
:
'reconciliationType'
,
//
prop: 'reconciliationType',
label
:
'对账类型'
,
//
label: '对账类型',
disabled
:
true
,
//
disabled: true,
dictType
:
'reconciliation_type'
//
dictType: 'reconciliation_type'
},
//
},
{
{
type
:
'upload'
,
type
:
'upload'
,
prop
:
'paymentVoucherList'
,
prop
:
'paymentVoucherList'
,
...
@@ -1024,13 +1029,13 @@ function removeRemittance(row, index) {
...
@@ -1024,13 +1029,13 @@ function removeRemittance(row, index) {
// ==============新增对账结束============
// ==============新增对账结束============
const
addCheckRecordConfig
=
[
const
addCheckRecordConfig
=
[
{
//
{
type
:
'select'
,
//
type: 'select',
prop
:
'reconciliationType'
,
//
prop: 'reconciliationType',
label
:
'对账类型'
,
//
label: '对账类型',
dictType
:
'reconciliation_type'
,
//
dictType: 'reconciliation_type',
rules
:
[{
required
:
true
,
message
:
'请输入对账类型'
,
trigger
:
'blur'
}]
//
rules: [{ required: true, message: '请输入对账类型', trigger: 'blur' }]
},
//
},
{
{
type
:
'input'
,
type
:
'input'
,
prop
:
'applicant'
,
prop
:
'applicant'
,
...
@@ -1239,14 +1244,6 @@ const handleSelectionChange = val => {
...
@@ -1239,14 +1244,6 @@ const handleSelectionChange = val => {
// 完成检核按钮是否禁用
// 完成检核按钮是否禁用
updatePayRollStatusDisable
.
value
=
val
.
length
===
0
updatePayRollStatusDisable
.
value
=
val
.
length
===
0
}
}
import
FileUploadPreview
from
'@/components/fileUploadPreview/fileUploadPreview.vue'
const
onSubmit
=
data
=>
{
console
.
log
(
'提交给后端的数据:'
,
data
)
// 调用保存 API
}
// 获取入账状态,字典值转化方法
// 获取入账状态,字典值转化方法
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
try
{
try
{
...
@@ -1280,7 +1277,7 @@ watch(receiptsFlag, newVal => {
...
@@ -1280,7 +1277,7 @@ watch(receiptsFlag, newVal => {
if
(
!
newVal
)
{
if
(
!
newVal
)
{
isSubmitReceipts
.
value
=
false
isSubmitReceipts
.
value
=
false
tipTxt
.
value
=
''
tipTxt
.
value
=
''
addCheckRecordFormModel
.
value
=
{}
addCheckRecordFormModel
.
value
=
{
apiPremiumRemittanceDtoList
:
[]
}
receiptsDialogTitle
.
value
=
''
receiptsDialogTitle
.
value
=
''
}
}
})
})
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment