04eb4382 by joe

1

1 parent e71323b4
......@@ -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相关
......
......@@ -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: "The 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 number",
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: "This 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 no.",
label2: "Product name",
label3: "effective date",
label4: "Policyholder",
label3: "Effective date",
label4: "Policy Owner",
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 service"
tip2: "confirm the receipt of the above policy on",
tip3: "",
tip4: "contact customer service hotline"
},
clarms: {
step1: {
......
......@@ -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) {
......
@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;
}
}
......
......@@ -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>
......
......@@ -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);
......
......@@ -40,7 +40,7 @@
}
.clarms-t1 {
font-size: 2rem;
font-size: 1.5rem ;
color: #f15907;
letter-spacing: .166667rem;
}
......
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();
......
......@@ -7,7 +7,7 @@
</template>
<template v-if="step == 2">
<clarms-material></clarms-material>
<clarms-material :insuredList="customerList"></clarms-material>
</template>
</div>
</template>
......