Commit c7bf0063 authored by xishifeng's avatar xishifeng

业务员业绩

parent 5320a2ab
......@@ -17,7 +17,7 @@
<div class="achieve-header-tab">
<a href="javascript:;" v-for="(item,index) in tabsMain" :class="{active:index == initTabNumMain}" @click="tabMain(index)">{{item.title}}</a>
</div>
<div class="mulu_relate_new" v-show="showHouseArr" @click.prevent.stop="mask('show')"><span id="list_name">{{tabsMain[1].houseDataInit}}</span><img src="/app/images/all_ic.png"></div>
<div class="mulu_relate_new" v-show="showHouseArr" @click.prevent.stop="mask('show')"><span id="list_name">{{tabsMain[1].houseDataInit.internal_title}}</span><img src="/app/images/all_ic.png"></div>
</header>
<div class="header_seat"></div>
......@@ -25,7 +25,6 @@
<div class="pop_box">
<div class="tri_angle2"></div>
<ul id="house_list_area">
<li data-id="">全部</li>
<li v-for="(item, index) in tabsMain[1].houseData" :data-id="item.houses_id" @click="getHouse(item)">{{item.internal_title}}</li>
</ul>
</div>
......@@ -34,11 +33,12 @@
<div class="achieve-content-ac">
<div class="search-area">
<img src="/app/images/ic_rili-.png" />
<!--<img src="/app/images/ic_rili-.png" />-->
<div><input type="date" id="startdateid" v-model="startDate" /></div>
<span></span>
<div><input type="date" id="enddateid" v-model="endDate" /></div>
<button id="searchBtn">搜索</button>
<button id="searchBtn" @click.prevent.stop="search('normal')">搜索</button>
<button id="searchBtn2" @click.prevent.stop="search('today')">今天</button>
</div>
<ul class="nav-area" v-for="(item,index) in tabsMain" :key="item.title" v-show="index == initTabNumMain">
......@@ -55,28 +55,30 @@
<ul :id="'content_'+index+'_'+index2" class="sec-tab-ul">
<li v-for='(item3,index3) in item2.dataList'>
<div>
<span>{1}</span>
<span>{2}</span>
<span>{{item3.user_name}}</span>
<span>{{hideTel(item3.user_phone)}}</span>
</div>
<div>
<span>{3}</span>
<span>{4}</span>
<span>{{item3.internal_address}}</span>
<span>{{item3.create_time}}</span>
</div>
</li>
</ul>
</div>
<div :id="'loading_pic_'+index+'_'+index2" class="loading_pic">
<!--<div :id="'loading_pic_'+index+'_'+index2" class="loading_pic loading_pic_new">
<img src="/app/images/jz2.gif" />
<p>正在加载...</p>
</div>
<div :id="'no_more_'+index+'_'+index2" class="no_more">没有更多了</div>
<div :id="'mask_ld_'+index+'_'+index2" class="no_more">
<img src="/app/images/ic_wushuju-.png" class="ic_wushuju">
<p>暂无数据...</p>
</div>
</div>-->
<div :id="'no_more_'+index+'_'+index2" class="no_more no_more_new" v-if="item2.dataList.length>0">没有更多了</div>
<div :id="'zanwu_data'+index+'_'+index2" class="zanwu_data zanwu_data_new" v-else>暂无数据...</div>
</section>
</div>
<div id="loading_pic" class="loading_pic loading_pic_new" v-show="isLoadFlag">
<img src="/app/images/jz2.gif" />
<p>正在加载...</p>
</div>
</div>
......
......@@ -133,6 +133,7 @@ div.tri_angle2 {
width: 0;
height: 0;
margin-left: 3.2rem;
margin-right: .14rem;
border-left: 0.14rem solid transparent;
border-right: 0.14rem solid transparent;
border-bottom: 0.2rem solid white;
......@@ -178,7 +179,8 @@ div.pop_box>ul>li+li{
height: .5rem;
color: #333;
font-size: .28rem;
padding: 0.4rem 0 0.4rem 0.5rem;
/*padding: 0.4rem 0 0.4rem 0.5rem;*/
padding: 0.4rem 0 0.4rem 0.15rem;
/*border-top: 1px solid #CCC;*/
border-bottom: 1px solid #F2F2F2;
overflow: hidden;
......@@ -231,6 +233,9 @@ div.pop_box>ul>li+li{
color: white;
float: left;
}
.achieve-content-ac>.search-area>button:nth-of-type(2){
margin-left: .16rem;
}
.achieve-content-ac>.nav-area{
overflow: hidden;
......@@ -273,10 +278,6 @@ div.pop_box>ul>li+li{
padding-top: 0.16rem;
}
.sec-tab:nth-of-type(n+2){
display: none;
}
.sec-tab-ul{
padding: 0 0.3rem;
font-size: 0.3rem;
......
......@@ -136,6 +136,7 @@ header .share-tips>span{
top: 7rem;
display: none;
}
.loading_pic>img{
width:1.2rem;
display: block;
......@@ -193,6 +194,11 @@ a#jump_link{
float: right;
overflow: hidden;
}
.loading_pic_new,.no_more,.zanwu_data{
display: block;
}
/*.loading_pic_new{
display: none;}*/
/*时间轴等图片点击之后的轮播图*/
#pic_box{
......
......@@ -13,22 +13,22 @@ require(['vue', 'css!style/achieve_tonglian_ac.css', 'jquery0325', 'common'], fu
'isLoadMain': false,
'data': [{
'name': '约带看',
'num': 23,
'num': 0,
'isLoadSub': false,
'dataList': []
}, {
'name': '进场',
'num': 23,
'num': 0,
'isLoadSub': false,
'dataList': []
}, {
'name': '收款',
'num': 23,
'num': 0,
'isLoadSub': false,
'dataList': []
}, {
'name': '成交报告',
'num': 23,
'num': 0,
'isLoadSub': false,
'dataList': []
}]
......@@ -38,32 +38,36 @@ require(['vue', 'css!style/achieve_tonglian_ac.css', 'jquery0325', 'common'], fu
'isLoadMain': false,
'data': [{
'name': '约带看',
'num': 28,
'num': 0,
'isLoadSub': false,
'dataList': []
}, {
'name': '进场',
'num': 21,
'num': 0,
'isLoadSub': false,
'dataList': []
}, {
'name': '收款',
'num': 29,
'num': 0,
'isLoadSub': false,
'dataList': []
}, {
'name': '成交报告',
'num': 5,
'num': 0,
'isLoadSub': false,
'dataList': []
}],
'houseData': [],
'houseDataInit': '全部'
'houseDataInit': {
'houses_id': 'all',
'internal_title': '全部'
}
}],
initTabNumMain: 0,
userId: '',
ywyId: getUrlParam('ywyId'),
showMaskFlag: false
showMaskFlag: false,
isLoadFlag: false
},
created: function() {
var _this = this;
......@@ -77,33 +81,129 @@ require(['vue', 'css!style/achieve_tonglian_ac.css', 'jquery0325', 'common'], fu
_this.initTime(function(start_date, end_date) {
_this.startDate = start_date;
_this.endDate = end_date;
_this.ajaxMainNum();
_this.ajaxMainNum(function(){
_this.ajaxUl();
});
});
},
tabMain: function(index) {
var _this = this;
_this.initTabNumMain = index;
if(!_this.tabsMain[index].isLoadMain){
_this.ajaxMainNum();
if(!_this.tabsMain[index].isLoadMain) {
_this.ajaxMainNum(function() {
if(!_this.tabsMain[index].data[0].isLoadSub) {
Vue.set(_this.tabsMain[index].data[0], 'isLoadSub', true);
_this.ajaxUl();
} else {
console.log(_this.tabsMain[index].data[0].isLoadSub);
};
});
}
},
tabSub: function(index, index2) {
var _this = this;
Vue.set(vm.tabsMain[index], 'initTabNumSub', index2);
if(!_this.tabsMain[index].data[index2].isLoadSub){
Vue.set(vm.tabsMain[index].data[index2], 'isLoadSub', true);
Vue.set(_this.tabsMain[index], 'initTabNumSub', index2);
if(!_this.tabsMain[index].data[index2].isLoadSub) {
Vue.set(_this.tabsMain[index].data[index2], 'isLoadSub', true);
_this.ajaxUl();
}else{
} else {
console.log(_this.tabsMain[index].data[index2].isLoadSub);
};
},
mask: function(str){
this.showMaskFlag = (str == 'show')?true:false;
mask: function(str) {
this.showMaskFlag = (str == 'show') ? true : false;
},
getHouse: function(obj){
getHouse: function(obj) {
var _this = this;
Vue.set(vm.tabsMain[1], 'houseDataInit', obj.internal_title);
Vue.set(vm.tabsMain[1], 'houseDataInit', obj);
_this.resetSomeData(2);
_this.ajaxUl();
},
resetSomeData: function(type) {
var _this = this;
if(type == '1') {
//重置一些数据
Vue.set(_this, 'tabsMain', [{
'title': '经纪人',
'initTabNumSub': 0,
'isLoadMain': false,
'data': [{
'name': '约带看',
'num': 0,
'isLoadSub': false,
'dataList': []
}, {
'name': '进场',
'num': 0,
'isLoadSub': false,
'dataList': []
}, {
'name': '收款',
'num': 0,
'isLoadSub': false,
'dataList': []
}, {
'name': '成交报告',
'num': 0,
'isLoadSub': false,
'dataList': []
}]
}, {
'title': '案场',
'initTabNumSub': 0,
'isLoadMain': false,
'data': [{
'name': '约带看',
'num': 0,
'isLoadSub': false,
'dataList': []
}, {
'name': '进场',
'num': 0,
'isLoadSub': false,
'dataList': []
}, {
'name': '收款',
'num': 0,
'isLoadSub': false,
'dataList': []
}, {
'name': '成交报告',
'num': 0,
'isLoadSub': false,
'dataList': []
}],
'houseData': [],
'houseDataInit': {
'houses_id': 'all',
'internal_title': '全部'
}
}]);
} else if(type == '2') {
//重置少部分数据
Vue.set(_this.tabsMain[1], 'initTabNumSub', 0);
Vue.set(_this.tabsMain[1], 'data', [{
'name': '约带看',
'num': 0,
'isLoadSub': false,
'dataList': []
}, {
'name': '进场',
'num': 0,
'isLoadSub': false,
'dataList': []
}, {
'name': '收款',
'num': 0,
'isLoadSub': false,
'dataList': []
}, {
'name': '成交报告',
'num': 0,
'isLoadSub': false,
'dataList': []
}]);
} else {};
},
initTime: function(callback) {
//获取缓存里的时间
......@@ -126,37 +226,59 @@ require(['vue', 'css!style/achieve_tonglian_ac.css', 'jquery0325', 'common'], fu
callback(_startdate, _enddate);
}
},
ajaxMainNum: function() {
search: function(type) {
var _this = this;
_this.resetSomeData(1);
if(type =='today'){
_this.startDate = backNowDate();
_this.endDate = _this.startDate;
};
_this.ajaxMainNum(function(){
sessionStorage.setItem('achieve_search_start_date', _this.startDate);
sessionStorage.setItem('achieve_search_end_date', _this.endDate);
_this.ajaxUl();
});
},
ajaxMainNum: function(fn) {
var _this = this,
_tabMainNum = _this.initTabNumMain;
var _requestData = {
'start_time': _this.startDate,
'end_time': _this.endDate,
'agent_id': _this.ywyId,
// 'start_time': '2018-03-23',
// 'end_time': '2018-03-23',
// 'agent_id': 1,
'is_case': _tabMainNum + 1
};
if(_this.initTabNumMain == 1 && _this.tabsMain[1].houseDataInit.houses_id != 'all') {
_requestData['house_id'] = _this.tabsMain[1].houseDataInit.houses_id;
};
$.ajax({
type: 'GET',
url: ServerHostTempC + '/broker/agentPerformanceBySearch',
data: {
// 'start_time': _this.startDate,
// 'end_time': _this.endDate,
// 'agent_id': _this.ywyId,
// 'is_case': _tabMainNum
'start_time': '2018-03-23',
'end_time': '2018-03-23',
'agent_id': 1,
'is_case': _tabMainNum+1,
'house_id': 0
},
data: _requestData,
timeout: 30000,
dataType: 'json',
beforeSend: function() {},
beforeSend: function() {
_this.isLoadFlag = true;
},
success: function(_data) {
if(typeof _data === 'object') {
if(_data['code'] == '200') {
if(!_this.tabsMain[_tabMainNum].isLoadMain && _tabMainNum == 1){
Vue.set(vm.tabsMain[1], 'houseData', _data.data.house_arr);
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].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']);
}
......@@ -176,23 +298,36 @@ require(['vue', 'css!style/achieve_tonglian_ac.css', 'jquery0325', 'common'], fu
});
},
ajaxUl: function() {
var _this = this;
console.log(vm); //creat里的调用会是undefined
var _requestData = {
'agent_id': _this.ywyId,
'start_time': _this.startDate,
'end_time': _this.endDate,
// 'agent_id': 1,
// 'start_time': '2018-03-13',
// 'end_time': '2018-03-26',
'is_case': _this.initTabNumMain + 1,
'type': _this.tabsMain[_this.initTabNumMain].initTabNumSub + 1
};
if(_this.initTabNumMain == 1 && _this.tabsMain[1].houseDataInit.houses_id != 'all') {
_requestData['house_id'] = _this.tabsMain[1].houseDataInit.houses_id;
};
$.ajax({
type: 'POST',
type: 'GET',
url: ServerHostTempC + '/broker/orderNoList',
data: {
'agent_id': vm.ywyId,
'start_time ': vm.startDate,
'end_time': vm.endDate,
'is_case': _this.initTabNumMain,
'type': _tabMainNum + 1
},
data: _requestData,
timeout: 30000,
dataType: 'json',
beforeSend: function() {},
beforeSend: function() {
_this.isLoadFlag = true;
},
success: function(_data) {
if(typeof _data === 'object') {
if(_data['code'] == '200') {
var _index = _this.initTabNumMain;
var _index2 = _this.tabsMain[_index].initTabNumSub;
Vue.set(_this.tabsMain[_index].data[_index2], 'dataList', _data.data == null ? [] : _data.data);
} else {
layerTipsX(_data['msg']);
}
......@@ -204,88 +339,17 @@ require(['vue', 'css!style/achieve_tonglian_ac.css', 'jquery0325', 'common'], fu
layerTipsX('enter error');
},
complete: function(xhr, textStatus) {
_this.isLoadFlag = false;
if(textStatus === 'timeout') {
//处理超时的逻辑
layerTipsX('请求超时,请重试');
};
}
});
ajaxObj = $.ajax({
type: "post",
url: ServerHost + "/agents/shop_staff_state_down",
data: {
'startdate': startdate,
'enddate': enddate,
"token": _token,
"user_id": _ywy_id,
"state": status,
"page": page
},
timeout: 10000,
cache: false,
dataType: "json",
beforeSend: function() {
loadItem["sta_" + status].show();
noMoreItem["sta_" + status].hide();
noMoreItem_ld["sta_" + status].hide();
},
success: function(data) {
if(typeof data === 'object') {
if(data.state !== 1) {
alert(data.msg);
return false;
}
if(data.data.length > 0) {
stopstatus["sta_" + status] = true;
pageInit["sta_" + status]++;
var _html = "";
$.each(data.data, function(i, item) {
var _htmlTemp = '<li data-id="{0}"><div><span>{1}</span><span>{2}</span></div><div><span>{3}</span><span>{4}</span></div></li>';
_html += _htmlTemp.stringFormatObj({
'0': item.apply.id,
'1': item.apply.customer,
'2': item.apply.phpone,
'3': item.apply.title,
'4': item.apply.created
});
});
htmlUl["sta_" + status].append(_html);
loadItem["sta_" + status].hide();
if(data.data.length < 10) {
noMoreItem["sta_" + status].show();
stopstatus["sta_" + status] = false;
};
if(fn) {
fn(startdate, enddate); //下拉加载事件
};
} else {
loadItem["sta_" + status].hide();
noMoreItem["sta_" + status].hide();
noMoreItem_ld["sta_" + status].show();
stopstatus["sta_" + status] = false;
}
}
},
error: function() {
ajaxObj.abort();
console.warn("请求错误");
},
complete: function(xhr, textStatus) {
if(textStatus === "timeout") {
//处理超时的逻辑
alert("请求超时");
ajaxObj.abort();
//xhr.abort();//超时之后取消此次请求
return false;
}
}
});
}
},
computed: {
showHouseArr: function(){
showHouseArr: function() {
return this.initTabNumMain == 1 && this.tabsMain[1].houseData.length > 0;
}
}
......
require(['vue', 'vconsole', 'css!style/customerinfo_sub_page.css', 'css!style/customer_gj.css', 'jquery0325', 'common'], function(Vue, VConsole) {
var vConsole = new VConsole();
require(['vue', 'css!style/customerinfo_sub_page.css', 'css!style/customer_gj.css', 'jquery0325', 'common'], function(Vue) {
var _applyId = getUrlParam("applyid"); //获取GET参数
var _token = getUrlParam("token");
Vue.component('imgshow-component', {
......@@ -118,17 +117,17 @@ require(['vue', 'vconsole', 'css!style/customerinfo_sub_page.css', 'css!style/cu
layerTipsX(data['msg']);
}
} else {
layerTipsX('数据错误');
layerTipsX('data type error');
};
},
error: function() {
layerTipsX('上传失败,请重试');
layerTipsX('enter error');
},
complete: function(xhr, textStatus) {
if(textStatus === "timeout") {
//处理超时的逻辑
layerTipsX('请求超时,请重试');
layerTipsX('timeover');
};
_this.uploadImgFlag = false;
}
......@@ -145,7 +144,7 @@ require(['vue', 'vconsole', 'css!style/customerinfo_sub_page.css', 'css!style/cu
}else{}
$.ajax({
url: "/broker/getregions",
url: ServerHostTempC + "/broker/getregions",
type: 'GET',
timeout: 30000,
data: _data,
......@@ -159,17 +158,17 @@ require(['vue', 'vconsole', 'css!style/customerinfo_sub_page.css', 'css!style/cu
layerTipsX(_data['msg']);
}
} else {
layerTipsX('数据错误');
layerTipsX('data type error');
};
},
error: function() {
layerTipsX('上传失败,请重试');
layerTipsX('enter error');
},
complete: function(xhr, textStatus) {
if(textStatus === "timeout") {
//处理超时的逻辑
layerTipsX('请求超时,请重试');
layerTipsX('timeover');
};
}
});
......@@ -245,17 +244,17 @@ require(['vue', 'vconsole', 'css!style/customerinfo_sub_page.css', 'css!style/cu
layerTipsX(data['msg']);
}
} else {
layerTipsX('数据错误');
layerTipsX('data type error');
};
},
error: function() {
layerTipsX('上传失败,请重试');
layerTipsX('enter error');
},
complete: function(xhr, textStatus) {
if(textStatus === "timeout") {
//处理超时的逻辑
layerTipsX('请求超时,请重试');
layerTipsX('timeover');
};
_this.uploadImgFlag = false;
}
......@@ -327,7 +326,7 @@ require(['vue', 'vconsole', 'css!style/customerinfo_sub_page.css', 'css!style/cu
layerTipsX(data['msg']);
}
} else {
layerTipsX('数据错误');
layerTipsX('data type error');
};
},
error: function() {
......@@ -336,7 +335,7 @@ require(['vue', 'vconsole', 'css!style/customerinfo_sub_page.css', 'css!style/cu
complete: function(xhr, textStatus) {
if(textStatus === "timeout") {
//处理超时的逻辑
layerTipsX('请求超时');
layerTipsX('timeover');
};
_this.submitFlag = false;
}
......
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