Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
memberTag-web
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
memberTag
memberTag-web
Commits
a0169f7e
Commit
a0169f7e
authored
May 10, 2022
by
liuchenxi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: ui
parent
5a84b75c
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
141 additions
and
76 deletions
+141
-76
index.html
index.html
+1
-1
Trash.vue
src/components/Trash.vue
+1
-1
tag-config-options.vue
src/components/tag/tag-config-options.vue
+27
-5
index.js
src/components/tagDetail/mixin/index.js
+2
-2
card-item.vue
src/view/memberGroup/card-item.vue
+6
-3
choose-tag-table.vue
src/view/memberGroup/choose-tag-table.vue
+1
-0
group-list.vue
src/view/memberGroup/group-list.vue
+11
-8
memberGroupDetail.less
src/view/memberGroup/memberGroupDetail.less
+1
-1
memberGroupDetail.vue
src/view/memberGroup/memberGroupDetail.vue
+2
-2
memberGroupEdit.vue
src/view/memberGroup/memberGroupEdit.vue
+33
-20
memberGroupList.vue
src/view/memberGroup/memberGroupList.vue
+16
-5
memberLevelDetail.vue
src/view/memberGroup/memberLevelDetail.vue
+2
-2
pyramid-group-table.vue
src/view/memberGroup/pyramid-group-table.vue
+15
-9
tags-group.vue
src/view/memberGroup/tags-group.vue
+2
-1
member-tag.vue
src/view/platformTag/member-tag.vue
+15
-10
tag-container-active.vue
src/view/platformTag/tag-container-active.vue
+2
-2
tag-container-system.vue
src/view/platformTag/tag-container-system.vue
+2
-2
tag-container.vue
src/view/platformTag/tag-container.vue
+2
-2
No files found.
index.html
View file @
a0169f7e
...
...
@@ -4,7 +4,7 @@
<meta
charset=
"utf-8"
>
<link
rel=
"shortcut icon"
href=
"./static/img/favicon.ico"
/>
<title></title>
<link
rel=
"stylesheet"
href=
"//at.alicdn.com/t/font_688955_
99jmfacmlpp
.css"
>
<link
rel=
"stylesheet"
href=
"//at.alicdn.com/t/font_688955_
2dxzdzrb3a7
.css"
>
<link
rel=
"stylesheet"
href=
"//at.alicdn.com/t/font_3276801_5bjk41qthxj.css"
>
<script
src=
"//at.alicdn.com/t/font_3276801_5bjk41qthxj.js"
></script>
</head>
...
...
src/components/Trash.vue
View file @
a0169f7e
...
...
@@ -119,7 +119,7 @@ export default {
.trash
{
position
:
fixed
;
right
:
29px
;
bottom
:
3
70
px
;
bottom
:
3
35
px
;
height
:
44px
;
z-index
:
10
;
display
:
flex
;
...
...
src/components/tag/tag-config-options.vue
View file @
a0169f7e
...
...
@@ -368,7 +368,11 @@
<div
class=
"checkboxOption-wrap__body__options border-box tag-options"
>
<!-- @change="handleCheckedChange($event, parent)" -->
<el-checkbox-group
v-model=
"parent.checkeditems"
@
change=
"handleCheckedCitiesChange"
>
<el-checkbox
v-for=
"(item, index) in parent.options"
:label=
"item.key"
:key=
"item.key + index"
>
{{
item
.
value
}}
</el-checkbox>
<el-checkbox
class=
"tag013check"
v-for=
"(item, index) in parent.options"
:label=
"item.key"
:key=
"item.key + index"
>
<el-tooltip
:content=
"item.value"
placement=
"top"
trigger=
"hover"
>
<span>
{{
item
.
value
}}
</span>
</el-tooltip>
</el-checkbox>
</el-checkbox-group>
</div>
</div>
...
...
@@ -557,8 +561,8 @@
<div>
<div>
<label
class=
"inline-block w-98 label-unit"
>
时间精度
<el-
tooltip
popper-class=
"edit-tag-tooltip"
placement=
"top"
open-delay=
"100"
effect=
"light
"
>
<div
slot=
"content"
>
<el-
popover
placement=
"top"
open-delay=
"100"
trigger=
"hover
"
>
<div
>
<template
v-if=
"tagData.isActive == 1 "
>
<span
style=
"font-weight: 600"
>
选择【天】:
</span><br
/>
当天:选择相对时段为“当天”,那么统计的是当天凌晨至当前时间内的数据;
<br
/>
最近X天:选择相对时间段为“最近2天”,那么系统在8月1号统计的是7.30-7.31号的数据;系统在8月5号统计的是8.3-8.4号的数据;
<br/>
<span
style=
"font-weight: 600"
>
选择【月】:
</span><br
/>
当月:选择相对时段为“当月”,那么统计的是当月1号至当前时间的数据;
<br
/>
最近X月:选择相对时间段为“最近2月”,那么系统在8月统计的是6.1-7.31号的数据;系统在9月统计的是7.1-8.31号的数据;
<br
/>
...
...
@@ -570,8 +574,8 @@
<span
style=
"font-weight: 600"
>
选择【年】:
</span><br
/>
当年:选择相对时间段为“当年”,那么系统在8月5号凌晨进行统计时,统计的是在当年1.1-8.4号的数据;系统在6号凌晨统计时,统计的是在当年1.1-8.5号的数据;
<br
/>
最近X年:选择相对时间段为“最近1年”,那么系统在8月5号凌晨进行统计时,统计的是在去年1.1-12.31号的数据;系统在6号凌晨统计时,统计的还是在去年1.1-12.31号的数据。
</
template
>
</div>
<i
class=
"iconfont icon-tishi"
style=
"color: #909399"
></i>
</el-
tooltip
>
<i
slot=
"reference"
class=
"iconfont icon-tishi"
style=
"color: #909399"
></i>
</el-
popover
>
</label>
<el-radio-group
v-model=
"parent.timeRadio"
@
change=
"timeRadioChange($event, parent)"
>
<el-radio
label=
"1"
>
天
</el-radio>
...
...
@@ -2718,4 +2722,22 @@ export default {
}
}
}
.tag013check
{
width
:
180px
;
margin-left
:
0
;
margin-right
:
20px
;
.el-checkbox__label
{
overflow
:
hidden
;
width
:
170px
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
vertical-align
:
bottom
;
}
&
:nth-of-type
(
4n
)
{
margin-right
:
0
;
}
&
:nth-of-type
(
n
+
5
)
{
margin-top
:
20px
;
}
}
</
style
>
src/components/tagDetail/mixin/index.js
View file @
a0169f7e
...
...
@@ -1368,7 +1368,7 @@ export default {
*/
toEditInput
(
e
,
tag
,
item
)
{
let
newNum
;
newNum
=
!!
parseInt
(
String
(
e
.
target
.
value
).
replace
(
/
[^\d]
/g
,
''
))
?
parseInt
(
String
(
e
.
target
.
value
).
replace
(
/
[^\d]
/g
,
''
)
)
:
1
;
newNum
=
Number
(
e
.
target
.
value
)
?
Math
.
floor
(
e
.
target
.
value
)
:
1
;
if
(
newNum
<=
0
)
{
newNum
=
1
;
}
...
...
@@ -1410,7 +1410,7 @@ export default {
toEditDateInput
(
e
,
radio
,
parent
)
{
const
code
=
parent
.
templateCode
;
let
newNum
;
newNum
=
!!
parseInt
(
String
(
e
.
target
.
value
).
replace
(
/
[^\d]
/g
,
''
))
?
parseInt
(
String
(
e
.
target
.
value
).
replace
(
/
[^\d]
/g
,
''
)
)
:
1
;
newNum
=
Number
(
e
.
target
.
value
)
?
Math
.
floor
(
e
.
target
.
value
)
:
1
;
if
(
newNum
<=
0
)
{
newNum
=
1
;
}
...
...
src/view/memberGroup/card-item.vue
View file @
a0169f7e
<
template
>
<div
class=
"card-item"
>
<div
class=
"card-item"
@
click=
"$emit('toDetail', data, index)"
>
<div
class=
"left"
>
<p
class=
"title"
>
{{
title
}}
</p>
<span
class=
"count"
@
click=
"$emit('toDetail', data, index)"
>
<span
class=
"count"
>
{{
formatCount
}}
<span>
人
</span>
</span>
...
...
@@ -42,12 +42,15 @@ export default {
justify-content
:
space-between
;
align-items
:
center
;
min-width
:
0
;
cursor
:
pointer
;
&:hover
{
box-shadow
:
0px
4px
8px
0px
rgba
(
220
,
223
,
230
,
0.6
);
}
.count
{
font-weight
:
bold
;
color
:
#2f54eb
;
font-size
:
22px
;
white-space
:
nowrap
;
cursor
:
pointer
;
span
{
font-size
:
14px
;
color
:
#303133
;
...
...
src/view/memberGroup/choose-tag-table.vue
View file @
a0169f7e
...
...
@@ -112,6 +112,7 @@ export default {
<
style
lang=
"scss"
scoped
>
.tag-some-list
{
height
:
430px
!important
;
margin-left
:
20px
;
overflow-y
:
auto
;
}
...
...
src/view/memberGroup/group-list.vue
View file @
a0169f7e
...
...
@@ -41,8 +41,8 @@
<!--新增分类-->
<el-dialog
:title=
"title"
:visible
.
sync=
"addGroupDialog"
width=
"600px"
top=
"30vh"
:close-on-click-modal=
"false"
@
close=
"$emit('update:addGroupDialog', false)"
>
<div>
分
组
名称:
<el-input
class=
"m-t-10"
placeholder=
"请输入分
组
名称"
v-model=
"groupName"
:maxlength=
"8"
show-word-limit
clearable
></el-input>
分
类
名称:
<el-input
class=
"m-t-10"
placeholder=
"请输入分
类
名称"
v-model=
"groupName"
:maxlength=
"8"
show-word-limit
clearable
></el-input>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"$emit('update:addGroupDialog', false)"
>
取 消
</el-button>
...
...
@@ -52,8 +52,8 @@
<!--编辑分类-->
<el-dialog
title=
"编辑分类"
:visible
.
sync=
"editDialog.visible"
width=
"600px"
top=
"30vh"
:close-on-click-modal=
"false"
@
close=
"closeEditGroup"
>
<div>
分
组
名称:
<el-input
class=
"m-t-10"
placeholder=
"请输入分
组
名称"
v-model=
"editDialog.groupName"
:maxlength=
"8"
show-word-limit
clearable
></el-input>
分
类
名称:
<el-input
class=
"m-t-10"
placeholder=
"请输入分
类
名称"
v-model=
"editDialog.groupName"
:maxlength=
"8"
show-word-limit
clearable
></el-input>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"editDialog.visible = false"
>
取 消
</el-button>
...
...
@@ -84,7 +84,7 @@ export default {
expendTxtTag
:
'收起'
,
expendTxtFixed
:
'收起'
,
groupName
:
''
,
title
:
'新增分
组
名称'
,
title
:
'新增分
类
名称'
,
currentIndex
:
-
1
,
currentTagIndex
:
0
,
currentFixedIndex
:
-
1
,
...
...
@@ -201,7 +201,7 @@ export default {
type
&&
this
.
getFixedMemberGroupList
();
return
;
}
this
.
$confirm
(
'删除分
组名称,包括该分组
下的内容,确定删除吗?'
,
'提示'
,
{
this
.
$confirm
(
'删除分
类名称,包括该分类
下的内容,确定删除吗?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
...
...
@@ -233,7 +233,7 @@ export default {
modifyName
(
list
,
type
,
classifyName
)
{
if
(
!
classifyName
)
{
this
.
$message
({
message
:
`分
组
名称不能为空!`
,
message
:
`分
类
名称不能为空!`
,
type
:
'warning'
,
duration
:
2000
});
...
...
@@ -293,7 +293,7 @@ export default {
if
(
!
this
.
groupName
)
{
this
.
$message
({
type
:
'warning'
,
message
:
'分
组
名称不能为空'
message
:
'分
类
名称不能为空'
});
return
;
}
...
...
@@ -529,6 +529,9 @@ export default {
color
:
#2f54eb
;
}
}
.wrap
span
{
padding-left
:
6px
;
}
li
:hover
{
background-color
:
#EBEFFE
;
.icon
{
...
...
src/view/memberGroup/memberGroupDetail.less
View file @
a0169f7e
.table-header__handle {
padding-right: 0 !important;
&.cell {
position: absolute !important;
top: 0;
...
...
@@ -10,7 +11,6 @@
display: flex !important;
align-items: center;
justify-content: space-between;
.el-icon-setting {
display: flex;
justify-content: center;
...
...
src/view/memberGroup/memberGroupDetail.vue
View file @
a0169f7e
...
...
@@ -44,9 +44,9 @@
</div>
<div
class=
"btn-group"
>
<template
v-if=
"$getButtonLimit($buttonCode.memberTagExportPeople)"
>
<el-button
type=
"primary"
class=
"down-member-list__btn m-l-8"
@
click=
"tableFiledVisible = true"
v-if=
"total
<
1000000
"
:limit-code=
'$buttonCode.memberTagExportPeople'
>
人群导出
</el-button>
<el-button
type=
"primary"
class=
"down-member-list__btn m-l-8"
@
click=
"tableFiledVisible = true"
v-if=
"total
<
1000000
"
:limit-code=
'$buttonCode.memberTagExportPeople'
>
<i
class=
"iconfont icon-xiazai"
style=
"margin-right: 5px"
/>
导出人群
</el-button>
<el-tooltip
v-else
class=
"item"
effect=
"dark"
content=
"每张报表导出人数限制为100万,大于100万的人群会自动拆分为多张报表进行导出"
placement=
"top"
>
<el-button
type=
"primary"
class=
"down-member-list__btn m-l-8"
@
click=
"tableFiledVisible = true"
:limit-code=
'$buttonCode.memberTagExportPeople'
>
人群导出
</el-button>
<el-button
type=
"primary"
class=
"down-member-list__btn m-l-8"
@
click=
"tableFiledVisible = true"
:limit-code=
'$buttonCode.memberTagExportPeople'
>
<i
class=
"iconfont icon-xiazai"
style=
"margin-right: 5px"
/>
导出人群
</el-button>
</el-tooltip>
</
template
>
</div>
...
...
src/view/memberGroup/memberGroupEdit.vue
View file @
a0169f7e
...
...
@@ -134,20 +134,22 @@
<el-button
type=
"primary"
style=
"color: #c0c4cc;cursor: not-allowed;background-image: none;background-color: #F5F7FA;border-color: #DCDFE6;"
>
{{
$route
.
query
.
memberTagGroupId
?
'保存'
:
'创建会员分组'
}}
</el-button>
</el-tooltip>
</
template
>
<
template
v-else
>
<el-tooltip
class=
"item"
effect=
"dark"
:disabled=
"ruleForm.isActive == 0 && realCount.totalCount
<
=
realCount
.
currCount
"
content=
"您商户的非实时分组数量已达到上限"
placement=
"top-start"
v-if=
"isAllowAdd && ruleForm.isActive == 0"
>
<el-button
type=
"primary"
style=
"color: #c0c4cc;cursor: not-allowed;background-image: none;background-color: #F5F7FA;border-color: #DCDFE6;"
>
{{
$route
.
query
.
memberTagGroupId
?
'保存'
:
'创建会员分组'
}}
</el-button>
</el-tooltip>
<el-button
v-else
type=
"primary"
:disabled=
"!(ruleForm.fixedType && !ruleForm.isTogether) && ruleForm.isActive == 0 && realCount.totalCount
<
=
realCount
.
currCount
"
@
click
.
stop=
"confirmSavePost"
>
{{
$route
.
query
.
memberTagGroupId
?
'保存'
:
'创建会员分组'
}}
</el-button>
</
template
>
<el-button>
<router-link
to=
"/memberGroupList"
>
返回
</router-link>
</el-button>
<div
class=
"footer"
>
<
template
v-if=
"!hasFixed"
>
<el-tooltip
class=
"item"
effect=
"dark"
:disabled=
"ruleForm.isActive == 0 && realCount.totalCount
<
=
realCount
.
currCount
"
content=
"您商户的非实时分组数量已达到上限"
placement=
"top-start"
v-if=
"isAllowAdd && ruleForm.isActive == 0"
>
<el-button
type=
"primary"
style=
"color: #c0c4cc;cursor: not-allowed;background-image: none;background-color: #F5F7FA;border-color: #DCDFE6;"
>
{{
$route
.
query
.
memberTagGroupId
?
'保存'
:
'创建会员分组'
}}
</el-button>
</el-tooltip>
<el-button
v-else
type=
"primary"
:disabled=
"!(ruleForm.fixedType && !ruleForm.isTogether) && ruleForm.isActive == 0 && realCount.totalCount
<
=
realCount
.
currCount
"
@
click
.
stop=
"confirmSavePost"
>
{{
$route
.
query
.
memberTagGroupId
?
'保存'
:
'创建会员分组'
}}
</el-button>
</
template
>
<el-button>
<router-link
to=
"/memberGroupList"
>
返回
</router-link>
</el-button>
</div>
</el-form-item>
</el-form>
</div>
...
...
@@ -192,14 +194,12 @@
></tag-container>
<div
class=
"page-box"
>
<dm-pagination
background
:pager-count=
"5"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"pageNum"
:page-sizes=
"[20, 30]"
:page-size=
"pageSize"
layout=
"
total, sizes, prev, pager, next, jumper
"
layout=
"
prev, pager, next
"
:total=
"total"
v-if=
"total > 0"
></dm-pagination>
...
...
@@ -857,7 +857,7 @@ export default {
}
.memberGroupEdit-wrap__body
{
width
:
calc
(
100%
-
368px
)
;
width
:
820px
;
font-size
:
14px
;
.effective
{
...
...
@@ -937,10 +937,10 @@ export default {
display
:
flex
;
.tags-list
{
padding
:
16px
20px
0
0
;
height
:
550px
;
width
:
220px
;
height
:
620px
;
border-right
:
1px
solid
#dcdfe6
;
overflow-
x
:
scroll
;
overflow-
y
:
scroll
;
.tags-tree
{
width
:
100%
;
/deep/
.el-tree-node.is-current
>
.el-tree-node__content
{
...
...
@@ -956,6 +956,7 @@ export default {
}
.tags-table
{
padding-top
:
20px
;
margin-bottom
:
20px
;
width
:
calc
(
100%
-
220px
);
.tags-search
{
margin
:
0
0
20px
20px
;
...
...
@@ -980,4 +981,16 @@ export default {
color
:
#606266
;
font-size
:
12px
;
}
.footer
{
position
:
fixed
;
bottom
:
0
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
height
:
56px
;
left
:
232px
;
right
:
0
;
background
:
#FFFFFF
;
box-shadow
:
1px
-2px
8px
0px
rgba
(
220
,
223
,
230
,
0.6
);
}
</
style
>
src/view/memberGroup/memberGroupList.vue
View file @
a0169f7e
...
...
@@ -99,7 +99,7 @@
</el-tooltip>
</
template
>
<
template
slot-scope=
"scope"
>
<span
:class=
"scope.row.effectiveStatus == 1 ? 'dm-status--success' : 'dm-status--
error
'"
></span>
<span
:class=
"scope.row.effectiveStatus == 1 ? 'dm-status--success' : 'dm-status--
info
'"
></span>
{{
scope
.
row
.
effectiveStatus
==
1
?
'有效'
:
'失效'
}}
</
template
>
</el-table-column>
...
...
@@ -172,7 +172,7 @@
</template>
<
template
v-else
>
<div
class=
"right-box"
v-show=
"!isRecommend"
>
<div
class=
"common-wrap__opt"
style=
"min-width: 1020px"
>
<div
class=
"common-wrap__opt"
>
<div
class=
"top"
>
<p
class=
"tips"
>
实时分组数据实时更新,非实时分组数据每天凌晨更新 1 次,非实时分组失效后数据会自动清空。
</p>
<div
class=
"title m-b-20 m-t-16"
>
...
...
@@ -267,7 +267,7 @@
</el-tooltip>
</
template
>
<
template
slot-scope=
"scope"
>
<span
:class=
"scope.row.effectiveStatus == 1 ? 'dm-status--success' : 'dm-status--
error
'"
></span>
<span
:class=
"scope.row.effectiveStatus == 1 ? 'dm-status--success' : 'dm-status--
info
'"
></span>
{{
scope
.
row
.
effectiveStatus
==
1
?
'有效'
:
'失效'
}}
</
template
>
</el-table-column>
...
...
@@ -683,7 +683,8 @@ export default {
isBatch
:
false
},
addGroupDialog
:
false
,
dateformat
dateformat
,
flag
:
false
};
},
watch
:
{
...
...
@@ -854,6 +855,9 @@ export default {
});
},
refershMember
(
tag
)
{
if
(
this
.
flag
)
return
;
this
.
flag
=
true
;
const
msgVm
=
this
.
$message
.
warning
(
'覆盖人数正在刷新中……'
);
let
Ids
;
const
param
=
{
requestProject
:
'gic-member-tag-web'
...
...
@@ -870,6 +874,8 @@ export default {
refershMemberCount
(
param
).
then
(
res
=>
{
if
(
res
.
errorCode
==
1
)
{
this
.
_gradeList
(
this
.
memberTagGradeId
);
msgVm
.
close
();
this
.
flag
=
false
;
this
.
$message
.
success
({
message
:
'更新成功'
});
}
});
...
...
@@ -877,6 +883,8 @@ export default {
refershMemberCount
(
param
).
then
(
res
=>
{
if
(
res
.
errorCode
==
1
)
{
this
.
getGroupList
();
msgVm
.
close
();
this
.
flag
=
false
;
this
.
$message
.
success
({
message
:
'更新成功'
});
}
});
...
...
@@ -1577,7 +1585,7 @@ export default {
float
:
right
;
}
.h-18
{
font-size
:
1
3
px
;
font-size
:
1
4
px
;
height
:
18px
;
line-height
:
18px
;
}
...
...
@@ -1790,4 +1798,7 @@ export default {
display
:
flex
;
align-items
:
flex-start
;
}
.add-category
{
margin
:
0
20px
;
}
</
style
>
src/view/memberGroup/memberLevelDetail.vue
View file @
a0169f7e
...
...
@@ -11,9 +11,9 @@
人
</span>
<template
v-if=
"$getButtonLimit($buttonCode.memberTagExportPeople)"
>
<el-button
type=
"primary"
class=
"down-member-list__btn"
@
click=
"tableFiledVisible = true"
v-if=
"total
<
1000000
"
:limit-code=
'$buttonCode.memberTagExportPeople'
>
人群导出
</el-button>
<el-button
type=
"primary"
class=
"down-member-list__btn"
@
click=
"tableFiledVisible = true"
v-if=
"total
<
1000000
"
:limit-code=
'$buttonCode.memberTagExportPeople'
>
<i
class=
"iconfont icon-xiazai"
style=
"margin-right: 5px"
/>
导出人群
</el-button>
<el-tooltip
v-else
class=
"item"
effect=
"dark"
content=
"每张报表导出人数限制为100万,大于100万的人群会自动拆分为多张报表进行导出"
placement=
"top"
>
<el-button
type=
"primary"
class=
"down-member-list__btn"
@
click=
"tableFiledVisible = true"
:limit-code=
'$buttonCode.memberTagExportPeople'
>
人群导出
</el-button>
<el-button
type=
"primary"
class=
"down-member-list__btn"
@
click=
"tableFiledVisible = true"
:limit-code=
'$buttonCode.memberTagExportPeople'
>
<i
class=
"iconfont icon-xiazai"
style=
"margin-right: 5px"
/>
导出人群
</el-button>
</el-tooltip>
</
template
>
</div>
...
...
src/view/memberGroup/pyramid-group-table.vue
View file @
a0169f7e
...
...
@@ -39,7 +39,7 @@
<span
class=
"tips"
>
开启后,立即更新至好办小程序
</span>
<p>
<span
v-for=
"item in haobanList"
:key=
"item.memberTagGradeId"
class=
"switch-item"
>
<span>
{{ item.aliasName }}
</span>
<span
class=
"name"
>
{{ item.aliasName }}
</span>
<el-switch
class=
"switch"
v-model=
"item.hanbanShow"
active-color=
"#2f54eb"
@
change=
"onChangeSwitch(item)"
/>
</span>
</p>
...
...
@@ -71,13 +71,13 @@ export default {
methods
:
{
getTableHeader
()
{
this
.
tableHeader
=
[
{
label
:
'指标说明'
,
prop
:
'gradeDesc'
,
minWidth
:
1
6
0
},
{
label
:
'0-30(高活跃)'
,
minWidth
:
130
,
formatter
(
row
)
{
return
`<span style="color:#2f54eb;cursor:pointer">
${
row
.
itemList
[
0
].
memberCount
}
人</span>`
}},
{
label
:
'31-90(活跃)'
,
minWidth
:
130
,
formatter
(
row
)
{
return
`<span style="color: #2f54eb;cursor:pointer">
${
row
.
itemList
[
1
].
memberCount
}
人</span>`
}
},
{
label
:
'91-180(边缘)'
,
minWidth
:
130
,
formatter
(
row
)
{
return
`<span style="color: #2f54eb;cursor:pointer">
${
row
.
itemList
[
2
].
memberCount
}
人</span>`
}
},
{
label
:
'181-1年(沉睡)'
,
minWidth
:
130
,
formatter
(
row
)
{
return
`<span style="color: #2f54eb;cursor:pointer">
${
row
.
itemList
[
3
].
memberCount
}
人</span>`
}
},
{
label
:
'1年-2年(流失)'
,
minWidth
:
130
,
formatter
(
row
)
{
return
`<span style="color: #2f54eb;cursor:pointer">
${
row
.
itemList
[
4
].
memberCount
}
人</span>`
}
},
{
label
:
'2年以上(Lost+)'
,
minWidth
:
140
,
formatter
(
row
)
{
return
`<span style="color: #2f54eb;cursor:pointer">
${
row
.
itemList
[
5
].
memberCount
}
人</span>`
}
},
{
label
:
'指标说明'
,
prop
:
'gradeDesc'
,
minWidth
:
1
8
0
},
{
label
:
'0-30(高活跃)'
,
minWidth
:
130
,
formatter
(
row
)
{
return
`<span style="color:#2f54eb;cursor:pointer
;font-size:16px
">
${
row
.
itemList
[
0
].
memberCount
}
人</span>`
}},
{
label
:
'31-90(活跃)'
,
minWidth
:
130
,
formatter
(
row
)
{
return
`<span style="color: #2f54eb;cursor:pointer
;font-size:16px
">
${
row
.
itemList
[
1
].
memberCount
}
人</span>`
}
},
{
label
:
'91-180(边缘)'
,
minWidth
:
130
,
formatter
(
row
)
{
return
`<span style="color: #2f54eb;cursor:pointer
;font-size:16px
">
${
row
.
itemList
[
2
].
memberCount
}
人</span>`
}
},
{
label
:
'181-1年(沉睡)'
,
minWidth
:
130
,
formatter
(
row
)
{
return
`<span style="color: #2f54eb;cursor:pointer
;font-size:16px
">
${
row
.
itemList
[
3
].
memberCount
}
人</span>`
}
},
{
label
:
'1年-2年(流失)'
,
minWidth
:
130
,
formatter
(
row
)
{
return
`<span style="color: #2f54eb;cursor:pointer
;font-size:16px
">
${
row
.
itemList
[
4
].
memberCount
}
人</span>`
}
},
{
label
:
'2年以上(Lost+)'
,
minWidth
:
140
,
formatter
(
row
)
{
return
`<span style="color: #2f54eb;cursor:pointer
;font-size:16px
">
${
row
.
itemList
[
5
].
memberCount
}
人</span>`
}
},
]
},
async
getHaoBanData
()
{
...
...
@@ -129,9 +129,11 @@ export default {
span
:
first-child
{
text-align
:
right
;
margin-right
:
6px
;
font-weight
:
bold
;
}
span
:last-of-type
{
margin-left
:
16px
;
font-weight
:
bold
;
}
.line
{
position
:
absolute
;
...
...
@@ -168,7 +170,7 @@ export default {
margin-top
:
16px
;
&
>
span
{
margin-left
:
10px
;
margin-right
:
56
px
;
margin-right
:
85
px
;
font-size
:
14px
;
}
}
...
...
@@ -185,6 +187,10 @@ export default {
display
:
inline-block
;
margin-right
:
30px
;
margin-bottom
:
20px
;
.name
{
font-size
:
14px
;
color
:
#303133
;
}
.switch
{
margin-left
:
14px
;
}
...
...
src/view/memberGroup/tags-group.vue
View file @
a0169f7e
...
...
@@ -5,10 +5,11 @@
<div
class=
"tags-group__show"
:style=
"
{paddingBottom: !showAddMenu
&&
!tagsData.length ? '0' : '16px'}">
<draggable
v-model=
"tagsData"
group=
"article"
style=
"height: 100%"
@
end=
"dragTag"
:move=
"checkMove"
:sort=
"false"
:data-index=
"tagsGroupIndex"
>
<div
class=
"tags-group__tag"
v-for=
"(item, index) in tagsData"
:key=
"item.tagId"
>
<el-tooltip>
<el-tooltip
style=
"padding-right: 10px"
v-if=
"item.newTagVal.replace(/\$\^/g,' ').length > 20"
>
<span>
{{
item
.
tagName
}}
【选择:
{{
item
.
newTagVal
.
replace
(
/
\$\^
/g
,
' '
)
}}
】
</span>
<div
style=
"max-width: 400px;font-size: 14px"
slot=
"content"
>
{{
item
.
tagName
}}
【选择:
{{
item
.
newTagVal
.
replace
(
/
\$\^
/g
,
' '
)
}}
】
</div>
</el-tooltip>
<div
v-else
style=
"max-width: 400px;font-size: 14px;padding-right: 10px"
>
{{
item
.
tagName
}}
【选择:
{{
item
.
newTagVal
.
replace
(
/
\$\^
/g
,
' '
)
}}
】
</div>
<i
class=
"iconfont icon-bianji6 edit icon m-r-8"
@
click=
"editTags(index)"
></i>
<i
class=
"iconfont icon-delete icon"
@
click=
"delTags(index)"
></i>
</div>
...
...
src/view/platformTag/member-tag.vue
View file @
a0169f7e
...
...
@@ -207,12 +207,17 @@ import { parseTime } from '@/utils';
Vue
.
component
(
CollapseTransition
.
name
,
CollapseTransition
);
let
fixBeginTime
=
+
new
Date
()
+
1000
*
60
*
60
*
24
;
const
shortTimeFn
=
(
text
,
timestamp
)
=>
{
const
shortTimeFn
=
(
text
,
day
,
type
)
=>
{
return
{
text
,
onClick
(
picker
)
{
const
curDate
=
new
Date
();
curDate
.
setTime
(
curDate
.
getTime
()
+
timestamp
);
let
curDate
=
new
Date
();
if
(
type
==
'day'
)
{
curDate
.
setDate
(
day
+
curDate
.
getDate
());
}
else
{
curDate
.
setMonth
(
day
+
curDate
.
getMonth
());
curDate
=
new
Date
(
+
new
Date
(
curDate
)
-
24
*
60
*
60
*
1000
);
}
picker
.
$emit
(
'pick'
,
curDate
);
}
}
...
...
@@ -266,11 +271,11 @@ export default {
return
time
.
getTime
()
<
Date
.
now
()
-
8.64e7
||
time
.
getTime
()
>
y
;
},
shortcuts
:
[
shortTimeFn
(
'一天'
,
0
),
shortTimeFn
(
'一周'
,
6
*
24
*
60
*
60
*
1000
),
shortTimeFn
(
'一个月'
,
29
*
24
*
60
*
60
*
1000
),
shortTimeFn
(
'三个月'
,
89
*
24
*
60
*
60
*
1000
),
shortTimeFn
(
'六个月'
,
179
*
24
*
60
*
60
*
1000
),
shortTimeFn
(
'一天'
,
0
,
'day'
),
shortTimeFn
(
'一周'
,
6
,
'day'
),
shortTimeFn
(
'一个月'
,
1
,
'month'
),
shortTimeFn
(
'三个月'
,
3
,
'month'
),
shortTimeFn
(
'六个月'
,
6
,
'month'
),
]
},
fixedTimeOptions
:
{
...
...
@@ -1079,8 +1084,8 @@ export default {
}
}
.form-item
{
margin-top
:
2
0
px
;
margin-bottom
:
2
0
px
;
margin-top
:
2
4
px
;
margin-bottom
:
2
4
px
;
color
:
#303133
;
label
{
display
:
flex
;
...
...
src/view/platformTag/tag-container-active.vue
View file @
a0169f7e
...
...
@@ -2,7 +2,7 @@
<!-- 具体标签 -->
<div
class=
"tag-some-list"
>
<el-table
:data=
"tableData"
style=
"width: 100%"
>
<el-table-column
label=
"标签名称"
prop=
"tagName"
min-width=
"1
3
0"
fixed=
"left"
>
<el-table-column
label=
"标签名称"
prop=
"tagName"
min-width=
"1
7
0"
fixed=
"left"
>
<template
slot-scope=
"scope"
>
<span
class=
"tag-name"
>
{{
scope
.
row
.
tagName
}}
</span>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"添加标签"
placement=
"bottom"
>
...
...
@@ -227,7 +227,7 @@ export default {
.tag-name
{
display
:
inline-block
;
word-break
:
break-all
;
width
:
8
0px
;
max-width
:
12
0px
;
}
.icon-tag-name
{
display
:
inline-block
;
...
...
src/view/platformTag/tag-container-system.vue
View file @
a0169f7e
...
...
@@ -2,7 +2,7 @@
<!-- 具体标签 -->
<div
class=
"tag-some-list"
>
<el-table
:data=
"tableData"
style=
"width: 100%"
>
<el-table-column
label=
"标签名称"
prop=
"tagName"
min-width=
"1
3
0"
fixed
>
<el-table-column
label=
"标签名称"
prop=
"tagName"
min-width=
"1
7
0"
fixed
>
<template
slot-scope=
"scope"
>
<span
class=
"tag-name"
>
{{
scope
.
row
.
tagName
}}
</span>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"添加标签"
placement=
"top"
>
...
...
@@ -120,7 +120,7 @@ export default {
.tag-name
{
display
:
inline-block
;
word-break
:
break-all
;
width
:
8
0px
;
max-width
:
12
0px
;
}
.icon-tag-name
{
display
:
inline-block
;
...
...
src/view/platformTag/tag-container.vue
View file @
a0169f7e
...
...
@@ -2,7 +2,7 @@
<!-- 具体标签 -->
<div
class=
"tag-some-list"
>
<el-table
:data=
"tableData"
style=
"width: 100%"
@
sort-change=
"sortChange"
>
<el-table-column
label=
"标签名称"
prop=
"tagName"
min-width=
"1
3
0"
fixed
>
<el-table-column
label=
"标签名称"
prop=
"tagName"
min-width=
"1
7
0"
fixed
>
<template
slot-scope=
"scope"
>
<span
class=
"tag-name"
>
{{
scope
.
row
.
tagName
}}
</span>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"添加标签"
placement=
"bottom"
>
...
...
@@ -284,7 +284,7 @@ export default {
.tag-name
{
display
:
inline-block
;
word-break
:
break-all
;
width
:
8
0px
;
max-width
:
12
0px
;
}
.icon-tag-name
{
display
:
inline-block
;
...
...
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