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
2b786f2c
Commit
2b786f2c
authored
Jan 03, 2025
by
songrui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
初筛表单对接
parent
43dbeb24
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
112 additions
and
60 deletions
+112
-60
screening.js
src/api/doctor/screening.js
+21
-7
DocNavBar.vue
src/doctor/components/docNavBar/DocNavBar.vue
+5
-2
Record.vue
src/doctor/patientDetail/components/screening/Record.vue
+13
-2
FormCont.vue
src/doctor/screening/first/FormCont.vue
+44
-43
FristForm.vue
src/doctor/screening/first/FristForm.vue
+21
-4
Result.vue
src/doctor/screening/first/Result.vue
+8
-2
No files found.
src/api/doctor/screening.js
View file @
2b786f2c
...
...
@@ -5,12 +5,27 @@ export function getScreenAllList(residentInfoId, loading) {
return
fetchBase
({
url
:
`/chronic-admin/v1/chronic-screening-record/screen-list`
,
body
:{
residentInfoId
},
loading
})
}
// 慢病高危筛查详情
export
function
firstScreenDetail
(
params
)
{
return
fetchBase
({
url
:
`/chronic-resident/v1/chronic-screening-record/record`
,
body
:
params
,
loading
:
true
})
}
// 慢病专病筛查详情
export
function
secondScreenDetail
(
params
)
{
return
fetchBase
({
url
:
`/chronic-resident/v1/chronic-screening-record/rescreen-detail`
,
body
:
params
,
loading
:
true
})
}
\ No newline at end of file
}
// 保存初筛
export
function
saveFirstScreening
(
params
)
{
return
fetchBase
({
url
:
`/chronic-admin/v1/chronic-screening-record/save`
,
body
:
params
,
loading
:
true
})
}
// 修改初筛
export
function
updateFirstScreening
(
params
)
{
return
fetchBase
({
url
:
`/chronic-admin/v1/chronic-screening-record/update`
,
body
:
params
,
loading
:
true
})
}
// 删除初筛
export
function
deleteFirstScreening
(
params
)
{
return
fetchBase
({
url
:
`/chronic-admin/v1/chronic-screening-record/delete`
,
body
:
params
,
loading
:
true
})
}
// 慢病高危筛查详情
export
function
firstScreenDetail
(
params
)
{
return
fetchBase
({
url
:
`/chronic-resident/v1/chronic-screening-record/screening-detail`
,
body
:
params
,
loading
:
true
})
}
src/doctor/components/docNavBar/DocNavBar.vue
View file @
2b786f2c
...
...
@@ -2,7 +2,7 @@
<div
class=
"px-3 py-3 flex items-center doc-nav-bar"
>
<div
class=
"shrink-0 left"
>
<slot
name=
"left"
>
<span
class=
"back-btn"
@
click=
"goBack"
>
<span
class=
"back-btn"
@
click=
"goBack"
v-if=
"!hideBack"
>
<doc-icon
type=
"doc-left-1"
style=
"color: #262626"
/>
</span>
</slot>
...
...
@@ -27,7 +27,10 @@ export default {
title
:
String
,
// 是否首页
home
:
Boolean
,
backFunc
:
Function
// 替换返回函数
backFunc
:
Function
,
// 隐藏返回按键
hideBack
:
Boolean
},
methods
:
{
goBack
()
{
...
...
src/doctor/patientDetail/components/screening/Record.vue
View file @
2b786f2c
...
...
@@ -102,7 +102,8 @@
<
script
>
import
{
useStore
}
from
'@/doctor/store'
import
{
getScreenAllList
}
from
'@/api/doctor/screening.js'
import
{
getScreenAllList
,
deleteFirstScreening
}
from
'@/api/doctor/screening.js'
import
{
showConfirmDialog
}
from
'vant'
export
default
{
inject
:
[
'residentInfo'
],
...
...
@@ -181,7 +182,17 @@ export default {
})
},
delFirstBtn
(
record
)
{
showConfirmDialog
({
message
:
'确定要删除吗?'
}).
then
(()
=>
{
deleteFirstScreening
({
id
:
record
.
id
}).
then
(
res
=>
{
setTimeout
(()
=>
{
this
.
$message
.
info
(
'删除成功'
)
},
600
)
this
.
firstScreenList
=
this
.
firstScreenList
.
filter
(
e
=>
e
.
id
!==
record
.
id
)
})
}).
catch
((
err
)
=>
{
console
.
warn
(
'delFirstBtn'
,
err
)
})
},
editSecondBtn
(
record
)
{
this
.
$router
.
push
({
...
...
src/doctor/screening/first/FormCont.vue
View file @
2b786f2c
...
...
@@ -586,49 +586,49 @@ export default {
this
.
form
.
screenDate
=
selectedValues
.
join
(
'-'
)
this
.
showScreenDate
=
false
},
resultHandle
()
{
const
{
currentAge
,
waistline
,
familyHistory
=
[],
isSmoking
,
gender
,
pressureOneSbp
,
pressureOneDbp
,
pressureTwoSbp
,
pressureTwoDbp
,
fastingGlucose
,
ldlCholesterin
,
serumCholesterin
}
=
this
.
form
let
list
=
[]
if
(
currentAge
>=
50
)
{
list
.
push
(
1
)
}
let
bmi
=
parseFloat
(
this
.
bmi
)
if
((
bmi
>=
24
)
||
(
gender
==
2
&&
waistline
>=
80
)
||
(
gender
==
1
&&
waistline
>=
85
)
){
list
.
push
(
2
)
}
if
(
isSmoking
==
1
)
{
list
.
push
(
3
)
}
if
(
familyHistory
&&
familyHistory
.
length
&&
(
familyHistory
.
includes
(
1
)
||
familyHistory
.
includes
(
2
)
||
familyHistory
.
includes
(
3
)
||
familyHistory
.
includes
(
4
)
||
familyHistory
.
includes
(
5
)
||
familyHistory
.
includes
(
6
)))
{
list
.
push
(
4
)
}
if
((
pressureOneSbp
>=
130
||
pressureTwoSbp
>=
130
)
||
(
pressureOneDbp
>=
85
||
pressureTwoDbp
>=
85
)
)
{
list
.
push
(
5
)
}
if
(
fastingGlucose
>=
6.1
)
{
list
.
push
(
6
)
}
// if (ldlCholesterin >= 3.4) {
// list.push(7)
// }
if
(
serumCholesterin
>=
5.2
)
{
list
.
push
(
7
)
}
list
=
Array
.
from
(
new
Set
(
list
))
this
.
form
.
highItem
=
list
if
(
list
.
length
>=
3
){
this
.
form
.
screenResult
=
2
}
else
{
this
.
form
.
screenResult
=
1
}
},
//
resultHandle() {
//
const {currentAge, waistline, familyHistory = [], isSmoking, gender,
//
pressureOneSbp, pressureOneDbp, pressureTwoSbp, pressureTwoDbp,
//
fastingGlucose, ldlCholesterin, serumCholesterin} = this.form
//
let list = []
//
if (currentAge >= 50) {
//
list.push(1)
//
}
//
let bmi = parseFloat(this.bmi)
//
if ((bmi >= 24)||
//
(gender == 2 && waistline >=80) ||
//
(gender == 1 && waistline >=85) ){
//
list.push(2)
//
}
//
if (isSmoking == 1) {
//
list.push(3)
//
}
//
if (familyHistory && familyHistory.length && (familyHistory.includes(1) || familyHistory.includes(2) ||
//
familyHistory.includes(3) || familyHistory.includes(4) || familyHistory.includes(5) || familyHistory.includes(6))) {
//
list.push(4)
//
}
//
if ((pressureOneSbp >= 130 || pressureTwoSbp >= 130) ||
//
(pressureOneDbp >= 85 || pressureTwoDbp >= 85)
//
) {
//
list.push(5)
//
}
//
if (fastingGlucose >= 6.1) {
//
list.push(6)
//
}
//
// if (ldlCholesterin >= 3.4) {
//
// list.push(7)
//
// }
//
if (serumCholesterin >= 5.2) {
//
list.push(7)
//
}
//
list = Array.from(new Set(list))
//
this.form.highItem = list
//
if (list.length >= 3){
//
this.form.screenResult = 2
//
}else {
//
this.form.screenResult = 1
//
}
//
},
setPressureOne
(
val
)
{
if
(
!
val
)
return
this
.
form
.
pressureOneSbp
=
val
.
systolicPressure
...
...
@@ -662,6 +662,7 @@ export default {
this
.
form
.
screenResult
=
1
}
},
immediate
:
true
}
}
}
...
...
src/doctor/screening/first/FristForm.vue
View file @
2b786f2c
<
template
>
<div
class=
"h-full flex flex-col screening-first"
>
<DocNavBar
:title=
"`$
{id ? '修改' : '新增'}主要慢病高危筛查`" class="shrink-0"
:backFunc="onBack">
</DocNavBar>
:backFunc="onBack"
:hideBack="step == 3"
>
</DocNavBar>
<div
class=
"p-4 overflow-y-auto grow"
ref=
"all"
>
<archiveCommon
:info=
"baseInfo"
v-if=
"step == 1"
></archiveCommon>
<FormCont
:resident-info=
"baseInfo"
:info=
"screenInfo"
v-else-if=
"step == 2"
ref=
"FormCont"
/>
<Result
v-else-if=
"step == 3"
:
residentInfoId=
"residentInfoId
"
/>
<Result
v-else-if=
"step == 3"
:
info=
"resultInfo
"
/>
</div>
<div
class=
"shrink-0"
v-if=
"step !== 3"
>
<div
class=
'bottom-small-line'
></div>
...
...
@@ -29,8 +29,9 @@ import archiveCommon from '@/doctor/components/archiveCommon/archiveCommon.vue'
import
FormCont
from
'./FormCont.vue'
import
Result
from
'./Result.vue'
import
{
getChronicResidentsId
}
from
'@/api/doctor/generalFU'
import
{
firstScreenDetail
}
from
'@/api/doctor/screening.js'
import
{
firstScreenDetail
,
saveFirstScreening
,
updateFirstScreening
}
from
'@/api/doctor/screening.js'
import
{
fetchDataHandle
}
from
'@/utils/common.js'
import
{
useStore
}
from
'@/doctor/store'
export
default
{
components
:
{
...
...
@@ -41,11 +42,14 @@ export default {
},
data
()
{
return
{
store
:
useStore
(),
step
:
1
,
// 患者基础信息
baseInfo
:
{},
// 筛查信息
screenInfo
:
{}
screenInfo
:
{},
// 结果
resultInfo
:
{}
}
},
computed
:
{
...
...
@@ -81,7 +85,20 @@ export default {
toNext
(
val
)
{
if
(
val
==
3
)
{
this
.
$refs
.
FormCont
.
submit
().
then
(
res
=>
{
if
(
!
res
)
return
console
.
log
(
'FormCont.submit'
,
res
)
const
query
=
fetchDataHandle
(
res
,
{
familyHistory
:
'arrToStr'
,
medicalHistory
:
'arrToStr'
,
highItem
:
'arrToStr'
})
query
.
residentsRecord
=
this
.
baseInfo
const
func
=
query
.
id
?
updateFirstScreening
:
saveFirstScreening
func
(
query
).
then
(
res
=>
{
this
.
resultInfo
=
query
this
.
store
.
onRefreshMark
()
this
.
step
=
val
})
})
return
}
...
...
src/doctor/screening/first/Result.vue
View file @
2b786f2c
...
...
@@ -4,7 +4,8 @@
<div
class=
"mt-3"
>
筛查完成
</div>
<div
class=
"text-start mt-5"
>
<span
style=
"color: #595959;"
>
通过筛查,您的慢病高危评估结果为:
</span>
<span
class=
"text-red"
>
高危人群
</span>
<span
v-if=
"info.screenResult == 2"
class=
"text-red"
>
高危人群
</span>
<span
v-else
>
一般人群
</span>
</div>
<div
style=
"margin-top: .48rem"
>
<van-button
type=
'primary'
block
round
plain
...
...
@@ -21,7 +22,12 @@
<
script
>
export
default
{
props
:
{
residentInfoId
:
String
info
:
{
default
:
()
=>
({})
}
},
computed
:
{
residentInfoId
()
{
return
this
.
info
.
residentInfoId
}
},
methods
:
{
toScreen
()
{
...
...
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