Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
agcs2.0-web
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
liang
agcs2.0-web
Commits
36842732
Commit
36842732
authored
Feb 07, 2023
by
刘予佳
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'remotes/origin/dev' into dev_lyj
parents
035686e0
3dfa2583
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
844 additions
and
123 deletions
+844
-123
select.vue
packages/config/select.vue
+12
-1
patient.js
src/api/patient.js
+8
-4
FormContent.vue
src/components/FormComponents/CustomForm/FormContent.vue
+6
-0
FormItemText.vue
src/components/FormComponents/CustomForm/FormItemText.vue
+2
-2
index.vue
src/components/FormComponents/CustomForm/index.vue
+52
-3
问卷调查JSON.js
src/components/FormComponents/CustomForm/问卷调查JSON.js
+460
-2
index.vue
src/components/FormComponents/ReadForm/index.vue
+0
-11
index.vue
src/layouts/index.vue
+6
-0
vab.scss
src/styles/vab.scss
+8
-6
publicDialog.vue
src/views/audit-detail/components/publicDialog.vue
+7
-0
DraftBox.vue
src/views/screening/DraftBox.vue
+104
-22
ConfigForms.vue
src/views/screening/components/ConfigForms.vue
+93
-36
FormTab.vue
src/views/screening/components/FormTab.vue
+72
-32
mixin.js
src/views/screening/components/mixin.js
+14
-4
No files found.
packages/config/select.vue
View file @
36842732
<
template
>
<
template
>
<div>
<div>
<el-form-item
v-if=
"data.type == 'select'"
label=
"占位内容"
>
<el-form-item
v-if=
"data.type == 'select'"
label=
"占位内容"
>
<el-input
<el-input
v-model=
"data.placeholder"
v-model=
"data.placeholder"
...
@@ -235,6 +234,9 @@
...
@@ -235,6 +234,9 @@
<el-form-item
label=
"是否必填"
>
<el-form-item
label=
"是否必填"
>
<el-switch
v-model=
"data.required"
></el-switch>
<el-switch
v-model=
"data.required"
></el-switch>
</el-form-item>
</el-form-item>
<el-form-item
label=
"必填提示文本"
>
<el-input
v-model=
"data.pattern"
></el-input>
</el-form-item>
</div>
</div>
</template>
</template>
...
@@ -315,7 +317,16 @@ export default {
...
@@ -315,7 +317,16 @@ export default {
this
.
generateRule
()
this
.
generateRule
()
},
},
"
data.pattern
"
:
function
(
val
)
{
if
(
val
)
this
.
validator
.
required
=
{
required
:
true
,
message
:
val
,
}
else
this
.
validator
.
required
=
null
this
.
generateRule
()
},
},
},
}
}
</
script
>
</
script
>
src/api/patient.js
View file @
36842732
...
@@ -43,6 +43,14 @@ export function addPatient(data = {}, type = "") {
...
@@ -43,6 +43,14 @@ export function addPatient(data = {}, type = "") {
})
})
}
}
// 删除草稿
export
function
deletePatient
(
data
)
{
return
request
({
url
:
`/disease-data/data/patient/
${
data
}
`
,
method
:
"
delete
"
,
})
}
/* 患者数据详情 */
/* 患者数据详情 */
export
function
getPatientDetail
(
params
=
{})
{
export
function
getPatientDetail
(
params
=
{})
{
return
request
({
return
request
({
...
@@ -137,10 +145,6 @@ export function getZsyzyPatientInfo(params = {}) {
...
@@ -137,10 +145,6 @@ export function getZsyzyPatientInfo(params = {}) {
})
})
}
}
// 急性胰腺炎-评分表
// 急性胰腺炎-评分表
// 评分表新增修改
// 评分表新增修改
...
...
src/components/FormComponents/CustomForm/FormContent.vue
View file @
36842732
...
@@ -112,6 +112,7 @@
...
@@ -112,6 +112,7 @@
:xl=
"item.span || 12"
:xl=
"item.span || 12"
>
>
<form-item-self
<form-item-self
ref=
"formSelf"
:form=
"form"
:form=
"form"
:column-index=
"columnIndex"
:column-index=
"columnIndex"
:item=
"item"
:item=
"item"
...
@@ -180,6 +181,11 @@ export default {
...
@@ -180,6 +181,11 @@ export default {
},
},
},
},
methods
:
{
methods
:
{
clearAge
()
{
for
(
let
i
=
0
;
i
<
this
.
$refs
.
formSelf
.
length
;
i
++
)
{
this
.
$refs
.
formSelf
[
i
].
age
=
""
}
},
handleChange
(
key
,
val
)
{
handleChange
(
key
,
val
)
{
if
(
this
.
form
.
hasOwnProperty
(
key
))
this
.
form
[
key
]
=
val
if
(
this
.
form
.
hasOwnProperty
(
key
))
this
.
form
[
key
]
=
val
},
},
...
...
src/components/FormComponents/CustomForm/FormItemText.vue
View file @
36842732
...
@@ -53,8 +53,8 @@ export default {
...
@@ -53,8 +53,8 @@ export default {
},
},
screeningAdvise
:
{
screeningAdvise
:
{
1
:
"
可定期随访
"
,
1
:
"
可定期随访
"
,
2
:
"
推荐
胃镜精
查
"
,
2
:
"
推荐
胶囊内镜或胃镜检
查
"
,
3
:
"
强烈推荐
胃镜精
查
"
,
3
:
"
强烈推荐
胶囊内镜或胃镜检
查
"
,
},
},
}
}
},
},
...
...
src/components/FormComponents/CustomForm/index.vue
View file @
36842732
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
>
>
<template
v-if=
"options.column && options.column.length > 0"
>
<template
v-if=
"options.column && options.column.length > 0"
>
<form-content
<form-content
ref=
"form
-c
ontent"
ref=
"form
C
ontent"
:form=
"form"
:form=
"form"
:columns=
"
{ column: options.column }"
:columns=
"
{ column: options.column }"
:options="options"
:options="options"
...
@@ -29,7 +29,7 @@
...
@@ -29,7 +29,7 @@
:name="`${gIndex}`"
:name="`${gIndex}`"
>
>
<form-content
<form-content
ref=
"form
-c
ontent"
ref=
"form
C
ontent"
:form=
"form"
:form=
"form"
:columns=
"g"
:columns=
"g"
:options=
"options"
:options=
"options"
...
@@ -55,7 +55,7 @@
...
@@ -55,7 +55,7 @@
</
template
>
</
template
>
<form-content
<form-content
v-if=
"collapseNames.includes(g.prop)"
v-if=
"collapseNames.includes(g.prop)"
ref=
"form
-c
ontent"
ref=
"form
C
ontent"
:form=
"form"
:form=
"form"
:columns=
"g"
:columns=
"g"
:options=
"options"
:options=
"options"
...
@@ -202,6 +202,12 @@ export default {
...
@@ -202,6 +202,12 @@ export default {
}
}
},
},
methods
:
{
methods
:
{
clearAge
()
{
// 去除年龄文本
for
(
let
i
=
0
;
i
<
this
.
$refs
.
formContent
.
length
;
i
++
)
{
this
.
$refs
.
formContent
[
i
].
clearAge
()
}
},
// 显示不符合筛查条件
// 显示不符合筛查条件
showError
(
data
)
{
showError
(
data
)
{
if
(
data
)
{
if
(
data
)
{
...
@@ -263,6 +269,48 @@ export default {
...
@@ -263,6 +269,48 @@ export default {
this
.
loading
=
false
this
.
loading
=
false
})
})
},
},
// 临时保存
temporarySave
()
{
//? 只传数据 获取当前步数,如果个人信息已经提交可以临时保存
// this.$refs.form.validate((valid) => {
// if (valid) {
const
data
=
{}
const
form
=
this
.
deepClone
(
this
.
form
)
Object
.
keys
(
form
).
forEach
((
k
)
=>
{
if
(
form
[
k
]
===
undefined
)
{
data
[
k
]
=
""
return
false
}
if
(
k
===
"
YZZKJC
"
)
{
// 牙周表格
data
[
k
]
=
JSON
.
stringify
(
form
[
k
])
}
else
if
(
Array
.
isArray
(
form
[
k
])
&&
form
[
k
][
0
]
&&
isObject
(
form
[
k
][
0
])
)
{
// 子表单 去除前端添加的显隐辅助数据($_)和 删除按钮辅助数据(showDelBtn)
data
[
k
]
=
form
[
k
].
map
((
item
)
=>
{
for
(
let
key
in
item
)
{
if
([
"
$_keyField
"
,
"
$_hidden
"
,
"
showDelBtn
"
].
includes
(
key
))
delete
item
[
key
]
}
return
item
})
}
else
{
data
[
k
]
=
form
[
k
]
}
})
this
.
$emit
(
"
temporaryConfirm
"
,
data
,
()
=>
{
// 完成之后的回调
this
.
loading
=
false
})
// } else {
// this.loading = false
// }
// })
},
handleConfirm
()
{
handleConfirm
()
{
this
.
loading
=
true
this
.
loading
=
true
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
...
@@ -414,6 +462,7 @@ export default {
...
@@ -414,6 +462,7 @@ export default {
}
}
.form-footer
{
.form-footer
{
margin-top
:
20px
;
margin-top
:
20px
;
margin-bottom
:
20px
;
text-align
:
center
;
text-align
:
center
;
}
}
}
}
...
...
src/components/FormComponents/CustomForm/问卷调查JSON.js
View file @
36842732
let
formJson
=
let
formJson
=
{
{
column
:[],
labelPosition
:
'
left
'
,
labelSuffix
:
'
:
'
,
labelWidth
:
180
,
gutter
:
0
,
menuBtn
:
true
,
submitBtn
:
true
,
submitText
:
'
下一步
'
,
emptyBtn
:
false
,
emptyText
:
'
上一步
'
,
nextTabBtn
:
true
,
nextTabText
:
'
下一页
'
,
menuPosition
:
'
center
'
,
prevBtn
:
true
,
group
:[{
label
:
'
个人信息
'
,
prop
:
'
1669708504829_2651
'
,
arrow
:
true
,
collapse
:
true
,
display
:
true
,
labelWidth
:
8
,
column
:[{
type
:
'
input
'
,
display
:
true
,
importantField
:
false
,
styles
:{},
prop
:
'
name
'
,
label
:
'
姓名
'
,
fieldType
:
'
varchar
'
,
fieldLength
:
'
15
'
,
tableName
:
'
患者信息
'
,
tableCode
:
'
gas_patient_info
'
,
tableId
:
'
1595347991491833857
'
,
notFilter
:
false
,
cType
:
''
,
subfield
:
false
,
autoRequired
:
0
,
personalRequired
:
0
,
lg
:
12
,
span
:
12
,
width
:
24
,
xs
:
12
,
sm
:
12
,
md
:
12
,
readonly
:
false
,
required
:
true
,
rules
:[{
required
:
true
,
message
:
'
姓名必须填写
'
}]},{
type
:
'
date
'
,
display
:
true
,
importantField
:
false
,
styles
:{},
format
:
'
yyyy-MM-dd
'
,
valueFormat
:
'
yyyy-MM-dd
'
,
prop
:
'
survey_time
'
,
dicType
:
''
,
label
:
'
调查时间
'
,
fieldType
:
'
datetime
'
,
tableName
:
'
问卷调查
'
,
tableCode
:
'
gas_question
'
,
tableId
:
'
1597462007689347074
'
,
notFilter
:
false
,
cType
:
''
,
subfield
:
false
,
span
:
12
,
xs
:
12
,
sm
:
12
,
md
:
12
,
lg
:
12
,
required
:
true
,
rules
:[{
required
:
true
,
message
:
'
调查时间必须填写
'
}],
personalRequired
:
0
},{
type
:
'
input
'
,
display
:
true
,
importantField
:
false
,
styles
:{},
prop
:
'
phone
'
,
label
:
'
手机号
'
,
fieldType
:
'
varchar
'
,
fieldLength
:
'
15
'
,
tableName
:
'
患者信息
'
,
tableCode
:
'
gas_patient_info
'
,
tableId
:
'
1595347991491833857
'
,
notFilter
:
false
,
cType
:
''
,
subfield
:
false
,
span
:
12
,
xs
:
12
,
sm
:
12
,
md
:
12
,
lg
:
12
,
required
:
true
,
rules
:[{
required
:
true
,
message
:
'
手机号必须填写
'
},{
validator
:
function
checkTel
(
rule
,
value
,
callback
)
{
\
n
if
(
!
value
)
{
\
n
return
callback
(
new
Error
(
\
"
请输入手机号
\"
));
\n
}
\n\n
var reg = /^1[3,4,5,6,7,8,9][0-9]{9}$/;
\n
reg.test(value);
\n\n
if (!reg.test(value)) {
\n
callback(new Error(
\"
请输入正确的手机号
\"
));
\n
} else {
\n
callback();
\n
}
\n
},trigger:'change'}],pattern:'checkTel'},{type:'input',display:true,importantField:false,styles:{},prop:'link_phone',label:'联系号码',fieldType:'varchar',fieldLength:'128',tableName:'患者信息',tableCode:'gas_patient_info',tableId:'1595347991491833857',notFilter:false,cType:'',subfield:false,span:12,xs:12,sm:12,md:12,lg:12,width:24,rules:[{required:true,message:'联系号码必须填写'}],required:true},{type:'date',display:true,importantField:false,styles:{},prop:'birthday',label:'出生日期',fieldType:'date',fieldLength:'',format:'yyyy-MM-dd',valueFormat:'yyyy-MM-dd',dicType:'',tableName:'患者信息',tableCode:'gas_patient_info',tableId:'1595347991491833857',notFilter:false,cType:'',subfield:false,span:12,xs:12,sm:12,md:12,lg:12,required:true,rules:[{required:true,message:'出生日期必须填写'}],disabled:true,value:' '},{type:'input',display:true,importantField:false,styles:{},prop:'age',label:'年龄',fieldType:'int',fieldLength:'11',tableName:'患者信息',tableCode:'gas_patient_info',tableId:'1595347991491833857',notFilter:false,cType:'',subfield:false,span:12,xs:12,sm:12,md:12,lg:12,required:true,rules:[{required:true,message:'年龄必须填写'}],readonly:false,disabled:true},{type:'radio',display:true,importantField:false,styles:{},autoRequired:0,personalRequired:0,prop:'sex',dicData:[{label:'女',value:'2',id:'1595351964546281474',parentId:''},{label:'男',value:'1',id:'1595351940139626497',parentId:''}],dynamicshSet:[],dicType:'d-sex',props:{label:'label',value:'value'},label:'性别',fieldType:'varchar',fieldLength:'20',tableName:'患者信息',tableCode:'gas_patient_info',tableId:'1595347991491833857',notFilter:false,cType:'',subfield:false,span:24,xs:24,sm:24,md:24,lg:24,required:true,rules:[{required:true,message:'请选择性别'}]}]},{label:'家族史',prop:'1669708827460_97007',arrow:true,collapse:true,display:true,labelWidth:8,column:[{type:'radio',display:true,importantField:false,styles:{},prop:'is_first_degree',label:'一级亲属(父母、子女、兄弟姐妹)罹患胃癌情况',dicData:[{label:'是',value:'1',id:'1595347527757000705',parentId:''},{label:'否',value:'0',id:'1595347502595371010',parentId:''}],dynamicshSet:[{value:'1',target:'family_count'},{value:'1',target:'min_age'}],dicType:'d-sf',props:{label:'label',value:'value'},fieldType:'tinyint',fieldLength:'2',tableName:'问卷调查',tableCode:'gas_question',tableId:'1597462007689347074',notFilter:false,cType:'',subfield:false,autoRequired:0,personalRequired:0,span:24,xs:24,sm:24,md:24,lg:24,required:true,rules:[{required:true,message:'请选择一级亲属(父母、子女、兄弟姐妹)罹患胃癌情况'}]},{type:'input',display:true,importantField:false,styles:{},prop:'family_count',label:'数量',fieldType:'int',fieldLength:'11',tableName:'问卷调查',tableCode:'gas_question',tableId:'1597462007689347074',notFilter:false,cType:'',subfield:false,span:24,labelSuffix:'(1)',xs:24,sm:24,md:24,lg:24,required:true,rules:[{required:true,message:'数量必须填写'}]},{type:'input',display:true,importantField:false,styles:{},prop:'min_age',label:'诊断时最小年龄',fieldType:'int',fieldLength:'11',tableName:'问卷调查',tableCode:'gas_question',tableId:'1597462007689347074',notFilter:false,cType:'',subfield:false,autoRequired:0,personalRequired:0,span:24,labelSuffix:'(2)',xs:24,sm:24,md:24,lg:24,width:24,rules:[{required:true,message:'诊断时最小年龄必须填写'}],required:true},{type:'radio',display:true,importantField:false,styles:{},prop:'is_other_sickness',label:'一级亲属罹患其他恶性肿瘤情况',fieldType:'tinyint',fieldLength:'2',dicData:[{label:'是',value:'1',id:'1595347527757000705',parentId:''},{label:'否',value:'0',id:'1595347502595371010',parentId:''}],dynamicshSet:[{value:'1',target:'family_other_count'},{value:'1',target:'other_sickness'}],dicType:'d-sf',props:{label:'label',value:'value'},tableName:'问卷调查',tableCode:'gas_question',tableId:'1597462007689347074',notFilter:false,cType:'',subfield:false,xs:24,sm:24,md:24,lg:24,span:24,width:24,rules:[{required:true,message:'请选择一级亲属罹患其他恶性肿瘤情况'}],required:true,autoRequired:0,personalRequired:0,labelSuffix:'2'},{type:'input',display:true,importantField:false,styles:{},prop:'family_other_count',label:'一级亲属罹患其他恶性肿瘤数量',fieldType:'int',fieldLength:'11',dicData:[{label:'是',value:'1',id:'1595347527757000705',parentId:''},{label:'否',value:'0',id:'1595347502595371010',parentId:''}],dynamicshSet:[],dicOption:'static',dicType:'',props:{label:'label',value:'value'},tableName:'问卷调查',tableCode:'gas_question',tableId:'1597462007689347074',notFilter:false,cType:'',subfield:false,lg:24,xs:24,sm:24,md:24,autoRequired:0,personalRequired:0,span:24,width:24,labelSuffix:'(1)',required:true,rules:[{required:true,message:'一级亲属罹患其他恶性肿瘤数量必须填写'}]},{type:'input',display:true,importantField:false,styles:{},prop:'other_sickness',label:'一级亲属罹患其它恶性肿瘤名称',fieldType:'varchar',fieldLength:'255',tableName:'问卷调查',tableCode:'gas_question',tableId:'1597462007689347074',notFilter:false,cType:'',subfield:false,autoRequired:0,personalRequired:0,span:24,labelSuffix:'(2)',xs:24,sm:24,md:24,lg:24,width:24,rules:[{required:true,message:'一级亲属罹患其它恶性肿瘤名称必须填写'}],required:true}]}]}
column
:
[],
labelPosition
:
"
left
"
,
labelSuffix
:
"
:
"
,
labelWidth
:
180
,
gutter
:
0
,
menuBtn
:
true
,
submitBtn
:
true
,
submitText
:
"
下一步
"
,
emptyBtn
:
false
,
emptyText
:
"
上一步
"
,
nextTabBtn
:
true
,
nextTabText
:
"
下一页
"
,
menuPosition
:
"
center
"
,
prevBtn
:
true
,
group
:
[
{
label
:
"
个人信息
"
,
prop
:
"
1669708504829_2651
"
,
arrow
:
true
,
collapse
:
true
,
display
:
true
,
labelWidth
:
8
,
column
:
[
{
type
:
"
input
"
,
display
:
true
,
importantField
:
false
,
styles
:
{},
prop
:
"
name
"
,
label
:
"
姓名
"
,
fieldType
:
"
varchar
"
,
fieldLength
:
"
15
"
,
tableName
:
"
患者信息
"
,
tableCode
:
"
gas_patient_info
"
,
tableId
:
"
1595347991491833857
"
,
notFilter
:
false
,
cType
:
""
,
subfield
:
false
,
autoRequired
:
0
,
personalRequired
:
0
,
lg
:
12
,
span
:
12
,
width
:
24
,
xs
:
12
,
sm
:
12
,
md
:
12
,
readonly
:
false
,
required
:
true
,
rules
:
[{
required
:
true
,
message
:
"
姓名必须填写
"
}],
},
{
type
:
"
date
"
,
display
:
true
,
importantField
:
false
,
styles
:
{},
format
:
"
yyyy-MM-dd
"
,
valueFormat
:
"
yyyy-MM-dd
"
,
prop
:
"
survey_time
"
,
dicType
:
""
,
label
:
"
调查时间
"
,
fieldType
:
"
datetime
"
,
tableName
:
"
问卷调查
"
,
tableCode
:
"
gas_question
"
,
tableId
:
"
1597462007689347074
"
,
notFilter
:
false
,
cType
:
""
,
subfield
:
false
,
span
:
12
,
xs
:
12
,
sm
:
12
,
md
:
12
,
lg
:
12
,
required
:
true
,
rules
:
[{
required
:
true
,
message
:
"
调查时间必须填写
"
}],
personalRequired
:
0
,
},
{
type
:
"
input
"
,
display
:
true
,
importantField
:
false
,
styles
:
{},
prop
:
"
phone
"
,
label
:
"
手机号
"
,
fieldType
:
"
varchar
"
,
fieldLength
:
"
15
"
,
tableName
:
"
患者信息
"
,
tableCode
:
"
gas_patient_info
"
,
tableId
:
"
1595347991491833857
"
,
notFilter
:
false
,
cType
:
""
,
subfield
:
false
,
span
:
12
,
xs
:
12
,
sm
:
12
,
md
:
12
,
lg
:
12
,
required
:
true
,
rules
:
[],
pattern
:
"
checkTel
"
,
},
{
type
:
"
input
"
,
display
:
true
,
importantField
:
false
,
styles
:
{},
prop
:
"
link_phone
"
,
label
:
"
联系号码
"
,
fieldType
:
"
varchar
"
,
fieldLength
:
"
128
"
,
tableName
:
"
患者信息
"
,
tableCode
:
"
gas_patient_info
"
,
tableId
:
"
1595347991491833857
"
,
notFilter
:
false
,
cType
:
""
,
subfield
:
false
,
span
:
12
,
xs
:
12
,
sm
:
12
,
md
:
12
,
lg
:
12
,
width
:
24
,
rules
:
[{
required
:
true
,
message
:
"
联系号码必须填写
"
}],
required
:
true
,
},
{
type
:
"
date
"
,
display
:
true
,
importantField
:
false
,
styles
:
{},
prop
:
"
birthday
"
,
label
:
"
出生日期
"
,
fieldType
:
"
date
"
,
fieldLength
:
""
,
format
:
"
yyyy-MM-dd
"
,
valueFormat
:
"
yyyy-MM-dd
"
,
dicType
:
""
,
tableName
:
"
患者信息
"
,
tableCode
:
"
gas_patient_info
"
,
tableId
:
"
1595347991491833857
"
,
notFilter
:
false
,
cType
:
""
,
subfield
:
false
,
span
:
12
,
xs
:
12
,
sm
:
12
,
md
:
12
,
lg
:
12
,
required
:
true
,
rules
:
[{
required
:
true
,
message
:
"
出生日期必须填写
"
}],
disabled
:
true
,
value
:
"
"
,
},
{
type
:
"
input
"
,
display
:
true
,
importantField
:
false
,
styles
:
{},
prop
:
"
age
"
,
label
:
"
年龄
"
,
fieldType
:
"
int
"
,
fieldLength
:
"
11
"
,
tableName
:
"
患者信息
"
,
tableCode
:
"
gas_patient_info
"
,
tableId
:
"
1595347991491833857
"
,
notFilter
:
false
,
cType
:
""
,
subfield
:
false
,
span
:
12
,
xs
:
12
,
sm
:
12
,
md
:
12
,
lg
:
12
,
required
:
true
,
rules
:
[{
required
:
true
,
message
:
"
年龄必须填写
"
}],
readonly
:
false
,
disabled
:
true
,
},
{
type
:
"
radio
"
,
display
:
true
,
importantField
:
false
,
styles
:
{},
autoRequired
:
0
,
personalRequired
:
0
,
prop
:
"
sex
"
,
dicData
:
[
{
label
:
"
女
"
,
value
:
"
2
"
,
id
:
"
1595351964546281474
"
,
parentId
:
""
,
},
{
label
:
"
男
"
,
value
:
"
1
"
,
id
:
"
1595351940139626497
"
,
parentId
:
""
,
},
],
dynamicshSet
:
[],
dicType
:
"
d-sex
"
,
props
:
{
label
:
"
label
"
,
value
:
"
value
"
},
label
:
"
性别
"
,
fieldType
:
"
varchar
"
,
fieldLength
:
"
20
"
,
tableName
:
"
患者信息
"
,
tableCode
:
"
gas_patient_info
"
,
tableId
:
"
1595347991491833857
"
,
notFilter
:
false
,
cType
:
""
,
subfield
:
false
,
span
:
24
,
xs
:
24
,
sm
:
24
,
md
:
24
,
lg
:
24
,
required
:
true
,
rules
:
[{
required
:
true
,
message
:
"
请选择性别
"
}],
},
],
},
{
label
:
"
家族史
"
,
prop
:
"
1669708827460_97007
"
,
arrow
:
true
,
collapse
:
true
,
display
:
true
,
labelWidth
:
8
,
column
:
[
{
type
:
"
radio
"
,
display
:
true
,
importantField
:
false
,
styles
:
{},
prop
:
"
is_first_degree
"
,
label
:
"
一级亲属(父母、子女、兄弟姐妹)罹患胃癌情况
"
,
dicData
:
[
{
label
:
"
是
"
,
value
:
"
1
"
,
id
:
"
1595347527757000705
"
,
parentId
:
""
,
},
{
label
:
"
否
"
,
value
:
"
0
"
,
id
:
"
1595347502595371010
"
,
parentId
:
""
,
},
],
dynamicshSet
:
[
{
value
:
"
1
"
,
target
:
"
family_count
"
},
{
value
:
"
1
"
,
target
:
"
min_age
"
},
],
dicType
:
"
d-sf
"
,
props
:
{
label
:
"
label
"
,
value
:
"
value
"
},
fieldType
:
"
tinyint
"
,
fieldLength
:
"
2
"
,
tableName
:
"
问卷调查
"
,
tableCode
:
"
gas_question
"
,
tableId
:
"
1597462007689347074
"
,
notFilter
:
false
,
cType
:
""
,
subfield
:
false
,
autoRequired
:
0
,
personalRequired
:
0
,
span
:
24
,
xs
:
24
,
sm
:
24
,
md
:
24
,
lg
:
24
,
required
:
true
,
rules
:
[
{
required
:
true
,
message
:
"
请选择一级亲属(父母、子女、兄弟姐妹)罹患胃癌情况
"
,
},
],
},
{
type
:
"
input
"
,
display
:
true
,
importantField
:
false
,
styles
:
{},
prop
:
"
family_count
"
,
label
:
"
数量
"
,
fieldType
:
"
int
"
,
fieldLength
:
"
11
"
,
tableName
:
"
问卷调查
"
,
tableCode
:
"
gas_question
"
,
tableId
:
"
1597462007689347074
"
,
notFilter
:
false
,
cType
:
""
,
subfield
:
false
,
span
:
24
,
labelSuffix
:
"
(1)
"
,
xs
:
24
,
sm
:
24
,
md
:
24
,
lg
:
24
,
required
:
true
,
rules
:
[{
required
:
true
,
message
:
"
数量必须填写
"
}],
},
{
type
:
"
input
"
,
display
:
true
,
importantField
:
false
,
styles
:
{},
prop
:
"
min_age
"
,
label
:
"
诊断时最小年龄
"
,
fieldType
:
"
int
"
,
fieldLength
:
"
11
"
,
tableName
:
"
问卷调查
"
,
tableCode
:
"
gas_question
"
,
tableId
:
"
1597462007689347074
"
,
notFilter
:
false
,
cType
:
""
,
subfield
:
false
,
autoRequired
:
0
,
personalRequired
:
0
,
span
:
24
,
labelSuffix
:
"
(2)
"
,
xs
:
24
,
sm
:
24
,
md
:
24
,
lg
:
24
,
width
:
24
,
rules
:
[{
required
:
true
,
message
:
"
诊断时最小年龄必须填写
"
}],
required
:
true
,
},
{
type
:
"
radio
"
,
display
:
true
,
importantField
:
false
,
styles
:
{},
prop
:
"
is_other_sickness
"
,
label
:
"
一级亲属罹患其他恶性肿瘤情况
"
,
fieldType
:
"
tinyint
"
,
fieldLength
:
"
2
"
,
dicData
:
[
{
label
:
"
是
"
,
value
:
"
1
"
,
id
:
"
1595347527757000705
"
,
parentId
:
""
,
},
{
label
:
"
否
"
,
value
:
"
0
"
,
id
:
"
1595347502595371010
"
,
parentId
:
""
,
},
],
dynamicshSet
:
[
{
value
:
"
1
"
,
target
:
"
family_other_count
"
},
{
value
:
"
1
"
,
target
:
"
other_sickness
"
},
],
dicType
:
"
d-sf
"
,
props
:
{
label
:
"
label
"
,
value
:
"
value
"
},
tableName
:
"
问卷调查
"
,
tableCode
:
"
gas_question
"
,
tableId
:
"
1597462007689347074
"
,
notFilter
:
false
,
cType
:
""
,
subfield
:
false
,
xs
:
24
,
sm
:
24
,
md
:
24
,
lg
:
24
,
span
:
24
,
width
:
24
,
rules
:
[
{
required
:
true
,
message
:
"
请选择一级亲属罹患其他恶性肿瘤情况
"
},
],
required
:
true
,
autoRequired
:
0
,
personalRequired
:
0
,
labelSuffix
:
"
2
"
,
},
{
type
:
"
input
"
,
display
:
true
,
importantField
:
false
,
styles
:
{},
prop
:
"
family_other_count
"
,
label
:
"
一级亲属罹患其他恶性肿瘤数量
"
,
fieldType
:
"
int
"
,
fieldLength
:
"
11
"
,
dicData
:
[
{
label
:
"
是
"
,
value
:
"
1
"
,
id
:
"
1595347527757000705
"
,
parentId
:
""
,
},
{
label
:
"
否
"
,
value
:
"
0
"
,
id
:
"
1595347502595371010
"
,
parentId
:
""
,
},
],
dynamicshSet
:
[],
dicOption
:
"
static
"
,
dicType
:
""
,
props
:
{
label
:
"
label
"
,
value
:
"
value
"
},
tableName
:
"
问卷调查
"
,
tableCode
:
"
gas_question
"
,
tableId
:
"
1597462007689347074
"
,
notFilter
:
false
,
cType
:
""
,
subfield
:
false
,
lg
:
24
,
xs
:
24
,
sm
:
24
,
md
:
24
,
autoRequired
:
0
,
personalRequired
:
0
,
span
:
24
,
width
:
24
,
labelSuffix
:
"
(1)
"
,
required
:
true
,
rules
:
[
{
required
:
true
,
message
:
"
一级亲属罹患其他恶性肿瘤数量必须填写
"
},
],
},
{
type
:
"
input
"
,
display
:
true
,
importantField
:
false
,
styles
:
{},
prop
:
"
other_sickness
"
,
label
:
"
一级亲属罹患其它恶性肿瘤名称
"
,
fieldType
:
"
varchar
"
,
fieldLength
:
"
255
"
,
tableName
:
"
问卷调查
"
,
tableCode
:
"
gas_question
"
,
tableId
:
"
1597462007689347074
"
,
notFilter
:
false
,
cType
:
""
,
subfield
:
false
,
autoRequired
:
0
,
personalRequired
:
0
,
span
:
24
,
labelSuffix
:
"
(2)
"
,
xs
:
24
,
sm
:
24
,
md
:
24
,
lg
:
24
,
width
:
24
,
rules
:
[
{
required
:
true
,
message
:
"
一级亲属罹患其它恶性肿瘤名称必须填写
"
},
],
required
:
true
,
},
],
},
],
}
src/components/FormComponents/ReadForm/index.vue
View file @
36842732
...
@@ -62,7 +62,6 @@
...
@@ -62,7 +62,6 @@
:columns=
"g"
:columns=
"g"
:options=
"options"
:options=
"options"
:is-show-important=
"isShowImportant"
:is-show-important=
"isShowImportant"
@
showError=
"showError"
:showIndex=
"g.showIndex"
:showIndex=
"g.showIndex"
:class=
"g.showIndex ? 'simple-form' : 'index-form'"
:class=
"g.showIndex ? 'simple-form' : 'index-form'"
></form-content>
></form-content>
...
@@ -175,16 +174,6 @@ export default {
...
@@ -175,16 +174,6 @@ export default {
},
},
methods
:
{
methods
:
{
// 显示不符合筛查条件
showError
(
data
)
{
if
(
data
)
{
this
.
disabled
=
true
this
.
errorText
=
"
不符合筛查条件
"
}
else
{
this
.
disabled
=
false
this
.
errorText
=
""
}
},
nextTab
()
{
nextTab
()
{
const
tabsLen
=
this
.
options
.
group
.
length
const
tabsLen
=
this
.
options
.
group
.
length
let
active
=
Number
(
this
.
activeName
)
let
active
=
Number
(
this
.
activeName
)
...
...
src/layouts/index.vue
View file @
36842732
...
@@ -569,12 +569,18 @@ export default {
...
@@ -569,12 +569,18 @@ export default {
}
}
.right
{
.right
{
flex
:
1
;
flex
:
1
;
.r_col_item
:nth-child
(
4
)
{
img
{
align-self
:
flex-start
;
}
}
.r_col_item
{
.r_col_item
{
min-height
:
72px
;
min-height
:
72px
;
display
:
flex
;
display
:
flex
;
justify-content
:
flex-start
;
justify-content
:
flex-start
;
align-items
:
center
;
align-items
:
center
;
padding
:
20px
0
20px
20px
;
padding
:
20px
0
20px
20px
;
img
{
img
{
width
:
26px
;
width
:
26px
;
height
:
26px
;
height
:
26px
;
...
...
src/styles/vab.scss
View file @
36842732
...
@@ -213,15 +213,17 @@ html {
...
@@ -213,15 +213,17 @@ html {
text-align
:
center
;
text-align
:
center
;
white-space
:
nowrap
;
white-space
:
nowrap
;
}
}
.is-background
{
.is-background
{
button
,
.el-pager
li
{
button
,
.el-pager
li
{
border-radius
:
6px
!
important
;
border-radius
:
6px
!
important
;
}
}
button
,
.el-pager
li
:not
(
.active
)
{
button
,
border
:
1px
solid
#D9D9D9
;
.el-pager
li
:not
(
.active
)
{
border
:
1px
solid
#d9d9d9
;
background
:
transparent
!
important
;
background
:
transparent
!
important
;
}
}
.el-input__inner
{
.el-input__inner
{
border-radius
:
6px
!
important
;
border-radius
:
6px
!
important
;
}
}
}
}
...
...
src/views/audit-detail/components/publicDialog.vue
View file @
36842732
...
@@ -6,6 +6,8 @@
...
@@ -6,6 +6,8 @@
width=
"40%"
width=
"40%"
show-close
show-close
@
closed=
"cancelSubmit"
@
closed=
"cancelSubmit"
:close-on-click-modal=
"false"
:show-close=
"showClose"
>
>
<slot
name=
"content"
></slot>
<slot
name=
"content"
></slot>
<slot
name=
"footer"
></slot>
<slot
name=
"footer"
></slot>
...
@@ -17,6 +19,11 @@ export default {
...
@@ -17,6 +19,11 @@ export default {
data
()
{
data
()
{
return
{
dialogVisible
:
false
,
loading
:
false
}
return
{
dialogVisible
:
false
,
loading
:
false
}
},
},
props
:
{
showClose
:
{
default
:
false
,
},
},
watch
:
{},
watch
:
{},
mounted
()
{},
mounted
()
{},
methods
:
{
methods
:
{
...
...
src/views/screening/DraftBox.vue
View file @
36842732
<
template
>
<
template
>
<div
class=
"dataCenter"
>
<div
class=
"container"
style=
"max-height: 89vh"
>
<div
v-show=
"!isDetail"
>
<div
class=
"header"
>
草稿箱
</div>
<div
class=
"header"
>
草稿箱
</div>
<div
class=
"content"
>
<div
class=
"content"
>
<customs-table
<customs-table
...
@@ -17,22 +18,40 @@
...
@@ -17,22 +18,40 @@
/>
/>
</div>
</div>
</div>
</div>
<div
v-if=
"isDetail"
>
<div>
<el-button
icon=
"el-icon-back"
@
click=
"isDetail = false"
>
返 回
</el-button
>
</div>
<div
class=
"form_content"
>
<ConfigForms
form-type=
"1"
:patient-id=
"patientId"
:disabled=
"disabled"
></ConfigForms>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
CustomsTable
from
"
@/components/CustomsTable
"
import
CustomsTable
from
"
@/components/CustomsTable
"
import
paginationMixin
from
"
@/components/TabComponents/mixin
"
import
paginationMixin
from
"
@/components/TabComponents/mixin
"
import
ConfigForms
from
"
./components/ConfigForms.vue
"
import
{
mapGetters
}
from
"
vuex
"
import
{
getPatientPage
,
deletePatient
}
from
"
@/api/patient.js
"
export
default
{
export
default
{
// 数据概览
// 数据概览
name
:
""
,
name
:
""
,
components
:
{
components
:
{
CustomsTable
,
CustomsTable
,
ConfigForms
,
},
},
mixins
:
[
paginationMixin
],
mixins
:
[
paginationMixin
],
data
()
{
data
()
{
return
{
return
{
isDetail
:
false
,
//! 控制详情显隐
listLoading
:
false
,
listLoading
:
false
,
selectedIndex
:
sessionStorage
.
getItem
(
"
homeSelectedIndex
"
)
-
0
||
0
,
headList
:
[
"
社区筛查
"
,
"
医院筛查
"
,
"
体检筛查
"
],
columns
:
[
columns
:
[
{
{
label
:
"
医联体
"
,
label
:
"
医联体
"
,
...
@@ -90,7 +109,7 @@ export default {
...
@@ -90,7 +109,7 @@ export default {
operType
:
"
button
"
,
operType
:
"
button
"
,
operations
:
[
operations
:
[
{
{
func
:
this
.
rowOpration
,
func
:
this
.
handleAdd
,
formatter
(
row
)
{
formatter
(
row
)
{
return
{
return
{
label
:
"
编辑
"
,
label
:
"
编辑
"
,
...
@@ -99,7 +118,7 @@ export default {
...
@@ -99,7 +118,7 @@ export default {
},
},
},
},
{
{
func
:
this
.
rowOpration
,
func
:
this
.
deletePatient
,
formatter
(
row
)
{
formatter
(
row
)
{
return
{
return
{
label
:
"
删除
"
,
label
:
"
删除
"
,
...
@@ -124,17 +143,77 @@ export default {
...
@@ -124,17 +143,77 @@ export default {
watch
:
{},
watch
:
{},
mounted
()
{},
mounted
()
{},
methods
:
{
methods
:
{
handleAdd
({
patientId
,
name
},
index
,
disabled
=
false
)
{
this
.
disabled
=
disabled
this
.
patientId
=
patientId
||
null
this
.
name
=
name
this
.
isDetail
=
true
},
setSelectedIndex
(
i
)
{
setSelectedIndex
(
i
)
{
console
.
log
(
this
.
selectedIndex
)
console
.
log
(
this
.
selectedIndex
)
this
.
selectedIndex
=
i
this
.
selectedIndex
=
i
sessionStorage
.
setItem
(
"
homeSelectedIndex
"
,
this
.
selectedIndex
)
sessionStorage
.
setItem
(
"
homeSelectedIndex
"
,
this
.
selectedIndex
)
},
},
// 查询
handleFormSearch
(
form
)
{
this
.
searchForm
=
form
this
.
pageIndex
=
1
this
.
handleSearch
(
form
)
},
handleSearch
()
{
this
.
listLoading
=
true
const
data
=
{}
data
.
current
=
this
.
pageIndex
data
.
size
=
this
.
pageSize
data
.
isDraft
=
1
data
.
patientFrom
=
this
.
selectedIndex
getPatientPage
(
data
).
then
((
res
)
=>
{
this
.
listLoading
=
false
if
(
res
.
code
===
1
)
{
const
d
=
res
.
data
this
.
tableData
=
d
.
records
||
[]
this
.
total
=
Number
(
d
.
total
)
}
})
},
deletePatient
(
row
)
{
this
.
$confirm
(
`是否删除【
${
row
.
name
}
】?`
,
"
提示
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
,
})
.
then
(()
=>
{
deletePatient
(
row
.
patientId
).
then
((
res
)
=>
{
if
(
res
.
code
===
1
)
{
this
.
$message
({
type
:
"
success
"
,
message
:
"
删除成功!
"
,
})
this
.
handleSearch
()
}
})
})
.
catch
(()
=>
{})
},
},
computed
:
{
...
mapGetters
({
selectedIndex
:
"
table/selectedIndex
"
,
}),
},
created
()
{
this
.
handleFormSearch
()
},
watch
:
{
selectedIndex
(
v
)
{
this
.
handleFormSearch
()
},
},
},
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.
dataCent
er
{
.
contain
er
{
padding
:
24px
0
;
padding
:
24px
;
height
:
100%
;
height
:
100%
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
...
@@ -152,5 +231,8 @@ export default {
...
@@ -152,5 +231,8 @@ export default {
.content
{
.content
{
padding
:
0
24px
;
padding
:
0
24px
;
}
}
.form_content
{
height
:
calc
(
100%
-
50px
);
}
}
}
</
style
>
</
style
>
src/views/screening/components/ConfigForms.vue
View file @
36842732
<
template
>
<
template
>
<div
<div
id=
"publicContent"
id=
"publicContent"
:class=
"activeName == 'index0' && formClass ? formClass : ''"
:class=
"[
activeName == 'index0' && formClass ? formClass : '',
$route.path === '/screening/draft' ? 'p_padding' : '',
]"
>
>
<div
v-if=
"formTabs && formTabs.length > 0"
>
<div
v-if=
"formTabs && formTabs.length > 0"
style=
"position: relative"
>
<el-button
<el-button
v-if=
"!disabled"
v-if=
"!disabled"
class=
"draftButton"
class=
"draftButton"
:loading=
"loading"
:loading=
"loading"
:disabled=
"!infoCompelete"
@
click=
"onSubmit(formType)"
@
click=
"onSubmit(formType)"
>
{{
formType
==
1
?
"
临时保存
"
:
"
返回
"
}}
</el-button
>
{{
formType
==
1
?
"
临时保存
"
:
"
返回
"
}}
</el-button
>
>
...
@@ -24,7 +28,9 @@
...
@@ -24,7 +28,9 @@
:key=
"form.id"
:key=
"form.id"
:label=
"form.label"
:label=
"form.label"
:name=
"'index' + index"
:name=
"'index' + index"
disabled
>
>
<!-- disabled -->
<transition
mode=
"out-in"
name=
"fade-transform"
>
<transition
mode=
"out-in"
name=
"fade-transform"
>
<div
v-show=
"activeName === 'index' + index"
>
<div
v-show=
"activeName === 'index' + index"
>
<template
v-if=
"form.formId"
>
<template
v-if=
"form.formId"
>
...
@@ -41,6 +47,7 @@
...
@@ -41,6 +47,7 @@
@
setFormJson=
"setFormJson"
@
setFormJson=
"setFormJson"
@
handleConfirm=
"handleConfirm"
@
handleConfirm=
"handleConfirm"
@
onPrev=
"onPrev"
@
onPrev=
"onPrev"
@
temporaryConfirm=
"temporaryConfirm"
></form-tab>
></form-tab>
</
template
>
</
template
>
</div>
</div>
...
@@ -51,8 +58,7 @@
...
@@ -51,8 +58,7 @@
<el-empty
v-else
description=
"暂无数据"
></el-empty>
<el-empty
v-else
description=
"暂无数据"
></el-empty>
<public-dialog
<public-dialog
ref=
"showDialog"
ref=
"showDialog"
@
onSubmit=
"dialogSubmit"
:showClose=
"dialogType == 'draft' ? true : false"
@
onCancel=
"dialogCancel"
>
>
<!-- 保存草稿 -->
<!-- 保存草稿 -->
<
template
v-if=
"dialogType == 'draft'"
slot=
"content"
>
<
template
v-if=
"dialogType == 'draft'"
slot=
"content"
>
...
@@ -83,7 +89,7 @@
...
@@ -83,7 +89,7 @@
type=
"primary"
type=
"primary"
:loading=
"loading"
:loading=
"loading"
class=
"textBtn"
class=
"textBtn"
@
click=
"view"
@
click=
"view
Jump
"
>
查看
</el-button
>
查看
</el-button
>
>
<el-button
type=
"primary"
:loading=
"loading"
@
click=
"continueSubmit"
<el-button
type=
"primary"
:loading=
"loading"
@
click=
"continueSubmit"
...
@@ -117,6 +123,7 @@ export default {
...
@@ -117,6 +123,7 @@ export default {
// survivalFlag:false
// survivalFlag:false
dialogType
:
""
,
dialogType
:
""
,
loading
:
false
,
loading
:
false
,
infoCompelete
:
false
,
formInitial
:
{},
// 第四步的数据
formInitial
:
{},
// 第四步的数据
}
}
},
},
...
@@ -138,17 +145,47 @@ export default {
...
@@ -138,17 +145,47 @@ export default {
},
},
watch
:
{
watch
:
{
activeName
(
val
)
{
activeName
(
val
)
{
console
.
log
(
this
.
formId
)
if
(
!
this
.
disabled
)
{
if
(
!
[
"
index0
"
,
"
index1
"
].
includes
(
val
))
{
this
.
infoCompelete
=
true
}
else
{
this
.
infoCompelete
=
false
}
}
if
(
val
==
"
index1
"
)
{
// 第二步问卷调查
this
.
$nextTick
(()
=>
{
let
{
birthday
}
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"
index1Data
"
))
let
date
=
new
Date
(
String
(
birthday
).
replace
(
/-/g
,
"
/
"
))
let
d
=
new
Date
()
let
age
=
d
.
getFullYear
()
-
date
.
getFullYear
()
-
(
d
.
getMonth
()
<
date
.
getMonth
()
||
(
d
.
getMonth
()
==
date
.
getMonth
()
&&
d
.
getDate
()
<
date
.
getDate
())
?
1
:
0
)
//!
this
.
formInitial
=
{
birthday
,
age
,
}
})
}
else
{
this
.
formInitial
=
false
}
if
(
val
==
"
index3
"
)
{
if
(
val
==
"
index3
"
)
{
// 第四步风险评估
// 第四步风险评估
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
getPatientDetail
({
getPatientDetail
({
formId
:
this
.
formId
,
// 每个大表单的id
formId
:
this
.
formId
,
// 每个大表单的id
patientId
:
this
.
patientId
||
this
.
patientStandbyId
,
patientId
:
this
.
patientId
||
this
.
patientStandbyId
,
formRecordId
:
this
.
newformRecordId
,
//
formRecordId: this.newformRecordId,
})
})
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
console
.
log
(
res
)
const
data
=
res
.
data
.
data
this
.
formInitial
=
data
})
})
.
finally
(()
=>
{
.
finally
(()
=>
{
this
.
loading
=
false
this
.
loading
=
false
...
@@ -163,27 +200,6 @@ export default {
...
@@ -163,27 +200,6 @@ export default {
// }
// }
})
})
})
})
}
else
if
(
val
==
"
index1
"
)
{
// 第二步问卷调查
this
.
$nextTick
(()
=>
{
let
{
birthday
}
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"
index1Data
"
))
let
date
=
new
Date
(
String
(
birthday
).
replace
(
/-/g
,
"
/
"
))
let
d
=
new
Date
()
let
age
=
d
.
getFullYear
()
-
date
.
getFullYear
()
-
(
d
.
getMonth
()
<
date
.
getMonth
()
||
(
d
.
getMonth
()
==
date
.
getMonth
()
&&
d
.
getDate
()
<
date
.
getDate
())
?
1
:
0
)
//!
this
.
formInitial
=
{
birthday
,
age
,
}
})
}
else
{
this
.
formInitial
=
false
}
}
},
},
},
},
...
@@ -200,25 +216,53 @@ export default {
...
@@ -200,25 +216,53 @@ export default {
form
:
data
.
data
,
form
:
data
.
data
,
})
})
},
},
temporaryConfirm
(
data
,
done
,
cb
)
{
this
.
addPatient
(
data
,
done
,
cb
,
()
=>
{
console
.
log
(
"
倒了
"
)
this
.
$refs
.
showDialog
.
dialogVisible
=
true
this
.
loading
=
false
})
},
onPrev
(
done
)
{
onPrev
(
done
)
{
this
.
prevTab
(
done
)
this
.
prevTab
(
done
)
},
},
onSubmit
(
type
)
{
onSubmit
(
type
)
{
this
.
loading
=
true
//
this.loading = true
if
(
type
==
1
)
{
if
(
type
==
1
)
{
// 临时保存草稿
// 临时保存草稿
this
.
dialogType
=
"
draft
"
this
.
dialogType
=
"
draft
"
// 保存逻辑处理
// !获取当前tab的formTab
let
formTab
=
this
.
$refs
.
formTabs
.
filter
(
(
e
)
=>
e
.
form
.
formId
==
this
.
formId
)[
0
]
formTab
.
temporarySave
()
// console.log(formTab)
}
else
if
(
type
==
2
)
{
//提交
this
.
dialogType
=
"
submit
"
this
.
$refs
.
showDialog
.
dialogVisible
=
true
this
.
$refs
.
showDialog
.
dialogVisible
=
true
this
.
loading
=
false
this
.
loading
=
false
}
else
{
}
else
{
// 返回
// 返回
this
.
$router
.
back
()
this
.
$router
.
back
()
}
}
},
},
dialogSubmit
()
{},
continueSubmit
()
{
dialogCancel
()
{},
sessionStorage
.
removeItem
(
"
index1Data
"
)
continueSubmit
()
{},
this
.
activeName
=
"
index0
"
// 清空表单
for
(
let
i
=
0
;
i
<
this
.
$refs
.
formTabs
.
length
;
i
++
)
{
this
.
$refs
.
formTabs
[
i
].
resetForm
()
this
.
$refs
.
formTabs
[
i
].
initForm
()
}
// 清空红字:不符合筛查条件
this
.
$refs
.
showDialog
.
dialogVisible
=
false
},
viewJump
()
{
// this.$router.push('/')
alert
(
"
跳转
"
)
},
},
},
provide
()
{
provide
()
{
return
{
return
{
...
@@ -230,11 +274,11 @@ export default {
...
@@ -230,11 +274,11 @@ export default {
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
#publicContent
{
#publicContent
{
padding
:
32px
24px
;
position
:
relative
;
position
:
relative
;
padding
:
32px
24px
32px
;
.draftButton
{
.draftButton
{
position
:
absolute
;
position
:
absolute
;
top
:
46
px
;
top
:
0
px
;
right
:
40px
;
right
:
40px
;
z-index
:
999
;
z-index
:
999
;
border-radius
:
4px
;
border-radius
:
4px
;
...
@@ -248,6 +292,9 @@ export default {
...
@@ -248,6 +292,9 @@ export default {
}
}
}
}
}
}
#publicContent
.p_padding
{
padding
:
10px
24px
32px
;
}
::v-deep
.el-dialog__body
{
::v-deep
.el-dialog__body
{
.title
{
.title
{
font-size
:
22px
;
font-size
:
22px
;
...
@@ -273,6 +320,16 @@ export default {
...
@@ -273,6 +320,16 @@ export default {
margin-top
:
10px
;
margin-top
:
10px
;
}
}
::v-deep
{
::v-deep
{
.el-button.is-disabled
{
color
:
#c0c4cc
!
important
;
cursor
:
not
-
allowed
;
background-image
:
none
;
background-color
:
#fff
;
border-color
:
#ebeef5
!
important
;
}
.el-tabs__item.is-disabled
{
color
:
#252c49
;
}
.el-tabs--card
>
.el-tabs__header
{
.el-tabs--card
>
.el-tabs__header
{
width
:
calc
(
100%
-
100px
);
width
:
calc
(
100%
-
100px
);
border-bottom
:
none
;
border-bottom
:
none
;
...
...
src/views/screening/components/FormTab.vue
View file @
36842732
...
@@ -42,7 +42,11 @@
...
@@ -42,7 +42,11 @@
</el-switch>-->
</el-switch>-->
</div>
</div>
</el-row>
</el-row>
<div
ref=
"my-form"
class=
"my-form"
:class=
"externalScroll ? 'no-scroll' : ''"
>
<div
ref=
"my-form"
class=
"my-form"
:class=
"externalScroll ? 'no-scroll' : ''"
>
<!-- <read-form
<!-- <read-form
ref="form"
ref="form"
:options="survivalForm"
:options="survivalForm"
...
@@ -55,6 +59,7 @@
...
@@ -55,6 +59,7 @@
@
scrollTop=
"scrollTop"
@
scrollTop=
"scrollTop"
@
handleConfirm=
"handleConfirm"
@
handleConfirm=
"handleConfirm"
@
onPrev=
"onPrev"
@
onPrev=
"onPrev"
@
temporaryConfirm=
"temporaryConfirm"
></custom-form>
></custom-form>
</div>
</div>
</template>
</template>
...
@@ -146,6 +151,12 @@ export default {
...
@@ -146,6 +151,12 @@ export default {
},
},
},
},
methods
:
{
methods
:
{
resetForm
()
{
this
.
$refs
.
form
.
resetForm
(
false
)
this
.
$refs
.
form
.
showError
(
false
)
// 清理年龄的回显
this
.
$refs
.
form
.
clearAge
()
},
initData
()
{
initData
()
{
this
.
formData
.
formRecordId
=
null
this
.
formData
.
formRecordId
=
null
this
.
formCacheList
=
[]
this
.
formCacheList
=
[]
...
@@ -157,6 +168,62 @@ export default {
...
@@ -157,6 +168,62 @@ export default {
this
.
getRecordList
()
this
.
getRecordList
()
}
}
},
},
// 临时保存
temporarySave
()
{
this
.
$refs
.
form
.
temporarySave
()
},
// 临时保存确定
temporaryConfirm
(
data
,
done
)
{
this
.
$emit
(
"
temporaryConfirm
"
,
{
data
,
formId
:
this
.
form
.
formId
,
// 每个大表单的id
patientId
:
this
.
patientId
||
this
.
patientStandbyId
,
// formRecordId: this.formData.formRecordId || this.newformRecordId, // 是否为编辑的表单id
statusMap
:
{
patient_from
:
this
.
$store
.
getters
[
"
table/selectedIndex
"
],
is_draft
:
1
,
//是否为草稿
check_status
:
1
,
// 审核状态
},
},
done
,
(
res
)
=>
{
// 多次填写的表单新增时,获取最新数据
if
(
this
.
form
.
fillType
===
1
&&
!
this
.
formData
.
formRecordId
)
{
this
.
getRecordList
(
res
.
data
.
formRecordId
)
}
this
.
formatData
(
res
,
this
.
form
.
fillType
!==
1
)
}
)
},
handleConfirm
(
data
,
done
)
{
this
.
$emit
(
"
handleConfirm
"
,
{
data
,
formId
:
this
.
form
.
formId
,
// 每个大表单的id
patientId
:
this
.
patientId
||
this
.
patientStandbyId
,
// formRecordId: this.formData.formRecordId || this.newformRecordId, // 是否为编辑的表单id
statusMap
:
{
patient_from
:
this
.
$store
.
getters
[
"
table/selectedIndex
"
],
is_draft
:
0
,
//是否为草稿
check_status
:
1
,
// 审核状态
},
},
done
,
(
res
)
=>
{
// 多次填写的表单新增时,获取最新数据
if
(
this
.
form
.
fillType
===
1
&&
!
this
.
formData
.
formRecordId
)
{
this
.
getRecordList
(
res
.
data
.
formRecordId
)
}
this
.
formatData
(
res
,
this
.
form
.
fillType
!==
1
)
}
)
},
onPrev
(
done
)
{
this
.
$emit
(
"
onPrev
"
,
done
)
},
scrollTop
()
{
scrollTop
()
{
this
.
$refs
[
"
my-form
"
].
scrollTop
=
0
this
.
$refs
[
"
my-form
"
].
scrollTop
=
0
},
},
...
@@ -223,34 +290,6 @@ export default {
...
@@ -223,34 +290,6 @@ export default {
})
})
},
},
handleConfirm
(
data
,
done
)
{
this
.
$emit
(
"
handleConfirm
"
,
{
data
,
formId
:
this
.
form
.
formId
,
// 每个大表单的id
patientId
:
this
.
patientId
||
this
.
patientStandbyId
,
formRecordId
:
this
.
formData
.
formRecordId
||
this
.
newformRecordId
,
// 是否为编辑的表单id
statusMap
:
{
patientFrom
:
this
.
$store
.
getters
[
"
table/selectedIndex
"
],
is_draft
:
1
,
//是否为草稿
check_status
:
1
,
// 审核状态
},
},
done
,
(
res
)
=>
{
// 多次填写的表单新增时,获取最新数据
if
(
this
.
form
.
fillType
===
1
&&
!
this
.
formData
.
formRecordId
)
{
this
.
getRecordList
(
res
.
data
.
formRecordId
)
}
this
.
formatData
(
res
,
this
.
form
.
fillType
!==
1
)
}
)
},
onPrev
(
done
)
{
this
.
$emit
(
"
onPrev
"
,
done
)
},
getPatientDetail
()
{
getPatientDetail
()
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
form
&&
this
.
$refs
.
form
.
resetForm
()
this
.
$refs
.
form
&&
this
.
$refs
.
form
.
resetForm
()
...
@@ -382,18 +421,19 @@ export default {
...
@@ -382,18 +421,19 @@ export default {
z-index
:
9
;
z-index
:
9
;
}
}
.header
{
.header
{
height
:
20
px
;
height
:
5
px
;
// box-shadow: 0 1
px 4px rgb(0 21 41 / 8%);
box-shadow
:
0
5
px
4px
rgb
(
0
21
41
/
8%
);
padding-right
:
20px
;
padding-right
:
20px
;
position
:
relative
;
position
:
relative
;
font-size
:
15px
;
font-size
:
15px
;
z-index
:
999
;
}
}
}
}
.el-aside
{
.el-aside
{
padding-left
:
10px
;
padding-left
:
10px
;
border-left
:
1px
solid
#ccc
;
border-left
:
1px
solid
#ccc
;
.side-content
{
.side-content
{
//
height: calc(100vh - #{"272px"});
height
:
calc
(
100vh
-
#{
"272px"
}
);
// overflow: auto;
// overflow: auto;
}
}
}
}
...
...
src/views/screening/components/mixin.js
View file @
36842732
...
@@ -27,7 +27,8 @@ export default {
...
@@ -27,7 +27,8 @@ export default {
nextTab
()
{
nextTab
()
{
let
i
=
this
.
activeName
.
split
(
"
index
"
)[
1
]
-
0
let
i
=
this
.
activeName
.
split
(
"
index
"
)[
1
]
-
0
i
++
i
++
if
(
i
==
5
)
{
if
(
i
==
6
)
{
this
.
onSubmit
(
2
)
return
return
}
else
{
}
else
{
this
.
activeName
=
"
index
"
+
i
this
.
activeName
=
"
index
"
+
i
...
@@ -55,8 +56,8 @@ export default {
...
@@ -55,8 +56,8 @@ export default {
...
this
.
formTabsList
.
find
((
_
)
=>
_
.
id
===
id
),
...
this
.
formTabsList
.
find
((
_
)
=>
_
.
id
===
id
),
})
})
},
},
async
addPatient
(
data
,
done
,
cb
,
type
)
{
async
addPatient
(
data
,
done
,
cb
,
ConfigFormsCallback
)
{
addPatient
(
data
,
type
)
addPatient
(
data
,
""
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
// this.$message.success("操作成功")
// this.$message.success("操作成功")
if
(
res
.
data
)
{
if
(
res
.
data
)
{
...
@@ -73,7 +74,16 @@ export default {
...
@@ -73,7 +74,16 @@ export default {
})
})
.
finally
((
e
)
=>
{
.
finally
((
e
)
=>
{
done
()
done
()
console
.
log
(
"
走了
"
,
ConfigFormsCallback
)
if
(
ConfigFormsCallback
&&
Object
.
prototype
.
toString
.
call
(
ConfigFormsCallback
)
===
"
[object Function]
"
)
{
ConfigFormsCallback
()
}
else
{
this
.
nextTab
()
this
.
nextTab
()
}
})
})
},
},
...
...
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