Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
expense
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
contractServiceExpense-Develop
expense
Commits
3bc77f4d
Commit
3bc77f4d
authored
Jul 29, 2020
by
kingboy_xin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
80106bcb
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1826 additions
and
1839 deletions
+1826
-1839
src/router/index.js
+3
-3
src/views/gp/expense/ContractAnalysis.vue
+1823
-2
src/views/gp/expense/GpExpenseHome.vue
+0
-1834
No files found.
src/router/index.js
View file @
3bc77f4d
...
@@ -51,12 +51,12 @@ export default new Router({
...
@@ -51,12 +51,12 @@ export default new Router({
{
//费用管理主页
{
//费用管理主页
path
:
'gpEexpense'
,
path
:
'gpEexpense'
,
name
:
'gpEexpense'
,
name
:
'gpEexpense'
,
component
:
()
=>
import
(
'views/gp/expense/
GpExpenseHome
.vue'
),
component
:
()
=>
import
(
'views/gp/expense/
ContractAnalysis
.vue'
),
children
:[
children
:[
{
{
//费用管理签约
path
:
'gpEexp'
,
path
:
'gpEexp'
,
name
:
'gpEexp'
,
name
:
'gpEexp'
,
component
:
()
=>
import
(
'views/gp/expense/
GpExpenseHome
.vue'
),
component
:
()
=>
import
(
'views/gp/expense/
ContractAnalysis
.vue'
),
},
},
{
//费用管理就诊
{
//费用管理就诊
path
:
'gpVisit'
,
path
:
'gpVisit'
,
...
...
src/views/gp/expense/ContractAnalysis.vue
View file @
3bc77f4d
<
template
>
<
template
>
<div>
<div
class=
"div-model fl01"
>
<div
class=
"title"
>
累计签约人均费用
</div>
<div
class=
"content"
>
<div
class=
"qycontent"
>
<div
class=
"qycontentline"
><i
class=
"i01"
></i><span
class=
""
>
实际值
</span>
|
<span>
同期
</span></div>
<div
class=
"qytexttop"
>
<el-tooltip
content=
"签约居民年总费用 / 签约居民数"
placement=
"bottom-start"
>
<span>
{{
nullreturn
(
para01
)
}}
</span>
</el-tooltip>
<span
class=
"span02"
>
/
</span>
<span
class=
"span01"
>
{{
nullreturn
(
para02
)
}}
</span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span03"
>
{{
nullreturn
(
para03
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para03
))
}}
%
</span>
<i
:class=
"para03
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
<div
class=
"qycontentline"
><i
class=
"i02"
></i><span
class=
""
>
签约数·人
</span>
|
<span>
同期
</span></div>
<div
class=
"qytextdown"
>
<span
class=
"spanfont"
>
全
</span>
<div
class=
"spandata"
>
<span>
{{
nullreturn
(
para04
)
}}
</span>
<span
class=
"span02"
>
/
</span>
<span
class=
"span01"
>
{{
nullreturn
(
para05
)
}}
</span>
</div>
</div>
<div
class=
"qytextdown"
>
<span
class=
"spanfont"
>
住院
</span>
<div
class=
"spandata"
>
<span>
{{
nullreturn
(
para06
)
}}
</span>
<span
class=
"span02"
>
/
</span>
<span
class=
"span01"
>
{{
nullreturn
(
para07
)
}}
</span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"div-model fl002"
>
<div
class=
"title"
>
其中累计签约人均门诊费用
<img
@
click=
"question()"
width=
"16"
style=
"vertical-align: middle;"
height=
"16"
src=
"~assets/img/common/icon-mainwen.png"
>
</div>
<div
class=
"content"
>
<div
class=
"qycontent"
>
<div
class=
"qytexttop"
>
<el-tooltip
content=
"签约居民年门诊总费用 / 签约居民数"
placement=
"bottom-start"
>
<span>
{{
nullreturn
(
para08
)
}}
</span>
</el-tooltip>
<span
class=
"span02"
>
/
</span>
<span
class=
"span01"
>
{{
nullreturn
(
para09
)
}}
</span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span03"
>
{{
nullreturn
(
para10
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para10
))
}}
%
</span>
<i
:class=
"para10
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
<span
class=
"span04"
></span>
<code
class=
"pian"
>
偏
</code>
<span
class=
"span03"
>
{{
nullreturn
(
para11
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para11
))
}}
%
</span>
<i
:class=
"para11
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
<div
class=
"qytextmodel"
>
<span
class=
"spanfont"
>
累计就诊·千人
</span>
<div
class=
"spandata"
>
<span>
{{
nullreturn
(
para12
/
1000
)
}}
</span>
<span
class=
"span02"
>
/
</span>
<span
class=
"span03"
>
{{
nullreturn
(
para13
/
1000
)
}}
</span>
<span
class=
"span01"
></span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span01"
></span>
<span
class=
"span03"
>
{{
nullreturn
(
para14
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para14
))
}}
%
</span>
<i
:class=
"para14
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
</div>
<div
class=
"qytextmodel"
>
<span
class=
"spanfont"
>
累计就诊·千次
</span>
<div
class=
"spandata"
>
<span>
{{
nullreturn
(
para15
/
1000
)
}}
</span>
<span
class=
"span02"
>
/
</span>
<span
class=
"span03"
>
{{
nullreturn
(
para16
/
1000
)
}}
</span>
<span
class=
"span01"
></span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span01"
></span>
<span
class=
"span03"
>
{{
nullreturn
(
para17
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para17
))
}}
%
</span>
<i
:class=
"para17
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
</div>
<div
class=
"qytextmodel"
>
<span
class=
"spanfont spanline"
@
click=
"showBox(1)"
>
累计人均就诊·次
</span>
<div
class=
"spandata"
>
<span>
{{
nullreturn
(
para18
)
}}
</span>
<span
class=
"span02"
>
/
</span>
<span
class=
"span03"
>
{{
nullreturn
(
para19
)
}}
</span>
<span
class=
"span01"
></span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span01"
></span>
<span
class=
"span03"
>
{{
nullreturn
(
para20
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para20
))
}}
%
</span>
<i
:class=
"para20
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
<span
class=
"span01"
></span>
<code
class=
"pian"
>
偏
</code>
<span
class=
"span01"
></span>
<span
class=
"span03"
>
{{
nullreturn
(
para21
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para21
))
}}
%
</span>
<i
:class=
"para21
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
</div>
</div>
</div>
</div>
<div
class=
"div-model fr001"
>
<div
class=
"title"
>
其中累计签约人均住院费用
</div>
<div
class=
"content"
>
<div
class=
"qycontent"
>
<div
class=
"qytexttop"
>
<el-tooltip
content=
"签约居民年住院总费用 / 签约居民数"
placement=
"bottom-start"
>
<span>
{{
nullreturn
(
para22
)
}}
</span>
</el-tooltip>
<span
class=
"span02"
>
/
</span>
<span
class=
"span01"
>
{{
nullreturn
(
para23
)
}}
</span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span03"
>
{{
nullreturn
(
para24
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para24
))
}}
%
</span>
<i
:class=
"para24
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
<div
class=
"qytextright"
>
<span
class=
"spanfont"
>
社区床日·元(实/同)
</span>
<div
class=
"spandata"
>
<span>
{{
nullreturn
(
para25
)
}}
</span>
<span
class=
"span02"
>
/
</span>
<span
class=
"span03"
>
{{
nullreturn
(
para26
)
}}
</span>
<span
class=
"span01"
></span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span01"
></span>
<span
class=
"span03"
>
{{
nullreturn
(
para27
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para27
))
}}
%
</span>
<i
:class=
"para27
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
</div>
<div
class=
"qytextright"
>
<span
class=
"spanfont spanline"
@
click=
"showBox(2)"
>
二级指标·万(实/标)
</span>
<div
class=
"spandata"
>
<span>
{{
nullreturn
(
para28
/
10000
)
}}
</span>
<span
class=
"span02"
>
/
</span>
<span
class=
"span03"
>
{{
nullreturn
(
para29
/
10000
)
}}
</span>
<span
class=
"span01"
></span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span01"
></span>
<span
class=
"span03"
>
{{
nullreturn
(
para30
)
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
para30
))
}}
%
</span>
<i
:class=
"para30
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
</div>
<div
class=
"qytextright"
>
<span
class=
"spanfont spanline"
@
click=
"showBox(3)"
>
三级指标·万(实/标)
</span>
<div
class=
"spandata"
>
<span>
{{
nullreturn
(
para31
/
10000
)
}}
</span>
<span
class=
"span02"
>
/
</span>
<span
class=
"span03"
>
{{
nullreturn
(
para32
/
10000
)
}}
</span>
<span
class=
"span01"
></span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span01"
></span>
<span
class=
"span03"
>
{{
nullreturn
(
para33
)
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
para33
))
}}
%
</span>
<i
:class=
"para33
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
</div>
</div>
</div>
</div>
<!-----------底部内容---------->
<div
class=
"div-model-b"
>
<div
class=
"title"
>
门诊
</div>
<div
class=
"div-model-echarts div-model-echarts2"
>
<div
class=
"etitle1 spanline"
@
click=
"AnalyFn()"
>
累计费用分析
</div>
<div
class=
"ecp01"
@
click=
"changeTabName(1)"
:class=
"isgy==1?'clk':''"
>
社区
</div>
<div
class=
"ecp02"
@
click=
"changeTabName(2)"
:class=
"isgy==2?'clk':''"
>
二级
</div>
<div
class=
"ecp03"
@
click=
"changeTabName(3)"
:class=
"isgy==3?'clk':''"
>
三级
</div>
<div
class=
"etitle2"
>
累计人均就诊分析
</div>
<div
class=
"etotal01"
>
合计
</div>
<div
class=
"etotal02 spanline"
@
click=
"AnalyFn()"
>
组合内
</div>
<div
class=
"etotal03 spanline"
@
click=
"AnalyFn()"
>
签约社区
</div>
<el-table
:header-cell-style=
"headerStyle2"
:fit=
"true"
:cell-style=
"cellStyle2"
height=
"125"
:row-class-name=
"tableRowClassName2"
:data=
"outpatientuplist"
>
<el-table-column
prop=
"name"
label=
"就诊·人/同·%"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
JZRS
}}
/
{{
scope
.
row
.
JZRS_TBL
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
JZRS_TBL
))
}}
<i
:class=
"scope.row.JZRS_TBL
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
<el-table-column
prop=
"province"
label=
"人均·次/同·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
JZCS
}}
/
{{
scope
.
row
.
JZCS_TBL
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
JZCS_TBL
))
}}
<i
:class=
"scope.row.JZCS_TBL
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
<el-table-column
prop=
"pepole"
label=
"人均·元/同·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
JZFY
}}
/
{{
scope
.
row
.
JZFY_TBL
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
JZFY_TBL
))
}}
<i
:class=
"scope.row.JZFY_TBL
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
<el-table-column
prop=
"city"
label=
"人均药·元/同·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
JZYF
}}
/
{{
scope
.
row
.
JZYF_TBL
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
JZYF_TBL
))
}}
<i
:class=
"scope.row.JZYF_TBL
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
</el-table>
<el-table
:header-cell-style=
"headerStyle2"
:fit=
"true"
:cell-style=
"cellStyle2"
height=
"125"
:row-class-name=
"tableRowClassName2"
:data=
"outpatientdownlist"
>
<el-table-column
prop=
"name"
label=
"目标/时值·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
MBL
}}
/
{{
scope
.
row
.
SJL
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"province"
label=
"目标/去年·次"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
MBZ
}}
/
{{
scope
.
row
.
QNZ
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"pepole"
label=
"时值/时标·次"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
ZXZ
}}
/
{{
scope
.
row
.
BZZ
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"city"
label=
"时值同比·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
TBZ
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
TBZ
))
}}
<i
:class=
"scope.row.TBZ
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"div-model-table div-model-table2"
>
<div
class=
"tabletitle"
>
<span
@
click=
"changeAll(1)"
:class=
"isall==1?'clk':''"
>
{{TableName}}
</span>
<span
@
click=
"changeAll(2)"
:class=
"isall==2?'clk':''"
>
缺陷
</span>
</div>
<el-table
v-show=
"isall==1"
:header-cell-style=
"headerStyle"
:fit=
"true"
:cell-style=
"cellStyle"
height=
"230"
:row-class-name=
"tableRowClassName"
:data=
"hospotallist"
>
<el-table-column
prop=
"name"
width=
"45"
label=
"序列"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"province"
:show-overflow-tooltip=
"true"
min-width=
"64"
>
<
template
slot=
"header"
slot-scope=
"scope"
class=
"Movearrow"
>
<div
class=
"spanline spanleft"
@
click=
"showMzHospital()"
>
医院
</div>
</
template
>
<
template
slot-scope=
"scope"
>
<span
class=
"spanline spanleft"
@
click=
"AnalyFn()"
>
{{
scope
.
row
.
JZJGJC
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"pepole"
width=
"100"
label=
"总费用·万/同·%"
>
<
template
slot-scope=
"scope"
>
<span
class=
"ycqd_lf testright"
>
{{
scope
.
row
.
MZFY
}}
/
{{
scope
.
row
.
MZFY_TBL
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
MZFY_TBL
))
}}
</span>
<span
class=
"sp13"
><i
:class=
"scope.row.MZFY_TBL
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i></span>
</
template
>
</el-table-column>
<el-table-column
prop=
"city"
width=
"74"
label=
"总费用占比·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
MZFY_ZB
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
width=
"100"
label=
"药费·万/同·%"
>
<
template
slot-scope=
"scope"
>
<span
class=
"ycqd_lf testright"
>
{{
scope
.
row
.
MZYF
}}
/
{{
scope
.
row
.
MZYF_TBL
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
MZYF_TBL
))
}}
</span>
<span
class=
"sp13"
><i
:class=
"scope.row.MZYF_TBL
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i></span>
</
template
>
</el-table-column>
</el-table>
<el-table
v-show=
"isall==2"
:header-cell-style=
"headerStyle"
:fit=
"true"
:cell-style=
"cellStyle"
height=
"230"
:row-class-name=
"tableRowClassName"
:data=
"defectlist"
>
<el-table-column
prop=
"name"
width=
"45"
label=
"序列"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"XM"
width=
"90"
label=
"姓名"
class=
"spanline"
>
<
template
slot-scope=
"scope"
>
<span
class=
"spanline"
@
click=
"toMember(scope.row.SFZH)"
>
{{
scope
.
row
.
XM
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"NL"
label=
"年龄"
></el-table-column>
<el-table-column
prop=
"MZFY"
:render-header=
"renderHeader"
></el-table-column>
<el-table-column
prop=
"JZCS"
label=
"就诊·次"
></el-table-column>
</el-table>
</div>
</div>
<!-- 累计人均就诊·次弹出层 -->
<div
class=
"outService1"
v-show=
"showouser1"
>
<p
class=
"pservice1"
>
累计人均门诊
</p>
<div
class=
"rightbox rightbox2"
>
<div
class=
"rbiteml rbitem2"
>
<div
class=
"rbitemlinner"
>
就诊·次
</div>
<div
class=
"rbitemlinner"
>
累计费用·元
</div>
<div
class=
"rbitemlinner"
>
累计药费·元
</div>
</div>
<div
class=
"rbitemr"
>
<div
class=
"rrline"
>
<div
class=
"rrmodel"
>
<p>
社区
</p>
<p>
实值/占·%同·%
</p>
</div>
<div
class=
"rrmodel"
>
<p>
二级
</p>
<p>
实值/占·%同·%
</p>
</div>
<div
class=
"rrmodel"
>
<p>
三级
</p>
<p>
实值/占·%同·%
</p>
</div>
</div>
<div
v-for=
"item in cumpercapvisdatalist"
:key=
"item.index"
class=
"rrmodelbot"
>
<p>
{{item.JZCS}} / {{item.JZCS_ZB}} / {{item.JZCS_TBL=='-'?"-":Math.abs(nullreturn(item.JZCS_TBL))}}
<i
:class=
"item.JZCS_TBL<0?'el-icon-my-down':'el-icon-my-up'"
></i>
</p>
<p>
{{item.JZFY}} / {{item.JZFY_ZB}} / {{item.JZFY_TBL=='-'?"-":Math.abs(nullreturn(item.JZFY_TBL))}}
<i
:class=
"item.JZFY_TBL<0?'el-icon-my-down':'el-icon-my-up'"
></i>
</p>
<p>
{{item.JZYF}} / {{item.JZYF_ZB}} / {{item.JZYF_TBL=='-'?"-":Math.abs(nullreturn(item.JZYF_TBL))}}
<i
:class=
"item.JZYF_TBL<0?'el-icon-my-down':'el-icon-my-up'"
></i>
</p>
</div>
</div>
</div>
<div
style=
"clear: both;"
></div>
<div
class=
"outServicewords"
>
占比 = 当前医院级别累计人均门诊费用(次数)/累计人均门诊总费用(次数)*100%
</div>
</div>
<!-- 门诊费用二级指标弹出层 -->
<div
class=
"outService2"
v-show=
"showouser2"
>
<p
class=
"pservice2"
>
二级指数单价Top4
</p>
<el-table
:header-cell-style=
"headerStyle3"
:fit=
"true"
:cell-style=
"cellStyle2"
height=
"125"
:row-class-name=
"tableRowClassName"
:data=
"twoleveldatalist"
>
<el-table-column
fixed
label=
"序号"
width=
"45"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"XM"
label=
"姓名"
width=
"70"
></el-table-column>
<el-table-column
prop=
"JZJGMC"
label=
"住院机构"
width=
"120"
></el-table-column>
<el-table-column
prop=
"ZSDJ_PLD"
label=
"单·/偏·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
ZSDJ_PLD
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
ZSDJ_PLD
))
}}
<i
:class=
"scope.row.ZSDJ_PLD
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
<el-table-column
prop=
"YPZSDJ_PLD"
label=
"药·/偏·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
YPZSDJ_PLD
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
YPZSDJ_PLD
))
}}
<i
:class=
"scope.row.YPZSDJ_PLD
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
<el-table-column
prop=
"HCZSDJ_PLD"
label=
"耗·/偏·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
HCZSDJ_PLD
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
HCZSDJ_PLD
))
}}
<i
:class=
"scope.row.HCZSDJ_PLD
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
</el-table>
</div>
<div
v-show=
"isyy"
@
click=
"yyshow"
class=
"yydiv"
></div>
<!-- 门诊费用三级指标弹出层 -->
<div
class=
"outService3"
v-show=
"showouser3"
>
<p
class=
"pservice3"
>
三级指数单价Top4
</p>
<el-table
:header-cell-style=
"headerStyle3"
:fit=
"true"
:cell-style=
"cellStyle2"
height=
"125"
:row-class-name=
"tableRowClassName"
:data=
"threeleveldatalist"
>
<el-table-column
fixed
label=
"序号"
width=
"60"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"XM"
label=
"姓名"
width=
"70"
></el-table-column>
<el-table-column
prop=
"JZJGMC"
label=
"住院机构"
width=
"120"
></el-table-column>
<el-table-column
prop=
"ZSDJ_PLD"
label=
"单·/偏·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
ZSDJ_PLD
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
ZSDJ_PLD
))
}}
<i
:class=
"scope.row.ZSDJ_PLD
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
<el-table-column
prop=
"YPZSDJ_PLD"
label=
"药·/偏·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
ZSDJ_PLD
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
ZSDJ_PLD
))
}}
<i
:class=
"scope.row.YPZSDJ_PLD
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
<el-table-column
prop=
"HCZSDJ_PLD"
label=
"耗·/偏·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
ZSDJ_PLD
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
ZSDJ_PLD
))
}}
<i
:class=
"scope.row.HCZSDJ_PLD
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
</el-table>
</div>
<!-- 点击问号弹出层 -->
<div
class=
"explainbox"
v-if=
"explain"
>
<div
class=
"explainboxtitle"
><span>
累计就诊人均门诊费用标准
</span></div>
<div
class=
"explainboxtcontent"
>
<div
class=
"explainboxtcontentleft"
>
<i
class=
"icls"
></i>
说明
</div>
<div
class=
"explainboxtcontentright"
>
<span>
全年人均累计就诊费用为4839元,4月份 时标为 1613元,计算公式=(4839/12)*4
</span>
</div>
</div>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
home
,
getPageData
}
from
'api/home'
import
PageHeader
from
"components/common/header/PageHeader"
;
import
SideNavbar
from
"components/common/sideNavbar/SideNavbar"
;
export
default
{
export
default
{
name
:
"ContractAnalysis"
components
:
{
PageHeader
,
SideNavbar
},
name
:
'gpExpenseHome'
,
data
()
{
return
{
token
:
''
,
loginMsg
:
{},
para01
:
1
,
para02
:
2
,
yname
:
''
,
yzback
:
false
,
para03
:
3
,
para04
:
4
,
para05
:
5
,
para06
:
6
,
para07
:
7
,
para08
:
8
,
para09
:
9
,
para10
:
10
,
para11
:
11
,
para12
:
12
,
para13
:
13
,
para14
:
14
,
para15
:
15
,
para16
:
16
,
para17
:
17
,
para18
:
18
,
para19
:
19
,
para20
:
20
,
para21
:
21
,
para22
:
22
,
para23
:
23
,
para24
:
24
,
para25
:
25
,
para26
:
26
,
para27
:
27
,
para28
:
28
,
para29
:
29
,
para30
:
30
,
para31
:
31
,
para32
:
32
,
para33
:
33
,
selectTime
:
'2020-05'
,
jctxt
:
'150'
,
isgy
:
1
,
loginID
:
''
,
isall
:
1
,
loading
:
false
,
isyy
:
false
,
TableName
:
'社区'
,
// 用于切换右侧的表头名字
explain
:
false
,
// 用于显示或隐藏问号弹出层
showouser1
:
false
,
// 用于显示或隐藏累计人均就诊·次弹出层
showouser2
:
false
,
// 用于显示或隐藏二级指标弹出层
showouser3
:
false
,
// 用于显示或隐藏三级指标弹出层
detelist
:
{},
hzpoints
:
[],
cxsj
:
""
,
numbers
:
"01"
,
topvaluelist
:
[{}],
hospotallist
:
[],
defectlist
:
[],
outpatientuplist
:
[],
outpatientdownlist
:
[],
twoleveldatalist
:
[],
threeleveldatalist
:
[],
cumpercapvisdatalist
:
[],
option
:
{
tooltip
:
{
position
:
[
50
,
50
],
padding
:
10
,
trigger
:
'axis'
,
formatter
:
function
(
params
)
{
var
res
=
"<div class='ectabletitle'>"
;
res
+=
"60以上(实值/同期)</div>"
;
res
+=
"<ul class='ectable01'>"
;
res
+=
"<li class='li01'>管辖数:<li>"
;
res
+=
"<li class='li03'>2 / 3人</li>"
;
res
+=
"<li><span class='tag-circle'>同</span></li>"
;
res
+=
"<li>2 <span class='el-icon-bottom'> </span></li>"
;
res
+=
"</ul>"
;
res
+=
"<ul class='ectable01'>"
;
res
+=
"<li class='li01'>签约数:<li>"
;
res
+=
"<li class='li03'>2 / 3人</li>"
;
res
+=
"<li><span class='tag-circle'>同</span></li>"
;
res
+=
"<li>54 <span class='el-icon-bottom'> </span></li>"
;
res
+=
"</ul>"
;
res
+=
"<ul class='ectable01'>"
;
res
+=
"<li class='li01'>签约率:</li>"
;
res
+=
"<li class='li03'>43 %/53 %</li>"
;
res
+=
"<li><span class='tag-circle'>同</span></li>"
;
res
+=
"<li>12 <span class='el-icon-bottom'> </span></li>"
;
res
+=
"</ul>"
;
res
+=
"<ul class='ectable01'>"
;
res
+=
"<li class='li02'>签约率偏离度:</li>"
;
res
+=
"<li class='li03'>43% <span class='el-icon-bottom'> </span> / 65% <span class='el-icon-bottom'> </span></li>"
;
res
+=
"<li></li>"
;
res
+=
"<li></li>"
;
res
+=
"</ul>"
;
return
res
}
}
</
script
>
},
legend
:
{
textStyle
:
{
color
:
'#8393A9'
,
fontSize
:
10
},
left
:
25
,
top
:
'5'
,
itemHeight
:
10
,
itemWidth
:
10
,
itemGap
:
5
,
data
:
[
'已签约'
,
'管辖数'
,
'重点签约人数'
,
'重点管辖数'
,
'签约率偏离度'
,
'重点签约率偏离度'
],
align
:
'left'
,
selectedMode
:
false
},
grid
:
{
top
:
80
,
bottom
:
45
,
left
:
50
},
xAxis
:
[{
type
:
'category'
,
data
:
[
'静安'
,
'黄埔'
,
'闵行'
,
'宝山'
,
'松江'
,
'青浦'
,
'浦东'
,
'奉贤'
],
axisLine
:
{
lineStyle
:
{
color
:
'#8393A9'
,
type
:
'solid'
}
},
axisLabel
:
{
interval
:
0
,
rotate
:
60
,
textStyle
:
{
fontSize
:
10
,
color
:
function
(
value
,
index
)
{
return
'#8393A9'
;
}
}
},
splitLine
:
{
show
:
false
,
onZero
:
false
},
axisTick
:
{
show
:
false
},
}],
yAxis
:
[{
type
:
'value'
,
name
:
'千'
,
min
:
0
,
axisLabel
:
{
textStyle
:
{
color
:
'#8393A9'
,
type
:
'solid'
},
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#8393A9'
,
type
:
'solid'
}
},
splitLine
:
{
show
:
false
},
axisTick
:
{
show
:
true
}
},
{
type
:
'value'
,
name
:
'%'
,
max
:
100
,
min
:
0
,
splitNumber
:
5
,
axisLabel
:
{
textStyle
:
{
color
:
function
(
value
,
index
)
{
return
'#747d8d'
;
},
type
:
'solid'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#8393A9'
,
type
:
'solid'
}
},
splitLine
:
{
show
:
false
},
axisTick
:
{
show
:
true
},
}
],
series
:
[{
name
:
'已签约'
,
type
:
'bar'
,
barWidth
:
null
,
itemStyle
:
{
normal
:
{
color
:
'#2680ff'
}
},
data
:
[
12
,
23
,
4
,
5
,
6
,
21
,
5
,
2
],
},
{
name
:
'管辖数'
,
type
:
'bar'
,
stack
:
"1"
,
barWidth
:
null
,
itemStyle
:
{
normal
:
{
color
:
'#2e4f8b'
}
},
data
:
[
12
,
3
,
4
,
5
,
6
,
21
,
5
,
2
]
},
{
name
:
'重点签约人数'
,
type
:
'bar'
,
barWidth
:
null
,
itemStyle
:
{
normal
:
{
color
:
'#36f2d8'
}
},
data
:
[
12
,
3
,
4
,
5
,
6
,
12
,
5
,
2
]
},
{
name
:
'重点管辖数'
,
type
:
'bar'
,
smooth
:
true
,
yAxisIndex
:
1
,
symbol
:
'circle'
,
symbolSize
:
6
,
itemStyle
:
{
normal
:
{
color
:
'#336b84'
}
},
z
:
11
,
data
:
[
12
,
3
,
4
,
5
,
6
,
11
,
5
,
12
],
},
{
name
:
'签约率偏离度'
,
type
:
'line'
,
smooth
:
true
,
yAxisIndex
:
1
,
symbol
:
'circle'
,
symbolSize
:
6
,
z
:
11
,
itemStyle
:
{
normal
:
{
color
:
'#fda739'
}
},
data
:
[
12
,
3
,
14
,
5
,
6
,
12
,
5
,
21
],
},
{
name
:
'重点签约率偏离度'
,
type
:
'line'
,
smooth
:
true
,
yAxisIndex
:
1
,
symbol
:
'circle'
,
symbolSize
:
6
,
z
:
11
,
itemStyle
:
{
normal
:
{
color
:
'#f8d065'
}
},
data
:
[
12
,
3
,
4
,
5
,
6
,
11
,
5
,
21
],
}
]
},
pieoption1
:
{
color
:
[
"#1467FF"
,
"#84B3FF"
,
"#0447C3"
,
"#2A71F2"
,
"#5291FF"
,
"#97BFFF"
],
tooltip
:
{
trigger
:
'item'
,
position
:
[
-
130
,
0
],
formatter
:
function
(
params
)
{
var
res
=
"<div style='height:95px;width:250px;padding:0 10px;font-size: 12px;'>"
;
res
+=
"<div>人群分析</div>"
;
res
+=
"<table class='rqfx_table1' >"
;
res
+=
"<thead>"
;
res
+=
"<tr>"
;
res
+=
"<td width='80'></td>"
;
res
+=
"<td width='80' class='tc'><span style='color:#B3BFD2;'>合计·人</span></td>"
;
res
+=
"<td width='80' class='tc'><span style='color:#B3BFD2;'>重点·人</span></td>"
;
res
+=
"<td width='80' class='tc'><span style='color:#B3BFD2;'>非重点·人</span></td>"
;
res
+=
"</tr>"
;
res
+=
"</thead>"
;
res
+=
"<tbody>"
;
res
+=
"<tr>"
;
res
+=
"<td align='left'><span style='width:12px;height:9px;background:#3B91B3;border-radius:2px;display: inline-block;'></span> <span style='font-size: 12px;'>签约</span></td>"
;
res
+=
"<td class='tc'><span>1</span></td>"
;
res
+=
"<td class='tc'><span>2</span></td>"
;
res
+=
"<td class='tc'><span>3</span></td>"
;
res
+=
"</tr>"
;
res
+=
"<tr>"
;
res
+=
"<td align='left'><span style='width:12px;height:9px;background:#235293;border-radius:2px;display: inline-block;'></span> <span style='font-size: 12px;'>未签约</span></td>"
;
res
+=
"<td class='tc'><span>4</span></td>"
;
res
+=
"<td class='tc'><span>5</span></td>"
;
res
+=
"<td class='tc'><span>6</span></td>"
;
res
+=
"</tr>"
;
res
+=
"</tbody>"
;
res
+=
"</table>"
;
res
+=
"</div>"
;
return
res
}
},
calculable
:
false
,
series
:
[{
hoverAnimation
:
false
,
name
:
''
,
type
:
'pie'
,
radius
:
[
0
,
34
],
x
:
'36%'
,
width
:
'36%'
,
funnelAlign
:
'right'
,
label
:
{
normal
:
{
show
:
false
}
},
labelLine
:
{
normal
:
{
show
:
false
}
},
data
:
[{
value
:
1
,
name
:
''
},
{
value
:
2
,
name
:
''
},
]
},
{
hoverAnimation
:
true
,
hoverOffset
:
3
,
name
:
''
,
type
:
'pie'
,
radius
:
[
44
,
52
],
x
:
'36%'
,
width
:
'36%'
,
funnelAlign
:
'left'
,
label
:
{
normal
:
{
show
:
false
}
},
labelLine
:
{
normal
:
{
show
:
false
}
},
data
:
[{
value
:
3
,
name
:
'A'
},
{
value
:
4
,
name
:
'B'
},
{
value
:
5
,
name
:
'C'
},
{
value
:
6
,
name
:
'D'
},
]
}
]
},
pieoption2
:
{
color
:
[
"#1467FF"
,
"#84B3FF"
,
"#0447C3"
,
"#2A71F2"
,
"#5291FF"
,
"#97BFFF"
],
tooltip
:
{
trigger
:
'item'
,
position
:
[
-
130
,
0
],
formatter
:
function
(
params
)
{
var
res
=
"<div style='height:95px;width:250px;padding:0 10px;font-size: 12px;'>"
;
res
+=
"<div>人群分析</div>"
;
res
+=
"<table class='rqfx_table1' >"
;
res
+=
"<thead>"
;
res
+=
"<tr>"
;
res
+=
"<td width='80'></td>"
;
res
+=
"<td width='80' class='tc'><span style='color:#B3BFD2;'>合计·人</span></td>"
;
res
+=
"<td width='80' class='tc'><span style='color:#B3BFD2;'>重点·人</span></td>"
;
res
+=
"<td width='80' class='tc'><span style='color:#B3BFD2;'>非重点·人</span></td>"
;
res
+=
"</tr>"
;
res
+=
"</thead>"
;
res
+=
"<tbody>"
;
res
+=
"<tr>"
;
res
+=
"<td align='left'><span style='width:12px;height:9px;background:#3B91B3;border-radius:2px;display: inline-block;'></span> <span style='font-size: 12px;'>签约</span></td>"
;
res
+=
"<td class='tc'><span>1</span></td>"
;
res
+=
"<td class='tc'><span>2</span></td>"
;
res
+=
"<td class='tc'><span>3</span></td>"
;
res
+=
"</tr>"
;
res
+=
"<tr>"
;
res
+=
"<td align='left'><span style='width:12px;height:9px;background:#235293;border-radius:2px;display: inline-block;'></span> <span style='font-size: 12px;'>未签约</span></td>"
;
res
+=
"<td class='tc'><span>4</span></td>"
;
res
+=
"<td class='tc'><span>5</span></td>"
;
res
+=
"<td class='tc'><span>6</span></td>"
;
res
+=
"</tr>"
;
res
+=
"</tbody>"
;
res
+=
"</table>"
;
res
+=
"</div>"
;
return
res
}
},
calculable
:
false
,
series
:
[{
hoverAnimation
:
false
,
name
:
''
,
type
:
'pie'
,
radius
:
[
0
,
34
],
x
:
'36%'
,
width
:
'36%'
,
funnelAlign
:
'right'
,
label
:
{
normal
:
{
show
:
false
}
},
labelLine
:
{
normal
:
{
show
:
false
}
},
data
:
[{
value
:
1
,
name
:
''
},
{
value
:
2
,
name
:
''
},
]
},
{
hoverAnimation
:
true
,
hoverOffset
:
3
,
name
:
''
,
type
:
'pie'
,
radius
:
[
44
,
52
],
x
:
'36%'
,
width
:
'36%'
,
funnelAlign
:
'left'
,
label
:
{
normal
:
{
show
:
false
}
},
labelLine
:
{
normal
:
{
show
:
false
}
},
data
:
[{
value
:
3
,
name
:
'A'
},
{
value
:
4
,
name
:
'B'
},
{
value
:
5
,
name
:
'C'
},
{
value
:
6
,
name
:
'D'
},
]
}
]
},
tableData2
:
[{
name
:
'1'
,
province
:
'60以上'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'2'
,
province
:
'高血压'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'3'
,
province
:
'糖尿病'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
}],
tableData
:
[{
name
:
'1'
,
province
:
'60以上'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'2'
,
province
:
'高血压'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'3'
,
province
:
'糖尿病'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'4'
,
province
:
'0-6岁'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'5'
,
province
:
'孕产妇'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'6'
,
province
:
'残疾人'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'7'
,
province
:
'结核病'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'8'
,
province
:
'特殊家庭'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'9'
,
province
:
'贫困人口'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'10'
,
province
:
'精神病'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
}]
}
},
methods
:
{
//累计签约人均费用数据接口
initsign
()
{
let
token
=
sessionStorage
.
getItem
(
'token'
)
let
param
=
{
"key"
:
"fygl-qy-ljfy"
,
"tjsj"
:
this
.
cxsj
,
"gpgh"
:
this
.
loginMsg
.
gpNumber
,
"yljgdm"
:
this
.
loginMsg
.
orgCode
}
getPageData
(
token
,
param
).
then
(
res
=>
{
//console.log(res)
this
.
para01
=
0
this
.
para02
=
0
this
.
para03
=
0
this
.
para04
=
0
this
.
para05
=
0
this
.
para06
=
0
this
.
para07
=
0
this
.
para08
=
0
this
.
para09
=
0
this
.
para10
=
0
this
.
para11
=
0
this
.
para12
=
0
this
.
para13
=
0
this
.
para14
=
0
this
.
para15
=
0
this
.
para16
=
0
this
.
para17
=
0
this
.
para18
=
0
this
.
para19
=
0
this
.
para20
=
0
this
.
para21
=
0
this
.
para22
=
0
this
.
para23
=
0
this
.
para24
=
0
this
.
para25
=
0
this
.
para26
=
0
this
.
para27
=
0
this
.
para28
=
0
this
.
para29
=
0
this
.
para30
=
0
this
.
para31
=
0
this
.
para32
=
0
this
.
para33
=
0
if
(
res
.
code
==
1
&&
res
.
data
.
length
>
0
)
{
this
.
para01
=
res
.
data
[
0
].
RJFY
this
.
para02
=
res
.
data
[
0
].
RJFY_TBZ
this
.
para03
=
res
.
data
[
0
].
RJFY_TBL
this
.
para04
=
res
.
data
[
0
].
QYRS
this
.
para05
=
res
.
data
[
0
].
QYRS_TBZ
this
.
para06
=
res
.
data
[
0
].
ZYRS
this
.
para07
=
res
.
data
[
0
].
ZYRS_TBZ
this
.
para08
=
res
.
data
[
0
].
RJMZFY
this
.
para09
=
res
.
data
[
0
].
RJMZFY_TBZ
this
.
para10
=
res
.
data
[
0
].
RJMZFY_TBL
this
.
para11
=
res
.
data
[
0
].
RJMZFY_PLD
this
.
para12
=
res
.
data
[
0
].
JZRS
this
.
para13
=
res
.
data
[
0
].
JZRS_TBZ
this
.
para14
=
res
.
data
[
0
].
JZRS_TBL
this
.
para15
=
res
.
data
[
0
].
JZCS
this
.
para16
=
res
.
data
[
0
].
JZCS_TBZ
this
.
para17
=
res
.
data
[
0
].
JZCS_TBL
this
.
para18
=
res
.
data
[
0
].
RJJZCS
this
.
para19
=
res
.
data
[
0
].
RJJZCS_TBZ
this
.
para20
=
res
.
data
[
0
].
RJJZCS_TBL
this
.
para21
=
res
.
data
[
0
].
RJJZCS_PLD
this
.
para22
=
res
.
data
[
0
].
RJZYFY
this
.
para23
=
res
.
data
[
0
].
RJZYFY_TBZ
this
.
para24
=
res
.
data
[
0
].
RJZYFY_TBL
this
.
para25
=
res
.
data
[
0
].
CRF
this
.
para26
=
res
.
data
[
0
].
CRF_BZZ
this
.
para27
=
res
.
data
[
0
].
CRF_PLD
this
.
para28
=
res
.
data
[
0
].
EJZSDJ
this
.
para29
=
res
.
data
[
0
].
EJZSDJ_BZZ
this
.
para30
=
res
.
data
[
0
].
EJZSDJ_PLD
this
.
para31
=
res
.
data
[
0
].
SJZSDJ
this
.
para32
=
res
.
data
[
0
].
SJZSDJ_BZZ
this
.
para33
=
res
.
data
[
0
].
SJZSDJ_PLD
this
.
topvaluelist
=
res
.
data
[
0
]
}
})
},
//左侧门诊上面接口
initsignleftup
()
{
let
token
=
sessionStorage
.
getItem
(
'token'
)
let
param
=
{
"key"
:
"fygl-qy-ljfyfx"
,
"tjsj"
:
this
.
cxsj
,
"gpgh"
:
this
.
loginMsg
.
gpNumber
,
"yljgdm"
:
this
.
loginMsg
.
orgCode
,
"parameter"
:
{
"jglx"
:
""
,
}
}
this
.
outpatientuplist
=
[]
getPageData
(
token
,
param
).
then
(
res
=>
{
// console.log('左侧门诊上面接口:');
// console.log(res);
if
(
res
.
code
==
1
&&
res
.
data
.
length
>
0
)
{
res
.
data
.
forEach
((
item
,
index
)
=>
{
res
.
data
[
index
].
JZRS
=
this
.
commonJs
.
getActiveNum
(
item
.
JZRS
)
res
.
data
[
index
].
JZRS_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
JZRS_TBL
)
res
.
data
[
index
].
JZCS
=
this
.
commonJs
.
getActiveNum
(
item
.
JZCS
)
res
.
data
[
index
].
JZCS_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
JZCS_TBL
)
res
.
data
[
index
].
JZFY
=
this
.
commonJs
.
getActiveNum
(
item
.
JZFY
)
res
.
data
[
index
].
JZFY_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
JZFY_TBL
)
res
.
data
[
index
].
JZYF
=
this
.
commonJs
.
getActiveNum
(
item
.
JZYF
)
res
.
data
[
index
].
JZYF_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
JZYF_TBL
)
this
.
outpatientuplist
=
res
.
data
})
}
})
},
// 左侧门诊下面接口
initsignleftdown
()
{
let
token
=
sessionStorage
.
getItem
(
'token'
)
let
param
=
{
"key"
:
"fygl-qy-ljrjjzfx"
,
"tjsj"
:
this
.
cxsj
,
"gpgh"
:
this
.
loginMsg
.
gpNumber
,
"yljgdm"
:
this
.
loginMsg
.
orgCode
,
"parameter"
:
{
"jzlx"
:
""
,
}
}
this
.
outpatientdownlist
=
[]
getPageData
(
token
,
param
).
then
(
res
=>
{
if
(
res
.
code
==
1
&&
res
.
data
.
length
>
0
)
{
// console.log(res)
// console.log("打印数据”")
res
.
data
.
forEach
((
item
,
index
)
=>
{
res
.
data
[
index
].
MBL
=
this
.
commonJs
.
getActiveNum
(
item
.
MBL
)
res
.
data
[
index
].
SJL
=
this
.
commonJs
.
getActiveNum
(
item
.
SJL
)
res
.
data
[
index
].
MBZ
=
this
.
commonJs
.
getActiveNum
(
item
.
MBZ
)
res
.
data
[
index
].
QNZ
=
this
.
commonJs
.
getActiveNum
(
item
.
QNZ
)
res
.
data
[
index
].
ZXZ
=
this
.
commonJs
.
getActiveNum
(
item
.
ZXZ
)
res
.
data
[
index
].
BZZ
=
this
.
commonJs
.
getActiveNum
(
item
.
BZZ
)
res
.
data
[
index
].
TBZ
=
this
.
commonJs
.
getActiveNum
(
item
.
TBZ
)
this
.
outpatientdownlist
=
res
.
data
})
}
})
},
//右侧列表社区接口
initsignrightcom
()
{
let
token
=
sessionStorage
.
getItem
(
'token'
)
let
param
=
{
"key"
:
"fygl-qy-ljfyfx-list"
,
"tjsj"
:
this
.
cxsj
,
"gpgh"
:
this
.
loginMsg
.
gpNumber
,
"yljgdm"
:
this
.
loginMsg
.
orgCode
,
"parameter"
:
{
"jglx"
:
this
.
isgy
,
"pageIndex"
:
1
,
"pageSize"
:
10
,
}
}
this
.
hospotallist
=
[]
getPageData
(
token
,
param
).
then
(
res
=>
{
// console.log(res)
if
(
res
.
code
==
1
&&
res
.
data
.
listData
.
length
>
0
)
{
res
.
data
.
listData
.
forEach
((
item
,
index
)
=>
{
res
.
data
.
listData
[
index
].
MZFY
=
this
.
commonJs
.
getActiveNum
(
item
.
MZFY
/
10000
)
res
.
data
.
listData
[
index
].
MZFY_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
MZFY_TBL
)
res
.
data
.
listData
[
index
].
MZFY_ZB
=
this
.
commonJs
.
getActiveNum
(
item
.
MZFY_ZB
)
res
.
data
.
listData
[
index
].
MZYF
=
this
.
commonJs
.
getActiveNum
(
item
.
MZYF
/
10000
)
res
.
data
.
listData
[
index
].
MZYF_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
MZYF_TBL
)
this
.
hospotallist
=
res
.
data
.
listData
})
}
})
},
//右侧列表缺陷接口
initsignrightdef
()
{
let
token
=
sessionStorage
.
getItem
(
'token'
)
let
param
=
{
"key"
:
"fygl-qy-mzfyqx"
,
"tjsj"
:
this
.
cxsj
,
"gpgh"
:
this
.
loginMsg
.
gpNumber
,
"yljgdm"
:
this
.
loginMsg
.
orgCode
,
"parameter"
:
{
"pageIndex"
:
1
,
"pageSize"
:
10
,
}
}
this
.
defectlist
=
[]
getPageData
(
token
,
param
).
then
(
res
=>
{
if
(
res
.
code
==
1
&&
res
.
data
.
listData
.
length
>
0
)
{
res
.
data
.
listData
.
forEach
((
item
,
index
)
=>
{
res
.
data
.
listData
[
index
].
MZFY
=
this
.
commonJs
.
getActiveNum
(
item
.
MZFY
)
this
.
defectlist
=
res
.
data
.
listData
})
}
})
},
//二级指标单价TOP4
initsignlevel
()
{
let
token
=
sessionStorage
.
getItem
(
'token'
)
let
param
=
{
"key"
:
"fygl-qy-ljfyfx-jg-zd"
,
"tjsj"
:
this
.
cxsj
,
"gpgh"
:
this
.
loginMsg
.
gpNumber
,
"yljgdm"
:
this
.
loginMsg
.
orgCode
,
}
this
.
twolevel
=
[]
this
.
threelevel
=
[]
getPageData
(
token
,
param
).
then
(
res
=>
{
if
(
res
.
code
==
1
&&
res
.
data
.
length
>
0
)
{
res
.
data
.
forEach
((
item
,
index
)
=>
{
res
.
data
[
index
].
ZSDJ_PLD
=
this
.
commonJs
.
getActiveNum
(
item
.
ZSDJ_PLD
)
res
.
data
[
index
].
YPZSDJ_PLD
=
this
.
commonJs
.
getActiveNum
(
item
.
YPZSDJ_PLD
)
res
.
data
[
index
].
HCZSDJ_PLD
=
this
.
commonJs
.
getActiveNum
(
item
.
HCZSDJ_PLD
)
if
(
res
.
data
[
index
].
JZJGDJ
==
2
)
{
this
.
twolevel
.
push
(
res
.
data
[
index
]);
this
.
twoleveldatalist
=
this
.
twolevel
}
if
(
res
.
data
[
index
].
JZJGDJ
==
3
)
{
this
.
threelevel
.
push
(
res
.
data
[
index
]);
this
.
threeleveldatalist
=
this
.
threelevel
}
})
}
})
},
// 费用-就诊-累计人均弹窗接口
cumpercapvis
()
{
let
token
=
sessionStorage
.
getItem
(
'token'
)
let
param
=
{
"key"
:
"fygl-qy-ljfy-jg"
,
"tjsj"
:
this
.
cxsj
,
"gpgh"
:
this
.
loginMsg
.
gpNumber
,
"yljgdm"
:
this
.
loginMsg
.
orgCode
,
"parameter"
:
{
"jglx"
:
""
}
}
this
.
cumpercapvisdatalist
=
[]
getPageData
(
token
,
param
).
then
(
res
=>
{
// console.log('费用-就诊-累计人均弹窗接口');
if
(
res
.
code
==
1
&&
res
.
data
.
length
>
0
)
{
res
.
data
.
forEach
((
item
,
index
)
=>
{
res
.
data
[
index
].
JZCS
=
this
.
commonJs
.
getActiveNum
(
item
.
JZCS
)
res
.
data
[
index
].
JZCS_ZB
=
this
.
commonJs
.
getActiveNum
(
item
.
JZCS_ZB
)
res
.
data
[
index
].
JZCS_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
JZCS_TBL
)
res
.
data
[
index
].
JZFY
=
this
.
commonJs
.
getActiveNum
(
item
.
JZFY
)
res
.
data
[
index
].
JZFY_ZB
=
this
.
commonJs
.
getActiveNum
(
item
.
JZFY_ZB
)
res
.
data
[
index
].
JZFY_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
JZFY_TBL
)
res
.
data
[
index
].
JZYF
=
this
.
commonJs
.
getActiveNum
(
item
.
JZYF
)
res
.
data
[
index
].
JZYF_ZB
=
this
.
commonJs
.
getActiveNum
(
item
.
JZYF_ZB
)
res
.
data
[
index
].
JZYF_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
JZYF
)
this
.
cumpercapvisdatalist
=
res
.
data
})
}
})
},
dataSearch
(
value
)
{
console
.
log
(
famartTime2
(
value
));
let
val
=
famartTime2
(
value
)
this
.
cxsj
=
val
this
.
initsign
()
this
.
initsignleftup
()
this
.
initsignleftdown
()
this
.
initsignrightcom
()
this
.
initsignrightdef
()
this
.
initsignlevel
()
this
.
cumpercapvis
()
},
yyshow
()
{
this
.
isyy
=
!
this
.
isyy
this
.
showouser1
=
false
this
.
showouser2
=
false
this
.
showouser3
=
false
},
goExit
()
{
this
.
$router
.
push
(
'/Home'
);
},
headerStyle
()
{
return
'background:rgba(48,56,90,1); border:0; margin:0; padding:0; line-height:29px; color:#6D779A; font-size:12px; text-align:center;font-weight:500;'
},
cellStyle
()
{
return
'background:none;color:#fff;border:0; margin:0; padding:0; line-height:29px; color:#AAB1D2; font-size:12px; text-align:center;font-weight:500'
},
changeAll
(
param
)
{
this
.
isall
=
param
},
AnalyFn
()
{
this
.
$router
.
push
(
'/AnalySign'
);
},
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
%
2
==
1
)
{
return
'warning-row'
;
}
else
{
return
'success-row'
;
}
},
tableRowClassName2
({
row
,
rowIndex
})
{
if
(
rowIndex
%
2
==
1
)
{
return
'warning-row2'
;
}
else
{
return
'success-row2'
;
}
},
headerStyle2
()
{
return
'background:rgba(48,56,90,1); border:0; margin:0; padding:0; line-height:29px; color:#6D779A; font-size:12px; text-align:center;font-weight:500;'
},
headerStyle3
()
{
return
'background:rgba(48,56,90,1);border:0; margin:0; padding:0; line-height:29px; color:#8891BE; font-size:12px; text-align:center;font-weight:500;'
},
headerStyle4
()
{
return
'background:#35426E; border:0; margin:0; padding:0; line-height:50px; color:#6D779A; font-size:12px; text-align:center;font-weight:500;'
},
cellStyle2
()
{
return
'background:none;color:#fff;border:0; margin:0; padding:0; line-height:29px; color:#AAB1D2; font-size:12px; text-align:center;font-weight:500'
},
cellStyle4
()
{
return
'background:#35426E;color:#fff;border:0; margin:0; padding:0; line-height:29px; color:#AAB1D2; font-size:12px; text-align:center;font-weight:500'
},
hideLoading
()
{
this
.
loading
=
false
},
showLoading
()
{
this
.
loading
=
true
},
exitHome
()
{
this
.
$router
.
push
(
'/Login'
);
},
question
()
{
this
.
explain
=
!
this
.
explain
},
linkTo
(
param
)
{
if
(
param
==
1
)
{
this
.
$router
.
push
(
'/Signing'
);
}
else
if
(
param
==
2
)
{
this
.
$router
.
push
(
'/Cost'
);
}
else
if
(
param
==
3
)
{
this
.
$router
.
push
(
'/Achievements'
);
}
else
if
(
param
==
4
)
{
this
.
$router
.
push
(
'/Defect'
);
}
else
if
(
param
==
5
)
{
this
.
$router
.
push
(
'/Doctor'
);
}
else
if
(
param
==
6
)
{
this
.
$router
.
push
(
'/Logs'
);
}
else
if
(
param
==
21
)
{
this
.
$router
.
push
(
'/Cost'
);
}
else
if
(
param
==
22
)
{
this
.
$router
.
push
(
'/Sign'
);
}
},
toMember
(
param
)
{
// console.log('sss')
sessionStorage
.
setItem
(
'backUrl'
,
'Cost'
);
this
.
$router
.
push
(
'/Member?sfz='
+
param
);
//this.$router.push({Member: '/login?url=' + this.$route.path});
},
nullreturn
(
param
)
{
if
(
param
==
null
||
param
==
"NaN"
)
{
return
'-'
}
else
{
var
num
=
parseFloat
(
param
)
if
(
Math
.
abs
(
num
)
<
0.1
)
{
//处理绝对值小于0.1的
num
=
num
.
toFixed
(
2
);
}
else
if
((
Math
.
abs
(
num
)
>=
0.1
)
&&
(
Math
.
abs
(
num
)
<=
0.995
))
{
//处理绝对值大于等于0.1小于等于0.995的
num
=
num
.
toPrecision
(
2
);
}
else
if
(
Math
.
abs
(
num
)
>=
999.5
)
{
//处理绝对值大于等于999.5的
num
=
num
.
toFixed
(
0
);
}
else
{
num
=
num
.
toPrecision
(
3
)
}
return
num
}
},
// 用于左侧的点击切换右侧表头内部的文字
changeTabName
(
num
)
{
if
(
num
==
1
)
{
this
.
TableName
=
"社区"
this
.
isgy
=
num
this
.
isall
=
1
}
else
if
(
num
==
2
)
{
this
.
TableName
=
"二级"
this
.
isgy
=
num
this
.
isall
=
1
}
else
{
this
.
TableName
=
"三级"
this
.
isgy
=
num
this
.
isall
=
1
}
this
.
initsignrightcom
()
},
showBox
(
num
)
{
if
(
num
==
1
)
{
this
.
isyy
=
true
this
.
showouser1
=
true
}
else
if
(
num
==
2
)
{
this
.
isyy
=
true
this
.
showouser2
=
true
}
else
if
(
num
==
3
)
{
this
.
isyy
=
true
this
.
showouser3
=
true
}
},
yzbackto
()
{
this
.
$router
.
push
(
'/YSigning'
);
},
openCame
()
{
if
(
false
)
{
}
else
{
this
.
$message
.
error
(
'移动APP打开扫一扫'
);
}
},
showMzHospital
()
{
this
.
$router
.
push
(
'/MzHospitalList'
);
},
gotoDefect
()
{
this
.
$router
.
push
(
'/Defect'
);
},
renderHeader
()
{
return
(
<
div
style
=
"text-decoration: underline;"
on
-
click
=
{()
=>
this
.
gotoDefect
()
}
>
门诊总费用·元
<
/div>
)
},
},
mounted
:
function
()
{
this
.
token
=
sessionStorage
.
getItem
(
'token'
)
this
.
loginMsg
=
JSON
.
parse
(
sessionStorage
.
getItem
(
'userinfo'
))
if
(
this
.
loginMsg
.
roleCode
==
'hcms.APP_SQYZ'
)
{
this
.
yzback
=
true
}
this
.
yname
=
this
.
loginMsg
.
userName
if
(
this
.
loginMsg
.
roleCode
==
'hcms.APP_SQYZ'
)
{
console
.
log
(
'家医数据信息:'
)
console
.
log
(
this
.
loginMsg
)
this
.
loginMsg
.
gpNumber
=
sessionStorage
.
getItem
(
'ygh'
)
this
.
yname
=
sessionStorage
.
getItem
(
'yname'
)
}
this
.
cxsj
=
sessionStorage
.
getItem
(
"cxsj"
)
this
.
initsign
()
this
.
initsignleftup
()
this
.
initsignleftdown
()
this
.
initsignrightcom
()
this
.
initsignrightdef
()
this
.
initsignlevel
()
this
.
cumpercapvis
()
const
obj
=
setInterval
(()
=>
{
if
(
document
.
getElementById
(
"echats1"
))
{
const
dom
=
document
.
getElementById
(
"echats1"
)
const
myChart
=
this
.
$echarts
.
init
(
dom
)
if
(
this
.
option
&&
typeof
this
.
option
===
"object"
)
{
myChart
.
setOption
(
this
.
option
,
true
)
}
clearInterval
(
obj
)
}
},
200
)
const
obj2
=
setInterval
(()
=>
{
if
(
document
.
getElementById
(
"ctpie1"
))
{
const
dom
=
document
.
getElementById
(
"ctpie1"
)
const
myChart
=
this
.
$echarts
.
init
(
dom
)
if
(
this
.
option
&&
typeof
this
.
option
===
"object"
)
{
myChart
.
setOption
(
this
.
pieoption1
,
true
)
}
clearInterval
(
obj2
)
}
},
200
)
const
obj3
=
setInterval
(()
=>
{
if
(
document
.
getElementById
(
"ctpie2"
))
{
const
dom
=
document
.
getElementById
(
"ctpie2"
)
const
myChart
=
this
.
$echarts
.
init
(
dom
)
if
(
this
.
option
&&
typeof
this
.
option
===
"object"
)
{
myChart
.
setOption
(
this
.
pieoption2
,
true
)
}
clearInterval
(
obj3
)
}
},
200
)
},
}
</
script
>
<
style
scoped
>
<
style
scoped
>
.el-table
th
.gutter
{
display
:
table-cell
!important
;
}
.search
/
deep
/
input
{
border
:
0
;
margin
:
0
;
height
:
30px
;
}
.jntemblu
{
width
:
17px
;
height
:
17px
;
margin-top
:
7px
;
font-size
:
12px
;
}
#echats1
{
width
:
100%
;
margin
:
0
auto
;
height
:
260px
;
}
.outService1
{
width
:
550px
;
z-index
:
99
;
position
:
fixed
;
top
:
265px
;
left
:
22%
;
border-radius
:
5px
;
background
:
linear-gradient
(
180deg
,
rgba
(
53
,
66
,
110
,
1
)
0%
,
rgba
(
54
,
66
,
109
,
1
)
100%
);
}
.pservice1
{
height
:
35px
;
line-height
:
35px
;
text-align
:
left
;
padding-left
:
18px
;
color
:
#A6AED6
;
font-size
:
15px
;
border-top-left-radius
:
5px
;
border-top-right-radius
:
5px
;
background
:
#3F4E7D
;
}
.rightbox
{
width
:
49%
;
height
:
115px
;
float
:
left
;
}
.rightbox2
{
width
:
530px
;
padding
:
9px
;
height
:
150px
;
}
.rbiteml
{
width
:
60px
;
height
:
99px
;
float
:
left
;
padding-top
:
31px
;
box-sizing
:
border-box
;
}
.rbitem2
{
margin-right
:
5px
;
height
:
120px
;
padding-top
:
55px
;
width
:
85px
;
}
.rbitemlinner
{
width
:
100%
;
height
:
32px
;
color
:
#AAB1D2
;
margin-top
:
0px
;
line-height
:
32px
;
font-size
:
13px
;
}
.rightbox2
.tablename4
,
.tablename5
{
background
:
#3C5490
;
color
:
rgb
(
170
,
177
,
210
);
}
.rbitemr
{
width
:
430px
;
height
:
150px
;
float
:
right
;
color
:
#fff
;
box-sizing
:
border-box
;
}
.rrline
{
height
:
50px
;
padding-top
:
10px
;
}
.rrline
.rrmodel
{
float
:
left
;
width
:
33.333%
;
color
:
#AAB1D2
;
line-height
:
25px
;
height
:
50px
;
}
.rrmodelbot
{
height
:
100px
;
float
:
left
;
width
:
33.33%
;
}
.rrmodelbot
p
{
line-height
:
30px
;
}
.rrmodelbot
p
:nth-child
(
odd
)
{
background
:
#303b62
;
}
.outServicewords
{
font-size
:
14px
;
color
:
#AAB1D2
;
line-height
:
45px
;
height
:
45px
;
text-align
:
left
;
padding-left
:
15px
;
}
.outService2
{
width
:
480px
;
z-index
:
99
;
position
:
fixed
;
top
:
230px
;
right
:
30px
;
border-radius
:
5px
;
background
:
linear-gradient
(
180deg
,
rgba
(
53
,
66
,
110
,
1
)
0%
,
rgba
(
54
,
66
,
109
,
1
)
100%
);
}
.pservice2
{
height
:
35px
;
line-height
:
35px
;
text-align
:
left
;
padding-left
:
18px
;
color
:
#A6AED6
;
font-size
:
15px
;
border-top-left-radius
:
5px
;
border-top-right-radius
:
5px
;
background
:
#3F4E7D
;
}
.outService3
{
width
:
480px
;
z-index
:
99
;
position
:
fixed
;
top
:
260px
;
right
:
30px
;
border-radius
:
5px
;
background
:
linear-gradient
(
180deg
,
rgba
(
53
,
66
,
110
,
1
)
0%
,
rgba
(
54
,
66
,
109
,
1
)
100%
);
}
.pservice3
{
height
:
35px
;
line-height
:
35px
;
text-align
:
left
;
padding-left
:
18px
;
color
:
#A6AED6
;
font-size
:
15px
;
border-top-left-radius
:
5px
;
border-top-right-radius
:
5px
;
background
:
#3F4E7D
;
}
/
deep
/
.el-input__icon
{
line-height
:
30px
;
}
.clk
{
color
:
#42CCFF
;
}
.explainbox
{
width
:
330px
;
border-radius
:
5px
;
z-index
:
99
;
position
:
fixed
;
top
:
110px
;
left
:
312px
;
padding-bottom
:
5px
;
background
:
rgba
(
1
,
1
,
1
,
0.8
);
}
.explainboxtitle
{
width
:
90%
;
margin
:
0
auto
;
text-align
:
left
;
border-bottom
:
1px
solid
#ccc
;
}
.explainboxtitle
span
{
font-size
:
14px
;
font-weight
:
500
;
color
:
#FFFFFF
;
line-height
:
33px
;
}
.explainboxtcontent
{
width
:
90%
;
height
:
40px
;
margin
:
0
auto
;
text-align
:
left
;
padding-top
:
10px
;
}
.explainboxtcontentleft
{
width
:
15%
;
float
:
left
;
font-size
:
12px
;
font-weight
:
500
;
color
:
#FFFFFF
;
line-height
:
16px
;
text-align
:
center
;
position
:
relative
;
}
.explainboxtcontentleft
i
.icls
{
position
:
absolute
;
height
:
10px
;
width
:
3px
;
color
:
#0097FD
;
background
:
#0097FD
;
left
:
0
;
top
:
4px
;
}
.yydiv
{
background
:
rgba
(
1
,
1
,
1
,
0.7
);
width
:
100%
;
height
:
100%
;
position
:
absolute
;
left
:
0
;
top
:
0
;
}
.explainboxtcontentright
{
width
:
85%
;
float
:
right
;
}
.explainboxtcontentright
span
{
font-size
:
12px
;
font-weight
:
500
;
color
:
#FFFFFF
;
line-height
:
16px
;
}
.spanleft
{
float
:
left
;
}
.testright
{
text-align
:
right
;
}
/
deep
/
.el-table
{
background
:
none
;
}
/
deep
/
.el-table__expanded-cell
{
background
:
none
;
}
/
deep
/
.el-table
th
,
.el-table
tr
{
background
:
none
;
}
/
deep
/
.el-table
.warning-row
{
background
:
rgba
(
48
,
56
,
90
,
1
);
height
:
30px
;
}
/
deep
/
.el-table
.success-row
{
background
:
#2a3557
;
height
:
30px
;
}
/
deep
/
.el-table
.warning-row2
{
background
:
rgba
(
48
,
56
,
90
,
1
);
height
:
29px
;
}
/
deep
/
.el-table
.success-row2
{
background
:
#2a3557
;
height
:
29px
;
}
/
deep
/
.el-table
th
>
.cell
{
padding
:
0
;
}
/
deep
/
.el-table
.cell
{
padding
:
0
;
line-height
:
26px
;
}
.el-table
::before
{
background
:
none
}
/
deep
/
.el-table
,
.el-table__expanded-cell
{
background
:
none
;
}
/
deep
/
.el-table__fixed
::before
{
background-color
:
#293054
;
}
.el-date-editor
{
width
:
30px
;
position
:
absolute
;
right
:
0px
;
top
:
0px
;
}
/
deep
/
.el-date-editor
.el-date-editor--month
input
{
width
:
30px
;
border
:
0
;
padding-left
:
0px
;
}
/
deep
/
.el-date-editor
.el-input__inner
{
background
:
none
!important
;
}
/
deep
/
.el-date-editor
.el-input__prefix
{
display
:
none
;
}
/
deep
/
.el-date-editor
.el-input__suffix
{
display
:
none
;
}
</
style
>
</
style
>
src/views/gp/expense/GpExpenseHome.vue
deleted
100644 → 0
View file @
80106bcb
<
template
>
<div>
<div
class=
"div-model fl01"
>
<div
class=
"title"
>
累计签约人均费用
</div>
<div
class=
"content"
>
<div
class=
"qycontent"
>
<div
class=
"qycontentline"
><i
class=
"i01"
></i><span
class=
""
>
实际值
</span>
|
<span>
同期
</span></div>
<div
class=
"qytexttop"
>
<el-tooltip
content=
"签约居民年总费用 / 签约居民数"
placement=
"bottom-start"
>
<span>
{{
nullreturn
(
para01
)
}}
</span>
</el-tooltip>
<span
class=
"span02"
>
/
</span>
<span
class=
"span01"
>
{{
nullreturn
(
para02
)
}}
</span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span03"
>
{{
nullreturn
(
para03
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para03
))
}}
%
</span>
<i
:class=
"para03
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
<div
class=
"qycontentline"
><i
class=
"i02"
></i><span
class=
""
>
签约数·人
</span>
|
<span>
同期
</span></div>
<div
class=
"qytextdown"
>
<span
class=
"spanfont"
>
全
</span>
<div
class=
"spandata"
>
<span>
{{
nullreturn
(
para04
)
}}
</span>
<span
class=
"span02"
>
/
</span>
<span
class=
"span01"
>
{{
nullreturn
(
para05
)
}}
</span>
</div>
</div>
<div
class=
"qytextdown"
>
<span
class=
"spanfont"
>
住院
</span>
<div
class=
"spandata"
>
<span>
{{
nullreturn
(
para06
)
}}
</span>
<span
class=
"span02"
>
/
</span>
<span
class=
"span01"
>
{{
nullreturn
(
para07
)
}}
</span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"div-model fl002"
>
<div
class=
"title"
>
其中累计签约人均门诊费用
<img
@
click=
"question()"
width=
"16"
style=
"vertical-align: middle;"
height=
"16"
src=
"~assets/img/common/icon-mainwen.png"
>
</div>
<div
class=
"content"
>
<div
class=
"qycontent"
>
<div
class=
"qytexttop"
>
<el-tooltip
content=
"签约居民年门诊总费用 / 签约居民数"
placement=
"bottom-start"
>
<span>
{{
nullreturn
(
para08
)
}}
</span>
</el-tooltip>
<span
class=
"span02"
>
/
</span>
<span
class=
"span01"
>
{{
nullreturn
(
para09
)
}}
</span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span03"
>
{{
nullreturn
(
para10
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para10
))
}}
%
</span>
<i
:class=
"para10
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
<span
class=
"span04"
></span>
<code
class=
"pian"
>
偏
</code>
<span
class=
"span03"
>
{{
nullreturn
(
para11
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para11
))
}}
%
</span>
<i
:class=
"para11
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
<div
class=
"qytextmodel"
>
<span
class=
"spanfont"
>
累计就诊·千人
</span>
<div
class=
"spandata"
>
<span>
{{
nullreturn
(
para12
/
1000
)
}}
</span>
<span
class=
"span02"
>
/
</span>
<span
class=
"span03"
>
{{
nullreturn
(
para13
/
1000
)
}}
</span>
<span
class=
"span01"
></span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span01"
></span>
<span
class=
"span03"
>
{{
nullreturn
(
para14
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para14
))
}}
%
</span>
<i
:class=
"para14
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
</div>
<div
class=
"qytextmodel"
>
<span
class=
"spanfont"
>
累计就诊·千次
</span>
<div
class=
"spandata"
>
<span>
{{
nullreturn
(
para15
/
1000
)
}}
</span>
<span
class=
"span02"
>
/
</span>
<span
class=
"span03"
>
{{
nullreturn
(
para16
/
1000
)
}}
</span>
<span
class=
"span01"
></span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span01"
></span>
<span
class=
"span03"
>
{{
nullreturn
(
para17
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para17
))
}}
%
</span>
<i
:class=
"para17
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
</div>
<div
class=
"qytextmodel"
>
<span
class=
"spanfont spanline"
@
click=
"showBox(1)"
>
累计人均就诊·次
</span>
<div
class=
"spandata"
>
<span>
{{
nullreturn
(
para18
)
}}
</span>
<span
class=
"span02"
>
/
</span>
<span
class=
"span03"
>
{{
nullreturn
(
para19
)
}}
</span>
<span
class=
"span01"
></span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span01"
></span>
<span
class=
"span03"
>
{{
nullreturn
(
para20
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para20
))
}}
%
</span>
<i
:class=
"para20
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
<span
class=
"span01"
></span>
<code
class=
"pian"
>
偏
</code>
<span
class=
"span01"
></span>
<span
class=
"span03"
>
{{
nullreturn
(
para21
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para21
))
}}
%
</span>
<i
:class=
"para21
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
</div>
</div>
</div>
</div>
<div
class=
"div-model fr001"
>
<div
class=
"title"
>
其中累计签约人均住院费用
</div>
<div
class=
"content"
>
<div
class=
"qycontent"
>
<div
class=
"qytexttop"
>
<el-tooltip
content=
"签约居民年住院总费用 / 签约居民数"
placement=
"bottom-start"
>
<span>
{{
nullreturn
(
para22
)
}}
</span>
</el-tooltip>
<span
class=
"span02"
>
/
</span>
<span
class=
"span01"
>
{{
nullreturn
(
para23
)
}}
</span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span03"
>
{{
nullreturn
(
para24
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para24
))
}}
%
</span>
<i
:class=
"para24
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
<div
class=
"qytextright"
>
<span
class=
"spanfont"
>
社区床日·元(实/同)
</span>
<div
class=
"spandata"
>
<span>
{{
nullreturn
(
para25
)
}}
</span>
<span
class=
"span02"
>
/
</span>
<span
class=
"span03"
>
{{
nullreturn
(
para26
)
}}
</span>
<span
class=
"span01"
></span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span01"
></span>
<span
class=
"span03"
>
{{
nullreturn
(
para27
)
==
'-'
?
'-'
:
Math
.
abs
(
nullreturn
(
para27
))
}}
%
</span>
<i
:class=
"para27
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
</div>
<div
class=
"qytextright"
>
<span
class=
"spanfont spanline"
@
click=
"showBox(2)"
>
二级指标·万(实/标)
</span>
<div
class=
"spandata"
>
<span>
{{
nullreturn
(
para28
/
10000
)
}}
</span>
<span
class=
"span02"
>
/
</span>
<span
class=
"span03"
>
{{
nullreturn
(
para29
/
10000
)
}}
</span>
<span
class=
"span01"
></span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span01"
></span>
<span
class=
"span03"
>
{{
nullreturn
(
para30
)
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
para30
))
}}
%
</span>
<i
:class=
"para30
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
</div>
<div
class=
"qytextright"
>
<span
class=
"spanfont spanline"
@
click=
"showBox(3)"
>
三级指标·万(实/标)
</span>
<div
class=
"spandata"
>
<span>
{{
nullreturn
(
para31
/
10000
)
}}
</span>
<span
class=
"span02"
>
/
</span>
<span
class=
"span03"
>
{{
nullreturn
(
para32
/
10000
)
}}
</span>
<span
class=
"span01"
></span>
<code
class=
"tong"
>
同
</code>
<span
class=
"span01"
></span>
<span
class=
"span03"
>
{{
nullreturn
(
para33
)
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
para33
))
}}
%
</span>
<i
:class=
"para33
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</div>
</div>
</div>
</div>
</div>
<!-----------底部内容---------->
<div
class=
"div-model-b"
>
<div
class=
"title"
>
门诊
</div>
<div
class=
"div-model-echarts div-model-echarts2"
>
<div
class=
"etitle1 spanline"
@
click=
"AnalyFn()"
>
累计费用分析
</div>
<div
class=
"ecp01"
@
click=
"changeTabName(1)"
:class=
"isgy==1?'clk':''"
>
社区
</div>
<div
class=
"ecp02"
@
click=
"changeTabName(2)"
:class=
"isgy==2?'clk':''"
>
二级
</div>
<div
class=
"ecp03"
@
click=
"changeTabName(3)"
:class=
"isgy==3?'clk':''"
>
三级
</div>
<div
class=
"etitle2"
>
累计人均就诊分析
</div>
<div
class=
"etotal01"
>
合计
</div>
<div
class=
"etotal02 spanline"
@
click=
"AnalyFn()"
>
组合内
</div>
<div
class=
"etotal03 spanline"
@
click=
"AnalyFn()"
>
签约社区
</div>
<el-table
:header-cell-style=
"headerStyle2"
:fit=
"true"
:cell-style=
"cellStyle2"
height=
"125"
:row-class-name=
"tableRowClassName2"
:data=
"outpatientuplist"
>
<el-table-column
prop=
"name"
label=
"就诊·人/同·%"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
JZRS
}}
/
{{
scope
.
row
.
JZRS_TBL
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
JZRS_TBL
))
}}
<i
:class=
"scope.row.JZRS_TBL
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
<el-table-column
prop=
"province"
label=
"人均·次/同·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
JZCS
}}
/
{{
scope
.
row
.
JZCS_TBL
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
JZCS_TBL
))
}}
<i
:class=
"scope.row.JZCS_TBL
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
<el-table-column
prop=
"pepole"
label=
"人均·元/同·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
JZFY
}}
/
{{
scope
.
row
.
JZFY_TBL
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
JZFY_TBL
))
}}
<i
:class=
"scope.row.JZFY_TBL
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
<el-table-column
prop=
"city"
label=
"人均药·元/同·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
JZYF
}}
/
{{
scope
.
row
.
JZYF_TBL
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
JZYF_TBL
))
}}
<i
:class=
"scope.row.JZYF_TBL
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
</el-table>
<el-table
:header-cell-style=
"headerStyle2"
:fit=
"true"
:cell-style=
"cellStyle2"
height=
"125"
:row-class-name=
"tableRowClassName2"
:data=
"outpatientdownlist"
>
<el-table-column
prop=
"name"
label=
"目标/时值·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
MBL
}}
/
{{
scope
.
row
.
SJL
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"province"
label=
"目标/去年·次"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
MBZ
}}
/
{{
scope
.
row
.
QNZ
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"pepole"
label=
"时值/时标·次"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
ZXZ
}}
/
{{
scope
.
row
.
BZZ
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"city"
label=
"时值同比·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
TBZ
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
TBZ
))
}}
<i
:class=
"scope.row.TBZ
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"div-model-table div-model-table2"
>
<div
class=
"tabletitle"
>
<span
@
click=
"changeAll(1)"
:class=
"isall==1?'clk':''"
>
{{TableName}}
</span>
<span
@
click=
"changeAll(2)"
:class=
"isall==2?'clk':''"
>
缺陷
</span>
</div>
<el-table
v-show=
"isall==1"
:header-cell-style=
"headerStyle"
:fit=
"true"
:cell-style=
"cellStyle"
height=
"230"
:row-class-name=
"tableRowClassName"
:data=
"hospotallist"
>
<el-table-column
prop=
"name"
width=
"45"
label=
"序列"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"province"
:show-overflow-tooltip=
"true"
min-width=
"64"
>
<
template
slot=
"header"
slot-scope=
"scope"
class=
"Movearrow"
>
<div
class=
"spanline spanleft"
@
click=
"showMzHospital()"
>
医院
</div>
</
template
>
<
template
slot-scope=
"scope"
>
<span
class=
"spanline spanleft"
@
click=
"AnalyFn()"
>
{{
scope
.
row
.
JZJGJC
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"pepole"
width=
"100"
label=
"总费用·万/同·%"
>
<
template
slot-scope=
"scope"
>
<span
class=
"ycqd_lf testright"
>
{{
scope
.
row
.
MZFY
}}
/
{{
scope
.
row
.
MZFY_TBL
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
MZFY_TBL
))
}}
</span>
<span
class=
"sp13"
><i
:class=
"scope.row.MZFY_TBL
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i></span>
</
template
>
</el-table-column>
<el-table-column
prop=
"city"
width=
"74"
label=
"总费用占比·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
MZFY_ZB
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
width=
"100"
label=
"药费·万/同·%"
>
<
template
slot-scope=
"scope"
>
<span
class=
"ycqd_lf testright"
>
{{
scope
.
row
.
MZYF
}}
/
{{
scope
.
row
.
MZYF_TBL
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
MZYF_TBL
))
}}
</span>
<span
class=
"sp13"
><i
:class=
"scope.row.MZYF_TBL
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i></span>
</
template
>
</el-table-column>
</el-table>
<el-table
v-show=
"isall==2"
:header-cell-style=
"headerStyle"
:fit=
"true"
:cell-style=
"cellStyle"
height=
"230"
:row-class-name=
"tableRowClassName"
:data=
"defectlist"
>
<el-table-column
prop=
"name"
width=
"45"
label=
"序列"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"XM"
width=
"90"
label=
"姓名"
class=
"spanline"
>
<
template
slot-scope=
"scope"
>
<span
class=
"spanline"
@
click=
"toMember(scope.row.SFZH)"
>
{{
scope
.
row
.
XM
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"NL"
label=
"年龄"
></el-table-column>
<el-table-column
prop=
"MZFY"
:render-header=
"renderHeader"
></el-table-column>
<el-table-column
prop=
"JZCS"
label=
"就诊·次"
></el-table-column>
</el-table>
</div>
</div>
<!-- 累计人均就诊·次弹出层 -->
<div
class=
"outService1"
v-show=
"showouser1"
>
<p
class=
"pservice1"
>
累计人均门诊
</p>
<div
class=
"rightbox rightbox2"
>
<div
class=
"rbiteml rbitem2"
>
<div
class=
"rbitemlinner"
>
就诊·次
</div>
<div
class=
"rbitemlinner"
>
累计费用·元
</div>
<div
class=
"rbitemlinner"
>
累计药费·元
</div>
</div>
<div
class=
"rbitemr"
>
<div
class=
"rrline"
>
<div
class=
"rrmodel"
>
<p>
社区
</p>
<p>
实值/占·%同·%
</p>
</div>
<div
class=
"rrmodel"
>
<p>
二级
</p>
<p>
实值/占·%同·%
</p>
</div>
<div
class=
"rrmodel"
>
<p>
三级
</p>
<p>
实值/占·%同·%
</p>
</div>
</div>
<div
v-for=
"item in cumpercapvisdatalist"
:key=
"item.index"
class=
"rrmodelbot"
>
<p>
{{item.JZCS}} / {{item.JZCS_ZB}} / {{item.JZCS_TBL=='-'?"-":Math.abs(nullreturn(item.JZCS_TBL))}}
<i
:class=
"item.JZCS_TBL<0?'el-icon-my-down':'el-icon-my-up'"
></i>
</p>
<p>
{{item.JZFY}} / {{item.JZFY_ZB}} / {{item.JZFY_TBL=='-'?"-":Math.abs(nullreturn(item.JZFY_TBL))}}
<i
:class=
"item.JZFY_TBL<0?'el-icon-my-down':'el-icon-my-up'"
></i>
</p>
<p>
{{item.JZYF}} / {{item.JZYF_ZB}} / {{item.JZYF_TBL=='-'?"-":Math.abs(nullreturn(item.JZYF_TBL))}}
<i
:class=
"item.JZYF_TBL<0?'el-icon-my-down':'el-icon-my-up'"
></i>
</p>
</div>
</div>
</div>
<div
style=
"clear: both;"
></div>
<div
class=
"outServicewords"
>
占比 = 当前医院级别累计人均门诊费用(次数)/累计人均门诊总费用(次数)*100%
</div>
</div>
<!-- 门诊费用二级指标弹出层 -->
<div
class=
"outService2"
v-show=
"showouser2"
>
<p
class=
"pservice2"
>
二级指数单价Top4
</p>
<el-table
:header-cell-style=
"headerStyle3"
:fit=
"true"
:cell-style=
"cellStyle2"
height=
"125"
:row-class-name=
"tableRowClassName"
:data=
"twoleveldatalist"
>
<el-table-column
fixed
label=
"序号"
width=
"45"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"XM"
label=
"姓名"
width=
"70"
></el-table-column>
<el-table-column
prop=
"JZJGMC"
label=
"住院机构"
width=
"120"
></el-table-column>
<el-table-column
prop=
"ZSDJ_PLD"
label=
"单·/偏·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
ZSDJ_PLD
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
ZSDJ_PLD
))
}}
<i
:class=
"scope.row.ZSDJ_PLD
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
<el-table-column
prop=
"YPZSDJ_PLD"
label=
"药·/偏·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
YPZSDJ_PLD
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
YPZSDJ_PLD
))
}}
<i
:class=
"scope.row.YPZSDJ_PLD
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
<el-table-column
prop=
"HCZSDJ_PLD"
label=
"耗·/偏·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
HCZSDJ_PLD
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
HCZSDJ_PLD
))
}}
<i
:class=
"scope.row.HCZSDJ_PLD
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
</el-table>
</div>
<div
v-show=
"isyy"
@
click=
"yyshow"
class=
"yydiv"
></div>
<!-- 门诊费用三级指标弹出层 -->
<div
class=
"outService3"
v-show=
"showouser3"
>
<p
class=
"pservice3"
>
三级指数单价Top4
</p>
<el-table
:header-cell-style=
"headerStyle3"
:fit=
"true"
:cell-style=
"cellStyle2"
height=
"125"
:row-class-name=
"tableRowClassName"
:data=
"threeleveldatalist"
>
<el-table-column
fixed
label=
"序号"
width=
"60"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"XM"
label=
"姓名"
width=
"70"
></el-table-column>
<el-table-column
prop=
"JZJGMC"
label=
"住院机构"
width=
"120"
></el-table-column>
<el-table-column
prop=
"ZSDJ_PLD"
label=
"单·/偏·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
ZSDJ_PLD
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
ZSDJ_PLD
))
}}
<i
:class=
"scope.row.ZSDJ_PLD
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
<el-table-column
prop=
"YPZSDJ_PLD"
label=
"药·/偏·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
ZSDJ_PLD
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
ZSDJ_PLD
))
}}
<i
:class=
"scope.row.YPZSDJ_PLD
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
<el-table-column
prop=
"HCZSDJ_PLD"
label=
"耗·/偏·%"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
ZSDJ_PLD
==
'-'
?
"-"
:
Math
.
abs
(
nullreturn
(
scope
.
row
.
ZSDJ_PLD
))
}}
<i
:class=
"scope.row.HCZSDJ_PLD
<0
?'
el-icon-my-down
'
:
'
el-icon-my-up
'"
></i>
</
template
>
</el-table-column>
</el-table>
</div>
<!-- 点击问号弹出层 -->
<div
class=
"explainbox"
v-if=
"explain"
>
<div
class=
"explainboxtitle"
><span>
累计就诊人均门诊费用标准
</span></div>
<div
class=
"explainboxtcontent"
>
<div
class=
"explainboxtcontentleft"
>
<i
class=
"icls"
></i>
说明
</div>
<div
class=
"explainboxtcontentright"
>
<span>
全年人均累计就诊费用为4839元,4月份 时标为 1613元,计算公式=(4839/12)*4
</span>
</div>
</div>
</div>
</div>
</template>
<
script
>
import
{
home
,
getPageData
}
from
'api/home'
import
PageHeader
from
"components/common/header/PageHeader"
;
import
SideNavbar
from
"components/common/sideNavbar/SideNavbar"
;
export
default
{
components
:
{
PageHeader
,
SideNavbar
},
name
:
'gpExpenseHome'
,
data
()
{
return
{
token
:
''
,
loginMsg
:
{},
para01
:
1
,
para02
:
2
,
yname
:
''
,
yzback
:
false
,
para03
:
3
,
para04
:
4
,
para05
:
5
,
para06
:
6
,
para07
:
7
,
para08
:
8
,
para09
:
9
,
para10
:
10
,
para11
:
11
,
para12
:
12
,
para13
:
13
,
para14
:
14
,
para15
:
15
,
para16
:
16
,
para17
:
17
,
para18
:
18
,
para19
:
19
,
para20
:
20
,
para21
:
21
,
para22
:
22
,
para23
:
23
,
para24
:
24
,
para25
:
25
,
para26
:
26
,
para27
:
27
,
para28
:
28
,
para29
:
29
,
para30
:
30
,
para31
:
31
,
para32
:
32
,
para33
:
33
,
selectTime
:
'2020-05'
,
jctxt
:
'150'
,
isgy
:
1
,
loginID
:
''
,
isall
:
1
,
loading
:
false
,
isyy
:
false
,
TableName
:
'社区'
,
// 用于切换右侧的表头名字
explain
:
false
,
// 用于显示或隐藏问号弹出层
showouser1
:
false
,
// 用于显示或隐藏累计人均就诊·次弹出层
showouser2
:
false
,
// 用于显示或隐藏二级指标弹出层
showouser3
:
false
,
// 用于显示或隐藏三级指标弹出层
detelist
:
{},
hzpoints
:
[],
cxsj
:
""
,
numbers
:
"01"
,
topvaluelist
:
[{}],
hospotallist
:
[],
defectlist
:
[],
outpatientuplist
:
[],
outpatientdownlist
:
[],
twoleveldatalist
:
[],
threeleveldatalist
:
[],
cumpercapvisdatalist
:
[],
option
:
{
tooltip
:
{
position
:
[
50
,
50
],
padding
:
10
,
trigger
:
'axis'
,
formatter
:
function
(
params
)
{
var
res
=
"<div class='ectabletitle'>"
;
res
+=
"60以上(实值/同期)</div>"
;
res
+=
"<ul class='ectable01'>"
;
res
+=
"<li class='li01'>管辖数:<li>"
;
res
+=
"<li class='li03'>2 / 3人</li>"
;
res
+=
"<li><span class='tag-circle'>同</span></li>"
;
res
+=
"<li>2 <span class='el-icon-bottom'> </span></li>"
;
res
+=
"</ul>"
;
res
+=
"<ul class='ectable01'>"
;
res
+=
"<li class='li01'>签约数:<li>"
;
res
+=
"<li class='li03'>2 / 3人</li>"
;
res
+=
"<li><span class='tag-circle'>同</span></li>"
;
res
+=
"<li>54 <span class='el-icon-bottom'> </span></li>"
;
res
+=
"</ul>"
;
res
+=
"<ul class='ectable01'>"
;
res
+=
"<li class='li01'>签约率:</li>"
;
res
+=
"<li class='li03'>43 %/53 %</li>"
;
res
+=
"<li><span class='tag-circle'>同</span></li>"
;
res
+=
"<li>12 <span class='el-icon-bottom'> </span></li>"
;
res
+=
"</ul>"
;
res
+=
"<ul class='ectable01'>"
;
res
+=
"<li class='li02'>签约率偏离度:</li>"
;
res
+=
"<li class='li03'>43% <span class='el-icon-bottom'> </span> / 65% <span class='el-icon-bottom'> </span></li>"
;
res
+=
"<li></li>"
;
res
+=
"<li></li>"
;
res
+=
"</ul>"
;
return
res
}
},
legend
:
{
textStyle
:
{
color
:
'#8393A9'
,
fontSize
:
10
},
left
:
25
,
top
:
'5'
,
itemHeight
:
10
,
itemWidth
:
10
,
itemGap
:
5
,
data
:
[
'已签约'
,
'管辖数'
,
'重点签约人数'
,
'重点管辖数'
,
'签约率偏离度'
,
'重点签约率偏离度'
],
align
:
'left'
,
selectedMode
:
false
},
grid
:
{
top
:
80
,
bottom
:
45
,
left
:
50
},
xAxis
:
[{
type
:
'category'
,
data
:
[
'静安'
,
'黄埔'
,
'闵行'
,
'宝山'
,
'松江'
,
'青浦'
,
'浦东'
,
'奉贤'
],
axisLine
:
{
lineStyle
:
{
color
:
'#8393A9'
,
type
:
'solid'
}
},
axisLabel
:
{
interval
:
0
,
rotate
:
60
,
textStyle
:
{
fontSize
:
10
,
color
:
function
(
value
,
index
)
{
return
'#8393A9'
;
}
}
},
splitLine
:
{
show
:
false
,
onZero
:
false
},
axisTick
:
{
show
:
false
},
}],
yAxis
:
[{
type
:
'value'
,
name
:
'千'
,
min
:
0
,
axisLabel
:
{
textStyle
:
{
color
:
'#8393A9'
,
type
:
'solid'
},
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#8393A9'
,
type
:
'solid'
}
},
splitLine
:
{
show
:
false
},
axisTick
:
{
show
:
true
}
},
{
type
:
'value'
,
name
:
'%'
,
max
:
100
,
min
:
0
,
splitNumber
:
5
,
axisLabel
:
{
textStyle
:
{
color
:
function
(
value
,
index
)
{
return
'#747d8d'
;
},
type
:
'solid'
}
},
axisLine
:
{
show
:
true
,
lineStyle
:
{
color
:
'#8393A9'
,
type
:
'solid'
}
},
splitLine
:
{
show
:
false
},
axisTick
:
{
show
:
true
},
}
],
series
:
[{
name
:
'已签约'
,
type
:
'bar'
,
barWidth
:
null
,
itemStyle
:
{
normal
:
{
color
:
'#2680ff'
}
},
data
:
[
12
,
23
,
4
,
5
,
6
,
21
,
5
,
2
],
},
{
name
:
'管辖数'
,
type
:
'bar'
,
stack
:
"1"
,
barWidth
:
null
,
itemStyle
:
{
normal
:
{
color
:
'#2e4f8b'
}
},
data
:
[
12
,
3
,
4
,
5
,
6
,
21
,
5
,
2
]
},
{
name
:
'重点签约人数'
,
type
:
'bar'
,
barWidth
:
null
,
itemStyle
:
{
normal
:
{
color
:
'#36f2d8'
}
},
data
:
[
12
,
3
,
4
,
5
,
6
,
12
,
5
,
2
]
},
{
name
:
'重点管辖数'
,
type
:
'bar'
,
smooth
:
true
,
yAxisIndex
:
1
,
symbol
:
'circle'
,
symbolSize
:
6
,
itemStyle
:
{
normal
:
{
color
:
'#336b84'
}
},
z
:
11
,
data
:
[
12
,
3
,
4
,
5
,
6
,
11
,
5
,
12
],
},
{
name
:
'签约率偏离度'
,
type
:
'line'
,
smooth
:
true
,
yAxisIndex
:
1
,
symbol
:
'circle'
,
symbolSize
:
6
,
z
:
11
,
itemStyle
:
{
normal
:
{
color
:
'#fda739'
}
},
data
:
[
12
,
3
,
14
,
5
,
6
,
12
,
5
,
21
],
},
{
name
:
'重点签约率偏离度'
,
type
:
'line'
,
smooth
:
true
,
yAxisIndex
:
1
,
symbol
:
'circle'
,
symbolSize
:
6
,
z
:
11
,
itemStyle
:
{
normal
:
{
color
:
'#f8d065'
}
},
data
:
[
12
,
3
,
4
,
5
,
6
,
11
,
5
,
21
],
}
]
},
pieoption1
:
{
color
:
[
"#1467FF"
,
"#84B3FF"
,
"#0447C3"
,
"#2A71F2"
,
"#5291FF"
,
"#97BFFF"
],
tooltip
:
{
trigger
:
'item'
,
position
:
[
-
130
,
0
],
formatter
:
function
(
params
)
{
var
res
=
"<div style='height:95px;width:250px;padding:0 10px;font-size: 12px;'>"
;
res
+=
"<div>人群分析</div>"
;
res
+=
"<table class='rqfx_table1' >"
;
res
+=
"<thead>"
;
res
+=
"<tr>"
;
res
+=
"<td width='80'></td>"
;
res
+=
"<td width='80' class='tc'><span style='color:#B3BFD2;'>合计·人</span></td>"
;
res
+=
"<td width='80' class='tc'><span style='color:#B3BFD2;'>重点·人</span></td>"
;
res
+=
"<td width='80' class='tc'><span style='color:#B3BFD2;'>非重点·人</span></td>"
;
res
+=
"</tr>"
;
res
+=
"</thead>"
;
res
+=
"<tbody>"
;
res
+=
"<tr>"
;
res
+=
"<td align='left'><span style='width:12px;height:9px;background:#3B91B3;border-radius:2px;display: inline-block;'></span> <span style='font-size: 12px;'>签约</span></td>"
;
res
+=
"<td class='tc'><span>1</span></td>"
;
res
+=
"<td class='tc'><span>2</span></td>"
;
res
+=
"<td class='tc'><span>3</span></td>"
;
res
+=
"</tr>"
;
res
+=
"<tr>"
;
res
+=
"<td align='left'><span style='width:12px;height:9px;background:#235293;border-radius:2px;display: inline-block;'></span> <span style='font-size: 12px;'>未签约</span></td>"
;
res
+=
"<td class='tc'><span>4</span></td>"
;
res
+=
"<td class='tc'><span>5</span></td>"
;
res
+=
"<td class='tc'><span>6</span></td>"
;
res
+=
"</tr>"
;
res
+=
"</tbody>"
;
res
+=
"</table>"
;
res
+=
"</div>"
;
return
res
}
},
calculable
:
false
,
series
:
[{
hoverAnimation
:
false
,
name
:
''
,
type
:
'pie'
,
radius
:
[
0
,
34
],
x
:
'36%'
,
width
:
'36%'
,
funnelAlign
:
'right'
,
label
:
{
normal
:
{
show
:
false
}
},
labelLine
:
{
normal
:
{
show
:
false
}
},
data
:
[{
value
:
1
,
name
:
''
},
{
value
:
2
,
name
:
''
},
]
},
{
hoverAnimation
:
true
,
hoverOffset
:
3
,
name
:
''
,
type
:
'pie'
,
radius
:
[
44
,
52
],
x
:
'36%'
,
width
:
'36%'
,
funnelAlign
:
'left'
,
label
:
{
normal
:
{
show
:
false
}
},
labelLine
:
{
normal
:
{
show
:
false
}
},
data
:
[{
value
:
3
,
name
:
'A'
},
{
value
:
4
,
name
:
'B'
},
{
value
:
5
,
name
:
'C'
},
{
value
:
6
,
name
:
'D'
},
]
}
]
},
pieoption2
:
{
color
:
[
"#1467FF"
,
"#84B3FF"
,
"#0447C3"
,
"#2A71F2"
,
"#5291FF"
,
"#97BFFF"
],
tooltip
:
{
trigger
:
'item'
,
position
:
[
-
130
,
0
],
formatter
:
function
(
params
)
{
var
res
=
"<div style='height:95px;width:250px;padding:0 10px;font-size: 12px;'>"
;
res
+=
"<div>人群分析</div>"
;
res
+=
"<table class='rqfx_table1' >"
;
res
+=
"<thead>"
;
res
+=
"<tr>"
;
res
+=
"<td width='80'></td>"
;
res
+=
"<td width='80' class='tc'><span style='color:#B3BFD2;'>合计·人</span></td>"
;
res
+=
"<td width='80' class='tc'><span style='color:#B3BFD2;'>重点·人</span></td>"
;
res
+=
"<td width='80' class='tc'><span style='color:#B3BFD2;'>非重点·人</span></td>"
;
res
+=
"</tr>"
;
res
+=
"</thead>"
;
res
+=
"<tbody>"
;
res
+=
"<tr>"
;
res
+=
"<td align='left'><span style='width:12px;height:9px;background:#3B91B3;border-radius:2px;display: inline-block;'></span> <span style='font-size: 12px;'>签约</span></td>"
;
res
+=
"<td class='tc'><span>1</span></td>"
;
res
+=
"<td class='tc'><span>2</span></td>"
;
res
+=
"<td class='tc'><span>3</span></td>"
;
res
+=
"</tr>"
;
res
+=
"<tr>"
;
res
+=
"<td align='left'><span style='width:12px;height:9px;background:#235293;border-radius:2px;display: inline-block;'></span> <span style='font-size: 12px;'>未签约</span></td>"
;
res
+=
"<td class='tc'><span>4</span></td>"
;
res
+=
"<td class='tc'><span>5</span></td>"
;
res
+=
"<td class='tc'><span>6</span></td>"
;
res
+=
"</tr>"
;
res
+=
"</tbody>"
;
res
+=
"</table>"
;
res
+=
"</div>"
;
return
res
}
},
calculable
:
false
,
series
:
[{
hoverAnimation
:
false
,
name
:
''
,
type
:
'pie'
,
radius
:
[
0
,
34
],
x
:
'36%'
,
width
:
'36%'
,
funnelAlign
:
'right'
,
label
:
{
normal
:
{
show
:
false
}
},
labelLine
:
{
normal
:
{
show
:
false
}
},
data
:
[{
value
:
1
,
name
:
''
},
{
value
:
2
,
name
:
''
},
]
},
{
hoverAnimation
:
true
,
hoverOffset
:
3
,
name
:
''
,
type
:
'pie'
,
radius
:
[
44
,
52
],
x
:
'36%'
,
width
:
'36%'
,
funnelAlign
:
'left'
,
label
:
{
normal
:
{
show
:
false
}
},
labelLine
:
{
normal
:
{
show
:
false
}
},
data
:
[{
value
:
3
,
name
:
'A'
},
{
value
:
4
,
name
:
'B'
},
{
value
:
5
,
name
:
'C'
},
{
value
:
6
,
name
:
'D'
},
]
}
]
},
tableData2
:
[{
name
:
'1'
,
province
:
'60以上'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'2'
,
province
:
'高血压'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'3'
,
province
:
'糖尿病'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
}],
tableData
:
[{
name
:
'1'
,
province
:
'60以上'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'2'
,
province
:
'高血压'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'3'
,
province
:
'糖尿病'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'4'
,
province
:
'0-6岁'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'5'
,
province
:
'孕产妇'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'6'
,
province
:
'残疾人'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'7'
,
province
:
'结核病'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'8'
,
province
:
'特殊家庭'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'9'
,
province
:
'贫困人口'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
},
{
name
:
'10'
,
province
:
'精神病'
,
city
:
'-'
,
pepole
:
'11'
,
address
:
'-'
,
}]
}
},
methods
:
{
//累计签约人均费用数据接口
initsign
()
{
let
token
=
sessionStorage
.
getItem
(
'token'
)
let
param
=
{
"key"
:
"fygl-qy-ljfy"
,
"tjsj"
:
this
.
cxsj
,
"gpgh"
:
this
.
loginMsg
.
gpNumber
,
"yljgdm"
:
this
.
loginMsg
.
orgCode
}
getPageData
(
token
,
param
).
then
(
res
=>
{
//console.log(res)
this
.
para01
=
0
this
.
para02
=
0
this
.
para03
=
0
this
.
para04
=
0
this
.
para05
=
0
this
.
para06
=
0
this
.
para07
=
0
this
.
para08
=
0
this
.
para09
=
0
this
.
para10
=
0
this
.
para11
=
0
this
.
para12
=
0
this
.
para13
=
0
this
.
para14
=
0
this
.
para15
=
0
this
.
para16
=
0
this
.
para17
=
0
this
.
para18
=
0
this
.
para19
=
0
this
.
para20
=
0
this
.
para21
=
0
this
.
para22
=
0
this
.
para23
=
0
this
.
para24
=
0
this
.
para25
=
0
this
.
para26
=
0
this
.
para27
=
0
this
.
para28
=
0
this
.
para29
=
0
this
.
para30
=
0
this
.
para31
=
0
this
.
para32
=
0
this
.
para33
=
0
if
(
res
.
code
==
1
&&
res
.
data
.
length
>
0
)
{
this
.
para01
=
res
.
data
[
0
].
RJFY
this
.
para02
=
res
.
data
[
0
].
RJFY_TBZ
this
.
para03
=
res
.
data
[
0
].
RJFY_TBL
this
.
para04
=
res
.
data
[
0
].
QYRS
this
.
para05
=
res
.
data
[
0
].
QYRS_TBZ
this
.
para06
=
res
.
data
[
0
].
ZYRS
this
.
para07
=
res
.
data
[
0
].
ZYRS_TBZ
this
.
para08
=
res
.
data
[
0
].
RJMZFY
this
.
para09
=
res
.
data
[
0
].
RJMZFY_TBZ
this
.
para10
=
res
.
data
[
0
].
RJMZFY_TBL
this
.
para11
=
res
.
data
[
0
].
RJMZFY_PLD
this
.
para12
=
res
.
data
[
0
].
JZRS
this
.
para13
=
res
.
data
[
0
].
JZRS_TBZ
this
.
para14
=
res
.
data
[
0
].
JZRS_TBL
this
.
para15
=
res
.
data
[
0
].
JZCS
this
.
para16
=
res
.
data
[
0
].
JZCS_TBZ
this
.
para17
=
res
.
data
[
0
].
JZCS_TBL
this
.
para18
=
res
.
data
[
0
].
RJJZCS
this
.
para19
=
res
.
data
[
0
].
RJJZCS_TBZ
this
.
para20
=
res
.
data
[
0
].
RJJZCS_TBL
this
.
para21
=
res
.
data
[
0
].
RJJZCS_PLD
this
.
para22
=
res
.
data
[
0
].
RJZYFY
this
.
para23
=
res
.
data
[
0
].
RJZYFY_TBZ
this
.
para24
=
res
.
data
[
0
].
RJZYFY_TBL
this
.
para25
=
res
.
data
[
0
].
CRF
this
.
para26
=
res
.
data
[
0
].
CRF_BZZ
this
.
para27
=
res
.
data
[
0
].
CRF_PLD
this
.
para28
=
res
.
data
[
0
].
EJZSDJ
this
.
para29
=
res
.
data
[
0
].
EJZSDJ_BZZ
this
.
para30
=
res
.
data
[
0
].
EJZSDJ_PLD
this
.
para31
=
res
.
data
[
0
].
SJZSDJ
this
.
para32
=
res
.
data
[
0
].
SJZSDJ_BZZ
this
.
para33
=
res
.
data
[
0
].
SJZSDJ_PLD
this
.
topvaluelist
=
res
.
data
[
0
]
}
})
},
//左侧门诊上面接口
initsignleftup
()
{
let
token
=
sessionStorage
.
getItem
(
'token'
)
let
param
=
{
"key"
:
"fygl-qy-ljfyfx"
,
"tjsj"
:
this
.
cxsj
,
"gpgh"
:
this
.
loginMsg
.
gpNumber
,
"yljgdm"
:
this
.
loginMsg
.
orgCode
,
"parameter"
:
{
"jglx"
:
""
,
}
}
this
.
outpatientuplist
=
[]
getPageData
(
token
,
param
).
then
(
res
=>
{
// console.log('左侧门诊上面接口:');
// console.log(res);
if
(
res
.
code
==
1
&&
res
.
data
.
length
>
0
)
{
res
.
data
.
forEach
((
item
,
index
)
=>
{
res
.
data
[
index
].
JZRS
=
this
.
commonJs
.
getActiveNum
(
item
.
JZRS
)
res
.
data
[
index
].
JZRS_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
JZRS_TBL
)
res
.
data
[
index
].
JZCS
=
this
.
commonJs
.
getActiveNum
(
item
.
JZCS
)
res
.
data
[
index
].
JZCS_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
JZCS_TBL
)
res
.
data
[
index
].
JZFY
=
this
.
commonJs
.
getActiveNum
(
item
.
JZFY
)
res
.
data
[
index
].
JZFY_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
JZFY_TBL
)
res
.
data
[
index
].
JZYF
=
this
.
commonJs
.
getActiveNum
(
item
.
JZYF
)
res
.
data
[
index
].
JZYF_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
JZYF_TBL
)
this
.
outpatientuplist
=
res
.
data
})
}
})
},
// 左侧门诊下面接口
initsignleftdown
()
{
let
token
=
sessionStorage
.
getItem
(
'token'
)
let
param
=
{
"key"
:
"fygl-qy-ljrjjzfx"
,
"tjsj"
:
this
.
cxsj
,
"gpgh"
:
this
.
loginMsg
.
gpNumber
,
"yljgdm"
:
this
.
loginMsg
.
orgCode
,
"parameter"
:
{
"jzlx"
:
""
,
}
}
this
.
outpatientdownlist
=
[]
getPageData
(
token
,
param
).
then
(
res
=>
{
if
(
res
.
code
==
1
&&
res
.
data
.
length
>
0
)
{
// console.log(res)
// console.log("打印数据”")
res
.
data
.
forEach
((
item
,
index
)
=>
{
res
.
data
[
index
].
MBL
=
this
.
commonJs
.
getActiveNum
(
item
.
MBL
)
res
.
data
[
index
].
SJL
=
this
.
commonJs
.
getActiveNum
(
item
.
SJL
)
res
.
data
[
index
].
MBZ
=
this
.
commonJs
.
getActiveNum
(
item
.
MBZ
)
res
.
data
[
index
].
QNZ
=
this
.
commonJs
.
getActiveNum
(
item
.
QNZ
)
res
.
data
[
index
].
ZXZ
=
this
.
commonJs
.
getActiveNum
(
item
.
ZXZ
)
res
.
data
[
index
].
BZZ
=
this
.
commonJs
.
getActiveNum
(
item
.
BZZ
)
res
.
data
[
index
].
TBZ
=
this
.
commonJs
.
getActiveNum
(
item
.
TBZ
)
this
.
outpatientdownlist
=
res
.
data
})
}
})
},
//右侧列表社区接口
initsignrightcom
()
{
let
token
=
sessionStorage
.
getItem
(
'token'
)
let
param
=
{
"key"
:
"fygl-qy-ljfyfx-list"
,
"tjsj"
:
this
.
cxsj
,
"gpgh"
:
this
.
loginMsg
.
gpNumber
,
"yljgdm"
:
this
.
loginMsg
.
orgCode
,
"parameter"
:
{
"jglx"
:
this
.
isgy
,
"pageIndex"
:
1
,
"pageSize"
:
10
,
}
}
this
.
hospotallist
=
[]
getPageData
(
token
,
param
).
then
(
res
=>
{
// console.log(res)
if
(
res
.
code
==
1
&&
res
.
data
.
listData
.
length
>
0
)
{
res
.
data
.
listData
.
forEach
((
item
,
index
)
=>
{
res
.
data
.
listData
[
index
].
MZFY
=
this
.
commonJs
.
getActiveNum
(
item
.
MZFY
/
10000
)
res
.
data
.
listData
[
index
].
MZFY_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
MZFY_TBL
)
res
.
data
.
listData
[
index
].
MZFY_ZB
=
this
.
commonJs
.
getActiveNum
(
item
.
MZFY_ZB
)
res
.
data
.
listData
[
index
].
MZYF
=
this
.
commonJs
.
getActiveNum
(
item
.
MZYF
/
10000
)
res
.
data
.
listData
[
index
].
MZYF_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
MZYF_TBL
)
this
.
hospotallist
=
res
.
data
.
listData
})
}
})
},
//右侧列表缺陷接口
initsignrightdef
()
{
let
token
=
sessionStorage
.
getItem
(
'token'
)
let
param
=
{
"key"
:
"fygl-qy-mzfyqx"
,
"tjsj"
:
this
.
cxsj
,
"gpgh"
:
this
.
loginMsg
.
gpNumber
,
"yljgdm"
:
this
.
loginMsg
.
orgCode
,
"parameter"
:
{
"pageIndex"
:
1
,
"pageSize"
:
10
,
}
}
this
.
defectlist
=
[]
getPageData
(
token
,
param
).
then
(
res
=>
{
if
(
res
.
code
==
1
&&
res
.
data
.
listData
.
length
>
0
)
{
res
.
data
.
listData
.
forEach
((
item
,
index
)
=>
{
res
.
data
.
listData
[
index
].
MZFY
=
this
.
commonJs
.
getActiveNum
(
item
.
MZFY
)
this
.
defectlist
=
res
.
data
.
listData
})
}
})
},
//二级指标单价TOP4
initsignlevel
()
{
let
token
=
sessionStorage
.
getItem
(
'token'
)
let
param
=
{
"key"
:
"fygl-qy-ljfyfx-jg-zd"
,
"tjsj"
:
this
.
cxsj
,
"gpgh"
:
this
.
loginMsg
.
gpNumber
,
"yljgdm"
:
this
.
loginMsg
.
orgCode
,
}
this
.
twolevel
=
[]
this
.
threelevel
=
[]
getPageData
(
token
,
param
).
then
(
res
=>
{
if
(
res
.
code
==
1
&&
res
.
data
.
length
>
0
)
{
res
.
data
.
forEach
((
item
,
index
)
=>
{
res
.
data
[
index
].
ZSDJ_PLD
=
this
.
commonJs
.
getActiveNum
(
item
.
ZSDJ_PLD
)
res
.
data
[
index
].
YPZSDJ_PLD
=
this
.
commonJs
.
getActiveNum
(
item
.
YPZSDJ_PLD
)
res
.
data
[
index
].
HCZSDJ_PLD
=
this
.
commonJs
.
getActiveNum
(
item
.
HCZSDJ_PLD
)
if
(
res
.
data
[
index
].
JZJGDJ
==
2
)
{
this
.
twolevel
.
push
(
res
.
data
[
index
]);
this
.
twoleveldatalist
=
this
.
twolevel
}
if
(
res
.
data
[
index
].
JZJGDJ
==
3
)
{
this
.
threelevel
.
push
(
res
.
data
[
index
]);
this
.
threeleveldatalist
=
this
.
threelevel
}
})
}
})
},
// 费用-就诊-累计人均弹窗接口
cumpercapvis
()
{
let
token
=
sessionStorage
.
getItem
(
'token'
)
let
param
=
{
"key"
:
"fygl-qy-ljfy-jg"
,
"tjsj"
:
this
.
cxsj
,
"gpgh"
:
this
.
loginMsg
.
gpNumber
,
"yljgdm"
:
this
.
loginMsg
.
orgCode
,
"parameter"
:
{
"jglx"
:
""
}
}
this
.
cumpercapvisdatalist
=
[]
getPageData
(
token
,
param
).
then
(
res
=>
{
// console.log('费用-就诊-累计人均弹窗接口');
if
(
res
.
code
==
1
&&
res
.
data
.
length
>
0
)
{
res
.
data
.
forEach
((
item
,
index
)
=>
{
res
.
data
[
index
].
JZCS
=
this
.
commonJs
.
getActiveNum
(
item
.
JZCS
)
res
.
data
[
index
].
JZCS_ZB
=
this
.
commonJs
.
getActiveNum
(
item
.
JZCS_ZB
)
res
.
data
[
index
].
JZCS_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
JZCS_TBL
)
res
.
data
[
index
].
JZFY
=
this
.
commonJs
.
getActiveNum
(
item
.
JZFY
)
res
.
data
[
index
].
JZFY_ZB
=
this
.
commonJs
.
getActiveNum
(
item
.
JZFY_ZB
)
res
.
data
[
index
].
JZFY_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
JZFY_TBL
)
res
.
data
[
index
].
JZYF
=
this
.
commonJs
.
getActiveNum
(
item
.
JZYF
)
res
.
data
[
index
].
JZYF_ZB
=
this
.
commonJs
.
getActiveNum
(
item
.
JZYF_ZB
)
res
.
data
[
index
].
JZYF_TBL
=
this
.
commonJs
.
getActiveNum
(
item
.
JZYF
)
this
.
cumpercapvisdatalist
=
res
.
data
})
}
})
},
dataSearch
(
value
)
{
console
.
log
(
famartTime2
(
value
));
let
val
=
famartTime2
(
value
)
this
.
cxsj
=
val
this
.
initsign
()
this
.
initsignleftup
()
this
.
initsignleftdown
()
this
.
initsignrightcom
()
this
.
initsignrightdef
()
this
.
initsignlevel
()
this
.
cumpercapvis
()
},
yyshow
()
{
this
.
isyy
=
!
this
.
isyy
this
.
showouser1
=
false
this
.
showouser2
=
false
this
.
showouser3
=
false
},
goExit
()
{
this
.
$router
.
push
(
'/Home'
);
},
headerStyle
()
{
return
'background:rgba(48,56,90,1); border:0; margin:0; padding:0; line-height:29px; color:#6D779A; font-size:12px; text-align:center;font-weight:500;'
},
cellStyle
()
{
return
'background:none;color:#fff;border:0; margin:0; padding:0; line-height:29px; color:#AAB1D2; font-size:12px; text-align:center;font-weight:500'
},
changeAll
(
param
)
{
this
.
isall
=
param
},
AnalyFn
()
{
this
.
$router
.
push
(
'/AnalySign'
);
},
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
%
2
==
1
)
{
return
'warning-row'
;
}
else
{
return
'success-row'
;
}
},
tableRowClassName2
({
row
,
rowIndex
})
{
if
(
rowIndex
%
2
==
1
)
{
return
'warning-row2'
;
}
else
{
return
'success-row2'
;
}
},
headerStyle2
()
{
return
'background:rgba(48,56,90,1); border:0; margin:0; padding:0; line-height:29px; color:#6D779A; font-size:12px; text-align:center;font-weight:500;'
},
headerStyle3
()
{
return
'background:rgba(48,56,90,1);border:0; margin:0; padding:0; line-height:29px; color:#8891BE; font-size:12px; text-align:center;font-weight:500;'
},
headerStyle4
()
{
return
'background:#35426E; border:0; margin:0; padding:0; line-height:50px; color:#6D779A; font-size:12px; text-align:center;font-weight:500;'
},
cellStyle2
()
{
return
'background:none;color:#fff;border:0; margin:0; padding:0; line-height:29px; color:#AAB1D2; font-size:12px; text-align:center;font-weight:500'
},
cellStyle4
()
{
return
'background:#35426E;color:#fff;border:0; margin:0; padding:0; line-height:29px; color:#AAB1D2; font-size:12px; text-align:center;font-weight:500'
},
hideLoading
()
{
this
.
loading
=
false
},
showLoading
()
{
this
.
loading
=
true
},
exitHome
()
{
this
.
$router
.
push
(
'/Login'
);
},
question
()
{
this
.
explain
=
!
this
.
explain
},
linkTo
(
param
)
{
if
(
param
==
1
)
{
this
.
$router
.
push
(
'/Signing'
);
}
else
if
(
param
==
2
)
{
this
.
$router
.
push
(
'/Cost'
);
}
else
if
(
param
==
3
)
{
this
.
$router
.
push
(
'/Achievements'
);
}
else
if
(
param
==
4
)
{
this
.
$router
.
push
(
'/Defect'
);
}
else
if
(
param
==
5
)
{
this
.
$router
.
push
(
'/Doctor'
);
}
else
if
(
param
==
6
)
{
this
.
$router
.
push
(
'/Logs'
);
}
else
if
(
param
==
21
)
{
this
.
$router
.
push
(
'/Cost'
);
}
else
if
(
param
==
22
)
{
this
.
$router
.
push
(
'/Sign'
);
}
},
toMember
(
param
)
{
// console.log('sss')
sessionStorage
.
setItem
(
'backUrl'
,
'Cost'
);
this
.
$router
.
push
(
'/Member?sfz='
+
param
);
//this.$router.push({Member: '/login?url=' + this.$route.path});
},
nullreturn
(
param
)
{
if
(
param
==
null
||
param
==
"NaN"
)
{
return
'-'
}
else
{
var
num
=
parseFloat
(
param
)
if
(
Math
.
abs
(
num
)
<
0.1
)
{
//处理绝对值小于0.1的
num
=
num
.
toFixed
(
2
);
}
else
if
((
Math
.
abs
(
num
)
>=
0.1
)
&&
(
Math
.
abs
(
num
)
<=
0.995
))
{
//处理绝对值大于等于0.1小于等于0.995的
num
=
num
.
toPrecision
(
2
);
}
else
if
(
Math
.
abs
(
num
)
>=
999.5
)
{
//处理绝对值大于等于999.5的
num
=
num
.
toFixed
(
0
);
}
else
{
num
=
num
.
toPrecision
(
3
)
}
return
num
}
},
// 用于左侧的点击切换右侧表头内部的文字
changeTabName
(
num
)
{
if
(
num
==
1
)
{
this
.
TableName
=
"社区"
this
.
isgy
=
num
this
.
isall
=
1
}
else
if
(
num
==
2
)
{
this
.
TableName
=
"二级"
this
.
isgy
=
num
this
.
isall
=
1
}
else
{
this
.
TableName
=
"三级"
this
.
isgy
=
num
this
.
isall
=
1
}
this
.
initsignrightcom
()
},
showBox
(
num
)
{
if
(
num
==
1
)
{
this
.
isyy
=
true
this
.
showouser1
=
true
}
else
if
(
num
==
2
)
{
this
.
isyy
=
true
this
.
showouser2
=
true
}
else
if
(
num
==
3
)
{
this
.
isyy
=
true
this
.
showouser3
=
true
}
},
yzbackto
()
{
this
.
$router
.
push
(
'/YSigning'
);
},
openCame
()
{
if
(
false
)
{
}
else
{
this
.
$message
.
error
(
'移动APP打开扫一扫'
);
}
},
showMzHospital
()
{
this
.
$router
.
push
(
'/MzHospitalList'
);
},
gotoDefect
()
{
this
.
$router
.
push
(
'/Defect'
);
},
renderHeader
()
{
return
(
<
div
style
=
"text-decoration: underline;"
on
-
click
=
{()
=>
this
.
gotoDefect
()
}
>
门诊总费用·元
<
/div>
)
},
},
mounted
:
function
()
{
this
.
token
=
sessionStorage
.
getItem
(
'token'
)
this
.
loginMsg
=
JSON
.
parse
(
sessionStorage
.
getItem
(
'userinfo'
))
if
(
this
.
loginMsg
.
roleCode
==
'hcms.APP_SQYZ'
)
{
this
.
yzback
=
true
}
this
.
yname
=
this
.
loginMsg
.
userName
if
(
this
.
loginMsg
.
roleCode
==
'hcms.APP_SQYZ'
)
{
console
.
log
(
'家医数据信息:'
)
console
.
log
(
this
.
loginMsg
)
this
.
loginMsg
.
gpNumber
=
sessionStorage
.
getItem
(
'ygh'
)
this
.
yname
=
sessionStorage
.
getItem
(
'yname'
)
}
this
.
cxsj
=
sessionStorage
.
getItem
(
"cxsj"
)
this
.
initsign
()
this
.
initsignleftup
()
this
.
initsignleftdown
()
this
.
initsignrightcom
()
this
.
initsignrightdef
()
this
.
initsignlevel
()
this
.
cumpercapvis
()
const
obj
=
setInterval
(()
=>
{
if
(
document
.
getElementById
(
"echats1"
))
{
const
dom
=
document
.
getElementById
(
"echats1"
)
const
myChart
=
this
.
$echarts
.
init
(
dom
)
if
(
this
.
option
&&
typeof
this
.
option
===
"object"
)
{
myChart
.
setOption
(
this
.
option
,
true
)
}
clearInterval
(
obj
)
}
},
200
)
const
obj2
=
setInterval
(()
=>
{
if
(
document
.
getElementById
(
"ctpie1"
))
{
const
dom
=
document
.
getElementById
(
"ctpie1"
)
const
myChart
=
this
.
$echarts
.
init
(
dom
)
if
(
this
.
option
&&
typeof
this
.
option
===
"object"
)
{
myChart
.
setOption
(
this
.
pieoption1
,
true
)
}
clearInterval
(
obj2
)
}
},
200
)
const
obj3
=
setInterval
(()
=>
{
if
(
document
.
getElementById
(
"ctpie2"
))
{
const
dom
=
document
.
getElementById
(
"ctpie2"
)
const
myChart
=
this
.
$echarts
.
init
(
dom
)
if
(
this
.
option
&&
typeof
this
.
option
===
"object"
)
{
myChart
.
setOption
(
this
.
pieoption2
,
true
)
}
clearInterval
(
obj3
)
}
},
200
)
},
}
</
script
>
<
style
scoped
>
.el-table
th
.gutter
{
display
:
table-cell
!important
;
}
.search
/
deep
/
input
{
border
:
0
;
margin
:
0
;
height
:
30px
;
}
.jntemblu
{
width
:
17px
;
height
:
17px
;
margin-top
:
7px
;
font-size
:
12px
;
}
#echats1
{
width
:
100%
;
margin
:
0
auto
;
height
:
260px
;
}
.outService1
{
width
:
550px
;
z-index
:
99
;
position
:
fixed
;
top
:
265px
;
left
:
22%
;
border-radius
:
5px
;
background
:
linear-gradient
(
180deg
,
rgba
(
53
,
66
,
110
,
1
)
0%
,
rgba
(
54
,
66
,
109
,
1
)
100%
);
}
.pservice1
{
height
:
35px
;
line-height
:
35px
;
text-align
:
left
;
padding-left
:
18px
;
color
:
#A6AED6
;
font-size
:
15px
;
border-top-left-radius
:
5px
;
border-top-right-radius
:
5px
;
background
:
#3F4E7D
;
}
.rightbox
{
width
:
49%
;
height
:
115px
;
float
:
left
;
}
.rightbox2
{
width
:
530px
;
padding
:
9px
;
height
:
150px
;
}
.rbiteml
{
width
:
60px
;
height
:
99px
;
float
:
left
;
padding-top
:
31px
;
box-sizing
:
border-box
;
}
.rbitem2
{
margin-right
:
5px
;
height
:
120px
;
padding-top
:
55px
;
width
:
85px
;
}
.rbitemlinner
{
width
:
100%
;
height
:
32px
;
color
:
#AAB1D2
;
margin-top
:
0px
;
line-height
:
32px
;
font-size
:
13px
;
}
.rightbox2
.tablename4
,
.tablename5
{
background
:
#3C5490
;
color
:
rgb
(
170
,
177
,
210
);
}
.rbitemr
{
width
:
430px
;
height
:
150px
;
float
:
right
;
color
:
#fff
;
box-sizing
:
border-box
;
}
.rrline
{
height
:
50px
;
padding-top
:
10px
;
}
.rrline
.rrmodel
{
float
:
left
;
width
:
33.333%
;
color
:
#AAB1D2
;
line-height
:
25px
;
height
:
50px
;
}
.rrmodelbot
{
height
:
100px
;
float
:
left
;
width
:
33.33%
;
}
.rrmodelbot
p
{
line-height
:
30px
;
}
.rrmodelbot
p
:nth-child
(
odd
)
{
background
:
#303b62
;
}
.outServicewords
{
font-size
:
14px
;
color
:
#AAB1D2
;
line-height
:
45px
;
height
:
45px
;
text-align
:
left
;
padding-left
:
15px
;
}
.outService2
{
width
:
480px
;
z-index
:
99
;
position
:
fixed
;
top
:
230px
;
right
:
30px
;
border-radius
:
5px
;
background
:
linear-gradient
(
180deg
,
rgba
(
53
,
66
,
110
,
1
)
0%
,
rgba
(
54
,
66
,
109
,
1
)
100%
);
}
.pservice2
{
height
:
35px
;
line-height
:
35px
;
text-align
:
left
;
padding-left
:
18px
;
color
:
#A6AED6
;
font-size
:
15px
;
border-top-left-radius
:
5px
;
border-top-right-radius
:
5px
;
background
:
#3F4E7D
;
}
.outService3
{
width
:
480px
;
z-index
:
99
;
position
:
fixed
;
top
:
260px
;
right
:
30px
;
border-radius
:
5px
;
background
:
linear-gradient
(
180deg
,
rgba
(
53
,
66
,
110
,
1
)
0%
,
rgba
(
54
,
66
,
109
,
1
)
100%
);
}
.pservice3
{
height
:
35px
;
line-height
:
35px
;
text-align
:
left
;
padding-left
:
18px
;
color
:
#A6AED6
;
font-size
:
15px
;
border-top-left-radius
:
5px
;
border-top-right-radius
:
5px
;
background
:
#3F4E7D
;
}
/
deep
/
.el-input__icon
{
line-height
:
30px
;
}
.clk
{
color
:
#42CCFF
;
}
.explainbox
{
width
:
330px
;
border-radius
:
5px
;
z-index
:
99
;
position
:
fixed
;
top
:
110px
;
left
:
312px
;
padding-bottom
:
5px
;
background
:
rgba
(
1
,
1
,
1
,
0.8
);
}
.explainboxtitle
{
width
:
90%
;
margin
:
0
auto
;
text-align
:
left
;
border-bottom
:
1px
solid
#ccc
;
}
.explainboxtitle
span
{
font-size
:
14px
;
font-weight
:
500
;
color
:
#FFFFFF
;
line-height
:
33px
;
}
.explainboxtcontent
{
width
:
90%
;
height
:
40px
;
margin
:
0
auto
;
text-align
:
left
;
padding-top
:
10px
;
}
.explainboxtcontentleft
{
width
:
15%
;
float
:
left
;
font-size
:
12px
;
font-weight
:
500
;
color
:
#FFFFFF
;
line-height
:
16px
;
text-align
:
center
;
position
:
relative
;
}
.explainboxtcontentleft
i
.icls
{
position
:
absolute
;
height
:
10px
;
width
:
3px
;
color
:
#0097FD
;
background
:
#0097FD
;
left
:
0
;
top
:
4px
;
}
.yydiv
{
background
:
rgba
(
1
,
1
,
1
,
0.7
);
width
:
100%
;
height
:
100%
;
position
:
absolute
;
left
:
0
;
top
:
0
;
}
.explainboxtcontentright
{
width
:
85%
;
float
:
right
;
}
.explainboxtcontentright
span
{
font-size
:
12px
;
font-weight
:
500
;
color
:
#FFFFFF
;
line-height
:
16px
;
}
.spanleft
{
float
:
left
;
}
.testright
{
text-align
:
right
;
}
/
deep
/
.el-table
{
background
:
none
;
}
/
deep
/
.el-table__expanded-cell
{
background
:
none
;
}
/
deep
/
.el-table
th
,
.el-table
tr
{
background
:
none
;
}
/
deep
/
.el-table
.warning-row
{
background
:
rgba
(
48
,
56
,
90
,
1
);
height
:
30px
;
}
/
deep
/
.el-table
.success-row
{
background
:
#2a3557
;
height
:
30px
;
}
/
deep
/
.el-table
.warning-row2
{
background
:
rgba
(
48
,
56
,
90
,
1
);
height
:
29px
;
}
/
deep
/
.el-table
.success-row2
{
background
:
#2a3557
;
height
:
29px
;
}
/
deep
/
.el-table
th
>
.cell
{
padding
:
0
;
}
/
deep
/
.el-table
.cell
{
padding
:
0
;
line-height
:
26px
;
}
.el-table
::before
{
background
:
none
}
/
deep
/
.el-table
,
.el-table__expanded-cell
{
background
:
none
;
}
/
deep
/
.el-table__fixed
::before
{
background-color
:
#293054
;
}
.el-date-editor
{
width
:
30px
;
position
:
absolute
;
right
:
0px
;
top
:
0px
;
}
/
deep
/
.el-date-editor
.el-date-editor--month
input
{
width
:
30px
;
border
:
0
;
padding-left
:
0px
;
}
/
deep
/
.el-date-editor
.el-input__inner
{
background
:
none
!important
;
}
/
deep
/
.el-date-editor
.el-input__prefix
{
display
:
none
;
}
/
deep
/
.el-date-editor
.el-input__suffix
{
display
:
none
;
}
</
style
>
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