Commit 8ec20f6a by crushh

update: list

parent ca347aa6
......@@ -17,3 +17,9 @@ export const aiDictList = params => requests('/api-marketing/ai-dict-list', para
//新建ai活动
export const initActivity = params => requests(PREFIX + '/init-activity', params, true);
//终止活动计划
export const stopActivityPlan = params => requests(PREFIX + 'stop-activity-plan', params, true, false, 'get');
//重新开启活动计划
export const startActivityPlan = params => requests(PREFIX + 'start-activity-plan', params, true, false, 'get');
......@@ -3,7 +3,13 @@
<el-form-item label="外呼时间" required>
<el-radio v-model="form.birth_type" :label="1" @change="onChangeEffectType">生日当天</el-radio>
<el-radio v-model="form.birth_type" :label="2" @change="onChangeEffectType">生日当月</el-radio>
<el-radio v-model="form.birth_type" :label="3" @change="onChangeEffectType">生日前<el-input class="w100" style="margin:0 5px;" v-model="form.birth_days" /></el-radio>
<el-radio v-model="form.birth_type" :label="3" @change="onChangeEffectType"
>生日前
<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-form-item>
</el-radio>
</el-form-item>
<el-form-item label="生日范围" prop="birthDate1" v-show="form.birth_type == 1 || form.birth_type == 3">
<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>
......@@ -43,9 +49,16 @@ export default {
}
callback();
};
const birthDaysValidtor = (rule, value, callback) => {
if (this.form.birth_type == 3 && !value) {
return callback(new Error('不能为空'));
}
callback();
};
return {
formatDateTimeByType,
form: {
birth_days: ' ',
birthDate1: '', //生日范围 当天
birthDate2: '', //生日范围 当月
birth_type: 1, //外呼时间 1当天 2当月 3生日前
......@@ -53,7 +66,8 @@ export default {
},
rules: {
birthDate1: { validator: birthDateValidtor },
birthDate2: { validator: birthDateValidtor }
birthDate2: { validator: birthDateValidtor },
birth_days: { validator: birthDaysValidtor }
},
pickerOptions: {
onPick(time) {
......@@ -100,6 +114,10 @@ export default {
str = formatDateTimeByType(this.form.birthDate1[0], 'yyyy-MM-dd') + ' 至 ' + formatDateTimeByType(this.form.birthDate1[1], 'yyyy-MM-dd');
} else if (this.form.birth_type == 2 && this.form.birthDate2.length) {
str = formatDateTimeByType(this.form.birthDate2[0], 'yyyy-MM-dd') + ' 至 ' + formatDateTimeByType(this.form.birthDate2[1], 'yyyy-MM-dd');
} else if (this.form.birth_type == 3 && this.form.birthDate1.length) {
let start = this.form.birthDate1[0] - this.form.birth_days * 24 * 60 * 60 * 1000;
let end = this.form.birthDate1[1] - this.form.birth_days * 24 * 60 * 60 * 1000;
str = formatDateTimeByType(start, 'yyyy-MM-dd') + ' 至 ' + formatDateTimeByType(end, 'yyyy-MM-dd');
}
return str;
}
......@@ -120,17 +138,21 @@ export default {
});
this.$refs.form.validate(val => {
if (val) {
const { birth_type, call_flag, birthDate1, birthDate2, callTime } = this.form;
const { birth_type, call_flag, 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],
call_flag,
birth_type,
callTime
callTime,
birth_days
};
if (arr.length) {
obj.callTime = arr;
}
if (birth_type != 3) {
obj.birth_days = undefined;
}
resolve(obj);
} else {
resolve(false);
......
......@@ -298,7 +298,7 @@ export default {
async submit() {
const activeTimeData = await this.$refs.birthSense.submit();
if (!activeTimeData) return;
const { startDate, endDate, call_flag, birth_type, callTime } = activeTimeData;
const { startDate, endDate, call_flag, birth_type, callTime, birth_days } = activeTimeData;
this.$refs.form.validate(async (val, obj) => {
console.log(val);
console.log(obj);
......@@ -322,7 +322,8 @@ export default {
memberType,
filterJson,
sceneJson: JSON.stringify({
birth_type
birth_type,
birth_days
}),
activityEventList: [
{
......
......@@ -89,7 +89,7 @@
</template>
<script>
import { pageStatistics, page, rechargeCenter } from '@/service/api/aiApi.js';
import { pageStatistics, page, rechargeCenter, stopActivityPlan, startActivityPlan } from '@/service/api/aiApi.js';
import { formatDateTimeByType } from '@/utils/index.js';
import filterAvater from '@/mixins/filterAvater.js';
import dmDropdown from '@/components/dm-drop-down/dm-drop-down';
......@@ -139,9 +139,7 @@ export default {
visible: row => {
return row.activityPlanStatus === 0 || row.activityPlanStatus == 1;
},
handler: row => {
console.log('终止');
}
handler: row => this.stopTask(row)
},
{
text: '重新开启',
......@@ -151,9 +149,7 @@ export default {
visible: row => {
return row.activityPlanStatus === 5;
},
handler: row => {
console.log('重新开启');
}
handler: row => this.rebootTask(row)
},
{
text: '复制',
......@@ -355,6 +351,28 @@ export default {
async getStatistics(para) {
const { result } = await pageStatistics([1, 2, 3]).finally(() => (this.loading = false));
console.log(result);
},
stopTask(row) {
this.$confirm('任务终止后未外呼的客户将停止外呼任务,终止后不可重新启用任务,是否继续终止任务?', '提示', {
confirmButtonText: '终止',
cancelBUttonText: '取消',
type: 'warning'
}).then(() => {
stopActivityPlan({ planId: row.planId }).then(res => {
this.getTableData();
});
});
},
rebootTask(row) {
this.$confirm('重新开启任务后,将会对未外呼的客户进行外呼,是否确定重新开启营销活动?', '提示', {
confirmButtonText: '确定',
cancelBUttonText: '取消',
type: 'warning'
}).then(() => {
startActivityPlan({ planId: row.planId }).then(res => {
this.getTableData();
});
});
}
}
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment