mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-09 19:16:43 +08:00
【开门红业绩查询】设置下拉选数据外勤-第一职级(区部组).不显示全部
This commit is contained in:
@@ -10,6 +10,15 @@ export function getComList(data) {
|
||||
})
|
||||
}
|
||||
|
||||
// 开门红业绩查询机构列表查询
|
||||
export function getMisComList(data) {
|
||||
return request({
|
||||
url: getUrl('/data/performance/getMisComList', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 百宝箱菜单列表查询
|
||||
export function getTreasureMenus(data) {
|
||||
return request({
|
||||
@@ -62,3 +71,12 @@ export function getMapDataList(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//获取当前人机构
|
||||
export function getBranchByUser(data) {
|
||||
return request({
|
||||
url: getUrl(`/data/branch/getBranchByUser`, 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
@@ -51,9 +51,10 @@ export default {
|
||||
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 }
|
||||
{ name: '营业区', available: false, level: 5 },
|
||||
{ name: '下辖营业区', available: false, level: 6 },
|
||||
{ name: '下辖营业部', available: false, level: 7 },
|
||||
{ name: '下辖营业组', available: false, level: 8 }
|
||||
],
|
||||
needGettingKey: ['name', 'ysbb', 'ysjs', 'bzbf', 'cbjs'],
|
||||
tableColumns: [
|
||||
@@ -136,13 +137,13 @@ $bgRed: #f03;
|
||||
$white: #fff;
|
||||
|
||||
.th-rank {
|
||||
width: 50px;
|
||||
width: 35px;
|
||||
}
|
||||
|
||||
.orgName {
|
||||
width: 8em;
|
||||
width: 100px;
|
||||
position: sticky;
|
||||
left: 59px;
|
||||
left: 35px;
|
||||
}
|
||||
|
||||
.organization {
|
||||
@@ -172,18 +173,18 @@ $white: #fff;
|
||||
|
||||
.table-wrapper {
|
||||
overflow: auto;
|
||||
margin: 0 10px;
|
||||
// margin: 0 10px;
|
||||
}
|
||||
|
||||
.myTable {
|
||||
text-align: center;
|
||||
min-width: 200vw;
|
||||
min-width: 94vw;
|
||||
}
|
||||
|
||||
.myTable td,
|
||||
.myTable th {
|
||||
font-size: 14px;
|
||||
padding: 10px 5px;
|
||||
padding: 10px 0px;
|
||||
border-bottom: $border;
|
||||
border-collapse: collapse;
|
||||
background-color: $white;
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
<span class="ml5 mr5">标保</span>
|
||||
</van-button>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
<!-- <div class="header-center">
|
||||
<van-button class="btn-gray" :class="{ activeBtn: timeType === 0 }" @click="isDayConditionShow = true">日</van-button>
|
||||
<van-button class="btn-gray month" :class="{ activeBtn: timeType === 1 }" @click="isMonthConditionShow = true">月</van-button>
|
||||
<van-button class="btn-gray" :class="{ activeBtn: timeType === 2 }" @click="isYearConditionShow = true">年</van-button>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="header-right">
|
||||
<van-button @click="isTimeBarShow = true">
|
||||
<span class="mr5">{{ timeCondition }}</span>
|
||||
@@ -23,8 +23,9 @@
|
||||
<div class="classification">
|
||||
<div :style="scrollObj">
|
||||
<span>机构名称: </span>
|
||||
<span v-for="(level, index) in 6" :key="index" class="filter" @click="showLevelCondition(level)">
|
||||
<span>{{ levelNames[level] }}</span>
|
||||
<span v-for="(level, index) in (8-levelLength)+1" :key="index" class="filter" @click="showLevelCondition(levelLength + index)">
|
||||
<!-- <span>{{ levelNames[level] }}</span> -->
|
||||
<span>{{ levelNames[levelLength + index] }}</span>
|
||||
<van-icon name="arrow-down" />
|
||||
</span>
|
||||
</div>
|
||||
@@ -33,7 +34,7 @@
|
||||
<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' }">
|
||||
<van-popup v-for="(level, index) in 8" :key="index" v-model="popCondition[index]" position="bottom" :style="{ height: '40vh' }">
|
||||
<van-picker show-toolbar :columns="columns[level]" @confirm="onLevelConditionConfirm($event, level)" @cancel="closeLevelConditionPopup(level)" />
|
||||
</van-popup>
|
||||
<!-- 时间筛选栏 -->
|
||||
@@ -41,17 +42,18 @@
|
||||
<van-datetime-picker
|
||||
v-model="dayTimeCondition"
|
||||
type="datetime"
|
||||
:min-date="minDate"
|
||||
:max-date="maxDate"
|
||||
@confirm="onDayTimeConditionConfirm"
|
||||
@cancel="isTimeBarShow = false"
|
||||
/>
|
||||
</van-popup>
|
||||
<!-- 日 -->
|
||||
<van-popup v-model="isDayConditionShow" position="bottom" :style="{ height: '40vh' }">
|
||||
<!-- <van-popup v-model="isDayConditionShow" position="bottom" :style="{ height: '40vh' }">
|
||||
<van-datetime-picker v-model="dayCondition" type="date" :max-date="maxDate" @confirm="onDayConditionConfirm" @cancel="isDayConditionShow = false" />
|
||||
</van-popup>
|
||||
</van-popup> -->
|
||||
<!-- 月 -->
|
||||
<van-popup v-model="isMonthConditionShow" position="bottom" :style="{ height: '40vh' }">
|
||||
<!-- <van-popup v-model="isMonthConditionShow" position="bottom" :style="{ height: '40vh' }">
|
||||
<van-datetime-picker
|
||||
v-model="monthCondition"
|
||||
type="year-month"
|
||||
@@ -59,11 +61,11 @@
|
||||
@confirm="onMonthConditionConfirm"
|
||||
@cancel="isMonthConditionShow = false"
|
||||
/>
|
||||
</van-popup>
|
||||
</van-popup> -->
|
||||
<!-- 年 -->
|
||||
<van-popup v-model="isYearConditionShow" position="bottom" :style="{ height: '40vh' }">
|
||||
<!-- <van-popup v-model="isYearConditionShow" position="bottom" :style="{ height: '40vh' }">
|
||||
<van-picker show-toolbar :columns="years" @confirm="onYearConditionConfirm" @cancel="isYearConditionShow = false" />
|
||||
</van-popup>
|
||||
</van-popup> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -72,7 +74,7 @@ import point from '@/assets/images/ebiz/point.png'
|
||||
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 { getComPerformance, getMisComList, getBranchByUser } from '@/api/ebiz/goodStart'
|
||||
import { getAgentInfo } from '@/api/ebiz/my/my'
|
||||
|
||||
// 当前时间
|
||||
@@ -91,6 +93,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
levelLength:1, //内勤职级数为8,外勤区部组职级数不确定
|
||||
// 代理人是否是内勤
|
||||
isInner: false,
|
||||
availableLevel: 0,
|
||||
@@ -102,9 +105,13 @@ export default {
|
||||
3: ['全部'],
|
||||
4: ['全部'],
|
||||
5: ['全部'],
|
||||
6: ['全部']
|
||||
6: ['全部'],
|
||||
7: ['全部'],
|
||||
8: ['全部']
|
||||
},
|
||||
timeType: 0,
|
||||
// 最小查询日期
|
||||
// minDate: new Date('2021-12-12 00:00:00'),
|
||||
// 最大查询日期
|
||||
maxDate: currentDate,
|
||||
// 日期筛选条件
|
||||
@@ -114,7 +121,7 @@ export default {
|
||||
// 年份筛选条件
|
||||
yearCondition: currentDate.getFullYear(),
|
||||
// 实时筛选时间条件
|
||||
timeCondition: dateUtil.formatDate(currentDate, 'MM-dd HH:mm'),
|
||||
timeCondition: dateUtil.formatDate(currentDate, 'yyyy-MM-dd HH:mm'),
|
||||
dayTimeCondition: currentDate,
|
||||
// 0: 标保, 1: 人力, 2: 产品
|
||||
typeIndex: 0,
|
||||
@@ -134,7 +141,9 @@ export default {
|
||||
3: '全部',
|
||||
4: '全部',
|
||||
5: '全部',
|
||||
6: '全部'
|
||||
6: '全部',
|
||||
7: '全部',
|
||||
8: '全部'
|
||||
},
|
||||
level1Code: 0,
|
||||
level1Objs: [],
|
||||
@@ -148,6 +157,10 @@ export default {
|
||||
level5Objs: [],
|
||||
level6Code: 0,
|
||||
level6Objs: [],
|
||||
level7Code: 0,
|
||||
level7Objs: [],
|
||||
level8Code: 0,
|
||||
level8Objs: [],
|
||||
provinceCode: 0,
|
||||
provinceObjs: [],
|
||||
cityCode: 0,
|
||||
@@ -171,7 +184,26 @@ export default {
|
||||
async mounted() {
|
||||
// 判断内外勤
|
||||
await this.judgeUserType()
|
||||
this.initData()
|
||||
//获取当前人机构
|
||||
let resData = await getBranchByUser({})
|
||||
//(内勤)level 01,02,03,04,05时从全国开始 服务机构 (外勤)level 06,07,08时从当前职级开始
|
||||
if (resData.result != '0') return this.$toast(resData.resultMessage)
|
||||
let manageLv = Number(resData.content.level.substr(1, 1))
|
||||
if(manageLv == '1' || manageLv == '2' || manageLv == '3' || manageLv == '4'|| manageLv == '5'){
|
||||
this.initData() //内勤
|
||||
}else{
|
||||
let manageCode = resData.content.code
|
||||
//外勤区部组职级数
|
||||
this.levelLength = manageLv
|
||||
// 外勤当前用户的第一职级
|
||||
this.levelNames[manageLv] = resData.name
|
||||
this.availableLevel = manageLv
|
||||
this[`level${manageLv}Objs`].splice(0)
|
||||
this[`level${manageLv}Objs`].push(resData)
|
||||
this.setLevelColumnsWai(manageLv)
|
||||
this.initData(manageCode,manageLv) //外勤
|
||||
}
|
||||
// this.initData()
|
||||
// 设置APP右上角按钮图片
|
||||
this.setRightBtn()
|
||||
},
|
||||
@@ -197,7 +229,7 @@ export default {
|
||||
},
|
||||
// 查询某一层级机构筛选选项
|
||||
async getLevelFilterColumn(manageCode = '', manageLv = '') {
|
||||
const result = await getComList({
|
||||
const result = await getMisComList({
|
||||
bussinessType: 'kmh',
|
||||
manageCode,
|
||||
manageLv
|
||||
@@ -209,6 +241,14 @@ export default {
|
||||
return false
|
||||
}
|
||||
},
|
||||
// 设置下拉选数据外勤-第一职级(区部组).不显示全部
|
||||
setLevelColumnsWai(level) {
|
||||
const columns = []
|
||||
this[`level${level}Objs`].forEach(item => {
|
||||
columns.push(item.name)
|
||||
})
|
||||
this.$set(this.columns, level, columns)
|
||||
},
|
||||
// 设置下拉选数据
|
||||
setLevelColumns(level) {
|
||||
const columns = [level === 1 ? '全国' : '全部']
|
||||
@@ -224,7 +264,7 @@ export default {
|
||||
// 设置选择的机构名称
|
||||
this.levelNames[level] = data
|
||||
// 将当前机构下属机构设置为全部
|
||||
for (let i = level + 1; i <= 6; i++) {
|
||||
for (let i = level + 1; i <= 8; i++) {
|
||||
this.$set(this.levelNames, i, '全部')
|
||||
}
|
||||
// 查找选择的机构
|
||||
@@ -233,15 +273,15 @@ export default {
|
||||
})
|
||||
// 选择的机构存在&不是最后一级时查询下级机构下拉选数据
|
||||
if (target) {
|
||||
// level1~3取code, level4~6取inCode
|
||||
if (level >= 4) {
|
||||
// level1~5取code, level6~8取inCode
|
||||
if (level > 5) {
|
||||
this[`level${level}Code`] = target.inCode
|
||||
} else {
|
||||
this[`level${level}Code`] = target.code
|
||||
}
|
||||
// 不是最后一级机构查询下级机构数据
|
||||
if (level < 6) {
|
||||
const data = await this.getLevelFilterColumn(target.code, `0${level + 1}`)
|
||||
if (level < 8) {
|
||||
const data = await this.getLevelFilterColumn(target.code, level)
|
||||
if (data) {
|
||||
// 清空数据再设置下级机构下拉选数据
|
||||
this[`level${level + 1}Objs`].splice(0)
|
||||
@@ -261,9 +301,10 @@ export default {
|
||||
if (data === '全国') {
|
||||
this.params.manageLv = '01'
|
||||
} else if (data === '全部') {
|
||||
this.params.manageLv = `0${level}`
|
||||
this.params.manageLv = `0${level}`
|
||||
} else {
|
||||
this.params.manageLv = `0${level + 1}`
|
||||
// this.params.manageLv = `0${level + 1}`
|
||||
this.params.manageLv = `0${level}`
|
||||
}
|
||||
// 发送接口查数据
|
||||
this.getSetDate()
|
||||
@@ -299,7 +340,7 @@ export default {
|
||||
}, 1000)
|
||||
window.appCallBack = this.appCallBack
|
||||
},
|
||||
async initData() {
|
||||
async initData(manageCode,manageLv) {
|
||||
// 初始化年份筛选数据
|
||||
const currentYear = new Date().getFullYear()
|
||||
const startYear = currentYear - 10
|
||||
@@ -307,24 +348,38 @@ export default {
|
||||
this.years.unshift(year)
|
||||
}
|
||||
// 查询全部分公司
|
||||
const res = await this.getLevelFilterColumn()
|
||||
const res = await this.getLevelFilterColumn(manageCode,manageLv)
|
||||
if (res) {
|
||||
const firsts = res.content
|
||||
// 内勤
|
||||
if (this.isInner) {
|
||||
// 设置下拉选
|
||||
this.level1Objs = firsts
|
||||
this.setLevelColumns(1)
|
||||
// 查询默认数据
|
||||
await this.getSetDate()
|
||||
}
|
||||
// 外勤
|
||||
else {
|
||||
if (!this.isInner) {
|
||||
// this.levelNames = {}
|
||||
// this.columns = {}
|
||||
// for (var i = 0; i < (8-manageLv)+1; i++) {
|
||||
// this.columns[manageLv+i] = ['全部']
|
||||
// this.levelNames[manageLv+i] = '全部'
|
||||
// console.log(manageLv+i,'manageLv+i')
|
||||
// }
|
||||
// 清空数据再设置下级机构下拉选数据
|
||||
this[`level${firsts[0].level}Objs`].splice(0)
|
||||
this[`level${firsts[0].level}Objs`].push(...firsts)
|
||||
this.setLevelColumns(firsts[0].level)
|
||||
this.params.manageCode = manageLv > 5 ? this[`level${manageLv}Objs`][0].inCode : this[`level${manageLv}Objs`][0].code
|
||||
this.params.manageLv = `0${manageLv}`
|
||||
// await this.getSetDate()
|
||||
}else { // 内勤
|
||||
// 原逻辑--开始
|
||||
// 设置下拉选
|
||||
// this.level1Objs = firsts
|
||||
// this.setLevelColumns(manageLv)
|
||||
// await this.getSetDate()
|
||||
// 原逻辑--结束
|
||||
// 外勤时返回无法修改的机构列表
|
||||
const unavailableOrgs = firsts.filter(item => item.code !== '86').reverse()
|
||||
// 第一级时不走此逻辑
|
||||
for (let org of unavailableOrgs) {
|
||||
this.$set(this.levelNames, org.level - 1, org.name)
|
||||
this[`level${org.level}Code`] = org.level > 4 ? org.inCode : org.code
|
||||
this[`level${org.level}Code`] = org.level > 5 ? org.inCode : org.code
|
||||
}
|
||||
// 外勤可以查看的最高级别机构
|
||||
const availableOrg = firsts[0]
|
||||
@@ -333,12 +388,16 @@ export default {
|
||||
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[`level${data.content[0].level}Objs`].splice(0)
|
||||
this[`level${data.content[0].level}Objs`].push(...data.content)
|
||||
this.setLevelColumns(data.content[0].level)
|
||||
}
|
||||
this.params.manageCode = this.availableLevel >= 4 ? firsts[0].inCode : firsts[0].code
|
||||
this.params.manageCode = this.availableLevel > 5 ? firsts[0].inCode : firsts[0].code
|
||||
this.params.manageLv = `0${this.availableLevel}`
|
||||
await this.getSetDate()
|
||||
// console.log(this.params.manageCode,'this.params.manageCode')
|
||||
// console.log(this.params.manageLv,'this.params.manageLv')
|
||||
// console.log(this.params,'this.params')
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -367,26 +426,26 @@ export default {
|
||||
let result = await getComPerformance(this.params)
|
||||
return result
|
||||
},
|
||||
async onDayConditionConfirm() {
|
||||
this.isDayConditionShow = false
|
||||
this.timeType = 0
|
||||
await this.getSetDate()
|
||||
},
|
||||
async onMonthConditionConfirm() {
|
||||
this.isMonthConditionShow = false
|
||||
this.timeType = 1
|
||||
await this.getSetDate()
|
||||
},
|
||||
async onYearConditionConfirm() {
|
||||
this.isYearConditionShow = false
|
||||
this.timeType = 2
|
||||
await this.getSetDate()
|
||||
},
|
||||
// async onDayConditionConfirm() {
|
||||
// this.isDayConditionShow = false
|
||||
// this.timeType = 0
|
||||
// await this.getSetDate()
|
||||
// },
|
||||
// async onMonthConditionConfirm() {
|
||||
// this.isMonthConditionShow = false
|
||||
// this.timeType = 1
|
||||
// await this.getSetDate()
|
||||
// },
|
||||
// async onYearConditionConfirm() {
|
||||
// this.isYearConditionShow = false
|
||||
// this.timeType = 2
|
||||
// await this.getSetDate()
|
||||
// },
|
||||
// 筛选时间确认事件
|
||||
async onDayTimeConditionConfirm(time) {
|
||||
this.isTimeBarShow = false
|
||||
this.timeType = 3
|
||||
this.timeCondition = dateUtil.formatDate(time, 'MM-dd HH:mm')
|
||||
this.timeCondition = dateUtil.formatDate(time, 'yyyy-MM-dd HH:mm')
|
||||
this.params.date = ''
|
||||
await this.getSetDate()
|
||||
},
|
||||
@@ -402,9 +461,12 @@ export default {
|
||||
this.params.queryCom = 'q'
|
||||
break
|
||||
case 3:
|
||||
this.params.queryCom = 'b'
|
||||
this.params.queryCom = 'wq'
|
||||
break
|
||||
case 4:
|
||||
this.params.queryCom = 'b'
|
||||
break
|
||||
case 5:
|
||||
this.params.queryCom = 'zz'
|
||||
break
|
||||
}
|
||||
@@ -478,7 +540,7 @@ span {
|
||||
}
|
||||
|
||||
::v-deep .van-button {
|
||||
padding: 0 10px;
|
||||
padding: 0 40px;
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar {
|
||||
|
||||
Reference in New Issue
Block a user