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
You need to sign in or sign up before continuing.
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 @@
<el-form-item
label=
"多分组转标签"
>
<el-switch
v-model=
"data.tabs"
active-color=
"#409EFF"
></el-switch>
</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-form-item>
<el-form-item
label=
"跳转按钮的文字"
v-if=
"data.tabs && data.nextTabBtn
"
>
<el-form-item
v-if=
"data.tabs && data.nextTabBtn"
label=
"跳转按钮的文字
"
>
<el-input
v-model=
"data.nextTabText"
placeholder=
"跳转按钮的文字"
...
...
@@ -76,7 +76,10 @@
value=
"right"
></el-option>
</el-select>
</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-form-item>
<!--
<el-form-item
label=
"提交按钮的大小"
...
...
@@ -92,8 +95,8 @@
</el-select>
</el-form-item>
-->
<el-form-item
label=
"提交按钮的文字"
v-if=
"data.menuBtn && data.submitBtn"
label=
"提交按钮的文字"
>
<el-input
v-model=
"data.submitText"
...
...
@@ -101,7 +104,7 @@
></el-input>
</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-form-item>
<!--
<el-form-item
label=
"清空按钮的大小"
...
...
@@ -116,7 +119,7 @@
value=
"mini"
></el-option>
</el-select>
</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
v-model=
"data.emptyText"
placeholder=
"清空按钮的文字"
...
...
@@ -152,7 +155,7 @@
<
script
>
export
default
{
name
:
"
form-c
onfig
"
,
name
:
"
FormC
onfig
"
,
props
:
[
"
data
"
],
}
</
script
>
packages/config/date.vue
View file @
04610b16
...
...
@@ -79,8 +79,8 @@ let checkAge = (rule, value, callback) => {
?
1
:
0
)
console
.
log
(
age
)
if
(
age
<
18
)
{
callback
(
new
Error
(
"
必须年满18岁
"
))
if
(
age
<
40
||
age
>
80
)
{
callback
(
new
Error
(
"
年龄不符合筛查条件
"
))
}
else
{
callback
()
}
...
...
src/components/FormComponents/CustomForm/FormContent.vue
View file @
04610b16
...
...
@@ -168,6 +168,7 @@ export default {
},
// 切换不符合筛查条件的显示
formChange
()
{
// 入选,排除标准
console
.
log
(
this
.
form
)
let
arr
=
[
"
is_one_year
"
,
...
...
src/components/FormComponents/CustomForm/FormItemSelf.vue
View file @
04610b16
...
...
@@ -5,12 +5,17 @@
:style=
"item.styles"
:class=
"
{ isDefects: defectsSet.includes(item.prop) }"
>
<el-col
:lg=
"item.width"
>
<el-col
:lg=
"item.width"
:style=
"
{ height: item.type === 'upload' ? '116px' : '53px' }"
>
<div
v-if=
"showIndex || configForms && configForms.showIndex"
class=
"formIndex"
>
{{
columnIndex
+
1
}}
</div>
<el-form-item
v-if=
"showIndex || (configForms && configForms.showIndex)"
:class=
"['formIndex', item.labelSuffix == '5' ? 'computeIndex' : '']"
>
{{
item
.
labelSuffix
||
columnIndex
+
1
}}
</div>
<!--
<el-form-item
:label=
"
!hiddenLabel && item.label
? `$
{item.label}${item.labelSuffix || ''}`
...
...
@@ -20,6 +25,13 @@
:prop="item.prop"
:rules="item.rules"
: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>
...
...
@@ -40,7 +52,7 @@
<el-input
v-if=
"item.type === 'input'"
v-model=
"form[item.prop]"
:class=
"item.
toothBit ? 'toothBit
' : ''"
:class=
"item.
prop == 'other_sickness' ? 'needlong
' : ''"
:readonly=
"item.readonly"
:disabled=
"item.disabled"
:placeholder=
"
...
...
@@ -63,16 +75,13 @@
slot=
"append"
class=
"toothBit"
@
click=
"openToothBit"
>
{{
item
.
append
||
"
牙位
"
}}
</el-button>
>
{{
item
.
append
||
"
牙位
"
}}
</el-button
>
<template
v-else-if=
"item.append"
slot=
"append"
>
{{
item
.
append
}}
{{
item
.
append
}}
</
template
>
<
template
v-if=
"item.prepend"
slot=
"prepend"
>
{{
item
.
prepend
}}
{{
item
.
prepend
}}
</
template
>
</el-input>
...
...
@@ -97,14 +106,10 @@
@
blur=
"handleBlur"
>
<
template
v-if=
"item.append"
slot=
"append"
>
{{
item
.
append
}}
{{
item
.
append
}}
</
template
>
<
template
v-if=
"item.prepend"
slot=
"prepend"
>
{{
item
.
prepend
}}
{{
item
.
prepend
}}
</
template
>
</el-input>
...
...
@@ -151,7 +156,8 @@
v-if=
"item.append"
class=
"el-input-group__append"
style=
"line-height: 28px"
>
{{ item.append }}
</span>
>
{{ item.append }}
</span
>
</div>
<!-- 单选框 -->
...
...
@@ -165,7 +171,8 @@
v-for=
"(opt, optIndex) in item.dicData"
:key=
"optIndex"
:label=
"opt.value"
>
{{ opt.label }}
</el-radio>
>
{{ opt.label }}
</el-radio
>
</el-radio-group>
<!-- 多选框 -->
...
...
@@ -179,7 +186,8 @@
v-for=
"(opt, optIndex) in item.dicData"
:key=
"optIndex"
:label=
"opt.value"
>
{{
opt
.
label
}}
</el-checkbox>
>
{{
opt
.
label
}}
</el-checkbox
>
</el-checkbox-group>
</
template
>
...
...
@@ -351,7 +359,8 @@
<span
v-if=
"item.importantField && !vwForm.detail"
class=
"important_field"
>
{{ item.importantFieldDesc || "*" }}
</span>
>
{{ item.importantFieldDesc || "*" }}
</span
>
</div>
</el-form-item>
</el-col>
...
...
@@ -547,23 +556,6 @@ export default {
}
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 {
const
columns
=
this
.
columns
||
[]
const
group
=
this
.
group
||
[]
const
dyMap
=
{}
// 显示数据集合
dynamicshSet
.
forEach
((
dy
)
=>
{
if
(
dyMap
[
dy
.
target
])
{
dyMap
[
dy
.
target
].
push
(
dy
.
value
)
...
...
@@ -645,7 +638,38 @@ export default {
const
values
=
dyMap
[
key
]
let
display
=
false
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
{
display
=
values
.
includes
(
val
)
}
...
...
@@ -666,6 +690,14 @@ export default {
this
.
$set
(
this
.
form
,
"
$_hidden
"
+
targetItem
.
prop
,
!
display
)
},
200
)
}
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
))
}
})
...
...
@@ -699,7 +731,6 @@ export default {
.el-col
{
height
:
100%
;
height
:
53px
;
display
:
flex
;
align-items
:
center
;
}
...
...
@@ -708,6 +739,7 @@ export default {
height
:
100%
;
background
:
#fafafa
;
border-right
:
1px
solid
#ccc
;
font-size
:
14px
;
justify-content
:
center
;
display
:
flex
;
align-items
:
center
;
...
...
@@ -837,4 +869,7 @@ export default {
}
}
}
::v-deep
.needlong
{
width
:
260px
!
important
;
}
</
style
>
src/components/FormComponents/CustomForm/index.vue
View file @
04610b16
...
...
@@ -49,7 +49,9 @@
>
<template
slot=
"title"
>
{{
g
.
label
}}
<span
v-if=
"g.label == '二、排除标准'"
class=
"noCol"
>
{{
errorText
}}
</span>
<span
v-if=
"g.label == '二、排除标准'"
class=
"noCol"
>
{{
errorText
}}
</span>
</
template
>
<form-content
v-if=
"collapseNames.includes(g.prop)"
...
...
@@ -66,6 +68,17 @@
</template>
<div
class=
"form-footer"
>
<
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"
>
<el-button
type=
"primary"
...
...
@@ -74,7 +87,8 @@
size=
"large"
:disabled=
"disabled"
@
click=
"handleConfirm"
>
{{
options
.
submitText
||
"
提交
"
}}
</el-button>
>
{{
options
.
submitText
||
"
提交
"
}}
</el-button
>
</
template
>
<
template
v-if=
"options.emptyBtn"
>
<el-button
...
...
@@ -82,7 +96,8 @@
icon=
"el-icon-delete "
size=
"large"
@
click=
"resetForm(true)"
>
{{
options
.
emptyText
||
"
清空
"
}}
</el-button>
>
{{
options
.
emptyText
||
"
清空
"
}}
</el-button
>
</
template
>
</template>
<
template
v-if=
"nextTabBtnShow"
>
...
...
@@ -92,7 +107,8 @@
icon=
"el-icon-caret-right"
size=
"large"
@
click=
"nextTab"
>
{{
options
.
nextTabText
||
"
下一页
"
}}
</el-button>
>
{{
options
.
nextTabText
||
"
下一页
"
}}
</el-button
>
</el-form>
</
template
>
</div>
...
...
@@ -169,7 +185,20 @@ export default {
// 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
:
{
// 显示不符合筛查条件
showError
(
data
)
{
...
...
@@ -224,7 +253,12 @@ export default {
func
(
valid
,
()
=>
{})
})
},
onPrev
()
{
this
.
$emit
(
"
onPrev
"
,
()
=>
{
// 完成之后的回调
this
.
loading
=
false
})
},
handleConfirm
()
{
this
.
loading
=
true
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
...
...
@@ -257,6 +291,7 @@ export default {
}
})
this
.
$emit
(
"
handleConfirm
"
,
data
,
()
=>
{
// 完成之后的回调
this
.
loading
=
false
})
}
else
{
...
...
@@ -359,10 +394,10 @@ export default {
border-right
:
1px
solid
#e5e5e5
;
// border-bottom: 1px solid #e5e5e5 !important;
padding
:
0px
;
&
:hover
{
// background-color: #ecf8ff;
// outline: 1px dashed #ccc;
}
//
&:hover {
// background-color: #ecf8ff;
// outline: 1px dashed #ccc;
//
}
}
.el-collapse-item__header
{
font-size
:
16px
;
...
...
src/components/Upload/index.vue
View file @
04610b16
...
...
@@ -2,6 +2,7 @@
<el-row
class=
"el-upload-self"
>
<el-upload
:multiple=
"multiple"
class=
"avatar-uploader"
ref=
"upload"
:action=
"action"
:headers=
"headers"
...
...
@@ -28,7 +29,9 @@
</
template
>
<
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
>
<div
slot=
"tip"
class=
"el-upload__tip"
>
{{ tip }}
</div>
</el-upload>
...
...
@@ -220,4 +223,31 @@ export default {
.el-upload-self
{
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
>
src/router/index.js
View file @
04610b16
...
...
@@ -40,6 +40,19 @@ export const constantRoutes = [
// hidden: true,
// name: "login",
// },
{
path
:
"
/auditdetail
"
,
component
:
Layout
,
children
:
[
{
path
:
"
/auditdetail
"
,
component
:
()
=>
import
(
"
@/views/audit-detail/index
"
),
hidden
:
true
,
name
:
"
auditdetail
"
,
},
],
},
// 审核详情
{
path
:
"
/followupentry
"
,
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 {
},
auditHandle
(
data
,
i
)
{
console
.
log
(
data
,
i
)
this
.
$router
.
push
({
path
:
"
/auditdetail
"
,
query
:
{
id
:
i
,
},
})
},
},
}
...
...
src/views/screening/components/ConfigForms.vue
View file @
04610b16
<
template
>
<div
id=
"publicContent"
:class=
"activeName=='index0' && formClass ? formClass :''"
>
<div
id=
"publicContent"
:class=
"activeName == 'index0' && formClass ? formClass : ''"
>
<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
v-model=
"activeName"
type=
"card"
...
...
@@ -27,6 +32,7 @@
contrast
@
setFormJson=
"setFormJson"
@
handleConfirm=
"handleConfirm"
@
onPrev=
"onPrev"
:survivalFlag=
"survivalFlag"
></form-tab>
</
template
>
...
...
@@ -62,6 +68,9 @@ export default {
handleConfirm
(
data
,
done
,
cb
)
{
this
.
addPatient
(
data
,
done
,
cb
)
},
onPrev
(
done
)
{
this
.
prevTab
(
done
)
},
},
created
()
{
// 字典formType 1 筛查表单
...
...
@@ -81,30 +90,27 @@ export default {
// }
// }
},
computed
:{
survivalFlag
(){
if
(
this
.
activeName
==
"
index0
"
&&
this
.
formClass
)
{
computed
:
{
survivalFlag
()
{
if
(
this
.
activeName
==
"
index0
"
&&
this
.
formClass
)
{
return
true
}
else
{
}
else
{
return
false
}
},
showIndex
(){
if
(
this
.
activeName
==
"
index0
"
&&
this
.
formClass
)
{
showIndex
()
{
if
(
this
.
activeName
==
"
index0
"
&&
this
.
formClass
)
{
return
false
}
else
{
}
else
{
return
true
}
}
}
,
},
provide
()
{
return
{
configForms
:
this
configForms
:
this
,
}
},
}
</
script
>
...
...
src/views/screening/components/FormTab.vue
View file @
04610b16
...
...
@@ -49,6 +49,7 @@
@
scrollTop=
"scrollTop"
:options=
"widgetFormPreview"
@
handleConfirm=
"handleConfirm"
@
onPrev=
"onPrev"
:form-edit=
"formData.formEdit"
></custom-form>
</div>
...
...
@@ -427,6 +428,9 @@ export default {
}
)
},
onPrev
(
done
)
{
this
.
$emit
(
"
onPrev
"
,
done
)
},
getPatientDetail
()
{
this
.
$nextTick
(()
=>
{
...
...
src/views/screening/components/mixin.js
View file @
04610b16
...
...
@@ -22,6 +22,23 @@ export default {
},
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
})
{
const
{
formId
,
id
,
silent
}
=
this
.
formTabs
[
index
]
console
.
log
(
'
表单项
'
,
this
.
formTabs
)
...
...
@@ -50,6 +67,7 @@ export default {
})
.
finally
((
e
)
=>
{
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