新增若干功能页面

This commit is contained in:
旺仔 2024-07-30 10:54:21 +08:00
parent 4ac4b366d4
commit 6164920fb2
12 changed files with 1718 additions and 0 deletions

View File

@ -0,0 +1,13 @@
import request from '@/config/axios'
/*
*
* DeviceManageApi
*/
export const DeviceManageApi = {
}
/** 防空作用域 **/
console.log(request)

View File

@ -0,0 +1,13 @@
import request from '@/config/axios'
/*
*
* DiagnosisTemplateApi
*/
export const DiagnosisTemplateApi = {
}
/** 防空作用域 **/
console.log(request)

View File

@ -0,0 +1,13 @@
import request from '@/config/axios'
/*
*
* IllnessCaseApi
*/
export const IllnessCaseApi = {
}
/** 防空作用域 **/
console.log(request)

View File

@ -0,0 +1,13 @@
import request from '@/config/axios'
/*
*
* ReportPrintStatisticsApi
*/
export const ReportPrintStatisticsApi = {
}
/** 防空作用域 **/
console.log(request)

View File

@ -0,0 +1,51 @@
import request from '@/config/axios'
/*
*
* ReservationInfoApi
*/
export const ReservationInfoApi = {
/* 参考代码 */
// 查询医生管理分页
getPage: async (params: any) => {
return await request.get({ url: `/doctor//page`, params })
},
// 查询医生管理详情
get: async (id: number) => {
return await request.get({ url: `/doctor//get?id=` + id })
},
// 新增医生管理
create: async (data: any) => {
return await request.post({ url: `/doctor//create`, data })
},
// 修改医生管理
update: async (data: any) => {
return await request.put({ url: `/doctor//update`, data })
},
// 删除医生管理
delete: async (id: number) => {
return await request.delete({ url: `/doctor//delete?id=` + id })
},
// 导出医生管理 Excel
export: async (params) => {
return await request.download({ url: `/doctor//export-excel`, params })
},
}

View File

@ -0,0 +1,169 @@
<template>
<div>
<Dialog title="弹出框" v-model="dialogVisible" width="66%">
<el-form
ref="formRef" :model="formData" size="small" label-width="100px" label-position="right" label-suffix=""
class="-ml-34px">
<el-row>
<el-col :span="12">
<el-form-item label="科室" prop="it_" class="item-style">
<input style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="设备类型" prop="it_" class="item-style">
<input style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="名称" prop="it_" class="item-style">
<input style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="型号" prop="it_" class="item-style">
<input style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="生产商" prop="it_" class="item-style">
<input style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="生产商电话" prop="it_" class="item-style">
<input style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="销售商" prop="it_" class="item-style">
<input style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="销售商电话" prop="it_" class="item-style">
<input style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="设备状态" prop="it_" class="item-style">
<input style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="it_" class="item-style">
<input style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<div style="text-align: center;">
<el-button type="primary" @click="dialogVisible = true">保存</el-button>
<el-button @click="dialogVisible = false">取消</el-button>
</div>
</template>
</Dialog>
<!-- 可参考内容 -->
</div>
</template>
<script setup lang="ts">
import { dateFormatter } from '@/utils/formatTime'
import { DeviceManageApi } from '@/api/applyregistration/deviceManage'
defineOptions({ name: 'DeviceManageForm' })
/*
* 李传洋
* DeviceManageForm
**/
/** 导入内容 **/
/** 组件引用 **/
const formRef = ref()
/** 数据结构 **/
const message = useMessage()
const { t } = useI18n()
const dialogVisible = ref(false)
//
const formData0 = ref({
pageNo: 1,
pageSize: 10,
doctorName: undefined,
departmentName: undefined,
})
const formData = ref({
/** 测试数据 **/
it_1: '',
})
/****** 自定义内容 ******/
/****** 可参考内容 ******/
const openTest = () => {
dialogVisible.value = true
//
}
/** 组件事件 **/
/** 钩子方法 **/
onMounted(() => {
//ceshi
})
/** 防空作用域 **/
console.log(dateFormatter)
console.log(message)
console.log(t)
console.log(DeviceManageApi)
console.log(formData0)
//console.log(null)
/** 导出内容 **/
defineExpose({ openTest })
/**
* 备注
*
* **/
</script>
<style scoped>
.el-form-item__label {
white-space: nowrap;
}
.item-style {
margin-bottom: 6px;
}
.item-width {
width: 100%;
}
.date-picker :deep(.item-width) {
width: 100%;
}
.radio-group {
border: 1px solid #ececec;
}
</style>

View File

