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
e8b011a4
Commit
e8b011a4
authored
Aug 14, 2023
by
王飞龙
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
be54ef70
9fc28028
Changes
20
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
935 additions
and
224 deletions
+935
-224
article-edit.vue
src/views/article-management/article-edit.vue
+2
-1
article-insert.vue
src/views/article-management/article-insert.vue
+2
-1
article-management.vue
src/views/article-management/article-management.vue
+10
-10
hospital-data-statistics.vue
...ics/hospital-data-statistics/hospital-data-statistics.vue
+1
-1
equipment-management.vue
...-management/equipment-management/equipment-management.vue
+7
-7
medical-edit.vue
src/views/medical-record-management/medical-edit.vue
+29
-19
medical-record-management.vue
...s/medical-record-management/medical-record-management.vue
+65
-16
hospitalization-details.vue
...nt/hospitalization-management/hospitalization-details.vue
+9
-9
hospitalization-management.vue
...hospitalization-management/hospitalization-management.vue
+3
-3
check-detail.vue
...ice-management/medical-record-management/check-detail.vue
+58
-16
check-schedule.vue
...e-management/medical-record-management/check-schedule.vue
+238
-0
check-subscribe.vue
...-management/medical-record-management/check-subscribe.vue
+2
-2
medical-record-management.vue
...t/medical-record-management/medical-record-management.vue
+3
-3
choose-pet.vue
...e-management/registration-queue/components/choose-pet.vue
+12
-3
doctor-detail.vue
...anagement/registration-queue/components/doctor-detail.vue
+9
-5
registration-add.vue
...ervice-management/registration-queue/registration-add.vue
+1
-1
registration-queue.vue
...vice-management/registration-queue/registration-queue.vue
+24
-41
treatment-detail.vue
...vice-management/treatment-management/treatment-detail.vue
+136
-47
treatment-management.vue
...-management/treatment-management/treatment-management.vue
+86
-39
treatment-schedule.vue
...ce-management/treatment-management/treatment-schedule.vue
+238
-0
No files found.
src/views/article-management/article-edit.vue
View file @
e8b011a4
...
...
@@ -119,7 +119,8 @@ export default {
rules
:
{
// 文章标题判空校验
articleTitle
:
[
{
required
:
true
,
message
:
'请输入文章标题'
,
trigger
:
'change'
}
{
required
:
true
,
message
:
'请输入文章标题'
,
trigger
:
'change'
},
{
min
:
2
,
message
:
'仅支持2~60位字符'
,
trigger
:
'blur'
}
],
// 文章权重判空校验
articleWeight
:
[
...
...
src/views/article-management/article-insert.vue
View file @
e8b011a4
...
...
@@ -129,7 +129,8 @@ export default {
rules
:
{
// 文章标题判空校验
articleTitle
:
[
{
required
:
true
,
message
:
'请输入文章标题'
,
trigger
:
'change'
}
{
required
:
true
,
message
:
'请输入文章标题'
,
trigger
:
'change'
},
{
min
:
2
,
message
:
'仅支持2~60位字符'
,
trigger
:
'blur'
}
],
// 文章权重判空校验
articleWeight
:
[
...
...
src/views/article-management/article-management.vue
View file @
e8b011a4
...
...
@@ -77,16 +77,16 @@
>
反向选择
</el-button>
<!--批量导入-->
<!--
<el-button-->
<!-- v-hasPermi="['system:pets:export']"-->
<!-- class="fourWordsBtn"-->
<!-- size="mini"-->
<!-- @click="handleExport"-->
<!-- >-->
<!-- <!– 导入svg文件–>-->
<!--
<svg-icon
icon-class=
"shaixuan_icon_daoru"
/>
-->
<!-- 批量导入-->
<!--
</el-button>
-->
<!--
<el-button-->
<!-- v-hasPermi="['system:pets:export']"-->
<!-- class="fourWordsBtn"-->
<!-- size="mini"-->
<!-- @click="handleExport"-->
<!-- >-->
<!-- <!– 导入svg文件–>-->
<!--
<svg-icon
icon-class=
"shaixuan_icon_daoru"
/>
-->
<!-- 批量导入-->
<!--
</el-button>
-->
<!--批量导出-->
<el-button
v-hasPermi=
"['system:pets:export']"
...
...
src/views/data-statistics/hospital-data-statistics/hospital-data-statistics.vue
View file @
e8b011a4
...
...
@@ -9,7 +9,7 @@
</div>
<el-row
:gutter=
"14"
>
<el-col
:span=
"6"
>
<div
class=
"hospital_info_statistics hospital_info_statistics_ruzhu"
>
<div
class=
"hospital_info_statistics hospital_info_statistics_ruzhu"
style=
""
>
<div
style=
"display: flex;"
>
<div
class=
"numberColor"
>
{{
formatNum
(
hospitalInfoStatistics
.
enteredHospitalCount
||
0
)
}}
</div>
<div
class=
"fontColor"
>
家
</div>
...
...
src/views/equipment-management/equipment-management/equipment-management.vue
View file @
e8b011a4
...
...
@@ -114,13 +114,13 @@
@
click=
"handleExport"
>
批量导出
</el-button>
<!--
<el-button-->
<!-- v-if="userType==='00'"-->
<!-- class="fourWordsBtn"-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handlecheck"-->
<!-- >检查项目
</el-button>
-->
<!--
<el-button-->
<!-- v-if="userType==='00'"-->
<!-- class="fourWordsBtn"-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handlecheck"-->
<!-- >检查项目
</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>
...
...
src/views/medical-record-management/medical-edit.vue
View file @
e8b011a4
...
...
@@ -718,7 +718,7 @@ color: #333333;"
</el-table-column>
<el-table-column
align=
"center"
label=
"检查报告"
prop=
"shadowReport"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.inputShow"
>
-
</span>
<span
v-if=
"scope.row.inputShow
|| !scope.row.shadowReport
"
>
-
</span>
<span
v-else
>
<el-link
type=
"primary"
@
click=
"showShadowReport(scope.row.shadowReport)"
>
{{
scope
.
row
.
shadowReport
?
scope
.
row
.
shadowReport
.
split
(
'/'
)[
scope
.
row
.
shadowReport
.
split
(
'/'
).
length
-
1
]
:
'-'
}}
</el-link>
</span>
...
...
@@ -860,7 +860,7 @@ color: #333333;"
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.inputShow"
>
-
</span>
<span
v-else
>
{{
scope
.
row
.
treatStatus
?
(
scope
.
row
.
treatStatus
===
3
?
'已
检查'
:
'待检查
'
)
:
'-'
}}
{{
scope
.
row
.
treatStatus
?
(
scope
.
row
.
treatStatus
===
3
?
'已
治疗'
:
'待治疗
'
)
:
'-'
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -1482,8 +1482,10 @@ export default {
*/
showShadowReport
(
url
)
{
console
.
log
(
url
)
this
.
isShowCheckReport
=
true
this
.
checkReportUrl
=
process
.
env
.
VUE_APP_TEST_API
+
url
if
(
url
)
{
this
.
isShowCheckReport
=
true
this
.
checkReportUrl
=
process
.
env
.
VUE_APP_TEST_API
+
url
}
},
/**
* @Description: 查看详情
...
...
@@ -1633,21 +1635,24 @@ export default {
},
/** 根据检查类型获取检查项目列表*/
getCheckItemOptions
(
checkType
,
row
)
{
console
.
log
(
'getCheckItemOptions'
,
checkType
,
row
)
listByType
({
itemType
:
checkType
}).
then
(
res
=>
{
this
.
checkItemOptions
=
res
.
rows
.
map
(
item
=>
{
return
{
label
:
item
.
name
,
value
:
item
.
id
,
payAmount
:
item
.
price
}
return
new
Promise
(
resolve
=>
{
console
.
log
(
'getCheckItemOptions'
,
checkType
,
row
)
listByType
({
itemType
:
checkType
}).
then
(
res
=>
{
this
.
checkItemOptions
=
res
.
rows
.
map
(
item
=>
{
return
{
label
:
item
.
name
,
value
:
item
.
id
.
toString
(),
payAmount
:
item
.
price
}
})
console
.
log
(
'checkItemOptions!!!!!!!!!!!!!'
,
this
.
checkItemOptions
)
resolve
()
})
console
.
log
(
'checkItemOptions!!!!!!!!!!!!!'
,
this
.
checkItemOptions
)
if
(
row
)
{
row
.
checkItemsId
=
''
row
.
checkItemsName
=
''
}
})
if
(
row
)
{
row
.
checkItemsId
=
''
row
.
checkItemsName
=
''
}
},
/** 获取治疗项目列表*/
getTreatItemOptions
(
checkType
)
{
...
...
@@ -1681,6 +1686,7 @@ export default {
console
.
log
(
'这是我要传的checkSchedule的值:值 挂号时间 录入时间 病历时间 开具处方时间'
,
response
.
data
.
registrationTime
,
response
.
data
.
diagnosisTime
,
response
.
data
.
reportTime
,
response
.
data
.
recipelTime
)
// 修改时间格式
response
.
data
.
checkManageBos
.
forEach
(
item
=>
{
item
[
'checkItemsId'
]
=
item
.
checkItemsId
.
toString
()
item
[
'inputShow'
]
=
false
item
[
'isAdd'
]
=
false
})
...
...
@@ -1713,12 +1719,16 @@ export default {
handleUpdate
(
index
,
tableData
)
{
// 每个表格只有一行可编辑
if
(
this
.
editCunt
[
tableData
]
===
0
)
{
this
[
tableData
][
index
][
'inputShow'
]
=
true
console
.
log
(
'UUUUUUUUUUUUUU'
,
tableData
,
index
,
this
[
tableData
][
index
])
this
.
editCunt
[
tableData
]
+=
1
// 如果是检查表格需要根据检查类型查询检查项目
if
(
tableData
===
'checkManageBos'
)
{
this
.
getCheckItemOptions
(
this
.
checkManageBos
[
index
].
checkType
)
this
.
getCheckItemOptions
(
this
.
checkManageBos
[
index
].
checkType
).
then
(()
=>
{
console
.
log
(
'KKKKKKKKKKKKKKKKKKKKKKKK'
)
this
[
tableData
][
index
][
'inputShow'
]
=
true
})
}
else
{
this
[
tableData
][
index
][
'inputShow'
]
=
true
}
}
else
{
this
.
$message
({
...
...
src/views/medical-record-management/medical-record-management.vue
View file @
e8b011a4
...
...
@@ -11,7 +11,7 @@
label-width=
"68px"
size=
"small"
>
<el-form-item
class=
"
nick-style"
style=
"padding-right: 15px;
"
prop=
"petNickname"
>
<el-form-item
class=
"
med-petNickname
"
prop=
"petNickname"
>
<el-input
v-model
.
trim=
"queryParams.medicalRecordNo"
clearable
...
...
@@ -20,8 +20,8 @@
/>
</el-form-item>
<el-form-item
v-if=
"!checkRole(['pt-admin'])"
style=
" margin-left: 3.25rem !important;"
prop=
"hospitalName"
>
<el-select
v-model=
"queryParams.hospitalName"
clearable
placeholder=
"所属医院"
>
<el-form-item
v-if=
"!checkRole(['pt-admin'])"
prop=
"hospitalName"
>
<el-select
v-model=
"queryParams.hospitalName"
:disabled=
"deptLevel === '2'"
clearable
placeholder=
"所属医院"
>
<el-option
v-for=
"item in HospitalList"
:key=
"item.hospitalId"
...
...
@@ -30,10 +30,10 @@
/>
</el-select>
</el-form-item>
<el-form-item
prop=
"doctor
Name
"
>
<el-form-item
prop=
"doctor
IdList
"
>
<el-select
v-if=
"!checkRole(['pt-admin'])"
v-model=
"
queryParams.
doctorIdList"
v-model=
"doctorIdList"
collapse-tags
multiple
clearable
...
...
@@ -234,13 +234,19 @@
import
{
listRecord
}
from
'@/api/business/record'
import
{
getDepartment
,
getDoctorment
,
getHospital
}
from
'@/api/business/register'
import
{
checkRole
}
from
'@/utils/permission'
import
{
mapGetters
}
from
'vuex'
export
default
{
name
:
'MedicalRecordManagement'
,
// 数据字典
dicts
:
[
'pet_insure'
],
computed
:
{
...
mapGetters
([
'deptLevel'
,
'deptId'
])
}
,
data
()
{
return
{
showHospitalName
:
''
,
doctorIdList
:
[],
// 所属科室下拉框字典写死
departmentList
:
[],
// 所属科室下拉框字典写死
...
...
@@ -287,7 +293,6 @@ export default {
nickname
:
null
,
petOwnerNumber
:
null
,
doctorIdList
:
[],
deptId
:
null
,
departmentId
:
null
,
diagnosticResults
:
null
,
visitNumber
:
null
,
...
...
@@ -332,7 +337,6 @@ export default {
// 设置查询查询参数
// this.queryParams.createBy = user.userName
// 这三个一块走
this
.
getList
()
this
.
getDoctorList
()
this
.
getDeptList
()
this
.
getHospitalList
()
...
...
@@ -365,9 +369,21 @@ export default {
/** 查询医生名字下拉*/
getHospitalList
()
{
getHospital
().
then
(({
data
}
)
=>
{
data
=
data
.
filter
(({
deptId
:
hospitalDept
}
)
=>
hospitalDept
===
this
.
user
.
deptId
)
data
=
data
.
filter
(({
deptId
:
hospitalDept
,
hospitalName
:
hosName
}
)
=>
{
if
(
this
.
deptLevel
===
'2'
)
{
if
(
hospitalDept
===
this
.
deptId
)
{
this
.
showHospitalName
=
hosName
return
hospitalDept
===
this
.
deptId
}
else
{
return
false
}
}
else
{
return
true
}
}
)
this
.
HospitalList
=
data
console
.
log
(
'这是我要的医院下拉框:'
,
this
.
HospitalList
)
this
.
getList
()
}
)
}
,
...
...
@@ -487,6 +503,10 @@ export default {
/** 查询病例管理列表 */
getList
()
{
this
.
loading
=
true
this
.
queryParams
.
doctorIdList
=
this
.
doctorIdList
.
join
(
','
)
if
(
this
.
deptLevel
===
'2'
)
{
this
.
queryParams
.
hospitalName
=
this
.
showHospitalName
}
listRecord
(
this
.
queryParams
).
then
(
response
=>
{
console
.
log
(
'这是我传的查询数据:'
,
this
.
queryParams
)
console
.
log
(
'病历列表的数据:'
,
response
)
...
...
@@ -556,7 +576,37 @@ export default {
}
,
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
'queryForm'
)
this
.
queryParams
=
{
orderByColumn
:
null
,
isAsc
:
null
,
// 排序方式声明
params
:
{
sort
:
null
}
,
pageNum
:
1
,
pageSize
:
20
,
petNickname
:
null
,
nickname
:
null
,
petOwnerNumber
:
null
,
doctorIdList
:
[],
deptId
:
null
,
departmentId
:
null
,
diagnosticResults
:
null
,
visitNumber
:
null
,
visitTime
:
null
,
visitOffice
:
null
,
visitInformation
:
null
,
orders
:
null
,
medicationInformation
:
null
,
petId
:
null
,
petOwnerId
:
null
,
doctorId
:
null
,
petJson
:
null
,
doctorJson
:
null
,
ownerJson
:
null
,
createBy
:
''
}
this
.
doctorIdList
=
[]
this
.
queryParams
.
isAsc
=
null
this
.
queryParams
.
isAsc
=
'desc'
this
.
handleQuery
()
...
...
@@ -589,13 +639,12 @@ export default {
.
form
-
style
{
margin
-
bottom
:
20
px
;
}
//搜索框病历框/昵称..宽度
.
nick
-
style
{
::
v
-
deep
.
el
-
form
-
item
nick
-
style
el
-
form
-
item
--
small
{
width
:
18.625
rem
;
}
::
v
-
deep
.
el
-
input__inner
{
width
:
18.625
rem
;
<
/style
>
<
style
lang
=
"scss"
>
.
med
-
petNickname
{
width
:
270
px
;
.
el
-
form
-
item__content
,
.
el
-
input
--
small
{
width
:
100
%
!
important
;
}
}
<
/style
>
src/views/service-management/hospitalization-management/hospitalization-details.vue
View file @
e8b011a4
...
...
@@ -201,7 +201,7 @@
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"手机号"
>
<el-input
v-model=
"detailInfo.
phoneNumber
"
placeholder=
"-"
disabled
/>
<el-input
v-model=
"detailInfo.
doctorPhone
"
placeholder=
"-"
disabled
/>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -346,7 +346,7 @@
<
/el-table-column
>
<
el
-
table
-
column
label
=
"天数"
align
=
"center"
prop
=
"actualDays"
>
<
template
slot
-
scope
=
"scope"
>
<
span
>
{{
scope
.
row
.
actualDays
+
'天'
||
'-'
}}
<
/span
>
<
span
>
{{
scope
.
row
.
actualDays
+
'天'
||
'-'
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"状态"
align
=
"center"
prop
=
"status"
>
...
...
@@ -391,23 +391,23 @@
<
/el-table-column
>
<
el
-
table
-
column
label
=
"当前余额"
align
=
"center"
prop
=
"moneyFormat"
>
<
template
slot
-
scope
=
"scope"
>
<
span
>
{{
moneyFormat
(
scope
.
row
.
amountAfterTrade
)
+
'元'
||
'-'
}}
<
/span
>
<
span
>
{{
moneyFormat
(
scope
.
row
.
amountAfterTrade
)
+
'元'
||
'-'
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
/div
>
<
div
v
-
if
=
"detailInfo.status<4"
style
=
"padding: 20px;"
>
<
el
-
button
v
-
hasPermi
=
"['business:hospital:edit']"
v
-
show
=
"detailInfo.status==='2'||detailInfo.status==='0'
"
class
=
"fourWordsBtn"
icon
=
"el-icon-check"
@
click
=
"handAdmission"
>
办理入院
<
/el-button
>
<
el
-
button
v
-
hasPermi
=
"['business:hospital:edit']"
v
-
show
=
"detailInfo.status==='3'
"
class
=
"fourWordsBtn"
icon
=
"el-icon-check"
@
click
=
"handDisCharge"
>
办理出院
<
/el-button
>
<
el
-
button
v
-
hasPermi
=
"['business:hospital:edit']"
v
-
show
=
"detailInfo.status==='3'
"
class
=
"fourWordsBtn"
icon
=
"el-icon-check"
@
click
=
"changeWard"
>
变更病房
<
/el-button
>
<
el
-
button
v
-
show
=
"detailInfo.status==='2'||detailInfo.status==='0'"
v
-
hasPermi
=
"['business:hospital:edit']
"
class
=
"fourWordsBtn"
icon
=
"el-icon-check"
@
click
=
"handAdmission"
>
办理入院
<
/el-button
>
<
el
-
button
v
-
show
=
"detailInfo.status==='3'"
v
-
hasPermi
=
"['business:hospital:edit']
"
class
=
"fourWordsBtn"
icon
=
"el-icon-check"
@
click
=
"handDisCharge"
>
办理出院
<
/el-button
>
<
el
-
button
v
-
show
=
"detailInfo.status==='3'"
v
-
hasPermi
=
"['business:hospital:edit']
"
class
=
"fourWordsBtn"
icon
=
"el-icon-check"
@
click
=
"changeWard"
>
变更病房
<
/el-button
>
<
el
-
button
class
=
"backBth"
icon
=
"el-icon-back"
@
click
=
"goBack"
>
返
回
<
/el-button
>
<
/div
>
<
div
v
-
else
style
=
"padding: 20px;"
>
<
el
-
button
class
=
"
backBthFive
"
icon
=
"el-icon-document-remove"
>
查看入院单
<
/el-button
>
<
el
-
button
class
=
"
backBthFive
"
icon
=
"el-icon-document-remove"
>
查看出院单
<
/el-button
>
<
el
-
button
class
=
"
backBth
"
icon
=
"el-icon-back"
@
click
=
"goBack"
>
返
回
<
/el-button
>
<
el
-
button
class
=
"
fourWordswhiteBtn
"
icon
=
"el-icon-document-remove"
>
查看入院单
<
/el-button
>
<
el
-
button
class
=
"
fourWordswhiteBtn
"
icon
=
"el-icon-document-remove"
>
查看出院单
<
/el-button
>
<
el
-
button
class
=
"
fourWordswhiteBtn
"
icon
=
"el-icon-back"
@
click
=
"goBack"
>
返
回
<
/el-button
>
<
/div
>
<
/el-form
>
<
/div
>
...
...
src/views/service-management/hospitalization-management/hospitalization-management.vue
View file @
e8b011a4
...
...
@@ -206,7 +206,7 @@
>
详情
<
/el-button
>
<
el
-
button
v
-
hasPermi
=
"['business:hospital:edit']"
v
-
if
=
"scope.row.status==='2'"
v
-
if
=
"scope.row.status==='2'
|| scope.row.status==='0'
"
icon
=
"el-icon-paperclip"
plain
size
=
"mini"
...
...
@@ -215,7 +215,7 @@
@
click
=
"handleadmission(scope.row)"
>
办理入院
<
/el-button
>
<
el
-
button
v
-
else
-
if
=
"scope.row.status==='1'
|| scope.row.status==='0'
"
v
-
else
-
if
=
"scope.row.status==='1'"
icon
=
"el-icon-paperclip"
plain
size
=
"mini"
...
...
@@ -475,7 +475,7 @@ export default {
if
(
this
.
ids
.
length
!==
0
)
{
const
exportTable
=
{
}
exportTable
.
inHospitalIds
=
this
.
ids
this
.
download
(
'business/hospital/export'
,
exportTable
,
`住院-${this.exportFormatTime(new Date())
}
.xlsx`
).
then
(
res
=>
{
this
.
download
(
'business/hospital/export'
,
exportTable
,
`住院
管理
-${this.exportFormatTime(new Date())
}
.xlsx`
).
then
(
res
=>
{
this
.
$refs
.
table
.
clearSelection
()
}
)
}
else
{
...
...
src/views/service-management/medical-record-management/check-detail.vue
View file @
e8b011a4
...
...
@@ -186,14 +186,16 @@
<span
class=
"title-text"
style=
"font-size: 16px;font-weight: bold;"
>
检查进度
</span>
</div>
<!-- 步骤条 -->
<div>
<el-steps
:active=
"schedule"
align-center
>
<el-step
title=
"开具处方单"
:description=
"parseTime(checkDetail.createTime, '{y}-{m}-{d} {h}:{i}')"
/>
<el-step
title=
"缴费开票"
:description=
"parseTime(checkDetail.payTime, '{y}-{m}-{d} {h}:{i}') || '暂未缴费'"
/>
<el-step
title=
"预约检查"
:description=
"parseTime(checkDetail.checkStartTime, '{y}-{m}-{d} {h}:{i}') || '暂未预约'"
/>
<el-step
title=
"检查获取报告"
:description=
"parseTime(checkDetail.reportTime, '{y}-{m}-{d} {h}:{i}') || '暂未检查'"
/>
</el-steps>
</div>
<!-- <div>-->
<!-- <el-steps :active="schedule" align-center>-->
<!-- <el-step title="开具处方单" :description="parseTime(checkDetail.createTime, '{y}-{m}-{d} {h}:{i}')" />-->
<!-- <el-step title="缴费开票" :description="parseTime(checkDetail.payTime, '{y}-{m}-{d} {h}:{i}') || '暂未缴费'" />-->
<!-- <el-step title="预约检查" :description="parseTime(checkDetail.checkStartTime, '{y}-{m}-{d} {h}:{i}') || '暂未预约'" />-->
<!-- <el-step title="检查获取报告" :description="parseTime(checkDetail.reportTime, '{y}-{m}-{d} {h}:{i}') || '暂未检查'" />-->
<!-- </el-steps>-->
<!-- </div>-->
<CheckSchedule
:scheduleKey=
"scheduleKey"
/>
<!-- 缴费信息 -->
<div
class=
"title-paragraph"
>
<span
class=
"title-text"
style=
"font-size: 16px;font-weight: bold;"
>
缴费信息
</span>
</div>
...
...
@@ -230,8 +232,8 @@
<div
style=
"padding-left: 10px;font-size: 16px;font-weight: bold;"
>
预约信息
</div>
<div
style=
"margin-left: auto;padding-right: 50px;"
>
<el-button
v-hasPermi=
"['business:check:subscribe']"
v-show=
"checkDetail.deviceId === null && !isPlatRole"
v-hasPermi=
"['business:check:subscribe']"
class=
"fourWordsBtn"
@
click=
"bookNow"
>
立即预约
</el-button>
...
...
@@ -344,9 +346,16 @@
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"影像报告"
label-width=
"84px"
>
<!-- <span>{{ checkDetail.shadowReport || '暂未上传' }}</span>-->
<el-button
v-show=
"checkDetail.shadowReport !== null && checkDetail.shadowReport !== ''"
class=
"fourWordsBtn"
@
click=
"viewTheReport"
>
查看报告
</el-button>
<span
v-show=
"checkDetail.shadowReport === null || checkDetail.shadowReport === ''"
>
{{ '暂未上传' }}
</span>
<!-- <el-button v-show="checkDetail.shadowReport !== null && checkDetail.shadowReport !== ''" class="fourWordsBtn" @click="viewTheReport">查看报告</el-button>-->
<span
v-if=
"checkDetail.shadowReport === null || checkDetail.shadowReport === ''"
>
{{ '暂未上传' }}
</span>
<el-link
v-else
:href=
"`${baseUrl}${checkDetail.shadowReport}`"
:underline=
"false"
target=
"_blank"
>
<span
class=
"el-icon-document"
>
{{ getFileName(checkDetail.shadowReport) }}
</span>
</el-link>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -383,9 +392,11 @@
import
{
parseTime
}
from
'@/utils/ruoyi'
import
{
updateCheck
}
from
'@/api/business/mdeicalRecord'
import
{
getManage
}
from
'@/api/business/manage'
import
CheckSchedule
from
'@/views/service-management/medical-record-management/check-schedule.vue'
export
default
{
name
:
'CheckDetail'
,
components
:
{
CheckSchedule
},
dicts
:
[
'pet_sex'
,
'sterilization_status'
,
'vaccine_situation'
,
'check_type'
],
data
()
{
return
{
...
...
@@ -426,7 +437,15 @@ export default {
value
:
'3'
,
label
:
'已检查'
}
]
],
// 进度条所需
scheduleKey
:
{
checkSchedule
:
''
,
// 查询进度
createTime
:
''
,
// 开具处方单
payTime
:
''
,
// 缴费开票
checkStartTime
:
''
,
// 预约检查
reportTime
:
''
// 检查报告获取
}
}
},
created
()
{
...
...
@@ -439,15 +458,21 @@ export default {
methods
:
{
parseTime
,
getCheckDetail
()
{
// const id = localStorage.getItem('checkId')
const
id
=
this
.
$route
.
query
.
checkId
console
.
log
(
'xddx'
,
id
)
getManage
(
id
).
then
(
response
=>
{
console
.
log
(
'od'
,
response
.
data
)
this
.
checkDetail
=
response
.
data
this
.
checkDetail
.
payAmount
=
this
.
keepTwoDecimals
(
this
.
checkDetail
.
payAmount
)
this
.
checkDetail
.
devicePrice
=
this
.
keepTwoDecimals
(
this
.
checkDetail
.
devicePrice
)
this
.
schedule
=
parseInt
(
this
.
checkDetail
.
checkSchedule
)
+
1
this
.
scheduleKey
=
{
checkSchedule
:
this
.
checkDetail
.
checkSchedule
,
createTime
:
this
.
checkDetail
.
createTime
,
payTime
:
this
.
checkDetail
.
payTime
,
checkStartTime
:
this
.
checkDetail
.
checkStartTime
,
reportTime
:
this
.
checkDetail
.
reportTime
}
console
.
log
(
'scheduleKey'
,
this
.
scheduleKey
)
})
},
// 金额保留两位小数
...
...
@@ -458,6 +483,14 @@ export default {
return
price
.
toFixed
(
2
)
}
},
// 获取文件名称
getFileName
(
name
)
{
if
(
name
.
lastIndexOf
(
'/'
)
>
-
1
)
{
return
name
.
slice
(
name
.
lastIndexOf
(
'/'
)
+
1
)
}
else
{
return
''
}
},
// 点击 预约信息-立即预约
bookNow
()
{
this
.
$router
.
push
({
...
...
@@ -528,7 +561,7 @@ export default {
border-left
:
5px
solid
#5FB54B
;
.title-text
{
margin-left
:
0px
;
margin-left
:
1
0px
;
}
}
.dialog-footer
{
...
...
@@ -547,4 +580,13 @@ export default {
.input-detail
{
width
:
392px
;
}
.el-icon-document
{
border
:
1px
solid
#e4e7ed
;
padding
:
10px
;
background-color
:
white
;
transition
:
background-color
0
.3s
ease
;
}
.el-icon-document
:hover
{
background-color
:
#f6f8fa
;
}
</
style
>
src/views/service-management/medical-record-management/check-schedule.vue
0 → 100644
View file @
e8b011a4
<
template
>
<!--进度信息模块封装-->
<div
class=
"schedule-info"
>
<!-- 1--tip样式-->
<!--
<div
class=
"progress-tip"
>
-->
<!--
<div
class=
"tip-green"
/>
-->
<!--
<div-->
<!-- class="tip-content"-->
<!-- >进度信息-->
<!--
</div>
-->
<!--
</div>
-->
<!-- 2--内容样式-->
<div
class=
"progress-base"
>
<div
class=
"display-base"
>
<!-- 1--单个的背景,,后面按状态位切换样式-->
<div
:class=
"[scheduleKey.checkSchedule === '0'? 'bkg-on' : 'bkg-off']"
>
<!--1.预约/现场挂号-->
<div
class=
"content-inner"
>
<div
class=
"avatar"
>
<el-image
:src=
"require('@/assets/register/xinzengguahao_yuyue@2x.png')"
/>
</div>
<div
class=
"title"
>
1.开具处方单
</div>
<div
v-if=
"scheduleKey.createTime !== null"
class=
"status-on"
>
{{
parseTime
(
scheduleKey
.
createTime
,
'{y
}
/{m
}
/{d
}
{h
}
:{i
}
'
)
}}
<
/div
>
<
div
v
-
else
class
=
"status-off"
>
暂未开具处方单
<
/div
>
<
/div
>
<
/div
>
<!--
箭头指示
-->
<
div
class
=
"arrow"
>
<
el
-
image
:
src
=
"require('@/assets/register/xinzengguahao_jaintou@2x.png')"
/>
<
/div
>
<!--
2
--
单个的背景
,,
后面按状态位切换样式
-->
<
div
:
class
=
"[scheduleKey.checkSchedule === '1'? 'bkg-on' : 'bkg-off']"
>
<!--
2
.
录入诊断信息
-->
<
div
class
=
"content-inner"
>
<
div
class
=
"avatar"
>
<
el
-
image
:
src
=
"require('@/assets/register/xinzengguahao_luru@2x.png')"
/>
<
/div
>
<
div
class
=
"title"
>
2
.
缴费开票
<
/div
>
<
div
v
-
if
=
"scheduleKey.payTime !== null"
class
=
"status-on"
>
{{
parseTime
(
scheduleKey
.
payTime
,
'{y
}
/{m
}
/{d
}
{h
}
:{i
}
'
)
}}
<
/div
>
<
div
v
-
else
class
=
"status-off"
>
暂未缴费
<
/div
>
<
/div
>
<
/div
>
<!--
箭头指示
-->
<
div
class
=
"arrow"
>
<
el
-
image
:
src
=
"require('@/assets/register/xinzengguahao_jaintou@2x.png')"
/>
<
/div
>
<!--
3
--
单个的背景
,,
后面按状态位切换样式
-->
<
div
:
class
=
"[scheduleKey.checkSchedule === '2'? 'bkg-on' : 'bkg-off']"
>
<!--
3
.
生成病历报告
-->
<
div
class
=
"content-inner"
>
<
div
class
=
"avatar"
>
<
el
-
image
:
src
=
"require('@/assets/register/xinzengguahao_shengchengbaogao@2x.png')"
/>
<
/div
>
<
div
class
=
"title"
>
3
.
预约检查
<
/div
>
<
div
v
-
if
=
"scheduleKey.checkStartTime !== null"
class
=
"status-on"
>
{{
parseTime
(
scheduleKey
.
checkStartTime
,
'{y
}
/{m
}
/{d
}
{h
}
:{i
}
'
)
}}
<
/div
>
<
div
v
-
else
class
=
"status-off"
>
暂未预约
<
/div
>
<
/div
>
<
/div
>
<!--
箭头指示
-->
<
div
class
=
"arrow"
>
<
el
-
image
:
src
=
"require('@/assets/register/xinzengguahao_jaintou@2x.png')"
/>
<
/div
>
<!--
4
--
单个的背景
,,
后面按状态位切换样式
-->
<
div
:
class
=
"[scheduleKey.checkSchedule === '3'? 'bkg-on' : 'bkg-off']"
>
<!--
4
.
开具处方单
-->
<
div
class
=
"content-inner"
>
<
div
class
=
"avatar"
>
<
el
-
image
:
src
=
"require('@/assets/register/xinzengguahao_kaichuangfdan@2x.png')"
/>
<
/div
>
<
div
class
=
"title"
>
4
.
检查获取报告
<
/div
>
<
div
v
-
if
=
"scheduleKey.reportTime !== null"
class
=
"status-on"
>
{{
parseTime
(
scheduleKey
.
reportTime
,
'{y
}
/{m
}
/{d
}
{h
}
:{i
}
'
)
}}
<
/div
>
<
div
v
-
else
class
=
"status-off"
>
暂未检查
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/template
>
<
script
>
export
default
{
name
:
'CheckSchedule'
,
props
:
{
scheduleKey
:
{
type
:
Object
}
,
data
()
{
return
{
}
}
}
}
<
/script
>
<
style
lang
=
"scss"
scoped
>
.
schedule
-
info
{
/*模块tip布局*/
.
progress
-
tip
{
display
:
flex
;
/*模块tip图形样式--左绿色*/
.
tip
-
green
{
width
:
3
px
;
height
:
24
px
;
background
:
#
5
FB54B
;
border
-
radius
:
10
px
10
px
10
px
10
px
;
}
/*模块tip内容样式*/
.
tip
-
content
{
padding
-
left
:
13
px
;
font
-
size
:
16
px
;
font
-
family
:
Microsoft
YaHei
-
Bold
,
Microsoft
YaHei
,
serif
;
font
-
weight
:
bold
;
color
:
#
333333
;
}
}
//进度条整体框架边距
.
progress
-
base
{
padding
-
top
:
50
px
;
padding
-
bottom
:
50
px
;
//进度条排列方向及顺序布局
.
display
-
base
{
display
:
flex
;
//当前触发的背景样式
.
bkg
-
on
{
width
:
260
px
;
height
:
143
px
;
background
:
#
F1F9EF
;
border
-
radius
:
4
px
4
px
4
px
4
px
;
opacity
:
1
;
}
//当前未触发的背景样式
.
bkg
-
off
{
width
:
260
px
;
height
:
143
px
;
background
:
#
FFFFFF
;
border
-
radius
:
4
px
4
px
4
px
4
px
;
opacity
:
1
;
border
:
1
px
solid
#
5
FB54B
;
}
//箭头样式
.
arrow
{
height
:
13
px
;
width
:
104
px
;
margin
:
65
px
22
px
65
px
22
px
;
}
//状态触发状态
.
status
-
on
{
font
-
size
:
12
px
;
font
-
family
:
Microsoft
YaHei
-
Regular
,
Microsoft
YaHei
;
font
-
weight
:
400
;
color
:
#
5
FB54B
;
}
//状态未触发状态
.
status
-
off
{
font
-
size
:
12
px
;
font
-
family
:
Microsoft
YaHei
-
Regular
,
Microsoft
YaHei
;
font
-
weight
:
400
;
color
:
#
AFAFAF
;
}
//头像
.
avatar
{
width
:
44
px
;
height
:
44
px
;
margin
-
bottom
:
14
px
;
}
//标题
.
title
{
font
-
size
:
14
px
;
font
-
family
:
Microsoft
YaHei
-
Bold
,
Microsoft
YaHei
;
font
-
weight
:
bold
;
color
:
#
333333
;
margin
-
bottom
:
14
px
;
}
//预约/挂号
.
content
-
inner
{
display
:
flex
;
align
-
items
:
center
;
flex
-
direction
:
column
;
padding
-
top
:
18
px
;
}
}
}
}
<
/style
>
src/views/service-management/medical-record-management/check-subscribe.vue
View file @
e8b011a4
...
...
@@ -200,8 +200,8 @@
placeholder=
"请选择检查日期"
format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
@
change=
"changeDate"
:picker-options=
"pickerOptions"
@
change=
"changeDate"
/>
</el-form-item>
</el-col>
...
...
@@ -273,7 +273,7 @@ export default {
const
today
=
new
Date
()
const
maxDate
=
new
Date
()
maxDate
.
setDate
(
today
.
getDate
()
+
14
)
return
time
.
getTime
()
<
(
today
.
getTime
()
-
1000
*
3600
*
24
)
||
time
.
getTime
()
>
maxDate
.
getTime
(
)
return
time
.
getTime
()
<
(
today
.
getTime
()
-
1000
*
3600
*
24
)
||
time
.
getTime
()
>
(
maxDate
.
getTime
()
-
1000
*
3600
*
24
)
}
}
,
checkDetail
:
{
}
,
...
...
src/views/service-management/medical-record-management/medical-record-management.vue
View file @
e8b011a4
...
...
@@ -235,8 +235,8 @@
>
详情
<
/el-button
>
<
el
-
button
v
-
hasPermi
=
"['business:check:subscribe']"
v
-
if
=
"!isPlatRole"
v
-
hasPermi
=
"['business:check:subscribe']"
style
=
"width: 80px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(255, 157, 78);color: #FF9D4E;background: rgba(255,157,78,0.08);"
size
=
"mini"
type
=
"success"
...
...
@@ -298,8 +298,8 @@
placeholder
=
"请选择检查日期"
format
=
"yyyy-MM-dd"
value
-
format
=
"yyyy-MM-dd"
@
change
=
"changeDate"
:
picker
-
options
=
"pickerOptions"
@
change
=
"changeDate"
/>
<
/el-form-item
>
<
/el-col
>
...
...
@@ -380,7 +380,7 @@ export default {
const
today
=
new
Date
()
const
maxDate
=
new
Date
()
maxDate
.
setDate
(
today
.
getDate
()
+
14
)
return
time
.
getTime
()
<
(
today
.
getTime
()
-
1000
*
3600
*
24
)
||
time
.
getTime
()
>
maxDate
.
getTime
(
)
return
time
.
getTime
()
<
(
today
.
getTime
()
-
1000
*
3600
*
24
)
||
time
.
getTime
()
>
(
maxDate
.
getTime
()
-
1000
*
3600
*
24
)
}
}
,
isPlatRole
:
false
,
...
...
src/views/service-management/registration-queue/components/choose-pet.vue
View file @
e8b011a4
...
...
@@ -68,12 +68,12 @@
</el-table-column>
<el-table-column
label=
"会员等级"
min-width=
"80"
prop=
"membershipLevel"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
membershipLevel
||
'-'
}}
</span>
<span>
{{
membershipLeveMap
[
scope
.
row
.
membershipLevel
]
||
'-'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"会员卡余额"
min-width=
"80"
prop=
"balance"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
balance
||
'0.00'
}}
元
</span>
<span>
{{
moneyFormat
(
scope
.
row
.
balance
)
||
'0.00'
}}
元
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"宠物昵称"
min-width=
"80"
prop=
"petNickname"
show-overflow-tooltip
>
...
...
@@ -120,7 +120,7 @@
<
script
>
import
{
getPetInfo
}
from
'@/api/business/registration'
import
{
deepClone
}
from
'@/utils'
import
{
deepClone
,
moneyFormat
}
from
'@/utils'
export
default
{
// 数据字典
...
...
@@ -134,6 +134,14 @@ export default {
},
data
()
{
return
{
// 会员等级下拉框
membershipLeveMap
:
{
'1'
:
'一级会员'
,
'2'
:
'二级会员'
,
'3'
:
'三级会员'
,
'4'
:
'四级会员'
,
'5'
:
'五级会员'
},
chooseForm
:
{
petStatus
:
''
},
...
...
@@ -185,6 +193,7 @@ export default {
// this.getList()
},
methods
:
{
moneyFormat
,
handleInput
(
value
)
{
const
newValue
=
value
.
replace
(
/
\s
/g
,
''
)
this
.
queryParams
.
phone
=
newValue
...
...
src/views/service-management/registration-queue/components/doctor-detail.vue
View file @
e8b011a4
...
...
@@ -44,17 +44,21 @@
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"name"
label=
"证书"
>
<el-image
style=
"width: 100px; height: 100px"
:src=
"baseURL+doctorForm.certificateUrl"
/>
<span
v-if=
"doctorForm.certificateUrl===null || doctorForm.certificateUrl===''"
>
-
</span>
<div
v-else
>
<el-image
style=
"width: 100px; height: 100px"
:src=
"baseURL+doctorForm.certificateUrl"
/>
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"name"
label=
"门诊诊查费"
>
<div
style=
"display: flex;"
>
<el-input
v-model=
"doctorForm.examinationFee"
:disabled=
"true"
maxlength=
"20"
/>
<div
style=
"margin-left: 10px;"
>
元
</div></div>
<div
style=
"margin-left: 10px;"
>
元
</div>
</div>
</el-form-item>
</el-col>
</el-row>
...
...
src/views/service-management/registration-queue/registration-add.vue
View file @
e8b011a4
...
...
@@ -588,7 +588,6 @@ export default {
},
// 选择已有宠物, 表单不可编辑
handleChoose
()
{
this
.
reSetPetForm
()
this
.
isEdit
=
false
this
.
showPetModle
=
true
this
.
form
.
petStatus
=
'2'
...
...
@@ -599,6 +598,7 @@ export default {
this
.
showPetModle
=
false
},
petChoose
(
chooseData
)
{
this
.
reSetPetForm
()
console
.
log
(
'chooseData'
,
chooseData
)
const
petData
=
chooseData
.
petBo
// 宠物信息
const
petOwnerBo
=
chooseData
.
petOwnerBo
// 宠主信息
...
...
src/views/service-management/registration-queue/registration-queue.vue
View file @
e8b011a4
...
...
@@ -129,6 +129,7 @@
:header-cell-style=
"
{background:'#F4F4F4'}"
:data="registerList"
@select="selectChange"
@select-all="selectChange"
>
<el-table-column
align=
"center"
type=
"selection"
width=
"55"
/>
<el-table-column
align=
"left"
label=
"序号"
min-width=
"55"
prop=
"index"
show-overflow-tooltip
type=
"index"
/>
...
...
@@ -205,7 +206,7 @@
v
-
hasPermi
=
"['business:registration:edit']"
icon
=
"el-icon-paperclip"
plain
:
disabled
=
"scope.row.isAdd === '1'"
size
=
"mini"
class
=
"el-button--warning--solid--four"
type
=
"warning"
...
...
@@ -296,6 +297,8 @@ export default {
loading
:
true
,
// 选中数组
ids
:
[],
// 所有挂号信息ID(用于辅助, 里面的数据永远不变, 除了 新增/删除 数据时)
idsForever
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
...
...
@@ -388,6 +391,7 @@ export default {
// 获取全部挂号的id
this
.
registerIds
=
response
.
rows
.
idList
this
.
registerIdsForever
=
response
.
rows
.
idList
this
.
idsForever
=
response
.
rows
.
idList
console
.
log
(
'这是我要调的挂号列表内容:'
,
this
.
registerList
)
this
.
total
=
response
.
total
this
.
loading
=
false
...
...
@@ -473,12 +477,9 @@ export default {
// 选择全部
checkAll
()
{
this
.
registerIds
=
this
.
registerIdsForever
// 标志位, 使得@select回调函数判断往哪个临时集合里添加
this
.
isCheckAll
=
true
this
.
ids
=
this
.
idsForever
// 调用手动勾选
this
.
manualCheck
()
console
.
log
(
'全部选择'
,
this
.
isCheckAll
)
}
,
// 手动勾选
manualCheck
()
{
...
...
@@ -486,54 +487,36 @@ export default {
this
.
$nextTick
().
then
(()
=>
{
// 当前页结合数据的id只要在临时集合里,就使得复选框勾选
this
.
registerList
.
forEach
(
item
=>
{
if
(
this
.
isCheckAll
)
{
if
(
this
.
registerIds
.
includes
(
item
.
id
))
{
this
.
$refs
.
table
.
toggleRowSelection
(
item
,
true
)
}
if
(
this
.
ids
.
includes
(
item
.
id
))
{
this
.
$refs
.
table
.
toggleRowSelection
(
item
,
true
)
}
else
{
if
(
this
.
registerEmptyIds
.
includes
(
item
.
id
))
{
this
.
$refs
.
table
.
toggleRowSelection
(
item
,
true
)
}
this
.
$refs
.
table
.
toggleRowSelection
(
item
,
false
)
}
}
)
}
)
}
,
// 反向选择(把永久临时集合和变化的临时集合做减法重新赋给变化的临时集合赋给)
reverseSelection
()
{
cons
ole
.
log
(
'永久的集合'
,
this
.
registerIdsForever
)
console
.
log
(
'临时集合'
,
this
.
registerEmptyIds
)
if
(
this
.
isCheckAll
)
{
this
.
registerEmptyIds
=
this
.
registerIdsForever
.
filter
(
id
=>
!
this
.
registerIds
.
includes
(
id
))
}
else
{
this
.
registerEmptyIds
=
this
.
registerIdsForever
.
filter
(
id
=>
!
this
.
registerEmptyIds
.
includes
(
id
))
}
this
.
i
sCheckAll
=
false
this
.
getList
()
cons
t
temp
=
[]
this
.
registerList
.
forEach
(
item
=>
{
console
.
log
(
this
.
ids
.
includes
(
item
.
id
))
if
(
!
this
.
ids
.
includes
(
item
.
id
))
{
temp
.
push
(
item
.
id
)
}
}
)
this
.
i
ds
=
temp
this
.
manualCheck
()
}
,
// 表格当前手动勾选的
// 表格当前手动勾选的
selectChange
(
selection
,
row
)
{
console
.
log
(
'selectChange'
,
selection
,
'----'
,
row
)
if
(
this
.
isCheckAll
)
{
// 判断当前选中的存不存在,存在删除;不存在添加
if
(
this
.
registerIds
.
includes
(
row
.
id
))
{
this
.
registerIds
=
this
.
registerIds
.
filter
(
id
=>
id
!==
row
.
id
)
console
.
log
(
'filter'
,
this
.
registerIds
.
filter
(
id
=>
id
!==
row
.
id
))
}
else
{
this
.
registerIds
.
push
(
row
.
id
)
}
}
else
{
if
(
this
.
registerEmptyIds
.
includes
(
row
.
id
))
{
this
.
registerEmptyIds
=
this
.
registerEmptyIds
.
filter
(
id
=>
id
!==
row
.
id
)
}
else
{
this
.
registerEmptyIds
.
push
(
row
.
id
)
}
}
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
console
.
log
(
'this.ids'
,
this
.
ids
)
const
temp
=
[]
selection
.
forEach
(
item
=>
{
temp
.
push
(
item
.
id
)
}
)
this
.
ids
=
temp
}
,
/** 功能按钮--导出按钮操作 */
handleExport
()
{
if
(
this
.
ids
.
length
!==
0
)
{
...
...
src/views/service-management/treatment-management/treatment-detail.vue
View file @
e8b011a4
This diff is collapsed.
Click to expand it.
src/views/service-management/treatment-management/treatment-management.vue
View file @
e8b011a4
...
...
@@ -57,16 +57,16 @@
>
选择全部
</el-button>
<el-button
class=
"fourWordswhiteBtn"
v-hasPermi=
"['business:manage:export']"
class=
"fourWordswhiteBtn"
icon=
"el-icon-back"
size=
"mini"
@
click=
"reverseSelect(treatmentList)"
>
反向选择
</el-button>
<el-button
class=
"fourWordswhiteBtn"
v-hasPermi=
"['business:manage:export']"
class=
"fourWordswhiteBtn"
icon=
"el-icon-upload2"
size=
"mini"
@
click=
"handleExport"
...
...
@@ -192,15 +192,14 @@
@
click
=
"handleDetails(scope.row)"
>
详情
<
/el-button
>
<
el
-
button
v
-
if
=
"scope.row.treatSchedule === '1' && (scope.row.payType === '1' || scope.row.payType === '2')"
v
-
hasPermi
=
"['business:treat:distribution']"
v
-
if
=
"scope.row.treatSchedule === '1' && scope.row.payType === '1' && scope.row.payType === '2'"
class
=
"bookNow"
size
=
"mini"
icon
=
"el-icon-orange"
@
click
=
"handleSubscribe(scope.row)"
>
分配诊室
<
/el-button
>
<
el
-
button
v
-
hasPermi
=
"['business:treat:distribution']"
v
-
else
class
=
"bookNowNo"
size
=
"mini"
...
...
@@ -274,7 +273,11 @@
style
=
"width: 100%"
:
header
-
cell
-
style
=
"{background:'#F4F4F4'
}
"
>
<
el
-
table
-
column
prop
=
"consultRoomName"
align
=
"left"
label
=
"诊室名称"
/>
<
el
-
table
-
column
prop
=
"consulting_name"
align
=
"left"
label
=
"诊室名称"
>
<
template
slot
-
scope
=
"scope"
>
<
span
>
{{
scope
.
row
.
consulting_name
||
'-'
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"treatStartTime"
align
=
"left"
label
=
"治疗日期"
>
<
template
slot
-
scope
=
"scope"
>
<
span
>
{{
parseTime
(
scope
.
row
.
useDate
,
'{y
}
/{m
}
/{d
}
'
)
||
'-'
}}
<
/span
>
...
...
@@ -290,7 +293,11 @@
<
span
>
{{
scope
.
row
.
useTimeRange
||
'-'
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"userName"
align
=
"left"
label
=
"治疗负责人"
/>
<
el
-
table
-
column
prop
=
"userName"
align
=
"left"
label
=
"治疗负责人"
>
<
template
slot
-
scope
=
"scope"
>
<
span
>
{{
scope
.
row
.
duration
+
'h'
||
'-'
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
pagination
v
-
show
=
"useTotal>0"
...
...
@@ -360,39 +367,30 @@
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"8"
>
<
el
-
form
-
item
label
=
"开始时间"
prop
=
"sTime"
>
<
el
-
time
-
select
v
-
model
=
"reservationForm.sTime"
style
=
"width: 150px"
is
-
range
placeholder
=
"请选择治疗开始时间"
format
=
"HH:mm"
value
-
format
=
"HH:mm"
:
picker
-
options
=
"{
start: '00:00',
step: '01:00',
end: '12:00',
maxTime:reservationForm.eTime
}
"
<
el
-
form
-
item
label
=
"开始时间"
prop
=
"startTime"
>
<
el
-
cascader
v
-
model
=
"reservationForm.startTime"
:
options
=
"timeOptions"
placeholder
=
"请选择开始时间"
@
change
=
"calculateEndTime"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"8"
>
<
el
-
form
-
item
label
=
"结束时间"
prop
=
"eTime"
>
<
el
-
time
-
select
v
-
model
=
"reservationForm.eTime"
style
=
"width: 150px"
is
-
range
placeholder
=
"请选择治疗结束时间"
format
=
"HH:mm"
value
-
format
=
"HH:mm"
:
picker
-
options
=
"{
start: '00:00',
step: '01:00',
end: '12:00',
minTime:reservationForm.sTime
}
"
/>
<
el
-
form
-
item
label
=
"治疗时长"
prop
=
"duration"
>
<
el
-
select
v
-
model
=
"reservationForm.duration"
placeholder
=
"请选择治疗时长"
@
change
=
"calculateEndTime"
>
<
el
-
option
v
-
for
=
"option in durationOptions"
:
key
=
"option"
:
label
=
"option + 'h'"
:
value
=
"option"
/>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"8"
>
<
el
-
form
-
item
label
=
"结束时间"
>
<
span
>
{{
reservationForm
.
eTime
}}
<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
...
...
@@ -425,6 +423,24 @@ export default {
dicts
:
[
'check_type'
,
'pet_insure'
,
'payment_status'
,
'payment_status'
,
'treat_type'
],
data
()
{
return
{
timeOptions
:
Array
.
from
({
length
:
24
}
,
(
_
,
i
)
=>
{
const
hour
=
i
.
toString
().
padStart
(
2
,
'0'
)
return
{
value
:
hour
,
label
:
hour
,
children
:
[
{
value
:
'00'
,
label
:
'00'
}
,
{
value
:
'30'
,
label
:
'30'
}
]
}
}
),
durationOptions
:
[
0.5
,
1
,
1.5
,
2
,
2.5
,
3
,
3.5
,
4
,
4.5
,
5
,
5.5
,
6
],
// 使用人下拉框
userNameList
:
[],
// 使用记录分页
...
...
@@ -476,10 +492,10 @@ export default {
userName
:
[
{
required
:
true
,
message
:
'请选择治疗负责人'
,
trigger
:
'change'
}
],
sTime
:
[
{
required
:
true
,
message
:
'请选择开始时间'
,
trigger
:
'change'
}
s
tart
Time
:
[
{
required
:
true
,
message
:
'请选择
治疗
开始时间'
,
trigger
:
'change'
}
],
eTime
:
[
duration
:
[
{
required
:
true
,
message
:
'请选择结束时间'
,
trigger
:
'change'
}
]
}
,
...
...
@@ -505,8 +521,10 @@ export default {
treatType
:
'0'
,
userId
:
''
,
userName
:
''
,
startTime
:
[],
sTime
:
''
,
eTime
:
''
eTime
:
'-'
,
duration
:
''
}
,
// 分配诊室搜索预约记录
allocationForm
:
{
...
...
@@ -557,6 +575,35 @@ export default {
// this.getTreatmentDropdown()
}
,
methods
:
{
sTimeValid
(
rule
,
value
,
callback
)
{
if
(
this
.
startTime
.
length
===
0
)
{
callback
(
new
Error
(
'请选择开始时间'
))
}
}
,
// 计算结束时间
calculateEndTime
()
{
if
(
this
.
reservationForm
.
startTime
.
length
===
2
&&
this
.
reservationForm
.
duration
)
{
const
startHour
=
Number
(
this
.
reservationForm
.
startTime
[
0
])
const
startMinute
=
Number
(
this
.
reservationForm
.
startTime
[
1
])
const
duration
=
Number
(
this
.
reservationForm
.
duration
)
this
.
reservationForm
.
sTime
=
startHour
+
':'
+
startMinute
let
endHour
=
startHour
+
Math
.
floor
(
duration
)
let
endMinute
=
startMinute
+
(
duration
%
1
)
*
60
if
(
endMinute
>=
60
)
{
endHour
+=
1
endMinute
-=
60
}
if
(
endHour
>=
24
)
{
this
.
reservationForm
.
eTime
=
`${endHour % 24
}
:${endMinute.toString().padStart(2, '0')
}
(+1)`
}
else
{
this
.
reservationForm
.
eTime
=
`${endHour
}
:${endMinute.toString().padStart(2, '0')
}
`
}
}
else
{
this
.
reservationForm
.
eTime
=
'-'
}
}
,
// 表单选择框对齐
cellClass
(
row
)
{
if
(
row
.
columnIndex
===
0
)
{
...
...
src/views/service-management/treatment-management/treatment-schedule.vue
0 → 100644
View file @
e8b011a4
<
template
>
<!--进度信息模块封装-->
<div
class=
"schedule-info"
>
<!-- 1--tip样式-->
<!--
<div
class=
"progress-tip"
>
-->
<!--
<div
class=
"tip-green"
/>
-->
<!--
<div-->
<!-- class="tip-content"-->
<!-- >进度信息-->
<!--
</div>
-->
<!--
</div>
-->
<!-- 2--内容样式-->
<div
class=
"progress-base"
>
<div
class=
"display-base"
>
<!-- 1--单个的背景,,后面按状态位切换样式-->
<div
:class=
"[scheduleKey.checkSchedule === '0'? 'bkg-on' : 'bkg-off']"
>
<!--1.预约/现场挂号-->
<div
class=
"content-inner"
>
<div
class=
"avatar"
>
<el-image
:src=
"require('@/assets/register/xinzengguahao_yuyue@2x.png')"
/>
</div>
<div
class=
"title"
>
1.开具处方单
</div>
<div
v-if=
"scheduleKey.createTime !== null"
class=
"status-on"
>
{{
parseTime
(
scheduleKey
.
createTime
,
'{y
}
/{m
}
/{d
}
{h
}
:{i
}
'
)
}}
<
/div
>
<
div
v
-
else
class
=
"status-off"
>
暂未开具处方单
<
/div
>
<
/div
>
<
/div
>
<!--
箭头指示
-->
<
div
class
=
"arrow"
>
<
el
-
image
:
src
=
"require('@/assets/register/xinzengguahao_jaintou@2x.png')"
/>
<
/div
>
<!--
2
--
单个的背景
,,
后面按状态位切换样式
-->
<
div
:
class
=
"[scheduleKey.checkSchedule === '1'? 'bkg-on' : 'bkg-off']"
>
<!--
2
.
录入诊断信息
-->
<
div
class
=
"content-inner"
>
<
div
class
=
"avatar"
>
<
el
-
image
:
src
=
"require('@/assets/register/xinzengguahao_luru@2x.png')"
/>
<
/div
>
<
div
class
=
"title"
>
2
.
缴费开票
<
/div
>
<
div
v
-
if
=
"scheduleKey.payTime !== null"
class
=
"status-on"
>
{{
parseTime
(
scheduleKey
.
payTime
,
'{y
}
/{m
}
/{d
}
{h
}
:{i
}
'
)
}}
<
/div
>
<
div
v
-
else
class
=
"status-off"
>
暂未缴费
<
/div
>
<
/div
>
<
/div
>
<!--
箭头指示
-->
<
div
class
=
"arrow"
>
<
el
-
image
:
src
=
"require('@/assets/register/xinzengguahao_jaintou@2x.png')"
/>
<
/div
>
<!--
3
--
单个的背景
,,
后面按状态位切换样式
-->
<
div
:
class
=
"[scheduleKey.checkSchedule === '2'? 'bkg-on' : 'bkg-off']"
>
<!--
3
.
生成病历报告
-->
<
div
class
=
"content-inner"
>
<
div
class
=
"avatar"
>
<
el
-
image
:
src
=
"require('@/assets/register/xinzengguahao_shengchengbaogao@2x.png')"
/>
<
/div
>
<
div
class
=
"title"
>
3
.
分配诊室
<
/div
>
<
div
v
-
if
=
"scheduleKey.consultRoomTime !== null"
class
=
"status-on"
>
{{
parseTime
(
scheduleKey
.
consultRoomTime
,
'{y
}
/{m
}
/{d
}
{h
}
:{i
}
'
)
}}
<
/div
>
<
div
v
-
else
class
=
"status-off"
>
暂未预约
<
/div
>
<
/div
>
<
/div
>
<!--
箭头指示
-->
<
div
class
=
"arrow"
>
<
el
-
image
:
src
=
"require('@/assets/register/xinzengguahao_jaintou@2x.png')"
/>
<
/div
>
<!--
4
--
单个的背景
,,
后面按状态位切换样式
-->
<
div
:
class
=
"[scheduleKey.checkSchedule === '3'? 'bkg-on' : 'bkg-off']"
>
<!--
4
.
开具处方单
-->
<
div
class
=
"content-inner"
>
<
div
class
=
"avatar"
>
<
el
-
image
:
src
=
"require('@/assets/register/xinzengguahao_kaichuangfdan@2x.png')"
/>
<
/div
>
<
div
class
=
"title"
>
4
.
治疗
<
/div
>
<
div
v
-
if
=
"scheduleKey.reportTime !== null"
class
=
"status-on"
>
{{
parseTime
(
scheduleKey
.
reportTime
,
'{y
}
/{m
}
/{d
}
{h
}
:{i
}
'
)
}}
<
/div
>
<
div
v
-
else
class
=
"status-off"
>
暂未治疗
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/template
>
<
script
>
export
default
{
name
:
'TreatmentSchedule'
,
props
:
{
scheduleKey
:
{
type
:
Object
}
,
data
()
{
return
{
}
}
}
}
<
/script
>
<
style
lang
=
"scss"
scoped
>
.
schedule
-
info
{
/*模块tip布局*/
.
progress
-
tip
{
display
:
flex
;
/*模块tip图形样式--左绿色*/
.
tip
-
green
{
width
:
3
px
;
height
:
24
px
;
background
:
#
5
FB54B
;
border
-
radius
:
10
px
10
px
10
px
10
px
;
}
/*模块tip内容样式*/
.
tip
-
content
{
padding
-
left
:
13
px
;
font
-
size
:
16
px
;
font
-
family
:
Microsoft
YaHei
-
Bold
,
Microsoft
YaHei
,
serif
;
font
-
weight
:
bold
;
color
:
#
333333
;
}
}
//进度条整体框架边距
.
progress
-
base
{
padding
-
top
:
50
px
;
padding
-
bottom
:
50
px
;
//进度条排列方向及顺序布局
.
display
-
base
{
display
:
flex
;
//当前触发的背景样式
.
bkg
-
on
{
width
:
260
px
;
height
:
143
px
;
background
:
#
F1F9EF
;
border
-
radius
:
4
px
4
px
4
px
4
px
;
opacity
:
1
;
}
//当前未触发的背景样式
.
bkg
-
off
{
width
:
260
px
;
height
:
143
px
;
background
:
#
FFFFFF
;
border
-
radius
:
4
px
4
px
4
px
4
px
;
opacity
:
1
;
border
:
1
px
solid
#
5
FB54B
;
}
//箭头样式
.
arrow
{
height
:
13
px
;
width
:
104
px
;
margin
:
65
px
22
px
65
px
22
px
;
}
//状态触发状态
.
status
-
on
{
font
-
size
:
12
px
;
font
-
family
:
Microsoft
YaHei
-
Regular
,
Microsoft
YaHei
;
font
-
weight
:
400
;
color
:
#
5
FB54B
;
}
//状态未触发状态
.
status
-
off
{
font
-
size
:
12
px
;
font
-
family
:
Microsoft
YaHei
-
Regular
,
Microsoft
YaHei
;
font
-
weight
:
400
;
color
:
#
AFAFAF
;
}
//头像
.
avatar
{
width
:
44
px
;
height
:
44
px
;
margin
-
bottom
:
14
px
;
}
//标题
.
title
{
font
-
size
:
14
px
;
font
-
family
:
Microsoft
YaHei
-
Bold
,
Microsoft
YaHei
;
font
-
weight
:
bold
;
color
:
#
333333
;
margin
-
bottom
:
14
px
;
}
//预约/挂号
.
content
-
inner
{
display
:
flex
;
align
-
items
:
center
;
flex
-
direction
:
column
;
padding
-
top
:
18
px
;
}
}
}
}
<
/style
>
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