Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
闫晓茹 2024-08-05 10:58:40 +08:00
commit eb15239570
11 changed files with 185 additions and 345 deletions

View File

@ -11,7 +11,7 @@ class Video extends BlockEmbed {
static create(value) { static create(value) {
const node = super.create(); const node = super.create();
// 添加video标签所需的属性 // 添加video标签所需的属性
node.setAttribute('style', 'object-fit:fill;width: 100%;') node.setAttribute('style', 'object-fit:fill;max-width: 100%;')
node.setAttribute('preload', 'auto') // auto - 当页面加载后载入整个视频 meta - 当页面加载后只载入元数据 none - 当页面加载后不载入视频 node.setAttribute('preload', 'auto') // auto - 当页面加载后载入整个视频 meta - 当页面加载后只载入元数据 none - 当页面加载后不载入视频
// node.setAttribute('playsinline', 'true') // node.setAttribute('playsinline', 'true')
// node.setAttribute('x-webkit-airplay', 'allow') // node.setAttribute('x-webkit-airplay', 'allow')

View File

@ -275,7 +275,8 @@
宣教 宣教
</div> </div>
<div class="righttextarea"> <div class="righttextarea">
<span v-if="item.templateDetail" v-html="item.templateDetail.propagandaContent"> <span @click="getimg($event)" v-if="item.templateDetail"
v-html="item.templateDetail.propagandaContent">
</span> </span>
<!-- <editor v-model="item.templateDetail" :min-height="192" style="width: 100%" /> --> <!-- <editor v-model="item.templateDetail" :min-height="192" style="width: 100%" /> -->
</div> </div>
@ -306,6 +307,12 @@
<el-button type="primary" @click="lookshow = false"> </el-button> <el-button type="primary" @click="lookshow = false"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog title="图片预览" :visible.sync="imageshow" width="70%">
<img :src="currentSrc" alt="" style="width:100%" />
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="imageshow = false"> </el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
@ -344,11 +351,15 @@ export default {
edges: [], edges: [],
}, },
lookshow: false, lookshow: false,
imageshow: false,
currentSrc: undefined,
}; };
}, },
created() { created() {
this.info(); this.info();
}, },
mounted() {
},
methods: { methods: {
changeswitch(e) { changeswitch(e) {
if (!e) { if (!e) {
@ -387,6 +398,12 @@ export default {
loading.close(); loading.close();
}) })
}, },
getimg(e) {
if (e.target.id == 'image') {
this.currentSrc = e.target.currentSrc
this.imageshow = true
}
},
getlist() { getlist() {
if (this.routelist.length == 0) { if (this.routelist.length == 0) {
const loading = this.$loading({ const loading = this.$loading({
@ -398,6 +415,12 @@ export default {
getRouteNodeInfo(this.$route.query.signRecordId).then(res => { getRouteNodeInfo(this.$route.query.signRecordId).then(res => {
this.allroutelist = res.data this.allroutelist = res.data
this.routelist = this.allroutelist.filter(item => item.conditionSatisfyStatus); this.routelist = this.allroutelist.filter(item => item.conditionSatisfyStatus);
this.routelist.forEach(e => {
if (e.taskNodeType == 'PROPAGANDA_ARTICLE') {
e.templateDetail.propagandaContent = e.templateDetail?.propagandaContent?.replace(/\<img/gi,
"<img id='image' style='max-width:100%'")
}
})
this.tab = 2 this.tab = 2
loading.close(); loading.close();
}).catch(err => { }).catch(err => {

View File

@ -728,6 +728,7 @@ export default {
::v-deep .el-input.is-disabled .el-input__inner { ::v-deep .el-input.is-disabled .el-input__inner {
background: #fff !important; background: #fff !important;
color: #606266; color: #606266;
width: 200px;
} }
.spanname { .spanname {

View File

@ -268,7 +268,7 @@ export default {
created() { created() {
if (this.lookitemnew) { if (this.lookitemnew) {
this.questiondata = this.lookitemnew; this.questiondata = this.lookitemnew;
this.questiondata.subjectResultList.forEach((e) => { this.questiondata.subjectResultList?.forEach((e) => {
e.optionResults.forEach((el) => { e.optionResults.forEach((el) => {
console.log(el, "el"); console.log(el, "el");
if ( if (
@ -295,7 +295,6 @@ export default {
} }
}); });
}); });
console.log(this.questiondata, " this.questiondata");
} }
}, },
mounted() {}, mounted() {},

View File

@ -202,7 +202,7 @@
</div> </div>
<div class="flex"> <div class="flex">
<div class="pushMethod"> <div class="pushMethod">
次数 次数
<span> <span>
<el-select v-model="form.phoneRedialTimes" style="width: 100px"> <el-select v-model="form.phoneRedialTimes" style="width: 100px">
<el-option v-for="item in optionslistS" :key="item.dictValue" :label="item.dictLabel" <el-option v-for="item in optionslistS" :key="item.dictValue" :label="item.dictLabel"

View File

@ -11,7 +11,7 @@
<img src="../../../assets/manage/blueliebiao.png" alt="" v-if="type == 'table'" /> <img src="../../../assets/manage/blueliebiao.png" alt="" v-if="type == 'table'" />
</div> </div>
</div> </div>
<SearchFilter :labelWidths="280" style="width: calc(100% - 80px);" :widths="90" size="mini" @search="handleQuery" <SearchFilter :labelWidths="280" style="width: calc(100% - 80px);" :widths="80" size="mini" @search="handleQuery"
@reset="resetQuery" @minShowCtrol="getMaxTableHeight"> @reset="resetQuery" @minShowCtrol="getMaxTableHeight">
<el-form-item label="患者姓名" prop="patientName"> <el-form-item label="患者姓名" prop="patientName">
<el-input v-model="queryParams.patientName" placeholder="请输入患者姓名" clearable @keyup.enter.native="handleQuery" <el-input v-model="queryParams.patientName" placeholder="请输入患者姓名" clearable @keyup.enter.native="handleQuery"

View File

@ -327,7 +327,7 @@
</div> </div>
<div class="flex"> <div class="flex">
<div class="pushMethod"> <div class="pushMethod">
次数 次数
<span> <span>
<el-select v-model="form.phoneRedialTimes" style="width: 110px"> <el-select v-model="form.phoneRedialTimes" style="width: 110px">
<el-option v-for="item in optionslistSname" :key="item.dictValue" :label="item.dictLabel" <el-option v-for="item in optionslistSname" :key="item.dictValue" :label="item.dictLabel"
@ -479,7 +479,7 @@ import indexjs from "./indexjs.js";
export default indexjs; export default indexjs;
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.txxt .txxt
::v-deep.el-form-item--medium .el-form-item__content { ::v-deep.el-form-item--medium .el-form-item__content {
line-height: 36px; line-height: 36px;
height: 40px; height: 40px;

View File

@ -194,7 +194,7 @@ export default {
}); });
}, },
// 重次数 // 重次数
infolistMESSAGE() { infolistMESSAGE() {
var dictType = "redial_times"; var dictType = "redial_times";
getAgencytype(dictType).then((res) => { getAgencytype(dictType).then((res) => {

View File

@ -195,7 +195,7 @@
</div> </div>
<div class="flex"> <div class="flex">
<div class="itemlist"> <div class="itemlist">
次数 次数
<span> <span>
<el-select v-model="formInline.phoneRedialTimes" style="width: 100px"> <el-select v-model="formInline.phoneRedialTimes" style="width: 100px">
<el-option v-for="item in optionslistS" :key="item.dictValue" :label="item.dictLabel" <el-option v-for="item in optionslistS" :key="item.dictValue" :label="item.dictLabel"
@ -299,7 +299,7 @@
</div> </div>
<div class="flex"> <div class="flex">
<div class="itemlist"> <div class="itemlist">
次数 次数
<span> <span>
<el-select v-model="formInline.phoneRedialTimes" style="width: 100px"> <el-select v-model="formInline.phoneRedialTimes" style="width: 100px">
<el-option v-for="item in optionslisttime" :key="item.dictValue" :label="item.dictLabel" <el-option v-for="item in optionslisttime" :key="item.dictValue" :label="item.dictLabel"

View File

@ -8,18 +8,8 @@
</div> </div>
<div class="select"> <div class="select">
<span> 适用范围 </span> <span> 适用范围 </span>
<el-select <el-select v-model="updata.suitRange" placeholder="请选择" @change="changeoptions" disabled>
v-model="updata.suitRange" <el-option v-for="item in options" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
placeholder="请选择"
@change="changeoptions"
disabled
>
<el-option
v-for="item in options"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
@ -31,59 +21,30 @@
<i class="el-icon-circle-plus-outline" @click="addlist"></i> <i class="el-icon-circle-plus-outline" @click="addlist"></i>
</div> </div>
<el-timeline> <el-timeline>
<el-timeline-item <el-timeline-item v-for="(item, index) in lists" :key="index" :color="listindex == index ? '#409EFF' : ''">
v-for="(item, index) in lists"
:key="index"
:color="listindex == index ? '#409EFF' : ''"
>
<div class="top"> <div class="top">
<div class="toptop"> <div class="toptop">
<el-select v-model="item.routeNodeName" style="width: 100px"> <el-select v-model="item.routeNodeName" style="width: 100px">
<el-option <el-option v-for="item in parentDictCodelist" :key="item.dictValue" :label="item.dictLabel"
v-for="item in parentDictCodelist" :value="item.dictValue">
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option> </el-option>
</el-select> </el-select>
<el-input <el-input v-model="item.routeNodeDay" type="number" style="width: 70px" :min="0"></el-input>
v-model="item.routeNodeDay"
type="number"
style="width: 70px"
:min="0"
></el-input>
<span></span> <span></span>
</div> </div>
<div> <div>
<i class="el-icon-delete" @click="delitem(item, index)"></i> <i class="el-icon-delete" @click="delitem(item, index)"></i>
<i <i class="el-icon-circle-plus-outline" @click="additem(item)"></i>
class="el-icon-circle-plus-outline"
@click="additem(item)"
></i>
</div> </div>
</div> </div>
<el-card <el-card v-for="(uitem, uindex) in item.list" :key="uitem.id"
v-for="(uitem, uindex) in item.list"
:key="uitem.id"
@click.native="bottomclickevent(uitem, index, uindex, item)" @click.native="bottomclickevent(uitem, index, uindex, item)"
:class="listindex == index && itemindex == uindex ? 'cards' : ''" :class="listindex == index && itemindex == uindex ? 'cards' : ''">
>
<h3 style="height: 20px">{{ uitem.taskTypeName }}</h3> <h3 style="height: 20px">{{ uitem.taskTypeName }}</h3>
<el-tag <el-tag v-if="uitem.routeCheckStatus == 'AGREE'" class="routeCheckStatus">已审核</el-tag>
v-if="uitem.routeCheckStatus == 'AGREE'" <el-tag v-else-if="uitem.routeCheckStatus == 'DISAGREE'" type="danger"
class="routeCheckStatus" class="routeCheckStatus">不同意</el-tag>
>已审核</el-tag <el-tag v-else type="warning" 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> <p style="height: 16px">{{ uitem.taskSubdivisionName }}</p>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
@ -93,43 +54,22 @@
<div class="topform"> <div class="topform">
<el-form ref="form" :inline="true" :model="form" class="form"> <el-form ref="form" :inline="true" :model="form" class="form">
<el-form-item label="任务类型" prop=""> <el-form-item label="任务类型" prop="">
<el-select <el-select v-model="form.taskType" style="width: 150px" @change="changeTaskType">
v-model="form.taskType" <el-option v-for="item in selectTaskTypeList" :key="item.taskTypeCode" :label="item.taskTypeName"
style="width: 150px" :value="item.taskTypeCode">
@change="changeTaskType"
>
<el-option
v-for="item in selectTaskTypeList"
:key="item.taskTypeCode"
:label="item.taskTypeName"
:value="item.taskTypeCode"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="任务细分" prop=""> <el-form-item label="任务细分" prop="">
<el-select <el-select v-model="form.taskSubdivision" style="width: 150px" @change="changetaskSubdivision">
v-model="form.taskSubdivision" <el-option v-for="item in taskPartitionList" :key="item.taskPartitionCode"
style="width: 150px" :label="item.taskPartitionName" :value="item.taskPartitionCode">
@change="changetaskSubdivision"
>
<el-option
v-for="item in taskPartitionList"
:key="item.taskPartitionCode"
:label="item.taskPartitionName"
:value="item.taskPartitionCode"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="任务节点类型" prop=""> <el-form-item label="任务节点类型" prop="">
<el-select v-model="form.taskNodeType" style="width: 150px"> <el-select v-model="form.taskNodeType" style="width: 150px">
<el-option <el-option v-for="item in taskNodeTypeList" :key="item.id" :label="item.name" :value="item.code">
v-for="item in taskNodeTypeList"
:key="item.id"
:label="item.name"
:value="item.code"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -141,88 +81,40 @@
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<el-form-item label="二级分类描述" prop=""> <el-form-item label="二级分类描述" prop="">
<el-input <el-input v-model="form.secondClassifyDescribe" style="width: 110px" disabled></el-input>
v-model="form.secondClassifyDescribe"
style="width: 110px"
disabled
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="执行时间" prop=""> <el-form-item label="执行时间" prop="">
<el-time-select <el-time-select v-model="form.executionTime" style="width: 120px" placeholder="选择时间" disabled>
v-model="form.executionTime"
style="width: 120px"
placeholder="选择时间"
disabled
>
</el-time-select> </el-time-select>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="问卷库模板选择" prop="" v-if="form.taskNodeType == 'QUESTIONNAIRE_SCALE'">
label="问卷库模板选择" <question @on-template="questionontemplate" :templateId="form.templateId"
prop="" :templateName="form.templateName"></question>
v-if="form.taskNodeType == 'QUESTIONNAIRE_SCALE'"
>
<question
@on-template="questionontemplate"
:templateId="form.templateId"
:templateName="form.templateName"
></question>
</el-form-item> </el-form-item>
<span <span style="display: inline-block; width: 10px" v-if="form.taskNodeType == 'QUESTIONNAIRE_SCALE' && form.templateId
style="display: inline-block; width: 10px" ">
v-if="
form.taskNodeType == 'QUESTIONNAIRE_SCALE' && form.templateId
"
>
<el-button @click.native="looklist">预览</el-button> <el-button @click.native="looklist">预览</el-button>
</span> </span>
<el-form-item <el-form-item label="开启人工随访" v-if="form.taskNodeType == 'QUESTIONNAIRE_SCALE'" style="margin-left: 75px">
label="开启人工随访" <el-switch v-model="form.phoneDialMethod" active-color="#13ce66" active-value="COMMON" inactive-value=" ">
v-if="form.taskNodeType == 'QUESTIONNAIRE_SCALE'"
style="margin-left: 75px"
>
<el-switch
v-model="form.phoneDialMethod"
active-color="#13ce66"
active-value="COMMON"
inactive-value=" "
>
</el-switch> </el-switch>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="宣教库模板选择" prop="" v-if="form.taskNodeType == 'PROPAGANDA_ARTICLE'">
label="宣教库模板选择" <propaganda @on-template="propagandaontemplate" :templateId="form.templateId"
prop="" :templateName="form.templateName"></propaganda>
v-if="form.taskNodeType == 'PROPAGANDA_ARTICLE'"
>
<propaganda
@on-template="propagandaontemplate"
:templateId="form.templateId"
:templateName="form.templateName"
></propaganda>
</el-form-item> </el-form-item>
<span <span style="display: inline-block; width: 10px" v-if="form.taskNodeType == 'PROPAGANDA_ARTICLE' && form.templateId
style="display: inline-block; width: 10px" ">
v-if="
form.taskNodeType == 'PROPAGANDA_ARTICLE' && form.templateId
"
>
<el-button @click="imagepreviews">预览</el-button> <el-button @click="imagepreviews">预览</el-button>
</span> </span>
</el-form> </el-form>
</div> </div>
<!-- 宣教 --> <!-- 宣教 -->
<el-dialog <el-dialog title="宣教预览" :visible.sync="imageScriptpreviews" width="60%">
title="宣教预览" <div class="imageScriptpreviews" v-if="formview &&
:visible.sync="imageScriptpreviews" form.taskNodeType == 'PROPAGANDA_ARTICLE' &&
width="60%" form.templateId
> ">
<div
class="imageScriptpreviews"
v-if="
formview &&
form.taskNodeType == 'PROPAGANDA_ARTICLE' &&
form.templateId
"
>
<div class="titletop">文章模板:{{ formview.propagandaTitle }}</div> <div class="titletop">文章模板:{{ formview.propagandaTitle }}</div>
<div class="bodytop"> <div class="bodytop">
<div class="titledata">{{ formview.propagandaTitle }}</div> <div class="titledata">{{ formview.propagandaTitle }}</div>
@ -230,48 +122,29 @@
<img :src="baseUrl + formview.propagandaCoverPath" alt="" /> <img :src="baseUrl + formview.propagandaCoverPath" alt="" />
<div class="know">知识卡片</div> <div class="know">知识卡片</div>
<div class="knowlist"> <div class="knowlist">
<Editorxj <Editorxj v-model="formview.propagandaContent" :min-height="192" />
v-model="formview.propagandaContent"
:min-height="192"
/>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="imageScriptpreviews = false" <el-button type="primary" @click="imageScriptpreviews = false">关闭</el-button>
>关闭</el-button
>
</span> </span>
</el-dialog> </el-dialog>
<!-- 问卷 --> <!-- 问卷 -->
<el-dialog <el-dialog title="问卷预览" :visible.sync="lookquestionlist" width="40%">
title="问卷预览"
:visible.sync="lookquestionlist"
width="40%"
>
<questionopennew :lookitemnew="lookitemnew"></questionopennew> <questionopennew :lookitemnew="lookitemnew"></questionopennew>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="lookquestionlist = false" <el-button type="primary" @click="lookquestionlist = false">关闭</el-button>
>关闭</el-button
>
</span> </span>
</el-dialog> </el-dialog>
<div class="bottomform"> <div class="bottomform">
<wangeditor <wangeditor v-show="form.taskNodeType != 'QUESTIONNAIRE_SCALE' &&
v-show=" form.taskNodeType != 'PROPAGANDA_ARTICLE' &&
form.taskNodeType != 'QUESTIONNAIRE_SCALE' && form.taskNodeType != 'PHONE_OUTBOUND'
form.taskNodeType != 'PROPAGANDA_ARTICLE' && " style="width: 100%" :nodeContent="form.nodeContent" :taskPartitionDictId="taskPartitionDictId"
form.taskNodeType != 'PHONE_OUTBOUND' :taskSubdivision="form.taskSubdivision" :specialDiseaseNodeId="form.specialDiseaseNodeId"
" @on-nodeContent="onNodeContent" ref="wangeditor" />
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.taskNodeType != 'PHONE_OUTBOUND'"> <div class="card" v-show="form.taskNodeType != 'PHONE_OUTBOUND'">
<div class="flex"> <div class="flex">
@ -281,19 +154,11 @@
</div> </div>
<div class="pushMethod"> <div class="pushMethod">
模板 模板
<message <message @on-template="messageontemplate" :templateId="form.messageTemplateId"
@on-template="messageontemplate" :templateName="form.messageTemplateName"></message>
:templateId="form.messageTemplateId"
:templateName="form.messageTemplateName"
></message>
</div> </div>
<div class="pushMethod"> <div class="pushMethod">
<el-switch <el-switch v-model="form.messagePushSign" active-color="#13ce66" active-value="1" inactive-value="0">
v-model="form.messagePushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
</el-switch> </el-switch>
</div> </div>
</div> </div>
@ -311,21 +176,13 @@
<div class="pushMethod"> <div class="pushMethod">
模板 模板
<span> <span>
<officialAccount <officialAccount @on-template="officialAccountontemplate" :templateId="form.officialTemplateId"
@on-template="officialAccountontemplate" :templateName="form.officialTemplateName">
:templateId="form.officialTemplateId"
:templateName="form.officialTemplateName"
>
</officialAccount> </officialAccount>
</span> </span>
</div> </div>
<div class="pushMethod"> <div class="pushMethod">
<el-switch <el-switch v-model="form.officialPushSign" active-color="#13ce66" active-value="1" inactive-value="0">
v-model="form.officialPushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
</el-switch> </el-switch>
</div> </div>
</div> </div>
@ -343,21 +200,13 @@
<div class="pushMethod"> <div class="pushMethod">
模板 模板
<span> <span>
<miniProgram <miniProgram @on-template="miniProgramtemplate" :templateId="form.appletTemplateId"
@on-template="miniProgramtemplate" :templateName="form.appletTemplateName">
:templateId="form.appletTemplateId"
:templateName="form.appletTemplateName"
>
</miniProgram> </miniProgram>
</span> </span>
</div> </div>
<div class="pushMethod"> <div class="pushMethod">
<el-switch <el-switch v-model="form.appletPushSign" active-color="#13ce66" active-value="1" inactive-value="0">
v-model="form.appletPushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
</el-switch> </el-switch>
</div> </div>
</div> </div>
@ -370,19 +219,12 @@
<el-input v-model="form.appletPromptDescription" class="textarea" disabled></el-input> <el-input v-model="form.appletPromptDescription" class="textarea" disabled></el-input>
</div> --> </div> -->
</div> </div>
<div <div class="card" style="margin-top: -30px" v-show="form.taskNodeType == 'PHONE_OUTBOUND'">
class="card"
style="margin-top: -30px"
v-show="form.taskNodeType == 'PHONE_OUTBOUND'"
>
<div class="flex"> <div class="flex">
<div class="pushMethod"> <div class="pushMethod">
推送方式 推送方式
<span> <span>
<el-radio-group <el-radio-group v-model="form.phoneDialMethod" @change="changephoneDialMethod">
v-model="form.phoneDialMethod"
@change="changephoneDialMethod"
>
<el-radio label="COMMON">人工电话</el-radio> <el-radio label="COMMON">人工电话</el-radio>
<el-radio label="AI">自动外呼</el-radio> <el-radio label="AI">自动外呼</el-radio>
</el-radio-group> </el-radio-group>
@ -392,23 +234,11 @@
<div class="flexs"> <div class="flexs">
<div class="pushMethods"> <div class="pushMethods">
话术模板 话术模板
<span <span :class="form.templateId && form.phoneDialMethod == 'COMMON' ? 'spanname' : ''">
:class=" <scripts @on-template="messageontemplateword" :templateId="form.phoneTemplateId"
form.templateId && form.phoneDialMethod == 'COMMON' :templateName="form.phoneTemplateName"></scripts>
? 'spanname'
: ''
"
>
<scripts
@on-template="messageontemplateword"
:templateId="form.phoneTemplateId"
:templateName="form.phoneTemplateName"
></scripts>
</span> </span>
<span <span style="display: inline-block; width: 10px" v-if="form.phoneTemplateId">
style="display: inline-block; width: 10px"
v-if="form.phoneTemplateId"
>
<el-button @click="look">预览</el-button> <el-button @click="look">预览</el-button>
</span> </span>
<!-- <br/> --> <!-- <br/> -->
@ -435,18 +265,11 @@
</div> </div>
<div class="flex"> <div class="flex">
<div class="pushMethod"> <div class="pushMethod">
次数 次数
<span> <span>
<el-select <el-select v-model="form.phoneRedialTimes" style="width: 100px" @change="changephoneRedialTimes">
v-model="form.phoneRedialTimes" <el-option v-for="item in optionslistS" :key="item.dictValue" :label="item.dictLabel"
style="width: 100px" :value="item.dictValue">
>
<el-option
v-for="item in optionslistS"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option> </el-option>
</el-select> </el-select>
</span> </span>
@ -454,11 +277,8 @@
<div class="pushMethod"> <div class="pushMethod">
时间间隔() 时间间隔()
<span> <span>
<el-input <el-input v-model.number="form.phoneTimeInterval" oninput="value=value.replace(/[^\d]/g,'')"
v-model.number="form.phoneTimeInterval" style="width: 100px">
oninput="value=value.replace(/[^\d]/g,'')"
style="width: 100px"
>
<!-- <el-option <!-- <el-option
v-for="item in optionslistS" v-for="item in optionslistS"
:key="item.dictValue" :key="item.dictValue"
@ -471,63 +291,32 @@
</div> </div>
<div class="pushMethod"> <div class="pushMethod">
短信提醒 短信提醒
<el-select <el-select v-model="form.phoneMessageRemind" style="width: 150px">
v-model="form.phoneMessageRemind" <el-option v-for="item in optionslist" :key="item.dictValue" :label="item.dictLabel"
style="width: 150px" :value="item.dictValue">
>
<el-option
v-for="item in optionslist"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
<div class="pushMethod"> <div class="pushMethod">
短信模板 短信模板
<span <span :class="form.phoneMessageRemind == 'NOT_SEND_MESSAGE' ? 'spanname' : ''">
:class=" <message style="width: 200px" @on-template="messageontemplateMESSAGE"
form.phoneMessageRemind == 'NOT_SEND_MESSAGE' :templateId="form.phoneMessageTemplateId" :templateName="form.phoneMessageTemplateName"></message>
? 'spanname'
: ''
"
>
<message
style="width: 200px"
@on-template="messageontemplateMESSAGE"
:templateId="form.phoneMessageTemplateId"
:templateName="form.phoneMessageTemplateName"
></message>
</span> </span>
</div> </div>
</div> </div>
<!-- 话术模板内容 --> <!-- 话术模板内容 -->
<el-dialog <el-dialog title="话术预览" :visible.sync="lookNodeContent" width="90%">
title="话术预览" <Scriptpreview :phoneNodeContent="phoneNodeContent"></Scriptpreview>
:visible.sync="lookNodeContent"
width="90%"
>
<Scriptpreview
:phoneNodeContent="phoneNodeContent"
></Scriptpreview>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="lookNodeContent = false" <el-button type="primary" @click="lookNodeContent = false">关闭</el-button>
>关闭</el-button
>
</span> </span>
</el-dialog> </el-dialog>
<!-- 问卷模板内容 --> <!-- 问卷模板内容 -->
<el-dialog <el-dialog title="问卷预览" :visible.sync="lookquestionname" width="40%">
title="问卷预览"
:visible.sync="lookquestionname"
width="40%"
>
<questionopennew :lookitemnew="lookitemnew"></questionopennew> <questionopennew :lookitemnew="lookitemnew"></questionopennew>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="lookquestionname = false" <el-button type="primary" @click="lookquestionname = false">关闭</el-button>
>关闭</el-button
>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
@ -536,42 +325,19 @@
</div> </div>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="TemporaryStorage"> </el-button> <el-button @click="TemporaryStorage"> </el-button>
<el-button <el-button type="primary" @click="dialogVisible = true" v-if="form.specialDiseaseNodeId">审核完成 {{ agreeNumber ?
type="primary" agreeNumber : "0" }} /
@click="dialogVisible = true" {{ totalNumber ? totalNumber : "0" }}</el-button>
v-if="form.specialDiseaseNodeId"
>审核完成 {{ agreeNumber ? agreeNumber : "0" }} /
{{ totalNumber ? totalNumber : "0" }}</el-button
>
</div> </div>
<el-dialog <el-dialog title="提交审核完成" :visible.sync="dialogVisible" width="30%" :before-close="handleClose">
title="提交审核完成" <el-form ref="routeform" :model="routeform" label-width="120px" :rules="rules">
:visible.sync="dialogVisible"
width="30%"
:before-close="handleClose"
>
<el-form
ref="routeform"
:model="routeform"
label-width="120px"
:rules="rules"
>
<el-form-item label="节点审核状态" prop="routeCheckStatus"> <el-form-item label="节点审核状态" prop="routeCheckStatus">
<el-radio v-model="routeform.routeCheckStatus" label="AGREE" <el-radio v-model="routeform.routeCheckStatus" label="AGREE">同意</el-radio>
>同意</el-radio <el-radio v-model="routeform.routeCheckStatus" label="DISAGREE">不同意</el-radio>
>
<el-radio v-model="routeform.routeCheckStatus" label="DISAGREE"
>不同意</el-radio
>
</el-form-item> </el-form-item>
<div class="txxt"> <div class="txxt">
<el-form-item label="节点审核备注"> <el-form-item label="节点审核备注">
<el-input <el-input type="textarea" :rows="2" placeholder="请输入节点审核备注" v-model="routeform.routeCheckRemark">
type="textarea"
:rows="2"
placeholder="请输入节点审核备注"
v-model="routeform.routeCheckRemark"
>
</el-input> </el-input>
</el-form-item> </el-form-item>
</div> </div>
@ -675,6 +441,10 @@ export default {
appletRemindContent: "", appletRemindContent: "",
appletPromptDescription: "", appletPromptDescription: "",
taskNodeType: '', taskNodeType: '',
phoneDialMethod: '',
phoneMessageRemind: '',
phoneTimeInterval: '',
phoneRedialTimes: "",
}, },
itemindex: 0, itemindex: 0,
listindex: 0, listindex: 0,
@ -741,9 +511,16 @@ export default {
}, },
mounted() { }, mounted() { },
methods: { methods: {
//
changephoneRedialTimes(e) {
if (this.optionslistS.find(el => el.dictValue == e)?.dictLabel != '不重播') {
this.form.phoneTimeInterval = 30
}else{
this.form.phoneTimeInterval = ''
}
},
// //
looklist() { looklist() {
console.log(22222)
this.lookquestionlist = true; this.lookquestionlist = true;
}, },
// //
@ -906,6 +683,10 @@ export default {
appletRemindContent: "", appletRemindContent: "",
appletPromptDescription: "", appletPromptDescription: "",
taskNodeType: '', taskNodeType: '',
phoneDialMethod: '',
phoneMessageRemind: '',
phoneTimeInterval: '',
phoneRedialTimes: "",
}, },
], ],
}); });
@ -993,10 +774,10 @@ export default {
messageontemplateword(item) { messageontemplateword(item) {
this.form.phoneTemplateId = item.templateId; this.form.phoneTemplateId = item.templateId;
this.form.phoneTemplateName = item.templateName; this.form.phoneTemplateName = item.templateName;
this.lists[this.listindex].list[this.itemindex].scriptInfoId=item.scriptInfoId this.lists[this.listindex].list[this.itemindex].scriptInfoId = item.scriptInfoId
this.lists[this.listindex].list[this.itemindex].phoneTemplateId=item.phoneTemplateId this.lists[this.listindex].list[this.itemindex].phoneTemplateId = item.phoneTemplateId
// this.form.messagePreview = item.templateContent; // this.form.messagePreview = item.templateContent;
this.phoneNodeContent = item.phoneNodeContent; this.phoneNodeContent = item.phoneNodeContent;
}, },
// //
officialAccountontemplate(item) { officialAccountontemplate(item) {
@ -1109,7 +890,7 @@ export default {
this.$refs.wangeditor.emit(); this.$refs.wangeditor.emit();
} }
}, },
// //
async bottomclickevent(uitem, index, uindex) { async bottomclickevent(uitem, index, uindex) {
await this.onemit(); await this.onemit();
const loading = this.$loading({ const loading = this.$loading({
@ -1297,6 +1078,10 @@ export default {
messagePreview: "", messagePreview: "",
taskNodeType: "", taskNodeType: "",
taskNodeType: '', taskNodeType: '',
phoneDialMethod: '',
phoneMessageRemind: '',
phoneTimeInterval: '',
phoneRedialTimes: "",
}, },
], ],
}); });
@ -1321,6 +1106,10 @@ export default {
messagePreview: "", messagePreview: "",
taskNodeType: "", taskNodeType: "",
taskNodeType: '', taskNodeType: '',
phoneDialMethod: '',
phoneMessageRemind: '',
phoneTimeInterval: '',
phoneRedialTimes: "",
}); });
}, },
delitem(item, index) { delitem(item, index) {
@ -1348,6 +1137,38 @@ export default {
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });
console.log(this.form)
if (this.form.taskNodeType != 'PHONE_OUTBOUND') {
if (this.form.messagePushSign == "1") {
if (!this.form.messageTemplateId) {
this.$message.error("请选择短信模板");
return loading.close();
}
}
if (this.form.officialPushSign == "1") {
if (!this.form.officialTemplateId) {
this.$message.error("请选择公众号模板");
return loading.close();
}
}
if (this.form.appletPushSign == "1") {
if (!this.form.appletTemplateId) {
this.$message.error("请选择小程序模板");
return loading.close();
}
}
} else {
if (!this.form.phoneDialMethod) {
this.$message.error("请选择推送方式");
return loading.close();
}
if (this.optionslist.find(e => e.dictValue == this.form.phoneMessageRemind)?.dictLabel == '未接通发短信') {
if (!this.form.phoneMessageTemplateId) {
this.$message.error("请选择短信模板");
return loading.close();
}
}
}
if ( if (
Number(this.form.routeNodeDay) != 0 && Number(this.form.routeNodeDay) != 0 &&
Number(this.form.routeNodeDay) < 0 Number(this.form.routeNodeDay) < 0
@ -1367,10 +1188,6 @@ export default {
this.$message.error("请选择任务细分"); this.$message.error("请选择任务细分");
return loading.close(); return loading.close();
} }
// if (!this.form.taskStatus) {
// this.$message.error("");
// return loading.close();
// }
updateRouteCheckStatus({ updateRouteCheckStatus({
routeCheckStatus: this.routeform.routeCheckStatus, routeCheckStatus: this.routeform.routeCheckStatus,
id: this.form.specialDiseaseNodeId, id: this.form.specialDiseaseNodeId,

View File

@ -178,7 +178,7 @@
<!-- 电话外呼 --> <!-- 电话外呼 -->
<div v-if="form.taskType == 'PHONE_OUTBOUND'"> <div v-if="form.taskType == 'PHONE_OUTBOUND'">
<div class="topitem"> <div class="topitem">
<el-form-item label="重次数:" prop="patientId"> <el-form-item label="重次数:" prop="patientId">
<el-input v-model="form.phoneRedialTimes" style="width: 260px" disabled /> <el-input v-model="form.phoneRedialTimes" style="width: 260px" disabled />
</el-form-item> </el-form-item>
<el-form-item label="时间间隔:" prop="patientId"> <el-form-item label="时间间隔:" prop="patientId">