This commit is contained in:
2024-02-27 13:14:12 +08:00
parent f67a760564
commit 18396c1c84
3 changed files with 109 additions and 93 deletions

View File

@ -2,11 +2,9 @@
<div class="header"> <div class="header">
<div class="leftheader"> <div class="leftheader">
<div class="time"> <div class="time">
<el-date-picker v-model="query.visitDateStart" type="date" placeholder="开始日期" <el-date-picker v-model="visitDate" type="daterange" range-separator="" start-placeholder="开始日期"
style="width: 40%;padding-right:5px" :picker-options="pickerOptions"></el-date-picker> value-format="yyyy-MM-dd" :picker-options="pickerOptions" end-placeholder="结束日期">
- </el-date-picker>
<el-date-picker v-model="query.visitDateEnd" type="date" placeholder="结束日期"
style="width: 40%;padding-left:5px" :picker-options="pickerOptions"></el-date-picker>
</div> </div>
<div class="list"> <div class="list">
<div class="item" v-for="(item, index) in categorylist" :key="item.id" @click="clickcategory(item, index)" <div class="item" v-for="(item, index) in categorylist" :key="item.id" @click="clickcategory(item, index)"
@ -94,6 +92,7 @@ export default {
return time.getTime() > Date.now(); // return time.getTime() > Date.now(); //
}, },
}, },
visitDate: [],
// //
recordindex: undefined, recordindex: undefined,
// //
@ -114,36 +113,10 @@ export default {
}; };
}, },
watch: { watch: {
'query.visitDateStart': { 'visitDate': {
handler(newValue, oldValue) { handler(newValue, oldValue) {
var pastDate = new Date(newValue) this.query.visitDateStart = newValue[0]
var pastYear = pastDate.getFullYear() this.query.visitDateEnd = newValue[1]
var pastMonth = pastDate.getMonth() + 1
var pastDay = pastDate.getDate()
if (pastMonth >= 1 && pastMonth <= 9) {
pastMonth = '0' + pastMonth
}
if (pastDay >= 0 && pastDay <= 9) {
pastDay = '0' + pastDay
}
this.query.visitDateStart = pastYear + '-' + pastMonth + '-' + pastDay
this.getListinfo();
},
deep: true,
},
'query.visitDateEnd': {
handler(newValue, oldValue) {
var pastDate = new Date(newValue)
var pastYear = pastDate.getFullYear()
var pastMonth = pastDate.getMonth() + 1
var pastDay = pastDate.getDate()
if (pastMonth >= 1 && pastMonth <= 9) {
pastMonth = '0' + pastMonth
}
if (pastDay >= 0 && pastDay <= 9) {
pastDay = '0' + pastDay
}
this.query.visitDateEnd = pastYear + '-' + pastMonth + '-' + pastDay
this.getListinfo(); this.getListinfo();
}, },
deep: true, deep: true,
@ -225,8 +198,9 @@ export default {
if (pastDay >= 0 && pastDay <= 9) { if (pastDay >= 0 && pastDay <= 9) {
pastDay = '0' + pastDay pastDay = '0' + pastDay
} }
this.visitDate = [pastYear + '-' + pastMonth + '-' + pastDay, year + seperator1 + month + seperator1 + strDate]
this.query.visitDateStart = pastYear + '-' + pastMonth + '-' + pastDay this.query.visitDateStart = pastYear + '-' + pastMonth + '-' + pastDay
this.query.visitDateEnd = year + seperator1 + month + seperator1 + strDate; this.query.visitDateEnd = year + seperator1 + month + seperator1 + strDate
this.query.patientId = this.$route.query.patientId this.query.patientId = this.$route.query.patientId
this.getListinfo(); this.getListinfo();
}, },

View File

@ -59,7 +59,9 @@
<el-tab-pane label="指标监测" name="fourth"> <el-tab-pane label="指标监测" name="fourth">
<indicatorMonitoring></indicatorMonitoring> <indicatorMonitoring></indicatorMonitoring>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="签约记录" name="five">签约记录</el-tab-pane> <el-tab-pane label="签约记录" name="five">
<signingRecords></signingRecords>
</el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
</div> </div>
@ -69,6 +71,7 @@
import visitRecords from '../components/visitRecords.vue'; import visitRecords from '../components/visitRecords.vue';
import healthEducation from '../components/healthEducation.vue'; import healthEducation from '../components/healthEducation.vue';
import indicatorMonitoring from '../components/indicatorMonitoring.vue'; import indicatorMonitoring from '../components/indicatorMonitoring.vue';
import signingRecords from '../components/signingRecords.vue'
export default { export default {
components: { components: {
// //
@ -77,6 +80,8 @@ export default {
healthEducation, healthEducation,
// //
indicatorMonitoring, indicatorMonitoring,
//
signingRecords,
}, },
name: "patientdetails", name: "patientdetails",
data() { data() {

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="患者姓名" prop="patientName"> <el-form-item label="患者姓名" prop="patientName">
<el-input v-model="queryParams.patientName" placeholder="请输入患者姓名" clearable @keyup.enter.native="handleQuery" <el-input v-model="queryParams.patientName" placeholder="请输入患者姓名" clearable @keyup.enter.native="handleQuery"
style="width:200px" /> style="width:200px" />
@ -9,22 +9,15 @@
<el-input v-model="queryParams.patientPhone" placeholder="请输入患者电话" clearable @keyup.enter.native="handleQuery" <el-input v-model="queryParams.patientPhone" placeholder="请输入患者电话" clearable @keyup.enter.native="handleQuery"
style="width:200px" /> style="width:200px" />
</el-form-item> </el-form-item>
<el-form-item label="出生日期" prop="birthDate"> <el-form-item label="就诊时间" prop="visitTimeStart">
<el-date-picker clearable v-model="queryParams.birthDate" type="date" value-format="yyyy-MM-dd" <el-date-picker v-model="visitTime" type="daterange" range-separator="" start-placeholder="开始日期"
style="width:200px" placeholder="请选择出生日期"> style="width:300px" value-format="yyyy-MM-dd" end-placeholder="结束日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<!-- 微信小程序WE_CHAT_APPLET微信公众号WE_CHAT_OFFICIAL_ACCOUNT管理端MANAGE_END --> <el-form-item label="入院时间" prop="admissionDateStart">
<el-form-item label="患者来源" prop="patientSource"> <el-date-picker v-model="admissionDate" type="daterange" range-separator="" start-placeholder="开始日期"
<el-select v-model="queryParams.patientSource" placeholder="请选择就诊方式" clearable style="width:200px"> style="width:300px" value-format="yyyy-MM-dd" end-placeholder="结束日期">
<el-option v-for="dict in dict.type.patient_source" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-date-picker>
</el-select>
</el-form-item>
<!-- 预住院患者PRE_HOSPITALIZED_PATIENT在院患者IN_HOSPITAL_PATIENT门诊患者OUTPATIENT出院患者DISCHARGED_PATIENT签约患者CONTRACTED_PATIENT -->
<el-form-item label="患者类型" prop="patientType">
<el-select v-model="queryParams.patientType" placeholder="请选择患者类型" clearable style="width:200px">
<el-option v-for="dict in dict.type.patient_type" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item> </el-form-item>
<!-- 门诊OUTPATIENT_SERVICE住院BE_IN_HOSPITAL --> <!-- 门诊OUTPATIENT_SERVICE住院BE_IN_HOSPITAL -->
<el-form-item label="就诊方式" prop="visitMethod"> <el-form-item label="就诊方式" prop="visitMethod">
@ -32,29 +25,54 @@
<el-option v-for="dict in dict.type.visit_method" :key="dict.value" :label="dict.label" :value="dict.value" /> <el-option v-for="dict in dict.type.visit_method" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="主要诊断" prop="mainDiagnosis"> <el-form-item label="诊断" prop="mainDiagnosis">
<el-input v-model="queryParams.mainDiagnosis" placeholder="请输入主要诊断" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.mainDiagnosis" placeholder="请选择诊断" clearable style="width:200px"
</el-form-item> -->
<el-form-item label="主治医生" prop="attendingPhysician">
<el-input v-model="queryParams.attendingPhysician" placeholder="请输入主治医生" clearable style="width:200px"
@keyup.enter.native="handleQuery" /> @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="手术名称" prop="surgicalName"> <el-form-item label="医院" prop="hospitalAgencyId">
<el-input v-model="queryParams.surgicalName" placeholder="请输入手术名称" clearable @keyup.enter.native="handleQuery" <el-input v-model="queryParams.hospitalAgencyId" placeholder="请输入医院名称" clearable style="width:200px"
style="width:200px" /> @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="院区" prop="campusAgencyId">
<el-input v-model="queryParams.campusAgencyId" placeholder="请输入院区名称" clearable style="width:200px"
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="科室" prop="departmentId">
<el-input v-model="queryParams.departmentId" placeholder="请输入科室名称" clearable style="width:200px"
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="病区" prop="wardId">
<el-input v-model="queryParams.wardId" placeholder="请输入病区名称" clearable style="width:200px"
@keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="门诊号" prop="outpatientNumber"> <el-form-item label="门诊号" prop="outpatientNumber">
<el-input v-model="queryParams.outpatientNumber" placeholder="请输入门诊号" clearable style="width:200px" <el-input v-model="queryParams.outpatientNumber" placeholder="请输入门诊号" clearable style="width:200px"
@keyup.enter.native="handleQuery" /> @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="入院时间"> <!-- <el-form-item label="出生日期" prop="birthDate">
<el-date-picker v-model="queryParams.admissionDate" value-format="yyyy-MM-dd" style="width:250px" type="daterange" <el-date-picker clearable v-model="queryParams.birthDate" type="date" value-format="yyyy-MM-dd"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker> style="width:200px" placeholder="请选择出生日期">
</el-form-item>
<el-form-item label="就诊时间" prop="visitTime">
<el-date-picker clearable v-model="queryParams.visitTime" type="date" value-format="yyyy-MM-dd"
style="width:200px" placeholder="请选择就诊时间">
</el-date-picker> </el-date-picker>
</el-form-item> -->
<!-- 预住院患者PRE_HOSPITALIZED_PATIENT在院患者IN_HOSPITAL_PATIENT门诊患者OUTPATIENT出院患者DISCHARGED_PATIENT签约患者CONTRACTED_PATIENT -->
<!-- <el-form-item label="患者类型" prop="patientType">
<el-select v-model="queryParams.patientType" placeholder="请选择患者类型" clearable style="width:200px">
<el-option v-for="dict in dict.type.patient_type" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item> -->
<el-form-item label="主治医生" prop="attendingPhysician">
<el-input v-model="queryParams.attendingPhysician" placeholder="请输入主治医生" clearable style="width:200px"
@keyup.enter.native="handleQuery" />
</el-form-item>
<!-- <el-form-item label="手术名称" prop="surgicalName">
<el-input v-model="queryParams.surgicalName" placeholder="请输入手术名称" clearable @keyup.enter.native="handleQuery"
style="width:200px" />
</el-form-item> -->
<!-- 微信小程序WE_CHAT_APPLET微信公众号WE_CHAT_OFFICIAL_ACCOUNT管理端MANAGE_END -->
<el-form-item label="患者来源" prop="patientSource">
<el-select v-model="queryParams.patientSource" placeholder="请选择就诊方式" clearable style="width:200px">
<el-option v-for="dict in dict.type.patient_source" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="出院方式" prop="dischargeMethod"> <el-form-item label="出院方式" prop="dischargeMethod">
<el-input v-model="queryParams.dischargeMethod" placeholder="请输入出院方式" clearable style="width:200px" <el-input v-model="queryParams.dischargeMethod" placeholder="请输入出院方式" clearable style="width:200px"
@ -87,48 +105,52 @@
<el-table v-loading="loading" :data="patientInfoList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="patientInfoList" @selection-change="handleSelectionChange">
<el-table-column label="患者姓名" align="center" prop="patientName" /> <el-table-column label="患者姓名" align="center" prop="patientName" />
<el-table-column label="患者电话" align="center" prop="patientPhone" /> <el-table-column label="患者电话" align="center" prop="patientPhone" width='120' />
<el-table-column label="性别" align="center" prop="sex"> <el-table-column label="性别" align="center" prop="sex">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.sex == 'MALE' ? '男' : '' }} {{ scope.row.sex == 'MALE' ? '男' : '' }}
{{ scope.row.sex == 'FEMALE' ? '女' : '' }} {{ scope.row.sex == 'FEMALE' ? '女' : '' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="住址" align="center" prop="address" /> <el-table-column label="出生日期" align="center" prop="birthDate" width='130' />
<el-table-column label="年龄" align="center" prop="age" />
<el-table-column label="签约状态" align="center" prop="signStatus"> <el-table-column label="签约状态" align="center" prop="signStatus">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.sign_status" :value="scope.row.signStatus" /> <dict-tag :options="dict.type.sign_status" :value="scope.row.signStatus" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="签约时间" align="center" prop="signTime"> <el-table-column label="签约时间" align="center" prop="signTime" width='130'>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.signTime, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.signTime, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="开证医生" align="center" prop="certificateIssuingDoctor" /> <el-table-column label="开证医生" align="center" prop="certificateIssuingDoctor" />
<el-table-column label="诊断" align="center" prop="mainDiagnosis" />
<el-table-column label="就诊时间" align="center" prop="visitTime" width='130'>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.visitTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="就诊方式" align="center" prop="visitMethod"> <el-table-column label="就诊方式" align="center" prop="visitMethod">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.visit_method" :value="scope.row.visitMethod" /> <dict-tag :options="dict.type.visit_method" :value="scope.row.visitMethod" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="入院时间" align="center" prop="admissionDate" width='130' />
<el-table-column label="医院名称" align="center" prop="hospitalAgencyName" width='130' />
<el-table-column label="院区名称" align="center" prop="campusAgencyName" width='130' />
<el-table-column label="科室名称" align="center" prop="departmentName" width='130' />
<el-table-column label="病区名称" align="center" prop="wardName" width='130' />
<el-table-column label="住院号" align="center" prop="admissionNumber" width='130' />
<el-table-column label="门诊号" align="center" prop="outpatientNumber" width='130' />
<el-table-column label="主治医生" align="center" prop="attendingPhysician" /> <el-table-column label="主治医生" align="center" prop="attendingPhysician" />
<el-table-column label="所属医院名称" align="center" prop="hospitalAgencyName" />
<el-table-column label="所属院区名称" align="center" prop="campusAgencyName" />
<el-table-column label="所属科室名称" align="center" prop="departmentName" />
<el-table-column label="所属病区名称" align="center" prop="wardName" />
<el-table-column label="住院号" align="center" prop="admissionNumber" />
<el-table-column label="门诊号" align="center" prop="outpatientNumber" />
<el-table-column label="就诊时间" align="center" prop="visitTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.visitTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="出院方式" align="center" prop="dischargeMethod" /> <el-table-column label="出院方式" align="center" prop="dischargeMethod" />
<el-table-column label="患者来源" align="center" prop="patientSource"> <el-table-column label="患者来源" align="center" prop="patientSource">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.patient_source" :value="scope.row.patientSource" /> <dict-tag :options="dict.type.patient_source" :value="scope.row.patientSource" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="住址" align="center" prop="address" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" <!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
@ -305,9 +327,13 @@ export default {
title: "", title: "",
// //
open: false, open: false,
// 01 pickerOptions: {
daterange: 1, disabledDate: (time) => {
admissionDate: [], if (this.queryParams.appointmentDateEnd != null) {
return time.getTime() < new Date(this.queryParams.appointmentDateStart).getTime();
}
},
},
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@ -320,16 +346,24 @@ export default {
mainDiagnosis: null, mainDiagnosis: null,
attendingPhysician: null, attendingPhysician: null,
hospitalAgencyId: null, hospitalAgencyId: null,
hospitalAgencyName: null,
campusAgencyId: null, campusAgencyId: null,
campusAgencyName: null,
departmentId: null, departmentId: null,
departmentName: null,
wardId: null, wardId: null,
wardName: null,
surgicalName: null, surgicalName: null,
admissionDate: null, admissionDateStart: null,
admissionDateEnd: null,
outpatientNumber: null, outpatientNumber: null,
visitTime: null, visitTimeStart: null,
visitTimeEnd: null,
dischargeMethod: null, dischargeMethod: null,
patientSource: null, patientSource: null,
}, },
visitTime: [],
admissionDate: [],
// //
form: {}, form: {},
// //
@ -364,11 +398,10 @@ export default {
getList() { getList() {
this.loading = true; this.loading = true;
this.queryParams.params = {}; this.queryParams.params = {};
if (null != this.admissionDate && '' != this.admissionDate) {
this.queryParams.params["beginadmissionDate"] = this.daterange.admissionDate[0];
this.queryParams.params["endadmissionDate"] = this.daterange.admissionDate[1];
}
listPatientInfo(this.queryParams).then(response => { listPatientInfo(this.queryParams).then(response => {
response.rows.forEach(e => {
e.age = getAge(e.birthDate)
})
this.patientInfoList = response.rows; this.patientInfoList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
@ -397,13 +430,9 @@ export default {
mainDiagnosis: null, mainDiagnosis: null,
attendingPhysician: null, attendingPhysician: null,
hospitalAgencyId: null, hospitalAgencyId: null,
hospitalAgencyName: null,
campusAgencyId: null, campusAgencyId: null,
campusAgencyName: null,
departmentId: null, departmentId: null,
departmentName: null,
wardId: null, wardId: null,
wardName: null,
admissionNumber: null, admissionNumber: null,
responsibleNurse: null, responsibleNurse: null,
visitSerialNumber: null, visitSerialNumber: null,
@ -427,6 +456,14 @@ export default {
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
if (this.visitTime.length > 0) {
this.queryParams.visitTimeStart = this.visitTime[0]
this.queryParams.visitTimeEnd = this.visitTime[1]
}
if (this.admissionDate.length > 0) {
this.queryParams.admissionDateStart = this.admissionDate[0]
this.queryParams.admissionDateEnd = this.admissionDate[1]
}
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
this.getList(); this.getList();
}, },