Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica.cloud.web-education-admin
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
提交
打开侧边栏
com.pica.cloud.education.frontend
pica.cloud.web-education-admin
提交
35e9ea8e
提交
35e9ea8e
编写于
4月 02, 2019
作者:
tao.wu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
no message
上级
94f2e118
变更
13
显示空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
722 行增加
和
1 行删除
+722
-1
helpChecking.vue
src/components/followup/form/helpChecking.vue
+60
-0
lifeStyleGuide.vue
src/components/followup/form/lifeStyleGuide.vue
+60
-0
medicalStateUsing.vue
src/components/followup/form/medicalStateUsing.vue
+13
-0
sign.vue
src/components/followup/form/sign.vue
+60
-0
symptom.vue
src/components/followup/form/symptom.vue
+89
-0
dataSourceHelpChecking.js
src/model/dataSourceHelpChecking.js
+33
-0
dataSourceLifeStyleGuide.js
src/model/dataSourceLifeStyleGuide.js
+134
-0
dataSourceMedicalStateUsing.js
src/model/dataSourceMedicalStateUsing.js
+0
-0
dataSourceSign.js
src/model/dataSourceSign.js
+86
-0
dataSourceSymptom.js
src/model/dataSourceSymptom.js
+27
-0
follow.js
src/router/follow.js
+10
-0
form-template.vue
src/views/followup/record-manage/form-template.vue
+142
-0
record-list.vue
src/views/followup/record-manage/record-list.vue
+8
-1
未找到文件。
src/components/followup/form/helpChecking.vue
0 → 100644
浏览文件 @
35e9ea8e
<
template
>
<div>
<!-- input -->
<el-input
v-if=
"item.formType === 'input'"
v-model=
"form[item.model]"
:type=
"item.type"
:class=
"item.className"
:disabled=
"item.disabled"
:maxlength=
"item.maxlength"
:minlength=
"item.minlength"
:placeholder=
"item.placeholder"
@
change=
"item.changeFun ? item.changeFun($event) : defaultFun($event)"
>
<template
v-for=
"slot in item.slots || []"
:slot=
"slot.type"
>
{{
slot
.
name
}}
</
template
>
</el-input>
<!-- radios -->
<el-radio-group
v-else-if=
"item.formType === 'radio'"
v-model=
"form[item.model]"
@
change=
"item.changeFun ? item.changeFun($event) : defaultFun($event)"
>
<el-radio
v-for=
"(opt, rad) in item.options"
:key=
"rad"
:label=
"opt.value"
>
{{ opt.label }}
</el-radio>
</el-radio-group>
</div>
</template>
<
script
>
export
default
{
props
:
{
dataSource
:
Object
,
},
created
(){
this
.
item
=
this
.
dataSource
},
data
()
{
return
{
item
:
{},
form
:
{
symptomList
:
[],
//checkbox 症状
inputVal
:
''
,
radioVal
:
''
},
}
},
methods
:
{
defaultFun
()
{},
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/components/followup/form/lifeStyleGuide.vue
0 → 100644
浏览文件 @
35e9ea8e
<
template
>
<div>
<!-- input -->
<el-input
v-if=
"item.formType === 'input'"
v-model=
"form[item.model]"
:type=
"item.type"
:class=
"item.className"
:disabled=
"item.disabled"
:maxlength=
"item.maxlength"
:minlength=
"item.minlength"
:placeholder=
"item.placeholder"
@
change=
"item.changeFun ? item.changeFun($event) : defaultFun($event)"
>
<template
v-for=
"slot in item.slots || []"
:slot=
"slot.type"
>
{{
slot
.
name
}}
</
template
>
</el-input>
<!-- radios -->
<el-radio-group
v-else-if=
"item.formType === 'radio'"
v-model=
"form[item.model]"
@
change=
"item.changeFun ? item.changeFun($event) : defaultFun($event)"
>
<el-radio
v-for=
"(opt, rad) in item.options"
:key=
"rad"
:label=
"opt.value"
>
{{ opt.label }}
</el-radio>
</el-radio-group>
</div>
</template>
<
script
>
export
default
{
props
:
{
dataSource
:
Object
,
},
created
(){
this
.
item
=
this
.
dataSource
},
data
()
{
return
{
item
:
{},
form
:
{
symptomList
:
[],
//checkbox 症状
inputVal
:
''
,
radioVal
:
''
},
}
},
methods
:
{
defaultFun
()
{},
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/components/followup/form/medicalStateUsing.vue
0 → 100644
浏览文件 @
35e9ea8e
<
template
>
<div>
<h1>
用药情况-组件
</h1>
</div>
</
template
>
<
script
>
export
default
{}
</
script
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/components/followup/form/sign.vue
0 → 100644
浏览文件 @
35e9ea8e
<
template
>
<div>
<!-- input -->
<el-input
v-if=
"item.formType === 'input'"
v-model=
"form[item.model]"
:type=
"item.type"
:class=
"item.className"
:disabled=
"item.disabled"
:maxlength=
"item.maxlength"
:minlength=
"item.minlength"
:placeholder=
"item.placeholder"
@
change=
"item.changeFun ? item.changeFun($event) : defaultFun($event)"
>
<template
v-for=
"slot in item.slots || []"
:slot=
"slot.type"
>
{{
slot
.
name
}}
</
template
>
</el-input>
<!-- radios -->
<el-radio-group
v-else-if=
"item.formType === 'radio'"
v-model=
"form[item.model]"
@
change=
"item.changeFun ? item.changeFun($event) : defaultFun($event)"
>
<el-radio
v-for=
"(opt, rad) in item.options"
:key=
"rad"
:label=
"opt.value"
>
{{ opt.label }}
</el-radio>
</el-radio-group>
</div>
</template>
<
script
>
export
default
{
props
:
{
dataSource
:
Object
,
},
created
(){
this
.
item
=
this
.
dataSource
},
data
()
{
return
{
item
:
{},
form
:
{
symptomList
:
[],
//checkbox 症状
inputVal
:
''
,
radioVal
:
''
},
}
},
methods
:
{
defaultFun
()
{},
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/components/followup/form/symptom.vue
0 → 100644
浏览文件 @
35e9ea8e
<
template
>
<div>
<!-- checkbox -->
<el-checkbox-group
v-if=
"item.formType=='checkbox'"
v-model=
"form[item.model]"
@
change=
"changeFun(item,form[item.model])"
>
<el-checkbox
v-for=
"(opt, ck) in item.options"
:key=
"ck"
:label=
"opt.value"
:disabled=
"opt.disabled"
>
{{
opt
.
label
}}
</el-checkbox>
</el-checkbox-group>
<!-- input -->
<el-input
v-else-if=
"item.formType === 'input'"
v-model=
"form[item.model]"
:type=
"item.type"
:class=
"item.className"
:disabled=
"item.disabled"
:maxlength=
"item.maxlength"
:minlength=
"item.minlength"
:placeholder=
"item.placeholder"
@
change=
"item.changeFun ? item.changeFun($event) : defaultFun($event)"
>
<template
v-for=
"slot in item.slots || []"
:slot=
"slot.type"
>
{{
slot
.
name
}}
</
template
>
</el-input>
</div>
</template>
<
script
>
export
default
{
props
:
{
dataSource
:
Object
,
},
created
(){
this
.
item
=
this
.
dataSource
},
data
()
{
return
{
item
:
{},
form
:
{
symptomList
:
[],
//checkbox 症状
inputVal
:
''
},
}
},
methods
:
{
// 改变checkbox的时候判断
changeFun
(
obj
,
val
){
const
len
=
val
.
length
const
options
=
obj
.
options
if
(
len
>
0
){
val
.
forEach
((
item
)
=>
{
if
(
item
==
'1'
){
options
.
forEach
((
item
)
=>
{
if
(
item
.
value
!=
'1'
){
item
.
disabled
=
true
}
else
{
item
.
disabled
=
false
}
})
}
else
{
options
.
forEach
((
item
)
=>
{
item
.
disabled
=
false
})
}
})
}
else
{
options
.
forEach
((
item
)
=>
{
item
.
disabled
=
false
})
}
},
defaultFun
()
{},
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/model/dataSourceHelpChecking.js
0 → 100644
浏览文件 @
35e9ea8e
export
default
[
{
formType
:
'radio'
,
prop
:
'medHandle'
,
model
:
'medHandle'
,
label
:
'遵医行为'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
24
,
options
:
[
{
label
:
'空腹'
,
value
:
'1'
,
disabled
:
false
},
{
label
:
'随机'
,
value
:
'2'
,
disabled
:
false
},
],
},
{
formType
:
'input'
,
linkageRule
:
[
{
name
:
'medHandle'
,
value
:
[
'2'
]
}
],
prop
:
'inputVal'
,
model
:
'inputVal'
,
label
:
'目标'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
12
,
type
:
'number'
,
labmsg
:
'目标'
,
slots
:
[{
name
:
'mmol/L'
,
type
:
'append'
}]
},
]
src/model/dataSourceLifeStyleGuide.js
0 → 100644
浏览文件 @
35e9ea8e
export
default
[
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'日吸烟量(支)'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
12
,
type
:
'number'
,
labmsg
:
'本次'
},
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'目标'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
12
,
type
:
'number'
,
labmsg
:
'目标'
},
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'日饮酒量(两)'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
12
,
type
:
'number'
,
labmsg
:
'本次'
},
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'目标'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
12
,
type
:
'number'
,
labmsg
:
'目标'
},
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'运动本次'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
12
,
type
:
'number'
,
labmsg
:
'本次'
,
slots
:
[{
name
:
'次/周'
,
type
:
'append'
}]
},
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'本次'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
12
,
type
:
'number'
,
labmsg
:
'本次'
,
slots
:
[{
name
:
'分钟/次'
,
type
:
'append'
}]
},
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'运动目标'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
12
,
type
:
'number'
,
labmsg
:
'目标'
,
slots
:
[{
name
:
'次/周'
,
type
:
'append'
}]
},
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'目标'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
12
,
type
:
'number'
,
labmsg
:
'目标'
,
slots
:
[{
name
:
'分钟/次'
,
type
:
'append'
}]
},
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'主食(克/天)'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
12
,
type
:
'number'
,
labmsg
:
'目标'
,
// slots: [{ name: '次/周', type: 'append' }]
},
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'目标'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
12
,
type
:
'number'
,
labmsg
:
'目标'
,
// slots: [{ name: '分钟/次', type: 'append' }]
},
{
formType
:
'radio'
,
model
:
'radioVal'
,
label
:
'心理调整'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
24
,
options
:
[
{
label
:
'良好'
,
value
:
'1'
,
disabled
:
false
},
{
label
:
'一般'
,
value
:
'2'
,
disabled
:
false
},
{
label
:
'差'
,
value
:
'3'
,
disabled
:
false
},
],
},
{
formType
:
'radio'
,
model
:
'radioVal'
,
label
:
'遵医行为'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
24
,
options
:
[
{
label
:
'良好'
,
value
:
'1'
,
disabled
:
false
},
{
label
:
'一般'
,
value
:
'2'
,
disabled
:
false
},
{
label
:
'差'
,
value
:
'3'
,
disabled
:
false
},
],
},
]
src/model/dataSourceMedicalStateUsing.js
0 → 100644
浏览文件 @
35e9ea8e
src/model/dataSourceSign.js
0 → 100644
浏览文件 @
35e9ea8e
export
default
[
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'血压(mmhg)'
,
disabled
:
false
,
placeholder
:
'0'
,
type
:
'number'
,
spanNum
:
12
,
},
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
''
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
12
,
type
:
'number'
,
},
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'身高(cm)'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
24
,
type
:
'number'
,
},
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'体重(kg)'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
12
,
type
:
'number'
,
labmsg
:
'本次'
},
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'目标'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
12
,
type
:
'number'
,
labmsg
:
'目标'
},
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'体质指数(BMI)'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
12
,
type
:
'number'
,
labmsg
:
'本次'
},
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'目标'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
12
,
type
:
'number'
,
labmsg
:
'目标'
},
{
formType
:
'radio'
,
model
:
'radioVal'
,
label
:
'足背动脉搏动'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
24
,
options
:
[
{
label
:
'触及正常'
,
value
:
'1'
,
disabled
:
false
},
{
label
:
'双侧减弱'
,
value
:
'2'
,
disabled
:
false
},
{
label
:
'左侧减弱'
,
value
:
'3'
,
disabled
:
false
},
{
label
:
'右侧减弱'
,
value
:
'4'
,
disabled
:
false
},
{
label
:
'双侧消失'
,
value
:
'5'
,
disabled
:
false
},
{
label
:
'左侧消失'
,
value
:
'6'
,
disabled
:
false
},
{
label
:
'右侧消失'
,
value
:
'7'
,
disabled
:
false
},
],
},
]
src/model/dataSourceSymptom.js
0 → 100644
浏览文件 @
35e9ea8e
export
default
[
{
formType
:
'checkbox'
,
// prop: 'isIntravenousThrombolysis',
model
:
'symptomList'
,
placeholder
:
'症状'
,
label
:
'症状'
,
spanNum
:
24
,
rules
:
[
{
required
:
true
,
message
:
'请选择进行静脉溶栓'
,
trigger
:
'blur'
}
],
options
:
[
{
label
:
'无症状'
,
value
:
'1'
,
disabled
:
false
},
{
label
:
'多饮'
,
value
:
'2'
,
disabled
:
false
},
{
label
:
'多食'
,
value
:
'3'
,
disabled
:
false
},
{
label
:
'多尿'
,
value
:
'4'
,
disabled
:
false
},
{
label
:
'感染'
,
value
:
'5'
,
disabled
:
false
}
],
},
{
formType
:
'input'
,
model
:
'inputVal'
,
label
:
'症状原因'
,
disabled
:
false
,
placeholder
:
'请输入症状原因'
,
},
]
src/router/follow.js
浏览文件 @
35e9ea8e
...
...
@@ -15,6 +15,7 @@ const reservationList = r => require.ensure([], () => r(require('../views/follow
/*录入*/
const
recordManage
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/followup/record-manage/layout.vue'
)),
'recordManage'
);
const
recordList
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/followup/record-manage/record-list.vue'
)),
'recordList'
);
const
formTemplate
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/followup/record-manage/form-template.vue'
)),
'formTemplate'
);
//量表模板
...
...
@@ -124,6 +125,15 @@ const followRouters = {
keepAlive
:
false
},
},
{
path
:
'form-template'
,
component
:
formTemplate
,
name
:
'formTemplate'
,
meta
:
{
title
:
'录入量表'
,
keepAlive
:
false
},
},
],
meta
:
{
title
:
'录入管理'
,
...
...
src/views/followup/record-manage/form-template.vue
0 → 100644
浏览文件 @
35e9ea8e
<
template
>
<div
class=
"form-template"
>
<BreadCrumb
:curmbFirst=
"'随访管理'"
:curmbSecond=
"'录入管理'"
:curmbThird=
"'录入量表'"
/>
<div
class=
"resident-content f-main-content screenSet"
>
<!--渲染不同的模块表单-->
<div
v-for=
"(item, index) in addComponents"
>
<div
class=
"content-box"
>
<div
class=
"title"
>
{{
item
.
title
}}
</div>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
>
<div
class=
"form-box"
>
<el-row>
<!--渲染不同的表单内部分类字段-->
<el-col
v-for=
"(item2, index) in item.dataSource"
:span=
"item2.spanNum ? item2.spanNum : spanNum"
:class=
"item2.className"
:offset=
"item2.offset"
:push=
"item2.push"
:key=
"index"
>
<el-form-item
v-if=
"isParent(item2)"
:prop=
"item2.prop"
:label=
"item2.label"
:rules=
"item2.rules"
:label-width=
"item2.labelWidth"
:required=
"item2.required"
:class=
"item2.className"
:error=
"item2.error"
>
<component
:is=
"item.name"
:key=
"index"
:dataSource=
"item2"
/>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
BreadCrumb
from
'@/components/breadcrumb'
import
HelpChecking
from
'@/components/followup/form/helpChecking'
import
LifeStyleGuide
from
'@/components/followup/form/lifeStyleGuide'
import
MedicalStateUsing
from
'@/components/followup/form/medicalStateUsing'
import
Sign
from
'@/components/followup/form/sign'
import
Symptom
from
'@/components/followup/form/symptom'
import
dataSourceSymptom
from
'@/model/dataSourceSymptom'
import
dataSourceSign
from
'@/model/dataSourceSign'
import
dataSourceLifeStyleGuide
from
'@/model/dataSourceLifeStyleGuide'
import
dataSourceHelpChecking
from
'@/model/dataSourceHelpChecking'
import
dataSourceMedicalStateUsing
from
'@/model/dataSourceMedicalStateUsing'
export
default
{
components
:
{
Symptom
,
//症状
Sign
,
//体征
LifeStyleGuide
,
//生活方式指导
HelpChecking
,
//辅助检查
MedicalStateUsing
,
//用药情况
//以下是非组件
BreadCrumb
,
},
data
(){
return
{
spanNum
:
12
,
valueFormat
:
'timestamp'
,
format
:
'yyyy-MM-dd HH:mm'
,
dateType
:
'datetime'
,
form
:
{},
addComponents
:
[
{
name
:
'Symptom'
,
dataSource
:
dataSourceSymptom
,
title
:
'症状'
},
{
name
:
'Sign'
,
dataSource
:
dataSourceSign
,
title
:
'体征'
},
{
name
:
'LifeStyleGuide'
,
dataSource
:
dataSourceLifeStyleGuide
,
title
:
'生活方式指导'
},
{
name
:
'HelpChecking'
,
dataSource
:
dataSourceHelpChecking
,
title
:
'辅助检查'
},
{
name
:
'MedicalStateUsing'
,
dataSource
:
dataSourceMedicalStateUsing
,
title
:
'用药情况'
},
],
//量表结果集合
dataSource
:
{
AcuteBrainVeinThrombolytic
:
{},
Lifestyle
:
{}
},
}
},
created
(){
},
methods
:
{
defaultFun
()
{},
isParent
(
item
)
{
if
(
!
item
.
linkageRule
)
{
return
true
}
else
{
let
num
=
0
item
.
linkageRule
.
forEach
(
t
=>
{
if
(
this
.
form
[
t
.
name
]
==
null
)
{
return
false
}
if
(
typeof
this
.
form
[
t
.
name
]
===
'string'
)
{
if
(
t
.
value
.
includes
(
this
.
form
[
t
.
name
]))
{
num
+=
1
}
}
else
{
const
nameVal
=
this
.
form
[
t
.
name
]
const
valType
=
_
.
isArray
(
nameVal
)
?
nameVal
:
Array
.
of
(
nameVal
)
const
bool
=
_
.
intersection
(
valType
,
t
.
value
)
if
(
_
.
isArray
(
bool
)
&&
bool
.
length
>
0
)
{
num
+=
1
}
}
})
if
(
num
!==
item
.
linkageRule
.
length
)
{
delete
this
.
form
[
item
.
model
]
}
return
num
===
item
.
linkageRule
.
length
}
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
@import
'../../../style/followup/followup-common'
;
@import
'../../../style/followup/element-reset.css'
;
.form-template
{
}
.title
{
font-weight
:
bold
;
}
</
style
>
src/views/followup/record-manage/record-list.vue
浏览文件 @
35e9ea8e
...
...
@@ -191,7 +191,14 @@
handlerClick
(){
this
.
search
(
1
);
},
editRow
(
row
){},
editRow
(
row
){
this
.
$router
.
push
({
name
:
'formTemplate'
,
params
:
{
data
:
row
}
})
},
changeStatusRow
(
row
){
this
.
statusForm
=
row
;
this
.
isShowChangeDialog
=
true
;
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录