feat: 病例管理页面

dev_病例管理
xiangcongshuai 10 months ago
parent 8c0663abf8
commit 27df2efab9

@ -19,6 +19,19 @@ export default {
roles: ["admin", "common"] roles: ["admin", "common"]
} }
}, },
{
path: "/generalRules/ConsultationResults",
name: "ConsultationResults",
component: () =>
import("@/views/generalRules/ConsultationResults/index.vue"),
meta: {
title: "问诊结果 ",
showLink: true,
showParent: true,
roles: ["admin", "common"]
}
},
{ {
path: "/generalRules/materialCenter", path: "/generalRules/materialCenter",
name: "MaterialCenter", name: "MaterialCenter",

@ -203,6 +203,25 @@ const selectOk = async (data: any) => {
border-left: 6px solid #4287ff; border-left: 6px solid #4287ff;
} }
} }
.header_right {
display: flex;
.btn {
width: 112px;
font-size: 16px;
}
}
.reset_btn {
width: 112px;
height: 40px;
border-radius: 6px 6px 6px 6px;
border: 1px solid #4287ff;
line-height: 40px;
text-align: center;
font-size: 16px;
color: #4287ff;
margin-right: 24px;
cursor: pointer;
}
} }
} }
</style> </style>

@ -173,6 +173,25 @@ const reset = () => {
border-left: 6px solid #4287ff; border-left: 6px solid #4287ff;
} }
} }
.header_right {
display: flex;
.btn {
width: 112px;
font-size: 16px;
}
}
.reset_btn {
width: 112px;
height: 40px;
border-radius: 6px 6px 6px 6px;
border: 1px solid #4287ff;
line-height: 40px;
text-align: center;
font-size: 16px;
color: #4287ff;
margin-right: 24px;
cursor: pointer;
}
} }
} }
</style> </style>

@ -112,6 +112,25 @@ const reset = () => {};
border-left: 6px solid #4287ff; border-left: 6px solid #4287ff;
} }
} }
.header_right {
display: flex;
.btn {
width: 112px;
font-size: 16px;
}
}
.reset_btn {
width: 112px;
height: 40px;
border-radius: 6px 6px 6px 6px;
border: 1px solid #4287ff;
line-height: 40px;
text-align: center;
font-size: 16px;
color: #4287ff;
margin-right: 24px;
cursor: pointer;
}
} }
} }
</style> </style>

@ -69,43 +69,12 @@ const reset = () => {
<span>处置计划</span> <span>处置计划</span>
</div> </div>
<div class="header_right"> <div class="header_right">
<div class="reset_btn">重置</div>
<el-button size="large" class="btn" @click="add" type="primary" <el-button size="large" class="btn" @click="add" type="primary"
>保存</el-button >保存</el-button
> >
</div> </div>
</div> </div>
<el-form
style="padding-right: 40px"
ref="ruleFormRef"
:model="seachForm"
label-width="80px"
>
<el-row>
<el-form-item label="类目" prop="patientGender">
<el-select
size="large"
filterable
style="width: 100%"
v-model="seachForm.type"
placeholder="请选择"
>
<el-option
v-for="item in typeList"
:key="item"
:label="item"
:value="item"
/>
</el-select>
</el-form-item>
<el-form-item label="问题">
<el-input size="large" v-model="seachForm.name" />
</el-form-item>
<el-button class="ml-8" size="large" @click="search" type="primary"
>搜索</el-button
>
<el-button size="large" @click="reset"></el-button>
</el-row>
</el-form>
<div style="padding: 0 40px"> <div style="padding: 0 40px">
<pure-table <pure-table
ref="tableRef" ref="tableRef"
@ -171,6 +140,25 @@ const reset = () => {
border-left: 6px solid #4287ff; border-left: 6px solid #4287ff;
} }
} }
.header_right {
display: flex;
.btn {
width: 112px;
font-size: 16px;
}
}
.reset_btn {
width: 112px;
height: 40px;
border-radius: 6px 6px 6px 6px;
border: 1px solid #4287ff;
line-height: 40px;
text-align: center;
font-size: 16px;
color: #4287ff;
margin-right: 24px;
cursor: pointer;
}
} }
} }
</style> </style>

