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
ca353abe
Commit
ca353abe
authored
Sep 03, 2024
by
songrui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
筛查列表
parent
cee515a4
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
125 additions
and
21 deletions
+125
-21
screening.js
src/api/resident/screening.js
+7
-1
register.js
src/register.js
+19
-0
Detail.vue
src/resident/screening/first/detail/Detail.vue
+4
-4
List.vue
src/resident/screening/first/detail/List.vue
+62
-5
BaseInfo.vue
src/resident/screening/first/form/BaseInfo.vue
+4
-4
IdCheck.vue
src/resident/screening/first/form/IdCheck.vue
+2
-2
Index.vue
src/resident/screening/first/form/Index.vue
+2
-0
Result.vue
src/resident/screening/first/form/Result.vue
+9
-1
ScreenInfo.vue
src/resident/screening/first/form/ScreenInfo.vue
+15
-3
common.less
src/resident/utils/common.less
+1
-1
No files found.
src/api/screening.js
→
src/api/
resident/
screening.js
View file @
ca353abe
import
{
fetchBase
}
from
'./fetch.js'
import
{
fetchBase
}
from
'.
.
/fetch.js'
// 证件号查询是否管理慢病档案
export
function
queryResidentInfo
(
params
)
{
...
...
@@ -14,3 +14,8 @@ export function querScreenList(params) {
export
function
querScreenDetail
(
params
)
{
return
fetchBase
({
url
:
`/chronic-resident/v1/chronic-screening-record/record`
,
body
:
params
,
loading
:
true
})
}
// 新增筛查记录
export
function
savefirstScreen
(
params
)
{
return
fetchBase
({
url
:
`/chronic-resident/v1/chronic-screening-record/save`
,
body
:
params
,
loading
:
true
})
}
\ No newline at end of file
src/register.js
View file @
ca353abe
...
...
@@ -14,4 +14,23 @@ dayjs.locale('cn')
export
function
registe
(
app
)
{
// 自定义组件
app
.
use
(
DocIcon
)
app
.
config
.
globalProperties
.
$idCardHide
=
idCardHide
app
.
config
.
globalProperties
.
$phoneHide
=
phoneHide
}
// idCard 脱敏
function
idCardHide
(
idCard
)
{
if
(
!
idCard
||
idCard
.
length
<
18
)
{
return
idCard
}
return
idCard
.
substring
(
0
,
6
)
+
'******'
+
idCard
.
substring
(
14
)
}
// phone 脱敏
function
phoneHide
(
phone
)
{
if
(
!
phone
||
phone
.
length
<
11
)
{
return
phone
}
return
phone
.
substring
(
0
,
3
)
+
'******'
+
phone
.
substring
(
9
)
}
src/resident/screening/first/detail/Detail.vue
View file @
ca353abe
...
...
@@ -9,7 +9,7 @@
<span>
慢病自我初筛详情
</span>
</div>
<div
class=
"py-4 border-bottom"
>
<div
class=
"px-4 title"
>
居民信息
</div>
<div
class=
"px-4
doc-
title"
>
居民信息
</div>
</div>
<div
class=
"px-4 list"
>
<div
v-for=
"item in columnsBase"
:key=
"item.key"
...
...
@@ -20,7 +20,7 @@
</div>
<div
class=
"py-4 border-bottom"
>
<div
class=
"px-4 title"
>
筛查信息
</div>
<div
class=
"px-4
doc-
title"
>
筛查信息
</div>
</div>
<div
class=
"px-4 list"
>
<template
v-for=
"item in columnsScreen"
:key=
"item.key"
>
...
...
@@ -74,7 +74,7 @@
<
script
>
import
{
showNotify
}
from
'vant'
import
{
querScreenDetail
}
from
'@/api/screening.js'
import
{
querScreenDetail
}
from
'@/api/
resident/
screening.js'
export
default
{
data
()
{
...
...
@@ -135,7 +135,7 @@ export default {
})
},
onBack
()
{
this
.
$router
.
back
()
}
}
}
...
...
src/resident/screening/first/detail/List.vue
View file @
ca353abe
<
template
>
<div>
<div
class=
"h-full"
>
<div
class=
"p-3 text-16 text-black text-center shrink-0 top-bar"
>
<!--
<span
class=
"back-bt"
>
<span
@
click=
"onBack"
>
<doc-icon
type=
"doc-left"
/>
</span>
</span>
-->
<span>
慢病筛查记录
</span>
</div>
<div
class=
'card'
v-for=
'item in list'
:key=
"item.id"
>
<div
class=
"p-4"
>
<div
class=
'text-16 font-semibold mb-2 title'
>
{{
item
.
residentName
}}
</div>
<div
class=
"mb-2"
>
<span
class=
"label"
>
证件号码
</span>
<span>
{{
$idCardHide
(
item
.
idCard
)
}}
</span>
</div>
<div
class=
"mb-2"
>
<span
class=
"label"
>
筛查日期
</span>
<span>
{{
item
.
screenDate
}}
</span>
</div>
<div
class=
"mb-2"
>
<span
class=
"label"
>
筛查机构
</span>
<span>
{{
item
.
screenUnitName
}}
</span>
</div>
<div
class=
"bt-box flex pt-2 justify-end"
>
<van-button
type=
"primary"
size=
"small"
@
click=
"toDetail(item)"
>
详 情
</van-button>
</div>
</div>
<div
class=
"divide"
></div>
</div>
</div>
</
template
>
<
script
>
import
{
showNotify
}
from
'vant'
import
{
querScreenList
}
from
'@/api/screening.js'
import
{
querScreenList
}
from
'@/api/
resident/
screening.js'
export
default
{
data
()
{
return
{
list
:
[]
}
},
computed
:
{
routeQuery
()
{
return
this
.
$route
.
query
...
...
@@ -26,12 +60,35 @@ export default {
},
methods
:
{
init
()
{
querScreenList
({
idCard
:
this
.
idCard
})
querScreenList
({
idCard
:
this
.
idCard
}).
then
(
res
=>
{
this
.
list
=
res
.
data
||
[]
})
},
toDetail
(
record
)
{
if
(
!
record
)
return
const
path
=
`/resident/screening/first/detail/
${
record
.
id
}
`
this
.
$router
.
push
({
path
})
}
}
}
</
script
>
<
style
lang=
"less"
scoped
>
@import url('../../../utils/common.less');
.card {
.label {
display: inline-block;
min-width: 5em;
color: #8C8C8C;
}
.bt-box {
border-top: 1px solid var(--van-border-color);
}
.divide {
border-top: 6px solid #f5f5f5;
}
&:last-child {
.divide { display: none; }
}
}
</
style
>
src/resident/screening/first/form/BaseInfo.vue
View file @
ca353abe
<
template
>
<div
class=
"base-info"
>
<div
class=
"flex py-4 border-bottom"
>
<div
class=
"px-4 title"
>
居民信息
</div>
<div
class=
"px-4
doc-
title"
>
居民信息
</div>
<div
class=
"text-12"
>
请准确填写您的证件信息,标*内容为必填
</div>
</div>
<van-form
label-width=
"5em"
ref=
"form"
class=
"screen-form"
...
...
@@ -285,9 +285,9 @@ export default {
this
.
form
.
dataBirth
=
info
.
dataBirth
},
submit
()
{
this
.
recordForm
.
base
=
{...
this
.
form
}
this
.
$parent
.
onNext
()
return
//
this.recordForm.base = {...this.form}
//
this.$parent.onNext()
//
return
this
.
$refs
.
form
.
validate
().
then
(()
=>
{
this
.
recordForm
.
base
=
{...
this
.
form
}
this
.
$parent
.
onNext
()
...
...
src/resident/screening/first/form/IdCheck.vue
View file @
ca353abe
<
template
>
<div
class=
"h-full flex flex-col id-check"
>
<div
class=
"flex items-end py-4 border-bottom"
>
<div
class=
"px-4 font-semibold title"
>
居民证件信息
</div>
<div
class=
"px-4 font-semibold
doc-
title"
>
居民证件信息
</div>
<div
class=
"text-12"
>
请准确填写您的证件信息,标*内容为必填
</div>
</div>
<van-form
label-width=
"5em"
ref=
"form"
...
...
@@ -46,7 +46,7 @@
<
script
>
import
{
useStore
}
from
'@/resident/store/index.js'
import
{
idCardRule
}
from
'@/utils/commonReg.js'
import
{
queryResidentInfo
}
from
'@/api/screening.js'
import
{
queryResidentInfo
}
from
'@/api/
resident/
screening.js'
import
{
showNotify
}
from
'vant'
export
default
{
...
...
src/resident/screening/first/form/Index.vue
View file @
ca353abe
...
...
@@ -69,7 +69,9 @@ export default {
created
()
{
if
(
!
this
.
doctorId
)
{
showNotify
({
type
:
'warning'
,
message
:
'未获取到医生信息'
,
duration
:
0
})
return
}
this
.
recordForm
.
doctorId
=
this
.
doctorId
},
methods
:
{
onNext
(
step
)
{
...
...
src/resident/screening/first/form/Result.vue
View file @
ca353abe
...
...
@@ -46,11 +46,19 @@ export default {
const
highItem
=
this
.
screenInfo
.
highItem
return
highItem
&&
highItem
.
length
?
this
.
store
.
getDict
(
'CP00113'
).
filter
(
e
=>
highItem
.
includes
(
e
.
value
)).
map
(
e
=>
e
.
name
)
:
[]
},
baseInfo
()
{
return
this
.
recordForm
.
base
||
{}
}
},
methods
:{
toRecord
()
{
this
.
$router
.
replace
({
path
:
'/resident/screening/first/detail'
,
query
:
{
idCard
:
this
.
baseInfo
.
idCard
}
})
}
}
}
...
...
src/resident/screening/first/form/ScreenInfo.vue
View file @
ca353abe
<
template
>
<div
class=
"screen-info"
>
<div
class=
"flex items-end py-4 border-bottom"
>
<div
class=
"px-4 font-semibold title"
>
筛查信息
</div>
<div
class=
"px-4 font-semibold
doc-
title"
>
筛查信息
</div>
<div
class=
"text-12"
>
请根据您身体实际情况填写以下内容
</div>
</div>
...
...
@@ -322,7 +322,8 @@
<
script
>
import
{
useStore
}
from
'@/resident/store/index.js'
import
{
checkboxReject
}
from
'@/utils/common.js'
import
{
checkboxReject
,
fetchDataHandle
}
from
'@/utils/common.js'
import
{
savefirstScreen
}
from
'@/api/resident/screening.js'
import
dayjs
from
'dayjs'
const
defaultForm
=
(
info
=
{})
=>
{
...
...
@@ -446,8 +447,19 @@ export default {
this
.
resultHandle
()
this
.
recordForm
.
screen
=
{...
this
.
form
}
console
.
log
(
this
.
form
)
const
query
=
{
...
this
.
form
,
screenDoctorId
:
this
.
recordForm
.
doctorId
,
residentsRecord
:
this
.
recordForm
.
base
}
// 提交表单
this
.
$parent
.
onNext
()
savefirstScreen
(
fetchDataHandle
(
query
,
{
familyHistory
:
'arrToStr'
,
highItem
:
'arrToStr'
,
medicalHistory
:
'arrToStr'
,
})).
then
(()
=>
{
this
.
$parent
.
onNext
()
})
}).
catch
(
err
=>
console
.
warn
(
err
))
},
onPrev
()
{
...
...
src/resident/utils/common.less
View file @
ca353abe
.title {
.
doc-
title {
font-weight: 600;
display: flex;
align-items: center;
...
...
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