Commit 46882e62 authored by 王飞龙's avatar 王飞龙

Merge remote-tracking branch 'origin/master'

parents bd0e7233 ad9db9d1
......@@ -72,6 +72,16 @@ export function listDeviceAll(query) {
params: query
})
}
// 查询设备列表用于检查管理-立即预约(没有分页)
export function deviceUseInSubscribeList(query) {
return request({
url: '/business/device/deviceUseInSubscribe',
method: 'get',
params: query
})
}
// 查询设备详细
export function getDevice(id) {
return request({
......
......@@ -9,6 +9,15 @@ export function listItem(query) {
})
}
// 根据检查类型(医院自有服务、预约外部服务)查询检查项目
export function listItemByType(query) {
return request({
url: '/business/item/listByType',
method: 'get',
params: query
})
}
// 查询治疗/检查项目管理详细
export function getItem(id) {
return request({
......
import request from '@/utils/request'
// 查询病例详情
export function getRecord(id) {
return request({
url: '/business/record/' + id,
method: 'get'
})
}
// 根据检查类型查询检查项目
export function listByType(params) {
return request({
url: '/business/item/listByType',
method: 'get',
params
})
}
// 根据宠物id查询检查信息列表
export function checkList(params) {
return request({
url: '/business/check/list',
method: 'get',
params
})
}
// 查询治疗项目
export function getTreatOptions(params) {
return request({
url: '/business/item/list',
method: 'get',
params
})
}
export function deleteCheck(id) {
return request({
url: '/business/check/' + id,
method: 'delete'
})
}
// 新增检查
export function addCheck(data) {
return request({
url: '/business/check',
method: 'post',
data
})
}
// 编辑检查
export function updateCheck(data) {
return request({
url: '/business/check',
method: 'put',
data
})
}
// 新增治疗
export function addTreat(data) {
return request({
url: '/business/treat',
method: 'post',
data
})
}
// 编辑治疗
export function updateTreat(data) {
return request({
url: '/business/treat',
method: 'put',
data
})
}
export function deleteTreat(id) {
return request({
url: '/business/treat/' + id,
method: 'delete'
})
}
......@@ -32,3 +32,19 @@ export function getRegisterDetail(id) {
method: 'get'
})
}
// 开具处方
export function submitPrescribing(data) {
return request({
url: '/business/record/submitPrescribing',
method: 'post',
data
})
}
// 录入诊断提交
export function insertDiagnosis(data) {
return request({
url: '/business/record/insertDiagnosis',
method: 'post',
data
})
}
import request from '@/utils/request'
// 查询治疗/检查项目管理列表
export function consultRoomListAll(query) {
return request({
url: '/system/room/listAll',
method: 'get',
params: query
})
}
......@@ -90,8 +90,9 @@ function render(props = {}) {
store.commit('SET_TOKEN', temp.token)
store.commit('SET_ROLES', temp.roles)
store.commit('SET_PERMISSIONS', temp.permissions)
store.commit('SET_NAME', temp.userName)
store.commit('SET_NAME', temp.name)
store.commit('SET_AVATAR', temp.avatar)
store.commit('SET_DEPTID', temp.deptId)
}
instance = new Vue({
......
......@@ -8,6 +8,7 @@ const getters = {
token: state => state.user.token,
avatar: state => state.user.avatar,
name: state => state.user.name,
deptId: state => state.user.deptId,
introduction: state => state.user.introduction,
roles: state => state.user.roles,
permissions: state => state.user.permissions,
......
......@@ -7,7 +7,8 @@ const user = {
name: '',
avatar: '',
roles: [],
permissions: []
permissions: [],
deptId: ''
},
mutations: {
......@@ -25,6 +26,9 @@ const user = {
},
SET_PERMISSIONS: (state, permissions) => {
state.permissions = permissions
},
SET_DEPTID: (state, deptId) => {
state.deptId = deptId
}
},
......@@ -59,6 +63,7 @@ const user = {
commit('SET_ROLES', ['ROLE_DEFAULT'])
}
commit('SET_NAME', user.userName)
commit('SET_DEPTID', user.deptId)
commit('SET_AVATAR', avatar)
resolve(res)
}).catch(error => {
......
......@@ -129,10 +129,13 @@
</el-form-item>
</el-col>
</el-row>
<div class="title-paragraph" style="white-space: nowrap;">
<span class="title-text">预约信息</span>
</div>
<div style="display: flex;align-items: center;margin-bottom: 10px;">
<div style="height: 16px;border-left: 3px solid #5bb647;" />
<div style="padding-left: 10px;">预约信息</div>
<div style="margin-left: auto;padding-right: 50px;">
<el-button class="fourWordsBtn" @click="bookNow">立即预约</el-button>
</div>
</div>
<!-- 预约信息 -->
<el-row v-show="checkDetail.checkSchedule >= 2">
<el-col :span="8">
......@@ -157,10 +160,13 @@
</el-col>
</el-row>
<div v-show="checkDetail.checkSchedule >= 2">
<div class="title-paragraph">
<span class="title-text">检查信息</span>
</div>
<div style="display: flex;align-items: center;margin-bottom: 10px;">
<div style="height: 16px;border-left: 3px solid #5bb647;" />
<div style="padding-left: 10px;">检查信息</div>
<div style="margin-left: auto;padding-right: 50px;">
<el-button v-show="checkDetail.checkSchedule >=2 && checkDetail.reportTime === null" class="fourWordsBtn">上传报告</el-button>
</div>
</div>
<!-- 检查信息 -->
<el-row>
<el-col :span="8">
......
......@@ -230,7 +230,7 @@ export default {
methods: {
/** 获取数据 */
getList() {
listItem().then(response => {
listItem({ itemType: '0' }).then(response => {
if (response.code === 200) {
console.log('aaa', response)
if (response.rows.length > 0) {
......
......@@ -9,7 +9,7 @@
/>
</el-form-item>
<el-form-item prop="checkType">
<el-select v-model="queryParams.checkType" clearable placeholder="检查类型">
<el-select v-model="queryParams.checkType" clearable placeholder="检查类型" @change="checkTypeChange">
<el-option
v-for="item in checkTypeOptions"
:key="item.value"
......@@ -18,13 +18,13 @@
/>
</el-select>
</el-form-item>
<el-form-item prop="checkName">
<el-select v-model="queryParams.checkName" clearable placeholder="检查项目">
<el-form-item>
<el-select v-model="queryParams.checkItemsId" :disabled="queryParams.checkType === null || queryParams.checkType === ''" clearable placeholder="检查项目">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
v-for="item in checkItemOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
......@@ -38,11 +38,13 @@
/>
</el-select>
</el-form-item>
<el-form-item prop="payAmount">
<el-form-item>
<el-date-picker
v-model="queryParams.payAmount"
v-model="queryParams.checkStartTime"
type="date"
placeholder="请选择检查时间"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
/>
</el-form-item>
<el-form-item>
......@@ -150,6 +152,7 @@
size="mini"
icon="el-icon-check"
@click="handleSubscribe(scope.row)"
:disabled="scope.row.deviceId !== null"
>立即预约</el-button>
</template>
</el-table-column>
......@@ -168,13 +171,13 @@
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="8">
<el-form-item label="设备" prop="registId">
<el-select v-model="form.shebei" clearable placeholder="请选择设备" @change="changeDeviceName">
<el-form-item label="设备">
<el-select v-model="form.equipmentIdList" multiple collapse-tags clearable placeholder="请选择设备" @change="changeDeviceName">
<el-option
v-for="item in dict.type.exam_type"
:key="item.value"
:label="item.label"
:value="item.value"
v-for="item in selectableDevice"
:key="item.id"
:label="item.deviceName"
:value="item.id"
/>
</el-select>
</el-form-item>
......@@ -182,10 +185,13 @@
<el-col :span="9">
<el-form-item label="检查日期" prop="checkItemsId">
<el-date-picker
v-model="form.jiancha"
v-model="form.checkDate"
type="date"
placeholder="请选择检查日期">
</el-date-picker>
@change="changeDate"
placeholder="请选择检查日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
/>
</el-form-item>
</el-col>
<el-col :span="7">
......@@ -230,7 +236,10 @@
<script>
import { getManage, delManage, addManage, updateManage, listCheckManage } from '@/api/business/manage'
import { listDeviceAll, listReservationDevice } from '@/api/business/device'
import { deviceUseInSubscribeList, listReservationDevice } from '@/api/business/device'
import { listItemByType } from '@/api/business/item'
import { parseTime } from '@/utils/ruoyi'
import { updateCheck } from '@/api/business/mdeicalRecord'
export default {
name: 'MedicalRecordManagement',
......@@ -264,7 +273,9 @@ export default {
isAsc: null,
petNickname: null,
checkType: null,
checkSchedule: null
checkSchedule: null,
checkItemsId: null,
checkStartTime: null
},
// 排序方式集合
sortList: [
......@@ -299,11 +310,16 @@ export default {
deviceQueryParams: {
pageNum: 1,
pageSize: 10,
reservationTime: null,
isPrivate: null
reservationTime: null, // 检查日期(默认当前日期)
isPrivate: null, // 检查类型(0-外部、1医院)
checkTypeList: [], // 检查项目ID(String[])
deviceIdList: [] // 设备(Long[])
},
// 表单参数
form: {},
form: {
equipmentIdList: [], // 设备下拉框选择的设备ID集合
checkDate: null // 检查日期
},
// 表单校验
rules: {
},
......@@ -323,7 +339,13 @@ export default {
value: '2',
label: '预约外部服务'
}
]
],
// 检查项目下拉框
checkItemOptions: [],
// 设备下拉框
selectableDevice: [],
// 当前的检查ID
currentCheckId: null
}
},
created() {
......@@ -341,10 +363,43 @@ export default {
this.loading = false
})
},
// 检查日期
changeDate() {
console.log('检查日期', this.form.checkDate)
if (this.form.checkDate === null) {
this.deviceQueryParams.reservationTime = this.getCurrentTime()
} else {
this.deviceQueryParams.reservationTime = this.form.checkDate
}
this.getDevice()
},
// 检查类型下拉框回调函数
checkTypeChange() {
var itemType = null
if (this.queryParams.checkType === '0') {
console.log('自有')
// eslint-disable-next-line no-unused-vars
itemType = '0'
} else if (this.queryParams.checkType === '2') {
console.log('外部')
// eslint-disable-next-line no-unused-vars
itemType = '2'
}
this.getItemByType(itemType)
},
// 根据检查类型(医院自有服务、预约外部服务)查询检查项目
getItemByType(itemType) {
listItemByType({ itemType: itemType }).then(res => {
console.log('检查项目', res)
this.checkItemOptions = res.rows
console.log('xdddd', this.checkItemOptions)
})
},
/** 获取所有设备用于设备下拉 */
getAllDevice() {
listDeviceAll().then(res => {
deviceUseInSubscribeList({ isPrivate: '1' }).then(res => {
console.log('设备下拉框', res)
this.selectableDevice = res.data
})
},
// 取消按钮
......@@ -360,6 +415,9 @@ export default {
},
// 设备选择下拉框触发
changeDeviceName() {
console.log('lalalalala', this.form.equipmentIdList)
this.deviceQueryParams.deviceIdList = this.form.equipmentIdList
this.getDevice()
},
// 选择排序方式触发的回调函数
handleSort(val) {
......@@ -384,21 +442,60 @@ export default {
handleSubscribe(row) {
this.open = true
console.log('点击立即预约', row)
// 设置检查类型
// 设置检查类型(固定死,即在点击立即预约时就不变了)
if (row.checkType === '2') {
this.deviceQueryParams.isPrivate = '0'
} else if (row.checkType === '0') {
this.deviceQueryParams.isPrivate = '1'
}
this.deviceQueryParams.checkTypeList.push(row.checkItemsId)
this.deviceQueryParams.checkTypeList = [...new Set(this.deviceQueryParams.checkTypeList)]
this.deviceQueryParams.reservationTime = this.getCurrentTime()
this.currentCheckId = row.id
console.log('点击立即预约后的状态', this.deviceQueryParams)
// 设置检查项目id
this.getDevice()
},
// 获取当前时间
getCurrentTime() {
const today = new Date()
const year = today.getFullYear()
const month = today.getMonth() + 1
const day = today.getDate()
return year + '-' + month + '-' + day
},
/** 对话框立即预约设备 */
handleSubscribeDevice() {
handleSubscribeDevice(row) {
console.log('点击里面的立即预约', row)
this.$confirm('立即预约此设备,是否确定?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass: 'box-logout',
cancelButtonClass: 'resetBtn',
confirmButtonClass: 'queryBtn',
type: 'warning'
}).then(() => {
console.log('确定后...')
const checkMessage = {}
const checkTimeList = row.checkTime.split('-')
checkMessage.id = this.currentCheckId
checkMessage.deviceId = row.deviceId
checkMessage.deviceName = row.deviceName
checkMessage.appointTime = parseTime(new Date())
checkMessage.checkStartTime = row.checkDate + ' ' + checkTimeList[0]
checkMessage.checkEndTime = row.checkDate + ' ' + checkTimeList[1]
console.log('需要修改的对象', checkMessage)
const list = []
list.push(checkMessage)
updateCheck(list).then(res => {
if (res.code === 200) {
this.$modal.msgError('预定设备成功')
}
})
})
},
/** 获取设备列表 */
getDevice() {
this.deviceQueryParams.reservationTime = '2023-06-15'
listReservationDevice(this.deviceQueryParams).then(res => {
console.log('设备', res)
this.deviceList = res.rows.table
......@@ -410,8 +507,11 @@ export default {
this.resetForm('queryForm')
this.sortColumn = ''
this.queryParams.orderByColumn = ''
this.queryParams.isAsc = ''
this.queryParams.checkSchedule = ''
this.queryParams.isAsc = null
this.queryParams.checkSchedule = null
this.queryParams.checkType = null
this.queryParams.checkItemsId = null
this.queryParams.checkStartTime = null
this.handleQuery()
},
// 多选框选中数据
......
......@@ -9,7 +9,7 @@
>
<el-form ref="queryForm" :inline="true" :model="queryParams" label-width="100px" size="small">
<el-form-item label="主治兽医:" prop="petNickname">
<el-input v-model="queryParams.mainDoctor" />
<el-input v-model="queryParams.mainDoctor"/>
</el-form-item>
<el-form-item label="是否首诊:" prop="petSex">
<el-select
......@@ -43,9 +43,9 @@
<span>{{ parseTime(scope.row.workDate, '{y}/{m}/{d}') }}</span>
</template>
</el-table-column>
<el-table-column align="center" label="时段" min-width="80" prop="hours" show-overflow-tooltip />
<el-table-column align="center" label="总放号数" min-width="80" prop="allCount" show-overflow-tooltip />
<el-table-column align="center" label="剩余号数" min-width="80" prop="residueCount" show-overflow-tooltip />
<el-table-column align="center" label="时段" min-width="80" prop="hours" show-overflow-tooltip/>
<el-table-column align="center" label="总放号数" min-width="80" prop="allCount" show-overflow-tooltip/>
<el-table-column align="center" label="剩余号数" min-width="80" prop="residueCount" show-overflow-tooltip/>
<el-table-column
align="center"
label="门诊诊查费"
......@@ -81,7 +81,8 @@
</template>
<script>
import { addRegister, timeRegister } from '@/api/business/register'
import { addRegister, checkPet, timeRegister } from '@/api/business/register'
import { parseTime } from '@/utils/ruoyi'
export default {
name: 'RegisterModle',
......@@ -102,6 +103,10 @@ export default {
doctorForm: {
type: Object
},
// 父级调手机号查宠主信息--获取宠物列表
petForm: {
type: Object
},
// 医生选择
doctorChoose: {
type: Object
......@@ -148,6 +153,7 @@ export default {
}
},
methods: {
parseTime,
// 获取相应id的医生详情
getRegisterMsg() {
console.log('HHHHHHHHHHHHHHHUUUUUUUUUUUUUUUUUU', this.doctorId, this.currentPage, this.registrationType)
......@@ -166,8 +172,11 @@ export default {
console.log('这是弹窗本身的行信息:', data)
console.log('这是宠物宠主本身的信息:', this.doctorForm)
console.log('这是当日挂号列表信息 :', this.singleDoctor)
console.log('这就是被父级传过来的宠主和名下宠物列表信息:', this.petForm)
// 进度
const temp = {
// 给接口所需的宠物赋值
petOwnerBo: this.petForm,
type: this.registrationType,
// 宠物宠主本身的信息
petsId: null,
......@@ -194,6 +203,7 @@ export default {
userId: this.singleDoctor.userId,
doctorName: this.singleDoctor.doctorName,
hospitalId: this.singleDoctor.deptId,
hospitalName: this.singleDoctor.hospitalName,
hospitalDepartmentId: this.singleDoctor.departmentId,
hospitalDepartmentName: this.singleDoctor.departmentName,
doctorPhone: this.singleDoctor.doctorPhone,
......@@ -216,13 +226,32 @@ export default {
doctorTitleLabel: this.singleDoctor.doctorTitleValue
}
console.log('终极大表', temp)
// 进入挂号页面先获取是否有重复的宠物数据
checkPet(temp).then(({ msg }) => {
console.log('aaa,这是关键判断是否已存在宠物的数据', msg)
if (msg) {
this.$modal.confirm('当前宠物已经存在是否覆盖数据')
.then(_ => {
addRegister(temp).then(response => {
console.log('这是确认完成后调用新增挂号的数据返参', response)
this.$message({
type: 'success',
message: '预约成功!'
})
this.$emit('registerModleClose', false)
})
})
} else {
addRegister(temp).then(response => {
console.log('这是确认不存在后调用新增挂号的数据返参', response)
this.$message({
type: 'success',
message: '预约成功!'
})
this.$emit('registerModleClose', false)
})
}
})
},
submit() {
......@@ -243,7 +272,6 @@ export default {
/** 功能按钮--重置按钮操作 */
resetQuery() {
this.daterangeCreateTime = []
this.daterangeUpdateTime = []
this.resetForm('queryForm')
this.handleQuery()
},
......
......@@ -26,12 +26,12 @@
<el-row :gutter="41">
<el-col :span="8">
<el-form-item label="宠物ID:" prop="petsId">
<el-input v-model="form.petsId" :disabled="true" maxlength="20" />
<el-input v-model="form.petsId" :disabled="true" maxlength="20"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="宠物昵称:" prop="petNickname">
<el-input v-model="form.petNickname" :disabled="!isEdit" maxlength="20" placeholder="请输入宠物昵称" />
<el-input v-model="form.petNickname" :disabled="!isEdit" maxlength="20" placeholder="请输入宠物昵称"/>
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -75,6 +75,7 @@
<el-date-picker
v-model="form.petBirthday"
:disabled="!isEdit"
:picker-options="pickerOptions"
clearable
placeholder="请选择宠物生日"
type="date"
......@@ -93,7 +94,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="宠物毛色:" prop="petColor">
<el-input v-model="form.petColor" :disabled="!isEdit" maxlength="20" placeholder="请输入宠物毛色" />
<el-input v-model="form.petColor" :disabled="!isEdit" maxlength="20" placeholder="请输入宠物毛色"/>
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -159,7 +160,7 @@
<el-row v-if="isEdit && !showPetInfo" :gutter="41">
<el-col :span="8">
<el-form-item label="宠主手机号:" prop="masterPhone">
<el-input v-model="form.masterPhone" :disabled="!isEdit" maxlength="11" @blur="checkOwner" />
<el-input v-model="form.masterPhone" :disabled="!isEdit" maxlength="11" @blur="checkOwner"/>
</el-form-item>
</el-col>
</el-row>
......@@ -208,18 +209,19 @@
</el-form>
<!--进度信息-->
<schedule-info />
<schedule-info/>
<!-- 医生卡片-->
<doctor-card @doctorDetail="handleDoctor" @registration="handleRegister" />
<doctor-card @doctorDetail="handleDoctor" @registration="handleRegister"/>
<!-- 宠物选择弹框-->
<choose-pet :is-show="showPetModle" @petChoose="petChoose" @petModleClose="closePetModle" />
<choose-pet :is-show="showPetModle" @petChoose="petChoose" @petModleClose="closePetModle"/>
<!-- 医生详情弹出框 -->
<doctor-detail :doctor-id="doctorId" :is-show="showDoctorModle" @doctorModleClose="closeDoctorModle" />
<doctor-detail :doctor-id="doctorId" :is-show="showDoctorModle" @doctorModleClose="closeDoctorModle"/>
<!-- 挂号/加号弹出框-->
<register-modle
:doctor-form="test"
:doctor-id="doctorIdNd"
:is-show="showRegistrationModle"
:pet-form="petForm"
:registration-type="registrationType"
:single-doctor="singleDoctor"
@registerModleClose="closeRegisterModle"
......@@ -253,12 +255,19 @@ export default {
},
data() {
return {
// 宠物出生日期校验
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now()
}
},
test: {},
singleDoctor: {}, // 单个医生信息
showPetInfo: false, // 回显宠主详细信息
doctorId: '', // 医生id用来获取详情等信息(详情)
// 医生id用来获取详情等信息(挂号+加号)
doctorIdNd: '',
petForm: '',
registrationType: 'usual', // 挂号/加号
isEdit: false, // 表单是否可编辑 默认不可编辑
statusList: [
......@@ -343,6 +352,8 @@ export default {
checkOwner() {
checkPetOwner({ phone: this.form.masterPhone }).then(response => {
const data = response.data
console.log('这是你家吗,大姐', data)
this.petForm = data
const temp = {
// 宠主信息开始
nickName: data.nickName,
......
......@@ -414,7 +414,7 @@ color: #333333;"
<el-col :span="24">
<el-form-item label="主诉">
<el-input
v-model="visitList.mainSuit"
v-model="visitForm.mainSuit"
maxlength="400"
placeholder="请输入患者主诉"
type="textarea"
......@@ -424,7 +424,7 @@ color: #333333;"
<el-col :span="24">
<el-form-item label="医嘱">
<el-input
v-model="visitList.doctorAdvice"
v-model="visitForm.doctorAdvice"
maxlength="200"
placeholder="请输入医嘱"
type="textarea"
......@@ -433,7 +433,7 @@ color: #333333;"
</el-col>
<el-col :span="24">
<el-form-item label="诊断结果">
<el-input v-model="visitList.diagnosisResult" maxlength="30" placeholder="请输入诊断结果" />
<el-input v-model="visitForm.diagnosisResult" maxlength="30" placeholder="请输入诊断结果" />
</el-form-item>
</el-col>
<el-col :span="24">
......@@ -453,9 +453,15 @@ color: #333333;"
</div>
</div>
<!-- 开具处方弹出框-->
<prescribing-modle :is-show="showPrescribing" :register-form="registerForm" />
<prescribing-modle
:is-show="showPrescribing"
:visit-form="visitForm"
:register-form="openForm"
@prescrib-close="prescribClose"
/>
</div>
<!--底部返回按钮-->
<el-button class="queryBtn" icon="el-icon-check" @click="submitForm">提 交</el-button>
<el-button class="backBth" icon="el-icon-back" @click="goBack">返 回</el-button>
</el-form>
</div>
......@@ -470,6 +476,7 @@ import { getRegister, queryPrescribing } from '@/api/business/register'
import scheduleInfo from '@/views/service-management/registration-queue/components/schedule-info'
import prescribingModle from '@/views/service-management/registration-queue/components/prescribing-modle'
import { insertDiagnosis } from '@/api/business/registration'
export default {
name: 'RegistrationDetail',
......@@ -482,10 +489,10 @@ export default {
data() {
return {
// 挂号处方信息传值
registerForm: {},
openForm: {},
regiterForm: {},
// 就诊信息模块
visitList: {},
visitForm: {},
// 开具处方弹出框
showPrescribing: false,
// 状态下拉框
......@@ -611,6 +618,60 @@ export default {
this.getInfo(this.$route.params.id)
},
methods: {
prescribClose() {
this.showPrescribing = false
},
// 提交表单
submitForm() {
const temp = {
'id': this.regiterForm.medicalRecordId,
'medicalRecordNo': this.regiterForm.medicalRecordNo,
'registId': this.regiterForm.id,
'petsId': this.regiterForm.petsId,
'petOwnersId': this.regiterForm.petOwnersId,
'petOwnersName': this.regiterForm.petOwnersName,
'petOwnersPhone': this.regiterForm.petOwnersPhone,
'petNickname': this.regiterForm.petNickname,
'petBreed': this.regiterForm.petBreed,
'petSex': this.regiterForm.petSex,
'petAge': this.regiterForm.petAge,
'petWeight': this.regiterForm.petWeight,
'petColor': this.regiterForm.petColor,
'sterilizationStatus': this.regiterForm.sterilizationStatus,
'vaccineSituation': this.regiterForm.vaccineSituation,
'insure': this.regiterForm.insure,
'doctorId': this.regiterForm.doctorId,
'userId': this.regiterForm.userId,
'doctorName': this.regiterForm.doctorName,
'hospitalId': this.regiterForm.hospitalId,
'hospitalName': this.regiterForm.hospitalName,
'hospitalDepartmentId': this.regiterForm.hospitalDepartmentId,
'hospitalDepartmentName': this.regiterForm.hospitalDepartmentName,
'doctorPhone': this.regiterForm.doctorPhone,
'visitWay': this.regiterForm.visitWay,
'firstVisit': this.regiterForm.firstVisit,
'petPicture': this.regiterForm.petPicture,
'delFlag': this.regiterForm.delFlag,
'doctorSignatureUrl': this.regiterForm.doctorSignatureUrl,
'visitLocation': this.regiterForm.visitLocation,
'doctorTitleLabel': this.regiterForm.doctorTitleLabel,
'mainSuit': this.visitForm.mainSuit,
'doctorAdvice': this.visitForm.doctorAdvice,
'diagnosisResult': this.visitForm.diagnosisResult,
'registTime': this.regiterForm.registrationTime,
'diagnosisTime': this.regiterForm.diagnosisTime,
'petBirthday': this.regiterForm.petBirthday,
}
console.log('表单参数2333', temp)
// insertDiagnosis(temp).then(res => {
// console.log(res)
// if (res.code === 200) {
// this.$message.success('提交成功')
// this.goBack()
// }
// })
},
parseTime,
selectDictLabel,
checkRole,
......@@ -619,14 +680,12 @@ export default {
*/
prescribing() {
this.showPrescribing = true
const temp = {
data: this.regiterForm,
besides: this.visitList
}
queryPrescribing(temp).then(response => {
console.log('这是弹窗需要的父组件传的信息:', temp)
console.log('这是弹窗需要的父组件传的信息:', this.regiterForm)
queryPrescribing(this.regiterForm).then(response => {
console.log('这是弹窗需要的父组件传的信息:', this.regiterForm)
console.log('重要!!!!!:', response)
this.registerForm = response.data
this.openForm = response.data
this.regiterForm['medicalRecordNo'] = response.data.medicalRecordNo
})
},
/**
......
......@@ -104,8 +104,8 @@
<el-steps :active="schedule" align-center>
<el-step title="开具处方单" :description="checkDetail.createTime" />
<el-step title="缴费开票" :description="checkDetail.payTime || '暂未缴费'" />
<el-step title="预约检查" :description="checkDetail.checkStartTime || '暂未预约'" />
<el-step title="检查获取报告" :description="checkDetail.reportTime || '暂未检查'" />
<el-step title="分配诊室" :description="checkDetail.treatStartTime || '暂未预约'" />
<el-step title="治疗" :description="checkDetail.reportTime || '暂未检查'" />
</el-steps>
</div>
<div class="title-paragraph">
......@@ -152,7 +152,7 @@
</el-row>
<el-row v-show="checkDetail.checkSchedule < 2" style="position: relative;left: 42px;">
<el-col :span="8">
暂未预约
暂未分配
</el-col>
</el-row>
<div>
......
......@@ -7,7 +7,7 @@
font-family: Microsoft YaHei-Bold, Microsoft YaHei,serif;
font-weight: bold;
color: #333333;"
>检查项目</span>
>治疗项目</span>
</div>
<el-form ref="form" label-width="110px" :model="form" :rules="rules">
<!-- 检查项目可以添加n个,所以for循环 -->
......@@ -49,19 +49,19 @@
<el-col :span="8">
<el-form-item
:ref="'settingList.'+index+'.type'"
label="检查类型:"
label="治疗类型:"
:prop="'settingList.'+index+'.type'"
:rules="[
{ required: true, message: '请选择检查类型', trigger: 'change' }
{ required: true, message: '请选择治疗类型', trigger: 'change' }
]"
>
<el-select
v-model="item.type"
style="width: 100%"
placeholder="请选择检查类型"
placeholder="请选择治疗类型"
>
<el-option
v-for="items in dict.type.exam_type"
v-for="items in dict.type.treat_type"
:key="items.value"
:label="items.label"
:value="items.value"
......@@ -81,8 +81,11 @@
<el-input-number
v-model="item.price"
:min="0"
:max="9999.99"
style="width: 70%"
placeholder="0.00"
:precision="2"
controls-position="right"
style="width: 240px"
/>
</el-form-item>
......@@ -191,7 +194,7 @@ import { delItem, listItem, updateItem } from '@/api/business/item'
export default {
name: 'CheckItem',
dicts: ['exam_type'],
dicts: ['exam_type', 'treat_type'],
data() {
return {
// 表单内容
......@@ -205,7 +208,7 @@ export default {
sort: '',
status: '1',
content: '',
itemType: '0' // 用于判断是检查的项目
itemType: '1' // 用于判断是治疗的项目
}
]
},
......@@ -230,7 +233,7 @@ export default {
methods: {
/** 获取数据 */
getList() {
listItem().then(response => {
listItem({ itemType: '1' }).then(response => {
if (response.code === 200) {
console.log('aaa', response)
if (response.rows.length > 0) {
......@@ -244,7 +247,7 @@ export default {
sort: '',
status: '1',
content: '',
itemType: '0'
itemType: '1'
}]
}
}
......@@ -327,7 +330,7 @@ export default {
sort: '',
status: '1',
content: '',
itemType: '0'
itemType: '1'
})
},
// 提交
......
......@@ -71,7 +71,7 @@
<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" :data="treatmentList" @selection-change="handleSelectionChange" border>
<el-table v-loading="loading" :data="treatmentList" border @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" type="index" align="center" />
<el-table-column label="治疗项目" align="center" :show-overflow-tooltip="true" prop="treatItemsName">
......@@ -124,12 +124,11 @@
</el-table-column>
<el-table-column label="缴费状态" align="center" :show-overflow-tooltip="true" prop="payType">
<template slot-scope="scope">
<dict-tag v-if="scope.row.payType" :options="dict.type.pet_insure" :value="scope.row.payType"/>
<dict-tag v-if="scope.row.payType" :options="dict.type.pet_insure" :value="scope.row.payType" />
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column label="治疗状态" align="center" :show-overflow-tooltip="true" prop="reportTime">
</el-table-column>
<el-table-column label="治疗状态" align="center" :show-overflow-tooltip="true" prop="reportTime" />
<el-table-column label="治疗日期" align="center" :show-overflow-tooltip="true" prop="treatStartTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.checkStartTime, '{y}-{m}-{d}') || '-' }}</span>
......@@ -149,9 +148,18 @@
@click="handleDetails(scope.row)"
>详情</el-button>
<el-button
v-if="scope.row.payType==='1'||scope.row.payType==='2'"
class="bookNow"
size="mini"
icon="el-icon-check"
icon="el-icon-orange"
@click="handleSubscribe(scope.row)"
>分配诊室</el-button>
<el-button
v-if="scope.row.payType==='0'"
class="bookNowNo"
size="mini"
icon="el-icon-orange"
disabled="true"
@click="handleSubscribe(scope.row)"
>分配诊室</el-button>
</template>
......@@ -191,15 +199,16 @@
<el-date-picker
v-model="form.jiancha"
type="date"
placeholder="请选择治疗日期">
</el-date-picker>
placeholder="请选择治疗日期"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
:data="deviceList"
style="width: 100%">
style="width: 100%"
>
<el-table-column prop="date" align="left" label="诊室名称" />
<el-table-column prop="date" align="left" label="治疗日期" />
<el-table-column prop="date" align="left" label="治疗时段" />
......@@ -210,11 +219,11 @@
<div class="tip1" />
<div style="padding-top: 3px;padding-left: 18px;color: #666666; font-weight: 500; font-size: 16px;">添加预约</div>
</div>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form ref="treatTimeForm" :model="treatTimeList" :rules="treatTimerules" label-width="80px">
<el-row>
<el-col :span="8">
<el-form-item label="诊室" prop="registId">
<el-select v-model="form.shebei" clearable placeholder="请选择诊室">
<el-form-item label="诊室" prop="consultRoomId">
<el-select v-model="treatTimeList.consultRoomId" clearable placeholder="请选择诊室">
<el-option
v-for="item in dict.type.exam_type"
:key="item.value"
......@@ -225,35 +234,50 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="治疗日期" prop="checkItemsId">
<el-form-item label="治疗日期" prop="treatDate">
<el-date-picker
v-model="form.jiancha"
v-model="treatTimeList.treatDate"
type="date"
placeholder="请选择治疗日期">
</el-date-picker>
:picker-options="pickerOptions"
:disabled-date="disabledDate"
placeholder="请选择治疗日期"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="开始时间" prop="registId">
<el-select v-model="form.shebei" clearable placeholder="请选择诊室">
<el-option
v-for="item in dict.type.exam_type"
:key="item.value"
:label="item.label"
:value="item.value"
<el-form-item label="开始时间" prop="sTime">
<el-time-select
v-model="treatTimeList.sTime"
is-range
placeholder="请选择开始时间"
format="HH:mm"
value-format="HH:mm"
:picker-options="{
start: '00:00',
step: '01:00',
end: '12:00',
maxTime:treatTimeList.eTime
}"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="结束时间" prop="checkItemsId">
<el-date-picker
v-model="form.jiancha"
type="date"
placeholder="请选择治疗日期">
</el-date-picker>
<el-form-item label="结束时间" prop="eTime">
<el-time-select
v-model="treatTimeList.eTime"
is-range
placeholder="请选择结束时间"
format="HH:mm"
value-format="HH:mm"
:picker-options="{
start: '00:00',
step: '01:00',
end: '12:00',
minTime:treatTimeList.sTime
}"
/>
</el-form-item>
</el-col>
</el-row>
......@@ -269,14 +293,30 @@
</template>
<script>
import { getManage, delManage, addManage, updateManage, listCheckManage } from '@/api/business/manage'
import { getManage, delManage, addManage, updateManage } from '@/api/business/manage'
import { listReservationDevice } from '@/api/business/device'
import { consultRoomListAll } from '@/api/business/treatment'
export default {
name: 'MedicalRecordManagement',
dicts: ['exam_type', 'check_type', 'pet_insure', 'payment_status'],
data() {
return {
// 诊室下拉框
consultingName: [],
// 预约诊室限制日期
pickerOptions: {
disabledDate: time => {
return time.getTime() < Date.now() - 8.64e7 // 禁用今天以前的日期
}
},
// 治疗日期
treatTimeList: {
consultRoomId: '',
treatDate: '',
sTime: '',
eTime: ''
},
options: [],
// 遮罩层
loading: true,
......@@ -291,9 +331,14 @@ export default {
// 总条数
total: 0,
// 业务管理-检查管理表格数据
treatmentList: [{
treatItemsName: '111'
}],
treatmentList: [
{
treatItemsName: '111', payType: '0'
},
{
treatItemsName: '111', payType: '1'
}
],
// 是否显示弹出层
open: false,
// 查询参数
......@@ -318,8 +363,18 @@ export default {
},
created() {
this.getList()
this.getConsultList()
},
methods: {
// 获取诊室下拉框
getConsultList() {
consultRoomListAll({ status: '0' }).then(res => {
console.log('诊室', res)
})
},
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7 // 禁用今天以前的日期
},
/** 查询业务管理-检查管理列表 */
getList() {
this.loading = false
......@@ -460,7 +515,7 @@ export default {
border-radius: 6px 6px 6px 6px;
border: 1px solid rgb(255, 157, 78);
color: #FF9D4E;
background: rgba(255,157,78,0.08);
background: rgba(255, 157, 78, 0.08);
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
&:hover {
background: rgba(95, 181, 75, 0.08);
......@@ -469,6 +524,20 @@ export default {
color: #FF9D4E !important;
}
}
.bookNowNo {
width: 80px;
border-radius: 6px 6px 6px 6px;
border: 1px solid #909399;
color: #909399;
background: #ffffff;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
&:hover {
background: rgba(95, 181, 75, 0.08);
opacity: 1;
border: 1px solid #909399;
color: #909399 !important;
}
}
.app-container {
background-color: #FFFFFF;
}
......
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