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
891ffaaf
Commit
891ffaaf
authored
Jan 05, 2023
by
miaojiale
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
联调筛查查询接口
parent
adcc7f5c
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
565 additions
and
200 deletions
+565
-200
Home.js
src/api/Home.js
+41
-0
medicalunion-management.js
src/api/medicalunion-management.js
+8
-0
index.vue
src/components/CustomsTable/index.vue
+5
-6
Form.vue
src/components/DialogComponents/Form.vue
+23
-0
index.vue
src/components/TabComponents/index.vue
+37
-31
index.vue
src/layouts/components/NavBar/index.vue
+61
-33
index.vue
src/layouts/index.vue
+13
-11
table.js
src/store/modules/table.js
+10
-4
vab.scss
src/styles/vab.scss
+1
-3
index.vue
src/views/Home/index.vue
+120
-58
index.vue
src/views/screening/index.vue
+147
-46
index.vue
src/views/systems/medicalunion-management/index.vue
+2
-0
index.vue
src/views/systems/user/index.vue
+97
-8
No files found.
src/api/Home.js
0 → 100644
View file @
891ffaaf
import
request
from
"
@/utils/request
"
/* 首页 */
export
function
addMedicalunion
(
data
=
{})
{
return
request
({
url
:
"
/cloud-upms/sys/union/addOrUpdate
"
,
method
:
"
post
"
,
data
,
})
}
// 医联体授权
export
function
baseUnion
(
data
=
{})
{
return
request
({
url
:
"
/cloud-upms/user/base/union
"
,
method
:
"
post
"
,
data
,
})
}
// 累计上报
export
function
getRankTotal
(
params
=
{})
{
return
request
({
url
:
"
/disease-data/rank/total
"
,
method
:
"
get
"
,
params
,
})
}
//当前季度
export
function
getCurrentQuarter
(
params
=
{})
{
return
request
({
url
:
"
/disease-data/rank/currentQuarter
"
,
method
:
"
get
"
,
params
,
})
}
export
function
deleteUnion
(
id
)
{
return
request
({
url
:
`/cloud-upms/sys/union/
${
id
}
`
,
method
:
"
delete
"
,
})
}
src/api/medicalunion-management.js
View file @
891ffaaf
...
@@ -9,6 +9,14 @@ export function addMedicalunion(data = {}) {
...
@@ -9,6 +9,14 @@ export function addMedicalunion(data = {}) {
data
,
data
,
})
})
}
}
// 医联体授权
export
function
baseUnion
(
data
=
{})
{
return
request
({
url
:
"
/cloud-upms/user/base/union
"
,
method
:
"
post
"
,
data
,
})
}
export
function
medicalunionList
(
params
=
{})
{
export
function
medicalunionList
(
params
=
{})
{
return
request
({
return
request
({
url
:
"
/cloud-upms/sys/union/list
"
,
url
:
"
/cloud-upms/sys/union/list
"
,
...
...
src/components/CustomsTable/index.vue
View file @
891ffaaf
...
@@ -31,13 +31,13 @@
...
@@ -31,13 +31,13 @@
>
>
<!-- 表头插槽 -->
<!-- 表头插槽 -->
<template
slot=
"header"
slot-scope=
"scope"
>
<template
slot=
"header"
slot-scope=
"scope"
>
<span
:style=
"
{ fontSize: fontSize
[fontIndex]
}">
{{
<span
:style=
"
{ fontSize: fontSize
+ 'px'
}">
{{
column
.
label
column
.
label
}}
</span>
}}
</span>
</
template
>
</
template
>
<!-- 表内容插槽 -->
<!-- 表内容插槽 -->
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span
:style=
"
{ fontSize: fontSize
[fontIndex]
}">
<span
:style=
"
{ fontSize: fontSize
+ 'px'
}">
{{
scope
.
row
[
column
.
value
]
||
"
--
"
}}
</span
{{
scope
.
row
[
column
.
value
]
||
"
--
"
}}
</span
>
>
</
template
>
</
template
>
...
@@ -57,7 +57,7 @@
...
@@ -57,7 +57,7 @@
>
>
<!-- 表头插槽 -->
<!-- 表头插槽 -->
<template
slot=
"header"
slot-scope=
"scope"
>
<template
slot=
"header"
slot-scope=
"scope"
>
<span
:style=
"
{ fontSize: fontSize
[fontIndex]
}">
{{
<span
:style=
"
{ fontSize: fontSize
+ 'px'
}">
{{
column
.
label
column
.
label
}}
</span>
}}
</span>
</
template
>
</
template
>
...
@@ -74,7 +74,7 @@
...
@@ -74,7 +74,7 @@
:disabled=
"
:disabled=
"
op.formatter ? op.formatter(scope.row).disabled : false
op.formatter ? op.formatter(scope.row).disabled : false
"
"
:style=
"[
{ fontSize: fontSize
[fontIndex]
}, op.style]"
:style=
"[
{ fontSize: fontSize
+ 'px'
}, op.style]"
:type="
:type="
op.formatter
op.formatter
? op.formatter(scope.row).type
? op.formatter(scope.row).type
...
@@ -183,7 +183,6 @@ export default {
...
@@ -183,7 +183,6 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
fontSize
:
[
"
12px
"
,
"
14px
"
,
"
16px
"
],
httpPrefix
:
httpPrefix
:
process
.
env
.
NODE_ENV
===
"
development
"
process
.
env
.
NODE_ENV
===
"
development
"
?
"
/api
"
?
"
/api
"
...
@@ -192,7 +191,7 @@ export default {
...
@@ -192,7 +191,7 @@ export default {
},
},
computed
:
{
computed
:
{
...
mapGetters
({
...
mapGetters
({
font
Index
:
"
table/fontIndex
"
,
font
Size
:
"
table/fontSize
"
,
}),
}),
totalCounts
()
{
totalCounts
()
{
return
this
.
totalCount
-
0
return
this
.
totalCount
-
0
...
...
src/components/DialogComponents/Form.vue
View file @
891ffaaf
...
@@ -160,8 +160,10 @@
...
@@ -160,8 +160,10 @@
filterable
filterable
remote
remote
reserve-keyword
reserve-keyword
:multiple=
"item.multiple ? true : false"
:placeholder=
"item.placeholder"
:placeholder=
"item.placeholder"
:remote-method=
"item.remoteFunc"
:remote-method=
"item.remoteFunc"
v-el-select-loadmore=
"loadmore"
@
change=
"item.func ? item.func($event) : {}"
@
change=
"item.func ? item.func($event) : {}"
>
>
<el-option
<el-option
...
@@ -332,6 +334,7 @@ export default {
...
@@ -332,6 +334,7 @@ export default {
type
:
Boolean
,
type
:
Boolean
,
default
:
true
,
default
:
true
,
},
},
current
:
Number
,
formData
:
{
formData
:
{
type
:
Array
,
type
:
Array
,
},
},
...
@@ -350,7 +353,27 @@ export default {
...
@@ -350,7 +353,27 @@ export default {
type
:
Array
,
type
:
Array
,
},
},
},
},
directives
:
{
/** 下拉框懒加载 */
"
el-select-loadmore
"
:
{
bind
(
el
,
binding
)
{
const
SELECTWRAP_DOM
=
el
.
querySelector
(
"
.el-select-dropdown .el-select-dropdown__wrap
"
)
SELECTWRAP_DOM
.
addEventListener
(
"
scroll
"
,
function
()
{
const
condition
=
this
.
scrollHeight
-
this
.
scrollTop
<=
this
.
clientHeight
if
(
condition
)
{
binding
.
value
()
}
})
},
},
},
methods
:
{
methods
:
{
loadmore
()
{
this
.
$emit
(
"
loadMore
"
,
this
.
current
+
1
)
},
open
()
{
open
()
{
this
.
visible
=
true
this
.
visible
=
true
},
},
...
...
src/components/TabComponents/index.vue
View file @
891ffaaf
...
@@ -9,7 +9,6 @@
...
@@ -9,7 +9,6 @@
:show-summary=
"showSummary"
:show-summary=
"showSummary"
:span-method=
"spanMethod"
:span-method=
"spanMethod"
:data=
"tableData"
:data=
"tableData"
border
:show-overflow-tooltip=
"true"
:show-overflow-tooltip=
"true"
:highlight-current-row=
"highLight"
:highlight-current-row=
"highLight"
:max-height=
"maxHeight || maxTableHeight"
:max-height=
"maxHeight || maxTableHeight"
...
@@ -17,15 +16,17 @@
...
@@ -17,15 +16,17 @@
:header-row-class-name=
"headerClass"
:header-row-class-name=
"headerClass"
:row-style=
"rowStyle"
:row-style=
"rowStyle"
:expand-row-keys=
"expands"
:expand-row-keys=
"expands"
@
row-click=
"rowClick"
:cell-style=
"cellStyle"
:cell-style=
"cellStyle"
@
sort-change=
"sortChange"
style=
"width: 100%"
style=
"width: 100%"
:default-expand-all=
"defaultExpandAll"
:style=
"
{ fontSize: fontSize + 'px' }"
:header-cell-style="{ fontSize: fontSize + 'px' }"
@row-click="rowClick"
@sort-change="sortChange"
@select="selectChange"
@select="selectChange"
@selection-change="selectionChange"
@selection-change="selectionChange"
@select-all="selectAll"
@select-all="selectAll"
@cell-click="cellClick"
@cell-click="cellClick"
:default-expand-all=
"defaultExpandAll"
>
>
<el-table-column
<el-table-column
v-if=
"tabType"
v-if=
"tabType"
...
@@ -216,6 +217,10 @@
...
@@ -216,6 +217,10 @@
placeholder=
"请选择"
placeholder=
"请选择"
no-data-text=
" "
no-data-text=
" "
no-match-text=
" "
no-match-text=
" "
:disabled=
"disabled"
:remote=
"col2.remote"
:allow-create=
"col2.allowCreate"
:remote-method=
"col2.remoteMethod"
@
change=
"
@
change=
"
col2.enterFunc
col2.enterFunc
? col2.enterFunc(scope.row, scope.$index)
? col2.enterFunc(scope.row, scope.$index)
...
@@ -224,11 +229,7 @@
...
@@ -224,11 +229,7 @@
scope.$index
scope.$index
)
)
"
"
:disabled=
"disabled"
:remote=
"col2.remote"
:allow-create=
"col2.allowCreate"
@
focus=
"changeSelect(scope.row)"
@
focus=
"changeSelect(scope.row)"
:remote-method=
"col2.remoteMethod"
>
>
<el-option
<el-option
v-for=
"item in col2.opts
v-for=
"item in col2.opts
...
@@ -268,8 +269,8 @@
...
@@ -268,8 +269,8 @@
column.tabType === 'selection' &&
column.tabType === 'selection' &&
column.operType === 'checkbox'
column.operType === 'checkbox'
"
"
style=
"margin-left: 4px"
v-model=
"column['checkAll']"
v-model=
"column['checkAll']"
style=
"margin-left: 4px"
@
change=
"handleCheckAllChange($event, column)"
@
change=
"handleCheckAllChange($event, column)"
></el-checkbox>
></el-checkbox>
</
template
>
</
template
>
...
@@ -283,9 +284,9 @@
...
@@ -283,9 +284,9 @@
<template
v-for=
"(op, opIndex) in column.operations"
>
<template
v-for=
"(op, opIndex) in column.operations"
>
<template
v-if=
"!op.isHidden || !op.isHidden(scope.row)"
>
<template
v-if=
"!op.isHidden || !op.isHidden(scope.row)"
>
<el-dropdown
<el-dropdown
size=
"large"
v-if=
"op.type === 'dropdown'"
v-if=
"op.type === 'dropdown'"
:key=
"opIndex"
:key=
"opIndex"
size=
"large"
style=
"margin: 0 10px"
style=
"margin: 0 10px"
trigger=
"click"
trigger=
"click"
>
>
...
@@ -329,12 +330,12 @@
...
@@ -329,12 +330,12 @@
v-else-if=
"op.type === 'switch'"
v-else-if=
"op.type === 'switch'"
:key=
"opIndex"
:key=
"opIndex"
class=
"switch-cell"
class=
"switch-cell"
@
click=
"handleSwitch(scope.row, scope.$index, op)"
:disabled=
"
:disabled=
"
op.formatter
op.formatter
? op.formatter(scope.row).disabled
? op.formatter(scope.row).disabled
: false
: false
"
"
@
click=
"handleSwitch(scope.row, scope.$index, op)"
>
>
<el-switch
<el-switch
v-model=
"scope.row[column.value]"
v-model=
"scope.row[column.value]"
...
@@ -345,8 +346,8 @@
...
@@ -345,8 +346,8 @@
</div>
</div>
<el-button
<el-button
v-else
v-else
:size=
"size"
:key=
"opIndex"
:key=
"opIndex"
:size=
"size"
:disabled=
"
:disabled=
"
op.formatter
op.formatter
? op.formatter(scope.row).disabled
? op.formatter(scope.row).disabled
...
@@ -531,19 +532,19 @@
...
@@ -531,19 +532,19 @@
no-data-text=
" "
no-data-text=
" "
no-match-text=
" "
no-match-text=
" "
:disabled=
"disabled"
:disabled=
"disabled"
:remote=
"column.remote"
:allow-create=
"column.allowCreate"
:remote-method=
"column.remoteMethod"
@
change=
"
@
change=
"
column.enterFunc
column.enterFunc
? column.enterFunc(scope.row, scope.$index)
? column.enterFunc(scope.row, scope.$index)
: changeProject(scope.row[column.value], scope.$index)
: changeProject(scope.row[column.value], scope.$index)
"
"
:remote=
"column.remote"
:allow-create=
"column.allowCreate"
@
focus=
"
@
focus=
"
column.focusFunc
column.focusFunc
? column.focusFunc(scope.row, scope.$index)
? column.focusFunc(scope.row, scope.$index)
:
{}
:
{}
"
"
:remote-method="column.remoteMethod"
>
>
<el-option
<el-option
v-for=
"item in column.opts
v-for=
"item in column.opts
...
@@ -671,8 +672,8 @@
...
@@ -671,8 +672,8 @@
<!-- html -->
<!-- html -->
<
template
v-if=
"column.type === 'html'"
>
<
template
v-if=
"column.type === 'html'"
>
<div
<div
v-html=
"scope.row[column.value]"
class=
"highlight"
class=
"highlight"
v-html=
"scope.row[column.value]"
></div>
></div>
</
template
>
</
template
>
<!-- 展开列表 -->
<!-- 展开列表 -->
...
@@ -684,14 +685,14 @@
...
@@ -684,14 +685,14 @@
>
>
<template
v-for=
"(expand, index) in column.expandColumns"
>
<template
v-for=
"(expand, index) in column.expandColumns"
>
<el-form-item
<el-form-item
:label=
"`【$
{expand.label}】`"
:key="index"
v-if=
"!expand.hidden"
v-if=
"!expand.hidden"
:key=
"index"
:label=
"`【$
{expand.label}】`"
>
>
<!-- 字体高亮 -->
<!-- 字体高亮 -->
<div
<div
class=
"el-alert el-alert--info is-light"
v-if=
"scope.row[expand.value]"
v-if=
"scope.row[expand.value]"
class=
"el-alert el-alert--info is-light"
>
>
<div
<div
class=
"el-alert__content highlight"
class=
"el-alert__content highlight"
...
@@ -726,8 +727,20 @@
...
@@ -726,8 +727,20 @@
<
script
>
<
script
>
import
resize
from
"
./resize.js
"
import
resize
from
"
./resize.js
"
import
{
mapGetters
}
from
"
vuex
"
export
default
{
export
default
{
name
:
"
ElTableSelf
"
,
name
:
"
ElTableSelf
"
,
// filters: {
// statusFilter(status) {
// const typeMap = ['warm', 'success', 'danger']
// return typeMap[status]
// },
// statusFilter2(status) {
// const typeMap = ['danger', 'success']
// return typeMap[status]
// }
// },
mixins
:
[
resize
],
props
:
{
props
:
{
listLoading
:
Boolean
,
// tab 加载层
listLoading
:
Boolean
,
// tab 加载层
...
@@ -761,21 +774,13 @@ export default {
...
@@ -761,21 +774,13 @@ export default {
rowStyle
:
Function
,
rowStyle
:
Function
,
defaultExpandAll
:
Boolean
,
defaultExpandAll
:
Boolean
,
},
},
// filters: {
// statusFilter(status) {
// const typeMap = ['warm', 'success', 'danger']
// return typeMap[status]
// },
// statusFilter2(status) {
// const typeMap = ['danger', 'success']
// return typeMap[status]
// }
// },
mixins
:
[
resize
],
computed
:
{
computed
:
{
totalCounts
()
{
totalCounts
()
{
return
this
.
totalCount
-
0
return
this
.
totalCount
-
0
},
},
...
mapGetters
({
fontSize
:
"
table/fontSize
"
,
}),
},
},
methods
:
{
methods
:
{
// switch点击
// switch点击
...
@@ -857,6 +862,7 @@ export default {
...
@@ -857,6 +862,7 @@ export default {
}
}
}
}
.el-table-self
{
.el-table-self
{
border
:
1px
solid
#f6f6f6
;
margin-top
:
20px
;
margin-top
:
20px
;
.tab-svg
{
.tab-svg
{
width
:
24px
;
width
:
24px
;
...
@@ -930,7 +936,7 @@ export default {
...
@@ -930,7 +936,7 @@ export default {
::v-deep
.default
{
::v-deep
.default
{
th
{
th
{
background-color
:
#
eef5fd
!
important
;
background-color
:
#
f6f6f6
!
important
;
color
:
#586276
;
color
:
#586276
;
}
}
}
}
...
...
src/layouts/components/NavBar/index.vue
View file @
891ffaaf
...
@@ -11,16 +11,22 @@
...
@@ -11,16 +11,22 @@
<div
<div
v-for=
"(item, index) in fontList"
v-for=
"(item, index) in fontList"
:key=
"index"
:key=
"index"
:class=
"['font', index == fontIndex ? 'active' : '']
"
class=
"font
"
@
click=
"changeFont(index)"
@
click=
"changeFont(index)"
>
>
<div
class=
"label"
>
{{
item
.
label
}}
</div>
<div
class=
"label"
>
{{
item
.
label
}}
</div>
</div>
</div>
</div>
</div>
<div
v-show=
"curSelectedIndex != -1"
class=
"community"
@
click=
"openModalFlag"
>
<div
v-show=
"curSelectedIndex != -1"
class=
"community"
@
click=
"openModalFlag"
>
<img
src=
"~@/assets/img/DataCenter/shift.png"
alt
/>
<img
src=
"~@/assets/img/DataCenter/shift.png"
alt
/>
{{
{{
curSelectedIndex
!=
-
1
?
screeningList
[
curSelectedIndex
].
title
:
""
curSelectedIndex
!=
-
1
?
screeningList
[
curSelectedIndex
-
1
].
title
:
""
}}
}}
</div>
</div>
...
@@ -28,13 +34,22 @@
...
@@ -28,13 +34,22 @@
<img
src=
"~@/assets/img/DataCenter/user.png"
alt
/>
<img
src=
"~@/assets/img/DataCenter/user.png"
alt
/>
<avatar></avatar>
<avatar></avatar>
</div>
</div>
<el-popover
placement=
"top-start"
width=
"200"
trigger=
"click"
popper-class=
"message-pop"
>
<el-popover
<div
v-for=
"(item,index) in messageList"
:key=
"index"
class=
"message-box mb-24"
>
placement=
"top-start"
width=
"200"
trigger=
"click"
popper-class=
"message-pop"
>
<div
v-for=
"(item, index) in messageList"
:key=
"index"
class=
"message-box mb-24"
>
<div
class=
"top-box mb-12"
>
<div
class=
"top-box mb-12"
>
<span
class=
"blue-dot mt-5 mr-8"
></span>
<span
class=
"blue-dot mt-5 mr-8"
></span>
<span
class=
"top-text"
>
{{
item
.
date
}}
</span>
<span
class=
"top-text"
>
{{
item
.
date
}}
</span>
</div>
</div>
<div
class=
"main-text ml-8"
>
{{
item
.
message
}}
</div>
<div
class=
"main-text ml-8"
>
{{
item
.
message
}}
</div>
</div>
</div>
<template
slot=
"reference"
>
<template
slot=
"reference"
>
<el-badge
:value=
"messageCount"
:class-name=
"'badge'"
>
<el-badge
:value=
"messageCount"
:class-name=
"'badge'"
>
...
@@ -71,8 +86,8 @@ export default {
...
@@ -71,8 +86,8 @@ export default {
},
},
props
:
{
props
:
{
curSelectedIndex
:
{
curSelectedIndex
:
{
type
:
Number
,
type
:
String
,
default
:
-
1
,
default
:
""
,
},
},
},
},
data
()
{
data
()
{
...
@@ -95,21 +110,21 @@ export default {
...
@@ -95,21 +110,21 @@ export default {
},
},
],
],
fontList
:
[
fontList
:
[
{
fontSize
:
"
12px
"
,
label
:
"
A-
"
},
{
fontSize
:
"
-
"
,
label
:
"
A-
"
},
{
fontSize
:
"
14px
"
,
label
:
"
A
"
},
{
fontSize
:
14
,
label
:
"
A
"
},
{
fontSize
:
"
16px
"
,
label
:
"
A+
"
},
{
fontSize
:
"
+
"
,
label
:
"
A+
"
},
],
],
font
Index
:
localStorage
.
getItem
(
"
fontIndex
"
)
||
1
,
font
Size
:
localStorage
.
getItem
(
"
fontSize
"
)
-
0
||
14
,
messageList
:[
messageList
:
[
{
{
date
:
"
2022-12-12
"
,
date
:
"
2022-12-12
"
,
message
:
"
驳回修改病例【6条】
"
message
:
"
驳回修改病例【6条】
"
,
},
},
{
{
date
:
"
2022-12-12
"
,
date
:
"
2022-12-12
"
,
message
:
"
驳回修改病例【6条】
"
message
:
"
驳回修改病例【6条】
"
,
},
},
]
]
,
}
}
},
},
computed
:
{
computed
:
{
...
@@ -141,9 +156,22 @@ export default {
...
@@ -141,9 +156,22 @@ export default {
this
.
$emit
(
"
openModalFlag
"
)
this
.
$emit
(
"
openModalFlag
"
)
},
},
changeFont
(
i
)
{
changeFont
(
i
)
{
this
.
fontIndex
=
i
let
fontSize
=
this
.
fontList
[
i
].
fontSize
this
.
$store
.
commit
(
"
table/setFontIndex
"
,
i
)
if
(
fontSize
==
"
-
"
)
{
localStorage
.
setItem
(
"
fontIndex
"
,
i
)
if
(
this
.
fontSize
>
12
)
{
this
.
fontSize
=
this
.
fontSize
-
2
}
}
else
if
(
fontSize
==
"
+
"
)
{
if
(
this
.
fontSize
<
18
)
{
this
.
fontSize
=
this
.
fontSize
+
2
}
}
else
{
this
.
fontSize
=
14
}
// this.fontIndex = i
this
.
$store
.
commit
(
"
table/setFontSize
"
,
this
.
fontSize
)
localStorage
.
setItem
(
"
fontSize
"
,
this
.
fontSize
)
console
.
log
(
this
.
fontSize
)
},
},
},
},
}
}
...
@@ -207,16 +235,16 @@ export default {
...
@@ -207,16 +235,16 @@ export default {
line-height
:
40px
;
line-height
:
40px
;
cursor
:
pointer
;
cursor
:
pointer
;
margin-left
:
20px
;
margin-left
:
20px
;
}
&
:active
{
.active
{
box-sizing
:
border-box
;
box-sizing
:
border-box
;
background
:
#ffffff
;
background
:
#ffffff
;
height
:
40px
;
height
:
40px
;
color
:
#4e68ff
;
color
:
#4e68ff
;
padding
:
1px
;
padding
:
1px
;
.label
{
.label
{
height
:
36px
;
height
:
36px
;
border
:
1px
solid
#4e68ff
;
border
:
1px
solid
#4e68ff
;
}
}
}
}
}
}
}
...
@@ -289,4 +317,4 @@ export default {
...
@@ -289,4 +317,4 @@ export default {
display
:
none
;
display
:
none
;
}
}
}
}
</
style
>
</
style
>
\ No newline at end of file
src/layouts/index.vue
View file @
891ffaaf
...
@@ -58,18 +58,18 @@
...
@@ -58,18 +58,18 @@
<li
<li
v-for=
"(item, index) in screeningList"
v-for=
"(item, index) in screeningList"
:key=
"index"
:key=
"index"
@
click=
"selectedIndex = i
ndex
"
@
click=
"selectedIndex = i
tem.value
"
>
>
<div
class=
"screeningItem"
>
<div
class=
"screeningItem"
>
<div
class=
"circle"
>
<div
class=
"circle"
>
<img
<img
v-if=
"selectedIndex !== i
ndex
"
v-if=
"selectedIndex !== i
tem.value
"
src=
"~@/assets/img/DataCenter/circle.png"
src=
"~@/assets/img/DataCenter/circle.png"
alt
alt
srcset
srcset
/>
/>
<img
<img
v-if=
"selectedIndex == i
ndex
"
v-if=
"selectedIndex == i
tem.value
"
src=
"~@/assets/img/DataCenter/selected.png"
src=
"~@/assets/img/DataCenter/selected.png"
alt
alt
srcset
srcset
...
@@ -122,18 +122,21 @@ export default {
...
@@ -122,18 +122,21 @@ export default {
screeningList
:
[
screeningList
:
[
{
{
title
:
"
社区筛查
"
,
title
:
"
社区筛查
"
,
value
:
"
1
"
,
src
:
require
(
"
@/assets/img/DataCenter/shequ.png
"
),
src
:
require
(
"
@/assets/img/DataCenter/shequ.png
"
),
},
},
{
{
title
:
"
医院筛查
"
,
title
:
"
医院筛查
"
,
value
:
"
2
"
,
src
:
require
(
"
@/assets/img/DataCenter/yiyuan.png
"
),
src
:
require
(
"
@/assets/img/DataCenter/yiyuan.png
"
),
},
},
{
{
title
:
"
体检筛查
"
,
title
:
"
体检筛查
"
,
value
:
"
3
"
,
src
:
require
(
"
@/assets/img/DataCenter/tijian.png
"
),
src
:
require
(
"
@/assets/img/DataCenter/tijian.png
"
),
},
},
],
],
selectedIndex
:
0
,
selectedIndex
:
"
1
"
,
curSelectedIndex
:
""
,
curSelectedIndex
:
""
,
}
}
},
},
...
@@ -144,6 +147,7 @@ export default {
...
@@ -144,6 +147,7 @@ export default {
collapse
:
"
settings/collapse
"
,
collapse
:
"
settings/collapse
"
,
header
:
"
settings/header
"
,
header
:
"
settings/header
"
,
device
:
"
settings/device
"
,
device
:
"
settings/device
"
,
// selectedIndex: "table/selectedIndex",
}),
}),
classObj
()
{
classObj
()
{
return
{
return
{
...
@@ -153,19 +157,17 @@ export default {
...
@@ -153,19 +157,17 @@ export default {
},
},
created
()
{
created
()
{
this
.
selectedIndex
=
localStorage
.
getItem
(
"
selectedIndex
"
)
||
""
this
.
selectedIndex
=
localStorage
.
getItem
(
"
selectedIndex
"
)
||
""
this
.
curSelectedIndex
=
String
(
this
.
selectedIndex
)
this
.
curSelectedIndex
=
String
(
this
.
selectedIndex
)
?
this
.
selectedIndex
:
""
?
this
.
selectedIndex
-
0
:
-
1
},
},
mounted
()
{
mounted
()
{
if
(
!
this
.
selectedIndex
)
{
if
(
!
this
.
selectedIndex
)
{
this
.
modalFlag
=
true
this
.
modalFlag
=
true
this
.
selectedIndex
=
0
this
.
selectedIndex
=
"
1
"
}
else
{
}
else
{
this
.
selectedIndex
=
this
.
selectedIndex
-
0
this
.
selectedIndex
=
this
.
selectedIndex
this
.
curSelectedIndex
=
String
(
this
.
selectedIndex
)
this
.
curSelectedIndex
=
String
(
this
.
selectedIndex
)
?
this
.
selectedIndex
?
this
.
selectedIndex
:
-
1
:
""
}
}
// console.log(this.curSelectedIndex)
// console.log(this.curSelectedIndex)
...
@@ -187,7 +189,7 @@ export default {
...
@@ -187,7 +189,7 @@ export default {
setSelectedIndex
()
{
setSelectedIndex
()
{
console
.
log
(
this
.
selectedIndex
)
console
.
log
(
this
.
selectedIndex
)
this
.
curSelectedIndex
=
this
.
selectedIndex
this
.
curSelectedIndex
=
this
.
selectedIndex
localStorage
.
setItem
(
"
s
electedIndex
"
,
this
.
selectedIndex
)
this
.
$store
.
commit
(
"
table/setS
electedIndex
"
,
this
.
selectedIndex
)
this
.
modalFlag
=
false
this
.
modalFlag
=
false
},
},
openModalFlag
()
{
openModalFlag
()
{
...
...
src/store/modules/table.js
View file @
891ffaaf
const
state
=
{
const
state
=
{
fontIndex
:
localStorage
.
getItem
(
"
fontIndex
"
)
||
1
,
fontSize
:
localStorage
.
getItem
(
"
fontSize
"
)
||
1
,
selectedIndex
:
localStorage
.
getItem
(
"
selectedIndex
"
)
||
""
,
}
}
const
getters
=
{
const
getters
=
{
fontIndex
:
(
state
)
=>
state
.
fontIndex
,
fontSize
:
(
state
)
=>
state
.
fontSize
,
selectedIndex
:
(
state
)
=>
state
.
selectedIndex
,
}
}
const
mutations
=
{
const
mutations
=
{
setFontIndex
(
state
,
fontIndex
)
{
setFontSize
(
state
,
fontSize
)
{
state
.
fontIndex
=
fontIndex
state
.
fontSize
=
fontSize
},
setSelectedIndex
(
state
,
selectedIndex
)
{
state
.
selectedIndex
=
selectedIndex
localStorage
.
setItem
(
"
selectedIndex
"
,
selectedIndex
)
},
},
}
}
const
actions
=
{}
const
actions
=
{}
...
...
src/styles/vab.scss
View file @
891ffaaf
...
@@ -184,7 +184,7 @@ html {
...
@@ -184,7 +184,7 @@ html {
.cell
{
.cell
{
overflow
:
hidden
;
overflow
:
hidden
;
font-size
:
$base-font-size-default
;
//
font-size: $base-font-size-default;
font-weight
:
normal
;
font-weight
:
normal
;
color
:
#606266
;
color
:
#606266
;
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
...
@@ -345,7 +345,6 @@ html {
...
@@ -345,7 +345,6 @@ html {
}
}
}
}
.flex
{
.flex
{
display
:
flex
;
display
:
flex
;
}
}
...
@@ -374,4 +373,3 @@ html {
...
@@ -374,4 +373,3 @@ html {
.fr
{
.fr
{
float
:
right
;
float
:
right
;
}
}
src/views/Home/index.vue
View file @
891ffaaf
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
<div
class=
"left box"
>
<div
class=
"left box"
>
<video
:src=
"videoSrc"
controls
class=
"video"
/>
<video
:src=
"videoSrc"
controls
class=
"video"
/>
</div>
</div>
<!-- 新闻会议tab -->
<div
class=
"right box tabbox"
>
<div
class=
"right box tabbox"
>
<el-tabs
v-model=
"curTab"
>
<el-tabs
v-model=
"curTab"
>
<el-tab-pane
<el-tab-pane
...
@@ -29,16 +30,39 @@
...
@@ -29,16 +30,39 @@
</div>
</div>
<!-- 数据分析 -->
<!-- 数据分析 -->
<div
class=
"dataAnalysis"
>
<div
class=
"dataAnalysis"
>
<div
class=
"title_box"
>
<div
class=
"title"
>
数据分析
</div>
<div
class=
"empty"
></div>
</div>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"left box cenbox"
>
<div
class=
"left box cenbox"
>
<div
class=
"box_title text-center"
>
联盟地图
</div>
<div
class=
"box_title text-center"
>
联盟地图
</div>
<img
class=
"map"
src=
"~@/assets/img/Home/map.png"
alt=
""
/>
<img
class=
"map"
src=
"~@/assets/img/Home/map.png"
alt=
""
/>
</div>
</div>
<div
class=
"right box cenbox cenboxs"
style=
"background: transparent"
>
<div
class=
"right box tabbox"
>
<el-tabs
v-model=
"exTab"
>
<el-tab-pane
v-for=
"(e, index) in example"
:key=
"index"
:label=
"e.title"
:name=
"e.title"
>
<ul
class=
"tabslist"
style=
"height: 100%"
>
<li
v-for=
"(item, index) in exampleList"
:key=
"index"
>
<div
class=
"left"
>
<div
class=
"circle"
></div>
{{
item
.
title
}}
</div>
<div
class=
"right"
>
{{
item
.
date
}}
</div>
</li>
</ul>
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
<!-- 健康科普 -->
<div
class=
"dataAnalysis"
>
<div
class=
"flex"
style=
"margin-bottom: 0px"
>
<div
class=
"left box cenbox cenboxs"
style=
"background: transparent"
>
<div
class=
"range"
>
<div
class=
"range"
>
<div
class=
"box_title text-center"
>
累计上报量机构排名
</div>
<div
class=
"box_title text-center"
>
累计上报量机构排名
</div>
<div
class=
"rangecontent"
>
<div
class=
"rangecontent"
>
...
@@ -50,8 +74,8 @@
...
@@ -50,8 +74,8 @@
:style=
"
{ color: index
<
3
?
'
#4E68FF
'
:
'
#333333
'
}"
:style=
"
{ color: index
<
3
?
'
#4E68FF
'
:
'
#333333
'
}"
>
>
<div>
{{
index
+
1
}}
</div>
<div>
{{
index
+
1
}}
</div>
<div>
{{
item
.
n
ame
}}
</div>
<div>
{{
item
.
unionN
ame
}}
</div>
<div>
{{
item
.
value
}}
</div>
<div>
{{
item
.
nums
}}
</div>
</li>
</li>
</ul>
</ul>
</div>
</div>
...
@@ -62,42 +86,48 @@
...
@@ -62,42 +86,48 @@
<div
class=
"top10"
></div>
<div
class=
"top10"
></div>
<ul
class=
"rangeList"
>
<ul
class=
"rangeList"
>
<li
<li
v-for=
"(item, index) in
range
List"
v-for=
"(item, index) in
curQuarter
List"
:key=
"index"
:key=
"index"
:style=
"
{ color: index
<
3
?
'
#4E68FF
'
:
'
#333333
'
}"
:style=
"
{ color: index
<
3
?
'
#4E68FF
'
:
'
#333333
'
}"
>
>
<div>
{{
index
+
1
}}
</div>
<div>
{{
index
+
1
}}
</div>
<div>
{{
item
.
n
ame
}}
</div>
<div>
{{
item
.
unionN
ame
}}
</div>
<div>
{{
item
.
value
}}
</div>
<div>
{{
item
.
nums
}}
</div>
</li>
</li>
</ul>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
</div>
class=
"right box tabbox"
<!-- 健康科普 -->
style=
"background: transparent; padding-top: 0px"
<div
class=
"healthPopularization"
>
<div
class=
"title_box"
>
<div
class=
"title"
>
健康科普
</div>
<div
class=
"empty"
></div>
</div>
<ul
class=
"typeList"
>
<li
v-for=
"(item, index) in typeList"
:key=
"index"
:style=
"
{ backgroundImage: 'url(' + item.src + ')' }"
@click="
$router.push({
path: '/healthpopularization',
query: { tabIndex: index },
})
"
>
>
{{
item
.
name
}}
<!-- 健康科普 -->
</li>
<div
class=
"healthPopularization"
>
</ul>
<div
class=
"title_box"
>
<div
class=
"title"
>
健康科普
</div>
<div
class=
"empty"
></div>
</div>
<ul
class=
"typeList"
>
<li
v-for=
"(item, index) in typeList"
:key=
"index"
:style=
"
{ backgroundImage: 'url(' + item.src + ')' }"
@click="
$router.push({
path: '/healthpopularization',
query: { tabIndex: index },
})
"
>
{{
item
.
name
}}
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- 科学研究 -->
<!-- 科学研究 -->
<div
class=
"scientificresearch"
>
<div
class=
"scientificresearch"
>
<div
class=
"title_box"
>
<div
class=
"title_box"
>
...
@@ -133,11 +163,28 @@
...
@@ -133,11 +163,28 @@
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
getRankTotal
,
getCurrentQuarter
}
from
"
@/api/Home
"
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
// videoSrc: require("../../../public/aaa.mp4"),
// videoSrc: require("../../../public/aaa.mp4"),
videoSrc
:
""
,
videoSrc
:
""
,
exTab
:
"
浙江省典型案例
"
,
example
:
[
{
title
:
"
浙江省典型案例
"
,
},
],
exampleList
:
[
{
title
:
"
典型案例小标题典型案例小标题
"
,
date
:
"
2022-09-26
"
,
},
{
title
:
"
典型案例小标题典型案例小标题
"
,
date
:
"
2022-09-26
"
,
},
],
tabList
:
[
tabList
:
[
{
{
title
:
"
新闻会议
"
,
title
:
"
新闻会议
"
,
...
@@ -188,18 +235,8 @@ export default {
...
@@ -188,18 +235,8 @@ export default {
},
},
],
],
curTab
:
"
新闻会议
"
,
curTab
:
"
新闻会议
"
,
rangeList
:
[
rangeList
:
[],
// 上报排名
{
name
:
"
包头医学院第二附属医院
"
,
value
:
12345
},
curQuarterList
:
[],
//当前季度排名
{
name
:
"
温州市中心医院
"
,
value
:
222
},
{
name
:
"
南方医科大学南海医院
"
,
value
:
12345
},
{
name
:
"
包头医学院第二附属医院
"
,
value
:
12345
},
{
name
:
"
包头医学院第二附属医院
"
,
value
:
12345
},
{
name
:
"
包头医学院第二附属医院
"
,
value
:
12345
},
{
name
:
"
包头医学院第二附属医院
"
,
value
:
12345
},
{
name
:
"
包头医学院第二附属医院
"
,
value
:
12345
},
{
name
:
"
包头医学院第二附属医院
"
,
value
:
12345
},
{
name
:
"
包头医学院第二附属医院
"
,
value
:
12345
},
],
typeList
:
[
typeList
:
[
{
{
src
:
require
(
"
@/assets/img/Home/shaicha.png
"
),
src
:
require
(
"
@/assets/img/Home/shaicha.png
"
),
...
@@ -239,19 +276,39 @@ export default {
...
@@ -239,19 +276,39 @@ export default {
},
},
watch
:
{},
watch
:
{},
mounted
()
{
mounted
()
{
console
.
log
(
document
.
querySelector
(
"
#vue-admin-beautiful
"
))
this
.
getRankTotal
()
document
this
.
getCurrentQuarter
()
.
querySelector
(
"
#vue-admin-beautiful
"
)
// console.log(document.querySelector("#vue-admin-beautiful"))
.
addEventListener
(
"
scroll
"
,
()
=>
{
this
.
$nextTick
(()
=>
{
let
scrollTop
=
document
.
querySelector
(
"
#vue-admin-beautiful
"
).
scrollTop
document
if
(
scrollTop
>=
700
)
{
.
querySelector
(
"
#vue-admin-beautiful
"
)
this
.
showFixed
=
true
.
addEventListener
(
"
scroll
"
,
()
=>
{
}
else
{
let
scrollTop
=
document
.
querySelector
(
"
#vue-admin-beautiful
"
)
this
.
showFixed
=
false
.
scrollTop
if
(
scrollTop
>=
700
)
{
this
.
showFixed
=
true
}
else
{
this
.
showFixed
=
false
}
})
})
},
methods
:
{
getRankTotal
()
{
getRankTotal
().
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
this
.
rangeList
=
res
.
data
}
})
},
getCurrentQuarter
()
{
getCurrentQuarter
().
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
this
.
curQuarterList
=
res
.
data
}
}
})
})
},
},
},
methods
:
{},
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
...
@@ -262,7 +319,7 @@ export default {
...
@@ -262,7 +319,7 @@ export default {
margin-bottom
:
38px
;
margin-bottom
:
38px
;
.box
{
.box
{
width
:
48%
;
width
:
48%
;
height
:
300px
;
//
height: 300px;
// background: blue;
// background: blue;
background
:
#fff
;
background
:
#fff
;
.video
{
.video
{
...
@@ -277,7 +334,11 @@ export default {
...
@@ -277,7 +334,11 @@ export default {
.tabslist
{
.tabslist
{
height
:
220px
;
height
:
220px
;
padding-right
:
8px
;
padding-right
:
8px
;
overflow
:
auto
;
overflow
:
hidden
;
&
:hover
{
overflow
:
overlay
;
}
li
{
li
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
...
@@ -371,13 +432,14 @@ export default {
...
@@ -371,13 +432,14 @@ export default {
}
}
}
}
.healthPopularization
{
.healthPopularization
{
margin-bottom
:
38px
;
.typeList
{
.typeList
{
display
:
flex
;
display
:
flex
;
flex-wrap
:
wrap
;
justify-content
:
space-between
;
justify-content
:
space-between
;
li
{
li
{
cursor
:
pointer
;
cursor
:
pointer
;
width
:
22%
;
width
:
43%
;
margin-bottom
:
24px
;
height
:
188px
;
height
:
188px
;
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
...
...
src/views/screening/index.vue
View file @
891ffaaf
...
@@ -42,6 +42,7 @@
...
@@ -42,6 +42,7 @@
import
paginationMixin
from
"
@/components/TabComponents/mixin
"
import
paginationMixin
from
"
@/components/TabComponents/mixin
"
import
{
getPatientPage
}
from
"
@/api/patient.js
"
import
{
getPatientPage
}
from
"
@/api/patient.js
"
import
ConfigForms
from
"
./components/ConfigForms.vue
"
import
ConfigForms
from
"
./components/ConfigForms.vue
"
import
{
mapGetters
}
from
"
vuex
"
export
default
{
export
default
{
name
:
"
ScreeningIndex
"
,
name
:
"
ScreeningIndex
"
,
mixins
:
[
paginationMixin
],
mixins
:
[
paginationMixin
],
...
@@ -55,73 +56,149 @@ export default {
...
@@ -55,73 +56,149 @@ export default {
cacheForm
:
{},
cacheForm
:
{},
searchList
:
[
searchList
:
[
{
{
type
:
"
input
"
,
type
:
"
date
"
,
label
:
"
姓名
"
,
label
:
"
筛查时间
"
,
prop
:
"
patientName
"
,
prop
:
"
createTime
"
,
placeholder
:
"
请选择时间
"
,
valueFormat
:
"
yyyy-MM-dd
"
,
},
{
label
:
"
筛查审核状态
"
,
type
:
"
select
"
,
prop
:
"
checkStatus
"
,
opts
:
[
{
label
:
"
待审核
"
,
value
:
"
1
"
},
{
label
:
"
驳回修改
"
,
value
:
"
2
"
},
{
label
:
"
合格
"
,
value
:
"
3
"
},
{
label
:
"
不合格
"
,
value
:
"
4
"
},
],
},
{
label
:
"
风险评估结果
"
,
type
:
"
select
"
,
prop
:
"
riskRank
"
,
opts
:
[
{
label
:
"
低危
"
,
value
:
"
c
"
},
{
label
:
"
中危
"
,
value
:
"
b
"
},
{
label
:
"
高危
"
,
value
:
"
a
"
},
],
},
},
{
{
label
:
"
性别
"
,
label
:
"
性别
"
,
type
:
"
select
"
,
type
:
"
select
"
,
prop
:
"
gender
"
,
prop
:
"
sex
"
,
optsFormatter
:
()
=>
{
optsFormatter
:
()
=>
{
return
this
.
dictMap
&&
this
.
dictMap
[
"
d-sex
"
]
return
this
.
dictMap
&&
this
.
dictMap
[
"
d-sex
"
]
},
},
},
},
{
{
type
:
"
daterange
"
,
type
:
"
input
"
,
dateType
:
"
datetimerange
"
,
label
:
"
关键词
"
,
label
:
"
创建时间
"
,
placeholder
:
"
请输入医联体/姓名/身份证
"
,
prop
:
"
CreateTime
"
,
prop
:
"
keyParam
"
,
valueFormat
:
"
yyyy-MM-dd HH:mm:ss
"
,
},
{
type
:
"
daterange
"
,
dateType
:
"
datetimerange
"
,
label
:
"
保存时间
"
,
prop
:
"
Time
"
,
valueFormat
:
"
yyyy-MM-dd HH:mm:ss
"
,
},
},
{
{
type
:
"
button
"
,
type
:
"
button
"
,
icon
:
"
el-icon-search
"
,
value
:
"
查询
"
,
value
:
"
搜索
"
,
},
},
],
],
columns
:
[
columns
:
[
{
{
label
:
"
姓名
"
,
label
:
"
医联体
"
,
minWidth
:
120
,
minWidth
:
120
,
value
:
"
hzxx_xm
"
,
value
:
"
unionName
"
,
formatter
:
(
row
)
=>
{
return
row
.
unionName
?
row
.
unionName
:
"
--
"
},
},
},
{
{
label
:
"
出生日期
"
,
label
:
"
姓名
"
,
minWidth
:
120
,
minWidth
:
120
,
value
:
"
hzxx_csrq
"
,
formatter
:
(
row
)
=>
{
return
row
.
name
?
row
.
name
:
"
--
"
},
value
:
"
name
"
,
},
},
{
{
label
:
"
性别
"
,
label
:
"
性别
"
,
minWidth
:
80
,
minWidth
:
80
,
value
:
"
hzxx_xb
"
,
value
:
"
sex
"
,
formatter
:
(
row
)
=>
{
formatter
:
(
row
)
=>
{
return
this
.
$handle
.
formatDicList
(
return
row
.
sex
this
.
dictMap
[
"
d-sex
"
],
?
this
.
$handle
.
formatDicList
(
this
.
dictMap
[
"
d-sex
"
],
row
.
sex
+
""
)
row
.
hzxx_xb
:
"
--
"
)
},
},
},
},
{
{
label
:
"
创建时间
"
,
label
:
"
身份证
"
,
minWidth
:
180
,
minWidth
:
120
,
sortable
:
"
custom
"
,
value
:
"
idCard
"
,
value
:
"
create_time
"
,
formatter
:
(
row
)
=>
{
return
row
.
idCard
?
row
.
idCard
:
"
--
"
},
},
{
label
:
"
年龄
"
,
minWidth
:
120
,
value
:
"
age
"
,
formatter
:
(
row
)
=>
{
return
row
.
age
?
row
.
age
:
"
--
"
},
},
},
{
{
label
:
"
保存
时间
"
,
label
:
"
筛查
时间
"
,
minWidth
:
180
,
minWidth
:
180
,
sortable
:
"
custom
"
,
// sortable: "custom",
value
:
"
update_time
"
,
value
:
"
createTime
"
,
formatter
:
(
row
)
=>
{
return
row
.
createTime
?
row
.
createTime
:
"
--
"
},
},
{
label
:
"
风险评估结果
"
,
minWidth
:
120
,
value
:
"
riskRank
"
,
formatter
:
(
row
)
=>
{
return
row
.
riskRank
?
row
.
riskRank
:
"
--
"
},
},
{
label
:
"
是否内镜
"
,
minWidth
:
120
,
value
:
"
isInnerCheck
"
,
formatter
:
(
row
)
=>
{
let
arr
=
[
{
label
:
"
否
"
,
value
:
"
0
"
},
{
label
:
"
是
"
,
value
:
"
1
"
},
]
let
label
if
(
String
(
row
.
isInnerCheck
))
{
label
=
arr
.
filter
((
e
)
=>
e
.
value
==
row
.
isInnerCheck
)[
0
].
label
}
else
{
label
=
"
--
"
}
return
label
},
},
{
label
:
"
筛查审核状态
"
,
minWidth
:
120
,
value
:
"
checkStatus
"
,
formatter
:
(
row
)
=>
{
let
arr
=
[
{
label
:
"
待审核
"
,
value
:
"
1
"
},
{
label
:
"
驳回修改
"
,
value
:
"
2
"
},
{
label
:
"
合格
"
,
value
:
"
3
"
},
{
label
:
"
不合格
"
,
value
:
"
4
"
},
]
let
label
if
(
row
.
checkStatus
)
{
label
=
arr
.
filter
((
e
)
=>
e
.
value
==
row
.
checkStatus
)[
0
].
label
}
else
{
label
=
"
--
"
}
return
label
},
},
},
{
{
label
:
"
操作
"
,
label
:
"
操作
"
,
...
@@ -141,15 +218,26 @@ export default {
...
@@ -141,15 +218,26 @@ export default {
{
{
func
:
this
.
handleAdd
,
func
:
this
.
handleAdd
,
formatter
(
row
)
{
formatter
(
row
)
{
return
{
if
(
row
.
checkStatus
!=
3
&&
row
.
checkStatus
!=
4
)
{
label
:
"
修改
"
,
return
{
type
:
"
text
"
,
label
:
"
修改
"
,
type
:
"
text
"
,
}
}
else
{
return
{
label
:
""
,
type
:
"
text
"
,
style
:
{
display
:
"
none
"
,
},
}
}
}
},
},
},
},
],
],
},
},
],
],
searchForm
:
{},
}
}
},
},
methods
:
{
methods
:
{
...
@@ -170,6 +258,7 @@ export default {
...
@@ -170,6 +258,7 @@ export default {
},
},
// 查询
// 查询
handleFormSearch
(
form
)
{
handleFormSearch
(
form
)
{
this
.
searchForm
=
form
this
.
pageIndex
=
1
this
.
pageIndex
=
1
this
.
handleSearch
(
form
)
this
.
handleSearch
(
form
)
},
},
...
@@ -179,16 +268,18 @@ export default {
...
@@ -179,16 +268,18 @@ export default {
const
data
=
{}
const
data
=
{}
for
(
let
key
in
params
)
{
for
(
let
key
in
params
)
{
if
(
params
[
key
]
!==
""
&&
params
[
key
]
!==
null
)
{
if
(
params
[
key
]
!==
""
&&
params
[
key
]
!==
null
)
{
if
(
key
.
includes
(
"
Time
"
)
&&
params
[
key
])
{
//
if (key.includes("Time") && params[key]) {
data
[
"
start
"
+
key
]
=
params
[
key
][
0
]
//
data["start" + key] = params[key][0]
data
[
"
end
"
+
key
]
=
params
[
key
][
1
]
//
data["end" + key] = params[key][1]
}
else
{
//
} else {
data
[
key
]
=
params
[
key
]
data
[
key
]
=
params
[
key
]
}
//
}
}
}
}
}
data
.
current
=
this
.
pageIndex
data
.
current
=
this
.
pageIndex
data
.
size
=
this
.
pageSize
data
.
size
=
this
.
pageSize
data
.
isGraft
=
0
data
.
patientFrom
=
this
.
selectedIndex
getPatientPage
(
data
).
then
((
res
)
=>
{
getPatientPage
(
data
).
then
((
res
)
=>
{
this
.
listLoading
=
false
this
.
listLoading
=
false
if
(
res
.
code
===
1
)
{
if
(
res
.
code
===
1
)
{
...
@@ -199,8 +290,18 @@ export default {
...
@@ -199,8 +290,18 @@ export default {
})
})
},
},
},
},
computed
:
{
...
mapGetters
({
selectedIndex
:
"
table/selectedIndex
"
,
}),
},
created
()
{
created
()
{
// this.handleFormSearch()
this
.
handleFormSearch
()
},
watch
:
{
selectedIndex
(
v
)
{
this
.
handleFormSearch
(
this
.
searchForm
)
},
},
},
}
}
</
script
>
</
script
>
...
...
src/views/systems/medicalunion-management/index.vue
View file @
891ffaaf
...
@@ -181,6 +181,7 @@ export default {
...
@@ -181,6 +181,7 @@ export default {
methods
:
{
methods
:
{
// 获取list
// 获取list
getMedicalunionList
()
{
getMedicalunionList
()
{
this
.
listLoading
=
true
medicalunionList
({
medicalunionList
({
size
:
this
.
pageSize
,
size
:
this
.
pageSize
,
current
:
this
.
pageIndex
,
current
:
this
.
pageIndex
,
...
@@ -188,6 +189,7 @@ export default {
...
@@ -188,6 +189,7 @@ export default {
if
(
res
.
code
==
1
)
{
if
(
res
.
code
==
1
)
{
this
.
total
=
res
.
data
.
total
this
.
total
=
res
.
data
.
total
this
.
tableData
=
res
.
data
.
records
this
.
tableData
=
res
.
data
.
records
this
.
listLoading
=
false
}
}
})
})
},
},
...
...
src/views/systems/user/index.vue
View file @
891ffaaf
...
@@ -20,21 +20,30 @@
...
@@ -20,21 +20,30 @@
@
currentPageChange=
"handleCurrentChange"
@
currentPageChange=
"handleCurrentChange"
/>
/>
<dialog-form
<dialog-form
ref=
"dialog"
width=
"750px"
width=
"750px"
:close-modal=
"false"
:close-modal=
"false"
ref=
"dialog"
:title=
"title"
:title=
"title"
:form-edit=
"formEdit"
:form-edit=
"formEdit"
:form-data=
"formData"
:form-data=
"formData"
@
handleConfirm=
"handleConfirm"
@
handleConfirm=
"handleConfirm"
></dialog-form>
></dialog-form>
<dialog-form
<dialog-form
width=
"450px"
ref=
"role"
ref=
"role"
width=
"450px"
title=
"角色授权"
title=
"角色授权"
:form-data=
"formDataRole"
:form-data=
"formDataRole"
@
handleConfirm=
"handleRoleConfirm"
@
handleConfirm=
"handleRoleConfirm"
></dialog-form>
></dialog-form>
<dialog-form
ref=
"consortiaRole"
width=
"450px"
title=
"医联体授权"
:form-data=
"consortiaDataRole"
:current=
"current"
@
handleConfirm=
"handleConsortiaConfirm"
@
loadMore=
"loadMore"
></dialog-form>
</div>
</div>
</
template
>
</
template
>
...
@@ -50,10 +59,12 @@ import {
...
@@ -50,10 +59,12 @@ import {
resetPassword
,
resetPassword
,
}
from
"
@/api/user
"
}
from
"
@/api/user
"
import
{
getOrgList
,
getDepartPage
}
from
"
@/api/org
"
import
{
getOrgList
,
getDepartPage
}
from
"
@/api/org
"
import
{
medicalunionList
,
baseUnion
}
from
"
@/api/medicalunion-management
"
import
{
mapGetters
}
from
"
vuex
"
import
{
mapGetters
}
from
"
vuex
"
export
default
{
export
default
{
name
:
"
user
"
,
name
:
"
User
"
,
mixins
:
[
paginationMixin
],
data
()
{
data
()
{
const
isAdmin
=
this
.
$store
.
getters
[
"
user/roles
"
].
find
(
const
isAdmin
=
this
.
$store
.
getters
[
"
user/roles
"
].
find
(
(
_
)
=>
_
.
roleCode
===
"
admin
"
(
_
)
=>
_
.
roleCode
===
"
admin
"
...
@@ -72,7 +83,6 @@ export default {
...
@@ -72,7 +83,6 @@ export default {
})
})
}
}
})
})
const
orgList
=
[]
const
orgList
=
[]
getOrgList
().
then
((
res
)
=>
{
getOrgList
().
then
((
res
)
=>
{
if
(
res
.
code
===
1
)
{
if
(
res
.
code
===
1
)
{
...
@@ -95,6 +105,7 @@ export default {
...
@@ -95,6 +105,7 @@ export default {
}
}
return
{
return
{
listLoading
:
false
,
listLoading
:
false
,
current
:
1
,
isAdd
:
false
,
isAdd
:
false
,
id
:
null
,
id
:
null
,
// 查询列表
// 查询列表
...
@@ -119,6 +130,7 @@ export default {
...
@@ -119,6 +130,7 @@ export default {
func
:
this
.
handleAdd
,
func
:
this
.
handleAdd
,
},
},
],
],
searchQuery
:
""
,
columns
:
[
columns
:
[
{
{
label
:
"
用户姓名
"
,
label
:
"
用户姓名
"
,
...
@@ -201,6 +213,14 @@ export default {
...
@@ -201,6 +213,14 @@ export default {
color
:
"
#409EFF
"
,
color
:
"
#409EFF
"
,
},
},
},
},
{
func
:
this
.
handleConsortia
,
icon
:
"
el-icon-office-building
"
,
label
:
"
医联体授权
"
,
style
:
{
color
:
"
#67C23A
"
,
},
},
{
{
func
:
this
.
handleReset
,
func
:
this
.
handleReset
,
label
:
"
重置密码
"
,
label
:
"
重置密码
"
,
...
@@ -350,10 +370,25 @@ export default {
...
@@ -350,10 +370,25 @@ export default {
multiple
:
true
,
multiple
:
true
,
},
},
],
],
consortiaList
:
[],
consortiaDataRole
:
[
{
type
:
"
remote
"
,
label
:
"
医联体
"
,
placeholder
:
"
请输入医联体
"
,
prop
:
"
consortiaList
"
,
opts
:
[],
multiple
:
true
,
remoteFunc
:
this
.
searchConsortia
,
rules
:
[
{
required
:
true
,
message
:
"
请选择医联体
"
,
trigger
:
"
change
"
},
],
multiple
:
true
,
},
],
originalList
:
[],
originalList
:
[],
}
}
},
},
mixins
:
[
paginationMixin
],
computed
:
{
computed
:
{
...
mapGetters
({
...
mapGetters
({
roles
:
"
user/roles
"
,
roles
:
"
user/roles
"
,
...
@@ -363,7 +398,60 @@ export default {
...
@@ -363,7 +398,60 @@ export default {
return
this
.
roles
.
find
((
_
)
=>
_
.
roleCode
===
"
admin
"
)
return
this
.
roles
.
find
((
_
)
=>
_
.
roleCode
===
"
admin
"
)
},
},
},
},
created
()
{
this
.
handleFormSearch
()
this
.
loadMore
()
},
methods
:
{
methods
:
{
loadMore
(
current
=
1
)
{
let
params
=
{
current
:
current
,
unionName
:
this
.
searchQuery
?
this
.
searchQuery
:
undefined
,
size
:
20
,
}
medicalunionList
(
params
).
then
((
res
)
=>
{
if
(
res
.
code
===
1
)
{
const
d
=
res
.
data
.
records
||
[]
if
(
d
.
length
>
0
)
{
this
.
current
=
res
.
data
.
current
-
0
d
.
forEach
((
item
)
=>
{
this
.
consortiaList
.
push
({
label
:
item
.
unionName
,
value
:
item
.
id
,
})
})
this
.
consortiaDataRole
[
0
].
opts
=
[...
this
.
consortiaList
]
}
}
})
},
searchConsortia
(
query
)
{
if
(
query
!==
""
)
{
// this.loading = true
this
.
searchQuery
=
query
console
.
log
(
query
)
this
.
consortiaList
=
[]
this
.
consortiaDataRole
[
0
].
opts
=
[]
this
.
loadMore
()
// this.consortiaList = []
}
else
{
this
.
options
=
[]
}
},
handleConsortiaConfirm
(
unionIds
)
{
console
.
log
(
unionIds
,
this
.
rowId
)
const
data
=
{
userId
:
this
.
rowId
,
unionIds
:
unionIds
.
consortiaList
,
}
baseUnion
(
data
).
then
((
res
)
=>
{
if
(
res
.
code
===
1
)
{
this
.
$message
.
success
(
"
授权成功
"
)
this
.
handleSearch
()
this
.
$refs
.
consortiaRole
.
close
()
}
})
},
orgChange
(
orgId
)
{
orgChange
(
orgId
)
{
const
list
=
[]
const
list
=
[]
this
.
$refs
.
dialog
.
initFields
({
deptId
:
""
})
this
.
$refs
.
dialog
.
initFields
({
deptId
:
""
})
...
@@ -439,6 +527,10 @@ export default {
...
@@ -439,6 +527,10 @@ export default {
}
}
})
})
},
},
handleConsortia
({
id
})
{
this
.
rowId
=
id
this
.
$refs
.
consortiaRole
.
open
()
},
handleRoleConfirm
(
form
)
{
handleRoleConfirm
(
form
)
{
const
data
=
{
const
data
=
{
roleList
:
this
.
originalList
.
concat
(
form
.
roleList
).
map
((
_
)
=>
{
roleList
:
this
.
originalList
.
concat
(
form
.
roleList
).
map
((
_
)
=>
{
...
@@ -559,8 +651,5 @@ export default {
...
@@ -559,8 +651,5 @@ export default {
this
.
$router
.
push
(
`detail?id=
${
row
.
id
}
`
)
this
.
$router
.
push
(
`detail?id=
${
row
.
id
}
`
)
},
},
},
},
created
()
{
this
.
handleFormSearch
()
},
}
}
</
script
>
</
script
>
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