This commit is contained in:
2024-03-28 17:24:06 +08:00
parent a47c75c33d
commit 42ab6e14fd
3 changed files with 111 additions and 4 deletions

View File

@ -25,4 +25,12 @@ export function getPatientInfo(id) {
method: 'get' method: 'get'
}) })
} }
// 意向签约
export function intentionalSign(data) {
return request({
url: '/manage/signRecord/intentionalSign',
method: 'post',
data: data
})
}

View File

@ -183,8 +183,9 @@
</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" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" @click="addsign(scope.row)">意向签约</el-button>
<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)"
v-hasPermi="['manage:preHospitalized:edit']">编辑</el-button> v-hasPermi="['manage:preHospitalized:edit']">编辑</el-button>
@ -294,6 +295,11 @@
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="dischargeTime" v-if="form.visitMethod == 'BE_IN_HOSPITAL'">
<el-date-picker clearable v-model="form.dischargeTime" type="date" value-format="yyyy-MM-dd"
:picker-options="pickerOptions" style="width:200px" placeholder="请选择出院时间">
</el-date-picker>
</el-form-item>
<el-form-item label="手术名称" prop="surgicalName"> <el-form-item label="手术名称" prop="surgicalName">
<el-input v-model="form.surgicalName" placeholder="请输入手术名称" style="width:200px" /> <el-input v-model="form.surgicalName" placeholder="请输入手术名称" style="width:200px" />
</el-form-item> </el-form-item>
@ -366,7 +372,30 @@
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 意向签约 -->
<el-dialog title="意向签约" :visible.sync="addsignopen" width="500px" append-to-body>
<el-form ref="form" :model="addsignform" :rules="rules" label-width="100px">
<el-form-item label="开单医生" prop="billingDoctorId">
<el-select v-model="addsignform.billingDoctorId" filterable placeholder="请选择开单医生" style="width:200px"
clearable>
<el-option v-for="item in addsignattendingPhysicianlist" :key="item.userId" :label="item.nickName"
:value="item.userId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="意向来源" prop="intentionalSource">
<el-select v-model="addsignform.intentionalSource" filterable placeholder="请选择意向来源" style="width:200px"
clearable>
<el-option label="医生开单" value="DOCTOR_BILLING">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="addsignupload"> </el-button>
<el-button @click="addsignopen = false"> </el-button>
</div>
</el-dialog>
<!-- // --> <!-- // -->
<el-dialog title="导入门诊患者信息" :visible.sync="uploadopen" width="400px" append-to-body> <el-dialog title="导入门诊患者信息" :visible.sync="uploadopen" width="400px" append-to-body>
<el-upload drag class="upload-demo" ref="upload" :action="action.url" :headers="action.headers" <el-upload drag class="upload-demo" ref="upload" :action="action.url" :headers="action.headers"
@ -411,7 +440,7 @@
<script> <script>
import { listPatientInfo, delPatientInfo } from "@/api/manage/patientInfo"; import { listPatientInfo, delPatientInfo } from "@/api/manage/patientInfo";
import { addPatientInfo, updatePatientInfo, getPatientInfo } from "@/api/manage/visit"; import { addPatientInfo, updatePatientInfo, getPatientInfo, intentionalSign } 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'
@ -422,6 +451,14 @@ export default {
dicts: ['patient_type', 'visit_method', 'sign_status', 'patient_source'], dicts: ['patient_type', 'visit_method', 'sign_status', 'patient_source'],
data() { data() {
return { return {
pickerOptions: {
disabledDate: (time) => {
if (this.form.admissionDate != "") {
return time.getTime() < new Date(this.form.admissionDate).getTime();
}
},
},
addsignopen: false,
// //
attendingPhysicianlist: [], attendingPhysicianlist: [],
//form- //form-
@ -490,6 +527,7 @@ export default {
surgicalName: null, surgicalName: null,
surgicalRecord: null, surgicalRecord: null,
admissionDate: null, admissionDate: null,
dischargeTime: null,
outpatientNumber: null, outpatientNumber: null,
visitTime: null, visitTime: null,
dischargeMethod: null, dischargeMethod: null,
@ -533,9 +571,18 @@ export default {
admissionDate: [ admissionDate: [
{ required: true, message: '请选择患者入院时间', trigger: 'change' } { required: true, message: '请选择患者入院时间', trigger: 'change' }
], ],
dischargeTime: [
{ required: true, message: '请选择患者出院时间', trigger: 'change' }
],
visitTime: [ visitTime: [
{ required: true, message: '请选择患者就诊时间', trigger: 'change' } { required: true, message: '请选择患者就诊时间', trigger: 'change' }
], ],
billingDoctorId: [
{ required: true, message: '请选择开单医生', trigger: 'change' }
],
intentionalSource: [
{ required: true, message: '请选择意向来源', trigger: 'change' }
],
}, },
action: { action: {
data: { data: {
@ -549,6 +596,14 @@ export default {
}, },
url: process.env.VUE_APP_BASE_API + '/manage/visitRecord/importPatientInfo' url: process.env.VUE_APP_BASE_API + '/manage/visitRecord/importPatientInfo'
}, },
//
addsignattendingPhysicianlist: [],
addsignform: {
billingDoctorId: '',
billingDoctorName: '',
intentionalSource: '',
patientId: '',
},
}; };
}, },
created() { created() {
@ -556,6 +611,33 @@ export default {
this.selectAgencyinfo(); this.selectAgencyinfo();
}, },
methods: { methods: {
addsignupload() {
if (this.addsignform.billingDoctorId && this.addsignattendingPhysicianlist.length > 0) {
this.addsignform.billingDoctorName = this.addsignattendingPhysicianlist.find(e => e.userId == this.addsignform.billingDoctorId).nickName
}
intentionalSign(this.addsignform).then(res => {
this.$modal.msgSuccess("意向签约成功");
})
},
addsign(item) {
this.addsignform = {
billingDoctorId: '',
billingDoctorName: '',
intentionalSource: '',
patientId: item.id,
}
this.usergetListinfotwo(item.hospitalAgencyId)
this.addsignopen = true
},
//
usergetListinfotwo(id) {
usergetList({
agencyId: id,
postName: 'DOCTOR'
}).then(res => {
this.addsignattendingPhysicianlist = res.data
})
},
/** 详情操作 */ /** 详情操作 */
handleAuthRole(row) { handleAuthRole(row) {
this.$router.push({ this.$router.push({
@ -621,6 +703,7 @@ export default {
surgicalName: null, surgicalName: null,
surgicalRecord: null, surgicalRecord: null,
admissionDate: null, admissionDate: null,
dischargeTime: null,
dischargeDate: null, dischargeDate: null,
medicalRecordContent: null, medicalRecordContent: null,
appointmentTreatmentGroup: null, appointmentTreatmentGroup: null,

View File

@ -45,7 +45,7 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :inline="true"> <el-form ref="form" :model="form" :rules="rules" label-width="130px" :inline="true">
<el-form-item label="主要诊断" prop="mainDiagnosis"> <el-form-item label="主要诊断" prop="mainDiagnosis">
<el-input v-model="form.mainDiagnosis" style="width:300px" placeholder="请输入主要诊断"></el-input> <el-input v-model="form.mainDiagnosis" style="width:300px" placeholder="请输入主要诊断"></el-input>
</el-form-item> </el-form-item>
@ -69,6 +69,10 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="门诊/住院编号" prop="inHospitalNumber">
<el-input v-model="form.inHospitalNumber" style="width:300px"
placeholder="请输入门诊/住院编号"></el-input>
</el-form-item>
<el-form-item label="入院时间" prop="admissionTime"> <el-form-item label="入院时间" prop="admissionTime">
<el-date-picker style="width:300px" v-model="form.admissionTime" type="datetime" <el-date-picker style="width:300px" v-model="form.admissionTime" type="datetime"
:picker-options="pickerOptions" value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期时间"> :picker-options="pickerOptions" value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期时间">
@ -79,6 +83,10 @@
:picker-options="pickerOptionstwo" value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期时间"> :picker-options="pickerOptionstwo" value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="手术记录" prop="surgicalRecord" v-if="form.visitMethod == 'BE_HOSPITALIZED'">
<el-input type="textarea" v-model="form.surgicalRecord" style="width:800px"
:rows="8"></el-input>
</el-form-item>
<el-form-item label="入院病历" prop="inHospitalInfo" v-if="form.visitMethod == 'BE_HOSPITALIZED'"> <el-form-item label="入院病历" prop="inHospitalInfo" v-if="form.visitMethod == 'BE_HOSPITALIZED'">
<el-input type="textarea" v-model="form.inHospitalInfo" style="width:800px" <el-input type="textarea" v-model="form.inHospitalInfo" style="width:800px"
:rows="8"></el-input> :rows="8"></el-input>
@ -134,6 +142,9 @@ export default {
attendingPhysicianId: [ attendingPhysicianId: [
{ required: true, message: "主治医生不能为空", trigger: "blur" } { required: true, message: "主治医生不能为空", trigger: "blur" }
], ],
inHospitalNumber: [
{ required: true, message: "门诊/住院编号不能为空", trigger: "blur" }
],
departmentId: [ departmentId: [
{ required: true, message: "科室名称不能为空", trigger: "blur" } { required: true, message: "科室名称不能为空", trigger: "blur" }
], ],
@ -143,6 +154,9 @@ export default {
dischargeTime: [ dischargeTime: [
{ required: true, message: "出院时间不能为空", trigger: "blur" } { required: true, message: "出院时间不能为空", trigger: "blur" }
], ],
surgicalRecord: [
{ required: true, message: "手术记录不能为空", trigger: "blur" }
],
inHospitalInfo: [ inHospitalInfo: [
{ required: true, message: "病历不能为空", trigger: "blur" } { required: true, message: "病历不能为空", trigger: "blur" }
], ],
@ -170,10 +184,12 @@ export default {
departmentId: '', departmentId: '',
departmentName: '', departmentName: '',
attendingPhysicianId: '', attendingPhysicianId: '',
inHospitalNumber: '',
attendingPhysicianName: '', attendingPhysicianName: '',
admissionTime: this.todaytime, admissionTime: this.todaytime,
dischargeTime: '', dischargeTime: '',
inHospitalInfo: '', inHospitalInfo: '',
surgicalRecord: '',
outHospitalInfo: '', outHospitalInfo: '',
} }
this.recodelist.unshift(item) this.recodelist.unshift(item)