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
e439501c
Commit
e439501c
authored
Apr 14, 2022
by
liuchenxi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: 标签
parent
9d71eadb
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
111 additions
and
57 deletions
+111
-57
Trash.vue
src/components/Trash.vue
+2
-2
manual-tag-value-edit-info.vue
src/view/manualTag/manual-tag-value-edit-info.vue
+101
-49
manualTagEdit.vue
src/view/manualTag/manualTagEdit.vue
+1
-1
member-tag.vue
src/view/platformTag/member-tag.vue
+4
-3
tag-container-active.vue
src/view/platformTag/tag-container-active.vue
+1
-0
tag-container-system.vue
src/view/platformTag/tag-container-system.vue
+1
-2
tag-container.vue
src/view/platformTag/tag-container.vue
+1
-0
No files found.
src/components/Trash.vue
View file @
e439501c
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
</ul>
</ul>
<span
slot=
"footer"
>
<span
slot=
"footer"
>
<el-button
@
click=
"dialogVisible = false"
>
取消
</el-button>
<el-button
@
click=
"dialogVisible = false"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"doClean"
:disabled=
"
delTime > 0 ||
!trashList.length"
>
{{
delTime
>
0
?
getDelTime
()
:
'删除'
}}
</el-button>
<el-button
type=
"primary"
@
click=
"doClean"
:disabled=
"!trashList.length"
>
{{
delTime
>
0
?
getDelTime
()
:
'删除'
}}
</el-button>
</span>
</span>
</el-dialog>
</el-dialog>
</div>
</div>
...
@@ -79,7 +79,7 @@ export default {
...
@@ -79,7 +79,7 @@ export default {
return
`倒计时:
${
h
}
h:
${
m
}
min:
${
s
}
s`
;
return
`倒计时:
${
h
}
h:
${
m
}
min:
${
s
}
s`
;
},
},
doClean
()
{
doClean
()
{
if
(
this
.
delTime
)
return
;
if
(
this
.
delTime
>
0
)
return
this
.
$message
.
error
(
'当前有正在删除的标签/标签值,删除完成后才能再次操作删除任务'
)
;
cleanTrashList
().
then
(
res
=>
{
cleanTrashList
().
then
(
res
=>
{
const
{
errorCode
,
message
}
=
res
;
const
{
errorCode
,
message
}
=
res
;
if
(
errorCode
!=
1
)
return
this
.
$message
.
error
(
message
);
if
(
errorCode
!=
1
)
return
this
.
$message
.
error
(
message
);
...
...
src/view/manualTag/manual-tag-value-edit-info.vue
View file @
e439501c
...
@@ -46,7 +46,7 @@
...
@@ -46,7 +46,7 @@
v-for=
"item in selectedFields"
:key=
"item.code"
v-for=
"item in selectedFields"
:key=
"item.code"
:fixed=
"item.code == 'name' ? true : false"
:fixed=
"item.code == 'name' ? true : false"
:label=
"item.name"
:label=
"item.name"
min-width=
"
200"
>
:min-width=
"item.code == 'name' ? 260 :
200"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<!-- 基本信息 -->
<!-- 基本信息 -->
<template
v-if=
"item.code == 'name'"
>
<template
v-if=
"item.code == 'name'"
>
...
@@ -115,49 +115,33 @@
...
@@ -115,49 +115,33 @@
</el-popover>
</el-popover>
</div>
</div>
</
template
>
</
template
>
<!-- 手机号 -->
<
template
v-if=
"item.code === 'phoneNumber'"
>
<span>
{{
scope
.
row
.
phoneNumber
}}
</span>
</
template
>
<!-- 年龄 -->
<
template
v-if=
"item.code == 'age'"
>
{{
scope
.
row
.
age
}}
</
template
>
<!-- 会员等级 -->
<!-- 会员等级 -->
<
template
v-if=
"item.code == 'grade'"
>
<
template
v-if=
"item.code == 'grade'"
>
{{
scope
.
row
.
gradeName
}}
{{
scope
.
row
.
gradeName
}}
</
template
>
</
template
>
<!-- 会员卡号 -->
<!-- 状态 -->
<
template
v-if=
"item.code == 'cardNo'"
>
<
template
v-if=
"item.code == 'status'"
>
{{
scope
.
row
.
cardNo
}}
<span
</
template
>
:title=
"scope.row.wxStatus == 0 ? '未使用小程序' : scope.row.wxStatus == 1 ? '已使用小程序' : ''"
<!-- 服务门店 -->
class=
"channelicon"
<
template
v-if=
"item.code == 'mainStoreName'"
>
:class=
"scope.row.wxStatus == 0 ? 'xcxicongray' : scope.row.wxStatus == 1 ? 'xcxicon' : ''"
{{
scope
.
row
.
mainStoreName
}}
></span>
</
template
>
<span
<!-- 开卡门店 -->
:title=
"scope.row.status == 0 ? '取消关注公众号' : scope.row.status == 1 ? '已关注公众号' : '未关注公众号'"
<
template
v-if=
"item.code == 'createCardStoreName'"
>
class=
"channelicon"
{{
scope
.
row
.
openStoreName
}}
:class=
"scope.row.status == 0 ? 'gzhiconcanclegray' : scope.row.status == 1 ? 'gzhicon' : 'gzhicongray'"
</
template
>
></span>
<!-- 生日 -->
<
template
v-if=
"item.code == 'birthday'"
>
{{
scope
.
row
.
birthdayMD
}}
</
template
>
<!-- 累计积分 -->
<
template
v-if=
"item.code == 'pointsAll'"
>
{{
scope
.
row
.
pointsAll
}}
</
template
>
<!-- 积分余额 -->
<
template
v-if=
"item.code == 'pointsCurrent'"
>
{{
scope
.
row
.
pointsCurrent
}}
</
template
>
</
template
>
<!-- 连带率 -->
<!-- 关联渠道 -->
<
template
v-if=
"item.code == 'avgNumber'"
>
<
template
v-if=
"item.code == 'channel'"
>
{{
scope
.
row
.
avgNumber
}}
<span
class=
"channelicon"
:class=
"scope.row.channelTaobao == 0 ? 'taobaoicongray' : scope.row.channelTaobao == 1 ? 'taobaoicon' : ''"
></span>
<span
class=
"channelicon"
:class=
"scope.row.channelJd == 0 ? 'jdicongray' : scope.row.channelJd == 1 ? 'jdicon' : ''"
></span>
<span
class=
"channelicon"
:class=
"scope.row.channelWei == 0 ? 'vipicongray' : scope.row.channelWei == 1 ? 'vipicon' : ''"
></span>
</
template
>
</
template
>
<!-- 平均折扣 -->
<!-- 开卡时间 -->
<
template
v-if=
"item.code == 'discountRate'"
>
<
template
v-if=
"item.code == 'crateCardDateString'"
>
{{
scope
.
row
.
discountRate
}}
<div>
{{
scope
.
row
.
crateCardDateString
|
formatTimeYMD
}}
</div>
<div>
{{
scope
.
row
.
crateCardDateString
|
formatTimeHMS
}}
</div>
</
template
>
</
template
>
<!-- 新增时间 -->
<!-- 新增时间 -->
<
template
v-if=
"item.code == 'createTime'"
>
<
template
v-if=
"item.code == 'createTime'"
>
...
@@ -169,33 +153,101 @@
...
@@ -169,33 +153,101 @@
<div>
{{
scope
.
row
.
attentionTime
|
formatTimeYMD
}}
</div>
<div>
{{
scope
.
row
.
attentionTime
|
formatTimeYMD
}}
</div>
<div>
{{
scope
.
row
.
attentionTime
|
formatTimeHMS
}}
</div>
<div>
{{
scope
.
row
.
attentionTime
|
formatTimeHMS
}}
</div>
</
template
>
</
template
>
<!-- 消费总额 -->
<
template
v-if=
"item.code == 'costAll'"
>
<span>
{{
scope
.
row
.
costFee
}}
</span>
</
template
>
<!-- 消费次数 -->
<!-- 消费次数 -->
<
template
v-if=
"item.code == 'costTimes'"
>
<
template
v-if=
"item.code == 'costTimes'"
>
<div>
{{
scope
.
row
.
costTimes
}}
</div>
<div>
{{
scope
.
row
.
costTimes
}}
</div>
</
template
>
</
template
>
<!-- 最近消费时间 -->
<
template
v-if=
"item.code == 'lastCostTime'"
>
<div>
{{
scope
.
row
.
lastCostTime
|
formatTimeYMD
}}
</div>
</
template
>
<!-- 客单件 -->
<!-- 客单件 -->
<
template
v-if=
"item.code == 'avgCost'"
>
<
template
v-if=
"item.code == 'avgCost'"
>
{{
scope
.
row
.
avgCost
}}
{{
scope
.
row
.
avgCost
}}
</
template
>
</
template
>
<!--
消费总额
-->
<!--
连带率
-->
<
template
v-if=
"item.code == '
costAll
'"
>
<
template
v-if=
"item.code == '
avgNumber
'"
>
<span>
{{
scope
.
row
.
costFee
}}
</span>
{{
scope
.
row
.
avgNumber
}}
</
template
>
</
template
>
<!-- 消费总额(实付) -->
<!-- 消费品类 -->
<
template
v-if=
"item.code === 'costFeePaid'"
>
<
template
v-if=
"item.code == 'costCategory'"
>
<span>
{{
scope
.
row
.
costFeePaid
}}
</span>
{{
scope
.
row
.
costCategory
}}
</
template
>
<!-- 平均折扣 -->
<
template
v-if=
"item.code == 'discountRate'"
>
{{
scope
.
row
.
discountRate
}}
</
template
>
<!-- 取关时间 -->
<
template
v-if=
"item.code == 'cancelAttentionTime'"
>
<div>
{{
scope
.
row
.
cancelAttentionTime
|
formatTimeYMD
}}
</div>
<div>
{{
scope
.
row
.
cancelAttentionTime
|
formatTimeHMS
}}
</div>
</
template
>
<!-- 年龄 -->
<
template
v-if=
"item.code == 'age'"
>
{{
scope
.
row
.
age
}}
</
template
>
<!-- 生日 -->
<
template
v-if=
"item.code == 'birthday'"
>
{{
scope
.
row
.
birthdayMD
}}
</
template
>
<!-- 储值总额 -->
<
template
v-if=
"item.code == 'storedValueAll'"
>
{{
scope
.
row
.
storedValueAll
}}
</
template
>
<!-- 储值余额 -->
<
template
v-if=
"item.code == 'storedValueCurrent'"
>
{{
scope
.
row
.
storedValueCurrent
}}
</
template
>
<!-- 累计积分 -->
<
template
v-if=
"item.code == 'pointsAll'"
>
{{
scope
.
row
.
pointsAll
}}
</
template
>
<!-- 积分余额 -->
<
template
v-if=
"item.code == 'pointsCurrent'"
>
{{
scope
.
row
.
pointsCurrent
}}
</
template
>
<!-- 主门店 -->
<
template
v-if=
"item.code == 'mainStoreName'"
>
{{
scope
.
row
.
mainStoreName
}}
</
template
>
<!-- 开卡门店 -->
<
template
v-if=
"item.code == 'createCardStoreName'"
>
{{
scope
.
row
.
openStoreName
}}
</
template
>
<!-- 会员卡号 -->
<
template
v-if=
"item.code == 'cardNo'"
>
{{
scope
.
row
.
cardNo
}}
</
template
>
<!-- 会员状态 -->
<
template
v-if=
"item.code == 'frozenStatus'"
>
<span
class=
"dm-status--success"
v-if=
"scope.row.frozenStatus == 0"
>
正常
</span>
<span
class=
"dm-status--warning"
v-if=
"scope.row.frozenStatus == 1"
>
冻结
</span>
</
template
>
</
template
>
<!-- 最近消费 -->
<!-- 最近消费 -->
<
template
v-if=
"item.code == 'lastCost'"
>
<
template
v-if=
"item.code == 'lastCost'"
>
{{
scope
.
row
.
lastCost
}}
{{
scope
.
row
.
lastCost
}}
</
template
>
</
template
>
<!-- 最高单笔(应收) -->
<
template
v-if=
"item.code === 'highCost'"
>
<span>
{{
scope
.
row
.
highCost
}}
</span>
</
template
>
<!-- 消费总额(实付) -->
<
template
v-if=
"item.code === 'costFeePaid'"
>
<span>
{{
scope
.
row
.
costFeePaid
}}
</span>
</
template
>
<!-- 最近消费(实付) -->
<!-- 最近消费(实付) -->
<
template
v-if=
"item.code === 'lastCostPaid'"
>
<
template
v-if=
"item.code === 'lastCostPaid'"
>
<span>
{{
scope
.
row
.
lastCostPaid
}}
</span>
<span>
{{
scope
.
row
.
lastCostPaid
}}
</span>
</
template
>
</
template
>
<!-- 最
近消费时间
-->
<!-- 最
高单笔(实付)
-->
<
template
v-if=
"item.code ==
'lastCostTime
'"
>
<
template
v-if=
"item.code ==
= 'highCostPaid
'"
>
<
div>
{{
scope
.
row
.
lastCostTime
|
formatTimeYMD
}}
</div
>
<
span>
{{
scope
.
row
.
highCostPaid
}}
</span
>
</
template
>
</
template
>
</template>
</template>
</el-table-column>
</el-table-column>
...
@@ -433,7 +485,7 @@ export default {
...
@@ -433,7 +485,7 @@ export default {
*/
*/
saveFieldsList
(
fields
)
{
saveFieldsList
(
fields
)
{
const
para
=
{
const
para
=
{
pageName
:
'
memberTagItemSign
'
,
pageName
:
'
notMember,wxOpenCarMember,posMember
'
,
fields
fields
};
};
return
this
.
axios
.
post
(
`
${
this
.
baseUrl
}
/api-member/update-fields?requestProject=memberTag`
,
para
);
return
this
.
axios
.
post
(
`
${
this
.
baseUrl
}
/api-member/update-fields?requestProject=memberTag`
,
para
);
...
@@ -562,7 +614,7 @@ export default {
...
@@ -562,7 +614,7 @@ export default {
getFieldsList
()
{
getFieldsList
()
{
const
that
=
this
;
const
that
=
this
;
const
para
=
{
const
para
=
{
pageName
:
'
memberTagItemSign
'
pageName
:
'
notMember,wxOpenCarMember,posMember
'
};
};
that
.
selectedUserDefined
=
[];
that
.
selectedUserDefined
=
[];
that
.
selectedFields
=
[];
that
.
selectedFields
=
[];
...
...
src/view/manualTag/manualTagEdit.vue
View file @
e439501c
...
@@ -67,7 +67,7 @@ const validateTagValue = (rule, value, cb) => {
...
@@ -67,7 +67,7 @@ const validateTagValue = (rule, value, cb) => {
const
validateTagSort
=
(
rule
,
value
,
cb
)
=>
{
const
validateTagSort
=
(
rule
,
value
,
cb
)
=>
{
const
res
=
/^
[
0-9
]
+$/
;
const
res
=
/^
[
0-9
]
+$/
;
if
(
!
res
.
test
(
value
)
||
value
>
100000
||
value
<
1
)
{
if
(
!
res
.
test
(
value
)
||
value
>
100000
||
value
<
1
)
{
cb
(
new
Error
(
'仅支持输入1-1
-1
00000之间的整数'
))
cb
(
new
Error
(
'仅支持输入1-100000之间的整数'
))
}
}
cb
();
cb
();
}
}
...
...
src/view/platformTag/member-tag.vue
View file @
e439501c
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
<div
class=
"tag-all"
>
<div
class=
"tag-all"
>
<p
class=
"tag-name"
>
<p
class=
"tag-name"
>
<span
class=
"sub-title"
><
dm-sub-title
:text=
"showSearchResult ? `【$
{tagName}】搜索结果` : tagName"/>
<
/span>
<span
class=
"sub-title"
></span>
<el-button
<el-button
type=
"primary"
type=
"primary"
class=
"add-newtag"
class=
"add-newtag"
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
class=
"add-newtag"
class=
"add-newtag"
placeholder=
"请输入标签名称"
placeholder=
"请输入标签名称"
prefix-icon=
"el-icon-search"
prefix-icon=
"el-icon-search"
style=
"width: 260px"
style=
"width: 260px
;float: left
"
v-model=
"memberTag"
v-model=
"memberTag"
@
keyup
.
native
.
enter=
"searchMemberList"
@
keyup
.
native
.
enter=
"searchMemberList"
@
clear=
"allTagList"
@
clear=
"allTagList"
...
@@ -757,6 +757,7 @@ export default {
...
@@ -757,6 +757,7 @@ export default {
},
},
// 点击活动标签、手工标签
// 点击活动标签、手工标签
handleClick
()
{
handleClick
()
{
this
.
params
.
pageNum
=
1
;
this
.
memberTag
=
''
;
this
.
memberTag
=
''
;
const
{
activeTag
,
tagList
,
allTagList
,
handleFristTag
}
=
this
;
const
{
activeTag
,
tagList
,
allTagList
,
handleFristTag
}
=
this
;
if
(
activeTag
===
'system'
)
{
if
(
activeTag
===
'system'
)
{
...
@@ -939,6 +940,7 @@ export default {
...
@@ -939,6 +940,7 @@ export default {
padding-bottom
:
40px
;
padding-bottom
:
40px
;
overflow-y
:
auto
;
overflow-y
:
auto
;
.tag-name
{
.tag-name
{
overflow
:
hidden
;
line-height
:
34px
;
line-height
:
34px
;
padding
:
20px
;
padding
:
20px
;
font-size
:
16px
;
font-size
:
16px
;
...
@@ -951,7 +953,6 @@ export default {
...
@@ -951,7 +953,6 @@ export default {
}
}
.add-newtag
{
.add-newtag
{
float
:
right
;
float
:
right
;
margin-bottom
:
10px
;
margin-left
:
15px
;
margin-left
:
15px
;
}
}
}
}
...
...
src/view/platformTag/tag-container-active.vue
View file @
e439501c
...
@@ -179,6 +179,7 @@ export default {
...
@@ -179,6 +179,7 @@ export default {
cursor
:
pointer
;
cursor
:
pointer
;
color
:
#303133
;
color
:
#303133
;
transition
:
all
.3s
;
transition
:
all
.3s
;
color
:
#2f54eb
;
&:hover
{
&:hover
{
transform
:
scale
(
1.25
);
transform
:
scale
(
1.25
);
}
}
...
...
src/view/platformTag/tag-container-system.vue
View file @
e439501c
...
@@ -124,6 +124,7 @@ export default {
...
@@ -124,6 +124,7 @@ export default {
cursor
:
pointer
;
cursor
:
pointer
;
color
:
#303133
;
color
:
#303133
;
transition
:
all
0.3s
;
transition
:
all
0.3s
;
color
:
#2f54eb
;
&:hover
{
&:hover
{
transform
:
scale
(
1.25
);
transform
:
scale
(
1.25
);
}
}
...
@@ -143,11 +144,9 @@ export default {
...
@@ -143,11 +144,9 @@ export default {
line-height
:
22px
;
line-height
:
22px
;
font-size
:
12px
;
font-size
:
12px
;
&.keep-active
{
&.keep-active
{
background
:
#dee3fc
;
color
:
#2f54eb
;
color
:
#2f54eb
;
}
}
&
.no-active
{
&
.no-active
{
background
:
#feecda
;
color
:
#fa8c16
;
color
:
#fa8c16
;
}
}
}
}
...
...
src/view/platformTag/tag-container.vue
View file @
e439501c
...
@@ -236,6 +236,7 @@ export default {
...
@@ -236,6 +236,7 @@ export default {
font-size
:
16px
;
font-size
:
16px
;
cursor
:
pointer
;
cursor
:
pointer
;
transition
:
all
.3s
;
transition
:
all
.3s
;
color
:
#2f54eb
;
&:hover
{
&:hover
{
transform
:
scale
(
1.25
);
transform
:
scale
(
1.25
);
}
}
...
...
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