Commit f62f0510 authored by 盖献康's avatar 盖献康

检查管理-立即预约页面

parent ad9db9d1
......@@ -133,7 +133,7 @@
<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>
<el-button v-show="checkDetail.appointTime === null" class="fourWordsBtn" @click="bookNow">立即预约</el-button>
</div>
</div>
<!-- 预约信息 -->
......@@ -195,7 +195,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="检查时段">
<span>-</span>
<span>{{ '-' }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -221,6 +221,8 @@
</template>
<script>
import { parseTime } from '../../../utils/ruoyi'
export default {
name: 'CheckDetail',
data() {
......@@ -236,6 +238,7 @@ export default {
console.log('传过来的详情信息', detail)
},
methods: {
parseTime,
// 点击 预约信息-立即预约
bookNow() {
this.$router.push({
......
......@@ -35,7 +35,7 @@
<el-row>
<el-col :span="8">
<el-form-item label="宠物性别">
<span>{{ subscribeMessage.petSex }}</span>
<span>{{ subscribeMessage.petSex === '0' ? '公' : (subscribeMessage.petSex === '1' ? '母' : '未知') }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -104,44 +104,47 @@
<el-row>
<el-col :span="8">
<el-form-item label="设备">
<el-select v-model="queryParams.device" clearable multiple collapse-tags placeholder="请选择设备">
<el-select v-model="queryParams.device" clearable multiple collapse-tags placeholder="请选择设备" @change="deviceChange">
<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>
</el-col>
<el-col :span="8">
<el-form-item label="检查日期">
<el-select v-model="queryParams.data" clearable multiple collapse-tags placeholder="请选择检查日期">
<el-option
v-for="item in dict.type.exam_type"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<el-date-picker
v-model="queryParams.checkDate"
type="date"
@change="changeDate"
placeholder="请选择检查日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
/>
</el-form-item>
</el-col>
<el-col :span="8" v-show="subscribeMessage.checkType === '2'">
<el-form-item label="支出账户余额">
11800.00
</el-form-item>
</el-col>
</el-row>
</el-form>
<!-- 设备表格 -->
<el-table>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="设备名称" align="center" prop="petNickname" />
<el-table-column label="检查日期" align="center" prop="petBreed" />
<el-table-column label="检查时段" align="center" prop="petSex" />
<el-table-column label="剩余可预约" align="center" prop="petAge" />
<el-table :data="deviceList">
<el-table-column label="设备名称" align="center" prop="deviceName" />
<el-table-column label="检查日期" align="center" prop="checkDate" />
<el-table-column label="检查时段" align="center" prop="checkTime" />
<el-table-column label="剩余可预约" align="center" prop="num" />
<el-table-column v-if="subscribeMessage.checkType === '2'" label="设备服务费" align="center" prop="price" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180">
<template slot-scope="scope">
<el-button
class="bookNow"
size="mini"
icon="el-icon-check"
@click="handleDelete(scope.row)"
class="fourWordsBtn"
@click="handleBookNow(scope.row)"
>立即预约</el-button>
</template>
</el-table-column>
......@@ -150,14 +153,18 @@
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
:page.sync="deviceQueryParams.pageNum"
:limit.sync="deviceQueryParams.pageSize"
@pagination="getDevice"
/>
</div>
</template>
<script>
import { deviceUseInSubscribeList, listReservationDevice } from '@/api/business/device'
import { parseTime } from '@/utils/ruoyi'
import { updateCheck } from '@/api/business/mdeicalRecord'
export default {
name: 'CheckSubscribe',
dicts: ['exam_type'],
......@@ -166,17 +173,104 @@ export default {
checkDetail: {},
queryParams: {},
total: 0,
subscribeMessage: {}
subscribeMessage: {},
deviceQueryParams: {
pageNum: 1,
pageSize: 10,
reservationTime: null, // 检查日期(默认当前日期)
isPrivate: null, // 检查类型(0-外部、1医院)--不变
checkTypeList: [], // 检查项目ID(String[])--不变
deviceIdList: [] // 设备(Long[])
},
// 设备表格数据
deviceList: [],
// 下拉可选择的设备
selectableDevice: [],
// 检查表ID
currentCheckId: null
}
},
created() {
const subscribe = this.$route.query.subscribe
this.subscribeMessage = subscribe
console.log('立即预约页面', this.subscribeMessage)
this.deviceQueryParams.reservationTime = parseTime(new Date(), '{y}-{m}-{d}')
if (this.subscribeMessage.checkType === '0') {
this.deviceQueryParams.isPrivate = '1'
} else if (this.subscribeMessage.checkType === '2') {
this.deviceQueryParams.isPrivate = '0'
}
this.deviceQueryParams.checkTypeList.push(this.subscribeMessage.checkItemsId)
this.currentCheckId = this.subscribeMessage.id
this.getDevice()
this.getAllDevice()
},
methods: {
handleDelete() {
// 点击立即预约
handleBookNow(row) {
this.$confirm('立即预约此设备,是否确定?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass: 'box-logout',
cancelButtonClass: 'resetBtn',
confirmButtonClass: 'queryBtn',
type: 'warning'
}).then(() => {
console.log('预约成功...', row)
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('预约设备成功')
}
})
})
},
getList() {},
// 获取设备列表
getDevice() {
listReservationDevice(this.deviceQueryParams).then(res => {
this.deviceList = res.rows.table
this.total = res.total
if (this.subscribeMessage.checkType === '2' && this.deviceList.length > 0) {
this.deviceList.forEach(item => {
item['price'] = this.subscribeMessage.devicePrice
})
}
console.log('列表', this.deviceList)
})
},
// 获取所有设备
getAllDevice() {
deviceUseInSubscribeList({ isPrivate: '1' }).then(res => {
this.selectableDevice = res.data
})
},
getList() {}
// 设备下拉框选中之后的回调函数
deviceChange(val) {
console.log('ddd', val)
this.deviceQueryParams.deviceIdList = val
this.getDevice()
},
// 时间选择器回调函数
changeDate(val) {
console.log('选择时间后', val)
if (val === null) {
this.deviceQueryParams.reservationTime = parseTime(new Date(), '{y}-{m}-{d}')
} else {
this.deviceQueryParams.reservationTime = val
}
this.getDevice()
}
}
}
</script>
......
......@@ -489,7 +489,7 @@ export default {
list.push(checkMessage)
updateCheck(list).then(res => {
if (res.code === 200) {
this.$modal.msgError('预设备成功')
this.$modal.msgError('预设备成功')
}
})
})
......
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