Files
ebiz-h5/src/views/ebiz/performance/Performance.vue
huichao 08ea58f58e 传参
2020-07-25 18:54:20 +08:00

366 lines
11 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div>
<div
class="border-gb mt20 header mh-auto van-cell:not(:last-child)::after h50 flex align-items-c"
>
<van-button
round
@click="goDetail(order)"
size="small"
class="ml15"
type="danger"
v-no-more-click="1000"
>当月</van-button>
<div @click="timePopup" class="fs12 red ml15">
{{titleTime}}
<img src="@/assets/images/u79.png" alt class="absolute mt2 ml5" />
</div>
<van-popup v-model="dateShow" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="year-month"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@cancel="handleCancel"
@confirm="handleEndDateConfirm"
/>
</van-popup>
</div>
<div class="c-gray-base fs13 ml25 mt10" v-if="mask=='1'">
所在机构
<span v-if="Name!==''">{{Name}}></span>
<span class="red">{{unitName}}</span>
</div>
<div class="flex align-items-c h86 content1 bg-white mt10" v-if="mask=='1'">
<div
class="w40 h60 ml15 text-center relative"
v-for="(item, index) in headerList"
:key="index"
>
<div @click="(InfoDetails(index))">
<!-- <img v-if="item.agentHeadUrl!==null" class="h40 w40" :src="item.agentHeadUrl" alt /> -->
<img class="h40 w40" src="@/assets/images/u188.png" alt />
<div :class="[item.isShowImg?'active':'']"></div>
<div class="fs13">{{item.agentName}}</div>
</div>
</div>
</div>
<div class="mt20">
<div class="h50 bg-white content mh-auto fs13 fw500">
<div class="pl10 pr10 pt15 flex justify-content-s align-items-c">
<div>个人承保标保</div>
<div class="red">{{cbbb}}</div>
</div>
</div>
<div class="h50 bg-white content mh-auto fs13 fw500 mt5">
<div class="pl10 pr10 pt15 flex justify-content-s align-items-c">
<div>寿险承保件数</div>
<div class="red">{{cbjs}}</div>
</div>
</div>
<!-- <div class="h50 bg-white content mh-auto fs13 fw500 mt5">
<div class="pl10 pr10 pt15 flex justify-content-s align-items-c">
<div>承保FYC</div>
<div class="red">{{cfyc}}</div>
</div>
</div>-->
<!-- <div class="h50 bg-white content mh-auto fs13 fw500 mt5">
<div class="pl10 pr10 pt15 flex justify-content-s align-items-c">
<div>综合开拓承保保费</div>
<div class="red">{{zcbf}}</div>
</div>
</div>-->
<div class="h50 bg-white content mh-auto fs13 fw500 mt5" v-if="isShow">
<div class="pl10 pr10 pt15 flex justify-content-s align-items-c">
<div>本月预收标保</div>
<div class="red">{{ysbb}}</div>
</div>
</div>
<div class="h50 bg-white content mh-auto fs13 fw500 mt5" v-if="isShow">
<div class="pl10 pr10 pt15 flex justify-content-s align-items-c">
<div>本月预收件数</div>
<div class="red">{{ysjs}}</div>
</div>
</div>
<!-- <div class="h50 bg-white content mh-auto fs13 fw500 mt5" v-if="isShow">
<div class="pl10 pr10 pt15 flex justify-content-s align-items-c">
<div>本月预收FYC</div>
<div class="red">{{yfyc}}</div>
</div>
</div>-->
</div>
<div
v-if="mask!=='1'"
class="h40 bg-red footer absolute bottom0 text-center fs14 fw500 white"
@click="checkTeam(obj)"
>查看团队业绩</div>
</div>
</template>
<script>
import { getBaseAgentInfo, getPerformanceHeader, getPerformanceDetail, getHeader } from '@/api/ebiz/performance/performance'
import utils from '@/assets/js/utils/date-utils'
import { Popup, DatetimePicker } from 'vant'
export default {
name: 'performance',
components: {
[Popup.name]: Popup,
[DatetimePicker.name]: DatetimePicker,
},
data() {
return {
currentDate: new Date(),
dateShow: false,
minDate: new Date(2020, 0, 1),
maxDate: new Date(),
titleTime: '',
date1: {
date: '2020-07-01',
},
agentGrade: '',
isShow: true,
obj: {},
agentCode: '',
cbbb: '',
cbjs: '',
ysjs: '',
cfyc: '0.00',
zcbf: '0.00',
ysbb: '0.00',
yfyc: '0.00',
timeCode: '',
mask: '',
headerList: [],
unitName: '',
Name: '',
code: '',
isShowImg: true,
}
},
created() {
// console.log('=======' + this.$route.params.parmas)
if (this.$route.params.parmas !== undefined) {
this.mask = JSON.parse(this.$route.params.parmas).mask
;(this.titleTime = JSON.parse(this.$route.params.parmas).date.slice(0, 7)),
(this.dateTime = JSON.parse(this.$route.params.parmas).date),
(this.unitName = JSON.parse(this.$route.params.parmas).unitName),
(this.Name = JSON.parse(this.$route.params.parmas).Name),
(this.code = JSON.parse(this.$route.params.parmas).code)
}
if (this.mask !== '1') {
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_right_button', {
btns: [
{
title: '考勤记录',
titleColor: 'FF0000',
route: { flag: '', extra: {} },
},
],
})
}, 1000)
}
// this.performanceData()
if (this.code == '') {
this.getPerformanceHeader1()
}
this.formatDate1()
this.getBaseAgentInfo1()
if (this.code !== '') {
this.getHeader1()
}
},
mounted() {
window.appCallBack = this.appCallBack
},
methods: {
appCallBack(data) {
if (data.trigger == 'right_button_click') {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/attendance/Attendance`,
},
routerInfo: {
path: `/attendance/Attendance`,
},
})
}
if (data.trigger == 'left_button_click') {
this.$jump({
flag: 'home',
})
}
},
timePopup() {
this.dateShow = true
},
handleCancel() {
this.dateShow = false
},
//开始时间
handleEndDateConfirm(e) {
this.dateShow = false
this.titleTime = utils.formatDate(e, 'yyyy-MM')
this.timeCode = utils.formatDate(e, 'yyyy-MM-dd')
this.obj.date = this.timeCode
this.getPerformanceDetailC()
if (String(this.titleTime) === String(utils.formatDate(new Date(), 'yyyy-MM'))) {
this.isShow = true
} else {
this.isShow = false
}
},
formatDate1() {
// console.log(utils.formatDate("2020-1-1"))
if (this.$route.params.parmas !== undefined) {
;(this.titleTime = JSON.parse(this.$route.params.parmas).date.slice(0, 7)), (this.timeCode = JSON.parse(this.$route.params.parmas).date)
} else {
this.titleTime = utils.formatDate(this.currentDate, 'yyyy-MM')
this.timeCode = utils.formatDate(this.currentDate, 'yyyy-MM-dd')
}
this.obj.date = this.timeCode
// console.log(this.titleTime)
},
checkTeam(obj) {
console.log(obj)
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/performance/PerformanceList/${JSON.stringify(obj)}`,
},
routerInfo: {
path: `/performance/PerformanceList/${JSON.stringify(obj)}`,
},
})
},
//获取代理人关系
getBaseAgentInfo1() {
let date = {}
getBaseAgentInfo(date).then((res) => {
console.log(res)
if (res.result == 0) {
;(this.agentGrade = res.agentGrade),
(this.unitName = res.unitName),
(this.saleArea = res.saleArea),
(this.agentCode = res.jobNo),
(this.obj.agentGrade = this.agentGrade),
(this.obj.agentCode = this.agentCode),
(this.branchCode = res.branchCode),
(this.deptCode = res.deptCode),
(this.areaCode = res.areaCode)
if (this.agentGrade.slice(0, 2) == 'A2') {
;(this.obj.unitName = this.unitName), (this.obj.code = this.branchCode)
} else if (this.agentGrade.slice(0, 2) == 'A3') {
;(this.obj.unitName = this.saleArea), (this.obj.code = this.deptCode)
} else if (this.agentGrade.slice(0, 2) == 'A4') {
}
if (this.agentGrade == 'A101') {
this.mask = 1
}
this.getPerformanceDetailC()
}
})
},
//获取代理人下级头像
getPerformanceHeader1() {
let date = {}
getPerformanceHeader(date).then((res) => {
console.log('==' + res)
if (res.result == 0) {
for (let i = 0; i < res.content.length; i++) {
res.content[i].isShowImg = true
}
this.headerList = res.content
console.log(this.headerList)
}
})
},
getHeader1() {
console.log(1111)
let code = {
agentgroup: this.code,
}
getHeader(code).then((res) => {
console.log(res)
if (res.result == 0) {
for (let i = 0; i < res.content.length; i++) {
res.content[i].isShowImg = true
res.content[0].isShowImg = false
}
this.headerList = res.content
}
})
},
//获取代理人相关信息
getPerformanceDetailC() {
// console.log(this.agentCode)
let code = {
date: this.timeCode,
agentCode: this.agentCode,
}
getPerformanceDetail(code).then((res) => {
console.log(res)
if (res.result == 0) {
;(this.cbbb = res.content.list[0].cbbb),
(this.cbjs = res.content.list[0].cbjs),
(this.ysjs = res.content.list[0].ysjs),
(this.ysbb = res.content.list[0].ysbb),(this.agentCode = res.content.list[0].code)
}
})
},
//点击头像
InfoDetails(item) {
console.log(item)
for (let i = 0; i < this.headerList.length; i++) {
this.headerList[i].isShowImg = true
}
this.headerList[item].isShowImg = false
let code = {
date: this.timeCode,
agentCode: this.headerList[item].agentCode,
}
getPerformanceDetail(code).then((res) => {
console.log(res)
if (res.result == 0) {
;(this.cbbb = res.content.list[0].cbbb),
(this.cbjs = res.content.list[0].cbjs),
(this.ysjs = res.content.list[0].ysjs),
(this.ysbb = res.content.list[0].ysbb),
(this.agentCode = res.content.list[0].code)
}
})
},
},
}
</script>
<style scoped>
.header {
width: 92%;
}
.content {
width: 86%;
}
.footer {
width: 100%;
line-height: 40px;
}
.content1 {
width: 100%;
overflow-x: scroll;
}
.active {
width: 40px;
height: 40px;
z-index: 100;
background: #ccc;
opacity: 0.5;
top: 0px;
border-radius: 20px;
position: absolute;
}
</style>