@ -3,6 +3,7 @@ import ElectronicCase from "./compontents/ElectronicCase/index.vue";
import ClinicalConsultation from "./compontents/ClinicalConsultation/index.vue"; import ClinicalConsultation from "./compontents/ClinicalConsultation/index.vue";
import ClinicalDiagnosis from "./compontents/ClinicalDiagnosis/index.vue"; import ClinicalDiagnosis from "./compontents/ClinicalDiagnosis/index.vue";
import DiagnosticBasis from "./compontents/DiagnosticBasis/index.vue"; import DiagnosticBasis from "./compontents/DiagnosticBasis/index.vue";
import DisposalPlan from "./compontents/DisposalPlan/index.vue";
import { ref } from "vue"; import { ref } from "vue";
const activedIndex = ref(0); const activedIndex = ref(0);
const navList = ref([ const navList = ref([
@ -45,6 +46,7 @@ const changeType = val => {
<ClinicalConsultation v-if="activedIndex === 1" /> <ClinicalConsultation v-if="activedIndex === 1" />
<ClinicalDiagnosis v-if="activedIndex === 2" /> <ClinicalDiagnosis v-if="activedIndex === 2" />
<DiagnosticBasis v-if="activedIndex === 3" /> <DiagnosticBasis v-if="activedIndex === 3" />
<DisposalPlan v-if="activedIndex === 4" />
</div> </div>
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>

@ -0,0 +1,133 @@
<script setup lang="ts">
import { PaginationProps } from "@pureadmin/table";
import { reactive, ref } from "vue";
import { queryPageList } from "@/api/generalRules";
import { onMounted } from "vue";
defineOptions({
name: "ConsultationResults"
});
const dataList = ref([{}]);
const loading = ref(false);
const AddEditRef = ref(null);
const seachForm = reactive({
description: ""
});
const pagination = reactive<PaginationProps>({
total: 0,
pageSize: 10,
currentPage: 1,
background: true
});
const columns: TableColumnList = [
{
label: "问诊类目",
prop: "nameZhPath",
minWidth: 150
},
{
label: "问题",
prop: "description",
minWidth: 240
},
{
label: "回复",
prop: "defaultAnswer"
},
{
label: "操作",
fixed: "right",
slot: "operation"
}
];
const getData = async () => {
const params = {
pageNum: pagination.currentPage,
pageSize: pagination.pageSize,
description: seachForm.description
};
const res: any = await queryPageList(params);
dataList.value = res.data.records;
pagination.total = res.data.total;
};
function handleSizeChange(val: number) {
pagination.pageSize = val;
getData();
}
function handleCurrentChange(val: number) {
pagination.currentPage = val;
getData();
}
const search = () => {
pagination.currentPage = 1;
pagination.pageSize = 10;
getData();
};
const reset = () => {
seachForm.description = "";
search();
};
const add = () => {
AddEditRef.value.open();
};
const edit = item => {
AddEditRef.value.open(JSON.parse(JSON.stringify(item)));
};
onMounted(() => {
getData();
});
</script>
<template>
<div class="app-main-content">
<div class="seach">
<el-form :model="seachForm">
<el-row>
<el-form-item label="问题:">
<el-input size="large" v-model="seachForm.description" />
</el-form-item>
<el-button class="ml-8" size="large" @click="search" type="primary"
>搜索</el-button
>
<el-button size="large" @click="reset"></el-button>
</el-row>
</el-form>
</div>
<div class="main-table">
<div class="main-table-title">
<div class="title">
<div class="line" />
<span>问诊结果</span>
</div>
<el-row class="mb-6">
<el-button size="large" @click="add" type="primary"
>批量删除</el-button
>
</el-row>
</div>
<pure-table
align-whole="center"
showOverflowTooltip
table-layout="auto"
:loading="loading"
adaptive
:data="dataList"
:columns="columns"
:pagination="pagination"
:header-cell-style="{
background: 'var(--el-table-row-hover-bg-color)',
color: 'var(--el-text-color-primary)'
}"
@page-size-change="handleSizeChange"
@page-current-change="handleCurrentChange"
><template #operation="{ row }">
<el-button link type="primary" @click="edit(row)"></el-button>
</template>
</pure-table>
</div>
</div>
</template>
Loading…
Cancel
Save