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
99c4f3e8
Commit
99c4f3e8
authored
Apr 18, 2022
by
crushh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: ui
parent
64e9731f
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
64 additions
and
40 deletions
+64
-40
index.vue
src/components/dm-new-member-group/index.vue
+4
-0
table.vue
src/components/dm-new-member-group/table.vue
+1
-1
ruleFilter.vue
src/components/dm-new-rule/ruleFilter.vue
+30
-17
holidayActiveTime.vue
src/views/ai/task/components/holidayActiveTime.vue
+8
-5
form.vue
src/views/ai/task/form.vue
+14
-8
info.vue
src/views/ai/task/info.vue
+2
-2
manualTagEdit.vue
src/views/ai/task/manualTagEdit.vue
+3
-3
tagPop.vue
src/views/ai/task/tagPop.vue
+1
-3
task.vue
src/views/ai/task/task.vue
+1
-1
No files found.
src/components/dm-new-member-group/index.vue
View file @
99c4f3e8
...
...
@@ -262,6 +262,7 @@ export default {
display
:
flex
;
box-sizing
:
border-box
;
align-items
:
center
;
margin-bottom
:
5px
;
.line
{
width
:
2px
;
height
:
14px
;
...
...
@@ -312,6 +313,9 @@ export default {
border
:
1px
solid
#dcdfe6
;
padding
:
5px
17px
;
box-sizing
:
border-box
;
/deep/
.el-table
th.el-table__cell
{
line-height
:
1
;
}
}
.right
{
...
...
src/components/dm-new-member-group/table.vue
View file @
99c4f3e8
...
...
@@ -227,7 +227,7 @@ export default {
}
.pageBtn
{
float
:
right
;
margin
:
10px
0
;
margin
-top
:
5px
;
}
.h-18
{
line-height
:
18px
;
...
...
src/components/dm-new-rule/ruleFilter.vue
View file @
99c4f3e8
...
...
@@ -27,8 +27,8 @@
</el-checkbox-group>
</div>
<div
v-if=
"item.templateCode == 'com026' && templateCode == 'com026'"
class=
"leftContent"
>
<div
class=
"line"
v-for=
"(value, index) in item.selectList"
:key=
"index"
>
<
h3>
{{
value
.
title
}}
</h3
>
<div
class=
"l
eftL
ine"
v-for=
"(value, index) in item.selectList"
:key=
"index"
>
<
div
class=
"title"
>
{{
value
.
title
}}
</div
>
<el-checkbox-group
v-model=
"item.selectValue"
@
change=
"val => handleChange(val, item.esScreeningWidgetChainId)"
class=
"checkBoxContainer"
>
<el-checkbox
v-for=
"row in value.data"
:key=
"row.key"
:label=
"row.key"
>
{{
row
.
value
}}
</el-checkbox>
</el-checkbox-group>
...
...
@@ -47,11 +47,12 @@
<div
class=
"right"
>
<div
class=
"right-top"
>
已选条件
<span
class=
"tips"
>
需满足选择的所有条件
</span>
</div>
<ul
class=
"right-content"
v-loading=
"selectDataLoading"
>
<li
class=
"contact-li"
v-for=
"(item, index) in selectData"
:key=
"index"
>
<div
class=
"li-cell cursor-pointer"
>
{{
item
.
chainNodeName
}}
<i
v-if=
"!readonly"
class=
"el-icon-close"
@
click=
"deleteRow(item)"
></i></div>
<
span>
{{
item
.
selectValue
}}
</span
>
<
div
class=
"content"
>
{{
item
.
selectValue
}}
</div
>
</li>
</ul>
</div>
...
...
@@ -365,17 +366,13 @@ export default {
display
:
flex
;
box-sizing
:
border-box
;
align-items
:
center
;
margin-bottom
:
5px
;
.line
{
width
:
2px
;
height
:
14px
;
background
:
#2f54eb
;
margin-right
:
8px
;
}
.text
{
font-size
:
14px
;
color
:
#303133
;
width
:
100%
;
}
}
.ruleFilter
{
width
:
400px
;
...
...
@@ -421,10 +418,23 @@ export default {
border
:
1px
solid
#dcdfe6
;
.leftContent
{
width
:
100%
;
padding
:
0
15px
0
5px
;
padding
:
9px
15px
0
5px
;
box-sizing
:
border-box
;
height
:
550px
;
overflow-y
:
auto
;
.title
{
font-size
:
14px
;
font-weight
:
500
;
color
:
#303133
;
line-height
:
20px
;
margin-bottom
:
12px
;
}
.leftLine
{
margin-bottom
:
24px
;
&:last-child
{
margin-bottom
:
0
;
}
}
}
}
.right
{
...
...
@@ -436,12 +446,13 @@ export default {
.right-top
{
padding
:
20px
15px
7px
15px
;
display
:
flex
;
justify-content
:
space-between
;
color
:
#303133
;
box-sizing
:
border-box
;
line-height
:
20px
;
background
:
#fff
;
.tips
{
font-size
:
12px
;
margin-left
:
8px
;
color
:
#909399
;
}
}
.right-content
{
color
:
#303133
;
...
...
@@ -449,7 +460,7 @@ export default {
height
:
89%
;
}
.contact-li
{
padding
:
0
12px
0
16px
;
padding
:
0
12px
8px
16px
;
margin-top
:
4px
;
&:hover
{
background
:
#f7f8fa
;
...
...
@@ -465,7 +476,7 @@ export default {
justify-content
:
space-between
;
align-items
:
center
;
box-sizing
:
border-box
;
font-weight
:
bolder
;
font-weight
:
500
;
i
{
width
:
20px
;
height
:
20px
;
...
...
@@ -480,6 +491,9 @@ export default {
}
}
}
.content
{
line-height
:
20px
;
}
}
.contact-li
+
.contact-li
{
margin-top
:
4px
;
...
...
@@ -488,9 +502,8 @@ export default {
.checkBoxContainer
{
display
:
flex
;
flex-wrap
:
wrap
;
gap
:
10px
;
.el-checkbox
+
.el-checkbox
{
margin
:
0
;
margin
-left
:
0
;
}
}
</
style
>
src/views/ai/task/components/holidayActiveTime.vue
View file @
99c4f3e8
...
...
@@ -8,7 +8,8 @@
<span
class=
"tips ml20"
>
为保证触达率,节日活动需要提前创建,不支持创建节日日期为活动创建日的活动
</span>
<div
v-if=
"form.holiday_type == 1"
>
<el-tag
type=
"mini"
v-if=
"form.holiday_name1"
>
{{
form
.
holiday_name1
}}
</el-tag>
<el-button
type=
"text"
@
click=
"visible = true"
class=
"ml16"
>
{{
!
form
.
holiday_name1
?
'选择节日'
:
'修改节日'
}}
</el-button>
<el-button
type=
"text"
@
click=
"visible = true"
v-if=
"!form.holiday_name1"
>
选择节日
</el-button>
<el-button
type=
"text"
@
click=
"visible = true"
v-else
class=
"ml16"
>
修改节日
</el-button>
</div>
<div
v-if=
"form.holiday_type == 2"
>
<el-form-item
prop=
"holiday_name2"
:rules=
"[
{ required: true, message: '请输入节日名称' }]">
...
...
@@ -17,7 +18,7 @@
</div>
</el-form-item>
<el-form-item
label=
"节日日期"
prop=
"holiday_date1"
v-show=
"form.holiday_type == 1"
>
<span
class=
"tips
fz14
"
v-if=
"!form.holiday_date1"
>
未选择节日
</span>
<span
class=
"tips
"
style=
"font-size:14px;
"
v-if=
"!form.holiday_date1"
>
未选择节日
</span>
<span
v-else
>
{{
form
.
holiday_date1
}}
</span>
</el-form-item>
<el-form-item
label=
"节日日期"
prop=
"holiday_date2"
v-show=
"form.holiday_type == 2"
>
...
...
@@ -279,12 +280,14 @@ export default {
<
style
lang=
"scss"
scoped
>
.radioLine
{
padding
:
12px
0
24
px
0
;
padding
:
12px
0
8
px
0
;
display
:
flex
;
flex-wrap
:
wrap
;
gap
:
15px
;
.el-radio
+
.el-radio
{
margin-left
:
0
;
}
.el-radio
{
margin
:
0
;
margin
-bottom
:
12px
;
}
}
</
style
>
src/views/ai/task/form.vue
View file @
99c4f3e8
...
...
@@ -29,16 +29,17 @@
<template
slot=
"label"
>
<span>
参与人群
</span>
<el-tooltip
width=
"400"
placement=
"top-start"
content=
"系统每天凌晨根据此处配置来查询当天需要进行外呼的客户数据并固化下来。因此,若是在当天凌晨系统固化完外呼客户之后人群发生变化则不会已经固化的客户;"
>
<i
style=
"cursor:pointer;
color:#c0c4cc;font-size:14px;"
class=
"el-icon-question
"
></i>
<i
style=
"cursor:pointer;
font-size:14px;"
class=
"iconfont icon-QuestionCircleOutlined
"
></i>
</el-tooltip>
</
template
>
<el-radio-group
v-model=
"form.memberType"
@
change=
"getMemberCount"
>
<el-radio
:label=
"0"
>
客户筛选
</el-radio>
<el-radio
:label=
"1"
>
客户分组
</el-radio>
</el-radio-group>
<div
class=
"tips"
style=
"margin:6px 0 12px 0; "
v-if=
"form.memberType == 0 || selectedGroupIds"
>
{{ `${memberTypeTips[form.scene]}${memberCrowdWidgetId || selectedGroupIds ? '并满足以下条件' : ''}的全部客户` }}
</div>
<div
class=
"tips"
style=
"margin:6px 0 12px 0; "
v-if=
"form.memberType == 0 && form.scene != 1"
>
{{ `${memberTypeTips[form.scene]}${memberCrowdWidgetId || selectedGroupIds ? '并满足以下条件' : ''}的全部客户` }}
</div>
<div
class=
"tips"
v-if=
"form.memberType == 0 && form.scene == 1"
>
{{ memberCrowdWidgetId || selectedGroupIds ? '默认客户范围中并且满足以下条件的客户' : '默认为权限范围内,生日时间为生日范围内的全部客户' }}
</div>
<div>
<el-button
v-if=
"form.memberType == 0 && !memberCrowdWidgetId && form.scene != 4"
size=
"small"
@
click=
"ruleVisible = true"
>
添加其他条件
</el-button>
<el-button
v-if=
"form.memberType == 0 && !memberCrowdWidgetId && form.scene != 4"
size=
"small"
@
click=
"ruleVisible = true"
>
<i
class=
"iconfont icon-Plus"
></i>
添加其他条件
</el-button>
<ruleFilter
v-show=
"form.memberType == 0 && form.scene != 4"
:visiable
.
sync=
"ruleVisible"
@
save=
"handleRuleFilterSave"
:memberCrowdWidgetId=
"memberCrowdWidgetId"
/>
<el-button
v-if=
"form.memberType == 1 && !selectedGroupIds"
size=
"small"
@
click=
"groupVisible = true"
>
添加分组
</el-button>
<gic-new-member-group
v-show=
"form.memberType == 1"
:visiable
.
sync=
"groupVisible"
:selectedIds=
"selectedGroupIds"
@
change=
"confirmGroupDialog"
/>
...
...
@@ -232,7 +233,7 @@
</div>
</div>
<dm-sub-title
type=
"line"
>
活动分析设置
</dm-sub-title>
<div
class=
"section"
style=
"padding-bottom: 40px;"
>
<div
class=
"section"
>
<el-form-item
label=
"活动分析"
required
>
<el-radio
v-model=
"form.analyseFlag"
:label=
"1"
@
change=
"onChangeEffectType"
>
开启
</el-radio>
<el-radio
v-model=
"form.analyseFlag"
:label=
"0"
@
change=
"onChangeEffectType"
>
关闭
</el-radio>
...
...
@@ -250,7 +251,7 @@
</el-form-item>
<el-form-item
label=
"活动目标"
prop=
"analyseAmount"
>
销售额
<el-input
-number
style=
"width:128px;margin:0 5px;"
v-model=
"form.analyseAmount"
placeholder=
"1-99999"
controls-position=
"right"
:precision=
"0
"
:max=
"99999"
:min=
"1"
size=
"small"
/>
<el-input
style=
"width:128px;margin:0 5px;"
v-model
.
number=
"form.analyseAmount"
placeholder=
"1-99999
"
:max=
"99999"
:min=
"1"
size=
"small"
/>
万元
</el-form-item>
</div>
...
...
@@ -337,7 +338,7 @@ export default {
smsFlag
:
0
,
//是否根据客户意向发送挂机短信
recallFlag
:
0
,
//是否根据未接通状态设置重拨
planMemberCount
:
'- -'
,
//覆盖人数
analyseDays
:
''
,
//分析天数
analyseDays
:
14
,
//分析天数
analyseAmount
:
''
//销售额
},
birthTimeData
:
{
...
...
@@ -381,7 +382,10 @@ export default {
activityName
:
{
required
:
true
,
message
:
'活动名称不能为空'
},
aiTemplateId
:
{
required
:
true
,
message
:
'话术模板不能为空'
},
analyseDays
:
{
required
:
true
,
message
:
'分析天数不能为空'
},
analyseAmount
:
{
required
:
true
,
message
:
'活动目标不能为空'
},
analyseAmount
:
[
{
required
:
true
,
message
:
'活动目标不能为空'
},
{
type
:
'number'
,
message
:
'请输入长度不超过五位的正整数'
,
max
:
99999
,
min
:
1
}
],
memberType
:
{
required
:
true
,
validator
:
memberType
}
},
tagMatchList
:
[
...
...
@@ -420,7 +424,6 @@ export default {
unitPrice
:
''
,
// 单价
money
:
''
,
//账户余额
memberTypeTips
:
{
1
:
'默认生日时间为生日范围内'
,
2
:
'默认为权限范围内'
,
3
:
'默认为未添加企微好友'
,
4
:
'默认为权限范围内'
,
...
...
@@ -918,6 +921,9 @@ export default {
border-radius
:
4px
;
box-sizing
:
border-box
;
margin-top
:
20px
;
/deep/
.el-form-item
{
margin-bottom
:
12px
;
}
&
:first-child
{
margin-top
:
0
;
}
...
...
src/views/ai/task/info.vue
View file @
99c4f3e8
...
...
@@ -386,7 +386,7 @@ export default {
if
(
obj
[
item
.
template
])
{
item
.
smsContent
=
obj
[
item
.
template
].
smsContent
;
}
this
.
smsList
=
this
.
smsList
.
s
p
lice
(
0
);
this
.
smsList
=
this
.
smsList
.
slice
(
0
);
});
}
}
...
...
@@ -407,7 +407,6 @@ export default {
}
.content
{
width
:
100%
;
height
:
114px
;
background
:
#f7f8fa
;
border-radius
:
4px
;
margin-top
:
10px
;
...
...
@@ -426,6 +425,7 @@ export default {
}
.cell
{
padding
:
10px
0
0
0
;
line-height
:
20px
;
}
}
}
...
...
src/views/ai/task/manualTagEdit.vue
View file @
99c4f3e8
<
template
>
<el-dialog
:visible
.
sync=
"showPop"
:title=
"options.popTitle"
width=
"600px"
@
close=
"closePop"
destroy-on-close
>
<el-dialog
:visible
.
sync=
"showPop"
width=
"600px"
@
close=
"closePop"
destroy-on-close
title=
"新增标签"
>
<div
class=
"manualTagEdit-wrap"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"100px"
>
<el-form-item
label=
"标签名称:"
prop=
"tagName"
>
<el-input
class=
"w-full"
placeholder=
"请输入内容"
v-model=
"ruleForm.tagName"
:maxlength=
"15"
></el-input>
<label
class=
"input-label"
>
{{
ruleForm
.
tagName
.
length
}}
/15
</label>
<el-input
class=
"w-full"
placeholder=
"请输入内容"
v-model=
"ruleForm.tagName"
:maxlength=
"15"
show-word-limit
></el-input>
</el-form-item>
<el-form-item
label=
"所属分类:"
prop=
"tagLevel"
>
<div
class=
"tagLevel"
>
...
...
@@ -345,6 +344,7 @@ footer {
}
.tag-list
{
max-height
:
100px
;
min-height
:
40px
;
overflow-y
:
auto
;
}
.manual-dialog
.el-dialog__footer
{
...
...
src/views/ai/task/tagPop.vue
View file @
99c4f3e8
...
...
@@ -151,7 +151,7 @@ export default {
height
:
400px
;
overflow-y
:
auto
;
.el-radio
+
.el-radio
{
margin
:
0
;
margin
-left
:
0
;
}
}
.radioLine
{
...
...
@@ -163,8 +163,6 @@ export default {
}
display
:
flex
;
flex-wrap
:
wrap
;
gap
:
10px
;
margin-bottom
:
24px
;
}
.fr
{
...
...
src/views/ai/task/task.vue
View file @
99c4f3e8
...
...
@@ -282,7 +282,7 @@ export default {
canCreate
:
0
,
statusPoint
:
{
1
:
'dm-status--info'
,
2
:
'dm-status--primary'
,
2
:
'dm-status--primary
--flash
'
,
3
:
'dm-status--error'
,
4
:
'dm-status--info'
,
5
:
'dm-status--warning'
...
...
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