Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
dev
/
pingan-life-index-pro
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
04eb4382
authored
2020-01-20 20:02:06 +0800
by
joe
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
1
1 parent
e71323b4
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
139 additions
and
41 deletions
src/api/api.js
src/common/lang/en.js
src/pages/custom-service/components/clarms-plugins-material.js
src/pages/custom-service/components/clarms-plugins-material.scss
src/pages/custom-service/components/clarms-plugins-material.vue
src/pages/custom-service/components/clarms-plugins-upload.js
src/pages/custom-service/components/clarms-plugins-upload.scss
src/pages/custom-service/components/clarms.js
src/pages/custom-service/components/clarms.vue
src/api/api.js
View file @
04eb438
...
...
@@ -64,6 +64,12 @@ module.exports = {
downloadPolicy
:
"/pingan_hklife_webapi/policy/d"
,
// 上传电子文档
uploadClarmsImage
:
"/pingan_hklife_webapi/policy/clarmsUpload"
,
// 如果是登录用户,直接从库中获取cid
getCidByLogin
:
"/pingan_hklife_webapi/policy/getCidByLogin"
,
// 校验方式获取cid
getCidByVerify
:
"/pingan_hklife_webapi/policy/getCidByVerify"
,
// 客户信息
clarmsCustomerList
:
"/pingan_hklife_webapi/policy/clarmsCustomerList"
,
// cms相关
...
...
src/common/lang/en.js
View file @
04eb438
...
...
@@ -809,27 +809,27 @@ module.exports = {
},
vhis
:
{
title
:
"
Policy confirmation
"
,
desc1
:
"Thank you for
purchasing Ping An Life insurance products.
"
,
desc2
:
"The policy is
covered and enclosed for your reference and preservation.
"
,
desc3
:
"Th
e policy is an important file. Please check the accuracy of the content immediately,
"
,
desc4
:
"
If you have any missing files or wrong information, please call the customer service
hotline."
,
desc5
:
"Please
sign and issue a confirmation receipt for our records
."
,
label1
:
"Policy n
umber
"
,
title
:
"
Confirmation of policy receipt(to be confirmed by Policy Owner)
"
,
desc1
:
"Thank you for
choosing Ping An Life (HK).
"
,
desc2
:
"The policy is
underwritten and enclosed here for your reference and record.
"
,
desc3
:
"Th
is is an important document, we recommend you to check the accuracy immediately.
"
,
desc4
:
"
Should there be any missing documents or incorrect information, please contact our customer
hotline."
,
desc5
:
"Please
confirm your receipt of the policy by clicking the confirm button below
."
,
label1
:
"Policy n
o.
"
,
label2
:
"Product name"
,
label3
:
"
e
ffective date"
,
label4
:
"Policy
hold
er"
,
label3
:
"
E
ffective date"
,
label4
:
"Policy
Own
er"
,
label5
:
"Insured"
,
btn1
:
"
Download e
-policy"
,
btn2
:
"Confirm
immediately
"
,
btn1
:
"
E
-policy"
,
btn2
:
"Confirm
Now
"
,
btn3
:
"Confirm later"
,
ymd1
:
"/"
,
ymd2
:
"/"
,
ymd3
:
""
,
tip1
:
"I"
,
tip2
:
"
hereby confirmed that
"
,
tip3
:
"
collection of the above policies
"
,
tip4
:
"
I would like to contact customer servic
e"
tip2
:
"
confirm the receipt of the above policy on
"
,
tip3
:
""
,
tip4
:
"
contact customer service hotlin
e"
},
clarms
:
{
step1
:
{
...
...
src/pages/custom-service/components/clarms-plugins-material.js
View file @
04eb438
...
...
@@ -8,11 +8,23 @@ import {
import
DatePicker
from
'@/components/date-picker/date-picker.vue'
;
import
ClarmsUpload
from
'./clarms-plugins-upload.vue'
;
import
Vue
from
'vue'
;
import
{
Loading
}
from
'vant'
;
import
{
Loading
,
List
}
from
'vant'
;
import
{
Select
,
Option
}
from
'element-ui'
;
Vue
.
use
(
Loading
);
Vue
.
use
(
Select
);
Vue
.
use
(
Option
);
export
default
{
props
:
{
// 是否显示组件
insuredList
:
{
type
:
Array
,
default
()
{
return
[]
}
}
},
data
()
{
return
{
uploadFiles
:
0
,
...
...
@@ -22,10 +34,9 @@ export default {
agress
:
false
,
data
:
{
contactDate
:
""
,
insured
:
{}
insured
:
{}
},
insuredList
:
[{
name
:
"张三疯"
}],
contactDateError
:
false
contactDateError
:
false
}
},
components
:
{
...
...
@@ -39,7 +50,7 @@ export default {
},
methods
:
{
initData
()
{
console
.
log
(
"this.insuredList = "
,
this
.
insuredList
);
},
typeClickHandle
(
t
)
{
let
index
=
this
.
typeSelected
.
indexOf
(
t
);
...
...
@@ -49,7 +60,7 @@ export default {
this
.
typeSelected
.
push
(
t
);
}
},
uploadSuccess
(
data
){
uploadSuccess
(
data
)
{
console
.
log
(
data
);
},
checkDate
(
data
)
{
...
...
src/pages/custom-service/components/clarms-plugins-material.scss
View file @
04eb438
@import
'@/styles/_support'
;
input
{
padding
:
0
2
.083333rem
;
color
:
#333333
;
...
...
@@ -34,18 +35,24 @@ input {
background-color
:
#ffffff
;
padding
:
1
.666667rem
10rem
2
.833333rem
10rem
;
.clarms-border
{
box-sizing
:border-box
;
padding
:
.166667rem
;
border-radius
:
.416667rem
;
background-image
:
linear-gradient
(
to
right
,
#ffb31d
,
#f15907
)
;
}
.title
{
font-size
:
1
.333333rem
;
color
:
$cOrange
;
text-align
:
center
;
margin
:
1
.666667rem
auto
0
auto
;
select
{
padding
:
0
1
.25rem
;
border
:
none
;
border-bottom
:
.083333rem
solid
#666666
;
color
:
#666666
;
}
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
font-weight
:
600
;
letter-spacing
:
.25rem
;
font-size
:
1
.5rem
;
}
.default-mt
{
...
...
@@ -300,6 +307,7 @@ input {
letter-spacing
:
.25rem
;
.main-label
{
font-size
:
1
.5rem
;
color
:
$cOrange
;
}
}
...
...
src/pages/custom-service/components/clarms-plugins-material.vue
View file @
04eb438
...
...
@@ -3,10 +3,12 @@
<div
class=
"reservation-container-2"
>
<div
class=
"title default-mt"
>
<span>
{{
$t
(
'clarms.step2.label1'
)
}}
</span>
<div
class=
"clarms-border"
>
<el-select
v-model=
"data.insured"
>
<el-option
v-for=
"(item,index) in insuredList"
:key=
"index"
:label=
"item.name"
:value=
"item.name
"
>
<el-option
v-for=
"(item,index) in insuredList"
:key=
"index"
:label=
"item.insuredNameCn"
:value=
"item.insuredNameCn
"
>
</el-option>
</el-select>
</div>
<span>
{{
$t
(
'clarms.step2.label2'
)
}}
</span>
</div>
<hr>
...
...
src/pages/custom-service/components/clarms-plugins-upload.js
View file @
04eb438
...
...
@@ -21,8 +21,6 @@ export default {
name
:
""
,
// 图标编号
icon
:
""
,
// 影像名称
imageFileName
:
""
,
// 主单证类型
imageMainTypeID
:
""
,
// 副单证类型
...
...
@@ -93,6 +91,7 @@ export default {
var
reader
=
new
FileReader
();
reader
.
onload
=
function
(
e
)
{
let
d
=
{
fileName
:
""
,
file
:
file
,
data
:
reader
.
result
,
cacheKey
:
""
,
...
...
@@ -120,7 +119,8 @@ export default {
key
:
item
.
key
}
formdata
({
url
:
api
.
uploadClarmsImage
,
data
:
param
}).
then
(
res
=>
{
item
.
cacheKey
=
res
.
content
.
id
item
.
fileName
=
res
.
content
.
fileName
;
item
.
cacheKey
=
res
.
content
.
id
;
clearInterval
(
item
.
intervial
);
item
.
intervial
=
false
;
this
.
$set
(
this
,
"images"
,
this
.
images
);
...
...
src/pages/custom-service/components/clarms-plugins-upload.scss
View file @
04eb438
...
...
@@ -40,7 +40,7 @@
}
.clarms-t1
{
font-size
:
2rem
;
font-size
:
1
.5rem
;
color
:
#f15907
;
letter-spacing
:
.166667rem
;
}
...
...
src/pages/custom-service/components/clarms.js
View file @
04eb438
import
{
mapGetters
,
mapActions
,
mapState
}
from
"vuex"
;
import
api
from
'@/api/api'
import
{
httpGet
,
...
...
@@ -19,12 +25,12 @@ import ClarmsMaterial from './clarms-plugins-material.vue';
export
default
{
data
()
{
return
{
step
:
2
,
// 1是表单;2是报案页面
step
:
0
,
// 1是表单;2是报案页面
agress
:
false
,
data
:
{
contactDate
:
""
},
reservationTypes
:
[]
reservationTypes
:
[],
cid
:
false
,
// 可以理赔的客户信息
customerList
:
[]
}
},
components
:
{
...
...
@@ -32,17 +38,82 @@ export default {
ClarmsMaterial
},
computed
:
{
...
mapState
({
userInfo
:
state
=>
state
.
userInfo
}),
i18n
()
{
return
this
.
$i18n
.
messages
&&
this
.
$i18n
.
locale
?
this
.
$i18n
.
messages
[
this
.
$i18n
.
locale
]
:
{};
},
},
methods
:
{
initData
()
{
if
(
this
.
userInfo
&&
this
.
userInfo
.
name
)
{
this
.
loadCidIfLogin
();
sessionStorage
.
removeItem
(
"clarmsRequestCid"
)
}
else
{
let
cid
=
sessionStorage
.
getItem
(
"clarmsRequestCid"
);
if
(
cid
)
{
this
.
cid
=
cid
;
this
.
checkCid
();
}
else
{
this
.
step
=
1
;
}
}
},
loadCidIfLogin
()
{
let
param
=
{
sid
:
this
.
userInfo
.
sid
};
httpPost
({
url
:
api
.
getCidByLogin
,
sid
:
true
,
data
:
param
}).
then
(
res
=>
{
if
(
res
)
{
this
.
cid
=
res
;
this
.
checkCid
();
}
else
{
this
.
step
=
1
;
}
}).
catch
(
e
=>
{
this
.
step
=
1
;
});
},
checkCid
()
{
let
param
=
{
cid
:
this
.
cid
}
httpPost
({
url
:
api
.
clarmsCustomerList
,
data
:
param
}).
then
(
res
=>
{
if
(
res
&&
res
.
insuredInfoList
&&
res
.
insuredInfoList
.
length
>
0
)
{
this
.
customerList
=
res
.
insuredInfoList
;
this
.
step
=
2
;
}
else
{
sessionStorage
.
removeItem
(
"clarmsRequestCid"
);
this
.
step
=
1
;
}
}).
catch
(
e
=>
{
sessionStorage
.
removeItem
(
"clarmsRequestCid"
);
this
.
step
=
1
;
});
},
logoutAction
()
{
console
.
log
(
"logoutAction"
);
this
.
sid
=
false
;
this
.
hadQueryCustomerList
=
false
;
this
.
customerList
=
[];
this
.
step
=
1
;
},
loginAction
()
{
console
.
log
(
"loginAction"
);
this
.
sid
=
false
;
this
.
hadQueryCustomerList
=
false
;
this
.
customerList
=
[];
}
},
watch
:
{
userInfo
(
val
)
{
if
(
val
&&
val
.
name
)
{
this
.
loginAction
();
}
else
{
this
.
logoutAction
();
}
}
},
mounted
()
{
this
.
initData
();
...
...
src/pages/custom-service/components/clarms.vue
View file @
04eb438
...
...
@@ -7,7 +7,7 @@
</
template
>
<
template
v-if=
"step == 2"
>
<clarms-material
></clarms-material>
<clarms-material
:insuredList=
"customerList"
></clarms-material>
</
template
>
</div>
</template>
...
...
Please
register
or
sign in
to post a comment