提交merge1.3

This commit is contained in:
2025-12-27 15:30:40 +08:00
parent 088861f66e
commit 3c497417dc
167 changed files with 0 additions and 17577 deletions

View File

@@ -1,38 +1,12 @@
<<<<<<< HEAD
import request from '@/utils/request'
=======
import request from '@/utils/request';
>>>>>>> v1.3
// 获取住院信息初期数据列表
export function getInit(query) {
return request({
url: '/inpatient-manage/init',
method: 'get',
<<<<<<< HEAD
params: query
})
}
// 获取住院信息 分页显示
// export function getAdmissionPage(query) {
// return request({
// url: '/inpatient-manage/admission-page',
// method: 'get',
// params: query
// })
// }
// 获取住院信息 分页显示 新
export function getAdmissionPage(query) {
return request({
url: '/inhospital-charge/register/register-info',
method: 'get',
params: query
})
=======
params: query,
});
>>>>>>> v1.3
}
// 住院无档登记
@@ -40,13 +14,8 @@ export function addAdmissionInfo(data) {
return request({
url: '/inpatient-manage/admission-information',
method: 'post',
<<<<<<< HEAD
data: data
})
=======
data: data,
});
>>>>>>> v1.3
}
// 住院登记
@@ -54,13 +23,8 @@ export function admissionInfo(data) {
return request({
url: '/inpatient-manage/admission-information',
method: 'put',
<<<<<<< HEAD
data: data
})
=======
data: data,
});
>>>>>>> v1.3
}
/**
@@ -70,11 +34,7 @@ export function getOrgList() {
return request({
url: '/base-data-manage/organization/organization',
method: 'get',
<<<<<<< HEAD
})
=======
});
>>>>>>> v1.3
}
/**
@@ -83,13 +43,8 @@ export function getOrgList() {
export function wardList() {
return request({
url: '/app-common/ward-list',
<<<<<<< HEAD
method: 'get'
})
=======
method: 'get',
});
>>>>>>> v1.3
}
/**
@@ -99,80 +54,39 @@ export function diagnosisInit() {
return request({
url: '/doctor-station/diagnosis/init',
method: 'get',
<<<<<<< HEAD
})
=======
});
>>>>>>> v1.3
}
// 查询患者相关
export function patientlLists() {
return request({
url: '/patient-manage/information/init',
<<<<<<< HEAD
method: 'get'
})
=======
method: 'get',
});
>>>>>>> v1.3
}
// 查询患者相关
export function doctorList(id) {
return request({
url: '/inpatient-manage/doctor-list?orgId=' + id,
<<<<<<< HEAD
method: 'get'
})
=======
method: 'get',
});
>>>>>>> v1.3
}
// 查询患者相关
export function getPatientInfo(id, statusEnum) {
return request({
url: `/inpatient-manage/admission-one?id=${id}&statusEnum=${statusEnum}`,
<<<<<<< HEAD
method: 'get'
})
}
// 获取患者基础信息
export function getPatientBasicInfo(patientId) {
return request({
url: `/inhospital-charge/register/patient-info?patientId=${patientId}`,
method: 'get'
})
}
// 获取患者入院信息
export function getInHospitalInfo(encounterId) {
return request({
url: `/inhospital-charge/register/in-hospital-info?encounterId=${encounterId}`,
method: 'get'
})
=======
method: 'get',
});
>>>>>>> v1.3
}
// 获取病区床位信息
export function getBedInfo(wardBusNo) {
return request({
url: `/inhospital-charge/register/beds-num?wardBusNo=${wardBusNo}`,
<<<<<<< HEAD
method: 'get'
})
=======
method: 'get',
});
>>>>>>> v1.3
}
// 住院登记
@@ -180,13 +94,8 @@ export function registerInHospital(data) {
return request({
url: '/inhospital-charge/register/by-cashier',
method: 'post',
<<<<<<< HEAD
data: data
})
=======
data: data,
});
>>>>>>> v1.3
}
// 无档登记
@@ -194,26 +103,16 @@ export function noFilesRegister(data) {
return request({
url: '/inhospital-charge/register/no-files',
method: 'post',
<<<<<<< HEAD
data: data
})
=======
data: data,
});
>>>>>>> v1.3
}
// 表单初始化
export function patientFormInit() {
return request({
url: '/patient-manage/information/init',
<<<<<<< HEAD
method: 'get'
})
=======
method: 'get',
});
>>>>>>> v1.3
}
// 合同
@@ -221,11 +120,7 @@ export function getContractList() {
return request({
url: '/app-common/contract-list',
method: 'get',
<<<<<<< HEAD
})
=======
});
>>>>>>> v1.3
}
/**
@@ -235,11 +130,6 @@ export function getDiagnosisDefinitionList(queryParams) {
return request({
url: '/doctor-station/diagnosis/condition-definition-metadata',
method: 'get',
<<<<<<< HEAD
params: queryParams
})
}
=======
params: queryParams,
});
}
@@ -345,4 +235,3 @@ export function gerPreInfo(data) {
}
>>>>>>> v1.3

View File

@@ -1,193 +1,4 @@
<template>
<<<<<<< HEAD
<div class="registerForm-container">
<div class="operate">
<div>住院信息</div>
</div>
<el-form
class="register-from"
:model="submitForm"
style="padding-left: 8px"
ref="registerRef"
label-width="80px"
:rules="rules"
>
<el-row :gutter="8">
<el-col :span="6">
<el-form-item label="住院号:" prop="encounterBusNo">
{{ submitForm.busNo ? submitForm.busNo : '-' }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="住院次数:" prop="hospitalizationCount" autocomplete="off">
{{ submitForm.inHospitalCount }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="入院科室" prop="inHospitalOrgId">
<el-tree-select
clearable
style="width: 100%"
v-model="submitForm.inHospitalOrgId"
filterable
:data="organization"
:props="{
value: 'id',
label: 'name',
children: 'children',
}"
value-key="id"
check-strictly
:check-strictly-except-leaf="false"
:default-expand-all="true"
placeholder="请选择入院科室"
@change="handleChange"
@node-click="handleNodeClick"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="入院病区" prop="wardLocationId">
<el-select :disabled="props.alreadyEdit" v-model="submitForm.wardLocationId">
<el-option
v-for="item in wardListOptions"
:key="item.id"
:label="item.name"
:value="item.id"
@click="handleWardClick(item)"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="床位数:" prop="bedCount">
{{
submitForm.totalBedsNum ? submitForm.idleBedsNum + '/' + submitForm.totalBedsNum : '-'
}}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="门诊医生" prop="ambDoctorPractitionerName">
<el-input disabled v-model="submitForm.ambDoctorPractitionerName" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="诊断类别" prop="medTypeCode">
<el-select
v-model="submitForm.medTypeCode"
placeholder="诊断类别"
clearable
filterable
@change="
(value) => {
submitForm.ybClassEnum = value;
}
"
>
<el-option
v-for="item in med_type"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" v-if="!props.noFile">
<el-form-item label="入院诊断" prop="ambDiagnosisName">
<el-input v-model="submitForm.ambDiagnosisName" disabled />
</el-form-item>
</el-col>
<el-col :span="6" v-else>
<el-form-item label="入院诊断" prop="diagnosisDefinitionId">
<el-select
v-model="submitForm.diagnosisDefinitionId"
placeholder="入院诊断"
clearable
filterable
remote
:remote-method="getDiagnosisInfo"
>
<el-option
v-for="item in diagnosisDefinitionList"
:key="item.id"
:label="item.name"
:value="item.id"
@click="handleDiagnosisChange(item)"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" v-if="props.noFile">
<el-form-item label="诊断描述" prop="diagnosisDesc">
<el-input v-model="submitForm.diagnosisDesc" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="患者病情">
<el-select v-model="submitForm.priorityEnum">
<el-option
v-for="item in props.initOptions.priorityEnumList"
:key="item.value"
:label="item.info"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="入院类型" prop="admitSourceCode">
<el-select v-model="submitForm.admitSourceCode">
<el-option
v-for="item in admit_source_code"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="入院方式" prop="inWayCode">
<el-select v-model="submitForm.inWayCode">
<el-option
v-for="item in in_way_code"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="费用性质">
<el-select
v-model="submitForm.contractNo"
placeholder="费用性质"
clearable
@change="getValue"
>
<el-option
v-for="item in contractList"
:key="item.busNo"
:label="item.contractName"
:value="item.busNo"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="入院日期" prop="startTime">
<el-date-picker
v-model="submitForm.startTime"
value-format="YYYY-MM-DD HH:mm:ss"
type="date"
placeholder="请选择日期"
/>
</el-form-item>
</el-col>
</el-row>
=======
<div>
<el-form ref="patientRef" :model="form" :rules="rules" label-width="140px" :inline="true">
<el-form-item label="联系人姓名" prop="conerName">
@@ -486,261 +297,10 @@
style="width: 200px"
/>
</el-form-item>
>>>>>>> v1.3
</el-form>
</div>
</template>
<script setup>
<<<<<<< HEAD
import {
getInit,
getOrgList,
wardList,
diagnosisInit,
getBedInfo,
getContractList,
getDiagnosisDefinitionList,
} from './api';
const { proxy } = getCurrentInstance();
const { in_way_code, admit_source_code, med_type } = proxy.useDict(
'in_way_code',
'admit_source_code',
'med_type'
);
import { formatDateStr } from '@/utils';
const emits = defineEmits([]);
const props = defineProps({
patientInfo: {
type: Object,
require: true,
default: () => ({}),
},
inHospitalInfo: {
type: Object,
require: true,
default: () => ({}),
},
initOptions: {
type: Object,
require: true,
default: () => ({}),
},
alreadyEdit: {
type: Boolean,
default: false,
},
noFile: {
type: Boolean,
default: false,
},
});
const organization = ref([]);
const wardListOptions = ref([]);
const contractList = ref([]);
const verificationStatusOptions = ref([]);
const diagnosisDefinitionList = ref([]);
const rules = reactive({
inHospitalOrgId: [
{
required: true,
message: '入院科室未填写',
trigger: ['blur', 'change'],
},
],
wardLocationId: [
{
required: true,
message: '入院病区未填写',
trigger: ['blur', 'change'],
},
],
startTime: [
{
required: true,
message: '入院日期未填写',
trigger: ['blur', 'change'],
},
],
diagnosisDefinitionId: [
{
required: true,
message: '入院诊断未填写',
trigger: ['blur', 'change'],
},
],
diagnosisDesc: [
{
required: true,
message: '诊断描述未填写',
trigger: ['blur', 'change'],
},
],
});
/* 提交表单 */
const submitForm = reactive({
inHospitalOrgId: props.inHospitalInfo.inHospitalOrgId,
ambDoctorPractitionerName: props.inHospitalInfo.ambDoctorPractitionerName,
wardLocationId: props.inHospitalInfo.wardLocationId, // 入院护理组编码
admitSourceCode: '', // 患者入院类型字典PatientSource
inWayCode: '', // 入院方式字典InpWay
startTime: formatDateStr(new Date(), 'YYYY-MM-DD HH:mm:ss'), // 入院日期
priorityEnum: props.inHospitalInfo.priorityEnum, // 患者病情字典PatAdmCondition
ambDiagnosisName: props.inHospitalInfo.ambDiagnosisName,
medTypeCode: '21',
});
/* 科室 病区 */
watch(
() => submitForm.inDocterWorkGroupCode,
(newValue) => {
if (newValue) {
if (newValue == '') {
submitForm.wardLocationId = '';
}
} else {
submitForm.wardLocationId = '';
}
}
);
watch(
() => submitForm.inNurseDeptCode,
(newValue) => {
if (newValue) {
getBedInfo(newValue);
}
}
);
onMounted(() => {
getInitOptions();
setValue();
});
function handleWardClick(item) {
submitForm.wardBusNo = item.busNo;
getBedInfo(submitForm.wardBusNo).then((res) => {
submitForm.totalBedsNum = res.data.totalBedsNum;
submitForm.idleBedsNum = res.data.idleBedsNum;
});
}
function getInitOptions() {
getOrgList().then((res) => {
organization.value = res.data.records;
});
if (!props.noFile) {
wardList().then((res) => {
wardListOptions.value = res.data;
});
}
diagnosisInit().then((res) => {
verificationStatusOptions.value = res.data.verificationStatusOptions;
});
getContractList().then((response) => {
contractList.value = response.data;
setValue();
});
getDiagnosisInfo(undefined);
}
function getDiagnosisInfo(value) {
getDiagnosisDefinitionList({ pageSize: 500, pageNo: 1, searchKey: value }).then((res) => {
diagnosisDefinitionList.value = res.data.records;
});
}
function handleNodeClick(orgInfo) {
wardList({ orgId: orgInfo.id }).then((res) => {
wardListOptions.value = res.data;
});
}
function handleChange(value) {
if (!value) {
wardListOptions.value = [];
submitForm.wardLocationId = undefined;
}
}
function handleDiagnosisChange(item) {
submitForm.diagnosisYbNo = item.ybNo;
submitForm.diagnosisDefinitionId = item.id;
}
function setValue() {
submitForm.encounterId = props.inHospitalInfo?.encounterId;
submitForm.busNo = props.inHospitalInfo?.busNo;
submitForm.contractNo = props.inHospitalInfo?.contractNo;
submitForm.inHospitalCount = props.inHospitalInfo?.inHospitalCount;
submitForm.inHospitalOrgId = props.inHospitalInfo?.inHospitalOrgId;
submitForm.inHospitalOrgName = props.inHospitalInfo?.inHospitalOrgName;
submitForm.wardLocationId = props.inHospitalInfo?.wardLocationId;
submitForm.wardName = props.inHospitalInfo?.wardName;
submitForm.wardBusNo = props.inHospitalInfo?.wardBusNo;
submitForm.totalBedsNum = props.inHospitalInfo?.totalBedsNum;
submitForm.idleBedsNum = props.inHospitalInfo?.idleBedsNum;
submitForm.ambEncounterId = props.inHospitalInfo?.ambEncounterId;
submitForm.ambDoctorPractitionerId = props.inHospitalInfo?.ambDoctorPractitionerId;
submitForm.ambDoctorPractitionerName = props.inHospitalInfo?.ambDoctorPractitionerName;
submitForm.ambDiagnosisName = props.inHospitalInfo?.ambDiagnosisName;
submitForm.priorityEnum = props.inHospitalInfo?.priorityEnum;
submitForm.priorityEnum_enumText = props.inHospitalInfo?.priorityEnum_enumText;
submitForm.admitSourceCode = props.inHospitalInfo?.admitSourceCode;
submitForm.admitSourceCode_dictText = props.inHospitalInfo?.admitSourceCode_dictText;
submitForm.inWayCode = props.inHospitalInfo?.inWayCode;
submitForm.inWayCode_dictText = props.inHospitalInfo?.inWayCode_dictText;
}
const registerRef = ref();
/* 登记 */
const validateData = async (callback) => {
if (!registerRef.value) return false;
registerRef.value.validate((valid) => {
if (valid) {
callback();
return true;
} else {
return false;
}
});
};
const init = () => {
submitForm.inDocterWorkGroupCode = '';
submitForm.wardLocationId = '';
};
defineExpose({ validateData, submitForm, init });
</script>
<style lang="scss" scoped>
.registerForm-container {
margin-top: 16px;
.operate {
background: rgba(37, 109, 149, 0.05);
display: flex;
justify-content: space-between;
align-items: center;
height: 32px;
border-radius: 4px 4px 0px 0px;
padding-left: 16px;
color: var(--hip-color-primary-light);
font-weight: bold;
margin-bottom: 8px;
}
.register-from {
padding: 0 8px;
}
:deep(.el-form-item) {
width: 100%;
margin-right: 0px;
}
}
</style>
=======
import { reactive, ref, watch } from 'vue';
const props = defineProps({
registerForm: {
@@ -888,4 +448,3 @@ const validateData = async (callback) => {
defineExpose({ validateData, submitForm, resetForm });
</script>
>>>>>>> v1.3

View File

@@ -1,36 +1,5 @@
<template>
<div class="app-container">
<<<<<<< HEAD
<el-tabs v-model="activeName" type="card" class="demo-tabs">
<el-tab-pane label="待登记入院" name="first">
<AwaitList v-if="activeName === 'first'" @okList="activeName = 'second'" />
</el-tab-pane>
<el-tab-pane label="已登记入院" name="second">
<AccomplishList v-if="activeName === 'second'" />
</el-tab-pane>
<!-- <el-tab-pane label="在院患者" name="third">
<ExistListt />
</el-tab-pane> -->
</el-tabs>
</div>
</template>
<script setup>
import { getCurrentInstance, onBeforeMount, onMounted, reactive, ref } from 'vue';
import { AwaitList, AccomplishList, ExistList } from './components/index.js';
const { proxy } = getCurrentInstance();
const emits = defineEmits([]);
const props = defineProps({});
const state = reactive({});
defineExpose({ state });
const activeName = ref('first');
</script>
<style lang="scss" scoped>
.sds {
background-color: red;
}
</style>
=======
<el-form :model="queryParams" ref="queryRef" :inline="true" label-width="68px">
<el-form-item label="内容" prop="searchKey">
<el-input
@@ -305,4 +274,3 @@ function resetQuery() {
getList();
</script>
>>>>>>> v1.3