[银保app] 首页上拉刷新功能,续期详情拨打电话完善,续期点进去加转圈的加载功能,搜索也加跟保单列表一样,续期搜索框保单加身份证续期加名字,保单列表加姓名加一键删除.

This commit is contained in:
DESKTOP-AFPHKHF\PC
2023-01-09 10:24:12 +08:00
parent 1833ae101f
commit fb67a6dd65
5 changed files with 140 additions and 110 deletions

View File

@@ -1,5 +1,7 @@
<template>
<div class="public_container" :style="{paddingTop:marginTop+'px'}">
<van-pull-refresh v-model="isLoading" @refresh="onRefresh">
<div class="head">
<van-swipe :autoplay="3000" style="width: 100%;">
<van-swipe-item v-for="(item, index) in activity" :key="index" @touchstart="touchstart" @touchmove="touchmove" @touchend="touchend(item)">
@@ -205,6 +207,7 @@
</div>
</div>
</div>
</van-pull-refresh>
<van-popup v-model="calendarShow" position="bottom">
<van-datetime-picker
v-model="currentDate"
@@ -216,12 +219,13 @@
@confirm="handleCurrentDateConfirm"
/>
</van-popup>
</div>
</template>
<script>
import { homeConfigYB, getPremRankList, timelyContYB } from '@/api/YB_APP/index'
import { Swipe, SwipeItem, NoticeBar, Icon, Popup, DatetimePicker } from 'vant'
import { Swipe, SwipeItem, NoticeBar, Icon, Popup, DatetimePicker, PullRefresh ,Toast } from 'vant'
import config from '@/config'
import png8 from '@/assets/YB_APP/images/8.png';
import utils from '@/assets/js/utils/date-utils'
@@ -233,6 +237,8 @@ export default {
[NoticeBar.name]: NoticeBar,
[Icon.name]: Icon,
[Popup.name]: Popup,
[PullRefresh.name]:PullRefresh,
[Toast.name]:Toast ,
},
data() {
return {
@@ -257,6 +263,8 @@ export default {
colorThree:false,
thisValue:'12.9',
clickFlag:false,
count: 0,
isLoading: false,
}
},
mounted(){
@@ -499,8 +507,15 @@ export default {
})
}
}
}
},
// 下拉刷新
onRefresh() {
setTimeout(() => {
Toast('刷新成功');
this.isLoading = false;
location. reload()
}, 1000);
},
},
}
</script>

View File

