Commit 238f642f authored by 陈明豪's avatar 陈明豪

病历管理修改

parent be5d1e3b
......@@ -83,3 +83,11 @@ export function editRecord(data) {
data
})
}
// 编辑病例
export function getRecordPayment(id) {
return request({
url: '/business/record/paymentDetailForMedical/' + id,
method: 'get'
})
}
......@@ -876,24 +876,83 @@ color: #333333;"
</el-form>
</div>
<!--10--住院信息-->
<div style="display: flex">
<div class="tip-green" />
<div
style="padding-left: 13px;font-size: 16px;font-family: Microsoft YaHei-Bold, Microsoft YaHei,serif;font-weight: bold;color: #333333;"
>住院信息
<div class="title-content">
<div class="title-left">
<div class="tip-green" />
<div
class="tip-text"
>住院治疗
</div>
</div>
<el-button
v-if="isEdit"
class="fourWordsBtn"
icon="el-icon-circle-plus-outline"
size="mini"
:disabled="editCunt.inHospitalBos > 0"
@click="handleInHospitalAdd"
>新增住院
</el-button>
</div>
<!-- 内部信息 -->
<div class="table-content">
<el-table :data="petProtect" :header-cell-style="{ background:'#F4F4F4'}" border>
<el-table-column align="center" label="入院日期" prop="protectName" />
<el-table-column align="center" label="住院天数" prop="type" />
<el-table-column align="center" label="病情等级" prop="date" />
<el-table-column align="center" label="能否沐浴" prop="date" />
<el-table-column align="center" label="是否出院" prop="date" />
<el-table-column align="center" label="病房号" prop="date" />
<el-table v-if="!petInHospitalStatus" ref="inHospitalForm" :data="petInHospitalList" :header-cell-style="{ background:'#F4F4F4'}" border>
<el-table-column align="center" label="病情等级" prop="diseaseLevel">
<template slot-scope="scope">
<dict-tag v-if="!petInHospitalUpdateShow" :options="dict.type.disease_level" :value="scope.row.diseaseLevel" />
<el-select v-else v-model="scope.row.diseaseLevel" placeholder="病情等级">
<el-option
v-for="item in dict.type.disease_level"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</template>
</el-table-column>
<el-table-column align="center" label="病房类型" prop="wardType">
<template slot-scope="scope">
{{ scope.row.diseaseLevel ? (scope.row.diseaseLevel === '1' ? 'ICU病房':'普通病房'): '-' }}
</template>
</el-table-column>
<el-table-column align="center" label="能否沐浴" prop="bathe">
<template slot-scope="scope">
<span v-if="!petInHospitalUpdateShow">{{ scope.row.bathe === '0' ? '能':'否' }}</span>
<el-select v-else v-model="scope.row.bathe" placeholder="能否沐浴">
<el-option
label="能"
value="0"
/>
<el-option
label="否"
value="1"
/>
</el-select>
</template>
</el-table-column>
<el-table-column align="center" label="病房号" prop="wardRuleId">
<template slot-scope="scope">
{{ scope.row.wardRuleId || '-' }}
</template>
</el-table-column>
<el-table-column align="center" label="入院日期" prop="admissionDate">
<template slot-scope="scope">
{{ scope.row.admissionDate || '-' }}
</template>
</el-table-column>
<el-table-column align="center" label="天数" prop="actualDays">
<template slot-scope="scope">
{{ scope.row.actualDays || '-' }}
</template>
</el-table-column>
<el-table-column align="center" label="状态" prop="status">
<template slot-scope="scope">
<span v-if="!scope.row.status">{{ '-' }}</span>
<dict-tag :options="dict.type.hospital_status_in" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column
v-if="isEdit"
v-if="isEdit && !petInHospitalStatus"
align="center"
class-name="small-padding fixed-width"
label="操作"
......@@ -902,41 +961,66 @@ color: #333333;"
>
<template slot-scope="scope">
<el-button
v-if="!isEdit || (scope.row.payType !== '0' && !scope.row.isAdd)"
v-hasPermi="['business:record:edit']"
icon="el-icon-document"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(95,181,75);"
type="success"
@click="handleDetail(scope.row)"
>查看
</el-button>
<el-button
v-if="isEdit && scope.row.payType === '0' && !scope.row.inputShow"
v-hasPermi="['business:record:edit']"
v-if="isEdit && !petInHospitalStatus && !petInHospitalUpdateShow"
icon="el-icon-edit"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(52,144,206);"
type="primary"
@click="handleUpdate(scope.row)"
@click="updatePetInHospitalShow()"
>编辑
</el-button>
<el-button
v-if="isEdit && scope.row.payType === '0' && !scope.row.inputShow"
v-hasPermi="['business:record:edit']"
v-if="isEdit && !petInHospitalStatus && petInHospitalUpdateShow"
icon="el-icon-document"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(95,181,75);"
type="success"
@click="saveUpdatePetInHospital(scope.row)"
>保存
</el-button>
<el-button
v-if="isEdit && !petInHospitalStatus && !petInHospitalUpdateShow"
icon="el-icon-document"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(155,0,65);"
type="danger"
@click="handleDetail(scope.row)"
@click="delPetInHospital(scope.row)"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
<el-table v-else :data="petInHospitalList" :header-cell-style="{ background:'#F4F4F4'}" border>
<el-table-column align="center" label="病房类型" prop="wardType">
<template slot-scope="scope">
{{ scope.row.diseaseLevel }}
</template>
</el-table-column>
<el-table-column align="center" label="病房号" prop="wardRuleId">
<template slot-scope="scope">
{{ scope.row.wardRuleId || '-' }}
</template>
</el-table-column>
<el-table-column align="center" label="入院日期" prop="admissionDate">
<template slot-scope="scope">
{{ scope.row.admissionDate || '-' }}
</template>
</el-table-column>
<el-table-column align="center" label="天数" prop="actualDays">
<template slot-scope="scope">
{{ scope.row.actualDays || '-' }}
</template>
</el-table-column>
<el-table-column align="center" label="状态" prop="status">
<template slot-scope="scope">
<span v-if="!scope.row.status">{{ '-' }}</span>
<dict-tag :options="dict.type.hospital_status_in" :value="scope.row.status" />
</template>
</el-table-column>
</el-table>
</div>
<!--10--费用明细-->
<div style="display: flex">
......@@ -948,15 +1032,46 @@ color: #333333;"
</div>
<!-- 内部信息 -->
<div class="table-content">
<el-table :data="petProtect" :header-cell-style="{ background:'#F4F4F4'}" border>
<el-table-column align="center" label="收费项" prop="protectName" />
<el-table-column align="center" label="明细" prop="type" />
<el-table-column align="center" label="数目" prop="date" />
<el-table-column align="center" label="金额" prop="date" />
<el-table-column align="center" label="缴费状态" prop="date" />
<el-table-column align="center" label="缴费时间" prop="date" />
<el-table-column align="center" label="付款账号" prop="date" />
<el-table :data="paymentList" :header-cell-style="{ background:'#F4F4F4'}" border>
<el-table-column align="center" label="收费项" prop="feeItems">
<template slot-scope="scope">
{{ scope.row.feeItems || '-' }}
</template>
</el-table-column>
<el-table-column align="center" label="明细" prop="detail">
<template slot-scope="scope">
{{ scope.row.detail || '-' }}
</template>
</el-table-column>
<el-table-column align="center" label="数目" prop="qty">
<template slot-scope="scope">
{{ scope.row.qty || '-' }}
</template>
</el-table-column>
<el-table-column align="center" label="金额" prop="standardAmount">
<template slot-scope="scope">
{{ scope.row.standardAmount || '-' }}
</template>
</el-table-column>
<el-table-column align="center" label="缴费状态" prop="payStatus">
<template slot-scope="scope">
<dict-tag :options="dict.type.payment_status" :value="scope.row.payStatus" />
</template>
</el-table-column>
<el-table-column align="center" label="缴费时间" prop="payTime">
<template slot-scope="scope">
{{ scope.row.payTime || '-' }}
</template>
</el-table-column>
<el-table-column align="center" label="付款账号" prop="ownerId">
<template slot-scope="scope">
{{ scope.row.ownerId || '-' }}
</template>
</el-table-column>
</el-table>
<div v-if="isEdit" style="width: 100%;text-align: right;margin-top: 15px">
待缴费金额:{{ amountToBePaid }}
</div>
</div>
<!--8--检查信息-->
<div class="title-content">
......@@ -1040,14 +1155,15 @@ import {
getRecord,
getTreatOptions,
listByType,
updateCheck, editRecord
updateCheck, editRecord, getRecordPayment
} from '@/api/business/mdeicalRecord'
import { mapGetters } from 'vuex'
import { addHospital, delHospital, listHospital, updateHospital } from '@/api/business/inHospital'
export default {
name: 'MedicalEdit',
// 数据字典
dicts: ['pet_sex', 'vaccine_situation', 'exist_state', 'sterilization_status', 'pet_insure', 'cat_breed', 'dog_breed', 'pet_breed', 'other_breed', 'check_type', 'payment_status'],
dicts: ['pet_sex', 'ward_type', 'payment_status', 'hospital_status_in', 'vaccine_situation', 'exist_state', 'sterilization_status', 'pet_insure', 'cat_breed', 'dog_breed', 'pet_breed', 'other_breed', 'check_type', 'payment_status', 'disease_level'],
components: {
// 引入进度信息模组件
scheduleInfo
......@@ -1134,7 +1250,8 @@ export default {
editCunt: {
petProtect: 0,
checkManageBos: 0,
treatManageBo: 0
treatManageBo: 0,
inHospitalBos: 0
},
drugList: [], // 药品列表
map: {},
......@@ -1241,7 +1358,16 @@ export default {
type: '人身保险',
date: '2026/03/25',
inputShow: false
}]
}],
// 宠物住院情况
petInHospitalList: [],
petInHospitalStatus: false,
petInHospitalUpdateShow: false,
recordDetail: {},
// 费用明细
paymentList: [],
// 待缴费金额
amountToBePaid: 0
}
},
computed: {
......@@ -1254,6 +1380,7 @@ export default {
mounted() {
this.getDetail()
this.getTreatItemOptions()
this.getPaymentList()
},
methods: {
/**
......@@ -1441,6 +1568,7 @@ export default {
getDetail(type = 'usual') {
getRecord(this.$route.params.id).then(response => {
console.log('这是病历管理的详情内容,我要调取!', response)
this.recordDetail = response.data
// 主键
this.scheduleKey.checkSchedule = response.data.checkSchedule
// 挂号时间
......@@ -1471,179 +1599,7 @@ export default {
}
console.log(this.checkManageBos, 'kkkkkkkkkkkkkkkkkkkkkkk')
})
// const temp = {
// 'msg': '操作成功',
// 'code': 200,
// 'data': {
// 'createBy': null,
// 'createTime': '2023-04-21 16:34:56',
// 'updateBy': null,
// 'updateTime': null,
// 'remark': null,
// 'id': 6,
// 'medicalRecordNo': '【兽2023】6410Jun1410006',
// 'petsId': 15341523102,
// 'petOwnersId': 7,
// 'ownersId': null,
// 'petOwnerPhone': null,
// 'petNickname': '包子',
// 'petPicture': '/profile/upload/2023/05/10/dog1_20230510063813A013.png',
// 'petBreed': '金毛猎犬',
// 'petSex': '1',
// 'petAge': '3',
// 'petWeight': 18.57,
// 'petColor': '黑花',
// 'sterilizationStatus': '0',
// 'vaccineSituation': '0',
// 'insure': '0',
// 'registId': null,
// 'doctorId': 'LON362023JunDOC50001',
// 'doctorName': '高宇',
// 'hospitalName': '医院',
// 'hospitalId': 200,
// 'hospitalDepartmentId': null,
// 'hospitalDepartmentName': '科室1',
// 'doctorTitleLabel': '职位',
// 'doctorPhone': '13820629672',
// 'doctorSignatureUrl': null,
// 'checkSchedule': '2',
// 'visitDate': null,
// 'visitLocation': null,
// 'positionId': null,
// 'mainSuit': '主诉',
// 'doctorAdvice': '医嘱',
// 'diagnosisResult': '诊断结果',
// 'registTime': '2023/06/13 14:29',
// 'diagnosisTime': '2023/06/13 17:19',
// 'recipelTime': null,
// 'reportTime': '2023/06/14 11:16',
// 'delFlag': '0',
// 'petOwnerBo': {
// 'id': 6,
// 'ownersId': null,
// 'nickName': '过的咖啡馆',
// 'phoneNumber': '15123',
// 'createTime': '2023/04/21',
// 'status': '0',
// 'customers': '2',
// 'membershipLevel': '5',
// 'cardBalance': '15.60',
// 'petCount': 0,
// 'petList': [
// {
// 'id': 1,
// 'petNickname': '包子',
// 'petAge': '3',
// 'petSex': '1',
// 'petBreed': '金毛猎犬',
// 'sterilizationStatus': '0',
// 'vaccineSituation': '0',
// 'petPicture': '/profile/upload/2023/05/10/dog1_20230510063813A013.png',
// 'petColor': '黑花',
// 'petWeight': 18.57,
// 'existState': null,
// 'petOwnersId': 7,
// 'delFlag': '0',
// 'petsId': '15341523102',
// 'insure': '0',
// 'createBy': null,
// 'createTime': null,
// 'updateBy': null,
// 'updateTime': null,
// 'remark': null
// },
// {
// 'id': 9,
// 'petNickname': '包子',
// 'petAge': '3',
// 'petSex': '1',
// 'petBreed': '金毛猎犬',
// 'sterilizationStatus': '0',
// 'vaccineSituation': '0',
// 'petPicture': '/profile/upload/2023/05/10/dog1_20230510063813A013.png',
// 'petColor': '黑花',
// 'petWeight': 18.57,
// 'existState': null,
// 'petOwnersId': 7,
// 'delFlag': '0',
// 'petsId': '15341523102',
// 'insure': '0',
// 'createBy': null,
// 'createTime': null,
// 'updateBy': null,
// 'updateTime': null,
// 'remark': null
// }
// ]
// },
// 'treatManageBo': [
// {
// 'id': 2,
// 'registId': null,
// 'medicalRecordId': null,
// 'treatItemsName': null,
// 'doctorName': '高宇',
// 'consultRoomName': null,
// 'payType': null,
// 'treatStatus': '0',
// 'treatStartTime': null
// },
// {
// 'id': 3,
// 'registId': null,
// 'medicalRecordId': null,
// 'treatItemsName': null,
// 'doctorName': '高宇',
// 'consultRoomName': null,
// 'payType': null,
// 'treatStatus': '0',
// 'treatStartTime': null
// }
// ],
// 'inHospitalBo': [
// {
// 'id': 1,
// 'registId': null,
// 'medicalRecordId': null,
// 'hospitalDays': null,
// 'diseaseLevel': '',
// 'bathe': '',
// 'wardRuleId': '',
// 'admissionDate': null
// },
// {
// 'id': 5,
// 'registId': null,
// 'medicalRecordId': null,
// 'hospitalDays': null,
// 'diseaseLevel': '',
// 'bathe': '',
// 'wardRuleId': '',
// 'admissionDate': null
// }
// ],
// 'checkManageBos': [
// {
// 'id': 7,
// 'registId': null,
// 'medicalRecordId': null,
// 'checkSchedule': null,
// 'payAmount': null,
// 'payType': '0',
// 'checkType': '0',
// 'checkItemsId': null,
// 'checkItemsName': null,
// 'checkStartTime': null,
// 'shadowReport': null,
// 'checkStatus': null,
// 'inputShow': false
// }
// ],
// 'followContent': null,
// 'followTime': null,
// 'followStatus': null
// }
// }
this.getInHospitalList(this.$route.params.id)
},
/** 编辑行*/
handleUpdate(index, tableData) {
......@@ -1734,6 +1690,26 @@ export default {
})
}
},
handleInHospitalAdd() {
if (this.editCunt.inHospitalBos === 0) {
console.log('行数为零,可添加')
const obj = {
registId: this.recordDetail.registId,
medicalRecordId: this.recordDetail.id,
diseaseLevel: '',
wardType: '',
bathe: '',
wardRuleId: '',
admissionDate: '',
actualDays: '',
status: '1'
}
this.petInHospitalList = []
this.petInHospitalList.push(obj)
this.petInHospitalUpdateShow = true
console.log('lb', this.petInHospitalList)
}
},
/** 保存行*/
handleSave(formName, listName, index) {
this.$refs[formName].validate((valid) => {
......@@ -1836,6 +1812,77 @@ export default {
/** 返回跳转列表页 */
goBack() {
this.$router.push('/medical-record-management/index')
},
/** 获取病历住院信息 */
getInHospitalList(id) {
const query = {
medicalRecordId: id
}
listHospital(query).then(res => {
if (res.code === 200) {
console.log('zy', res)
this.petInHospitalList = res.rows.rows
// console.log('住院情况2', this.petInHospitalList)
this.editCunt.inHospitalBos = res.total
this.petInHospitalList.forEach(item => {
if (item.status === '1' || item.status === '2') {
this.petInHospitalStatus = false
}
})
console.log('是否在住院中', this.petInHospitalStatus)
}
})
},
/** 开启编辑病历住院信息 */
updatePetInHospitalShow() {
this.petInHospitalUpdateShow = true
},
/** 保存编辑病历住院信息 */
saveUpdatePetInHospital(row) {
console.log('修改保存', row)
const updateForm = JSON.parse(JSON.stringify(this.recordDetail))
updateForm.inHospitalBo = row
if (updateForm.inHospitalBo.id) {
updateHospital(updateForm).then(res => {
this.petInHospitalUpdateShow = false
this.getInHospitalList(this.$route.params.id)
})
} else {
addHospital(updateForm).then(res => {
this.petInHospitalUpdateShow = false
this.getInHospitalList(this.$route.params.id)
})
}
this.getPaymentList()
},
/** 删除病历住院信息 */
delPetInHospital(row) {
this.$confirm('是否确认删除此条数据,删除后不可恢复', '删除', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass: 'box-logout',
cancelButtonClass: 'resetBtn',
confirmButtonClass: 'queryBtn',
type: 'warning',
closeOnClickModal: false
}).then(() => {
delHospital(row.id).then(res => {
if (res.code === 200) {
this.getInHospitalList(this.$route.params.id)
}
})
})
},
/** 获取费用明细 */
getPaymentList() {
getRecordPayment(this.$route.params.id).then(res => {
if (res.code === 200) {
console.log('费用明细', res)
this.paymentList = res.data.list
this.amountToBePaid = res.data.amountToBePaid
}
})
}
}
}
......@@ -1982,6 +2029,30 @@ export default {
padding-bottom: 20px;
}
}
::v-deep .waitPay {
font-size: 14px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
color: #5FB54B;
line-height: 25px;
}
::v-deep .hasPay {
font-size: 14px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
color: #FF9D4E;
line-height: 25px;
}
::v-deep .hasPay::before {
content: "·";
font-size: 14px;
margin-right: 5px;
}
::v-deep .waitPay::before {
content: "·";
font-size: 14px;
margin-right: 5px;
}
</style>
<style lang="scss">
.medical-edit {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment