检测项目检测分组检测项目结果

This commit is contained in:
闫晓茹 2024-03-12 13:45:02 +08:00
parent c9bd446b07
commit 9a0b218a71
13 changed files with 2613 additions and 14 deletions

44
src/api/manage/project.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询检测项目列表
export function listProject(query) {
return request({
url: '/manage/project/list',
method: 'get',
params: query
})
}
// 查询检测项目详细
export function getProject(id) {
return request({
url: '/manage/project/' + id,
method: 'get'
})
}
// 新增检测项目
export function addProject(data) {
return request({
url: '/manage/project',
method: 'post',
data: data
})
}
// 修改检测项目
export function updateProject(data) {
return request({
url: '/manage/project',
method: 'put',
data: data
})
}
// 删除检测项目
export function delProject(id) {
return request({
url: '/manage/project/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询检测项目设备列表
export function listProjectdevice(query) {
return request({
url: '/manage/projectdevice/list',
method: 'get',
params: query
})
}
// 查询检测项目设备详细
export function getProjectdevice(id) {
return request({
url: '/manage/projectdevice/' + id,
method: 'get'
})
}
// 新增检测项目设备
export function addProjectdevice(data) {
return request({
url: '/manage/projectdevice',
method: 'post',
data: data
})
}
// 修改检测项目设备
export function updateProjectdevice(data) {
return request({
url: '/manage/projectdevice',
method: 'put',
data: data
})
}
// 删除检测项目设备
export function delProjectdevice(id) {
return request({
url: '/manage/projectdevice/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询检测项目分组列表
export function listProjectgroup(query) {
return request({
url: '/manage/projectgroup/list',
method: 'get',
params: query
})
}
// 查询检测项目分组详细
export function getProjectgroup(id) {
return request({
url: '/manage/projectgroup/' + id,
method: 'get'
})
}
// 新增检测项目分组
export function addProjectgroup(data) {
return request({
url: '/manage/projectgroup/addList',
method: 'post',
data: data
})
}
// 修改检测项目分组
export function updateProjectgroup(data) {
return request({
url: '/manage/projectgroup',
method: 'put',
data: data
})
}
// 删除检测项目分组
export function delProjectgroup(id) {
return request({
url: '/manage/projectgroup/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询检测项目结果列表
export function listProjectresult(query) {
return request({
url: '/manage/projectResult/list',
method: 'get',
params: query
})
}
// 查询检测项目结果详细
export function getProjectresult(id) {
return request({
url: '/manage/projectresult/' + id,
method: 'get'
})
}
// 新增检测项目结果
export function addProjectresult(data) {
return request({
url: '/manage/projectresult',
method: 'post',
data: data
})
}
// 修改检测项目结果
export function updateProjectresult(data) {
return request({
url: '/manage/projectresult',
method: 'put',
data: data
})
}
// 删除检测项目结果
export function delProjectresult(id) {
return request({
url: '/manage/projectresult/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,760 @@
<template>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<!-- <el-form-item label="所属分组id" prop="groupId">
<el-input
v-model="queryParams.groupId"
placeholder="请输入所属分组id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<!-- <el-form-item label="分组名称" prop="groupName">
<el-input
v-model="queryParams.groupName"
placeholder="请输入分组名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<el-form-item label="项目名称" prop="projectName">
<el-input
v-model="queryParams.projectName"
placeholder="请输入项目名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="项目编码" prop="projectCode">
<el-input
v-model="queryParams.projectCode"
placeholder="请输入项目编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="项目别名" prop="projectAlias">
<el-input
v-model="queryParams.projectAlias"
placeholder="请输入项目别名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<!-- <el-form-item label="判断模式定量QUANTIFY定性QUALITATIVE" prop="judgeMode">
<el-input
v-model="queryParams.judgeMode"
placeholder="请输入判断模式定量QUANTIFY定性QUALITATIVE"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="项目指标最大值" prop="maxValue">
<el-input
v-model="queryParams.maxValue"
placeholder="请输入项目指标最大值"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="项目指标最小值" prop="minValue">
<el-input
v-model="queryParams.minValue"
placeholder="请输入项目指标最小值"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="项目指标默认值" prop="defaultValue">
<el-input
v-model="queryParams.defaultValue"
placeholder="请输入项目指标默认值"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="LIS对照" prop="lisCompare">
<el-input
v-model="queryParams.lisCompare"
placeholder="请输入LIS对照"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="计量单位" prop="unit">
<el-input
v-model="queryParams.unit"
placeholder="请输入计量单位"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="排序" prop="projectSort">
<el-input
v-model="queryParams.projectSort"
placeholder="请输入排序"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="备注信息" prop="projectRemark">
<el-input
v-model="queryParams.projectRemark"
placeholder="请输入备注信息"
clearable
@keyup.enter.native="handleQuery"
/>
</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-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['manage:project:add']"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['manage:project:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['manage:project:remove']"
>删除</el-button
>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['manage:project:export']"
>导出</el-button
>
</el-col> -->
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table
v-loading="loading"
:data="projectList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="主键id" align="center" prop="id" /> -->
<el-table-column label="所属分组" align="center" prop="groupName" />
<!-- <el-table-column label="分组名称" align="center" prop="groupName" /> -->
<el-table-column label="项目名称" align="center" prop="projectName" />
<el-table-column label="项目编码" align="center" prop="projectCode" />
<el-table-column label="项目别名" align="center" prop="projectAlias" />
<el-table-column label="是否启用" align="center" prop="enableStatus">
<template slot-scope="scope">
{{ scope.row.enableStatus == "0" ? "否" : "" }}
{{ scope.row.enableStatus == "1" ? "是" : "" }}
</template>
</el-table-column>
<el-table-column label="判断模式" align="center" prop="judgeMode">
<template slot-scope="scope">
{{ scope.row.judgeMode == "QUANTIFY" ? "定量" : "" }}
{{ scope.row.judgeMode == "QUALITATIVE" ? "定性" : "" }}
</template>
</el-table-column>
<el-table-column label="项目指标最大值" align="center" prop="maxValue" />
<el-table-column label="项目指标最小值" align="center" prop="minValue" />
<el-table-column
label="项目指标默认值"
align="center"
prop="defaultValue"
/>
<el-table-column label="LIS对照" align="center" prop="lisCompare" />
<el-table-column label="计量单位" align="center" prop="projectUnit" />
<el-table-column label="排序" align="center" prop="projectSort" />
<el-table-column label="备注信息" align="center" prop="projectRemark" />
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
width="100"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['manage:project:edit']"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['manage:project:remove']"
>删除</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-dialog :title="title" :visible.sync="open" width="850px" append-to-body>
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="120px"
:inline="true"
>
<el-form-item label="所属分组" prop="groupId">
<el-button
type=""
v-if="form.groupName == '请选择所属分组'"
@click="clickinnerVisible()"
style="
width: 208px;
text-align: left;
height: 36px;
color: #c0c4cc;
overflow: hidden;
"
>{{ form.groupName }}</el-button
>
<el-button
@click="clickinnerVisible()"
type=""
v-else
style="
width: 208px;
text-align: left;
height: 36px;
padding-left: -10px;
overflow: hidden;
"
>{{ form.groupName }}</el-button
>
<!-- <el-cascader
:props="{ checkStrictly: true }"
:options="treeOptions"
@change="change($event)"
style="width: 205px"
v-model="form.parentId"
:show-all-levels="false"
clearable
ref="cascader"
:key="isResouceShow"
></el-cascader> -->
<!-- <el-select
v-model="form.parentId"
placeholder="请选择所属分组"
style="width: 208px"
>
<el-option
v-for="item in option"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select> -->
<!-- <el-input v-model="form.groupId" placeholder="请输入所属分组" /> -->
</el-form-item>
<!-- <el-form-item label="分组名称" prop="groupName">
<el-input v-model="form.groupName" placeholder="请输入分组名称" />
</el-form-item> -->
<el-form-item label="项目名称" prop="projectName">
<el-input
v-model="form.projectName"
placeholder="请输入项目名称"
maxlength="100"
/>
</el-form-item>
<el-form-item label="项目编码" prop="projectCode">
<el-input v-model="form.projectCode" placeholder="请输入项目编码" />
</el-form-item>
<el-form-item label="项目别名" prop="projectAlias">
<el-input
v-model="form.projectAlias"
placeholder="请输入项目别名"
maxlength="100"
/>
</el-form-item>
<el-form-item label="判断模式" prop="judgeMode">
<el-select
v-model="form.judgeMode"
placeholder="请选择"
style="width: 208px"
>
<el-option
v-for="item in options"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="项目指标默认值" prop="defaultValue">
<el-input
v-model="form.defaultValue"
placeholder="请输入项目指标默认值"
/>
</el-form-item>
<el-form-item label="项目指标最小值" prop="minValue">
<el-input
v-model="form.minValue"
placeholder="请输入项目指标最小值"
/>
</el-form-item>
<el-form-item label="项目指标最大值" prop="maxValue">
<el-input
v-model="form.maxValue"
placeholder="请输入项目指标最大值"
/>
</el-form-item>
<el-form-item label="LIS对照" prop="lisCompare">
<el-input v-model="form.lisCompare" placeholder="请输入LIS对照" />
</el-form-item>
<el-form-item label="计量单位" prop="projectUnit">
<el-input v-model="form.projectUnit" placeholder="请输入计量单位" />
</el-form-item>
<el-form-item label="排序" prop="projectSort">
<el-input-number
v-model="form.projectSort"
controls-position="right"
:min="0"
/>
<!-- <el-input v-model="form.projectSort" placeholder="请输入排序" /> -->
</el-form-item>
<el-form-item label="备注信息" prop="projectRemark">
<el-input
v-model="form.projectRemark"
placeholder="请输入备注信息"
maxlength="100"
/>
</el-form-item>
<el-form-item label="是否启用" prop="enableStatus">
<el-radio-group v-model="form.enableStatus" size="small">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 分组弹框 -->
<el-dialog
title=""
:visible.sync="innerVisibleshow"
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="groupName" label-width="120">
<el-input
v-model="informationqueryParams.groupName"
placeholder="请输入分组名称"
clearable
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
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>
<el-table
:data="infolist"
@cell-dblclick="nurseclick"
v-loading="loading"
>
<el-table-column label="请选择" width="100" align="center">
<template slot-scope="scope">
<el-button
type="primary"
style="width: 15px; height: 15px"
v-if="form.groupId == 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>
</el-table-column>
<el-table-column
property="groupName"
label="分组名称"
align="center"
:show-overflow-tooltip="true"
>
</el-table-column>
</el-table>
<pagination
v-show="totaldepartment > 0"
:total="totaldepartment"
:page.sync="informationqueryParams.pageNum"
:limit.sync="informationqueryParams.pageSize"
@pagination="informationInfoinfo"
/>
</el-dialog>
</div>
</template>
<script>
import {
listProject,
getProject,
delProject,
addProject,
updateProject,
} from "@/api/manage/project";
import { getAgencytype } from "@/api/system/agency";
import { listProjectgroup } from "@/api/manage/projectgroup";
export default {
name: "Project",
data() {
return {
innerVisibleshow: false,
options: [
// {
// value: "QUANTIFY",
// label: "",
// },
// {
// value: "QUALITATIVE",
// label: "",
// },
],
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
informationqueryParams: {
pageNum: 1,
pageSize: 10,
departmentName: null,
},
//
projectList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
groupId: null,
groupName: null,
projectName: null,
projectCode: null,
projectAlias: null,
enableStatus: null,
judgeMode: null,
maxValue: null,
minValue: null,
defaultValue: null,
lisCompare: null,
projectUnit: null,
projectSort: null,
projectRemark: null,
},
//
form: {},
infolist: [],
totaldepartment: 0,
//
rules: {
groupId: [
{
required: true,
message: "所属分组不能为空",
trigger: "blur",
},
],
projectName: [
{
required: true,
message: "项目名称不能为空",
trigger: "blur",
},
],
projectCode: [
{
required: true,
message: "项目编码不能为空",
trigger: "blur",
},
],
},
isResouceShow: 1,
};
},
created() {
this.getList();
this.info();
},
methods: {
info() {
var dictType = "project_judge_mode";
getAgencytype(dictType).then((res) => {
this.options = res.data;
});
},
//
addresetQuerylist() {
this.informationqueryParams = {
pageNum: 1,
pageSize: 10,
};
this.informationInfoinfo();
},
innerVisiblecancel() {
this.innerVisibleshow = false;
},
//
nurseclick(row) {
console.log(row);
this.form.groupId = row.id;
this.form.groupName = row.groupName;
// console.log(this.departmentName, "0000");
this.innerVisibleshow = false;
},
//
informationInfoinfo() {
listProjectgroup(this.informationqueryParams).then((response) => {
this.infolist = response.rows;
this.totaldepartment = response.total;
this.loading = false;
});
// this.informationqueryParams.page = 1;
},
//
clickinnerVisible() {
this.innerVisibleshow = true;
if (this.itemname) {
this.informationqueryParams.departmentId = this.itemname;
} else {
this.informationqueryParams.departmentId = null;
}
this.informationInfoinfo();
},
/** 查询检测项目列表 */
getList() {
this.loading = true;
listProject(this.queryParams).then((response) => {
this.projectList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
groupId: null,
groupName: null,
projectName: null,
projectCode: null,
projectAlias: null,
enableStatus: 1,
judgeMode: null,
maxValue: null,
minValue: null,
defaultValue: null,
lisCompare: null,
projectUnit: null,
projectSort: undefined,
projectRemark: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
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;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.form.groupName = "请选择所属分组";
this.title = "添加检测项目";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getProject(id).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改检测项目";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
if (
this.form.minValue &&
this.form.maxValue &&
Number(this.form.minValue) >= this.form.maxValue
) {
this.$message.error("项目指标最小值必须小于项目指标最大值");
} else {
if (this.form.id != null) {
updateProject(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addProject(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal
.confirm('是否确认删除检测项目编号为"' + ids + '"的数据项?')
.then(function () {
return delProject(ids);
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download(
"manage/project/export",
{
...this.queryParams,
},
`project_${new Date().getTime()}.xlsx`
);
},
},
};
</script>

View File

@ -0,0 +1,409 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="所属患者" prop="patientId">
<el-input
v-model="queryParams.patientId"
placeholder="请输入患者"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<el-form-item label="患者姓名" prop="patientName">
<el-input
v-model="queryParams.patientName"
placeholder="请输入患者姓名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="身份证号" prop="cardNo">
<el-input
v-model="queryParams.cardNo"
placeholder="请输入身份证号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="设备名称" prop="deviceName">
<el-input
v-model="queryParams.deviceName"
placeholder="请输入设备名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="设备编码" prop="deviceCode">
<el-input
v-model="queryParams.deviceCode"
placeholder="请输入设备编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="备注信息" prop="deviceRemark">
<el-input
v-model="queryParams.deviceRemark"
placeholder="请输入备注信息"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="设备绑定时间" prop="deviceBindTime">
<el-date-picker clearable
v-model="queryParams.deviceBindTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择设备绑定时间">
</el-date-picker>
</el-form-item>
<el-form-item label="设备解绑时间" prop="deviceUnbindTime">
<el-date-picker clearable
v-model="queryParams.deviceUnbindTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择设备解绑时间">
</el-date-picker>
</el-form-item>
<el-form-item label="设备IP地址" prop="deviceIp">
<el-input
v-model="queryParams.deviceIp"
placeholder="请输入设备IP地址"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="设备端口" prop="devicePort">
<el-input
v-model="queryParams.devicePort"
placeholder="请输入设备端口"
clearable
@keyup.enter.native="handleQuery"
/>
</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-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['manage:projectdevice:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['manage:projectdevice:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['manage:projectdevice:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['manage:projectdevice:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="projectdeviceList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="主键id" align="center" prop="id" /> -->
<el-table-column label="患者" align="center" prop="patientId" />
<el-table-column label="患者姓名" align="center" prop="patientName" />
<el-table-column label="身份证号" align="center" prop="cardNo" />
<el-table-column label="设备类型" align="center" prop="deviceType" >
<template slot-scope="scope">
{{ scope.row.deviceType=="GLUCOSE_METER" ?"血糖仪" :""}}
{{ scope.row.deviceType=="BLOOD_PRESSURE_DEVICE" ?"血压计" :""}}
</template>
</el-table-column>
<el-table-column label="设备名称" align="center" prop="deviceName" />
<el-table-column label="设备编码" align="center" prop="deviceCode" />
<el-table-column label="设备状态" align="center" prop="deviceStatus" />
<el-table-column label="备注信息" align="center" prop="deviceRemark" />
<el-table-column label="设备绑定时间" align="center" prop="deviceBindTime" >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.deviceBindTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="设备解绑时间" align="center" prop="deviceUnbindTime" >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.deviceUnbindTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="设备IP地址" align="center" prop="deviceIp" />
<el-table-column label="设备端口" align="center" prop="devicePort" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@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>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
: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-form ref="form" :model="form" :rules="rules" label-width="120px" :inline="true">
<el-form-item label="患者id" prop="patientId">
<el-input v-model="form.patientId" placeholder="请输入患者id" />
</el-form-item>
<el-form-item label="患者姓名" prop="patientName">
<el-input v-model="form.patientName" placeholder="请输入患者姓名" />
</el-form-item>
<el-form-item label="身份证号" prop="cardNo">
<el-input v-model="form.cardNo" placeholder="请输入身份证号" />
</el-form-item>
<el-form-item label="设备名称" prop="deviceName">
<el-input v-model="form.deviceName" placeholder="请输入设备名称" />
</el-form-item>
<el-form-item label="设备编码" prop="deviceCode">
<el-input v-model="form.deviceCode" placeholder="请输入设备编码" />
</el-form-item>
<el-form-item label="备注信息" prop="deviceRemark">
<el-input v-model="form.deviceRemark" placeholder="请输入备注信息" />
</el-form-item>
<el-form-item label="设备绑定时间" prop="deviceBindTime">
<el-date-picker clearable
v-model="form.deviceBindTime"
type="date"
style="width: 208px;"
value-format="yyyy-MM-dd"
placeholder="请选择设备绑定时间">
</el-date-picker>
</el-form-item>
<el-form-item label="设备解绑时间" prop="deviceUnbindTime">
<el-date-picker clearable
style="width: 208px;"
v-model="form.deviceUnbindTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择设备解绑时间">
</el-date-picker>
</el-form-item>
<el-form-item label="设备IP地址" prop="deviceIp">
<el-input v-model="form.deviceIp" placeholder="请输入设备IP地址" />
</el-form-item>
<el-form-item label="设备端口" prop="devicePort">
<el-input v-model="form.devicePort" placeholder="请输入设备端口" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listProjectdevice, getProjectdevice, delProjectdevice, addProjectdevice, updateProjectdevice } from "@/api/manage/projectdevice";
export default {
name: "Projectdevice",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
projectdeviceList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
patientId: null,
patientName: null,
cardNo: null,
deviceType: null,
deviceName: null,
deviceCode: null,
deviceStatus: null,
deviceRemark: null,
deviceBindTime: null,
deviceUnbindTime: null,
deviceIp: null,
devicePort: null,
},
//
form: {},
//
rules: {
patientId: [
{ required: true, message: "患者id不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询检测项目设备列表 */
getList() {
this.loading = true;
listProjectdevice(this.queryParams).then(response => {
this.projectdeviceList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
patientId: null,
patientName: null,
cardNo: null,
deviceType: null,
deviceName: null,
deviceCode: null,
deviceStatus: "0",
deviceRemark: null,
deviceBindTime: null,
deviceUnbindTime: null,
deviceIp: null,
devicePort: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
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
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加检测项目设备";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getProjectdevice(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改检测项目设备";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateProjectdevice(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addProjectdevice(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除检测项目设备编号为"' + ids + '"的数据项?').then(function() {
return delProjectdevice(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('manage/projectdevice/export', {
...this.queryParams
}, `projectdevice_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -0,0 +1,598 @@
<template>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<!-- <el-form-item label="上级分组id" prop="parentId">
<el-input
v-model="queryParams.parentId"
placeholder="请输入上级分组id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<el-form-item label="分组名称" prop="groupName">
<el-input
v-model="queryParams.groupName"
placeholder="请输入分组名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="分组编码" prop="groupCode">
<el-input
v-model="queryParams.groupCode"
placeholder="请输入分组编码"
clearable
@keyup.enter.native="handleQuery"
/>
</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-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['manage:projectgroup:add']"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['manage:projectgroup:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['manage:projectgroup:remove']"
>删除</el-button
>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['manage:projectgroup:export']"
>导出</el-button
>
</el-col> -->
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table
v-loading="loading"
:data="projectgroupList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="主键id" align="center" prop="id" /> -->
<!-- <el-table-column label="上级分组" align="center" prop="parentId" /> -->
<el-table-column label="分组名称" align="center" prop="groupName" />
<el-table-column label="分组编码" align="center" prop="groupCode" />
<el-table-column label="是否启用" align="center" prop="enableStatus">
<template slot-scope="scope">
{{ scope.row.enableStatus == "0" ? "否" : "" }}
{{ scope.row.enableStatus == "1" ? "是" : "" }}
</template>
</el-table-column>
<el-table-column label="排序" align="center" prop="groupSort" />
<el-table-column label="备注信息" align="center" prop="groupRemark" />
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['manage:projectgroup:edit']"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['manage:projectgroup:remove']"
>删除</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-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="80px"
:inline="true"
>
<!-- <el-form-item label="上级分组" prop="parentId">
<el-cascader
:props="{ checkStrictly: true }"
:options="treeOptions"
@change="change($event)"
style="width: 250px"
v-model="form.parentId"
:show-all-levels="false"
clearable
ref="cascader"
:key="isResouceShow"
></el-cascader> -->
<!-- <el-select v-model="form.parentId" placeholder="请选择" style="width:250px">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select> -->
<!-- <el-input v-model="form.parentId" placeholder="请输入上级分组" /> -->
<!-- </el-form-item> -->
<div v-for="(aitem, index) in form.list" :key="index">
<el-form-item
label="分组名称"
:rules="rules.list.groupName"
:prop="`list.${index}.groupName`"
>
<el-input
v-model="aitem.groupName"
maxlength="100"
placeholder="请输入分组名称"
style="width: 250px"
/>
</el-form-item>
<el-form-item
label="是否启用"
:rules="rules.list.enableStatus"
:prop="`list.${index}.enableStatus`"
>
<el-radio-group v-model="aitem.enableStatus" size="small">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
<!-- <br /> -->
<el-form-item
label="排序"
:rules="rules.list.groupSort"
:prop="`list.${index}.groupSort`"
>
<el-input-number
v-model="aitem.groupSort"
controls-position="right"
:min="0"
style="width: 250px"
/>
</el-form-item>
<el-form-item
label="备注信息"
:rules="rules.list.groupRemark"
:prop="`list.${index}.groupRemark`"
>
<el-input
maxlength="100"
v-model="aitem.groupRemark"
placeholder="请输入备注信息"
style="width: 250px"
/>
</el-form-item>
<!-- <br /> -->
<el-button
type="primary"
plain
icon="el-icon-circle-plus-outline"
style="margin-top: 2px; margin-left: 6px"
v-if="index == 0"
@click="addnurseClassifyitem"
></el-button>
<!-- circle -->
<el-button
type="danger"
icon="el-icon-delete"
plain
style="margin-top: 2px; margin-left: 6px"
v-if="index != 0"
@click="delnurseClassifyitem(index)"
></el-button>
</div>
<!-- <el-form-item label="分组编码" prop="groupCode">
<el-input v-model="form.groupCode" placeholder="请输入分组编码" style="width:250px"/>
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 修改 -->
<el-dialog
:title="title"
:visible.sync="openedit"
width="900px"
append-to-body
>
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="80px"
:inline="true"
>
<el-form-item label="分组名称" prop="groupName">
<el-input
maxlength="100"
v-model="form.groupName"
placeholder="请输入分组名称"
style="width: 250px"
/>
</el-form-item>
<el-form-item label="是否启用" prop="enableStatus">
<el-radio-group v-model="form.enableStatus" size="small">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</el-form-item>
<!-- <br /> -->
<el-form-item label="排序" prop="groupSort">
<el-input-number
v-model="form.groupSort"
controls-position="right"
:min="0"
style="width: 250px"
/>
</el-form-item>
<el-form-item label="备注信息" prop="groupRemark">
<el-input
maxlength="100"
v-model="form.groupRemark"
placeholder="请输入备注信息"
style="width: 250px"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancels"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { agencyList } from "@/api/system/agency";
import {
listProjectgroup,
getProjectgroup,
delProjectgroup,
addProjectgroup,
updateProjectgroup,
} from "@/api/manage/projectgroup";
export default {
name: "Projectgroup",
data() {
return {
treeOptions: [],
options: [
{
value: "选项1",
label: "黄金糕",
},
],
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
projectgroupList: [],
//
title: "",
//
open: false,
openedit: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
parentId: null,
groupName: null,
groupCode: null,
enableStatus: null,
groupSort: undefined,
groupRemark: null,
},
//
form: {},
// formedit:{},
//
rules: {
groupName: [
{
required: true,
message: "请输入分组名称",
trigger: "blur",
},
],
list: {
groupName: [
{
required: true,
message: "请输入分组名称",
trigger: "blur",
},
],
},
},
isResouceShow: 1,
};
},
created() {
this.gettreelist();
this.getList();
},
methods: {
//item
delnurseClassifyitem(index) {
this.form.list.splice(index, 1);
},
//item
addnurseClassifyitem() {
this.idd++;
var obj = {
groupName: null,
id: null,
// parentId: null,
groupCode: null,
enableStatus: null,
groupSort: undefined,
groupRemark: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
serviceContent: null,
idd: this.idd,
};
if (this.form.list.length == 5) {
this.$message.error("最多批量添加5条");
} else {
this.form.list.push(obj);
console.log(this.form);
}
},
//
gettreelist() {
agencyList().then((res) => {
//
// this.deptOptions = res.data;
this.treeOptions = res.data.map((item) => {
return { value: item.id, ...item };
});
// this.treeOption = {
// lazy: true,
// checkStrictly: true,
// lazyLoad: this.lazyLoad,
// };
console.log(res.data, "58", this.treeOptions);
});
},
change(e) {
console.log(e, "78");
// console.log(this.$refs.cascader)
// this.form.parentId = e;
if (e) {
this.form.parentId = e[e.length - 1];
}
},
/** 查询检测项目分组列表 */
getList() {
this.loading = true;
listProjectgroup(this.queryParams).then((response) => {
this.projectgroupList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
cancels() {
this.openedit = false;
this.reset();
},
// enableStatus
//
reset() {
this.form = {
groupName: null,
id: null,
// parentId: null,
groupCode: null,
enableStatus: 1,
groupSort: undefined,
groupRemark: null,
// delFlag: null,
// createBy: null,
// createTime: null,
// updateBy: null,
// updateTime: null,
list: [
{
groupName: null,
id: null,
// parentId: null,
groupCode: null,
enableStatus: null,
groupSort: undefined,
groupRemark: null,
// delFlag: null,
// createBy: null,
// createTime: null,
// updateBy: null,
// updateTime: null,
idd: this.idd,
},
],
};
this.resetForm("form");
},
/** 搜索按钮操作 */
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;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
// this.form.list.enableStatus = "1";
this.title = "添加检测项目分组";
},
/** 修改按钮操作 */
handleUpdate(row) {
console.log(row);
this.reset();
const id = row.id || this.ids;
getProjectgroup(id).then((response) => {
this.form = response.data;
// if(response.data.)
response.data.enableStatus;
this.openedit = true;
this.title = "修改检测项目分组";
});
},
/** 提交按钮 */
submitForm() {
console.log(this.form);
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != null) {
updateProjectgroup(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.openedit = false;
this.getList();
});
} else {
addProjectgroup(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal
.confirm('是否确认删除检测项目分组编号为"' + ids + '"的数据项?')
.then(function () {
return delProjectgroup(ids);
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download(
"manage/projectgroup/export",
{
...this.queryParams,
},
`projectgroup_${new Date().getTime()}.xlsx`
);
},
},
};
</script>

View File

@ -0,0 +1,640 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<!-- <el-form-item label="患者id" prop="patientId">
<el-input
v-model="queryParams.patientId"
placeholder="请输入患者id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<el-form-item label="患者姓名" prop="patientName">
<el-input
v-model="queryParams.patientName"
placeholder="请输入患者姓名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="患者身份证号" prop="cardNo">
<el-input
v-model="queryParams.cardNo"
placeholder="请输入患者身份证号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="批次表id" prop="batchId">
<el-input
v-model="queryParams.batchId"
placeholder="请输入批次表id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="批次名称" prop="batchName">
<el-input
v-model="queryParams.batchName"
placeholder="请输入批次名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="分组id" prop="groupId">
<el-input
v-model="queryParams.groupId"
placeholder="请输入分组id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="分组名称" prop="groupName">
<el-input
v-model="queryParams.groupName"
placeholder="请输入分组名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="项目id" prop="projectId">
<el-input
v-model="queryParams.projectId"
placeholder="请输入项目id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="项目名称" prop="projectName">
<el-input
v-model="queryParams.projectName"
placeholder="请输入项目名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="检测设备id" prop="deviceId">
<el-input
v-model="queryParams.deviceId"
placeholder="请输入检测设备id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="检测设备名称" prop="deviceName">
<el-input
v-model="queryParams.deviceName"
placeholder="请输入检测设备名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="项目别名" prop="projectAlias">
<el-input
v-model="queryParams.projectAlias"
placeholder="请输入项目别名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<!-- <el-form-item label="判断模式定量QUANTIFY定性QUALITATIVE" prop="judgeMode">
<el-input
v-model="queryParams.judgeMode"
placeholder="请输入判断模式定量QUANTIFY定性QUALITATIVE"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<!-- <el-form-item label="检测结果,数字或文字描述" prop="measureResult">
<el-input
v-model="queryParams.measureResult"
placeholder="请输入检测结果,数字或文字描述"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="项目指标最大值" prop="maxValue">
<el-input
v-model="queryParams.maxValue"
placeholder="请输入项目指标最大值"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="项目指标最小值" prop="minValue">
<el-input
v-model="queryParams.minValue"
placeholder="请输入项目指标最小值"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="项目指标默认值" prop="defaultValue">
<el-input
v-model="queryParams.defaultValue"
placeholder="请输入项目指标默认值"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="LIS对照" prop="lisCompare">
<el-input
v-model="queryParams.lisCompare"
placeholder="请输入LIS对照"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="检测时间" prop="measureTime">
<el-date-picker clearable
v-model="queryParams.measureTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择检测时间">
</el-date-picker>
</el-form-item>
<el-form-item label="检测人姓名" prop="measureName">
<el-input
v-model="queryParams.measureName"
placeholder="请输入检测人姓名,自动上传时为空,手动上传为上传人姓名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="备注信息" prop="recordRemark">
<el-input
v-model="queryParams.recordRemark"
placeholder="请输入备注信息"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<!-- <el-form-item label="合格标识合格QUALIFIED不合格NOT_QUALIFIED" prop="qualifiedSign">
<el-input
v-model="queryParams.qualifiedSign"
placeholder="请输入合格标识合格QUALIFIED不合格NOT_QUALIFIED"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<!-- <el-form-item label="检测结果附件路径" prop="measureResultPath">
<el-input
v-model="queryParams.measureResultPath"
placeholder="请输入检测结果附件路径"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<!-- <el-form-item label="计量单位" prop="unit">
<el-input
v-model="queryParams.unit"
placeholder="请输入计量单位"
clearable
@keyup.enter.native="handleQuery"
/>
</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-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['manage:projectresult:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['manage:projectresult:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['manage:projectresult:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['manage:projectresult:export']"
>导出</el-button>
</el-col> -->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="projectresultList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="主键id" align="center" prop="id" /> -->
<!-- <el-table-column label="患者id" align="center" prop="patientId" /> -->
<el-table-column label="患者姓名" align="center" prop="patientName" />
<el-table-column label="患者身份证号" align="center" prop="cardNo" />
<!-- <el-table-column label="批次表id" align="center" prop="batchId" /> -->
<el-table-column label="批次名称" align="center" prop="batchName" />
<!-- <el-table-column label="分组id" align="center" prop="groupId" /> -->
<el-table-column label="分组名称" align="center" prop="groupName" />
<!-- <el-table-column label="项目id" align="center" prop="projectId" /> -->
<el-table-column label="项目名称" align="center" prop="projectName" />
<!-- <el-table-column label="检测设备id" align="center" prop="deviceId" /> -->
<el-table-column label="检测设备名称" align="center" prop="deviceName" />
<el-table-column label="项目别名" align="center" prop="projectAlias" />
<el-table-column label="判断模式" align="center" prop="judgeMode" >
<template slot-scope="scope">
{{ scope.row.judgeMode == "QUANTIFY" ? "定量" : "" }}
{{ scope.row.judgeMode == "QUALITATIVE" ? "定性" : "" }}
</template>
</el-table-column>
<el-table-column label="检测结果" align="center" prop="measureResult" />
<el-table-column label="项目指标最大值" align="center" prop="maxValue" />
<el-table-column label="项目指标最小值" align="center" prop="minValue" />
<el-table-column label="项目指标默认值" align="center" prop="defaultValue" />
<el-table-column label="LIS对照" align="center" prop="lisCompare" />
<el-table-column label="检测时间" align="center" prop="measureTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.measureTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="检测人姓名" align="center" prop="measureName" />
<el-table-column label="备注信息" align="center" prop="recordRemark" />
<el-table-column label="合格标识" align="center" prop="qualifiedSign" >
<template slot-scope="scope">
{{ scope.row.judgeMode == "QUALIFIED" ? "合格" : "" }}
{{ scope.row.judgeMode == "NOT_QUALIFIED" ? "不合格" : "" }}
</template>
</el-table-column>
<el-table-column label="检测结果附件路径" align="center" prop="measureResultPath" />
<el-table-column label="计量单位" align="center" prop="unit" />
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['manage:projectresult:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['manage:projectresult:remove']"
>删除</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-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :inline="true">
<el-form-item label="患者id" prop="patientId">
<el-input v-model="form.patientId" placeholder="请输入患者id" />
</el-form-item>
<el-form-item label="患者姓名" prop="patientName">
<el-input v-model="form.patientName" placeholder="请输入患者姓名" />
</el-form-item>
<el-form-item label="患者身份证号" prop="cardNo">
<el-input v-model="form.cardNo" placeholder="请输入患者身份证号" />
</el-form-item>
<el-form-item label="批次表id" prop="batchId">
<el-input v-model="form.batchId" placeholder="请输入批次表id" />
</el-form-item>
<el-form-item label="批次名称" prop="batchName">
<el-input v-model="form.batchName" placeholder="请输入批次名称" />
</el-form-item>
<el-form-item label="分组id" prop="groupId">
<el-input v-model="form.groupId" placeholder="请输入分组id" />
</el-form-item>
<el-form-item label="分组名称" prop="groupName">
<el-input v-model="form.groupName" placeholder="请输入分组名称" />
</el-form-item>
<el-form-item label="项目id" prop="projectId">
<el-input v-model="form.projectId" placeholder="请输入项目id" />
</el-form-item>
<el-form-item label="项目名称" prop="projectName">
<el-input v-model="form.projectName" placeholder="请输入项目名称" />
</el-form-item>
<el-form-item label="检测设备id" prop="deviceId">
<el-input v-model="form.deviceId" placeholder="请输入检测设备id" />
</el-form-item>
<el-form-item label="检测设备名称" prop="deviceName">
<el-input v-model="form.deviceName" placeholder="请输入检测设备名称" />
</el-form-item>
<el-form-item label="项目别名" prop="projectAlias">
<el-input v-model="form.projectAlias" placeholder="请输入项目别名" />
</el-form-item>
<el-form-item label="判断模式" prop="judgeMode">
<el-select
v-model="form.parentId"
placeholder="请选择"
style="width: 208px"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<!-- <el-input v-model="form.judgeMode" placeholder="请输入判断模式定量QUANTIFY定性QUALITATIVE" /> -->
</el-form-item>
<el-form-item label="检测结果" prop="measureResult">
<el-input v-model="form.measureResult" placeholder="请输入检测结果,数字或文字描述" />
</el-form-item>
<el-form-item label="项目指标最大值" prop="maxValue">
<el-input v-model="form.maxValue" placeholder="请输入项目指标最大值" />
</el-form-item>
<el-form-item label="项目指标最小值" prop="minValue">
<el-input v-model="form.minValue" placeholder="请输入项目指标最小值" />
</el-form-item>
<el-form-item label="项目指标默认值" prop="defaultValue">
<el-input v-model="form.defaultValue" placeholder="请输入项目指标默认值" />
</el-form-item>
<el-form-item label="LIS对照" prop="lisCompare">
<el-input v-model="form.lisCompare" placeholder="请输入LIS对照" />
</el-form-item>
<el-form-item label="检测时间" prop="measureTime">
<el-date-picker clearable
v-model="form.measureTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择检测时间">
</el-date-picker>
</el-form-item>
<el-form-item label="检测人姓名,自动上传时为空,手动上传为上传人姓名" prop="measureName">
<el-input v-model="form.measureName" placeholder="请输入检测人姓名,自动上传时为空,手动上传为上传人姓名" />
</el-form-item>
<el-form-item label="备注信息" prop="recordRemark">
<el-input v-model="form.recordRemark" placeholder="请输入备注信息" />
</el-form-item>
<el-form-item label="合格标识" prop="qualifiedSign">
<el-select
v-model="form.qualifiedSign"
placeholder="请选择"
style="width: 208px"
>
<el-option
v-for="item in option"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<!-- <el-input v-model="form.qualifiedSign" placeholder="请输入合格标识合格QUALIFIED不合格NOT_QUALIFIED" /> -->
</el-form-item>
<el-form-item label="检测结果附件路径" prop="measureResultPath">
<el-input v-model="form.measureResultPath" placeholder="请输入检测结果附件路径" />
</el-form-item>
<el-form-item label="计量单位" prop="unit">
<el-input v-model="form.unit" placeholder="请输入计量单位" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listProjectresult, getProjectresult, delProjectresult, addProjectresult, updateProjectresult } from "@/api/manage/projectresult";
export default {
name: "Projectresult",
data() {
return {
option:[
// NOT_QUALIFIED
{
value: "QUALIFIED",
label: "合格",
},
{
value: "NOT_QUALIFIED",
label: "不合格",
},
],
options: [
{
value: "QUANTIFY",
label: "定量",
},
{
value: "QUALITATIVE",
label: "定性",
},
],
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
projectresultList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
patientId: null,
patientName: null,
cardNo: null,
batchId: null,
batchName: null,
groupId: null,
groupName: null,
projectId: null,
projectName: null,
deviceId: null,
deviceName: null,
projectAlias: null,
judgeMode: null,
measureResult: null,
maxValue: null,
minValue: null,
defaultValue: null,
lisCompare: null,
measureTime: null,
measureName: null,
recordRemark: null,
qualifiedSign: null,
measureResultPath: null,
unit: null,
},
//
form: {},
//
rules: {
patientId: [
{ required: true, message: "患者id不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询检测项目结果列表 */
getList() {
this.loading = true;
listProjectresult(this.queryParams).then(response => {
this.projectresultList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
patientId: null,
patientName: null,
cardNo: null,
batchId: null,
batchName: null,
groupId: null,
groupName: null,
projectId: null,
projectName: null,
deviceId: null,
deviceName: null,
projectAlias: null,
judgeMode: null,
measureResult: null,
maxValue: null,
minValue: null,
defaultValue: null,
lisCompare: null,
measureTime: null,
measureName: null,
recordRemark: null,
qualifiedSign: null,
measureResultPath: null,
unit: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
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
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加检测项目结果";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getProjectresult(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改检测项目结果";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateProjectresult(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addProjectresult(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除检测项目结果编号为"' + ids + '"的数据项?').then(function() {
return delProjectresult(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('manage/projectresult/export', {
...this.queryParams
}, `projectresult_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -388,6 +388,14 @@
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="排序" prop="serviceSort">
<el-input-number
v-model="form.serviceSort"
controls-position="right"
:min="0"
style="width: 250px;"
/>
</el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
@ -508,9 +516,9 @@ export default {
serviceContent: [ serviceContent: [
{ required: true, message: "请输入服务内容", trigger: "blur" }, { required: true, message: "请输入服务内容", trigger: "blur" },
], ],
// serviceFrequencyEnd:[ serviceSort: [
// { required: true, message: "", trigger: "blur" }, { required: true, message: "请输入排序", trigger: "blur" },
// ], ],
// serviceFrequencyStart:[ // serviceFrequencyStart:[
// { required: true, message: "", trigger: "blur" }, // { required: true, message: "", trigger: "blur" },
// ], // ],
@ -628,8 +636,8 @@ export default {
itemdata(item) { itemdata(item) {
if (item) { if (item) {
console.log(item, "9999"); console.log(item, "9999");
this.form.serviceWayId=item.id this.form.serviceWayId = item.id;
this.form.serviceWayName=item.serviceWayName this.form.serviceWayName = item.serviceWayName;
// if(item.id==5){ // if(item.id==5){
// this.disabled=false // this.disabled=false
// }else{ // }else{
@ -688,7 +696,7 @@ export default {
serviceFrequencyText: null, serviceFrequencyText: null,
serviceFrequencyStart: null, serviceFrequencyStart: null,
serviceFrequencyEnd: null, serviceFrequencyEnd: null,
serviceSort: null, serviceSort: undefined,
serviceRemark: null, serviceRemark: null,
createBy: null, createBy: null,
createTime: null, createTime: null,
@ -743,7 +751,7 @@ export default {
this.disableedit = true; this.disableedit = true;
this.disabledcontent = true; this.disabledcontent = true;
console.log(row, "99999"); console.log(row, "99999");
this.reset(); this.reset();
getServicewaycontent(row.id).then((response) => { getServicewaycontent(row.id).then((response) => {
this.form = response.data; this.form = response.data;

View File

@ -1050,7 +1050,7 @@ export default {
}, },
}; };
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
.el-button--text { .el-button--text {
border-color: transparent; border-color: transparent;
color: #1890ff; color: #1890ff;
@ -1093,7 +1093,14 @@ export default {
} }
.el-cascader .el-input input::-webkit-input-placeholder { .el-cascader .el-input input::-webkit-input-placeholder {
color: #686a6d; color: black;
} }
.custom-tree-node {
// flex: 1;
// display: flex;
// align-items: center;
// justify-content: space-between;
// font-size: 14px;
padding-right: 28px;
}
</style> </style>

View File

@ -450,7 +450,7 @@ export default {
}, },
}; };
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
.el-cascader .el-input input::-webkit-input-placeholder { .el-cascader .el-input input::-webkit-input-placeholder {
color: #CCCFD6; color: #CCCFD6;
} }

View File

@ -1006,7 +1006,7 @@ export default {
margin: 22px; margin: 22px;
} }
</style> </style>
<style lang="scss"> <style lang="scss" scoped>
.el-cascader .el-input input::-webkit-input-placeholder { .el-cascader .el-input input::-webkit-input-placeholder {
color: #686a6d; color: #686a6d;
} }

View File

@ -176,11 +176,12 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="细分类别排序" prop="sort"> <el-form-item label="细分类别排序" prop="sort">
<el-input <el-input-number v-model="form.sort" controls-position="right" :min="0" placeholder="请输入排序" />
<!-- <el-input
maxlength="8" maxlength="8"
v-model="form.sort" v-model="form.sort"
placeholder="请输入细分类别排序" placeholder="请输入细分类别排序"
/> /> -->
</el-form-item> </el-form-item>
<el-form-item label="细分类别概述" prop="remark"> <el-form-item label="细分类别概述" prop="remark">
<el-input <el-input