This commit is contained in:
2024-04-08 14:37:07 +08:00
parent 878415ad0a
commit c9d7eca3a6
3 changed files with 271 additions and 28 deletions

View File

@ -0,0 +1,239 @@
<template>
<div>
<el-button size="small" @click="classificationOpen = true" style="width: 200px;font-size:14px;text-align:left"
:style="handleselectName ? 'color:black' : 'color:#C0C4CC'">{{ handleselectName ? handleselectName :
'请选择专病管理路径' }}</el-button>
<el-dialog title="问卷库模板选择" :visible.sync="classificationOpen" width="70%" :before-close="classificationOpenfalse">
<el-row :gutter="20">
<el-col :span="6">
<div class="left" ref="box">
<div class="name">科室名称</div>
<div style="padding: 10px 0;">
<el-input v-model="departmentName" placeholder="请输入科室名称" clearable @keyup.enter.native="handleQuery" />
</div>
<div class="listitem" v-for="(item, index) in DepartmentoList" :key="index"
@click="clickDepartmenitem(item)">
<div :class="queryParams.departmentId == item.id ? 'allactive' : 'all'">
{{ item.departmentName }}
</div>
<span class="count">{{ item.countNum }}</span>
</div>
</div>
</el-col>
<el-col :span="18">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<el-form-item label="发布状态" prop="releaseStatus">
<el-select v-model="queryParams.releaseStatus" placeholder="请选择">
<el-option label="全部" value="ALL" />
<el-option label="已发布" value="PUBLISHED" />
<el-option label="未发布" value="UNPUBLISHED" />
</el-select>
</el-form-item>
<el-form-item label="路径分类" prop="routeClassify">
<el-select v-model="queryParams.routeClassify" placeholder="请选择">
<el-option label="全部" value="ALL" />
<el-option label="科室管理路径" value="DEPARTMENT_MANAGE_PATH" />
<el-option label="专病管理路径" value="SPECIAL_DIEASE_MANAGE_PATH" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="specialDiseaseRouteList" @selection-change="handleSelectionChange"
@row-dblclick="handleselect">
<el-table-column label="序号" type="index" width="55" align="center" />
<el-table-column label="路径名称" align="center" prop="routeName" />
<el-table-column label="版本号" align="center" prop="version" />
<el-table-column label="路径分类" align="center" prop="routeClassify">
<template slot-scope="scope">
{{ scope.row.routeClassify == 'DEPARTMENT_MANAGE_PATH' ? '科室管理路径' : '' }}
{{ scope.row.routeClassify == 'SPECIAL_DIEASE_MANAGE_PATH' ? '专病管理路径' : '' }}
</template>
</el-table-column>
<el-table-column label="发布状态" align="center" prop="releaseStatus">
<template slot-scope="scope">
{{ scope.row.releaseStatus == 'PUBLISHED' ? '已发布' : '未发布' }}
</template>
</el-table-column>
<el-table-column label="病种名称" align="center" prop="diseaseTypeName" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="handleselect(scope.row)"
v-if="handleselectId != scope.row.id">选择</el-button>
<el-button size="mini" type="text" @click="nohandleselect(scope.row)"
v-if="handleselectId == scope.row.id">取消选择</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
</el-col>
</el-row>
</el-dialog>
</div>
</template>
<script>
import {
listSpecialDiseaseRoute, getSpecialDiseaseRoute, delSpecialDiseaseRoute, addSpecialDiseaseRoute, updateSpecialDiseaseRoute,
selectDiseaseCount, getDepartmentList, getdiseaseList
} from "@/api/system/specialDiseaseRoute";
export default {
name: "SpecialDiseaseRoute",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
specialDiseaseRouteList: [],
//
title: "",
//
classificationOpen: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
departmentId: null,
departmentName: null,
diseaseTypeId: null,
diseaseTypeName: null,
routeName: null,
routeCode: null,
version: null,
routeClassify: null,
releaseStatus: null,
suitRange: null,
routeSort: null,
routeRemark: null,
},
//
rules: {},
DepartmentoList: [],
departmentName: '',
handleselectName: '',
handleselectId: '',
};
},
created() {
this.getList();
},
watch: {
departmentName(val) {
this.infolists();
},
},
methods: {
nohandleselect() {
this.handleselectId = ''
this.handleselectName = ''
this.$emit("on-template", { routeId: '', routeName: '' });
},
handleselect(item) {
this.handleselectId = item.id
this.handleselectName = item.routeName
this.$emit("on-template", { routeId: item.id, routeName: item.routeName });
this.classificationOpen = false
},
clickDepartmenitem(item) {
this.loading = true;
this.queryParams.departmentId = item.id;
this.getList();
},
//
infolists() {
selectDiseaseCount(this.departmentName).then((res) => {
this.DepartmentoList = res.data;
});
},
/** 查询专病路径信息列表 */
getList() {
this.loading = true;
listSpecialDiseaseRoute(this.queryParams).then(response => {
this.specialDiseaseRouteList = response.rows;
this.total = response.total;
this.loading = false;
});
this.infolists();
},
//
cancel() {
this.classificationOpen = false;
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
classificationOpenfalse() {
this.classificationOpen = false
},
}
};
</script>
<style scoped lang="scss">
.left {
height: 500px;
overflow: auto;
.name {
font-weight: 700;
margin-bottom: 10px;
}
.listitem {
width: 100%;
height: 50px;
border-bottom: 1px solid #dcdfe6;
position: relative;
.count {
display: inline-block;
position: absolute;
left: 210px;
color: #a4a6aa;
top: 50%;
transform: translateY(-50%);
font-size: 13px;
}
.all {
height: 50px;
line-height: 50px;
padding-left: 13px;
}
.allactive {
background: #e8f4ff;
height: 50px;
line-height: 50px;
padding-left: 13px;
border-left: 3px solid #4d9de7;
}
}
}
</style>