@@ -269,7 +269,7 @@
formatter: function (params) {
// console.log(params,111)
return (
'<span style="color:#333;">渠道 </span>'+'<span style="color:#858bd6;margin-left:20px;">'+params.data.name +
'<span style="color:#333;">险种 </span>'+'<span style="color:#858bd6;margin-left:20px;">'+params.data.name +
'</span>'+'<br/>' +
'<span style="color:#333;">占比 </span>'+'<span style="color:#858bd6;margin-left:20px;">'+params.data.scale +
'</span>'+'<br/>' +

View File

@@ -1,64 +1,64 @@
<template>
<div class="public_container">
<!-- 最上方的搜索框 -->
<div style="position:relative;">
<van-search shape="round" v-model="findValue" placeholder="请输入保单号" />
<div style="position: relative">
<van-search shape="round" v-model="findValue" placeholder="请输入保单号/客户身份证号/客户姓名" />
<button class="searchButton" @click="keywordSearch(findValue)">搜索</button>
</div>
<!-- <div style="width:100%;height:1000px;background:rgba(0, 0, 0, 0.2);"></div> -->
<!-- 右侧搜索按钮 -->
<!-- 右侧搜索按钮 -->
<!-- <div style="height:40px;background-color:aqua"> -->
<!-- <label>
<!-- <label>
<input type="text" value="请输入保单号" style="background-color: aliceblue;height: 30px;width: 70%;border-radius: 50px;border:0"><img src="" alt=""></input>
<img src="../../assets/YB_APP/images/bigglass.png" alt="">
<button style="border:0;padding:17px 20px;background-color:blue;">搜索</button>
</label> -->
<!-- </div> -->
<!-- 无内容显示的背景 -->
<div v-if="filpolicyListDTOList == ''" style="position:relative;">
<div v-if="filpolicyListDTOList == ''" style="position: relative">
<img class="noContentImg" src="../../assets/YB_APP/images/noguarantee.png" />
<p class="noContentText">暂无保单</p>
</div>
<!-- 卡片列表 -->
<div v-if="filpolicyListDTOList != ''" style="overflow:hidden">
<div v-if="filpolicyListDTOList != ''" style="overflow: hidden">
<van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="listLoad">
<div class="cardList" v-for="(item, index) in filpolicyListDTOList" :key="index">
<div :class="[item.orderStatus == 1 ? 'topbackground1' : 'topbackground2']">
<!-- 字左边小对号图片 -->
<img class="cardListImg" v-if="item.orderStatus == 1" src="../../assets/YB_APP/images/sign1.png" />
<img class="cardListImg" v-if="item.orderStatus != 1" src="../../assets/YB_APP/images/sign2.png" />
<span class="cardListText">{{ item.riskName }}</span>
</div>
<!-- 卡片内容 -->
<div class="cardConetent">
<div class="textList">
<p class="policyNo">
<span>保单号</span><span>{{ item.policyNo }}</span>
</p>
<p>
<span>被保人</span><span>{{ item.insuredName }}</span>
</p>
<p>
<span>承保日期</span><span>{{ item.cvaliDate }}</span>
</p>
<p>
<span>销售渠道</span><span>{{ item.bankChannel }}</span>
</p>
<!-- 根据0,1状态判断显示是否和文字颜色 -->
<p v-if="item.visitSuccess == 0"><span>回访成功</span><span class="visitNo"></span></p>
<p v-if="item.visitSuccess == 1"><span>回访成功</span><span></span></p>
<p v-if="item.visitFinish == 0"><span>回访完成</span><span class="visitNo"></span></p>
<p v-if="item.visitFinish == 1"><span>回访完成</span><span></span></p>
<div class="cardList" v-for="(item, index) in filpolicyListDTOList" :key="index">
<div :class="[item.orderStatus == 1 ? 'topbackground1' : 'topbackground2']">
<!-- 字左边小对号图片 -->
<img class="cardListImg" v-if="item.orderStatus == 1" src="../../assets/YB_APP/images/sign1.png" />
<img class="cardListImg" v-if="item.orderStatus != 1" src="../../assets/YB_APP/images/sign2.png" />
<span class="cardListText">{{ item.riskName }}</span>
</div>
<!-- 右边状态图片 -->
<div class="rightState">
<img class="rightStateImg" :src="item.stateRoute"/>
<button class="rightStateButton" @click="goPolicyDetail(item.policyNo)">查看详情</button>
<!-- 卡片内容 -->
<div class="cardConetent">
<div class="textList">
<p class="policyNo">
<span>保单号</span><span>{{ item.policyNo }}</span>
</p>
<p>
<span>被保人</span><span>{{ item.insuredName }}</span>
</p>
<p>
<span>承保日期</span><span>{{ item.cvaliDate }}</span>
</p>
<p>
<span>销售渠道</span><span>{{ item.bankChannel }}</span>
</p>
<!-- 根据0,1状态判断显示是否和文字颜色 -->
<p v-if="item.visitSuccess == 0"><span>回访成功</span><span class="visitNo"></span></p>
<p v-if="item.visitSuccess == 1"><span>回访成功</span><span></span></p>
<p v-if="item.visitFinish == 0"><span>回访完成</span><span class="visitNo"></span></p>
<p v-if="item.visitFinish == 1"><span>回访完成</span><span></span></p>
</div>
<!-- 右边状态图片 -->
<div class="rightState">
<img class="rightStateImg" :src="item.stateRoute" />
<button class="rightStateButton" @click="goPolicyDetail(item.policyNo)">查看详情</button>
</div>
</div>
</div>
</div>
</van-list>
</div>
<van-popup v-model="showSideBar" position="right" style="width: 80%; height: 100%" :overlay-style="{ opacity: 0.7 }">
@@ -121,7 +121,7 @@ import { Button, Search } from 'vant'
import { ref } from 'vue'
import utils from '@/assets/js/utils/date-utils'
import { YBpolicyListAgent } from '@/api/YB_APP/index'
import warterMark from "@/assets/js/utils/warterMark.js"
import warterMark from '@/assets/js/utils/warterMark.js'
import { getAgentInfo } from '@/api/ebiz/my/my.js'
export default {
@@ -170,16 +170,16 @@ export default {
underwriteDate: '', // 承保日期的时间
params: {
signDate: '', // 日期
riskCode: '', // 保单号
otherNo: '', // 保单号
stateName: '', // 保单状态
bankChannel: '', // 渠道名称
visitSuccess: '', // 回访成功
visitFinish: '', // 回访完成
pageSize:10,
pageNo:0,
pageSize: 10,
pageNo: 0
},
loading: false,
finished: false,
finished: false
}
},
created() {
@@ -190,7 +190,7 @@ export default {
},
mounted() {
this.$toast.loading({
duration: 0, // 持续展示 toast
duration: 10000, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
@@ -204,11 +204,11 @@ export default {
},
methods: {
getAgentInfo(){
getAgentInfo({}).then(res=>{
if(res.result == 0){
getAgentInfo() {
getAgentInfo({}).then((res) => {
if (res.result == 0) {
console.log('123')
warterMark.set(res.name+res.jobNo,"")
warterMark.set(res.name + res.jobNo, '')
}
})
},
@@ -254,7 +254,7 @@ export default {
console.log(this.clickChangevisitSucceed, '回访完成的data')
console.log(val, '回访完成的val')
},
listLoad(){
listLoad() {
this.params.pageNo++
this.finished = false
this.loading = true
@@ -274,32 +274,32 @@ export default {
// that.filpolicyListDTOList = res.policyListDTOList
// console.log(this.policyListDTOList, 'data里的policyListDTOList')
// this.YBpolicyListAgent()
if( res.policyListDTOList && res.policyListDTOList.length == 0 ){
if (res.policyListDTOList && res.policyListDTOList.length == 0) {
this.finished = true
this.loading= false
this.loading = false
that.filpolicyListDTOList = []
console.log('111111111111111111111');
console.log('111111111111111111111')
// that.filpolicyListDTOList = res.policyListDTOList.policyListDTOList
}else{
} else {
that.filpolicyListDTOList = that.filpolicyListDTOList.concat(res.policyListDTOList)
that.finished = false
this.loading= false
console.log('22222222222222222222222222222');
if(res.policyListDTOList.length == 1 && this.params.riskCode != ''){
this.loading = false
console.log('22222222222222222222222222222')
if (res.policyListDTOList.length == 1 && this.params.otherNo != '') {
// that.filpolicyListDTOList = []
that.filpolicyListDTOList = res.policyListDTOList
}
}
} else {
if(that.params.pageNo == 1){
if (that.params.pageNo == 1) {
that.filpolicyListDTOList = []
console.log('33333333333333333333333333');
}else{
console.log('33333333333333333333333333')
} else {
that.$toast(res.resultMessage)
this.finished = true
this.loading= false
this.loading = false
// that.filpolicyListDTOList = []
console.log('44444444444444444444444444444');
console.log('44444444444444444444444444444')
}
}
})
@@ -319,12 +319,12 @@ export default {
},
// 上方关键词搜索按钮
keywordSearch(value) {
console.log(value,'点击搜索了')
console.log(value, '点击搜索了')
// this.filpolicyListDTOList = this.policyListDTOList.filter((p) => {
// return p.policyNo.indexOf(value) !== -1
// })
this.params.pageNo = 0
this.params.riskCode = value
this.params.otherNo = value
this.YBpolicyListAgent()
// console.log(value,'我是value');
// console.log(this.riskCode,'我是this.riskCode');
@@ -352,11 +352,11 @@ export default {
// })
this.filpolicyListDTOList = []
this.showSideBar = false
this.params.pageNo = 1
this.params.pageNo = 0
this.params.signDate = this.underwriteDate
// this.params.signDate = '2022-09'
console.log(this.params.signDate)
console.log(this.clickChangewarranty,'123321')
console.log(this.clickChangewarranty, '123321')
this.params.stateName = this.list1[this.clickChangewarranty].id
console.log(this.params.stateName)
this.params.bankChannel = this.list1[this.clickChangechannel].id
@@ -366,6 +366,12 @@ export default {
this.params.visitFinish = this.list1[this.clickChangevisitAccomplish].id
console.log(this.params.visitFinish)
this.YBpolicyListAgent()
this.$toast.loading({
duration: 15000, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
// this.filpolicyListDTOList = ''
// 根据选中险别对产品列表进行筛选
// this.list = this.proList.filter((item) => {
@@ -383,21 +389,21 @@ export default {
this.calendarShow = false
this.underwriteDate = utils.formatDate(e, 'yyyy-MM')
}
},
}
// 关键词搜索过滤
// watch: {
// findValue: {
// handler(value) {
// this.filpolicyListDTOList = this.policyListDTOList.filter((p) => {
// // return p.policyNo.indexOf(value) !== -1 || p.insuredName.indexOf(value) !== -1
// return p.policyNo.indexOf(value) !== -1
// })
// if (value == '') {
// this.filpolicyListDTOList = this.policyListDTOList
// }
// }
// }
// findValue: {
// handler(value) {
// this.filpolicyListDTOList = this.policyListDTOList.filter((p) => {
// // return p.policyNo.indexOf(value) !== -1 || p.insuredName.indexOf(value) !== -1
// return p.policyNo.indexOf(value) !== -1
// })
// if (value == '') {
// this.filpolicyListDTOList = this.policyListDTOList
// }
// }
// }
// }
}
</script>
@@ -414,10 +420,10 @@ export default {
/*height: 6vh;*/
}
// /deep/ .van-cell--borderless {
// height: 32px;
// background-color: #f7f7f7;
// font-size: 12px;
// line-height: 30px;
// height: 32px;
// background-color: #f7f7f7;
// font-size: 12px;
// line-height: 30px;
// }
.searchButton {
position: absolute;
@@ -509,7 +515,7 @@ export default {
color: #9d9d9d;
padding-top: 14px;
font-size: 12px;
padding-left: 20px ;
padding-left: 20px;
}
.textList > p {
display: flex;
@@ -520,7 +526,7 @@ export default {
display: block;
// float:left;
width: 50px;
white-space:nowrap;
white-space: nowrap;
// background-color: blueviolet;
}
.textList > p > span:nth-of-type(2) {
@@ -634,4 +640,8 @@ export default {
display: flex;
flex-wrap: wrap;
}
/deep/ .van-icon-clear {
margin-right: 46px;
// background-color:blue ;
}
</style>

View File

@@ -2,26 +2,26 @@
<div class="public_container">
<!-- 上方小图标 -->
<div class="topTitle">
<div v-if="(changestate == 0)">
<div v-if="changestate == 0">
<van-icon name="underway-o" color="#EA070A" size="30" />
<p class="topTitleText">续期待扣款</p>
</div>
<div v-if="(changestate == 1)">
<div v-if="changestate == 1">
<van-icon name="passed" color="#2451C1" size="30" />
<p class="topTitleText">续期扣款成功</p>
</div>
<div v-if="(changestate == 2)">
<div v-if="changestate == 2">
<van-icon name="underway-o" color="#EA070A" size="30" />
<p class="topTitleText">续期扣款中 </p>
<p class="topTitleText">续期扣款中</p>
</div>
<div v-if="(changestate == 3)">
<div v-if="changestate == 3">
<van-icon name="close" color="#EA070A" size="30" />
<p class="topTitleText">续期扣款失败 </p>
<p class="topTitleText">续期扣款失败</p>
</div>
<div v-if="(changestate == 4)">
<p><img src="../../assets/YB_APP/images/changestate.png" height="36px"></p>
<div v-if="changestate == 4">
<p><img src="../../assets/YB_APP/images/changestate.png" height="36px" /></p>
<!-- <van-icon name="stop-circle-o" size="30"/> -->
<p class="topTitleText">已终止 </p>
<p class="topTitleText">已终止</p>
</div>
</div>
<!-- 中间内容 -->
@@ -36,7 +36,7 @@
<van-cell title="转账银行" :value="ybOrderDTOList.bankCode" />
<van-cell title="转账帐号" :value="ybOrderDTOList.bankAccNo" />
<van-cell title="交费次数" :value="ybOrderDTOList.payTimes" />
<van-cell title="扣款失败原因" :value="ybOrderDTOList.defeateCause" v-if="changestate == 3" />
<van-cell title="扣款失败原因" :value="ybOrderDTOList.defeateCause" v-if="changestate == 3" />
<van-cell title="应交日" :value="ybOrderDTOList.payToDate" />
<van-cell title="归属网点" :value="ybOrderDTOList.netWorkName" />
<van-cell title="归属地市" :value="ybOrderDTOList.city" />
@@ -63,7 +63,7 @@
<script>
import { getYBRenewalInfo } from '@/api/YB_APP/index'
import warterMark from "@/assets/js/utils/warterMark.js"
import warterMark from '@/assets/js/utils/warterMark.js'
import { getAgentInfo } from '@/api/ebiz/my/my.js'
export default {
name: 'policyDetail',
@@ -81,20 +81,19 @@ export default {
this.policyNo.payFlag = this.$route.query.payFlag
this.policyNo.payToDate = this.$route.query.payToDate
// console.log(this.policyNo, 'avc')
console.log(this.$route.query,'我是router里参数');
console.log(this.$route.query, '我是router里参数')
console.log(this.policyNo, 'avc111111111111')
this.getYBRenewalInfo()
this.changestate = this.policyNo.payFlag
this.getAgentInfo()
},
methods: {
// 水印
getAgentInfo(){
getAgentInfo({}).then(res=>{
if(res.result == 0){
// 水印
getAgentInfo() {
getAgentInfo({}).then((res) => {
if (res.result == 0) {
console.log('123')
warterMark.set(res.name+res.jobNo,"")
warterMark.set(res.name + res.jobNo, '')
}
})
},
@@ -106,7 +105,7 @@ export default {
},
contact() {
const a = document.createElement('a')
a.href = 'tel:8888410'
a.href = `tel:'${this.ybOrderDTOList.appntPhone}'`
a.click()
this.show = false
},
@@ -117,7 +116,7 @@ export default {
// let params = {
// policyNo
// }
console.log(this.policyNo,'我是this.policyNo')
console.log(this.policyNo, '我是this.policyNo')
getYBRenewalInfo(this.policyNo).then((res) => {
console.log(res, '我是res')
if (res.result == 0) {

View File

@@ -2,7 +2,7 @@
<div class="public_container">
<!-- 最上方的搜索框 -->
<div style="position: relative">
<van-search shape="round" v-model="findValue" placeholder="请输入保单号/客户身份证号" />
<van-search shape="round" v-model="findValue" placeholder="请输入保单号/客户身份证号/客户姓名" />
<button class="searchButton" @click="keywordSearch(findValue)">搜索</button>
</div>
<!-- 标签选择 -->
@@ -146,6 +146,12 @@ export default {
},
created() {},
mounted() {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
let aaa = new Date().getMonth() + 1
let bbb = aaa - 3
let ccc = aaa + 1