This commit is contained in:
2024-07-11 15:20:13 +08:00
parent a5aa1e5196
commit 4a1463d282
7 changed files with 475 additions and 1094 deletions

View File

@ -255,7 +255,7 @@
{{ item.appletNodeContent }}
</div>
</div>
<div class="tabtext" v-if="item.templateType == 'SCRIPT'">
<div class="tabtext" v-if="item.taskNodeType == 'PHONE_OUTBOUND'">
<div class="lefttext">
话术
</div>
@ -264,7 +264,7 @@
<el-button type="primary" size="small" @click="scriptlook(item)">预览</el-button>
</div>
</div>
<div class="tabtext" v-else-if="item.templateType == 'PROPAGANDA'">
<div class="tabtext" v-else-if="item.taskNodeType == 'PROPAGANDA_ARTICLE'">
<div class="lefttext">
宣教
</div>
@ -274,7 +274,7 @@
<!-- <editor v-model="item.templateDetail" :min-height="192" style="width: 100%" /> -->
</div>
</div>
<div class="tabtext" v-else-if="item.templateType == 'QUESTIONNAIRE'">
<div class="tabtext" v-else-if="item.taskNodeType == 'QUESTIONNAIRE_SCALE'">
<div class="lefttext">
问卷
</div>
@ -282,7 +282,7 @@
<questionopennew :lookitemnew="item.templateDetail"></questionopennew>
</div>
</div>
<div class="tabtext" v-else-if="item.templateType == 'TEXT_REMIND'">
<div class="tabtext" v-else-if="item.taskNodeType == 'TEXT_REMIND'">
<div class="lefttext">
文字提醒
</div>
@ -644,4 +644,4 @@ export default {
}
}
}
</style>
</style>

View File

