Commit 5167dce4 authored by 高滢's avatar 高滢

治疗

parent 12a3f157
...@@ -186,78 +186,6 @@ export const constantRoutes = [ ...@@ -186,78 +186,6 @@ export const constantRoutes = [
} }
] ]
}, },
//
// // 病历路由
// {
// path: '',
// hidden: true,
// component: Layout,
// redirect: 'index',
// children: [
// // 病历详情页
// {
// path: '/medical-detail/:id',
// props: true,
// permissions: ['*:*:*'],
// component: () => import('@/views/medical-record-management/medical-detail'),
// name: 'MedicalDetail',
// meta: {
// title: '病历详情',
// icon: 'dashboard',
// activeMenu: '/medical-record-management'
// }
// },
// // 预约设备页面
// {
// path: '/reservation-equipment/:id:pet',
// props: true,
// permissions: ['*:*:*'],
// component: () => import('@/views/medical-record-management/reservation-equipment'),
// name: 'ReservationEquipment',
// meta: {
// title: '预约设备',
// icom: 'dashboard',
// activeMenu: '/medical-record-management/medical-detail'
// }
// },
// // 检查详情
// {
// path: '/check-detail',
// props: true,
// hidden: true,
// component: () => import('@/views/service-management/medical-record-management/check-detail.vue'),
// name: 'CheckDetail',
// meta: {
// title: '检查详情',
// icon: 'component'
// }
// },
// // 检查管理-立即预约
// {
// path: '/check-subscribe',
// props: true,
// hidden: true,
// component: () => import('@/views/service-management/medical-record-management/check-subscribe.vue'),
// name: 'CheckSubscribe',
// meta: {
// title: '立即预约',
// icon: 'component'
// }
// },
// // 检查管理-检查影像
// {
// path: '/check-item',
// props: true,
// hidden: true,
// component: () => import('@/views/service-management/medical-record-management/check-item.vue'),
// name: 'CheckItem',
// meta: {
// title: '检查项目',
// icon: 'component'
// }
// }
// ]
// },
// 个人中心 // 个人中心
{ {
path: '/user', path: '/user',
...@@ -355,6 +283,16 @@ export const constantRoutes = [ ...@@ -355,6 +283,16 @@ export const constantRoutes = [
title: '挂号新增', icon: 'component' title: '挂号新增', icon: 'component'
} }
}, },
// 治疗管理
{
path: 'treatment-management',
component: () => import('@/views/service-management/treatment-management/treatment-management'),
name: 'TreatmentManagement',
props: true,
meta: {
title: '治疗管理', icon: 'component'
}
},
// 检查管理 // 检查管理
{ {
path: 'medical-record-management', path: 'medical-record-management',
...@@ -400,6 +338,42 @@ export const constantRoutes = [ ...@@ -400,6 +338,42 @@ export const constantRoutes = [
title: '检查项目', title: '检查项目',
icon: 'component' icon: 'component'
} }
},
// 治疗详情
{
path: 'treatment-detail',
props: true,
hidden: true,
component: () => import('@/views/service-management/treatment-management/treatment-detail'),
name: 'TreatmentDetail',
meta: {
title: '治疗详情',
icon: 'component'
}
},
// 治疗管理-立即预约
{
path: 'treatment-subscribe',
props: true,
hidden: true,
component: () => import('@/views/service-management/treatment-management/treatment-subscribe'),
name: 'TreatmentSubscribe',
meta: {
title: '立即预约',
icon: 'component'
}
},
// 治疗管理-治疗項目
{
path: 'treatment-item',
props: true,
hidden: true,
component: () => import('@/views/service-management/treatment-management/treatment-item'),
name: 'TreatmentItem',
meta: {
title: '治疗项目',
icon: 'component'
}
} }
] ]
} }
......
<template>
<div>33</div>
</template>
<script>
export default {
name: 'TreatmentDetail'
}
</script>
<style scoped>
</style>
<template>
<div>22</div>
</template>
<script>
export default {
name: 'TreatmentItem'
}
</script>
<style scoped>
</style>
<template> <template>
<div>治疗管理</div> <div class="app-container">
<el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="68px">
<el-form-item prop="petNickname">
<el-input
v-model="queryParams.name"
placeholder="宠物昵称/宠主姓名"
clearable
/>
</el-form-item>
<el-form-item prop="petWeight">
<el-select v-model="queryParams.petNickname" clearable placeholder="检查类型">
<el-option
v-for="item in dict.type.exam_type"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item prop="petColor">
<el-select v-model="queryParams.petNickname" clearable placeholder="检查项目">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item prop="checkSchedule">
<el-select v-model="queryParams.petNickname" clearable placeholder="检查状态">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item prop="payAmount">
<el-date-picker
v-model="queryParams.petNickname"
type="date"
placeholder="请选择检查时间"
/>
</el-form-item>
<el-form-item prop="shadowReport">
<el-select v-model="queryParams.petNickname" clearable placeholder="请选择排序方式">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8" style="margin: 0 0 20px 1px">
<el-button
class="fourWordsBtn"
icon="el-icon-plus"
size="mini"
>选择全部</el-button>
<el-button
class="fourWordsBtn"
icon="el-icon-edit"
size="mini"
>反向选择</el-button>
<el-button
class="fourWordsBtn"
icon="el-icon-delete"
size="mini"
>批量导出</el-button>
<el-button
class="fourWordsBtn"
icon="el-icon-download"
size="mini"
@click="checkItem()"
>检查项目</el-button>
<el-button style="position: relative; float: right;" class="resetBtn" icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<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="manageList" @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" prop="checkType" width="100">
<template slot-scope="scope">
<dict-tag
:options="dict.type.check_type"
:value="scope.row.checkType"
/>
</template>
</el-table-column>
<el-table-column label="检查项目" align="center" :show-overflow-tooltip="true" prop="checkItemsName" />
<el-table-column label="宠物昵称" align="center" :show-overflow-tooltip="true" prop="petNickname" />
<el-table-column label="宠物保险" align="center" :show-overflow-tooltip="true" prop="insure">
<template slot-scope="scope">
<dict-tag
:options="dict.type.pet_insure"
:value="scope.row.insure"
/>
</template>
</el-table-column>
<el-table-column label="宠主姓名" align="center" :show-overflow-tooltip="true" prop="nickname" />
<el-table-column label="联系方式" align="center" :show-overflow-tooltip="true" prop="phonenumber" />
<el-table-column label="预约兽医" align="center" :show-overflow-tooltip="true" prop="doctorName" />
<el-table-column label="所属科室" align="center" :show-overflow-tooltip="true" prop="doctorDeptName" />
<el-table-column label="缴费状态" align="center" :show-overflow-tooltip="true" prop="payType">
<template slot-scope="scope">
<dict-tag
:options="dict.type.payment_status"
:value="scope.row.insure"
/>
</template>
</el-table-column>
<el-table-column label="预约状态" align="center" :show-overflow-tooltip="true" prop="checkSchedule">
<template slot-scope="scope">
<span v-show="scope.row.checkSchedule < 2">未预约</span>
<span v-show="scope.row.checkSchedule >= 2">已预约</span>
</template>
</el-table-column>
<el-table-column label="检查状态" align="center" :show-overflow-tooltip="true" prop="checkSchedule">
<template slot-scope="scope">
<span v-show="scope.row.checkSchedule < 3">未检查</span>
<span v-show="scope.row.checkSchedule === 3">已检查</span>
</template>
</el-table-column>
<el-table-column label="检查日期" align="center" :show-overflow-tooltip="true" prop="reportTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.checkStartTime, '{y}/{m}/{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="检查时段" align="center" :show-overflow-tooltip="true" prop="checkStartTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.checkStartTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180">
<template slot-scope="scope">
<el-button
class="details"
size="mini"
icon="el-icon-document"
@click="handleDetails(scope.row)"
>详情</el-button>
<el-button
class="bookNow"
size="mini"
icon="el-icon-check"
@click="handleSubscribe(scope.row)"
>立即预约</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改业务管理-检查管理对话框 -->
<el-dialog title="立即预约" :visible.sync="open" width="800px" append-to-body :close-on-press-escape="false" :close-on-click-modal="false">
<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="请选择设备">
<el-option
v-for="item in dict.type.exam_type"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="检查日期" prop="checkItemsId">
<el-date-picker
v-model="form.jiancha"
type="date"
placeholder="请选择检查日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="支出账户金额" prop="shadowReport" label-width="120">
1200.00
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
:data="deviceList"
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="操作" />
</el-table>
<!-- <div slot="footer" class="dialog-footer">-->
<!-- <el-button type="primary" @click="submitForm"> </el-button>-->
<!-- <el-button @click="cancel"> </el-button>-->
<!-- </div>-->
</el-dialog>
</div>
</template> </template>
<script> <script>
import { getManage, delManage, addManage, updateManage, listCheckManage } from '@/api/business/manage'
import { listReservationDevice } from '@/api/business/device'
export default { export default {
name: 'TreatmentManagement' name: 'MedicalRecordManagement',
dicts: ['exam_type', 'check_type', 'pet_insure', 'payment_status'],
data() {
return {
options: [],
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 业务管理-检查管理表格数据
manageList: [{}],
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
medicalRecordId: null,
petsId: null,
petOwnersId: null,
petNickname: null,
petBreed: null,
petSex: null
},
// 表单参数
form: {},
// 表单校验
rules: {
},
// 设备集合
deviceList: []
}
},
created() {
this.getList()
},
methods: {
/** 查询业务管理-检查管理列表 */
getList() {
this.loading = true
listCheckManage(this.queryParams).then(response => {
this.manageList = response.rows
this.total = response.total
this.loading = false
})
},
// 取消按钮
cancel() {
this.open = false
this.reset()
},
// 点击检查项目
checkItem() {
this.$router.push({
name: 'TreatmentItem'
})
},
// 表单重置
reset() {
this.form = {
id: null,
petsId: null,
petOwnersId: null,
petNickname: null,
petBreed: null,
petSex: null,
petAge: null
}
this.resetForm('form')
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 立即预约 */
handleSubscribe(row) {
this.open = true
console.log('点击立即预约', row)
this.getDevice()
},
/** 获取设备列表 */
getDevice() {
listReservationDevice({ reservationTime: '2023-06-15' }).then(res => {
console.log('设备', res)
})
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
this.handleQuery()
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
},
/** 详情 */
handleDetails(row) {
console.log('点击详情后', row)
this.$router.push({
name: 'TreatmentDetail',
query: { detail: row }
})
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const id = row.id || this.ids
getManage(id).then(response => {
this.form = response.data
this.open = true
})
},
/** 提交按钮 */
submitForm() {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateManage(this.form).then(response => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
} else {
addManage(this.form).then(response => {
this.$modal.msgSuccess('新增成功')
this.open = false
this.getList()
})
}
}
})
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids
this.$modal.confirm('是否确认删除业务管理-检查管理编号为"' + ids + '"的数据项?').then(function() {
return delManage(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
}).catch(() => {})
},
/** 导出按钮操作 */
handleExport() {
this.download('business/manage/export', {
...this.queryParams
}, `manage_${new Date().getTime()}.xlsx`)
}
}
} }
</script> </script>
<style scoped> <style scoped lang="scss">
/** 详情 */
.details {
width: 50px;
border-radius: 6px 6px 6px 6px;
border: 1px solid rgb(95, 181, 75);
color: #5FB54B;
background: rgba(91,182,71,0.08);
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
&:hover {
background: rgba(95, 181, 75, 0.08);
opacity: 1;
border: 1px solid #5FB54B;
color: #5FB54B !important;
}
}
/** 立即预约 */
.bookNow {
width: 80px;
border-radius: 6px 6px 6px 6px;
border: 1px solid rgb(255, 157, 78);
color: #FF9D4E;
background: rgba(255,157,78,0.08);
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
&:hover {
background: rgba(95, 181, 75, 0.08);
opacity: 1;
border: 1px solid #FF9D4E;
color: #FF9D4E !important;
}
}
.app-container {
background-color: #FFFFFF;
}
</style> </style>
<template>
<div>11</div>
</template>
<script>
export default {
name: 'TreatmentSubscribe'
}
</script>
<style scoped>
</style>
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