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
a9180068
Commit
a9180068
authored
Jan 06, 2025
by
gengchunlei
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'chronic-dev' of
http://gitlab.yiboshi.com/nightkis1995/frontend-h5
into chronic-dev
parents
b714a764
90fe4509
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
220 additions
and
3 deletions
+220
-3
disease.js
src/api/doctor/disease.js
+6
-0
DiagnosePicker.vue
src/doctor/diagnose/form/DiagnosePicker.vue
+97
-0
FormCont.vue
src/doctor/diagnose/form/FormCont.vue
+116
-2
FirstForm.vue
src/doctor/screening/first/FirstForm.vue
+0
-0
index.js
src/router/index.js
+1
-1
No files found.
src/api/doctor/disease.js
View file @
a9180068
...
@@ -13,4 +13,9 @@ export function getVisitManageList(params, loading) {
...
@@ -13,4 +13,9 @@ export function getVisitManageList(params, loading) {
// 获取检验项目对码表
// 获取检验项目对码表
export
function
getInspectCode
(
configType
)
{
export
function
getInspectCode
(
configType
)
{
return
fetchBase
({
url
:
`/chronic-admin/v1/chronic-inspect-item/query-list/
${
configType
}
`
,
loading
:
true
})
return
fetchBase
({
url
:
`/chronic-admin/v1/chronic-inspect-item/query-list/
${
configType
}
`
,
loading
:
true
})
}
//查询疾病编码(诊断名称)
export
function
queryDiseaseCode
(
params
)
{
return
fetchBase
({
url
:
`/chronic-admin/v1/chronic-disease-code/icd-list`
,
body
:
params
,
loading
:
true
})
}
}
\ No newline at end of file
src/doctor/diagnose/form/DiagnosePicker.vue
0 → 100644
View file @
a9180068
<
template
>
<van-popup
:show=
"show"
position=
"bottom"
:teleport=
"teleport"
class=
"diagnose-picker"
>
<van-picker
title=
"请选择"
:columns=
"array"
:columns-field-names=
"fieldNames"
v-model=
"innerValue"
@
confirm=
"onConfirm"
@
cancel=
"onCancel"
>
<template
#
columns-top
>
<div
class=
"px-3"
>
<van-field
v-model=
"searchValue"
placeholder=
"请输入"
clearable
maxlength=
"100"
/>
</div>
</
template
>
</van-picker>
</van-popup>
</template>
<
script
>
import
{
queryDiseaseCode
}
from
'@/api/doctor/disease.js'
export
default
{
props
:
{
show
:
Boolean
,
value
:
[
String
,
Number
],
fieldNames
:
{
type
:
Object
,
default
:
()
=>
{
return
{
text
:
'name'
,
value
:
'icdCode'
}
}
},
// 疾病类型
diseaseType
:
{
type
:
[
String
,
Number
],
required
:
true
},
teleport
:
[
String
,
Element
]
},
emits
:
[
'update:show'
,
'update:value'
,
'change'
],
data
()
{
return
{
innerValue
:
undefined
,
searchValue
:
''
,
diagnoseNameList
:
[]
}
},
computed
:
{
array
()
{
const
array
=
this
.
diagnoseNameList
||
[]
return
array
.
filter
(
e
=>
e
.
name
.
startsWith
(
this
.
searchValue
))
}
},
methods
:
{
load
()
{
queryDiseaseCode
({
diseaseType
:
this
.
diseaseType
}).
then
(
res
=>
{
const
result
=
[]
for
(
let
item
of
res
.
data
)
{
item
.
name
=
item
.
diseaseName
+
'('
+
item
.
icdCode
+
')'
result
.
push
(
item
)
}
this
.
diagnoseNameList
=
result
})
},
onConfirm
({
selectedValues
,
selectedOptions
})
{
this
.
$emit
(
'update:value'
,
selectedValues
[
0
])
this
.
$emit
(
'change'
,
selectedOptions
[
0
]
||
{})
this
.
$emit
(
'update:show'
,
false
)
this
.
searchValue
=
''
},
onCancel
()
{
this
.
$emit
(
'update:show'
,
false
)
}
},
watch
:
{
value
:
{
handler
(
value
)
{
if
(
value
==
null
)
return
this
.
innerValue
=
[
value
]
},
immediate
:
true
},
diseaseType
:
{
handler
()
{
this
.
load
()
},
immediate
:
true
}
}
}
</
script
>
<
style
lang=
"less"
scoped
>
</
style
>
src/doctor/diagnose/form/FormCont.vue
View file @
a9180068
<
template
>
<
template
>
<div
class=
"diagnose-form-cont"
>
<div
class=
"diagnose-form-cont"
>
<van-form
ref=
'form'
class=
"doc-form"
>
<van-form
ref=
'form'
class=
"doc-form"
>
<div
class=
'font-semibold'
>
诊断信息
</div>
<div
class=
'doc-form-label'
required
>
纳入管理日期
</div>
<van-field
v-model=
"form.manageDate"
is-link
readonly
name=
"manageDate"
placeholder=
"请选择"
@
click=
"showManageDate = true"
:rules=
"rules.requiredSelect"
/>
<van-popup
v-model:show=
"showManageDate"
position=
"bottom"
>
<van-date-picker
v-model=
"form._screenDate"
:min-date=
"manageDateRange.min"
:max-date=
"manageDateRange.max"
@
confirm=
"manageDateConfirm"
@
cancel=
"showManageDate = false"
/>
</van-popup>
<div
class=
'doc-form-label'
required
>
诊断名称
</div>
<van-field
v-model=
"form.diseaseName"
is-link
readonly
name=
"manageDate"
placeholder=
"请选择"
@
click=
"showIcd = true"
:rules=
"rules.requiredSelect"
/>
<DiagnosePicker
v-model:show=
"showIcd"
v-model:value=
"form.icdCode"
:diseaseType=
"diseaseType"
@
change=
"icdChange"
/>
<div
class=
'doc-form-label'
required
>
诊断评估
</div>
<div
class=
'doc-form-label'
required
>
高血压分级
</div>
<div
class=
'doc-form-label'
required
>
高血压危险分层
</div>
<div
class=
'doc-form-label'
required
>
缺血性脑卒中
</div>
<div
class=
'doc-form-label'
required
>
出血性脑卒中
</div>
</van-form>
</van-form>
<InstpectCommon
:disease=
"diseaseType"
/>
<InstpectCommon
:disease=
"diseaseType"
/>
<CheckCommon
:disease=
"diseaseType"
/>
<CheckCommon
:disease=
"diseaseType"
/>
...
@@ -11,13 +48,90 @@
...
@@ -11,13 +48,90 @@
<
script
>
<
script
>
import
InstpectCommon
from
'../common/Instpect.vue'
import
InstpectCommon
from
'../common/Instpect.vue'
import
CheckCommon
from
'../common/Check.vue'
import
CheckCommon
from
'../common/Check.vue'
import
DiagnosePicker
from
'./DiagnosePicker.vue'
import
dayjs
from
'dayjs'
const
defaultForm
=
(
info
=
{})
=>
{
const
form
=
{
id
:
undefined
,
residentInfoId
:
undefined
,
// 纳入管理日期
manageDate
:
undefined
,
_manageDate
:
undefined
,
// 诊断名称code
icdCode
:
undefined
,
diseaseName
:
undefined
,
// 诊断日期
diseaseDate
:
undefined
,
// 诊断评估
// 高血压分级
diagnoseAssess
:
undefined
,
diagnoseAssessName
:
undefined
,
// 用于单选
diagnoseLevel
:
undefined
,
diagnoseLevelName
:
undefined
,
// 用于多选
diagnoseResult
:
undefined
,
diagnoseResultName
:
undefined
,
// 是否需要检查
isInspect
:
2
,
// 是否需要检查
isCheck
:
2
}
Reflect
.
ownKeys
(
form
).
forEach
(
key
=>
{
if
(
info
[
key
]
!=
undefined
)
{
form
[
key
]
=
info
[
key
]
}
})
return
form
}
export
default
{
export
default
{
components
:
{
components
:
{
InstpectCommon
,
InstpectCommon
,
CheckCommon
CheckCommon
,
DiagnosePicker
},
},
props
:
{
props
:
{
diseaseType
:
[
Number
,
String
]
diseaseType
:
[
Number
,
String
]
},
data
()
{
return
{
form
:
defaultForm
(),
// 纳入管理日期
manageDateRange
:
{
min
:
undefined
,
max
:
undefined
},
showManageDate
:
false
,
// 诊断名称
showIcd
:
false
,
rules
:
{
requiredSelect
:
[{
required
:
true
,
message
:
'请选择'
}],
requiredInput
:
[{
required
:
true
,
message
:
'请输入'
}]
}
}
},
created
()
{
this
.
init
()
},
methods
:
{
init
()
{
const
date
=
dayjs
()
this
.
form
.
manageDate
=
date
.
format
(
'YYYY-MM-DD'
)
this
.
form
.
_manageDate
=
[
date
.
year
(),
date
.
month
()
+
1
,
date
.
date
()]
this
.
manageDateRange
.
max
=
new
Date
(
date
.
year
(),
date
.
month
(),
date
.
date
())
this
.
manageDateRange
.
min
=
new
Date
(
date
.
year
()
-
20
,
date
.
month
(),
date
.
date
())
},
// 纳入管理日期
manageDateConfirm
({
selectedValues
})
{
this
.
form
.
manageDate
=
selectedValues
.
join
(
'-'
)
this
.
showManageDate
=
false
},
// 诊断名称
icdChange
(
option
)
{
this
.
form
.
diseaseName
=
option
.
diseaseName
}
}
}
}
}
</
script
>
</
script
>
...
...
src/doctor/screening/first/F
ri
stForm.vue
→
src/doctor/screening/first/F
ir
stForm.vue
View file @
a9180068
File moved
src/router/index.js
View file @
a9180068
...
@@ -63,7 +63,7 @@ const routes = [
...
@@ -63,7 +63,7 @@ const routes = [
{
{
path
:
'screening/firstForm'
,
path
:
'screening/firstForm'
,
name
:
'screening-first-form'
,
name
:
'screening-first-form'
,
component
:
()
=>
import
(
/* webpackChunkName: "doctor" */
'@/doctor/screening/first/F
ri
stForm.vue'
)
component
:
()
=>
import
(
/* webpackChunkName: "doctor" */
'@/doctor/screening/first/F
ir
stForm.vue'
)
},
},
{
{
path
:
'screening/firstDetail'
,
path
:
'screening/firstDetail'
,
...
...
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