Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
member
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
member
member
Commits
348940a1
Commit
348940a1
authored
Feb 21, 2022
by
liuchenxi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: 下拉树接入
parent
b723c6dd
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
55 additions
and
109 deletions
+55
-109
allCustomersList.vue
src/components/allCustomers/allCustomersList.vue
+1
-25
index.js
src/components/allCustomers/index.js
+36
-66
card.vue
src/components/marketingRecord/components/card.vue
+5
-5
ecm.vue
src/components/marketingRecord/components/ecm.vue
+1
-1
message.vue
src/components/marketingRecord/components/message.vue
+1
-1
wechat.vue
src/components/marketingRecord/components/wechat.vue
+1
-1
index.vue
src/components/marketingRecord/index.vue
+5
-5
abnormal-member.vue
src/components/wechatmembers/abnormal-member.vue
+1
-1
iconfont.css
static/font/iconfont.css
+4
-4
No files found.
src/components/allCustomers/allCustomersList.vue
View file @
348940a1
...
...
@@ -31,31 +31,7 @@
@
change
=
"onSearch"
clearable
/>
<
el
-
select
v
-
model
=
"customerTypeLabel"
placeholder
=
"全部客户"
multiple
class
=
"all-coustomer-select"
ref
=
"select"
@
change
=
"selectChange"
style
=
"width: 220px;margin-left:10px;height: 32px"
>
<
el
-
option
:
value
=
"customerType"
style
=
"height: auto;padding:0"
>
<
el
-
tree
:
data
=
"treeData"
show
-
checkbox
node
-
key
=
"id"
ref
=
"tree"
class
=
"customer-tree"
highlight
-
current
default
-
expand
-
all
:
props
=
"defaultProps"
:
expand
-
on
-
click
-
node
=
"false"
@
check
=
"handleCheckChange"
@
node
-
click
=
"handleClickNode"
/>
<
/el-option
>
<
/el-select
>
<
vue
-
gic
-
select
-
tree
:
options
=
"selectTreeOptions"
@
change
=
"onSelectTreeChange"
style
=
"display: inline-block;margin-left:10px; height: 32px"
/>
<
el
-
button
type
=
"text"
@
click
=
"showSearch = !showSearch"
class
=
"senior-search"
>
高级搜索
<
i
:
class
=
"showSearch ? 'el-icon-d-arrow-left' : 'el-icon-d-arrow-right'"
...
...
src/components/allCustomers/index.js
View file @
348940a1
...
...
@@ -38,7 +38,6 @@ export default {
totalCount
:
0
,
loading
:
false
,
tableData
:
[],
customerTypeLabel
:
""
,
// "非会员,微信会员,POS会员",
customerType
:
[
// { id: 1, label: "非会员" },
// { id: 3, label: "微信会员" },
...
...
@@ -71,30 +70,46 @@ export default {
integralFlag
:
""
,
// 积分调整权限
memberGrade
:
[],
// 商户等级列表
cliqueMemberGrade
:
[],
// 集团等级列表
treeData
:
[
{
id
:
1
,
label
:
"非会员"
,
disabled
:
false
selectTreeOptions
:
{
selectOptions
:
{
allCheckText
:
'全部客户'
,
placeholder
:
'全部客户'
,
width
:
220
},
{
id
:
2
,
label
:
"会员"
,
disabled
:
false
,
children
:
[
treeOptions
:
{
data
:
[
{
id
:
3
,
label
:
"
微信
会员"
,
id
:
1
,
label
:
"
非
会员"
,
disabled
:
false
},
{
id
:
4
,
label
:
"POS会员"
,
disabled
:
false
id
:
2
,
label
:
"会员"
,
disabled
:
false
,
children
:
[
{
id
:
3
,
label
:
"微信会员"
,
disabled
:
false
},
{
id
:
4
,
label
:
"POS会员"
,
disabled
:
false
}
]
}
]
}
],
],
props
:
{
label
:
'label'
,
children
:
'children'
,
value
:
'id'
}
},
searchAble
:
false
,
multipleAble
:
true
},
defaultProps
:
{
children
:
"children"
,
label
:
"label"
...
...
@@ -175,56 +190,11 @@ export default {
this
.
getFindMemberFields
();
this
.
getAjaxMembers
();
this
.
getEnterpriseInfo
();
// 默认勾选全部客户类型 1-非会员 notMember 3-微信会员 wxOpenCarMember 4-pos会员 posMember
// this.$refs.tree.setCheckedNodes(this.treeData);
// this.$nextTick(_ => {
// this.handleCheckChange();
// });
},
beforUpdate
()
{},
methods
:
{
selectChange
(
e
)
{
const
arrNew
=
[];
const
dataLength
=
this
.
customerType
.
length
;
const
eleng
=
e
.
length
;
for
(
let
i
=
0
;
i
<
dataLength
;
i
++
)
{
for
(
let
j
=
0
;
j
<
eleng
;
j
++
)
{
if
(
e
[
j
]
===
this
.
customerType
[
i
].
label
)
{
arrNew
.
push
(
this
.
customerType
[
i
]);
}
}
}
this
.
$refs
.
tree
.
setCheckedNodes
(
arrNew
);
this
.
$nextTick
(
_
=>
{
this
.
handleCheckChange
();
});
},
handleCheckChange
(
data
,
nodes
)
{
const
res
=
this
.
$refs
.
tree
.
getCheckedNodes
(
true
,
true
);
// 这里两个true,1. 是否只是叶子节点 2. 是否包含半选节点(就是使得选择的时候不包含父节点)
const
getAllCheck
=
this
.
$refs
.
tree
.
getCheckedNodes
(
false
,
true
)
const
arrLabel
=
[];
const
arr
=
[];
res
.
forEach
(
item
=>
{
item
.
disabled
=
false
;
arrLabel
.
push
(
item
.
label
);
arr
.
push
(
item
);
});
this
.
customerType
=
[].
concat
(
arr
);
this
.
customerTypeLabel
=
[].
concat
(
arrLabel
);
const
sum
=
this
.
searchTreeNodeNum
(
this
.
treeData
);
if
(
getAllCheck
.
length
==
sum
)
this
.
customerTypeLabel
=
[
'全部客户'
];
},
searchTreeNodeNum
(
tree
)
{
let
num
=
0
;
tree
.
forEach
(
el
=>
{
num
++
;
if
(
Array
.
isArray
(
el
.
children
)
&&
el
.
children
.
length
>
0
)
num
+=
this
.
searchTreeNodeNum
(
el
.
children
,
num
);
})
return
num
;
},
handleClickNode
(
data
,
node
)
{
this
.
$refs
.
tree
.
setChecked
(
data
,
!
node
.
checked
,
true
);
this
.
handleCheckChange
();
onSelectTreeChange
(
data
)
{
this
.
customerType
=
data
;
},
initialize
()
{
this
.
pageParam
.
phoneNameCard
=
sessionStorage
.
getItem
(
"phoneNameCard"
)
...
...
src/components/marketingRecord/components/card.vue
View file @
348940a1
<
template
>
<div
class=
"marketing-card mt5"
>
<div
class=
"search mb10"
>
投放时间:
<el-date-picker
:clearable=
"false"
class=
"w256 mb10"
value-format=
"yyyy-MM-dd"
:pickerOptions=
"pickerOptions"
v-model=
"launchTime"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"change"
></el-date-picker>
领取时间:
<el-date-picker
class=
"m
l
10 w256 mb10"
value-format=
"yyyy-MM-dd"
:pickerOptions=
"pickerOptions"
v-model=
"collectionTime"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"change"
></el-date-picker>
投放时间:
<el-date-picker
:clearable=
"false"
class=
"w256 mb10
mr10
"
value-format=
"yyyy-MM-dd"
:pickerOptions=
"pickerOptions"
v-model=
"launchTime"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"change"
></el-date-picker>
领取时间:
<el-date-picker
class=
"m
r
10 w256 mb10"
value-format=
"yyyy-MM-dd"
:pickerOptions=
"pickerOptions"
v-model=
"collectionTime"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"change"
></el-date-picker>
<el-input
v-model=
"search.search"
placeholder=
"请输入卡券券码"
class=
"w260 m
l
10 mb10"
class=
"w260 m
r
10 mb10"
prefix-icon=
"el-icon-search"
@
change=
"change"
clearable
/>
<el-select
class=
"
ml10
w160 mb10 mr10"
v-model=
"search.cardType"
placeholder=
"所有卡券类型"
clearable
@
change=
"change"
>
<el-select
class=
"w160 mb10 mr10"
v-model=
"search.cardType"
placeholder=
"所有卡券类型"
clearable
@
change=
"change"
>
<el-option
v-for=
"item in cardTypeList"
:key=
"item.id"
:value=
"item.value"
:label=
"item.label"
/>
</el-select>
<el-select
class=
"w160 mb10"
v-model=
"search.receiveCode"
placeholder=
"所有投放渠道"
clearable
@
change=
"change"
>
...
...
@@ -49,7 +49,7 @@
:current-page=
"tableData.currentPage"
:page-sizes=
"tableData.pageSizeList"
:page-size=
"tableData.pageSize"
layout=
"total, sizes, prev, pager, next
, jumper
"
layout=
"total, sizes, prev, pager, next"
:total=
"tableData.total"
>
</dm-pagination>
...
...
src/components/marketingRecord/components/ecm.vue
View file @
348940a1
...
...
@@ -45,7 +45,7 @@
:current-page=
"tableData.currentPage"
:page-sizes=
"tableData.pageSizeList"
:page-size=
"tableData.pageSize"
layout=
"total, sizes, prev, pager, next
, jumper
"
layout=
"total, sizes, prev, pager, next"
:total=
"tableData.total"
>
</dm-pagination>
...
...
src/components/marketingRecord/components/message.vue
View file @
348940a1
...
...
@@ -37,7 +37,7 @@
:current-page=
"tableData.currentPage"
:page-sizes=
"tableData.pageSizeList"
:page-size=
"tableData.pageSize"
layout=
"total, sizes, prev, pager, next
, jumper
"
layout=
"total, sizes, prev, pager, next"
:total=
"tableData.total"
>
</dm-pagination>
...
...
src/components/marketingRecord/components/wechat.vue
View file @
348940a1
...
...
@@ -37,7 +37,7 @@
:current-page=
"tableData.currentPage"
:page-sizes=
"tableData.pageSizeList"
:page-size=
"tableData.pageSize"
layout=
"total, sizes, prev, pager, next
, jumper
"
layout=
"total, sizes, prev, pager, next"
:total=
"tableData.total"
>
</dm-pagination>
...
...
src/components/marketingRecord/index.vue
View file @
348940a1
...
...
@@ -136,7 +136,7 @@ export default {
prop
:
"createDate"
,
minWidth
:
80
,
formatter
(
row
)
{
return
`
${
dateformat
(
new
Date
(
row
.
createDate
),
'yyyy-MM-dd hh:mm:ss'
)
}
`
;
return
`
${
row
.
createDate
?
dateformat
(
new
Date
(
row
.
createDate
),
'yyyy-MM-dd hh:mm:ss'
)
:
'--'
}
`
;
}
},
{
label
:
"计划名称"
,
prop
:
"ecmName"
,
minWidth
:
120
},
...
...
@@ -172,7 +172,7 @@ export default {
prop
:
"createDate"
,
minWidth
:
100
,
formatter
(
row
)
{
return
`
${
dateformat
(
new
Date
(
row
.
createDate
),
'yyyy-MM-dd hh:mm:ss'
)
}
`
;
return
`
${
row
.
createDate
?
dateformat
(
new
Date
(
row
.
createDate
),
'yyyy-MM-dd hh:mm:ss'
)
:
'--'
}
`
;
}
},
{
...
...
@@ -180,7 +180,7 @@ export default {
prop
:
"receiveTime"
,
minWidth
:
100
,
formatter
(
row
)
{
return
`
${
dateformat
(
new
Date
(
row
.
receiveTime
),
'yyyy-MM-dd hh:mm:ss'
)
}
`
;
return
`
${
row
.
receiveTime
?
dateformat
(
new
Date
(
row
.
receiveTime
),
'yyyy-MM-dd hh:mm:ss'
)
:
'--'
}
`
;
}
},
{
label
:
"卡券名称"
,
prop
:
"cardName"
,
minWidth
:
100
,
},
...
...
@@ -208,7 +208,7 @@ export default {
prop
:
"createDate"
,
minWidth
:
80
,
formatter
(
row
)
{
return
`
${
dateformat
(
new
Date
(
row
.
createDate
),
'yyyy-MM-dd hh:mm:ss'
)
}
`
;
return
`
${
row
.
createDate
?
dateformat
(
new
Date
(
row
.
createDate
),
'yyyy-MM-dd hh:mm:ss'
)
:
'--'
}
`
;
}
},
{
label
:
"模板类型"
,
prop
:
"smsType"
,
minWidth
:
50
,
formatter
(
row
)
{
...
...
@@ -223,7 +223,7 @@ export default {
prop
:
"createDate"
,
minWidth
:
80
,
formatter
(
row
)
{
return
`
${
dateformat
(
new
Date
(
row
.
createDate
),
'yyyy-MM-dd hh-mm-ss'
)
}
`
;
return
`
${
row
.
createDate
?
dateformat
(
new
Date
(
row
.
createDate
),
'yyyy-MM-dd hh-mm-ss'
)
:
'--'
}
`
;
}
},
{
label
:
"素材类型"
,
prop
:
"contentType"
,
minWidth
:
60
,
formatter
(
row
)
{
...
...
src/components/wechatmembers/abnormal-member.vue
View file @
348940a1
...
...
@@ -272,7 +272,7 @@
:current-page=
"currentPage"
:page-sizes=
"[20, 50, 75, 100]"
:page-size=
"pageSize"
layout=
"total, sizes, prev, pager, next
, jumper
"
layout=
"total, sizes, prev, pager, next"
:total=
"total"
>
</dm-pagination>
...
...
static/font/iconfont.css
View file @
348940a1
...
...
@@ -277,9 +277,9 @@
content
:
"\eb4d"
;
}
.icon-tubiao_tupiankongjian
:before
{
/*
.icon-tubiao_tupiankongjian:before {
content: "\e656";
}
}
*/
.icon-video1
:before
{
content
:
"\e64b"
;
...
...
@@ -937,9 +937,9 @@
content
:
"\ea30"
;
}
.icon-lianjie
:before
{
/*
.icon-lianjie:before {
content: "\e627";
}
}
*/
.icon-duankailianjie
:before
{
content
:
"\e674"
;
...
...
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