Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
marketing
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
marketing-web
marketing
Commits
e214d582
Commit
e214d582
authored
Sep 16, 2021
by
黑潮
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: 智能营销
parent
18b3392b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
50 additions
and
16 deletions
+50
-16
marketing.js
src/store/modules/marketing.js
+5
-1
index.vue
src/views/ecm/index.vue
+3
-1
list.vue
src/views/ecm/list.vue
+42
-14
No files found.
src/store/modules/marketing.js
View file @
e214d582
...
...
@@ -19,7 +19,8 @@ const state = {
xsxsFlag
:
false
,
// 是否开启销售线索
userId
:
''
,
departAuth
:
0
,
superAdmin
:
0
superAdmin
:
0
,
keepAlive
:
''
};
// getters
...
...
@@ -116,6 +117,9 @@ const mutations = {
},
updateUserId
(
state
,
val
)
{
state
.
userId
=
val
;
},
setKeepAlive
(
state
,
val
)
{
state
.
keepAlive
=
val
;
}
};
...
...
src/views/ecm/index.vue
View file @
e214d582
<
template
>
<div>
<router-view></router-view>
<keep-alive
:include=
"$store.state.marketing.keepAlive"
>
<router-view></router-view>
</keep-alive>
</div>
</
template
>
...
...
src/views/ecm/list.vue
View file @
e214d582
<
template
>
<section
class=
"dm-wrap"
v-loading=
"loading"
>
<div
class=
"pb22 clearfix"
>
<!--
<el-select
class=
"dm-select"
clearable=
""
v-model=
"listParams.effectType"
placeholder=
"选择时效"
@
change=
"search"
>
<el-input
v-model=
"listParams.searchName"
class=
"w250"
placeholder=
"输入计划名称"
clearable
@
change=
"search"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
<span
style=
"margin:0 10px"
>
时效
</span>
<el-select
class=
"dm-select"
clearable=
""
v-model=
"listParams.effectType"
placeholder=
"所有时效"
@
change=
"search"
>
<el-option
v-for=
"(v, i) in effectTypeOption"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
</el-select>
-->
<!--
<el-select
class=
"dm-select"
clearable
v-model=
"listParams.marketingType"
placeholder=
"选择营销方式"
@
change=
"search"
>
</el-select>
<span
style=
"margin:0 10px"
>
营销方式
</span>
<el-select
class=
"dm-select"
clearable
v-model=
"listParams.marketingType"
placeholder=
"所有营销方式"
@
change=
"search"
>
<el-option
v-for=
"(v, i) in showMarketingTypeOptions"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
</el-select>
-->
</el-select>
<span
style=
"margin:0 10px"
>
状态
</span>
<!--
<dm-activity-select
class=
"vertical-middle"
onlySelect
width=
"130"
:actId
.
sync=
"listParams.marketingActivityId"
@
actUpdate=
"search"
></dm-activity-select>
-->
<
!--
<el-select
class=
"dm-select"
clearable
v-model=
"listParams.onlineStatus"
placeholder=
"选择
状态"
@
change=
"search"
>
<
el-select
class=
"dm-select"
clearable
v-model=
"listParams.onlineStatus"
placeholder=
"所有
状态"
@
change=
"search"
>
<el-option
v-for=
"(v, i) in onlineOptions"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
</el-select>
-->
<el-input
v-model=
"listParams.searchName"
class=
"w250"
placeholder=
"输入计划名称"
clearable
@
change=
"search"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
</el-select>
<el-button
type=
"text"
@
click=
"showSearch = !showSearch"
class=
"senior-search"
>
高级搜索
<i
:class=
"showSearch ? 'el-icon-d-arrow-left' : 'el-icon-d-arrow-right'"
></i></el-button>
<el-button
type=
"primary"
@
click=
"resetFilter"
>
重置
</el-button>
<!--
<el-checkbox
class=
"vertical-middle"
v-if=
"$store.state.marketing.isShowSelf"
v-model=
"listParams.showSelfFlag"
:true-label=
"1"
:false-label=
"0"
label=
"仅看本人"
border
@
change=
"search"
/>
-->
<!--
<el-date-picker
v-model=
"dateTime"
style=
"width:250px"
type=
"daterange"
value-format=
"yyyy-MM-dd"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"search"
></el-date-picker>
-->
<el-button
class=
"fr"
type=
"primary"
@
click=
"$router.push('/ecm/add')"
>
新建计划
</el-button>
...
...
@@ -25,7 +29,7 @@
<el-form-item
label=
"创建时间"
class=
"inline-item"
>
<el-date-picker
style=
"width:350px"
v-model=
"dateTime"
type=
"daterange"
value-format=
"yyyy-MM-dd"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"search"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"选择时效"
class=
"inline-item"
>
<
!--
<
el-form-item
label=
"选择时效"
class=
"inline-item"
>
<el-select
style=
"width:350px"
clearable=
""
v-model=
"listParams.effectType"
placeholder=
"选择时效"
@
change=
"search"
>
<el-option
v-for=
"(v, i) in effectTypeOption"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
</el-select>
...
...
@@ -39,9 +43,9 @@
<el-select
style=
"width:350px"
clearable
v-model=
"listParams.onlineStatus"
placeholder=
"选择状态"
@
change=
"search"
>
<el-option
v-for=
"(v, i) in onlineOptions"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
</el-select>
</el-form-item>
</el-form-item>
-->
<el-form-item
label=
"选择数据对话"
class=
"inline-item"
>
<dm-activity-select
class=
"vertical-middle"
onlySelect
width=
"350"
:actId
.
sync=
"listParams.marketingActivityId"
@
actUpdate=
"search"
></dm-activity-select>
<dm-activity-select
ref=
"activity"
class=
"vertical-middle"
onlySelect
width=
"350"
:actId
.
sync=
"listParams.marketingActivityId"
@
actUpdate=
"search"
></dm-activity-select>
</el-form-item>
<el-form-item
v-if=
"$store.state.marketing.isShowSelf"
class=
"inline-item"
>
<el-checkbox
class=
"vertical-middle"
v-model=
"listParams.showSelfFlag"
:true-label=
"1"
:false-label=
"0"
label=
"仅看本人"
border
@
change=
"search"
/>
...
...
@@ -120,22 +124,22 @@ import activitySelect from '@/components/activity-select/index.vue';
import
{
loadEcmList
,
deleteEcm
,
offlineEcmPlan
,
getUseStoredFalg
,
getXsxsFalg
}
from
'@/service/api/ecmApi.js'
;
import
{
formatDateTimeByType
}
from
'@/utils/index.js'
;
import
{
ecmTypes
}
from
'@/config/ecm.js'
;
const
marketingTypeOptions
=
[
{
value
:
''
,
label
:
'所有发送类型'
,
visible
:
true
},
...
JSON
.
parse
(
JSON
.
stringify
(
ecmTypes
))];
// eslint-disable-line
const
marketingTypeOptions
=
[
/* { value: '', label: '所有发送类型', visible: true }, */
...
JSON
.
parse
(
JSON
.
stringify
(
ecmTypes
))];
// eslint-disable-line
export
default
{
name
:
'ecm'
,
name
:
'ecm
-list
'
,
data
()
{
return
{
showSearch
:
false
,
dateTime
:
null
,
formatDateTimeByType
,
effectTypeOption
:
[
{
value
:
''
,
label
:
'所有时效'
},
//
{ value: '', label: '所有时效' },
{
value
:
0
,
label
:
'触点'
},
{
value
:
1
,
label
:
'重复'
},
{
value
:
2
,
label
:
'单次'
}
],
// eslint-disable-line
onlineOptions
:
[
{
value
:
''
,
label
:
'所有状态'
},
//
{ value: '', label: '所有状态' },
{
value
:
0
,
label
:
'未开始'
},
{
value
:
1
,
label
:
'进行中'
},
{
value
:
2
,
label
:
'已结束'
}
...
...
@@ -280,6 +284,16 @@ export default {
components
:
{
activitySelect
},
beforeRouteLeave
(
to
,
from
,
next
)
{
const
paths
=
[
'/ecm/copy'
,
'/ecm/edit'
,
'/ecm/oncelist'
,
'/ecm/currentlist'
,
'/ecm/batchlist'
,
'/ecm/touch'
,
'/ecm/info'
];
const
matched
=
paths
.
some
(
el
=>
to
.
path
.
indexOf
(
el
)
>
-
1
);
if
(
!
matched
)
{
this
.
$store
.
commit
(
'setKeepAlive'
,
''
);
}
else
{
this
.
$store
.
commit
(
'setKeepAlive'
,
'ecm-list'
);
}
next
();
},
created
()
{
this
.
setXsxsFlag
();
getUseStoredFalg
().
then
(
res
=>
{
...
...
@@ -295,6 +309,20 @@ export default {
]);
// eslint-disable-line
},
methods
:
{
resetFilter
()
{
let
keys
=
[
'effectType'
,
'marketingType'
,
'marketingActivityId'
,
'onlineStatus'
,
'searchName'
,
'currentPage'
,
'showSelfFlag'
];
keys
.
forEach
(
el
=>
{
if
(
el
===
'currentPage'
)
{
this
.
listParams
[
el
]
=
1
;
}
else
{
this
.
listParams
[
el
]
=
''
;
}
});
this
.
dateTime
=
null
;
this
.
$refs
.
activity
.
marketingActivityId
=
''
;
this
.
$refs
.
activity
.
updateActId
(
''
);
// this.search();
},
search
()
{
this
.
listParams
.
currentPage
=
1
;
this
.
loadEcmList
();
...
...
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