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
65f76a12
Commit
65f76a12
authored
Aug 23, 2022
by
caoyanzhi
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/7月迭代-会员'
parents
451cfaea
49e8f3ed
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
240 additions
and
36 deletions
+240
-36
index.html
index.html
+1
-1
App.vue
src/App.vue
+2
-0
api.js
src/api/api.js
+12
-0
batch-list.vue
src/components/tag/batch-list.vue
+1
-1
tag-config-options.vue
src/components/tag/tag-config-options.vue
+0
-0
index.js
src/components/tagDetail/mixin/index.js
+131
-6
tagShortDetail.vue
src/components/tagShortDetail.vue
+8
-0
index.js
src/router/index.js
+2
-2
manual-tag-value-edit.vue
src/view/manualTag/manual-tag-value-edit.vue
+30
-1
group-list.vue
src/view/memberGroup/group-list.vue
+44
-19
memberGroupEdit.vue
src/view/memberGroup/memberGroupEdit.vue
+1
-0
memberGroupList.vue
src/view/memberGroup/memberGroupList.vue
+1
-0
member-tag.vue
src/view/platformTag/member-tag.vue
+6
-5
tag-container.vue
src/view/platformTag/tag-container.vue
+1
-1
No files found.
index.html
View file @
65f76a12
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
(
function
()
{
(
function
()
{
var
src
=
'/component/static/import-component.js?timestrap='
+
new
Date
().
getTime
();
var
src
=
'/component/static/import-component.js?timestrap='
+
new
Date
().
getTime
();
var
host
=
window
.
location
.
host
;
var
host
=
window
.
location
.
host
;
host
=
host
.
indexOf
(
'localhost'
)
>
-
1
||
host
.
indexOf
(
'192.168'
)
>
-
1
?
'
gicdev.demogic
.com'
:
host
;
host
=
host
.
indexOf
(
'localhost'
)
>
-
1
||
host
.
indexOf
(
'192.168'
)
>
-
1
?
'
www.gicdev
.com'
:
host
;
document
.
write
(
'<script src="//'
+
host
+
src
+
'"><
\
/script>'
)
document
.
write
(
'<script src="//'
+
host
+
src
+
'"><
\
/script>'
)
})()
})()
</script>
</script>
...
...
src/App.vue
View file @
65f76a12
...
@@ -58,6 +58,8 @@ export default {
...
@@ -58,6 +58,8 @@ export default {
// 两次的uId不等 表示账号有冲突
// 两次的uId不等 表示账号有冲突
if
(
this
.
uniqueId
!==
uId
)
{
if
(
this
.
uniqueId
!==
uId
)
{
this
.
$store
.
commit
(
'changeUniqueId'
,
uId
);
this
.
$store
.
commit
(
'changeUniqueId'
,
uId
);
// 切换账号后,不缓存权限数据、菜单数据、面包屑数据
window
.
notCache
=
true
;
this
.
$confirm
(
'当前登录账号已经发生变化,如果您在其他页面已经登录另一个账号,请重新登录!'
,
'登录账号变更提示'
,
{
this
.
$confirm
(
'当前登录账号已经发生变化,如果您在其他页面已经登录另一个账号,请重新登录!'
,
'登录账号变更提示'
,
{
confirmButtonText
:
'重新登录'
,
confirmButtonText
:
'重新登录'
,
cancelButtonText
:
'刷新页面'
,
cancelButtonText
:
'刷新页面'
,
...
...
src/api/api.js
View file @
65f76a12
...
@@ -69,6 +69,18 @@ export const getRequest = (url, params) => {
...
@@ -69,6 +69,18 @@ export const getRequest = (url, params) => {
});
});
};
};
export
const
getRequestBlob
=
(
url
,
params
)
=>
{
params
.
requestProject
=
'member-tag'
;
return
Vue
.
axios
({
method
:
'get'
,
url
:
`
${
local
}
/gic-member-tag-web
${
url
}
`
,
data
:
{},
params
:
params
,
responseType
:
'blob'
,
headers
:
{
'content-type'
:
'application/x-www-form-urlencoded'
}
// "token": token
});
};
/*
/*
*
*
* 统一 post 请求方法
* 统一 post 请求方法
...
...
src/components/tag/batch-list.vue
View file @
65f76a12
...
@@ -141,7 +141,7 @@ export default {
...
@@ -141,7 +141,7 @@ export default {
if
(
res
.
errorCode
==
0
)
{
if
(
res
.
errorCode
==
0
)
{
console
.
log
(
res
.
result
)
console
.
log
(
res
.
result
)
const
{
result
}
=
res
.
result
;
const
{
result
}
=
res
.
result
;
this
.
groupList
=
result
.
filter
(
el
=>
el
.
classifyName
!=
'未分类'
).
map
(
item
=>
({
this
.
groupList
=
result
.
filter
(
el
=>
el
.
classifyName
!=
'未分类'
&&
el
.
classifyName
!=
null
).
map
(
item
=>
({
...
item
,
...
item
,
edit
:
false
edit
:
false
}));
}));
...
...
src/components/tag/tag-config-options.vue
View file @
65f76a12
This diff is collapsed.
Click to expand it.
src/components/tagDetail/mixin/index.js
View file @
65f76a12
...
@@ -531,7 +531,7 @@ export default {
...
@@ -531,7 +531,7 @@ export default {
}
}
/* 固定/相对 年月日+最近+之后 年月日+最近 年月日时分秒-年月日时分秒 */
/* 固定/相对 年月日+最近+之后 年月日+最近 年月日时分秒-年月日时分秒 */
if
((
code
===
'tag014'
||
code
===
'tag017'
||
code
===
'tag019'
||
code
===
'tag020'
||
code
===
'tag015'
)
&&
that
.
templateData
[
0
].
radio
==
1
)
{
if
((
code
===
'tag014'
||
code
===
'tag017'
||
code
===
'tag019'
||
code
===
'tag020'
||
code
===
'tag015'
||
code
==
'tag050'
)
&&
that
.
templateData
[
0
].
radio
==
1
)
{
if
(
!
that
.
templateData
[
0
].
dateRangeValue
||
!
that
.
templateData
[
0
].
dateRangeValue
.
length
)
{
if
(
!
that
.
templateData
[
0
].
dateRangeValue
||
!
that
.
templateData
[
0
].
dateRangeValue
.
length
)
{
that
.
$message
.
error
({
message
:
'请选择值'
});
that
.
$message
.
error
({
message
:
'请选择值'
});
return
false
;
return
false
;
...
@@ -542,7 +542,7 @@ export default {
...
@@ -542,7 +542,7 @@ export default {
}
}
}
}
if
((
code
===
'tag014'
||
code
===
'tag017'
||
code
===
'tag019'
||
code
===
'tag020'
||
code
===
'tag015'
))
{
if
((
code
===
'tag014'
||
code
===
'tag017'
||
code
===
'tag019'
||
code
===
'tag020'
||
code
===
'tag015'
||
code
==
'tag050'
))
{
for
(
let
k
of
this
.
templateData
)
{
for
(
let
k
of
this
.
templateData
)
{
if
(
!
k
.
timeChecked
&&
!
k
.
timeAfterChecked
&&
k
.
radio
==
2
)
{
if
(
!
k
.
timeChecked
&&
!
k
.
timeAfterChecked
&&
k
.
radio
==
2
)
{
let
tips
=
k
.
timeRadio
==
1
?
'天'
:
k
.
timeRadio
==
2
?
'月'
:
'年'
;
let
tips
=
k
.
timeRadio
==
1
?
'天'
:
k
.
timeRadio
==
2
?
'月'
:
'年'
;
...
@@ -564,7 +564,128 @@ export default {
...
@@ -564,7 +564,128 @@ export default {
}
}
}
}
}
}
if
((
code
===
'tag014'
||
code
===
'tag017'
||
code
===
'tag019'
||
code
===
'tag020'
||
code
===
'tag015'
)
&&
that
.
templateData
.
length
===
1
&&
that
.
templateData
[
0
].
radio
==
1
)
{
if
(
code
==
'tag050'
&&
that
.
templateData
.
length
>
0
)
{
switch
(
Number
(
that
.
templateData
[
0
].
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
=
that
.
templateData
[
0
].
dateRangeValue
.
join
(
','
)
that
.
postTemplateData
.
selectedVal
.
push
(
that
.
templateData
[
0
].
dateRangeValue
[
0
].
split
(
' '
)[
0
]
+
'至'
+
that
.
templateData
[
0
].
dateRangeValue
[
1
].
split
(
' '
)[
0
]);
break
;
case
2
:
// tagValue.time[0].compute = 'lastday';
// tagValue.time[0].value = that.templateData[0].dateRangeValue
// 天
// timeAfterChecked 最近/之后
// timeChecked 当天/年/月
if
(
that
.
templateData
[
0
].
timeRadio
==
1
)
{
/** 同时选择
* lastdayHasToday 最近几天包含今天
* afterdayHasToday 之后几天包含今天
*/
if
(
that
.
templateData
[
0
].
timeChecked
&&
that
.
templateData
[
0
].
timeAfterChecked
)
{
if
(
that
.
templateData
[
0
].
timeSelect
==
1
)
{
tagValue
.
time
[
0
].
compute
=
'lastdayHasToday'
;
tagValue
.
time
[
0
].
value
=
String
(
that
.
templateData
[
0
].
timeInput
);
that
.
postTemplateData
.
selectedVal
.
push
(
`最近
${
that
.
templateData
[
0
].
timeInput
}
天包含当天`
);
that
.
templateData
[
0
].
timeInput
=
''
;
}
that
.
postTemplateData
.
template
=
that
.
templateData
;
tagParams
=
that
.
postTemplateData
;
}
//天 当天
if
(
that
.
templateData
[
0
].
timeChecked
&&
!
that
.
templateData
[
0
].
timeAfterChecked
)
{
tagValue
.
time
[
0
].
compute
=
'today'
tagValue
.
time
[
0
].
value
=
'1'
;
that
.
postTemplateData
.
selectedVal
.
push
(
'当天'
);
that
.
templateData
[
0
].
timeInput
=
''
;
}
if
(
that
.
templateData
[
0
].
timeAfterChecked
&&
!
that
.
templateData
[
0
].
timeChecked
)
{
if
(
that
.
templateData
[
0
].
timeSelect
==
1
)
{
// 最近
tagValue
.
time
[
0
].
compute
=
'lastday'
;
tagValue
.
time
[
0
].
value
=
String
(
that
.
templateData
[
0
].
timeInput
);
that
.
postTemplateData
.
selectedVal
.
push
(
`最近
${
that
.
templateData
[
0
].
timeInput
}
天`
);
}
}
}
// 月
if
(
that
.
templateData
[
0
].
timeRadio
==
2
)
{
/**
* lastmonthHasCurrentMonth 最近几月包含当月
* aftermonthHasCurrentMonth 之后几月包含当月
*/
if
(
that
.
templateData
[
0
].
timeChecked
&&
that
.
templateData
[
0
].
timeAfterChecked
)
{
if
(
that
.
templateData
[
0
].
timeSelect
==
1
)
{
tagValue
.
time
[
0
].
compute
=
'lastmonthHasCurrentMonth'
;
tagValue
.
time
[
0
].
value
=
String
(
that
.
templateData
[
0
].
timeInput
);
that
.
postTemplateData
.
selectedVal
.
push
(
`最近
${
that
.
templateData
[
0
].
timeInput
}
月包含当月`
);
that
.
templateData
[
0
].
timeInput
=
''
;
}
that
.
postTemplateData
.
template
=
that
.
templateData
;
tagParams
=
that
.
postTemplateData
;
}
//月 当月
if
(
that
.
templateData
[
0
].
timeChecked
&&
!
that
.
templateData
[
0
].
timeAfterChecked
)
{
tagValue
.
time
[
0
].
compute
=
'currentMonth'
;
tagValue
.
time
[
0
].
value
=
'1'
;
that
.
postTemplateData
.
selectedVal
.
push
(
'当月'
);
that
.
templateData
[
0
].
timeInput
=
''
;
}
// 最近/之后
if
(
that
.
templateData
[
0
].
timeAfterChecked
&&
!
that
.
templateData
[
0
].
timeChecked
)
{
if
(
that
.
templateData
[
0
].
timeSelect
==
1
)
{
// 最近
tagValue
.
time
[
0
].
compute
=
'lastmonth'
;
tagValue
.
time
[
0
].
value
=
String
(
that
.
templateData
[
0
].
timeInput
);
that
.
postTemplateData
.
selectedVal
.
push
(
`最近
${
that
.
templateData
[
0
].
timeInput
}
月`
);
}
}
}
// 年
if
(
that
.
templateData
[
0
].
timeRadio
==
3
)
{
/**
* lastyearHasCurrentYear 最近几年包含当年
* afteryearHasCurrentYear 之后几年包含当年
*/
if
(
that
.
templateData
[
0
].
timeChecked
&&
that
.
templateData
[
0
].
timeAfterChecked
)
{
if
(
that
.
templateData
[
0
].
timeSelect
==
1
)
{
tagValue
.
time
[
0
].
compute
=
'lastyearHasCurrentYear'
;
tagValue
.
time
[
0
].
value
=
String
(
that
.
templateData
[
0
].
timeInput
);
that
.
postTemplateData
.
selectedVal
.
push
(
`最近
${
that
.
templateData
[
0
].
timeInput
}
年包含当年`
);
that
.
templateData
[
0
].
timeInput
=
''
;
}
that
.
postTemplateData
.
template
=
that
.
templateData
;
tagParams
=
that
.
postTemplateData
;
}
//年 当年
if
(
that
.
templateData
[
0
].
timeChecked
&&
!
that
.
templateData
[
0
].
timeAfterChecked
)
{
tagValue
.
time
[
0
].
compute
=
'currentYear'
;
tagValue
.
time
[
0
].
value
=
'1'
;
that
.
postTemplateData
.
selectedVal
.
push
(
'当年'
);
that
.
templateData
[
0
].
timeInput
=
''
;
}
// 最近/之后
if
(
that
.
templateData
[
0
].
timeAfterChecked
&&
!
that
.
templateData
[
0
].
timeChecked
)
{
if
(
that
.
templateData
[
0
].
timeSelect
==
1
)
{
// 最近
tagValue
.
time
[
0
].
compute
=
'lastyear'
;
tagValue
.
time
[
0
].
value
=
String
(
that
.
templateData
[
0
].
timeInput
);
that
.
postTemplateData
.
selectedVal
.
push
(
`最近
${
that
.
templateData
[
0
].
timeInput
}
年`
);
}
}
}
break
;
}
}
if
((
code
===
'tag014'
||
code
===
'tag017'
||
code
===
'tag019'
||
code
===
'tag020'
||
code
===
'tag015'
)
&&
that
.
templateData
.
length
>
0
&&
that
.
templateData
[
0
].
radio
==
1
)
{
if
(
that
.
currentComputeType
==
2
)
{
if
(
that
.
currentComputeType
==
2
)
{
tagValue
.
val
[
0
].
data
.
compute
=
'between'
;
tagValue
.
val
[
0
].
data
.
compute
=
'between'
;
}
else
{
}
else
{
...
@@ -590,7 +711,7 @@ export default {
...
@@ -590,7 +711,7 @@ export default {
that
.
postTemplateData
.
selectedVal
.
push
(
that
.
templateData
[
0
].
dateRangeValue
[
0
].
split
(
' '
)[
0
]
+
'至'
+
that
.
templateData
[
0
].
dateRangeValue
[
1
].
split
(
' '
)[
0
]);
that
.
postTemplateData
.
selectedVal
.
push
(
that
.
templateData
[
0
].
dateRangeValue
[
0
].
split
(
' '
)[
0
]
+
'至'
+
that
.
templateData
[
0
].
dateRangeValue
[
1
].
split
(
' '
)[
0
]);
}
}
if
((
code
===
'tag014'
||
code
===
'tag017'
||
code
===
'tag019'
||
code
===
'tag020'
||
code
===
'tag015'
)
&&
that
.
templateData
.
length
===
1
&&
that
.
templateData
[
0
].
radio
==
2
)
{
if
((
code
===
'tag014'
||
code
===
'tag017'
||
code
===
'tag019'
||
code
===
'tag020'
||
code
===
'tag015'
)
&&
that
.
templateData
.
length
>
0
&&
that
.
templateData
[
0
].
radio
==
2
)
{
// 天
// 天
// timeAfterChecked 最近/之后
// timeAfterChecked 最近/之后
// timeChecked 当天/年/月
// timeChecked 当天/年/月
...
@@ -1039,6 +1160,10 @@ export default {
...
@@ -1039,6 +1160,10 @@ export default {
that
.
postTemplateData
.
selectedVal
.
push
(
`时间范围为之后
${
ele
.
afterday
}
天`
);
that
.
postTemplateData
.
selectedVal
.
push
(
`时间范围为之后
${
ele
.
afterday
}
天`
);
}
}
}
}
if
(
ele
.
templateCode
==
'tag040'
)
{
tagValue
.
val
[
0
].
data
.
value
=
ele
.
radioType
;
that
.
postTemplateData
.
selectedVal
.
push
(
ele
.
options
.
find
(
item
=>
item
.
key
==
ele
.
radioType
).
value
);
}
}
}
}
}
...
@@ -1417,10 +1542,10 @@ export default {
...
@@ -1417,10 +1542,10 @@ export default {
newNum
=
1
;
newNum
=
1
;
}
}
// 天
// 天
if
(
code
!=
'tag020'
&&
newNum
>
365
&&
radio
==
1
)
{
if
(
code
!=
'tag020'
&&
code
!=
'tag050'
&&
newNum
>
365
&&
radio
==
1
)
{
newNum
=
365
;
newNum
=
365
;
}
}
if
(
code
==
'tag020'
&&
newNum
>
730
&&
radio
==
1
)
{
if
(
(
code
==
'tag020'
||
code
==
'tag050'
)
&&
newNum
>
730
&&
radio
==
1
)
{
newNum
=
730
;
newNum
=
730
;
}
}
// 月
// 月
...
...
src/components/tagShortDetail.vue
View file @
65f76a12
...
@@ -598,6 +598,14 @@
...
@@ -598,6 +598,14 @@
</div>
</div>
</div>
</div>
</template>
</template>
<!-- 单选属性 关联渠道-->
<
template
v-if=
"parent.templateCode == 'tag040'"
>
</
template
>
<!-- 最近关联时间 -->
<
template
v-if=
"parent.templateCode == 'tag020'"
>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
...
...
src/router/index.js
View file @
65f76a12
...
@@ -205,11 +205,11 @@ const router = new Router({
...
@@ -205,11 +205,11 @@ const router = new Router({
})
})
router
.
beforeEach
((
to
,
from
,
next
)
=>
{
router
.
beforeEach
((
to
,
from
,
next
)
=>
{
const
{
keepAlive
,
componentName
,
fromPath
}
=
to
.
meta
||
{};
const
{
keepAlive
,
componentName
,
fromPath
}
=
to
.
meta
||
{};
if
(
keepAlive
&&
fromPath
.
every
(
el
=>
el
!=
'/'
))
{
if
(
keepAlive
&&
Array
.
isArray
(
fromPath
)
&&
fromPath
.
every
(
el
=>
el
!=
'/'
))
{
fromPath
.
push
(
'/'
);
fromPath
.
push
(
'/'
);
}
}
// 当前路径的keepAlive为true而且from.path不在fromPath中时,将清除to.path的缓存
// 当前路径的keepAlive为true而且from.path不在fromPath中时,将清除to.path的缓存
if
(
keepAlive
&&
fromPath
.
every
(
el
=>
el
!=
from
.
path
))
{
if
(
keepAlive
&&
Array
.
isArray
(
fromPath
)
&&
fromPath
.
every
(
el
=>
el
!=
from
.
path
))
{
delCache
(
router
.
apps
,
componentName
);
delCache
(
router
.
apps
,
componentName
);
}
}
next
();
next
();
...
...
src/view/manualTag/manual-tag-value-edit.vue
View file @
65f76a12
...
@@ -12,6 +12,10 @@
...
@@ -12,6 +12,10 @@
<i
class=
"iconfont icon-shangc"
/>
<i
class=
"iconfont icon-shangc"
/>
导入多标签值会员
导入多标签值会员
</el-button>
</el-button>
<el-button
type=
"primary"
class=
"ghost-btn"
@
click=
"importTagValue"
:limit-code=
"$buttonCode.importTagValueBtnCode"
v-if=
"$getButtonLimit($buttonCode.importTagValueBtnCode)"
>
<i
class=
"iconfont icon-xiazai"
/>
导出标签值
</el-button>
<el-button
type=
"primary"
class=
"ghost-btn"
@
click=
"exportMember"
>
<el-button
type=
"primary"
class=
"ghost-btn"
@
click=
"exportMember"
>
<i
class=
"iconfont icon-xiazai"
/>
<i
class=
"iconfont icon-xiazai"
/>
导出人群
导出人群
...
@@ -90,7 +94,7 @@ import Trash from '@/components/Trash.vue';
...
@@ -90,7 +94,7 @@ import Trash from '@/components/Trash.vue';
import
importDialog
from
'./import-member-dialog.vue'
;
import
importDialog
from
'./import-member-dialog.vue'
;
import
DeleteTagDialog
from
'./delete-tag-dialog.vue'
;
import
DeleteTagDialog
from
'./delete-tag-dialog.vue'
;
/* eslint-disable */
/* eslint-disable */
import
{
getRequest
,
postForm
}
from
'@/api/api'
;
import
{
getRequest
,
postForm
,
getRequestBlob
}
from
'@/api/api'
;
import
Sortable
from
'sortablejs'
;
import
Sortable
from
'sortablejs'
;
/**
/**
* 通过excel导入会员的业务逻辑 2019-5-27
* 通过excel导入会员的业务逻辑 2019-5-27
...
@@ -191,6 +195,31 @@ export default {
...
@@ -191,6 +195,31 @@ export default {
}
}
},
},
methods
:
{
methods
:
{
// 导出标签值
importTagValue
()
{
// window.open(`http://www.gicdev.com/gic-member-tag-web/memberTag/exportMemberTag?requestProject=member-tag&tagId=${this.$route.query.tagId}&tagName=${this.$route.query.tagName}`);
// return
const
paras
=
{
tagId
:
this
.
$route
.
query
.
tagId
,
tagName
:
this
.
$route
.
query
.
tagName
}
getRequestBlob
(
'/memberTag/exportMemberTag'
,
paras
).
then
(
res
=>
{
if
(
res
.
status
==
'200'
)
{
let
blob
=
new
Blob
([
res
.
data
],
{
type
:
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"
,
});
// 3.创建一个临时的url指向blob对象
let
objectUrl
=
window
.
URL
.
createObjectURL
(
blob
);
// 4.创建url之后可以模拟对此文件对象的一系列操作,例如:预览、下载
let
a
=
document
.
createElement
(
"a"
);
a
.
setAttribute
(
"href"
,
objectUrl
);
a
.
setAttribute
(
"download"
,
`
${
this
.
$route
.
query
.
tagName
}
-
${
new
Date
().
toLocaleDateString
()}
`
);
a
.
click
();
// 5.释放这个临时的对象url
window
.
URL
.
revokeObjectURL
(
objectUrl
);
}
})
},
// 添加和编辑标签值
// 添加和编辑标签值
addTagItem
(
tagItemId
,
tagItemName
)
{
addTagItem
(
tagItemId
,
tagItemName
)
{
...
...
src/view/memberGroup/group-list.vue
View file @
65f76a12
<
template
>
<
template
>
<div
class=
"group-list"
>
<div
class=
"group-list"
v-loading=
"memberGroupLoading"
>
<div
class=
"search-box"
>
<div
class=
"search-box"
>
<el-input
v-model=
"listsParams.classifyName"
clearable
prefix-icon=
"el-icon-search"
placeholder=
"请输入分类名称"
@
change=
"onSearch"
></el-input>
<el-input
v-model=
"listsParams.classifyName"
clearable
prefix-icon=
"el-icon-search"
placeholder=
"请输入分类名称"
@
change=
"onSearch"
></el-input>
</div>
</div>
...
@@ -15,17 +15,15 @@
...
@@ -15,17 +15,15 @@
<i
slot=
"reference"
class=
"iconfont icon-gengduo icon"
></i>
<i
slot=
"reference"
class=
"iconfont icon-gengduo icon"
></i>
</el-popover>
</el-popover>
</li>
</li>
<li
>
<
!--
<
li
>
<div
class=
"el-loading-spinner"
style=
"width: 86%;"
v-if=
"memberGroupLoading"
>
<div
class=
"el-loading-spinner"
style=
"width: 86%;"
v-if=
"memberGroupLoading"
>
<!--
<svg
viewBox=
"25 25 50 50"
class=
"circular"
>
<circle
cx=
"50"
cy=
"50"
r=
"20"
fill=
"none"
class=
"path"
></circle>
</svg>
-->
<i
class=
"el-icon-loading"
></i>
<i
class=
"el-icon-loading"
></i>
</div>
</div>
</li>
</li>
-->
</ul>
</ul>
<p
v-if=
"searchTip"
class=
"searchTip"
>
没有找到和“
{{
listsParams
.
classifyName
}}
”相关的内容
</p>
<div
v-if=
"$getButtonLimit($buttonCode.memberTagAddCateGory) && activeType == 1"
class=
"add-category"
>
<div
v-if=
"$getButtonLimit($buttonCode.memberTagAddCateGory) && activeType == 1"
class=
"add-category"
>
<el-button
@
click=
"editDialog.visible = true"
:limit-code=
"$buttonCode.memberTagAddCateGory"
type=
"primary"
class=
"ghost-btn add-group"
>
新增分类
</el-button>
<el-button
@
click=
"editDialog.visible = true"
:limit-code=
"$buttonCode.memberTagAddCateGory"
type=
"primary"
class=
"ghost-btn add-group"
v-if=
"addType && lists.length"
>
新增分类
</el-button>
</div>
</div>
<!--编辑分类-->
<!--编辑分类-->
<el-dialog
:title=
"editDialog.list.memberTagGroupClassifyId ? '编辑分类' : '新增分类'"
:visible
.
sync=
"editDialog.visible"
width=
"600px"
top=
"30vh"
:close-on-click-modal=
"false"
@
close=
"closeEditGroup"
>
<el-dialog
:title=
"editDialog.list.memberTagGroupClassifyId ? '编辑分类' : '新增分类'"
:visible
.
sync=
"editDialog.visible"
width=
"600px"
top=
"30vh"
:close-on-click-modal=
"false"
@
close=
"closeEditGroup"
>
...
@@ -51,6 +49,7 @@ export default {
...
@@ -51,6 +49,7 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
searchTip
:
false
,
addGroupDialog
:
false
,
addGroupDialog
:
false
,
listsParams
:
{
listsParams
:
{
// type: '', // 类型 0:客户分组,1:固化分组
// type: '', // 类型 0:客户分组,1:固化分组
...
@@ -67,8 +66,8 @@ export default {
...
@@ -67,8 +66,8 @@ export default {
classifyName
:
''
,
classifyName
:
''
,
list
:
{}
list
:
{}
},
},
memberGroupLoading
:
false
memberGroupLoading
:
false
,
addType
:
true
};
};
},
},
...
@@ -214,6 +213,17 @@ export default {
...
@@ -214,6 +213,17 @@ export default {
this
.
memberGroupLoading
=
false
;
this
.
memberGroupLoading
=
false
;
if
(
res
.
errorCode
==
0
)
{
if
(
res
.
errorCode
==
0
)
{
const
{
result
,
totalPage
}
=
res
.
result
||
{};
const
{
result
,
totalPage
}
=
res
.
result
||
{};
if
(
this
.
listsParams
.
classifyName
==
''
)
{
this
.
searchTip
=
false
;
this
.
addType
=
true
;
}
else
if
(
this
.
listsParams
.
classifyName
!=
''
)
{
this
.
addType
=
false
;
if
(
result
.
length
<=
0
)
{
this
.
searchTip
=
true
;
}
else
{
this
.
searchTip
=
false
;
}
}
if
(
pageNum
==
1
)
{
if
(
pageNum
==
1
)
{
this
.
lists
=
[];
this
.
lists
=
[];
}
}
...
@@ -245,7 +255,7 @@ export default {
...
@@ -245,7 +255,7 @@ export default {
}
else
if
(
newVal
==
3
)
{
}
else
if
(
newVal
==
3
)
{
this
.
$emit
(
'second-list'
,
'allLevel'
);
this
.
$emit
(
'second-list'
,
'allLevel'
);
}
}
}
}
,
}
}
};
};
</
script
>
</
script
>
...
@@ -271,10 +281,19 @@ export default {
...
@@ -271,10 +281,19 @@ export default {
justify-content
:
space-between
;
justify-content
:
space-between
;
align-items
:
center
;
align-items
:
center
;
.icon
{
.icon
{
display
:
inline-block
;
width
:
16px
;
height
:
16px
;
padding
:
1px
;
border-radius
:
2px
;
margin
:
0
4px
;
margin
:
0
4px
;
}
}
&
:hover
{
&
:hover
{
color
:
#2F54EB
;
color
:
#2F54EB
;
background
:
#F2F3F5
;
.
icon
:
hover
{
background
:
RGBA
(
229
,
230
,
235
,
1
);
}
}
}
.name-txt
{
.name-txt
{
display
:
inline-block
;
display
:
inline-block
;
...
@@ -290,23 +309,22 @@ export default {
...
@@ -290,23 +309,22 @@ export default {
overflow-y
:
auto
;
overflow-y
:
auto
;
.active-li
{
.active-li
{
color
:
#2F54EB
;
color
:
#2F54EB
;
background-color
:
#EBEFFE
;
background-color
:
#ebeffe
;
.icon
{
.wrap
span{
color
:
#2f54eb
;
padding-left
:
6px
;
color
:
#2f54eb
;
}
.icon
:hover
{
background
:
#d8defc
;
}
}
}
}
.wrap
span
{
.wrap
span
{
padding-left
:
6px
;
padding-left
:
6px
;
color
:
#303133
;
color
:
#303133
;
}
}
li
:hover
{
background-color
:
#EBEFFE
;
.icon
{
color
:
#2f54eb
;
}
}
}
}
.more
{
.more
{
line-height
:
26px
;
line-height
:
26px
;
text-align
:
center
;
text-align
:
center
;
...
@@ -315,4 +333,11 @@ export default {
...
@@ -315,4 +333,11 @@ export default {
color
:
#2f54eb
;
color
:
#2f54eb
;
}
}
}
}
.searchTip
{
width
:
100%
;
text-align
:
center
;
margin-top
:
80%
;
color
:
#909399
;
font-size
:
14px
;
}
</
style
>
</
style
>
src/view/memberGroup/memberGroupEdit.vue
View file @
65f76a12
...
@@ -660,6 +660,7 @@ export default {
...
@@ -660,6 +660,7 @@ export default {
// 获取一个标签分类下面的标签数据
// 获取一个标签分类下面的标签数据
getTagsGroupList
()
{
getTagsGroupList
()
{
const
tagType
=
this
.
activeTag
==
'system'
?
0
:
this
.
activeTag
==
'manual'
?
1
:
2
;
const
tagType
=
this
.
activeTag
==
'system'
?
0
:
this
.
activeTag
==
'manual'
?
1
:
2
;
console
.
log
(
this
.
searchData
,
'this.searchData'
);
const
params
=
{
const
params
=
{
requestProject
:
'gic-member-tag-web'
,
requestProject
:
'gic-member-tag-web'
,
search
:
this
.
searchData
||
null
,
// 模糊查询的标签名
search
:
this
.
searchData
||
null
,
// 模糊查询的标签名
...
...
src/view/memberGroup/memberGroupList.vue
View file @
65f76a12
...
@@ -1072,6 +1072,7 @@ export default {
...
@@ -1072,6 +1072,7 @@ export default {
return
false
;
return
false
;
}
else
{
}
else
{
this
.
operateNumber
=
val
;
this
.
operateNumber
=
val
;
console
.
log
(
val
,
'val'
);
this
.
batchVisiable
=
true
;
this
.
batchVisiable
=
true
;
}
}
},
},
...
...
src/view/platformTag/member-tag.vue
View file @
65f76a12
...
@@ -43,7 +43,7 @@
...
@@ -43,7 +43,7 @@
style=
"width: 260px;float: left;margin-left: 0"
style=
"width: 260px;float: left;margin-left: 0"
v-model=
"memberTag"
v-model=
"memberTag"
@
keyup
.
native
.
enter=
"searchMemberList"
@
keyup
.
native
.
enter=
"searchMemberList"
@
blur
=
"searchMemberList"
@
change
=
"searchMemberList"
@
clear=
"allTagList"
@
clear=
"allTagList"
clearable
clearable
></el-input>
></el-input>
...
@@ -609,7 +609,7 @@ export default {
...
@@ -609,7 +609,7 @@ export default {
try
{
try
{
const
params
=
{
const
params
=
{
requestProject
:
'gic-member-tag-web'
,
requestProject
:
'gic-member-tag-web'
,
search
:
opt
.
searchName
||
null
,
// 标签名
search
:
opt
.
searchName
||
null
||
this
.
memberTag
,
// 标签名
tagLevelGroupId
:
opt
.
id
||
''
,
// 标签层级
tagLevelGroupId
:
opt
.
id
||
''
,
// 标签层级
tagType
,
// 标签类型
tagType
,
// 标签类型
showMemberCount
:
1
,
// 覆盖人数
showMemberCount
:
1
,
// 覆盖人数
...
@@ -667,8 +667,8 @@ export default {
...
@@ -667,8 +667,8 @@ export default {
},
},
// 模糊查询会员标签
// 模糊查询会员标签
searchMemberList
()
{
searchMemberList
(
e
)
{
console
.
log
(
this
.
activeTag
);
//
console.log(this.activeTag);
if
(
this
.
memberTag
)
{
if
(
this
.
memberTag
)
{
this
.
tagName
=
this
.
memberTag
;
this
.
tagName
=
this
.
memberTag
;
}
else
{
}
else
{
...
@@ -677,7 +677,8 @@ export default {
...
@@ -677,7 +677,8 @@ export default {
// this.handTag = null;
// this.handTag = null;
this
.
loadMemberTagList
({
this
.
loadMemberTagList
({
searchName
:
this
.
memberTag
,
searchName
:
this
.
memberTag
,
showSearchResult
:
true
showSearchResult
:
true
,
id
:
this
.
groupId
});
});
this
.
pageNum
=
1
;
this
.
pageNum
=
1
;
// this.handTag = null;
// this.handTag = null;
...
...
src/view/platformTag/tag-container.vue
View file @
65f76a12
...
@@ -131,7 +131,7 @@ export default {
...
@@ -131,7 +131,7 @@ export default {
localStorage
.
setItem
(
'jumpThirdTag'
,
''
);
localStorage
.
setItem
(
'jumpThirdTag'
,
''
);
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
'/manualTagValueEdit'
,
path
:
'/manualTagValueEdit'
,
query
:
{
tagId
:
list
.
tagId
,
type
:
'manual'
}
query
:
{
tagId
:
list
.
tagId
,
tagName
:
list
.
tagName
,
type
:
'manual'
}
});
});
},
},
deleteHandTag
(
list
,
index
,
e
)
{
deleteHandTag
(
list
,
index
,
e
)
{
...
...
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