|
|
@@ -10,14 +10,14 @@
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="机器人" prop="robot">
|
|
|
+ <!-- <el-form-item label="机器人" prop="robot">
|
|
|
<el-select v-model="queryParams.robot" filterable clearable>
|
|
|
<el-option v-for="item in robotList" :label="item.name + '('+item.num+')'" :value="item.id"/>
|
|
|
</el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="话术" prop="dialogId">
|
|
|
- <el-select v-model="queryParams.dialogId" filterable clearable>
|
|
|
- <el-option v-for="item in dialogList" :label="item.name" :value="item.id"/>
|
|
|
+ </el-form-item> -->
|
|
|
+ <el-form-item label="任务类型" prop="taskType">
|
|
|
+ <el-select v-model="queryParams.taskType" filterable clearable>
|
|
|
+ <el-option v-for="item in taskTypeList" :key="item.id" :label="item.name" :value="item.id"/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
@@ -87,9 +87,15 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="添加类型" align="center" prop="isWeCom">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-tag v-if="scope.row.isWeCom == 1">个微</el-tag>
|
|
|
+ <!-- <el-tag v-if="scope.row.isWeCom == 1">个微</el-tag> -->
|
|
|
<el-tag v-if="scope.row.isWeCom == 2">企微</el-tag>
|
|
|
</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="任务类型" align="center" prop="taskType">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tag v-if="scope.row.taskType == 1">普通任务</el-tag>
|
|
|
+ <el-tag v-if="scope.row.taskType == 2">场景任务</el-tag>
|
|
|
+ </template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="任务状态" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
@@ -139,13 +145,13 @@
|
|
|
v-if="scope.row.taskStatus == 0"
|
|
|
@click="taskRunFun(scope.row.id)"
|
|
|
>启动任务</el-button>
|
|
|
- <el-button
|
|
|
+ <!-- <el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
v-if="statusObj.hasOwnProperty(scope.row.taskId) && (statusObj[scope.row.taskId].runningStatus == 0 || statusObj[scope.row.taskId].runningStatus == 3)"
|
|
|
@click="startRoboticFun(scope.row.taskId)"
|
|
|
v-hasPermi="['system:companyVoiceRobotic:list']"
|
|
|
- >开启外呼任务</el-button>
|
|
|
+ >开启外呼任务</el-button> -->
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
@@ -177,7 +183,19 @@
|
|
|
<el-drawer size="45%" :title="title" :visible.sync="open" width="500px" append-to-body class="task-form-drawer">
|
|
|
<div class="drawer-content">
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="90px" class="task-form">
|
|
|
- <div class="form-section">
|
|
|
+ <div class="form-section" >
|
|
|
+ <div class="section-title">
|
|
|
+ <i class="el-icon-document"></i>
|
|
|
+ <span>任务类型</span>
|
|
|
+ </div>
|
|
|
+ <el-form-item label="任务类型" prop="taskType">
|
|
|
+ <el-select v-model="form.taskType" filterable placeholder="请选择任务类型" @change="taskTypeChange()">
|
|
|
+ <el-option v-for="item in taskTypeList" :key="item.id" :label="item.name" :value="item.id"/>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="form-section" v-if="form.taskType === 1" >
|
|
|
<div class="section-title">
|
|
|
<i class="el-icon-document"></i>
|
|
|
<span>基本信息</span>
|
|
|
@@ -205,10 +223,11 @@
|
|
|
placeholder="任务运行开始时间"
|
|
|
style="width: 100%;"
|
|
|
v-model="form.runtimeRangeStart"
|
|
|
+ key="runtimeRangeStart"
|
|
|
:picker-options="{
|
|
|
- start: '07:30',
|
|
|
- step: '00:10',
|
|
|
- end: '20:00'
|
|
|
+ start: '07:00',
|
|
|
+ step: '00:30',
|
|
|
+ end: '22:00'
|
|
|
}">
|
|
|
</el-time-select>
|
|
|
</el-form-item>
|
|
|
@@ -220,10 +239,11 @@
|
|
|
style="width: 100%;"
|
|
|
placeholder="任务运行结束时间"
|
|
|
v-model="form.runtimeRangeEnd"
|
|
|
+ key="runtimeRangeEnd"
|
|
|
:picker-options="{
|
|
|
- start: '08:30',
|
|
|
- step: '00:10',
|
|
|
- end: '21:00',
|
|
|
+ start: '07:00',
|
|
|
+ step: '00:30',
|
|
|
+ end: '22:00',
|
|
|
minTime: form.runtimeRangeStart
|
|
|
}">
|
|
|
</el-time-select>
|
|
|
@@ -231,6 +251,60 @@
|
|
|
</el-col>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
+ <!-- 场景任务 -->
|
|
|
+ <div class="form-section" v-if="form.taskType === 2" >
|
|
|
+ <div class="section-title">
|
|
|
+ <i class="el-icon-document"></i>
|
|
|
+ <span>基本信息</span>
|
|
|
+ </div>
|
|
|
+ <el-form-item label="任务名称" prop="name">
|
|
|
+ <el-input v-model="form.name" placeholder="请输入任务名称" clearable/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="任务流程" prop="companyAiWorkflowId">
|
|
|
+ <el-select v-model="form.companyAiWorkflowId" filterable placeholder="请选择任务流程">
|
|
|
+ <el-option v-for="item in workflowList" :key="item.value" :label="item.label" :value="item.value"/>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="场景类型" prop="sceneType">
|
|
|
+ <el-select v-model="form.sceneType" filterable placeholder="请选择场景类型">
|
|
|
+ <el-option v-for="opt in sceneList" :key="opt.dictValue" :label="opt.dictLabel" :value="opt.dictValue"/>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="适用时间" required>
|
|
|
+ <el-col :span="11">
|
|
|
+ <el-form-item prop="availableStartTime">
|
|
|
+ <el-time-select
|
|
|
+ placeholder="场景适用开始时间"
|
|
|
+ style="width: 100%;"
|
|
|
+ v-model="form.availableStartTime"
|
|
|
+ key="availableStartTime"
|
|
|
+ :picker-options="{
|
|
|
+ start: '00:00',
|
|
|
+ step: '00:30',
|
|
|
+ end: '24:00'
|
|
|
+ }">
|
|
|
+ </el-time-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col class="line" :span="2" style="text-align: center">-</el-col>
|
|
|
+ <el-col :span="11">
|
|
|
+ <el-form-item prop="availableEndTime">
|
|
|
+ <el-time-select
|
|
|
+ style="width: 100%;"
|
|
|
+ placeholder="场景适用结束时间"
|
|
|
+ v-model="form.availableEndTime"
|
|
|
+ key="availableEndTime"
|
|
|
+ :picker-options="{
|
|
|
+ start: '00:00',
|
|
|
+ step: '00:30',
|
|
|
+ end: '24:00'
|
|
|
+ }">
|
|
|
+ </el-time-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ </div>
|
|
|
|
|
|
<div class="form-section">
|
|
|
<div class="section-title">
|
|
|
@@ -258,10 +332,10 @@
|
|
|
</div>
|
|
|
<el-form-item label="添加类型" prop="isWeCom">
|
|
|
<el-radio-group v-model="form.isWeCom">
|
|
|
- <el-radio :label="1" border>
|
|
|
+ <!-- <el-radio :label="1" border>
|
|
|
<i class="el-icon-pie-chart"></i>
|
|
|
个微
|
|
|
- </el-radio>
|
|
|
+ </el-radio> -->
|
|
|
<el-radio :label="2" border>
|
|
|
<i class="el-icon-star-on"></i>
|
|
|
企微
|
|
|
@@ -592,6 +666,8 @@ export default {
|
|
|
components: { draggable, customerDetails, customerSelect, qwUserSelect,qwUserSelectTwo},
|
|
|
data() {
|
|
|
return {
|
|
|
+ taskType:1,
|
|
|
+ taskTypeList:[{id:1,name:"普通任务"},{id:2,name:"场景任务"}],
|
|
|
currentCompanyId:null,
|
|
|
// 遮罩层
|
|
|
loading: true,
|
|
|
@@ -644,10 +720,13 @@ export default {
|
|
|
weekDay2: null,
|
|
|
startTime2: null,
|
|
|
endTime2: null,
|
|
|
- createUser: null
|
|
|
+ createUser: null,
|
|
|
+ taskType:null
|
|
|
},
|
|
|
// 表单参数
|
|
|
- form: {},
|
|
|
+ form: {
|
|
|
+ taskType:1
|
|
|
+ },
|
|
|
taskFlowList: [{key: "cellPhone", value: "外呼"}, {key: "qwAddWx", value: "企微加微"}, {key: "sendMsg", value: "发短信"}, {key: "addWx", value: "加微"}],
|
|
|
taskFlowMap: {cellPhone: "外呼", sendMsg: "发短信", addWx: "加微", qwAddWx: "企微加微"},
|
|
|
statusObj: {},
|
|
|
@@ -709,6 +788,9 @@ export default {
|
|
|
},
|
|
|
// 表单校验
|
|
|
rules: {
|
|
|
+ taskType:[
|
|
|
+ { required: true, message: '请选择任务类型', trigger: 'change' },
|
|
|
+ ],
|
|
|
name: [
|
|
|
{ required: true, message: '请输入任务名称', trigger: 'blur' },
|
|
|
],
|
|
|
@@ -722,7 +804,8 @@ export default {
|
|
|
{ required: true, message: '请选择任务运行结束时间', trigger: 'change' }
|
|
|
]
|
|
|
},
|
|
|
- smsTempList:[]
|
|
|
+ smsTempList:[],
|
|
|
+ sceneList:[]
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
@@ -747,6 +830,10 @@ export default {
|
|
|
getDicts("customer_intention_level").then(e => {
|
|
|
this.levelList = e.data;
|
|
|
})
|
|
|
+ getDicts("task_scene_type").then(e => {
|
|
|
+ console.log(e);
|
|
|
+ this.sceneList = e.data;
|
|
|
+ })
|
|
|
this.getList();
|
|
|
this.getSmsTempDropList();
|
|
|
|
|
|
@@ -855,6 +942,9 @@ export default {
|
|
|
runtimeRangeStart:null,
|
|
|
runtimeRangeEnd:null,
|
|
|
isWeCom: 1,
|
|
|
+ taskType:1,
|
|
|
+ availableStartTime :null,
|
|
|
+ availableEndTime: null
|
|
|
};
|
|
|
this.resetForm("form");
|
|
|
},
|
|
|
@@ -877,8 +967,11 @@ export default {
|
|
|
/** 新增按钮操作 */
|
|
|
handleAdd() {
|
|
|
this.reset();
|
|
|
+ optionList().then(e => {
|
|
|
+ this.workflowList = e.data;
|
|
|
+ })
|
|
|
this.open = true;
|
|
|
- this.title = "添加机器人外呼任务";
|
|
|
+ this.title = "添加任务";
|
|
|
},
|
|
|
/** 修改按钮操作 */
|
|
|
handleUpdate(row) {
|
|
|
@@ -1185,6 +1278,24 @@ export default {
|
|
|
getAvatarColor(index) {
|
|
|
const colors = ['#1890ff', '#52c41a', '#faad14', '#722ed1', '#eb2f96'];
|
|
|
return colors[index % colors.length];
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 选择任务类型
|
|
|
+ */
|
|
|
+ taskTypeChange(){
|
|
|
+ console.log(this.form.taskType);
|
|
|
+ this.form.runtimeRangeStart=null;
|
|
|
+ this.form.runtimeRangeEnd= null;
|
|
|
+ this.form.userIds= [];
|
|
|
+ this.form.userNames= [];
|
|
|
+ this.form.userTableList= [];
|
|
|
+ this.form.companyAiWorkflowId = null;
|
|
|
+ this.form.name = null;
|
|
|
+ this.form.availableStartTime = null;
|
|
|
+ this.form.availableEndTime = null;
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.form.clearValidate();
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
};
|