Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
tl_estate
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hujun
tl_estate
Commits
fc5929e7
Commit
fc5929e7
authored
Apr 04, 2018
by
xishifeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
区域业绩
parent
9b015dd0
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
239 additions
and
44 deletions
+239
-44
achieve_region.html
application/app_broker/view/index/achieve_region.html
+29
-24
achieve_ywy.html
application/app_broker/view/index/achieve_ywy.html
+1
-1
achieve_temp.css
public/app/css/achieve_temp.css
+13
-2
common.css
public/app/css/common.css
+1
-1
inat.png
public/app/images/inat.png
+0
-0
achieve_fork.js
public/app/js/achieve_fork.js
+2
-1
achieve_region.js
public/app/js/achieve_region.js
+180
-4
achieve_ywy.js
public/app/js/achieve_ywy.js
+12
-10
weekly_achieve_mdzj.js
public/app/js/weekly_achieve_mdzj.js
+1
-1
No files found.
application/app_broker/view/index/achieve_region.html
View file @
fc5929e7
...
...
@@ -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>
...
...
application/app_broker/view/index/achieve_ywy.html
View file @
fc5929e7
...
...
@@ -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>
...
...
public/app/css/achieve_temp.css
View file @
fc5929e7
...
...
@@ -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
;
}
...
...
public/app/css/common.css
View file @
fc5929e7
...
...
@@ -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{
...
...
public/app/images/inat.png
0 → 100644
View file @
fc5929e7
1.24 KB
public/app/js/achieve_fork.js
View file @
fc5929e7
...
...
@@ -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'
);
}
}
});
...
...
public/app/js/achieve_region.js
View file @
fc5929e7
...
...
@@ -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
;
}
}
});
...
...
public/app/js/achieve_ywy.js
View file @
fc5929e7
...
...
@@ -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'
]);
...
...
public/app/js/weekly_achieve_mdzj.js
View file @
fc5929e7
...
...
@@ -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
++
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment