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
87da09e6
Commit
87da09e6
authored
Oct 21, 2019
by
agping
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
店长经营
parent
efd35854
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
777 additions
and
0 deletions
+777
-0
directorDailyOperation.vue
.../src/components/dailyOperation/directorDailyOperation.vue
+9
-0
rectangleCopy2@2x.png
...w/src/components/dailyOperation/img/rectangleCopy2@2x.png
+0
-0
managerDailyOperation.vue
...w/src/components/dailyOperation/managerDailyOperation.vue
+459
-0
salesmanDailyOperation.vue
.../src/components/dailyOperation/salesmanDailyOperation.vue
+276
-0
entrance.vue
public/appnew/src/components/publicEg/entrance.vue
+21
-0
index.js
public/appnew/src/router/index.js
+12
-0
No files found.
public/appnew/src/components/dailyOperation/directorDailyOperation.vue
0 → 100644
View file @
87da09e6
<
template
>
</
template
>
<
script
>
</
script
>
<
style
>
</
style
>
\ No newline at end of file
public/appnew/src/components/dailyOperation/img/rectangleCopy2@2x.png
0 → 100644
View file @
87da09e6
159 Bytes
public/appnew/src/components/dailyOperation/managerDailyOperation.vue
0 → 100644
View file @
87da09e6
<
template
>
<div
class=
"con"
>
<header-pulic
:data=
"headerData"
></header-pulic>
<span
@
click=
"openPicker0"
class=
"time"
>
{{
birthday0
}}
</span>
<span
class=
"city"
v-show=
"indexTab == 1"
>
<select
class=
""
>
<option
value=
""
>
上海市
</option>
<option
value=
""
>
杭州市
</option>
<option
value=
""
>
深圳市
</option>
</select>
<span
class=
"span-city"
></span>
</span>
<!--我的 门店-->
<span
class=
"span-title"
>
<span
v-for =
"(item,index) in titleList"
:class=
"indexTab == index ? 'active' : '' "
@
click=
"tab(index)"
>
{{
item
.
title
}}
</span>
</span>
<!--table-->
<!--店长 我的-->
<div
v-show=
"indexTab == 0"
>
<div
class=
"con-title"
>
今日目标
</div>
<div
class=
"yeji"
style=
"padding-bottom:.6rem ;"
>
<table>
<tr
class=
"title-con"
>
<td></td>
<td>
当日目标
</td>
<td>
惩罚[元/条]
</td>
<td>
奖励[元/条]
</td>
<td>
明日计划
</td>
</tr>
<tr
class=
"main-con"
>
<td>
房源
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
新增客户
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
带看进场
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
客源跟进
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
房源跟进
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
</table>
</div>
<div
class=
"gray"
></div>
<div
class=
"con-title"
>
昨日数据
</div>
<div
class=
"yeji"
style=
"padding-bottom:.6rem ;"
>
<table>
<tr
class=
"title-con"
>
<td></td>
<td>
当日目标
</td>
<td>
惩罚[元/条]
</td>
<td>
奖励[元/条]
</td>
<td>
明日计划
</td>
</tr>
<tr
class=
"main-con"
>
<td>
房源
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
新增客户
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
带看进场
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
客源跟进
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
房源跟进
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
</table>
</div>
</div>
<div
v-show=
"indexTab == 1"
>
<div
class=
"con-title"
><span>
洛可可
</span><span>
保存
</span></div>
<div
class=
"yeji"
style=
"padding-bottom:.6rem ;"
>
<table>
<tr
class=
"title-con"
>
<td></td>
<td>
当日目标
</td>
<td>
惩罚[元/条]
</td>
<td>
奖励[元/条]
</td>
<td>
明日计划
</td>
</tr>
<tr
class=
"main-con"
>
<td>
房源
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
新增客户
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
带看进场
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
客源跟进
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
房源跟进
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
</table>
</div>
<div
class=
"gray"
></div>
<div
class=
"con-title"
><span>
洛可可
</span><span>
保存
</span></div>
<div
class=
"yeji"
style=
"padding-bottom:.6rem ;"
>
<table>
<tr
class=
"title-con"
>
<td></td>
<td>
当日目标
</td>
<td>
惩罚[元/条]
</td>
<td>
奖励[元/条]
</td>
<td>
明日计划
</td>
</tr>
<tr
class=
"main-con"
>
<td>
房源
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
新增客户
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
带看进场
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
客源跟进
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
房源跟进
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
</table>
</div>
</div>
<mt-datetime-picker
type=
"date"
ref=
"picker"
year-format=
"
{value} 年"
month-format="{value} 月"
@confirm="handleConfirm"
:startDate="startDate"
>
</mt-datetime-picker>
<div
class=
"loading-gif-block"
v-show=
"isLoadFlag"
>
正在加载...
</div>
</div>
</
template
>
<
script
>
import
{
DatetimePicker
}
from
'mint-ui'
;
import
headerPersional
from
'@/components/phoneDetail/headPersional.vue'
export
default
{
name
:
''
,
components
:{
},
data
()
{
let
_this
=
this
;
return
{
date
:
'2019-10-08'
,
headerData
:
{
'title'
:
''
,
'noborder'
:
true
,
'isBack'
:
true
},
type
:
1
,
startDate
:
new
Date
(
'2019-01'
),
dataList
:[],
isLoadFlag
:
false
,
date1
:
''
,
birthday0
:
'2019.10.20'
,
titleList
:[{
'title'
:
'我的'
},{
'title'
:
'门店'
}],
indexTab
:
0
,
}
},
created
()
{
let
_this
=
this
;
_this
.
date1
=
_this
.
common
.
getBeforeDate
(
0
);
//默认当天时间
// _this.common.duringRequest({
// 'urlStr': '/index/performanceStatistics',
// startAction() {
// _this.isLoadFlag = true;
// },
// endAction() {
// _this.isLoadFlag = false;
// }
// });
// _this.ajaxUl();
},
mounted
()
{
let
_this
=
this
;
},
methods
:
{
tab
(
n
){
let
_this
=
this
;
_this
.
indexTab
=
n
;
},
openPicker0
()
{
let
_this
=
this
;
_this
.
$refs
.
picker
.
open
();
},
handleConfirm
(
data
)
{
//区分
let
_this
=
this
;
_this
.
birthday0
=
_this
.
formatDate
(
data
);
//调取接口
_this
.
ajaxUl
();
},
formatDate
(
date
)
{
const
y
=
date
.
getFullYear
()
let
m
=
date
.
getMonth
()
+
1
m
=
m
<
10
?
'0'
+
m
:
m
let
d
=
date
.
getDate
()
d
=
d
<
10
?
(
'0'
+
d
)
:
d
return
y
+
'.'
+
m
+
'.'
+
d
;
},
ajaxUl
()
{
//获取业绩
let
_this
=
this
;
_this
.
axios
({
method
:
'get'
,
url
:
'/index/performanceStatistics'
,
responseType
:
'json'
,
data
:
{
'time_start'
:
_this
.
birthday0
,
//对比时间
'time_end'
:
_this
.
birthday1
,
'real_performance_time_start'
:
_this
.
birthday2
,
//对比实收时间
'real_performance_time_end'
:
_this
.
birthday3
,
'performance_time_start'
:
_this
.
birthday4
,
//对比业绩时间
'performance_time_end'
:
_this
.
birthday5
,
}
})
.
then
(
function
(
response
)
{
if
(
response
.
data
.
code
==
200
)
{
_this
.
dataList
=
response
.
data
.
data
;
}
else
{}
})
},
},
computed
:
{
}
}
</
script
>
<
style
scoped
>
table
{
text-align
:
center
;
width
:
100%
;
}
td
{
border
:
1px
solid
rgba
(
216
,
216
,
216
,
1
);
height
:
.6rem
;
line-height
:
.6rem
;
}
.con
{
background
:
#fff
;
}
.city-con
td
{
color
:
#333333
;
font-size
:
.28rem
;
font-weight
:
600
;
}
.title-con
td
{
color
:
#333333
;
font-size
:
.24rem
;
}
.city-con
,
.title-con
{
background
:
rgba
(
243
,
245
,
251
,
1
);
}
.main-con
td
{
color
:
#333333
;
font-size
:
.22rem
;
font-weight
:
600
;
}
.main-con
td
:nth-of-type
(
1
),
.main-con
td
:nth-of-type
(
3
)
{
/*width: 2.6rem;*/
}
.main-con
td
:nth-of-type
(
2
),
.main-con
td
:nth-of-type
(
4
)
{
/*width: 1.16rem;*/
}
.main-con
td
:nth-of-type
(
5
)
{
/*width: 1.1rem;*/
}
.time
{
position
:
fixed
;
top
:
.3rem
;
right
:
.4rem
;
font-size
:
.24rem
;
color
:
#333333
;
z-index
:
666
;
}
.time
::after
{
content
:
''
;
background
:
url('img/rectangleCopy2@2x.png')
no-repeat
center
/
.14rem
.08rem
;
position
:
absolute
;
bottom
:
.10rem
;
width
:
.14rem
;
height
:
.08rem
;
left
:
1.3rem
;
}
.city
{
position
:
fixed
;
top
:
.3rem
;
left
:
1.06rem
;
font-size
:
.24rem
;
color
:
#333333
;
z-index
:
666
;
}
.span-city
::after
{
content
:
''
;
background
:
url('img/rectangleCopy2@2x.png')
no-repeat
center
/
.14rem
.08rem
;
position
:
absolute
;
bottom
:
.10rem
;
width
:
.14rem
;
height
:
.08rem
;
left
:
.9rem
;
}
.con-title
{
font-size
:
.32rem
;
font-weight
:
600
;
color
:
rgba
(
51
,
51
,
51
,
1
);
padding-left
:
.36rem
;
padding-right
:
.36rem
;
padding-top
:
.46rem
;
height
:
1.22rem
;
box-sizing
:
border-box
;
}
.con-title
>
span
:nth-of-type
(
1
)
{
font-size
:
.32rem
;
font-weight
:
600
;
color
:
rgba
(
51
,
51
,
51
,
1
);
padding-top
:
.52rem
;
height
:
1.22rem
;
box-sizing
:
border-box
;
}
.con-title
>
span
:nth-of-type
(
2
)
{
float
:
right
;
width
:
1.4rem
;
height
:
.6rem
;
line-height
:
.6rem
;
text-align
:
center
;
background
:
#FF9318
;
color
:
#fff
;
font-size
:
.28rem
;
border-radius
:
.06rem
;
}
.gray
{
width
:
100%
;
height
:
.2rem
;
background
:
#E8EBF0
;
}
.span-title
{
display
:
inline-block
;
height
:
.6rem
;
line-height
:
.6rem
;
box-sizing
:
border-box
;
border-radius
:
.06rem
;
border
:
1px
solid
rgba
(
255
,
147
,
24
,
1
);
position
:
fixed
;
top
:
.18rem
;
z-index
:
666
;
left
:
2.64rem
;
font-size
:
.36rem
;
}
.span-title
span
{
display
:
inline-block
;
width
:
1.14rem
;
text-align
:
center
;
color
:
rgba
(
255
,
147
,
24
,
1
);
/*border-radius: .06rem;*/
height
:
.58rem
;
}
.span-title
span
.active
{
background
:
rgba
(
255
,
147
,
24
,
1
);
color
:
#fff
;
/*border-radius: .06rem 0 0 .06rem;*/
}
</
style
>
public/appnew/src/components/dailyOperation/salesmanDailyOperation.vue
0 → 100644
View file @
87da09e6
<
template
>
<div
class=
"con"
>
<header-pulic
:data=
"headerData"
></header-pulic>
<span
@
click=
"openPicker0"
class=
"time"
>
{{
birthday0
}}
</span>
<!--table-->
<div
class=
"con-title"
>
今日目标
</div>
<div
class=
"yeji"
style=
"padding-bottom:.6rem ;"
>
<table>
<tr
class=
"title-con"
>
<td></td>
<td>
当日目标
</td>
<td>
惩罚[元/条]
</td>
<td>
奖励[元/条]
</td>
<td>
明日计划
</td>
</tr>
<tr
class=
"main-con"
>
<td>
房源
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
新增客户
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
带看进场
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
客源跟进
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
房源跟进
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
</table>
</div>
<div
class=
"gray"
></div>
<div
class=
"con-title"
>
昨日数据
</div>
<div
class=
"yeji"
style=
"padding-bottom:.6rem ;"
>
<table>
<tr
class=
"title-con"
>
<td></td>
<td>
当日目标
</td>
<td>
惩罚[元/条]
</td>
<td>
奖励[元/条]
</td>
<td>
明日计划
</td>
</tr>
<tr
class=
"main-con"
>
<td>
房源
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
新增客户
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
带看进场
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
客源跟进
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
<tr
class=
"main-con"
>
<td>
房源跟进
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
<td>
666
</td>
</tr>
</table>
</div>
<mt-datetime-picker
type=
"date"
ref=
"picker"
year-format=
"
{value} 年"
month-format="{value} 月"
@confirm="handleConfirm"
:startDate="startDate"
>
</mt-datetime-picker>
<div
class=
"loading-gif-block"
v-show=
"isLoadFlag"
>
正在加载...
</div>
</div>
</
template
>
<
script
>
import
{
DatetimePicker
}
from
'mint-ui'
;
import
headerPersional
from
'@/components/phoneDetail/headPersional.vue'
export
default
{
name
:
''
,
components
:{
},
data
()
{
let
_this
=
this
;
return
{
date
:
'2019-10-08'
,
headerData
:
{
'title'
:
'日经营'
,
'noborder'
:
true
,
'isBack'
:
true
},
type
:
1
,
startDate
:
new
Date
(
'2019-01'
),
dataList
:[],
isLoadFlag
:
false
,
date1
:
''
,
birthday0
:
'2019.10.20'
,
}
},
created
()
{
let
_this
=
this
;
_this
.
date1
=
_this
.
common
.
getBeforeDate
(
0
);
//默认当天时间
// _this.common.duringRequest({
// 'urlStr': '/index/performanceStatistics',
// startAction() {
// _this.isLoadFlag = true;
// },
// endAction() {
// _this.isLoadFlag = false;
// }
// });
// _this.ajaxUl();
},
mounted
()
{
let
_this
=
this
;
},
methods
:
{
openPicker0
()
{
let
_this
=
this
;
_this
.
$refs
.
picker
.
open
();
},
handleConfirm
(
data
)
{
//区分
let
_this
=
this
;
_this
.
birthday0
=
_this
.
formatDate
(
data
);
//调取接口
_this
.
ajaxUl
();
},
formatDate
(
date
)
{
const
y
=
date
.
getFullYear
()
let
m
=
date
.
getMonth
()
+
1
m
=
m
<
10
?
'0'
+
m
:
m
let
d
=
date
.
getDate
()
d
=
d
<
10
?
(
'0'
+
d
)
:
d
return
y
+
'.'
+
m
+
'.'
+
d
;
},
ajaxUl
()
{
//获取业绩
let
_this
=
this
;
_this
.
axios
({
method
:
'get'
,
url
:
'/index/performanceStatistics'
,
responseType
:
'json'
,
data
:
{
'time_start'
:
_this
.
birthday0
,
//对比时间
'time_end'
:
_this
.
birthday1
,
'real_performance_time_start'
:
_this
.
birthday2
,
//对比实收时间
'real_performance_time_end'
:
_this
.
birthday3
,
'performance_time_start'
:
_this
.
birthday4
,
//对比业绩时间
'performance_time_end'
:
_this
.
birthday5
,
}
})
.
then
(
function
(
response
)
{
if
(
response
.
data
.
code
==
200
)
{
_this
.
dataList
=
response
.
data
.
data
;
}
else
{}
})
},
},
computed
:
{
}
}
</
script
>
<
style
scoped
>
table
{
text-align
:
center
;
width
:
100%
;
}
td
{
border
:
1px
solid
rgba
(
216
,
216
,
216
,
1
);
height
:
.6rem
;
line-height
:
.6rem
;
}
.con
{
background
:
#fff
;
}
.city-con
td
{
color
:
#333333
;
font-size
:
.28rem
;
font-weight
:
600
;
}
.title-con
td
{
color
:
#333333
;
font-size
:
.24rem
;
}
.city-con
,
.title-con
{
background
:
rgba
(
243
,
245
,
251
,
1
);
}
.main-con
td
{
color
:
#333333
;
font-size
:
.22rem
;
font-weight
:
600
;
}
.main-con
td
:nth-of-type
(
1
),
.main-con
td
:nth-of-type
(
3
)
{
/*width: 2.6rem;*/
}
.main-con
td
:nth-of-type
(
2
),
.main-con
td
:nth-of-type
(
4
)
{
/*width: 1.16rem;*/
}
.main-con
td
:nth-of-type
(
5
)
{
/*width: 1.1rem;*/
}
.time
{
position
:
fixed
;
top
:
.3rem
;
right
:
.4rem
;
font-size
:
.24rem
;
color
:
#333333
;
z-index
:
666
;
}
.time
::after
{
content
:
''
;
background
:
url('img/rectangleCopy2@2x.png')
no-repeat
center
/
.14rem
.08rem
;
position
:
absolute
;
bottom
:
.10rem
;
width
:
.14rem
;
height
:
.08rem
;
left
:
1.3rem
;
}
.con-title
{
font-size
:
.32rem
;
font-weight
:
600
;
color
:
rgba
(
51
,
51
,
51
,
1
);
padding-left
:
.36rem
;
padding-top
:
.52rem
;
height
:
1.22rem
;
box-sizing
:
border-box
;
}
.gray
{
width
:
100%
;
height
:
.2rem
;
background
:
#E8EBF0
;
}
</
style
>
public/appnew/src/components/publicEg/entrance.vue
View file @
87da09e6
...
...
@@ -182,6 +182,27 @@
'nameCustom'
:
'收款详情'
,
'query'
:
{
}
},
{
'path'
:
'/salesmanDailyOperation'
,
'nameCustom'
:
'业务员日经营'
,
'query'
:
{
}
},
{
'path'
:
'/managerDailyOperation'
,
'nameCustom'
:
'店长日经营'
,
'query'
:
{
}
},
{
'path'
:
'/directorDailyOperation'
,
'nameCustom'
:
'总监日经营'
,
'query'
:
{
}
}
...
...
public/appnew/src/router/index.js
View file @
87da09e6
...
...
@@ -192,6 +192,18 @@ export default new VueRouter({
path
:
'/performanceContrast'
,
name
:
'v-performanceContrast'
,
component
:
resolve
=>
require
([
'@/components/performanceContrast/performanceContrast'
],
resolve
)
},{
path
:
'/salesmanDailyOperation'
,
name
:
'v-salesmanDailyOperation'
,
component
:
resolve
=>
require
([
'@/components/dailyOperation/salesmanDailyOperation'
],
resolve
)
},{
path
:
'/managerDailyOperation'
,
name
:
'v-managerDailyOperation'
,
component
:
resolve
=>
require
([
'@/components/dailyOperation/managerDailyOperation'
],
resolve
)
},{
path
:
'/directorDailyOperation'
,
name
:
'v-directorDailyOperation'
,
component
:
resolve
=>
require
([
'@/components/dailyOperation/directorDailyOperation'
],
resolve
)
}
...
...
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