Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
folacin-front
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
ynby
folacin-front
Commits
91fb54e1
Commit
91fb54e1
authored
Feb 12, 2025
by
罗成兵
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
配置文件
parent
25e0aeb7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
214 additions
and
110 deletions
+214
-110
index.js
folacin-app/src/router/index.js
+2
-1
index.vue
folacin-app/src/views/index/index.vue
+97
-0
provideUnit.vue
folacin-app/src/views/provideUnit/provideUnit.vue
+0
-0
questionAnswer.vue
folacin-app/src/views/questionAnswer/questionAnswer.vue
+115
-109
No files found.
folacin-app/src/router/index.js
View file @
91fb54e1
...
...
@@ -4,7 +4,8 @@ import VueRouter from 'vue-router'
Vue
.
use
(
VueRouter
)
const
routes
=
[
{
path
:
'/'
,
name
:
'provideUnit'
,
component
:
()
=>
import
(
'../views/provideUnit/provideUnit.vue'
),
meta
:
{
keepAlive
:
true
,}},
{
path
:
'/'
,
name
:
'index'
,
component
:
()
=>
import
(
'../views/index/index.vue'
),
meta
:
{
keepAlive
:
true
,}},
{
path
:
'/provideUnit'
,
name
:
'provideUnit'
,
component
:
()
=>
import
(
'../views/provideUnit/provideUnit.vue'
),
meta
:
{
keepAlive
:
true
,}},
{
path
:
'/receiveApply'
,
name
:
'receiveApply'
,
component
:
()
=>
import
(
'../views/receiveApply/receiveApply.vue'
),
meta
:
{
keepAlive
:
true
,
isBack
:
false
,}},
{
path
:
'/informedConsentForm'
,
name
:
'informedConsentForm'
,
component
:
()
=>
import
(
'../views/informedConsentForm/informedConsentForm.vue'
),},
{
path
:
'/applyRecord'
,
name
:
'applyRecord'
,
component
:
()
=>
import
(
'../views/applyRecord/applyRecord.vue'
),
meta
:
{
keepAlive
:
true
,
isBack
:
false
}},
...
...
folacin-app/src/views/index/index.vue
0 → 100644
View file @
91fb54e1
<
template
>
<div>
<div
v-if=
"msg"
>
<br><br><br><br><br>
<van-empty
image=
"error"
:description=
"msg"
/>
<van-button
style=
"margin-left: 10%;width: 80%"
round
type=
"danger"
color=
"#EC808D"
@
click=
"handleBack()"
>
返回
</van-button>
</div>
</div>
</
template
>
<
script
>
import
{
callMobile
,
isIOSWebKit
}
from
'@/utils/common'
;
import
{
Dialog
}
from
'vant'
;
export
default
{
components
:
{},
data
()
{
return
{
msg
:
null
,
scrollPosition
:
0
,
}
},
created
()
{
let
vm
=
this
;
window
[
'init'
]
=
(
result
)
=>
{
vm
.
initUserInfo
(
result
);
vm
.
showMsg
();
};
window
[
'qrcodeContent'
]
=
(
result
)
=>
{
vm
.
scanQRCallBack
(
result
);
};
},
mounted
()
{
if
(
process
.
env
.
NODE_ENV
==
"dev"
)
{
let
userInfo
=
{
account
:
'18487125843'
,
token
:
'7de354fd8be1484cacbc41e96fe88d7e'
,
userId
:
'11133351501171512'
,
};
window
.
sessionStorage
.
setItem
(
'userInfo'
,
JSON
.
stringify
(
userInfo
));
this
.
showMsg
();
}
else
{
let
query
=
this
.
$route
.
query
;
let
userInfo
=
{
account
:
query
.
account
,
token
:
query
.
token
,
userId
:
query
.
userId
,
};
if
(
!
userInfo
.
userId
&&
!
userInfo
.
account
)
{
this
.
msg
=
"用户信息获取失败!"
callMobile
(
'init'
,
{});
}
else
{
if
(
!
userInfo
.
userId
||
!
userInfo
.
account
)
{
this
.
msg
=
"用户信息获取失败!"
return
;
}
window
.
sessionStorage
.
setItem
(
'userInfo'
,
JSON
.
stringify
(
userInfo
));
this
.
showMsg
();
}
}
},
activated
()
{
window
.
scrollTo
(
0
,
this
.
scrollPosition
);
},
methods
:
{
handleBack
()
{
callMobile
(
'goIndex'
,
{});
},
initUserInfo
(
val
)
{
let
ios
=
isIOSWebKit
();
if
(
ios
)
{
window
.
sessionStorage
.
setItem
(
'userInfo'
,
val
);
}
else
{
window
.
sessionStorage
.
setItem
(
'userInfo'
,
JSON
.
stringify
(
val
));
}
},
showMsg
(){
Dialog
.
alert
({
title
:
'温馨提示'
,
message
:
'备孕妇女从孕前3个月,坚持每天服用0.4mg叶酸或含叶酸的复合维生素至少到怀孕满3个月,可预防胎儿神经管缺陷的发生,还能减少唇腭裂、先心病、早产等风险。特殊情况妇女如肥胖、糖尿病等要加量。'
,
confirmButtonText
:
"好的,知道了"
}).
then
(()
=>
{
this
.
$router
.
push
(
'provideUnit'
);
});
}
},
beforeRouteLeave
(
to
,
from
,
next
)
{
this
.
scrollPosition
=
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
;
next
();
},
}
</
script
>
<
style
lang=
"less"
scoped
>
</
style
>
\ No newline at end of file
folacin-app/src/views/provideUnit/provideUnit.vue
View file @
91fb54e1
This diff is collapsed.
Click to expand it.
folacin-app/src/views/questionAnswer/questionAnswer.vue
View file @
91fb54e1
<
template
>
<div>
<!-- 头部 -->
<van-nav-bar
fixed
title=
"问卷"
>
<template
#
left
>
<img
src=
"../../assets/images/back.png"
alt=
""
@
click=
"goBack"
/>
</
template
>
<
template
#
right
>
<div></div>
</
template
>
</van-nav-bar>
<br><br><br>
<div
class=
"content"
>
<div>
根据您的实际情况进行选择(可多选):
</div>
<van-checkbox-group
v-model=
"checkedList"
checked-color=
"#F5222D"
>
<br>
<span
v-for=
"(item,index) in questionList"
>
<div>
<!-- 头部 -->
<van-nav-bar
fixed
title=
"问卷"
>
<template
#
left
>
<img
src=
"../../assets/images/back.png"
alt=
""
@
click=
"goBack"
/>
</
template
>
<
template
#
right
>
<div></div>
</
template
>
</van-nav-bar>
<br><br><br>
<div
class=
"content"
>
<div>
根据您的实际情况进行选择(可多选):
</div>
<van-checkbox-group
v-model=
"checkedList"
checked-color=
"#F5222D"
>
<br>
<span
v-for=
"(item,index) in questionList"
>
<van-checkbox
shape=
"square"
:name=
"item.value"
>
{{ item.name }}
</van-checkbox>
<van-divider/>
</span>
</van-checkbox-group>
<p
style=
"margin-left: 15%;color:#F5222D "
>
建议服用:{{ formData.recommendEat }}
</p>
<br>
<div
style=
"text-align: center"
>
<van-row>
<van-col
span=
"12"
>
<van-button
style=
"width: 150px"
round
color=
"#EC808D"
plain
@
click=
"onSubmit(1)"
>
忽略
</van-button>
</van-col>
<van-col
span=
"12"
>
<van-button
style=
"width: 150px"
round
type=
"danger"
color=
"#EC808D"
@
click=
"onSubmit(2)"
>
提交问卷
</van-button>
</van-col>
</van-row>
</div>
</div>
</van-checkbox-group>
<p
style=
"margin-left: 15%;color:#F5222D "
>
建议服用:{{ formData.recommendEat }}
</p>
<br>
<div
style=
"text-align: center"
>
<van-row>
<van-col
span=
"12"
>
<van-button
style=
"width: 150px"
round
color=
"#EC808D"
plain
@
click=
"onSubmit(1)"
>
忽略
</van-button>
</van-col>
<van-col
span=
"12"
>
<van-button
style=
"width: 150px"
round
type=
"danger"
color=
"#EC808D"
@
click=
"onSubmit(2)"
>
提交问卷
</van-button>
</van-col>
</van-row>
</div>
</div>
</div>
</template>
<
script
>
import
{
getUserInfoLast
}
from
'@/axios/api'
import
{
Notify
}
from
'vant'
;
export
default
{
name
:
"questionAnswer"
,
data
()
{
return
{
checkedList
:
[],
questionList
:
[{
value
:
"1"
,
name
:
"1、您是否患糖尿病?"
},
{
value
:
"2"
,
name
:
"2、您是否患有癫痫?"
},
{
value
:
"3"
,
name
:
"3、您或丈夫是否患有神经管缺陷或曾有神经管缺陷生育史?"
},
{
value
:
"4"
,
name
:
"4、您是否患有同型半胱氨酸血症?"
},
{
value
:
"5"
,
name
:
"5、您是否患有先天性脑积水、先天性心脏病、唇腭裂、肢体缺陷、泌尿系统缺陷?"
},
{
value
:
"6"
,
name
:
"6、您的一二级直系女性亲属是否有神经管缺陷生育史?"
},
{
value
:
"7"
,
name
:
"7、您是否正在服用以下药物:卡马西平、丙戊酸、苯妥英钠、二甲双胍、扑米酮、苯巴比妥、甲氨蝶呤、柳氮磺胺吡啶、甲氧咔啶、氨苯蝶啶、考来烯胺?"
},
{
value
:
"8"
,
name
:
"8、你是否患有胃肠道吸收不良?"
}],
formData
:
{
recommendEat
:
"2颗/天(0.8mg/天)"
},
name
:
"questionAnswer"
,
data
()
{
return
{
checkedList
:
[],
questionList
:
[{
value
:
"1"
,
name
:
"1、您是否患糖尿病?"
},
{
value
:
"2"
,
name
:
"2、您是否患有癫痫?"
},
{
value
:
"3"
,
name
:
"3、您或丈夫是否患有神经管缺陷或曾有神经管缺陷生育史?"
},
{
value
:
"4"
,
name
:
"4、您是否患有同型半胱氨酸血症?"
},
{
value
:
"5"
,
name
:
"5、您是否患有先天性脑积水、先天性心脏病、唇腭裂、肢体缺陷、泌尿系统缺陷?"
},
{
value
:
"6"
,
name
:
"6、您的一二级直系女性亲属是否有神经管缺陷生育史?"
},
{
value
:
"7"
,
name
:
"7、您是否正在服用以下药物:卡马西平、丙戊酸、苯妥英钠、二甲双胍、扑米酮、苯巴比妥、甲氨蝶呤、柳氮磺胺吡啶、甲氧咔啶、氨苯蝶啶、考来烯胺?"
},
{
value
:
"8"
,
name
:
"8、你是否患有胃肠道吸收不良?"
}],
formData
:
{
recommendEat
:
"2颗/天(0.8mg/天)"
},
}
},
watch
:
{
checkedList
(
checkedList
)
{
this
.
formData
.
recommendEat
=
'2颗/天(0.8mg/天)'
;
checkedList
.
forEach
(
x
=>
{
if
(
x
==
'3'
)
{
this
.
formData
.
recommendEat
=
"10颗/天(4mg/天)"
;
}
},
watch
:
{
checkedList
(
checkedList
)
{
this
.
formData
.
recommendEat
=
'2颗/天(0.8mg/天)'
;
checkedList
.
forEach
(
x
=>
{
if
(
x
==
'3'
)
{
this
.
formData
.
recommendEat
=
"10颗/天(4mg/天)"
;
}
if
(
x
==
'4'
)
{
this
.
formData
.
recommendEat
=
"13颗/天(5.2mg/天)"
;
}
})
if
(
x
==
'4'
)
{
this
.
formData
.
recommendEat
=
"13颗/天(5.2mg/天)"
;
}
})
}
},
mounted
()
{
this
.
getLastRecord
();
},
methods
:
{
// 返回
goBack
()
{
this
.
$router
.
push
(
'provideUnit'
);
},
mounted
()
{
this
.
getLastRecord
();
},
methods
:
{
// 返回
goBack
()
{
this
.
$router
.
push
(
'provideUnit'
);
},
getLastRecord
()
{
this
.
$toast
.
open
();
let
userInfo
=
JSON
.
parse
(
sessionStorage
.
getItem
(
'userInfo'
));
getUserInfoLast
(
userInfo
.
userId
).
then
(
res
=>
{
if
(
res
.
code
===
'SUCCESS'
)
{
if
(
res
.
data
)
{
this
.
formData
=
res
.
data
;
let
{
presentCode
}
=
res
.
data
;
this
.
formData
.
presentCode
=
presentCode
;
if
(
this
.
formData
.
question
)
{
this
.
checkedList
=
this
.
formData
.
question
.
split
(
","
);
}
if
(
!
this
.
formData
.
recommendEat
)
{
this
.
formData
.
recommendEat
=
"2颗/天(0.8mg/天)"
;
}
}
}
}).
finally
(()
=>
{
this
.
$toast
.
close
();
});
},
onSubmit
(
type
)
{
if
(
type
==
1
)
{
this
.
formData
.
question
=
null
;
sessionStorage
.
setItem
(
"lastRecord"
,
JSON
.
stringify
(
this
.
formData
));
this
.
$router
.
push
(
'receiveApply'
);
return
;
getLastRecord
()
{
let
userInfo
=
JSON
.
parse
(
sessionStorage
.
getItem
(
'userInfo'
))
if
(
!
userInfo
){
Notify
({
type
:
'warning'
,
message
:
'用户信息获取失败!'
});
return
}
this
.
$toast
.
open
();
getUserInfoLast
(
userInfo
.
userId
).
then
(
res
=>
{
if
(
res
.
code
===
'SUCCESS'
)
{
if
(
res
.
data
)
{
this
.
formData
=
res
.
data
;
let
{
presentCode
}
=
res
.
data
;
this
.
formData
.
presentCode
=
presentCode
;
if
(
this
.
formData
.
question
)
{
this
.
checkedList
=
this
.
formData
.
question
.
split
(
","
);
}
if
(
this
.
checkedList
.
length
==
0
)
{
this
.
$toast
.
tips
(
'请您选择答题后提交'
);
return
;
if
(
!
this
.
formData
.
recommendEat
)
{
this
.
formData
.
recommendEat
=
"2颗/天(0.8mg/天)"
;
}
let
question
=
""
;
this
.
checkedList
.
forEach
(
x
=>
{
question
+=
x
+
","
;
});
this
.
formData
.
question
=
question
.
substring
(
0
,
question
.
length
-
1
);
sessionStorage
.
setItem
(
"lastRecord"
,
JSON
.
stringify
(
this
.
formData
));
this
.
$router
.
push
({
path
:
'receiveApply'
});
}
}
}).
finally
(()
=>
{
this
.
$toast
.
close
();
});
},
onSubmit
(
type
)
{
if
(
type
==
1
)
{
this
.
formData
.
question
=
null
;
sessionStorage
.
setItem
(
"lastRecord"
,
JSON
.
stringify
(
this
.
formData
));
this
.
$router
.
push
(
'receiveApply'
);
return
;
}
if
(
this
.
checkedList
.
length
==
0
)
{
this
.
$toast
.
tips
(
'请您选择答题后提交'
);
return
;
}
let
question
=
""
;
this
.
checkedList
.
forEach
(
x
=>
{
question
+=
x
+
","
;
});
this
.
formData
.
question
=
question
.
substring
(
0
,
question
.
length
-
1
);
sessionStorage
.
setItem
(
"lastRecord"
,
JSON
.
stringify
(
this
.
formData
));
this
.
$router
.
push
({
path
:
'receiveApply'
});
}
}
}
</
script
>
<
style
scoped
>
.content
{
margin-left
:
15px
;
margin-left
:
15px
;
}
/
deep
/
.content
.van-checkbox__label
{
font-size
:
14px
;
font-size
:
14px
;
}
</
style
>
\ No newline at end of file
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