diff --git a/src/api/ebiz/goodStart/index.js b/src/api/ebiz/goodStart/index.js index ebc59f9de..3a16577aa 100644 --- a/src/api/ebiz/goodStart/index.js +++ b/src/api/ebiz/goodStart/index.js @@ -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 + }) +} \ No newline at end of file diff --git a/src/views/ebiz/goodStart/Organization.vue b/src/views/ebiz/goodStart/Organization.vue index 4c325a77e..9882e4ddc 100644 --- a/src/views/ebiz/goodStart/Organization.vue +++ b/src/views/ebiz/goodStart/Organization.vue @@ -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; diff --git a/src/views/ebiz/goodStart/PerformanceReport.vue b/src/views/ebiz/goodStart/PerformanceReport.vue index 951663323..304132bf3 100644 --- a/src/views/ebiz/goodStart/PerformanceReport.vue +++ b/src/views/ebiz/goodStart/PerformanceReport.vue @@ -7,11 +7,11 @@ 标保 -
+
{{ timeCondition }} @@ -23,8 +23,9 @@
机构名称: - - {{ levelNames[level] }} + + + {{ levelNames[levelLength + index] }}
@@ -33,7 +34,7 @@
- + @@ -41,17 +42,18 @@ - + - + - +
@@ -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 {