@ -0,0 +1,150 @@
<template>
<div>
<ContentWrap>
<el-form ref="queryFormRef" :model="queryParams" size="small" label-width="68px" label-position="right"
label-suffix="" class="-mb-15px">
<el-row>
<el-col :span="9">
<!-- Notes -->
<el-form-item label="科室" prop="it_1" class="item-style">
<el-select v-model="queryParams.it_1" placeholder="请选择科室" clearable class="item-width">
<el-option v-for="item in departmentList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="10">
<!-- Notes -->
<el-form-item label="名称/拼音码/型号" prop="it_2" label-width="120px" class="item-style">
<el-input v-model="queryParams.it_2" placeholder="请输入名称/拼音码/型号" clearable class="item-width" />
</el-form-item>
</el-col>
<el-col :span="5">
<!-- Notes -->
<el-form-item class="item-style">
<el-button>
<Icon icon="ep:search" class="mr-5px" /> 搜索
</el-button>
<el-button type="primary" plain @click="openFormTest()">
<Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</ContentWrap>
<ContentWrap>
<el-table v-loading="loading" size="small" border :stripe="true" :show-overflow-tooltip="true"
:data="list_devices">
aaaa
<!-- 数据列 -->
</el-table>
<div style="display: flex;justify-content: center;">
<Pagination small size="small" :total="total" v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize" />
</div>
</ContentWrap>
<DeviceManageForm ref="formRef" />
<!-- 可参考内容 -->
</div>
</template>
<script setup lang="ts">
import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download'
import { DeviceManageApi } from '@/api/applyregistration/deviceManage'
import DeviceManageForm from './DeviceManageForm.vue'
defineOptions({ name: 'DeviceManage' })
/*
* 李传洋
* 设备管理
**/
/** 导入内容 **/
/** 组件引用 **/
const queryFormRef = ref()
const formRef = ref()
/** 数据结构 **/
const message = useMessage()
const { t } = useI18n()
const departmentList = ref<any[]>([])
//
const queryParams0 = ref({
pageNo: 1,
pageSize: 10,
doctorName: undefined,
departmentName: undefined,
})
const queryParams = ref({
pageNo: 1,
pageSize: 10,
/** 测试数据 **/
it_1: '',
it_2: '',
})
//
const list_devices = ref<any[]>([])
const total = ref(5)
const loading = ref(false)
/****** 自定义内容 ******/
/****** 可参考内容 ******/
const openFormTest = () => {
formRef.value.openTest()
}
/** 组件事件 **/
/** 钩子方法 **/
onMounted(() => {
//ceshi
})
/** 防空作用域 **/
console.log(dateFormatter)
console.log(download)
console.log(message)
console.log(t)
console.log(DeviceManageApi)
console.log(DeviceManageForm)
console.log(queryParams0)
//console.log(null)
/** 导出内容 **/
/**
* 备注
*
* **/
</script>
<style scoped>
.el-form-item__label {
white-space: nowrap;
}
.item-style {
margin-bottom: 6px;
}
.item-width {
width: 100%;
}
.date-picker :deep(.item-width) {
width: 100%;
}
.radio-group {
border: 1px solid #ececec;
}
</style>

View File

@ -0,0 +1,141 @@
<template>
<div>
<Dialog title="弹出框" v-model="dialogVisible" width="60%">
<el-form ref="formRef" :model="formData" size="small" label-width="70px" label-position="top" label-suffix="">
<el-row>
<el-col :span="24">
<el-form-item label="节点" prop="it_1" class="item-style">
<el-input v-model="formData.it_1" placeholder="请输入节点" clearable class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="所见" prop="it_2" class="item-style">
<el-input v-model="formData.it_2" placeholder="请输入所见" type="textarea"
:autosize="{ minRows: 4, maxRows: 9 }" class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="所得" prop="it_3" class="item-style">
<el-input v-model="formData.it_3" placeholder="请输入所得" type="textarea"
:autosize="{ minRows: 4, maxRows: 9 }" class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="医生" prop="it_4" class="item-style">
<el-select v-model="formData.it_4" placeholder="请选择医生" clearable class="item-width">
<el-option v-for="item in doctorList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<div style="text-align: center;">
<el-button type="primary" @click="dialogVisible = true">保存</el-button>
<el-button @click="dialogVisible = false">取消</el-button>
</div>
</template>
</Dialog>
<!-- 可参考内容 -->
</div>
</template>
<script setup lang="ts">
import { dateFormatter } from '@/utils/formatTime'
import { DiagnosisTemplateApi } from '@/api/applyregistration/diagnosisTemplate'
defineOptions({ name: 'DiagnosisTemplateForm' })
/*
* 李传洋
* DiagnosisTemplateForm
**/
/** 导入内容 **/
/** 组件引用 **/
const formRef = ref()
/** 数据结构 **/
const message = useMessage()
const { t } = useI18n()
const dialogVisible = ref(false)
const doctorList = ref<any[]>([])
//
const formData0 = ref({
pageNo: 1,
pageSize: 10,
doctorName: undefined,
departmentName: undefined,
})
const formData = ref({
/** 测试数据 **/
it_1: '',
it_2: '',
it_3: '',
it_4: '',
})
/****** 自定义内容 ******/
/****** 可参考内容 ******/
const openTest = () => {
dialogVisible.value = true
//
}
/** 组件事件 **/
/** 钩子方法 **/
onMounted(() => {
//ceshi
})
/** 防空作用域 **/
console.log(dateFormatter)
console.log(message)
console.log(t)
console.log(DiagnosisTemplateApi)
console.log(formData0)
//console.log(null)
/** 导出内容 **/
defineExpose({ openTest })
/**
* 备注
*
* **/
</script>
<style scoped>
.el-form-item__label {
white-space: nowrap;
}
.item-style {
margin-bottom: 6px;
}
.item-width {
width: 100%;
}
.date-picker :deep(.item-width) {
width: 100%;
}
.radio-group {
border: 1px solid #ececec;
}
</style>

