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