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
495454bd
Commit
495454bd
authored
Feb 28, 2026
by
yuzhenWang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature-20250827wyz-写业务' into 'dev'
修改bug发布测试 See merge request
!61
parents
279639eb
e0c3f04c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
142 additions
and
223 deletions
+142
-223
src/formJson/appointmentInfo.js
+0
-190
src/formJson/customer.js
+9
-7
src/views/sign/FnaList/components/customer.vue
+72
-23
src/views/sign/appointment/components/appointmentInfo.vue
+61
-3
No files found.
src/formJson/appointmentInfo.js
View file @
495454bd
...
@@ -388,196 +388,6 @@ const appointmentInfo = [
...
@@ -388,196 +388,6 @@ const appointmentInfo = [
// }
// }
]
]
}
}
// 业务信息
// {
// fatherTitle: '业务信息',
// type: 'object',
// key: 'business',
// labelPosition: 'top', //标签的位置
// showMoudle: true, //模块是否展示
// // description: '证件信息至少填写一项',
// data: [
// {
// label: '业务编号',
// key: 'businessNo',
// domType: 'Input',
// inputType: 'text',
// required: false,
// maxLength: 20,
// disabled: false,
// placeholder: '请输入',
// show: true,
// labelPosition: 'top', //标签的位置
// labelWidth: '120px', //标签宽度
// sm: 12, //栅格布局份数
// lg: 8 //栅格布局份数
// },
// {
// label: '签单员账号',
// key: 'businessRepresentAccount1',
// domType: 'Input',
// inputType: 'text',
// required: false,
// maxLength: 20,
// disabled: false,
// placeholder: '请输入',
// show: true,
// labelPosition: 'top', //标签的位置
// labelWidth: '120px', //标签宽度
// sm: 12, //栅格布局份数
// lg: 8 //栅格布局份数
// },
// {
// label: '签单员姓名',
// key: 'businessRepresentName1',
// domType: 'Input',
// inputType: 'text',
// required: false,
// maxLength: 20,
// disabled: false,
// placeholder: '请输入',
// show: true,
// labelPosition: 'top', //标签的位置
// labelWidth: '120px', //标签宽度
// sm: 12, //栅格布局份数
// lg: 8 //栅格布局份数
// },
// {
// label: '签单员电话号码',
// key: 'businessRepresentMobile1',
// domType: 'arrowRight',
// required: false,
// disabled: false,
// placeholder: '请填写',
// show: true,
// drawerType: 'phone',
// businessRepresentMobile1: {}, //带有区号得电话一定要有一个和key一样得对象用于收集区号和号码
// code: 'businessRepresentMobile1Code',
// maxLength: 20,
// labelPosition: 'top', //标签的位置
// labelWidth: '180px', //标签宽度
// sm: 12, //栅格布局份数
// lg: 8 //栅格布局份数
// },
// {
// label: '签单员邮箱',
// key: 'businessRepresentEmail1',
// domType: 'Input',
// inputType: 'text',
// maxLength: 30,
// required: false,
// disabled: false,
// placeholder: '请输入',
// show: true,
// labelPosition: 'top', //标签的位置
// labelWidth: '120px', //标签宽度
// sm: 12, //栅格布局份数
// lg: 8 //栅格布局份数
// }
// ]
// },
// 基础信息
// {
// fatherTitle: '基础信息',
// type: 'object',
// key: 'basic',
// showMoudle: true, //模块是否展示
// // description: '证件信息至少填写一项',
// data: [
// {
// label: '意向预约时间',
// key: 'intentionAppointmentTime',
// domType: 'datetimePicker',
// required: true,
// disabled: false,
// placeholder: '请选择',
// show: true,
// labelPosition: 'top', //标签的位置
// labelWidth: '120px', //标签宽度
// sm: 12, //栅格布局份数
// lg: 8 //栅格布局份数
// },
// {
// label: '是否有用车需求',
// key: 'isUseCar',
// domType: 'Select',
// required: false,
// disabled: false,
// placeholder: '请选择',
// dictType: 'sys_no_yes',
// show: true,
// labelPosition: 'top', //标签的位置
// labelWidth: '120px', //标签宽度
// sm: 12, //栅格布局份数
// lg: 8 //栅格布局份数
// }
// ]
// },
// 陪同顾问信息
// {
// fatherTitle: '转介人信息',
// type: 'object',
// key: 'consult',
// showMoudle: false, //模块是否展示
// data: [
// {
// label: '姓名',
// key: 'accompanyName',
// domType: 'Input',
// inputType: 'text',
// required: false,
// maxLength: 30,
// disabled: false,
// placeholder: '请输入',
// show: true,
// labelPosition: 'top', //标签的位置
// labelWidth: '120px', //标签宽度
// sm: 12, //栅格布局份数
// lg: 8 //栅格布局份数
// },
// {
// label: '手机',
// key: 'accompanyMobile',
// domType: 'arrowRight',
// required: false,
// disabled: false,
// placeholder: '请填写',
// show: true,
// labelPosition: 'top', //标签的位置
// drawerType: 'phone',
// accompanyMobile: {}, //带有区号得电话一定要有一个和key一样得对象用于收集区号和号码
// code: 'accompanyMobileCode',
// maxLength: 20,
// labelWidth: '120px', //标签宽度
// sm: 12, //栅格布局份数
// lg: 8 //栅格布局份数
// },
// {
// label: '邮箱',
// key: 'accompanyEmail',
// domType: 'Input',
// inputType: 'text',
// maxLength: 30,
// required: false,
// disabled: false,
// placeholder: '请输入',
// show: true,
// labelPosition: 'top', //标签的位置
// labelWidth: '120px', //标签宽度
// sm: 12, //栅格布局份数
// lg: 8 //栅格布局份数
// }
// ]
// },
// 其他情况
// {
// fatherTitle: '其他情况',
// type: 'object',
// key: 'other',
// showMoudle: true, //模块是否展示
// data: []
// },
]
]
export
default
appointmentInfo
export
default
appointmentInfo
src/formJson/customer.js
View file @
495454bd
...
@@ -57,18 +57,20 @@ const customer = [
...
@@ -57,18 +57,20 @@ const customer = [
required
:
true
required
:
true
},
},
{
{
label
:
'是否长期有效'
,
prop
:
'isPermanent'
,
type
:
'radioGroup'
,
required
:
false
},
{
label
:
'证件有效期'
,
label
:
'证件有效期'
,
prop
:
'certificateValidityPeriod'
,
prop
:
'certificateValidityPeriod'
,
type
:
'datePicker'
,
type
:
'datePicker'
,
timeType
:
'daterange'
,
timeType
:
'daterange'
,
custom
:
true
,
placeholder
:
'请选择证件有效期'
,
placeholder
:
'请选择证件有效期'
,
required
:
true
required
:
true
,
},
width
:
300
{
label
:
'是否长期有效'
,
prop
:
'isPermanent'
,
type
:
'radioGroup'
,
required
:
false
}
}
],
],
data
:
[]
data
:
[]
...
...
src/views/sign/FnaList/components/customer.vue
View file @
495454bd
...
@@ -156,6 +156,7 @@
...
@@ -156,6 +156,7 @@
:key=
"column.prop"
:key=
"column.prop"
:prop=
"column.prop"
:prop=
"column.prop"
align=
"center"
align=
"center"
:width=
"column.width"
>
>
<
template
#
header
>
<
template
#
header
>
<span
<span
...
@@ -205,18 +206,44 @@
...
@@ -205,18 +206,44 @@
/>
/>
</el-select>
</el-select>
<!-- 日期选择器 -->
<!-- 日期选择器 -->
<el-date-picker
<div
v-else-if=
"column.prop === 'certificateValidityPeriod'"
>
<el-date-picker
v-model=
"scope.row.certificateStartDate"
type=
"date"
placeholder=
"开始日期"
:disabled=
"editStatus"
:style=
"{
width: scope.row.isPermanent == '1' ? '100%' : 'calc(50% - 10px)'
}"
/>
<span
v-if=
"!scope.row.isPermanent || scope.row.isPermanent == '0'"
style=
"display: inline-block; width: 20px; text-align: center"
>
-
</span
>
<el-date-picker
v-model=
"scope.row.certificateEndDate"
v-if=
"!scope.row.isPermanent || scope.row.isPermanent == '0'"
type=
"date"
placeholder=
"结束日期"
:disabled=
"editStatus"
style=
"width: calc(50% - 10px)"
/>
</div>
<!-- <el-date-picker
v-else-if="column.type === 'datePicker'"
v-else-if="column.type === 'datePicker'"
v-model="scope.row[column.prop]"
v-model="scope.row[column.prop]"
:type=
"
column.timeType
"
:type="
getDatePickerType(scope.row, column)
"
:placeholder="column.placeholder"
:placeholder="column.placeholder"
:disabled="editStatus"
:disabled="editStatus"
unlink-panels
style="width: 100%"
style="width: 100%"
range-separator="至"
range-separator="至"
start-placeholder="开始"
start-placeholder="开始"
end-placeholder="结束"
end-placeholder="结束"
/>
@change="changeDatePicker(father, scope.row, column.prop, $event)"
/> -->
<el-input
<el-input
v-else-if=
"column.type === 'inputNumber'"
v-else-if=
"column.type === 'inputNumber'"
v-model
.
number=
"scope.row[column.prop]"
v-model
.
number=
"scope.row[column.prop]"
...
@@ -231,6 +258,9 @@
...
@@ -231,6 +258,9 @@
<el-radio-group
<el-radio-group
v-model=
"scope.row[column.prop]"
v-model=
"scope.row[column.prop]"
v-else-if=
"column.type === 'radioGroup'"
v-else-if=
"column.type === 'radioGroup'"
@
change=
"
handleIsPermanentChange(father, scope.row, column.prop, $event)
"
>
>
<el-radio
value=
"1"
size=
"large"
>
是
</el-radio>
<el-radio
value=
"1"
size=
"large"
>
是
</el-radio>
<el-radio
value=
"0"
size=
"large"
>
否
</el-radio>
<el-radio
value=
"0"
size=
"large"
>
否
</el-radio>
...
@@ -243,6 +273,7 @@
...
@@ -243,6 +273,7 @@
:disabled=
"editStatus"
:disabled=
"editStatus"
@
blur=
"tableInputBlur(father, scope.row, column.prop, $event)"
@
blur=
"tableInputBlur(father, scope.row, column.prop, $event)"
/>
/>
<!-- 满足一定条件展示得控件 -->
</template>
</template>
</el-table-column>
</el-table-column>
...
@@ -542,6 +573,12 @@ const operationBtnList = ref([
...
@@ -542,6 +573,12 @@ const operationBtnList = ref([
}
}
])
])
const
customerFormRef
=
ref
(
null
)
const
customerFormRef
=
ref
(
null
)
const
handleIsPermanentChange
=
(
father
,
row
,
prop
,
newValue
)
=>
{
if
(
prop
==
'isPermanent'
)
{
row
.
certificateStartDate
=
null
row
.
certificateEndDate
=
null
}
}
// 表格改变下拉框
// 表格改变下拉框
const
changeSelect
=
(
father
,
row
,
prop
,
newValue
)
=>
{
const
changeSelect
=
(
father
,
row
,
prop
,
newValue
)
=>
{
if
(
prop
==
'documentType'
)
{
if
(
prop
==
'documentType'
)
{
...
@@ -666,6 +703,8 @@ const addChildren = father => {
...
@@ -666,6 +703,8 @@ const addChildren = father => {
documentType
:
''
,
documentType
:
''
,
idNumber
:
''
,
idNumber
:
''
,
certificateValidityPeriod
:
''
,
certificateValidityPeriod
:
''
,
certificateStartDate
:
''
,
certificateEndDate
:
''
,
isPermanent
:
''
isPermanent
:
''
}
}
...
@@ -1109,9 +1148,9 @@ const setFormValue = (obj, formData, exportValue) => {
...
@@ -1109,9 +1148,9 @@ const setFormValue = (obj, formData, exportValue) => {
obj
.
apiCertificateDtoList
.
length
>
0
obj
.
apiCertificateDtoList
.
length
>
0
)
{
)
{
obj
.
apiCertificateDtoList
.
forEach
(
item
=>
{
obj
.
apiCertificateDtoList
.
forEach
(
item
=>
{
if
(
item
.
certificateStartDate
)
{
//
if (item.certificateStartDate) {
item
.
certificateValidityPeriod
=
[
item
.
certificateStartDate
,
item
.
certificateEndDate
]
//
item.certificateValidityPeriod = [item.certificateStartDate, item.certificateEndDate]
}
//
}
if
(
item
.
isPermanent
||
item
.
isPermanent
==
0
)
{
if
(
item
.
isPermanent
||
item
.
isPermanent
==
0
)
{
item
.
isPermanent
=
String
(
item
.
isPermanent
)
item
.
isPermanent
=
String
(
item
.
isPermanent
)
}
}
...
@@ -1337,9 +1376,9 @@ const handleFormValues = source => {
...
@@ -1337,9 +1376,9 @@ const handleFormValues = source => {
processedData
=
JSON
.
parse
(
JSON
.
stringify
(
processedCustomerData
.
value
))
processedData
=
JSON
.
parse
(
JSON
.
stringify
(
processedCustomerData
.
value
))
}
}
let
tipName
=
let
tipName
=
props
.
activeName
==
'policyHolderInfo
'
source
==
'policyHolderInfoRef
'
?
'投保人'
?
'投保人'
:
source
==
'insuredInfo'
:
source
==
'insuredInfo
Ref
'
?
'受保人'
?
'受保人'
:
props
.
activeName
==
'customer'
:
props
.
activeName
==
'customer'
?
'客户资料'
?
'客户资料'
...
@@ -1412,9 +1451,14 @@ const handleFormValues = source => {
...
@@ -1412,9 +1451,14 @@ const handleFormValues = source => {
if
(
item
.
key
==
'apiCertificateDtoList'
&&
item
.
data
.
length
>
0
)
{
if
(
item
.
key
==
'apiCertificateDtoList'
&&
item
.
data
.
length
>
0
)
{
item
.
data
.
forEach
((
item1
,
index
)
=>
{
item
.
data
.
forEach
((
item1
,
index
)
=>
{
if
(
!
item1
.
isPermanent
||
item1
.
isPermanent
==
'0'
)
{
if
(
!
item1
.
isPermanent
||
item1
.
isPermanent
==
'0'
)
{
obj1
.
certificateValidityPeriod
=
'证件有效期'
if
(
!
item1
.
certificateStartDate
)
{
}
else
{
obj1
.
certificateStartDate
=
'证件开始时间'
delete
obj1
.
certificateValidityPeriod
}
if
(
!
item1
.
certificateEndDate
)
{
obj1
.
certificateEndDate
=
'证件结束时间'
}
}
else
if
(
item1
.
isPermanent
==
'1'
&&
!
item1
.
certificateStartDate
)
{
obj1
.
certificateStartDate
=
'证件有效时间'
}
}
for
(
const
key
in
obj1
)
{
for
(
const
key
in
obj1
)
{
if
(
!
item1
[
key
])
{
if
(
!
item1
[
key
])
{
...
@@ -1423,22 +1467,27 @@ const handleFormValues = source => {
...
@@ -1423,22 +1467,27 @@ const handleFormValues = source => {
})
})
return
return
}
}
if
(
key
==
'certificateValidityPeriod'
&&
item1
[
key
])
{
if
(
item1
.
certificateStartDate
)
{
item1
.
certificateStartDate
=
proxy
.
formatToDate
(
item1
.
certificateStartDate
=
proxy
.
formatToDate
(
item1
.
certificateStartDate
)
item1
.
certificateValidityPeriod
[
0
]
}
)
if
(
item1
.
certificateEndDate
)
{
item1
.
certificateEndDate
=
proxy
.
formatToDate
(
item1
.
certificateEndDate
=
proxy
.
formatToDate
(
item1
.
certificateEndDate
)
item1
.
certificateValidityPeriod
[
1
]
)
delete
item1
.
certificateValidityPeriod
}
}
}
}
})
})
submitObj
[
'apiCertificateDtoList'
]
=
item
.
data
submitObj
[
'apiCertificateDtoList'
]
=
item
.
data
}
else
if
(
item
.
key
==
'apiCertificateDtoList'
&&
item
.
data
.
length
==
0
)
{
}
else
if
(
item
.
key
==
'apiCertificateDtoList'
&&
item
.
data
.
length
==
0
)
{
errorFields
.
value
.
push
({
if
(
source
!==
'insuredInfoRef'
)
{
message
:
`
${
tipName
}
证件信息不能为空`
errorFields
.
value
.
push
({
})
message
:
`
${
tipName
}
证件信息不能为空`
})
}
else
if
(
source
==
'insuredInfoRef'
)
{
if
(
submitObj
[
'policyholderRel'
]
!==
'MYSELF'
)
{
errorFields
.
value
.
push
({
message
:
`
${
tipName
}
证件信息不能为空`
})
}
}
}
}
if
(
item
.
key
==
'apiTaxationDtoList'
&&
item
.
data
.
length
>
0
)
{
if
(
item
.
key
==
'apiTaxationDtoList'
&&
item
.
data
.
length
>
0
)
{
submitObj
[
'apiTaxationDtoList'
]
=
item
.
data
.
filter
(
item
=>
{
submitObj
[
'apiTaxationDtoList'
]
=
item
.
data
.
filter
(
item
=>
{
...
...
src/views/sign/appointment/components/appointmentInfo.vue
View file @
495454bd
...
@@ -348,6 +348,41 @@
...
@@ -348,6 +348,41 @@
/>
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"签约公司"
prop=
"contractingCompanyName"
align=
"center"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.contractingCompanyName"
filterable
remote
reserve-keyword
placeholder=
"请选择"
:remote-method=
"
query => searchSelectList(query, 'contractingCompanyName')
"
:loading=
"searchLoadingStates['contractingCompanyName']"
:disabled=
"editStatus"
@
change=
"
handleTableSelectChange(
father,
scope.row,
'contractingCompanyName'
)
"
>
<el-option
v-for=
"item in searchOptions['contractingCompanyName'] || []"
:key=
"item.id"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</
template
>
</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
...
@@ -500,7 +535,12 @@ import {
...
@@ -500,7 +535,12 @@ import {
getItineraryDetail
,
getItineraryDetail
,
getAppointmentExprot
getAppointmentExprot
}
from
'@/api/sign/appointment'
}
from
'@/api/sign/appointment'
import
{
getBankList
,
getAllSignList
,
getUserSaleExpandList
}
from
'@/api/common'
import
{
getBankList
,
getAllSignList
,
getUserSaleExpandList
,
insuranceReconciliationCompany
}
from
'@/api/common'
import
CommonForm
from
'@/views/components/commonForm'
import
CommonForm
from
'@/views/components/commonForm'
import
CommonDialog
from
'@/components/commonDialog'
import
CommonDialog
from
'@/components/commonDialog'
import
CardOne
from
'@/components/formCard/cardOne'
import
CardOne
from
'@/components/formCard/cardOne'
...
@@ -827,12 +867,11 @@ const viewHistory = () => {
...
@@ -827,12 +867,11 @@ const viewHistory = () => {
}
}
}
}
const
handleTableSelectChange
=
(
father
,
row
,
key
)
=>
{
const
handleTableSelectChange
=
(
father
,
row
,
key
)
=>
{
console
.
log
(
'选择了'
,
row
,
key
)
searchOptions
.
value
[
key
].
forEach
(
item
=>
{
searchOptions
.
value
[
key
].
forEach
(
item
=>
{
console
.
log
(
'item'
,
item
)
console
.
log
(
'item'
,
item
)
if
(
row
[
key
]
==
item
.
value
)
{
if
(
row
[
key
]
==
item
.
value
)
{
row
[
key
]
=
item
.
label
row
[
key
]
=
item
.
label
row
.
userBizId
=
item
.
userBizId
//
row.userBizId = item.userBizId
if
(
key
==
'name'
)
{
if
(
key
==
'name'
)
{
row
.
userSignBizId
=
item
.
value
row
.
userSignBizId
=
item
.
value
row
.
practiceCode
=
item
.
practiceCode
row
.
practiceCode
=
item
.
practiceCode
...
@@ -842,6 +881,8 @@ const handleTableSelectChange = (father, row, key) => {
...
@@ -842,6 +881,8 @@ const handleTableSelectChange = (father, row, key) => {
row
.
cardType
=
item
.
cardType
row
.
cardType
=
item
.
cardType
}
else
if
(
key
==
'realName'
)
{
}
else
if
(
key
==
'realName'
)
{
row
.
userSaleBizId
=
item
.
value
row
.
userSaleBizId
=
item
.
value
}
else
if
(
key
==
'contractingCompanyName'
)
{
row
.
contractingCompanyId
=
item
.
value
}
}
}
}
})
})
...
@@ -954,6 +995,23 @@ const searchSelectList = async (query, key) => {
...
@@ -954,6 +995,23 @@ const searchSelectList = async (query, key) => {
})
})
searchOptions
.
value
[
key
]
=
response5
.
data
.
records
searchOptions
.
value
[
key
]
=
response5
.
data
.
records
}
}
}
else
if
(
key
==
'contractingCompanyName'
)
{
const
params5
=
{
pageNo
:
1
,
pageSize
:
10
,
realName
:
queryString
}
const
response5
=
await
insuranceReconciliationCompany
(
params5
)
if
(
response5
.
code
==
200
)
{
response5
.
data
.
records
=
response5
.
data
.
records
.
map
(
item
=>
{
return
{
...
item
,
label
:
item
.
name
,
value
:
item
.
reconciliationCompanyBizId
}
})
searchOptions
.
value
[
key
]
=
response5
.
data
.
records
}
}
}
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
` 搜索失败`
,
error
)
console
.
error
(
` 搜索失败`
,
error
)
...
...
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