View File

@ -0,0 +1,151 @@
<template>
<div>
<ContentWrap>
<el-form ref="queryFormRef" :model="queryParams" size="small" label-width="68px" label-position="right"
label-suffix="" class="-mb-15px">
<el-row>
<el-col :span="8">
<!-- Notes -->
<el-form-item label="节点" prop="it_1" class="item-style">
<el-input v-model="queryParams.it_1" placeholder="请输入节点" clearable class="item-width" />
</el-form-item>
</el-col>
<el-col :span="6">
<!-- Notes -->
<el-form-item label="模板类型" prop="it_2" class="item-style">
<el-radio-group v-model="queryParams.it_2" class="item-width radio-group">
<el-radio value="全部" style="margin-left: 12px;margin-right: 20px;">全部</el-radio>
<el-radio value="公共" style="margin-right: 20px;">公共</el-radio>
<el-radio value="私有" style="margin-right: 4px;">私有</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="10">
<!-- Notes -->
<el-form-item class="item-style">
<el-button>
<Icon icon="ep:search" class="mr-5px" /> 搜索
</el-button>
<el-button type="primary" plain @click="openFormTest()">
<Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</ContentWrap>
<ContentWrap>
<el-table v-loading="loading" size="small" border :stripe="true" :show-overflow-tooltip="true"
:data="list_templates">
aaaa
<!-- 数据列 -->
</el-table>
<div style="display: flex;justify-content: center;">
<Pagination small size="small" :total="total" v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize" />
</div>
</ContentWrap>
<DiagnosisTemplateForm ref="formRef" />
<!-- 可参考内容 -->
</div>
</template>
<script setup lang="ts">
import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download'
import { DiagnosisTemplateApi } from '@/api/applyregistration/diagnosisTemplate'
import DiagnosisTemplateForm from './DiagnosisTemplateForm.vue'
defineOptions({ name: 'DiagnosisTemplate' })
/*
* 李传洋
* 诊断模板
**/
/** 导入内容 **/
/** 组件引用 **/
const queryFormRef = ref()
const formRef = ref()
/** 数据结构 **/
const message = useMessage()
const { t } = useI18n()
//
const queryParams0 = ref({
pageNo: 1,
pageSize: 10,
doctorName: undefined,
departmentName: undefined,
})
const queryParams = ref({
pageNo: 1,
pageSize: 10,
/** 测试数据 **/
it_1: '',
it_2: '',
})
//
const list_templates = ref<any[]>([])
const total = ref(5)
const loading = ref(false)
/****** 自定义内容 ******/
/****** 可参考内容 ******/
const openFormTest = () => {
formRef.value.openTest()
}
/** 组件事件 **/
/** 钩子方法 **/
onMounted(() => {
//ceshi
})
/** 防空作用域 **/
console.log(dateFormatter)
console.log(download)
console.log(message)
console.log(t)
console.log(DiagnosisTemplateApi)
console.log(DiagnosisTemplateForm)
console.log(queryParams0)
//console.log(null)
/** 导出内容 **/
/**
* 备注
*
* **/
</script>
<style scoped>
.el-form-item__label {
white-space: nowrap;
}
.item-style {
margin-bottom: 6px;
}
.item-width {
width: 100%;
}
.date-picker :deep(.item-width) {
width: 100%;
}
.radio-group {
border: 1px solid #ececec;
}
</style>

View File

