Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-4
Overview
Overview
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
office
haoban-4
Commits
ec0fa03a
Commit
ec0fa03a
authored
Nov 20, 2020
by
Kyle_Li
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: 查看门店
parent
ff36bbbc
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
163 additions
and
89 deletions
+163
-89
perfect-day-target.vue
src/views/apps/target-manage/perfect-day-target.vue
+1
-0
target-list.vue
src/views/apps/target-manage/target-list.vue
+3
-3
target-store.vue
src/views/apps/target-manage/target-store.vue
+159
-86
No files found.
src/views/apps/target-manage/perfect-day-target.vue
View file @
ec0fa03a
...
@@ -124,6 +124,7 @@ export default {
...
@@ -124,6 +124,7 @@ export default {
};
};
},
},
created
()
{
created
()
{
this
.
form
=
this
.
$route
.
query
;
this
.
init
();
this
.
init
();
},
},
mounted
()
{
mounted
()
{
...
...
src/views/apps/target-manage/target-list.vue
View file @
ec0fa03a
...
@@ -36,7 +36,7 @@
...
@@ -36,7 +36,7 @@
<el-table-column
label=
"操作"
>
<el-table-column
label=
"操作"
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
<el-button
type=
"text"
@
click=
"$router.push(
{ path: '/target-store', query: { tab: activeName,
year
: row.performanceYm, applicationId } })">查看门店
</el-button>
<el-button
type=
"text"
@
click=
"$router.push(
{ path: '/target-store', query: { tab: activeName,
performanceYm
: row.performanceYm, applicationId } })">查看门店
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -64,7 +64,7 @@ export default {
...
@@ -64,7 +64,7 @@ export default {
return
{
return
{
haoban
:
{},
haoban
:
{},
tableData
:
[],
tableData
:
[],
activeName
:
'1'
,
activeName
:
'1'
,
// 1业绩,2新增
search
:
{
search
:
{
date
:
new
Date
().
getFullYear
()
date
:
new
Date
().
getFullYear
()
},
},
...
@@ -101,7 +101,7 @@ export default {
...
@@ -101,7 +101,7 @@ export default {
const
para
=
{
const
para
=
{
...
that
.
haoban
,
...
that
.
haoban
,
enterpriseId
:
that
.
brandId
,
enterpriseId
:
that
.
brandId
,
perf
ro
manceType
:
that
.
activeName
,
perf
or
manceType
:
that
.
activeName
,
performanceYear
:
that
.
search
.
date
performanceYear
:
that
.
search
.
date
};
};
getTargetList
(
para
,
{
headers
:
{
sign
:
that
.
brandId
}
})
getTargetList
(
para
,
{
headers
:
{
sign
:
that
.
brandId
}
})
...
...
src/views/apps/target-manage/target-store.vue
View file @
ec0fa03a
...
@@ -7,11 +7,7 @@
...
@@ -7,11 +7,7 @@
* @LastEditTime: 2020-11-09 10:40:34
* @LastEditTime: 2020-11-09 10:40:34
-->
-->
<
template
>
<
template
>
<div
class=
"common-app-right"
style=
"padding: 0"
v-loading=
"loading"
>
<div
class=
"common-app-right"
v-loading=
"loading"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"getData"
>
<el-tab-pane
label=
"已设置指标门店"
name=
"0"
></el-tab-pane>
<el-tab-pane
label=
"未设置指标门店"
name=
"1"
></el-tab-pane>
</el-tabs>
<div
class=
"list-content"
>
<div
class=
"list-content"
>
<div
class=
"content-search"
>
<div
class=
"content-search"
>
...
@@ -25,24 +21,22 @@
...
@@ -25,24 +21,22 @@
@
change=
"searchChange"
>
@
change=
"searchChange"
>
</el-input>
</el-input>
<el-select
v-model=
"search.performanceYear"
placeholder=
"选择年份"
style=
"width: 100px"
@
change=
"searchChange"
>
<el-select
v-model=
"search.performanceSubType"
placeholder=
"全部指标类型"
@
change=
"searchChange"
>
<el-option
v-for=
"item in yearList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
<el-option
label=
"业绩指标日权重"
value=
"1"
></el-option>
<el-option
label=
"业绩指标日指标"
value=
"2"
></el-option>
</el-select>
</el-select>
<span
v-show=
"activeName === '0'"
>
<el-select
v-model=
"search.flag"
placeholder=
"全部状态"
clearable
@
change=
"searchChange"
>
<el-select
v-model=
"search.type"
placeholder=
"全部指标类型"
clearable
@
change=
"searchChange"
>
<el-option
label=
"日指标已完善"
value=
"0"
></el-option>
<el-option
label=
"业绩指标日权重"
value=
"1"
></el-option>
<el-option
label=
"日指标未完善"
value=
"1"
></el-option>
<el-option
label=
"业绩指标日指标"
value=
"2"
></el-option>
<el-option
label=
"导购指标已完善"
value=
"2"
></el-option>
<el-option
label=
"新增会员日权重"
value=
"3"
></el-option>
<el-option
label=
"导购指标未完善"
value=
"3"
></el-option>
<el-option
label=
"新增会员日指标"
value=
"4"
></el-option>
</el-select>
</el-select>
<el-select
v-model=
"search.storeEdit"
placeholder=
"全部编辑权限"
clearable
@
change=
"searchChange"
>
<el-option
label=
"店长可编辑"
value=
"1"
></el-option>
<el-option
label=
"店长不可编辑"
value=
"0"
></el-option>
</el-select>
</span>
<el-select
v-model=
"search.storeEdit"
placeholder=
"全部编辑权限"
clearable
@
change=
"searchChange"
>
<el-option
label=
"店长可编辑"
value=
"1"
></el-option>
<el-option
label=
"店长不可编辑"
value=
"0"
></el-option>
</el-select>
<el-select
v-model=
"search.storeType"
style=
"width: 106px;margin-right: -1px"
@
change=
"storeChange"
>
<el-select
v-model=
"search.storeType"
style=
"width: 106px;margin-right: -1px"
@
change=
"storeChange"
>
<el-option
label=
"门店分组"
value=
"1"
></el-option>
<el-option
label=
"门店分组"
value=
"1"
></el-option>
...
@@ -63,25 +57,16 @@
...
@@ -63,25 +57,16 @@
</div>
</div>
<el-select
placeholder=
"操作"
@
change=
"batchOperation"
>
<el-select
placeholder=
"批量操作"
@
change=
"batchOperation"
>
<el-option
label=
"新增指标"
:value=
"1"
v-show=
"activeName === '0'"
></el-option>
<el-option
label=
"完善日指标"
:value=
"1"
></el-option>
<el-option
label=
"编辑指标"
:value=
"2"
></el-option>
<el-option
label=
"修改编辑权限"
:value=
"3"
v-show=
"activeName === '0'"
></el-option>
</el-select>
</el-select>
</div>
</div>
<div
class=
"content-data"
v-show=
"activeName === '1'"
>
<div
class=
"content-data"
>
<div>
<div>
<
!--
<span
class=
"color2"
>
年业绩指标:¥
</span>
<
span
class=
"color2"
>
总业绩指标:¥
</span>
<span
class=
"color1"
>
100,000
</span>
<span
class=
"color1"
>
100,000
</span>
<span
class=
"color2"
>
年新增会员指标:¥
</span>
<span
class=
"color1"
>
100,000
</span>
-->
</div>
</div>
<span>
<el-checkbox
v-model=
"search1.noPerformanceFlag"
:true-label=
"1"
:false-label=
"0"
@
change=
"searchChange"
>
未设置业绩指标门店
</el-checkbox>
<el-checkbox
v-model=
"search1.noAddMemberFlag"
:true-label=
"1"
:false-label=
"0"
@
change=
"searchChange"
>
未设置新增会员指标门店
</el-checkbox>
</span>
</div>
</div>
<el-table
<el-table
...
@@ -92,25 +77,44 @@
...
@@ -92,25 +77,44 @@
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
<el-table-column
label=
"
门店
"
show-overflow-tooltip
>
<el-table-column
label=
"
指标类型
"
show-overflow-tooltip
>
<template
slot-scope=
"
{row}">
<template
slot-scope=
"
{row}">
<div>
{{
row
.
storeName
||
'--'
}}
</div>
{{
[
'业绩'
,
'新增会员'
][
row
.
performanceType
-
1
]
}}
<div
style=
"color: #909399;font-size:12px"
>
{{
row
.
storeCode
||
'--'
}}
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"
年业绩指标
"
show-overflow-tooltip
>
<el-table-column
label=
"
门店名称
"
show-overflow-tooltip
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
performanceYearValue
?
`¥${row.performanceYearValue
}
`
:
'未设置
'
}}
{{
row
.
storeName
||
'--
'
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<
el
-
table
-
column
label
=
"年新增会员指标"
show
-
overflow
-
tooltip
>
<el-table-column
label=
"业绩指标"
show-overflow-tooltip
>
<
template
slot=
"label"
>
{{
[
'业绩'
,
'新增会员'
][
tab
-
1
]
}}
指标
</
template
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
addMemberValue
?
`¥${row.addMemberValue
}
`
:
'未设置'
}}
{{
row
.
perfromanceValue
?
`¥${row.perfromanceValue
}
`
:
'--'
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"日指标"
show
-
overflow
-
tooltip
>
<
template
slot
-
scope
=
"{row
}
"
>
<
div
:
class
=
"{
'state-point': true,
'state-point-success': row.dayFlag == 1,
'state-point-default': row.dayFlag == 0,
}
"
>
{{
[
'未完善'
,
'已完善'
][
row
.
dayFlag
]
}}
<
/div
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
编辑权限
"
show
-
overflow
-
tooltip
>
<
el
-
table
-
column
label
=
"
导购指标
"
show
-
overflow
-
tooltip
>
<
template
slot
-
scope
=
"{row
}
"
>
<
template
slot
-
scope
=
"{row
}
"
>
{{
[
'店长不可编辑'
,
'店长可编辑'
][
row
.
storeEdit
]
||
'--'
}}
<
div
:
class
=
"{
'state-point': true,
'state-point-success': row.clerkFlag == 1,
'state-point-default': row.clerkFlag == 0,
}
"
>
{{
[
'未完善'
,
'已完善'
][
row
.
clerkFlag
]
}}
<
/div
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"更新时间"
show
-
overflow
-
tooltip
>
<
el
-
table
-
column
label
=
"更新时间"
show
-
overflow
-
tooltip
>
...
@@ -126,9 +130,45 @@
...
@@ -126,9 +130,45 @@
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"date"
label
=
"操作"
>
<
el
-
table
-
column
prop
=
"date"
label
=
"操作"
width
=
"220"
>
<
template
>
<
template
slot
-
scope
=
"{row
}
"
>
<
el
-
button
type
=
"text"
@
click
=
"$router.push({ path: '/perfect-day-target'
}
)"
>
完善日指标
<
/el-button
>
<
el
-
button
type
=
"text"
:
disabled
=
"row.dayFlag != 1"
@
click
=
"$router.push({
path: '/perfect-perfect-sale-target-target',
query: {
applicationId,
tab: haoban.performanceType,
performanceYm: haoban.performanceYm,
performanceSubType: search.performanceSubType,
performanceType: row.performanceType,
storeInfoId: row.storeInfoId,
storeName: row.storeName,
perfromanceValue: row.perfromanceValue,
flag: row.clerkFlag == 1
}
}
)"
>
{{
[
'完善'
,
'查看'
][
row
.
clerkFlag
]
}}
导购指标
<
/el-button
>
<
el
-
button
type
=
"text"
@
click
=
"$router.push({
path: '/perfect-day-target',
query: {
applicationId,
tab: haoban.performanceType,
performanceYm: haoban.performanceYm,
performanceSubType: search.performanceSubType,
performanceType: row.performanceType,
storeInfoId: row.storeInfoId,
storeName: row.storeName,
perfromanceValue: row.perfromanceValue,
flag: row.dayFlag == 1
}
}
)"
>
{{
[
'完善'
,
'查看'
][
row
.
dayFlag
]
}}
日指标
<
/el-button
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
/el-table
>
<
/el-table
>
...
@@ -153,7 +193,7 @@
...
@@ -153,7 +193,7 @@
import
gicSelectGroupMult
from
'@/components/common/gic-select-group-mult.vue'
;
import
gicSelectGroupMult
from
'@/components/common/gic-select-group-mult.vue'
;
import
gicSelectTag
from
'@/components/common/gic-select-tag.vue'
;
import
gicSelectTag
from
'@/components/common/gic-select-tag.vue'
;
import
fetch
from
'@/api/target-manage-app.js'
;
import
fetch
from
'@/api/target-manage-app.js'
;
const
{
get
YearList
,
getStorePerformanceList
,
getNoStorePerformanceList
}
=
fetch
;
const
{
get
StorePerformanceDetail
}
=
fetch
;
export
default
{
export
default
{
name
:
'TargetStore'
,
name
:
'TargetStore'
,
components
:
{
gicSelectGroupMult
,
gicSelectTag
}
,
components
:
{
gicSelectGroupMult
,
gicSelectTag
}
,
...
@@ -171,15 +211,11 @@ export default {
...
@@ -171,15 +211,11 @@ export default {
search
:
{
search
:
{
search
:
''
,
search
:
''
,
performanceYear
:
new
Date
().
getFullYear
(),
performanceSubType
:
'1'
,
type
:
''
,
storeEdit
:
''
,
// 1店长可编辑,0店长不可编辑
storeEdit
:
''
,
// 1店长可编辑,0店长不可编辑
storeType
:
'1'
,
// 1门店分组,2门店标签
storeType
:
'1'
,
// 1门店分组,2门店标签
storeParam
:
''
,
storeParam
:
''
,
}
,
flag
:
''
,
search1
:
{
noPerformanceFlag
:
'0'
,
noAddMemberFlag
:
'0'
}
,
}
,
multipleSelection
:
[],
multipleSelection
:
[],
...
@@ -190,35 +226,37 @@ export default {
...
@@ -190,35 +226,37 @@ export default {
pageSize
:
20
,
pageSize
:
20
,
total
:
0
total
:
0
}
,
}
,
yearList
:
[],
flagList
:
[
typeList
:
[
{
dayFlag
:
1
,
clerkFlag
:
0
}
,
{
performanceType
:
1
,
performanceSubType
:
1
}
,
{
dayFlag
:
0
,
clerkFlag
:
0
}
,
{
performanceType
:
1
,
performanceSubType
:
2
}
,
{
dayFlag
:
0
,
clerkFlag
:
1
}
,
{
performanceType
:
2
,
performanceSubType
:
1
}
,
{
dayFlag
:
0
,
clerkFlag
:
0
}
,
{
performanceType
:
2
,
performanceSubType
:
2
}
,
]
]
}
;
}
;
}
,
}
,
created
()
{
created
()
{
const
{
tab
,
applicationId
}
=
this
.
$route
.
query
;
const
{
tab
,
applicationId
,
performanceYm
}
=
this
.
$route
.
query
;
this
.
activeName
=
tab
||
'0'
;
//
this.activeName = tab || '0';
this
.
applicationId
=
applicationId
;
this
.
applicationId
=
applicationId
;
const
{
staffId
,
wxEnterpriseId
}
=
JSON
.
parse
(
localStorage
.
getItem
(
'haoBanUser'
));
const
{
staffId
,
wxEnterpriseId
}
=
JSON
.
parse
(
localStorage
.
getItem
(
'haoBanUser'
));
this
.
haoban
=
{
staffId
,
wxEnterpriseId
}
;
this
.
haoban
=
{
staffId
,
wxEnterpriseId
,
performanceType
:
tab
,
performanceYm
}
;
// 修改面包屑
let
bread
=
[
{
name
:
'指标管理'
,
path
:
'/target-list'
}
,
{
name
:
'查看门店'
}
];
bread
[
0
].
path
+=
`?applicationId=${applicationId
}
&tab=${tab
}
`
;
this
.
$emit
(
'change-nav'
,
bread
);
}
,
}
,
mounted
()
{
mounted
()
{
const
that
=
this
;
const
that
=
this
;
that
.
$emit
(
'showTab'
,
'/target-store'
);
that
.
$emit
(
'showTab'
,
'/target-list'
);
that
.
$emit
(
'change-nav'
,
[
{
name
:
'指标管理'
,
path
:
'/target-list'
}
,
{
name
:
'查看门店'
}
]);
this
.
getData
();
this
.
getData
();
this
.
getYearList
();
}
,
}
,
methods
:
{
methods
:
{
getData
()
{
getData
()
{
this
.
loading
=
true
;
this
.
loading
=
true
;
const
{
storeType
,
storeParam
,
type
}
=
this
.
search
;
const
{
storeType
,
storeParam
,
flag
}
=
this
.
search
;
let
params
=
{
let
params
=
{
...
this
.
search
,
...
this
.
search
,
...
this
.
haoban
,
...
this
.
haoban
,
...
@@ -226,20 +264,9 @@ export default {
...
@@ -226,20 +264,9 @@ export default {
enterpriseId
:
this
.
brandId
,
enterpriseId
:
this
.
brandId
,
storeType
:
storeParam
?
storeType
:
''
,
storeType
:
storeParam
?
storeType
:
''
,
}
;
}
;
if
(
flag
)
params
=
{
...
params
,
...
this
.
flagList
[
flag
]
}
;
// 状态
if
(
this
.
activeName
===
'0'
)
{
// 已设置
getStorePerformanceDetail
(
params
,
{
headers
:
{
sign
:
this
.
brandId
}
}
)
params
=
{
...
params
,
...
this
.
typeList
[
type
-
1
]
}
;
}
else
if
(
this
.
activeName
===
'1'
)
{
// 未设置
params
=
{
...
params
,
...
this
.
search1
}
;
}
[
getStorePerformanceList
,
getNoStorePerformanceList
][
this
.
activeName
](
params
,
{
headers
:
{
sign
:
this
.
brandId
}
}
)
.
then
(
res
=>
{
.
then
(
res
=>
{
const
{
result
,
totalCount
}
=
res
.
result
||
{
}
;
const
{
result
,
totalCount
}
=
res
.
result
||
{
}
;
this
.
tableData
=
result
||
[];
this
.
tableData
=
result
||
[];
...
@@ -285,12 +312,6 @@ export default {
...
@@ -285,12 +312,6 @@ export default {
this
.
page
.
pageNum
=
val
;
this
.
page
.
pageNum
=
val
;
this
.
getData
();
this
.
getData
();
}
,
}
,
// 获取年份
getYearList
()
{
getYearList
(
''
,
{
headers
:
{
sign
:
this
.
brandId
}
}
).
then
(
res
=>
{
this
.
yearList
=
res
.
result
||
[];
}
);
}
,
// 筛选条件变更
// 筛选条件变更
searchChange
()
{
searchChange
()
{
this
.
handleCurrentChange
(
1
);
this
.
handleCurrentChange
(
1
);
...
@@ -331,6 +352,57 @@ export default {
...
@@ -331,6 +352,57 @@ export default {
}
;
}
;
<
/script
>
<
/script
>
<
style
>
<
style
lang
=
'less'
scoped
>
.
list
-
content
{
.
el
-
input
{
width
:
180
px
;
margin
-
right
:
10
px
;
}
.
el
-
select
{
width
:
148
px
;
margin
-
right
:
10
px
;
}
.
el
-
date
-
picker
{
margin
-
right
:
10
px
;
}
}
// .el-select .el-input.is-focus .el-input__inner
{
// z-index: 2;
//
}
.
content
-
search
{
display
:
flex
;
justify
-
content
:
space
-
between
;
margin
-
bottom
:
20
px
;
}
.
content
-
first
{
display
:
flex
;
// align-content: center;
}
.
content
-
data
{
display
:
flex
;
justify
-
content
:
space
-
between
;
margin
-
bottom
:
20
px
;
}
.
color1
{
color
:
#
303133
;
font
-
size
:
16
px
;
padding
-
right
:
15
px
;
font
-
weight
:
500
;
}
.
color2
{
position
:
relative
;
color
:
#
606266
;
font
-
size
:
14
px
;
font
-
weight
:
400
;
&
:
not
(:
first
-
of
-
type
)
{
padding
-
left
:
16
px
;
&
::
before
{
content
:
'|'
;
position
:
absolute
;
top
:
0
;
left
:
0
;
color
:
#
DCDFE6
;
}
}
}
<
/style>
<
/style>
\ No newline at end of file
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