Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
dd77fda611
@ -3,6 +3,7 @@
|
|||||||
<div slot="footer" style="float: right;padding:10px 10px 0 0;height:35px">
|
<div slot="footer" style="float: right;padding:10px 10px 0 0;height:35px">
|
||||||
<el-button size="mini" @click="cancel">取 消</el-button>
|
<el-button size="mini" @click="cancel">取 消</el-button>
|
||||||
<el-button size="mini" type="primary" @click="auditing">审核通过</el-button>
|
<el-button size="mini" type="primary" @click="auditing">审核通过</el-button>
|
||||||
|
<el-button size="mini" type="info" @click="ignore">忽略</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="cardleft">
|
<div class="cardleft">
|
||||||
@ -241,8 +242,45 @@ export default {
|
|||||||
this.propagandaopen = false
|
this.propagandaopen = false
|
||||||
this.lookitem = {}
|
this.lookitem = {}
|
||||||
},
|
},
|
||||||
|
// 忽略
|
||||||
|
ignore() {
|
||||||
|
let manageRouteNodeIds = []
|
||||||
|
this.nodelist.map(e => {
|
||||||
|
manageRouteNodeIds = [...manageRouteNodeIds, ...e.nodeList.map(el => el.id)]
|
||||||
|
})
|
||||||
|
this.$prompt('请输入忽略备注信息?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
}).then(({ value }) => {
|
||||||
|
let obj = {
|
||||||
|
routeCheckPerson: JSON.parse(localStorage.getItem('user')).nickName,
|
||||||
|
routeCheckRemark: value,
|
||||||
|
routeCheckStatus: 'DISAGREE',
|
||||||
|
manageRouteNodeIds: manageRouteNodeIds
|
||||||
|
}
|
||||||
|
audit(obj).then(res => {
|
||||||
|
this.$notify({
|
||||||
|
type: 'success',
|
||||||
|
title: '提示',
|
||||||
|
message: '已忽略,即将返回上一页',
|
||||||
|
duration: 3000
|
||||||
|
});
|
||||||
|
setTimeout(() => {
|
||||||
|
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
|
||||||
|
this.$router.push({
|
||||||
|
path: "/task/manualReview",
|
||||||
|
});
|
||||||
|
})
|
||||||
|
}, 3000);
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
//审核
|
//审核
|
||||||
auditing() {
|
auditing() {
|
||||||
|
let manageRouteNodeIds = []
|
||||||
|
this.nodelist.map(e => {
|
||||||
|
manageRouteNodeIds = [...manageRouteNodeIds, ...e.nodeList.map(el => el.id)]
|
||||||
|
})
|
||||||
this.$prompt('请输入审核备注信息?', '提示', {
|
this.$prompt('请输入审核备注信息?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
@ -251,7 +289,7 @@ export default {
|
|||||||
routeCheckPerson: JSON.parse(localStorage.getItem('user')).nickName,
|
routeCheckPerson: JSON.parse(localStorage.getItem('user')).nickName,
|
||||||
routeCheckRemark: value,
|
routeCheckRemark: value,
|
||||||
routeCheckStatus: 'AGREE',
|
routeCheckStatus: 'AGREE',
|
||||||
manageRouteNodeIds: this.nodelist.map(e => e.manageRouteId)
|
manageRouteNodeIds: manageRouteNodeIds
|
||||||
}
|
}
|
||||||
audit(obj).then(res => {
|
audit(obj).then(res => {
|
||||||
this.$notify({
|
this.$notify({
|
||||||
|
|||||||
@ -90,7 +90,8 @@
|
|||||||
{{ item.suitRange == 'OUTPATIENT_SERVICE_DISCHARGE' ? '门诊+出院' : "" }}
|
{{ item.suitRange == 'OUTPATIENT_SERVICE_DISCHARGE' ? '门诊+出院' : "" }}
|
||||||
</div>
|
</div>
|
||||||
<div class="text">
|
<div class="text">
|
||||||
路径详情: <el-button @click="lookspecialDiseaseNode" style="padding: 6px 10px;">预览</el-button>
|
路径详情: <el-button @click="lookspecialDiseaseNode(item)"
|
||||||
|
style="padding: 6px 10px;">预览</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="text">
|
<div class="text">
|
||||||
</div>
|
</div>
|
||||||
@ -198,11 +199,11 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
//查看专病节点
|
//查看专病节点
|
||||||
lookspecialDiseaseNode() {
|
lookspecialDiseaseNode(item) {
|
||||||
this.lookitem = {
|
this.lookitem = {
|
||||||
routeName: '路径名称',
|
routeName: item.routeName,
|
||||||
suitRange: 'IN_THE_HOSPITAL',
|
suitRange: item.suitRange,
|
||||||
id: 1
|
id: item.specialDiseaseRoute.specialDiseaseRouteId
|
||||||
}
|
}
|
||||||
this.specialDiseaseNodeopen = true
|
this.specialDiseaseNodeopen = true
|
||||||
},
|
},
|
||||||
@ -252,9 +253,7 @@ export default {
|
|||||||
getList(this.query).then(res => {
|
getList(this.query).then(res => {
|
||||||
this.itemindex = index
|
this.itemindex = index
|
||||||
this.loading.close();
|
this.loading.close();
|
||||||
if (res.data.length > 0) {
|
this.categorylist = res.data
|
||||||
this.categorylist = res.data
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,10 +48,10 @@
|
|||||||
<el-card v-for="(uitem, uindex) in item.list" :key="uitem.id"
|
<el-card v-for="(uitem, uindex) in item.list" :key="uitem.id"
|
||||||
@click.native='bottomclickevent(uitem, index, uindex)'
|
@click.native='bottomclickevent(uitem, index, uindex)'
|
||||||
:class="listindex == index && itemindex == uindex ? 'cards' : ''">
|
:class="listindex == index && itemindex == uindex ? 'cards' : ''">
|
||||||
<h3 style="height: 20px;">{{ uitem.taskType }}</h3>
|
<h3 style="height: 20px;">{{ uitem.taskTypeName }}</h3>
|
||||||
<el-tag v-if="uitem.routeCheckStatus == 'AGREE'" class="routeCheckStatus">已审核</el-tag>
|
<el-tag v-if="uitem.routeCheckStatus == 'AGREE'" class="routeCheckStatus">已审核</el-tag>
|
||||||
<el-tag v-else type="warning" class="routeCheckStatus">未审核</el-tag>
|
<el-tag v-else type="warning" class="routeCheckStatus">未审核</el-tag>
|
||||||
<p style="height: 16px;">{{ uitem.taskSubdivision }}</p>
|
<p style="height: 16px;">{{ uitem.taskSubdivisionName }}</p>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-timeline-item>
|
</el-timeline-item>
|
||||||
</el-timeline>
|
</el-timeline>
|
||||||
@ -61,23 +61,23 @@
|
|||||||
<el-form ref="form" :inline="true" :model="form" class="form">
|
<el-form ref="form" :inline="true" :model="form" class="form">
|
||||||
<el-form-item label="任务类型" prop="">
|
<el-form-item label="任务类型" prop="">
|
||||||
<el-select v-model="form.taskType" disabled style="width:110px" @change="changeTaskType">
|
<el-select v-model="form.taskType" disabled style="width:110px" @change="changeTaskType">
|
||||||
<el-option v-for="item in selectTaskTypeList" :key="item.id" :label="item.taskTypeName"
|
<el-option v-for="item in selectTaskTypeList" :key="item.taskTypeCode"
|
||||||
:value="item.taskTypeName">
|
:label="item.taskTypeName" :value="item.taskTypeCode">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="任务细分" prop="">
|
<el-form-item label="任务细分" prop="">
|
||||||
<el-select v-model="form.taskSubdivision" disabled style="width:110px"
|
<el-select v-model="form.taskSubdivisionName" disabled style="width:110px"
|
||||||
@change="changetaskSubdivision">
|
@change="changetaskSubdivision">
|
||||||
<el-option v-for="item in taskPartitionList" :key="item.id" :label="item.taskTypeName"
|
<el-option v-for="item in taskPartitionList" :key="item.taskPartitionCode"
|
||||||
:value="item.taskTypeName">
|
:label="item.taskTypeName" :value="item.taskPartitionCode">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="任务状态" prop="">
|
<el-form-item label="任务状态" prop="">
|
||||||
<el-select v-model="form.taskStatus" disabled style="width:100px">
|
<el-select v-model="form.taskStatusName" disabled style="width:100px">
|
||||||
<el-option v-for="item in taskStatusDictList" :key="item.id"
|
<el-option v-for="item in taskStatusDictList" :key="item.id"
|
||||||
:label="item.taskStatusName" :value="item.taskStatusName">
|
:label="item.taskStatusName" :value="item.taskStatusCode">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -333,10 +333,10 @@ export default {
|
|||||||
beforeDestroy() { },
|
beforeDestroy() { },
|
||||||
watch: {
|
watch: {
|
||||||
lookitem(newValue, oldValue) {
|
lookitem(newValue, oldValue) {
|
||||||
if (newValue) {
|
this.updata = newValue;
|
||||||
this.updata = newValue;
|
this.updata.specialDiseaseRouteId = newValue.id
|
||||||
this.updata.specialDiseaseRouteId = newValue.id
|
this.taskinfo();
|
||||||
}
|
this.info();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@ -448,27 +448,24 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
//任务细分
|
//任务细分
|
||||||
changeTaskType(name, taskSubdivision) {
|
changeTaskType(code, taskSubdivision) {
|
||||||
let id = this.selectTaskTypeList?.find(e => e.taskTypeName == name).id
|
let id = this.selectTaskTypeList?.find(e => e.taskTypeCode == code)?.id
|
||||||
|
this.form.taskTypeName = this.selectTaskTypeList?.find(e => e.taskTypeCode == code)?.taskTypeName
|
||||||
taskPartitionList(id).then(res => {
|
taskPartitionList(id).then(res => {
|
||||||
this.taskPartitionList = res.data
|
this.taskPartitionList = res.data
|
||||||
this.form.taskSubdivision = ''
|
this.form.taskSubdivision = ''
|
||||||
this.form.taskSubdivisionName = ''
|
this.form.taskSubdivisionName = ''
|
||||||
this.form.taskSubdivisiontemplateType = ''
|
this.form.taskSubdivisiontemplateType = ''
|
||||||
this.selectTaskTypeList.forEach(el => {
|
|
||||||
if (name == el.taskTypeName) {
|
|
||||||
this.form.taskTypeId = el.id
|
|
||||||
}
|
|
||||||
})
|
|
||||||
if (taskSubdivision) {
|
if (taskSubdivision) {
|
||||||
|
this.form.taskSubdivision = taskSubdivision
|
||||||
this.changetaskSubdivision(taskSubdivision, 1)
|
this.changetaskSubdivision(taskSubdivision, 1)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
changetaskSubdivision(name, type) {
|
changetaskSubdivision(code, type) {
|
||||||
this.form.taskSubdivision = name
|
this.form.taskSubdivisionName = this.taskPartitionList?.find(e => e.taskPartitionCode == code).taskPartitionName
|
||||||
this.taskPartitionList.forEach(el => {
|
this.taskPartitionList.forEach(el => {
|
||||||
if (name == el.taskTypeName) {
|
if (code == el.taskPartitionCode) {
|
||||||
this.form.executionTime = el.executionTime
|
this.form.executionTime = el.executionTime
|
||||||
this.form.taskSubdivisiontemplateType = el.templateType
|
this.form.taskSubdivisiontemplateType = el.templateType
|
||||||
if (!type) {
|
if (!type) {
|
||||||
|
|||||||
@ -218,7 +218,7 @@ export default {
|
|||||||
/** 查询患者信息列表 */
|
/** 查询患者信息列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
this.queryParams.params = {};
|
this.queryParams.taskCreateType = 'MANUAL_CREATE'
|
||||||
tasklist(this.queryParams).then(response => {
|
tasklist(this.queryParams).then(response => {
|
||||||
response.rows.forEach(e => {
|
response.rows.forEach(e => {
|
||||||
e.birthDate ? e.age = getAge(e.birthDate) : ''
|
e.birthDate ? e.age = getAge(e.birthDate) : ''
|
||||||
|
|||||||
@ -1,28 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
:model="queryParams"
|
|
||||||
ref="queryForm"
|
|
||||||
size="small"
|
|
||||||
:inline="true"
|
|
||||||
v-show="showSearch"
|
|
||||||
label-width="68px"
|
|
||||||
>
|
|
||||||
<el-form-item label="患者姓名" prop="patientName">
|
<el-form-item label="患者姓名" prop="patientName">
|
||||||
<el-input
|
<el-input v-model="queryParams.patientName" placeholder="请输入患者姓名" clearable @keyup.enter.native="handleQuery" />
|
||||||
v-model="queryParams.patientName"
|
|
||||||
placeholder="请输入患者姓名"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="身份证号" prop="cardNo">
|
<el-form-item label="身份证号" prop="cardNo">
|
||||||
<el-input
|
<el-input v-model="queryParams.cardNo" placeholder="请输入身份证号" clearable @keyup.enter.native="handleQuery" />
|
||||||
v-model="queryParams.cardNo"
|
|
||||||
placeholder="请输入身份证号"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="设备名称" prop="deviceName">
|
<!-- <el-form-item label="设备名称" prop="deviceName">
|
||||||
<el-input
|
<el-input
|
||||||
@ -33,78 +16,33 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<el-form-item label="设备类型" prop="deviceType">
|
<el-form-item label="设备类型" prop="deviceType">
|
||||||
<el-select
|
<el-select v-model="queryParams.deviceType" placeholder="请选择" style="width: 208px">
|
||||||
v-model="queryParams.deviceType"
|
<el-option v-for="item in options" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
|
||||||
placeholder="请选择"
|
|
||||||
style="width: 208px"
|
|
||||||
>
|
|
||||||
<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>
|
||||||
<el-form-item label="设备编码" prop="deviceCode">
|
<el-form-item label="设备编码" prop="deviceCode">
|
||||||
<el-input
|
<el-input v-model="queryParams.deviceCode" placeholder="请输入设备编码" clearable @keyup.enter.native="handleQuery" />
|
||||||
v-model="queryParams.deviceCode"
|
|
||||||
placeholder="请输入设备编码"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
type="primary"
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
||||||
type="primary"
|
v-hasPermi="['manage:projectdevice:add']">新增</el-button>
|
||||||
plain
|
|
||||||
icon="el-icon-plus"
|
|
||||||
size="mini"
|
|
||||||
@click="handleAdd"
|
|
||||||
v-hasPermi="['manage:projectdevice:add']"
|
|
||||||
>新增</el-button
|
|
||||||
>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
|
||||||
type="success"
|
v-hasPermi="['manage:projectdevice:edit']">修改</el-button>
|
||||||
plain
|
|
||||||
icon="el-icon-edit"
|
|
||||||
size="mini"
|
|
||||||
:disabled="single"
|
|
||||||
@click="handleUpdate"
|
|
||||||
v-hasPermi="['manage:projectdevice:edit']"
|
|
||||||
>修改</el-button
|
|
||||||
>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
|
||||||
type="danger"
|
v-hasPermi="['manage:projectdevice:remove']">删除</el-button>
|
||||||
plain
|
|
||||||
icon="el-icon-delete"
|
|
||||||
size="mini"
|
|
||||||
:disabled="multiple"
|
|
||||||
@click="handleDelete"
|
|
||||||
v-hasPermi="['manage:projectdevice:remove']"
|
|
||||||
>删除</el-button
|
|
||||||
>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<!-- <el-col :span="1.5">
|
<!-- <el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
@ -117,17 +55,10 @@
|
|||||||
>导出</el-button
|
>导出</el-button
|
||||||
>
|
>
|
||||||
</el-col> -->
|
</el-col> -->
|
||||||
<right-toolbar
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
:showSearch.sync="showSearch"
|
|
||||||
@queryTable="getList"
|
|
||||||
></right-toolbar>
|
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-table
|
<el-table v-loading="loading" :data="projectdeviceList" @selection-change="handleSelectionChange">
|
||||||
v-loading="loading"
|
|
||||||
:data="projectdeviceList"
|
|
||||||
@selection-change="handleSelectionChange"
|
|
||||||
>
|
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<el-table-column label="患者姓名" align="center" prop="patientName" />
|
<el-table-column label="患者姓名" align="center" prop="patientName" />
|
||||||
<el-table-column label="身份证号" align="center" prop="cardNo" />
|
<el-table-column label="身份证号" align="center" prop="cardNo" />
|
||||||
@ -144,133 +75,69 @@
|
|||||||
<el-table-column label="设备编码" align="center" prop="deviceCode" />
|
<el-table-column label="设备编码" align="center" prop="deviceCode" />
|
||||||
<!-- <el-table-column label="设备状态" align="center" prop="deviceStatus" /> -->
|
<!-- <el-table-column label="设备状态" align="center" prop="deviceStatus" /> -->
|
||||||
<!-- <el-table-column label="备注信息" align="center" prop="deviceRemark" /> -->
|
<!-- <el-table-column label="备注信息" align="center" prop="deviceRemark" /> -->
|
||||||
<el-table-column
|
<el-table-column label="设备绑定时间" align="center" prop="deviceBindTime">
|
||||||
label="设备绑定时间"
|
|
||||||
align="center"
|
|
||||||
prop="deviceBindTime"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span>{{ parseTime(scope.row.deviceBindTime, "{y}-{m}-{d}") }}</span>
|
<span>{{ parseTime(scope.row.deviceBindTime, "{y}-{m}-{d}") }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column label="设备IP地址" align="center" prop="deviceIp" :show-overflow-tooltip="true" />
|
||||||
label="设备IP地址"
|
|
||||||
align="center"
|
|
||||||
prop="deviceIp"
|
|
||||||
:show-overflow-tooltip="true"
|
|
||||||
/>
|
|
||||||
<el-table-column label="设备端口" align="center" prop="devicePort" />
|
<el-table-column label="设备端口" align="center" prop="devicePort" />
|
||||||
<el-table-column
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
label="操作"
|
|
||||||
align="center"
|
|
||||||
class-name="small-padding fixed-width"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||||
size="mini"
|
v-hasPermi="['manage:projectdevice:edit']">修改</el-button>
|
||||||
type="text"
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||||
icon="el-icon-edit"
|
v-hasPermi="['manage:projectdevice:remove']">解绑</el-button>
|
||||||
@click="handleUpdate(scope.row)"
|
|
||||||
v-hasPermi="['manage:projectdevice:edit']"
|
|
||||||
>修改</el-button
|
|
||||||
>
|
|
||||||
<el-button
|
|
||||||
size="mini"
|
|
||||||
type="text"
|
|
||||||
icon="el-icon-delete"
|
|
||||||
@click="handleDelete(scope.row)"
|
|
||||||
v-hasPermi="['manage:projectdevice:remove']"
|
|
||||||
>解绑</el-button
|
|
||||||
>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<pagination
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
||||||
v-show="total > 0"
|
@pagination="getList" />
|
||||||
:total="total"
|
|
||||||
:page.sync="queryParams.pageNum"
|
|
||||||
:limit.sync="queryParams.pageSize"
|
|
||||||
@pagination="getList"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- 添加或修改检测项目设备对话框 -->
|
<!-- 添加或修改检测项目设备对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
|
||||||
<el-form
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :inline="true">
|
||||||
ref="form"
|
|
||||||
:model="form"
|
|
||||||
:rules="rules"
|
|
||||||
label-width="120px"
|
|
||||||
:inline="true"
|
|
||||||
>
|
|
||||||
<el-form-item label="患者" prop="patientId">
|
<el-form-item label="患者" prop="patientId">
|
||||||
<!-- <el-form-item label="所属分组" prop="groupId"> -->
|
<!-- <el-form-item label="所属分组" prop="groupId"> -->
|
||||||
<el-button
|
<el-button type="" v-if="form.patientName == '请选择患者'" @click="clickinnerVisible()" style="
|
||||||
type=""
|
|
||||||
v-if="form.patientName == '请选择患者'"
|
|
||||||
@click="clickinnerVisible()"
|
|
||||||
style="
|
|
||||||
width: 208px;
|
width: 208px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
color: #c0c4cc;
|
color: #c0c4cc;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
"
|
">{{ form.patientName }}</el-button>
|
||||||
>{{ form.patientName }}</el-button
|
<el-button @click="clickinnerVisible()" type="" v-else style="
|
||||||
>
|
|
||||||
<el-button
|
|
||||||
@click="clickinnerVisible()"
|
|
||||||
type=""
|
|
||||||
v-else
|
|
||||||
style="
|
|
||||||
width: 208px;
|
width: 208px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
padding-left: -10px;
|
padding-left: -10px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
"
|
">{{ form.patientName }}</el-button>
|
||||||
>{{ form.patientName }}</el-button
|
|
||||||
>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="身份证号" prop="cardNo">
|
<el-form-item label="身份证号" prop="cardNo">
|
||||||
<el-input
|
<el-input v-model="form.cardNo" placeholder="请输入身份证号" maxlength="18" />
|
||||||
v-model="form.cardNo"
|
|
||||||
placeholder="请输入身份证号"
|
|
||||||
maxlength="18"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="设备名称" prop="deviceName" maxlength="300">
|
<el-form-item label="设备名称" prop="deviceName" maxlength="300">
|
||||||
<el-input v-model="form.deviceName" placeholder="请输入设备名称" />
|
<el-input v-model="form.deviceName" placeholder="请输入设备名称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="设备编码" prop="deviceCode">
|
<el-form-item label="设备编码" prop="deviceCode">
|
||||||
<el-input
|
<!-- oninput = "value=value.replace(/[\u4E00-\u9FA5]/g,'')" -->
|
||||||
v-model="form.deviceCode"
|
<!-- onkeyup="value=value.replace(/[\W]/g,'')" -->
|
||||||
placeholder="请输入设备编码"
|
<el-input v-model="form.deviceCode" placeholder="请输入设备编码" />
|
||||||
onKeyUp="value=value.replace(/[\W]/g,'')"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="设备类型" prop="deviceType">
|
<el-form-item label="设备类型" prop="deviceType">
|
||||||
<el-select
|
<el-select v-model="form.deviceType" placeholder="请选择" style="width: 208px">
|
||||||
v-model="form.deviceType"
|
<el-option v-for="item in options" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
|
||||||
placeholder="请选择"
|
|
||||||
style="width: 208px"
|
|
||||||
>
|
|
||||||
<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>
|
||||||
|
|
||||||
<el-form-item label="设备IP地址" prop="deviceIp">
|
<el-form-item label="设备IP地址" prop="deviceIp">
|
||||||
<el-input v-model="form.deviceIp" placeholder="请输入设备IP地址" />
|
<el-input v-model="form.deviceIp" placeholder="请输入设备IP地址" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="设备端口" prop="devicePort">
|
<el-form-item label="设备端口" prop="devicePort">
|
||||||
<el-input v-model="form.devicePort" placeholder="请输入设备端口" />
|
<el-input v-model="form.devicePort" placeholder="请输入设备端口" type="number" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="备注信息" prop="deviceRemark">
|
<el-form-item label="备注信息" prop="deviceRemark">
|
||||||
<el-input v-model="form.deviceRemark" placeholder="请输入备注信息" />
|
<el-input v-model="form.deviceRemark" placeholder="请输入备注信息" />
|
||||||
@ -282,74 +149,28 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<!-- 患者弹框 -->
|
<!-- 患者弹框 -->
|
||||||
<el-dialog
|
<el-dialog title="" :visible.sync="innerVisibleshow" width="1000px" append-to-body
|
||||||
title=""
|
:before-close="innerVisiblecancel">
|
||||||
:visible.sync="innerVisibleshow"
|
<el-form ref="queryForm" :model="informationqueryParams" :rules="rules" label-width="80px" :inline="true">
|
||||||
width="1000px"
|
|
||||||
append-to-body
|
|
||||||
:before-close="innerVisiblecancel"
|
|
||||||
>
|
|
||||||
<el-form
|
|
||||||
ref="queryForm"
|
|
||||||
:model="informationqueryParams"
|
|
||||||
:rules="rules"
|
|
||||||
label-width="80px"
|
|
||||||
:inline="true"
|
|
||||||
>
|
|
||||||
<el-form-item label="患者名称" prop="patientName" label-width="120">
|
<el-form-item label="患者名称" prop="patientName" label-width="120">
|
||||||
<el-input
|
<el-input v-model="informationqueryParams.patientName" placeholder="请输入患者名称" clearable />
|
||||||
v-model="informationqueryParams.patientName"
|
|
||||||
placeholder="请输入患者名称"
|
|
||||||
clearable
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="informationInfoinfo">搜索</el-button>
|
||||||
type="primary"
|
<el-button icon="el-icon-refresh" size="mini" @click="addresetQuerylist">重置</el-button>
|
||||||
icon="el-icon-search"
|
|
||||||
size="mini"
|
|
||||||
@click="informationInfoinfo"
|
|
||||||
>搜索</el-button
|
|
||||||
>
|
|
||||||
<el-button
|
|
||||||
icon="el-icon-refresh"
|
|
||||||
size="mini"
|
|
||||||
@click="addresetQuerylist"
|
|
||||||
>重置</el-button
|
|
||||||
>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
<el-table :data="infolist" @cell-dblclick="nurseclick" v-loading="loading">
|
||||||
<el-table
|
|
||||||
:data="infolist"
|
|
||||||
@cell-dblclick="nurseclick"
|
|
||||||
v-loading="loading"
|
|
||||||
>
|
|
||||||
<el-table-column label="请选择" width="100" align="center">
|
<el-table-column label="请选择" width="100" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button type="primary" style="width: 15px; height: 15px" v-if="form.patientId == scope.row.id" circle
|
||||||
type="primary"
|
@click="nurseclick(scope.row)"></el-button>
|
||||||
style="width: 15px; height: 15px"
|
<el-button v-else style="width: 15px; height: 15px" circle @click="nurseclick(scope.row)"></el-button>
|
||||||
v-if="form.patientId == scope.row.id"
|
|
||||||
circle
|
|
||||||
@click="nurseclick(scope.row)"
|
|
||||||
></el-button>
|
|
||||||
<el-button
|
|
||||||
v-else
|
|
||||||
style="width: 15px; height: 15px"
|
|
||||||
circle
|
|
||||||
@click="nurseclick(scope.row)"
|
|
||||||
></el-button>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column property="patientName" label="患者名称" align="center">
|
<el-table-column property="patientName" label="患者名称" align="center">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column property="patientPhone" label="患者手机号" align="center">
|
||||||
property="patientPhone"
|
|
||||||
label="患者手机号"
|
|
||||||
align="center"
|
|
||||||
>
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column property="sex" label="患者性别" align="center">
|
<el-table-column property="sex" label="患者性别" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
@ -357,22 +178,12 @@
|
|||||||
{{ scope.row.sex == "MALE" ? "男" : "" }}
|
{{ scope.row.sex == "MALE" ? "男" : "" }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column property="cardNo" label="患者身份证号" align="center" :show-overflow-tooltip="true">
|
||||||
property="cardNo"
|
|
||||||
label="患者身份证号"
|
|
||||||
align="center"
|
|
||||||
:show-overflow-tooltip="true"
|
|
||||||
>
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
patientPhone
|
patientPhone
|
||||||
</el-table>
|
</el-table>
|
||||||
<pagination
|
<pagination v-show="totaldepartment > 0" :total="totaldepartment" :page.sync="informationqueryParams.pageNum"
|
||||||
v-show="totaldepartment > 0"
|
:limit.sync="informationqueryParams.pageSize" @pagination="informationInfoinfo" />
|
||||||
:total="totaldepartment"
|
|
||||||
:page.sync="informationqueryParams.pageNum"
|
|
||||||
:limit.sync="informationqueryParams.pageSize"
|
|
||||||
@pagination="informationInfoinfo"
|
|
||||||
/>
|
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -464,7 +275,6 @@ export default {
|
|||||||
/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,
|
/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
deviceCode: [
|
deviceCode: [
|
||||||
{ required: true, message: "设备编码不能为空", trigger: "blur" },
|
{ required: true, message: "设备编码不能为空", trigger: "blur" },
|
||||||
],
|
],
|
||||||
@ -626,7 +436,7 @@ export default {
|
|||||||
this.getList();
|
this.getList();
|
||||||
this.$modal.msgSuccess("解绑成功");
|
this.$modal.msgSuccess("解绑成功");
|
||||||
})
|
})
|
||||||
.catch(() => {});
|
.catch(() => { });
|
||||||
},
|
},
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
handleExport() {
|
handleExport() {
|
||||||
|
|||||||
@ -146,14 +146,10 @@ export default {
|
|||||||
this.Departmentlist();
|
this.Departmentlist();
|
||||||
},
|
},
|
||||||
templateId(newValue, oldValue) {
|
templateId(newValue, oldValue) {
|
||||||
if (newValue) {
|
this.handleselectId = newValue;
|
||||||
this.handleselectId = newValue;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
templateName(newValue, oldValue) {
|
templateName(newValue, oldValue) {
|
||||||
if (newValue) {
|
this.handleselectName = newValue;
|
||||||
this.handleselectName = newValue;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|||||||
@ -146,14 +146,10 @@ export default {
|
|||||||
this.Departmentlist();
|
this.Departmentlist();
|
||||||
},
|
},
|
||||||
templateId(newValue, oldValue) {
|
templateId(newValue, oldValue) {
|
||||||
if (newValue) {
|
this.handleselectId = newValue;
|
||||||
this.handleselectId = newValue;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
templateName(newValue, oldValue) {
|
templateName(newValue, oldValue) {
|
||||||
if (newValue) {
|
this.handleselectName = newValue;
|
||||||
this.handleselectName = newValue;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|||||||
@ -146,14 +146,10 @@ export default {
|
|||||||
this.Departmentlist();
|
this.Departmentlist();
|
||||||
},
|
},
|
||||||
templateId(newValue, oldValue) {
|
templateId(newValue, oldValue) {
|
||||||
if (newValue) {
|
this.handleselectId = newValue;
|
||||||
this.handleselectId = newValue;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
templateName(newValue, oldValue) {
|
templateName(newValue, oldValue) {
|
||||||
if (newValue) {
|
this.handleselectName = newValue;
|
||||||
this.handleselectName = newValue;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|||||||
@ -165,14 +165,10 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
templateId(newValue, oldValue) {
|
templateId(newValue, oldValue) {
|
||||||
if (newValue) {
|
this.handleselectId = newValue;
|
||||||
this.handleselectId = newValue;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
templateName(newValue, oldValue) {
|
templateName(newValue, oldValue) {
|
||||||
if (newValue) {
|
this.handleselectName = newValue;
|
||||||
this.handleselectName = newValue;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
|||||||
@ -125,14 +125,10 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
templateId(newValue, oldValue) {
|
templateId(newValue, oldValue) {
|
||||||
if (newValue) {
|
this.handleselectId = newValue;
|
||||||
this.handleselectId = newValue;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
templateName(newValue, oldValue) {
|
templateName(newValue, oldValue) {
|
||||||
if (newValue) {
|
this.handleselectName = newValue;
|
||||||
this.handleselectName = newValue;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
<el-form-item label="编辑专病管理路径">
|
<el-form-item label="编辑专病管理路径">
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="float: right;">
|
<el-form-item style="float: right;">
|
||||||
|
<el-button @click="back">返回</el-button>
|
||||||
<el-button type="primary" @click="preserve">保存</el-button>
|
<el-button type="primary" @click="preserve">保存</el-button>
|
||||||
<!-- <el-button type="primary">发布</el-button> -->
|
<!-- <el-button type="primary">发布</el-button> -->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -413,6 +414,13 @@ export default {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
back() {
|
||||||
|
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
|
||||||
|
this.$router.push({
|
||||||
|
path: "/specialdisease/specialDiseaseRoute",
|
||||||
|
});
|
||||||
|
})
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -360,12 +360,19 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
info() {
|
info() {
|
||||||
|
const loading = this.$loading({
|
||||||
|
lock: true,
|
||||||
|
text: '数据加载中',
|
||||||
|
spinner: 'el-icon-loading',
|
||||||
|
background: 'rgba(0, 0, 0, 0.7)'
|
||||||
|
});
|
||||||
this.lists = []
|
this.lists = []
|
||||||
if (this.$route.query) {
|
if (this.$route.query) {
|
||||||
this.updata.suitRange = this.$route.query.suitRange
|
this.updata.suitRange = this.$route.query.suitRange
|
||||||
this.updata.routeName = this.$route.query.routeName
|
this.updata.routeName = this.$route.query.routeName
|
||||||
this.updata.specialDiseaseRouteId = this.$route.query.id
|
this.updata.specialDiseaseRouteId = this.$route.query.id
|
||||||
selectSpecialDisease(this.$route.query.id).then(res => {
|
selectSpecialDisease(this.$route.query.id).then(res => {
|
||||||
|
loading.close();
|
||||||
this.agreeNumber = res.data.agreeNumber
|
this.agreeNumber = res.data.agreeNumber
|
||||||
this.totalNumber = res.data.totalNumber
|
this.totalNumber = res.data.totalNumber
|
||||||
res.data.specialDiseaseNodeList.forEach(e => {
|
res.data.specialDiseaseNodeList.forEach(e => {
|
||||||
@ -380,6 +387,7 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
loading.close();
|
||||||
this.lists.push({
|
this.lists.push({
|
||||||
routeNodeName: "",
|
routeNodeName: "",
|
||||||
routeNodeDay: '',
|
routeNodeDay: '',
|
||||||
@ -452,17 +460,30 @@ export default {
|
|||||||
//暂存
|
//暂存
|
||||||
TemporaryStorage() {
|
TemporaryStorage() {
|
||||||
this.$refs.wangeditor.emit()
|
this.$refs.wangeditor.emit()
|
||||||
this.updata.specialDiseaseNodeList = []
|
this.$confirm('确认暂存时将过滤掉部分内容未填写完成的子节点,是否确认暂存?', '提示', {
|
||||||
this.lists.forEach(e => {
|
confirmButtonText: '确认',
|
||||||
e.list.length > 0 ? e.list.forEach(el => {
|
cancelButtonText: '取消',
|
||||||
el.routeNodeDay = e.routeNodeDay
|
}).then(() => {
|
||||||
el.routeNodeName = e.routeNodeName
|
const loading = this.$loading({
|
||||||
this.updata.specialDiseaseNodeList.push(el)
|
lock: true,
|
||||||
}) : ""
|
text: '暂存中',
|
||||||
})
|
spinner: 'el-icon-loading',
|
||||||
specialDiseaseNode(this.updata).then(res => {
|
background: 'rgba(0, 0, 0, 0.7)'
|
||||||
this.info();
|
});
|
||||||
this.$modal.msgSuccess("暂存成功!");
|
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("暂存成功!");
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//问卷传值
|
//问卷传值
|
||||||
@ -599,6 +620,26 @@ export default {
|
|||||||
spinner: 'el-icon-loading',
|
spinner: 'el-icon-loading',
|
||||||
background: 'rgba(0, 0, 0, 0.7)'
|
background: 'rgba(0, 0, 0, 0.7)'
|
||||||
});
|
});
|
||||||
|
if (!this.routeform.routeNodeDay) {
|
||||||
|
this.$message.error('请输入节点时间段天数');
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!this.routeform.routeNodeName) {
|
||||||
|
this.$message.error('请选择节点时间段');
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!this.routeform.taskType) {
|
||||||
|
this.$message.error('请选择任务类型');
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!this.routeform.taskSubdivision) {
|
||||||
|
this.$message.error('请选择任务细分');
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!this.routeform.taskStatus) {
|
||||||
|
this.$message.error('请选择任务状态');
|
||||||
|
return
|
||||||
|
}
|
||||||
updateRouteCheckStatus({
|
updateRouteCheckStatus({
|
||||||
routeCheckStatus: this.routeform.routeCheckStatus,
|
routeCheckStatus: this.routeform.routeCheckStatus,
|
||||||
id: this.form.specialDiseaseNodeId,
|
id: this.form.specialDiseaseNodeId,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user