@ -0,0 +1,249 @@
<template>
<div>
<el-row>
<el-col :span="24">
<el-card shadow="never" style="margin-bottom: 8px;">
<el-form ref="queryFormRef" :model="queryParams" size="small" label-width="68px" label-position="right"
label-suffix="" class="-mb-15px">
<el-row>
<el-col :span="6">
<!-- Notes -->
<el-form-item label="开始日期" prop="it_1" class="item-style date-picker">
<el-date-picker v-model="queryParams.it_1" type="date" value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择开始日期" class="item-width" />
</el-form-item>
</el-col>
<el-col :span="6">
<!-- Notes -->
<el-form-item label="结束日期" prop="it_2" class="item-style date-picker">
<el-date-picker v-model="queryParams.it_2" type="date" value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择结束日期" class="item-width" />
</el-form-item>
</el-col>
<el-col :span="5">
<!-- Notes -->
<el-form-item label="报告状态" prop="it_3" class="item-style">
<el-select v-model="queryParams.it_3" placeholder="请选择报告状态" clearable class="item-width">
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<!-- Notes -->
<el-form-item label="患者来源" prop="it_4" class="item-style">
<el-radio-group v-model="queryParams.it_4" class="item-width radio-group">
<el-radio value="全部" style="margin-left: 6px;margin-right: 16px;">全部</el-radio>
<el-radio value="门诊" style="margin-right: 16px;">门诊</el-radio>
<el-radio value="住院" style="margin-right: 16px;">住院</el-radio>
<el-radio value="体检" style="margin-right: 4px;">体检</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="9">
<!-- Notes -->
<el-form-item label="检查设备" prop="it_5" class="item-style">
<el-select v-model="queryParams.it_5" placeholder="请选择检查设备" clearable class="item-width">
<el-option v-for="item in departmentList" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<!-- Notes -->
<el-form-item label="检查部位" prop="it_6" class="item-style">
<el-select v-model="queryParams.it_6" placeholder="请选择检查部位" clearable class="item-width">
<el-option v-for="item in examitemsList" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<!-- Notes -->
<el-form-item label="阳性" prop="it_7" class="item-style">
<el-radio-group v-model="queryParams.it_7" class="item-width radio-group">
<el-radio value="全部" style="margin-left: 6px;margin-right: 16px;">全部</el-radio>
<el-radio value="正常" style="margin-right: 16px;">正常</el-radio>
<el-radio value="阳性" style="margin-right: 4px;">阳性</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="9">
<!-- Notes -->
<el-form-item label="姓名" prop="it_8" class="item-style">
<el-input v-model="queryParams.it_8" placeholder="请输入姓名" clearable class="item-width" />
</el-form-item>
</el-col>
<el-col :span="4">
<!-- Notes -->
<el-form-item label="性别" prop="it_9" class="item-style">
<el-select v-model="queryParams.it_9" placeholder="请选择性别" clearable class="item-width">
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="7" :offset="4" style="text-align: left;padding-left: 8px;margin-bottom: 6px;">
<el-button>
<Icon icon="ep:search" class="mr-5px" /> 搜索
</el-button>
</el-col>
</el-row>
</el-form>
</el-card>
</el-col>
</el-row>
<el-row>
<el-col :span="15">
<el-card shadow="never" style="height: 100%;">
<el-table v-loading="loading_patExamitems" size="small" border :stripe="true" :show-overflow-tooltip="true"
height="366px" :data="list_patExamitems">
aaaa
<!-- 数据列 -->
</el-table>
<div style="display: flex;justify-content: center;">
<Pagination small size="small" :total="total_patExamitems" v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize" />
</div>
</el-card>
</el-col>
<el-col :span="9">
<el-card shadow="never" style="min-height: 460px;" class="ml-1">
<el-scrollbar>
<el-form size="small" label-width="68px" label-position="top" label-suffix="">
<el-row>
<el-col :span="24">
<el-form-item label="检查描述" class="item-style">
<el-input v-model="examitemsDesc" :readonly="true" type="textarea"
:autosize="{ minRows: 8, maxRows: 9 }" class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="诊断意见" class="item-style">
<el-input v-model="diagnosisDesc" :readonly="true" type="textarea"
:autosize="{ minRows: 8, maxRows: 9 }" class="item-width" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-scrollbar>
</el-card>
</el-col>
</el-row>
<!-- 可参考内容 -->
</div>
</template>
<script setup lang="ts">
import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download'
import { IllnessCaseApi } from '@/api/applyregistration/illnessCase'
defineOptions({ name: 'IllnessCase' })
/*
* 李传洋
* 病例管理
**/
/** 导入内容 **/
/** 组件引用 **/
const queryFormRef = ref()
/** 数据结构 **/
const message = useMessage()
const { t } = useI18n()
const diagnosisDesc = ref('')
const examitemsDesc = ref('')
const departmentList = ref<any[]>([])
const examitemsList = ref<any[]>([])
//
const queryParams0 = ref({
pageNo: 1,
pageSize: 10,
doctorName: undefined,
departmentName: undefined,
})
const queryParams = ref({
pageNo: 1,
pageSize: 10,
/** 测试数据 **/
it_1: '',
it_2: '',
it_3: '',
it_4: '',
it_5: '',
it_6: '',
it_7: '',
it_8: '',
it_9: '',
})
//
const list_patExamitems = ref<any[]>([])
const total_patExamitems = ref(5)
const loading_patExamitems = ref(false)
/****** 自定义内容 ******/
/****** 可参考内容 ******/
/** 组件事件 **/
/** 钩子方法 **/
onMounted(() => {
//ceshi
})
/** 防空作用域 **/
console.log(dateFormatter)
console.log(download)
console.log(IllnessCaseApi)
console.log(message)
console.log(t)
console.log(queryParams0)
//console.log(null)
/** 导出内容 **/
/**
* 备注
*
* **/
</script>
<style scoped>
.el-form-item__label {
white-space: nowrap;
}
.item-style {
margin-bottom: 6px;
}
.item-width {
width: 100%;
}
.date-picker :deep(.item-width) {
width: 100%;
}
.radio-group {
border: 1px solid #ececec;
}
</style>

