Commit fc5929e7 authored by xishifeng's avatar xishifeng

区域业绩

parent 9b015dd0
......@@ -14,17 +14,17 @@
<div id="app">
<header class="achieve-header dz-achieve-header">
<a class="achieve-header-back" href="javascript:;"></a>
<h2 id="title">区域业绩</h2>
<div class="mulu_relate mulu_relate_new" v-show="showHouseArr" @click.prevent.stop="mask('show')"><span id="list_name">{{}}</span><img src="/app/images/all_ic.png"></div>
<h2 id="title">{{headerTitle}}</h2>
<!--<div class="mulu_relate mulu_relate_new" v-show="showHouseArr" @click.prevent.stop="mask('show')"><span id="list_name">{{}}</span><img src="/app/images/all_ic.png"></div>-->
</header>
<div class="header_seat"></div>
<div id="mask_list_select">
<!--<div id="mask_list_select">
<div class="pop_box">
<div class="tri_angle2"></div>
<ul id="house_list_area"></ul>
</div>
</div>
</div>-->
<div class="achieve achieve-content-md dz_achieve_header">
<ul>
......@@ -35,25 +35,26 @@
</ul>
<!--搜索框的部分-->
<div class="list-time">
<div class="list-time" style="left: .3rem;">
<div class="timebox001 fl">
<div class="inputbox fl">
<input type="date" placeholder="55" id="startdateid">
<input type="date" id="startdateid" v-model="startDate">
</div>
<img src="/app/images/yj_down_icon@2x.png" class="yj_down_icon">
<span class="fl" style="color:#FFFFFF;margin-left: 0.1rem"></span>
<div class=" inputbox fl">
<input type="date" id="enddateid">
<input type="date" id="enddateid" v-model="endDate">
</div>
<img src="/app/images/yj_down_icon@2x.png" class="yj_down_icon">
<div class="div_search" onclick="searchdata()">
<div class="div_search" @click.prevent.stop="search('normal')">
<span></span>
<img src="/app/images/suods.png" />
</div>
</div>
<button id="searchBtn2" @click.prevent.stop="search('today')">今天</button>
</div>
</div>
......@@ -62,33 +63,37 @@
<div class="con-con achieve-content-md">
<section class="ul_header">
<p class="ul_title ul_title_zz">
<span class="active">门店业绩排行榜</span>
<span class="">业务员业绩排行榜</span>
<span v-for="(item,index) in tabsMain" :key="item.title" :class="{active:index == initTabNumMain}" @click="tabMain(index)">{{item.title}}</span>
</p>
<div class="div-tri">
<div class="box-tri-1"></div>
<div class="box-tri-2" style="left: 1.85rem;"></div>
<div class="box-tri-2" :style="'left: '+countLeft+'rem;'"></div>
</div>
<p class="ul_title_add add_zz">
<span>组员</span>
<span>新签</span>
<span>踩盘</span>
<span>带看</span>
<span>认购</span>
<span>拜访</span>
<p class="ul_title_add add_zz" v-for="(item,index) in tabsMain" :key="item.title" v-show="index == initTabNumMain">
<span v-for="(item2,index2) in item.titleList">{{item2}}</span>
</p>
</section>
<ul class='achieve_dz_ul' id='listall'></ul>
<ul class='achieve_zz_ul' v-for="(item,index) in tabsMain" :key="item.title" v-show="index == initTabNumMain" :id="'listall_'+index">
<li v-for="(item2,index2) in item.dataList" :data-id="item2.store_id">
<div>{{item2.store_name}}</div>
<div>{{item2.add_house_num}}</div>
<div>{{item2.add_user_num}}</div>
<div>{{item2.march_in_num}}</div>
<div>{{item2.performance}}</div>
<div>{{item2.official_receipts}}</div>
</li>
</ul>
</div>
<div id="loading_pic" class="loading_pic">
<div id="loading_pic" class="loading_pic loading_pic_new" v-show="isLoadFlag2">
<img src="/app/images/jz2.gif" />
<p>正在加载...</p>
</div>
<div id="no_more" class="no_more">没有更多了</div>
<div id="zanwu_data" class="zanwu_data">暂无数据...</div>
<div id="loading_pic_samll" class="loading_pic_samll"><img src="/app/images/lazyload.gif" /></div>
<div v-for="(item,index) in tabsMain" :key="item.title" v-show="index == initTabNumMain">
<div :id="'no_more_'+index" class="no_more" v-if="item.dataList.length>0">没有更多了</div>
<div :id="'zanwu_data_'+index" class="zanwu_data" v-else>暂无数据...</div>
</div>
<div id="loading_pic_samll" class="loading_pic_samll loading_pic_samll_new" v-show="isLoadFlag1"><img src="/app/images/lazyload.gif" /></div>
</div>
......
......@@ -74,7 +74,7 @@
</section>
</div>
<div id="loading_pic" class="loading_pic loading_pic_new" v-show="isLoadFlag">
<div id="loading_pic" class="loading_pic loading_pic_new" v-show="isLoadFlag">
<img src="/app/images/jz2.gif" />
<p>正在加载...</p>
</div>
......
......@@ -167,6 +167,17 @@ body{
bottom: 0.3rem;
}
#searchBtn2{
background-color: #ff9419;
width: 1rem;
height: .5rem;
border-radius: .05rem;
color: white;
position: absolute;
right: -1.2rem;
bottom: .05rem;
}
.tancu001 li a {
-webkit-touch-callout: none
}
......@@ -306,7 +317,7 @@ p.ul_title_zz>span.active{
}
p.ul_title_zz>span:nth-of-type(1){
box-sizing: border-box;
width: 3.3rem;
/*width: 3.3rem;*/
padding-left: 0.8rem;
margin-left: 0;
float: left;
......@@ -314,7 +325,7 @@ p.ul_title_zz>span:nth-of-type(1){
p.ul_title_zz>span:nth-of-type(2){
padding-right: 0.8rem;
margin-left: 0;
width: 3.3rem;
/*width: 3.3rem;*/
box-sizing: border-box;
float: right;
}
......
......@@ -194,7 +194,7 @@ a#jump_link{
float: right;
overflow: hidden;
}
.loading_pic_new,.no_more,.zanwu_data{
.loading_pic_new,.no_more,.zanwu_data,.loading_pic_samll_new{
display: block;
}
/*.loading_pic_new{
......
......@@ -6,7 +6,7 @@ require(['vue', 'css!style/achieve_fork.css', 'jquery0325', 'common'],function(V
data: {
testBtn: null,
linkAchieveYwy: 'javascript:;',
linkAchieveQy: 'achieve_region',
linkAchieveQy: 'javascript:;',
userLevel: ''
},
created: function() {
......@@ -38,6 +38,7 @@ require(['vue', 'css!style/achieve_fork.css', 'jquery0325', 'common'],function(V
var _this =this;
this.userLevel = localStorage.getItem('level');
this.linkAchieveYwy = 'achieve_ywy?ywyId='+localStorage.getItem('id');
this.linkAchieveQy = 'achieve_region?ywyId='+localStorage.getItem('id');
}
}
});
......
......@@ -5,6 +5,14 @@ require(['vue', 'css!style/achieve_temp.css', 'jquery0325', 'common'], function(
el: '#app',
data: {
testBtn: null,
startDate: '',
endDate: '',
headerTitle: '',
ywyId: getUrlParam('ywyId'),
userLevel: '',
initTabNumMain: 0,
isLoadFlag1: false,
isLoadFlag2: false,
cirData: {
'fangyuan':{
'title': '房源',
......@@ -48,9 +56,10 @@ require(['vue', 'css!style/achieve_temp.css', 'jquery0325', 'common'], function(
}
},
tabsMain: [{
'title': '门店业绩排行榜',
'title': '业务员业绩排行榜',
'isLoadMain': false,
'data':[]
'titleList':['业务员','房源','客源','进场','业绩','实收'],
'dataList':[]
}]
},
created: function() {
......@@ -61,13 +70,180 @@ require(['vue', 'css!style/achieve_temp.css', 'jquery0325', 'common'], function(
methods: {
loadMain: function() {
var _this = this;
this.userLevel = localStorage.getItem('level');
this.linkAchieveYwy = 'achieve_ywy?ywyId=' + localStorage.getItem('id');
_this.userLevel = localStorage.getItem('level');
if(_this.userLevel == '30'||_this.userLevel == '40'){
_this.headerTitle = '区域业绩';
_this.tabsMain.unshift({
'title': '门店业绩排行榜',
'isLoadMain': false,
'titleList':['门店','房源','客源','进场','业绩','实收'],
'dataList':[]
});
}else if(_this.userLevel == '20'){
_this.headerTitle = '门店业绩';
}else{
layerTipsX('level error');
};
_this.initTime(function(start_date, end_date) {
_this.startDate = start_date;
_this.endDate = end_date;
_this.ajaxMainNum(function(){
_this.ajaxUl();
});
});
},
tabMain: function(index) {
var _this = this;
_this.initTabNumMain = index;
if(!_this.tabsMain[index].isLoadMain) {
Vue.set(_this.tabsMain[index], 'isLoadSub', true);
_this.ajaxUl();
}
},
initTime: function(callback) {
//获取缓存里的时间
var _this = this;
var _session_startdate = sessionStorage.getItem('achieve_search_start_date'),
_session_enddate = sessionStorage.getItem('achieve_search_end_date');
if(_session_startdate && _session_enddate) {
//当缓存里有时间时,用缓存里的时间
callback(_session_startdate, _session_enddate);
} else {
//获取当前时间
var _currentDate = new Date(),
_year = _currentDate.getFullYear(),
_moon = dealDate(_currentDate.getMonth() + 1),
_end_day_temp = _currentDate.getDate(),
_end_day = dealDate(_end_day_temp),
_start_day = _end_day_temp < 7 ? '01' : dealDate(_end_day_temp - 6),
_enddate = _year + '-' + _moon + '-' + _end_day,
_startdate = _year + '-' + _moon + '-' + _start_day;
callback(_startdate, _enddate);
}
},
resetSomeData: function(type){
var _this = this;
if(type==1){
_this.tabsMain.forEach(function(item,i,arr){
item.isLoadMain = false;
})
};
},
search: function(type) {
var _this = this;
_this.resetSomeData(1);
if(type =='today'){
_this.startDate = backNowDate();
_this.endDate = _this.startDate;
};
sessionStorage.setItem('achieve_search_start_date', _this.startDate);
sessionStorage.setItem('achieve_search_end_date', _this.endDate);
_this.ajaxMainNum(function(){
_this.ajaxUl();
});
},
ajaxMainNum: function(fn){
var _this = this;
$.ajax({
type: 'GET',
url: ServerHostTempC + '/broker/storePerformanceBySearch',
data: {
'agent_id': _this.ywyId,
'start_time': _this.startDate,
'end_time': _this.endDate
// 'agent_id': 1,
// 'start_time': '2018-03-10',
// 'end_time': '2018-03-23'
},
timeout: 30000,
dataType: 'json',
beforeSend: function() {
_this.isLoadFlag1 = true;
},
success: function(_data) {
if(typeof _data === 'object') {
if(_data['code'] == '200') {
if(_data.data){
Vue.set(_this.cirData.fangyuan, 'num', _data.data.add_house_num);
Vue.set(_this.cirData.keyuan, 'num', _data.data.add_user_num);
Vue.set(_this.cirData.yeji, 'num', _data.data.performance);
Vue.set(_this.cirData.shishou, 'num', _data.data.official_receipts);
Vue.set(_this.cirData.yuedaikan, 'num', _data.data.look_at_num);
Vue.set(_this.cirData.jinchang, 'num', _data.data.march_in_num);
Vue.set(_this.cirData.shoukuan, 'num', _data.data.paylog);
Vue.set(_this.cirData.jiandu, 'num', _data.data.supervision_num);
};
fn && fn();
} else {
layerTipsX(_data['msg']);
}
} else {
layerTipsX('数据错误');
};
},
error: function() {
layerTipsX('enter error');
},
complete: function(xhr, textStatus){
_this.isLoadFlag1 = false;
if(textStatus === 'timeout') {
//处理超时的逻辑
layerTipsX('请求超时,请重试');
};
}
});
},
ajaxUl: function(){
var _this = this;
$.ajax({
type: 'GET',
url: ServerHostTempC + '/broker/storeOrAgentSort',
data: {
'agent_id': _this.ywyId,
'start_time': _this.startDate,
'end_time': _this.endDate
// 'agent_id': 1,
// 'start_time': '2018-03-10',
// 'end_time': '2018-03-23'
},
timeout: 30000,
dataType: 'json',
beforeSend: function() {
_this.isLoadFlag2 = true;
},
success: function(_data) {
if(typeof _data === 'object') {
if(_data['code'] == '200') {
if(_data.data){
Vue.set(_this.tabsMain[_this.initTabNumMain], 'dataList', _data.data);
};
} else {
layerTipsX(_data['msg']);
}
} else {
layerTipsX('数据错误');
};
},
error: function() {
layerTipsX('enter error');
},
complete: function(xhr, textStatus){
_this.isLoadFlag2 = false;
if(textStatus === 'timeout') {
//处理超时的逻辑
layerTipsX('请求超时,请重试');
};
}
});
}
},
computed: {
showHouseArr: function() {
return true;
},
countLeft: function(){
return this.initTabNumMain == 0?1.85:4.85;
}
}
});
......
......@@ -264,17 +264,19 @@ require(['vue', 'css!style/achieve_tonglian_ac.css', 'jquery0325', 'common'], fu
success: function(_data) {
if(typeof _data === 'object') {
if(_data['code'] == '200') {
if(!_this.tabsMain[_tabMainNum].isLoadMain && _tabMainNum == 1) {
Vue.set(vm.tabsMain[1], 'houseData', [{
'houses_id': 'all',
'internal_title': '全部'
}].concat(_data.data.house_arr));
if(_data.data){
if(!_this.tabsMain[_tabMainNum].isLoadMain && _tabMainNum == 1) {
Vue.set(vm.tabsMain[1], 'houseData', [{
'houses_id': 'all',
'internal_title': '全部'
}].concat(_data.data.house_arr));
};
Vue.set(vm.tabsMain[_tabMainNum], 'isLoadMain', true);
Vue.set(vm.tabsMain[_tabMainNum].data[0], 'num', _data.data.look_at_num == null ? 0 : _data.data.look_at_num);
Vue.set(vm.tabsMain[_tabMainNum].data[1], 'num', _data.data.march_in_num == null ? 0 : _data.data.march_in_num);
Vue.set(vm.tabsMain[_tabMainNum].data[2], 'num', _data.data.paylog == null ? 0 : _data.data.paylog);
Vue.set(vm.tabsMain[_tabMainNum].data[3], 'num', _data.data.bargain_sum == null ? 0 : _data.data.bargain_sum);
};
Vue.set(vm.tabsMain[_tabMainNum], 'isLoadMain', true);
Vue.set(vm.tabsMain[_tabMainNum].data[0], 'num', _data.data.look_at_num == null ? 0 : _data.data.look_at_num);
Vue.set(vm.tabsMain[_tabMainNum].data[1], 'num', _data.data.march_in_num == null ? 0 : _data.data.march_in_num);
Vue.set(vm.tabsMain[_tabMainNum].data[2], 'num', _data.data.paylog == null ? 0 : _data.data.paylog);
Vue.set(vm.tabsMain[_tabMainNum].data[3], 'num', _data.data.bargain_sum == null ? 0 : _data.data.bargain_sum);
fn && fn();
} else {
layerTipsX(_data['msg']);
......
......@@ -326,7 +326,7 @@ $(function() {
}
};
var _contentFlag = false;
if(_data.data['content']) {
if(_data.data && _data.data['content']) {
_contentFlag = true;
var _tempArr = _data.data['content'].split('|||');
for(var i = 0; i < _tempArr.length; i++) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment