任务创建--手动创建任务

This commit is contained in:
shidongli 2024-12-06 11:55:57 +08:00
parent c11c5a17c3
commit 6ea6ded08a
2 changed files with 450 additions and 100 deletions

View File

@ -131,14 +131,16 @@
</el-table-column> </el-table-column>
<el-table-column label="住址" align="center" prop="address" /> <el-table-column label="住址" align="center" prop="address" />
<!-- class-name="small-padding fixed-width" fixed="right" --> <!-- class-name="small-padding fixed-width" fixed="right" -->
<el-table-column label="操作" align="center" fixed="right"> <el-table-column label="操作" align="center" fixed="right" width="110" >
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" <!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['manage:patientInfo:edit']">修改</el-button> v-hasPermi="['manage:patientInfo:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['manage:patientInfo:remove']">删除</el-button> --> v-hasPermi="['manage:patientInfo:remove']">删除</el-button> -->
<el-button size="mini" type="text" @click="handOutbound(scope.row)">外呼</el-button>
<el-button size="mini" type="text" @click="handleAuthRole(scope.row)">详情</el-button> <el-button size="mini" type="text" @click="handleAuthRole(scope.row)">详情</el-button>
<el-button size="mini" type="text" @click="handleedit(scope.row)">画像编辑</el-button> <!-- <el-button size="mini" type="text" @click="handleedit(scope.row)">画像编辑</el-button> -->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -285,6 +287,21 @@
}, },
}); });
}, },
handOutbound(row){
console.log(row)
this.$router.push({
path: "/patient/ManuallyCreatingTasks",
query: {
path: "/task/Patientmanagement",
signPatientRecordId: row.id,
patientId: row.patientId ?row.patientId : '',
patientName: row.patientName,
departmentId: row.departmentId,
departmentName: row.departmentName,
},
});
},
// //
handleedit(row) { handleedit(row) {
this.$router.push({ this.$router.push({
@ -537,8 +554,8 @@
width: 100%; width: 100%;
} }
::v-deep .el-table { // ::v-deep .el-table {
overflow: hidden; // overflow: hidden;
} // }
</style> </style>

View File

@ -1,17 +1,27 @@
<template> <template>
<div style="background-color: #f1f3f5;padding-top:10px"> <div style="background-color: #f1f3f5; padding-top: 10px">
<div class="titlemengt" ref="layout"> <div class="titlemengt" 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 :inline="true" :model="updata" class="demo-form-inline" ref="updata"> <el-form
: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 v-for="item in options" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue"> <el-option
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>
@ -103,47 +113,126 @@
</div> --> </div> -->
<!-- <el-button @click="submit" style="float:right">保存触发条件</el-button> --> <!-- <el-button @click="submit" style="float:right">保存触发条件</el-button> -->
</div> </div>
<div class="nodes" :style="{ 'height': heightLine + 'px' }"> <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 v-for="(item, index) in list" :key="index" :color="listindex == index ? '#409EFF' : ''" <el-timeline-item
@click.native="clicktimelineitem(item, index)"> v-for="(item, index) in list"
: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-radio v-model="item.checked1" :label="1" @change="handleCheckAllChange1($event, item)">{{""}}</el-radio>
<el-option v-for="item in parentDictCodelist" :key="item.dictValue" :label="item.dictLabel" <!-- <el-checkbox
:value="item.dictValue"> v-model="item.checked1"
style="margin-right: 5px"
@change="handleCheckAllChange1($event, item)"
></el-checkbox> -->
<el-select
style="width: 120px;margin-left: -26px;"
:disabled="item.disableddata"
v-model="item.routeNodeName"
>
<el-option
v-for="item in parentDictCodelist"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option> </el-option>
</el-select> </el-select>
<el-input style="width: 90px" v-model="item.routeNodeDay" type="number"></el-input> <el-input
style="width: 90px"
v-model="item.routeNodeDay"
type="number"
:disabled="item.disabledcount"
></el-input>
<span></span> <span></span>
</div> </div>
<div> <div>
<i class="el-icon-delete" @click="delitem(item, index, list)"></i> <i
class="el-icon-delete"
@click="delitem(item, index, list)"
></i>
</div>
</div>
<div class="top">
<div class="toptop">
<el-radio v-model="item.checked2" :label="2" @change="handleCheckAllChange2($event, item, index)">{{""}}</el-radio>
<!-- <el-checkbox
v-model="item.checked2"
style="margin-right: 5px"
@change="handleCheckAllChange2($event, item, index)"
></el-checkbox> -->
<span style="width: 78px;margin-left: -26px;">指定时间</span>
<el-date-picker
:disabled="item.disabled"
format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm"
v-model="item.nodePlanTime"
type="datetime"
placeholder="选择日期时间"
:picker-options="pickerOptions"
@input="$forceUpdate()"
>
</el-date-picker>
</div>
</div>
<div class="top">
<div class="toptop">
<!-- <el-checkbox
v-model="item.checked3"
style="margin-right: 5px"
@change="handleCheckAllChange3($event, item)"
></el-checkbox> -->
<el-radio v-model="item.checked3" :label="3" @change="handleCheckAllChange3($event, item)">{{""}}</el-radio>
<span style="margin-left: -26px;">立即执行</span>
</div> </div>
</div> </div>
<el-card :class="listindex == index ? 'cards' : ''"> <el-card :class="listindex == index ? 'cards' : ''">
<h3 style="height: 20px"> <h3 style="height: 20px">
{{ item.taskNodeType == "PHONE_OUTBOUND" ? "电话外呼" : "" }} {{ item.taskNodeType == "PHONE_OUTBOUND" ? "电话外呼" : "" }}
{{ item.taskNodeType == "QUESTIONNAIRE_SCALE" ? "问卷量表" : "" }} {{
{{ item.taskNodeType == "PROPAGANDA_ARTICLE" ? "宣教文案" : "" }} item.taskNodeType == "QUESTIONNAIRE_SCALE" ? "问卷量表" : ""
}}
{{
item.taskNodeType == "PROPAGANDA_ARTICLE" ? "宣教文案" : ""
}}
{{ item.taskNodeType == "TEXT_REMIND" ? "文字提醒" : "" }} {{ item.taskNodeType == "TEXT_REMIND" ? "文字提醒" : "" }}
{{ item.taskNodeType == "ARTIFICIAL_FOLLOW_UP" ? "人工随访" : "" }} {{
item.taskNodeType == "ARTIFICIAL_FOLLOW_UP" ? "人工随访" : ""
}}
</h3> </h3>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
</el-timeline> </el-timeline>
</div> </div>
<div class="nodetexts"> <div class="nodetexts">
<div style="background-color: #fff; border-radius: 10px; padding: 20px" <div
:style="formInline.taskNodeType ? formInline.taskNodeType != 'PHONE_OUTBOUND' ? formInline.taskNodeType == 'TEXT_REMIND' ? 'height:260px' : 'height:160px' : 'height:80px' : 'height:80px'"> style="background-color: #fff; border-radius: 10px; padding: 20px"
: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 :model="formInline" class="demo-form-inline">
<el-form-item label="任务节点类型"> <el-form-item label="任务节点类型">
<el-radio-group v-model="formInline.taskNodeType" @change="taskNodeTypechange"> <el-radio-group
v-model="formInline.taskNodeType"
@change="taskNodeTypechange"
>
<el-radio label="PHONE_OUTBOUND">电话外呼</el-radio> <el-radio label="PHONE_OUTBOUND">电话外呼</el-radio>
<el-radio label="QUESTIONNAIRE_SCALE">问卷量表</el-radio> <el-radio label="QUESTIONNAIRE_SCALE">问卷量表</el-radio>
<el-radio label="PROPAGANDA_ARTICLE">宣教文案</el-radio> <el-radio label="PROPAGANDA_ARTICLE">宣教文案</el-radio>
@ -154,25 +243,48 @@
<!-- <el-form-itemlabel="电话模板" v-if="formInline.taskNodeType == 'PHONE_OUTBOUND'"> <!-- <el-form-itemlabel="电话模板" v-if="formInline.taskNodeType == 'PHONE_OUTBOUND'">
<scriptphone @on-template="scriptphoneontemplate"></scriptphone> <scriptphone @on-template="scriptphoneontemplate"></scriptphone>
</el-form-item> --> </el-form-item> -->
<el-form-item label="宣教模板" v-if="formInline.taskNodeType == 'PROPAGANDA_ARTICLE'"> <el-form-item
label="宣教模板"
v-if="formInline.taskNodeType == 'PROPAGANDA_ARTICLE'"
>
<propaganda @on-template="propagandaontemplate"></propaganda> <propaganda @on-template="propagandaontemplate"></propaganda>
</el-form-item> </el-form-item>
<el-form-item label="提醒内容" v-if="formInline.taskNodeType == 'TEXT_REMIND'"> <el-form-item
<el-input type="textarea" v-model="formInline.nodeContent" :rows="6" style="width: 600px" label="提醒内容"
placeholder="请输入内容" /> v-if="formInline.taskNodeType == 'TEXT_REMIND'"
>
<el-input
type="textarea"
v-model="formInline.nodeContent"
:rows="6"
style="width: 600px"
placeholder="请输入内容"
/>
</el-form-item> </el-form-item>
<!-- <el-form-item label="人工随访模板" v-if="formInline.taskNodeType == 'ARTIFICIAL_FOLLOW_UP'"> <!-- <el-form-item label="人工随访模板" v-if="formInline.taskNodeType == '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 :model="formInline" class="demo-form-inline" :inline="true" <el-form
v-if="formInline.taskNodeType == 'QUESTIONNAIRE_SCALE'"> :model="formInline"
class="demo-form-inline"
:inline="true"
v-if="formInline.taskNodeType == 'QUESTIONNAIRE_SCALE'"
>
<el-form-item label="问卷模板"> <el-form-item label="问卷模板">
<question @on-template="questionontemplate" :node="formInline.phoneDialMethod"></question> <question
@on-template="questionontemplate"
:node="formInline.phoneDialMethod"
></question>
</el-form-item> </el-form-item>
<el-form-item label="开启人工随访" label-width="150px"> <el-form-item label="开启人工随访" label-width="150px">
<el-switch v-model="formInline.phoneDialMethod" active-color="#13ce66" active-value="COMMON" <el-switch
@change="changephoneDialMethodtwo" inactive-value="AI"> v-model="formInline.phoneDialMethod"
active-color="#13ce66"
active-value="COMMON"
@change="changephoneDialMethodtwo"
inactive-value="AI"
>
</el-switch> </el-switch>
</el-form-item> </el-form-item>
<!-- <el-form-item label="问卷有效期"> <!-- <el-form-item label="问卷有效期">
@ -183,7 +295,12 @@
</el-form> </el-form>
</div> </div>
<div <div
v-if="formInline.taskNodeType == 'TEXT_REMIND' || formInline.taskNodeType == 'PROPAGANDA_ARTICLE' || formInline.taskNodeType == 'QUESTIONNAIRE_SCALE'"> v-if="
formInline.taskNodeType == 'TEXT_REMIND' ||
formInline.taskNodeType == 'PROPAGANDA_ARTICLE' ||
formInline.taskNodeType == 'QUESTIONNAIRE_SCALE'
"
>
<!-- <div class="PushMethodrg" v-if="formInline.taskNodeType == 'ARTIFICIAL_FOLLOW_UP'"> <!-- <div class="PushMethodrg" v-if="formInline.taskNodeType == 'ARTIFICIAL_FOLLOW_UP'">
<div class="flex"> <div class="flex">
<div class="itemlist">推送方式人工电话</div> <div class="itemlist">推送方式人工电话</div>
@ -235,12 +352,20 @@
<div class="pushMethod"> <div class="pushMethod">
模板 模板
<span> <span>
<officialAccount @on-template="officialAccountontemplate" :templateId="formInline.officialTemplateId" <officialAccount
:templateName="formInline.officialTemplateName"> @on-template="officialAccountontemplate"
:templateId="formInline.officialTemplateId"
:templateName="formInline.officialTemplateName"
>
</officialAccount> </officialAccount>
</span> </span>
</div> </div>
<el-switch v-model="formInline.officialPushSign" active-color="#13ce66" active-value="1" inactive-value="0"> <el-switch
v-model="formInline.officialPushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
</el-switch> </el-switch>
</div> </div>
<div class="PushMethod"> <div class="PushMethod">
@ -248,31 +373,55 @@
<div class="pushMethod"> <div class="pushMethod">
模板 模板
<span> <span>
<miniProgram @on-template="miniProgramtemplate" :templateId="formInline.appletTemplateId" <miniProgram
:templateName="formInline.appletTemplateName"> @on-template="miniProgramtemplate"
:templateId="formInline.appletTemplateId"
:templateName="formInline.appletTemplateName"
>
</miniProgram> </miniProgram>
</span> </span>
</div> </div>
<el-switch v-model="formInline.appletPushSign" active-color="#13ce66" active-value="1" inactive-value="0"> <el-switch
v-model="formInline.appletPushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
</el-switch> </el-switch>
</div> </div>
<div class="PushMethod"> <div class="PushMethod">
<span style="display: inline-block; width: 128px">推送方式短信</span> <span style="display: inline-block; width: 128px"
>推送方式短信</span
>
<div class="pushMethod"> <div class="pushMethod">
模板 模板
<message @on-template="messageontemplateMESSAGEtwo" :templateId="formInline.phoneMessageTemplateId" <message
:templateName="formInline.phoneMessageTemplateName"></message> @on-template="messageontemplateMESSAGEtwo"
:templateId="formInline.phoneMessageTemplateId"
:templateName="formInline.phoneMessageTemplateName"
></message>
</div> </div>
<el-switch v-model="formInline.messagePushSign" active-color="#13ce66" active-value="1" inactive-value="0"> <el-switch
v-model="formInline.messagePushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
</el-switch> </el-switch>
</div> </div>
</div> </div>
<div class="PushMethodrg" v-if="formInline.taskNodeType == 'PHONE_OUTBOUND'"> <div
class="PushMethodrg"
v-if="formInline.taskNodeType == 'PHONE_OUTBOUND'"
>
<div class="flex"> <div class="flex">
<div class="itemlist"> <div class="itemlist">
推送方式 推送方式
<span> <span>
<el-radio-group v-model="formInline.phoneDialMethod" @change="changephoneDialMethod"> <el-radio-group
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>
@ -281,8 +430,12 @@
<div class="itemlist"> <div class="itemlist">
话术模板 话术模板
<span> <span>
<scripts @on-template="messageontemplateword" :templateId="formInline.phoneId" <scripts
:node="formInline.phoneDialMethod" :templateName="formInline.phoneTemplateName"></scripts> @on-template="messageontemplateword"
:templateId="formInline.phoneId"
:node="formInline.phoneDialMethod"
:templateName="formInline.phoneTemplateName"
></scripts>
</span> </span>
</div> </div>
<!-- <div class="itemlist" v-if="formInline.phoneDialMethod == 'COMMON' || !formInline.phoneDialMethod"> <!-- <div class="itemlist" v-if="formInline.phoneDialMethod == 'COMMON' || !formInline.phoneDialMethod">
@ -293,7 +446,12 @@
</span> </span>
</div> --> </div> -->
<div class="itemlist"> <div class="itemlist">
<el-switch v-model="formInline.phonePushSign" active-color="#13ce66" active-value="1" inactive-value="0"> <el-switch
v-model="formInline.phonePushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
</el-switch> </el-switch>
</div> </div>
</div> </div>
@ -301,9 +459,16 @@
<div class="itemlist"> <div class="itemlist">
重拨次数 重拨次数
<span> <span>
<el-select v-model="formInline.phoneRedialTimes" style="width: 100px"> <el-select
<el-option v-for="item in optionslisttime" :key="item.dictValue" :label="item.dictLabel" v-model="formInline.phoneRedialTimes"
:value="item.dictValue"> style="width: 100px"
>
<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>
@ -311,24 +476,44 @@
<div class="itemlist"> <div class="itemlist">
时间间隔() 时间间隔()
<span> <span>
<el-input v-model.number="formInline.phoneTimeInterval" oninput="value=value.replace(/[^\d]/g,'')" <el-input
style="width: 100px"> v-model.number="formInline.phoneTimeInterval"
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 v-model="formInline.phoneMessageRemind" style="width: 150px"> <el-select
<el-option v-for="item in optionslist" :key="item.dictValue" :label="item.dictLabel" v-model="formInline.phoneMessageRemind"
:value="item.dictValue"> style="width: 150px"
>
<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 :class="formInline.phoneMessageRemind == 'NOT_SEND_MESSAGE' ? 'spanname' : ''"> <span
<message style="width: 200px" @on-template="messageontemplateMESSAGE" :class="
:templateId="formInline.phoneMessageTemplateId" :templateName="formInline.phoneMessageTemplateName"> formInline.phoneMessageRemind == 'NOT_SEND_MESSAGE'
? 'spanname'
: ''
"
>
<message
style="width: 200px"
@on-template="messageontemplateMESSAGE"
:templateId="formInline.phoneMessageTemplateId"
:templateName="formInline.phoneMessageTemplateName"
>
</message> </message>
</span> </span>
</div> </div>
@ -351,11 +536,22 @@ import { signrouteadd } from "@/api/system/ManuallyCreatingTasks";
import { getAgencytype } from "@/api/system/agency"; import { getAgencytype } from "@/api/system/agency";
import { list, triggerCondition, getList, } from "@/api/system/specialDiseaseNode"; import { list, triggerCondition, getList, } from "@/api/system/specialDiseaseNode";
export default { export default {
components: { scriptphone, question, propaganda, scripts, message, officialAccount, miniProgram }, components: { scriptphone, question, propaganda, scripts, message, officialAccount, miniProgram },
name: "ManuallyCreatingTasks", name: "ManuallyCreatingTasks",
data() { data() {
return { return {
show: 0,
pickerOptions: {
disabledDate(time) {
//
return time.getTime() < Date.now() - 8.64e7// -8.64e7
//
// return time.getTime() > Date.now() - 8.64e7// -8.64e7
}
},
heightLine: 0, heightLine: 0,
optionsname: '', optionsname: '',
options: [], options: [],
@ -364,13 +560,14 @@ export default {
optionslisttime: [], optionslisttime: [],
parentDictCodelist: [], parentDictCodelist: [],
updata: { updata: {
importId: "",
signPatientRecordId: "", signPatientRecordId: "",
patientId: "", patientId: "",
patientName: "", patientName: "",
departmentId: "", departmentId: "",
departmentName: "", departmentName: "",
routeName: "", routeName: "",
suitRange: "", suitRange: "OUTPATIENT_SERVICE_DISCHARGE",
routeNodeList: [], routeNodeList: [],
triggerConditionList: [ triggerConditionList: [
{ {
@ -404,7 +601,7 @@ export default {
{ {
routeNodeDay: "", routeNodeDay: "",
taskNodeType: "", taskNodeType: "",
routeNodeName: "", routeNodeName: "AFTER_VISIT_DISCHARGE",
// questionExpirationDate: 7, // questionExpirationDate: 7,
questionInfoId: "", questionInfoId: "",
questionnaireName: "", questionnaireName: "",
@ -418,6 +615,15 @@ export default {
appletPushSign: "0", appletPushSign: "0",
phonePushSign: "1", phonePushSign: "1",
phoneDialMethod: "", phoneDialMethod: "",
plantype: "PLUSDAY",
nodePlanTime: "",
checked1: 1,
checked2: false,
checked3: false,
disabled: true,
disableddata: false,
disabledcount: false
}, },
], ],
listindex: 0, listindex: 0,
@ -425,6 +631,8 @@ export default {
// dictDataType: "", // dictDataType: "",
}; };
}, },
watch: {
},
created() { created() {
this.infolist(); this.infolist();
this.infolistword(); this.infolistword();
@ -434,16 +642,157 @@ export default {
this.optiononditionOperator(); this.optiononditionOperator();
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;
this.updata.importId = this.$route.query.importId;
this.updata.patientName = this.$route.query.patientName; this.updata.patientName = this.$route.query.patientName;
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;
this.formInline = this.list[0]; this.formInline = this.list[0];
}, },
mounted() { mounted() {
this.getMaxTableHeight() this.getMaxTableHeight()
this.screenChange() this.screenChange()
}, },
methods: { methods: {
// /
handleCheckAllChange1(e, item) {
console.log(e, item, 'value')
item.checked2 = ""
item.checked3 = ""
item.disabled = true
item.disableddata = false
item.disabledcount = false
item.nodePlanTime = ""
item.timedata = ""
item.plantype = "PLUSDAY"
// if (e == true) {
// item.checked2 = false
// item.checked3 = false
// item.disabled = true
// item.disableddata = false
// item.disabledcount = false
// item.nodePlanTime = ""
// item.timedata = ""
// item.plantype = "PLUSDAY"
// } else {
// item.disableddata = true
// item.disabledcount = true
// item.routeNodeName = ""
// item.routeNodeDay = ""
// }
},
//
handleCheckAllChange2(e, item, index) {
item.checked1 = ""
item.checked3 = ""
console.log(this.list, 'list')
item.routeNodeName = ""
item.routeNodeDay = ""
item.disabled = false
item.disableddata = true
item.disabledcount = true
item.plantype = "APPOINT"
item.timedata = ""
// if (e == false) {
// item.nodePlanTime = ""
// item.disabled = true
// } else {
// item.plantype = "APPOINT"
// item.timedata = ""
// console.log(e, item, index, 'value2')
// item.disabled = false
// item.disableddata = true
// item.disabledcount = true
// }
},
//
handleCheckAllChange3(e, item) {
item.checked1 = ""
item.checked2 = ""
item.routeNodeName = ""
item.routeNodeDay = ""
console.log(e, item, 'value3')
let yy = new Date().getFullYear();
let mm = (new Date().getMonth() + 1) < 10 ? '0' + (new Date().getMonth() + 1) : (new Date().getMonth() + 1);
let dd = (new Date().getDate()) < 10 ? '0' + (new Date().getDate() + 1) : (new Date().getDate() + 1);
let hh = new Date().getHours() < 10 ? '0' + new Date().getHours() : new Date().getHours();
let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes() : new Date().getMinutes();
let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds() : new Date().getSeconds();
var data = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss
item.timedata = data
console.log(data, '日期');
item.plantype = "CURRENT"
item.disableddata = true
item.disabledcount = true
item.disabled = true
item.nodePlanTime = ""
// if (e == true) {
// console.log('00000000000000000000')
// let yy = new Date().getFullYear();
// let mm = (new Date().getMonth() + 1) < 10 ? '0' + (new Date().getMonth() + 1) : (new Date().getMonth() + 1);
// let dd = (new Date().getDate()) < 10 ? '0' + (new Date().getDate() + 1) : (new Date().getDate() + 1);
// let hh = new Date().getHours() < 10 ? '0' + new Date().getHours() : new Date().getHours();
// let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes() : new Date().getMinutes();
// let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds() : new Date().getSeconds();
// var data = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss
// item.timedata = data
// console.log(data, '');
// item.plantype = "CURRENT"
// item.disableddata = true
// item.disabledcount = true
// item.disabled = true
// item.nodePlanTime = ""
// } else {
// item.timedata = ""
// }
},
upload() {
// return
this.$confirm('保存此任务, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
}).then(() => {
this.updata.routeNodeList = this.list;
var newObj = JSON.parse(JSON.stringify(this.updata));
newObj.routeNodeList.forEach(e => {
if (e.timedata) {
e.nodePlanTime = e.timedata
}
delete e.timedata;
delete e.checked1;
delete e.checked2;
delete e.checked3;
delete e.disableddata;
delete e.disabledcount;
delete e.disabled;
})
console.log(newObj, 'this.newObj')
console.log(this.updata, 'this.updata')
// return
signrouteadd(newObj).then((res) => {
this.$notify({
type: "success",
title: "提示",
message: "保存成功,即将返回签约患者列表",
duration: 3000,
});
setTimeout(() => {
this.$store
.dispatch("tagsView/delView", this.$route)
.then(({ visitedViews }) => {
this.$router.push({
path: "/patient/signRecord",
});
});
}, 3000);
});
})
},
// //
taskNodeTypechange(e) { taskNodeTypechange(e) {
if (e == 'PHONE_OUTBOUND') { if (e == 'PHONE_OUTBOUND') {
@ -551,6 +900,10 @@ export default {
var dictType = "suit_range"; var dictType = "suit_range";
getAgencytype(dictType).then((res) => { getAgencytype(dictType).then((res) => {
this.options = res.data; this.options = res.data;
if (this.options) {
this.changeoptions(this.updata.suitRange)
}
}); });
}, },
infolistword() { infolistword() {
@ -566,6 +919,7 @@ export default {
}); });
}, },
changeoptions(e) { changeoptions(e) {
console.log(e, 'e');
let parentDictCode = this.options.find((el) => el.dictValue == e).dictCode; let parentDictCode = this.options.find((el) => el.dictValue == e).dictCode;
list(parentDictCode).then((res) => { list(parentDictCode).then((res) => {
this.parentDictCodelist = res.rows; this.parentDictCodelist = res.rows;
@ -676,7 +1030,17 @@ export default {
appletPushSign: "0", appletPushSign: "0",
phonePushSign: "1", phonePushSign: "1",
phoneDialMethod: "", phoneDialMethod: "",
nodePlanTime: '',
checked1: 1,
checked2: "",
checked3: "",
disabled: true,
disableddata: false,
disabledcount: false,
timedata: "",
}); });
console.log(this.list, 'this.list');
}, },
delitem(item, index, list) { delitem(item, index, list) {
list.splice(index, 1); list.splice(index, 1);
@ -698,31 +1062,6 @@ export default {
this.formInline.phoneTemplateName = '' this.formInline.phoneTemplateName = ''
} }
}, },
upload() {
this.$confirm('保存此任务, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
}).then(() => {
this.updata.routeNodeList = this.list;
signrouteadd(this.updata).then((res) => {
this.$notify({
type: "success",
title: "提示",
message: "保存成功,即将返回签约患者列表",
duration: 3000,
});
setTimeout(() => {
this.$store
.dispatch("tagsView/delView", this.$route)
.then(({ visitedViews }) => {
this.$router.push({
path: "/patient/signRecord",
});
});
}, 3000);
});
})
},
// //
getMaxTableHeight() { getMaxTableHeight() {
const windowInnerHeight = window.innerHeight // const windowInnerHeight = window.innerHeight //
@ -750,6 +1089,9 @@ export default {
display: inline-block !important; display: inline-block !important;
float: inline-start !important; float: inline-start !important;
} }
::v-deep .el-input.is-disabled .el-input__inner {
background: #fff;
}
.titlemengt { .titlemengt {
width: 98.5%; width: 98.5%;
@ -766,7 +1108,7 @@ export default {
::-webkit-scrollbar-thumb { ::-webkit-scrollbar-thumb {
border-radius: 5px; border-radius: 5px;
background: #C0C0C0; background: #c0c0c0;
} }
::-webkit-scrollbar-track { ::-webkit-scrollbar-track {
@ -834,7 +1176,6 @@ export default {
} }
.nodesname { .nodesname {
// margin-left: 6%; // margin-left: 6%;
// width: 660px; // width: 660px;
// display: flex; // display: flex;
@ -851,13 +1192,6 @@ export default {
} }
} }
} }
.selectnamelist {
// position: absolute;
// right: 54px;
// top: -8px;
}
.PushMethod { .PushMethod {
height: 100px; height: 100px;
padding: 20px; padding: 20px;
@ -870,8 +1204,6 @@ export default {
align-items: center; align-items: center;
} }
.nodes { .nodes {
// height: var(--heightLine); // height: var(--heightLine);
background-color: #f1f3f5; background-color: #f1f3f5;
@ -887,9 +1219,8 @@ export default {
// height: calc(100vh - 320px); // height: calc(100vh - 320px);
height: 100%; height: 100%;
width: 25%; width: 25%;
padding: 0 40px 20px 40px; padding: 0 5px 20px 40px;
background-color: #fff; background-color: #fff;
overflow-y: scroll;
.timetitle { .timetitle {
height: 60px; height: 60px;
@ -900,7 +1231,9 @@ export default {
::v-deep .el-timeline { ::v-deep .el-timeline {
width: 100%; width: 100%;
padding: 15px 0 0 !important; overflow-y: auto;
height: calc(100% - 60px);
padding: 15px 30px 0 0 !important;
} }
} }
@ -918,7 +1251,7 @@ export default {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
margin-bottom: 10px;
.toptop { .toptop {
display: flex; display: flex;
align-items: center; align-items: center;