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
d4a1b02e
Commit
d4a1b02e
authored
Sep 02, 2024
by
songrui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
筛查表单;筛查结果
parent
18989109
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
113 additions
and
14 deletions
+113
-14
atomic.less
src/assets/css/atomic.less
+1
-0
base.less
src/assets/css/base.less
+17
-1
doc-close.svg
src/assets/icons/resident/doc-close.svg
+3
-0
BaseInfo.vue
src/resident/screening/first/form/BaseInfo.vue
+1
-0
CheckTip.vue
src/resident/screening/first/form/CheckTip.vue
+1
-6
Index.vue
src/resident/screening/first/form/Index.vue
+24
-4
Result.vue
src/resident/screening/first/form/Result.vue
+66
-3
ScreenInfo.vue
src/resident/screening/first/form/ScreenInfo.vue
+0
-0
No files found.
src/assets/css/atomic.less
View file @
d4a1b02e
...
...
@@ -81,6 +81,7 @@
.text-12 { font-size: 12px; }
.text-center { text-align: center; }
.text-black { color: #000; }
.text-red { color: #FF4D4F; }
.text-primary { color: var(--van-primary-color); }
.font-semibold { font-weight: 600; }
// 文字省略
...
...
src/assets/css/base.less
View file @
d4a1b02e
...
...
@@ -41,6 +41,7 @@ body {
.van-cell:after {
transform: scaleY(1);
}
// 为表单最后一个控件添加底部边框
>.van-field:last-child {
&::before {
position: absolute;
...
...
@@ -53,11 +54,21 @@ body {
border-bottom: 1px solid var(--van-cell-border-color);
}
}
// 在table表格中的控件
.table-field {
padding: 0;
input::placeholder {
float: none;
}
&:after {
display: none;
}
}
}
// 按键形式的单选框
.doc-radio-button {
height: 2
6
px;
height: 2
7
px;
.radio-item {
border: 1px solid #BFBFBF;
border-radius: 4px;
...
...
@@ -73,4 +84,8 @@ body {
border: 1px solid var(--van-primary-color);
color: #fff;
}
.van-radio--horizontal {
margin-right: 0;
margin-left: var(--van-padding-sm);
}
}
\ No newline at end of file
src/assets/icons/resident/doc-close.svg
0 → 100644
View file @
d4a1b02e
<svg
width=
"13"
height=
"14"
viewBox=
"0 0 13 14"
fill=
"none"
xmlns=
"http://www.w3.org/2000/svg"
>
<path
d=
"M0.268654 13.0683C0.625636 13.4253 1.21575 13.418 1.56545 13.0683L6.27906 8.35466L10.9927 13.0683C11.3424 13.418 11.9325 13.4253 12.2895 13.0683C12.6465 12.7113 12.6465 12.1139 12.2968 11.7642L7.58314 7.05058L12.2895 2.34425C12.6392 1.99456 12.6465 1.40444 12.2895 1.04746C11.9325 0.690481 11.3351 0.690481 10.9854 1.04018L6.27906 5.74651L1.57273 1.04018C1.22303 0.690481 0.625636 0.690481 0.268654 1.04746C-0.0883277 1.40444 -0.0810424 1.99456 0.268654 2.34425L4.97499 7.05058L0.261369 11.7642C-0.0883277 12.1139 -0.0883277 12.7113 0.268654 13.0683Z"
fill=
"black"
/>
</svg>
src/resident/screening/first/form/BaseInfo.vue
View file @
d4a1b02e
...
...
@@ -48,6 +48,7 @@
<van-field
v-model=
"form.currentAge"
name=
"currentAge"
required
readonly
label=
"年龄"
type=
"digit"
placeholder=
"请输入年龄"
...
...
src/resident/screening/first/form/CheckTip.vue
View file @
d4a1b02e
...
...
@@ -48,12 +48,7 @@ export default {
inject
:
[
'checkInfo'
],
methods
:
{
onClose
()
{
if
(
isWeiXin
())
{
// 微信中关闭页面
WeixinJSBridge
.
call
(
'closeWindow'
)
}
else
{
window
.
close
()
}
this
.
$parent
.
onClose
()
}
}
}
...
...
src/resident/screening/first/form/Index.vue
View file @
d4a1b02e
<
template
>
<div
class=
"h-full pb-5 flex flex-col "
>
<div
class=
"p-3 text-16 text-black text-center shrink-0 top-bar"
>
<span
class=
"back-bt"
@
click=
"onBack"
v-if=
"step >= 2"
>
<doc-icon
type=
"doc-left"
/>
<span
class=
"back-bt"
v-if=
"step >= 2"
>
<span
@
click=
"onClose"
v-if=
"[5].includes(step)"
>
<doc-icon
type=
"doc-close"
/>
</span>
<span
@
click=
"onBack"
v-else
>
<doc-icon
type=
"doc-left"
/>
</span>
</span>
<span>
慢病自我初筛
</span>
</div>
...
...
@@ -13,24 +18,28 @@
<BaseInfo
v-else-if=
"step === 3"
/>
<!-- 筛查表单 -->
<ScreenInfo
v-else-if=
"step === 4"
/>
<!-- 筛查结果 -->
<Result
v-else-if=
"step === 5"
/>
</div>
</div>
</
template
>
<
script
>
import
{
showNotify
}
from
'vant'
import
{
isWeiXin
}
from
'@/utils/common.js'
import
IdCheck
from
'./IdCheck.vue'
import
CheckTip
from
'./CheckTip.vue'
import
BaseInfo
from
'./BaseInfo.vue'
import
ScreenInfo
from
'./ScreenInfo.vue'
import
Result
from
'./Result.vue'
export
default
{
components
:
{
IdCheck
,
CheckTip
,
BaseInfo
,
ScreenInfo
ScreenInfo
,
Result
},
data
()
{
return
{
...
...
@@ -64,6 +73,9 @@ export default {
},
methods
:
{
onNext
(
step
)
{
if
(
this
.
step
===
1
)
{
this
.
recordForm
=
{}
}
this
.
step
=
step
?
step
:
this
.
step
+
1
this
.
setpHistory
.
push
(
this
.
step
)
},
...
...
@@ -71,6 +83,14 @@ export default {
if
(
this
.
step
===
1
)
return
this
.
setpHistory
.
pop
()
this
.
step
=
this
.
setpHistory
[
this
.
setpHistory
.
length
-
1
]
},
onClose
()
{
if
(
isWeiXin
())
{
// 微信中关闭页面
WeixinJSBridge
.
call
(
'closeWindow'
)
}
else
{
window
.
close
()
}
}
}
}
...
...
src/resident/screening/first/form/Result.vue
View file @
d4a1b02e
<
template
>
<div
class=
"submit-result"
>
筛查提交成功!
<div
class=
"pt-5 text-center"
>
<doc-icon
type=
"doc-check-circle"
style=
"color: #faad14;font-size: .46rem;"
/>
</div>
<div
class=
"text-center mt-4"
>
筛查提交成功
</div>
<p
class=
"tip"
v-if=
"screenInfo.screenResult == 2"
>
<!-- v-if="screenInfo.screenResult === 2" -->
通过筛查,您的慢病高危评估结果为:
<span
class=
"text-red"
>
高危风险人群
</span><br
/>
存在慢性病患病风险,可前往医院进一步检查。
</p>
<p
class=
"tip"
v-else
>
通过筛查,您的慢病高危评估结果为:一般人群。目前不存在慢性病患病风险,若有疑问,可前往医院进一步检查。
</p>
<div
class=
"result text-12"
v-if=
"screenInfo.screenResult === 2"
>
<div>
风险主要体现在以下3个方面:
</div>
<div
class=
"mt-2"
></div>
<div
v-for=
"(item, index) in resultInfo"
:key=
"index"
>
<span>
{{
index
+
1
}}
、
</span>
<span>
{{
item
}}
;
</span>
</div>
</div>
<van-button
round
block
class=
"button"
@
click=
"toRecord"
>
查看慢病筛查记录
</van-button>
</div>
</
template
>
<
script
>
import
{
useStore
}
from
'@/resident/store/index.js'
export
default
{
inject
:
[
'recordForm'
],
setup
()
{
const
store
=
useStore
()
return
{
store
}
},
computed
:
{
screenInfo
()
{
return
this
.
recordForm
.
screen
||
{}
},
resultInfo
()
{
// return this.store.getDict('CP00113').map(e => e.name)
const
highItem
=
this
.
screenInfo
.
highItem
return
highItem
&&
highItem
.
length
?
this
.
store
.
getDict
(
'CP00113'
).
filter
(
e
=>
highItem
.
includes
(
e
.
value
)).
map
(
e
=>
e
.
name
)
:
[]
}
},
methods
:{
toRecord
()
{
}
}
}
</
script
>
<
style
lang=
"less"
scoped
>
.submit-result {
padding: 0 30px;
}
.tip {
color: #595959;
line-height: 1.5;
font-size: 12px;
}
.result {
background-color: #F8FAFC;
padding: 12px;
line-height: 1.5;
}
.button {
color: #8C8C8C;
border-color: #BFBFBF;
margin-top: 30px;
}
</
style
>
src/resident/screening/first/form/ScreenInfo.vue
View file @
d4a1b02e
This diff is collapsed.
Click to expand it.
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