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
b44fadf1
Commit
b44fadf1
authored
Apr 01, 2022
by
caoyanzhi
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/3月迭代' of
http://git.gicdev.com/marketing-web/marketing
into feature/3月迭代
parents
385f8504
0bf8994e
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
157 additions
and
56 deletions
+157
-56
index.vue
src/components/dm-new-member-group/index.vue
+20
-10
ruleFilter.vue
src/components/dm-new-rule/ruleFilter.vue
+15
-3
index.js
src/service/api/index.js
+1
-2
birthActiveTime.vue
src/views/ai/task/components/birthActiveTime.vue
+13
-3
holidayActiveTime.vue
src/views/ai/task/components/holidayActiveTime.vue
+98
-26
form.vue
src/views/ai/task/form.vue
+10
-12
info.vue
src/views/ai/task/info.vue
+0
-0
No files found.
src/components/dm-new-member-group/index.vue
View file @
b44fadf1
<
template
>
<div>
<div
class=
"member-group-container"
>
<div
class=
"echo-member-group"
v-if=
"echoFlag"
>
<div
class=
"subTitle"
>
<div
class=
"line"
></div>
<div
class=
"text"
>
<div
class=
"space-between"
>
已选分组
<span><el-button
type=
"text"
class=
"delBtn"
@
click=
"del"
>
删除
</el-button><el-button
type=
"text"
@
click=
"edit"
>
编辑
</el-button></span>
<span
v-if=
"!onlyRead"
><el-button
type=
"text"
class=
"delBtn"
@
click=
"del"
>
删除
</el-button><el-button
type=
"text"
@
click=
"edit"
>
编辑
</el-button></span>
</div>
</div>
</div>
<div
class=
"echoLine"
v-for=
"item in defaltSelected"
:key=
"item.memberTagGroupId"
>
<div
class=
"echoLine"
v-for=
"item in defa
u
ltSelected"
:key=
"item.memberTagGroupId"
>
<div
class=
"dot"
></div>
<el-tag
size=
"mini"
v-if=
"item.isRealTime"
>
实时
</el-tag>
<el-tag
size=
"mini"
type=
"warning"
v-else
>
非实时
</el-tag>
...
...
@@ -64,8 +64,8 @@ import table from './table';
export
default
{
name
:
'gic-new-member-group'
,
props
:
{
defaltSelected
:
{
type
:
Array
,
selectedIds
:
{
type
:
String
,
default
()
{
return
[];
}
...
...
@@ -110,8 +110,7 @@ export default {
type
:
Array
,
default
:
()
=>
[
0
,
1
]
},
echo
:
{
// 使用回显样式
onlyRead
:
{
type
:
Boolean
,
default
:
false
}
...
...
@@ -147,14 +146,22 @@ export default {
}
},
watch
:
{
defaltSelected
(
val
)
{
selectedIds
(
val
)
{
if
(
val
.
length
)
{
this
.
echoFlag
=
true
;
this
.
handleSelectionChange
(
this
.
defaltSelected
);
this
.
getDefaultSelected
(
val
);
}
}
},
methods
:
{
getDefaultSelected
(
val
)
{
this
.
axios
.
get
(
`
${
this
.
baseUrl
}
/gic-member-tag-web/member-tag-group/queryGroupByIds?requestProject=
${
this
.
projectName
}
&memberTagGroupIds=
${
val
}
`
).
then
(
res
=>
{
if
(
res
.
data
.
errorCode
==
1
)
{
this
.
defaultSelected
=
res
.
data
.
result
;
this
.
handleSelectionChange
(
this
.
defaultSelected
);
}
});
},
confirm
()
{
if
(
!
Object
.
keys
(
this
.
selected
).
length
)
{
this
.
$message
.
warning
(
'请选择分组'
);
...
...
@@ -240,8 +247,11 @@ export default {
width
:
100%
;
}
}
.
echo-member-group
{
.
member-group-container
{
width
:
400px
;
}
.echo-member-group
{
width
:
100%
;
background
:
#f7f8fa
;
border-radius
:
4px
;
padding
:
12px
15px
;
...
...
src/components/dm-new-rule/ruleFilter.vue
View file @
b44fadf1
<
template
>
<div>
<div
class=
"ruleFilter"
>
<div
class=
"echo-member-group"
v-if=
"echoFlag"
>
<div
class=
"subTitle"
>
<div
class=
"line"
></div>
<div
class=
"text"
>
<div
class=
"space-between"
>
已选分组
<span><el-button
type=
"text"
class=
"delBtn"
@
click=
"delAll"
>
删除
</el-button><el-button
type=
"text"
@
click=
"edit"
>
编辑
</el-button></span>
<span
v-if=
"!onlyRead"
><el-button
type=
"text"
class=
"delBtn"
@
click=
"delAll"
>
删除
</el-button><el-button
type=
"text"
@
click=
"edit"
>
编辑
</el-button></span>
</div>
</div>
</div>
...
...
@@ -69,6 +69,7 @@ import qs from 'qs';
import
transform
from
'./createParams.js'
;
export
default
{
name
:
'ruleFilter'
,
data
()
{
return
{
activeName
:
''
,
...
...
@@ -101,7 +102,15 @@ export default {
hideId
:
{
type
:
Array
,
default
:
()
=>
[]
},
onlyRead
:
{
type
:
Boolean
,
default
:
false
}
// echoWidth: {
// type: String,
// default: '400px'
// }
},
mounted
()
{
this
.
getDataList
();
...
...
@@ -383,8 +392,11 @@ export default {
width
:
100%
;
}
}
.
echo-member-group
{
.
ruleFilter
{
width
:
400px
;
}
.echo-member-group
{
width
:
100%
;
background
:
#f7f8fa
;
border-radius
:
4px
;
padding
:
0
15px
15px
15px
;
...
...
src/service/api/index.js
View file @
b44fadf1
...
...
@@ -138,8 +138,7 @@ const requests = (url, data = {}, contentTypeIsJSON = false, isSilence = false,
.
then
(
res
=>
{
clearTimeout
(
_timer
);
popRequest
(
_random
);
resolve
(
res
.
data
);
return
;
if
(
res
.
data
.
errorCode
!==
0
&&
res
.
data
.
code
!=
0
)
{
reject
(
res
);
if
(
res
.
data
.
message
.
indexOf
(
'抱歉'
)
>=
0
)
{
...
...
src/views/ai/task/components/birthActiveTime.vue
View file @
b44fadf1
...
...
@@ -166,14 +166,23 @@ export default {
console
.
log
(
val
);
if
(
val
)
{
const
{
birth_type
,
callFlag
,
birthDate1
,
birthDate2
,
callTime
,
birth_days
}
=
this
.
form
;
const
obj
=
{
startDate
:
birth_type
==
2
?
birthDate2
[
0
]
:
birthDate1
[
0
],
endDate
:
birth_type
==
2
?
birthDate2
[
1
]
:
birthDate1
[
1
],
callFlag
,
birth_type
,
callTime
,
birth_days
};
if
(
birth_type
==
3
)
{
obj
.
startDate
=
birthDate1
[
0
]
-
birth_days
*
24
*
60
*
60
*
1000
;
obj
.
endDate
=
birthDate1
[
1
]
-
birth_days
*
24
*
60
*
60
*
1000
;
}
else
if
(
birth_type
==
2
)
{
obj
.
startDate
=
birthDate2
[
0
];
obj
.
endDate
=
birthDate2
[
1
];
}
else
{
obj
.
startDate
=
birthDate1
[
0
];
obj
.
endDate
=
birthDate1
[
1
];
}
if
(
arr
.
length
)
{
obj
.
callTime
=
arr
;
}
...
...
@@ -192,9 +201,10 @@ export default {
if
(
this
.
form
.
birthDate1
)
{
if
(
this
.
currentTime
+
val
*
24
*
60
*
60
*
1000
>
this
.
form
.
birthDate1
[
0
])
{
this
.
$message
.
warning
(
'生日范围开始日期 - 生日前X天不能早于当前日期'
);
this
.
form
.
birth_days
=
1
;
this
.
form
.
birth_days
=
' '
;
}
}
console
.
log
(
this
.
form
.
birth_days
);
},
handleDateChange
(
val
)
{
console
.
log
(
val
);
...
...
src/views/ai/task/components/holidayActiveTime.vue
View file @
b44fadf1
...
...
@@ -4,18 +4,26 @@
<el-radio
v-model=
"form.holiday_type"
:label=
"1"
>
推荐节日
</el-radio>
<el-radio
v-model=
"form.holiday_type"
:label=
"2"
>
自定义节日
</el-radio>
<span
class=
"tips"
>
为保证触达率,节日活动需要提前创建,不支持创建节日日期为活动创建日的活动
</span>
<div>
<el-tag
type=
"mini"
>
{{
form
.
holiday_name
}}
</el-tag>
<el-button
type=
"text"
v-show=
"form.holiday_type == 1"
@
click=
"visible = true"
>
选择节日
</el-button>
<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"
>
{{
!
form
.
holiday_name1
?
'选择节日'
:
'重新选择'
}}
</el-button>
</div>
<div
v-if=
"form.holiday_type == 2"
>
<el-form-item
prop=
"holiday_name2"
:rules=
"[
{ required: true, message: '请输入节日名称' }]">
<el-input
class=
"w340"
:maxlength=
"10"
placeholder=
"请输入节日名称"
show-word-limit
v-model=
"form.holiday_name2"
></el-input>
</el-form-item>
</div>
</el-form-item>
<el-form-item
label=
"节日日期"
prop=
"holiday_date1"
v-show=
"form.holiday_type == 1"
>
<span
class=
"tips"
v-if=
"!form.holiday_date1"
>
未选择节日
</span>
<span
v-else
>
{{
form
.
holiday_date1
}}
</span>
</el-form-item>
<el-form-item
label=
"节日日期"
prop=
"holiday_date"
required
>
<span
class=
"tips"
v-if=
"!form.holiday_date"
>
未选择节日
</span>
<span
v-else
>
{{
form
.
holiday_date
}}
</span>
<el-form-item
label=
"节日日期"
prop=
"holiday_date2"
v-show=
"form.holiday_type == 2"
>
<el-date-picker
v-model=
"form.holiday_date2"
value-format=
"yyyy-MM-dd"
:picker-options=
"pickerOptions"
type=
"date"
placeholder=
"选择日期"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"外呼时间"
prop=
"holiday_day"
required
>
节日前
<el-input-number
class=
"w100"
style=
"margin:0 5px;"
v-model=
"form.holiday_day"
controls-position=
"right"
:max=
"30"
:min=
"1"
size=
"small"
/>
<el-input-number
class=
"w100"
style=
"margin:0 5px;"
v-model=
"form.holiday_day"
@
change=
"hanldeHolidayDay"
controls-position=
"right"
:max=
"30"
:min=
"1"
size=
"small"
/>
天内外呼完成
<span
class=
"tips"
>
由于外呼线路有限,为保证外呼触达率,建议外呼时间周期不小于5
</span>
</el-form-item>
...
...
@@ -53,21 +61,45 @@
import
defineTime
from
'./defineTime.vue'
;
import
{
formatDateTimeByType
,
getTimesByReq
}
from
'@/utils/index'
;
import
{
listAllHolidays
}
from
'@/service/api/aiApi.js'
;
let
minTime
=
null
;
let
maxTime
=
null
;
export
default
{
data
()
{
const
holiday_date2
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
form
.
holiday_type
==
2
&&
!
value
)
{
return
callback
(
new
Error
(
'请选择节日日期'
));
}
if
(
this
.
form
.
holiday_type
==
2
&&
value
)
{
if
(
this
.
currentTime
+
this
.
form
.
holiday_day
*
24
*
60
*
60
*
1000
>
value
)
{
return
callback
(
new
Error
(
'节日日期 - 节日前X天不能早于当前日期'
));
}
}
callback
();
};
const
holiday_date1
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
form
.
holiday_type
==
1
&&
!
value
)
{
return
callback
(
new
Error
(
'请选择节日日期'
));
}
callback
();
};
return
{
formatDateTimeByType
,
getTimesByReq
,
form
:
{
holiday_type
:
1
,
// 节日活动场景特有值 节日类型 1推荐 2自定义
holiday_name
:
'国庆节'
,
// 节日活动场景特有值 节日名称
holiday_date
:
'2022-10-01'
,
//节日活动场景特有值 节日日期
holiday_day
:
''
,
// 外呼时间
holiday_name1
:
''
,
// 节日活动场景特有值 节日名称
holiday_date1
:
''
,
//节日活动场景特有值 节日日期
holiday_name2
:
''
,
// 节日活动场景特有值 节日名称
holiday_date2
:
''
,
//节日活动场景特有值 节日日期
holiday_day
:
' '
,
// 外呼时间
callFlag
:
0
,
//外呼时段 0 默认 1 自定义
callTime
:
[{}]
// 自定义时段
},
rules
:
{},
rules
:
{
holiday_date1
:
{
validator
:
holiday_date1
},
holiday_date2
:
{
validator
:
holiday_date2
}
},
holidayData
:
[
{
id
:
'S'
,
//节日分类ID
...
...
@@ -124,7 +156,26 @@ export default {
}
],
selectedData
:
''
,
visible
:
false
visible
:
false
,
pickerOptions
:
{
onPick
(
time
)
{
// 起始时间:仅半年范围内 && 结束时间:跨度最多3个月,即所选起始时间往后+90天为上限;
if
(
!
time
.
maxDate
)
{
const
timeRange
=
60
*
24
*
60
*
60
*
1000
;
// 3个月
minTime
=
time
.
minDate
.
getTime
();
// 最小时间
maxTime
=
time
.
minDate
.
getTime
()
+
timeRange
;
// 最大时间
}
},
disabledDate
:
time
=>
{
const
timeRange
=
60
*
24
*
60
*
60
*
1000
;
// 3个月
if
(
minTime
&&
maxTime
)
{
return
time
.
getTime
()
<
minTime
||
time
.
getTime
()
>
maxTime
;
}
else
{
return
time
.
getTime
()
<
new
Date
().
getTime
()
||
time
.
getTime
()
>
new
Date
().
getTime
()
+
timeRange
;
}
}
},
currentTime
:
new
Date
(
new
Date
().
toLocaleDateString
()).
getTime
()
};
},
props
:
{
...
...
@@ -147,9 +198,14 @@ export default {
computed
:
{
activeTime
()
{
let
str
=
''
;
if
(
this
.
form
.
holiday_date
&&
this
.
form
.
holiday_day
)
{
let
startTimestamp
=
getTimesByReq
(
this
.
form
.
holiday_date
)
-
this
.
form
.
holiday_day
*
24
*
60
*
60
*
1000
;
let
endTimestamp
=
getTimesByReq
(
this
.
form
.
holiday_date
)
-
24
*
60
*
60
*
1000
;
if
(
this
.
form
.
holiday_type
==
1
&&
this
.
form
.
holiday_date1
&&
this
.
form
.
holiday_day
)
{
let
startTimestamp
=
getTimesByReq
(
this
.
form
.
holiday_date1
)
-
this
.
form
.
holiday_day
*
24
*
60
*
60
*
1000
;
let
endTimestamp
=
getTimesByReq
(
this
.
form
.
holiday_date1
)
-
24
*
60
*
60
*
1000
;
str
=
formatDateTimeByType
(
startTimestamp
,
'yyyy-MM-dd'
)
+
' 至 '
+
formatDateTimeByType
(
endTimestamp
,
'yyyy-MM-dd'
);
}
else
if
(
this
.
form
.
holiday_type
==
2
&&
this
.
form
.
holiday_date2
&&
this
.
form
.
holiday_day
)
{
let
startTimestamp
=
getTimesByReq
(
this
.
form
.
holiday_date2
)
-
this
.
form
.
holiday_day
*
24
*
60
*
60
*
1000
;
let
endTimestamp
=
getTimesByReq
(
this
.
form
.
holiday_date2
)
-
24
*
60
*
60
*
1000
;
str
=
formatDateTimeByType
(
startTimestamp
,
'yyyy-MM-dd'
)
+
' 至 '
+
formatDateTimeByType
(
endTimestamp
,
'yyyy-MM-dd'
);
}
return
str
;
...
...
@@ -163,12 +219,20 @@ export default {
// 回显时 根据活动有效期和节日日期 算出外呼时间
this
.
form
.
holiday_day
=
((
getTimesByReq
(
this
.
form
.
holiday_date
)
-
this
.
form
.
startDate
)
/
24
)
*
60
*
60
*
1000
;
},
hanldeHolidayDay
(
val
)
{
const
{
holiday_type
,
holiday_date1
,
holiday_date2
}
=
this
.
form
;
if
((
holiday_type
==
1
&&
holiday_date1
)
||
(
holiday_type
==
2
&&
holiday_date2
))
{
if
(
this
.
currentTime
+
val
*
24
*
60
*
60
*
1000
>
getTimesByReq
(
this
.
form
[
`holiday_date
${
holiday_type
}
`
]))
{
this
.
form
.
holiday_day
=
' '
;
this
.
$message
.
warning
(
'节日日期 - 节日前X天不能早于当前日期'
);
}
}
},
async
getListAllHolidays
()
{
const
{
result
}
=
await
listAllHolidays
();
console
.
log
(
result
);
if
(
result
)
{
//
this.holidayData = result;
this
.
holidayData
=
result
;
}
},
addItem
()
{
...
...
@@ -177,8 +241,9 @@ export default {
return
;
}
const
{
date
,
name
}
=
this
.
selectedData
;
this
.
form
.
holiday_name
=
name
;
this
.
form
.
holiday_date
=
date
;
this
.
form
.
holiday_name1
=
name
;
this
.
form
.
holiday_date1
=
date
;
this
.
$refs
.
form
.
clearValidate
(
'holiday_date1'
);
this
.
close
();
},
close
()
{
...
...
@@ -197,16 +262,23 @@ export default {
});
this
.
$refs
.
form
.
validate
(
val
=>
{
if
(
val
)
{
const
{
callFlag
,
callTime
,
holiday_date
,
holiday_type
,
holiday_name
,
holiday_day
}
=
this
.
form
;
const
{
callFlag
,
callTime
,
holiday_date
1
,
holiday_type
,
holiday_name1
,
holiday_day
,
holiday_name2
,
holiday_date2
}
=
this
.
form
;
const
obj
=
{
startDate
:
getTimesByReq
(
holiday_date
)
-
holiday_day
*
24
*
60
*
60
*
1000
,
endDate
:
getTimesByReq
(
holiday_date
)
-
24
*
60
*
60
*
1000
,
callFlag
,
callTime
,
holiday_date
,
holiday_type
,
holiday_name
holiday_type
};
if
(
holiday_type
==
1
)
{
obj
.
startDate
=
getTimesByReq
(
holiday_date1
)
-
holiday_day
*
24
*
60
*
60
*
1000
;
obj
.
endDate
=
getTimesByReq
(
holiday_date1
)
-
24
*
60
*
60
*
1000
;
obj
.
holiday_name
=
holiday_name1
;
obj
.
holiday_date
=
holiday_date1
;
}
else
if
(
holiday_type
==
2
)
{
obj
.
startDate
=
getTimesByReq
(
holiday_date2
)
-
holiday_day
*
24
*
60
*
60
*
1000
;
obj
.
endDate
=
getTimesByReq
(
holiday_date2
)
-
24
*
60
*
60
*
1000
;
obj
.
holiday_name
=
holiday_name2
;
obj
.
holiday_date
=
holiday_date2
;
}
console
.
log
(
obj
);
if
(
arr
.
length
)
{
obj
.
callTime
=
arr
;
...
...
src/views/ai/task/form.vue
View file @
b44fadf1
...
...
@@ -31,8 +31,8 @@
<div
class=
"tips"
style=
"margin:0 0 12px 0;"
>
默认为权限范围内的全部客户
</div>
<el-button
v-if=
"form.memberType == 0 && !memberCrowdWidgetId && form.scene != 4"
size=
"small"
@
click=
"ruleVisible = true"
>
添加其他条件
</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 && !selectedGroup
.length
"
size=
"small"
@
click=
"groupVisible = true"
>
添加分组
</el-button>
<gic-new-member-group
v-show=
"form.memberType == 1"
:visiable
.
sync=
"groupVisible"
:
defaltSelected=
"selectedGroup
"
@
change=
"confirmGroupDialog"
/>
<el-button
v-if=
"form.memberType == 1 && !selectedGroup
Ids
"
size=
"small"
@
click=
"groupVisible = true"
>
添加分组
</el-button>
<gic-new-member-group
v-show=
"form.memberType == 1"
:visiable
.
sync=
"groupVisible"
:
selectedIds=
"selectedGroupIds
"
@
change=
"confirmGroupDialog"
/>
</div>
</el-form-item>
<el-form-item
label=
"消费条件"
v-if=
"form.scene == 4 && form.memberType == 0"
>
...
...
@@ -366,7 +366,6 @@ export default {
timesOptions
:
[
1
,
2
,
3
,
4
,
5
],
//重播次数下拉
loading
:
false
,
currentIndex
:
0
,
selectedGroup
:
[],
// 被选中的客户分组
selectedGroupIds
:
''
,
// 被选中的客户分组id
memberCrowdWidgetId
:
''
,
// 被选的规则id
filterFrontShow
:
[],
// 筛选器回显数据
...
...
@@ -415,7 +414,7 @@ export default {
console
.
log
(
result
);
if
(
result
)
{
const
{
activityId
,
activityName
,
activityPlanList
,
analyseAmount
,
analyseDays
,
analyseFlag
,
startDate
,
endDate
,
scene
}
=
result
;
const
{
activityEventList
,
filterJson
,
memberT
agGroupList
,
memberT
ype
,
planId
,
planMemberCount
,
planName
,
sceneJson
}
=
activityPlanList
[
0
];
const
{
activityEventList
,
filterJson
,
memberType
,
planId
,
planMemberCount
,
planName
,
sceneJson
}
=
activityPlanList
[
0
];
const
{
aiEventId
,
aiTemplateId
,
callFlag
,
callTime
,
eventId
,
labelFlag
,
recallFlag
,
smsFlag
,
labelJson
,
recallJson
,
smsJson
}
=
activityEventList
[
0
];
const
{
birth_type
,
birth_days
,
holiday_type
,
holiday_name
,
holiday_date
,
consume_days_flag
,
consume_days
,
consume_times_flag
,
consume_times
,
consume_amount_flag
,
consume_amount
}
=
JSON
.
parse
(
sceneJson
);
this
.
form
=
{
...
...
@@ -442,7 +441,6 @@ export default {
this
.
memberCrowdWidgetId
=
filterJson
;
}
else
if
(
memberType
==
1
)
{
this
.
selectedGroupIds
=
filterJson
;
this
.
selectedGroup
=
memberTagGroupList
;
}
if
(
scene
==
4
)
{
const
obj
=
{
...
...
@@ -590,11 +588,14 @@ export default {
if
(
recallFlag
)
{
data
.
activityPlanList
[
0
].
activityEventList
[
0
].
recallJson
=
JSON
.
stringify
(
this
.
recallList
);
}
const
{
result
}
=
await
initActivity
(
data
);
if
(
result
)
{
this
.
$router
.
go
(
-
1
);
try
{
const
{
result
}
=
await
initActivity
(
data
);
if
(
result
)
{
this
.
$router
.
go
(
-
1
);
}
}
finally
{
this
.
btnLoading
=
false
;
}
this
.
btnLoading
=
false
;
}
else
{
this
.
scrollToError
(
this
);
}
...
...
@@ -659,11 +660,8 @@ export default {
},
/**客户分组 */
confirmGroupDialog
(
arr
,
idStr
)
{
this
.
selectedGroup
=
arr
;
this
.
selectedGroupIds
=
idStr
;
this
.
getMemberCount
();
console
.
log
(
arr
);
console
.
log
(
idStr
);
},
/** 根据客户意向发送挂机短信 */
delSmslist
(
index
)
{
...
...
src/views/ai/task/info.vue
View file @
b44fadf1
This diff is collapsed.
Click to expand it.
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