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
b88c483f
Commit
b88c483f
authored
Apr 01, 2022
by
crushh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
udpate: dist
parent
f2316b74
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
61 additions
and
43 deletions
+61
-43
birthActiveTime.vue
src/views/ai/task/components/birthActiveTime.vue
+27
-7
defineTime.vue
src/views/ai/task/components/defineTime.vue
+20
-20
form.vue
src/views/ai/task/form.vue
+0
-0
info.vue
src/views/ai/task/info.vue
+14
-16
No files found.
src/views/ai/task/components/birthActiveTime.vue
View file @
b88c483f
...
...
@@ -6,15 +6,15 @@
<el-radio
v-model=
"form.birth_type"
:label=
"3"
>
生日前
<el-form-item
prop=
"birth_days"
style=
"display: inline-block;"
>
<el-input-number
class=
"w100"
style=
"margin:0 5px;"
v-model=
"form.birth_days"
controls-position=
"right"
:max=
"30"
:min=
"1"
size=
"small"
/>
<el-input-number
class=
"w100"
style=
"margin:0 5px;"
v-model=
"form.birth_days"
@
change=
"hanldeBirthDaysChange"
controls-position=
"right"
:max=
"30"
:min=
"1"
size=
"small"
/>
天
</el-form-item>
</el-radio>
</el-form-item>
<el-form-item
label=
"生日范围"
prop=
"birthDate1"
v-
show
=
"form.birth_type == 1 || form.birth_type == 3"
required
>
<el-form-item
label=
"生日范围"
prop=
"birthDate1"
v-
if
=
"form.birth_type == 1 || form.birth_type == 3"
required
>
<el-date-picker
value-format=
"timestamp"
format=
"MM-dd"
v-model=
"form.birthDate1"
@
change=
"handleDateChange"
:picker-options=
"pickerOptions"
type=
"daterange"
placeholder=
"请选择生日范围"
range-separator=
"~"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"生日范围"
prop=
"birthDate2"
v-
show
=
"form.birth_type == 2"
>
<el-form-item
label=
"生日范围"
prop=
"birthDate2"
v-
if
=
"form.birth_type == 2"
>
<el-date-picker
type=
"monthrange"
value-format=
"timestamp"
format=
"MM月"
v-model=
"form.birthDate2"
@
change=
"handleDateMonthChange"
:picker-options=
"pickerOptionsMonth"
placeholder=
"请选择生日范围"
range-separator=
"~"
start-placeholder=
"开始月份"
end-placeholder=
"结束月份"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"外呼时段"
required
>
...
...
@@ -39,12 +39,22 @@ let minTime = null;
let
maxTime
=
null
;
let
minTimeMonth
=
null
;
let
maxTimeMonth
=
null
;
export
default
{
data
()
{
const
birthDateValidtor
=
(
rule
,
value
,
callback
)
=>
{
if
(
(
this
.
form
.
birth_type
==
1
||
this
.
form
.
birth_type
==
3
)
&&
!
this
.
form
.
birthDate1
)
{
if
(
!
this
.
form
.
birthDate1
)
{
return
callback
(
new
Error
(
'生日范围不能为空'
));
}
else
if
(
this
.
form
.
birth_type
==
2
&&
!
this
.
form
.
birthDate2
)
{
}
if
(
this
.
form
.
birth_type
==
3
&&
value
)
{
if
(
this
.
currentTime
+
this
.
form
.
birth_days
*
24
*
60
*
60
*
1000
>
value
[
0
])
{
return
callback
(
new
Error
(
'生日范围开始日期 - 生日前X天不能早于当前日期'
));
}
}
callback
();
};
const
birthMonthValidtor
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
this
.
form
.
birthDate2
)
{
return
callback
(
new
Error
(
'生日范围不能为空'
));
}
callback
();
...
...
@@ -67,7 +77,7 @@ export default {
},
rules
:
{
birthDate1
:
{
validator
:
birthDateValidtor
},
birthDate2
:
{
validator
:
birth
Date
Validtor
},
birthDate2
:
{
validator
:
birth
Month
Validtor
},
birth_days
:
{
validator
:
birthDaysValidtor
}
},
pickerOptions
:
{
...
...
@@ -105,7 +115,8 @@ export default {
return
time
.
getTime
()
<
new
Date
().
getTime
()
||
time
.
getTime
()
>
new
Date
().
getTime
()
+
timeRange
;
}
}
}
},
currentTime
:
new
Date
(
new
Date
().
toLocaleDateString
()).
getTime
()
};
},
props
:
{
...
...
@@ -152,6 +163,7 @@ export default {
}
});
this
.
$refs
.
form
.
validate
(
val
=>
{
console
.
log
(
val
);
if
(
val
)
{
const
{
birth_type
,
callFlag
,
birthDate1
,
birthDate2
,
callTime
,
birth_days
}
=
this
.
form
;
const
obj
=
{
...
...
@@ -176,6 +188,14 @@ export default {
});
});
},
hanldeBirthDaysChange
(
val
)
{
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
;
}
}
},
handleDateChange
(
val
)
{
console
.
log
(
val
);
if
(
!
val
)
{
...
...
src/views/ai/task/components/defineTime.vue
View file @
b88c483f
...
...
@@ -2,7 +2,7 @@
<div
class=
"defineTime"
>
<p
class=
"tips"
>
自定义时段不少于4个小时
</p>
<el-form
:model=
"form"
ref=
"defineTime"
>
<el-form-item
class=
"mt10"
v-for=
"(v, i) in form.timeRangeList"
:key=
"i"
:prop=
"'timeRangeList.' + i + '.timeRange'"
:rules=
"[
{ validator: validateTime, trigger: 'change' }]"
>
<el-form-item
class=
"mt10"
v-for=
"(v, i) in form.timeRangeList"
:key=
"i"
:prop=
"'timeRangeList.' + i + '.timeRange'"
>
<div
style=
"display: flex;align-items: center;"
>
<el-time-select
placeholder=
"起始时间"
...
...
@@ -14,17 +14,7 @@
}"
>
</el-time-select>
<el-time-select
placeholder=
"结束时间"
v-model=
"v.endTime"
:picker-options=
"
{
start: '09:00',
step: '00:30',
end: '20:00',
minTime: startTime
}"
>
</el-time-select>
<el-time-select
placeholder=
"结束时间"
v-model=
"v.endTime"
:picker-options=
"endPickerOptions(v.startTime)"
>
</el-time-select>
<div
class=
"delIcon"
type=
"text"
@
click=
"delTimeRange(i)"
>
<i
class=
"iconfont icon-Delete"
></i>
...
...
@@ -39,14 +29,13 @@
<
script
>
export
default
{
data
()
{
const
validateTime
=
(
rule
,
value
,
callback
)
=>
{
// if (!value) {
// return callback(new Error('请输入时间'));
// } else {
// callback();
// }
callback
();
};
const
validateTime
=
item
=>
({
required
:
true
,
validator
:
(
rule
,
_
,
cb
)
=>
{
// item 就是数据啦,可以校验了
cb
();
}
});
return
{
validateTime
,
form
:
{
...
...
@@ -73,6 +62,16 @@ export default {
}
},
methods
:
{
endPickerOptions
(
val
)
{
let
endTime
=
this
.
form
.
timeRangeList
.
reduce
((
p
,
v
)
=>
(
p
.
startTime
<
v
.
startTime
?
v
:
p
)).
endTime
;
console
.
log
(
endTime
);
return
{
start
:
'09:00'
,
step
:
'00:30'
,
end
:
'20:00'
,
minTime
:
val
};
},
// 删除兑换时段
delTimeRange
(
index
)
{
this
.
form
.
timeRangeList
.
splice
(
index
,
1
);
...
...
@@ -88,6 +87,7 @@ export default {
submit
()
{
return
new
Promise
(
resolve
=>
{
this
.
$refs
.
defineTime
.
validate
(
val
=>
{
console
.
log
(
val
);
if
(
val
)
{
resolve
(
this
.
form
);
}
else
{
...
...
src/views/ai/task/form.vue
View file @
b88c483f
This diff is collapsed.
Click to expand it.
src/views/ai/task/info.vue
View file @
b88c483f
...
...
@@ -146,19 +146,8 @@ export default {
},
tagMatchList
:
[
// 打标签列表
{
options
:
'A级(有明确意向)、B级(可能有意向)'
,
id
:
'fd6b44967aa647bcadfad10706244c56'
,
name
:
'3.8活动邀约标签-高意向'
}
],
smsList
:
[
{
options
:
'A级(有明确意向)、B级(可能有意向)'
,
template
:
'ff8080817f012035017f012193240000'
,
title
:
'虎年促销通知'
}
],
smsList
:
[],
recallList
:
[
// 重播列表
{
...
...
@@ -178,10 +167,10 @@ export default {
const
{
result
}
=
await
getActivityDetail
({
activityId
});
console
.
log
(
result
);
if
(
result
)
{
const
{
activityId
,
activityName
,
activityPlanList
,
analyseAmount
,
analyseDays
,
analyseFlag
,
endDate
,
scene
}
=
result
;
const
{
activityEventList
,
beginDate
,
filterJson
,
memberType
,
planId
,
planMemberCount
,
planName
,
sceneJson
}
=
activityPlanList
[
0
];
const
{
aiEventId
,
aiTemplateId
,
callFlag
,
callTime
,
eventId
,
labelFlag
,
recallFlag
,
smsFlag
}
=
activityEventList
[
0
];
const
{
birth_type
,
birth_days
}
=
JSON
.
parse
(
sceneJson
);
const
{
activityId
,
activityName
,
activityPlanList
,
analyseAmount
,
analyseDays
,
analyseFlag
,
startDate
,
endDate
,
scene
}
=
result
;
const
{
activityEventList
,
filterJson
,
memberTagGroupList
,
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
=
{
activityName
,
//活动名称
activityId
,
//活动id
...
...
@@ -209,6 +198,15 @@ export default {
callFlag
,
//外呼时段 0 默认 1 自定义
callTime
:
callFlag
==
1
?
callTime
:
[]
// 自定义时段
};
if
(
labelFlag
)
{
this
.
tagMatchList
=
JSON
.
parse
(
labelJson
);
}
if
(
smsFlag
)
{
this
.
smsList
=
JSON
.
parse
(
smsJson
);
}
if
(
recallFlag
)
{
this
.
recallList
=
JSON
.
parse
(
recallJson
);
}
}
this
.
loading
=
false
;
}
...
...
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