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="leftheader">
<div class="time">
<el-date-picker v-model="query.visitDateStart" type="date" placeholder="开始日期"
style="width: 40%;padding-right:5px" :picker-options="pickerOptions"></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>
<el-date-picker v-model="visitDate" type="daterange" range-separator="" start-placeholder="开始日期"
value-format="yyyy-MM-dd" :picker-options="pickerOptions" end-placeholder="结束日期">
</el-date-picker>
</div>
<div class="list">
<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(); //
},
},
visitDate: [],
//
recordindex: undefined,
//
@ -114,36 +113,10 @@ export default {
};
},
watch: {
'query.visitDateStart': {
'visitDate': {
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.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.query.visitDateStart = newValue[0]
this.query.visitDateEnd = newValue[1]
this.getListinfo();
},
deep: true,
@ -225,8 +198,9 @@ export default {
if (pastDay >= 0 && pastDay <= 9) {
pastDay = '0' + pastDay
}
this.visitDate = [pastYear + '-' + pastMonth + '-' + pastDay, year + seperator1 + month + seperator1 + strDate]
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.getListinfo();
},

View File

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

View File

@ -1,6 +1,6 @@
<template>
<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-input v-model="queryParams.patientName" placeholder="请输入患者姓名" clearable @keyup.enter.native="handleQuery"
style="width:200px" />
@ -9,22 +9,15 @@
<el-input v-model="queryParams.patientPhone" placeholder="请输入患者电话" clearable @keyup.enter.native="handleQuery"
style="width:200px" />
</el-form-item>
<el-form-item label="出生日期" prop="birthDate">
<el-date-picker clearable v-model="queryParams.birthDate" type="date" value-format="yyyy-MM-dd"
style="width:200px" placeholder="请选择出生日期">
<el-form-item label="就诊时间" prop="visitTimeStart">
<el-date-picker v-model="visitTime" type="daterange" range-separator="" start-placeholder="开始日期"
style="width:300px" value-format="yyyy-MM-dd" end-placeholder="结束日期">
</el-date-picker>
</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>
<!-- 预住院患者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 label="入院时间" prop="admissionDateStart">
<el-date-picker v-model="admissionDate" type="daterange" range-separator="" start-placeholder="开始日期"
style="width:300px" value-format="yyyy-MM-dd" end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<!-- 门诊OUTPATIENT_SERVICE住院BE_IN_HOSPITAL -->
<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-select>
</el-form-item>
<!-- <el-form-item label="主要诊断" prop="mainDiagnosis">
<el-input v-model="queryParams.mainDiagnosis" placeholder="请输入主要诊断" clearable @keyup.enter.native="handleQuery" />
</el-form-item> -->
<el-form-item label="主治医生" prop="attendingPhysician">
<el-input v-model="queryParams.attendingPhysician" placeholder="请输入主治医生" clearable style="width:200px"
<el-form-item label="诊断" prop="mainDiagnosis">
<el-input v-model="queryParams.mainDiagnosis" 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 label="医院" prop="hospitalAgencyId">
<el-input v-model="queryParams.hospitalAgencyId" placeholder="请输入医院名称" clearable 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 label="门诊号" prop="outpatientNumber">
<el-input v-model="queryParams.outpatientNumber" placeholder="请输入门诊号" clearable style="width:200px"
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="入院时间">
<el-date-picker v-model="queryParams.admissionDate" value-format="yyyy-MM-dd" style="width:250px" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</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-form-item label="出生日期" prop="birthDate">
<el-date-picker clearable v-model="queryParams.birthDate" type="date" value-format="yyyy-MM-dd"
style="width:200px" placeholder="请选择出生日期">
</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 label="出院方式" prop="dischargeMethod">
<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-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">
<template slot-scope="scope">
{{ scope.row.sex == 'MALE' ? '男' : '' }}
{{ scope.row.sex == 'FEMALE' ? '女' : '' }}
</template>
</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">
<template slot-scope="scope">
<dict-tag :options="dict.type.sign_status" :value="scope.row.signStatus" />
</template>
</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">
<span>{{ parseTime(scope.row.signTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<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">
<template slot-scope="scope">
<dict-tag :options="dict.type.visit_method" :value="scope.row.visitMethod" />
</template>
</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="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="patientSource">
<template slot-scope="scope">
<dict-tag :options="dict.type.patient_source" :value="scope.row.patientSource" />
</template>
</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">
<template slot-scope="scope">
<!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
@ -305,9 +327,13 @@ export default {
title: "",
//
open: false,
// 01
daterange: 1,
admissionDate: [],
pickerOptions: {
disabledDate: (time) => {
if (this.queryParams.appointmentDateEnd != null) {
return time.getTime() < new Date(this.queryParams.appointmentDateStart).getTime();
}
},
},
//
queryParams: {
pageNum: 1,
@ -320,16 +346,24 @@ export default {
mainDiagnosis: null,
attendingPhysician: null,
hospitalAgencyId: null,
hospitalAgencyName: null,
campusAgencyId: null,
campusAgencyName: null,
departmentId: null,
departmentName: null,
wardId: null,
wardName: null,
surgicalName: null,
admissionDate: null,
admissionDateStart: null,
admissionDateEnd: null,
outpatientNumber: null,
visitTime: null,
visitTimeStart: null,
visitTimeEnd: null,
dischargeMethod: null,
patientSource: null,
},
visitTime: [],
admissionDate: [],
//
form: {},
//
@ -364,11 +398,10 @@ export default {
getList() {
this.loading = true;
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 => {
response.rows.forEach(e => {
e.age = getAge(e.birthDate)
})
this.patientInfoList = response.rows;
this.total = response.total;
this.loading = false;
@ -397,13 +430,9 @@ export default {
mainDiagnosis: null,
attendingPhysician: null,
hospitalAgencyId: null,
hospitalAgencyName: null,
campusAgencyId: null,
campusAgencyName: null,
departmentId: null,
departmentName: null,
wardId: null,
wardName: null,
admissionNumber: null,
responsibleNurse: null,
visitSerialNumber: null,
@ -427,6 +456,14 @@ export default {
},
/** 搜索按钮操作 */
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.getList();
},