@ -8,17 +8,8 @@
</div>
<div class="select">
<span> 适用范围 </span>
<el-select
v-model="updata.suitRange"
placeholder="请选择"
@change="changeoptions"
>
<el-option
v-for="item in options"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
<el-select v-model="updata.suitRange" placeholder="请选择" @change="changeoptions">
<el-option v-for="item in options" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
</el-option>
</el-select>
</div>
@ -30,20 +21,12 @@
<i class="el-icon-circle-plus-outline" @click="addlist"></i>
</div>
<el-timeline>
<el-timeline-item
v-for="(item, index) in lists"
:key="index"
:color="listindex == index ? '#409EFF' : ''"
>
<el-timeline-item v-for="(item, index) in lists" :key="index" :color="listindex == index ? '#409EFF' : ''">
<div class="top">
<div class="toptop">
<el-select v-model="item.routeNodeName" style="width: 100px">
<el-option
v-for="item in parentDictCodelist"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
<el-option v-for="item in parentDictCodelist" :key="item.dictValue" :label="item.dictLabel"
:value="item.dictValue">
</el-option>
<!-- <el-option label="出院后" value="AFTER_DISCHARGE" />
<el-option label="入院后" value="AFTER_ADMISSION" />
@ -55,43 +38,22 @@
<el-option label="术前" value="PREOPERATIVE" />
<el-option label="术后" value="POSTOPERATIVE" /> -->
</el-select>
<el-input
v-model="item.routeNodeDay"
style="width: 70px"
type="number"
:min="0"
></el-input>
<el-input v-model="item.routeNodeDay" style="width: 70px" type="number" :min="0"></el-input>
<span></span>
</div>
<div>
<i class="el-icon-delete" @click="delitem(item, index)"></i>
<i
class="el-icon-circle-plus-outline"
@click="additem(item)"
></i>
<i class="el-icon-circle-plus-outline" @click="additem(item)"></i>
</div>
</div>
<el-card
v-for="(uitem, uindex) in item.list"
:key="uitem.id"
<el-card v-for="(uitem, uindex) in item.list" :key="uitem.id"
@click.native="bottomclickevent(uitem, index, uindex)"
:class="listindex == index && itemindex == uindex ? 'cards' : ''"
>
:class="listindex == index && itemindex == uindex ? 'cards' : ''">
<h3 style="height: 20px">{{ uitem.taskTypeName }}</h3>
<el-tag
v-if="uitem.routeCheckStatus == 'AGREE'"
class="routeCheckStatus"
>已审核</el-tag
>
<el-tag
v-else-if="uitem.routeCheckStatus == 'DISAGREE'"
type="danger"
class="routeCheckStatus"
>不同意</el-tag
>
<el-tag v-else type="warning" class="routeCheckStatus"
>未审核</el-tag
>
<el-tag v-if="uitem.routeCheckStatus == 'AGREE'" class="routeCheckStatus">已审核</el-tag>
<el-tag v-else-if="uitem.routeCheckStatus == 'DISAGREE'" type="danger"
class="routeCheckStatus">不同意</el-tag>
<el-tag v-else type="warning" class="routeCheckStatus">未审核</el-tag>
<p style="height: 16px">{{ uitem.taskSubdivisionName }}</p>
</el-card>
</el-timeline-item>
@ -101,102 +63,50 @@
<div class="topform">
<el-form ref="form" :inline="true" :model="form" class="form">
<el-form-item label="任务类型" prop="">
<el-select
v-model="form.taskType"
style="width: 110px"
@change="changeTaskType"
>
<el-option
v-for="item in selectTaskTypeList"
:key="item.taskTypeCode"
:label="item.taskTypeName"
:value="item.taskTypeCode"
>
<el-select v-model="form.taskType" style="width: 110px" @change="changeTaskType">
<el-option v-for="item in selectTaskTypeList" :key="item.taskTypeCode" :label="item.taskTypeName"
:value="item.taskTypeCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="任务细分" prop="">
<el-select
v-model="form.taskSubdivision"
style="width: 110px"
@change="changetaskSubdivision"
>
<el-option
v-for="item in taskPartitionList"
:key="item.taskPartitionCode"
:label="item.taskPartitionName"
:value="item.taskPartitionCode"
>
<el-select v-model="form.taskSubdivision" style="width: 110px" @change="changetaskSubdivision">
<el-option v-for="item in taskPartitionList" :key="item.taskPartitionCode"
:label="item.taskPartitionName" :value="item.taskPartitionCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="任务状态" prop="">
<el-select v-model="form.taskStatus" style="width: 110px">
<el-option
v-for="item in taskStatusDictList"
:key="item.id"
:label="item.taskStatusName"
:value="item.taskStatusCode"
>
<el-option v-for="item in taskStatusDictList" :key="item.id" :label="item.taskStatusName"
:value="item.taskStatusCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="二级分类描述" prop="">
<el-input
v-model="form.secondClassifyDescribe"
style="width: 110px"
disabled
></el-input>
<el-input v-model="form.secondClassifyDescribe" style="width: 110px" disabled></el-input>
</el-form-item>
<el-form-item label="执行时间" prop="">
<el-time-select
v-model="form.executionTime"
style="width: 120px"
placeholder="选择时间"
disabled
>
<el-time-select v-model="form.executionTime" style="width: 120px" placeholder="选择时间" disabled>
</el-time-select>
</el-form-item>
<el-form-item
label="问卷库模板选择"
prop=""
v-if="form.taskSubdivisiontemplateType == 'QUESTIONNAIRE'"
>
<question
@on-template="questionontemplate"
:templateId="form.templateId"
:templateName="form.templateName"
></question>
<el-form-item label="问卷库模板选择" prop="" v-if="form.taskNodeType == 'QUESTIONNAIRE_SCALE'">
<question @on-template="questionontemplate" :templateId="form.templateId"
:templateName="form.templateName"></question>
</el-form-item>
<el-form-item
label="宣教库模板选择"
prop=""
v-if="form.taskSubdivisiontemplateType == 'PROPAGANDA'"
>
<propaganda
@on-template="propagandaontemplate"
:templateId="form.templateId"
:templateName="form.templateName"
></propaganda>
<el-form-item label="宣教库模板选择" prop="" v-if="form.taskNodeType == 'PROPAGANDA_ARTICLE'">
<propaganda @on-template="propagandaontemplate" :templateId="form.templateId"
:templateName="form.templateName"></propaganda>
</el-form-item>
</el-form>
</div>
<div class="bottomform">
<wangeditor
style="width: 100%;background-color: red;"
:nodeContent="form.nodeContent"
@on-nodeContent="onNodeContent"
v-show="
form.taskSubdivisiontemplateType != 'QUESTIONNAIRE' &&
form.taskSubdivisiontemplateType != 'PROPAGANDA' &&
form.taskSubdivisiontemplateType != 'SCRIPT'
"
ref="wangeditor"
/>
<div
class="card"
v-show="form.taskSubdivisiontemplateType != 'SCRIPT'"
>
<wangeditor style="width: 100%;background-color: red;" :nodeContent="form.nodeContent"
@on-nodeContent="onNodeContent" v-show="form.taskNodeType != 'QUESTIONNAIRE_SCALE' &&
form.taskNodeType != 'PROPAGANDA_ARTICLE' &&
form.taskNodeType != 'PHONE_OUTBOUND'
" ref="wangeditor" />
<div class="card" v-show="form.taskNodeType != 'PHONE_OUTBOUND'">
<div class="flex">
<div class="pushMethod">
推送方式
@ -204,19 +114,11 @@
</div>
<div class="pushMethod">
模板
<message
@on-template="messageontemplate"
:templateId="form.messageTemplateId"
:templateName="form.messageTemplateName"
></message>
<message @on-template="messageontemplate" :templateId="form.messageTemplateId"
:templateName="form.messageTemplateName"></message>
</div>
<div class="pushMethod">
<el-switch
v-model="form.messagePushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
<el-switch v-model="form.messagePushSign" active-color="#13ce66" active-value="1" inactive-value="0">
</el-switch>
</div>
</div>
@ -225,10 +127,7 @@
<el-input class="textarea" v-model="form.messagePreview" disabled></el-input>
</div> -->
</div>
<div
class="card"
v-show="form.taskSubdivisiontemplateType != 'SCRIPT'"
>
<div class="card" v-show="form.taskNodeType != 'PHONE_OUTBOUND'">
<div class="flex">
<div class="pushMethod">
推送方式
@ -237,21 +136,13 @@
<div class="pushMethod">
模板
<span>
<officialAccount
@on-template="officialAccountontemplate"
:templateId="form.officialTemplateId"
:templateName="form.officialTemplateName"
>
<officialAccount @on-template="officialAccountontemplate" :templateId="form.officialTemplateId"
:templateName="form.officialTemplateName">
</officialAccount>
</span>
</div>
<div class="pushMethod">
<el-switch
v-model="form.officialPushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
<el-switch v-model="form.officialPushSign" active-color="#13ce66" active-value="1" inactive-value="0">
</el-switch>
</div>
</div>
@ -260,10 +151,7 @@
<el-input v-model="form.officialRemindContent" class="textarea" disabled></el-input>
</div> -->
</div>
<div
class="card"
v-show="form.taskSubdivisiontemplateType != 'SCRIPT'"
>
<div class="card" v-show="form.taskNodeType != 'PHONE_OUTBOUND'">
<div class="flex">
<div class="pushMethod">
推送方式
@ -272,21 +160,13 @@
<div class="pushMethod">
模板
<span>
<miniProgram
@on-template="miniProgramtemplate"
:templateId="form.appletTemplateId"
:templateName="form.appletTemplateName"
>
<miniProgram @on-template="miniProgramtemplate" :templateId="form.appletTemplateId"
:templateName="form.appletTemplateName">
</miniProgram>
</span>
</div>
<div class="pushMethod">
<el-switch
v-model="form.appletPushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
<el-switch v-model="form.appletPushSign" active-color="#13ce66" active-value="1" inactive-value="0">
</el-switch>
</div>
</div>
@ -299,11 +179,7 @@
<el-input v-model="form.appletPromptDescription" class="textarea" disabled></el-input>
</div> -->
</div>
<div
class="card"
style="height: 250px"
v-show="form.taskSubdivisiontemplateType == 'SCRIPT'"
>
<div class="card" style="height: 250px" v-show="form.taskNodeType == 'PHONE_OUTBOUND'">
<div class="flex">
<div class="pushMethod">
推送方式
@ -311,19 +187,11 @@
</div>
<div class="pushMethod">
模板
<scripts
@on-template="messageontemplateword"
:templateId="form.phoneTemplateId"
:templateName="form.phoneTemplateName"
></scripts>
<scripts @on-template="messageontemplateword" :templateId="form.phoneTemplateId"
:templateName="form.phoneTemplateName"></scripts>
</div>
<div class="pushMethod">
<el-switch
v-model="form.phonePushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
<el-switch v-model="form.phonePushSign" active-color="#13ce66" active-value="1" inactive-value="0">
</el-switch>
</div>
</div>
@ -331,16 +199,9 @@
<div class="pushMethod">
重播次数
<span>
<el-select
v-model="form.phoneRedialTimes"
style="width: 100px"
>
<el-option
v-for="item in optionslistS"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
<el-select v-model="form.phoneRedialTimes" style="width: 100px">
<el-option v-for="item in optionslistS" :key="item.dictValue" :label="item.dictLabel"
:value="item.dictValue">
</el-option>
</el-select>
</span>
@ -348,11 +209,8 @@
<div class="pushMethod">
时间间隔:
<span>
<el-input
v-model.number="form.phoneTimeInterval"
oninput="value=value.replace(/[^\d]/g,'')"
style="width: 100px"
>
<el-input v-model.number="form.phoneTimeInterval" oninput="value=value.replace(/[^\d]/g,'')"
style="width: 100px">
<!-- <el-option
v-for="item in optionslistS"
:key="item.dictValue"
@ -365,39 +223,17 @@
</div>
<div class="pushMethod">
短信提醒
<el-select
v-model="form.phoneMessageRemind"
style="width: 150px"
>
<el-option
v-for="item in optionslist"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
<el-select v-model="form.phoneMessageRemind" style="width: 150px">
<el-option v-for="item in optionslist" :key="item.dictValue" :label="item.dictLabel"
:value="item.dictValue">
</el-option>
</el-select>
</div>
<div class="pushMethod">
短信模板
<span
class="spanname"
v-if="form.phoneMessageRemind == 'NOT_SEND_MESSAGE'"
>
<message
style="width: 200px"
@on-template="messageontemplateMESSAGE"
:templateId="form.phoneMessageTemplateId"
:templateName="form.phoneMessageTemplateName"
></message>
</span>
<span v-else>
<message
style="width: 200px"
@on-template="messageontemplateMESSAGE"
:templateId="form.phoneMessageTemplateId"
:templateName="form.phoneMessageTemplateName"
></message>
<span :class="form.phoneMessageRemind == 'NOT_SEND_MESSAGE' ? 'spanname' : ''">
<message style="width: 200px" @on-template="messageontemplateMESSAGE"
:templateId="form.phoneMessageTemplateId" :templateName="form.phoneMessageTemplateName"></message>
</span>
</div>
</div>
@ -418,14 +254,14 @@ import miniProgram from '@/views/system/components/miniProgram.vue'
import scripts from '@/views/system/components/script.vue'
import {
selectTaskTypeList, taskPartitionList, taskStatusDictList, specialDiseaseNode, selectSpecialDiseasenew, updateRouteCheckStatus, getById, selectSpecialDisease,
selectTaskTypeList, taskPartitionList, taskStatusDictList, specialDiseaseNode, selectSpecialDiseasenew, updateRouteCheckStatus, getById, selectSpecialDisease,
} from '@/api/system/specialDiseaseNode'
import questionopennew from '../components/questionopennew.vue';
import Editorxj from "../../system/Editorxj/index.vue";
import { getAgencytype } from "@/api/system/agency";
export default {
components: { wangeditor, question, propaganda, message, officialAccount, miniProgram, questionopennew, Editorxj, scripts,},
components: { wangeditor, question, propaganda, message, officialAccount, miniProgram, questionopennew, Editorxj, scripts, },
props: ['lookitem'],
name: "specialDiseaseNodeopen",
data() {
@ -467,7 +303,7 @@ export default {
appletPushSign: '0',
officialPushSign: '0',
messagePushSign: 0,
taskSubdivisiontemplateType: '',
taskNodeType: '',
officialRemindContent: '',
messagePreview: '',
appletRemindContent: '',
@ -493,7 +329,7 @@ export default {
this.updata = this.lookitem
console.log(this.updata)
this.updata.manageRouteId = this.lookitem.manageRouteId
this.updata.specialDiseaseRouteId =this.updata.id
this.updata.specialDiseaseRouteId = this.updata.id
this.taskinfo();
this.infolistword();
this.infolistMESSAGE();
@ -563,19 +399,19 @@ export default {
this.totalNumber = res.data.totalNumber;
res.data.specialDiseaseNodeList.forEach((e) => {
console.log(e, "eeeeeeeeeeeeeeeee");
if(e.messagePushSign){
if (e.messagePushSign) {
e.messagePushSign = "" + e.messagePushSign;
}if( e.officialPushSign ){
} if (e.officialPushSign) {
e.officialPushSign = "" + e.officialPushSign;
}
if(e.appletPushSign){
e.appletPushSign = "" + e.appletPushSign;
if (e.appletPushSign) {
e.appletPushSign = "" + e.appletPushSign;
}
if(e.phonePushSign){
e.phonePushSign = ""+e.phonePushSign
if (e.phonePushSign) {
e.phonePushSign = "" + e.phonePushSign
}
});
@ -610,7 +446,7 @@ export default {
messagePushSign: "0",
messagePreview: "",
officialRemindContent: "",
taskSubdivisiontemplateType: "",
taskNodeType: "",
appletRemindContent: "",
appletPromptDescription: "",
},
@ -704,8 +540,8 @@ export default {
},
bottomclickevent(uitem, index, uindex) {
if (
this.form.taskSubdivisiontemplateType != "QUESTIONNAIRE" &&
this.form.taskSubdivisiontemplateType != "PROPAGANDA"
this.form.taskNodeType != "QUESTIONNAIRE_SCALE" &&
this.form.taskNodeType != "PROPAGANDA_ARTICLE"
) {
this.$refs.wangeditor.emit();
}
@ -737,7 +573,7 @@ export default {
this.taskPartitionList = res.data
this.form.taskSubdivision = ''
this.form.taskSubdivisionName = ''
this.form.taskSubdivisiontemplateType = ''
this.form.taskNodeType = ''
if (taskSubdivision) {
this.form.taskSubdivision = taskSubdivision
this.changetaskSubdivision(taskSubdivision, 1)
@ -754,7 +590,7 @@ export default {
this.taskPartitionList.forEach(el => {
if (code == el.taskPartitionCode) {
this.form.executionTime = el.executionTime
this.form.taskSubdivisiontemplateType = el.templateType
this.form.taskNodeType = el.taskNodeType
if (!type) {
this.form.templateId = ''
this.form.templateName = ''
@ -792,7 +628,7 @@ export default {
officialPushSign: "0",
messagePushSign: "0",
messagePreview: "",
taskSubdivisiontemplateType: "",
taskNodeType: "",
},
],
});
@ -815,7 +651,7 @@ export default {
appletRemindContent: '',
appletPromptDescription: '',
messagePreview: '',
taskSubdivisiontemplateType: '',
taskNodeType: '',
})
},
delitem(item, index) {
@ -999,9 +835,11 @@ export default {
line-height: 30px;
font-size: 13px;
color: #64666a;
.spanname {
pointer-events: none;
}
::v-deep .el-input__inner {
color: black;
font-size: 13px;

File diff suppressed because it is too large Load Diff

View File

@ -98,7 +98,7 @@ export default {
appletPushSign: "0",
officialPushSign: "0",
messagePushSign: "0",
taskSubdivisiontemplateType: "",
taskNodeType: "",
},
itemindex: 0,
listindex: 0,
@ -311,6 +311,8 @@ export default {
this.info();
this.handleClose();
this.$modal.msgSuccess("审核成功!");
this.listindex = 0
this.itemindex = 0
}
});
}
@ -356,12 +358,9 @@ export default {
this.agreeNumber = res.data.agreeNumber;
this.totalNumber = res.data.totalNumber;
res.data.specialDiseaseNodeList.forEach((e) => {
if (e.templateType == 'SCRIPT' && e.flowScheme) {
if (e.taskNodeType == 'PHONE_OUTBOUND' && e.flowScheme) {
this.phoneNodeContent = e.flowScheme
}
if (e.messagePushSign) {
e.messagePushSign = "" + e.messagePushSign;
}
@ -381,15 +380,14 @@ export default {
"routeNodeName"
);
this.form = this.lists[0].list[0];
// 宣教模板回显
if (this.form.templateType == "PROPAGANDA" && this.form.templateId) {
if (this.form.taskNodeType == "PROPAGANDA_ARTICLE" && this.form.templateId) {
getPropaganda(this.form.templateId).then((response) => {
console.log(response.data,'data')
console.log(response.data, 'data')
this.formview = response.data;
});
} else
if (this.form.templateType == "QUESTIONNAIRE" || this.form.templateType == "SCRIPT" && this.form.templateId) {
if (this.form.taskNodeType == "QUESTIONNAIRE_SCALE" || this.form.taskNodeType == "PHONE_OUTBOUND" && this.form.templateId) {
// 问卷模板回显
questionname(this.form.templateId).then((res) => {
this.lookitemnew = res.data;
@ -420,7 +418,7 @@ export default {
messagePushSign: "0",
messagePreview: "",
officialRemindContent: "",
taskSubdivisiontemplateType: "",
taskNodeType: "",
appletRemindContent: "",
appletPromptDescription: "",
},
@ -704,9 +702,9 @@ export default {
// 暂存
TemporaryStorage() {
if (
this.form.taskSubdivisiontemplateType != "QUESTIONNAIRE" &&
this.form.taskSubdivisiontemplateType != "PROPAGANDA" &&
this.form.taskSubdivisiontemplateType != 'SCRIPT'
this.form.taskNodeType != "QUESTIONNAIRE_SCALE" &&
this.form.taskNodeType != "PROPAGANDA_ARTICLE" &&
this.form.taskNodeType != 'PHONE_OUTBOUND'
) {
this.$refs.wangeditor.emit();
}
@ -726,23 +724,23 @@ export default {
});
this.itemlist.specialDiseaseNodeList = [];
this.lists.forEach((e) => {
console.log(e,'taskSubdivisiontemplateType')
console.log(e, 'taskNodeType')
e.list.length > 0
? e.list.forEach((el) => {
console.log(el,'taskSubdivisiontemplateType')
console.log(el, 'taskNodeType')
el.routeNodeDay = e.routeNodeDay;
el.routeNodeName = e.routeNodeName;
if (el.phoneDialMethod == 'COMMON' && el.templateId) {
el.phonePushSign = "1";
el.templateType = 'QUESTIONNAIRE'
el.taskNodeType = 'QUESTIONNAIRE_SCALE'
} else if (el.phoneDialMethod == 'COMMON' && el.phoneTemplateId) {
el.phonePushSign = "1";
el.templateType = 'SCRIPT'
el.taskNodeType = 'PHONE_OUTBOUND'
} else if (el.phoneDialMethod == "AI" && el.phoneTemplateId) {
el.phonePushSign = "1";
el.templateType = "SCRIPT";
el.taskNodeType = "PHONE_OUTBOUND";
}
this.itemlist.specialDiseaseNodeList.push(el);
})
@ -764,12 +762,14 @@ export default {
if (localStorage.getItem('wangeditorlist')) {
wangeditorlist = JSON.parse(localStorage.getItem('wangeditorlist'))
wangeditorlist = wangeditorlist.filter(e => e.specialDiseaseNodeId == this.form.specialDiseaseNodeId)
console.log(wangeditorlist,'wangeditorlist')
console.log(wangeditorlist, 'wangeditorlist')
localStorage.setItem('wangeditorlist', JSON.stringify(wangeditorlist))
}
this.info();
loading.close();
this.$modal.msgSuccess("暂存成功!");
this.listindex = 0
this.itemindex = 0
});
setTimeout(() => {
loading.close();
@ -794,9 +794,9 @@ export default {
},
onemit() {
if (
this.form.taskSubdivisiontemplateType != "QUESTIONNAIRE" &&
this.form.taskSubdivisiontemplateType != "PROPAGANDA" &&
this.form.taskSubdivisiontemplateType != "SCRIPT"
this.form.taskNodeType != "QUESTIONNAIRE_SCALE" &&
this.form.taskNodeType != "PROPAGANDA_ARTICLE" &&
this.form.taskNodeType != "PHONE_OUTBOUND"
) {
this.$refs.wangeditor.emit();
}
@ -813,21 +813,21 @@ export default {
this.listindex = index;
this.itemindex = uindex;
if (
uitem.taskSubdivisiontemplateType == "PROPAGANDA" &&
uitem.taskNodeType == "PROPAGANDA_ARTICLE" &&
uitem.templateId
) {
await getPropaganda(uitem.templateId).then((response) => {
this.formview = response.data;
});
} else if (
uitem.taskSubdivisiontemplateType == "QUESTIONNAIRE" &&
uitem.taskNodeType == "QUESTIONNAIRE_SCALE" &&
uitem.templateId
) {
await questionname(uitem.templateId).then((res) => {
this.lookitemnew = res.data;
});
} else if (
uitem.taskSubdivisiontemplateType == "SCRIPT" &&
uitem.taskNodeType == "PHONE_OUTBOUND" &&
uitem.flowScheme
) {
this.phoneNodeContent = uitem.flowScheme;
@ -860,10 +860,21 @@ export default {
(e) => e.taskTypeCode == code
)?.taskTypeName;
taskPartitionList(id).then((res) => {
res.data?.forEach(e => {
if (e.taskNodeType == 'PHONE_OUTBOUND') {
e.taskPartitionName = e.taskPartitionName + '(电话外呼)'
} else if (e.taskNodeType == 'QUESTIONNAIRE_SCALE') {
e.taskPartitionName = e.taskPartitionName + '(问卷量表)'
} else if (e.taskNodeType == 'PROPAGANDA_ARTICLE') {
e.taskPartitionName = e.taskPartitionName + '(宣教文案)'
} else if (e.taskNodeType == 'TEXT_REMIND') {
e.taskPartitionName = e.taskPartitionName + '(文字提醒)'
}
})
this.taskPartitionList = res.data;
this.form.taskSubdivision = "";
this.form.taskSubdivisionName = "";
this.form.taskSubdivisiontemplateType = "";
this.form.taskNodeType = "";
this.taskStatusDictList = [];
if (taskSubdivision) {
this.form.taskSubdivision = taskSubdivision;
@ -874,14 +885,22 @@ export default {
//点击任务细分
changetaskSubdivision(code, type) {
if (
this.form.taskSubdivisiontemplateType != "QUESTIONNAIRE" &&
this.form.taskSubdivisiontemplateType != "PROPAGANDA" &&
this.form.taskSubdivisiontemplateType != "SCRIPT"
this.form.taskNodeType != "QUESTIONNAIRE_SCALE" &&
this.form.taskNodeType != "PROPAGANDA_ARTICLE" &&
this.form.taskNodeType != "PHONE_OUTBOUND"
) {
this.$refs.wangeditor.emit();
}
// console.log(code,'code')
setTimeout(() => {
const loading = this.$loading({
lock: true,
text: "加载中",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
if (!type) {
this.form.taskStatus = ''
}
this.form.taskSubdivisionName = this.taskPartitionList?.find(
(e) => e.taskPartitionCode == code
)?.taskPartitionName;
@ -899,16 +918,14 @@ export default {
this.form.executionTime = this.taskPartitionList?.find(
(e) => e.taskPartitionCode == code
)?.executionTime;
this.taskPartitionList.forEach((el) => {
if (code == el.taskPartitionCode) {
this.form.executionTime = el.executionTime;
this.form.taskSubdivisiontemplateType = el.templateType;
this.form.taskNodeType = el.taskNodeType;
if (
this.form.taskSubdivisiontemplateType == "SCRIPT" ||
this.form.taskSubdivisiontemplateType == "PROPAGANDA" ||
this.form.taskSubdivisiontemplateType == "QUESTIONNAIRE"
this.form.taskNodeType == "PHONE_OUTBOUND" ||
this.form.taskNodeType == "PROPAGANDA_ARTICLE" ||
this.form.taskNodeType == "QUESTIONNAIRE_SCALE"
) {
this.form.nodeContent = `<p></p>`;
}
@ -925,6 +942,7 @@ export default {
// console.log(this.form.nodeContent, 'this.form.nodeContent8858585')
}
});
loading.close();
}, 500);
@ -963,7 +981,7 @@ export default {
officialPushSign: "0",
messagePushSign: "0",
messagePreview: "",
taskSubdivisiontemplateType: "",
taskNodeType: "",
},
],
});
@ -990,7 +1008,7 @@ export default {
officialPushSign: "0",
messagePushSign: "0",
messagePreview: "",
taskSubdivisiontemplateType: "",
taskNodeType: "",
});
},
// 删除节点

View File

@ -134,11 +134,11 @@
</div>
<el-card :class="listindex == index ? 'cards' : ''">
<h3 style="height: 20px">
{{ item.taskType == "PHONE_OUTBOUND" ? "电话外呼" : "" }}
{{ item.taskType == "QUESTIONNAIRE_SCALE" ? "问卷量表" : "" }}
{{ item.taskType == "PROPAGANDA_ARTICLE" ? "宣教文案" : "" }}
{{ item.taskType == "TEXT_REMIND" ? "文字提醒" : "" }}
{{ item.taskType == "ARTIFICIAL_FOLLOW_UP" ? "人工随访" : "" }}
{{ item.taskNodeType == "PHONE_OUTBOUND" ? "电话外呼" : "" }}
{{ item.taskNodeType == "QUESTIONNAIRE_SCALE" ? "问卷量表" : "" }}
{{ item.taskNodeType == "PROPAGANDA_ARTICLE" ? "宣教文案" : "" }}
{{ item.taskNodeType == "TEXT_REMIND" ? "文字提醒" : "" }}
{{ item.taskNodeType == "ARTIFICIAL_FOLLOW_UP" ? "人工随访" : "" }}
</h3>
</el-card>
</el-timeline-item>
@ -146,51 +146,52 @@
</div>
<div class="nodetexts">
<div style="background-color: #fff; border-radius: 10px; padding: 20px"
:style="formInline.taskType ? formInline.taskType != 'PHONE_OUTBOUND' ? formInline.taskType == 'TEXT_REMIND' ? 'height:260px' : 'height:160px' : 'height:80px' : 'height:80px'">
:style="formInline.taskNodeType ? formInline.taskNodeType != 'PHONE_OUTBOUND' ? formInline.taskNodeType == 'TEXT_REMIND' ? 'height:260px' : 'height:160px' : 'height:80px' : 'height:80px'">
<el-form :model="formInline" class="demo-form-inline">
<el-form-item label="任务内容">
<el-radio-group v-model="formInline.taskType">
<el-form-item label="任务节点类型">
<el-radio-group v-model="formInline.taskNodeType" @change="taskNodeTypechange">
<el-radio label="PHONE_OUTBOUND">电话外呼</el-radio>
<el-radio label="QUESTIONNAIRE_SCALE">问卷量表</el-radio>
<el-radio label="PROPAGANDA_ARTICLE">宣教文案</el-radio>
<el-radio label="TEXT_REMIND">文字提醒</el-radio>
<el-radio label="ARTIFICIAL_FOLLOW_UP">人工随访</el-radio>
<!-- <el-radio label="ARTIFICIAL_FOLLOW_UP">人工随访</el-radio> -->
</el-radio-group>
</el-form-item>
<!-- <el-form-item
label="电话模板"
v-if="formInline.taskType == 'PHONE_OUTBOUND'"
>
<!-- <el-form-itemlabel="电话模板" v-if="formInline.taskNodeType == 'PHONE_OUTBOUND'">
<scriptphone @on-template="scriptphoneontemplate"></scriptphone>
</el-form-item> -->
<el-form-item label="宣教模板" v-if="formInline.taskType == 'PROPAGANDA_ARTICLE'">
<el-form-item label="宣教模板" v-if="formInline.taskNodeType == 'PROPAGANDA_ARTICLE'">
<propaganda @on-template="propagandaontemplate"></propaganda>
</el-form-item>
<el-form-item label="提醒内容" v-if="formInline.taskType == 'TEXT_REMIND'">
<el-form-item label="提醒内容" v-if="formInline.taskNodeType == 'TEXT_REMIND'">
<el-input type="textarea" v-model="formInline.textRemindContent" :rows="6" style="width: 600px"
placeholder="请输入内容" />
</el-form-item>
<el-form-item label="人工随访模板" v-if="formInline.taskType == 'ARTIFICIAL_FOLLOW_UP'">
<!-- <el-form-item label="人工随访模板" v-if="formInline.taskNodeType == 'ARTIFICIAL_FOLLOW_UP'">
<question @on-template="questionontemplate"></question>
</el-form-item>
</el-form-item> -->
</el-form>
<el-form :model="formInline" class="demo-form-inline" :inline="true"
v-if="formInline.taskType == 'QUESTIONNAIRE_SCALE'">
v-if="formInline.taskNodeType == 'QUESTIONNAIRE_SCALE'">
<el-form-item label="问卷模板">
<question @on-template="questionontemplate"></question>
</el-form-item>
<el-form-item label="问卷有效期">
<el-form-item label="开启人工随访" label-width="150px">
<el-switch v-model="formInline.phoneDialMethod" active-color="#13ce66" active-value="COMMON"
inactive-value="">
</el-switch>
</el-form-item>
<!-- <el-form-item label="问卷有效期">
<el-input-number v-model="formInline.questionExpirationDate" :min="1" :max="99"
label="描述文字"></el-input-number>
</el-form-item>
</el-form-item> -->
</el-form>
</div>
<div>
<div class="PushMethodrg" v-if="formInline.taskType == 'ARTIFICIAL_FOLLOW_UP'">
<!-- <div class="PushMethodrg" v-if="formInline.taskNodeType == 'ARTIFICIAL_FOLLOW_UP'">
<div class="flex">
<div class="itemlist">推送方式人工电话</div>
<div class="itemlist">
<el-switch v-model="formInline.phonePushSign" active-color="#13ce66" active-value="1"
inactive-value="0">
@ -209,7 +210,7 @@
</span>
</div>
<div class="itemlist">
时间间隔:
时间间隔
<span>
<el-input v-model.number="formInline.phoneTimeInterval" oninput="value=value.replace(/[^\d]/g,'')"
style="width: 100px">
@ -226,23 +227,16 @@
</div>
<div class="itemlist">
短信模板
<span class="spanname" v-if="formInline.phoneMessageRemind == 'NOT_SEND_MESSAGE'">
<message style="width: 200px" @on-template="messageontemplateMESSAGE"
:templateId="formInline.phoneMessageTemplateId" :templateName="formInline.phoneMessageTemplateName">
</message>
</span>
<span v-else>
<span :class="formInline.phoneMessageRemind == 'NOT_SEND_MESSAGE' ? 'spanname' : ''">
<message style="width: 200px" @on-template="messageontemplateMESSAGE"
:templateId="formInline.phoneMessageTemplateId" :templateName="formInline.phoneMessageTemplateName">
</message>
</span>
</div>
</div>
</div>
<div class="PushMethod" v-if="formInline.taskType == 'TEXT_REMIND' ||
formInline.taskType == 'PROPAGANDA_ARTICLE' ||
formInline.taskType == 'QUESTIONNAIRE_SCALE'
">
</div> -->
<div class="PushMethod"
v-if="formInline.taskNodeType == 'TEXT_REMIND' || formInline.taskNodeType == 'PROPAGANDA_ARTICLE' || formInline.taskNodeType == 'QUESTIONNAIRE_SCALE'">
<span>推送方式公众号</span>
<div class="pushMethod">
模板
@ -255,10 +249,8 @@
<el-switch v-model="formInline.officialPushSign" active-color="#13ce66" active-value="1" inactive-value="0">
</el-switch>
</div>
<div class="PushMethod" v-if="formInline.taskType == 'TEXT_REMIND' ||
formInline.taskType == 'PROPAGANDA_ARTICLE' ||
formInline.taskType == 'QUESTIONNAIRE_SCALE'
">
<div class="PushMethod"
v-if="formInline.taskNodeType == 'TEXT_REMIND' || formInline.taskNodeType == 'PROPAGANDA_ARTICLE' || formInline.taskNodeType == 'QUESTIONNAIRE_SCALE'">
<span>推送方式小程序</span>
<div class="pushMethod">
模板
@ -271,10 +263,8 @@
<el-switch v-model="formInline.appletPushSign" active-color="#13ce66" active-value="1" inactive-value="0">
</el-switch>
</div>
<div class="PushMethod" v-if="formInline.taskType == 'TEXT_REMIND' ||
formInline.taskType == 'PROPAGANDA_ARTICLE' ||
formInline.taskType == 'QUESTIONNAIRE_SCALE'
">
<div class="PushMethod"
v-if="formInline.taskNodeType == 'TEXT_REMIND' || formInline.taskNodeType == 'PROPAGANDA_ARTICLE' || formInline.taskNodeType == 'QUESTIONNAIRE_SCALE'">
<span style="display: inline-block; width: 128px">推送方式短信</span>
<div class="pushMethod">
模板
@ -285,7 +275,7 @@
</el-switch>
</div>
</div>
<div class="PushMethodrg" v-if="formInline.taskType == 'PHONE_OUTBOUND'">
<div class="PushMethodrg" v-if="formInline.taskNodeType == 'PHONE_OUTBOUND'">
<div class="flex">
<div class="itemlist">
推送方式
@ -298,30 +288,18 @@
</div>
<div class="itemlist">
话术模板
<span class="spanname" v-if="formInline.questionInfoId &&
formInline.phoneDialMethod == 'COMMON'
">
<scripts @on-template="messageontemplateword" :templateId="formInline.phoneId"
:templateName="formInline.phoneTemplateName"></scripts>
</span>
<span v-else>
<span>
<scripts @on-template="messageontemplateword" :templateId="formInline.phoneId"
:templateName="formInline.phoneTemplateName"></scripts>
</span>
</div>
<div class="itemlist" v-if="formInline.phoneDialMethod == 'COMMON' ||
!formInline.phoneDialMethod
">
<!-- <div class="itemlist" v-if="formInline.phoneDialMethod == 'COMMON' || !formInline.phoneDialMethod">
问卷模板
<span class="spanname" v-if="formInline.phoneId">
<span :class="formInline.phoneId ? 'spanname' : ''">
<question @on-template="questionontemplate" :templateId="formInline.questionInfoId"
:templateName="formInline.questionnaireName"></question>
</span>
<span v-else>
<question @on-template="questionontemplate" :templateId="formInline.questionInfoId"
:templateName="formInline.questionnaireName"></question>
</span>
</div>
</div> -->
<div class="itemlist">
<el-switch v-model="formInline.phonePushSign" active-color="#13ce66" active-value="1" inactive-value="0">
</el-switch>
@ -339,7 +317,7 @@
</span>
</div>
<div class="itemlist">
时间间隔:
时间间隔
<span>
<el-input v-model.number="formInline.phoneTimeInterval" oninput="value=value.replace(/[^\d]/g,'')"
style="width: 100px">
@ -356,12 +334,7 @@
</div>
<div class="itemlist">
短信模板
<span class="spanname" v-if="formInline.phoneMessageRemind == 'NOT_SEND_MESSAGE'">
<message style="width: 200px" @on-template="messageontemplateMESSAGE"
:templateId="formInline.phoneMessageTemplateId" :templateName="formInline.phoneMessageTemplateName">
</message>
</span>
<span v-else>
<span :class="formInline.phoneMessageRemind == 'NOT_SEND_MESSAGE' ? 'spanname' : ''">
<message style="width: 200px" @on-template="messageontemplateMESSAGE"
:templateId="formInline.phoneMessageTemplateId" :templateName="formInline.phoneMessageTemplateName">
</message>
@ -419,9 +392,9 @@ export default {
},
formInline: {
routeNodeDay: "",
taskType: "",
taskNodeType: "",
routeNodeName: "",
questionExpirationDate: 7,
// questionExpirationDate: 7,
questionInfoId: "",
questionnaireName: "",
phoneId: "",
@ -432,7 +405,8 @@ export default {
officialPushSign: "0",
messagePushSign: "0",
appletPushSign: "0",
phonePushSign: "0",
phonePushSign: "1",
phoneDialMethod: "",
},
// updata: {
// suitRange: "",
@ -442,9 +416,9 @@ export default {
list: [
{
routeNodeDay: "",
taskType: "",
taskNodeType: "",
routeNodeName: "",
questionExpirationDate: 7,
// questionExpirationDate: 7,
questionInfoId: "",
questionnaireName: "",
phoneId: "",
@ -455,7 +429,8 @@ export default {
officialPushSign: "0",
messagePushSign: "0",
appletPushSign: "0",
phonePushSign: "0",
phonePushSign: "1",
phoneDialMethod: "",
},
],
listindex: 0,
@ -482,6 +457,15 @@ export default {
this.screenChange()
},
methods: {
//
taskNodeTypechange(e) {
if (e == 'PHONE_OUTBOUND') {
this.formInline.phoneDialMethod = 'AI'
} else {
this.formInline.phoneDialMethod = ''
}
console.log(this.formInline)
},
//
infolistoptionslistS() {
var dictType = "trigger_logic";
@ -647,7 +631,7 @@ export default {
},
//
questionontemplate(item) {
if (this.formInline.taskType == "ARTIFICIAL_FOLLOW_UP") {
if (this.formInline.taskNodeType == "ARTIFICIAL_FOLLOW_UP") {
this.formInline.followTemplateId = item.templateId;
this.formInline.followTemplateName = item.templateName;
} else {
@ -700,9 +684,9 @@ export default {
}
this.list.push({
routeNodeDay: "",
taskType: "",
taskNodeType: "",
routeNodeName: "",
questionExpirationDate: 7,
// questionExpirationDate: 7,
questionInfoId: "",
questionnaireName: "",
phoneId: "",
@ -713,39 +697,35 @@ export default {
officialPushSign: "0",
messagePushSign: "0",
appletPushSign: "0",
phonePushSign: "0",
phonePushSign: "1",
});
},
delitem(item, index, list) {
list.splice(index, 1);
},
changephoneDialMethod(e) {
console.log(e, 'e')
if (e == 'AI') {
// this.form.templateId=''
this.formInline.phoneId = ''
this.formInline.phoneTemplateName = ''
} else if (e == 'COMMON') {
this.formInline.questionInfoId = ''
this.formInline.questionInfoName = ''
this.formInline.phoneId = ''
this.formInline.phoneTemplateName = ''
}
},
upload() {
this.updata.routeNodeList = this.list;
// console.log(this.updata,'this.updata')
this.updata.routeNodeList.forEach((el) => {
if (el.phoneDialMethod == "COMMON" && el.questionInfoId) {
el.templateType = "QUESTIONNAIRE";
} else if (el.phoneDialMethod == "COMMON" && el.phoneId) {
el.templateType = "SCRIPT";
} else if (el.phoneDialMethod == "AI" && el.phoneId) {
el.templateType = "SCRIPT";
}
});
// this.updata.routeNodeList.forEach((el) => {
// if (el.phoneDialMethod == "COMMON" && el.questionInfoId) {
// el.templateType = "QUESTIONNAIRE";
// } else if (el.phoneDialMethod == "COMMON" && el.phoneId) {
// el.templateType = "SCRIPT";
// } else if (el.phoneDialMethod == "AI" && el.phoneId) {
// el.templateType = "SCRIPT";
// }
// });
this.updata.triggerConditionList.forEach((e) => {
e.routeId = this.$route.query.id;
e.routeName = this.$route.query.routeName;

View File

@ -236,7 +236,6 @@ export default {
this.selectedOptions = [];
this.addlist = [];
setTimeout(() => {
console.log(this.html, 'this.html')
this.editor.focus({ toEnd: true });
// this.editor.focus();
this.$forceUpdate()
@ -273,7 +272,6 @@ export default {
// // children: [{ text: "" }], // void children
// };
// this.editor.insertNode(resume);
// console.log(this.html, "add");
// // this.addnode = {
// // fileName: "",
// // fieldMark: "",
@ -295,7 +293,6 @@ export default {
},
info() {
labelFieldList(this.taskPartitionDictId).then((res) => {
console.log(res, "res");
// res.data.data.forEach((e) => {
// e.labelFieldContentList.forEach((el) => {
// el.labelFieldId = el.labelFieldContentId;
@ -306,14 +303,11 @@ export default {
this.labeloptions = res;
}
});
bankLevel("3").then((res) => {
// console.log(res, "res");
// res.forEach((e) => {
// e.children.forEach((el) => {
// el.children.forEach((f) => {
// this.fieldoptions.push(f);
// console.log(f, "fffffffff");
// f.termCode = f.termCode;
// f.termContent = f.termContent;
// });
@ -331,20 +325,15 @@ export default {
},
watch: {
nodeContent(newValue, oldValue) {
// console.log(newValue,'newValue')
this.html = newValue;
},
taskSubdivision(newvalue, oldvalue) {
this.taskSubdivision = newvalue;
},
specialDiseaseNodeId(newvalue, oldvalue) {
console.log(newvalue, "specialDiseaseNodeId");
this.specialDiseaseNodeId = newvalue;
},
taskPartitionDictId(newValue, oldValue) {
console.log(newValue, "taskPartitionDictId");
// this.labeloptions = [];
that.taskPartitionDictId = newValue;
that.info();
@ -399,7 +388,6 @@ class MyButtonMenu {
}
//
exec(editor, value) {
console.log(that.taskPartitionDictId, "that.taskPartitionDictId");
if (that.taskPartitionDictId) {
this.vueInstance.labelshow = true;
} else {
@ -457,10 +445,7 @@ function withAttachment(editor) {
const { isInline, isVoid } = editor;
const newEditor = editor;
newEditor.isInline = (elem) => {
// console.log(elem,'elem')
const type = DomEditor.getNodeType(elem);
// console.log(type,'type')
if (type === "attachment") return true; // type: attachment inline
if (type === "attachmenttwo") return true; // type: attachment inline
return isInline(elem);

View File

@ -81,36 +81,35 @@
<el-time-select v-model="form.executionTime" style="width: 120px" placeholder="选择时间" disabled>
</el-time-select>
</el-form-item>
<el-form-item label="问卷库模板选择" prop="" v-if="form.taskSubdivisiontemplateType == 'QUESTIONNAIRE'">
<el-form-item label="问卷库模板选择" prop="" v-if="form.taskNodeType == 'QUESTIONNAIRE_SCALE'">
<question @on-template="questionontemplate" :templateId="form.templateId"
:templateName="form.templateName"></question>
</el-form-item>
<span style="display: inline-block; width: 10px" v-if="form.taskSubdivisiontemplateType == 'QUESTIONNAIRE' &&
form.templateId
">
<span style="display: inline-block; width: 10px"
v-if="form.taskNodeType == 'QUESTIONNAIRE_SCALE' && form.templateId">
<el-button @click="looklist">预览</el-button>
</span>
<el-form-item label="宣教库模板选择" prop="" v-if="form.taskSubdivisiontemplateType == 'PROPAGANDA'">
<el-form-item label="开启人工随访" label-width="200px" v-if="form.taskNodeType == 'QUESTIONNAIRE_SCALE'">
<el-switch v-model="form.phoneDialMethod" active-color="#13ce66" active-value="COMMON" inactive-value="">
</el-switch>
</el-form-item>
<el-form-item label="宣教库模板选择" prop="" v-if="form.taskNodeType == 'PROPAGANDA_ARTICLE'">
<propaganda @on-template="propagandaontemplate" :templateId="form.templateId"
:templateName="form.templateName"></propaganda>
</el-form-item>
<span style="display: inline-block; width: 10px" v-if="form.taskSubdivisiontemplateType == 'PROPAGANDA' &&
form.templateId
">
<span style="display: inline-block; width: 10px"
v-if="form.taskNodeType == 'PROPAGANDA' && form.templateId">
<el-button @click="imagepreviews">预览</el-button>
</span>
</el-form>
</div>
<!-- 宣教 -->
<el-dialog title="宣教预览" :visible.sync="imageScriptpreviews" width="60%">
<div class="imageScriptpreviews" v-if="formview &&
form.taskSubdivisiontemplateType == 'PROPAGANDA' &&
form.templateId
">
<div class="imageScriptpreviews"
v-if="formview && form.taskNodeType == 'PROPAGANDA_ARTICLE' && form.templateId">
<div class="titletop">文章模板:{{ formview.propagandaTitle }}</div>
<div class="bodytop">
<div class="titledata">{{ formview.propagandaTitle }}</div>
<div>
<img :src="baseUrl + formview.propagandaCoverPath" alt="" />
<div class="know">知识卡片</div>
@ -132,14 +131,13 @@
</span>
</el-dialog>
<div class="bottomform">
<wangeditor v-show="form.taskSubdivisiontemplateType != 'QUESTIONNAIRE' &&
form.taskSubdivisiontemplateType != 'PROPAGANDA' &&
form.taskSubdivisiontemplateType != 'SCRIPT'
" style="width: 100%" :nodeContent="form.nodeContent" :taskPartitionDictId="taskPartitionDictId"
<wangeditor
v-show="form.taskNodeType != 'QUESTIONNAIRE_SCALE' && form.taskNodeType != 'PROPAGANDA_ARTICLE' && form.taskNodeType != 'PHONE_OUTBOUND'"
style="width: 100%" :nodeContent="form.nodeContent" :taskPartitionDictId="taskPartitionDictId"
:taskSubdivision="form.taskSubdivision" :specialDiseaseNodeId="form.specialDiseaseNodeId"
@on-nodeContent="onNodeContent" ref="wangeditor" />
<div class="card" v-show="form.taskSubdivisiontemplateType != 'SCRIPT'">
<div class="card" v-show="form.taskNodeType != 'PHONE_OUTBOUND'">
<div class="flex">
<div class="pushMethod">
推送方式
@ -160,7 +158,7 @@
<el-input class="textarea" v-model="form.messagePreview" disabled></el-input>
</div> -->
</div>
<div class="card" v-show="form.taskSubdivisiontemplateType != 'SCRIPT'">
<div class="card" v-show="form.taskNodeType != 'PHONE_OUTBOUND'">
<div class="flex">
<div class="pushMethod">
推送方式
@ -184,7 +182,7 @@
<el-input v-model="form.officialRemindContent" class="textarea" disabled></el-input>
</div> -->
</div>
<div class="card" v-show="form.taskSubdivisiontemplateType != 'SCRIPT'">
<div class="card" v-show="form.taskNodeType != 'PHONE_OUTBOUND'">
<div class="flex">
<div class="pushMethod">
推送方式
@ -212,7 +210,7 @@
<el-input v-model="form.appletPromptDescription" class="textarea" disabled></el-input>
</div> -->
</div>
<div class="card" style="margin-top: -30px" v-show="form.taskSubdivisiontemplateType == 'SCRIPT'">
<div class="card" style="margin-top: -30px" v-show="form.taskNodeType == 'PHONE_OUTBOUND'">
<div class="flex">
<div class="pushMethod">
推送方式
@ -227,11 +225,7 @@
<div class="flexs">
<div class="pushMethods">
话术模板
<span class="spanname" v-if="form.templateId && form.phoneDialMethod == 'COMMON'">
<scripts @on-template="messageontemplateword" :templateId="form.phoneTemplateId"
:templateName="form.phoneTemplateName"></scripts>
</span>
<span v-else>
<span :class="form.templateId && form.phoneDialMethod == 'COMMON' ? 'spanname' : ''">
<scripts @on-template="messageontemplateword" :templateId="form.phoneTemplateId"
:templateName="form.phoneTemplateName"></scripts>
</span>
@ -240,20 +234,16 @@
</span>
<!-- <br/> -->
</div>
<div class="pushMethod" v-if="form.phoneDialMethod == 'COMMON' || !form.phoneDialMethod">
<!-- <div class="pushMethod" v-if="form.phoneDialMethod == 'COMMON' || !form.phoneDialMethod">
问卷模板
<span class="spanname" v-if="form.phoneTemplateId">
<question @on-template="questionontemplate" :templateId="form.templateId"
:templateName="form.templateName"></question>
</span>
<span v-else>
<span :class="form.phoneTemplateId ? 'spanname' : ''">
<question @on-template="questionontemplate" :templateId="form.templateId"
:templateName="form.templateName"></question>
</span>
<span style="display: inline-block; width: 10px" v-if="form.templateId">
<el-button @click="lookquestion">预览</el-button>
</span>
</div>
</div> -->
<!-- <div class="pushMethod">
<el-switch
v-model="form.phonePushSign"
@ -276,7 +266,7 @@
</span>
</div>
<div class="pushMethod">
时间间隔():
时间间隔()
<span>
<el-input v-model.number="form.phoneTimeInterval" oninput="value=value.replace(/[^\d]/g,'')"
style="width: 100px">
@ -300,11 +290,7 @@
</div>
<div class="pushMethod">
短信模板
<span class="spanname" v-if="form.phoneMessageRemind == 'NOT_SEND_MESSAGE'">
<message style="width: 200px" @on-template="messageontemplateMESSAGE"
:templateId="form.phoneMessageTemplateId" :templateName="form.phoneMessageTemplateName"></message>
</span>
<span v-else>
<span :class="form.phoneMessageRemind == 'NOT_SEND_MESSAGE' ? 'spanname' : ''">
<message style="width: 200px" @on-template="messageontemplateMESSAGE"
:templateId="form.phoneMessageTemplateId" :templateName="form.phoneMessageTemplateName"></message>
</span>
@ -437,11 +423,12 @@ export default {
appletPushSign: "0",
officialPushSign: "0",
messagePushSign: 0,
taskSubdivisiontemplateType: "",
taskNodeType: "",
officialRemindContent: "",
messagePreview: "",
appletRemindContent: "",
appletPromptDescription: "",
taskNodeType: '',
},
itemindex: 0,
listindex: 0,
@ -465,7 +452,6 @@ export default {
this.infolistMESSAGE();
},
beforeDestroy() {
// console.log(111111111)
localStorage.removeItem("wangeditorlist");
},
watch: {
@ -551,8 +537,6 @@ export default {
changelisy() {
list(this.parentDictCode).then((res) => {
this.parentDictCodelist = res.rows;
console.log(this.parentDictCodelist, ' this.parentDictCodelist')
});
},
infolist() {
@ -580,11 +564,10 @@ export default {
this.updata.routeName = this.$route.query.routeName;
this.updata.specialDiseaseRouteId = this.$route.query.id;
selectSpecialDisease(this.$route.query.id).then((res) => {
loading.close();
this.agreeNumber = res.data.agreeNumber;
this.totalNumber = res.data.totalNumber;
res.data.specialDiseaseNodeList.forEach((e) => {
if (e.templateType == "SCRIPT" && e.flowScheme) {
if (e.taskNodeType == "PHONE_OUTBOUND" && e.flowScheme) {
this.phoneNodeContent = e.flowScheme;
}
if (e.messagePushSign) {
@ -607,13 +590,13 @@ export default {
);
this.form = this.lists[0].list[0];
//
if (this.form.templateType == "PROPAGANDA" && this.form.templateId) {
if (this.form.taskNodeType == "PROPAGANDA_ARTICLE" && this.form.templateId) {
getPropaganda(this.form.templateId).then((response) => {
this.formview = response.data;
});
} else if (
this.form.templateId &&
this.form.templateType == "QUESTIONNAIRE"
this.form.taskNodeType == "QUESTIONNAIRE_SCALE"
) {
//
questionname(this.form.templateId).then((res) => {
@ -624,8 +607,8 @@ export default {
this.changeTaskType(this.form.taskType, this.form.taskSubdivision);
}
});
} else {
loading.close();
} else {
this.lists.push({
routeNodeName: "",
routeNodeDay: "",
@ -645,16 +628,17 @@ export default {
messagePushSign: "0",
messagePreview: "",
officialRemindContent: "",
taskSubdivisiontemplateType: "",
taskNodeType: "",
appletRemindContent: "",
appletPromptDescription: "",
taskNodeType: '',
},
],
});
this.form = this.lists[0].list[0];
loading.close();
}
},
handleData(list, key, keytwo) {
//
let keysArr = list.map((item) => {
@ -696,17 +680,11 @@ export default {
//wangeditor
onNodeContent(item) {
if (item.nodeContent) {
// console.log(555)
this.form.nodeContent = item.nodeContent;
console.log(this.form.nodeContent, 'this.form.nodeContentthis.form.nodeContentthis.form.nodeContent')
var abc = new RegExp("<br>", "g");
var bbb = this.form.nodeContent.replace(abc, "");
this.form.nodeContent = bbb;
console.log(this.form.nodeContent, 'this.form.nodeContent')
}
// console.log(item, 'items')
let wangeditorlist = [];
if (localStorage.getItem("wangeditorlist")) {
wangeditorlist = JSON.parse(localStorage.getItem("wangeditorlist"));
@ -717,9 +695,7 @@ export default {
);
}
wangeditorlist.push(item);
// console.log(wangeditorlist, 'wangeditorlist')
localStorage.setItem("wangeditorlist", JSON.stringify(wangeditorlist));
},
//
miniProgramtemplate(item) {
@ -752,12 +728,11 @@ export default {
this.form.officialTemplateName = item.templateName;
this.form.officialRemindContent = item.templateContent;
},
//
TemporaryStorage() {
if (
this.form.taskSubdivisiontemplateType != "QUESTIONNAIRE" &&
this.form.taskSubdivisiontemplateType != "PROPAGANDA"
this.form.taskNodeType != "QUESTIONNAIRE_SCALE" &&
this.form.taskNodeType != "PROPAGANDA_ARTICLE"
) {
this.$refs.wangeditor.emit();
}
@ -783,17 +758,15 @@ export default {
el.routeNodeName = e.routeNodeName;
if (el.phoneDialMethod == "COMMON" && el.templateId) {
el.phonePushSign = "1";
el.templateType = "QUESTIONNAIRE";
el.taskNodeType = "QUESTIONNAIRE_SCALE";
} else if (
el.phoneDialMethod == "COMMON" &&
el.phoneTemplateId
) {
el.phonePushSign = "1";
el.templateType = "SCRIPT";
el.taskNodeType = "PHONE_OUTBOUND";
} else if (el.phoneDialMethod == "AI" && el.phoneTemplateId) {
el.templateType = "SCRIPT";
el.taskNodeType = "PHONE_OUTBOUND";
el.phonePushSign = "1";
}
this.updata.specialDiseaseNodeList.push(el);
@ -817,7 +790,6 @@ export default {
wangeditorlist = wangeditorlist.filter(
(e) => e.specialDiseaseNodeId == this.form.specialDiseaseNodeId
);
// console.log(wangeditorlist,'wangeditorlist')
localStorage.setItem(
"wangeditorlist",
JSON.stringify(wangeditorlist)
@ -826,6 +798,8 @@ export default {
this.info();
loading.close();
this.$modal.msgSuccess("暂存成功!");
this.listindex = 0;
this.itemindex = 0;
});
setTimeout(() => {
loading.close();
@ -852,9 +826,9 @@ export default {
// editor
onemit() {
if (
this.form.taskSubdivisiontemplateType != "QUESTIONNAIRE" &&
this.form.taskSubdivisiontemplateType != "PROPAGANDA" &&
this.form.taskSubdivisiontemplateType != "SCRIPT"
this.form.taskNodeType != "QUESTIONNAIRE_SCALE" &&
this.form.taskNodeType != "PROPAGANDA_ARTICLE" &&
this.form.taskNodeType != "PHONE_OUTBOUND"
) {
this.$refs.wangeditor.emit();
}
@ -871,21 +845,21 @@ export default {
this.listindex = index;
this.itemindex = uindex;
if (
uitem.taskSubdivisiontemplateType == "PROPAGANDA" &&
uitem.taskNodeType == "PROPAGANDA_ARTICLE" &&
uitem.templateId
) {
getPropaganda(uitem.templateId).then((response) => {
this.formview = response.data;
});
} else if (
uitem.taskSubdivisiontemplateType == "QUESTIONNAIRE" &&
uitem.taskNodeType == "QUESTIONNAIRE_SCALE" &&
uitem.templateId
) {
questionname(uitem.templateId).then((res) => {
this.lookitemnew = res.data;
});
} else if (
uitem.taskSubdivisiontemplateType == "SCRIPT" &&
uitem.taskNodeType == "PHONE_OUTBOUND" &&
uitem.flowScheme
) {
this.phoneNodeContent = uitem.flowScheme;
@ -911,18 +885,27 @@ export default {
},
//
changeTaskType(code, taskSubdivision) {
console.log(code);
this.taskPartitionDictId = "";
let id = this.selectTaskTypeList?.find((e) => e.taskTypeCode == code)?.id;
this.form.taskTypeName = this.selectTaskTypeList?.find(
(e) => e.taskTypeCode == code
)?.taskTypeName;
taskPartitionList(id).then((res) => {
res.data?.forEach(e => {
if (e.taskNodeType == 'PHONE_OUTBOUND') {
e.taskPartitionName = e.taskPartitionName + '(电话外呼)'
} else if (e.taskNodeType == 'QUESTIONNAIRE_SCALE') {
e.taskPartitionName = e.taskPartitionName + '(问卷量表)'
} else if (e.taskNodeType == 'PROPAGANDA_ARTICLE') {
e.taskPartitionName = e.taskPartitionName + '(宣教文案)'
} else if (e.taskNodeType == 'TEXT_REMIND') {
e.taskPartitionName = e.taskPartitionName + '(文字提醒)'
}
})
this.taskPartitionList = res.data;
this.form.taskSubdivision = "";
this.form.taskSubdivisionName = "";
this.form.taskSubdivisiontemplateType = "";
this.form.taskNodeType = "";
this.taskStatusDictList = [];
if (taskSubdivision) {
this.form.taskSubdivision = taskSubdivision;
@ -933,21 +916,28 @@ export default {
//
changetaskSubdivision(code, type) {
if (
this.form.taskSubdivisiontemplateType != "QUESTIONNAIRE" &&
this.form.taskSubdivisiontemplateType != "PROPAGANDA" &&
this.form.taskSubdivisiontemplateType != "SCRIPT"
this.form.taskNodeType != "QUESTIONNAIRE_SCALE" &&
this.form.taskNodeType != "PROPAGANDA_ARTICLE" &&
this.form.taskNodeType != "PHONE_OUTBOUND"
) {
this.$refs.wangeditor.emit();
}
// console.log(code,'code')
setTimeout(() => {
const loading = this.$loading({
lock: true,
text: "加载中",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
if (!type) {
this.form.taskStatus = ''
}
this.form.taskSubdivisionName = this.taskPartitionList?.find(
(e) => e.taskPartitionCode == code
)?.taskPartitionName;
let id = this.taskPartitionList?.find(
(e) => e.taskPartitionCode == code
)?.id;
// console.log(id, 'id')
this.taskPartitionDictId = id;
this.form.secondClassifyDescribe = this.taskPartitionList?.find(
(e) => e.taskPartitionCode == code
@ -961,12 +951,11 @@ export default {
this.taskPartitionList.forEach((el) => {
if (code == el.taskPartitionCode) {
this.form.executionTime = el.executionTime;
this.form.taskSubdivisiontemplateType = el.templateType;
this.form.taskNodeType = el.taskNodeType;
if (
this.form.taskSubdivisiontemplateType == "SCRIPT" ||
this.form.taskSubdivisiontemplateType == "PROPAGANDA" ||
this.form.taskSubdivisiontemplateType == "QUESTIONNAIRE"
this.form.taskNodeType == "PHONE_OUTBOUND" ||
this.form.taskNodeType == "PROPAGANDA_ARTICLE" ||
this.form.taskNodeType == "QUESTIONNAIRE_SCALE"
) {
this.form.nodeContent = `<p></p>`;
}
@ -984,12 +973,13 @@ export default {
e.taskSubdivision == this.form.taskSubdivision &&
e.specialDiseaseNodeId == this.form.specialDiseaseNodeId
)?.nodeContent;
// console.log(this.form.nodeContent, 'this.form.nodeContent8858585')
}
this.form.taskNodeType = this.taskPartitionList?.find(
(e) => e.taskPartitionCode == code
)?.taskNodeType;
});
loading.close();
}, 500);
// console.log(this.form)
},
addlist() {
list(this.parentDictCode).then((res) => {
@ -1021,7 +1011,8 @@ export default {
officialPushSign: "0",
messagePushSign: "0",
messagePreview: "",
taskSubdivisiontemplateType: "",
taskNodeType: "",
taskNodeType: '',
},
],
});
@ -1044,7 +1035,8 @@ export default {
appletRemindContent: "",
appletPromptDescription: "",
messagePreview: "",
taskSubdivisiontemplateType: "",
taskNodeType: "",
taskNodeType: '',
});
},
delitem(item, index) {
@ -1106,6 +1098,8 @@ export default {
this.info();
this.handleClose();
this.$modal.msgSuccess("审核成功!");
this.listindex = 0
this.itemindex = 0
}
});
}