View File

@ -0,0 +1,393 @@
<template>
<div>
<el-row>
<el-col :span="9">
<el-card shadow="never" style="min-height: 460px;height: 100%;">
<el-form ref="queryFormRef" :model="queryParams" size="small" label-width="64px" label-position="right"
label-suffix="" class="mb-2px -ml-14px">
<el-row>
<el-col :span="24">
<el-form-item label="日期" prop="it_1" class="item-style date-picker">
<el-date-picker v-model="queryParams.it_1" type="daterange" value-format="YYYY-MM-DD HH:mm:ss"
start-placeholder="开始日期" end-placeholder="结束日期" class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="设备" prop="it_2" class="item-style">
<el-select v-model="queryParams.it_2" placeholder="请选择设备" clearable class="item-width">
<el-option v-for="item in departmentList" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="类别" prop="it_3" class="item-style">
<el-select v-model="queryParams.it_3" placeholder="请选择类别" clearable class="item-width">
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="打印" prop="it_4" class="item-style">
<el-select v-model="queryParams.it_4" placeholder="请选择打印" clearable class="item-width">
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="检查号" prop="it_5" class="item-style">
<el-input v-model="queryParams.it_5" placeholder="请输入检查号" clearable class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div style="text-align: right;" class="item-style">
<el-button>
<Icon icon="ep:search" class="mr-2px" /> 搜索
</el-button>
<el-button type="primary" plain>
<Icon icon="ep:printer" class="mr-2px" /> 打印
</el-button>
</div>
</el-col>
</el-row>
</el-form>
<el-table v-loading="loading" size="small" border :stripe="true" :show-overflow-tooltip="true" height="294px"
:data="list_infos">
aaaa
<!-- 数据列 -->
</el-table>
<div style="display: flex;justify-content: center;">
<Pagination small size="small" :total="total" v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize" />
</div>
</el-card>
</el-col>
<el-col :span="15">
<el-tabs v-model="activeTabName" type="border-card" style="height: 100%;" class="ml-1">
<el-tab-pane label="诊断信息" name="diagnosisInfo">
<el-form ref="infoFormRef" :model="infoParams" size="small" label-width="64px" label-position="right"
label-suffix="" class="mb-20px -ml-4px">
<el-row>
<el-col :span="13">
<el-form-item label="检查号" prop="it_1" class="item-style">
<el-input v-model="infoParams.it_1" clearable :readonly="true" class="item-width" />
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="病例号" prop="it_2" class="item-style">
<el-input v-model="infoParams.it_2" clearable :readonly="true" class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="类别" prop="it_3" class="item-style">
<el-select v-model="infoParams.it_3" placeholder="" clearable :disabled="true" class="item-width">
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="床号" prop="it_4" class="item-style">
<el-input v-model="infoParams.it_4" clearable :readonly="true" class="item-width" />
</el-form-item>
</el-col>
<el-col :span="2">
<el-form-item label="" label-width="4px" prop="it_5" class="item-style">
<el-checkbox v-model="infoParams.it_5" label="初诊" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="备注" label-width="64px" prop="it_6" class="item-style">
<el-input v-model="infoParams.it_6" clearable :readonly="true" class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="13">
<el-form-item label="姓名" prop="it_7" class="item-style">
<el-input v-model="infoParams.it_7" clearable :readonly="true" class="item-width" />
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="性别" prop="it_8" class="item-style">
<el-select v-model="infoParams.it_8" placeholder="" clearable :disabled="true" class="item-width">
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="婚否" prop="it_9" class="item-style">
<el-select v-model="infoParams.it_9" placeholder="" clearable :disabled="true" class="item-width">
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="7">
<el-form-item label="生日" prop="it_10" class="item-style">
<el-date-picker v-model="infoParams.it_10" type="date" value-format="YYYY-MM-DD HH:mm:ss"
:readonly="true" class="item-width" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="年龄" prop="it_11" class="item-style">
<el-input v-model="infoParams.it_11" clearable :readonly="true" class="item-width">
<template #append>
<el-select v-model="infoParams.it_11a" placeholder="" clearable :disabled="true"
style="width: 90px;">
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
</el-select>
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="临床诊断" label-width="64px" prop="it_12" class="item-style">
<el-input v-model="infoParams.it_12" clearable :readonly="true" class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="13">
<el-form-item label="科室" prop="it_13" class="item-style">
<el-input v-model="infoParams.it_13" clearable :readonly="true" class="item-width" />
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="申请医生" prop="it_14" class="item-style">
<el-input v-model="infoParams.it_14" clearable :readonly="true" class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="7">
<el-form-item label="申请日期" prop="it_15" class="item-style">
<el-date-picker v-model="infoParams.it_15" type="date" value-format="YYYY-MM-DD HH:mm:ss"
:readonly="true" class="item-width" />
</el-form-item>
</el-col>
<el-col :span="17">
<el-form-item label="末次月经" prop="it_16" class="item-style">
<el-input v-model="infoParams.it_16" clearable :readonly="true" class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="7">
<el-form-item label="孕次" prop="it_17" class="item-style">
<el-input v-model="infoParams.it_17" clearable :readonly="true" class="item-width" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="产次" prop="it_18" class="item-style">
<el-input v-model="infoParams.it_18" clearable :readonly="true" class="item-width" />
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="避孕方式" prop="it_19" class="item-style">
<el-select v-model="infoParams.it_19" placeholder="" clearable :disabled="true" class="item-width">
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="13">
<el-form-item label="活检部位" prop="it_20" class="item-style">
<el-input v-model="infoParams.it_20" clearable :readonly="true" class="item-width" />
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="HP" prop="it_21" class="item-style">
<el-input v-model="infoParams.it_21" clearable :readonly="true" class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="13">
<el-form-item label="建议" prop="it_22" class="item-style">
<el-input v-model="infoParams.it_22" clearable :readonly="true" class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="所见" prop="it_23" class="item-style">
<el-input v-model="infoParams.it_23" type="textarea" :autosize="{ minRows: 4, maxRows: 6 }"
:readonly="true" class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="结论" prop="it_24" class="item-style">
<el-input v-model="infoParams.it_24" type="textarea" :autosize="{ minRows: 4, maxRows: 6 }"
:readonly="true" class="item-width" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-tab-pane>
<el-tab-pane label="报告单" name="reportInfo">报告单</el-tab-pane>
</el-tabs>
</el-col>
</el-row>
<!-- 可参考内容 -->
</div>
</template>
<script setup lang="ts">
import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download'
import { ReportPrintStatisticsApi } from '@/api/applyregistration/reportPrintStatistics'
defineOptions({ name: 'ReportPrintStatistics' })
/*
* 李传洋
* 报告打印统计
**/
/** 导入内容 **/
/** 组件引用 **/
const queryFormRef = ref()
const infoFormRef = ref()
/** 数据结构 **/
const message = useMessage()
const { t } = useI18n()
const activeTabName = ref('diagnosisInfo')
const departmentList = ref<any[]>([])
//
const queryParams0 = ref({
pageNo: 1,
pageSize: 10,
doctorName: undefined,
departmentName: undefined,
})
const queryParams = ref({
pageNo: 1,
pageSize: 10,
/** 测试数据 **/
it_1: [],
it_2: '',
it_3: '',
it_4: '',
it_5: '',
})
const infoParams0 = ref({
doctorName: undefined,
departmentName: undefined,
})
const infoParams = ref({
/** 测试数据 **/
it_1: '',
it_2: '',
it_3: '',
it_4: '',
it_5: '',
it_6: '',
it_7: '',
it_8: '',
it_9: '',
it_10: '',
it_11: '',
it_11a: '',
it_12: '',
it_13: '',
it_14: '',
it_15: '',
it_16: '',
it_17: '',
it_18: '',
it_19: '',
it_20: '',
it_21: '',
it_22: '',
it_23: '',
it_24: '',
})
//
const list_infos = ref<any[]>([])
const total = ref(5)
const loading = ref(false)
/****** 自定义内容 ******/
/****** 可参考内容 ******/
/** 组件事件 **/
/** 钩子方法 **/
onMounted(() => {
//ceshi
})
/** 防空作用域 **/
console.log(dateFormatter)
console.log(download)
console.log(message)
console.log(t)
console.log(ReportPrintStatisticsApi)
console.log(queryParams0)
console.log(infoParams0)
//console.log(null)
/** 导出内容 **/
/**
* 备注
*
* **/
</script>
<style scoped>
.el-form-item__label {
white-space: nowrap;
}
.item-style {
margin-bottom: 3px;
}
.item-width {
width: 100%;
}
.date-picker :deep(.item-width) {
width: 100%;
}
.radio-group {
border: 1px solid #ececec;
}
</style>

