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'
})
}
// 意向签约
export function intentionalSign(data) {
return request({
url: '/manage/signRecord/intentionalSign',
method: 'post',
data: data
})
}

View File

@ -183,8 +183,9 @@
</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">
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
<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="handleUpdate(scope.row)"
v-hasPermi="['manage:preHospitalized:edit']">编辑</el-button>
@ -294,6 +295,11 @@
style="width:200px" placeholder="请选择入院时间">
</el-date-picker>
</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-input v-model="form.surgicalName" placeholder="请输入手术名称" style="width:200px" />
</el-form-item>
@ -366,7 +372,30 @@
<el-button @click="cancel"> </el-button>
</div>
</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-upload drag class="upload-demo" ref="upload" :action="action.url" :headers="action.headers"
@ -411,7 +440,7 @@
<script>
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 { selectAgencyList, getDepartmentList, getAgencyList } from "@/api/manage/selectAgencyList";
import { getToken } from '@/utils/auth'
@ -422,6 +451,14 @@ export default {
dicts: ['patient_type', 'visit_method', 'sign_status', 'patient_source'],
data() {
return {
pickerOptions: {
disabledDate: (time) => {
if (this.form.admissionDate != "") {
return time.getTime() < new Date(this.form.admissionDate).getTime();
}
},
},
addsignopen: false,
//
attendingPhysicianlist: [],
//form-
@ -490,6 +527,7 @@ export default {
surgicalName: null,
surgicalRecord: null,
admissionDate: null,
dischargeTime: null,
outpatientNumber: null,
visitTime: null,
dischargeMethod: null,
@ -533,9 +571,18 @@ export default {
admissionDate: [
{ required: true, message: '请选择患者入院时间', trigger: 'change' }
],
dischargeTime: [
{ required: true, message: '请选择患者出院时间', trigger: 'change' }
],
visitTime: [
{ required: true, message: '请选择患者就诊时间', trigger: 'change' }
],
billingDoctorId: [
{ required: true, message: '请选择开单医生', trigger: 'change' }
],
intentionalSource: [
{ required: true, message: '请选择意向来源', trigger: 'change' }
],
},
action: {
data: {
@ -549,6 +596,14 @@ export default {
},
url: process.env.VUE_APP_BASE_API + '/manage/visitRecord/importPatientInfo'
},
//
addsignattendingPhysicianlist: [],
addsignform: {
billingDoctorId: '',
billingDoctorName: '',
intentionalSource: '',
patientId: '',
},
};
},
created() {
@ -556,6 +611,33 @@ export default {
this.selectAgencyinfo();
},
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) {
this.$router.push({
@ -621,6 +703,7 @@ export default {
surgicalName: null,
surgicalRecord: null,
admissionDate: null,
dischargeTime: null,
dischargeDate: null,
medicalRecordContent: null,
appointmentTreatmentGroup: null,

View File

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