Commit 01c49282 authored by 盖献康's avatar 盖献康

Merge remote-tracking branch 'origin/master'

parents 236986b1 53b1910f
......@@ -17,6 +17,22 @@ export function getDepartment() {
})
}
// 查询医生下拉
export function getDoctorment() {
return request({
url: '/system/manage/listAll',
method: 'get'
})
}
// 查询医生下拉
export function getHospital() {
return request({
url: '/system/hospital/list-all',
method: 'get'
})
}
// 查询挂号详细
export function getRegister(id) {
return request({
......
......@@ -52,19 +52,19 @@ color: #333333;"
<!-- 宠物基本信息-->
<el-row>
<el-col :span="8">
<el-form-item label="宠物昵称">
<el-form-item label="宠物昵称" prop="petNickname">
<el-input v-model="detailInfo.petNickname" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<!--宠物ID-->
<el-form-item label="宠物ID">
<el-form-item label="宠物ID" prop="petsId">
<el-input v-model="detailInfo.petsId" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<!--宠物品种-->
<el-form-item label="宠物品种">
<el-form-item label="宠物品种" prop="petBreed">
<el-select
v-model="detailInfo.petBreed"
:disabled="!isEdit"
......@@ -85,7 +85,7 @@ color: #333333;"
<el-row>
<el-col :span="8">
<!--宠物性别-->
<el-form-item label="宠物性别">
<el-form-item label="宠物性别" prop="petSex">
<el-select
v-model="detailInfo.petSex"
:disabled="!isEdit"
......@@ -107,7 +107,7 @@ color: #333333;"
</el-col>
<el-col :span="8">
<!--宠物年龄-->
<el-form-item v-if="!isEdit" label="宠物年龄">
<el-form-item v-if="!isEdit" label="宠物年龄" prop="petAge">
<el-input v-model="detailInfo.petAge" disabled />
</el-form-item>
......@@ -119,13 +119,13 @@ color: #333333;"
clearable
placeholder="请选择宠物生日"
type="date"
value-format="yyyy-MM-dd"
value-format="yyyy/MM/dd"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<!--宠物体重-->
<el-form-item label="宠物体重">
<el-form-item label="宠物体重" prop="petWeight">
<el-input v-model="detailInfo.petWeight" :disabled="!isEdit" />
kg
</el-form-item>
......@@ -134,13 +134,13 @@ color: #333333;"
<el-row>
<el-col :span="8">
<!--宠物毛色-->
<el-form-item label="宠物毛色">
<el-form-item label="宠物毛色" prop="petColor">
<el-input v-model="detailInfo.petColor" :disabled="!isEdit" />
</el-form-item>
</el-col>
<el-col :span="8">
<!--绝育情况-->
<el-form-item label="绝育情况">
<el-form-item label="绝育情况" prop="sterilizationStatus">
<el-select
v-model="detailInfo.sterilizationStatus"
:disabled="!isEdit"
......@@ -159,7 +159,7 @@ color: #333333;"
</el-col>
<el-col :span="8">
<!--疫苗情况-->
<el-form-item label="疫苗情况">
<el-form-item label="疫苗情况" prop="vaccineSituation">
<el-select
v-model="detailInfo.vaccineSituation"
:disabled="!isEdit"
......@@ -180,7 +180,7 @@ color: #333333;"
<el-row>
<el-col :span="8">
<!--保险情况-->
<el-form-item label="宠物保险">
<el-form-item label="宠物保险" prop="insure">
<el-select
v-model="detailInfo.insure"
:disabled="!isEdit"
......@@ -361,7 +361,7 @@ color: #333333;"
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="主诉">
<el-form-item label="主诉" prop="mainSuit">
<el-input
v-model="detailInfo.mainSuit"
:disabled="!isEdit"
......@@ -372,7 +372,7 @@ color: #333333;"
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="医嘱">
<el-form-item label="医嘱" prop="doctorAdvice">
<el-input
v-model="detailInfo.doctorAdvice"
:disabled="!isEdit"
......@@ -383,7 +383,7 @@ color: #333333;"
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="诊断结果">
<el-form-item label="诊断结果" prop="diagnosisResult">
<el-input
v-model="detailInfo.diagnosisResult"
:disabled="!isEdit"
......@@ -909,7 +909,7 @@ color: #333333;"
size="small"
>
<el-col :span="24">
<el-form-item label="回访情况">
<el-form-item label="回访情况" prop="followContent">
<el-input
v-model="detailInfo.followContent"
:disabled="!isEdit || detailInfo.followTime"
......@@ -963,11 +963,8 @@ export default {
},
data() {
return {
rules: {
// 宠物昵称非空校验
petNickname: [
{ required: true, message: '宠物昵称不能为空', trigger: 'change' }
],
// 表单校验
formRules: {
// 宠物性别非空校验
petSex: [
{ required: true, message: '宠物性别不能为空', trigger: 'change' }
......@@ -992,11 +989,37 @@ export default {
insure: [
{ required: true, message: '保险情况不能为空', trigger: 'change' }
],
// 主诉非空校验
mainSuit: [
{ required: true, message: '主诉不能为空', trigger: 'change' }
],
// 医嘱非空校验
doctorAdvice: [
{ required: true, message: '医嘱不能为空', trigger: 'change' }
],
// 诊断结果非空校验
diagnosisResult: [
{ required: true, message: '诊断结果不能为空', trigger: 'change' }
],
// 回访情况非空校验
followContent: [
{ required: true, message: '回访情况不能为空', trigger: 'change' }
],
// 诊位名称
poName: [{ required: true, message: '诊位名称不能为空', trigger: 'change' },
{ min: 2, max: 20, message: '诊位名称必须介于 2 和 20 之间', trigger: 'change' },
{ pattern: /([\u4e00-\u9fa5]|[a-z]+|[0-9]+)/g, message: '诊位名称为中英文数字', trigger: 'change' }],
// 状态校验
status: [{ required: true, message: '状态不能为空', trigger: 'change' }]
},
// 检查信息表单校验
checkRules: {
// 检查类型非空校验
checkType: [
{ required: true, message: '检查类型不能为空', trigger: 'change' }
]
},
// 进度
scheduleKey: { checkSchedule: '', diagnosisTime: '', registrationTime: '', reportTime: '', recipelTime: '' },
// 宠物出生日期校验
......@@ -1019,14 +1042,13 @@ export default {
drugForm: {}, // 用药管理table编辑
drugRules: {},
checkForm: {}, // 检查table编辑
checkRules: {},
treatForm: {}, // 治疗table编辑
treatRules: {},
detailInfo: {
petOwnerBo: {}
},
form: {},
formRules: [],
// 排序下拉框
insureList: [
{
......
......@@ -13,7 +13,7 @@
>
<el-form-item prop="petNickname">
<el-input
v-model="queryParams.petNickname"
v-model="queryParams.medicalRecordNo"
clearable
placeholder="请输入病历号/宠物昵称/宠主手机号"
@keyup.enter.native="handleQuery"
......@@ -23,52 +23,55 @@
<el-select v-model.trim="queryParams.doctorName" clearable placeholder="主治兽医">
<el-option
v-for="item in doctorNameList"
:key="item.value"
:label="item.label"
:value="item.value"
:key="item.doctorId"
:label="item.doctorName"
:value="item.doctorName"
/>
</el-select>
</el-form-item>
<el-form-item prop="deptId">
<el-select v-model.trim="queryParams.doctorName" clearable placeholder="所属医院">
<el-form-item prop="hospitalId">
<el-select v-model.trim="queryParams.hospitalName" clearable placeholder="所属医院">
<el-option
v-for="item in deptIdList"
:key="item.value"
:label="item.label"
:value="item.value"
v-for="item in HospitalList"
:key="item.hospitalId"
:label="item.hospitalName"
:value="item.hospitalName"
/>
</el-select>
</el-form-item>
<el-form-item prop="departmentId">
<el-select v-model.trim="queryParams.departmentId" clearable placeholder="兽医所属科室">
<el-form-item prop="hospitalDepartmentName">
<el-select v-model.trim="queryParams.hospitalDepartmentName" clearable placeholder="兽医所属科室">
<el-option
v-for="item in departIdList"
:key="item.value"
:label="item.label"
:value="item.value"
v-for="item in departmentList"
:key="item.deptId"
:label="item.departmentName"
:value="item.departmentName"
/>
</el-select>
</el-form-item>
<el-form-item prop="visitTime">
<el-form-item prop="visitDate">
<el-date-picker
v-model="queryParams.visitTime"
v-model="queryParams.visitDate"
clearable
placeholder="请选择就诊日期"
type="date"
value-format="yyyy-MM-dd"
/>
</el-form-item>
<el-form-item prop="sort">
<el-select
v-model.trim="queryParams.params.sort"
v-model.trim="column"
clearable
value-key="id"
placeholder="请选择排序方式"
@change="handleSort"
>
<el-option
v-for="item in sortList"
:key="item.value"
:key="item.id"
:label="item.label"
:value="item.value"
:value="item"
/>
</el-select>
</el-form-item>
......@@ -183,6 +186,7 @@
<script>
import { listRecord } from '@/api/business/record'
import { getDepartment, getDoctorment, getHospital } from '@/api/business/register'
export default {
name: 'MedicalRecordManagement',
......@@ -190,13 +194,19 @@ export default {
dicts: ['pet_insure'],
data() {
return {
column: '',
// 所属科室下拉框字典写死
departmentList: [],
// 所属科室下拉框字典写死
doctorNameList: [],
// 所属科室下拉框字典写死
HospitalList: [],
// 所有挂号信息ID(选择全部-临时表)
recordIds: [],
// 所有挂号信息ID(在不点击选择全部时-临时表)
registerEmptyIds: [],
// 所有挂号信息ID(用于辅助, 里面的数据永远不变, 除了 新增/删除 数据时)
recordIdsForever: [],
doctorNameList: [],
deptIdList: [],
departIdList: [],
// 遮罩层
......@@ -219,6 +229,8 @@ export default {
open: false,
// 查询参数
queryParams: {
orderByColumn: null,
isAsc: null,
// 排序方式声明
params: {
sort: null
......@@ -248,12 +260,16 @@ export default {
// 排序方式下拉框字典写死
sortList: [
{
id: 1,
collation: 'desc',
label: '按就诊日期倒序',
value: '01'
column: 'visit_date'
},
{
id: 2,
collation: 'asc',
label: '按就诊日期正序',
value: '02'
column: 'visit_date'
}
],
// 表单参数
......@@ -264,8 +280,32 @@ export default {
},
created() {
this.getList()
this.getDoctorList()
this.getDeptList()
this.getHospitalList()
},
methods: {
/** 查询科室下拉*/
getDeptList() {
getDepartment().then(res => {
this.departmentList = res.data
})
},
/** 查询医生名字下拉*/
getDoctorList() {
getDoctorment().then(res => {
this.doctorNameList = res.data
console.log('这是我要的医生下拉框:', this.doctorNameList)
})
},
/** 查询医生名字下拉*/
getHospitalList() {
getHospital().then(res => {
this.HospitalList = res.data
console.log('这是我要的医院下拉框:', this.HospitalList)
})
},
/** 详情按钮操作--跳转文章详情页 */
handleDetail(row) {
this.reset()
......@@ -275,7 +315,12 @@ export default {
name: 'MedicalDetail', params: { id: row.id }
})
},
// 选择排序规则
handleSort(val) {
console.log('选择排序方式', val)
this.queryParams.orderByColumn = val.column
this.queryParams.isAsc = val.collation
},
// 选择全部
checkAll() {
this.recordIds = this.recordIdsForever
......@@ -355,6 +400,11 @@ export default {
/** 查询病例管理列表 */
getList() {
this.loading = true
if (this.queryParams.orderByColumn === null) {
this.queryParams.orderByColumn = 'visit_date'
this.queryParams.isAsc = 'desc'
}
console.log('查詢--', this.queryParams)
listRecord(this.queryParams).then(response => {
console.log('病历列表的数据:', response)
this.recordList = response.rows.rows
......@@ -376,38 +426,55 @@ export default {
reset() {
this.form = {
id: null,
type: null,
petId: null,
petNickname: null,
nickname: null,
petOwnerNumber: null,
petBreed: null,
petSex: null,
petAge: null,
petWeight: null,
petColor: null,
sterilizationStatus: null,
vaccineSituation: null,
insure: null,
checkSchedule: null,
payAmount: null,
payType: null,
payTime: null,
doctorId: null,
doctorName: null,
deptId: null,
departmentId: null,
diagnosticResults: null,
visitNumber: null,
hospitalDepartmentId: null,
hospitalDepartmentName: null,
doctorPhone: null,
visitWay: null,
firstVisit: null,
visitDate: null,
visitTime: null,
visitOffice: null,
visitInformation: null,
orders: null,
medicationInformation: null,
petId: null,
petOwnerId: null,
doctorId: null,
scheduleId: null,
visitFirstTime: null,
payStatus: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
petJson: null,
doctorJson: null,
ownerJson: null
remark: null,
petOwnersId: null
}
this.resetForm('form')
},
/** 搜索按钮操作 */
handleQuery() {
console.log('参数:', this.queryParams)
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
this.queryParams.isAsc = null
this.queryParams.isAsc = 'desc'
this.handleQuery()
},
/** 编辑按钮操作--跳转文章编辑页 */
......
......@@ -252,7 +252,7 @@ export default {
petOwnersName: this.doctorForm.nickName,
petOwnersPhone: this.doctorForm.phoneNumber,
petNickname: this.doctorForm.petNickname,
petBreed: this.doctorForm.petBreed.join(),
petBreed: this.doctorForm.petBreed,
petSex: this.doctorForm.petSex,
petBirthday: this.doctorForm.petBirthday.replaceAll('-', '/'),
petWeight: this.doctorForm.petWeight,
......
......@@ -46,15 +46,6 @@
clearable
collapse-tags
/>
<el-cascader
v-model.trim="form.petBreed"
placeholder="请选择宠物品种"
:options="options"
:disabled="!isEdit"
:props="props"
clearable
collapse-tags
/>
</el-form-item>
</el-form-item>
</el-col>
......@@ -201,12 +192,12 @@
{{ form.createTime }}
</el-form-item>
</el-col>
<el-col v-if="form.customers==='1'" :span="8">
<el-col v-if="form.customers !=='0'" :span="8">
<el-form-item label="会员等级:">
{{ form.membershipLevel ? form.membershipLevel : '-' }}
</el-form-item>
</el-col>
<el-col v-if="form.customers==='1'" :span="8">
<el-col v-if="form.customers !=='0'" :span="8">
<el-form-item label="会员卡余额:">
{{ form.cardBalance ? form.cardBalance : '-' }}
</el-form-item>
......
......@@ -104,7 +104,7 @@
<el-steps :active="schedule" align-center>
<el-step title="开具处方单" :description="createTime" />
<el-step title="缴费开票" :description="checkDetail.payTime || '暂未缴费'" />
<el-step title="分配诊室" :description="checkDetail.treatStartTime || '暂未预约'" />
<el-step title="分配诊室" :description="checkDetail.consultRoomTime || '暂未预约'" />
<el-step title="治疗" :description="checkDetail.reportTime || '暂未治疗'" />
</el-steps>
</div>
......@@ -134,7 +134,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="缴费时间">
<span>{{ checkDetail.payTime || '-' }}</span>
<span>{{ payTime|| '-' }}</span>
</el-form-item>
</el-col>
</el-row>
......@@ -200,7 +200,7 @@
<el-row>
<el-col :span="8">
<el-form-item label="日志上传时间">
<span>{{ checkDetail.reportTime || '暂未上传' }}</span>
<span>{{ reportTime|| '暂未上传' }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -219,7 +219,7 @@
<el-button style="width: 98px;height: 32px;" icon="el-icon-back" class="resetBtn" @click="goBack">返 回</el-button>
</div>
<!-- 分配诊室对话框 -->
<el-dialog title="分配诊室" :visible.sync="open" width="800px" append-to-body :close-on-press-escape="false" :close-on-click-modal="false">
<el-dialog title="分配诊室" :visible.sync="open" width="800px" append-to-body :close-on-press-escape="false" :close-on-click-modal="false" @close="closeDialogRoom">
<div style="display: flex;padding-bottom: 20px;">
<div class="tip1" />
<div style="padding-top: 3px;padding-left: 18px;color: #666666; font-weight: 500; font-size: 16px;">预约记录</div>
......@@ -387,6 +387,10 @@ export default {
dicts: ['treat_type'],
data() {
return {
// 上传报时间
reportTime: null,
// 缴费时间
payTime: null,
// 开报告时间
createTime: '',
// 上传日志
......@@ -456,7 +460,7 @@ export default {
// 更新治疗表
const list = []
list.push(this.checkDetail)
if (this.videoReport !== '') {
if (this.videoReport !== '' && this.videoReport !== null) {
updateTreatList(list).then(res => {
if (res.code === 200) {
this.$message.success('上传成功')
......@@ -534,6 +538,7 @@ export default {
this.reservationForm.treatStartTime = this.appointmentRoom.treatDate + ' ' + this.appointmentRoom.sTime
this.reservationForm.treatEndTime = this.appointmentRoom.treatDate + ' ' + this.appointmentRoom.eTime
this.reservationForm.treatSchedule = '2'
this.reservationForm.consultRoomTime = parseTime(new Date())
const reservation = []
reservation.push(this.reservationForm)
console.log('this.reservationForm', this.reservationForm)
......@@ -547,11 +552,36 @@ export default {
}
})
},
closeDialogRoom() {
this.rest()
},
// 取消按钮
cancel() {
this.open = false
this.rest()
},
// 弹出框重置
rest() {
this.treatStartTime = ''
this.reservationForm.consultRoomName = ''
this.appointmentRoomList = []
// 预约诊室
this.appointmentRoom = {
consultRoomId: '',
treatDate: '',
sTime: '',
eTime: ''
}
// 分配诊室搜索预约记录
this.allocationForm = {
pageNum: 1,
pageSize: 10,
treatScheduleList: ['2', '3'],
consultRoomIdList: '',
treatStartTimeS: '',
treatStartTimeE: ''
}
},
// 分配诊室
handleSubscribe() {
this.open = true
......@@ -571,6 +601,12 @@ export default {
this.treatStartTime = dateString.substr(11, 5)
}
this.createTime = this.checkDetail.createTime.substring(0, 16)
if (this.checkDetail.reportTime !== null) {
this.reportTime = this.checkDetail.reportTime.replace(/-/g, '/')
}
if (this.checkDetail.payTime !== null) {
this.payTime = this.checkDetail.payTime.replace(/-/g, '/')
}
})
},
// 返回上一页
......
......@@ -77,8 +77,8 @@
<el-button style="position: relative; float: right;" class="queryBtn" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
</el-row>
<el-table v-loading="loading" ref="table" :data="treatmentList" border :row-key="getRowKeys" @selection-change="handleSelectionChange" :header-cell-class-name="cellClass">
<el-table-column type="selection" width="55" align="center" :reserve-selection="true"/>
<el-table ref="table" v-loading="loading" :data="treatmentList" border :row-key="getRowKeys" :header-cell-class-name="cellClass" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" :reserve-selection="true" />
<el-table-column label="序号" type="index" align="center" />
<el-table-column label="治疗项目" align="center" :show-overflow-tooltip="true" prop="treatItemsName">
<template slot-scope="scope">
......@@ -189,7 +189,7 @@
/>
<!-- 分配诊室对话框 -->
<el-dialog title="分配诊室" :visible.sync="open" width="800px" append-to-body :close-on-press-escape="false" :close-on-click-modal="false">
<el-dialog title="分配诊室" :visible.sync="open" width="800px" append-to-body :close-on-press-escape="false" :close-on-click-modal="false" @close="closeDialogRoom">
<div style="display: flex;padding-bottom: 20px;">
<div class="tip1" />
<div style="padding-top: 3px;padding-left: 18px;color: #666666; font-weight: 500; font-size: 16px;">预约记录</div>
......@@ -327,8 +327,9 @@
</template>
<script>
import { consultRoomListAll, selectTreatAll, selectTreatListP, updateTreatList} from '@/api/business/treatment'
import { consultRoomListAll, selectTreatAll, selectTreatListP, updateTreatList } from '@/api/business/treatment'
import { listItemByType } from '@/api/business/item'
import { parseTime } from '@/utils/ruoyi'
export default {
name: 'MedicalRecordManagement',
......@@ -508,8 +509,12 @@ export default {
this.queryParams.isAsc = val.collation
this.sortedColumn = val.sortedColumn
},
closeDialogRoom() {
this.rest()
},
// 弹出框重置
rest() {
this.treatStartTime = ''
this.reservationForm.consultRoomName = ''
this.appointmentRoomList = []
// 预约诊室
......@@ -635,6 +640,7 @@ export default {
this.reservationForm.treatStartTime = this.appointmentRoom.treatDate + ' ' + this.appointmentRoom.sTime
this.reservationForm.treatEndTime = this.appointmentRoom.treatDate + ' ' + this.appointmentRoom.eTime
this.reservationForm.treatSchedule = '2'
this.reservationForm.consultRoomTime = parseTime(new Date())
const reservation = []
reservation.push(this.reservationForm)
console.log('this.reservationForm', this.reservationForm)
......
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