postdischarge-ui/src/views/system/specialDiseaseNode/index.vue

891 lines
35 KiB
Vue
Raw Normal View History

2024-03-25 09:45:10 +08:00
<template>
<div class="app-container">
2024-04-03 14:56:22 +08:00
<el-descriptions title="编辑主路径" />
2024-03-26 14:49:50 +08:00
<div class="title">
<el-tag>主路径</el-tag>
<div>
2024-04-03 14:56:22 +08:00
{{ updata.routeName }}
2024-03-26 14:49:50 +08:00
</div>
2024-03-26 16:04:26 +08:00
<div class="select">
<span>
适用范围
</span>
2024-03-29 16:17:13 +08:00
<el-select v-model="updata.suitRange">
2024-04-02 16:59:44 +08:00
<el-option label="在院" value="IN_THE_HOSPITAL" />
<el-option label="出院" value="DISCHARGE" />
<el-option label="门诊" value="OUTPATIENT_SERVICE" />
<el-option label="门诊+出院" value="OUTPATIENT_SERVICE_DISCHARGE" />
2024-03-26 16:04:26 +08:00
</el-select>
</div>
2024-03-26 14:49:50 +08:00
</div>
<div class="list">
<div class="timelist">
<div class="timetitle">
2024-04-02 16:59:44 +08:00
管理路径节点({{ lists.length }})
<i class="el-icon-circle-plus-outline" @click="addlist"></i>
2024-03-25 09:45:10 +08:00
</div>
2024-03-26 14:49:50 +08:00
<el-timeline>
2024-04-02 16:59:44 +08:00
<el-timeline-item v-for="(item, index) in lists" :key="index"
2024-03-26 14:49:50 +08:00
:color="listindex == index ? '#409EFF' : ''">
2024-04-08 14:37:07 +08:00
<div class="top">
2024-03-26 14:49:50 +08:00
<div class="toptop">
2024-04-02 16:59:44 +08:00
<el-select v-model="item.routeNodeName" style="width:87px">
<el-option label="出院后" value="AFTER_DISCHARGE" />
<el-option label="入院后" value="AFTER_ADMISSION" />
<el-option label="就诊后" value="AFTER_CONSULTATION" />
<el-option label="就诊/出院后" value="AFTER_VISIT_DISCHARGE" />
<el-option label="术前" value="PREOPERATIVE" />
<el-option label="术后" value="POSTOPERATIVE" />
2024-03-26 14:49:50 +08:00
</el-select>
2024-04-02 16:59:44 +08:00
<el-input v-model="item.routeNodeDay" style="width: 50px;"></el-input>
2024-03-26 14:49:50 +08:00
<span></span>
</div>
<div>
2024-04-02 16:59:44 +08:00
<i class="el-icon-delete" @click="delitem(item, index)"></i>
2024-03-26 14:49:50 +08:00
<i class="el-icon-circle-plus-outline" @click="additem(item)"></i>
</div>
</div>
<el-card v-for="(uitem, uindex) in item.list" :key="uitem.id"
2024-03-27 15:57:52 +08:00
@click.native='bottomclickevent(uitem, index, uindex)'
2024-03-26 14:49:50 +08:00
:class="listindex == index && itemindex == uindex ? 'cards' : ''">
2024-04-18 09:54:00 +08:00
<h3 style="height: 20px;">{{ uitem.taskTypeName }}</h3>
2024-04-08 15:14:33 +08:00
<el-tag v-if="uitem.routeCheckStatus == 'AGREE'" class="routeCheckStatus">已审核</el-tag>
2024-04-22 15:17:31 +08:00
<el-tag v-else-if="uitem.routeCheckStatus == 'DISAGREE'" type="danger"
class="routeCheckStatus">不同意</el-tag>
2024-04-08 15:14:33 +08:00
<el-tag v-else type="warning" class="routeCheckStatus">未审核</el-tag>
2024-04-18 09:54:00 +08:00
<p style="height: 16px;">{{ uitem.taskSubdivisionName }}</p>
2024-03-26 14:49:50 +08:00
</el-card>
</el-timeline-item>
</el-timeline>
</div>
<div class="texts">
2024-04-03 14:30:01 +08:00
<div class="topform">
2024-03-29 16:17:13 +08:00
<el-form ref="form" :inline="true" :model="form" class="form">
<el-form-item label="任务类型" prop="">
2024-04-02 16:59:44 +08:00
<el-select v-model="form.taskType" style="width:110px" @change="changeTaskType">
2024-04-18 09:54:00 +08:00
<el-option v-for="item in selectTaskTypeList" :key="item.taskTypeCode"
:label="item.taskTypeName" :value="item.taskTypeCode">
2024-03-26 16:04:26 +08:00
</el-option>
</el-select>
</el-form-item>
2024-03-29 16:17:13 +08:00
<el-form-item label="任务细分" prop="">
2024-04-02 16:59:44 +08:00
<el-select v-model="form.taskSubdivision" style="width:110px"
@change="changetaskSubdivision">
2024-04-18 09:54:00 +08:00
<el-option v-for="item in taskPartitionList" :key="item.taskPartitionCode"
:label="item.taskPartitionName" :value="item.taskPartitionCode">
2024-03-26 16:04:26 +08:00
</el-option>
</el-select>
</el-form-item>
2024-03-29 16:17:13 +08:00
<el-form-item label="任务状态" prop="">
2024-04-18 09:54:00 +08:00
<el-select v-model="form.taskStatus" style="width:110px">
2024-03-27 15:57:52 +08:00
<el-option v-for="item in taskStatusDictList" :key="item.id"
2024-04-18 09:54:00 +08:00
:label="item.taskStatusName" :value="item.taskStatusCode">
2024-03-26 16:04:26 +08:00
</el-option>
</el-select>
</el-form-item>
2024-03-29 16:17:13 +08:00
<el-form-item label="二级分类描述" prop="">
2024-04-18 09:54:00 +08:00
<el-input v-model="form.secondClassifyDescribe" style="width:110px"></el-input>
2024-03-26 16:04:26 +08:00
</el-form-item>
2024-03-29 16:17:13 +08:00
<el-form-item label="执行时间" prop="">
2024-04-08 10:13:32 +08:00
<el-time-select v-model="form.executionTime" style="width:120px" placeholder="选择时间">
2024-03-29 16:17:13 +08:00
</el-time-select>
</el-form-item>
2024-04-03 14:17:19 +08:00
<el-form-item label="问卷库模板选择" prop=""
2024-04-03 14:30:01 +08:00
v-if="form.taskSubdivisiontemplateType == 'QUESTIONNAIRE'">
2024-04-08 11:08:38 +08:00
<question @on-template="questionontemplate" :templateId="form.templateId"
:templateName="form.templateName"></question>
2024-04-03 13:38:24 +08:00
</el-form-item>
2024-04-03 14:17:19 +08:00
<el-form-item label="宣教库模板选择" prop="" v-if="form.taskSubdivisiontemplateType == 'PROPAGANDA'">
2024-04-08 11:08:38 +08:00
<propaganda @on-template="propagandaontemplate" :templateId="form.templateId"
:templateName="form.templateName"></propaganda>
2024-03-26 16:04:26 +08:00
</el-form-item>
</el-form>
2024-04-03 13:38:24 +08:00
</div>
2024-03-29 10:25:31 +08:00
<div class="bottomform">
2024-04-08 10:58:02 +08:00
<wangeditor style="width:100%;" :nodeContent="form.nodeContent" @on-nodeContent="onNodeContent"
ref="wangeditor" />
2024-03-29 16:17:13 +08:00
<div class="card">
<div class="flex">
<div class="pushMethod">
推送方式
<span>
短信
</span>
</div>
<div class="pushMethod">
模板
2024-04-08 11:08:38 +08:00
<message @on-template="messageontemplate" :templateId="form.messageTemplateId"
:templateName="form.messageTemplateName"></message>
2024-03-29 16:17:13 +08:00
</div>
<div class="pushMethod">
2024-04-03 13:38:24 +08:00
<el-switch v-model="form.messagePushSign" active-color="#13ce66" active-value="1"
inactive-value="0">
2024-03-29 16:17:13 +08:00
</el-switch>
</div>
</div>
<div class="flextwo">
<div class="text">
短信预览
</div>
2024-04-08 10:13:32 +08:00
<el-input class="textarea" v-model="form.messagePreview" disabled></el-input>
2024-03-29 16:17:13 +08:00
</div>
</div>
<div class="card">
<div class="flex">
<div class="pushMethod">
推送方式
<span>
公众号
</span>
</div>
<div class="pushMethod">
模板
<span>
2024-04-08 11:08:38 +08:00
<officialAccount @on-template="officialAccountontemplate"
:templateId="form.officialTemplateId" :templateName="form.officialTemplateName">
</officialAccount>
2024-03-29 16:17:13 +08:00
</span>
</div>
<div class="pushMethod">
2024-04-03 14:30:01 +08:00
<el-switch v-model="form.officialPushSign" active-color="#13ce66" active-value="1"
inactive-value="0">
2024-03-29 16:17:13 +08:00
</el-switch>
</div>
</div>
<div class="flextwo">
<div class="text">
提醒内容
</div>
2024-04-08 10:13:32 +08:00
<el-input v-model="form.officialRemindContent" class="textarea" disabled></el-input>
2024-03-29 16:17:13 +08:00
</div>
</div>
<div class="card">
<div class="flex">
<div class="pushMethod">
推送方式
<span>
小程序
</span>
</div>
<div class="pushMethod">
模板
<span>
2024-04-08 11:12:05 +08:00
<miniProgram @on-template="miniProgramtemplate" :templateId="form.appletTemplateId"
:templateName="form.appletTemplateName">
2024-04-08 11:08:38 +08:00
</miniProgram>
2024-03-29 16:17:13 +08:00
</span>
</div>
<div class="pushMethod">
2024-04-03 14:30:01 +08:00
<el-switch v-model="form.appletPushSign" active-color="#13ce66" active-value="1"
inactive-value="0">
2024-03-29 16:17:13 +08:00
</el-switch>
</div>
</div>
<div class="flextwo">
<div class="text">
提醒内容
</div>
2024-04-08 10:13:32 +08:00
<el-input v-model="form.appletRemindContent" class="textarea" disabled></el-input>
2024-03-29 16:17:13 +08:00
</div>
<div class="flextwo">
<div class="text">
提示说明
</div>
2024-04-08 10:13:32 +08:00
<el-input v-model="form.appletPromptDescription" class="textarea" disabled></el-input>
2024-03-29 16:17:13 +08:00
</div>
</div>
<!-- <div class="card" style="height: 250px;">
<div class="flex">
<div class="pushMethod">
推送方式
<span>
AI电话
</span>
</div>
<div class="pushMethod">
模板
<span>
<el-select v-model="value" style="width:200px;">
<el-option v-for="item in taskStatusDictList" :key="item.id" style="color:black"
:label="item.taskStatusName" :value="item.id">
</el-option>
</el-select>
</span>
</div>
<div class="pushMethod">
2024-04-03 14:30:01 +08:00
<el-switch v-model="form.value" active-color="#13ce66" active-value="1"
inactive-value="0">
2024-03-29 16:17:13 +08:00
</el-switch>
</div>
</div>
<div class="flextwo">
<div class="text">
机构名称
</div>
<div class="text">
我是
</div>
<el-input v-model="form.input" placeholder="" style="width:150px;padding:0 10px"></el-input>
<div class="text">
的工作人员
</div>
</div>
<div class="flextwo">
<div class="text">
重播次数
</div>
<el-input v-model="form.input" placeholder="" style="width:200px;"></el-input>
<div class="text" style="padding-left: 100px;">
时间间隔
</div>
<el-input v-model="form.input" placeholder="" style="width:200px;"></el-input>
</div>
<div class="flextwo">
<div class="text">
短信提醒
</div>
<el-select v-model="value" style="width:200px;">
<el-option v-for="item in taskStatusDictList" :key="item.id" style="color:black"
:label="item.taskStatusName" :value="item.id">
</el-option>
</el-select>
<div class="text" style="padding-left: 100px;">
短信模板
</div>
<el-select v-model="value" style="width:200px;">
<el-option v-for="item in taskStatusDictList" :key="item.id" style="color:black"
:label="item.taskStatusName" :value="item.id">
</el-option>
</el-select>
</div>
</div> -->
2024-03-29 10:25:31 +08:00
</div>
2024-03-26 14:49:50 +08:00
</div>
</div>
2024-04-02 16:59:44 +08:00
<div slot="footer" class="dialog-footer">
<el-button @click="TemporaryStorage"> </el-button>
2024-04-18 15:16:37 +08:00
<el-button type="primary" @click="dialogVisible = true" v-if="form.specialDiseaseNodeId">审核完成 {{ agreeNumber
? agreeNumber :
'0' }} / {{
2024-04-08 15:14:33 +08:00
totalNumber ? totalNumber : '0' }}</el-button>
2024-04-02 16:59:44 +08:00
</div>
2024-04-08 16:42:27 +08:00
<el-dialog title="提交审核完成" :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-radio v-model="routeform.routeCheckStatus" label="AGREE">同意</el-radio>
<el-radio v-model="routeform.routeCheckStatus" label="DISAGREE">不同意</el-radio>
</el-form-item>
<el-form-item label="节点审核备注">
<el-input type="textarea" :rows="2" placeholder="请输入节点审核备注" v-model="routeform.routeCheckRemark">
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="auditing"> </el-button>
<el-button @click="handleClose"> </el-button>
</div>
</el-dialog>
2024-03-25 09:45:10 +08:00
</div>
</template>
<script>
import wangeditor from '../components/wangEditor.vue'
2024-03-29 16:17:13 +08:00
import question from '../components/question.vue'
2024-04-03 13:38:24 +08:00
import message from '../components/message.vue'
import propaganda from '../components/propaganda.vue'
2024-04-03 14:17:19 +08:00
import officialAccount from '../components/officialAccount.vue'
import miniProgram from '../components/miniProgram.vue'
2024-03-27 15:57:52 +08:00
import {
2024-04-08 15:14:33 +08:00
selectTaskTypeList, taskPartitionList, taskStatusDictList, specialDiseaseNode, selectSpecialDisease, updateRouteCheckStatus
2024-03-27 15:57:52 +08:00
} from '@/api/system/specialDiseaseNode'
2024-03-25 09:45:10 +08:00
export default {
2024-04-03 14:17:19 +08:00
components: { wangeditor, question, propaganda, message, officialAccount, miniProgram },
2024-03-25 09:45:10 +08:00
name: "specialDiseaseNode",
data() {
return {
2024-04-08 16:42:27 +08:00
dialogVisible: false,
routeform: {
routeCheckStatus: null,
routeCheckRemark: "",
},
rules: {
routeCheckStatus: [
{ required: true, message: '请选择节点审核状态', trigger: 'change' }
],
},
2024-04-08 15:14:33 +08:00
totalNumber: 0,
agreeNumber: 0,
2024-03-29 16:17:13 +08:00
updata: {
2024-04-08 10:13:32 +08:00
specialDiseaseRouteId: '',
2024-03-29 16:17:13 +08:00
suitRange: '',
2024-04-03 14:56:22 +08:00
routeName: '',
2024-04-08 10:13:32 +08:00
specialDiseaseNodeList: [],
2024-03-29 16:17:13 +08:00
},
form: {
2024-04-11 11:43:30 +08:00
nodeContent: '<p></p>',
2024-03-29 16:17:13 +08:00
templateId: '',
2024-04-03 13:38:24 +08:00
templateName: '',
2024-04-02 16:59:44 +08:00
taskType: '',
taskSubdivision: '',
2024-04-03 13:38:24 +08:00
taskSubdivisionName: '',
2024-04-02 16:59:44 +08:00
taskStatus: '',
secondClassifyDescribe: '',
executionTime: '',
2024-04-03 14:17:19 +08:00
appletPushSign: '0',
officialPushSign: '0',
messagePushSign: '0',
taskSubdivisiontemplateType: '',
2024-04-08 10:13:32 +08:00
officialRemindContent: '',
messagePreview: '',
appletRemindContent: '',
appletPromptDescription: '',
2024-03-29 16:17:13 +08:00
},
2024-03-25 09:45:10 +08:00
itemindex: 0,
listindex: 0,
2024-04-08 10:35:35 +08:00
lists: [],
value: '',
input: '',
//任务类型
selectTaskTypeList: [],
//任务状态
taskStatusDictList: [],
//任务细分
taskPartitionList: [],
};
},
created() {
this.taskinfo();
2024-03-25 09:45:10 +08:00
},
2024-04-03 15:58:44 +08:00
beforeDestroy() { },
2024-04-03 14:32:07 +08:00
watch: {},
2024-03-25 09:45:10 +08:00
mounted() {
},
methods: {
2024-04-08 15:14:33 +08:00
info() {
2024-04-19 10:38:35 +08:00
const loading = this.$loading({
lock: true,
text: '数据加载中',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
2024-04-18 09:54:00 +08:00
this.lists = []
2024-04-08 15:14:33 +08:00
if (this.$route.query) {
this.updata.suitRange = this.$route.query.suitRange
this.updata.routeName = this.$route.query.routeName
this.updata.specialDiseaseRouteId = this.$route.query.id
selectSpecialDisease(this.$route.query.id).then(res => {
2024-04-19 10:38:35 +08:00
loading.close();
2024-04-08 15:14:33 +08:00
this.agreeNumber = res.data.agreeNumber
this.totalNumber = res.data.totalNumber
res.data.specialDiseaseNodeList.forEach(e => {
e.messagePushSign = '' + e.messagePushSign
e.officialPushSign = '' + e.officialPushSign
e.appletPushSign = '' + e.appletPushSign
})
this.lists = this.handleData(res.data.specialDiseaseNodeList, 'routeNodeDay', 'routeNodeName')
this.form = this.lists[0].list[0]
if (this.form.taskType) {
this.changeTaskType(this.form.taskType, this.form.taskSubdivision)
}
})
} else {
2024-04-19 10:38:35 +08:00
loading.close();
2024-04-08 15:14:33 +08:00
this.lists.push({
routeNodeName: "",
routeNodeDay: '',
list: [
{
2024-04-11 11:43:30 +08:00
nodeContent: '<p></p>',
2024-04-08 15:14:33 +08:00
templateId: '',
templateName: '',
taskType: '',
taskSubdivision: '',
taskSubdivisionName: '',
taskStatus: '',
secondClassifyDescribe: '',
executionTime: '',
appletPushSign: '0',
officialPushSign: '0',
messagePushSign: '0',
messagePreview: '',
officialRemindContent: '',
taskSubdivisiontemplateType: '',
appletRemindContent: '',
appletPromptDescription: '',
},
],
})
this.form = this.lists[0].list[0]
}
},
2024-04-08 11:47:00 +08:00
handleData(list, key, keytwo) {
//得到数据的主键列表
let keysArr = list.map(item => {
return {
routeNodeDay: item[key],
routeNodeName: item[keytwo],
}
})
2024-04-23 14:59:58 +08:00
for (var i = 0; i < keysArr.length; i++) {
for (var j = i + 1; j < keysArr.length; j++) {
if (keysArr[i].routeNodeDay == keysArr[j].routeNodeDay && keysArr[i].routeNodeName == keysArr[j].routeNodeName) {
keysArr.splice(j, 1);
j--;
}
}
}
2024-04-08 11:47:00 +08:00
let keys = [...new Set(keysArr)]
let newList = keys.map(item => {
return {
//这里写新的 数据结构 如下是整体复制
routeNodeDay: item[key],
routeNodeName: item[keytwo],
list: list.filter(i => i[key] == item[key] && i[keytwo] == item[keytwo])
}
})
return newList;
},
2024-04-03 14:30:01 +08:00
//wangeditor传值
onNodeContent(item) {
this.form.nodeContent = item.nodeContent
},
2024-04-03 14:17:19 +08:00
//小程序传值
miniProgramtemplate(item) {
this.form.appletTemplateId = item.templateId
this.form.appletTemplateName = item.templateName
this.form.appletRemindContent = item.templateContent
},
//短信传值
messageontemplate(item) {
this.form.messageTemplateId = item.templateId
this.form.messageTemplateName = item.templateName
this.form.messagePreview = item.templateContent
},
//公众号传值
2024-04-08 10:13:32 +08:00
officialAccountontemplate(item) {
2024-04-03 14:17:19 +08:00
this.form.officialTemplateId = item.templateId
this.form.officialTemplateName = item.templateName
this.form.officialRemindContent = item.templateContent
},
2024-04-02 16:59:44 +08:00
//暂存
TemporaryStorage() {
2024-04-03 14:30:01 +08:00
this.$refs.wangeditor.emit()
2024-04-19 11:35:15 +08:00
this.$confirm('确认暂存时将过滤掉部分内容未填写完成的子节点,是否确认暂存?', '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
}).then(() => {
const loading = this.$loading({
lock: true,
text: '暂存中',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.updata.specialDiseaseNodeList = []
this.lists.forEach(e => {
e.list.length > 0 ? e.list.forEach(el => {
el.routeNodeDay = e.routeNodeDay
el.routeNodeName = e.routeNodeName
this.updata.specialDiseaseNodeList.push(el)
}) : ""
})
this.updata.specialDiseaseNodeList = this.updata.specialDiseaseNodeList.filter(e => e.routeNodeDay && e.routeNodeName && e.taskType && e.taskSubdivision && e.taskStatus)
specialDiseaseNode(this.updata).then(res => {
this.info();
loading.close();
this.$modal.msgSuccess("暂存成功!");
})
2024-04-08 14:37:07 +08:00
})
2024-04-02 16:59:44 +08:00
},
2024-04-03 13:38:24 +08:00
//问卷传值
questionontemplate(item) {
this.form.templateId = item.templateId
this.form.templateName = item.templateName
},
//宣教传值
propagandaontemplate(item) {
2024-03-29 16:17:13 +08:00
this.form.templateId = item.templateId
this.form.templateName = item.templateName
},
2024-03-27 15:57:52 +08:00
bottomclickevent(uitem, index, uindex) {
2024-04-12 15:39:15 +08:00
this.$refs.wangeditor.emit()
2024-03-29 16:17:13 +08:00
this.form = uitem
2024-04-22 17:05:23 +08:00
this.taskPartitionList = []
2024-04-08 14:37:07 +08:00
if (this.form.taskType) {
this.changeTaskType(this.form.taskType, this.form.taskSubdivision)
}
2024-03-25 09:45:10 +08:00
this.listindex = index
this.itemindex = uindex
},
handleStep() {
this.active = 2
},
2024-03-27 15:57:52 +08:00
//任务类型 任务状态
taskinfo() {
selectTaskTypeList().then(res => {
this.selectTaskTypeList = res.data
2024-04-18 09:54:00 +08:00
this.info();
2024-03-27 15:57:52 +08:00
})
},
2024-04-18 09:54:00 +08:00
//任务类型
changeTaskType(code, taskSubdivision) {
let id = this.selectTaskTypeList?.find(e => e.taskTypeCode == code)?.id
this.form.taskTypeName = this.selectTaskTypeList?.find(e => e.taskTypeCode == code)?.taskTypeName
2024-03-27 15:57:52 +08:00
taskPartitionList(id).then(res => {
this.taskPartitionList = res.data
2024-04-08 10:35:35 +08:00
this.form.taskSubdivision = ''
this.form.taskSubdivisionName = ''
this.form.taskSubdivisiontemplateType = ''
2024-04-22 17:18:45 +08:00
this.taskStatusDictList = []
2024-04-08 10:35:35 +08:00
if (taskSubdivision) {
2024-04-18 09:54:00 +08:00
this.form.taskSubdivision = taskSubdivision
2024-04-08 11:12:05 +08:00
this.changetaskSubdivision(taskSubdivision, 1)
2024-04-02 16:59:44 +08:00
}
})
},
2024-04-18 09:54:00 +08:00
//点击任务细分
changetaskSubdivision(code, type) {
2024-04-19 13:50:40 +08:00
this.form.taskSubdivisionName = this.taskPartitionList?.find(e => e.taskPartitionCode == code)?.taskPartitionName
2024-04-22 17:13:44 +08:00
let id = this.taskPartitionList?.find(e => e.taskPartitionCode == code)?.id
taskStatusDictList(id).then(res => {
this.taskStatusDictList = res.data
})
2024-04-02 16:59:44 +08:00
this.taskPartitionList.forEach(el => {
2024-04-18 09:54:00 +08:00
if (code == el.taskPartitionCode) {
2024-04-08 10:13:32 +08:00
this.form.executionTime = el.executionTime
2024-04-03 14:17:19 +08:00
this.form.taskSubdivisiontemplateType = el.templateType
2024-04-08 11:12:05 +08:00
if (!type) {
this.form.templateId = ''
this.form.templateName = ''
}
2024-04-02 16:59:44 +08:00
}
})
},
addlist() {
this.lists.push({
routeNodeName: "",
routeNodeDay: '',
list: [
{
2024-04-11 11:43:30 +08:00
nodeContent: '<p></p>',
2024-04-02 16:59:44 +08:00
templateId: '',
2024-04-03 13:38:24 +08:00
templateName: '',
2024-04-02 16:59:44 +08:00
taskType: '',
2024-04-08 10:13:32 +08:00
officialRemindContent: '',
2024-04-02 16:59:44 +08:00
taskSubdivision: '',
2024-04-03 14:30:01 +08:00
taskSubdivisionName: '',
2024-04-08 10:13:32 +08:00
appletRemindContent: '',
appletPromptDescription: '',
2024-04-02 16:59:44 +08:00
taskStatus: '',
secondClassifyDescribe: '',
executionTime: '',
2024-04-03 14:30:01 +08:00
appletPushSign: '0',
officialPushSign: '0',
messagePushSign: '0',
2024-04-08 10:13:32 +08:00
messagePreview: '',
2024-04-03 14:30:01 +08:00
taskSubdivisiontemplateType: '',
2024-04-02 16:59:44 +08:00
},
]
})
},
additem(item) {
item.list.push({
2024-04-11 11:43:30 +08:00
nodeContent: '<p></p>',
2024-04-02 16:59:44 +08:00
templateId: '',
2024-04-03 13:38:24 +08:00
templateName: '',
2024-04-02 16:59:44 +08:00
taskType: '',
2024-04-08 10:13:32 +08:00
officialRemindContent: '',
2024-04-02 16:59:44 +08:00
taskSubdivision: '',
2024-04-03 14:30:01 +08:00
taskSubdivisionName: '',
2024-04-02 16:59:44 +08:00
taskStatus: '',
secondClassifyDescribe: '',
executionTime: '',
2024-04-03 14:30:01 +08:00
appletPushSign: '0',
officialPushSign: '0',
2024-04-08 17:16:06 +08:00
messagePushSign: '0',
appletRemindContent: '',
2024-04-08 10:13:32 +08:00
appletPromptDescription: '',
messagePreview: '',
2024-04-03 14:30:01 +08:00
taskSubdivisiontemplateType: '',
2024-04-02 16:59:44 +08:00
})
},
delitem(item, index) {
item.list.splice(this.itemindex, 1)
if (item.list.length == 0) {
this.lists.splice(index, 1)
}
2024-03-27 15:57:52 +08:00
},
2024-04-08 16:42:27 +08:00
//取消
handleClose() {
this.dialogVisible = false
this.routeform = {
routeCheckStatus: '',
routeCheckRemark: "",
}
this.resetForm("routeform");
},
2024-04-08 15:14:33 +08:00
//审核
auditing() {
2024-04-08 16:42:27 +08:00
this.$refs["routeform"].validate(valid => {
if (valid) {
const loading = this.$loading({
lock: true,
text: '审核中',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
2024-04-22 15:09:00 +08:00
if (!this.form.routeNodeDay) {
2024-04-19 11:30:09 +08:00
this.$message.error('请输入节点时间段天数');
2024-04-22 15:09:54 +08:00
return loading.close();
2024-04-19 11:30:09 +08:00
}
2024-04-22 15:09:00 +08:00
if (!this.form.routeNodeName) {
2024-04-19 11:30:09 +08:00
this.$message.error('请选择节点时间段');
2024-04-22 15:09:54 +08:00
return loading.close();
2024-04-19 11:30:09 +08:00
}
2024-04-22 15:09:00 +08:00
if (!this.form.taskType) {
2024-04-19 11:30:09 +08:00
this.$message.error('请选择任务类型');
2024-04-22 15:09:54 +08:00
return loading.close();
2024-04-19 11:30:09 +08:00
}
2024-04-22 15:09:00 +08:00
if (!this.form.taskSubdivision) {
2024-04-19 11:30:09 +08:00
this.$message.error('请选择任务细分');
2024-04-22 15:09:54 +08:00
return loading.close();
2024-04-19 11:30:09 +08:00
}
2024-04-22 15:09:00 +08:00
if (!this.form.taskStatus) {
2024-04-19 11:30:09 +08:00
this.$message.error('请选择任务状态');
2024-04-22 15:09:54 +08:00
return loading.close();
2024-04-19 11:30:09 +08:00
}
2024-04-08 16:42:27 +08:00
updateRouteCheckStatus({
routeCheckStatus: this.routeform.routeCheckStatus,
id: this.form.specialDiseaseNodeId,
routeCheckRemark: this.routeform.routeCheckRemark,
routeCheckPerson: JSON.parse(localStorage.getItem('user')).nickName
}).then(res => {
2024-04-18 15:17:08 +08:00
loading.close();
2024-04-08 16:42:27 +08:00
if (res.data == 1) {
this.info();
this.handleClose()
this.$modal.msgSuccess("审核成功!");
}
})
2024-04-08 15:14:33 +08:00
}
})
},
2024-03-25 09:45:10 +08:00
}
};
</script>
<style scoped lang="scss">
2024-04-08 15:14:33 +08:00
::v-deep .el-card__body {
position: relative;
}
.routeCheckStatus {
position: absolute;
right: 10px;
top: 30px;
}
2024-04-02 16:59:44 +08:00
.dialog-footer {
2024-04-12 15:57:54 +08:00
padding: 0 20px 0;
2024-04-02 16:59:44 +08:00
text-align: right;
}
2024-03-29 10:25:31 +08:00
.bottomform {
2024-03-29 16:17:13 +08:00
background-color: #f2f4f5;
2024-04-03 14:30:01 +08:00
margin-top: 10px;
2024-03-29 16:17:13 +08:00
.card {
background-color: #fff;
width: 100%;
height: 200px;
margin: 20px 0 0;
padding: 20px 50px 0px 20px;
.flextwo {
display: flex;
align-items: center;
margin-top: 20px;
.text {
font-size: 13px;
color: #64666A;
}
2024-04-08 10:13:32 +08:00
::v-deep .el-input__inner {
color: black !important;
background-color: #fff !important;
cursor: default !important
}
2024-03-29 16:17:13 +08:00
.textarea {
width: 90%;
padding: 0 10px;
height: 50px;
line-height: 50px;
2024-04-08 10:13:32 +08:00
// border: 1px solid #DCDFE6;
2024-03-29 16:17:13 +08:00
border-radius: 5px;
display: flex;
align-items: center;
::v-deep .el-input {
padding: 0 10px;
width: 50%;
color: black;
font-size: 13px;
height: 40px;
line-height: 40px;
}
::v-deep .el-input__inner {
color: black;
font-size: 13px;
}
}
}
.flex {
display: flex;
align-items: center;
justify-content: space-between;
.pushMethod {
height: 30px;
line-height: 30px;
font-size: 13px;
color: #64666A;
::v-deep .el-input__inner {
color: black;
font-size: 13px;
}
span {
color: black;
font-size: 13px;
}
}
}
}
2024-03-29 10:25:31 +08:00
}
2024-03-26 16:04:26 +08:00
.topform {
padding: 15px 0 0 15px;
.form {
::v-deep .el-input__inner {
height: 30px !important;
line-height: 30px !important;
}
::v-deep .el-form-item__label {
font-size: 12px !important;
}
}
}
2024-03-26 14:49:50 +08:00
.title {
display: flex;
align-items: center;
div {
2024-03-26 16:04:26 +08:00
display: flex;
2024-03-26 14:49:50 +08:00
padding-left: 10px;
font-weight: 600;
2024-03-26 16:04:26 +08:00
align-items: center;
}
.select {
font-weight: 550;
margin-left: 20%;
font-size: 12px;
.el-input {
width: 200px;
height: 30px !important;
line-height: 30px !important;
}
2024-03-26 14:49:50 +08:00
}
}
2024-03-26 16:04:26 +08:00
2024-03-26 14:49:50 +08:00
.list {
margin: 20px auto;
width: 100%;
background-color: #f2f4f5;
display: flex;
2024-03-26 16:04:26 +08:00
padding-top: 15px;
2024-03-26 14:49:50 +08:00
justify-content: space-evenly;
.timelist {
2024-03-26 16:04:26 +08:00
width: 22%;
2024-03-26 14:49:50 +08:00
background-color: #fff;
padding: 0 20px 20px;
2024-04-12 15:57:54 +08:00
// height: 680px;
height: calc(100vh - 294px);
2024-03-29 10:25:31 +08:00
overflow: scroll;
2024-03-26 14:49:50 +08:00
.timetitle {
height: 60px;
display: flex;
align-items: center;
justify-content: space-between;
}
::v-deep .el-timeline {
width: 100%;
padding: 15px 0 0 !important;
}
}
.texts {
2024-03-26 16:04:26 +08:00
width: 75%;
2024-04-12 15:57:54 +08:00
// height: 680px;
height: calc(100vh - 294px);
2024-03-29 10:25:31 +08:00
overflow: scroll;
2024-03-29 16:17:13 +08:00
background-color: #fff;
2024-03-26 14:49:50 +08:00
}
}
2024-03-25 09:45:10 +08:00
.cards {
border: 1px solid #409EFF;
border-left: 5px solid #409EFF;
}
.top {
display: flex;
justify-content: space-between;
align-items: center;
.toptop {
display: flex;
align-items: center;
}
span {
2024-03-26 16:04:26 +08:00
padding: 0 4px;
2024-03-25 09:45:10 +08:00
}
i {
font-size: 17px;
}
2024-03-26 16:04:26 +08:00
i:nth-child(2) {
padding-left: 12px;
}
2024-03-25 09:45:10 +08:00
}
::v-deep .el-timeline-item__timestamp {
margin: 0 !important;
padding: 0 !important;
}
2024-03-26 16:04:26 +08:00
::v-deep .el-timeline-item__wrapper {
padding-left: 14px !important;
}
2024-03-25 09:45:10 +08:00
::v-deep .el-timeline-item__content {
transform: translateY(-2%);
}
::v-deep .el-card {
margin-top: 20px !important;
}
</style>