Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
addInsured-AIA-POC
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liujianghai
addInsured-AIA-POC
Commits
69f2f609
Commit
69f2f609
authored
Mar 08, 2020
by
marsandheart
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加一些问题
parent
ff93c591
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
208 additions
and
17 deletions
+208
-17
QuestionItem.jsx
src/pages/DoubleRecord.components/QuestionItem.jsx
+1
-1
DoubleRecord.jsx
src/pages/DoubleRecord.jsx
+202
-12
DoubleRecord.module.scss
src/pages/DoubleRecord.module.scss
+5
-4
No files found.
src/pages/DoubleRecord.components/QuestionItem.jsx
View file @
69f2f609
...
@@ -54,7 +54,7 @@ export default function(props) {
...
@@ -54,7 +54,7 @@ export default function(props) {
};
};
const
clickChecked
=
()
=>
{
const
clickChecked
=
()
=>
{
if
(
!
needCheck
)
{
if
(
!
needCheck
||
(
needCheck
&&
playStatus
!==
'3'
)
)
{
return
;
return
;
}
}
setChecked
(
questionId
,
!
checked
);
setChecked
(
questionId
,
!
checked
);
...
...
src/pages/DoubleRecord.jsx
View file @
69f2f609
...
@@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react';
...
@@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react';
import
styles
from
'./DoubleRecord.module.scss'
;
import
styles
from
'./DoubleRecord.module.scss'
;
import
TouchOpacity
from
'components/TouchOpacity'
;
import
TouchOpacity
from
'components/TouchOpacity'
;
import
TouchSpan
from
'components/TouchSpan'
;
import
Logo
from
'assets/img/aia-logo.jpg'
;
import
Logo
from
'assets/img/aia-logo.jpg'
;
import
IconHome
from
'assets/img/home.png'
;
import
IconHome
from
'assets/img/home.png'
;
...
@@ -10,15 +11,17 @@ import IconPositionSelected from 'assets/img/position-selected.png';
...
@@ -10,15 +11,17 @@ import IconPositionSelected from 'assets/img/position-selected.png';
import
QuestionItem
from
'./DoubleRecord.components/QuestionItem'
;
import
QuestionItem
from
'./DoubleRecord.components/QuestionItem'
;
const
defaultPdfPath
=
'https://gitee.com/JYWan/JYWeiBo/raw/master/aia_doc-1.pdf'
;
// 调用app的展示PDF方法,合同展示节点使用
// 调用app的展示PDF方法,合同展示节点使用
const
showPDF
=
()
=>
{
const
showPDF
=
(
pdfPath
,
pdfName
)
=>
{
if
(
!
window
.
webkit
)
{
if
(
!
window
.
webkit
)
{
alert
(
'window.webkit 未定义'
);
alert
(
'window.webkit 未定义'
);
return
;
return
;
}
}
window
.
webkit
.
messageHandlers
.
aiaPDFPreView
.
postMessage
({
window
.
webkit
.
messageHandlers
.
aiaPDFPreView
.
postMessage
({
pdfPath
:
'https://gitee.com/JYWan/JYWeiBo/raw/master/aia_doc-1.pdf'
,
pdfPath
,
pdfName
:
'免除保险人责任条款'
pdfName
});
});
};
};
...
@@ -75,7 +78,7 @@ const defaultSteps = [
...
@@ -75,7 +78,7 @@ const defaultSteps = [
{
{
questionId
:
'4'
,
questionId
:
'4'
,
needPlay
:
true
,
needPlay
:
true
,
needCheck
:
fals
e
,
needCheck
:
tru
e
,
playStatus
:
'0'
,
playStatus
:
'0'
,
checked
:
false
,
checked
:
false
,
text
:
<
span
>
请销售人员对镜头出示展业证,在镜头上展示3秒,保证对焦准确,画质清晰。
</
span
>,
text
:
<
span
>
请销售人员对镜头出示展业证,在镜头上展示3秒,保证对焦准确,画质清晰。
</
span
>,
...
@@ -84,7 +87,7 @@ const defaultSteps = [
...
@@ -84,7 +87,7 @@ const defaultSteps = [
{
{
questionId
:
'5'
,
questionId
:
'5'
,
needPlay
:
true
,
needPlay
:
true
,
needCheck
:
fals
e
,
needCheck
:
tru
e
,
playStatus
:
'0'
,
playStatus
:
'0'
,
checked
:
false
,
checked
:
false
,
text
:
(
text
:
(
...
@@ -176,15 +179,179 @@ const defaultSteps = [
...
@@ -176,15 +179,179 @@ const defaultSteps = [
checked
:
false
,
checked
:
false
,
text
:
(
text
:
(
<
span
>
<
span
>
<
span
className=
{
styles
.
seller
}
>
销售人员:
</
span
>
销售过程中我已向您详细讲解人身保险投保提示书、免除保险人责任条款、保险合同内容变更申请书。为保障您的权益,接下来请您阅读并核实是否与我讲解的内容一致,如您发现任何不一致的地方,请您当场提出。
接下来,请销售人员向投保人展示相关文件。
</
span
>
),
voice
:
'销售过程中我已向您详细讲解人身保险投保提示书、免除保险人责任条款、保险合同内容变更申请书。为保障您的权益,接下来请您阅读并核实是否与我讲解的内容一致,如您发现任何不一致的地方,请您当场提出。接下来,请销售人员向投保人展示相关文件。'
},
{
questionId
:
'2'
,
needPlay
:
true
,
needCheck
:
true
,
playStatus
:
'0'
,
checked
:
false
,
text
:
(
<
span
>
请销售人员向投保人展示纸质《人身保险投保提示书》,请投保人(张三)认真阅读核实并签字确认,客户签字后,请销售人员向镜头前展示文件名及签字部分,停留至少3秒,保证清晰。
</
span
>
),
voice
:
'请销售人员向投保人展示纸质《人身保险投保提示书》,请投保人(张三)认真阅读核实并签字确认,客户签字后,请销售人员向镜头前展示文件名及签字部分,停留至少3秒,保证清晰。'
},
{
questionId
:
'3'
,
needPlay
:
true
,
needCheck
:
true
,
playStatus
:
'0'
,
checked
:
false
,
text
:
(
<
span
>
请销售人员点击链接向镜头清晰展示纸质《人身保险投保提示书》标题及签字部分。
</
span
>
),
voice
:
'请销售人员点击链接向镜头清晰展示纸质《人身保险投保提示书》标题及签字部分。'
},
{
questionId
:
'4'
,
needPlay
:
true
,
needCheck
:
false
,
playStatus
:
'0'
,
checked
:
false
,
text
:
(
<
span
>
请销售人员向投保人展示免除保险人责任条款说明,请投保人特别关注条款中的“明确说明与如实告知、年龄计算及错误处理、保险事故的通知等内容”。请投保人认真阅读核实,稍后请投保人签字确认。
</
span
>
),
voice
:
'请销售人员向投保人展示免除保险人责任条款说明,请投保人特别关注条款中的“明确说明与如实告知、年龄计算及错误处理、保险事故的通知等内容”。请投保人认真阅读核实,稍后请投保人签字确认。'
},
{
questionId
:
'5'
,
needPlay
:
true
,
needCheck
:
true
,
playStatus
:
'0'
,
checked
:
false
,
text
:
(
<
span
>
请销售人员点击链接向镜头展示
请销售人员点击链接向镜头展示
<
span
className=
{
styles
.
extlink
}
onClick=
{
showPDF
}
>
<
TouchSpan
className=
{
styles
.
extlink
}
onClick=
{
()
=>
{
showPDF
(
defaultPdfPath
,
'免除保险人责任条款'
)}
}
>
《免除保险人责任条款》
《免除保险人责任条款》
</
TouchSpan
>
至少3秒,保证标题清晰后给投保人阅读。
</
span
>
),
voice
:
'请销售人员点击链接向镜头展示《免除保险人责任条款》至少3秒,保证标题清晰后给投保人阅读。'
},
{
questionId
:
'6'
,
needPlay
:
true
,
needCheck
:
true
,
playStatus
:
'0'
,
checked
:
false
,
text
:
(
<
span
>
请销售人员确认已向镜头清晰展示免除保险人责任条款。
</
span
>
</
span
>
),
voice
:
'请销售人员确认已向镜头清晰展示免除保险人责任条款。'
},
{
questionId
:
'7'
,
needPlay
:
true
,
needCheck
:
true
,
playStatus
:
'0'
,
checked
:
false
,
text
:
(
<
span
>
请销售人员向投保人展示保险条款,请投保人认真阅读。
</
span
>
),
voice
:
'请销售人员向投保人展示保险条款,请投保人认真阅读。'
},
{
questionId
:
'8'
,
needPlay
:
true
,
needCheck
:
true
,
playStatus
:
'0'
,
checked
:
false
,
text
:
(
<
span
>
请销售人员点击链接向镜头展示
<
TouchSpan
className=
{
styles
.
extlink
}
onClick=
{
()
=>
{
showPDF
(
defaultPdfPath
,
'保险条款'
)}
}
>
《保险条款》
</
TouchSpan
>
至少3秒,保证标题清晰后给投保人阅读
至少3秒,保证标题清晰后给投保人阅读
</
span
>
</
span
>
),
),
voice
:
voice
:
'请销售人员点击链接向镜头展示《免除保险人责任条款》至少3秒,保证标题清晰后给投保人阅读'
'请销售人员点击链接向镜头展示《保险条款》至少3秒,保证标题清晰后给投保人阅读。'
},
{
questionId
:
'9'
,
needPlay
:
true
,
needCheck
:
true
,
playStatus
:
'0'
,
checked
:
false
,
text
:
(
<
span
>
请销售人员确认已向镜头清晰展示保险条款。
</
span
>
),
voice
:
'请销售人员确认已向镜头清晰展示保险条款。'
},
{
questionId
:
'10'
,
needPlay
:
true
,
needCheck
:
false
,
playStatus
:
'0'
,
checked
:
false
,
text
:
(
<
span
>
请销售人员向投保人展示保险合同内容变更申请书,请投保人认真阅读。
</
span
>
),
voice
:
'请销售人员向投保人展示保险合同内容变更申请书,请投保人认真阅读。'
},
{
questionId
:
'11'
,
needPlay
:
true
,
needCheck
:
true
,
playStatus
:
'0'
,
checked
:
false
,
text
:
(
<
span
>
请销售人员点击链接向镜头展示
<
TouchSpan
className=
{
styles
.
extlink
}
onClick=
{
()
=>
{
showPDF
(
defaultPdfPath
,
'保险合同内容变更申请书'
)}
}
>
保险合同内容变更申请书
</
TouchSpan
>
至少3秒,保证标题清晰后给投保人阅读。稍后请投保人签字确认。
</
span
>
),
voice
:
'请销售人员点击链接向镜头展示 保险合同内容变更申请书 至少3秒,保证标题清晰后给投保人阅读。稍后请投保人签字确认。'
},
{
questionId
:
'12'
,
needPlay
:
true
,
needCheck
:
true
,
playStatus
:
'0'
,
checked
:
false
,
text
:
(
<
span
>
请销售人员确认已向镜头清晰展示保险合同内容变更申请书。
</
span
>
),
voice
:
'请销售人员确认已向镜头清晰展示保险合同内容变更申请书。'
}
}
]
]
},
},
...
@@ -203,6 +370,17 @@ const defaultSteps = [
...
@@ -203,6 +370,17 @@ const defaultSteps = [
'刚才已请投保人阅读过投保提示书、免除保险人责任条款、保险条款及保险合同内容变更申请书,在确保镜头可以录制客户签字过程情况下,请投保人张三签字确认。'
,
'刚才已请投保人阅读过投保提示书、免除保险人责任条款、保险条款及保险合同内容变更申请书,在确保镜头可以录制客户签字过程情况下,请投保人张三签字确认。'
,
voice
:
voice
:
'刚才已请投保人阅读过投保提示书、免除保险人责任条款、保险条款及保险合同内容变更申请书,在确保镜头可以录制客户签字过程情况下,请投保人张三签字确认。'
'刚才已请投保人阅读过投保提示书、免除保险人责任条款、保险条款及保险合同内容变更申请书,在确保镜头可以录制客户签字过程情况下,请投保人张三签字确认。'
},
{
questionId
:
'2'
,
needPlay
:
true
,
needCheck
:
true
,
playStatus
:
'0'
,
checked
:
false
,
text
:
'客户签署完成后,请销售人员向镜头展示客户签字至少3秒,保证清晰。'
,
voice
:
'客户签署完成后,请销售人员向镜头展示客户签字至少3秒,保证清晰。'
}
}
]
]
}
}
...
@@ -226,13 +404,16 @@ export default function(props) {
...
@@ -226,13 +404,16 @@ export default function(props) {
// 朗读当前问题
// 朗读当前问题
const
playQuestion
=
(
questionId
)
=>
{
const
playQuestion
=
(
questionId
)
=>
{
console
.
log
(
'407'
)
const
targetQuestion
=
currentStep
.
questions
.
find
((
q
)
=>
q
.
questionId
===
questionId
);
const
targetQuestion
=
currentStep
.
questions
.
find
((
q
)
=>
q
.
questionId
===
questionId
);
if
(
!
targetQuestion
||
!
targetQuestion
.
needPlay
||
targetQuestion
.
playStatus
===
'3'
)
{
if
(
!
targetQuestion
||
targetQuestion
.
playStatus
===
'3'
)
{
return
;
return
;
}
}
else
if
(
!
targetQuestion
.
needPlay
){
setPlayStatus
(
questionId
,
'3'
);
}
else
{
setPlayStatus
(
questionId
,
'1'
);
setPlayStatus
(
questionId
,
'1'
);
voiceStart
(
targetQuestion
.
voice
);
voiceStart
(
targetQuestion
.
voice
);
}
};
};
// 设置问题的播放状态,以展示不同的图标
// 设置问题的播放状态,以展示不同的图标
...
@@ -503,10 +684,19 @@ export default function(props) {
...
@@ -503,10 +684,19 @@ export default function(props) {
voiceContinue=
{
voiceContinue
}
voiceContinue=
{
voiceContinue
}
/>
/>
))
}
))
}
{
stepId
===
7
&&
(
{
stepId
===
'7'
&&
(
<>
<>
<
TouchOpacity
className=
{
styles
.
btn
}
onClick=
{
showSign
}
>
<
TouchOpacity
className=
{
styles
.
btn
}
onClick=
{
showSign
}
>
呼出签名视图
投保人/被保人签名
</
TouchOpacity
>
<
div
style=
{
{
clear
:
'both'
}
}
></
div
>
<
div
>
签名图片展示:
</
div
>
<
div
onClick=
{
showImgSrc
}
>
<
img
alt=
"签名图片"
src=
{
imgSrc
}
></
img
>
</
div
>
<
TouchOpacity
className=
{
styles
.
btn
}
onClick=
{
showSign
}
>
营销员签名
</
TouchOpacity
>
</
TouchOpacity
>
<
div
style=
{
{
clear
:
'both'
}
}
></
div
>
<
div
style=
{
{
clear
:
'both'
}
}
></
div
>
<
div
>
签名图片展示:
</
div
>
<
div
>
签名图片展示:
</
div
>
...
...
src/pages/DoubleRecord.module.scss
View file @
69f2f609
...
@@ -69,19 +69,20 @@
...
@@ -69,19 +69,20 @@
}
}
.questionArea
{
.questionArea
{
height
:
90%
;
height
:
90%
;
overflow-x
:
hidden
;
overflow-y
:
scroll
;
border
:
1px
solid
#999999
;
border
:
1px
solid
#999999
;
border-radius
:
10px
;
border-radius
:
10px
;
padding
:
0
.1
5
rem
0
.3rem
;
padding
:
0
.1rem
0
.3rem
;
background-color
:
#ECE9EC
;
background-color
:
#ECE9EC
;
.stepTitle
{
.stepTitle
{
font-size
:
0
.25rem
;
font-size
:
0
.25rem
;
line-height
:
0
.3rem
;
font-weight
:
bold
;
font-weight
:
bold
;
}
}
.stepQuestions
{
.stepQuestions
{
margin-top
:
0
.3rem
;
margin-top
:
0
.3rem
;
overflow-x
:
hidden
;
// height: 88%;
overflow-y
:
scroll
;
height
:
88%
;
}
}
}
}
}
}
...
...
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