Commit 89dee7cd authored by v_liuhuaizhi's avatar v_liuhuaizhi

Merge remote-tracking branch 'origin/master'

parents 3504ff16 2bd70be3
...@@ -72,6 +72,16 @@ export function listDeviceAll(query) { ...@@ -72,6 +72,16 @@ export function listDeviceAll(query) {
params: query params: query
}) })
} }
// 查询设备列表用于检查管理-立即预约(没有分页)
export function deviceUseInSubscribeList(query) {
return request({
url: '/business/device/deviceUseInSubscribe',
method: 'get',
params: query
})
}
// 查询设备详细 // 查询设备详细
export function getDevice(id) { export function getDevice(id) {
return request({ return request({
......
...@@ -9,6 +9,15 @@ export function listItem(query) { ...@@ -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) { export function getItem(id) {
return request({ return request({
......
import request from '@/utils/request'
// 查询治疗/检查项目管理列表
export function consultRoomListAll(query) {
return request({
url: '/system/room/listAll',
method: 'get',
params: query
})
}
...@@ -230,7 +230,7 @@ export default { ...@@ -230,7 +230,7 @@ export default {
methods: { methods: {
/** 获取数据 */ /** 获取数据 */
getList() { getList() {
listItem().then(response => { listItem({ itemType: '0' }).then(response => {
if (response.code === 200) { if (response.code === 200) {
console.log('aaa', response) console.log('aaa', response)
if (response.rows.length > 0) { if (response.rows.length > 0) {
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item prop="checkType"> <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 <el-option
v-for="item in checkTypeOptions" v-for="item in checkTypeOptions"
:key="item.value" :key="item.value"
...@@ -19,12 +19,12 @@ ...@@ -19,12 +19,12 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="checkName"> <el-form-item prop="checkName">
<el-select v-model="queryParams.checkName" clearable placeholder="检查项目"> <el-select v-model="queryParams.checkName" :disabled="queryParams.checkType === null || queryParams.checkType === ''" clearable placeholder="检查项目">
<el-option <el-option
v-for="item in options" v-for="item in checkItemOptions"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -168,13 +168,13 @@ ...@@ -168,13 +168,13 @@
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="设备" prop="registId"> <el-form-item label="设备">
<el-select v-model="form.shebei" clearable placeholder="请选择设备" @change="changeDeviceName"> <el-select v-model="form.equipmentIdList" multiple collapse-tags clearable placeholder="请选择设备" @change="changeDeviceName">
<el-option <el-option
v-for="item in dict.type.exam_type" v-for="item in selectableDevice"
:key="item.value" :key="item.id"
:label="item.label" :label="item.deviceName"
:value="item.value" :value="item.id"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -182,10 +182,13 @@ ...@@ -182,10 +182,13 @@
<el-col :span="9"> <el-col :span="9">
<el-form-item label="检查日期" prop="checkItemsId"> <el-form-item label="检查日期" prop="checkItemsId">
<el-date-picker <el-date-picker
v-model="form.jiancha" v-model="form.checkDate"
type="date" type="date"
placeholder="请选择检查日期"> @change="changeDate"
</el-date-picker> placeholder="请选择检查日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="7"> <el-col :span="7">
...@@ -209,7 +212,7 @@ ...@@ -209,7 +212,7 @@
class="fourWordsBtn" class="fourWordsBtn"
size="mini" size="mini"
@click="handleSubscribeDevice(scope.row)" @click="handleSubscribeDevice(scope.row)"
></el-button> >立即预约</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -230,7 +233,8 @@ ...@@ -230,7 +233,8 @@
<script> <script>
import { getManage, delManage, addManage, updateManage, listCheckManage } from '@/api/business/manage' 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'
export default { export default {
name: 'MedicalRecordManagement', name: 'MedicalRecordManagement',
...@@ -299,11 +303,16 @@ export default { ...@@ -299,11 +303,16 @@ export default {
deviceQueryParams: { deviceQueryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
reservationTime: null, reservationTime: null, // 检查日期(默认当前日期)
isPrivate: null isPrivate: null, // 检查类型(0-外部、1医院)
checkTypeList: [], // 检查项目ID(String[])
deviceIdList: [] // 设备(Long[])
}, },
// 表单参数 // 表单参数
form: {}, form: {
equipmentIdList: [], // 设备下拉框选择的设备ID集合
checkDate: null // 检查日期
},
// 表单校验 // 表单校验
rules: { rules: {
}, },
...@@ -323,7 +332,11 @@ export default { ...@@ -323,7 +332,11 @@ export default {
value: '2', value: '2',
label: '预约外部服务' label: '预约外部服务'
} }
] ],
// 检查项目下拉框
checkItemOptions: [],
// 设备下拉框
selectableDevice: []
} }
}, },
created() { created() {
...@@ -341,10 +354,43 @@ export default { ...@@ -341,10 +354,43 @@ export default {
this.loading = false 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() { getAllDevice() {
listDeviceAll().then(res => { deviceUseInSubscribeList({ isPrivate: '1' }).then(res => {
console.log('设备下拉框', res) console.log('设备下拉框', res)
this.selectableDevice = res.data
}) })
}, },
// 取消按钮 // 取消按钮
...@@ -360,6 +406,9 @@ export default { ...@@ -360,6 +406,9 @@ export default {
}, },
// 设备选择下拉框触发 // 设备选择下拉框触发
changeDeviceName() { changeDeviceName() {
console.log('lalalalala', this.form.equipmentIdList)
this.deviceQueryParams.deviceIdList = this.form.equipmentIdList
this.getDevice()
}, },
// 选择排序方式触发的回调函数 // 选择排序方式触发的回调函数
handleSort(val) { handleSort(val) {
...@@ -384,21 +433,32 @@ export default { ...@@ -384,21 +433,32 @@ export default {
handleSubscribe(row) { handleSubscribe(row) {
this.open = true this.open = true
console.log('点击立即预约', row) console.log('点击立即预约', row)
// 设置检查类型 // 设置检查类型(固定死,即在点击立即预约时就不变了)
if (row.checkType === '2') { if (row.checkType === '2') {
this.deviceQueryParams.isPrivate = '0' this.deviceQueryParams.isPrivate = '0'
} else if (row.checkType === '0') { } else if (row.checkType === '0') {
this.deviceQueryParams.isPrivate = '1' this.deviceQueryParams.isPrivate = '1'
} }
this.deviceQueryParams.checkTypeList.push(row.checkItemsId)
this.deviceQueryParams.checkTypeList = [...new Set(this.deviceQueryParams.checkTypeList)]
this.deviceQueryParams.reservationTime = this.getCurrentTime()
console.log('点击立即预约后的状态', this.deviceQueryParams)
// 设置检查项目id // 设置检查项目id
this.getDevice() 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() {
}, },
/** 获取设备列表 */ /** 获取设备列表 */
getDevice() { getDevice() {
this.deviceQueryParams.reservationTime = '2023-06-15'
listReservationDevice(this.deviceQueryParams).then(res => { listReservationDevice(this.deviceQueryParams).then(res => {
console.log('设备', res) console.log('设备', res)
this.deviceList = res.rows.table this.deviceList = res.rows.table
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
> >
<el-form ref="queryForm" :inline="true" :model="queryParams" label-width="100px" size="small"> <el-form ref="queryForm" :inline="true" :model="queryParams" label-width="100px" size="small">
<el-form-item label="主治兽医:" prop="petNickname"> <el-form-item label="主治兽医:" prop="petNickname">
<el-input v-model="queryParams.mainDoctor" /> <el-input v-model="queryParams.mainDoctor"/>
</el-form-item> </el-form-item>
<el-form-item label="是否首诊:" prop="petSex"> <el-form-item label="是否首诊:" prop="petSex">
<el-select <el-select
...@@ -43,9 +43,9 @@ ...@@ -43,9 +43,9 @@
<span>{{ parseTime(scope.row.workDate, '{y}/{m}/{d}') }}</span> <span>{{ parseTime(scope.row.workDate, '{y}/{m}/{d}') }}</span>
</template> </template>
</el-table-column> </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="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="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="residueCount" show-overflow-tooltip/>
<el-table-column <el-table-column
align="center" align="center"
label="门诊诊查费" label="门诊诊查费"
...@@ -81,7 +81,8 @@ ...@@ -81,7 +81,8 @@
</template> </template>
<script> <script>
import { addRegister, timeRegister } from '@/api/business/register' import { addRegister, checkPet, timeRegister } from '@/api/business/register'
import { parseTime } from '@/utils/ruoyi'
export default { export default {
name: 'RegisterModle', name: 'RegisterModle',
...@@ -102,6 +103,10 @@ export default { ...@@ -102,6 +103,10 @@ export default {
doctorForm: { doctorForm: {
type: Object type: Object
}, },
// 父级调手机号查宠主信息--获取宠物列表
petForm: {
type: Object
},
// 医生选择 // 医生选择
doctorChoose: { doctorChoose: {
type: Object type: Object
...@@ -148,6 +153,7 @@ export default { ...@@ -148,6 +153,7 @@ export default {
} }
}, },
methods: { methods: {
parseTime,
// 获取相应id的医生详情 // 获取相应id的医生详情
getRegisterMsg() { getRegisterMsg() {
console.log('HHHHHHHHHHHHHHHUUUUUUUUUUUUUUUUUU', this.doctorId, this.currentPage, this.registrationType) console.log('HHHHHHHHHHHHHHHUUUUUUUUUUUUUUUUUU', this.doctorId, this.currentPage, this.registrationType)
...@@ -166,8 +172,11 @@ export default { ...@@ -166,8 +172,11 @@ export default {
console.log('这是弹窗本身的行信息:', data) console.log('这是弹窗本身的行信息:', data)
console.log('这是宠物宠主本身的信息:', this.doctorForm) console.log('这是宠物宠主本身的信息:', this.doctorForm)
console.log('这是当日挂号列表信息 :', this.singleDoctor) console.log('这是当日挂号列表信息 :', this.singleDoctor)
console.log('这就是被父级传过来的宠主和名下宠物列表信息:', this.petForm)
// 进度 // 进度
const temp = { const temp = {
// 给接口所需的宠物赋值
petOwnerBo: this.petForm,
type: this.registrationType, type: this.registrationType,
// 宠物宠主本身的信息 // 宠物宠主本身的信息
petsId: null, petsId: null,
...@@ -216,13 +225,32 @@ export default { ...@@ -216,13 +225,32 @@ export default {
doctorTitleLabel: this.singleDoctor.doctorTitleValue doctorTitleLabel: this.singleDoctor.doctorTitleValue
} }
console.log('终极大表', temp) 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 => { addRegister(temp).then(response => {
console.log('这是确认不存在后调用新增挂号的数据返参', response)
this.$message({ this.$message({
type: 'success', type: 'success',
message: '预约成功!' message: '预约成功!'
}) })
this.$emit('registerModleClose', false) this.$emit('registerModleClose', false)
}) })
}
})
}, },
submit() { submit() {
...@@ -243,7 +271,6 @@ export default { ...@@ -243,7 +271,6 @@ export default {
/** 功能按钮--重置按钮操作 */ /** 功能按钮--重置按钮操作 */
resetQuery() { resetQuery() {
this.daterangeCreateTime = [] this.daterangeCreateTime = []
this.daterangeUpdateTime = []
this.resetForm('queryForm') this.resetForm('queryForm')
this.handleQuery() this.handleQuery()
}, },
......
...@@ -26,12 +26,12 @@ ...@@ -26,12 +26,12 @@
<el-row :gutter="41"> <el-row :gutter="41">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="宠物ID:" prop="petsId"> <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-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="宠物昵称:" prop="petNickname"> <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-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
...@@ -75,6 +75,7 @@ ...@@ -75,6 +75,7 @@
<el-date-picker <el-date-picker
v-model="form.petBirthday" v-model="form.petBirthday"
:disabled="!isEdit" :disabled="!isEdit"
:picker-options="pickerOptions"
clearable clearable
placeholder="请选择宠物生日" placeholder="请选择宠物生日"
type="date" type="date"
...@@ -93,7 +94,7 @@ ...@@ -93,7 +94,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="宠物毛色:" prop="petColor"> <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-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
...@@ -159,7 +160,7 @@ ...@@ -159,7 +160,7 @@
<el-row v-if="isEdit && !showPetInfo" :gutter="41"> <el-row v-if="isEdit && !showPetInfo" :gutter="41">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="宠主手机号:" prop="masterPhone"> <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-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -208,18 +209,19 @@ ...@@ -208,18 +209,19 @@
</el-form> </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 <register-modle
:doctor-form="test" :doctor-form="test"
:doctor-id="doctorIdNd" :doctor-id="doctorIdNd"
:is-show="showRegistrationModle" :is-show="showRegistrationModle"
:pet-form="petForm"
:registration-type="registrationType" :registration-type="registrationType"
:single-doctor="singleDoctor" :single-doctor="singleDoctor"
@registerModleClose="closeRegisterModle" @registerModleClose="closeRegisterModle"
...@@ -253,12 +255,19 @@ export default { ...@@ -253,12 +255,19 @@ export default {
}, },
data() { data() {
return { return {
// 宠物出生日期校验
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now()
}
},
test: {}, test: {},
singleDoctor: {}, // 单个医生信息 singleDoctor: {}, // 单个医生信息
showPetInfo: false, // 回显宠主详细信息 showPetInfo: false, // 回显宠主详细信息
doctorId: '', // 医生id用来获取详情等信息(详情) doctorId: '', // 医生id用来获取详情等信息(详情)
// 医生id用来获取详情等信息(挂号+加号) // 医生id用来获取详情等信息(挂号+加号)
doctorIdNd: '', doctorIdNd: '',
petForm: '',
registrationType: 'usual', // 挂号/加号 registrationType: 'usual', // 挂号/加号
isEdit: false, // 表单是否可编辑 默认不可编辑 isEdit: false, // 表单是否可编辑 默认不可编辑
statusList: [ statusList: [
...@@ -343,6 +352,8 @@ export default { ...@@ -343,6 +352,8 @@ export default {
checkOwner() { checkOwner() {
checkPetOwner({ phone: this.form.masterPhone }).then(response => { checkPetOwner({ phone: this.form.masterPhone }).then(response => {
const data = response.data const data = response.data
console.log('这是你家吗,大姐', data)
this.petForm = data
const temp = { const temp = {
// 宠主信息开始 // 宠主信息开始
nickName: data.nickName, nickName: data.nickName,
......
...@@ -104,8 +104,8 @@ ...@@ -104,8 +104,8 @@
<el-steps :active="schedule" align-center> <el-steps :active="schedule" align-center>
<el-step title="开具处方单" :description="checkDetail.createTime" /> <el-step title="开具处方单" :description="checkDetail.createTime" />
<el-step title="缴费开票" :description="checkDetail.payTime || '暂未缴费'" /> <el-step title="缴费开票" :description="checkDetail.payTime || '暂未缴费'" />
<el-step title="预约检查" :description="checkDetail.checkStartTime || '暂未预约'" /> <el-step title="分配诊室" :description="checkDetail.treatStartTime || '暂未预约'" />
<el-step title="检查获取报告" :description="checkDetail.reportTime || '暂未检查'" /> <el-step title="治疗" :description="checkDetail.reportTime || '暂未检查'" />
</el-steps> </el-steps>
</div> </div>
<div class="title-paragraph"> <div class="title-paragraph">
...@@ -152,7 +152,7 @@ ...@@ -152,7 +152,7 @@
</el-row> </el-row>
<el-row v-show="checkDetail.checkSchedule < 2" style="position: relative;left: 42px;"> <el-row v-show="checkDetail.checkSchedule < 2" style="position: relative;left: 42px;">
<el-col :span="8"> <el-col :span="8">
暂未预约 暂未分配
</el-col> </el-col>
</el-row> </el-row>
<div> <div>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
font-family: Microsoft YaHei-Bold, Microsoft YaHei,serif; font-family: Microsoft YaHei-Bold, Microsoft YaHei,serif;
font-weight: bold; font-weight: bold;
color: #333333;" color: #333333;"
>检查项目</span> >治疗项目</span>
</div> </div>
<el-form ref="form" label-width="110px" :model="form" :rules="rules"> <el-form ref="form" label-width="110px" :model="form" :rules="rules">
<!-- 检查项目可以添加n个,所以for循环 --> <!-- 检查项目可以添加n个,所以for循环 -->
...@@ -49,19 +49,19 @@ ...@@ -49,19 +49,19 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item <el-form-item
:ref="'settingList.'+index+'.type'" :ref="'settingList.'+index+'.type'"
label="检查类型:" label="治疗类型:"
:prop="'settingList.'+index+'.type'" :prop="'settingList.'+index+'.type'"
:rules="[ :rules="[
{ required: true, message: '请选择检查类型', trigger: 'change' } { required: true, message: '请选择治疗类型', trigger: 'change' }
]" ]"
> >
<el-select <el-select
v-model="item.type" v-model="item.type"
style="width: 100%" style="width: 100%"
placeholder="请选择检查类型" placeholder="请选择治疗类型"
> >
<el-option <el-option
v-for="items in dict.type.exam_type" v-for="items in dict.type.treat_type"
:key="items.value" :key="items.value"
:label="items.label" :label="items.label"
:value="items.value" :value="items.value"
...@@ -81,8 +81,11 @@ ...@@ -81,8 +81,11 @@
<el-input-number <el-input-number
v-model="item.price" v-model="item.price"
:min="0" :min="0"
:max="9999.99"
style="width: 70%"
placeholder="0.00"
:precision="2"
controls-position="right" controls-position="right"
style="width: 240px"
/> />
</el-form-item> </el-form-item>
...@@ -191,7 +194,7 @@ import { delItem, listItem, updateItem } from '@/api/business/item' ...@@ -191,7 +194,7 @@ import { delItem, listItem, updateItem } from '@/api/business/item'
export default { export default {
name: 'CheckItem', name: 'CheckItem',
dicts: ['exam_type'], dicts: ['exam_type', 'treat_type'],
data() { data() {
return { return {
// 表单内容 // 表单内容
...@@ -205,7 +208,7 @@ export default { ...@@ -205,7 +208,7 @@ export default {
sort: '', sort: '',
status: '1', status: '1',
content: '', content: '',
itemType: '0' // 用于判断是检查的项目 itemType: '1' // 用于判断是治疗的项目
} }
] ]
}, },
...@@ -230,7 +233,7 @@ export default { ...@@ -230,7 +233,7 @@ export default {
methods: { methods: {
/** 获取数据 */ /** 获取数据 */
getList() { getList() {
listItem().then(response => { listItem({ itemType: '1' }).then(response => {
if (response.code === 200) { if (response.code === 200) {
console.log('aaa', response) console.log('aaa', response)
if (response.rows.length > 0) { if (response.rows.length > 0) {
...@@ -244,7 +247,7 @@ export default { ...@@ -244,7 +247,7 @@ export default {
sort: '', sort: '',
status: '1', status: '1',
content: '', content: '',
itemType: '0' itemType: '1'
}] }]
} }
} }
...@@ -327,7 +330,7 @@ export default { ...@@ -327,7 +330,7 @@ export default {
sort: '', sort: '',
status: '1', status: '1',
content: '', content: '',
itemType: '0' itemType: '1'
}) })
}, },
// 提交 // 提交
......
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
<el-button style="position: relative; float: right;" class="queryBtn" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button> <el-button style="position: relative; float: right;" class="queryBtn" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
</el-row> </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 type="selection" width="55" align="center" />
<el-table-column label="序号" type="index" align="center" /> <el-table-column label="序号" type="index" align="center" />
<el-table-column label="治疗项目" align="center" :show-overflow-tooltip="true" prop="treatItemsName"> <el-table-column label="治疗项目" align="center" :show-overflow-tooltip="true" prop="treatItemsName">
...@@ -124,12 +124,11 @@ ...@@ -124,12 +124,11 @@
</el-table-column> </el-table-column>
<el-table-column label="缴费状态" align="center" :show-overflow-tooltip="true" prop="payType"> <el-table-column label="缴费状态" align="center" :show-overflow-tooltip="true" prop="payType">
<template slot-scope="scope"> <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> <span v-else>-</span>
</template> </template>
</el-table-column> </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="reportTime" />
</el-table-column>
<el-table-column label="治疗日期" align="center" :show-overflow-tooltip="true" prop="treatStartTime"> <el-table-column label="治疗日期" align="center" :show-overflow-tooltip="true" prop="treatStartTime">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.checkStartTime, '{y}-{m}-{d}') || '-' }}</span> <span>{{ parseTime(scope.row.checkStartTime, '{y}-{m}-{d}') || '-' }}</span>
...@@ -149,9 +148,18 @@ ...@@ -149,9 +148,18 @@
@click="handleDetails(scope.row)" @click="handleDetails(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-if="scope.row.payType==='1'||scope.row.payType==='2'"
class="bookNow" class="bookNow"
size="mini" 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)" @click="handleSubscribe(scope.row)"
>分配诊室</el-button> >分配诊室</el-button>
</template> </template>
...@@ -191,15 +199,16 @@ ...@@ -191,15 +199,16 @@
<el-date-picker <el-date-picker
v-model="form.jiancha" v-model="form.jiancha"
type="date" type="date"
placeholder="请选择治疗日期"> placeholder="请选择治疗日期"
</el-date-picker> />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<el-table <el-table
:data="deviceList" :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="治疗日期" /> <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 @@ ...@@ -210,11 +219,11 @@
<div class="tip1" /> <div class="tip1" />
<div style="padding-top: 3px;padding-left: 18px;color: #666666; font-weight: 500; font-size: 16px;">添加预约</div> <div style="padding-top: 3px;padding-left: 18px;color: #666666; font-weight: 500; font-size: 16px;">添加预约</div>
</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-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="诊室" prop="registId"> <el-form-item label="诊室" prop="consultRoomId">
<el-select v-model="form.shebei" clearable placeholder="请选择诊室"> <el-select v-model="treatTimeList.consultRoomId" clearable placeholder="请选择诊室">
<el-option <el-option
v-for="item in dict.type.exam_type" v-for="item in dict.type.exam_type"
:key="item.value" :key="item.value"
...@@ -225,35 +234,50 @@ ...@@ -225,35 +234,50 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="治疗日期" prop="checkItemsId"> <el-form-item label="治疗日期" prop="treatDate">
<el-date-picker <el-date-picker
v-model="form.jiancha" v-model="treatTimeList.treatDate"
type="date" type="date"
placeholder="请选择治疗日期"> :picker-options="pickerOptions"
</el-date-picker> :disabled-date="disabledDate"
placeholder="请选择治疗日期"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="开始时间" prop="registId"> <el-form-item label="开始时间" prop="sTime">
<el-select v-model="form.shebei" clearable placeholder="请选择诊室"> <el-time-select
<el-option v-model="treatTimeList.sTime"
v-for="item in dict.type.exam_type" is-range
:key="item.value" placeholder="请选择开始时间"
:label="item.label" format="HH:mm"
:value="item.value" value-format="HH:mm"
:picker-options="{
start: '00:00',
step: '01:00',
end: '12:00',
maxTime:treatTimeList.eTime
}"
/> />
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="结束时间" prop="checkItemsId"> <el-form-item label="结束时间" prop="eTime">
<el-date-picker <el-time-select
v-model="form.jiancha" v-model="treatTimeList.eTime"
type="date" is-range
placeholder="请选择治疗日期"> placeholder="请选择结束时间"
</el-date-picker> 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-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -269,14 +293,30 @@ ...@@ -269,14 +293,30 @@
</template> </template>
<script> <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 { listReservationDevice } from '@/api/business/device'
import { consultRoomListAll } from '@/api/business/treatment'
export default { export default {
name: 'MedicalRecordManagement', name: 'MedicalRecordManagement',
dicts: ['exam_type', 'check_type', 'pet_insure', 'payment_status'], dicts: ['exam_type', 'check_type', 'pet_insure', 'payment_status'],
data() { data() {
return { return {
// 诊室下拉框
consultingName: [],
// 预约诊室限制日期
pickerOptions: {
disabledDate: time => {
return time.getTime() < Date.now() - 8.64e7 // 禁用今天以前的日期
}
},
// 治疗日期
treatTimeList: {
consultRoomId: '',
treatDate: '',
sTime: '',
eTime: ''
},
options: [], options: [],
// 遮罩层 // 遮罩层
loading: true, loading: true,
...@@ -291,9 +331,14 @@ export default { ...@@ -291,9 +331,14 @@ export default {
// 总条数 // 总条数
total: 0, total: 0,
// 业务管理-检查管理表格数据 // 业务管理-检查管理表格数据
treatmentList: [{ treatmentList: [
treatItemsName: '111' {
}], treatItemsName: '111', payType: '0'
},
{
treatItemsName: '111', payType: '1'
}
],
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
// 查询参数 // 查询参数
...@@ -318,8 +363,18 @@ export default { ...@@ -318,8 +363,18 @@ export default {
}, },
created() { created() {
this.getList() this.getList()
this.getConsultList()
}, },
methods: { methods: {
// 获取诊室下拉框
getConsultList() {
consultRoomListAll({ status: '0' }).then(res => {
console.log('诊室', res)
})
},
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7 // 禁用今天以前的日期
},
/** 查询业务管理-检查管理列表 */ /** 查询业务管理-检查管理列表 */
getList() { getList() {
this.loading = false this.loading = false
...@@ -460,7 +515,7 @@ export default { ...@@ -460,7 +515,7 @@ export default {
border-radius: 6px 6px 6px 6px; border-radius: 6px 6px 6px 6px;
border: 1px solid rgb(255, 157, 78); border: 1px solid rgb(255, 157, 78);
color: #FF9D4E; color: #FF9D4E;
background: rgba(255,157,78,0.08); background: rgba(255, 157, 78, 0.08);
font-family: Microsoft YaHei-Regular, Microsoft YaHei; font-family: Microsoft YaHei-Regular, Microsoft YaHei;
&:hover { &:hover {
background: rgba(95, 181, 75, 0.08); background: rgba(95, 181, 75, 0.08);
...@@ -469,6 +524,20 @@ export default { ...@@ -469,6 +524,20 @@ export default {
color: #FF9D4E !important; 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 { .app-container {
background-color: #FFFFFF; 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