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
4175364e
Commit
4175364e
authored
Oct 26, 2022
by
huaying
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/9月-基础迭代'
parents
a2fa4113
c430dbf4
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
445 additions
and
82 deletions
+445
-82
index.html
index.html
+1
-0
batch-list.vue
src/components/tag/batch-list.vue
+88
-21
tag-config-options.vue
src/components/tag/tag-config-options.vue
+47
-15
index.js
src/components/tagDetail/mixin/index.js
+142
-3
userDefined.vue
src/components/userDefined.vue
+1
-1
index.js
src/request/index.js
+2
-0
manual-tag-value-edit-info.vue
src/view/manualTag/manual-tag-value-edit-info.vue
+34
-2
delete-deactive-dialog.vue
src/view/memberGroup/delete-deactive-dialog.vue
+3
-3
group-list.vue
src/view/memberGroup/group-list.vue
+11
-11
memberGroupDetail.vue
src/view/memberGroup/memberGroupDetail.vue
+33
-2
memberGroupEdit.vue
src/view/memberGroup/memberGroupEdit.vue
+6
-0
memberGroupList.vue
src/view/memberGroup/memberGroupList.vue
+28
-19
memberLevelDetail.vue
src/view/memberGroup/memberLevelDetail.vue
+33
-2
member-tag.vue
src/view/platformTag/member-tag.vue
+16
-3
No files found.
index.html
View file @
4175364e
...
...
@@ -6,6 +6,7 @@
<title></title>
<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/c/font_3380872_ytparjbow6j.js"
></script>
<script
src=
"//at.alicdn.com/t/font_3276801_5bjk41qthxj.js"
></script>
</head>
<body
style=
"background-color: #f0f2f5;min-width: 1400px;"
>
...
...
src/components/tag/batch-list.vue
View file @
4175364e
...
...
@@ -12,6 +12,13 @@
<p
class=
"batch-txt"
>
{{
list
.
length
?
'存在分组正在被以下模块使用,请先删除对应的内容后再来删除分组。'
:
'删除后无法恢复,确认要删除该分组吗?'
}}
</p>
</div>
<div
v-if=
"operNum == 2"
>
<!-- 选择分类:
<el-select
v-model=
"groupId"
placeholder=
"请选择分类"
v-loadmore=
"loadMoreGroupList"
filterable
remote
:remote-method=
"searchGroupList"
class=
"select-classify"
>
<el-option
v-for=
"el in groupList"
:key=
"el.memberTagGroupClassifyId"
:value=
"el.memberTagGroupClassifyId"
:label=
"el.classifyName"
></el-option>
<i
class=
"el-icon-search"
slot=
"prefix"
></i>
</el-select>
-->
选择分组:
<dm-select-scroller
:width=
"305"
clearable
:data=
"groupList"
v-model=
"groupId"
placeholder=
"请选择分类"
@
load=
"loadMoreGroupList"
@
remote-search=
"searchGroupList"
:loading=
"loadings"
:total-count=
"totalCountGounp"
:props=
"propsGroup"
></dm-select-scroller>
</div>
<!--
<div
v-if=
"operNum == 2"
>
<p
class=
"title"
>
所有分类
</p>
...
...
@@ -22,7 +29,7 @@
</li>
</ul>
<p
class=
"group-name"
>
选中的分类:
{{
groupName
}}
</p>
</div>
</div>
-->
<template
v-if=
"operNum == 0 || operNum == 1"
>
<p
v-for=
"(item, index) in list"
:key=
"index"
class=
"item"
>
{{
item
.
groupName
}}
:
<a
:href=
"item.businessLink"
target=
"_blank"
@
click=
"isOpenPage = true"
>
{{
item
.
businessModuleName
}}
-
{{
item
.
businessName
}}
</a>
...
...
@@ -56,11 +63,36 @@ export default {
operNum
:
-
1
,
groupList
:
[],
groupName
:
''
,
groupId
:
''
,
listIndex
:
-
1
,
list
:
[],
loading
:
false
params
:
{
classifyName
:
''
,
pageNum
:
1
,
totalPage
:
1
},
totalCountGounp
:
0
,
loading
:
false
,
loadings
:
false
,
propsGroup
:
{
label
:
'classifyName'
,
value
:
'memberTagGroupClassifyId'
}
};
},
directives
:
{
loadmore
:
{
inserted
(
el
,
binding
)
{
const
SELECTDOWN_DOM
=
el
.
querySelector
(
'.el-select-dropdown .el-select-dropdown__wrap'
);
SELECTDOWN_DOM
.
addEventListener
(
'scroll'
,
function
()
{
const
CONDITION
=
this
.
scrollHeight
-
this
.
scrollTop
-
100
<=
this
.
clientHeight
;
if
(
CONDITION
&&
!
this
.
loadings
)
{
binding
.
value
();
}
})
}
}
},
methods
:
{
confirmBatch
()
{
...
...
@@ -96,14 +128,13 @@ export default {
}
});
}
else
if
(
batchNum
==
2
)
{
if
(
!
this
.
group
Name
)
{
if
(
!
this
.
group
Id
)
{
this
.
$message
.
warning
({
message
:
'请先选择的会员分组的分类'
});
return
;
}
let
index
=
this
.
groupList
.
findIndex
(
el
=>
el
.
classifyName
===
this
.
groupName
);
param
.
memberTagGroupClassifyId
=
this
.
groupList
[
index
].
memberTagGroupClassifyId
;
param
.
memberTagGroupClassifyId
=
this
.
groupId
;
batchChangeGroup
(
param
)
.
then
(
res
=>
{
if
(
res
.
errorCode
==
0
)
{
...
...
@@ -129,27 +160,53 @@ export default {
// 关
closeBatch
()
{
this
.
batchDialog
=
false
;
this
.
groupId
=
''
;
this
.
params
.
totalPage
=
1
;
this
.
params
.
classifyName
=
''
;
this
.
params
.
pageNum
=
1
;
this
.
$emit
(
'update:batchVisiable'
,
false
);
},
searchGroupList
(
classifyName
)
{
this
.
params
.
classifyName
=
classifyName
;
this
.
params
.
pageNum
=
1
;
this
.
getMemberGroupList
();
},
loadMoreGroupList
()
{
if
(
this
.
params
.
pageNum
+
1
>
this
.
params
.
totalPage
)
{
return
}
this
.
params
.
pageNum
++
;
this
.
getMemberGroupList
();
},
getMemberGroupList
()
{
const
{
classifyName
,
pageNum
}
=
this
.
params
;
this
.
loadings
=
true
;
memberGroupList
({
classifyName
,
pageNum
,
pageSize
:
20
,
type
:
0
,
requestProject
:
'gic-member-tag-web'
,
pageSize
:
99999
})
.
then
(
res
=>
{
if
(
res
.
errorCode
==
0
)
{
console
.
log
(
res
.
result
)
const
{
result
}
=
res
.
result
;
this
.
groupList
=
result
.
filter
(
el
=>
el
.
classifyName
!=
'未分类'
&&
el
.
classifyName
!=
null
).
map
(
item
=>
({
...
item
,
edit
:
false
}));
}
})
.
catch
(
err
=>
{
console
.
log
(
err
);
});
}).
then
(
res
=>
{
const
{
errorCode
,
result
}
=
res
;
if
(
pageNum
==
1
)
{
this
.
groupList
=
[];
}
if
(
errorCode
!=
0
)
return
;
if
(
Array
.
isArray
(
result
.
result
))
{
this
.
groupList
=
this
.
groupList
.
concat
(
result
.
result
.
filter
(
el
=>
el
.
classifyName
!=
'未分类'
&&
el
.
classifyName
!=
null
));
}
this
.
params
.
totalPage
=
result
.
totalPage
;
this
.
totalCountGounp
=
result
.
totalCount
||
0
;
}).
catch
(()
=>
{
if
(
pageNum
==
1
)
{
this
.
groupList
=
[];
}
}).
finally
(()
=>
{
setTimeout
(()
=>
{
this
.
loadings
=
false
;
},
500
)
});
},
checkGroup
()
{
this
.
loading
=
true
;
...
...
@@ -180,7 +237,9 @@ export default {
batchVisiable
(
newval
)
{
newval
&&
[
1
,
0
].
includes
(
this
.
operateNumber
)
&&
this
.
checkGroup
();
this
.
batchDialog
=
newval
;
this
.
getMemberGroupList
();
if
(
newval
)
{
this
.
getMemberGroupList
();
}
},
operateNumber
(
newval
)
{
this
.
operNum
=
newval
;
...
...
@@ -196,6 +255,14 @@ export default {
</
script
>
<
style
lang=
"scss"
scoped
>
.select-classify
{
width
:
305px
;
/deep/
.el-input__prefix
{
display
:
flex
;
align-items
:
center
;
margin-left
:
5px
;
}
}
.batch-txt
{
padding-left
:
35px
;
padding-top
:
7px
;
...
...
src/components/tag/tag-config-options.vue
View file @
4175364e
...
...
@@ -183,6 +183,7 @@
<label
class=
"inline-block middle label-unit m-r-8"
>
最近
</label
><el-input
v-model=
"parent.fixedRecentTimeRecent"
placeholder=
"请输入1-730"
class=
"m-r-8"
style=
"width: 120px"
@
blur=
"value => toEditInput(value, 'fixedRecentTimeRecent', parent)"
></el-input
><label
class=
"inline-block middle label-unit"
>
天
</label>
<span
class=
"tips m-l-8 middle"
>
统计当天之前的数据
</span>
</div>
</div>
</div>
...
...
@@ -422,7 +423,7 @@
</div>
<div
class=
"m-t-20"
>
<label
class=
"inline-block w-98"
></label>
<el-checkbox
v-model=
"parent.timeAfterChecked"
>
<el-checkbox
v-model=
"parent.timeAfterChecked"
style=
"margin-right: 0"
>
</el-checkbox>
<el-select
v-model=
"parent.timeSelect"
placeholder=
"请选择"
class=
"w-86 m-l-8"
>
...
...
@@ -437,11 +438,11 @@
></el-input>
<
template
v-if=
"parent.timeRadio == 1"
>
<label
class=
"inline-block middle label-unit m-l-8"
>
天
</label>
<label
class=
"inline-block middle label-tip"
>
正整数,最大365
</label>
<label
class=
"inline-block middle label-tip"
>
正整数,最大365
,统计当天之前的数据
</label>
</
template
>
<
template
v-if=
"parent.timeRadio == 2"
>
<label
class=
"inline-block middle label-unit m-l-8"
>
月
</label>
<label
class=
"inline-block middle label-tip"
>
正整数,最大24
</label>
<label
class=
"inline-block middle label-tip"
>
正整数,最大24
,统计当月之前的数据
</label>
</
template
>
</div>
</div>
...
...
@@ -582,7 +583,7 @@
<el-radio
label=
"3"
>
年
</el-radio>
</el-radio-group>
</div>
<
template
v-if=
"['haobanWechatRelatedTime','onceCostTime'].includes(currentKey)"
>
<
template
v-if=
"['haobanWechatRelatedTime','onceCostTime'
, 'lastMarketingTime', 'allChannelOnceCostTime'
].includes(currentKey)"
>
<div
class=
"m-t-20"
v-if=
"parent.timeRadio!=='1'"
>
<label
class=
"inline-block w-98"
></label>
<el-checkbox
v-model=
"parent.timeChecked"
@
change=
"currentDayChange($event, parent)"
>
...
...
@@ -613,15 +614,16 @@
></el-input>
<
template
v-if=
"parent.timeRadio == 1"
>
<label
class=
"inline-block middle label-unit m-l-8"
>
天
</label>
<label
class=
"inline-block middle label-tip"
>
正整数,最大730
</label>
<!-- lastCostTime:最近消费时间 -->
<label
class=
"inline-block middle label-tip"
>
{{
tagData
.
tagCode
==
'lastCostTime'
?
'统计当天之前的数据'
:
'正整数,最大730,统计当天之前的数据'
}}
</label>
</
template
>
<
template
v-if=
"parent.timeRadio == 2"
>
<label
class=
"inline-block middle label-unit m-l-8"
>
月
</label>
<label
class=
"inline-block middle label-tip"
>
正整数,最大24
</label>
<label
class=
"inline-block middle label-tip"
>
{{
tagData
.
tagCode
==
'lastCostTime'
?
'统计当月之前的数据'
:
'正整数,最大24,统计当月之前的数据'
}}
</label>
</
template
>
<
template
v-if=
"parent.timeRadio == 3"
>
<label
class=
"inline-block middle label-unit m-l-8"
>
年
</label>
<label
class=
"inline-block middle label-tip"
>
正整数,最大2
</label>
<label
class=
"inline-block middle label-tip"
>
{{
tagData
.
tagCode
==
'lastCostTime'
?
'统计当年之前的数据'
:
'正整数,最大2,统计当年之前的数据'
}}
</label>
</
template
>
</div>
</div>
...
...
@@ -629,7 +631,7 @@
</div>
</template>
<
template
v-if=
"parent.templateCode == 'tag050'"
>
<div
class=
"m-b-20"
:key=
"'tag17' + pindex"
>
<div
:key=
"'tag17' + pindex"
>
<label
class=
"inline-block m-r-20 label-unit"
style=
"width: 108px;text-align: right"
>
最近关联时间
<el-tooltip
placement=
"top"
open-delay=
"100"
>
...
...
@@ -786,15 +788,18 @@
></el-input>
<
template
v-if=
"parent.timeRadio == 1"
>
<label
class=
"inline-block middle label-unit m-l-8"
>
天
</label>
<label
class=
"inline-block middle label-tip"
>
正整数,最大365
</label>
<!--
<label
class=
"inline-block middle label-tip"
>
正整数,最大365
</label>
-->
<label
class=
"inline-block middle label-tip"
>
统计当天之前的数据
</label>
</
template
>
<
template
v-if=
"parent.timeRadio == 2"
>
<label
class=
"inline-block middle label-unit m-l-8"
>
月
</label>
<label
class=
"inline-block middle label-tip"
>
正整数,最大24
</label>
<!--
<label
class=
"inline-block middle label-tip"
>
正整数,最大24
</label>
-->
<label
class=
"inline-block middle label-tip"
>
统计当月之前的数据
</label>
</
template
>
<
template
v-if=
"parent.timeRadio == 3"
>
<label
class=
"inline-block middle label-unit m-l-8"
>
年
</label>
<label
class=
"inline-block middle label-tip"
>
正整数,最大2
</label>
<!--
<label
class=
"inline-block middle label-tip"
>
正整数,最大2
</label>
-->
<label
class=
"inline-block middle label-tip"
>
统计当年之前的数据
</label>
</
template
>
</div>
</div>
...
...
@@ -999,7 +1004,7 @@
</div>
</template>
<
template
v-if=
"parent.templateCode == 'tag040'"
>
<label
class=
"inline-block m-r-20 label-unit"
style=
"width: 108px;text-align: right"
>
<label
class=
"inline-block m-r-20
m-b-20
label-unit"
style=
"width: 108px;text-align: right"
>
关联渠道
<el-tooltip
placement=
"top"
open-delay=
"100"
>
<div
slot=
"content"
>
关联渠道为当前客户关联的线上渠道,根据关联状态实时变化
</div>
...
...
@@ -1010,6 +1015,11 @@
<el-radio
v-for=
"item in parent.options"
:key=
"item.key"
:label=
"item.key"
>
{{
item
.
value
}}
</el-radio>
</el-radio-group>
</
template
>
<
template
v-if=
"parent.templateCode == 'tag060'"
>
<el-checkbox-group
v-model=
"parent.checked"
>
<el-checkbox
v-for=
"item in parent.options"
:key=
"item.key"
:label=
"item.key"
>
{{
item
.
value
}}
</el-checkbox>
</el-checkbox-group>
</
template
>
<!-- 会员标签嵌入卡券选择器 com024 -->
<!-- v-if="parent.templateCode == 'com024'" -->
...
...
@@ -1426,6 +1436,9 @@ export default {
tag040
:
{
radioType
:
'1100'
,
},
tag060
:
{
checked
:
[]
},
cardListData
:
[],
com024
:
{},
com025
:
{},
...
...
@@ -1589,6 +1602,7 @@ export default {
this
.
tagData
.
tagId
=
data
.
tagId
;
this
.
tagData
.
tagType
=
data
.
tagType
;
this
.
tagData
.
tagName
=
data
.
tagName
;
this
.
tagData
.
tagCode
=
data
.
tagCode
;
this
.
currentKey
=
data
.
columnKey
;
this
.
tagData
.
isActive
=
data
.
isActive
;
this
.
tagData
.
isMultiple
=
data
.
isMultiple
;
...
...
@@ -1845,9 +1859,22 @@ export default {
key
:
[
1
,
2
].
includes
(
this
.
tagData
.
tagType
)
?
this
.
tagData
.
tagId
:
this
.
currentKey
,
requestProject
:
'gic-member-tag-web'
};
if
(
data
.
templateCode
==
'tag040'
)
{
this
.
templateData
.
push
(
data
);
}
this
.
axios
.
post
(
`
${
this
.
baseUrl
}${
url
}
`
,
qs
.
stringify
(
para
))
.
then
(
res
=>
{
let
resData
=
res
;
if
(
data
.
templateCode
==
'tag040'
)
{
data
.
options
=
resData
.
data
.
result
;
const
index
=
this
.
templateData
.
findIndex
(
el
=>
el
.
esScreeningWidgetId
==
data
.
esScreeningWidgetId
);
if
(
index
>=
0
)
{
this
.
templateData
.
splice
(
index
,
1
,
data
);
}
else
{
this
.
templateData
.
push
(
data
);
}
return
;
}
if
(
this
.
tagData
.
tagType
!=
1
&&
this
.
currentKey
!=
'tag'
)
{
if
(
resData
.
data
.
errorCode
==
0
)
{
data
.
options
=
resData
.
data
.
result
;
...
...
@@ -2242,7 +2269,8 @@ export default {
case
'tag050'
:
for
(
let
i
=
0
;
i
<
this
.
templateData
.
length
;
i
++
)
{
if
(
this
.
templateData
[
i
].
templateCode
===
'tag050'
)
{
let
templateDate
=
tagParams
.
template
[
0
];
const
index
=
tagParams
.
template
.
findIndex
(
el
=>
el
.
templateCode
==
'tag050'
);
let
templateDate
=
tagParams
.
template
[
index
];
// 判断是那个时间段
// 固定时段
this
.
templateData
[
i
].
radio
=
templateDate
.
radio
;
// 时段
...
...
@@ -2443,6 +2471,10 @@ export default {
value
=
tagValue
.
val
[
0
].
data
.
value
;
this
.
templateData
[
i
].
radioType
=
value
;
break
;
case
'tag060'
:
value
=
tagValue
.
val
[
0
].
data
.
value
;
this
.
templateData
[
i
].
checked
=
value
.
split
(
' '
);
break
;
case
'tag024'
:
const
getTag024Data
=
this
.
hasTemplate
(
'tag024'
);
...
...
@@ -2632,7 +2664,7 @@ export default {
}
.relative-range
{
width
:
526
px
;
width
:
670
px
;
height
:
191px
;
padding
:
19px
;
background
:
#f3f6f9
;
...
...
@@ -2819,7 +2851,7 @@ export default {
display
:
flex
;
}
.radio
{
margin-left
:
10
px
;
margin-left
:
26
px
;
margin-bottom
:
20px
;
}
.flex-direction
{
...
...
src/components/tagDetail/mixin/index.js
View file @
4175364e
...
...
@@ -564,7 +564,7 @@ export default {
}
}
}
if
(
code
==
'tag050'
&&
that
.
templateData
.
length
>
0
)
{
if
(
code
==
'tag050'
)
{
switch
(
Number
(
that
.
templateData
[
0
].
radio
))
{
case
0
:
tagValue
.
time
[
0
].
compute
=
'all'
;
...
...
@@ -918,12 +918,14 @@ export default {
// 数字区间 = >= <= qu区间
if
(
code
==
'com001'
)
{
const
numReg
=
/^
(
-
?\d
+
)(\.\d
+
)?
$/
;
for
(
let
k
of
this
.
templateData
)
{
if
(
k
.
templateCode
==
'com001'
)
{
// tagValue.val[0].data.compute = k.symbol;
tagValue
.
val
[
0
].
data
.
compute
=
k
.
symbol
==
'区间'
?
'between'
:
k
.
symbol
;
if
(
k
.
symbol
!=
'区间'
)
{
if
(
!
k
.
num
)
{
// if (!k.num) {
if
(
!
numReg
.
test
(
k
.
num
+
''
))
{
this
.
$message
.
warning
({
message
:
'请完善区间值!'
});
...
...
@@ -936,7 +938,8 @@ export default {
}
tagValue
.
val
[
0
].
data
.
value
=
k
.
num
;
}
else
{
if
(
!
k
.
numRange
[
0
]
||
!
k
.
numRange
[
1
])
{
// if (!k.numRange[0] || !k.numRange[1]) {
if
(
!
numReg
.
test
(
k
.
numRange
[
0
])
||
!
numReg
.
test
(
k
.
numRange
[
1
]))
{
this
.
$message
.
warning
({
message
:
'请完善区间值!'
});
...
...
@@ -992,6 +995,10 @@ export default {
this
.
postTemplateData
.
selectedVal
.
push
(
abbr
.
join
(
' '
));
this
.
postTemplateData
.
conditionList
=
this
.
com022
.
conditionsList
;
}
if
(
code
==
'tag060'
&&
(
!
Array
.
isArray
(
that
.
templateData
[
0
].
checked
)
||
that
.
templateData
[
0
].
checked
.
length
==
0
))
{
this
.
$message
.
error
(
'请完善标签值'
);
return
false
;
}
/* 属于/不属于+ 选项 */
...
...
@@ -1164,6 +1171,133 @@ export default {
tagValue
.
val
[
0
].
data
.
value
=
ele
.
radioType
;
that
.
postTemplateData
.
selectedVal
.
push
(
ele
.
options
.
find
(
item
=>
item
.
key
==
ele
.
radioType
).
value
);
}
if
(
ele
.
templateCode
==
'tag050'
)
{
switch
(
Number
(
ele
.
radio
))
{
case
0
:
tagValue
.
time
[
0
].
compute
=
'all'
;
tagValue
.
time
[
0
].
value
=
''
;
that
.
postTemplateData
.
selectedVal
.
push
(
'所有时间'
);
break
;
case
1
:
tagValue
.
time
[
0
].
compute
=
'between'
;
tagValue
.
time
[
0
].
value
=
ele
.
dateRangeValue
.
join
(
','
)
that
.
postTemplateData
.
selectedVal
.
push
(
ele
.
dateRangeValue
[
0
].
split
(
' '
)[
0
]
+
'至'
+
ele
.
dateRangeValue
[
1
].
split
(
' '
)[
0
]);
break
;
case
2
:
// tagValue.time[0].compute = 'lastday';
// tagValue.time[0].value = that.templateData[0].dateRangeValue
// 天
// timeAfterChecked 最近/之后
// timeChecked 当天/年/月
if
(
ele
.
timeRadio
==
1
)
{
/** 同时选择
* lastdayHasToday 最近几天包含今天
* afterdayHasToday 之后几天包含今天
*/
if
(
ele
.
timeChecked
&&
ele
.
timeAfterChecked
)
{
if
(
ele
.
timeSelect
==
1
)
{
tagValue
.
time
[
0
].
compute
=
'lastdayHasToday'
;
tagValue
.
time
[
0
].
value
=
String
(
ele
.
timeInput
);
that
.
postTemplateData
.
selectedVal
.
push
(
`最近
${
ele
.
timeInput
}
天包含当天`
);
ele
.
timeInput
=
''
;
}
that
.
postTemplateData
.
template
=
that
.
templateData
;
tagParams
=
that
.
postTemplateData
;
}
//天 当天
if
(
ele
.
timeChecked
&&
!
ele
.
timeAfterChecked
)
{
tagValue
.
time
[
0
].
compute
=
'today'
tagValue
.
time
[
0
].
value
=
'1'
;
that
.
postTemplateData
.
selectedVal
.
push
(
'当天'
);
ele
.
timeInput
=
''
;
}
if
(
ele
.
timeAfterChecked
&&
!
ele
.
timeChecked
)
{
if
(
ele
.
timeSelect
==
1
)
{
// 最近
tagValue
.
time
[
0
].
compute
=
'lastday'
;
tagValue
.
time
[
0
].
value
=
String
(
ele
.
timeInput
);
that
.
postTemplateData
.
selectedVal
.
push
(
`最近
${
ele
.
timeInput
}
天`
);
}
}
}
// 月
if
(
ele
.
timeRadio
==
2
)
{
/**
* lastmonthHasCurrentMonth 最近几月包含当月
* aftermonthHasCurrentMonth 之后几月包含当月
*/
if
(
ele
.
timeChecked
&&
ele
.
timeAfterChecked
)
{
if
(
ele
.
timeSelect
==
1
)
{
tagValue
.
time
[
0
].
compute
=
'lastmonthHasCurrentMonth'
;
tagValue
.
time
[
0
].
value
=
String
(
ele
.
timeInput
);
that
.
postTemplateData
.
selectedVal
.
push
(
`最近
${
ele
.
timeInput
}
月包含当月`
);
ele
.
timeInput
=
''
;
}
that
.
postTemplateData
.
template
=
that
.
templateData
;
tagParams
=
that
.
postTemplateData
;
}
//月 当月
if
(
ele
.
timeChecked
&&
!
ele
.
timeAfterChecked
)
{
tagValue
.
time
[
0
].
compute
=
'currentMonth'
;
tagValue
.
time
[
0
].
value
=
'1'
;
that
.
postTemplateData
.
selectedVal
.
push
(
'当月'
);
ele
.
timeInput
=
''
;
}
// 最近/之后
if
(
ele
.
timeAfterChecked
&&
!
ele
.
timeChecked
)
{
if
(
ele
.
timeSelect
==
1
)
{
// 最近
tagValue
.
time
[
0
].
compute
=
'lastmonth'
;
tagValue
.
time
[
0
].
value
=
String
(
ele
.
timeInput
);
that
.
postTemplateData
.
selectedVal
.
push
(
`最近
${
ele
.
timeInput
}
月`
);
}
}
}
// 年
if
(
ele
.
timeRadio
==
3
)
{
/**
* lastyearHasCurrentYear 最近几年包含当年
* afteryearHasCurrentYear 之后几年包含当年
*/
if
(
ele
.
timeChecked
&&
ele
.
timeAfterChecked
)
{
if
(
ele
.
timeSelect
==
1
)
{
tagValue
.
time
[
0
].
compute
=
'lastyearHasCurrentYear'
;
tagValue
.
time
[
0
].
value
=
String
(
ele
.
timeInput
);
that
.
postTemplateData
.
selectedVal
.
push
(
`最近
${
ele
.
timeInput
}
年包含当年`
);
ele
.
timeInput
=
''
;
}
that
.
postTemplateData
.
template
=
that
.
templateData
;
tagParams
=
that
.
postTemplateData
;
}
//年 当年
if
(
ele
.
timeChecked
&&
!
ele
.
timeAfterChecked
)
{
tagValue
.
time
[
0
].
compute
=
'currentYear'
;
tagValue
.
time
[
0
].
value
=
'1'
;
that
.
postTemplateData
.
selectedVal
.
push
(
'当年'
);
ele
.
timeInput
=
''
;
}
// 最近/之后
if
(
ele
.
timeAfterChecked
&&
!
ele
.
timeChecked
)
{
if
(
ele
.
timeSelect
==
1
)
{
// 最近
tagValue
.
time
[
0
].
compute
=
'lastyear'
;
tagValue
.
time
[
0
].
value
=
String
(
ele
.
timeInput
);
that
.
postTemplateData
.
selectedVal
.
push
(
`最近
${
ele
.
timeInput
}
年`
);
}
}
}
break
;
}
}
if
(
ele
.
templateCode
==
'tag060'
)
{
tagValue
.
val
[
0
].
data
.
value
=
ele
.
checked
.
join
(
' '
);
ele
.
checked
.
forEach
(
item
=>
{
that
.
postTemplateData
.
selectedVal
.
push
(
ele
.
options
.
find
(
k
=>
item
==
k
.
key
).
value
);
});
}
}
}
...
...
@@ -1535,12 +1669,17 @@ export default {
* 天/月/年输入
*/
toEditDateInput
(
e
,
radio
,
parent
)
{
const
codeList
=
[
'firstCostTime'
,
'allChannelLastCostTime'
,
'allChannelFirstCostTime'
,
'lastCostTime'
];
const
code
=
parent
.
templateCode
;
let
newNum
;
newNum
=
Number
(
e
.
target
.
value
)
?
Math
.
floor
(
e
.
target
.
value
)
:
1
;
if
(
newNum
<=
0
)
{
newNum
=
1
;
}
if
(
codeList
.
some
(
el
=>
el
==
this
.
tagData
.
tagCode
))
{
parent
.
timeInput
=
newNum
;
return
;
}
// 天
if
(
code
!=
'tag020'
&&
code
!=
'tag050'
&&
newNum
>
365
&&
radio
==
1
)
{
newNum
=
365
;
...
...
src/components/userDefined.vue
View file @
4175364e
...
...
@@ -90,7 +90,7 @@ export default {
.checkwrap-item
{
/*-ms-flex: 25%;
flex: 25%;*/
width
:
25
%
;
width
:
33
%
;
}
.line-30
{
...
...
src/request/index.js
View file @
4175364e
...
...
@@ -26,6 +26,8 @@ server.interceptors.response.use(
const
data
=
response
.
data
;
if
(
data
.
errorCode
==
0
)
{
return
data
;
}
else
if
(
data
.
errorCode
==
'200009'
)
{
return
data
;
}
else
{
// 根据不同的状态码来做一些操作 例如 token不合法 token过期 没有权限之类的'
Message
({
...
...
src/view/manualTag/manual-tag-value-edit-info.vue
View file @
4175364e
...
...
@@ -54,7 +54,10 @@
<span>
<div
class=
"flex"
>
<span
class=
"table-member__img inline-block middle border-box m-r-10"
>
<img
:src=
"scope.row.thirdImgUrl ? scope.row.thirdImgUrl : require('../../assets/group/member_img.png')"
/>
<img
v-if=
"scope.row.thirdImgUrl"
class=
"member-icon"
:src=
"scope.row.thirdImgUrl"
/>
<svg
v-else
aria-hidden=
"true"
class=
"member-icon"
>
<use
xlink:href=
"#icon-user-default"
></use>
</svg>
</span>
<div
class=
"inline-block"
>
<span>
{{
scope
.
row
.
memberName
}}
<span
class=
"tips"
v-if=
"scope.row.nickName"
>
(
{{
scope
.
row
.
nickName
}}
)
</span></span>
...
...
@@ -226,6 +229,34 @@
<
template
v-if=
"item.code === 'highCostPaid'"
>
<span>
{{
scope
.
row
.
highCostPaid
}}
</span>
</
template
>
<!-- 销售次数(全渠道) -->
<
template
v-if=
"item.code === 'allChannelCostTimes'"
>
<span>
{{
scope
.
row
.
allChannelCostTimes
}}
</span>
</
template
>
<!-- 最高单笔/实付(全渠道) -->
<
template
v-if=
"item.code === 'allChannelHighCostPaid'"
>
<span>
{{
scope
.
row
.
allChannelHighCostPaid
}}
</span>
</
template
>
<!-- 最近消费时间(全渠道) -->
<
template
v-if=
"item.code === 'allChannelLastCostTime'"
>
<span>
{{
scope
.
row
.
allChannelLastCostTime
|
formatTimeYMD
}}
</span>
</
template
>
<!-- 客单价(全渠道) -->
<
template
v-if=
"item.code === 'allChannelAvgCost'"
>
<span>
{{
scope
.
row
.
allChannelAvgCost
}}
</span>
</
template
>
<!-- 连带率(全渠道) -->
<
template
v-if=
"item.code === 'allChannelAvgNumber'"
>
<span>
{{
scope
.
row
.
allChannelAvgNumber
}}
</span>
</
template
>
<!-- 平均折扣率(全渠道) -->
<
template
v-if=
"item.code === 'allChannelDiscountRate'"
>
<span>
{{
scope
.
row
.
allChannelDiscountRate
}}
</span>
</
template
>
<!-- 消费总额/实付(全渠道) -->
<
template
v-if=
"item.code === 'allChannelCostAllPaid'"
>
<span>
{{
scope
.
row
.
allChannelCostAllPaid
}}
</span>
</
template
>
</template>
</el-table-column>
<el-table-column
label=
"添加标签时间"
width=
"200"
>
...
...
@@ -835,9 +866,10 @@ export default {
text-align
:
center
;
border-radius
:
50%
;
overflow
:
hidden
;
img
{
.member-icon
{
display
:
inline-block
;
width
:
100%
;
height
:
100%
;
vertical-align
:
middle
;
border-radius
:
4px
;
}
...
...
src/view/memberGroup/delete-deactive-dialog.vue
View file @
4175364e
<
template
>
<el-dialog
:visible
.
sync=
"visible"
custom-class=
"delete-dialog"
width=
"416px"
@
close=
"onClose"
>
<div
class=
"dialog-content"
>
<i
class=
"el-alert__icon el-icon-warning is-big icon"
/>
<i
class=
"el-alert__icon el-icon-warning is-big icon
s
"
/>
<h2>
{{
title
}}
</h2>
<div
v-loading=
"loading"
>
<p
class=
"desc"
>
{{
desc
}}
</p>
...
...
@@ -132,8 +132,8 @@ export default {
.ml10
{
margin-left
:
10px
;
}
.icon
{
font-size
:
21px
;
.icon
s
{
font-size
:
21px
!important
;
position
:
absolute
;
color
:
#fa8c16
;
left
:
30px
;
...
...
src/view/memberGroup/group-list.vue
View file @
4175364e
...
...
@@ -54,7 +54,7 @@ export default {
listsParams
:
{
// type: '', // 类型 0:客户分组,1:固化分组
pageNum
:
1
,
// 页码,从1开始
pageSize
:
2
0
,
// 页面大小
pageSize
:
4
0
,
// 页面大小
totalPage
:
1
,
classifyName
:
''
// 分类名
},
...
...
@@ -82,7 +82,7 @@ export default {
this
.
getMemberGroupList
();
},
onScroll
(
e
)
{
if
((
e
.
target
.
scrollTop
+
e
.
target
.
clientHeight
)
>=
this
.
lists
.
length
*
40
)
{
if
((
e
.
target
.
scrollTop
+
e
.
target
.
clientHeight
)
>=
this
.
lists
.
length
*
40
&&
!
this
.
memberGroupLoading
)
{
this
.
onPageNumChange
();
}
},
...
...
@@ -261,7 +261,8 @@ export default {
</
script
>
<
style
lang=
"scss"
scoped
>
.add-category
,
.search-box
{
.add-category
,
.search-box
{
padding
:
0
15px
;
}
.add-group
{
...
...
@@ -289,8 +290,8 @@ export default {
margin
:
0
4px
;
}
&
:hover
{
color
:
#2
F54EB
;
background
:
#
F2F3F
5
;
color
:
#2
f54eb
;
background
:
#
f2f3f
5
;
.
icon
:
hover
{
background
:
RGBA
(
229
,
230
,
235
,
1
);
}
...
...
@@ -308,23 +309,22 @@ export default {
color
:
#303133
;
overflow-y
:
auto
;
.active-li
{
color
:
#2F54EB
;
background-color
:
#ebeffe
;
.wrap
span{
padding-left
:
6px
;
color
:
#2f54eb
;
background-color
:
#ebeffe
;
.wrap
span
{
padding-left
:
6px
;
color
:
#2f54eb
;
}
.icon
:hover
{
background
:
#d8defc
;
}
}
.wrap
span
{
.wrap
span
{
padding-left
:
6px
;
color
:
#303133
;
}
}
.more
{
line-height
:
26px
;
text-align
:
center
;
...
...
src/view/memberGroup/memberGroupDetail.vue
View file @
4175364e
...
...
@@ -79,7 +79,10 @@
<span>
<div
class=
"flex"
>
<span
class=
"table-member__img inline-block middle border-box m-r-10"
>
<img
:src=
"scope.row.thirdImgUrl ? scope.row.thirdImgUrl : require('../../assets/group/member_img.png')"
/>
<img
v-if=
"scope.row.thirdImgUrl"
class=
"member-icon"
:src=
"scope.row.thirdImgUrl"
/>
<svg
v-else
aria-hidden=
"true"
class=
"member-icon"
>
<use
xlink:href=
"#icon-user-default"
></use>
</svg>
</span>
<div
class=
"inline-block"
>
<span>
{{
scope
.
row
.
memberName
}}
<span
class=
"tips"
v-if=
"scope.row.nickName"
>
(
{{
scope
.
row
.
nickName
}}
)
</span></span>
...
...
@@ -251,6 +254,34 @@
<
template
v-if=
"item.code === 'highCostPaid'"
>
<span>
{{
scope
.
row
.
highCostPaid
}}
</span>
</
template
>
<!-- 销售次数(全渠道) -->
<
template
v-if=
"item.code === 'allChannelCostTimes'"
>
<span>
{{
scope
.
row
.
allChannelCostTimes
}}
</span>
</
template
>
<!-- 最高单笔/实付(全渠道) -->
<
template
v-if=
"item.code === 'allChannelHighCostPaid'"
>
<span>
{{
scope
.
row
.
allChannelHighCostPaid
}}
</span>
</
template
>
<!-- 最近消费时间(全渠道) -->
<
template
v-if=
"item.code === 'allChannelLastCostTime'"
>
<span>
{{
scope
.
row
.
allChannelLastCostTime
|
formatTimeYMD
}}
</span>
</
template
>
<!-- 客单价(全渠道) -->
<
template
v-if=
"item.code === 'allChannelAvgCost'"
>
<span>
{{
scope
.
row
.
allChannelAvgCost
}}
</span>
</
template
>
<!-- 连带率(全渠道) -->
<
template
v-if=
"item.code === 'allChannelAvgNumber'"
>
<span>
{{
scope
.
row
.
allChannelAvgNumber
}}
</span>
</
template
>
<!-- 平均折扣率(全渠道) -->
<
template
v-if=
"item.code === 'allChannelDiscountRate'"
>
<span>
{{
scope
.
row
.
allChannelDiscountRate
}}
</span>
</
template
>
<!-- 消费总额/实付(全渠道) -->
<
template
v-if=
"item.code === 'allChannelCostAllPaid'"
>
<span>
{{
scope
.
row
.
allChannelCostAllPaid
}}
</span>
</
template
>
</template>
</el-table-column>
<el-table-column
label-class-name=
"table-header__handle"
:min-width=
"160"
fixed=
"right"
>
...
...
@@ -883,7 +914,7 @@ export default {
.table-member__img
{
text-align
:
center
;
img
{
.member-icon
{
display
:
inline-block
;
width
:
40px
;
height
:
40px
;
...
...
src/view/memberGroup/memberGroupEdit.vue
View file @
4175364e
...
...
@@ -624,6 +624,12 @@ export default {
if
(
res
.
data
.
errorCode
==
0
)
{
showMsg
.
showmsg
(
this
.
ruleForm
.
memberTagGroupId
?
'编辑成功'
:
'新增成功'
,
'success'
);
this
.
changeRoute
(
'/memberGroupList'
);
}
else
if
(
res
.
data
.
errorCode
==
'200009'
){
this
.
$alert
(
res
.
data
.
message
,
'提示'
,
{
confirmButtonText
:
'知道了'
,
type
:
'warning'
,
customClass
:
'addNewGroupClass'
})
}
else
{
this
.
$message
.
warning
(
res
.
data
.
message
);
}
...
...
src/view/memberGroup/memberGroupList.vue
View file @
4175364e
...
...
@@ -76,10 +76,11 @@
</el-popover>
</
template
>
</el-table-column>
<el-table-column
prop=
"latestUpdateTime"
min-
width=
"100"
label=
"更新时间"
>
<el-table-column
prop=
"latestUpdateTime"
width=
"100"
label=
"更新时间"
>
<
template
slot-scope=
"scope"
>
<p
class=
"h-18"
>
{{
scope
.
row
.
latestUpdateTime
|
formatTimeYMD
}}
</p>
<p
class=
"h-18"
>
{{
scope
.
row
.
latestUpdateTime
|
formatTimeHMS
}}
</p>
<!--
<p
class=
"h-18"
>
{{
scope
.
row
.
latestUpdateTime
|
formatTimeYMD
}}
</p>
<p
class=
"h-18"
>
{{
scope
.
row
.
latestUpdateTime
|
formatTimeHMS
}}
</p>
-->
{{
scope
.
row
.
latestUpdateTime
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"state"
label=
"状态"
min-width=
"80"
>
...
...
@@ -128,10 +129,11 @@
<el-table-column
label=
"创建人"
prop=
"createUserName"
min-width=
"110"
v-if=
"[2,3].includes($store.state.departAuth) || $store.state.isSuperAdmin"
>
<
template
slot-scope=
"{ row }"
>
{{
row
.
createUserName
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"createTime"
min-
width=
"100"
label=
"创建时间"
>
<el-table-column
prop=
"createTime"
width=
"100"
label=
"创建时间"
>
<
template
slot-scope=
"scope"
>
<p
class=
"h-18"
>
{{
scope
.
row
.
createTime
|
formatTimeYMD
}}
</p>
<p
class=
"h-18"
>
{{
scope
.
row
.
createTime
|
formatTimeHMS
}}
</p>
<!--
<p
class=
"h-18"
>
{{
scope
.
row
.
createTime
|
formatTimeYMD
}}
</p>
<p
class=
"h-18"
>
{{
scope
.
row
.
createTime
|
formatTimeHMS
}}
</p>
-->
{{
scope
.
row
.
createTime
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"180"
fixed=
"right"
v-if=
"$getButtonLimit($buttonCode.memberTagDelGroup) || $getButtonLimit($buttonCode.memberTagFixedPile)"
>
...
...
@@ -246,8 +248,9 @@
</el-table-column>
<el-table-column
label=
"最近更新时间"
width=
"110"
>
<
template
slot-scope=
"scope"
>
<p
class=
"h-18"
>
{{
scope
.
row
.
latestUpdateTime
|
formatTimeYMD
}}
</p>
<p
class=
"h-18"
>
{{
scope
.
row
.
latestUpdateTime
|
formatTimeHMS
}}
</p>
<!--
<p
class=
"h-18"
>
{{
scope
.
row
.
latestUpdateTime
|
formatTimeYMD
}}
</p>
<p
class=
"h-18"
>
{{
scope
.
row
.
latestUpdateTime
|
formatTimeHMS
}}
</p>
-->
{{
scope
.
row
.
latestUpdateTime
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"state"
label=
"状态"
min-width=
"70"
>
...
...
@@ -295,11 +298,12 @@
<el-table-column
label=
"创建人"
min-width=
"110"
prop=
"createUserName"
v-if=
"[2,3].includes($store.state.departAuth) || $store.state.isSuperAdmin"
>
<
template
slot-scope=
"{ row }"
>
{{
row
.
createUserName
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"recentUpdateDate"
min-
width=
"100"
label=
"到期时间"
>
<el-table-column
prop=
"recentUpdateDate"
width=
"100"
label=
"到期时间"
>
<
template
slot-scope=
"scope"
>
<template
v-if=
"!scope.row.isRealTime"
>
<p
class=
"h-18"
>
{{
scope
.
row
.
effectiveDate
|
formatTimeYMD
}}
</p>
<p
class=
"h-18"
>
{{
scope
.
row
.
effectiveDate
|
formatTimeHMS
}}
</p>
<!--
<p
class=
"h-18"
>
{{
scope
.
row
.
effectiveDate
|
formatTimeYMD
}}
</p>
<p
class=
"h-18"
>
{{
scope
.
row
.
effectiveDate
|
formatTimeHMS
}}
</p>
-->
{{
scope
.
row
.
effectiveDate
}}
</
template
>
<
template
v-else
>
--
</
template
>
</template>
...
...
@@ -307,15 +311,19 @@
<el-table-column
prop=
"updateTime"
min-width=
"110"
label=
"最近编辑时间"
>
<
template
slot-scope=
"scope"
>
<p
class=
"h-18"
>
{{
scope
.
row
.
updateTime
?
dateformat
(
new
Date
(
scope
.
row
.
updateTime
),
'yyyy-MM-dd'
)
:
'--'
}}
</p>
<p
class=
"h-18"
>
{{
scope
.
row
.
updateTime
?
dateformat
(
new
Date
(
scope
.
row
.
updateTime
),
'hh:mm:ss'
)
:
'--'
}}
</p>
<template
v-if=
"scope.row.updateTime"
>
<p
class=
"h-18"
>
{{
scope
.
row
.
updateTime
?
dateformat
(
new
Date
(
scope
.
row
.
updateTime
),
'yyyy-MM-dd'
)
:
'--'
}}
</p>
<p
class=
"h-18"
>
{{
scope
.
row
.
updateTime
?
dateformat
(
new
Date
(
scope
.
row
.
updateTime
),
'hh:mm:ss'
)
:
'--'
}}
</p>
</
template
>
<
template
v-else
>
--
</
template
>
</template>
</el-table-column>
<el-table-column
prop=
"createTime"
min-
width=
"100"
label=
"创建时间"
>
<el-table-column
prop=
"createTime"
width=
"100"
label=
"创建时间"
>
<
template
slot-scope=
"scope"
>
<p
class=
"h-18"
>
{{
scope
.
row
.
createTime
|
formatTimeYMD
}}
</p>
<p
class=
"h-18"
>
{{
scope
.
row
.
createTime
|
formatTimeHMS
}}
</p>
<!--
<p
class=
"h-18"
>
{{
scope
.
row
.
createTime
|
formatTimeYMD
}}
</p>
<p
class=
"h-18"
>
{{
scope
.
row
.
createTime
|
formatTimeHMS
}}
</p>
-->
{{
scope
.
row
.
createTime
}}
</
template
>
</el-table-column>
...
...
@@ -373,7 +381,7 @@
<div
class=
"right-box"
v-show=
"isTagRecommend"
>
<div
class=
"common-wrap__opt flex-between"
>
<div
class=
"
desc"
>
覆盖人数于每日上午8点半进行更新
</div>
<div
class=
"
tips"
>
覆盖人数于每日上午8点半进行更新,仅统计线下订单
</div>
<!-- <div class="batch-option">
<el-button type="primary" class="fr ghost-btn" @click="isNew = !isNew">{{ `查看${isNew ? '旧' : '新'}版金字塔会员分层` }}</el-button>
</div> -->
...
...
@@ -395,8 +403,9 @@
</el-table-column>
<el-table-column
label=
"最近更新时间"
prop=
"latestUpdateTime"
min-width=
"100"
>
<
template
slot-scope=
"scope"
>
<p
class=
"h-18"
>
{{
scope
.
row
.
latestUpdateTime
|
formatTimeYMD
}}
</p>
<p
class=
"h-18"
>
{{
scope
.
row
.
latestUpdateTime
|
formatTimeHMS
}}
</p>
<!--
<p
class=
"h-18"
>
{{
scope
.
row
.
latestUpdateTime
|
formatTimeYMD
}}
</p>
<p
class=
"h-18"
>
{{
scope
.
row
.
latestUpdateTime
|
formatTimeHMS
}}
</p>
-->
{{
scope
.
row
.
latestUpdateTime
}}
</
template
>
</el-table-column>
<el-table-column
label=
"分类名称"
prop=
"groupClassifyName"
min-width=
"100"
>
...
...
src/view/memberGroup/memberLevelDetail.vue
View file @
4175364e
...
...
@@ -55,7 +55,10 @@
<span>
<div
class=
"flex"
>
<span
class=
"table-member__img inline-block middle border-box m-r-10"
>
<img
:src=
"scope.row.thirdImgUrl ? scope.row.thirdImgUrl : require('../../assets/group/member_img.png')"
/>
<img
v-if=
"scope.row.thirdImgUrl"
class=
"member-icon"
:src=
"scope.row.thirdImgUrl"
/>
<svg
v-else
aria-hidden=
"true"
class=
"member-icon"
>
<use
xlink:href=
"#icon-user-default"
></use>
</svg>
</span>
<div
class=
"inline-block"
>
<span>
{{
scope
.
row
.
memberName
}}
<span
class=
"tips"
v-if=
"scope.row.nickName"
>
(
{{
scope
.
row
.
nickName
}}
)
</span></span>
...
...
@@ -227,6 +230,34 @@
<
template
v-if=
"item.code === 'highCostPaid'"
>
<span>
{{
scope
.
row
.
highCostPaid
}}
</span>
</
template
>
<!-- 消费总额/实付(全渠道) -->
<
template
v-if=
"item.code == 'allChannelCostAllPaid'"
>
<span>
{{
scope
.
row
.
allChannelCostAllPaid
}}
</span>
</
template
>
<!-- 消费次数(全渠道) -->
<
template
v-if=
"item.code == 'allChannelCostTimes'"
>
<span>
{{
scope
.
row
.
allChannelCostTimes
}}
</span>
</
template
>
<!-- 最高单笔/实付(全渠道) -->
<
template
v-if=
"item.code == 'allChannelHighCostPaid'"
>
<span>
{{
scope
.
row
.
allChannelHighCostPaid
}}
</span>
</
template
>
<!-- 最近消费时间(全渠道) -->
<
template
v-if=
"item.code == 'allChannelLastCostTime'"
>
<span>
{{
scope
.
row
.
allChannelLastCostTime
|
formatTimeYMD
}}
</span>
</
template
>
<!-- 客单价(全渠道) -->
<
template
v-if=
"item.code == 'allChannelAvgCost'"
>
<span>
{{
scope
.
row
.
allChannelAvgCost
}}
</span>
</
template
>
<!-- 连带率(全渠道) -->
<
template
v-if=
"item.code == 'allChannelAvgNumber'"
>
<span>
{{
scope
.
row
.
allChannelAvgNumber
}}
</span>
</
template
>
<!-- 平均折扣(全渠道) -->
<
template
v-if=
"item.code == 'allChannelDiscountRate'"
>
<span>
{{
scope
.
row
.
allChannelDiscountRate
}}
</span>
</
template
>
</template>
</el-table-column>
<el-table-column
label-class-name=
"table-header__handle"
v-if=
"$getButtonLimit($buttonCode.memberTagToCheck)"
fixed=
"right"
:min-width=
"160"
>
...
...
@@ -853,7 +884,7 @@ export default {
.table-member__img
{
text-align
:
center
;
img
{
.member-icon
{
display
:
inline-block
;
width
:
40px
;
height
:
40px
;
...
...
src/view/platformTag/member-tag.vue
View file @
4175364e
...
...
@@ -519,13 +519,19 @@ export default {
addNewGroup
(
param
)
.
then
(
res
=>
{
if
(
res
.
errorCode
==
0
)
{
console
.
log
(
this
.
tagConfig
.
fixedType
);
//
console.log(this.tagConfig.fixedType);
const
type
=
this
.
tagConfig
.
fixedType
?
'fixed'
:
''
;
this
.
$router
.
push
({
path
:
'memberGroupList'
,
query
:
{
type
}
});
}
else
if
(
res
.
errorCode
==
'200009'
){
this
.
$alert
(
res
.
message
,
'提示'
,
{
confirmButtonText
:
'知道了'
,
type
:
'warning'
,
customClass
:
'addNewGroupClass'
})
}
})
.
catch
(
err
=>
{
console
.
log
(
err
);
console
.
log
(
err
,
'oooo'
);
});
},
expendsGroupList
()
{
...
...
@@ -678,7 +684,8 @@ export default {
this
.
loadMemberTagList
({
searchName
:
this
.
memberTag
,
showSearchResult
:
true
,
id
:
this
.
groupId
// id: this.groupId
id
:
this
.
activeTag
!=
'system'
?
this
.
groupId
:
''
});
this
.
pageNum
=
1
;
// this.handTag = null;
...
...
@@ -960,6 +967,12 @@ export default {
.member-tag
.el-tabs__header
{
margin-bottom
:
0
;
}
.addNewGroupClass
.el-message-box__status.el-icon-warning
{
top
:
12px
!important
;
&::before
{
font-size
:
21px
!important
;
}
}
</
style
>
<
style
lang=
"scss"
scoped
>
.deal-list-mask
{
...
...
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