Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica.cloud.web-education-admin
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
提交
打开侧边栏
com.pica.cloud.education.frontend
pica.cloud.web-education-admin
提交
2a33240a
提交
2a33240a
编写于
4月 15, 2019
作者:
tao.wu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
bug修改,量表
上级
3a9afebc
变更
18
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
18 个修改的文件
包含
740 行增加
和
739 行删除
+740
-739
helpChecking.vue
src/components/followup/form/helpChecking.vue
+0
-60
index.vue
src/components/followup/form/index.vue
+182
-0
lifeStyleGuide.vue
src/components/followup/form/lifeStyleGuide.vue
+0
-60
sign.vue
src/components/followup/form/sign.vue
+0
-60
symptom.vue
src/components/followup/form/symptom.vue
+0
-89
dataSourceMedicalStateUsing.js
src/model/dataSourceMedicalStateUsing.js
+0
-0
set-time-form.vue
src/views/followup/plan-manage/dialog/set-time-form.vue
+339
-339
set-time-node.vue
src/views/followup/plan-manage/dialog/set-time-node.vue
+29
-30
form-template.vue
src/views/followup/record-manage/form-template.vue
+34
-100
dataSourceBaseInfo.js
...ollowup/record-manage/models/stroke/dataSourceBaseInfo.js
+49
-0
dataSourceDataType.js
...ollowup/record-manage/models/stroke/dataSourceDataType.js
+26
-0
dataSourceHelpChecking.js
...wup/record-manage/models/stroke/dataSourceHelpChecking.js
+0
-0
dataSourceLifeStyleGuide.js
...p/record-manage/models/stroke/dataSourceLifeStyleGuide.js
+0
-0
dataSourceMedicalStateUsing.js
...ecord-manage/models/stroke/dataSourceMedicalStateUsing.js
+26
-0
dataSourceSign.js
...ws/followup/record-manage/models/stroke/dataSourceSign.js
+0
-0
dataSourceSymptom.js
...followup/record-manage/models/stroke/dataSourceSymptom.js
+0
-0
hypertension.vue
...ews/followup/record-manage/patient-scale/hypertension.vue
+1
-1
stroke.vue
src/views/followup/record-manage/patient-scale/stroke.vue
+54
-0
未找到文件。
src/components/followup/form/helpChecking.vue
已删除
100644 → 0
浏览文件 @
3a9afebc
<
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/index.vue
0 → 100644
浏览文件 @
2a33240a
<
template
>
<div
class=
"form-box"
>
<el-row>
<el-col
v-for=
"(item, index) in dataSource"
:span=
"item.spanNum ? item.spanNum : spanNum"
:class=
"item.className"
:offset=
"item.offset"
:key=
"index"
>
<el-form-item
v-if=
"isParent(item)"
:prop=
"item.prop"
:label=
"item.label"
:rules=
"item.rules"
:label-width=
"item.labelWidth"
:required=
"item.required"
:class=
"item.className"
:error=
"item.error"
>
<!-- div文本 -->
<div
v-if=
"item.formType === 'div'"
:class=
"item.className"
>
{{
item
.
name
}}
</div>
<!-- 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>
<!-- label -->
<label
v-else-if=
"item.formType === 'label'"
:class=
"item.className"
:disabled=
"item.disabled"
>
{{ form[item.model]==''?'-':form[item.model] }}{{ item.suffix }}
</label>
<!-- select -->
<el-select
v-else-if=
"item.formType === 'select'"
v-model=
"form[item.model]"
:multiple=
"item.multiple"
:placeholder=
"item.placeholder"
@
change=
"item.changeFun ? item.changeFun($event) : defaultFun($event)"
>
<el-option
v-for=
"(opt, index2) in item.options"
:key=
"index2"
:label=
"opt.label"
:value=
"opt.value"
/>
</el-select>
<!-- checkbox -->
<el-checkbox-group
v-else-if=
"item.formType === 'checkbox'"
v-model=
"form[item.model]"
@
change=
"item.changeFun ? item.changeFun($event) : defaultFun($event)"
>
<el-checkbox
v-for=
"(opt, ck) in item.options"
:key=
"ck"
:label=
"opt.value"
>
{{ opt.label }}
</el-checkbox>
</el-checkbox-group>
<!-- 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>
<!-- switch-->
<el-switch
v-else-if=
"item.formType === 'switch'"
v-model=
"form[item.model]"
/>
<!-- transfer-->
<el-transfer
v-else-if=
"item.formType === 'transfer'"
v-model=
"form[item.model]"
:data=
"item.data"
/>
<!-- 时间 -->
<el-date-picker
v-else-if=
"item.formType === 'date-picker'"
v-model=
"form[item.model]"
:disabled=
"item.disabled"
:type=
"item.type || dateType"
:placeholder=
"item.placeholder"
:format=
"item.format || format"
:value-format=
"item.valueFormat || valueFormat"
@
change=
"item.changeFun ? item.changeFun($event) : defaultFun($event)"
/>
<!-- 图片 -->
<img
v-else-if=
"item.formType === 'img'"
:src=
"item.src||''"
:alt=
"item.alt||''"
:width=
"item.width"
>
</el-form-item>
</el-col>
</el-row>
</div>
</template>
<
script
>
import
_
from
'lodash'
export
default
{
props
:
{
dataSource
:
{
type
:
Array
,
default
:
()
=>
[]
},
form
:
{
type
:
Object
,
default
:
()
=>
{}
}
},
data
()
{
return
{
spanNum
:
12
,
valueFormat
:
'timestamp'
,
format
:
'yyyy-MM-dd HH:mm'
,
dateType
:
'datetime'
}
},
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"
>
.form-box
{
padding
:
20px
40px
;
}
.h72
{
height
:
92px
;
}
.clear
{
clear
:
left
;
}
.m-title
{
.el-form-item__label
{
font-size
:
16px
;
color
:
rgba
(
74
,
74
,
74
,
1
);
}
}
</
style
>
src/components/followup/form/lifeStyleGuide.vue
已删除
100644 → 0
浏览文件 @
3a9afebc
<
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/sign.vue
已删除
100644 → 0
浏览文件 @
3a9afebc
<
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
已删除
100644 → 0
浏览文件 @
3a9afebc
<
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/dataSourceMedicalStateUsing.js
已删除
100644 → 0
浏览文件 @
3a9afebc
src/views/followup/plan-manage/dialog/set-time-form.vue
浏览文件 @
2a33240a
此差异已折叠。
点击以展开。
src/views/followup/plan-manage/dialog/set-time-node.vue
浏览文件 @
2a33240a
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
v-show=
"index == activeTab"
v-show=
"index == activeTab"
class=
"form-div"
class=
"form-div"
>
>
<el-form
:ref=
"itemTimeForm.formRef"
:model=
"itemTimeForm"
:rules=
"timeFormRules"
label-suffix=
":"
label-width=
"140px"
:inline-message=
"
tru
e"
size=
"small"
>
<el-form
:ref=
"itemTimeForm.formRef"
:model=
"itemTimeForm"
:rules=
"timeFormRules"
label-suffix=
":"
label-width=
"140px"
:inline-message=
"
fals
e"
size=
"small"
>
<el-form-item
label=
"本次随访时间"
required
>
<el-form-item
label=
"本次随访时间"
required
>
<div
style=
"display: flex;"
>
<div
style=
"display: flex;"
>
<el-form-item
prop=
"timeNo"
>
<el-form-item
prop=
"timeNo"
>
...
@@ -180,6 +180,7 @@
...
@@ -180,6 +180,7 @@
messagePatientNum
:
0
,
messagePatientNum
:
0
,
totalNumber
:
0
,
totalNumber
:
0
,
activeResourceId
:
''
,
activeResourceId
:
''
,
errMsg
:
''
,
}
}
},
},
props
:
{
props
:
{
...
@@ -269,6 +270,7 @@
...
@@ -269,6 +270,7 @@
this
.
setTimeNodeList
[
index
].
formRef
=
'form'
+
index
;
this
.
setTimeNodeList
[
index
].
formRef
=
'form'
+
index
;
});
});
this
.
$forceUpdate
();
this
.
$forceUpdate
();
this
.
activeTab
=
this
.
setTimeNodeList
.
length
-
1
+
''
;
}
}
},
},
...
@@ -368,8 +370,8 @@
...
@@ -368,8 +370,8 @@
// 如果直接点击保存,需要进行对当前填写的表单进行校验
// 如果直接点击保存,需要进行对当前填写的表单进行校验
this
.
checkStart
();
this
.
checkStart
();
if
(
this
.
isValied
){
if
(
this
.
isValied
){
let
timeNo
=
this
.
setTimeNodeList
[
this
.
activeTab
].
timeNo
;
//
let timeNo = this.setTimeNodeList[this.activeTab].timeNo;
this
.
checkIsRepeat
(
timeNo
);
//
this.checkIsRepeat(timeNo);
// 保存 校验通过后,排序 + 发送请求
// 保存 校验通过后,排序 + 发送请求
// 新增成功之后
// 新增成功之后
this
.
setTimeNodeList
=
this
.
sortKey
(
this
.
setTimeNodeList
,
'timeNo'
);
this
.
setTimeNodeList
=
this
.
sortKey
(
this
.
setTimeNodeList
,
'timeNo'
);
...
@@ -379,13 +381,13 @@
...
@@ -379,13 +381,13 @@
})
})
}
else
{
}
else
{
this
.
$message
({
this
.
$message
({
message
:
'请填写完整表单'
,
message
:
this
.
errMsg
,
type
:
'error'
type
:
'error'
});
});
this
.
$emit
(
'addListenSave'
,{
this
.
$emit
(
'addListenSave'
,{
status
:
false
,
status
:
false
,
setTimeNodeList
:
this
.
setTimeNodeList
,
setTimeNodeList
:
this
.
setTimeNodeList
,
message
:
'请填写完整表单'
message
:
this
.
errMsg
})
})
}
}
}
}
...
@@ -398,8 +400,6 @@
...
@@ -398,8 +400,6 @@
//开始校验
//开始校验
this
.
checkStart
();
this
.
checkStart
();
if
(
this
.
isValied
){
if
(
this
.
isValied
){
let
timeNo
=
this
.
setTimeNodeList
[
this
.
activeTab
].
timeNo
;
this
.
checkIsRepeat
(
timeNo
);
// 校验通过后,切换tab并且增加初始化list一个item
// 校验通过后,切换tab并且增加初始化list一个item
let
newTabName
=
++
this
.
activeTab
+
''
;
let
newTabName
=
++
this
.
activeTab
+
''
;
this
.
initNewForm
();
this
.
initNewForm
();
...
@@ -407,8 +407,9 @@
...
@@ -407,8 +407,9 @@
// 新增成功之后
// 新增成功之后
this
.
setTimeNodeList
=
this
.
sortKey
(
this
.
setTimeNodeList
,
'timeNo'
);
this
.
setTimeNodeList
=
this
.
sortKey
(
this
.
setTimeNodeList
,
'timeNo'
);
}
else
{
}
else
{
this
.
errMsg
=
'请填写完整表单'
;
this
.
$message
({
this
.
$message
({
message
:
'请填写完整表单'
,
message
:
this
.
errMsg
,
type
:
'error'
type
:
'error'
});
});
}
}
...
@@ -417,9 +418,10 @@
...
@@ -417,9 +418,10 @@
deleteTimeNode
(
index
)
{
deleteTimeNode
(
index
)
{
let
listLen
=
this
.
setTimeNodeList
.
length
;
let
listLen
=
this
.
setTimeNodeList
.
length
;
if
(
listLen
<=
1
){
if
(
listLen
<=
1
){
this
.
errMsg
=
'至少选择一个时间节点'
;
this
.
$message
({
this
.
$message
({
message
:
'至少选择一个时间节点'
,
message
:
this
.
errMsg
,
type
:
'
warning
'
type
:
'
error
'
});
});
return
;
return
;
}
else
{
}
else
{
...
@@ -443,29 +445,31 @@
...
@@ -443,29 +445,31 @@
console
.
log
(
pushData
)
console
.
log
(
pushData
)
// 如果选了推送时间,没选漫画
// 如果选了推送时间,没选漫画
if
(
len
&&
(
startDays
!==
''
&&
startDays
>=
0
)
&&
!
resourceId
){
if
(
len
&&
(
startDays
!==
''
&&
startDays
>=
0
)
&&
!
resourceId
){
this
.
errMsg
=
'请选择推送的患教漫画'
;
this
.
$message
({
this
.
$message
({
message
:
'请选择推送的患教漫画'
,
message
:
this
.
errMsg
,
type
:
'error'
type
:
'error'
});
});
if
(
type
==
'save'
){
if
(
type
==
'save'
){
this
.
$emit
(
'addListenSave'
,{
this
.
$emit
(
'addListenSave'
,{
status
:
false
,
status
:
false
,
setTimeNodeList
:
this
.
setTimeNodeList
,
setTimeNodeList
:
this
.
setTimeNodeList
,
message
:
'请选择推送的患教漫画'
message
:
this
.
errMsg
})
})
}
}
return
false
;
return
false
;
}
else
if
(
len
&&
startDays
===
''
&&
resourceId
){
}
else
if
(
len
&&
startDays
===
''
&&
resourceId
){
//如果选了漫画,没选推送时间
//如果选了漫画,没选推送时间
this
.
errMsg
=
'请选择推送时间'
;
this
.
$message
({
this
.
$message
({
message
:
'请选择推送时间'
,
message
:
this
.
errMsg
,
type
:
'error'
type
:
'error'
});
});
if
(
type
==
'save'
){
if
(
type
==
'save'
){
this
.
$emit
(
'addListenSave'
,{
this
.
$emit
(
'addListenSave'
,{
status
:
false
,
status
:
false
,
setTimeNodeList
:
this
.
setTimeNodeList
,
setTimeNodeList
:
this
.
setTimeNodeList
,
message
:
'请选择推送时间'
message
:
this
.
errMsg
})
})
}
}
return
false
;
return
false
;
...
@@ -482,11 +486,14 @@
...
@@ -482,11 +486,14 @@
if
(
!
isValied
){
if
(
!
isValied
){
this
.
activeTab
=
i
+
''
;
this
.
activeTab
=
i
+
''
;
this
.
isValied
=
false
;
this
.
isValied
=
false
;
this
.
errMsg
=
'请填写完整表单'
;
return
;
return
;
}
else
{
}
else
{
this
.
isValied
=
true
this
.
isValied
=
true
}
}
}
}
let
timeNo
=
this
.
setTimeNodeList
[
this
.
activeTab
].
timeNo
;
this
.
checkIsRepeat
(
timeNo
);
},
},
// 表单验证
// 表单验证
valiedForm
(
form
){
valiedForm
(
form
){
...
@@ -510,17 +517,18 @@
...
@@ -510,17 +517,18 @@
},
},
// 检查是否重复
// 检查是否重复
checkIsRepeat
(
val
){
checkIsRepeat
(
val
){
this
.
setTimeNodeList
.
forEach
((
item
,
index
)
=>
{
for
(
let
i
=
0
;
i
<
this
.
setTimeNodeList
.
length
;
i
++
){
if
(
this
.
activeTab
!=
index
&&
val
==
item
.
timeNo
){
if
(
this
.
activeTab
!=
i
&&
val
==
this
.
setTimeNodeList
[
i
].
timeNo
){
this
.
isValied
=
false
;
this
.
errMsg
=
'时间节点重复'
;
this
.
$message
({
this
.
$message
({
message
:
'时间节点重复'
,
message
:
this
.
errMsg
,
type
:
'
warning
'
type
:
'
error
'
});
});
this
.
isValied
=
false
;
this
.
setTimeNodeList
[
this
.
activeTab
].
timeNo
=
''
;
this
.
setTimeNodeList
[
this
.
activeTab
].
timeNo
=
''
;
return
;
return
;
}
}
}
)
}
},
},
// 是否禁用按钮
// 是否禁用按钮
itemIsDisabled
(
item
){
itemIsDisabled
(
item
){
...
@@ -680,7 +688,7 @@
...
@@ -680,7 +688,7 @@
showTabLabel
(
item
){
showTabLabel
(
item
){
let
str
;
let
str
;
if
(
this
.
isStandedTemplate
||
this
.
planId
){
if
(
this
.
isStandedTemplate
||
this
.
planId
){
str
=
item
.
timeStr
;
str
=
item
.
timeStr
?
item
.
timeStr
:
'设置时间节点'
;
}
else
{
}
else
{
if
(
item
.
timeNo
){
if
(
item
.
timeNo
){
str
=
'开始后'
+
String
(
item
.
timeNo
)
+
this
.
timeUnitStr
str
=
'开始后'
+
String
(
item
.
timeNo
)
+
this
.
timeUnitStr
...
@@ -688,15 +696,6 @@
...
@@ -688,15 +696,6 @@
str
=
'设置时间节点'
str
=
'设置时间节点'
}
}
}
}
// if(!this.isStandedTemplate && !this.planId){
// if(item.timeNo){
// str = '开始后' + String(item.timeNo) + this.timeUnitStr
// }else{
// str = '设置时间节点'
// }
// }else{
// str = '开始后' + String(item.timeNo) + this.timeUnitStr
// }
return
str
return
str
},
},
},
},
...
...
src/views/followup/record-manage/form-template.vue
浏览文件 @
2a33240a
...
@@ -6,124 +6,58 @@
...
@@ -6,124 +6,58 @@
:curmbThird=
"'录入量表'"
:curmbThird=
"'录入量表'"
/>
/>
<div
class=
"resident-content f-main-content screenSet"
>
<div
class=
"resident-content f-main-content screenSet"
>
<!--渲染不同的模块表单-->
<div
v-for=
"(item, index) in addComponents"
>
<div>
<div
class=
"content-box"
>
<el-row
:gutter=
"24"
>
<div
class=
"title"
>
{{
item
.
title
}}
</div>
<el-col
:span=
"20"
><div
class=
"grid-content bg-purple"
>
脑卒中患者随访服务记录表
</div></el-col>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
>
<el-col
:span=
"4"
>
<div
class=
"form-box"
>
<div
class=
"grid-content bg-purple"
>
<el-row>
<el-button
class=
"button-white"
size=
"small"
plain
@
click=
""
>
暂存
</el-button>
<!--渲染不同的表单内部分类字段-->
<el-button
type=
"primary"
size=
"small"
@
click=
""
>
提交
</el-button>
<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>
</div>
</el-
form
>
</el-
col
>
</
div
>
</
el-row
>
</div>
</div>
<el-row
:gutter=
"24"
>
<el-col
:span=
"4"
><div
class=
"grid-content bg-purple"
>
居民:戴家康
</div></el-col>
<el-col
:span=
"12"
><div
class=
"grid-content bg-purple"
>
身份证号:31021212121212121212
</div></el-col>
<el-col
:span=
"8"
><div
class=
"grid-content bg-purple"
>
随访计划名称:2018年河北省脑卒中随访
</div></el-col>
</el-row>
<!--模板页面除了显示居民基本信息,将病种展示作为组件引入-->
<!--脑卒中-->
<stroke
/>
<!--高血压-->
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
BreadCrumb
from
'@/components/breadcrumb'
import
BreadCrumb
from
'@/components/breadcrumb'
import
HelpChecking
from
'@/components/followup/form/helpChecking'
// 糖尿病
import
LifeStyleGuide
from
'@/components/followup/form/lifeStyleGuide'
import
stroke
from
'./patient-scale/stroke'
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
{
export
default
{
components
:
{
components
:
{
Symptom
,
//症状
stroke
,
Sign
,
//体征
LifeStyleGuide
,
//生活方式指导
HelpChecking
,
//辅助检查
MedicalStateUsing
,
//用药情况
//以下是非组件
//以下是非组件
BreadCrumb
,
BreadCrumb
,
},
},
data
(){
data
(){
return
{
return
{
spanNum
:
12
,
// //量表结果集合
valueFormat
:
'timestamp'
,
// dataSource: {
format
:
'yyyy-MM-dd HH:mm'
,
// AcuteBrainVeinThrombolytic: {},
dateType
:
'datetime'
,
// Lifestyle: {}
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
>
</
script
>
...
...
src/views/followup/record-manage/models/stroke/dataSourceBaseInfo.js
0 → 100644
浏览文件 @
2a33240a
export
default
[
{
formType
:
'radio'
,
// className: 'clear-left',
prop
:
'm1'
,
model
:
'm1'
,
spanNum
:
24
,
label
:
'调查时状态'
,
options
:
[
{
label
:
'接受'
,
value
:
'1'
},
{
label
:
'失访'
,
value
:
'2'
},
{
label
:
'死亡'
,
value
:
'3'
}
],
rules
:
[{
required
:
true
,
message
:
'请选择调查时状态'
,
trigger
:
'blur'
}]
},
{
formType
:
'radio'
,
// className: 'clear-left',
prop
:
'm1'
,
model
:
'm2'
,
spanNum
:
24
,
label
:
'失访原因'
,
linkageRule
:
[{
name
:
'm1'
,
value
:
[
'2'
]
}],
options
:
[
{
label
:
'失去联系'
,
value
:
'1'
},
{
label
:
'拒绝参加调查'
,
value
:
'2'
},
{
label
:
'其他'
,
value
:
'3'
}
],
rules
:
[{
required
:
true
,
message
:
'请选择失访原因'
,
trigger
:
'blur'
}]
},
{
formType
:
'input'
,
linkageRule
:
[
{
name
:
'm2'
,
value
:
[
'3'
]
}
],
prop
:
'm3'
,
model
:
'm3'
,
label
:
'其他'
,
disabled
:
false
,
placeholder
:
'请输入其他原因'
,
spanNum
:
12
,
type
:
'number'
,
labmsg
:
''
,
// slots: [{ name: 'mmol/L', type: 'append' }]
},
]
src/views/followup/record-manage/models/stroke/dataSourceDataType.js
0 → 100644
浏览文件 @
2a33240a
export
default
[
{
formType
:
'date-picker'
,
prop
:
'screeningTime'
,
model
:
'screeningTime'
,
placeholder
:
'选择日期时间'
,
label
:
'随访日期'
,
format
:
'yyyy-MM-dd'
,
type
:
'date'
,
rules
:
[{
required
:
true
,
message
:
'请选择日期时间'
,
trigger
:
'blur'
}]
},
{
formType
:
'radio'
,
model
:
'111'
,
label
:
'随访方式'
,
disabled
:
false
,
placeholder
:
'150'
,
spanNum
:
24
,
options
:
[
{
label
:
'门诊'
,
value
:
'1'
,
disabled
:
false
},
{
label
:
'家庭'
,
value
:
'2'
,
disabled
:
false
},
{
label
:
'电话'
,
value
:
'3'
,
disabled
:
false
},
],
rules
:
[{
required
:
true
,
message
:
'请选择随访方式'
,
trigger
:
'blur'
}]
},
]
src/
model
/dataSourceHelpChecking.js
→
src/
views/followup/record-manage/models/stroke
/dataSourceHelpChecking.js
浏览文件 @
2a33240a
文件已移动
src/
model
/dataSourceLifeStyleGuide.js
→
src/
views/followup/record-manage/models/stroke
/dataSourceLifeStyleGuide.js
浏览文件 @
2a33240a
文件已移动
src/views/followup/record-manage/models/stroke/dataSourceMedicalStateUsing.js
0 → 100644
浏览文件 @
2a33240a
export
default
[
{
formType
:
'date-picker'
,
prop
:
'screeningTime'
,
model
:
'screeningTime'
,
placeholder
:
'选择日期时间'
,
label
:
'随访日期'
,
format
:
'yyyy-MM-dd'
,
type
:
'date'
,
rules
:
[{
required
:
true
,
message
:
'请选择日期时间'
,
trigger
:
'blur'
}]
},
{
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
},
],
rules
:
[{
required
:
true
,
message
:
'请选择随访方式'
,
trigger
:
'blur'
}]
},
]
src/
model
/dataSourceSign.js
→
src/
views/followup/record-manage/models/stroke
/dataSourceSign.js
浏览文件 @
2a33240a
文件已移动
src/
model
/dataSourceSymptom.js
→
src/
views/followup/record-manage/models/stroke
/dataSourceSymptom.js
浏览文件 @
2a33240a
文件已移动
src/
components/followup/form/medicalStateUsing
.vue
→
src/
views/followup/record-manage/patient-scale/hypertension
.vue
浏览文件 @
2a33240a
<
template
>
<
template
>
<div>
<div>
<h1>
用药情况-组件
</h1>
</div>
</div>
</
template
>
</
template
>
...
...
src/views/followup/record-manage/patient-scale/stroke.vue
0 → 100644
浏览文件 @
2a33240a
<
template
>
<div>
<!--渲染不同的模块表单-->
<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"
>
<FormScale
:dataSource=
"item.dataSource"
:form=
"form"
/>
</el-form>
</div>
</div>
</div>
</
template
>
<
script
>
// 量表 template
import
FormScale
from
'@/components/followup/form/index'
// 量表模块数据模型
import
dataSourceBaseInfo
from
'../models/stroke/dataSourceBaseInfo'
import
dataSourceDataType
from
'../models/stroke/dataSourceDataType'
import
dataSourceSymptom
from
'../models/stroke/dataSourceSymptom'
import
dataSourceSign
from
'../models/stroke/dataSourceSign'
import
dataSourceLifeStyleGuide
from
'../models/stroke/dataSourceLifeStyleGuide'
import
dataSourceHelpChecking
from
'../models/stroke/dataSourceHelpChecking'
import
dataSourceMedicalStateUsing
from
'../models/stroke/dataSourceMedicalStateUsing'
export
default
{
components
:
{
FormScale
,
},
data
(){
return
{
addComponents
:
[
{
name
:
'BaseInfo'
,
dataSource
:
dataSourceBaseInfo
,
title
:
'基本信息'
},
{
name
:
'DataType'
,
dataSource
:
dataSourceDataType
,
title
:
'日期与方式'
},
{
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
:
'用药情况'
},
],
form
:
{
symptomList
:
[],
//checkbox 症状
inputVal
:
''
,
radioVal
:
''
},
}
},
}
</
script
>
<
style
scoped
lang=
"scss"
>
</
style
>
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录