View File

@ -0,0 +1,362 @@
<template>
<div>
<el-row>
<el-col :span="10">
<el-card shadow="never" style="min-height: 480px;">
<el-form ref="queryFormRef" :model="queryParams" size="small" label-width="68px" label-position="right"
label-suffix="" class="-mb-15px">
<el-row>
<el-col :span="24">
<!-- Notes -->
<el-form-item label="检查设备" prop="it_1" class="item-style">
<el-select v-model="queryParams.it_1" placeholder="请选择检查设备" clearable class="item-width">
<el-option v-for="item in deviceList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="13">
<!-- Notes -->
<el-form-item label="病例号" prop="it_2" class="item-style">
<el-input v-model="queryParams.it_2" placeholder="请输入病例号" clearable class="item-width" />
</el-form-item>
</el-col>
<el-col :span="11">
<!-- Notes -->
<el-form-item label="患者来源" prop="it_3" class="item-style">
<el-select v-model="queryParams.it_3" placeholder="请选择患者来源" clearable class="item-width">
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<!-- Notes -->
<el-form-item label="姓名" prop="it_4" class="item-style">
<el-input v-model="queryParams.it_4" placeholder="请输入姓名" clearable class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<!-- Notes -->
<el-form-item label="性别" prop="it_5" class="item-style">
<el-select v-model="queryParams.it_5" placeholder="请选择性别" clearable class="item-width">
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
<el-option label="xxxxx" value="xxxxx" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="14">
<!-- Notes -->
<el-form-item label="联系电话" prop="it_8" class="item-style">
<el-input v-model="queryParams.it_8" placeholder="请输入联系电话" clearable class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="13">
<!-- Notes -->
<el-form-item label="出生日期" prop="it_7" class="item-style date-picker">
<el-date-picker v-model="queryParams.it_7" type="date" value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择出生日期" class="item-width" />
</el-form-item>
</el-col>
<el-col :span="11">
<!-- Notes -->
<el-form-item label="年龄" prop="it_6" class="item-style">
<el-input v-model="queryParams.it_6" placeholder="请输入年龄" clearable class="item-width">
<template #append></template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<!-- Notes -->
<el-form-item label="开单科室" prop="it_9" class="item-style">
<el-select v-model="queryParams.it_9" placeholder="请选择开单科室" clearable class="item-width">
<el-option v-for="item in departmentList" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<!-- Notes -->
<el-form-item label="开单医生" prop="it_10" class="item-style">
<el-select v-model="queryParams.it_10" placeholder="请选择开单医生" clearable class="item-width">
<el-option v-for="item in doctorList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="13">
<!-- Notes -->
<el-form-item label="开单时间" prop="it_11" class="item-style date-picker">
<el-date-picker v-model="queryParams.it_11" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择开单时间" class="item-width" />
</el-form-item>
</el-col>
<el-col :span="11">
<!-- Notes -->
<el-form-item label="床号" prop="it_12" class="item-style">
<el-input v-model="queryParams.it_12" placeholder="请输入床号" clearable class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="13">
<!-- Notes -->
<el-form-item label="申请单号" prop="it_13" class="item-style">
<el-input v-model="queryParams.it_13" placeholder="申请单号" :disabled="true" class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<!-- Notes -->
<el-form-item label="诊断" prop="it_14" class="item-style">
<el-input v-model="queryParams.it_14" placeholder="请输入诊断" type="textarea" :autosize="{ minRows: 2 }"
class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<!-- Notes -->
<el-form-item label="备注" prop="it_15" class="item-style">
<el-input v-model="queryParams.it_15" placeholder="请输入备注" type="textarea" :autosize="{ minRows: 2 }"
class="item-width" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24" style="text-align: center;margin-top: 8px;margin-bottom: 10px;">
<el-button type="primary" plain>
<Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button>
<el-button type="success" plain>
<Icon icon="ep:check" class="mr-5px" /> 保存
</el-button>
</el-col>
</el-row>
</el-form>
</el-card>
</el-col>
<el-col :span="14">
<el-card shadow="never" class="card-right ml-2">
<el-scrollbar>
<el-checkbox-group v-model="queryParams.cks"
style="display: flex;flex-direction: column;flex-wrap: wrap;height: 410px;">
<el-checkbox v-for="item in examitemsList" :key="item.value" :label="item.label" :value="item.value"
style="margin-right: 15px;margin-bottom: -1px;" />
</el-checkbox-group>
</el-scrollbar>
</el-card>
</el-col>
</el-row>
<!--------------- 参考代码 ----------------->
<!-- 搜索工作栏 -->
<ContentWrap v-if="false">
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
<el-form-item label="医生姓名" prop="doctorName">
<el-input v-model="queryParams.doctorName" placeholder="请输入医生姓名" clearable @keyup.enter="handleQuery"
class="!w-240px" />
</el-form-item>
<el-form-item label="科室名称" prop="departmentName">
<el-input v-model="queryParams.departmentName" placeholder="请输入科室名称" clearable @keyup.enter="handleQuery"
class="!w-240px" />
</el-form-item>
<el-form-item>
<el-button @click="handleQuery">
<Icon icon="ep:search" class="mr-5px" /> 搜索
</el-button>
<el-button @click="resetQuery">
<Icon icon="ep:refresh" class="mr-5px" /> 重置
</el-button>
<el-button type="primary" plain>
<Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button>
<el-button type="success" plain @click="handleExport" :loading="exportLoading">
<Icon icon="ep:download" class="mr-5px" /> 导出
</el-button>
</el-form-item>
</el-form>
</ContentWrap>
<!-- 列表 -->
<ContentWrap v-if="false">
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="主键" align="center" prop="doctorID" />
<el-table-column label="医生姓名" align="center" prop="doctorName" />
<el-table-column label="性别" align="center" prop="gender" />
<el-table-column label="出生日期" align="center" prop="birthday" :formatter="dateFormatter" width="180px" />
<el-table-column label="科室名称" align="center" prop="departmentName" />
<el-table-column label="医生联系电话" align="center" prop="doctorTel" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="医生电子签名URL" align="center" prop="eSignatureUrl" />
<el-table-column label="医生级别:执业医师,主治医师,副主任医师,主任医师" align="center" prop="doctorLevel" />
<el-table-column label="机构ID" align="center" prop="orgId" />
<el-table-column label="科室代码" align="center" prop="departmentCode" />
<el-table-column label="操作" align="center">
<template #default="scope">
<el-button link type="primary">
编辑
</el-button>
<el-button link type="danger" @click="handleDelete(scope.row.id)">
删除
</el-button>
</template>
</el-table-column>
</el-table>
<Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
@pagination="getList" />
</ContentWrap>
</div>
</template>
<script setup lang="ts">
import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download'
import { ReservationInfoApi } from '@/api/applyregistration/reservationInfo'
defineOptions({ name: 'ReservationInfo' })
/*
* 李传洋
* 预约登记
**/
/** 组件引用 **/
const queryFormRef = ref()
/** 数据结构 **/
const message = useMessage()
const { t } = useI18n()
const examitemsList = ref<any[]>([])
const doctorList = ref<any[]>([])
const deviceList = ref<any[]>([])
const departmentList = ref<any[]>([])
const queryParams0 = ref({
pageNo: 1,
pageSize: 10,
doctorName: undefined,
departmentName: undefined,
})
console.log(queryParams0)
const queryParams = ref({
pageNo: 1,
pageSize: 10,
/** 测试数据 **/
it_1: '',
it_2: '',
it_3: '',
it_4: '',
it_5: '',
it_6: '',
it_7: '',
it_8: '',
it_9: '',
it_10: '',
it_11: '',
it_12: '',
it_13: '',
it_14: '',
it_15: '',
cks: [],
})
/** 组件事件 **/
/** 自定义内容 **/
/***************参考内容*****************/
const list = ref<any[]>([])
const total = ref(0)
const loading = ref(true)
const exportLoading = ref(false)
const handleExport = async () => {
try {
await message.exportConfirm()
exportLoading.value = true
const data = await ReservationInfoApi.export(queryParams.value)
download.excel(data, '医生管理.xls')
} catch {
} finally {
exportLoading.value = false
}
}
const getList = async () => {
loading.value = true
try {
const data = await ReservationInfoApi.getPage(queryParams.value)
list.value = data.list
total.value = data.total
} finally {
loading.value = false
}
}
const handleQuery = () => {
queryParams.value.pageNo = 1
getList()
}
const resetQuery = () => {
queryFormRef.value.resetFields()
handleQuery()
}
const handleDelete = async (id: number) => {
try {
await message.delConfirm()
await ReservationInfoApi.delete(id)
message.success(t('common.delSuccess'))
await getList()
} catch { }
}
/** 钩子方法 **/
onMounted(() => {
//getList()
})
</script>
<style scoped>
.card-right {
height: 100%;
}
.item-style {
margin-bottom: 6px;
}
.item-width {
width: 100%;
}
.date-picker :deep(.item-width) {
width: 100%;
}
</style>