|
@@ -109,7 +109,7 @@
|
|
</el-time-picker>
|
|
</el-time-picker>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</div>
|
|
</div>
|
|
- <el-form-item label="官方群发" v-if="contentIndex==0 && content.type==2">
|
|
|
|
|
|
+ <el-form-item label="官方群发" v-if="contentIndex==0 && content.type==2 && form.sendType != 4">
|
|
<el-switch
|
|
<el-switch
|
|
v-model="content.isOfficial"
|
|
v-model="content.isOfficial"
|
|
active-color="#13ce66"
|
|
active-color="#13ce66"
|
|
@@ -250,7 +250,7 @@
|
|
v-if="content.type != 4 && content.type != 5">
|
|
v-if="content.type != 4 && content.type != 5">
|
|
<el-row style="padding-bottom: 20px">
|
|
<el-row style="padding-bottom: 20px">
|
|
<el-col :span="22">
|
|
<el-col :span="22">
|
|
- <el-form v-if="form.sendType != 4" :model="setList" label-width="70px">
|
|
|
|
|
|
+ <el-form :model="setList" label-width="70px">
|
|
<el-form-item label="内容类别" style="margin: 2%">
|
|
<el-form-item label="内容类别" style="margin: 2%">
|
|
<div v-if="form.sendType == 1 ">
|
|
<div v-if="form.sendType == 1 ">
|
|
<el-radio-group v-model="setList.contentType" :disabled="formType == 3 || !roles.includes('edit_sop_temp_content')">
|
|
<el-radio-group v-model="setList.contentType" :disabled="formType == 3 || !roles.includes('edit_sop_temp_content')">
|
|
@@ -276,6 +276,18 @@
|
|
</el-radio>
|
|
</el-radio>
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div v-if=" form.sendType == 4">
|
|
|
|
+ <el-radio-group v-model="setList.contentType"
|
|
|
|
+ :disabled="formType == 3"
|
|
|
|
+ @change="handleContentTypeChange(content,index,contentIndex,setIndex)">
|
|
|
|
+ <el-radio
|
|
|
|
+ :key="item.dictValue"
|
|
|
|
+ :label="item.dictValue"
|
|
|
|
+ :disabled="((content.type!=2 || form.sendType == 4) && (item.dictValue === '8' || item.dictValue === '9') || (content.isOfficial==1 && ['5','6','7','8','9'].includes(item.dictValue)))"
|
|
|
|
+ v-for="item in sysQwSopAiContentType">{{ item.dictLabel }}
|
|
|
|
+ </el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </div>
|
|
<div v-if="form.sendType == 11">
|
|
<div v-if="form.sendType == 11">
|
|
<el-radio-group v-model="setList.contentType"
|
|
<el-radio-group v-model="setList.contentType"
|
|
:disabled="formType == 3 || (form.sendType == 11 && contentIndex != 0 && setIndex == 0)"
|
|
:disabled="formType == 3 || (form.sendType == 11 && contentIndex != 0 && setIndex == 0)"
|
|
@@ -285,7 +297,7 @@
|
|
:label="item.dictValue"
|
|
:label="item.dictValue"
|
|
:disabled="(content.type!=2 && item.dictValue === '9') || (content.isOfficial==1 && ['5','6','7','8','9'].includes(item.dictValue))"
|
|
:disabled="(content.type!=2 && item.dictValue === '9') || (content.isOfficial==1 && ['5','6','7','8','9'].includes(item.dictValue))"
|
|
v-for="item in sysQwSopAiContentType"
|
|
v-for="item in sysQwSopAiContentType"
|
|
- v-if="setIndex == 0 ? courseTypeList.includes(item.dictValue) : !courseTypeList.includes(item.dictValue)">{{ item.dictLabel }}
|
|
|
|
|
|
+ v-if="courseTypeList.includes(item.dictValue)">{{ item.dictLabel }}
|
|
</el-radio>
|
|
</el-radio>
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</div>
|
|
</div>
|
|
@@ -476,26 +488,26 @@
|
|
</el-card>
|
|
</el-card>
|
|
</div>
|
|
</div>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="添加短链"
|
|
|
|
- v-if="content.type == 2 && setList.contentType == 1 ">
|
|
|
|
- <el-tooltip content="请先根据课程选定课程小节之后再添加" effect="dark"
|
|
|
|
- :disabled="!content.videoId">
|
|
|
|
- <el-switch
|
|
|
|
- @change="updateHtml"
|
|
|
|
- v-model="setList.isBindUrl"
|
|
|
|
- :disabled="!content.videoId && formType == 3 && !roles.includes('edit_sop_temp_content')"
|
|
|
|
- active-color="#13ce66"
|
|
|
|
- inactive-color="#DCDFE6"
|
|
|
|
- active-value="1"
|
|
|
|
- inactive-value="2">
|
|
|
|
- </el-switch>
|
|
|
|
- </el-tooltip>
|
|
|
|
-
|
|
|
|
- <span v-if="setList.isBindUrl == '1'"
|
|
|
|
- style="margin-left: 10px; color: #13ce66">添加URL</span>
|
|
|
|
- <span v-if="setList.isBindUrl == '2'"
|
|
|
|
- style="margin-left: 10px; color: #b1b4ba">不加URL</span>
|
|
|
|
- </el-form-item>
|
|
|
|
|
|
+<!-- <el-form-item label="添加短链"-->
|
|
|
|
+<!-- v-if="content.type == 2 && setList.contentType == 1 ">-->
|
|
|
|
+<!-- <el-tooltip content="请先根据课程选定课程小节之后再添加" effect="dark"-->
|
|
|
|
+<!-- :disabled="!content.videoId">-->
|
|
|
|
+<!-- <el-switch-->
|
|
|
|
+<!-- @change="updateHtml"-->
|
|
|
|
+<!-- v-model="setList.isBindUrl"-->
|
|
|
|
+<!-- :disabled="!content.videoId && formType == 3 && !roles.includes('edit_sop_temp_content')"-->
|
|
|
|
+<!-- active-color="#13ce66"-->
|
|
|
|
+<!-- inactive-color="#DCDFE6"-->
|
|
|
|
+<!-- active-value="1"-->
|
|
|
|
+<!-- inactive-value="2">-->
|
|
|
|
+<!-- </el-switch>-->
|
|
|
|
+<!-- </el-tooltip>-->
|
|
|
|
+
|
|
|
|
+<!-- <span v-if="setList.isBindUrl == '1'"-->
|
|
|
|
+<!-- style="margin-left: 10px; color: #13ce66">添加URL</span>-->
|
|
|
|
+<!-- <span v-if="setList.isBindUrl == '2'"-->
|
|
|
|
+<!-- style="margin-left: 10px; color: #b1b4ba">不加URL</span>-->
|
|
|
|
+<!-- </el-form-item>-->
|
|
<el-form-item label="课节过期时间"
|
|
<el-form-item label="课节过期时间"
|
|
v-if="content.type == 2 && (setList.isBindUrl == '1' || setList.contentType==4) && setList.contentType != 2 && setList.contentType != 5 && setList.contentType != 6 && setList.contentType != 8 && setList.contentType != 9 && setList.contentType != 10 ">
|
|
v-if="content.type == 2 && (setList.isBindUrl == '1' || setList.contentType==4) && setList.contentType != 2 && setList.contentType != 5 && setList.contentType != 6 && setList.contentType != 8 && setList.contentType != 9 && setList.contentType != 10 ">
|
|
<el-row>
|
|
<el-row>
|
|
@@ -518,30 +530,30 @@
|
|
v-model="setList.intervalTime"
|
|
v-model="setList.intervalTime"
|
|
:min="1"
|
|
:min="1"
|
|
:max="1440"
|
|
:max="1440"
|
|
- style="width:100px;margin-top: 10px;"
|
|
|
|
|
|
+ style="width:150px;margin-top: 10px;"
|
|
>
|
|
>
|
|
</el-input-number>
|
|
</el-input-number>
|
|
<span class="tip">单位:分钟,最大1440分钟(24小时)</span>
|
|
<span class="tip">单位:分钟,最大1440分钟(24小时)</span>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="内容" style="margin: 2%">
|
|
|
|
- <el-input
|
|
|
|
- v-model="setList.value"
|
|
|
|
- type="textarea"
|
|
|
|
- :rows="3"
|
|
|
|
- placeholder="内容"
|
|
|
|
- style="width: 90%;margin-top: 10px;"/>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="交流状态" style="margin: 2%">
|
|
|
|
- <el-select v-model="setList.talkType" placeholder="更改交流状态" size="mini"
|
|
|
|
- style=" margin-right: 10px;" clearable>
|
|
|
|
- <el-option label="非首次交流" value="非首次交流"></el-option>
|
|
|
|
- <el-option label="首次交流1" value="首次交流1"></el-option>
|
|
|
|
- <el-option label="首次交流2" value="首次交流2"></el-option>
|
|
|
|
- <el-option label="交流状态1" value="交流状态1"></el-option>
|
|
|
|
- <el-option label="交流状态2" value="交流状态2"></el-option>
|
|
|
|
- <el-option label="交流状态3" value="交流状态3"></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
|
|
+<!-- <el-form-item label="内容" style="margin: 2%">-->
|
|
|
|
+<!-- <el-input-->
|
|
|
|
+<!-- v-model="setList.value"-->
|
|
|
|
+<!-- type="textarea"-->
|
|
|
|
+<!-- :rows="3"-->
|
|
|
|
+<!-- placeholder="内容"-->
|
|
|
|
+<!-- style="width: 90%;margin-top: 10px;"/>-->
|
|
|
|
+<!-- </el-form-item>-->
|
|
|
|
+<!-- <el-form-item label="交流状态" style="margin: 2%">-->
|
|
|
|
+<!-- <el-select v-model="setList.talkType" placeholder="更改交流状态" size="mini"-->
|
|
|
|
+<!-- style=" margin-right: 10px;" clearable>-->
|
|
|
|
+<!-- <el-option label="非首次交流" value="非首次交流"></el-option>-->
|
|
|
|
+<!-- <el-option label="首次交流1" value="首次交流1"></el-option>-->
|
|
|
|
+<!-- <el-option label="首次交流2" value="首次交流2"></el-option>-->
|
|
|
|
+<!-- <el-option label="交流状态1" value="交流状态1"></el-option>-->
|
|
|
|
+<!-- <el-option label="交流状态2" value="交流状态2"></el-option>-->
|
|
|
|
+<!-- <el-option label="交流状态3" value="交流状态3"></el-option>-->
|
|
|
|
+<!-- </el-select>-->
|
|
|
|
+<!-- </el-form-item>-->
|
|
</el-form>
|
|
</el-form>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1" :offset="1">
|
|
<el-col :span="1" :offset="1">
|
|
@@ -1159,11 +1171,57 @@ export default {
|
|
for (let content of day.content) {
|
|
for (let content of day.content) {
|
|
for (let set of content.setting) {
|
|
for (let set of content.setting) {
|
|
if (!set.intervalTime) {
|
|
if (!set.intervalTime) {
|
|
- this.$message.error("客服数量不能为空");
|
|
|
|
|
|
+ this.$message.error("客服时间不能为空");
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ if (set.contentType == 1 && (set.value == null || set.value == "")) {
|
|
|
|
+ this.$message.error("内容不能为空")
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ if (set.contentType == 2 && (set.imgUrl == null || set.imgUrl == "")) {
|
|
|
|
+ this.$message.error("图片不能为空")
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ if ((set.contentType == 3 || set.contentType == 9) && (set.linkTitle == null || set.linkTitle == "")) {
|
|
|
|
+ this.$message.error("链接标题不能为空")
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ if ((set.contentType == 3 || set.contentType == 9) && (set.linkDescribe == null || set.linkDescribe == "")) {
|
|
|
|
+ this.$message.error("链接描述不能为空")
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ if ((set.contentType == 3 || set.contentType == 9) && (set.linkImageUrl == null || set.linkImageUrl == "")) {
|
|
|
|
+ this.$message.error("链接图片不能为空")
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ if (set.contentType == 3 && set.type == 1 && (set.linkUrl == null || set.linkUrl == "")) {
|
|
|
|
+ this.$message.error("链接地址不能为空")
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
- if (!set.value) {
|
|
|
|
- this.$message.error("内容不能为空");
|
|
|
|
|
|
+
|
|
|
|
+ if (set.contentType == 4 && (set.miniprogramTitle == null || set.miniprogramTitle == "")) {
|
|
|
|
+ this.$message.error("小程序消息标题不能为空")
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ if (set.contentType == 4 && (set.miniprogramPicUrl == null || set.miniprogramPicUrl == "")) {
|
|
|
|
+ this.$message.error("小程序封面地址不能为空")
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (set.contentType == 5 && (set.fileUrl == null || set.fileUrl == "")) {
|
|
|
|
+ this.$message.error("文件不能为空")
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ if (set.contentType == 6 && (set.videoUrl == null || set.videoUrl == "")) {
|
|
|
|
+ this.$message.error("视频不能为空")
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ if (set.contentType == 7 && (set.value == null || set.value == "")) {
|
|
|
|
+ this.$message.error("语音文本不能为空")
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ if (set.contentType == 8 && (set.url == null || set.url == "")) {
|
|
|
|
+ this.$message.error("视频号信息不能为空")
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1206,11 +1264,19 @@ export default {
|
|
contentType: '1',
|
|
contentType: '1',
|
|
value: '',
|
|
value: '',
|
|
};
|
|
};
|
|
- if (this.form.sendType == 4) {
|
|
|
|
- newSetting.intervalTime = 5;
|
|
|
|
|
|
+ if (this.form.sendType === 4) {
|
|
|
|
+ for (let i = 0; i < content.length; i++) {
|
|
|
|
+ if (content[i].setting.length < 5) {
|
|
|
|
+ // 将新设置项添加到 content.setting 数组中
|
|
|
|
+ content[contentIndex].setting.push(newSetting);
|
|
|
|
+ } else {
|
|
|
|
+ return this.$message.error("因为要求限制,新课对话模板一条消息只能设置最多~5个内容!!")
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ // 将新设置项添加到 content.setting 数组中
|
|
|
|
+ content[contentIndex].setting.push(newSetting);
|
|
}
|
|
}
|
|
- // 将新设置项添加到 content.setting 数组中
|
|
|
|
- content[contentIndex].setting.push(newSetting);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -1258,6 +1324,7 @@ export default {
|
|
addSetting() {
|
|
addSetting() {
|
|
let content = [{type: this.defaultContentType, contentType: '1', setting: [{contentType: '1', value: "",}]}];
|
|
let content = [{type: this.defaultContentType, contentType: '1', setting: [{contentType: '1', value: "",}]}];
|
|
if (this.form.sendType == 4) {
|
|
if (this.form.sendType == 4) {
|
|
|
|
+ content = [{type: 2, contentType: '1', setting: [{contentType: '1', value: "",}]}];
|
|
content[0].setting[0].intervalTime = 5;
|
|
content[0].setting[0].intervalTime = 5;
|
|
}
|
|
}
|
|
this.setting.push({
|
|
this.setting.push({
|
|
@@ -1513,7 +1580,7 @@ export default {
|
|
for (let i = 0; i < content.setting.length; i++) {
|
|
for (let i = 0; i < content.setting.length; i++) {
|
|
//课程消息-文本内容
|
|
//课程消息-文本内容
|
|
if (content.setting[i].contentType == 1 && content.type == 2) {
|
|
if (content.setting[i].contentType == 1 && content.type == 2) {
|
|
- this.$set(content.setting[i], 'isBindUrl', '1');
|
|
|
|
|
|
+ this.$set(content.setting[i], 'isBindUrl', '2');
|
|
}
|
|
}
|
|
//如果是链接的才上
|
|
//如果是链接的才上
|
|
if (selectedVideo && content.type == 2 && content.videoId != null) {
|
|
if (selectedVideo && content.type == 2 && content.videoId != null) {
|