Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
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
04610b16
Commit
04610b16
authored
Dec 07, 2022
by
刘予佳
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'remotes/origin/dev_Miaojiale' into dev_lyj
parents
531ffdd4
19175cfe
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
704 additions
and
76 deletions
+704
-76
FormConfig.vue
packages/FormConfig.vue
+10
-7
date.vue
packages/config/date.vue
+2
-2
FormContent.vue
src/components/FormComponents/CustomForm/FormContent.vue
+1
-0
FormItemSelf.vue
src/components/FormComponents/CustomForm/FormItemSelf.vue
+77
-42
index.vue
src/components/FormComponents/CustomForm/index.vue
+45
-10
index.vue
src/components/Upload/index.vue
+31
-1
index.js
src/router/index.js
+13
-0
publicDialog.vue
src/views/audit-detail/components/publicDialog.vue
+33
-0
screenReview.vue
src/views/audit-detail/components/screenReview.vue
+137
-0
index.vue
src/views/audit-detail/index.vue
+307
-0
community.vue
src/views/audit-qualitycontrol/community.vue
+6
-0
ConfigForms.vue
src/views/screening/components/ConfigForms.vue
+20
-14
FormTab.vue
src/views/screening/components/FormTab.vue
+4
-0
mixin.js
src/views/screening/components/mixin.js
+18
-0
No files found.
packages/FormConfig.vue
View file @
04610b16
...
@@ -38,10 +38,10 @@
...
@@ -38,10 +38,10 @@
<el-form-item
label=
"多分组转标签"
>
<el-form-item
label=
"多分组转标签"
>
<el-switch
v-model=
"data.tabs"
active-color=
"#409EFF"
></el-switch>
<el-switch
v-model=
"data.tabs"
active-color=
"#409EFF"
></el-switch>
</el-form-item>
</el-form-item>
<el-form-item
label=
"显示跳转按钮"
v-if=
"data.tabs
"
>
<el-form-item
v-if=
"data.tabs"
label=
"显示跳转按钮
"
>
<el-switch
v-model=
"data.nextTabBtn"
active-color=
"#409EFF"
></el-switch>
<el-switch
v-model=
"data.nextTabBtn"
active-color=
"#409EFF"
></el-switch>
</el-form-item>
</el-form-item>
<el-form-item
label=
"跳转按钮的文字"
v-if=
"data.tabs && data.nextTabBtn
"
>
<el-form-item
v-if=
"data.tabs && data.nextTabBtn"
label=
"跳转按钮的文字
"
>
<el-input
<el-input
v-model=
"data.nextTabText"
v-model=
"data.nextTabText"
placeholder=
"跳转按钮的文字"
placeholder=
"跳转按钮的文字"
...
@@ -76,7 +76,10 @@
...
@@ -76,7 +76,10 @@
value=
"right"
></el-option>
value=
"right"
></el-option>
</el-select>
</el-select>
</el-form-item>
-->
</el-form-item>
-->
<el-form-item
label=
"显示提交按钮"
v-if=
"data.menuBtn"
>
<el-form-item
v-if=
"data.menuBtn"
label=
"显示上一步按钮"
>
<el-switch
v-model=
"data.prevBtn"
active-color=
"#409EFF"
></el-switch>
</el-form-item>
<el-form-item
v-if=
"data.menuBtn"
label=
"显示提交按钮"
>
<el-switch
v-model=
"data.submitBtn"
active-color=
"#409EFF"
></el-switch>
<el-switch
v-model=
"data.submitBtn"
active-color=
"#409EFF"
></el-switch>
</el-form-item>
</el-form-item>
<!--
<el-form-item
label=
"提交按钮的大小"
<!--
<el-form-item
label=
"提交按钮的大小"
...
@@ -92,8 +95,8 @@
...
@@ -92,8 +95,8 @@
</el-select>
</el-select>
</el-form-item>
-->
</el-form-item>
-->
<el-form-item
<el-form-item
label=
"提交按钮的文字"
v-if=
"data.menuBtn && data.submitBtn"
v-if=
"data.menuBtn && data.submitBtn"
label=
"提交按钮的文字"
>
>
<el-input
<el-input
v-model=
"data.submitText"
v-model=
"data.submitText"
...
@@ -101,7 +104,7 @@
...
@@ -101,7 +104,7 @@
></el-input>
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"显示清空按钮"
v-if=
"data.menuBtn
"
>
<el-form-item
v-if=
"data.menuBtn"
label=
"显示清空按钮
"
>
<el-switch
v-model=
"data.emptyBtn"
active-color=
"#409EFF"
></el-switch>
<el-switch
v-model=
"data.emptyBtn"
active-color=
"#409EFF"
></el-switch>
</el-form-item>
</el-form-item>
<!--
<el-form-item
label=
"清空按钮的大小"
<!--
<el-form-item
label=
"清空按钮的大小"
...
@@ -116,7 +119,7 @@
...
@@ -116,7 +119,7 @@
value=
"mini"
></el-option>
value=
"mini"
></el-option>
</el-select>
</el-select>
</el-form-item>
-->
</el-form-item>
-->
<el-form-item
label=
"清空按钮的文字"
v-if=
"data.menuBtn && data.emptyBtn
"
>
<el-form-item
v-if=
"data.menuBtn && data.emptyBtn"
label=
"清空按钮的文字
"
>
<el-input
<el-input
v-model=
"data.emptyText"
v-model=
"data.emptyText"
placeholder=
"清空按钮的文字"
placeholder=
"清空按钮的文字"
...
@@ -152,7 +155,7 @@
...
@@ -152,7 +155,7 @@
<
script
>
<
script
>
export
default
{
export
default
{
name
:
"
form-c
onfig
"
,
name
:
"
FormC
onfig
"
,
props
:
[
"
data
"
],
props
:
[
"
data
"
],
}
}
</
script
>
</
script
>
packages/config/date.vue
View file @
04610b16
...
@@ -79,8 +79,8 @@ let checkAge = (rule, value, callback) => {
...
@@ -79,8 +79,8 @@ let checkAge = (rule, value, callback) => {
?
1
?
1
:
0
)
:
0
)
console
.
log
(
age
)
console
.
log
(
age
)
if
(
age
<
18
)
{
if
(
age
<
40
||
age
>
80
)
{
callback
(
new
Error
(
"
必须年满18岁
"
))
callback
(
new
Error
(
"
年龄不符合筛查条件
"
))
}
else
{
}
else
{
callback
()
callback
()
}
}
...
...
src/components/FormComponents/CustomForm/FormContent.vue
View file @
04610b16
...
@@ -168,6 +168,7 @@ export default {
...
@@ -168,6 +168,7 @@ export default {
},
},
// 切换不符合筛查条件的显示
// 切换不符合筛查条件的显示
formChange
()
{
formChange
()
{
// 入选,排除标准
console
.
log
(
this
.
form
)
console
.
log
(
this
.
form
)
let
arr
=
[
let
arr
=
[
"
is_one_year
"
,
"
is_one_year
"
,
...
...
src/components/FormComponents/CustomForm/FormItemSelf.vue
View file @
04610b16
...
@@ -5,12 +5,17 @@
...
@@ -5,12 +5,17 @@
:style=
"item.styles"
:style=
"item.styles"
:class=
"
{ isDefects: defectsSet.includes(item.prop) }"
:class=
"
{ isDefects: defectsSet.includes(item.prop) }"
>
>
<el-col
:lg=
"item.width"
>
<el-col
:lg=
"item.width"
:style=
"
{ height: item.type === 'upload' ? '116px' : '53px' }"
>
<div
<div
v-if=
"showIndex || configForms && configForms.showIndex"
v-if=
"showIndex || (configForms && configForms.showIndex)"
class=
"formIndex"
:class=
"['formIndex', item.labelSuffix == '5' ? 'computeIndex' : '']"
>
{{
columnIndex
+
1
}}
</div>
>
<el-form-item
{{
item
.
labelSuffix
||
columnIndex
+
1
}}
</div>
<!--
<el-form-item
:label=
"
:label=
"
!hiddenLabel && item.label
!hiddenLabel && item.label
? `$
{item.label}${item.labelSuffix || ''}`
? `$
{item.label}${item.labelSuffix || ''}`
...
@@ -20,6 +25,13 @@
...
@@ -20,6 +25,13 @@
:prop="item.prop"
:prop="item.prop"
:rules="item.rules"
:rules="item.rules"
:class="isEmpty"
:class="isEmpty"
> -->
<el-form-item
:label=
"!hiddenLabel && item.label ? `$
{item.label}` : ''"
:label-width="item.labelWidth ? `${item.labelWidth}px` : ''"
:prop="item.prop"
:rules="item.rules"
:class="isEmpty"
>
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div>
<div>
...
@@ -40,7 +52,7 @@
...
@@ -40,7 +52,7 @@
<el-input
<el-input
v-if=
"item.type === 'input'"
v-if=
"item.type === 'input'"
v-model=
"form[item.prop]"
v-model=
"form[item.prop]"
:class=
"item.
toothBit ? 'toothBit
' : ''"
:class=
"item.
prop == 'other_sickness' ? 'needlong
' : ''"
:readonly=
"item.readonly"
:readonly=
"item.readonly"
:disabled=
"item.disabled"
:disabled=
"item.disabled"
:placeholder=
"
:placeholder=
"
...
@@ -63,16 +75,13 @@
...
@@ -63,16 +75,13 @@
slot=
"append"
slot=
"append"
class=
"toothBit"
class=
"toothBit"
@
click=
"openToothBit"
@
click=
"openToothBit"
>
{{
item
.
append
||
"
牙位
"
}}
</el-button>
>
{{
item
.
append
||
"
牙位
"
}}
</el-button
>
<template
v-else-if=
"item.append"
slot=
"append"
>
<template
v-else-if=
"item.append"
slot=
"append"
>
{{
{{
item
.
append
}}
item
.
append
}}
</
template
>
</
template
>
<
template
v-if=
"item.prepend"
slot=
"prepend"
>
<
template
v-if=
"item.prepend"
slot=
"prepend"
>
{{
{{
item
.
prepend
}}
item
.
prepend
}}
</
template
>
</
template
>
</el-input>
</el-input>
...
@@ -97,14 +106,10 @@
...
@@ -97,14 +106,10 @@
@
blur=
"handleBlur"
@
blur=
"handleBlur"
>
>
<
template
v-if=
"item.append"
slot=
"append"
>
<
template
v-if=
"item.append"
slot=
"append"
>
{{
{{
item
.
append
}}
item
.
append
}}
</
template
>
</
template
>
<
template
v-if=
"item.prepend"
slot=
"prepend"
>
<
template
v-if=
"item.prepend"
slot=
"prepend"
>
{{
{{
item
.
prepend
}}
item
.
prepend
}}
</
template
>
</
template
>
</el-input>
</el-input>
...
@@ -151,7 +156,8 @@
...
@@ -151,7 +156,8 @@
v-if=
"item.append"
v-if=
"item.append"
class=
"el-input-group__append"
class=
"el-input-group__append"
style=
"line-height: 28px"
style=
"line-height: 28px"
>
{{ item.append }}
</span>
>
{{ item.append }}
</span
>
</div>
</div>
<!-- 单选框 -->
<!-- 单选框 -->
...
@@ -165,7 +171,8 @@
...
@@ -165,7 +171,8 @@
v-for=
"(opt, optIndex) in item.dicData"
v-for=
"(opt, optIndex) in item.dicData"
:key=
"optIndex"
:key=
"optIndex"
:label=
"opt.value"
:label=
"opt.value"
>
{{ opt.label }}
</el-radio>
>
{{ opt.label }}
</el-radio
>
</el-radio-group>
</el-radio-group>
<!-- 多选框 -->
<!-- 多选框 -->
...
@@ -179,7 +186,8 @@
...
@@ -179,7 +186,8 @@
v-for=
"(opt, optIndex) in item.dicData"
v-for=
"(opt, optIndex) in item.dicData"
:key=
"optIndex"
:key=
"optIndex"
:label=
"opt.value"
:label=
"opt.value"
>
{{
opt
.
label
}}
</el-checkbox>
>
{{
opt
.
label
}}
</el-checkbox
>
</el-checkbox-group>
</el-checkbox-group>
</
template
>
</
template
>
...
@@ -351,7 +359,8 @@
...
@@ -351,7 +359,8 @@
<span
<span
v-if=
"item.importantField && !vwForm.detail"
v-if=
"item.importantField && !vwForm.detail"
class=
"important_field"
class=
"important_field"
>
{{ item.importantFieldDesc || "*" }}
</span>
>
{{ item.importantFieldDesc || "*" }}
</span
>
</div>
</div>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -547,23 +556,6 @@ export default {
...
@@ -547,23 +556,6 @@ export default {
}
catch
{}
}
catch
{}
}
}
})
})
}
else
{
// let { birthday } = this.form
// if (birthday) {
// birthday = new Date(birthday.replace(/-/g, "/"))
// let d = new Date()
// let age =
// d.getFullYear() -
// birthday.getFullYear() -
// (d.getMonth()
<
birthday
.
getMonth
()
||
// (d.getMonth() == birthday.getMonth() &&
// d.getDate()
<
birthday
.
getDate
())
// ? 1
// : 0)
// console.log(age)
// if (age == 0) {
// }
// }
}
}
},
},
// 自定义方法规则
// 自定义方法规则
...
@@ -628,6 +620,7 @@ export default {
...
@@ -628,6 +620,7 @@ export default {
const
columns
=
this
.
columns
||
[]
const
columns
=
this
.
columns
||
[]
const
group
=
this
.
group
||
[]
const
group
=
this
.
group
||
[]
const
dyMap
=
{}
// 显示数据集合
const
dyMap
=
{}
// 显示数据集合
dynamicshSet
.
forEach
((
dy
)
=>
{
dynamicshSet
.
forEach
((
dy
)
=>
{
if
(
dyMap
[
dy
.
target
])
{
if
(
dyMap
[
dy
.
target
])
{
dyMap
[
dy
.
target
].
push
(
dy
.
value
)
dyMap
[
dy
.
target
].
push
(
dy
.
value
)
...
@@ -645,7 +638,38 @@ export default {
...
@@ -645,7 +638,38 @@ export default {
const
values
=
dyMap
[
key
]
const
values
=
dyMap
[
key
]
let
display
=
false
let
display
=
false
if
(
Array
.
isArray
(
val
))
{
if
(
Array
.
isArray
(
val
))
{
display
=
values
.
filter
((
v
)
=>
val
.
includes
(
v
)).
length
>
0
if
(
prop
==
"
early_gastric_cancer
"
||
prop
==
"
period_gastric_cancer
"
)
{
let
flag
=
false
if
(
this
.
form
.
early_gastric_cancer
)
{
this
.
form
.
early_gastric_cancer
.
length
>
0
?
(
flag
=
true
)
:
(
flag
=
false
)
}
if
(
!
flag
)
{
if
(
this
.
form
.
period_gastric_cancer
)
{
this
.
form
.
period_gastric_cancer
.
length
>
0
?
(
flag
=
true
)
:
(
flag
=
false
)
}
}
console
.
log
(
targetItem
)
display
=
flag
if
(
display
)
{
targetItem
.
rules
[
0
]
=
{
required
:
true
,
message
:
"
请上传病理报告
"
,
}
}
else
{
if
(
targetItem
.
rules
.
length
>
0
)
{
targetItem
.
rules
[
0
].
required
=
false
}
}
}
else
{
display
=
values
.
filter
((
v
)
=>
val
.
includes
(
v
)).
length
>
0
}
}
else
{
}
else
{
display
=
values
.
includes
(
val
)
display
=
values
.
includes
(
val
)
}
}
...
@@ -666,6 +690,14 @@ export default {
...
@@ -666,6 +690,14 @@ export default {
this
.
$set
(
this
.
form
,
"
$_hidden
"
+
targetItem
.
prop
,
!
display
)
this
.
$set
(
this
.
form
,
"
$_hidden
"
+
targetItem
.
prop
,
!
display
)
},
200
)
},
200
)
}
else
{
}
else
{
if
(
prop
==
"
check_type
"
&&
Boolean
(
display
))
{
targetItem
.
rules
[
0
]
=
{
required
:
true
,
message
:
"
请上传内镜报告
"
,
}
}
else
if
(
prop
==
"
check_type
"
)
{
targetItem
.
rules
=
[]
}
this
.
$set
(
targetItem
,
"
display
"
,
Boolean
(
display
))
this
.
$set
(
targetItem
,
"
display
"
,
Boolean
(
display
))
}
}
})
})
...
@@ -699,7 +731,6 @@ export default {
...
@@ -699,7 +731,6 @@ export default {
.el-col
{
.el-col
{
height
:
100%
;
height
:
100%
;
height
:
53px
;
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
}
}
...
@@ -708,6 +739,7 @@ export default {
...
@@ -708,6 +739,7 @@ export default {
height
:
100%
;
height
:
100%
;
background
:
#fafafa
;
background
:
#fafafa
;
border-right
:
1px
solid
#ccc
;
border-right
:
1px
solid
#ccc
;
font-size
:
14px
;
justify-content
:
center
;
justify-content
:
center
;
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
...
@@ -837,4 +869,7 @@ export default {
...
@@ -837,4 +869,7 @@ export default {
}
}
}
}
}
}
::v-deep
.needlong
{
width
:
260px
!
important
;
}
</
style
>
</
style
>
src/components/FormComponents/CustomForm/index.vue
View file @
04610b16
...
@@ -49,7 +49,9 @@
...
@@ -49,7 +49,9 @@
>
>
<template
slot=
"title"
>
<template
slot=
"title"
>
{{
g
.
label
}}
{{
g
.
label
}}
<span
v-if=
"g.label == '二、排除标准'"
class=
"noCol"
>
{{
errorText
}}
</span>
<span
v-if=
"g.label == '二、排除标准'"
class=
"noCol"
>
{{
errorText
}}
</span>
</
template
>
</
template
>
<form-content
<form-content
v-if=
"collapseNames.includes(g.prop)"
v-if=
"collapseNames.includes(g.prop)"
...
@@ -66,6 +68,17 @@
...
@@ -66,6 +68,17 @@
</template>
</template>
<div
class=
"form-footer"
>
<div
class=
"form-footer"
>
<
template
v-if=
"options.menuBtn"
>
<
template
v-if=
"options.menuBtn"
>
<template
v-if=
"options.prevBtn"
>
<el-button
type=
"primary"
:loading=
"loading"
size=
"large"
:disabled=
"disabled"
@
click=
"onPrev"
>
上一步
</el-button>
</
template
>
<
template
v-if=
"options.submitBtn"
>
<
template
v-if=
"options.submitBtn"
>
<el-button
<el-button
type=
"primary"
type=
"primary"
...
@@ -74,7 +87,8 @@
...
@@ -74,7 +87,8 @@
size=
"large"
size=
"large"
:disabled=
"disabled"
:disabled=
"disabled"
@
click=
"handleConfirm"
@
click=
"handleConfirm"
>
{{
options
.
submitText
||
"
提交
"
}}
</el-button>
>
{{
options
.
submitText
||
"
提交
"
}}
</el-button
>
</
template
>
</
template
>
<
template
v-if=
"options.emptyBtn"
>
<
template
v-if=
"options.emptyBtn"
>
<el-button
<el-button
...
@@ -82,7 +96,8 @@
...
@@ -82,7 +96,8 @@
icon=
"el-icon-delete "
icon=
"el-icon-delete "
size=
"large"
size=
"large"
@
click=
"resetForm(true)"
@
click=
"resetForm(true)"
>
{{
options
.
emptyText
||
"
清空
"
}}
</el-button>
>
{{
options
.
emptyText
||
"
清空
"
}}
</el-button
>
</
template
>
</
template
>
</template>
</template>
<
template
v-if=
"nextTabBtnShow"
>
<
template
v-if=
"nextTabBtnShow"
>
...
@@ -92,7 +107,8 @@
...
@@ -92,7 +107,8 @@
icon=
"el-icon-caret-right"
icon=
"el-icon-caret-right"
size=
"large"
size=
"large"
@
click=
"nextTab"
@
click=
"nextTab"
>
{{
options
.
nextTabText
||
"
下一页
"
}}
</el-button>
>
{{
options
.
nextTabText
||
"
下一页
"
}}
</el-button
>
</el-form>
</el-form>
</
template
>
</
template
>
</div>
</div>
...
@@ -169,7 +185,20 @@ export default {
...
@@ -169,7 +185,20 @@ export default {
// this.setformWatch(this.options, "form")
// this.setformWatch(this.options, "form")
})
})
},
},
mounted
()
{
// 处理computeIndex
let
domArr
=
document
.
querySelectorAll
(
"
.computeIndex
"
)
for
(
let
i
=
0
;
i
<
domArr
.
length
;
i
++
)
{
domArr
[
i
].
style
.
height
=
"
54px
"
domArr
[
i
].
innerHTML
=
""
if
(
domArr
.
length
/
i
==
2
)
{
domArr
[
i
].
innerHTML
=
"
6
"
}
if
(
i
==
domArr
.
length
-
1
)
{
domArr
[
i
].
style
.
height
=
"
53px
"
}
}
},
methods
:
{
methods
:
{
// 显示不符合筛查条件
// 显示不符合筛查条件
showError
(
data
)
{
showError
(
data
)
{
...
@@ -224,7 +253,12 @@ export default {
...
@@ -224,7 +253,12 @@ export default {
func
(
valid
,
()
=>
{})
func
(
valid
,
()
=>
{})
})
})
},
},
onPrev
()
{
this
.
$emit
(
"
onPrev
"
,
()
=>
{
// 完成之后的回调
this
.
loading
=
false
})
},
handleConfirm
()
{
handleConfirm
()
{
this
.
loading
=
true
this
.
loading
=
true
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
...
@@ -257,6 +291,7 @@ export default {
...
@@ -257,6 +291,7 @@ export default {
}
}
})
})
this
.
$emit
(
"
handleConfirm
"
,
data
,
()
=>
{
this
.
$emit
(
"
handleConfirm
"
,
data
,
()
=>
{
// 完成之后的回调
this
.
loading
=
false
this
.
loading
=
false
})
})
}
else
{
}
else
{
...
@@ -359,10 +394,10 @@ export default {
...
@@ -359,10 +394,10 @@ export default {
border-right
:
1px
solid
#e5e5e5
;
border-right
:
1px
solid
#e5e5e5
;
// border-bottom: 1px solid #e5e5e5 !important;
// border-bottom: 1px solid #e5e5e5 !important;
padding
:
0px
;
padding
:
0px
;
&
:hover
{
//
&:hover {
// background-color: #ecf8ff;
// background-color: #ecf8ff;
// outline: 1px dashed #ccc;
// outline: 1px dashed #ccc;
}
//
}
}
}
.el-collapse-item__header
{
.el-collapse-item__header
{
font-size
:
16px
;
font-size
:
16px
;
...
...
src/components/Upload/index.vue
View file @
04610b16
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
<el-row
class=
"el-upload-self"
>
<el-row
class=
"el-upload-self"
>
<el-upload
<el-upload
:multiple=
"multiple"
:multiple=
"multiple"
class=
"avatar-uploader"
ref=
"upload"
ref=
"upload"
:action=
"action"
:action=
"action"
:headers=
"headers"
:headers=
"headers"
...
@@ -28,7 +29,9 @@
...
@@ -28,7 +29,9 @@
</
template
>
</
template
>
<
template
v-else
>
<
template
v-else
>
<el-button
size=
"middle"
:type=
"btnType"
>
点击上传
</el-button>
<!--
<el-button
size=
"middle"
:type=
"btnType"
>
点击上传
</el-button>
-->
<!--
<img
v-if=
"imageUrl"
:src=
"imageUrl"
class=
"avatar"
/>
-->
<i
class=
"el-icon-plus avatar-uploader-icon"
></i>
</
template
>
</
template
>
<div
slot=
"tip"
class=
"el-upload__tip"
>
{{ tip }}
</div>
<div
slot=
"tip"
class=
"el-upload__tip"
>
{{ tip }}
</div>
</el-upload>
</el-upload>
...
@@ -220,4 +223,31 @@ export default {
...
@@ -220,4 +223,31 @@ export default {
.el-upload-self
{
.el-upload-self
{
font-size
:
14px
;
font-size
:
14px
;
}
}
.avatar-uploader
{
display
:
flex
;
align-items
:
center
;
}
::v-deep
.avatar-uploader
.el-upload
{
border
:
1px
solid
#d9d9d9
;
border-radius
:
6px
;
cursor
:
pointer
;
position
:
relative
;
overflow
:
hidden
;
}
::v-deep
.avatar-uploader
.el-upload
:hover
{
border-color
:
#409eff
;
}
.avatar-uploader-icon
{
font-size
:
28px
;
color
:
#8c939d
;
width
:
88px
;
height
:
88px
;
line-height
:
88px
;
text-align
:
center
;
}
.avatar
{
width
:
88px
;
height
:
88px
;
display
:
block
;
}
</
style
>
</
style
>
src/router/index.js
View file @
04610b16
...
@@ -40,6 +40,19 @@ export const constantRoutes = [
...
@@ -40,6 +40,19 @@ export const constantRoutes = [
// hidden: true,
// hidden: true,
// name: "login",
// name: "login",
// },
// },
{
path
:
"
/auditdetail
"
,
component
:
Layout
,
children
:
[
{
path
:
"
/auditdetail
"
,
component
:
()
=>
import
(
"
@/views/audit-detail/index
"
),
hidden
:
true
,
name
:
"
auditdetail
"
,
},
],
},
// 审核详情
{
{
path
:
"
/followupentry
"
,
path
:
"
/followupentry
"
,
component
:
Layout
,
component
:
Layout
,
...
...
src/views/audit-detail/components/publicDialog.vue
0 → 100644
View file @
04610b16
<
template
>
<div>
<el-dialog
center
:visible.sync=
"dialogVisible"
width=
"40%"
show-close
@
closed=
"cancelSubmit"
>
<slot
name=
"content"
></slot>
<slot
name=
"footer"
></slot>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
dialogVisible
:
false
,
loading
:
false
}
},
watch
:
{},
mounted
()
{},
methods
:
{
cancelSubmit
()
{
this
.
dialogVisible
=
false
this
.
$emit
(
"
onCancel
"
)
},
// onSubmit() {
// this.$emit("onSubmit")
// },
},
}
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
src/views/audit-detail/components/screenReview.vue
0 → 100644
View file @
04610b16
<
template
>
<div>
<el-container>
<el-main
v-loading=
"pageLoading"
class=
"transition-box"
>
<el-empty
v-if=
"!isEmpty"
description=
"暂无数据"
></el-empty>
<template
v-if=
"isEmpty"
>
<div
ref=
"my-form"
class=
"my-form"
>
<custom-form
ref=
"customForm"
:options=
"jsonList[1]"
:formEdit=
"form"
></custom-form>
<!--
<custom-form
ref=
"form"
:options=
"jsonList[1]"
></custom-form>
<custom-form
ref=
"form"
:options=
"jsonList[2]"
></custom-form>
<custom-form
ref=
"form"
:options=
"jsonList[3]"
></custom-form>
<custom-form
ref=
"form"
:options=
"jsonList[4]"
></custom-form>
-->
</div>
</
template
>
</el-main>
<!-- <el-aside
:width="sideWidth"
class="transition-box"
:class="{ hidden: !asideShow }"
v-if="contrast"
>
<div class="side-content"></div>
</el-aside> -->
</el-container>
</div>
</template>
<
script
>
import
{
mapGetters
}
from
"
vuex
"
import
CustomForm
from
"
@/components/FormComponents/CustomForm/index
"
import
{
getCurrentFormByType
}
from
"
@/api/coop-group.js
"
import
{
getFormDetail
}
from
"
@/api/field
"
export
default
{
components
:
{
CustomForm
},
data
()
{
return
{
fromLoading
:
false
,
formTabs
:
[],
formTabsList
:
[],
jsonList
:
[],
form
:
{
name
:
"
123
"
,
phone
:
"
18712412341
"
,
},
}
},
computed
:
{
...
mapGetters
({
group
:
[
"
user/group
"
],
}),
isEmpty
()
{
return
this
.
jsonList
.
length
},
sideWidth
()
{
return
this
.
asideShow
?
"
200px
"
:
"
0px
"
},
pageLoading
()
{
return
this
.
loading
||
this
.
formloading
},
},
watch
:
{},
created
()
{
this
.
getCurrentFormByType
()
},
mounted
()
{},
methods
:
{
getCurrentFormByType
(
type
=
1
)
{
this
.
fromLoading
=
true
getCurrentFormByType
({
type
,
groupId
:
this
.
group
.
groupId
,
})
.
then
((
res
)
=>
{
if
(
res
.
code
===
1
)
{
const
formTabs
=
[]
this
.
formTabsList
=
res
.
data
.
map
((
item
,
index
)
=>
{
if
(
index
===
0
)
{
formTabs
.
push
({
silent
:
false
,
...
item
,
label
:
item
.
tabName
,
})
}
else
{
formTabs
.
push
({
id
:
item
.
id
,
formId
:
item
.
formId
,
silent
:
true
,
label
:
item
.
tabName
,
})
}
return
{
...
item
,
silent
:
false
,
label
:
item
.
tabName
,
}
})
this
.
formTabs
=
formTabs
}
})
.
finally
(()
=>
{
this
.
jsonList
=
[]
let
i
=
0
this
.
initForm
(
i
)
})
},
initForm
(
i
)
{
let
formId
=
this
.
formTabs
[
i
].
formId
this
.
formloading
=
true
getFormDetail
(
formId
)
.
then
((
res
)
=>
{
if
(
res
.
code
===
1
&&
res
.
data
)
{
const
formJson
=
res
.
data
.
formJson
const
obj
=
eval
(
"
(
"
+
formJson
+
"
)
"
)
obj
.
disabled
=
true
obj
.
detail
=
true
this
.
jsonList
.
push
(
obj
)
if
(
i
==
4
)
{
console
.
log
(
this
.
jsonList
)
this
.
formloading
=
false
}
}
})
.
finally
(()
=>
{
if
(
i
<
this
.
formTabs
.
length
-
1
)
{
i
++
this
.
initForm
(
i
)
}
})
},
},
}
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
src/views/audit-detail/index.vue
0 → 100644
View file @
04610b16
<
template
>
<div
id=
"audit-detail"
>
<div
class=
"audit-detail_header p-24"
>
<div
class=
"left"
>
<span>
当前审核
</span>
<span
class=
"f-b"
>
【无锡市人民医院医联体】【剩余7】
</span>
</div>
<div
class=
"right"
>
<el-button
class=
"btn"
@
click=
"$router.go(-1)"
>
返回
</el-button>
</div>
</div>
<div
class=
"choose-handle p-24"
>
<span
v-if=
"!editStatus"
>
请选择审核结果:
</span>
<div
class=
"btn_group"
>
<el-button
v-for=
"(item, index) in btnGroup"
:key=
"index"
type=
"primary"
class=
"p-btn"
size=
"medium"
@
click=
"showDialog(item.value)"
>
{{
item
.
text
}}
</el-button
>
<span
v-if=
"editStatus"
class=
"op"
>
驳回修改建议:胃镜图片不合规
</span>
</div>
</div>
<div
class=
"table-content p-24"
>
<component
:is=
"curComponent"
></component>
</div>
<public-dialog
ref=
"editDialog"
@
onSubmit=
"onSubmit"
@
onCancel=
"onCancel"
>
<!-- 修改审核结果 优先触发提示 -->
<template
v-if=
"!confirmStatus"
slot=
"content"
>
<div
class=
"title"
>
温馨提示
</div>
<div
class=
"content"
>
<div
class=
"showTips"
>
该病例已经审核【驳回修改】,需要改为
{{
btnGroup
[
curBtn
-
1
]
?
btnGroup
[
curBtn
-
1
].
text
:
""
}}
吗
</div>
</div>
<div
class=
"btn"
>
<el-button
type=
"primary"
:loading=
"loading"
@
click=
"onCancel"
>
否
</el-button
>
<el-button
type=
"primary"
:loading=
"loading"
@
click=
"editSubmit"
>
是
</el-button
>
</div>
</
template
>
</public-dialog>
<public-dialog
ref=
"publicDialog"
@
onSubmit=
"onSubmit"
@
onCancel=
"onCancel"
>
<!-- 审核结果回显 -->
<
template
v-if=
"!confirmStatus"
slot=
"content"
>
<div
class=
"title"
>
{{
btnGroup
[
curBtn
-
1
]
?
btnGroup
[
curBtn
-
1
].
text
:
""
}}
</div>
<div
class=
"content"
>
<div
v-if=
"curBtn != 1"
class=
"noPass"
>
<el-form
ref=
"form"
label-position=
"top"
:model=
"form"
:rules=
"rules"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
:label=
"curBtn == 2 ? '不合格原因' : '驳回修改建议'"
prop=
"reson"
>
<el-input
v-model=
"form.reson"
type=
"textarea"
:placeholder=
"
curBtn == 2 ? '请填写不合格原因' : '请填写驳回修改建议'
"
></el-input>
</el-form-item>
</el-form>
</div>
</div>
<div
class=
"btn"
>
<el-button
type=
"primary"
:loading=
"loading"
@
click=
"onSubmit"
>
确 定
</el-button
>
</div>
</
template
>
<!-- 提交后结果 -->
<
template
v-if=
"confirmStatus"
slot=
"content"
>
<div
class=
"title"
>
{{
btnGroup
[
curBtn
-
1
].
text
}}
</div>
<div
class=
"content"
>
<div
v-if=
"curBtn == 1"
class=
"pass"
>
该病例审核合格成功!
</div>
<div
v-if=
"curBtn != 1"
class=
"noPass"
>
<!-- 不合格和驳回 -->
<div
class=
"label"
>
{{
curBtn
==
2
?
"
不合格原因
"
:
"
驳回修改建议
"
}}
</div>
<div
class=
"reson"
>
{{
form
.
reson
}}
</div>
</div>
</div>
<div
v-if=
"curBtn != 1"
class=
"showTips"
>
该病例审核
{{
curBtn
==
2
?
"
不合格原因
"
:
"
驳回修改建议
"
}}
提交成功!
</div>
<div
class=
"btn"
>
<el-button
type=
"primary"
@
click=
"nextExample"
>
下一例
</el-button>
</div>
</
template
>
</public-dialog>
</div>
</template>
<
script
>
import
publicDialog
from
"
./components/publicDialog.vue
"
import
screenReview
from
"
./components/screenReview.vue
"
export
default
{
components
:
{
publicDialog
,
screenReview
},
data
()
{
return
{
editStatus
:
false
,
//进入的状态是第一次审核还是修改审核,false为第一次,true为修改
form
:
{},
rules
:
{
reson
:
[{
required
:
true
,
message
:
"
请填写
"
,
trigger
:
"
blur
"
}],
},
btnGroup
:
[
{
text
:
"
合格
"
,
value
:
1
,
},
{
text
:
"
不合格
"
,
value
:
2
,
},
{
text
:
"
驳回修改
"
,
value
:
3
,
},
],
loading
:
false
,
curBtn
:
0
,
curComponent
:
"
screenReview
"
,
confirmStatus
:
false
,
}
},
watch
:
{},
mounted
()
{},
methods
:
{
showDialog
(
val
)
{
this
.
curBtn
=
val
if
(
!
this
.
editStatus
)
{
if
(
this
.
curBtn
==
1
)
{
// 走接口,保存合格
this
.
confirmStatus
=
true
}
else
if
(
this
.
curBtn
==
2
)
{
this
.
rules
.
reson
[
0
].
message
=
"
请输入不合格原因
"
}
else
{
this
.
rules
.
reson
[
0
].
message
=
"
请输入驳回修改建议
"
}
this
.
$refs
.
publicDialog
.
dialogVisible
=
true
}
else
{
this
.
$refs
.
editDialog
.
dialogVisible
=
true
}
},
onSubmit
()
{
this
.
loading
=
true
// 切换文本
if
(
this
.
curBtn
!=
1
)
{
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
if
(
valid
)
{
// alert("submit!")
// 保存成功,回显,调用接口
// 回调
this
.
confirmStatus
=
true
}
else
{
console
.
log
(
"
error submit!!
"
)
return
false
}
})
}
this
.
loading
=
false
// this.$refs.publicDialog.dialogVisible = true
},
onCancel
()
{
this
.
confirmStatus
=
false
if
(
this
.
curBtn
!=
1
)
{
this
.
form
=
{}
}
this
.
$refs
.
editDialog
.
dialogVisible
=
false
this
.
$refs
.
publicDialog
.
dialogVisible
=
false
if
(
this
.
$refs
.
form
)
{
this
.
$refs
.
form
.
clearValidate
()
}
},
editSubmit
()
{
// this.$refs.editDialog.dialogVisible = false
if
(
this
.
curBtn
==
1
)
{
// 走接口,保存合格
this
.
confirmStatus
=
true
}
else
if
(
this
.
curBtn
==
2
)
{
this
.
rules
.
reson
[
0
].
message
=
"
请输入不合格原因
"
}
else
{
this
.
rules
.
reson
[
0
].
message
=
"
请输入驳回修改建议
"
}
this
.
$refs
.
publicDialog
.
dialogVisible
=
true
},
nextExample
()
{
this
.
onCancel
()
},
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
::v-deep
.el-dialog__body
{
border-top
:
none
;
text-align
:
center
;
.tips
{
font-size
:
16px
;
}
}
.p-24
{
padding
:
0
24px
;
}
.f-b
{
font-weight
:
bold
;
font-size
:
14px
;
}
#audit-detail
{
// padding: 22px 24px;
.audit-detail_header
{
height
:
65px
;
border-bottom
:
1px
solid
#f3f3f3
;
line-height
:
65px
;
display
:
flex
;
justify-content
:
space-between
;
.right
{
.btn
{
width
:
80px
;
height
:
32px
;
border-radius
:
4px
;
}
}
}
.choose-handle
{
width
:
100%
;
height
:
72px
;
line-height
:
72px
;
font-size
:
14px
;
font-family
:
AlibabaPuHuiTiM
;
color
:
#333333
;
box-shadow
:
0px
2px
0px
0px
rgba
(
0
,
0
,
0
,
0
.1
);
display
:
flex
;
.btn_group
{
margin-left
:
24px
;
::v-deep
.p-btn
{
width
:
100px
;
border-radius
:
4px
;
}
}
}
}
.title
{
height
:
26px
;
font-size
:
22px
;
font-family
:
AlibabaPuHuiTiM
;
color
:
rgba
(
0
,
0
,
0
,
0
.8
);
line-height
:
26px
;
}
.content
{
margin
:
58px
;
.pass
{
font-size
:
18px
;
font-family
:
AlibabaPuHuiTiM
;
color
:
#30b9a6
;
letter-spacing
:
1px
;
}
}
.btn
{
margin-top
:
20px
;
.el-button
{
width
:
100px
;
height
:
32px
;
}
}
::v-deep
.el-form-item__label
{
width
:
100%
;
text-align
:
left
;
}
.reson
{
margin-top
:
20px
;
}
.showTips
{
color
:
#4e68ff
;
}
.op
{
font-size
:
14px
;
font-family
:
AlibabaPuHuiTiR
;
color
:
#fa6400
;
margin-left
:
20px
;
}
.table-content
{
padding-top
:
20px
;
padding-bottom
:
20px
;
}
</
style
>
src/views/audit-qualitycontrol/community.vue
View file @
04610b16
...
@@ -104,6 +104,12 @@ export default {
...
@@ -104,6 +104,12 @@ export default {
},
},
auditHandle
(
data
,
i
)
{
auditHandle
(
data
,
i
)
{
console
.
log
(
data
,
i
)
console
.
log
(
data
,
i
)
this
.
$router
.
push
({
path
:
"
/auditdetail
"
,
query
:
{
id
:
i
,
},
})
},
},
},
},
}
}
...
...
src/views/screening/components/ConfigForms.vue
View file @
04610b16
<
template
>
<
template
>
<div
id=
"publicContent"
:class=
"activeName=='index0' && formClass ? formClass :''"
>
<div
id=
"publicContent"
:class=
"activeName == 'index0' && formClass ? formClass : ''"
>
<div
v-if=
"formTabs && formTabs.length > 0"
>
<div
v-if=
"formTabs && formTabs.length > 0"
>
<el-button
class=
"draftButton"
>
{{
formType
==
1
?
"
临时保存
"
:
"
返回
"
}}
</el-button>
<el-button
class=
"draftButton"
>
{{
formType
==
1
?
"
临时保存
"
:
"
返回
"
}}
</el-button>
<el-tabs
<el-tabs
v-model=
"activeName"
v-model=
"activeName"
type=
"card"
type=
"card"
...
@@ -27,6 +32,7 @@
...
@@ -27,6 +32,7 @@
contrast
contrast
@
setFormJson=
"setFormJson"
@
setFormJson=
"setFormJson"
@
handleConfirm=
"handleConfirm"
@
handleConfirm=
"handleConfirm"
@
onPrev=
"onPrev"
:survivalFlag=
"survivalFlag"
:survivalFlag=
"survivalFlag"
></form-tab>
></form-tab>
</
template
>
</
template
>
...
@@ -62,6 +68,9 @@ export default {
...
@@ -62,6 +68,9 @@ export default {
handleConfirm
(
data
,
done
,
cb
)
{
handleConfirm
(
data
,
done
,
cb
)
{
this
.
addPatient
(
data
,
done
,
cb
)
this
.
addPatient
(
data
,
done
,
cb
)
},
},
onPrev
(
done
)
{
this
.
prevTab
(
done
)
},
},
},
created
()
{
created
()
{
// 字典formType 1 筛查表单
// 字典formType 1 筛查表单
...
@@ -81,30 +90,27 @@ export default {
...
@@ -81,30 +90,27 @@ export default {
// }
// }
// }
// }
},
},
computed
:{
computed
:
{
survivalFlag
(){
survivalFlag
()
{
if
(
this
.
activeName
==
"
index0
"
&&
this
.
formClass
)
{
if
(
this
.
activeName
==
"
index0
"
&&
this
.
formClass
)
{
return
true
return
true
}
}
else
{
else
{
return
false
return
false
}
}
},
},
showIndex
(){
showIndex
()
{
if
(
this
.
activeName
==
"
index0
"
&&
this
.
formClass
)
{
if
(
this
.
activeName
==
"
index0
"
&&
this
.
formClass
)
{
return
false
return
false
}
}
else
{
else
{
return
true
return
true
}
}
}
}
,
},
},
provide
()
{
provide
()
{
return
{
return
{
configForms
:
this
configForms
:
this
,
}
}
},
},
}
}
</
script
>
</
script
>
...
...
src/views/screening/components/FormTab.vue
View file @
04610b16
...
@@ -49,6 +49,7 @@
...
@@ -49,6 +49,7 @@
@
scrollTop=
"scrollTop"
@
scrollTop=
"scrollTop"
:options=
"widgetFormPreview"
:options=
"widgetFormPreview"
@
handleConfirm=
"handleConfirm"
@
handleConfirm=
"handleConfirm"
@
onPrev=
"onPrev"
:form-edit=
"formData.formEdit"
:form-edit=
"formData.formEdit"
></custom-form>
></custom-form>
</div>
</div>
...
@@ -427,6 +428,9 @@ export default {
...
@@ -427,6 +428,9 @@ export default {
}
}
)
)
},
},
onPrev
(
done
)
{
this
.
$emit
(
"
onPrev
"
,
done
)
},
getPatientDetail
()
{
getPatientDetail
()
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
...
...
src/views/screening/components/mixin.js
View file @
04610b16
...
@@ -22,6 +22,23 @@ export default {
...
@@ -22,6 +22,23 @@ export default {
},
},
methods
:
{
methods
:
{
nextTab
()
{
let
i
=
this
.
activeName
.
split
(
"
index
"
)[
1
]
-
0
i
++
if
(
i
==
5
)
{
return
}
else
{
this
.
activeName
=
"
index
"
+
i
this
.
handleTabClick
({
index
:
i
,
name
:
""
})
}
},
prevTab
(
done
)
{
let
i
=
this
.
activeName
.
split
(
"
index
"
)[
1
]
-
0
i
--
this
.
activeName
=
"
index
"
+
i
this
.
handleTabClick
({
index
:
i
,
name
:
""
})
done
()
},
handleTabClick
({
index
,
name
})
{
handleTabClick
({
index
,
name
})
{
const
{
formId
,
id
,
silent
}
=
this
.
formTabs
[
index
]
const
{
formId
,
id
,
silent
}
=
this
.
formTabs
[
index
]
console
.
log
(
'
表单项
'
,
this
.
formTabs
)
console
.
log
(
'
表单项
'
,
this
.
formTabs
)
...
@@ -50,6 +67,7 @@ export default {
...
@@ -50,6 +67,7 @@ export default {
})
})
.
finally
((
e
)
=>
{
.
finally
((
e
)
=>
{
done
()
done
()
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