This commit is contained in:
2024-07-11 11:10:08 +08:00
parent 9d2bf3e236
commit e56a41c8a7

View File

@ -1,154 +1,76 @@
<template> <template>
<div> <div style="background-color: #f1f3f5;padding-top:10px">
<div class="title"> <div class="title" ref="layout">
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="upload">保存</el-button> <el-button type="primary" @click="upload">保存</el-button>
</div> </div>
<el-descriptions title="手动创建任务"> </el-descriptions> <el-descriptions title="手动创建任务"> </el-descriptions>
<el-form <el-form :inline="true" :model="updata" class="demo-form-inline" ref="updata">
:inline="true"
:model="updata"
class="demo-form-inline"
ref="updata"
>
<el-form-item label="任务名称"> <el-form-item label="任务名称">
<el-input v-model="updata.routeName"></el-input> <el-input v-model="updata.routeName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="适用范围"> <el-form-item label="适用范围">
<el-select v-model="updata.suitRange" @change="changeoptions"> <el-select v-model="updata.suitRange" @change="changeoptions">
<el-option <el-option v-for="item in options" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
v-for="item in options"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="chufatitle">
<span>触发条件</span>
<!-- <el-button type="primary" plain size="mini" @click="addtriggerCondition"
>添加触发条件</el-button
> -->
</div>
<el-form ref="updata" :model="updata" label-width="80px"> <el-form ref="updata" :model="updata" label-width="80px">
<div class="chufatitle">
<span>触发条件</span>
<!-- <el-button type="primary" plain size="mini" @click="addtriggerCondition" >添加触发条件</el-button > -->
</div>
<div class="nodesname"> <div class="nodesname">
<div <div class="node" v-for="(item, index) in updata.triggerConditionList" :key="index">
class="node"
v-for="(item, index) in updata.triggerConditionList"
:key="index"
>
<!-- 且或 --> <!-- 且或 -->
<div <div style="
style="
width: 60px; width: 60px;
position: absolute; position: absolute;
left: 3%; left: 3%;
top: 220px; top: 195px;
background-color: red; background-color: red;
" " v-if="updata.triggerConditionList.length === 3">
v-if="updata.triggerConditionList.length === 3"
>
<img src="@/assets/images/images.png" class="login-code-img" /> <img src="@/assets/images/images.png" class="login-code-img" />
<el-select <el-select v-model="item.triggerLogic" style="width: 60px" placeholder=""
v-model="item.triggerLogic" @change="changetriggerLogicsname($event, index)">
style="width: 60px" <el-option v-for="itemh in optionslistS" :key="itemh.dictValue" :label="itemh.dictLabel"
placeholder="" :value="itemh.dictValue">
@change="changetriggerLogicsname($event, index)"
>
<el-option
v-for="itemh in optionslistS"
:key="itemh.dictValue"
:label="itemh.dictLabel"
:value="itemh.dictValue"
>
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
<!-- 诊断 在这里--> <!-- 诊断 在这里-->
<el-select <el-select v-model="item.triggerConditionCode" style="width: 120px"
v-model="item.triggerConditionCode" @change="changetriggerConditionName($event, index)">
style="width: 120px" <el-option v-for="item in optionsname" :key="item.dictValue" :label="item.dictLabel"
@change="changetriggerConditionName($event, index)" :value="item.dictValue">
>
<el-option
v-for="item in optionsname"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option> </el-option>
</el-select> </el-select>
<!-- 包含 --> <!-- 包含 -->
<el-select <el-select v-model="item.triggerConditionOperator" style="width: 100px"
v-model="item.triggerConditionOperator" @change="changetriggerLogic($event, index)">
style="width: 100px" <el-option v-for="item in item.optionstriggerConditionOperator" :key="item.dictValue"
@change="changetriggerLogic($event, index)" :label="item.dictLabel" :value="item.dictValue">
>
<el-option
v-for="item in item.optionstriggerConditionOperator"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option> </el-option>
</el-select> </el-select>
<el-input <el-input v-if="item.dictDataType == 'STRING' || !dictDataType" v-model="item.triggerConditionValue"
v-if="item.dictDataType == 'STRING' || !dictDataType" style="width: 300px" placeholder="请输入触发条件" maxlength="100"></el-input>
v-model="item.triggerConditionValue" <el-select v-if="item.dictDataType == 'SELECT'" v-model="item.triggerConditionValue" style="width: 300px">
style="width: 300px" <el-option v-for="item in ConditionValue" :key="item.dictValue" :label="item.dictLabel"
placeholder="请输入触发条件" :value="item.dictValue">
maxlength="100"
></el-input>
<el-select
v-if="item.dictDataType == 'SELECT'"
v-model="item.triggerConditionValue"
style="width: 300px"
>
<el-option
v-for="item in ConditionValue"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option> </el-option>
</el-select> </el-select>
<el-date-picker <el-date-picker v-if="item.dictDataType == 'DATE'" v-model="item.triggerConditionValue" style="width: 300px"
v-if="item.dictDataType == 'DATE'" type="date" placeholder="选择日期时间" value-format="yyyy-MM-dd">
v-model="item.triggerConditionValue"
style="width: 300px"
type="date"
placeholder="选择日期时间"
value-format="yyyy-MM-dd"
>
</el-date-picker> </el-date-picker>
<!-- {{ item }} --> <!-- {{ item }} -->
<el-input <el-input v-if="item.dictDataType == 'DECIMAL'" style="width: 300px" v-model="item.triggerConditionValue"
v-if="item.dictDataType == 'DECIMAL'" type="number" :min="0"></el-input>
style="width: 300px"
v-model="item.triggerConditionValue"
type="number"
:min="0"
></el-input>
<span class="icon"> <span class="icon">
<el-button <el-button type="danger" class="el-icon-remove-outline" plain @click="delitemlistname(index)"
type="danger" v-if="index != 0"></el-button>
class="el-icon-remove-outline" <el-button type="primary" plain class="el-icon-circle-plus-outline" @click="addtriggerCondition(index)"
plain v-if="index == 0">添加属性</el-button>
@click="delitemlistname(index)"
v-if="index != 0"
></el-button>
<el-button
type="primary"
plain
class="el-icon-circle-plus-outline"
@click="addtriggerCondition(index)"
v-if="index == 0"
>添加属性</el-button
>
</span> </span>
</div> </div>
</div> </div>
@ -158,7 +80,6 @@
:key="index" :key="index"
:style="updata.triggerConditionList.length > 1 ? '' : 'margin:0'" :style="updata.triggerConditionList.length > 1 ? '' : 'margin:0'"
> >
<el-select v-model="item.triggerConditionName" style="width: 120px"> <el-select v-model="item.triggerConditionName" style="width: 120px">
<el-option label="诊断" value="DIAGNOSIS" /> <el-option label="诊断" value="DIAGNOSIS" />
<el-option label="换药日期" value="DRESSING_CHANGE_DATE" /> <el-option label="换药日期" value="DRESSING_CHANGE_DATE" />
@ -188,42 +109,27 @@
<!-- <el-button @click="submit" style="float:right">保存触发条件</el-button> --> <!-- <el-button @click="submit" style="float:right">保存触发条件</el-button> -->
</el-form> </el-form>
</div> </div>
<div class="nodes"> <div class="nodes" :style="{ 'height': heightLine + 'px' }">
<div class="nodenames"> <div class="nodenames">
<div class="timetitle"> <div class="timetitle">
管理路径节点({{ list.length }}) 管理路径节点({{ list.length }})
<i class="el-icon-circle-plus-outline" @click="additem"></i> <i class="el-icon-circle-plus-outline" @click="additem"></i>
</div> </div>
<el-timeline> <el-timeline>
<el-timeline-item <el-timeline-item v-for="(item, index) in list" :key="index" :color="listindex == index ? '#409EFF' : ''"
v-for="(item, index) in list" @click.native="clicktimelineitem(item, index)">
:key="index"
:color="listindex == index ? '#409EFF' : ''"
@click.native="clicktimelineitem(item, index)"
>
<div class="top"> <div class="top">
<div class="toptop"> <div class="toptop">
<el-select style="width: 100px" v-model="item.routeNodeName"> <el-select style="width: 100px" v-model="item.routeNodeName">
<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 style="width: 90px" v-model="item.routeNodeDay" type="number"></el-input>
style="width: 90px"
v-model="item.routeNodeDay"
type="number"
></el-input>
<span></span> <span></span>
</div> </div>
<div> <div>
<i <i class="el-icon-delete" @click="delitem(item, index, list)"></i>
class="el-icon-delete"
@click="delitem(item, index, list)"
></i>
</div> </div>
</div> </div>
<el-card :class="listindex == index ? 'cards' : ''"> <el-card :class="listindex == index ? 'cards' : ''">
@ -239,10 +145,8 @@
</el-timeline> </el-timeline>
</div> </div>
<div class="nodetexts"> <div class="nodetexts">
<div <div style="background-color: #fff; border-radius: 10px; padding: 20px"
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.taskType == 'TEXT_REMIND' ? '' : 'height:160px'"
>
<el-form :model="formInline" class="demo-form-inline"> <el-form :model="formInline" class="demo-form-inline">
<el-form-item label="任务内容"> <el-form-item label="任务内容">
<el-radio-group v-model="formInline.taskType"> <el-radio-group v-model="formInline.taskType">
@ -259,66 +163,37 @@
> >
<scriptphone @on-template="scriptphoneontemplate"></scriptphone> <scriptphone @on-template="scriptphoneontemplate"></scriptphone>
</el-form-item> --> </el-form-item> -->
<el-form-item <el-form-item label="宣教模板" v-if="formInline.taskType == 'PROPAGANDA_ARTICLE'">
label="宣教模板"
v-if="formInline.taskType == 'PROPAGANDA_ARTICLE'"
>
<propaganda @on-template="propagandaontemplate"></propaganda> <propaganda @on-template="propagandaontemplate"></propaganda>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="提醒内容" v-if="formInline.taskType == 'TEXT_REMIND'">
label="提醒内容" <el-input type="textarea" v-model="formInline.textRemindContent" :rows="6" style="width: 600px"
v-if="formInline.taskType == 'TEXT_REMIND'" placeholder="请输入内容" />
>
<el-input
type="textarea"
v-model="formInline.textRemindContent"
:rows="6"
style="width: 600px"
placeholder="请输入内容"
/>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="人工随访模板" v-if="formInline.taskType == 'ARTIFICIAL_FOLLOW_UP'">
label="人工随访模板"
v-if="formInline.taskType == 'ARTIFICIAL_FOLLOW_UP'"
>
<question @on-template="questionontemplate"></question> <question @on-template="questionontemplate"></question>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form <el-form :model="formInline" class="demo-form-inline" :inline="true"
:model="formInline" v-if="formInline.taskType == 'QUESTIONNAIRE_SCALE'">
class="demo-form-inline"
:inline="true"
v-if="formInline.taskType == 'QUESTIONNAIRE_SCALE'"
>
<el-form-item label="问卷模板"> <el-form-item label="问卷模板">
<question @on-template="questionontemplate"></question> <question @on-template="questionontemplate"></question>
</el-form-item> </el-form-item>
<el-form-item label="问卷有效期"> <el-form-item label="问卷有效期">
<el-input-number <el-input-number v-model="formInline.questionExpirationDate" :min="1" :max="99"
v-model="formInline.questionExpirationDate" label="描述文字"></el-input-number>
:min="1"
:max="99"
label="描述文字"
></el-input-number>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div> <div>
<div <div class="PushMethodrg" v-if="formInline.taskType == 'ARTIFICIAL_FOLLOW_UP'">
class="PushMethodrg"
v-if="formInline.taskType == 'ARTIFICIAL_FOLLOW_UP'"
>
<div class="flex"> <div class="flex">
<div class="itemlist">推送方式人工电话</div> <div class="itemlist">推送方式人工电话</div>
<div class="itemlist"> <div class="itemlist">
<el-switch <el-switch v-model="formInline.phonePushSign" active-color="#13ce66" active-value="1"
v-model="formInline.phonePushSign" inactive-value="0">
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
</el-switch> </el-switch>
</div> </div>
</div> </div>
@ -326,16 +201,9 @@
<div class="itemlist"> <div class="itemlist">
重播次数 重播次数
<span> <span>
<el-select <el-select v-model="formInline.phoneRedialTimes" style="width: 100px">
v-model="formInline.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>
@ -343,150 +211,86 @@
<div class="itemlist"> <div class="itemlist">
时间间隔: 时间间隔:
<span> <span>
<el-input <el-input v-model.number="formInline.phoneTimeInterval" oninput="value=value.replace(/[^\d]/g,'')"
v-model.number="formInline.phoneTimeInterval" style="width: 100px">
oninput="value=value.replace(/[^\d]/g,'')"
style="width: 100px"
>
</el-input> </el-input>
</span> </span>
</div> </div>
<div class="itemlist"> <div class="itemlist">
短信提醒 短信提醒
<el-select <el-select v-model="formInline.phoneMessageRemind" style="width: 150px">
v-model="formInline.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="itemlist"> <div class="itemlist">
短信模板 短信模板
<span <span class="spanname" v-if="formInline.phoneMessageRemind == 'NOT_SEND_MESSAGE'">
class="spanname" <message style="width: 200px" @on-template="messageontemplateMESSAGE"
v-if="formInline.phoneMessageRemind == 'NOT_SEND_MESSAGE'" :templateId="formInline.phoneMessageTemplateId" :templateName="formInline.phoneMessageTemplateName">
> </message>
<message
style="width: 200px"
@on-template="messageontemplateMESSAGE"
:templateId="formInline.phoneMessageTemplateId"
:templateName="formInline.phoneMessageTemplateName"
></message>
</span> </span>
<span v-else> <span v-else>
<message <message style="width: 200px" @on-template="messageontemplateMESSAGE"
style="width: 200px" :templateId="formInline.phoneMessageTemplateId" :templateName="formInline.phoneMessageTemplateName">
@on-template="messageontemplateMESSAGE" </message>
:templateId="formInline.phoneMessageTemplateId"
:templateName="formInline.phoneMessageTemplateName"
></message>
</span> </span>
</div> </div>
</div> </div>
</div> </div>
<div <div class="PushMethod" v-if="formInline.taskType == 'TEXT_REMIND' ||
class="PushMethod" formInline.taskType == 'PROPAGANDA_ARTICLE' ||
v-if=" formInline.taskType == 'QUESTIONNAIRE_SCALE'
formInline.taskType == 'TEXT_REMIND' || ">
formInline.taskType == 'PROPAGANDA_ARTICLE' ||
formInline.taskType == 'QUESTIONNAIRE_SCALE'
"
>
<span>推送方式公众号</span> <span>推送方式公众号</span>
<div class="pushMethod"> <div class="pushMethod">
模板 模板
<span> <span>
<officialAccount <officialAccount @on-template="officialAccountontemplate" :templateId="formInline.officialTemplateId"
@on-template="officialAccountontemplate" :templateName="formInline.officialTemplateName">
:templateId="formInline.officialTemplateId"
:templateName="formInline.officialTemplateName"
>
</officialAccount> </officialAccount>
</span> </span>
</div> </div>
<el-switch <el-switch v-model="formInline.officialPushSign" active-color="#13ce66" active-value="1" inactive-value="0">
v-model="formInline.officialPushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
</el-switch> </el-switch>
</div> </div>
<div <div class="PushMethod" v-if="formInline.taskType == 'TEXT_REMIND' ||
class="PushMethod" formInline.taskType == 'PROPAGANDA_ARTICLE' ||
v-if=" formInline.taskType == 'QUESTIONNAIRE_SCALE'
formInline.taskType == 'TEXT_REMIND' || ">
formInline.taskType == 'PROPAGANDA_ARTICLE' ||
formInline.taskType == 'QUESTIONNAIRE_SCALE'
"
>
<span>推送方式小程序</span> <span>推送方式小程序</span>
<div class="pushMethod"> <div class="pushMethod">
模板 模板
<span> <span>
<miniProgram <miniProgram @on-template="miniProgramtemplate" :templateId="formInline.appletTemplateId"
@on-template="miniProgramtemplate" :templateName="formInline.appletTemplateName">
:templateId="formInline.appletTemplateId"
:templateName="formInline.appletTemplateName"
>
</miniProgram> </miniProgram>
</span> </span>
</div> </div>
<el-switch <el-switch v-model="formInline.appletPushSign" active-color="#13ce66" active-value="1" inactive-value="0">
v-model="formInline.appletPushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
</el-switch> </el-switch>
</div> </div>
<div <div class="PushMethod" v-if="formInline.taskType == 'TEXT_REMIND' ||
class="PushMethod" formInline.taskType == 'PROPAGANDA_ARTICLE' ||
v-if=" formInline.taskType == 'QUESTIONNAIRE_SCALE'
formInline.taskType == 'TEXT_REMIND' || ">
formInline.taskType == 'PROPAGANDA_ARTICLE' || <span style="display: inline-block; width: 128px">推送方式短信</span>
formInline.taskType == 'QUESTIONNAIRE_SCALE'
"
>
<span
style="display: inline-block; width: 128px"
>推送方式短信</span
>
<div class="pushMethod"> <div class="pushMethod">
模板 模板
<message <message @on-template="messageontemplateMESSAGE" :templateId="formInline.phoneMessageTemplateId"
@on-template="messageontemplateMESSAGE" :templateName="formInline.phoneMessageTemplateName"></message>
:templateId="formInline.phoneMessageTemplateId"
:templateName="formInline.phoneMessageTemplateName"
></message>
</div> </div>
<el-switch <el-switch v-model="formInline.messagePushSign" active-color="#13ce66" active-value="1" inactive-value="0">
v-model="formInline.messagePushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
</el-switch> </el-switch>
</div> </div>
</div> </div>
<div <div class="PushMethodrg" v-if="formInline.taskType == 'PHONE_OUTBOUND'">
class="PushMethodrg"
v-if="formInline.taskType == 'PHONE_OUTBOUND'"
>
<div class="flex"> <div class="flex">
<div class="itemlist"> <div class="itemlist">
推送方式 推送方式
<span> <span>
<el-radio-group <el-radio-group v-model="formInline.phoneDialMethod" @change="changephoneDialMethod">
v-model="formInline.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>
@ -494,57 +298,32 @@
</div> </div>
<div class="itemlist"> <div class="itemlist">
话术模板 话术模板
<span <span class="spanname" v-if="formInline.questionInfoId &&
class="spanname" formInline.phoneDialMethod == 'COMMON'
v-if=" ">
formInline.questionInfoId && <scripts @on-template="messageontemplateword" :templateId="formInline.phoneId"
formInline.phoneDialMethod == 'COMMON' :templateName="formInline.phoneTemplateName"></scripts>
"
>
<scripts
@on-template="messageontemplateword"
:templateId="formInline.phoneId"
:templateName="formInline.phoneTemplateName"
></scripts>
</span> </span>
<span v-else> <span v-else>
<scripts <scripts @on-template="messageontemplateword" :templateId="formInline.phoneId"
@on-template="messageontemplateword" :templateName="formInline.phoneTemplateName"></scripts>
:templateId="formInline.phoneId"
:templateName="formInline.phoneTemplateName"
></scripts>
</span> </span>
</div> </div>
<div <div class="itemlist" v-if="formInline.phoneDialMethod == 'COMMON' ||
class="itemlist" !formInline.phoneDialMethod
v-if=" ">
formInline.phoneDialMethod == 'COMMON' ||
!formInline.phoneDialMethod
"
>
问卷模板 问卷模板
<span class="spanname" v-if="formInline.phoneId"> <span class="spanname" v-if="formInline.phoneId">
<question <question @on-template="questionontemplate" :templateId="formInline.questionInfoId"
@on-template="questionontemplate" :templateName="formInline.questionnaireName"></question>
:templateId="formInline.questionInfoId"
:templateName="formInline.questionnaireName"
></question>
</span> </span>
<span v-else> <span v-else>
<question <question @on-template="questionontemplate" :templateId="formInline.questionInfoId"
@on-template="questionontemplate" :templateName="formInline.questionnaireName"></question>
:templateId="formInline.questionInfoId"
:templateName="formInline.questionnaireName"
></question>
</span> </span>
</div> </div>
<div class="itemlist"> <div class="itemlist">
<el-switch <el-switch v-model="formInline.phonePushSign" active-color="#13ce66" active-value="1" inactive-value="0">
v-model="formInline.phonePushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
</el-switch> </el-switch>
</div> </div>
</div> </div>
@ -552,16 +331,9 @@
<div class="itemlist"> <div class="itemlist">
重播次数111 重播次数111
<span> <span>
<el-select <el-select v-model="formInline.phoneRedialTimes" style="width: 100px">
v-model="formInline.phoneRedialTimes" <el-option v-for="item in optionslisttime" :key="item.dictValue" :label="item.dictLabel"
style="width: 100px" :value="item.dictValue">
>
<el-option
v-for="item in optionslisttime"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option> </el-option>
</el-select> </el-select>
</span> </span>
@ -569,49 +341,30 @@
<div class="itemlist"> <div class="itemlist">
时间间隔: 时间间隔:
<span> <span>
<el-input <el-input v-model.number="formInline.phoneTimeInterval" oninput="value=value.replace(/[^\d]/g,'')"
v-model.number="formInline.phoneTimeInterval" style="width: 100px">
oninput="value=value.replace(/[^\d]/g,'')"
style="width: 100px"
>
</el-input> </el-input>
</span> </span>
</div> </div>
<div class="itemlist"> <div class="itemlist">
短信提醒 短信提醒
<el-select <el-select v-model="formInline.phoneMessageRemind" style="width: 150px">
v-model="formInline.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="itemlist"> <div class="itemlist">
短信模板 短信模板
<span <span class="spanname" v-if="formInline.phoneMessageRemind == 'NOT_SEND_MESSAGE'">
class="spanname" <message style="width: 200px" @on-template="messageontemplateMESSAGE"
v-if="formInline.phoneMessageRemind == 'NOT_SEND_MESSAGE'" :templateId="formInline.phoneMessageTemplateId" :templateName="formInline.phoneMessageTemplateName">
> </message>
<message
style="width: 200px"
@on-template="messageontemplateMESSAGE"
:templateId="formInline.phoneMessageTemplateId"
:templateName="formInline.phoneMessageTemplateName"
></message>
</span> </span>
<span v-else> <span v-else>
<message <message style="width: 200px" @on-template="messageontemplateMESSAGE"
style="width: 200px" :templateId="formInline.phoneMessageTemplateId" :templateName="formInline.phoneMessageTemplateName">
@on-template="messageontemplateMESSAGE" </message>
:templateId="formInline.phoneMessageTemplateId"
:templateName="formInline.phoneMessageTemplateName"
></message>
</span> </span>
</div> </div>
</div> </div>
@ -638,6 +391,7 @@ export default {
name: "ManuallyCreatingTasks", name: "ManuallyCreatingTasks",
data() { data() {
return { return {
heightLine: 0,
optionsname: '', optionsname: '',
options: [], options: [],
optionslist: [], optionslist: [],
@ -707,8 +461,6 @@ export default {
listindex: 0, listindex: 0,
optionstriggerConditionOperator: [], // optionstriggerConditionOperator: [], //
dictDataType: "", dictDataType: "",
}; };
}, },
created() { created() {
@ -718,7 +470,6 @@ export default {
this.infolistoptionslistS(); this.infolistoptionslistS();
this.optiononditionOperators(); this.optiononditionOperators();
this.optiononditionOperator(); this.optiononditionOperator();
this.formInline = this.list[0]; this.formInline = this.list[0];
this.updata.signPatientRecordId = this.$route.query.signPatientRecordId; this.updata.signPatientRecordId = this.$route.query.signPatientRecordId;
this.updata.patientId = this.$route.query.patientId; this.updata.patientId = this.$route.query.patientId;
@ -726,6 +477,10 @@ export default {
this.updata.departmentId = this.$route.query.departmentId; this.updata.departmentId = this.$route.query.departmentId;
this.updata.departmentName = this.$route.query.departmentName; this.updata.departmentName = this.$route.query.departmentName;
}, },
mounted() {
this.getMaxTableHeight()
this.screenChange()
},
methods: { methods: {
// //
infolistoptionslistS() { infolistoptionslistS() {
@ -746,11 +501,8 @@ export default {
var dictType = "trigger_condition_operator"; var dictType = "trigger_condition_operator";
getAgencytype(dictType).then((res) => { getAgencytype(dictType).then((res) => {
this.updata.triggerConditionList.optionstriggerConditionOperator = res.data; this.updata.triggerConditionList.optionstriggerConditionOperator = res.data;
}); });
}, },
// //
changetriggerLogic(e, index) { changetriggerLogic(e, index) {
// this.openlist.triggerConditionList[index].triggerConditionOperatorName = // this.openlist.triggerConditionList[index].triggerConditionOperatorName =
@ -759,7 +511,6 @@ export default {
// ).dictLabel; // ).dictLabel;
this.updata.triggerConditionList[index].triggerConditionValue = null; this.updata.triggerConditionList[index].triggerConditionValue = null;
}, },
// //
changetriggerConditionName(e, index) { changetriggerConditionName(e, index) {
var dictType = e; var dictType = e;
@ -777,7 +528,6 @@ export default {
this.updata.triggerConditionList[index].dictDataType = this.updata.triggerConditionList[index].dictDataType =
this.optionsname.find((el) => el.dictValue == e).dictDataType; this.optionsname.find((el) => el.dictValue == e).dictDataType;
}, },
// //
handlelist(index) { handlelist(index) {
var dictType = "trigger_condition_operator"; var dictType = "trigger_condition_operator";
@ -792,10 +542,8 @@ export default {
var dictType = "trigger_condition_operator"; var dictType = "trigger_condition_operator";
getAgencytype(dictType).then((res) => { getAgencytype(dictType).then((res) => {
this.updata.triggerConditionList.optionstriggerConditionOperator = res.data; this.updata.triggerConditionList.optionstriggerConditionOperator = res.data;
}); });
}, },
// //
changetriggerLogicsname(e, index) { changetriggerLogicsname(e, index) {
this.updata.triggerConditionList[index].triggerLogic = e; this.updata.triggerConditionList[index].triggerLogic = e;
@ -810,12 +558,10 @@ export default {
// spinner: "el-icon-loading", // spinner: "el-icon-loading",
// background: "rgba(0, 0, 0, 0.7)", // background: "rgba(0, 0, 0, 0.7)",
// }); // });
// this.updata.triggerConditionList.forEach((e) => { // this.updata.triggerConditionList.forEach((e) => {
// e.routeId = this.$route.query.id; // e.routeId = this.$route.query.id;
// e.routeName = this.$route.query.routeName; // e.routeName = this.$route.query.routeName;
// delete e.optionstriggerConditionOperator // delete e.optionstriggerConditionOperator
// }); // });
// delete this.updata.triggerConditionList.optionstriggerConditionOperator // delete this.updata.triggerConditionList.optionstriggerConditionOperator
// loading.close(); // loading.close();
@ -869,6 +615,9 @@ export default {
// //
delitemlistname(index, item) { delitemlistname(index, item) {
this.updata.triggerConditionList.splice(index, 1); this.updata.triggerConditionList.splice(index, 1);
setTimeout(() => {
this.getMaxTableHeight()
}, 20);
}, },
addtriggerCondition() { addtriggerCondition() {
var obj = { var obj = {
@ -877,18 +626,19 @@ export default {
triggerConditionName: "", triggerConditionName: "",
triggerConditionOperator: "", triggerConditionOperator: "",
triggerConditionValue: "", triggerConditionValue: "",
triggerConditionOperatorName: "", triggerConditionOperatorName: "",
dictDataType: "STRING", dictDataType: "STRING",
triggerLogic: "AND", triggerLogic: "AND",
triggerLogicName: "", triggerLogicName: "",
}; };
if (this.updata.triggerConditionList.length == 3) { if (this.updata.triggerConditionList.length == 3) {
this.$message.error("至多仅支持两种属性"); this.$message.error("至多仅支持两种属性");
} else { } else {
this.updata.triggerConditionList.push(obj); this.updata.triggerConditionList.push(obj);
} }
setTimeout(() => {
this.getMaxTableHeight()
}, 20);
}, },
// //
propagandaontemplate(item) { propagandaontemplate(item) {
@ -916,7 +666,6 @@ export default {
this.formInline.phoneMessageTemplateName = item.templateName; this.formInline.phoneMessageTemplateName = item.templateName;
this.formInline.messagePreview = item.templateContent; this.formInline.messagePreview = item.templateContent;
}, },
// //
messageontemplateword(item) { messageontemplateword(item) {
this.formInline.phoneId = item.templateId; this.formInline.phoneId = item.templateId;
@ -940,13 +689,15 @@ export default {
this.listindex = index; this.listindex = index;
}, },
additem(item) { additem(item) {
list(this.parentDictCode).then((res) => { if (this.parentDictCode) {
res.rows.forEach((e) => { list(this.parentDictCode).then((res) => {
this.list.forEach((el) => { res.rows.forEach((e) => {
el.routeNodeName = e.dictLabel; this.list.forEach((el) => {
el.routeNodeName = e.dictLabel;
});
}); });
}); });
}); }
this.list.push({ this.list.push({
routeNodeDay: "", routeNodeDay: "",
taskType: "", taskType: "",
@ -999,12 +750,9 @@ export default {
e.routeId = this.$route.query.id; e.routeId = this.$route.query.id;
e.routeName = this.$route.query.routeName; e.routeName = this.$route.query.routeName;
delete e.optionstriggerConditionOperator delete e.optionstriggerConditionOperator
}); });
delete this.updata.triggerConditionList.optionstriggerConditionOperator delete this.updata.triggerConditionList.optionstriggerConditionOperator
console.log(this.updata, 'updata')
// return // return
signrouteadd(this.updata).then((res) => { signrouteadd(this.updata).then((res) => {
this.$notify({ this.$notify({
type: "success", type: "success",
@ -1023,14 +771,46 @@ export default {
}, 3000); }, 3000);
}); });
}, },
//
getMaxTableHeight() {
const windowInnerHeight = window.innerHeight //
const layoutDiv = this.$refs.layout
this.heightLine =
windowInnerHeight - 84 -
this.getBoxHeight(layoutDiv)
console.log(this.getBoxHeight(layoutDiv))
},
// resize
screenChange() {
// resizeresize
window.addEventListener('resize', this.getMaxTableHeight, true)
//
//
// beforeDestroy
this.$once('hook:beforeDestroy', () => {
window.removeEventListener('resize', this.getMaxTableHeight, true)
})
},
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::-webkit-scrollbar {
width: 5px;
}
::-webkit-scrollbar-thumb {
border-radius: 5px;
background: #C0C0C0;
}
::-webkit-scrollbar-track {
width: 5px;
}
.chufatitle { .chufatitle {
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 20px;
span { span {
margin-right: 30px; margin-right: 30px;
@ -1038,17 +818,17 @@ export default {
font-weight: bold; font-weight: bold;
} }
} }
.login-code-img { .login-code-img {
width: 62px; width: 62px;
height: 100px; height: 100px;
position: absolute; position: absolute;
background: red; background: red;
z-index: 0; z-index: 0;
// top: 17%;
position: absolute; position: absolute;
// left: 2%; top: -90%;
top: -75%;
} }
.PushMethodrg { .PushMethodrg {
background-color: #fff; background-color: #fff;
width: 100%; width: 100%;
@ -1070,9 +850,11 @@ export default {
line-height: 30px; line-height: 30px;
font-size: 14px; font-size: 14px;
color: #64666a; color: #64666a;
.spanname { .spanname {
pointer-events: none; pointer-events: none;
} }
::v-deep .el-input__inner { ::v-deep .el-input__inner {
color: black; color: black;
font-size: 14px; font-size: 14px;
@ -1087,12 +869,14 @@ export default {
} }
.nodesname { .nodesname {
// margin-left: 6%; // margin-left: 6%;
// width: 660px; // width: 660px;
// display: flex; // display: flex;
// flex-wrap: wrap; // flex-wrap: wrap;
// position: relative; // position: relative;
// padding-left: 20px; // padding-left: 20px;
.node { .node {
margin-bottom: 10px; margin-bottom: 10px;
margin-left: 102px; margin-left: 102px;
@ -1102,6 +886,7 @@ export default {
} }
} }
} }
.selectnamelist { .selectnamelist {
// position: absolute; // position: absolute;
// right: 54px; // right: 54px;
@ -1121,25 +906,32 @@ export default {
} }
.title { .title {
padding: 20px; width: 98.5%;
border-radius: 10px;
padding: 10px 20px;
margin: 0 auto;
background-color: #fff;
position: relative;
} }
.nodes { .nodes {
// height: var(--heightLine);
background-color: #f1f3f5; background-color: #f1f3f5;
// height: 700px; // height: 700px;
height: calc(100vh - 308px); // height: calc(100vh - 300px);
display: flex; display: flex;
justify-content: space-between; justify-content: space-evenly;
padding-top: 20px; padding-top: 10px;
.nodenames { .nodenames {
border-radius: 10px; border-radius: 10px;
background-color: #fff; background-color: #fff;
height: calc(100vh - 308px); // height: calc(100vh - 320px);
height: 100%;
width: 25%; width: 25%;
padding: 0 40px 20px 40px; padding: 0 40px 20px 40px;
background-color: #fff; background-color: #fff;
overflow: scroll; overflow-y: scroll;
.timetitle { .timetitle {
height: 60px; height: 60px;
@ -1156,10 +948,11 @@ export default {
.nodetexts { .nodetexts {
padding-bottom: 20px; padding-bottom: 20px;
overflow: scroll; overflow-y: scroll;
border-radius: 10px; border-radius: 10px;
width: 73%; width: 73%;
height: calc(100vh - 308px); // height: calc(100vh - 320px);
height: 100%;
} }
} }
@ -1212,6 +1005,7 @@ export default {
display: inline-block; display: inline-block;
float: right; float: right;
} }
::v-deep .el-form-item__content { ::v-deep .el-form-item__content {
display: inline-block !important; display: inline-block !important;
} }