mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-09 22:46:45 +08:00
feature: 开门红业绩查询
1. 增加内外勤权限控制
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="organization">
|
<div class="organization">
|
||||||
<van-tabs :ellipsis="false" :line-width="20" @change="updateQueryConditon">
|
<van-tabs v-model="active" :ellipsis="false" :line-width="20" @change="updateQueryConditon">
|
||||||
<van-tab v-for="(tab, index) in tabs" :key="index" :title="tab" />
|
<van-tab v-for="(tab, index) in tabs" :key="index" :title="tab.name" :disabled="tab.available" />
|
||||||
</van-tabs>
|
</van-tabs>
|
||||||
<div class="table-wrapper">
|
<div class="table-wrapper">
|
||||||
<table class="myTable mb30" cellspacing="0" cellpadding="0">
|
<table class="myTable mb30" cellspacing="0" cellpadding="0">
|
||||||
@@ -31,9 +31,22 @@ export default {
|
|||||||
[Tab.name]: Tab,
|
[Tab.name]: Tab,
|
||||||
[Tabs.name]: Tabs
|
[Tabs.name]: Tabs
|
||||||
},
|
},
|
||||||
|
props: {
|
||||||
|
availableLevel: {
|
||||||
|
type: Number,
|
||||||
|
default: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tabs: ['中心支公司', '营销服务部', '下辖营业区', '下辖营业部', '下辖营业组'],
|
active: 0,
|
||||||
|
tabs: [
|
||||||
|
{ name: '中心支公司', available: false, level: 3 },
|
||||||
|
{ name: '营销服务部', available: false, level: 4 },
|
||||||
|
{ name: '下辖营业区', available: false, level: 5 },
|
||||||
|
{ name: '下辖营业部', available: false, level: 6 },
|
||||||
|
{ name: '下辖营业组', available: false, level: 7 }
|
||||||
|
],
|
||||||
needGettingKey: ['name', 'ysbb', 'ysjs', 'bzbf', 'cbjs'],
|
needGettingKey: ['name', 'ysbb', 'ysjs', 'bzbf', 'cbjs'],
|
||||||
tableColumns: [
|
tableColumns: [
|
||||||
{ name: '机构', key: 'name' },
|
{ name: '机构', key: 'name' },
|
||||||
@@ -45,6 +58,16 @@ export default {
|
|||||||
values: []
|
values: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
availableLevel(nv) {
|
||||||
|
this.active = nv - 2
|
||||||
|
for (let tab of this.tabs) {
|
||||||
|
if (tab.level < this.availableLevel) {
|
||||||
|
tab.available = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
updateQueryConditon(index) {
|
updateQueryConditon(index) {
|
||||||
this.$emit('updateQueryCom', index)
|
this.$emit('updateQueryCom', index)
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<Organization ref="organization" @updateQueryCom="updateQueryCom" />
|
<Organization ref="organization" @updateQueryCom="updateQueryCom" :availableLevel.sync="availableLevel" />
|
||||||
</div>
|
</div>
|
||||||
<!-- 机构筛选栏 -->
|
<!-- 机构筛选栏 -->
|
||||||
<van-popup v-for="(level, index) in 6" :key="index" v-model="popCondition[index]" position="bottom" :style="{ height: '40vh' }">
|
<van-popup v-for="(level, index) in 6" :key="index" v-model="popCondition[index]" position="bottom" :style="{ height: '40vh' }">
|
||||||
@@ -73,6 +73,7 @@ import { Popup, Tab, Tabs, DatetimePicker, Picker, Toast } from 'vant'
|
|||||||
import Organization from './Organization.vue'
|
import Organization from './Organization.vue'
|
||||||
import dateUtil from '@/assets/js/utils/date-utils.js'
|
import dateUtil from '@/assets/js/utils/date-utils.js'
|
||||||
import { getComPerformance, getComList } from '@/api/ebiz/goodStart'
|
import { getComPerformance, getComList } from '@/api/ebiz/goodStart'
|
||||||
|
import { getAgentInfo } from '@/api/ebiz/my/my'
|
||||||
|
|
||||||
// 当前时间
|
// 当前时间
|
||||||
const currentDate = new Date()
|
const currentDate = new Date()
|
||||||
@@ -90,6 +91,9 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
// 代理人是否是内勤
|
||||||
|
isInner: false,
|
||||||
|
availableLevel: 0,
|
||||||
scrollObj: { width: 'auto', whiteSpace: 'nowrap' },
|
scrollObj: { width: 'auto', whiteSpace: 'nowrap' },
|
||||||
popCondition: [false, false, false, false, false, false],
|
popCondition: [false, false, false, false, false, false],
|
||||||
columns: {
|
columns: {
|
||||||
@@ -164,14 +168,26 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
async mounted() {
|
||||||
|
// 判断内外勤
|
||||||
|
await this.judgeUserType()
|
||||||
this.initData()
|
this.initData()
|
||||||
// 设置APP右上角按钮图片
|
// 设置APP右上角按钮图片
|
||||||
this.setRightBtn()
|
this.setRightBtn()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
async judgeUserType() {
|
||||||
|
const result = await getAgentInfo({})
|
||||||
|
if (result.result === '0') {
|
||||||
|
const regx = /^N.*$/
|
||||||
|
this.isInner = regx.test(result.branchType)
|
||||||
|
} else {
|
||||||
|
this.$toast(result.resultMessage)
|
||||||
|
}
|
||||||
|
},
|
||||||
// 显示机构下拉选
|
// 显示机构下拉选
|
||||||
showLevelCondition(level) {
|
showLevelCondition(level) {
|
||||||
|
if (!this.isInner && level < this.availableLevel) return
|
||||||
this.$set(this.popCondition, level - 1, true)
|
this.$set(this.popCondition, level - 1, true)
|
||||||
},
|
},
|
||||||
// 隐藏机构下拉选
|
// 隐藏机构下拉选
|
||||||
@@ -180,10 +196,16 @@ export default {
|
|||||||
},
|
},
|
||||||
// 查询某一层级机构筛选选项
|
// 查询某一层级机构筛选选项
|
||||||
async getLevelFilterColumn(manageCode = '', manageLv = '') {
|
async getLevelFilterColumn(manageCode = '', manageLv = '') {
|
||||||
return await getComList({
|
const result = await getComList({
|
||||||
manageCode,
|
manageCode,
|
||||||
manageLv
|
manageLv
|
||||||
})
|
})
|
||||||
|
if (result.result === '0') {
|
||||||
|
return result
|
||||||
|
} else {
|
||||||
|
this.$toast(result.resultMessage)
|
||||||
|
return false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
// 设置下拉选数据
|
// 设置下拉选数据
|
||||||
setLevelColumns(level) {
|
setLevelColumns(level) {
|
||||||
@@ -218,10 +240,12 @@ export default {
|
|||||||
// 不是最后一级机构查询下级机构数据
|
// 不是最后一级机构查询下级机构数据
|
||||||
if (level < 6) {
|
if (level < 6) {
|
||||||
const data = await this.getLevelFilterColumn(target.code, `0${level + 1}`)
|
const data = await this.getLevelFilterColumn(target.code, `0${level + 1}`)
|
||||||
// 清空数据再设置下级机构下拉选数据
|
if (data) {
|
||||||
this[`level${level + 1}Objs`].splice(0)
|
// 清空数据再设置下级机构下拉选数据
|
||||||
this[`level${level + 1}Objs`].push(...data.content)
|
this[`level${level + 1}Objs`].splice(0)
|
||||||
this.setLevelColumns(level + 1)
|
this[`level${level + 1}Objs`].push(...data.content)
|
||||||
|
this.setLevelColumns(level + 1)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 选择全部时取上级机构
|
// 选择全部时取上级机构
|
||||||
@@ -247,7 +271,11 @@ export default {
|
|||||||
},
|
},
|
||||||
async getSetDate() {
|
async getSetDate() {
|
||||||
let result = await this.getPerformanceRankData()
|
let result = await this.getPerformanceRankData()
|
||||||
this.$refs.organization.setTableData(result.content.list)
|
if (result.result === '0') {
|
||||||
|
this.$refs.organization.setTableData(result.content.list)
|
||||||
|
} else {
|
||||||
|
this.$toast(result.resultMessage)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
appCallBack(data) {
|
appCallBack(data) {
|
||||||
if (data.trigger == 'right_button_click') {
|
if (data.trigger == 'right_button_click') {
|
||||||
@@ -278,12 +306,36 @@ export default {
|
|||||||
}
|
}
|
||||||
// 查询全部分公司
|
// 查询全部分公司
|
||||||
const res = await this.getLevelFilterColumn()
|
const res = await this.getLevelFilterColumn()
|
||||||
const firsts = res.content
|
if (res) {
|
||||||
this.level1Objs = firsts
|
const firsts = res.content
|
||||||
// 设置下拉选
|
// 内勤
|
||||||
this.setLevelColumns(1)
|
if (this.isInner) {
|
||||||
// 查询默认数据
|
// 设置下拉选
|
||||||
await this.getSetDate()
|
this.level1Objs = firsts
|
||||||
|
this.setLevelColumns(1)
|
||||||
|
// 查询默认数据
|
||||||
|
await this.getSetDate()
|
||||||
|
}
|
||||||
|
// 外勤
|
||||||
|
else {
|
||||||
|
const availableOrgs = firsts.filter(item => item.code !== '86').reverse()
|
||||||
|
for (let org of availableOrgs) {
|
||||||
|
this.$set(this.levelNames, org.level - 1, org.name)
|
||||||
|
this[`level${org.level}Code`] = org.level > 4 ? org.inCode : org.code
|
||||||
|
}
|
||||||
|
const availableOrg = firsts[0]
|
||||||
|
this.availableLevel = availableOrg.level
|
||||||
|
const data = await this.getLevelFilterColumn(availableOrg.code, availableOrg.level)
|
||||||
|
if (data) {
|
||||||
|
// 清空数据再设置下级机构下拉选数据
|
||||||
|
this[`level${availableOrg.level}Objs`].splice(0)
|
||||||
|
this[`level${availableOrg.level}Objs`].push(...data.content)
|
||||||
|
this.setLevelColumns(availableOrg.level)
|
||||||
|
}
|
||||||
|
this.params.manageCode = this.availableLevel >= 4 ? firsts[0].inCode : firsts[0].code
|
||||||
|
this.params.manageLv = `0${this.availableLevel}`
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
// 查询业绩数据
|
// 查询业绩数据
|
||||||
async getPerformanceRankData() {
|
async getPerformanceRankData() {
|
||||||
|
|||||||
Reference in New Issue
Block a user