Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
pet-business-web
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
刘怀志
pet-business-web
Commits
4fae7d9c
Commit
4fae7d9c
authored
Jun 09, 2023
by
小费同学阿
💬
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
41d09da5
41781723
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
1745 additions
and
45 deletions
+1745
-45
device.js
src/api/business/device.js
+51
-5
use.js
src/api/business/use.js
+17
-0
index.js
src/router/index.js
+32
-1
equipment-detail.vue
...ment-management/equipment-management/equipment-detail.vue
+842
-0
equipment-management.vue
...-management/equipment-management/equipment-management.vue
+698
-3
use-management.vue
...ws/equipment-management/use-management/use-management.vue
+9
-12
check-detail.vue
...ice-management/medical-record-management/check-detail.vue
+9
-0
check-item.vue
...rvice-management/medical-record-management/check-item.vue
+17
-0
check-subscribe.vue
...-management/medical-record-management/check-subscribe.vue
+62
-23
medical-record-management.vue
...t/medical-record-management/medical-record-management.vue
+8
-1
No files found.
src/api/business/device.js
View file @
4fae7d9c
...
...
@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询设备列表
export
function
listDevice
(
query
)
{
return
request
({
url
:
'/
business
/device/list'
,
url
:
'/
system
/device/list'
,
method
:
'get'
,
params
:
query
})
...
...
@@ -12,7 +12,7 @@ export function listDevice(query) {
// 查询设备详细
export
function
getDevice
(
id
)
{
return
request
({
url
:
'/
business
/device/'
+
id
,
url
:
'/
system
/device/'
+
id
,
method
:
'get'
})
}
...
...
@@ -20,7 +20,7 @@ export function getDevice(id) {
// 新增设备
export
function
addDevice
(
data
)
{
return
request
({
url
:
'/
business
/device'
,
url
:
'/
system
/device'
,
method
:
'post'
,
data
:
data
})
...
...
@@ -29,7 +29,7 @@ export function addDevice(data) {
// 修改设备
export
function
updateDevice
(
data
)
{
return
request
({
url
:
'/
business
/device'
,
url
:
'/
system
/device'
,
method
:
'put'
,
data
:
data
})
...
...
@@ -38,8 +38,54 @@ export function updateDevice(data) {
// 删除设备
export
function
delDevice
(
data
)
{
return
request
({
url
:
'/
business
/device/del'
,
url
:
'/
system
/device/del'
,
method
:
'Put'
,
data
:
data
})
}
// import request from '@/utils/request'
//
// // 查询设备列表
// export function listDevice(query) {
// return request({
// url: '/business/device/list',
// method: 'get',
// params: query
// })
// }
//
// // 查询设备详细
// export function getDevice(id) {
// return request({
// url: '/business/device/' + id,
// method: 'get'
// })
// }
//
// // 新增设备
// export function addDevice(data) {
// return request({
// url: '/business/device',
// method: 'post',
// data: data
// })
// }
//
// // 修改设备
// export function updateDevice(data) {
// return request({
// url: '/business/device',
// method: 'put',
// data: data
// })
// }
//
// // 删除设备
// export function delDevice(data) {
// return request({
// url: '/business/device/del',
// method: 'Put',
// data: data
// })
// }
src/api/business/use.js
0 → 100644
View file @
4fae7d9c
import
request
from
'@/utils/request'
// 查看使用管理详情
export
function
useManagementDetail
(
id
)
{
return
request
({
url
:
'/manage/use/'
+
id
,
method
:
'get'
})
}
// 查询使用列表分页
export
function
listUseManagement
(
query
)
{
return
request
({
url
:
'/manage/useList'
,
method
:
'get'
,
params
:
query
})
}
src/router/index.js
View file @
4fae7d9c
...
...
@@ -118,6 +118,13 @@ export const constantRoutes = [
name
:
'EquipmentManagement'
,
meta
:
{
title
:
'设备管理'
,
icon
:
'date'
}
},
{
path
:
'equipment-detail'
,
props
:
true
,
component
:
()
=>
import
(
'@/views/equipment-management/equipment-management/equipment-detail'
),
name
:
'EquipmentDetail'
,
meta
:
{
title
:
'设备详情'
}
},
{
path
:
'use-management'
,
props
:
true
,
...
...
@@ -244,12 +251,36 @@ export const constantRoutes = [
path
:
'/check-detail'
,
props
:
true
,
hidden
:
true
,
component
:
()
=>
import
(
'@/views/service-management/medical-record-management/check-detail'
),
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'
}
}
]
},
...
...
src/views/equipment-management/equipment-management/equipment-detail.vue
0 → 100644
View file @
4fae7d9c
<
template
>
<div>
<div
v-if=
"identify ==='2'"
style=
"background-color: #fff"
>
<div
class=
"app-container-container"
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
style=
"color: #666666; font-weight: 600; font-size: 17px;"
>
详情
</span>
</div>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
:inline=
"true"
label-width=
"auto"
>
<div
style=
"display: flex;margin: 20px;"
>
<div
class=
"tip1"
/>
<div
style=
"padding-top: 3px;padding-left: 18px;color: #666666; font-weight: 500; font-size: 16px;"
>
基本信息
</div>
</div>
<!-- 1-->
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"设备名称"
prop=
"deviceName"
>
<el-input
v-model=
"form.deviceName"
placeholder=
"请输入设备名称"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"设备ID"
prop=
"deviceName"
>
<el-input
v-model=
"form.deviceCode"
placeholder=
"请输入设备"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"医院是否自有设备"
prop=
"deviceName"
>
<el-select>
<el-option
v-for=
"index in optionss"
:key=
"index"
:label=
"index.label"
:value=
"index.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!-- 2-->
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"负责人"
prop=
"head"
>
<el-input
v-model=
"form.head"
placeholder=
"请输入负责人名称"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"手机号"
prop=
"phone"
>
<el-input
v-model=
"form.phone"
placeholder=
"请输入手机号"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"设备类型"
prop=
"deviceType"
>
<el-select>
<el-option
v-for=
"(item,index) in dict.type.device_type"
:key=
"index"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!-- 3-->
<el-row>
<el-col
:span=
"16"
>
<el-form-item
label=
"服务地点"
prop=
"serviceArea"
>
<el-cascader
v-model=
"form.serviceArea"
style=
"width: 350px"
placeholder=
"请选择支持服务地点"
:options=
"citys"
filterable
clearable
:props=
"
{ multiple: true }"
@change="handleChange"
>
<template
slot-scope=
"
{ data }">
<span>
{{
data
.
label
}}
</span>
</
template
>
</el-cascader>
</el-form-item>
</el-col>
</el-row>
<!-- 4-->
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"预约方式"
prop=
"reservationMethod"
>
<el-select
v-model=
"form.reservationMethod"
placeholder=
"请选择预约方式"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"上午开始时间"
prop=
"userTime"
>
<el-time-select
v-model=
"useTime.ams"
is-range
placeholder=
"开始时间"
format=
"HH:mm"
value-format=
"HH:mm"
:picker-options=
"{
start: '01:00',
step: '01:00',
end: '12:00'
}"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"上午结束时间"
prop=
"userTime"
>
<el-time-select
v-model=
"useTime.ame"
is-range
placeholder=
"结束时间"
format=
"HH:mm"
value-format=
"HH:mm"
:picker-options=
"{
start: '01:00',
step: '01:00',
end: '12:00',
minTime:useTime.ams
}"
/>
</el-form-item>
</el-col>
</el-row>
<!-- 5-->
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"下午开始时间"
prop=
"userTime"
>
<el-time-select
v-model=
"useTime.pms"
is-range
placeholder=
"开始时间"
format=
"HH:mm"
value-format=
"HH:mm"
:picker-options=
"{
start: '12:00',
step: '01:00',
end: '24:00'
}"
/>
</el-form-item>
</el-col>
<e-col
:span=
"8"
>
<el-form-item
label=
"下午开始时间"
prop=
"userTime"
>
<el-time-select
v-model=
"useTime.pme"
is-range
placeholder=
"结束时间"
format=
"HH:mm"
value-format=
"HH:mm"
:picker-options=
"{
start: '12:00',
step: '01:00',
end: '24:00',
minTime:useTime.pms
}"
/>
</el-form-item>
</e-col>
</el-row>
<!-- 6-->
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"权重"
prop=
"sort"
>
<el-input-number
v-model=
"form.sort"
:min=
"0"
:max=
"9999"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"创建时间"
>
<span>
{{ form.createTime }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"设备状态"
prop=
"sort"
>
<el-select
v-model=
"form.status"
placeholder=
"请选择设备状态"
>
<el-option
v-for=
"dict in dict.type.device_status"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!-- 7-->
<el-row>
<el-col
:span=
"24"
>
<div
class=
"deep-form"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model
.
trim=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
maxlength=
"400"
style=
"width:90%;"
:rows=
"4"
/>
</el-form-item>
</div>
</el-col>
</el-row>
<!-- 8-->
<el-row>
<el-col>
<el-select
v-model=
"serviceArea"
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-col>
<el-col>
<el-select
v-model=
"checkType"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-col>
</el-row>
</el-form>
</el-card>
</div>
</div>
<div
v-if=
"identify ==='2'"
style=
"background-color: #fff"
>
<div
class=
"headerTitle"
>
<span
style=
"color: #666666; font-weight: 600; font-size: 17px;"
>
编辑
</span>
</div>
<div
style=
"padding-left: 100px;"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
:inline=
"true"
label-width=
"auto"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"设备ID:"
prop=
"id"
>
<span>
{{ form.id }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"创建时间:"
prop=
"createTime"
>
<span>
{{ form.createTime }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"设备状态:"
prop=
"status"
>
<dict-tag
:options=
"dict.type.device_status"
:value=
"form.status"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"设备名称:"
prop=
"deviceName"
>
<span>
{{ form.deviceName }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"负责人:"
prop=
"head"
>
<span>
{{ form.head }}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"手机号:"
prop=
"phone"
>
<span>
{{ form.phone }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"设备类型:"
prop=
"deviceType"
>
<dict-tag
:options=
"dict.type.device_type"
:value=
"form.deviceType"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"检查类型:"
prop=
"checkType"
>
<dict-tag
:options=
"dict.type.exam_type"
:value=
"checkType"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"自有设备:"
prop=
"status"
>
<el-radio-group
v-model=
"form.isPrivate"
:disabled=
"true"
>
<el-radio
v-for=
"item in option"
:key=
"item.value"
:label=
"item.value"
>
{{ item.label }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<div
v-if=
"form.isPrivate==='0'"
>
<el-form-item
label=
"服务地区:"
prop=
"serviceArea"
>
<el-cascader
v-model=
"serviceArea"
placeholder=
"请选择支持服务地区"
:options=
"citys"
filterable
:disabled=
"true"
clearable
:props=
"{ multiple: true }"
@
change=
"handleChange"
>
<
template
slot-scope=
"{data }"
>
<span>
{{
data
.
label
}}
</span>
</
template
>
</el-cascader>
</el-form-item>
<el-form-item
label=
"预约方式:"
prop=
"reservationMethod"
>
<el-select
v-model=
"form.reservationMethod"
placeholder=
"请选择"
:disabled=
"true"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
<el-row>
<el-form-item
v-if=
"form.reservationMethod==='1'"
label=
"可用时段:"
prop=
"userTime"
>
<el-row
style=
"margin-bottom: 10px"
:gutter=
"20"
>
<span>
上午
</span>
<el-time-select
v-model=
"useTime.ams"
:disabled=
"true"
is-range
placeholder=
"开始时间"
format=
"HH:mm"
value-format=
"HH:mm"
:picker-options=
"{
start: '00:00',
step: '01:00',
end: '12:00'
}"
@
change=
"getam"
/>
<el-time-select
v-model=
"useTime.ame"
:disabled=
"true"
is-range
placeholder=
"结束时间"
format=
"HH:mm"
value-format=
"HH:mm"
:picker-options=
"{
start: '00:00',
step: '01:00',
end: '12:00',
minTime:useTime.ams
}"
@
change=
"getam"
/>
</el-row>
<el-row
style=
"margin-bottom: 10px"
:gutter=
"20"
>
<span>
下午
</span>
<el-time-select
v-model=
"useTime.pms"
:disabled=
"true"
is-range
placeholder=
"开始时间"
format=
"HH:mm"
value-format=
"HH:mm"
:picker-options=
"{
start: '12:00',
step: '01:00',
end: '24:00'
}"
@
change=
"getpm"
/>
<el-time-select
v-model=
"useTime.pme"
:disabled=
"true"
is-range
placeholder=
"结束时间"
format=
"HH:mm"
value-format=
"HH:mm"
:picker-options=
"{
start: '12:00',
step: '01:00',
end: '24:00',
minTime:useTime.pms
}"
@
change=
"getpm"
/>
</el-row>
</el-form-item>
</el-row>
<el-row>
<el-form-item
v-if=
"form.reservationMethod==='1'"
label=
"预约数量:"
prop=
"useNum"
>
<span>
{{ form.useNum }}
</span>
</el-form-item>
</el-row>
</div>
<el-row>
<el-col
:span=
"6"
>
<el-form-item
v-show=
"serviceShow"
label=
"服务价格:"
prop=
"servicePrice"
>
<span>
¥{{ form.servicePrice }}元
</span>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"下单价格:"
prop=
"servicePrice"
>
<span>
¥{{ form.orderPrice }}元
</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
style=
"padding-bottom: 10px;"
>
<el-button
type=
"primary"
@
click=
"cancel"
>
返回
</el-button>
</div>
</div>
</div>
<div
v-if=
"identify ==='1'"
style=
"background-color: #fff"
>
<div
class=
"headerTitle"
>
<span
style=
"color: #666666; font-weight: 600; font-size: 17px;"
>
编辑
</span>
</div>
<div
style=
"display: flex;margin: 20px;"
>
<div
class=
"tip1"
/>
<div
style=
"padding-top: 3px;padding-left: 18px;color: #666666; font-weight: 500; font-size: 16px;"
>
基本信息
</div>
</div>
<div
style=
"padding-left: 100px;"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
:inline=
"true"
label-width=
"auto"
>
<el-form-item
label=
"设备ID:"
prop=
"id"
>
<span>
{{ form.id }}
</span>
</el-form-item>
<el-form-item
label=
"创建时间:"
prop=
"createTime"
>
<span>
{{ form.createTime }}
</span>
</el-form-item>
<el-row>
<el-form-item
label=
"设备名称"
prop=
"deviceName"
>
<el-input
v-model=
"form.deviceName"
placeholder=
"请输入设备名称"
/>
</el-form-item>
<el-form-item
label=
"负责人"
prop=
"head"
>
<el-input
v-model=
"form.head"
placeholder=
"请输入负责人"
/>
</el-form-item>
<el-form-item
label=
"手机号"
prop=
"phone"
>
<el-input
v-model=
"form.phone"
placeholder=
"请输入手机号"
/>
</el-form-item>
</el-row>
<el-row>
<el-form-item
label=
"设备状态"
prop=
"status"
>
<el-select
v-model=
"form.status"
clearable
placeholder=
"请选择支持检查类型"
>
<el-option
v-for=
"dict in dict.type.device_status"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"设备类型"
prop=
"deviceType"
>
<el-select
v-model=
"form.deviceType"
clearable
placeholder=
"请选择设备类型"
>
<el-option
v-for=
"dict in dict.type.device_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item
label=
"检查类型"
prop=
"checkType"
>
<el-select
v-model=
"checkType"
clearable
multiple
placeholder=
"请选择支持检查类型"
>
<el-option
v-for=
"dict in dict.type.exam_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"自有设备"
prop=
"status"
>
<el-radio-group
v-model=
"form.isPrivate"
:disabled=
"true"
>
<el-radio
v-for=
"item in option"
:key=
"item.value"
:label=
"item.value"
>
{{ item.label }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-row>
<div
v-if=
"form.isPrivate==='0'"
>
<el-form-item
label=
"服务地区"
prop=
"serviceArea"
>
<el-cascader
v-model=
"serviceArea"
placeholder=
"请选择支持服务地区"
:options=
"citys"
filterable
clearable
:props=
"{ multiple: true }"
@
change=
"handleChange"
>
<
template
slot-scope=
"{data }"
>
<span>
{{
data
.
label
}}
</span>
</
template
>
</el-cascader>
</el-form-item>
<el-form-item
label=
"预约方式"
prop=
"reservationMethod"
>
<el-select
v-model=
"form.reservationMethod"
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
v-if=
"form.reservationMethod==='1'"
label=
"可用时段"
prop=
"userTime"
>
<el-row
style=
"margin-bottom: 10px"
:gutter=
"20"
>
<span>
上午
</span>
<el-time-select
v-model=
"useTime.ams"
is-range
placeholder=
"开始时间"
format=
"HH:mm"
value-format=
"HH:mm"
:picker-options=
"{
start: '00:00',
step: '01:00',
end: '12:00'
}"
@
change=
"getam"
/>
<el-time-select
v-model=
"useTime.ame"
is-range
placeholder=
"结束时间"
format=
"HH:mm"
value-format=
"HH:mm"
:picker-options=
"{
start: '00:00',
step: '01:00',
end: '12:00',
minTime:useTime.ams
}"
@
change=
"getam"
/>
</el-row>
<el-row
style=
"margin-bottom: 10px"
:gutter=
"20"
>
<span>
下午
</span>
<el-time-select
v-model=
"useTime.pms"
is-range
placeholder=
"开始时间"
format=
"HH:mm"
value-format=
"HH:mm"
:picker-options=
"{
start: '12:00',
step: '01:00',
end: '24:00'
}"
@
change=
"getpm"
/>
<el-time-select
v-model=
"useTime.pme"
is-range
placeholder=
"结束时间"
format=
"HH:mm"
value-format=
"HH:mm"
:picker-options=
"{
start: '12:00',
step: '01:00',
end: '24:00',
minTime:useTime.pms
}"
@
change=
"getpm"
/>
</el-row>
</el-form-item>
<el-row>
<el-form-item
v-if=
"form.reservationMethod==='1'"
label=
"预约数量"
prop=
"useNum"
>
<el-input
v-model=
"form.useNum"
placeholder=
"请输入单时段(每小时)可预约数量"
clearable
/>
</el-form-item>
</el-row>
</div>
<el-form-item
v-show=
"serviceShow"
label=
"服务价格"
prop=
"servicePrice"
>
<el-input-number
v-model=
"form.servicePrice"
:min=
"1"
/>
</el-form-item>
<el-form-item
label=
"下单价格"
prop=
"servicePrice"
>
<el-input-number
v-model=
"form.orderPrice"
:min=
"1"
:disabled=
"disabledOrder"
/>
</el-form-item>
<el-form-item
label=
"权重"
prop=
"sort"
>
<el-input-number
v-model=
"form.sort"
:min=
"1"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
style=
"padding-bottom: 10px;"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</div>
</div>
</div>
</template>
<
script
>
import
{
getDevice
,
updateDevice
}
from
'@/api/business/device'
import
{
CodeToText
,
regionData
}
from
'element-china-area-data'
import
{
getInfo
}
from
'@/api/login'
export
default
{
name
:
'EquipmentDetail'
,
dicts
:
[
'device_status'
,
'device_type'
,
'exam_type'
],
props
:
{
id
:
{
type
:
Number
,
required
:
true
},
identify
:
{
type
:
String
,
required
:
true
}
},
data
()
{
return
{
// 检查类型
checkType
:
[],
// 服务价格
serviceShow
:
true
,
// 下单价格是否禁用
disabledOrder
:
false
,
// 是否医院自有设备
option
:
[
{
value
:
'1'
,
label
:
'是'
},
{
value
:
'0'
,
label
:
'否'
}
],
// 表单校验
rules
:
{
userTime
:
[
{
required
:
true
,
message
:
'请输入预约时间段'
,
trigger
:
'change'
}
],
useNum
:
[
{
required
:
true
,
message
:
'请输入预约数量'
,
trigger
:
'blur'
}
],
status
:
[
{
required
:
true
,
message
:
'请选择设备状态'
,
trigger
:
'blur'
}
],
orderPrice
:
[
{
required
:
true
,
message
:
'请输入下单价格'
,
trigger
:
'blur'
}
],
servicePrice
:
[
{
required
:
true
,
message
:
'请输入服务价格'
,
trigger
:
'blur'
}
],
reservationMethod
:
[
{
required
:
true
,
message
:
'请选择预约方式'
,
trigger
:
'blur'
}
],
serviceArea
:
[
{
required
:
true
,
message
:
'请选择服务地区'
,
trigger
:
'blur'
}
],
checkType
:
[
{
required
:
true
,
message
:
'请选择支持检查类型'
,
trigger
:
'blur'
}
],
head
:
[
{
min
:
2
,
max
:
20
,
message
:
'输入内容长度应为2到20个字符'
,
trigger
:
'blur'
},
{
pattern
:
/^
[\u
4E00-
\u
9FA5A-Za-z
]
+$/
,
message
:
'请输入中英文字符'
,
trigger
:
'blur'
}
],
deviceName
:
[
{
required
:
true
,
message
:
'请输入设备名称'
,
trigger
:
'blur'
},
{
min
:
2
,
max
:
20
,
message
:
'输入内容长度应为2到20个字符'
,
trigger
:
'blur'
},
{
pattern
:
/^
[\u
4E00-
\u
9FA5A-Za-z0-9
]
+$/
,
message
:
'请输入中英文数字'
,
trigger
:
'blur'
}
],
phone
:
[
{
pattern
:
/^1
[
3-9
]\d{9}
$/
,
message
:
'手机号格式不正确'
,
trigger
:
'blur'
}
]
},
// 是否医院自有设备
optionss
:
[{
value
:
'0'
,
label
:
'否'
},
{
value
:
'1'
,
label
:
'是'
}],
// 预约方式
options
:
[{
value
:
'1'
,
label
:
'按时间选择'
},
{
value
:
'2'
,
label
:
'待定'
}],
// 城市
citys
:
regionData
,
// 支持服务地区
serviceAreaS
:
[],
serviceArea
:
[],
// 可用时段
useTime
:
{
ams
:
null
,
ame
:
null
,
pms
:
null
,
pme
:
null
},
// 表单参数
form
:
{
useTime
:
''
,
appointmentMethod
:
''
,
serviceArea
:
''
},
// 登陆人类型
userType
:
''
}
},
watch
:
{
useTime
:
{
handler
(
newVal
,
oldVal
)
{
if
((
this
.
useTime
.
ame
!=
null
&&
this
.
useTime
.
ams
!=
null
&&
this
.
useTime
.
pme
==
null
&&
this
.
useTime
.
pms
==
null
)
||
(
this
.
useTime
.
pme
!=
null
&&
this
.
useTime
.
pms
!=
null
&&
this
.
useTime
.
ame
==
null
&&
this
.
useTime
.
ams
==
null
)
||
(
this
.
useTime
.
ame
!=
null
&&
this
.
useTime
.
ams
!=
null
&&
this
.
useTime
.
pme
!=
null
&&
this
.
useTime
.
pms
!=
null
))
{
this
.
rules
.
userTime
.
forEach
(
item
=>
item
.
required
=
false
)
console
.
log
(
'111'
)
}
else
{
this
.
rules
.
userTime
.
forEach
(
item
=>
item
.
required
=
true
)
console
.
log
(
'2222'
)
}
},
deep
:
true
}
},
created
()
{
this
.
handleUpdate
()
this
.
getUserInfo
()
},
methods
:
{
// 获取登陆人信息
getUserInfo
()
{
getInfo
().
then
(
res
=>
{
this
.
userType
=
res
.
user
.
userType
if
(
this
.
userType
===
'3'
)
{
this
.
disabledOrder
=
true
}
if
(
this
.
userType
===
'00'
)
{
this
.
serviceShow
=
false
}
console
.
log
(
'登陆人'
,
res
)
})
},
// 时间段获取
getam
()
{
console
.
log
(
this
.
useTime
)
},
getpm
()
{
console
.
log
(
this
.
useTime
)
},
// 三级联动 字符串转换为数组
handleChange
(
value
)
{
// 地区数组
const
textArray
=
[]
// 编码数组
const
codeArray
=
[]
for
(
let
i
=
0
;
i
<
value
.
length
;
i
++
)
{
codeArray
.
push
(
value
[
i
].
toString
())
textArray
.
push
(
CodeToText
[
value
[
i
][
0
]]
+
CodeToText
[
value
[
i
][
1
]]
+
CodeToText
[
value
[
i
][
2
]])
}
this
.
form
.
serviceArea
=
codeArray
.
join
(
';'
)
console
.
log
(
this
.
form
.
serviceArea
)
console
.
log
(
'codeArray'
,
codeArray
.
join
(
';'
))
console
.
log
(
'textArray'
,
textArray
.
join
(
','
))
},
// 提交
submitForm
()
{
if
(
this
.
form
.
checkType
!=
null
&&
this
.
form
.
checkType
!==
''
)
{
this
.
form
.
checkType
=
this
.
checkType
.
toString
()
}
this
.
form
.
useTime
=
JSON
.
stringify
(
this
.
useTime
)
this
.
$refs
[
'form'
].
validate
(
valid
=>
{
if
(
valid
)
{
updateDevice
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
'修改成功'
)
this
.
cancel
()
})
}
else
{
return
false
}
})
},
// 取消返回
cancel
()
{
this
.
$router
.
push
({
path
:
'/equipment-management/equipment-management'
})
},
// id查询
handleUpdate
()
{
getDevice
(
this
.
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
this
.
checkType
=
response
.
data
.
checkType
.
split
(
','
)
this
.
useTime
=
JSON
.
parse
(
response
.
data
.
useTime
)
this
.
serviceAreaS
=
this
.
form
.
serviceArea
.
split
(
';'
)
this
.
serviceArea
=
[]
for
(
let
i
=
0
;
i
<
this
.
serviceAreaS
.
length
;
i
++
)
{
this
.
serviceAreaS
[
i
]
=
this
.
serviceAreaS
[
i
].
split
(
','
)
this
.
serviceArea
.
push
(
this
.
serviceAreaS
[
i
])
}
console
.
log
(
'详情数据'
,
this
.
form
)
})
}
}
}
</
script
>
<
style
scoped
>
.tip1
{
height
:
30px
;
border-left
:
5px
solid
#409eff
;
}
.headerTitle
{
width
:
100%
;
height
:
50px
;
background-color
:
rgb
(
249
,
249
,
249
);
line-height
:
50px
;
padding-left
:
45px
;
}
::v-deep
.app-container
{
background-color
:
#f0f2f5
;
}
</
style
>
src/views/equipment-management/equipment-management/equipment-management.vue
View file @
4fae7d9c
<
template
>
<div
class=
"app-container"
>
设备管理
<el-form
v-show=
"showSearch"
ref=
"queryForm"
:model=
"queryParams"
size=
"small"
:inline=
"true"
label-width=
"auto"
>
<el-form-item
prop=
"deviceCode"
>
<el-input
v-model
.
trim=
"queryParams.searchText"
placeholder=
"请输入设备名称/设备ID"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-select
v-model=
"queryParams.isPrivate"
placeholder=
"医院自有设备"
>
<el-option
v-for=
"item in option"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-select
v-model=
"queryParams.checkTypeList"
placeholder=
"请选择检查类型"
multiple
collapse-tags
clearable
>
<el-option
v-for=
"dict in dict.type.exam_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-select
v-model=
"queryParams.status"
placeholder=
"请选择设备状态"
collapse-tags
clearable
>
<el-option
v-for=
"dict in dict.type.device_status"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
prop=
"createTime"
>
<el-date-picker
v-model=
"queryParams.createTime"
clearable
placeholder=
"请选择创建时间"
type=
"date"
value-format=
"yyyy-MM-dd"
/>
</el-form-item>
<el-form-item>
<el-select
v-model=
"sortedColumn"
clearable
style=
"width: 240px"
value-key=
"id"
placeholder=
"请选择排序方式"
@
change=
"handleSort"
>
<el-option
v-for=
"item in sortedList"
:key=
"item.id"
:label=
"item.sortedColumn"
:value=
"item"
/>
</el-select>
</el-form-item>
</el-form>
<el-row>
<el-col
:span=
"12"
style=
"padding-bottom: 20px;"
>
<el-button
v-hasPermi=
"['business:device:add']"
class=
"fourWordsBtn"
icon=
"el-icon-plus"
@
click=
"handleAdd"
>
新增设备
</el-button>
<el-button
icon=
"el-icon-top-left"
class=
"fourWordsBtn"
@
click=
"selectAll()"
>
选择全部
</el-button>
<el-button
icon=
"el-icon-top-right"
class=
"fourWordsBtn"
@
click=
"reverseSelect(userList)"
>
反向选择
</el-button>
<el-button
v-hasPermi=
"['business:device:import']"
class=
"fourWordsBtn"
icon=
"el-icon-bottom-left"
@
click=
"handleImport"
>
批量导入
</el-button>
<el-button
v-hasPermi=
"['business:device:export']"
class=
"fourWordsBtn"
icon=
"el-icon-top-right"
@
click=
"handleExport"
>
批量导出
</el-button>
</el-col>
<el-col
:span=
"12"
style=
"padding-bottom: 20px;text-align: end;"
>
<el-button
class=
"queryBtn"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
class=
"resetBtn"
@
click=
"resetQuery"
>
重置
</el-button>
</el-col>
</el-row>
<el-table
v-loading=
"loading"
:data=
"deviceList"
:header-cell-style=
"
{ background:'#E8E9E8'}" border @selection-change="handleSelectionChange">
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
type=
"index"
label=
"序号"
width=
"50"
/>
<el-table-column
label=
"设备名称"
align=
"center"
prop=
"deviceName"
show-overflow-tooltip
/>
<el-table-column
label=
"设备ID"
align=
"center"
prop=
"deviceCode"
show-overflow-tooltip
/>
<el-table-column
label=
"负责人"
align=
"center"
prop=
"head"
show-overflow-tooltip
/>
<el-table-column
label=
"手机号"
align=
"center"
prop=
"phone"
/>
<el-table-column
label=
"设备类型"
align=
"center"
prop=
"deviceType"
show-overflow-tooltip
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.device_type"
:value=
"scope.row.deviceType"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"userType === '00' ?'平台自有设备':'医院自有设备'"
align=
"center"
prop=
"isPrivate"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.isPrivate === '1'"
>
是
</span>
<span
v-else-if=
"scope.row.isPrivate === '0'"
>
否
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"服务地点"
align=
"center"
prop=
"reservationMethod"
show-overflow-tooltip
/>
<el-table-column
v-if=
"userType=== '3'"
label=
"服务价格"
align=
"center"
prop=
"servicePrice"
/>
<el-table-column
label=
"设备服务费"
align=
"center"
prop=
"servicePrice"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
servicePrice
||
"-"
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"creatTime"
show-overflow-tooltip
/>
<el-table-column
label=
"状态"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<span
:style=
"showStatus(scope.row.status) ==='• 可使用' ? 'color: #67C23A' : 'color: #F56C6C'"
>
{{
showStatus
(
scope
.
row
.
status
)
||
'-'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
width=
"200"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
v-hasPermi=
"['system:person:edit']"
size=
"mini"
type=
"success"
icon=
"el-icon-document"
style=
"width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(123, 213, 102);"
plain
@
click=
"detailsDevice(scope.row.deviceId)"
>
详情
</el-button>
<el-button
plain
size=
"mini"
type=
"success"
icon=
"el-icon-edit"
style=
"width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(52, 144, 206);color: #3490CE;background: rgba(52,144,206,0.1);"
@
click=
"editDevice(scope.row.deviceId)"
>
编辑
</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="title" :visible.sync="open" width="60%" :close-on-click-modal="false" append-to-body>-->
<!-- <el-form ref="form" :model="form" :rules="rules" label-width="auto">-->
<!-- <el-form-item label="设备名称" prop="deviceName">-->
<!-- <el-input v-model.trim="form.deviceName" placeholder="请输入设备名称" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="负责人" prop="head">-->
<!-- <el-input v-model.trim="form.head" placeholder="请输入负责人" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="手机号" prop="phone">-->
<!-- <el-input v-model.trim="form.phone" placeholder="请输入手机号" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="设备类型" prop="deviceType">-->
<!-- <el-select v-model="form.deviceType" clearable placeholder="请选择设备类型">-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.device_type"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支持检查类型" prop="checkType">-->
<!-- <el-select v-model="form.checkType" clearable multiple placeholder="请选择支持检查类型">-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.exam_type"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支持服务地区" prop="serviceArea">-->
<!-- <el-cascader-->
<!-- v-model="serviceArea"-->
<!-- placeholder="请选择支持服务地区"-->
<!-- :options="citys"-->
<!-- filterable-->
<!-- clearable-->
<!-- :props="{ multiple: true }"-->
<!-- @change="handleChange"-->
<!-- >-->
<!-- <template slot-scope="{ data }">-->
<!-- <span>{{ data.label }}</span>-->
<!-- </template>-->
<!-- </el-cascader>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="预约方式" prop="reservationMethod">-->
<!-- <el-select v-model="form.reservationMethod" 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 v-if="form.reservationMethod==='1'" label="可用时段" prop="userTime">-->
<!-- <el-row style="margin-bottom: 10px" :gutter="20">-->
<!-- <span>上午</span>-->
<!-- <el-time-select-->
<!-- v-model="useTime.ams"-->
<!-- is-range-->
<!-- placeholder="开始时间"-->
<!-- format="HH:mm"-->
<!-- value-format="HH:mm"-->
<!-- :picker-options="{-->
<!-- start: '00:00',-->
<!-- step: '01:00',-->
<!-- end: '12:00'-->
<!-- }"-->
<!-- />-->
<!-- <el-time-select-->
<!-- v-model="useTime.ame"-->
<!-- is-range-->
<!-- placeholder="结束时间"-->
<!-- format="HH:mm"-->
<!-- value-format="HH:mm"-->
<!-- :picker-options="{-->
<!-- start: '00:00',-->
<!-- step: '01:00',-->
<!-- end: '12:00',-->
<!-- minTime:useTime.ams-->
<!-- }"-->
<!-- />-->
<!-- </el-row>-->
<!-- <el-row>-->
<!-- <span>下午</span>-->
<!-- <el-time-select-->
<!-- v-model="useTime.pms"-->
<!-- is-range-->
<!-- placeholder="开始时间"-->
<!-- format="HH:mm"-->
<!-- value-format="HH:mm"-->
<!-- :picker-options="{-->
<!-- start: '12:00',-->
<!-- step: '01:00',-->
<!-- end: '24:00'-->
<!-- }"-->
<!-- />-->
<!-- <el-time-select-->
<!-- v-model="useTime.pme"-->
<!-- is-range-->
<!-- placeholder="结束时间"-->
<!-- format="HH:mm"-->
<!-- value-format="HH:mm"-->
<!-- :picker-options="{-->
<!-- start: '12:00',-->
<!-- step: '01:00',-->
<!-- end: '24:00',-->
<!-- minTime:useTime.pms-->
<!-- }"-->
<!-- />-->
<!-- </el-row>-->
<!-- </el-form-item>-->
<!-- <el-form-item v-if="form.reservationMethod==='1'" label="预约数量" prop="useNum">-->
<!-- <el-input-->
<!-- v-model.trim="form.useNum"-->
<!-- placeholder="请输入单时段可预约数量"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item v-show="serviceShow" label="服务价格" prop="servicePrice">-->
<!-- <el-input-number v-model="form.servicePrice" :min="1" />-->
<!-- </el-form-item>-->
<!-- <el-form-item v-show="orderShow" label="下单价格" prop="orderPrice">-->
<!-- <el-input-number v-model="form.orderPrice" :min="1" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="权重" prop="sort">-->
<!-- <el-input-number v-model="form.sort" :min="0" />-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <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>
<
script
>
import
{
regionData
,
CodeToText
}
from
'element-china-area-data'
import
{
listDevice
,
getDevice
,
delDevice
,
addDevice
}
from
'@/api/business/device'
import
{
getInfo
}
from
'@/api/login'
export
default
{
name
:
'EquipmentManagement'
}
name
:
'EquipmentManagement'
,
dicts
:
[
'device_status'
,
'device_type'
,
'exam_type'
],
data
()
{
return
{
// 支持检查类型
checkType
:
[],
// 服务价格
serviceShow
:
true
,
// 下单价格
orderShow
:
true
,
// 筛选列表
sortedColumn
:
''
,
// 可用时段
useTime
:
{
ams
:
null
,
ame
:
null
,
pms
:
null
,
pme
:
null
},
sortedList
:
[
{
id
:
2
,
collation
:
'desc'
,
sortedColumn
:
'按创建时间降序'
,
nameColumn
:
'createTime'
},
{
id
:
1
,
collation
:
'asc'
,
sortedColumn
:
'按创建时间正序'
,
nameColumn
:
'createTime'
},
{
id
:
4
,
collation
:
'desc'
,
sortedColumn
:
'按服务价格降序'
,
nameColumn
:
'e.service_price'
},
{
id
:
3
,
collation
:
'asc'
,
sortedColumn
:
'按服务价格升序'
,
nameColumn
:
'e.service_price'
}
],
// 是否医院自有设备
option
:
[
{
value
:
'1'
,
label
:
'是'
},
{
value
:
'0'
,
label
:
'否'
},
{
label
:
'全部'
}
],
// 预约方式
options
:
[{
value
:
'1'
,
label
:
'按时间选择'
},
{
value
:
'2'
,
label
:
'待定'
}],
// 城市
citys
:
regionData
,
// 遮罩层
loading
:
false
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 设备表格数据
deviceList
:
[],
// 弹出层标题
title
:
''
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
checkTypeList
:
''
,
searchText
:
''
,
pageNum
:
1
,
pageSize
:
10
,
id
:
null
,
deviceCode
:
null
,
deptId
:
null
,
deviceName
:
null
,
head
:
null
,
phone
:
null
,
deviceType
:
null
,
checkType
:
null
,
isPrivate
:
null
,
serviceArea
:
null
,
reservationMethod
:
null
,
useTime
:
null
,
servicePrice
:
null
,
orderPrice
:
null
,
status
:
null
,
useNum
:
null
,
sort
:
null
},
// 支持服务地区
serviceAreaS
:
[],
serviceArea
:
[],
// 表单参数
form
:
{
useTime
:
[],
appointmentMethod
:
''
,
serviceArea
:
''
},
// 表单校验
rules
:
{
userTime
:
[
{
required
:
true
,
message
:
'请输入预约时间段'
,
trigger
:
'change'
}
],
useNum
:
[
{
required
:
true
,
message
:
'请输入预约数量'
,
trigger
:
'blur'
}
],
orderPrice
:
[
{
required
:
true
,
message
:
'请输入下单价格'
,
trigger
:
'blur'
}
],
servicePrice
:
[
{
required
:
true
,
message
:
'请输入服务价格'
,
trigger
:
'blur'
}
],
reservationMethod
:
[
{
required
:
true
,
message
:
'请选择预约方式'
,
trigger
:
'change'
}
],
serviceArea
:
[
{
required
:
true
,
message
:
'请选择服务地区'
,
trigger
:
'change'
}
],
checkType
:
[
{
required
:
true
,
message
:
'请选择支持检查类型'
,
trigger
:
'blur,change'
}
],
head
:
[
{
min
:
2
,
max
:
20
,
message
:
'输入内容长度应为2到20个字符'
,
trigger
:
'blur'
},
{
pattern
:
/^
[\u
4E00-
\u
9FA5A-Za-z
]
+$/
,
message
:
'请输入中英文字符'
,
trigger
:
'blur'
}
],
deviceName
:
[
{
required
:
true
,
message
:
'请输入设备名称'
,
trigger
:
'blur'
},
{
min
:
2
,
max
:
20
,
message
:
'输入内容长度应为2到20个字符'
,
trigger
:
'blur'
},
{
pattern
:
/^
[\u
4E00-
\u
9FA5A-Za-z0-9
]
+$/
,
message
:
'请输入中英文数字'
,
trigger
:
'blur'
}
],
phone
:
[
{
pattern
:
/^1
[
3-9
]\d{9}
$/
,
message
:
'手机号格式不正确'
,
trigger
:
'blur'
}
]
}
}
},
watch
:
{
useTime
:
{
handler
(
newVal
,
oldVal
)
{
if
((
this
.
useTime
.
ame
!=
null
&&
this
.
useTime
.
ams
!=
null
&&
this
.
useTime
.
pme
==
null
&&
this
.
useTime
.
pms
==
null
)
||
(
this
.
useTime
.
pme
!=
null
&&
this
.
useTime
.
pms
!=
null
&&
this
.
useTime
.
ame
==
null
&&
this
.
useTime
.
ams
==
null
)
||
(
this
.
useTime
.
ame
!=
null
&&
this
.
useTime
.
ams
!=
null
&&
this
.
useTime
.
pme
!=
null
&&
this
.
useTime
.
pms
!=
null
))
{
this
.
rules
.
userTime
.
forEach
(
item
=>
item
.
required
=
false
)
console
.
log
(
'111'
)
}
else
{
this
.
rules
.
userTime
.
forEach
(
item
=>
item
.
required
=
true
)
console
.
log
(
'2222'
)
}
},
deep
:
true
}
},
created
()
{
this
.
getList
()
this
.
getUserInfo
()
},
methods
:
{
// 获取登陆人信息
getUserInfo
()
{
getInfo
().
then
(
res
=>
{
console
.
log
(
'-------------------'
,
res
)
this
.
userType
=
res
.
user
.
userType
console
.
log
(
'this.userTyep'
,
this
.
userType
)
if
(
this
.
userType
===
'3'
)
{
this
.
orderShow
=
false
}
if
(
this
.
userType
===
'00'
)
{
this
.
serviceShow
=
false
}
})
},
showStatus
(
date
)
{
if
(
date
===
null
)
{
return
null
}
else
if
(
date
===
'1'
)
{
return
'• 可使用'
}
else
if
(
date
===
'2'
)
{
return
'• 维护中'
}
else
if
(
date
===
'3'
)
{
return
'• 已报废'
}
},
/** 跳转到编辑页*/
editDevice
(
id
)
{
this
.
$router
.
push
({
name
:
'EquipmentDetail'
,
params
:
{
id
:
id
,
identify
:
'1'
}
})
},
/** 跳转到详情页*/
detailsDevice
(
id
)
{
this
.
$router
.
push
({
name
:
'EquipmentDetail'
,
params
:
{
id
:
id
,
identify
:
'2'
}
})
},
// 选择排序规则
handleSort
(
val
)
{
this
.
sortedColumn
=
val
.
sortedColumn
this
.
queryParams
.
orderByColumn
=
val
.
nameColumn
this
.
queryParams
.
isAsc
=
val
.
collation
},
// 三级联动 字符串转换为数组
handleChange
(
value
)
{
// 地区数组
const
textArray
=
[]
// 编码数组
const
codeArray
=
[]
for
(
let
i
=
0
;
i
<
value
.
length
;
i
++
)
{
codeArray
.
push
(
value
[
i
].
toString
())
textArray
.
push
(
CodeToText
[
value
[
i
][
0
]]
+
CodeToText
[
value
[
i
][
1
]]
+
CodeToText
[
value
[
i
][
2
]])
}
this
.
form
.
serviceArea
=
codeArray
.
join
(
';'
)
},
/** 查询设备列表 */
getList
()
{
this
.
loading
=
true
listDevice
(
this
.
queryParams
).
then
(
response
=>
{
this
.
deviceList
=
response
.
rows
this
.
deviceList
.
forEach
(
item
=>
{
this
.
$set
(
item
,
'checkTypeArr'
,
item
.
checkType
.
split
(
','
))
})
console
.
log
(
'deviceList'
,
this
.
deviceList
)
this
.
total
=
response
.
total
this
.
loading
=
false
})
},
// 取消按钮
cancel
()
{
this
.
open
=
false
this
.
reset
()
},
// 表单重置
reset
()
{
this
.
serviceArea
=
''
this
.
form
=
{
id
:
null
,
deviceCode
:
null
,
deptId
:
null
,
deviceName
:
null
,
head
:
null
,
phone
:
null
,
deviceType
:
null
,
checkType
:
null
,
isPrivate
:
null
,
serviceArea
:
null
,
reservationMethod
:
null
,
useTime
:
null
,
servicePrice
:
null
,
orderPrice
:
null
,
status
:
null
,
useNum
:
null
,
sort
:
null
,
delFlag
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
remark
:
null
}
this
.
resetForm
(
'form'
)
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
this
.
getList
()
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
sortedColumn
=
''
this
.
queryParams
=
{
searchText
:
''
,
option
:
''
,
createTime
:
''
,
pageNum
:
1
,
pageSize
:
10
,
personName
:
''
,
isPrivate
:
null
,
sortedColumn
:
''
}
// this.handleQuery()
// this.queryParams.checkTypeList = ''
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
this
.
title
=
'添加设备'
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
()
const
id
=
row
.
id
||
this
.
ids
getDevice
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
this
.
open
=
true
this
.
title
=
'修改设备'
this
.
serviceAreaS
=
this
.
form
.
serviceArea
.
split
(
';'
)
this
.
serviceArea
=
[]
for
(
let
i
=
0
;
i
<
this
.
serviceAreaS
.
length
;
i
++
)
{
this
.
serviceAreaS
[
i
]
=
this
.
serviceAreaS
[
i
].
split
(
','
)
this
.
serviceArea
.
push
(
this
.
serviceAreaS
[
i
])
}
})
},
/** 提交按钮 */
submitForm
()
{
if
(
this
.
form
.
checkType
!=
null
&&
this
.
form
.
checkType
!==
''
)
{
this
.
form
.
checkType
=
this
.
form
.
checkType
.
toString
()
}
this
.
form
.
useTime
=
JSON
.
stringify
(
this
.
useTime
)
this
.
$refs
[
'form'
].
validate
(
valid
=>
{
if
(
valid
)
{
console
.
log
(
this
.
form
)
addDevice
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
'新增成功'
)
this
.
open
=
false
this
.
getList
()
})
}
})
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
console
.
log
(
row
)
const
delId
=
[]
delId
.
push
(
row
)
// const ids = row.id || this.ids;
this
.
$modal
.
confirm
(
'是否确认删除设备编号为"'
+
row
.
id
+
'"的数据项?'
).
then
(
function
()
{
return
delDevice
(
delId
)
}).
then
(()
=>
{
this
.
getList
()
this
.
$modal
.
msgSuccess
(
'删除成功'
)
}).
catch
(()
=>
{})
},
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
'business/device/export'
,
{
...
this
.
queryParams
},
`device_
${
new
Date
().
getTime
()}
.xlsx`
)
}
}
}
</
script
>
src/views/equipment-management/use-management/use-management.vue
View file @
4fae7d9c
...
...
@@ -103,18 +103,15 @@
<
el
-
table
-
column
label
=
"缴费金额"
align
=
"left"
prop
=
"payAmount"
/>
<
el
-
table
-
column
label
=
"设备当前状态"
align
=
"left"
prop
=
"status"
>
<
template
slot
-
scope
=
"scope"
>
<
span
v
-
if
=
"scope.row.status === '1'"
style
=
"color: #5FB54B;"
>
{{
showStatus
(
scope
.
row
.
status
)
||
'-'
}}
<
/span
>
<
span
v
-
else
-
if
=
"scope.row.status === '2'"
style
=
"color: #FF9D4E;"
>
{{
showStatus
(
scope
.
row
.
status
)
||
'-'
}}
<
/span
>
<
span
v
-
else
style
=
"color: #DB4747;"
>
{{
showStatus
(
scope
.
row
.
status
)
||
'-'
}}
<
/span
>
<
span
v
-
if
=
"scope.row.status === '1'"
style
=
"color: #5FB54B;"
>
{{
showStatus
(
scope
.
row
.
status
)
}}
<
/span
>
<
span
v
-
else
-
if
=
"scope.row.status === '2'"
style
=
"color: #FF9D4E;"
>
{{
showStatus
(
scope
.
row
.
status
)
}}
<
/span
>
<
span
v
-
else
style
=
"color: #DB4747;"
>
{{
showStatus
(
scope
.
row
.
status
)
||
'-'
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"操作"
align
=
"left"
class
-
name
=
"small-padding fixed-width"
>
...
...
src/views/service-management/medical-record-management/check-detail.vue
View file @
4fae7d9c
...
...
@@ -132,6 +132,7 @@
<div
class=
"title-paragraph"
>
<span
class=
"title-text"
>
预约信息
</span>
</div>
<el-button
@
click=
"bookNow"
>
立即预约
</el-button>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"检查类型"
>
...
...
@@ -207,6 +208,14 @@ export default {
return
{
checkDetail
:
''
}
},
methods
:
{
// 点击 预约信息-立即预约
bookNow
()
{
this
.
$router
.
push
({
path
:
'/check-subscribe'
})
}
}
}
</
script
>
...
...
src/views/service-management/medical-record-management/check-item.vue
0 → 100644
View file @
4fae7d9c
<
template
>
<div
class=
"app-container"
>
检查项目
</div>
</
template
>
<
script
>
export
default
{
name
:
'CheckItem'
}
</
script
>
<
style
scoped
lang=
"scss"
>
.app-container
{
background-color
:
#FFFFFF
;
}
</
style
>
src/views/service-management/medical-record-management/check-subscribe.vue
View file @
4fae7d9c
...
...
@@ -7,7 +7,7 @@
font-family: Microsoft YaHei-Bold, Microsoft YaHei,serif;
font-weight: bold;
color: #333333;"
>
详情
</span>
>
立即预约
</span>
</div>
<el-form
ref=
"form"
:model=
"checkDetail"
label-width=
"100px"
>
<div
class=
"title-paragraph"
>
...
...
@@ -76,7 +76,7 @@
</el-col>
</el-row>
<div
class=
"title-paragraph"
>
<span
class=
"title-text"
>
检查
信息
</span>
<span
class=
"title-text"
>
参考
信息
</span>
</div>
<!-- 1 -->
<el-row>
...
...
@@ -86,53 +86,92 @@
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"
设备服务器
"
>
<el-form-item
label=
"
检查项目
"
>
<span>
2
</span>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"
下单时间
"
>
<el-form-item
label=
"
缴费金额
"
>
<span>
3
</span>
</el-form-item>
</el-col>
</el-row>
<!-- 2 -->
</el-form>
<div
class=
"title-paragraph"
>
<span
class=
"title-text"
>
设备预约
</span>
</div>
<el-form
ref=
"formDevice"
:model=
"queryParams"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"检查日期"
>
<span>
1
</span>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"检查时段"
>
<span>
2
</span>
<el-form-item
label=
"设备"
>
<el-select
v-model=
"queryParams.device"
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-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"报告上传时间"
>
<span>
3
</span>
</el-form-item>
</el-col>
</el-row>
<!-- 3 -->
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"影像报告"
>
<span>
1
</span>
<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-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-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)"
>
立即预约
</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"
/>
</div>
</template>
<
script
>
export
default
{
name
:
'CheckSubscribe'
,
dicts
:
[
'exam_type'
],
data
()
{
return
{
checkDetail
:
''
checkDetail
:
{},
queryParams
:
{},
total
:
0
}
},
methods
:
{
handleDelete
()
{
},
getList
()
{}
}
}
</
script
>
...
...
src/views/service-management/medical-record-management/medical-record-management.vue
View file @
4fae7d9c
...
...
@@ -76,6 +76,7 @@
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>
...
...
@@ -194,7 +195,7 @@ export default {
}
}
,
created
()
{
//
this.getList()
this
.
getList
()
}
,
methods
:
{
/** 查询业务管理-检查管理列表 */
...
...
@@ -212,6 +213,12 @@ export default {
this
.
open
=
false
this
.
reset
()
}
,
// 点击检查项目
checkItem
()
{
this
.
$router
.
push
({
path
:
'/check-item'
}
)
}
,
// 表单重置
reset
()
{
this
.
form
=
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment