This commit is contained in:
2024-03-28 16:38:46 +08:00
parent 83f9702d10
commit a47c75c33d
2 changed files with 36 additions and 26 deletions

View File

@ -174,14 +174,12 @@
<el-table-column label="手术名称" align="center" prop="surgicalName" /> <el-table-column label="手术名称" align="center" prop="surgicalName" />
<!-- <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" 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" @click="handleAuthRole(scope.row)">详情</el-button> <el-button size="mini" type="text" @click="handleAuthRole(scope.row)">详情</el-button>
<el-button size="mini" type="text" @click="handleUpdate(scope.row)" <el-button size="mini" type="text" @click="handleUpdate(scope.row)"
@ -204,7 +202,7 @@
<el-input v-model="form.patientPhone" placeholder="请输入患者电话" style="width:200px" maxlength="11" /> <el-input v-model="form.patientPhone" placeholder="请输入患者电话" style="width:200px" maxlength="11" />
</el-form-item> </el-form-item>
<el-form-item label="家属电话" prop="familyMemberPhone"> <el-form-item label="家属电话" prop="familyMemberPhone">
<el-input v-model="form.familyMemberPhone" placeholder="请输入家属电话" style="width:200px" maxlength="11"/> <el-input v-model="form.familyMemberPhone" placeholder="请输入家属电话" style="width:200px" maxlength="11" />
</el-form-item> </el-form-item>
<el-form-item label="出生日期" prop="birthDate"> <el-form-item label="出生日期" prop="birthDate">
<el-date-picker clearable v-model="form.birthDate" style="width:200px" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="form.birthDate" style="width:200px" type="date" value-format="yyyy-MM-dd"
@ -212,7 +210,7 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="身份证号" prop="cardNo"> <el-form-item label="身份证号" prop="cardNo">
<el-input v-model="form.cardNo" placeholder="请输入身份证号" style="width:200px" maxlength="18"/> <el-input v-model="form.cardNo" placeholder="请输入身份证号" style="width:200px" maxlength="18" />
</el-form-item> </el-form-item>
<el-form-item label="性别" prop="sex"> <el-form-item label="性别" prop="sex">
<el-radio-group v-model="form.sex"> <el-radio-group v-model="form.sex">
@ -279,14 +277,17 @@
<el-form-item label="就诊流水号" prop="visitSerialNumber"> <el-form-item label="就诊流水号" prop="visitSerialNumber">
<el-input v-model="form.visitSerialNumber" placeholder="请输入就诊流水号" style="width:200px" /> <el-input v-model="form.visitSerialNumber" placeholder="请输入就诊流水号" style="width:200px" />
</el-form-item> </el-form-item>
<el-form-item label="手术名称" prop="surgicalName">
<el-input v-model="form.surgicalName" placeholder="请输入手术名称" style="width:200px" />
</el-form-item>
<el-form-item label="入院时间" prop="admissionDate"> <el-form-item label="入院时间" prop="admissionDate">
<el-date-picker clearable v-model="form.admissionDate" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="form.admissionDate" type="date" value-format="yyyy-MM-dd"
style="width:200px" placeholder="请选择入院时间"> style="width:200px" placeholder="请选择入院时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="手术名称" prop="surgicalName">
<el-input v-model="form.surgicalName" placeholder="请输入手术名称" style="width:200px" />
</el-form-item>
<el-form-item label="手术记录" prop="surgicalRecord" v-if="form.visitMethod == 'BE_IN_HOSPITAL'">
<el-input type="textarea" v-model="form.surgicalRecord" style="width:800px" placeholder="请输入手术记录" :rows="8" />
</el-form-item>
<el-form-item label="病历内容"> <el-form-item label="病历内容">
<editor v-model="form.medicalRecordContent" :min-height="192" /> <editor v-model="form.medicalRecordContent" :min-height="192" />
</el-form-item> </el-form-item>
@ -460,6 +461,7 @@ export default {
wardId: null, wardId: null,
wardName: null, wardName: null,
surgicalName: null, surgicalName: null,
surgicalRecord: null,
admissionDate: null, admissionDate: null,
outpatientNumber: null, outpatientNumber: null,
visitTime: null, visitTime: null,
@ -470,7 +472,7 @@ export default {
form: {}, form: {},
// //
rules: { rules: {
cardNo:[ cardNo: [
{ required: false, message: '', trigger: 'change' }, { required: false, message: '', trigger: 'change' },
{ {
pattern: /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/, pattern: /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/,
@ -478,7 +480,7 @@ export default {
trigger: "blur" trigger: "blur"
} }
], ],
familyMemberPhone:[ familyMemberPhone: [
{ required: false, message: '', trigger: 'change' }, { required: false, message: '', trigger: 'change' },
{ {
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
@ -583,6 +585,7 @@ export default {
admissionNumber: null, admissionNumber: null,
responsibleNurse: null, responsibleNurse: null,
visitSerialNumber: null, visitSerialNumber: null,
surgicalRecord: null,
surgicalName: null, surgicalName: null,
admissionDate: null, admissionDate: null,
dischargeDate: null, dischargeDate: null,

View File

@ -203,10 +203,10 @@
<el-input v-model="form.patientName" placeholder="请输入患者姓名" style="width:200px" /> <el-input v-model="form.patientName" placeholder="请输入患者姓名" style="width:200px" />
</el-form-item> </el-form-item>
<el-form-item label="患者电话" prop="patientPhone"> <el-form-item label="患者电话" prop="patientPhone">
<el-input v-model="form.patientPhone" placeholder="请输入患者电话" style="width:200px" maxlength="11"/> <el-input v-model="form.patientPhone" placeholder="请输入患者电话" style="width:200px" maxlength="11" />
</el-form-item> </el-form-item>
<el-form-item label="家属电话" prop="familyMemberPhone"> <el-form-item label="家属电话" prop="familyMemberPhone">
<el-input v-model="form.familyMemberPhone" placeholder="请输入家属电话" style="width:200px" maxlength="11"/> <el-input v-model="form.familyMemberPhone" placeholder="请输入家属电话" style="width:200px" maxlength="11" />
</el-form-item> </el-form-item>
<el-form-item label="出生日期" prop="birthDate"> <el-form-item label="出生日期" prop="birthDate">
<el-date-picker clearable v-model="form.birthDate" style="width:200px" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="form.birthDate" style="width:200px" type="date" value-format="yyyy-MM-dd"
@ -214,7 +214,7 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="身份证号" prop="cardNo"> <el-form-item label="身份证号" prop="cardNo">
<el-input v-model="form.cardNo" placeholder="请输入身份证号" style="width:200px" maxlength="18"/> <el-input v-model="form.cardNo" placeholder="请输入身份证号" style="width:200px" maxlength="18" />
</el-form-item> </el-form-item>
<el-form-item label="性别" prop="sex"> <el-form-item label="性别" prop="sex">
<el-radio-group v-model="form.sex"> <el-radio-group v-model="form.sex">
@ -284,9 +284,6 @@
<el-form-item label="就诊流水号" prop="visitSerialNumber"> <el-form-item label="就诊流水号" prop="visitSerialNumber">
<el-input v-model="form.visitSerialNumber" placeholder="请输入就诊流水号" style="width:200px" /> <el-input v-model="form.visitSerialNumber" placeholder="请输入就诊流水号" style="width:200px" />
</el-form-item> </el-form-item>
<el-form-item label="手术名称" prop="surgicalName">
<el-input v-model="form.surgicalName" placeholder="请输入手术名称" style="width:200px" />
</el-form-item>
<el-form-item label="就诊时间" prop="visitTime" v-if="form.visitMethod == 'OUTPATIENT_SERVICE'"> <el-form-item label="就诊时间" prop="visitTime" v-if="form.visitMethod == 'OUTPATIENT_SERVICE'">
<el-date-picker clearable v-model="form.visitTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择就诊时间" <el-date-picker clearable v-model="form.visitTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择就诊时间"
style="width:200px"> style="width:200px">
@ -297,6 +294,12 @@
style="width:200px" placeholder="请选择入院时间"> style="width:200px" placeholder="请选择入院时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="手术名称" prop="surgicalName">
<el-input v-model="form.surgicalName" placeholder="请输入手术名称" style="width:200px" />
</el-form-item>
<el-form-item label="手术记录" prop="surgicalRecord" v-if="form.visitMethod == 'BE_IN_HOSPITAL'">
<el-input type="textarea" v-model="form.surgicalRecord" style="width:800px" placeholder="请输入手术记录" :rows="8" />
</el-form-item>
<el-form-item label="病历内容"> <el-form-item label="病历内容">
<editor v-model="form.medicalRecordContent" :min-height="192" /> <editor v-model="form.medicalRecordContent" :min-height="192" />
</el-form-item> </el-form-item>
@ -407,8 +410,8 @@
</template> </template>
<script> <script>
import { listPatientInfo, getPatientInfo, delPatientInfo } from "@/api/manage/patientInfo"; import { listPatientInfo, delPatientInfo } from "@/api/manage/patientInfo";
import { addPatientInfo, updatePatientInfo } from "@/api/manage/visit"; import { addPatientInfo, updatePatientInfo, getPatientInfo } from "@/api/manage/visit";
import { getAge } from "@/utils/age"; import { getAge } from "@/utils/age";
import { selectAgencyList, getDepartmentList, getAgencyList } from "@/api/manage/selectAgencyList"; import { selectAgencyList, getDepartmentList, getAgencyList } from "@/api/manage/selectAgencyList";
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
@ -445,6 +448,7 @@ export default {
loading: true, loading: true,
// //
ids: [], ids: [],
patientVisitRecordId: [],
// //
single: true, single: true,
// //
@ -484,6 +488,7 @@ export default {
wardId: null, wardId: null,
wardName: null, wardName: null,
surgicalName: null, surgicalName: null,
surgicalRecord: null,
admissionDate: null, admissionDate: null,
outpatientNumber: null, outpatientNumber: null,
visitTime: null, visitTime: null,
@ -494,7 +499,7 @@ export default {
form: {}, form: {},
// //
rules: { rules: {
cardNo:[ cardNo: [
{ required: false, message: '', trigger: 'change' }, { required: false, message: '', trigger: 'change' },
{ {
pattern: /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/, pattern: /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/,
@ -502,7 +507,7 @@ export default {
trigger: "blur" trigger: "blur"
} }
], ],
familyMemberPhone:[ familyMemberPhone: [
{ required: false, message: '', trigger: 'change' }, { required: false, message: '', trigger: 'change' },
{ {
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
@ -614,6 +619,7 @@ export default {
responsibleNurse: null, responsibleNurse: null,
visitSerialNumber: null, visitSerialNumber: null,
surgicalName: null, surgicalName: null,
surgicalRecord: null,
admissionDate: null, admissionDate: null,
dischargeDate: null, dischargeDate: null,
medicalRecordContent: null, medicalRecordContent: null,
@ -651,6 +657,7 @@ export default {
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map(item => item.id)
this.patientVisitRecordIds = selection.map(item => item.patientVisitRecordId)
this.single = selection.length !== 1 this.single = selection.length !== 1
this.multiple = !selection.length this.multiple = !selection.length
}, },
@ -663,7 +670,7 @@ export default {
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
const id = row.id || this.ids const id = row.patientVisitRecordId || this.patientVisitRecordIds
getPatientInfo(id).then(response => { getPatientInfo(id).then(response => {
this.form = response.data; this.form = response.data;
this.form = response.data; this.form = response.data;