批量修改
This commit is contained in:
parent
ef53e538ae
commit
a0cbb24405
@ -6,15 +6,27 @@ import request from '@/config/axios'
|
||||
*/
|
||||
export const DeviceManageApi = {
|
||||
/* 测试方法 */
|
||||
getOrgList: async () => {
|
||||
return await request.get({ url: `/org/org/getlist` })
|
||||
},
|
||||
getDepartmentList: async () => {
|
||||
return await request.get({ url: `/system/department/getlist` })
|
||||
},
|
||||
getPage: async (params: any) => {
|
||||
return await request.get({ url: `/test/device/page`, params })
|
||||
},
|
||||
get: async (id: any) => {
|
||||
return await request.get({ url: `/test/device/get?id=`+ id })
|
||||
},
|
||||
create: async (data: any) => {
|
||||
return await request.post({ url: `/test/device/create`, data })
|
||||
}
|
||||
},
|
||||
update: async (data: any) => {
|
||||
return await request.put({ url: `/test/device/update`, data })
|
||||
},
|
||||
delete: async (id: any) => {
|
||||
return await request.delete({ url: `/test/device/delete?id=` + id })
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
|
@ -6,15 +6,27 @@ import request from '@/config/axios'
|
||||
*/
|
||||
export const DiagnosisTemplateApi = {
|
||||
/* 测试方法 */
|
||||
getOrgList: async () => {
|
||||
return await request.get({ url: `/org/org/getlist` })
|
||||
},
|
||||
getDoctorList: async () => {
|
||||
return await request.get({ url: `/doctor/getlist` })
|
||||
},
|
||||
getPage: async (params: any) => {
|
||||
return await request.get({ url: `/test/reporttemplate/page`, params })
|
||||
},
|
||||
get: async (id: any) => {
|
||||
return await request.get({ url: `/test/reporttemplate/get?id=`+ id })
|
||||
},
|
||||
create: async (data: any) => {
|
||||
return await request.post({ url: `/test/reporttemplate/create`, data })
|
||||
}
|
||||
},
|
||||
update: async (data: any) => {
|
||||
return await request.put({ url: `/test/reporttemplate/update`, data })
|
||||
},
|
||||
delete: async (id: any) => {
|
||||
return await request.delete({ url: `/test/reporttemplate/delete?id=` + id })
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
|
@ -12,9 +12,18 @@ export const ExampartManageApi = {
|
||||
getPage: async (params: any) => {
|
||||
return await request.get({ url: `/test/exampart/page`, params })
|
||||
},
|
||||
get: async (id: any) => {
|
||||
return await request.get({ url: `/test/exampart/get?id=`+ id })
|
||||
},
|
||||
create: async (data: any) => {
|
||||
return await request.post({ url: `/test/exampart/create`, data })
|
||||
}
|
||||
},
|
||||
update: async (data: any) => {
|
||||
return await request.put({ url: `/test/exampart/update`, data })
|
||||
},
|
||||
delete: async (id: any) => {
|
||||
return await request.delete({ url: `/test/exampart/delete?id=` + id })
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
|
@ -5,7 +5,16 @@ import request from '@/config/axios'
|
||||
* IllnessCaseApi
|
||||
*/
|
||||
export const IllnessCaseApi = {
|
||||
|
||||
/* 测试方法 */
|
||||
getDeviceList: async () => {
|
||||
return await request.get({ url: `/test/device/getlist` })
|
||||
},
|
||||
getExamitemsList: async () => {
|
||||
return await request.get({ url: `/examitems/examitems/getlist` })
|
||||
},
|
||||
getPage: async (params: any) => {
|
||||
return await request.get({ url: `/tblist/patientexamlist/pageIllnessCase`, params })
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -5,7 +5,16 @@ import request from '@/config/axios'
|
||||
* ReportPrintStatisticsApi
|
||||
*/
|
||||
export const ReportPrintStatisticsApi = {
|
||||
|
||||
/* 测试方法 */
|
||||
getDeviceList: async () => {
|
||||
return await request.get({ url: `/test/device/getlist` })
|
||||
},
|
||||
getExamitemsList: async () => {
|
||||
return await request.get({ url: `/examitems/examitems/getlist` })
|
||||
},
|
||||
getPage: async (params: any) => {
|
||||
return await request.get({ url: `/tblist/patientexamlist/pageReportPrintStatistics`, params })
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -18,6 +18,9 @@ export const ReservationInfoApi = {
|
||||
getExamitemsList: async () => {
|
||||
return await request.get({ url: `/examitems/examitems/getlist` })
|
||||
},
|
||||
create: async (data: any) => {
|
||||
return await request.post({ url: `/applyregistration/applyform/createReservationInfo`, data })
|
||||
},
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<Dialog title="弹出框" v-model="dialogVisible" width="66%">
|
||||
<Dialog :title="dialogTitle" v-model="dialogVisible" width="66%">
|
||||
<el-form
|
||||
ref="formRef"
|
||||
:model="formData"
|
||||
@ -8,26 +8,30 @@
|
||||
label-width="100px"
|
||||
label-position="right"
|
||||
label-suffix=""
|
||||
class="-ml-34px"
|
||||
class="-ml-30px"
|
||||
v-loading="formLoading"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="科室" prop="departmentCode" class="item-style">
|
||||
<el-select
|
||||
v-model="formData.departmentCode"
|
||||
placeholder="请选择科室"
|
||||
<el-form-item label="设备名称" prop="deviceName" class="item-style">
|
||||
<el-input
|
||||
v-model="formData.deviceName"
|
||||
placeholder="请输入设备名称"
|
||||
clearable
|
||||
class="item-width"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in departmentList"
|
||||
:key="item.id"
|
||||
:label="item.departmentName"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="设备状态" prop="deviceStatus" class="item-style">
|
||||
<el-radio-group v-model="formData.deviceStatus" class="item-width radio-group">
|
||||
<el-radio value="1" style="margin-left: 12px; margin-right: 10px">有效</el-radio>
|
||||
<el-radio value="0" style="margin-right: 10px">无效</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="设备类型" prop="deviceType" class="item-style">
|
||||
<el-select
|
||||
@ -43,23 +47,11 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="名称" prop="deviceName" class="item-style">
|
||||
<el-input
|
||||
v-model="formData.deviceName"
|
||||
placeholder="请输入名称"
|
||||
clearable
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="型号" prop="deviceModel" class="item-style">
|
||||
<el-form-item label="设备型号" prop="deviceModel" class="item-style">
|
||||
<el-input
|
||||
v-model="formData.deviceModel"
|
||||
placeholder="请输入型号"
|
||||
placeholder="请输入设备型号"
|
||||
clearable
|
||||
class="item-width"
|
||||
/>
|
||||
@ -111,12 +103,53 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="设备状态" prop="deviceStatus" class="item-style">
|
||||
<el-radio-group v-model="formData.deviceStatus" class="item-width radio-group">
|
||||
<el-radio value="1" style="margin-left: 8px; margin-right: 10px">有效</el-radio>
|
||||
<el-radio value="0" style="margin-right: 10px">无效</el-radio>
|
||||
</el-radio-group>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="科室" prop="departmentCode" class="item-style">
|
||||
<el-select
|
||||
v-model="deviceDepartmentInfo"
|
||||
value-key="departmentCode"
|
||||
placeholder="请选择科室"
|
||||
clearable
|
||||
class="item-width"
|
||||
@change="deviceDept_change"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in departmentList"
|
||||
:key="index"
|
||||
:label="item.departmentName"
|
||||
:value="item"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="机构" prop="orgId" class="item-style">
|
||||
<el-select
|
||||
v-model="formData.orgId"
|
||||
placeholder="请选择机构"
|
||||
clearable
|
||||
class="item-width"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in orgList"
|
||||
:key="item.orgID"
|
||||
:label="item.orgName"
|
||||
:value="item.orgID"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="AET" prop="scheduledAET" class="item-style">
|
||||
<el-input
|
||||
v-model="formData.scheduledAET"
|
||||
placeholder="请输入AET"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 3, maxRows: 9 }"
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -127,7 +160,7 @@
|
||||
v-model="formData.remark"
|
||||
placeholder="请输入备注"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 6, maxRows: 9 }"
|
||||
:autosize="{ minRows: 5, maxRows: 9 }"
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
@ -137,7 +170,7 @@
|
||||
|
||||
<template #footer>
|
||||
<div style="text-align: center">
|
||||
<el-button type="primary" @click="submitForm">保存</el-button>
|
||||
<el-button type="primary" :disabled="formLoading" @click="submitForm">保存</el-button>
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
</div>
|
||||
</template>
|
||||
@ -156,6 +189,7 @@ defineOptions({ name: 'DeviceManageForm' })
|
||||
* DeviceManageForm
|
||||
**/
|
||||
/** 导入内容 **/
|
||||
const emit = defineEmits(['success'])
|
||||
|
||||
/** 组件引用 **/
|
||||
const formRef = ref()
|
||||
@ -164,6 +198,10 @@ const formRef = ref()
|
||||
const message = useMessage()
|
||||
const { t } = useI18n()
|
||||
const dialogVisible = ref(false)
|
||||
const dialogTitle = ref('')
|
||||
const formLoading = ref(false)
|
||||
const formType = ref('')
|
||||
const orgList = ref<any[]>([])
|
||||
const departmentList = ref<any[]>([])
|
||||
//表单核心
|
||||
const formData0 = ref({
|
||||
@ -174,53 +212,124 @@ const formData0 = ref({
|
||||
})
|
||||
const formData = ref({
|
||||
/** 测试数据 **/
|
||||
departmentCode: '',
|
||||
deviceType: '',
|
||||
id: '',
|
||||
deviceName: '',
|
||||
deviceStatus: '',
|
||||
deviceType: '',
|
||||
deviceModel: '',
|
||||
madeCompany: '',
|
||||
madeCompanyTel: '',
|
||||
saleCompany: '',
|
||||
saleCompanyTel: '',
|
||||
deviceStatus: '1',
|
||||
remark: ''
|
||||
scheduledAET: '',
|
||||
remark: '',
|
||||
departmentCode: '',
|
||||
deviceDepartment: '',
|
||||
orgId: ''
|
||||
})
|
||||
const deviceDepartmentInfo = ref<any>()
|
||||
|
||||
/****** 自定义内容 ******/
|
||||
const resetForm = async () => {
|
||||
formData.value = {
|
||||
/** 测试数据 **/
|
||||
id: '',
|
||||
deviceName: '',
|
||||
deviceStatus: '',
|
||||
deviceType: '',
|
||||
deviceModel: '',
|
||||
madeCompany: '',
|
||||
madeCompanyTel: '',
|
||||
saleCompany: '',
|
||||
saleCompanyTel: '',
|
||||
scheduledAET: '',
|
||||
remark: '',
|
||||
departmentCode: '',
|
||||
deviceDepartment: '',
|
||||
orgId: ''
|
||||
}
|
||||
deviceDepartmentInfo.value = undefined
|
||||
formRef.value?.clearValidate()
|
||||
}
|
||||
|
||||
const open = async (type: string, id?: number) => {
|
||||
dialogVisible.value = true
|
||||
dialogTitle.value = t('action.' + type)
|
||||
formType.value = type
|
||||
resetForm()
|
||||
if (id) {
|
||||
formLoading.value = true
|
||||
try {
|
||||
formData.value = await DeviceManageApi.get(id)
|
||||
deviceDepartmentInfo.value = departmentList.value?.find((item) => {
|
||||
return (
|
||||
item?.departmentCode &&
|
||||
formData.value?.departmentCode &&
|
||||
item.departmentCode == formData.value.departmentCode
|
||||
)
|
||||
})
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/****** 可参考内容 ******/
|
||||
const emit = defineEmits(['success'])
|
||||
/** 组件事件 **/
|
||||
const deviceDept_change = async (value: any) => {
|
||||
formData.value.departmentCode = value ? value.departmentCode : ''
|
||||
formData.value.deviceDepartment = value ? value.departmentName : ''
|
||||
}
|
||||
|
||||
const submitForm = async () => {
|
||||
formLoading.value = true
|
||||
try {
|
||||
const data = formData.value
|
||||
await DeviceManageApi.create(data)
|
||||
//校验
|
||||
if (!data.deviceName) {
|
||||
await message.alertWarning('请输入设备名称')
|
||||
return
|
||||
}
|
||||
if (!data.deviceStatus) {
|
||||
await message.alertWarning('请选择设备状态')
|
||||
return
|
||||
}
|
||||
if (!data.orgId) {
|
||||
await message.alertWarning('请选择机构')
|
||||
return
|
||||
}
|
||||
if (!data.departmentCode || !deviceDepartmentInfo.value) {
|
||||
await message.alertWarning('请选择科室')
|
||||
return
|
||||
}
|
||||
//更新
|
||||
if (formType.value === 'create') {
|
||||
await DeviceManageApi.create(data)
|
||||
message.success(t('common.createSuccess'))
|
||||
} else if (formType.value === 'update') {
|
||||
await DeviceManageApi.update(data)
|
||||
message.success(t('common.updateSuccess'))
|
||||
}
|
||||
dialogVisible.value = false
|
||||
emit('success')
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
}
|
||||
const openTest = () => {
|
||||
dialogVisible.value = true
|
||||
//清空内容
|
||||
}
|
||||
|
||||
/** 组件事件 **/
|
||||
|
||||
/** 钩子方法 **/
|
||||
onMounted(async () => {
|
||||
//ceshi
|
||||
orgList.value = await DeviceManageApi.getOrgList()
|
||||
departmentList.value = await DeviceManageApi.getDepartmentList()
|
||||
})
|
||||
|
||||
/** 防空作用域 **/
|
||||
console.log(dateFormatter)
|
||||
console.log(message)
|
||||
console.log(t)
|
||||
console.log(DeviceManageApi)
|
||||
console.log(formData0)
|
||||
//console.log(null)
|
||||
|
||||
/** 导出内容 **/
|
||||
defineExpose({ openTest })
|
||||
defineExpose({ open })
|
||||
/**
|
||||
* 备注:
|
||||
*
|
||||
|
@ -11,47 +11,89 @@
|
||||
class="-mb-15px"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="9">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="科室" prop="deviceDepartment" class="item-style">
|
||||
<el-select
|
||||
v-model="queryParams.deviceDepartment"
|
||||
placeholder="请选择科室"
|
||||
clearable
|
||||
class="item-width"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in departmentList"
|
||||
:key="item.id"
|
||||
:label="item.departmentName"
|
||||
:value="item.departmentName"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10">
|
||||
<el-col :span="6" v-if="false">
|
||||
<!-- Notes: -->
|
||||
<el-form-item
|
||||
label="名称/拼音码/型号"
|
||||
label="名称/类型/型号"
|
||||
prop="deviceDesc"
|
||||
label-width="120px"
|
||||
class="item-style"
|
||||
>
|
||||
<el-input
|
||||
v-model="queryParams.deviceDesc"
|
||||
placeholder="请输入名称/拼音码/型号"
|
||||
placeholder="请输入设备名称/类型/型号"
|
||||
clearable
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-col :span="6">
|
||||
<!-- Notes: -->
|
||||
<el-form-item class="item-style">
|
||||
<el-form-item label="科室" prop="departmentCode" class="item-style">
|
||||
<el-select
|
||||
v-model="deviceDepartmentInfo"
|
||||
value-key="departmentCode"
|
||||
placeholder="请选择科室"
|
||||
clearable
|
||||
class="item-width"
|
||||
@change="deviceDept_change"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in departmentList"
|
||||
:key="index"
|
||||
:label="item.departmentName"
|
||||
:value="item"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="设备名称" prop="deviceName" class="item-style">
|
||||
<el-input
|
||||
v-model="queryParams.deviceName"
|
||||
placeholder="请输入设备名称"
|
||||
clearable
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="设备类型" prop="deviceType" class="item-style">
|
||||
<el-select
|
||||
v-model="queryParams.deviceType"
|
||||
placeholder="请选择设备类型"
|
||||
clearable
|
||||
class="item-width"
|
||||
>
|
||||
<el-option label="DR" value="DR" />
|
||||
<el-option label="CT" value="CT" />
|
||||
<el-option label="MR" value="MR" />
|
||||
<el-option label="超声" value="超声" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="设备型号" prop="deviceModel" class="item-style">
|
||||
<el-input
|
||||
v-model="queryParams.deviceModel"
|
||||
placeholder="请输入设备型号"
|
||||
clearable
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :offset="18" :span="6">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label-width="8px" class="item-style">
|
||||
<el-button @click="handleQuery">
|
||||
<Icon icon="ep:search" class="mr-5px" /> 搜索
|
||||
</el-button>
|
||||
<el-button type="primary" plain @click="openFormTest()">
|
||||
<el-button type="primary" plain @click="openForm('create')">
|
||||
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
@ -70,13 +112,19 @@
|
||||
:data="list_devices"
|
||||
height="max(53vh,80px)"
|
||||
>
|
||||
<el-table-column label="科室名称" align="center" prop="deviceDepartment" />
|
||||
<el-table-column label="名称" align="center" prop="deviceName" />
|
||||
<el-table-column label="型号" align="center" prop="deviceModel" />
|
||||
<el-table-column type="index" label="序号" align="center" width="54px" />
|
||||
<el-table-column label="科室" align="center" prop="deviceDepartment" />
|
||||
<el-table-column label="设备名称" align="center" prop="deviceName" />
|
||||
<el-table-column label="设备类型" align="center" prop="deviceType" />
|
||||
<el-table-column label="设备型号" align="center" prop="deviceModel" />
|
||||
<el-table-column label="AET" align="center" prop="scheduledAET" />
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column label="操作" align="center">
|
||||
<template #default>
|
||||
<el-button link type="primary"> 编辑 </el-button>
|
||||
<el-button link type="danger"> 删除 </el-button>
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="openForm('update', scope.row.id)">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button link type="danger" @click="handleDelete(scope.row.id)"> 删除 </el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 数据列 -->
|
||||
@ -130,16 +178,40 @@ const queryParams = ref({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
/** 测试数据 **/
|
||||
deviceDesc: undefined,
|
||||
departmentCode: '',
|
||||
deviceDepartment: '',
|
||||
deviceDesc: ''
|
||||
deviceName: '',
|
||||
deviceType: '',
|
||||
deviceModel: ''
|
||||
})
|
||||
const deviceDepartmentInfo = ref<any>()
|
||||
//表格核心
|
||||
const list_devices = ref<any[]>([])
|
||||
const total = ref(0)
|
||||
const loading = ref(false)
|
||||
const loading = ref(true)
|
||||
|
||||
/****** 自定义内容 ******/
|
||||
/****** 可参考内容 ******/
|
||||
/** 组件事件 **/
|
||||
const deviceDept_change = async (value: any) => {
|
||||
queryParams.value.departmentCode = value ? value.departmentCode : ''
|
||||
queryParams.value.deviceDepartment = value ? value.departmentName : ''
|
||||
}
|
||||
|
||||
const openForm = (type: string, id?: any) => {
|
||||
formRef.value.open(type, id)
|
||||
}
|
||||
|
||||
const handleDelete = async (id: any) => {
|
||||
try {
|
||||
await message.delConfirm()
|
||||
await DeviceManageApi.delete(id)
|
||||
message.success(t('common.delSuccess'))
|
||||
await getList()
|
||||
} catch {}
|
||||
}
|
||||
|
||||
const getList = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
@ -150,19 +222,14 @@ const getList = async () => {
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
const handleQuery = () => {
|
||||
queryParams.value.pageNo = 1
|
||||
getList()
|
||||
}
|
||||
const openFormTest = () => {
|
||||
formRef.value.openTest()
|
||||
}
|
||||
|
||||
/** 组件事件 **/
|
||||
|
||||
/** 钩子方法 **/
|
||||
onMounted(async () => {
|
||||
//ceshi
|
||||
departmentList.value = await DeviceManageApi.getDepartmentList()
|
||||
getList()
|
||||
})
|
||||
@ -170,10 +237,6 @@ onMounted(async () => {
|
||||
/** 防空作用域 **/
|
||||
console.log(dateFormatter)
|
||||
console.log(download)
|
||||
console.log(message)
|
||||
console.log(t)
|
||||
console.log(DeviceManageApi)
|
||||
console.log(DeviceManageForm)
|
||||
console.log(queryParams0)
|
||||
//console.log(null)
|
||||
|
||||
@ -190,7 +253,7 @@ console.log(queryParams0)
|
||||
}
|
||||
|
||||
.item-style {
|
||||
margin-bottom: 6px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.item-width {
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<Dialog title="弹出框" v-model="dialogVisible" width="60%">
|
||||
<Dialog :title="dialogTitle" v-model="dialogVisible" width="60%">
|
||||
<el-form
|
||||
ref="formRef"
|
||||
:model="formData"
|
||||
@ -9,6 +9,7 @@
|
||||
label-position="right"
|
||||
label-suffix=""
|
||||
class="-ml-30px"
|
||||
v-loading="formLoading"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
@ -49,6 +50,23 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="机构" prop="orgId" class="item-style">
|
||||
<el-select
|
||||
v-model="formData.orgId"
|
||||
placeholder="请选择机构"
|
||||
clearable
|
||||
class="item-width"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in orgList"
|
||||
:key="item.orgID"
|
||||
:label="item.orgName"
|
||||
:value="item.orgID"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="医生" prop="privateDoctorId" class="item-style">
|
||||
<el-select
|
||||
@ -71,7 +89,7 @@
|
||||
|
||||
<template #footer>
|
||||
<div style="text-align: center">
|
||||
<el-button type="primary" @click="submitForm">保存</el-button>
|
||||
<el-button type="primary" :disabled="formLoading" @click="submitForm">保存</el-button>
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
</div>
|
||||
</template>
|
||||
@ -90,6 +108,7 @@ defineOptions({ name: 'DiagnosisTemplateForm' })
|
||||
* DiagnosisTemplateForm
|
||||
**/
|
||||
/** 导入内容 **/
|
||||
const emit = defineEmits(['success'])
|
||||
|
||||
/** 组件引用 **/
|
||||
const formRef = ref()
|
||||
@ -98,6 +117,10 @@ const formRef = ref()
|
||||
const message = useMessage()
|
||||
const { t } = useI18n()
|
||||
const dialogVisible = ref(false)
|
||||
const dialogTitle = ref('')
|
||||
const formLoading = ref(false)
|
||||
const formType = ref('')
|
||||
const orgList = ref<any[]>([])
|
||||
const doctorList = ref<any[]>([])
|
||||
//表单核心
|
||||
const formData0 = ref({
|
||||
@ -111,31 +134,59 @@ const formData = ref({
|
||||
templateName: '',
|
||||
examDescription: '',
|
||||
diagResults: '',
|
||||
privateDoctorId: ''
|
||||
privateDoctorId: '',
|
||||
orgId: ''
|
||||
})
|
||||
|
||||
/****** 自定义内容 ******/
|
||||
/****** 可参考内容 ******/
|
||||
const emit = defineEmits(['success'])
|
||||
const submitForm = async () => {
|
||||
try {
|
||||
const data = formData.value
|
||||
await DiagnosisTemplateApi.create(data)
|
||||
dialogVisible.value = false
|
||||
emit('success')
|
||||
} finally {
|
||||
const resetForm = () => {
|
||||
formRef.value?.resetFields()
|
||||
}
|
||||
|
||||
const open = async (type: string, id?: number) => {
|
||||
dialogVisible.value = true
|
||||
dialogTitle.value = t('action.' + type)
|
||||
formType.value = type
|
||||
resetForm()
|
||||
if (id) {
|
||||
formLoading.value = true
|
||||
try {
|
||||
formData.value = await DiagnosisTemplateApi.get(id)
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/****** 可参考内容 ******/
|
||||
const openTest = () => {
|
||||
dialogVisible.value = true
|
||||
//清空内容
|
||||
}
|
||||
|
||||
/** 组件事件 **/
|
||||
const submitForm = async () => {
|
||||
formLoading.value = true
|
||||
try {
|
||||
const data = formData.value
|
||||
if (formType.value === 'create') {
|
||||
await DiagnosisTemplateApi.create(data)
|
||||
message.success(t('common.createSuccess'))
|
||||
} else if (formType.value === 'update') {
|
||||
await DiagnosisTemplateApi.update(data)
|
||||
message.success(t('common.updateSuccess'))
|
||||
}
|
||||
dialogVisible.value = false
|
||||
emit('success')
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
/** 钩子方法 **/
|
||||
onMounted(async () => {
|
||||
//ceshi
|
||||
orgList.value = await DiagnosisTemplateApi.getOrgList()
|
||||
doctorList.value = await DiagnosisTemplateApi.getDoctorList()
|
||||
})
|
||||
|
||||
@ -148,7 +199,7 @@ console.log(formData0)
|
||||
//console.log(null)
|
||||
|
||||
/** 导出内容 **/
|
||||
defineExpose({ openTest })
|
||||
defineExpose({ open, openTest })
|
||||
/**
|
||||
* 备注:
|
||||
*
|
||||
|
@ -41,7 +41,7 @@
|
||||
<el-button @click="handleQuery">
|
||||
<Icon icon="ep:search" class="mr-5px" /> 搜索
|
||||
</el-button>
|
||||
<el-button type="primary" plain @click="openFormTest()">
|
||||
<el-button type="primary" plain @click="openForm('create')">
|
||||
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
@ -60,13 +60,16 @@
|
||||
:data="list_templates"
|
||||
height="max(53vh,80px)"
|
||||
>
|
||||
<el-table-column type="index" label="序号" align="center" width="50px" />
|
||||
<el-table-column label="节点" align="center" prop="templateName" />
|
||||
<el-table-column label="所见" align="center" prop="examDescription" />
|
||||
<el-table-column label="所得" align="center" prop="diagResults" />
|
||||
<el-table-column label="操作" align="center">
|
||||
<template #default>
|
||||
<el-button link type="primary"> 编辑 </el-button>
|
||||
<el-button link type="danger"> 删除 </el-button>
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="openForm('update', scope.row.id)">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button link type="danger" @click="handleDelete(scope.row.id)"> 删除 </el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 数据列 -->
|
||||
@ -129,6 +132,21 @@ const loading = ref(false)
|
||||
|
||||
/****** 自定义内容 ******/
|
||||
/****** 可参考内容 ******/
|
||||
|
||||
/** 组件事件 **/
|
||||
const openForm = (type: string, id?: any) => {
|
||||
formRef.value.open(type, id)
|
||||
}
|
||||
|
||||
const handleDelete = async (id: any) => {
|
||||
try {
|
||||
await message.delConfirm()
|
||||
await DiagnosisTemplateApi.delete(id)
|
||||
message.success(t('common.delSuccess'))
|
||||
await getList()
|
||||
} catch {}
|
||||
}
|
||||
|
||||
const getList = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
@ -139,19 +157,14 @@ const getList = async () => {
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
const handleQuery = () => {
|
||||
queryParams.value.pageNo = 1
|
||||
getList()
|
||||
}
|
||||
const openFormTest = () => {
|
||||
formRef.value.openTest()
|
||||
}
|
||||
|
||||
/** 组件事件 **/
|
||||
|
||||
/** 钩子方法 **/
|
||||
onMounted(() => {
|
||||
//ceshi
|
||||
getList()
|
||||
})
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<Dialog title="弹出框" v-model="dialogVisible" width="45%">
|
||||
<Dialog :title="dialogTitle" v-model="dialogVisible" width="45%">
|
||||
<el-form
|
||||
ref="formRef"
|
||||
:model="formData"
|
||||
@ -9,6 +9,7 @@
|
||||
label-position="right"
|
||||
label-suffix=""
|
||||
class="-ml-30px"
|
||||
v-loading="formLoading"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
@ -70,7 +71,7 @@
|
||||
|
||||
<template #footer>
|
||||
<div style="text-align: center">
|
||||
<el-button type="primary" @click="submitForm">保存</el-button>
|
||||
<el-button type="primary" :disabled="formLoading" @click="submitForm">保存</el-button>
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
</div>
|
||||
</template>
|
||||
@ -89,6 +90,7 @@ defineOptions({ name: 'ExampartManageForm' })
|
||||
* ExampartManageForm
|
||||
**/
|
||||
/** 导入内容 **/
|
||||
const emit = defineEmits(['success'])
|
||||
|
||||
/** 组件引用 **/
|
||||
const formRef = ref()
|
||||
@ -96,8 +98,11 @@ const formRef = ref()
|
||||
/** 数据结构 **/
|
||||
const message = useMessage()
|
||||
const { t } = useI18n()
|
||||
const orgList = ref<any[]>([])
|
||||
const dialogVisible = ref(false)
|
||||
const dialogTitle = ref('')
|
||||
const formLoading = ref(false)
|
||||
const formType = ref('')
|
||||
const orgList = ref<any[]>([])
|
||||
//表单核心
|
||||
const formData0 = ref({
|
||||
pageNo: 1,
|
||||
@ -107,47 +112,87 @@ const formData0 = ref({
|
||||
})
|
||||
const formData = ref({
|
||||
/** 测试数据 **/
|
||||
id: '',
|
||||
examPartCode: '',
|
||||
examPartName: '',
|
||||
orgId: '',
|
||||
remark: ''
|
||||
remark: '',
|
||||
orgId: ''
|
||||
})
|
||||
|
||||
/****** 自定义内容 ******/
|
||||
const resetForm = async () => {
|
||||
formData.value = {
|
||||
/** 测试数据 **/
|
||||
id: '',
|
||||
examPartCode: '',
|
||||
examPartName: '',
|
||||
remark: '',
|
||||
orgId: ''
|
||||
}
|
||||
formRef.value?.clearValidate()
|
||||
}
|
||||
|
||||
const open = async (type: string, id?: number) => {
|
||||
dialogVisible.value = true
|
||||
dialogTitle.value = t('action.' + type)
|
||||
formType.value = type
|
||||
resetForm()
|
||||
if (id) {
|
||||
formLoading.value = true
|
||||
try {
|
||||
formData.value = await ExampartManageApi.get(id)
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/****** 可参考内容 ******/
|
||||
const emit = defineEmits(['success'])
|
||||
/** 组件事件 **/
|
||||
const submitForm = async () => {
|
||||
formLoading.value = true
|
||||
try {
|
||||
const data = formData.value
|
||||
await ExampartManageApi.create(data)
|
||||
//校验
|
||||
if (!data.examPartCode) {
|
||||
await message.alertWarning('请输入检查部位编码')
|
||||
return
|
||||
}
|
||||
if (!data.examPartName) {
|
||||
await message.alertWarning('请输入检查部位名称')
|
||||
return
|
||||
}
|
||||
if (!data.orgId) {
|
||||
await message.alertWarning('请选择机构')
|
||||
return
|
||||
}
|
||||
//更新
|
||||
if (formType.value === 'create') {
|
||||
await ExampartManageApi.create(data)
|
||||
message.success(t('common.createSuccess'))
|
||||
} else if (formType.value === 'update') {
|
||||
await ExampartManageApi.update(data)
|
||||
message.success(t('common.updateSuccess'))
|
||||
}
|
||||
dialogVisible.value = false
|
||||
emit('success')
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
}
|
||||
const openTest = () => {
|
||||
dialogVisible.value = true
|
||||
//清空内容
|
||||
}
|
||||
|
||||
/** 组件事件 **/
|
||||
|
||||
/** 钩子方法 **/
|
||||
onMounted(async () => {
|
||||
//ceshi
|
||||
orgList.value = await ExampartManageApi.getOrgList()
|
||||
})
|
||||
|
||||
/** 防空作用域 **/
|
||||
console.log(dateFormatter)
|
||||
console.log(message)
|
||||
console.log(t)
|
||||
console.log(ExampartManageApi)
|
||||
console.log(formData0)
|
||||
//console.log(null)
|
||||
|
||||
/** 导出内容 **/
|
||||
defineExpose({ openTest })
|
||||
defineExpose({ open })
|
||||
/**
|
||||
* 备注:
|
||||
*
|
||||
|
@ -38,7 +38,7 @@
|
||||
<el-button @click="handleQuery">
|
||||
<Icon icon="ep:search" class="mr-5px" /> 搜索
|
||||
</el-button>
|
||||
<el-button type="primary" plain @click="openFormTest()">
|
||||
<el-button type="primary" plain @click="openForm('create')">
|
||||
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
@ -57,13 +57,16 @@
|
||||
:data="list_examparts"
|
||||
height="max(53vh,80px)"
|
||||
>
|
||||
<el-table-column type="index" label="序号" align="center" width="54px" />
|
||||
<el-table-column label="检查部位编码" align="center" prop="examPartCode" />
|
||||
<el-table-column label="检查部位名称" align="center" prop="examPartName" />
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column label="操作" align="center">
|
||||
<template #default>
|
||||
<el-button link type="primary"> 编辑 </el-button>
|
||||
<el-button link type="danger"> 删除 </el-button>
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="openForm('update', scope.row.id)">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button link type="danger" @click="handleDelete(scope.row.id)"> 删除 </el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 数据列 -->
|
||||
@ -122,10 +125,24 @@ const queryParams = ref({
|
||||
//表格核心
|
||||
const list_examparts = ref<any[]>([])
|
||||
const total = ref(0)
|
||||
const loading = ref(false)
|
||||
const loading = ref(true)
|
||||
|
||||
/****** 自定义内容 ******/
|
||||
/****** 可参考内容 ******/
|
||||
/** 组件事件 **/
|
||||
const openForm = (type: string, id?: any) => {
|
||||
formRef.value.open(type, id)
|
||||
}
|
||||
|
||||
const handleDelete = async (id: any) => {
|
||||
try {
|
||||
await message.delConfirm()
|
||||
await ExampartManageApi.delete(id)
|
||||
message.success(t('common.delSuccess'))
|
||||
await getList()
|
||||
} catch {}
|
||||
}
|
||||
|
||||
const getList = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
@ -136,31 +153,21 @@ const getList = async () => {
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
const handleQuery = () => {
|
||||
queryParams.value.pageNo = 1
|
||||
getList()
|
||||
}
|
||||
const openFormTest = () => {
|
||||
formRef.value.openTest()
|
||||
}
|
||||
|
||||
/** 组件事件 **/
|
||||
|
||||
/** 钩子方法 **/
|
||||
onMounted(() => {
|
||||
//ceshi
|
||||
getList()
|
||||
})
|
||||
|
||||
/** 防空作用域 **/
|
||||
console.log(dateFormatter)
|
||||
console.log(download)
|
||||
console.log(message)
|
||||
console.log(t)
|
||||
console.log(ExampartManageApi)
|
||||
console.log(ExampartManageForm)
|
||||
console.log(queryParams0)
|
||||
console.log(openFormTest)
|
||||
//console.log(null)
|
||||
|
||||
/** 导出内容 **/
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-card shadow="never" style="margin-bottom: 8px">
|
||||
<el-card shadow="never" style="margin-bottom: 4px">
|
||||
<el-form
|
||||
ref="queryFormRef"
|
||||
:model="queryParams"
|
||||
@ -13,49 +13,59 @@
|
||||
class="-mb-15px"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="5">
|
||||
<!-- 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="4">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="" label-width="0px" 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="请选择结束日期"
|
||||
<el-col :span="8">
|
||||
<el-form-item label="登记号" prop="regId" class="item-style">
|
||||
<el-input
|
||||
v-model="queryParams.regId"
|
||||
placeholder="请输入登记号"
|
||||
clearable
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="报告状态" prop="it_3" class="item-style">
|
||||
<el-select
|
||||
v-model="queryParams.it_3"
|
||||
placeholder="请选择报告状态"
|
||||
<el-form-item label="检查号" prop="examId" class="item-style">
|
||||
<el-input
|
||||
v-model="queryParams.examId"
|
||||
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">
|
||||
<el-col :span="5">
|
||||
<!-- 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-form-item label="检查日期" prop="examDate_ge" class="item-style date-picker">
|
||||
<el-date-picker
|
||||
v-model="queryParams.examDate_ge"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
placeholder="开始日期"
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<!-- Notes: -->
|
||||
<el-form-item
|
||||
label=""
|
||||
label-width="0px"
|
||||
prop="examDate_le"
|
||||
class="item-style date-picker"
|
||||
>
|
||||
<el-date-picker
|
||||
v-model="queryParams.examDate_le"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
placeholder="结束日期"
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7" v-if="false">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="患者来源" prop="regSource" class="item-style">
|
||||
<el-radio-group class="item-width radio-group">
|
||||
<el-radio value="全部" style="margin-left: 6px; margin-right: 16px"
|
||||
>全部</el-radio
|
||||
>
|
||||
@ -67,62 +77,95 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="9">
|
||||
<el-col :span="8">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="检查设备" prop="it_5" class="item-style">
|
||||
<el-form-item label="影像设备" prop="deviceName" class="item-style">
|
||||
<el-select
|
||||
v-model="queryParams.it_5"
|
||||
placeholder="请选择检查设备"
|
||||
v-model="queryParams.deviceName"
|
||||
placeholder="请选择影像设备"
|
||||
clearable
|
||||
class="item-width"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in deviceList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
:key="item.deviceId"
|
||||
:label="item.deviceName"
|
||||
:value="item.deviceName"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="检查部位" prop="it_6" class="item-style">
|
||||
<el-form-item label="设备类型" prop="deviceType" class="item-style">
|
||||
<el-select
|
||||
v-model="queryParams.it_6"
|
||||
v-model="queryParams.deviceType"
|
||||
placeholder="请选择设备类型"
|
||||
clearable
|
||||
class="item-width"
|
||||
>
|
||||
<el-option label="DR" value="DR" />
|
||||
<el-option label="CT" value="CT" />
|
||||
<el-option label="MR" value="MR" />
|
||||
<el-option label="超声" value="超声" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="阴性阳性" prop="diagFlag" class="item-style">
|
||||
<el-radio-group v-model="queryParams.diagFlag" class="item-width radio-group">
|
||||
<el-radio value="" style="margin-left: 12px; margin-right: 18px">全部</el-radio>
|
||||
<el-radio value="0" style="margin-right: 18px">阴性</el-radio>
|
||||
<el-radio value="1" style="margin-right: 18px">阳性</el-radio>
|
||||
<el-radio value="2" style="margin-right: 4px">重大阳性</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="检查部位" prop="examItemName" class="item-style">
|
||||
<el-select
|
||||
v-model="queryParams.examItemName"
|
||||
placeholder="请选择检查部位"
|
||||
clearable
|
||||
class="item-width"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in examitemsList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
:key="item.examItemCode"
|
||||
:label="item.examItemName"
|
||||
:value="item.examItemName"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-col :span="8">
|
||||
<!-- 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 label="报告状态" prop="reportstatus" class="item-style">
|
||||
<el-select
|
||||
v-model="queryParams.reportstatus"
|
||||
placeholder="请选择报告状态"
|
||||
clearable
|
||||
class="item-width"
|
||||
>
|
||||
<el-option label="已分检" value="已分检" />
|
||||
<el-option label="待分析" value="待分析" />
|
||||
<el-option label="已分析" value="已分析" />
|
||||
<el-option label="已审核" value="已审核" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="9">
|
||||
<el-col :span="8">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="姓名" prop="it_8" class="item-style">
|
||||
<el-form-item label="患者姓名" prop="pname" class="item-style">
|
||||
<el-input
|
||||
v-model="queryParams.it_8"
|
||||
placeholder="请输入姓名"
|
||||
v-model="queryParams.pname"
|
||||
placeholder="请输入患者姓名"
|
||||
clearable
|
||||
class="item-width"
|
||||
/>
|
||||
@ -130,23 +173,22 @@
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="性别" prop="it_9" class="item-style">
|
||||
<el-form-item label="性别" prop="gender" class="item-style">
|
||||
<el-select
|
||||
v-model="queryParams.it_9"
|
||||
v-model="queryParams.gender"
|
||||
placeholder="请选择性别"
|
||||
clearable
|
||||
class="item-width"
|
||||
>
|
||||
<el-option label="xxxxx" value="xxxxx" />
|
||||
<el-option label="xxxxx" value="xxxxx" />
|
||||
<el-option label="xxxxx" value="xxxxx" />
|
||||
<el-option label="男" value="男" />
|
||||
<el-option label="女" value="女" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col
|
||||
:span="7"
|
||||
:offset="4"
|
||||
style="text-align: left; padding-left: 8px; margin-bottom: 6px"
|
||||
:span="8"
|
||||
style="text-align: left; padding-left: 10px; margin-bottom: 6px"
|
||||
>
|
||||
<el-button @click="handleQuery">
|
||||
<Icon icon="ep:search" class="mr-5px" /> 搜索
|
||||
@ -158,31 +200,58 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="15">
|
||||
<el-col :span="16">
|
||||
<el-card shadow="never" style="min-height: 400px">
|
||||
<el-table
|
||||
v-loading="loading_patExamitems"
|
||||
v-loading="loading"
|
||||
size="small"
|
||||
border
|
||||
fit
|
||||
:stripe="true"
|
||||
:show-overflow-tooltip="true"
|
||||
:data="list"
|
||||
:data="list_IllnessCase"
|
||||
height="max(45vh,330px)"
|
||||
@row-click="handleRowClick"
|
||||
@row-click="handleRowClick"
|
||||
>
|
||||
<el-table-column label="主键" align="center" prop="id" v-if="false" />
|
||||
<el-table-column label="检查ID" align="center" prop="examId" />
|
||||
<el-table-column label="患者姓名" align="center" prop="pname" />
|
||||
<el-table-column label="性别" align="center" prop="gender" />
|
||||
<el-table-column type="index" label="序号" align="center" width="54px" />
|
||||
<el-table-column label="登记号" align="center" prop="regId" width="120px" />
|
||||
<el-table-column label="检查号" align="center" prop="examId" width="120px" />
|
||||
<el-table-column label="患者姓名" align="center" prop="pname" width="100px" />
|
||||
<el-table-column label="性别" align="center" prop="gender" width="48px" />
|
||||
<el-table-column
|
||||
label="出生日期"
|
||||
align="center"
|
||||
prop="birthday"
|
||||
:formatter="dateFormatter2"
|
||||
width="180px"
|
||||
width="90px"
|
||||
/>
|
||||
<el-table-column label="机构ID" align="center" prop="orgId" v-if="false" />
|
||||
<el-table-column label="登记单号" align="center" prop="regId" />
|
||||
<el-table-column
|
||||
label="检查日期"
|
||||
align="center"
|
||||
prop="examDate"
|
||||
:formatter="dateFormatter2"
|
||||
width="90px"
|
||||
/>
|
||||
<el-table-column
|
||||
label="检查部位"
|
||||
header-align="center"
|
||||
prop="examItemName"
|
||||
width="160px"
|
||||
/>
|
||||
<el-table-column
|
||||
label="影像设备"
|
||||
header-align="center"
|
||||
prop="deviceName"
|
||||
width="160px"
|
||||
/>
|
||||
<el-table-column label="阴性阳性" align="center" prop="diagFlag">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.diagFlag == '0'">阴性</el-tag>
|
||||
<el-tag v-else-if="scope.row.diagFlag == '1'">阳性</el-tag>
|
||||
<el-tag v-else-if="scope.row.diagFlag == '2'">重大阳性</el-tag>
|
||||
<el-tag type="danger" v-else>暂无</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 数据列 -->
|
||||
</el-table>
|
||||
<div style="display: flex; justify-content: center">
|
||||
@ -192,11 +261,12 @@
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</el-card>
|
||||
</el-col>
|
||||
<el-col :span="9">
|
||||
<el-col :span="8">
|
||||
<el-card shadow="never" style="height: 100%" class="ml-1">
|
||||
<el-scrollbar>
|
||||
<el-form size="small" label-width="68px" label-position="top" label-suffix="">
|
||||
@ -239,7 +309,7 @@
|
||||
import { dateFormatter, dateFormatter2 } from '@/utils/formatTime'
|
||||
import download from '@/utils/download'
|
||||
import { IllnessCaseApi } from '@/api/applyregistration/illnessCase'
|
||||
import { PatientexamlistApi, PatientexamlistVO } from '@/api/tblist/patientexamlist'
|
||||
|
||||
defineOptions({ name: 'IllnessCase' })
|
||||
/*
|
||||
* 李传洋
|
||||
@ -264,101 +334,69 @@ const queryParams0 = ref({
|
||||
doctorName: undefined,
|
||||
departmentName: undefined
|
||||
})
|
||||
|
||||
const queryParams = ref({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
examId: undefined,
|
||||
pname: undefined,
|
||||
gender: undefined,
|
||||
birthday: undefined,
|
||||
examDate: [],
|
||||
deviceType: '',
|
||||
seDc: undefined,
|
||||
examItemName: undefined,
|
||||
reportstatus: undefined,
|
||||
applicationDate: [],
|
||||
uploadDate: [],
|
||||
orgName: undefined,
|
||||
orgId: '',
|
||||
highLevelOrgId: '',
|
||||
createDate: [],
|
||||
examDescription: undefined,
|
||||
diagResults: undefined,
|
||||
diagDate: [],
|
||||
diagDoctor: undefined,
|
||||
reviewDoctor: undefined,
|
||||
reviewDate: [],
|
||||
thumbnailImgUrl: undefined,
|
||||
createTime: [],
|
||||
regId: '',
|
||||
/** 测试数据 **/
|
||||
it_1: '',
|
||||
it_2: '',
|
||||
it_3: '',
|
||||
it_4: '',
|
||||
it_5: '',
|
||||
it_6: '',
|
||||
it_7: '',
|
||||
it_8: '',
|
||||
it_9: ''
|
||||
regId: '',
|
||||
examId: '',
|
||||
examDate_ge: '',
|
||||
examDate_le: '',
|
||||
deviceType: '',
|
||||
deviceName: '',
|
||||
diagFlag: '',
|
||||
examItemName: '',
|
||||
reportstatus: '',
|
||||
pname: '',
|
||||
gender: ''
|
||||
})
|
||||
// 列表的总页数
|
||||
//表格核心
|
||||
const list_IllnessCase = ref<any[]>([])
|
||||
const total = ref(0)
|
||||
const loading_patExamitems = ref(false)
|
||||
// 列表的数据
|
||||
const list = ref<PatientexamlistVO[]>([])
|
||||
|
||||
/** 查询列表 */
|
||||
const getList = async () => {
|
||||
resetForm()
|
||||
loading_patExamitems.value = true
|
||||
try {
|
||||
const data = await PatientexamlistApi.getPatientexamlistPage(queryParams)
|
||||
list.value = data.list
|
||||
total.value = data.total
|
||||
} finally {
|
||||
loading_patExamitems.value = false
|
||||
}
|
||||
}
|
||||
// 行点击事件
|
||||
const handleRowClick = (row) => {
|
||||
//所见
|
||||
examitemsDesc .value= row.examDescription
|
||||
//所得
|
||||
diagnosisDesc.value = row.diagResults
|
||||
}
|
||||
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
const handleQuery = () => {
|
||||
queryParams.value.pageNo = 1
|
||||
//获取到当前登陆用户的机构时 要进行赋值
|
||||
queryParams.value.orgId = ''
|
||||
queryParams.value.highLevelOrgId = ''
|
||||
getList()
|
||||
}
|
||||
/** 重置表单 */
|
||||
const resetForm = () => {
|
||||
list.value = []
|
||||
examitemsDesc.value=''
|
||||
diagnosisDesc.value=''
|
||||
}
|
||||
const loading = ref(true)
|
||||
|
||||
/****** 自定义内容 ******/
|
||||
/****** 可参考内容 ******/
|
||||
const resetDesc = async () => {
|
||||
examitemsDesc.value = ''
|
||||
diagnosisDesc.value = ''
|
||||
}
|
||||
|
||||
/****** 可参考内容 ******/
|
||||
/** 组件事件 **/
|
||||
const getList = async () => {
|
||||
resetDesc()
|
||||
loading.value = true
|
||||
try {
|
||||
const data = await IllnessCaseApi.getPage(queryParams.value)
|
||||
console.log('---------------------')
|
||||
console.log(data.list)
|
||||
list_IllnessCase.value = data.list
|
||||
total.value = data.total
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
const handleQuery = async () => {
|
||||
queryParams.value.pageNo = 1
|
||||
getList()
|
||||
}
|
||||
|
||||
const handleRowClick = async (row) => {
|
||||
examitemsDesc.value = row ? row.examDescription : ''
|
||||
diagnosisDesc.value = row ? row.diagResults : ''
|
||||
}
|
||||
|
||||
/** 钩子方法 **/
|
||||
onMounted(() => {
|
||||
onMounted(async () => {
|
||||
deviceList.value = await IllnessCaseApi.getDeviceList()
|
||||
examitemsList.value = await IllnessCaseApi.getExamitemsList()
|
||||
getList()
|
||||
})
|
||||
|
||||
/** 防空作用域 **/
|
||||
console.log(dateFormatter)
|
||||
console.log(download)
|
||||
console.log(IllnessCaseApi)
|
||||
console.log(message)
|
||||
console.log(t)
|
||||
console.log(queryParams0)
|
||||
|
@ -12,11 +12,35 @@
|
||||
label-suffix=""
|
||||
class="mb-2px -ml-14px"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="登记号" prop="regId" class="item-style">
|
||||
<el-input
|
||||
v-model="queryParams.regId"
|
||||
placeholder="请输入登记号"
|
||||
clearable
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="检查号" prop="examId" class="item-style">
|
||||
<el-input
|
||||
v-model="queryParams.examId"
|
||||
placeholder="请输入检查号"
|
||||
clearable
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="13">
|
||||
<el-form-item label="日期" prop="it_1" class="item-style date-picker">
|
||||
<el-form-item label="检查日期" prop="examDate_ge" class="item-style date-picker">
|
||||
<el-date-picker
|
||||
v-model="queryParams.it_1"
|
||||
v-model="queryParams.examDate_ge"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
placeholder="开始日期"
|
||||
@ -28,11 +52,11 @@
|
||||
<el-form-item
|
||||
label=""
|
||||
label-width="0px"
|
||||
prop="it_1a"
|
||||
prop="examDate_le"
|
||||
class="item-style date-picker"
|
||||
>
|
||||
<el-date-picker
|
||||
v-model="queryParams.it_1a"
|
||||
v-model="queryParams.examDate_le"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
placeholder="结束日期"
|
||||
@ -43,59 +67,29 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="设备" prop="it_2" class="item-style">
|
||||
<el-form-item label="影像设备" prop="deviceName" class="item-style">
|
||||
<el-select
|
||||
v-model="queryParams.it_2"
|
||||
v-model="queryParams.deviceName"
|
||||
placeholder="请选择设备"
|
||||
clearable
|
||||
class="item-width"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in deviceList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
:key="item.deviceId"
|
||||
:label="item.deviceName"
|
||||
:value="item.deviceName"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="13">
|
||||
<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="11">
|
||||
<el-form-item label="打印" label-width="44px" 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-form-item label="患者姓名" prop="pname" class="item-style">
|
||||
<el-input
|
||||
v-model="queryParams.it_5"
|
||||
placeholder="请输入检查号"
|
||||
v-model="queryParams.pname"
|
||||
placeholder="请输入患者姓名"
|
||||
clearable
|
||||
class="item-width"
|
||||
/>
|
||||
@ -108,9 +102,9 @@
|
||||
<el-button @click="handleQuery">
|
||||
<Icon icon="ep:search" class="mr-2px" /> 搜索
|
||||
</el-button>
|
||||
<!-- <el-button type="primary" plain>
|
||||
<el-button type="primary" plain>
|
||||
<Icon icon="ep:printer" class="mr-2px" /> 打印
|
||||
</el-button> -->
|
||||
</el-button>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -121,23 +115,49 @@
|
||||
border
|
||||
:stripe="true"
|
||||
:show-overflow-tooltip="true"
|
||||
:data="list"
|
||||
height="max(43vh,294px)"
|
||||
:data="list_infos"
|
||||
height="max(30vh,294px)"
|
||||
@row-click="handleRowClick"
|
||||
>
|
||||
<el-table-column label="主键" align="center" prop="id" v-if="false" />
|
||||
<el-table-column label="检查ID" align="center" prop="examId" />
|
||||
<el-table-column label="患者姓名" align="center" prop="pname" />
|
||||
<el-table-column label="性别" align="center" prop="gender" />
|
||||
<el-table-column type="index" label="序号" align="center" width="54px" />
|
||||
<el-table-column label="登记号" align="center" prop="regId" width="120px" />
|
||||
<el-table-column label="检查号" align="center" prop="examId" width="120px" />
|
||||
<el-table-column label="患者姓名" align="center" prop="pname" width="100px" />
|
||||
<el-table-column label="性别" align="center" prop="gender" width="48px" />
|
||||
<el-table-column
|
||||
label="出生日期"
|
||||
align="center"
|
||||
prop="birthday"
|
||||
:formatter="dateFormatter2"
|
||||
width="180px"
|
||||
width="90px"
|
||||
/>
|
||||
<el-table-column label="机构ID" align="center" prop="orgId" v-if="false" />
|
||||
<el-table-column label="登记单号" align="center" prop="regId" />
|
||||
<el-table-column
|
||||
label="检查日期"
|
||||
align="center"
|
||||
prop="examDate"
|
||||
:formatter="dateFormatter2"
|
||||
width="90px"
|
||||
/>
|
||||
<el-table-column
|
||||
label="检查部位"
|
||||
header-align="center"
|
||||
prop="examItemName"
|
||||
width="160px"
|
||||
/>
|
||||
<el-table-column
|
||||
label="影像设备"
|
||||
header-align="center"
|
||||
prop="deviceName"
|
||||
width="160px"
|
||||
/>
|
||||
<el-table-column label="阴性阳性" align="center" prop="diagFlag">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.diagFlag == '0'">阴性</el-tag>
|
||||
<el-tag v-else-if="scope.row.diagFlag == '1'">阳性</el-tag>
|
||||
<el-tag v-else-if="scope.row.diagFlag == '2'">重大阳性</el-tag>
|
||||
<el-tag type="danger" v-else>暂无</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 数据列 -->
|
||||
</el-table>
|
||||
<div style="display: flex; justify-content: center">
|
||||
@ -166,266 +186,104 @@
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="13">
|
||||
<el-form-item label="检查号" prop="it_1" class="item-style">
|
||||
<el-form-item label="检查号" prop="examId" class="item-style">
|
||||
<el-input
|
||||
v-model="infoParams.it_1"
|
||||
v-model="infoParams.examId"
|
||||
clearable
|
||||
:readonly="true"
|
||||
:readonly="diagnosisInfo_readonly"
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="11">
|
||||
<el-form-item label="病例号" prop="it_2" class="item-style">
|
||||
<el-form-item label="病例号" prop="regId" class="item-style">
|
||||
<el-input
|
||||
v-model="infoParams.it_2"
|
||||
v-model="infoParams.regId"
|
||||
clearable
|
||||
:readonly="true"
|
||||
:readonly="diagnosisInfo_readonly"
|
||||
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-form-item label="姓名" prop="pname" class="item-style">
|
||||
<el-input
|
||||
v-model="infoParams.it_7"
|
||||
v-model="infoParams.pname"
|
||||
clearable
|
||||
:readonly="true"
|
||||
:readonly="diagnosisInfo_readonly"
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="性别" prop="it_8" class="item-style">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="性别" prop="gender" class="item-style">
|
||||
<el-select
|
||||
v-model="infoParams.it_8"
|
||||
v-model="infoParams.gender"
|
||||
placeholder=""
|
||||
clearable
|
||||
:disabled="true"
|
||||
:disabled="diagnosisInfo_readonly"
|
||||
class="item-width"
|
||||
>
|
||||
<el-option label="xxxxx" value="xxxxx" />
|
||||
<el-option label="xxxxx" value="xxxxx" />
|
||||
<el-option label="xxxxx" value="xxxxx" />
|
||||
<el-option label="男" value="男" />
|
||||
<el-option label="女" value="女" />
|
||||
</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 date-picker">
|
||||
<el-col :span="13">
|
||||
<el-form-item label="出生日期" prop="birthday" class="item-style date-picker">
|
||||
<el-date-picker
|
||||
v-model="infoParams.it_10"
|
||||
v-model="infoParams.birthday"
|
||||
type="date"
|
||||
:readonly="true"
|
||||
:readonly="diagnosisInfo_readonly"
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="年龄" prop="it_11" class="item-style">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="年龄" class="item-style">
|
||||
<el-input
|
||||
v-model="age"
|
||||
clearable
|
||||
:readonly="true"
|
||||
:readonly="diagnosisInfo_readonly"
|
||||
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> -->
|
||||
<template #append>岁</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-form-item label="送检科室" prop="billDoctorDepartment" class="item-style">
|
||||
<el-input
|
||||
v-model="infoParams.billDoctorDepartment"
|
||||
clearable
|
||||
:readonly="true"
|
||||
:readonly="diagnosisInfo_readonly"
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="11">
|
||||
<el-col :span="11" v-if="false">
|
||||
<el-form-item label="申请医生" prop="it_14" class="item-style">
|
||||
<el-input
|
||||
v-model="infoParams.it_14"
|
||||
clearable
|
||||
:readonly="true"
|
||||
class="item-width"
|
||||
/>
|
||||
<el-input 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 date-picker">
|
||||
<el-date-picker
|
||||
v-model="infoParams.it_15"
|
||||
type="datetime"
|
||||
: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"
|
||||
<el-form-item
|
||||
label="检查日期"
|
||||
prop="applicationDate"
|
||||
class="item-style date-picker"
|
||||
>
|
||||
<el-date-picker
|
||||
v-model="infoParams.applicationDate"
|
||||
type="datetime"
|
||||
:readonly="diagnosisInfo_readonly"
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
@ -433,12 +291,12 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="所见" prop="it_23" class="item-style">
|
||||
<el-form-item label="所见" prop="examDescription" class="item-style">
|
||||
<el-input
|
||||
v-model="infoParams.it_23"
|
||||
v-model="infoParams.examDescription"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 4, maxRows: 6 }"
|
||||
:readonly="true"
|
||||
:autosize="{ minRows: 6, maxRows: 9 }"
|
||||
:readonly="diagnosisInfo_readonly"
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
@ -446,12 +304,12 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="结论" prop="it_24" class="item-style">
|
||||
<el-form-item label="结论" prop="diagResults" class="item-style">
|
||||
<el-input
|
||||
v-model="infoParams.it_24"
|
||||
v-model="infoParams.diagResults"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 4, maxRows: 6 }"
|
||||
:readonly="true"
|
||||
:autosize="{ minRows: 6, maxRows: 9 }"
|
||||
:readonly="diagnosisInfo_readonly"
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
@ -460,36 +318,47 @@
|
||||
</el-form>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="报告单" name="reportInfo">
|
||||
<!--报告区域-->
|
||||
<div class="flex-center" id="printMe" style="height: calc(100% - 15px)">
|
||||
<div class="ultrasound-report" id="PDF">
|
||||
<h2>超声检查报告单</h2>
|
||||
<hr />
|
||||
<div class="patient-info">
|
||||
<p class="info-item">姓名:{{infoParams.it_7}}</p>
|
||||
<p class="info-item">送检科室:{{infoParams.billDoctorDepartment}}</p>
|
||||
<p class="info-item">门诊号:{{infoParams.it_2}}</p>
|
||||
<p class="info-item">性别:{{infoParams.it_8}}</p>
|
||||
<p class="info-item">年龄:{{age}}</p>
|
||||
<p class="info-item">设备:{{ infoParams.deviceName}}</p>
|
||||
<p class="info-item">检查号:{{infoParams.it_1 }}</p>
|
||||
<p class="info-item">检查类型:{{infoParams.examItemName }}</p>
|
||||
<p class="info-item">姓名:{{ infoParams.pname }}</p>
|
||||
<p class="info-item">送检科室:{{ infoParams.billDoctorDepartment }}</p>
|
||||
<p class="info-item">门诊号:{{ infoParams.regId }}</p>
|
||||
<p class="info-item">性别:{{ infoParams.gender }}</p>
|
||||
<p class="info-item">年龄:{{ age }}</p>
|
||||
<p class="info-item">设备:{{ infoParams.deviceName }}</p>
|
||||
<p class="info-item">检查号:{{ infoParams.examId }}</p>
|
||||
<p class="info-item">检查类型:{{ infoParams.examItemName }}</p>
|
||||
</div>
|
||||
<hr />
|
||||
<!-- 图片展示区域 -->
|
||||
<h3>超声图像:</h3>
|
||||
<div class="image-gallery">
|
||||
<div class="image-item-container" v-for="image in reportimages" :key="image.id">
|
||||
<img :src="image.imgUrl" alt="" style="width: 180px; height: 180px" />
|
||||
<div v-for="image in reportimages" :key="image.id">
|
||||
<img
|
||||
alt=""
|
||||
style="width: 140px; height: 140px"
|
||||
:src="image.imgUrl"
|
||||
v-if="false"
|
||||
/>
|
||||
<el-image
|
||||
alt=""
|
||||
fit="fill"
|
||||
style="width: 99%; height: 99%"
|
||||
:src="image.imgUrl"
|
||||
:preview-src-list="[image.imgUrl]"
|
||||
v-if="true"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ultrasound-findings">
|
||||
<h3>超声所见:</h3>
|
||||
<p>{{infoParams.it_23}}</p>
|
||||
<p>{{ infoParams.examDescription }}</p>
|
||||
</div>
|
||||
<div class="ultrasound-recommendation">
|
||||
<h3>超声提示:</h3>
|
||||
<p>{{infoParams.it_24}}</p>
|
||||
<p>{{ infoParams.diagResults }}</p>
|
||||
</div>
|
||||
<div style="position: absolute; bottom: 20px; right: 20px">
|
||||
<p>医生签名:{{}}</p>
|
||||
@ -521,8 +390,8 @@
|
||||
import { dateFormatter, dateFormatter2 } from '@/utils/formatTime'
|
||||
import download from '@/utils/download'
|
||||
import { ReportPrintStatisticsApi } from '@/api/applyregistration/reportPrintStatistics'
|
||||
import { PatientexamlistApi, PatientexamlistVO } from '@/api/tblist/patientexamlist'
|
||||
import { ultrasoniccomApi, updateexamineimageVO } from '@/api/ultrasoniccom'
|
||||
import { ultrasoniccomApi } from '@/api/ultrasoniccom'
|
||||
|
||||
defineOptions({ name: 'ReportPrintStatistics' })
|
||||
/*
|
||||
* 李传洋
|
||||
@ -538,9 +407,10 @@ const infoFormRef = ref()
|
||||
const message = useMessage()
|
||||
const { t } = useI18n()
|
||||
const activeTabName = ref('diagnosisInfo')
|
||||
const diagnosisInfo_readonly = ref(true)
|
||||
const deviceList = ref<any[]>([])
|
||||
// 列表的总页数
|
||||
const total = ref(0)
|
||||
const reportimages = ref<any[]>([])
|
||||
const age = ref<any>('')
|
||||
//表单核心
|
||||
const queryParams0 = ref({
|
||||
pageNo: 1,
|
||||
@ -551,168 +421,113 @@ const queryParams0 = ref({
|
||||
const queryParams = ref({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
examId: undefined,
|
||||
pname: undefined,
|
||||
gender: undefined,
|
||||
birthday: undefined,
|
||||
examDate: [],
|
||||
deviceType: '',
|
||||
seDc: undefined,
|
||||
examItemName: undefined,
|
||||
reportstatus: undefined,
|
||||
applicationDate: [],
|
||||
uploadDate: [],
|
||||
orgName: undefined,
|
||||
orgId: '',
|
||||
highLevelOrgId: '',
|
||||
createDate: [],
|
||||
examDescription: undefined,
|
||||
diagResults: undefined,
|
||||
diagDate: [],
|
||||
diagDoctor: undefined,
|
||||
reviewDoctor: undefined,
|
||||
reviewDate: [],
|
||||
thumbnailImgUrl: undefined,
|
||||
createTime: [],
|
||||
regId: ''
|
||||
/** 测试数据 **/
|
||||
regId: '',
|
||||
examId: '',
|
||||
examDate_ge: '',
|
||||
examDate_le: '',
|
||||
deviceName: '',
|
||||
deviceType: 'US', //固定默认值
|
||||
pname: ''
|
||||
})
|
||||
// 计算年龄
|
||||
const age = ref()
|
||||
const calculateAge = (birthdate) => {
|
||||
if (!birthdate) {
|
||||
age.value = null
|
||||
return
|
||||
}
|
||||
const today = new Date()
|
||||
const birth = new Date(birthdate)
|
||||
|
||||
let yearsDiff = today.getFullYear() - birth.getFullYear()
|
||||
|
||||
// Check if the birthday hasn't occurred yet this year
|
||||
const hasBirthdayPassed =
|
||||
today.getMonth() > birth.getMonth() ||
|
||||
(today.getMonth() === birth.getMonth() && today.getDate() >= birth.getDate())
|
||||
|
||||
if (!hasBirthdayPassed) {
|
||||
yearsDiff--
|
||||
}
|
||||
|
||||
age.value = yearsDiff
|
||||
|
||||
}
|
||||
// 列表的数据
|
||||
const list = ref<PatientexamlistVO[]>([])
|
||||
|
||||
/** 查询列表 */
|
||||
const getList = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
queryParams.deviceType = 'US'
|
||||
const data = await PatientexamlistApi.getPatientexamlistPage(queryParams)
|
||||
list.value = data.list
|
||||
total.value = data.total
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
const handleQuery = () => {
|
||||
queryParams.value.pageNo = 1
|
||||
queryParams.value.deviceType = 'US'
|
||||
//获取到当前登陆用户的机构时 要进行赋值
|
||||
queryParams.value.orgId = ''
|
||||
queryParams.value.highLevelOrgId = ''
|
||||
getList()
|
||||
}
|
||||
//报告的查询
|
||||
//选择图片集合
|
||||
const reportimages = ref<any[]>([])
|
||||
// 加载选择的三个图片
|
||||
const loadimage = async (orgId:string,regId:string) => {
|
||||
const imageslist = await ultrasoniccomApi.getimageslist(orgId, regId, '1')
|
||||
console.log(imageslist)
|
||||
reportimages.value = imageslist
|
||||
}
|
||||
// 行点击事件
|
||||
const handleRowClick = (row) => {
|
||||
//所见
|
||||
infoParams.value.it_23 = row.examDescription
|
||||
//所得
|
||||
infoParams.value.it_24 = row.diagResults
|
||||
//姓名
|
||||
infoParams.value.it_7 = row.pname
|
||||
//性别
|
||||
infoParams.value.it_8 = row.gender
|
||||
// 生日
|
||||
infoParams.value.it_10 = row.birthday
|
||||
//病例号
|
||||
infoParams.value.it_2 = row.examId
|
||||
//检查号
|
||||
infoParams.value.it_1 = row.regId
|
||||
//申请日期
|
||||
infoParams.value.it_15 = row.applicationDate
|
||||
//科室
|
||||
infoParams.value.billDoctorDepartment= row.billDoctorDepartment
|
||||
//设备
|
||||
infoParams.value.deviceName= row.deviceName
|
||||
//年龄
|
||||
calculateAge(row.birthday)
|
||||
//检查类型
|
||||
infoParams.value.examItemName=row.examItemName
|
||||
|
||||
loadimage(row.orgId,row.regId)
|
||||
}
|
||||
|
||||
|
||||
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: '',
|
||||
billDoctorDepartment:'',
|
||||
deviceName:'',
|
||||
examItemName:'',
|
||||
examId: '',
|
||||
regId: '',
|
||||
pname: '',
|
||||
gender: '',
|
||||
birthday: '',
|
||||
billDoctorDepartment: '',
|
||||
applicationDate: '',
|
||||
examDescription: '',
|
||||
diagResults: '',
|
||||
examItemName: '',
|
||||
deviceName: ''
|
||||
})
|
||||
//表格核心
|
||||
const list_infos = ref<any[]>([])
|
||||
|
||||
const loading = ref(false)
|
||||
const total = ref(0)
|
||||
const loading = ref(true)
|
||||
|
||||
/****** 自定义内容 ******/
|
||||
/****** 可参考内容 ******/
|
||||
const calculateAge = async (birthdate) => {
|
||||
if (!birthdate) {
|
||||
age.value = ''
|
||||
return
|
||||
}
|
||||
const today = new Date()
|
||||
const birth = new Date(birthdate)
|
||||
let yearsDiff = today.getFullYear() - birth.getFullYear()
|
||||
// Check if the birthday hasn't occurred yet this year
|
||||
const hasBirthdayPassed =
|
||||
today.getMonth() > birth.getMonth() ||
|
||||
(today.getMonth() === birth.getMonth() && today.getDate() >= birth.getDate())
|
||||
if (!hasBirthdayPassed) {
|
||||
yearsDiff--
|
||||
}
|
||||
age.value = yearsDiff
|
||||
}
|
||||
|
||||
const loadimage = async (orgId: string, regId: string) => {
|
||||
const imageslist = await ultrasoniccomApi.getimageslist(orgId, regId, '1')
|
||||
reportimages.value = imageslist
|
||||
}
|
||||
|
||||
const resetDiagnosisInfo = async () => {
|
||||
infoParams.value = {
|
||||
/** 测试数据 **/
|
||||
examId: '',
|
||||
regId: '',
|
||||
pname: '',
|
||||
gender: '',
|
||||
birthday: '',
|
||||
billDoctorDepartment: '',
|
||||
applicationDate: '',
|
||||
examDescription: '',
|
||||
diagResults: '',
|
||||
examItemName: '',
|
||||
deviceName: ''
|
||||
}
|
||||
age.value = ''
|
||||
reportimages.value = []
|
||||
infoFormRef.value?.clearValidate()
|
||||
}
|
||||
|
||||
/****** 可参考内容 ******/
|
||||
/** 组件事件 **/
|
||||
const getList = async () => {
|
||||
resetDiagnosisInfo()
|
||||
loading.value = true
|
||||
try {
|
||||
const data = await ReportPrintStatisticsApi.getPage(queryParams.value)
|
||||
list_infos.value = data.list
|
||||
total.value = data.total
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
const handleQuery = () => {
|
||||
queryParams.value.pageNo = 1
|
||||
getList()
|
||||
}
|
||||
|
||||
const handleRowClick = (row) => {
|
||||
resetDiagnosisInfo()
|
||||
if (row) {
|
||||
infoParams.value = row
|
||||
calculateAge(row.birthday)
|
||||
loadimage(row.orgId, row.regId)
|
||||
}
|
||||
}
|
||||
|
||||
/** 钩子方法 **/
|
||||
onMounted(() => {
|
||||
//ceshi
|
||||
onMounted(async () => {
|
||||
deviceList.value = await ReportPrintStatisticsApi.getDeviceList()
|
||||
getList()
|
||||
})
|
||||
|
||||
@ -721,7 +536,6 @@ console.log(dateFormatter)
|
||||
console.log(download)
|
||||
console.log(message)
|
||||
console.log(t)
|
||||
console.log(ReportPrintStatisticsApi)
|
||||
console.log(queryParams0)
|
||||
console.log(infoParams0)
|
||||
//console.log(null)
|
||||
@ -781,8 +595,6 @@ console.log(infoParams0)
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.ultrasound-findings h3,
|
||||
.ultrasound-recommendation h3 {
|
||||
margin-top: 20px;
|
||||
|
@ -2,43 +2,24 @@
|
||||
<div>
|
||||
<el-row>
|
||||
<el-col :span="10">
|
||||
<el-card shadow="never" style="min-height: 540px; height: 76vh">
|
||||
<el-card shadow="never" v-loading="formLoading" style="min-height: 540px; height: 76vh">
|
||||
<el-form
|
||||
ref="queryFormRef"
|
||||
:model="queryParams"
|
||||
ref="infoFormRef"
|
||||
:model="infoParams"
|
||||
size="small"
|
||||
label-width="68px"
|
||||
label-position="right"
|
||||
label-suffix=""
|
||||
class="-mb-15px"
|
||||
class="-mb-10px"
|
||||
:disabled="infoFormRef_disabled"
|
||||
>
|
||||
<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.deviceId"
|
||||
:label="item.deviceName"
|
||||
:value="item.deviceId"
|
||||
/>
|
||||
</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-form-item label="登记号" prop="regId" class="item-style">
|
||||
<el-input
|
||||
v-model="queryParams.it_2"
|
||||
placeholder="请输入病例号"
|
||||
v-model="infoParams.regId"
|
||||
placeholder="请输入登记号"
|
||||
clearable
|
||||
class="item-width"
|
||||
/>
|
||||
@ -46,14 +27,13 @@
|
||||
</el-col>
|
||||
<el-col :span="11">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="患者来源" prop="it_3" class="item-style">
|
||||
<el-form-item label="患者来源" prop="regSource" class="item-style">
|
||||
<el-select
|
||||
v-model="queryParams.it_3"
|
||||
v-model="infoParams.regSource"
|
||||
placeholder="请选择患者来源"
|
||||
clearable
|
||||
class="item-width"
|
||||
>
|
||||
<el-option label="全部" value="全部" />
|
||||
<el-option label="门诊" value="门诊" />
|
||||
<el-option label="住院" value="住院" />
|
||||
<el-option label="体检" value="体检" />
|
||||
@ -61,144 +41,12 @@
|
||||
</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="男" value="1" />
|
||||
<el-option label="女" value="2" />
|
||||
</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-form-item label="申请单号" 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.departmentCode"
|
||||
:label="item.departmentName"
|
||||
:value="item.departmentCode"
|
||||
/>
|
||||
</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.doctorID"
|
||||
:label="item.doctorName"
|
||||
:value="item.doctorID"
|
||||
/>
|
||||
</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"
|
||||
v-model="examIdFirst"
|
||||
placeholder="申请单号"
|
||||
:disabled="true"
|
||||
class="item-width"
|
||||
@ -207,11 +55,154 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="姓名" prop="pname" class="item-style">
|
||||
<el-input
|
||||
v-model="infoParams.pname"
|
||||
placeholder="请输入姓名"
|
||||
clearable
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="10">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="性别" prop="gender" class="item-style">
|
||||
<el-select
|
||||
v-model="infoParams.gender"
|
||||
placeholder="请选择性别"
|
||||
clearable
|
||||
class="item-width"
|
||||
>
|
||||
<el-option label="男" value="男" />
|
||||
<el-option label="女" value="女" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="14">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="联系电话" prop="contactTel" class="item-style">
|
||||
<el-input
|
||||
v-model="infoParams.contactTel"
|
||||
placeholder="请输入联系电话"
|
||||
clearable
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="13">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="出生日期" prop="birthday" class="item-style date-picker">
|
||||
<el-date-picker
|
||||
v-model="infoParams.birthday"
|
||||
type="date"
|
||||
value-format="x"
|
||||
placeholder="请选择出生日期"
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="11" v-if="false">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="年龄" prop="it_6" class="item-style">
|
||||
<el-input 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="deviceId" class="item-style">
|
||||
<el-select
|
||||
v-model="deviceInfo"
|
||||
value-key="deviceId"
|
||||
placeholder="请选择检查设备"
|
||||
clearable
|
||||
class="item-width"
|
||||
@change="deviceInfo_change"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in deviceList"
|
||||
:key="item.deviceId"
|
||||
:label="item.deviceName"
|
||||
:value="item"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="开单科室" prop="billDoctorDepartment" class="item-style">
|
||||
<el-select
|
||||
v-model="infoParams.billDoctorDepartment"
|
||||
placeholder="请选择开单科室"
|
||||
clearable
|
||||
class="item-width"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in departmentList"
|
||||
:key="item.departmentCode"
|
||||
:label="item.departmentName"
|
||||
:value="item.departmentName"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="开单医生" prop="billgDoctor" class="item-style">
|
||||
<el-select
|
||||
v-model="infoParams.billgDoctor"
|
||||
placeholder="请选择开单医生"
|
||||
clearable
|
||||
class="item-width"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in doctorList"
|
||||
:key="item.doctorID"
|
||||
:label="item.doctorName"
|
||||
:value="item.doctorName"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="13">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="开单时间" prop="regDate" class="item-style date-picker">
|
||||
<el-date-picker
|
||||
v-model="infoParams.regDate"
|
||||
type="datetime"
|
||||
value-format="x"
|
||||
placeholder="请选择开单时间"
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="11" v-if="false">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="床号" prop="it_12" class="item-style">
|
||||
<el-input placeholder="请输入床号" clearable class="item-width" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row v-if="false">
|
||||
<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: 4 }"
|
||||
@ -223,28 +214,44 @@
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<!-- Notes: -->
|
||||
<el-form-item label="备注" prop="it_15" class="item-style">
|
||||
<el-form-item label="备注" prop="remark" class="item-style">
|
||||
<el-input
|
||||
v-model="queryParams.it_15"
|
||||
v-model="infoParams.remark"
|
||||
placeholder="请输入备注"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 4 }"
|
||||
:autosize="{ minRows: 7 }"
|
||||
class="item-width"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24" style="text-align: center; margin-top: 6px; 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-row>
|
||||
<el-col
|
||||
:span="24"
|
||||
style="text-align: center; margin-left: 8px; margin-top: 16px; margin-bottom: 10px"
|
||||
>
|
||||
<el-button type="primary" size="small" v-show="btnAdd_show" @click="btnAdd_click">
|
||||
<Icon icon="ep:plus" class="mr-10px" /> 新增
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
v-show="btnSubmit_show"
|
||||
@click="btnSubmit_click"
|
||||
>
|
||||
<Icon icon="ep:check" class="mr-10px" /> 保存
|
||||
</el-button>
|
||||
<el-button
|
||||
type="default"
|
||||
size="small"
|
||||
v-show="btnCancel_show"
|
||||
@click="btnCancel_click"
|
||||
>
|
||||
<Icon icon="ep:close" class="mr-10px" /> 取消
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</el-col>
|
||||
|
||||
@ -252,7 +259,9 @@
|
||||
<el-card shadow="never" class="card-right ml-2">
|
||||
<el-scrollbar>
|
||||
<el-checkbox-group
|
||||
v-model="queryParams.cks"
|
||||
v-model="infoParams.examItems"
|
||||
v-loading="formLoading"
|
||||
:disabled="infoFormRef_disabled"
|
||||
style="
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@ -263,10 +272,10 @@
|
||||
>
|
||||
<el-checkbox
|
||||
v-for="item in examitemsList"
|
||||
:key="item.id"
|
||||
:key="item.examItemCode"
|
||||
:label="item.examItemName"
|
||||
:value="item.id"
|
||||
style="margin-right: 15px; margin-bottom: -1px"
|
||||
:value="{ examItemCode: item.examItemCode, examItemName: item.examItemName }"
|
||||
style="margin-right: 15px; margin-bottom: -8px"
|
||||
/>
|
||||
</el-checkbox-group>
|
||||
</el-scrollbar>
|
||||
@ -277,8 +286,7 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { dateFormatter } from '@/utils/formatTime'
|
||||
import download from '@/utils/download'
|
||||
import { formatDate, dateFormatter } from '@/utils/formatTime'
|
||||
import { ReservationInfoApi } from '@/api/applyregistration/reservationInfo'
|
||||
|
||||
defineOptions({ name: 'ReservationInfo' })
|
||||
@ -289,52 +297,166 @@ defineOptions({ name: 'ReservationInfo' })
|
||||
/** 导入内容 **/
|
||||
|
||||
/** 组件引用 **/
|
||||
const queryFormRef = ref()
|
||||
const infoFormRef = ref()
|
||||
|
||||
/** 数据结构 **/
|
||||
const message = useMessage()
|
||||
const { t } = useI18n()
|
||||
const formLoading = ref(false)
|
||||
const examitemsList = ref<any[]>([])
|
||||
const doctorList = ref<any[]>([])
|
||||
const deviceList = ref<any[]>([])
|
||||
const departmentList = ref<any[]>([])
|
||||
//表单核心
|
||||
const queryParams0 = ref({
|
||||
const infoFormRef_disabled = ref(true)
|
||||
const btnAdd_show = ref(true)
|
||||
const btnSubmit_show = ref(false)
|
||||
const btnCancel_show = ref(false)
|
||||
const infoParams0 = ref({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
doctorName: undefined,
|
||||
departmentName: undefined
|
||||
})
|
||||
const queryParams = ref({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
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_12: '',
|
||||
it_13: '',
|
||||
it_14: '',
|
||||
it_15: '',
|
||||
cks: []
|
||||
regId: '',
|
||||
regSource: '',
|
||||
examIdBase: '',
|
||||
pname: '',
|
||||
gender: '',
|
||||
contactTel: '',
|
||||
birthday: '',
|
||||
deviceId: '',
|
||||
deviceName: '',
|
||||
billDoctorDepartment: '',
|
||||
billgDoctor: '',
|
||||
regDate: '',
|
||||
remark: '',
|
||||
examItems: []
|
||||
})
|
||||
const deviceInfo = ref<any>()
|
||||
const examIdFirst = ref('')
|
||||
|
||||
/****** 自定义内容 ******/
|
||||
const resetInfoForm = async () => {
|
||||
infoParams.value = {
|
||||
/** 测试数据 **/
|
||||
regId: '',
|
||||
regSource: '',
|
||||
examIdBase: '',
|
||||
pname: '',
|
||||
gender: '',
|
||||
contactTel: '',
|
||||
birthday: '',
|
||||
deviceId: '',
|
||||
deviceName: '',
|
||||
billDoctorDepartment: '',
|
||||
billgDoctor: '',
|
||||
regDate: '',
|
||||
remark: '',
|
||||
examItems: []
|
||||
}
|
||||
deviceInfo.value = undefined
|
||||
examIdFirst.value = ''
|
||||
infoFormRef.value?.clearValidate()
|
||||
}
|
||||
|
||||
/****** 可参考内容 ******/
|
||||
|
||||
/** 组件事件 **/
|
||||
const deviceInfo_change = async (value: any) => {
|
||||
infoParams.value.deviceId = value ? value.deviceId : ''
|
||||
infoParams.value.deviceName = value ? value.deviceName : ''
|
||||
}
|
||||
|
||||
const btnAdd_click = async () => {
|
||||
try {
|
||||
resetInfoForm()
|
||||
infoParams.value.examIdBase = formatDate(new Date(), 'YYYYMMDDHHmmssSSS') + '_'
|
||||
examIdFirst.value = infoParams.value.examIdBase + '1'
|
||||
btnAdd_show.value = false
|
||||
btnSubmit_show.value = true
|
||||
btnCancel_show.value = true
|
||||
infoFormRef_disabled.value = false
|
||||
} finally {
|
||||
}
|
||||
}
|
||||
|
||||
const btnSubmit_click = async () => {
|
||||
formLoading.value = true
|
||||
try {
|
||||
const data = infoParams.value
|
||||
console.log('-----------------------')
|
||||
console.log(data)
|
||||
//校验
|
||||
if (!data.regId) {
|
||||
await message.alertWarning('请输入登记号')
|
||||
return
|
||||
}
|
||||
if (!data.regSource) {
|
||||
await message.alertWarning('请选择患者来源')
|
||||
return
|
||||
}
|
||||
if (!data.pname) {
|
||||
await message.alertWarning('请输入姓名')
|
||||
return
|
||||
}
|
||||
if (!data.gender) {
|
||||
await message.alertWarning('请选择性别')
|
||||
return
|
||||
}
|
||||
if (!data.contactTel) {
|
||||
await message.alertWarning('请输入联系电话')
|
||||
return
|
||||
}
|
||||
if (!data.birthday) {
|
||||
await message.alertWarning('请选择出生日期')
|
||||
return
|
||||
}
|
||||
if (!data.deviceId || !deviceInfo.value) {
|
||||
await message.alertWarning('请选择检查设备')
|
||||
return
|
||||
}
|
||||
if (!data.billDoctorDepartment) {
|
||||
await message.alertWarning('请选择开单科室')
|
||||
return
|
||||
}
|
||||
if (!data.billgDoctor) {
|
||||
await message.alertWarning('请选择开单医生')
|
||||
return
|
||||
}
|
||||
if (!data.regDate) {
|
||||
await message.alertWarning('请选择开单时间')
|
||||
return
|
||||
}
|
||||
if (!data.examItems || !Array.isArray(data.examItems) || data.examItems.length <= 0) {
|
||||
await message.alertWarning('请选择右侧检查项目')
|
||||
return
|
||||
}
|
||||
//更新
|
||||
await ReservationInfoApi.create(data)
|
||||
message.success(t('common.createSuccess'))
|
||||
btnAdd_click()
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
const btnCancel_click = async () => {
|
||||
try {
|
||||
await message.confirm('确认取消本次新增操作')
|
||||
resetInfoForm()
|
||||
btnAdd_show.value = true
|
||||
btnSubmit_show.value = false
|
||||
btnCancel_show.value = false
|
||||
infoFormRef_disabled.value = true
|
||||
} finally {
|
||||
}
|
||||
}
|
||||
|
||||
/** 钩子方法 **/
|
||||
onMounted(async () => {
|
||||
//ceshi
|
||||
examitemsList.value = await ReservationInfoApi.getExamitemsList()
|
||||
doctorList.value = await ReservationInfoApi.getDoctorList()
|
||||
deviceList.value = await ReservationInfoApi.getDeviceList()
|
||||
@ -343,11 +465,8 @@ onMounted(async () => {
|
||||
|
||||
/** 防空作用域 **/
|
||||
console.log(dateFormatter)
|
||||
console.log(download)
|
||||
console.log(message)
|
||||
console.log(t)
|
||||
console.log(ReservationInfoApi)
|
||||
console.log(queryParams0)
|
||||
console.log(infoParams0)
|
||||
//console.log(null)
|
||||
|
||||
/** 导出内容 **/
|
||||
|
Loading…
Reference in New Issue
Block a user