View File

@ -88,7 +88,7 @@
<el-form :model="signPackage" :rules="rules" ref="signPackage" label-width="100px" class="demo-ruleForm"
:inline="true" style="padding-left:40px">
<el-form-item label="专病管理路径" prop="routeId">
<el-input v-model="signPackage.routeId"></el-input>
<specialDiseaseRoute @on-template="ontemplate"></specialDiseaseRoute>
</el-form-item>
</el-form>
<el-descriptions title="硬件信息" style="padding:20px 30px 10px" class="descriptions">
@ -132,7 +132,10 @@ import {
} from '@/api/manage/signRecord.js'
import { getToken } from '@/utils/auth'
import { obtainendtime } from "@/utils/obtainendtime";
import specialDiseaseRoute from '../components/specialDiseaseRoute'
// import { usergetList } from "@/api/unitconfig/patientConfiguration";
export default {
components: { specialDiseaseRoute },
dicts: ['hardware_type'],
name: "newSigning",
data() {
@ -191,6 +194,10 @@ export default {
})
},
methods: {
ontemplate(item) {
this.signPackage.routeId = item.routeId
this.signPackage.routeName = item.routeName
},
tappackage(id) {
let item = this.packagelist.find(e => e.id == id)
this.signPackage = { ...this.signPackage, ...item }

View File

@ -27,7 +27,7 @@
<el-timeline>
<el-timeline-item v-for="(item, index) in lists" :key="index"
:color="listindex == index ? '#409EFF' : ''">
<div class="top" @click="topclickevent(index)">
<div class="top">
<div class="toptop">
<el-select v-model="item.routeNodeName" style="width:87px">
<el-option label="出院后" value="AFTER_DISCHARGE" />
@ -48,8 +48,8 @@
<el-card v-for="(uitem, uindex) in item.list" :key="uitem.id"
@click.native='bottomclickevent(uitem, index, uindex)'
:class="listindex == index && itemindex == uindex ? 'cards' : ''">
<h3 style="height: 20px;">{{ uitem.taskTypeName }}</h3>
<p style="height: 16px;">{{ uitem.taskSubdivisionName }}</p>
<h3 style="height: 20px;">{{ uitem.taskType }}</h3>
<p style="height: 16px;">{{ uitem.taskSubdivision }}</p>
</el-card>
</el-timeline-item>
</el-timeline>
@ -60,7 +60,7 @@
<el-form-item label="任务类型" prop="">
<el-select v-model="form.taskType" style="width:110px" @change="changeTaskType">
<el-option v-for="item in selectTaskTypeList" :key="item.id" :label="item.taskTypeName"
:value="item.id">
:value="item.taskTypeName">
</el-option>
</el-select>
</el-form-item>
@ -68,14 +68,14 @@
<el-select v-model="form.taskSubdivision" style="width:110px"
@change="changetaskSubdivision">
<el-option v-for="item in taskPartitionList" :key="item.id" :label="item.taskTypeName"
:value="item.id">
:value="item.taskTypeName">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="任务状态" prop="">
<el-select v-model="form.taskStatus" style="width:100px">
<el-option v-for="item in taskStatusDictList" :key="item.id"
:label="item.taskStatusName" :value="item.id">
:label="item.taskStatusName" :value="item.taskStatusName">
</el-option>
</el-select>
</el-form-item>
@ -291,7 +291,6 @@ export default {
templateId: '',
templateName: '',
taskType: '',
taskTypeName: '',
taskSubdivision: '',
taskSubdivisionName: '',
taskStatus: '',
@ -327,16 +326,15 @@ export default {
this.updata.specialDiseaseRouteId = this.$route.query.id
selectSpecialDisease(this.$route.query.id).then(res => {
res.data.specialDiseaseNodeList.forEach(e => {
e.taskType = Number(e.taskType)
e.taskSubdivision = Number(e.taskSubdivision)
e.taskStatus = Number(e.taskStatus)
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]
this.changeTaskType(this.form.taskType, this.form.taskSubdivision)
if (this.form.taskType) {
this.changeTaskType(this.form.taskType, this.form.taskSubdivision)
}
})
} else {
this.lists.push({
@ -348,7 +346,6 @@ export default {
templateId: '',
templateName: '',
taskType: '',
taskTypeName: '',
taskSubdivision: '',
taskSubdivisionName: '',
taskStatus: '',
@ -425,7 +422,9 @@ export default {
this.updata.specialDiseaseNodeList.push(el)
}) : ""
})
specialDiseaseNode(this.updata).then(res => { })
specialDiseaseNode(this.updata).then(res => {
this.$modal.msgSuccess("暂存成功!");
})
},
//
questionontemplate(item) {
@ -437,13 +436,11 @@ export default {
this.form.templateId = item.templateId
this.form.templateName = item.templateName
},
topclickevent(index) {
this.listindex = index
this.itemindex = 0
},
bottomclickevent(uitem, index, uindex) {
this.form = uitem
this.changeTaskType(this.form.taskType, this.form.taskSubdivision)
if (this.form.taskType) {
this.changeTaskType(this.form.taskType, this.form.taskSubdivision)
}
this.listindex = index
this.itemindex = uindex
},
@ -460,15 +457,18 @@ export default {
})
},
//
changeTaskType(id, taskSubdivision) {
changeTaskType(name, taskSubdivision) {
console.log(name)
console.log(this.selectTaskTypeList.find(e => e.taskTypeName == name))
let id = this.selectTaskTypeList.find(e => e.taskTypeName == name).id
taskPartitionList(id).then(res => {
this.taskPartitionList = res.data
this.form.taskSubdivision = ''
this.form.taskSubdivisionName = ''
this.form.taskSubdivisiontemplateType = ''
this.selectTaskTypeList.forEach(el => {
if (id == el.id) {
this.form.taskTypeName = el.taskTypeName
if (name == el.taskTypeName) {
this.form.taskTypeId = el.id
}
})
if (taskSubdivision) {
@ -476,12 +476,11 @@ export default {
}
})
},
changetaskSubdivision(e, type) {
this.form.taskSubdivision = e
changetaskSubdivision(name, type) {
this.form.taskSubdivision = name
this.taskPartitionList.forEach(el => {
if (e == el.id) {
if (name == el.taskTypeName) {
this.form.executionTime = el.executionTime
this.form.taskSubdivisionName = el.taskTypeName
this.form.taskSubdivisiontemplateType = el.templateType
if (!type) {
this.form.templateId = ''
@ -500,7 +499,6 @@ export default {
templateId: '',
templateName: '',
taskType: '',
taskTypeName: '',
officialRemindContent: '',
taskSubdivision: '',
taskSubdivisionName: '',
@ -524,7 +522,6 @@ export default {
templateId: '',
templateName: '',
taskType: '',
taskTypeName: '',
officialRemindContent: '',
taskSubdivision: '',
taskSubdivisionName: '',