Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
frontend-h5
Project
Project
Details
Activity
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
songrui
frontend-h5
Commits
e8b450ff
Commit
e8b450ff
authored
Jan 14, 2025
by
gengchunlei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
医生端小程序 v1.2 1、死亡记录详情
parent
41f28548
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
289 additions
and
10 deletions
+289
-10
death.js
src/api/doctor/death.js
+6
-0
Detail.vue
src/doctor/deathRecord/detail/Detail.vue
+264
-5
DeathRecordForm.vue
src/doctor/deathRecord/form/DeathRecordForm.vue
+1
-4
Index.vue
src/doctor/deathRecord/form/Index.vue
+12
-1
PatientDetail.vue
src/doctor/patientDetail/PatientDetail.vue
+1
-0
index.js
src/router/index.js
+5
-0
No files found.
src/api/doctor/death.js
View file @
e8b450ff
...
@@ -3,4 +3,9 @@ import {fetchBase} from '@/api/doctor/doctorFetch'
...
@@ -3,4 +3,9 @@ import {fetchBase} from '@/api/doctor/doctorFetch'
// 保存死亡记录
// 保存死亡记录
export
function
saveResidentsDeath
(
params
)
{
export
function
saveResidentsDeath
(
params
)
{
return
fetchBase
({
url
:
`/chronic-admin/v1/chronic-residents-death/save`
,
body
:
params
,
loading
:
true
})
return
fetchBase
({
url
:
`/chronic-admin/v1/chronic-residents-death/save`
,
body
:
params
,
loading
:
true
})
}
// 查询死亡记录
export
function
getResidentsDeath
(
params
)
{
return
fetchBase
({
url
:
`/chronic-admin/v1/chronic-residents-death/info-record`
,
body
:
params
,
loading
:
true
})
}
}
\ No newline at end of file
src/doctor/deathRecord/detail/Detail.vue
View file @
e8b450ff
<!--死亡记录详情-->
<
template
>
<
template
>
<div
class=
'flex flex-col'
style=
'height: 100vh'
>
<div
class=
'p-3 text-black text-center shrink-0 doc-nav-bar'
>
<span
@
click=
'onBack'
class=
'text-12 back-bt'
>
<doc-icon
type=
'doc-left2'
/>
</span>
<span>
死亡记录详情
</span>
</div>
<div
class=
'p-3 grow cont-box'
>
<div
class=
'p-3 h-full cont-inner'
>
<div
class=
'flex justify-between collapse-head mt-2'
>
<span
class=
'text-16 font-semibold'
>
全部内容
</span>
<span
@
click=
'toggleAll'
>
<span
v-if=
'!collapseAll'
>
展开全部
</span>
<span
v-else
>
收起全部
</span>
<span
:class=
"['ml-2 icon-down',
{ 'icon-down-expanded': collapseAll }]">
<doc-icon
type=
'doc-down'
/>
</span>
</span>
</div>
<van-collapse
:model-value=
'activeCollapse'
ref=
'collapse'
class=
'doc-collapse'
@
change=
'collapseChange'
>
<van-collapse-item
key=
'1'
title=
'居民信息'
name=
'1'
>
<template
#
right-icon
>
<doc-icon
type=
'doc-down'
/>
</
template
>
<div
class=
'list'
>
<div
v-for=
'item in columnsBase'
:key=
'item.key'
>
<div
class=
'flex justify-between py-1 border-bottom item'
>
<span
class=
'shrink-0 mr-2 label'
>
{{ item.title }}
</span>
<span
v-if=
"item.key === 'idCard'"
>
{{ $idCardHide(residentInfo.idCard) || '-'
}}
</span>
<span
class=
'text-end'
v-else
>
<span>
{{ residentInfo[item.key] || '-' }}
</span>
<span
v-if=
'item.unit'
class=
'ml-1'
>
{{ item.unit }}
</span>
</span>
</div>
</div>
</div>
</van-collapse-item>
<van-collapse-item
key=
'2'
title=
'死亡信息'
name=
'2'
>
<
template
#
right-icon
>
<doc-icon
type=
'doc-down'
/>
</
template
>
<div
class=
'list'
>
<div
class=
'flex justify-between py-1 border-bottom item'
>
<span
class=
'shrink-0 mr-2 label'
>
死亡日期
</span>
<span
class=
'text-end'
>
<span>
{{ info.deathDate || '-' }}
</span>
</span>
</div>
<div
class=
'flex flex-col py-1 border-bottom item'
>
<div
class=
'shrink-0 mr-2 label'
>
死亡原因
</div>
<div
class=
'reason-bg'
>
{{info.deathReasonStr}}
</div>
</div>
</div>
</van-collapse-item>
<!-- <van-collapse-item key='3' title='录入机构' name='3'>
<template #right-icon>
<doc-icon type='doc-down' />
</template>
<div class='list'>
<div v-for='item in columnsOrg' :key='item.key'>
<div class='flex justify-between py-1 border-bottom item'>
<span class='shrink-0 mr-2 label'>{{ item.title }}</span>
<span class='text-end'>
<span>{{ info[item.key] || '-' }}</span>
</span>
</div>
</div>
</div>
</van-collapse-item>-->
</van-collapse>
</div>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
Mp3
from
'@/doctor/components/mediaPlay/Mp3.vue'
import
Mp4
from
'@/doctor/components/mediaPlay/Mp4.vue'
import
ImagePreview
from
'@/residentWX/components/imagePreview/imagePreview'
import
{
fetchCurrencyById
,
messageResend
}
from
'@/api/doctor/generalFU'
import
{
getTemplateDetail
}
from
'@/api/doctor/workbench'
import
{
getResidentsDeath
}
from
'@/api/doctor/death'
export
default
{
export
default
{
name
:
'Detail'
name
:
'CurrencyFUDetail.vue'
,
components
:
{
},
data
()
{
return
{
activeCollapse
:
[],
collapseList
:
[
{
title
:
'居民信息'
,
name
:
'1'
},
{
title
:
'死亡信息'
,
name
:
'2'
},
// { title: '录入机构', name: '3' },
],
// 全部展开、收起
collapseAll
:
false
,
info
:
{},
columnsBase
:
[
{
title
:
'姓名'
,
key
:
'residentName'
},
{
title
:
'证件号码'
,
key
:
'idCard'
},
{
title
:
'性别'
,
key
:
'genderName'
},
{
title
:
'出生日期'
,
key
:
'dataBirth'
},
{
title
:
'年龄'
,
key
:
'currentAge'
},
{
title
:
'民族'
,
key
:
'nationalName'
},
{
title
:
'本人电话'
,
key
:
'telephone'
},
{
title
:
'现住址'
,
key
:
'presentCodeName'
},
{
title
:
'详细地址'
,
key
:
'nowAddress'
},
{
title
:
'户籍地址'
,
key
:
'registeredCodeName'
},
{
title
:
'详细地址'
,
key
:
'permanentAddress'
}
],
columnsOrg
:
[
{
title
:
'录入单位'
,
key
:
'createUnitName'
},
{
title
:
'录入科室'
,
key
:
'createOfficeName'
},
{
title
:
'录入医生'
,
key
:
'createDoctorName'
}
],
}
},
computed
:
{
routerDetail
()
{
return
this
.
$route
.
query
},
residentInfo
()
{
return
this
.
info
.
residentsRecord
||
{}
},
},
created
()
{
document
.
title
=
'死亡记录详情'
this
.
load
()
},
methods
:
{
async
load
()
{
if
(
!
this
.
routerDetail
.
residentInfoId
)
{
this
.
$message
.
info
(
'未获取到信息'
)
return
}
let
par
=
{
residentInfoId
:
this
.
routerDetail
.
residentInfoId
}
getResidentsDeath
(
par
).
then
(
res
=>
{
let
result
=
res
.
data
||
{}
this
.
info
=
result
}).
finally
(()
=>
{
})
},
// 折叠面板切换
collapseChange
(
val
)
{
if
(
val
&&
val
.
length
<=
2
)
{
this
.
activeCollapse
=
val
.
slice
(
val
.
length
-
1
)
}
else
{
if
(
this
.
activeCollapse
.
length
>
val
.
length
)
{
this
.
activeCollapse
=
val
}
if
(
this
.
activeCollapse
.
length
<
val
.
length
)
{
this
.
activeCollapse
=
val
.
slice
(
val
.
length
-
1
)
}
}
if
(
val
&&
val
.
length
===
this
.
collapseList
.
length
)
{
this
.
collapseAll
=
true
}
else
{
this
.
collapseAll
=
false
}
},
// 全部展开、收起
toggleAll
()
{
if
(
this
.
collapseAll
)
{
this
.
activeCollapse
=
[]
}
else
{
this
.
activeCollapse
=
this
.
collapseList
.
map
(
e
=>
e
.
name
)
}
this
.
collapseAll
=
!
this
.
collapseAll
},
onBack
()
{
this
.
$router
.
back
()
}
}
}
}
</
script
>
</
script
>
<
style
scoped
>
<
style
lang=
'less'
scoped
>
@import url('../../utils/common.less');
.base-info {
background: linear-gradient(to bottom, #F0F6FF, #fff 50%);
color: #8c8c8c;
.name {
font-weight: 600;
color: #000;
font-size: 18px;
}
.top-label {
font-size: 13px;
line-height: 22px;
}
.color-b {
color: #262626;
}
}
.cont-box {
background-color: #f9f9f9;
.cont-inner {
background: linear-gradient(to bottom, #F0F6FF, #fff .6rem);
border-top-left-radius: .08rem;
border-top-right-radius: .08rem;
}
}
.collapse-head {
.icon-down {
vertical-align: middle;
font-size: .12rem;
.svg-icon {
transition: all .2s;
}
}
</
style
>
.icon-down-expanded {
\ No newline at end of file
.svg-icon {
transform: rotate(-180deg);
}
}
}
table {
text-align: left;
border-bottom: 1px solid var(--van-cell-border-color);
> tr {
> td {
padding-left: 14px;
padding-bottom: 12px;
&:first-child {
text-align: right;
padding-left: 0;
}
}
}
}
.list {
.label {
min-width: 5em;
}
}
.card {
background-color: #F8FAFC;
padding: 4px 10px;
border-radius: 4px;
color: #4D5665;
}
.reason-bg {
background: #F8FAFC;
border-radius: 4px;
padding: 4px 8px;
color: #4D5665;
line-height: 24px;
}
</
style
>
src/doctor/deathRecord/form/DeathRecordForm.vue
View file @
e8b450ff
...
@@ -130,7 +130,7 @@ export default {
...
@@ -130,7 +130,7 @@ export default {
this
.
deathDateRange
.
max
=
new
Date
(
date
.
year
(),
date
.
month
(),
date
.
date
())
this
.
deathDateRange
.
max
=
new
Date
(
date
.
year
(),
date
.
month
(),
date
.
date
())
// this.deathDateRange.min = new Date(date.year() - 10)
// this.deathDateRange.min = new Date(date.year() - 10)
this
.
form
.
_deathDate
=
[
date
.
year
(),
date
.
month
(),
date
.
date
()]
this
.
form
.
_deathDate
=
[
date
.
year
(),
date
.
month
(),
date
.
date
()]
//
this.form.deathDate = dayjs().format('YYYY-MM-DD')
this
.
form
.
deathDate
=
dayjs
().
format
(
'YYYY-MM-DD'
)
},
},
dataConfirm
({
selectedValues
})
{
dataConfirm
({
selectedValues
})
{
this
.
form
.
deathDate
=
selectedValues
.
join
(
'-'
)
this
.
form
.
deathDate
=
selectedValues
.
join
(
'-'
)
...
@@ -153,9 +153,7 @@ export default {
...
@@ -153,9 +153,7 @@ export default {
this
.
form
.
deathReasonList
.
splice
(
index
,
1
)
this
.
form
.
deathReasonList
.
splice
(
index
,
1
)
},
},
onSubmit
()
{
onSubmit
()
{
debugger
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
debugger
this
.
$refs
.
form
.
validate
().
then
(()
=>
{
this
.
$refs
.
form
.
validate
().
then
(()
=>
{
let
par
=
{
let
par
=
{
...
this
.
form
,
...
this
.
form
,
...
@@ -164,7 +162,6 @@ export default {
...
@@ -164,7 +162,6 @@ export default {
}
}
resolve
(
par
)
resolve
(
par
)
}).
catch
((
e
)
=>
{
}).
catch
((
e
)
=>
{
debugger
const
array
=
e
||
[]
const
array
=
e
||
[]
if
(
array
.
length
)
{
if
(
array
.
length
)
{
this
.
$refs
.
form
.
scrollToField
(
array
[
0
].
name
)
this
.
$refs
.
form
.
scrollToField
(
array
[
0
].
name
)
...
...
src/doctor/deathRecord/form/Index.vue
View file @
e8b450ff
...
@@ -51,6 +51,9 @@ export default {
...
@@ -51,6 +51,9 @@ export default {
computed
:
{
computed
:
{
routerDetail
()
{
routerDetail
()
{
return
this
.
$route
.
query
return
this
.
$route
.
query
},
authInfo
()
{
return
this
.
store
.
authInfo
}
}
},
},
created
()
{
created
()
{
...
@@ -85,10 +88,18 @@ export default {
...
@@ -85,10 +88,18 @@ export default {
this
.
step
=
val
this
.
step
=
val
},
},
async
onsubmit
()
{
async
onsubmit
()
{
debugger
let
baseInfo
=
await
this
.
$refs
.
baseInfo
.
onSubmit
()
let
baseInfo
=
await
this
.
$refs
.
baseInfo
.
onSubmit
()
let
deathRecordForm
=
await
this
.
$refs
.
deathRecordForm
.
onSubmit
()
let
deathRecordForm
=
await
this
.
$refs
.
deathRecordForm
.
onSubmit
()
let
params
=
{
let
params
=
{
residentInfoId
:
this
.
routerDetail
.
residentInfoId
,
createUnitId
:
this
.
authInfo
.
unitId
,
createUnitName
:
this
.
authInfo
.
unitName
,
// 录入科室
createOfficeId
:
this
.
authInfo
.
officeId
,
createOfficeName
:
this
.
authInfo
.
officeName
,
// 录入医生
createDoctorId
:
this
.
authInfo
.
relationId
,
createDoctorName
:
this
.
authInfo
.
nickName
,
residentsRecord
:
baseInfo
,
residentsRecord
:
baseInfo
,
...
deathRecordForm
...
deathRecordForm
}
}
...
...
src/doctor/patientDetail/PatientDetail.vue
View file @
e8b450ff
...
@@ -134,6 +134,7 @@ export default {
...
@@ -134,6 +134,7 @@ export default {
{
name
:
'新增慢病诊断'
,
value
:
3
,
path
:
'/doctor/diagnose/form'
},
{
name
:
'新增慢病诊断'
,
value
:
3
,
path
:
'/doctor/diagnose/form'
},
{
name
:
'新增通用随访'
,
value
:
4
,
path
:
'/doctor/followUp/generalFU/add'
},
{
name
:
'新增通用随访'
,
value
:
4
,
path
:
'/doctor/followUp/generalFU/add'
},
{
name
:
'新增死亡记录'
,
value
:
5
,
path
:
'/doctor/deathRecord/add'
},
{
name
:
'新增死亡记录'
,
value
:
5
,
path
:
'/doctor/deathRecord/add'
},
{
name
:
'新增死亡记录详情'
,
value
:
6
,
path
:
'/doctor/deathRecord/detail'
},
]
]
}
}
},
},
...
...
src/router/index.js
View file @
e8b450ff
...
@@ -105,6 +105,11 @@ const routes = [
...
@@ -105,6 +105,11 @@ const routes = [
name
:
'deathRecord-add'
,
name
:
'deathRecord-add'
,
component
:
()
=>
import
(
/* webpackChunkName: "doctor" */
'@/doctor/deathRecord/form/Index.vue'
)
component
:
()
=>
import
(
/* webpackChunkName: "doctor" */
'@/doctor/deathRecord/form/Index.vue'
)
},
},
{
path
:
'deathRecord/detail'
,
name
:
'deathRecord-detail'
,
component
:
()
=>
import
(
/* webpackChunkName: "doctor" */
'@/doctor/deathRecord/detail/Detail'
)
},
]
]
},
},
{
{
...
...
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