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
fdee70d0
Commit
fdee70d0
authored
Oct 12, 2024
by
gengchunlei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
居民端小程序 随访列表
parent
fb6fde85
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
294 additions
and
4 deletions
+294
-4
FirstDetail.vue
src/residentWX/screening/detail/FirstDetail.vue
+1
-1
SecondDetail.vue
src/residentWX/screening/detail/SecondDetail.vue
+1
-1
List.vue
src/residentWX/visit/List.vue
+290
-0
index.js
src/router/index.js
+2
-2
No files found.
src/residentWX/screening/FirstDetail.vue
→
src/residentWX/screening/
detail/
FirstDetail.vue
View file @
fdee70d0
...
...
@@ -144,7 +144,7 @@ export default {
</
script
>
<
style
lang=
"less"
scoped
>
@import url('../utils/common.less');
@import url('../
../
utils/common.less');
table {
text-align: left;
border-bottom: 1px solid var(--van-cell-border-color);
...
...
src/residentWX/screening/SecondDetail.vue
→
src/residentWX/screening/
detail/
SecondDetail.vue
View file @
fdee70d0
...
...
@@ -144,7 +144,7 @@ export default {
</
script
>
<
style
lang=
"less"
scoped
>
@import url('../utils/common.less');
@import url('../
../
utils/common.less');
table {
text-align: left;
border-bottom: 1px solid var(--van-cell-border-color);
...
...
src/residentWX/visit/List.vue
0 → 100644
View file @
fdee70d0
<
template
>
<div
class=
'h-full flex flex-col visit'
>
<van-tabs
v-model:active=
'activeTab'
class=
'shrink-0'
v-if=
'tabList.length'
@
change=
'tabChange'
shrink
>
<van-tab
v-for=
'item in tabList'
:key=
'item.name'
:title=
'item.title'
:name=
'item.name'
></van-tab>
</van-tabs>
<div
class=
'grow overflow-y-auto card-list'
ref=
'list'
>
<van-pull-refresh
v-model=
'loadingRefresh'
@
refresh=
'onRefresh'
:disabled=
'isRefreshDisable'
>
<van-list
v-model:loading=
'loading'
:finished=
'finished'
:finished-text=
"list.length ? '没有更多了' : ''"
:immediate-check=
'false'
@
load=
'onMore'
>
<div
v-for=
'item in list'
:key=
'item.id'
class=
'p-4 mt-3 card'
@
click
.
stop=
'toDetail(item)'
>
<div
class=
'flex items-center'
>
<div
class=
'detail-left'
>
随访情况
</div>
<div
class=
'detail-right'
>
{{
item
.
visitSituationName
}}
</div>
</div>
<div
class=
'mt-3 flex items-center'
>
<div
class=
'detail-left'
>
随访日期
</div>
<div
class=
'detail-right'
>
{{
item
.
serveDate
}}
</div>
</div>
<div
class=
'mt-3 flex items-center'
>
<div
class=
'detail-left'
>
随访医生
</div>
<div
class=
'detail-right'
>
{{
item
.
serveDoctorName
}}
</div>
</div>
<div
class=
'mt-3 flex items-center'
>
<div
class=
'detail-left'
>
服务类型
</div>
<div
class=
'detail-right'
>
{{
item
.
serveTypeName
}}
</div>
</div>
<div
class=
'mt-3 flex items-center'
>
<div
class=
'detail-left'
>
随访机构
</div>
<div
class=
'detail-right'
>
{{
item
.
serveUnitName
}}
</div>
</div>
<div
class=
'mt-3 flex items-center'
>
<div
class=
'detail-left'
>
下次随访日期
</div>
<div
class=
'detail-right'
>
{{
item
.
nextVisitDate
||
'-'
}}
</div>
</div>
<div
class=
'mt-3 flex items-center'
>
<div
class=
'detail-left'
>
数据来源
</div>
<div
class=
'detail-right'
>
{{
item
.
sourceName
||
'-'
}}
</div>
</div>
<van-divider
class=
'mt-3'
/>
<div
class=
'flex justify-end'
>
<van-button
round
type=
'primary'
class=
'card-bt'
style=
'margin-right: .12rem'
@
click
.
stop=
'editBtn(item)'
v-show=
'item.allowUpdate ==1'
>
修改
</van-button>
<van-button
round
type=
'primary'
class=
'card-bt'
@
click
.
stop=
'delBtn(item)'
v-show=
'item.allowUpdate ==1'
>
删除
</van-button>
</div>
<span
class=
'px-3 float-bt'
>
通用随访
</span>
</div>
</van-list>
<div
class=
'text-center shrink-0 empty'
v-if=
'!list.length'
>
<img
src=
'@/assets/image/doctor/empty.png'
alt=
''
style=
'width: 1.2rem;'
>
<p>
暂无数据
</p>
</div>
</van-pull-refresh>
</div>
<div
class=
'p-3 floor'
v-if=
'activeTab'
>
<van-button
round
block
type=
'primary'
class=
'card-bt'
@
click=
'addBtn'
>
新增通用随访
</van-button>
</div>
</div>
</
template
>
<
script
>
import
{
queryVisitByPage
,
deleteVisit
}
from
'@/api/doctor/generalFU.js'
import
{
showConfirmDialog
,
showToast
}
from
'vant'
export
default
{
data
()
{
return
{
activeTab
:
undefined
,
list
:
[],
pagination
:
{
total
:
0
,
pageIndex
:
1
,
pageSize
:
4
},
loading
:
false
,
finished
:
false
,
loadingRefresh
:
false
,
isRefreshDisable
:
false
}
},
inject
:
[
'getBaseInfo'
],
computed
:
{
baseInfo
()
{
return
this
.
getBaseInfo
()
||
{}
},
chronicTagsArray
()
{
let
chronicTagsArray
=
this
.
baseInfo
.
chronicTagsArray
||
''
return
chronicTagsArray
.
split
(
','
)
},
tabList
()
{
const
list
=
[
{
title
:
'高血压'
,
name
:
1
,
code
:
'1'
},
{
title
:
'糖尿病'
,
name
:
2
,
code
:
'2'
},
{
title
:
'冠心病'
,
name
:
3
,
code
:
'4'
},
{
title
:
'脑卒中'
,
name
:
4
,
code
:
'8'
},
{
title
:
'慢性阻塞性疾病'
,
name
:
5
,
code
:
'16'
},
{
title
:
'慢性肾病'
,
name
:
6
,
code
:
'32'
},
{
title
:
'血脂异常'
,
name
:
7
,
code
:
'64'
}
]
return
list
.
filter
(
e
=>
this
.
chronicTagsArray
.
includes
(
e
.
code
))
}
},
mounted
()
{
const
list
=
this
.
$refs
.
list
list
.
addEventListener
(
'scroll'
,
()
=>
{
if
(
list
.
scrollTop
>
0
)
{
this
.
isRefreshDisable
=
true
}
else
{
this
.
isRefreshDisable
=
false
}
})
},
methods
:
{
load
(
loading
=
true
)
{
const
query
=
{
residentInfoId
:
this
.
baseInfo
.
residentInfoId
,
serveTypeList
:
[
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
14
],
diseaseType
:
this
.
activeTab
,
pageIndex
:
this
.
pagination
.
pageIndex
,
pageSize
:
this
.
pagination
.
pageSize
}
queryVisitByPage
(
query
,
loading
).
then
(
res
=>
{
this
.
list
=
this
.
list
.
concat
(
res
.
data
.
dataList
||
[])
this
.
pagination
.
total
=
res
.
data
.
total
||
0
this
.
finished
=
this
.
list
.
length
>=
this
.
pagination
.
total
}).
finally
(()
=>
{
this
.
loading
=
false
this
.
loadingRefresh
=
false
})
},
onMore
()
{
this
.
pagination
.
pageIndex
++
this
.
load
()
},
init
()
{
if
(
this
.
chronicTagsArray
.
length
)
{
const
item
=
this
.
tabList
.
find
(
e
=>
e
.
code
===
this
.
chronicTagsArray
[
0
])
||
{}
this
.
activeTab
=
item
.
name
}
},
tabChange
()
{
this
.
list
=
[]
this
.
pagination
.
pageIndex
=
1
this
.
load
()
},
onRefresh
()
{
this
.
list
=
[]
this
.
pagination
.
pageIndex
=
1
this
.
load
(
false
)
},
addBtn
()
{
if
(
this
.
baseInfo
.
chronicStatus
===
9
)
{
showToast
(
'该居民已标记为死亡,无法新增随访'
)
return
}
let
par
=
{
residentInfoId
:
this
.
baseInfo
.
residentInfoId
,
diseaseType
:
this
.
activeTab
}
this
.
$router
.
push
({
path
:
`/doctor/followUp/generalFU/add`
,
query
:
par
})
},
toDetail
(
item
)
{
let
par
=
{
relationId
:
item
.
relationId
}
this
.
$router
.
push
({
path
:
`/doctor/followUp/generalFU/detail`
,
query
:
par
})
},
editBtn
(
item
)
{
let
par
=
{
id
:
item
.
relationId
,
residentInfoId
:
this
.
baseInfo
.
residentInfoId
}
this
.
$router
.
push
({
path
:
`/doctor/followUp/generalFU/add`
,
query
:
par
})
},
delBtn
(
item
)
{
showConfirmDialog
({
title
:
'提示'
,
message
:
'确认删除该随访记录吗?
\
n确认后将无法查看该随访信息'
}).
then
(()
=>
{
// on confirm
// console.log(item.id)
deleteVisit
({
id
:
item
.
id
}).
then
(
res
=>
{
this
.
load
()
})
})
.
catch
(()
=>
{
// on cancel
})
}
}
}
</
script
>
<
style
lang=
'less'
scoped
>
.card-list {
padding-bottom: 76px;
}
.card {
position: relative;
background-color: #fff;
.detail-left {
width: 8em;
color: #8C8C8C;
flex-shrink: 0;
}
.card-bt {
font-size: 14px;
color: #607FF0;
background-color: #F0F3FF;
border: 0;
height: 26px;
}
.float-bt {
position: absolute;
top: 10px;
right: 0;
background-color: var(--van-primary-color);
color: #fff;
border-top-left-radius: 40px;
border-bottom-left-radius: 40px;
height: 26px;
line-height: 26px;
}
}
.floor {
position: fixed;
bottom: 0;
left: 0;
right: 0;
}
</
style
>
src/router/index.js
View file @
fdee70d0
...
...
@@ -101,12 +101,12 @@ const routes = [
{
path
:
'screening/firstDetail/:id'
,
name
:
'resident-screening-first-detail-id'
,
component
:
()
=>
import
(
/* webpackChunkName: "residentWX-screening" */
'@/residentWX/screening/FirstDetail.vue'
)
component
:
()
=>
import
(
/* webpackChunkName: "residentWX-screening" */
'@/residentWX/screening/
detail/
FirstDetail.vue'
)
},
{
path
:
'screening/secondDetail/:id'
,
name
:
'resident-screening-first-detail-id'
,
component
:
()
=>
import
(
/* webpackChunkName: "residentWX-screening" */
'@/residentWX/screening/SecondDetail.vue'
)
component
:
()
=>
import
(
/* webpackChunkName: "residentWX-screening" */
'@/residentWX/screening/
detail/
SecondDetail.vue'
)
}
...
...
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