Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
vue-composition-api
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
宁路鹏
vue-composition-api
Commits
277b9973
Commit
277b9973
authored
Apr 18, 2025
by
唐玉峰
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
.
parent
b1fecfa8
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
209 additions
and
398 deletions
+209
-398
public/webconfig.js
+2
-0
src/views/diagList.vue
+192
-394
src/views/outHistorygrouping.vue
+15
-4
No files found.
public/webconfig.js
View file @
277b9973
...
...
@@ -83,4 +83,6 @@ window.webConfig = {
isPara
:
true
,
},
],
isShow_HosAvgFee
:
true
,
year
:
"24年"
,
};
src/views/diagList.vue
View file @
277b9973
...
...
@@ -2,36 +2,18 @@
<div
class=
"diagList"
>
<div
class=
"left"
>
<div
class=
"text-right mar-bottom-10"
>
<el-button
type=
"primary"
size=
"mini"
slot=
"append"
icon=
"el-icon-search"
@
click=
"search"
>
查询
</el-button
>
<el-button
type=
"primary"
size=
"mini"
slot=
"append"
icon=
"el-icon-search"
@
click=
"search"
>
查询
</el-button>
</div>
<div
class=
"font-14 color-999"
>
<div
class=
"mar-bottom-10"
>
<div
class=
"flex-between-center"
>
<div>
<span
class=
"color-FF4"
>
*
</span>
<span
class=
""
>
主诊断:
</span>
</div>
<i
@
click=
"addotdiagName"
class=
"cursor color-245 font-14 el-icon-circle-plus-outline"
>
其他诊断
</i
>
<div><span
class=
"color-FF4"
>
*
</span>
<span
class=
""
>
主诊断:
</span></div>
<i
@
click=
"addotdiagName"
class=
"cursor color-245 font-14 el-icon-circle-plus-outline"
>
其他诊断
</i>
</div>
<div
id=
"list"
>
<template
v-for=
"(ele, index) in searchForm.otdiagName"
>
<div
:key=
"index"
class=
"w100"
>
<div
class=
"font-12 width-90 mar-top-10"
v-if=
"index != 0 && index == 1"
>
其他诊断:
</div>
<div
class=
"font-12 width-90 mar-top-10"
v-if=
"index != 0 && index == 1"
>
其他诊断:
</div>
<div
class=
"flex-between-center w100"
>
<el-select
class=
"mar-top-5 w90 mar-right-5"
...
...
@@ -39,28 +21,15 @@
remote
v-model=
"searchForm.otdiagName[index]"
reserve-keyword
:placeholder=
"
index == 0 ? '请输入主诊断' : '请输入其他诊断'
"
:placeholder=
"index == 0 ? '请输入主诊断' : '请输入其他诊断'"
:remote-method=
"remoteMethod"
size=
"mini"
clearable
>
<el-option
v-for=
"item in zdoptions"
:key=
"item.name"
:label=
"item.name"
:value=
"item.name"
/>
<el-option
v-for=
"item in zdoptions"
:key=
"item.name"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
<div
v-if=
"searchForm.otdiagName.length != 1"
class=
"flex-between-center"
>
<i
@
click
.
stop=
"dell(index)"
class=
"cursor color-F54 mar-right-5 font-14 el-icon-remove-outline"
></i>
<div
v-if=
"searchForm.otdiagName.length != 1"
class=
"flex-between-center"
>
<i
@
click
.
stop=
"dell(index)"
class=
"cursor color-F54 mar-right-5 font-14 el-icon-remove-outline"
></i>
<i
class=
"cursor color-245 font-14 el-icon-sort"
></i>
</div>
</div>
...
...
@@ -71,19 +40,12 @@
<div
class=
"mar-bottom-10"
>
<div
class=
"flex-between-center"
>
<div><span
class=
""
>
主手术:
</span></div>
<i
@
click=
"addotopsName"
class=
"cursor color-245 font-14 el-icon-circle-plus-outline"
>
其他手术
</i
>
<i
@
click=
"addotopsName"
class=
"cursor color-245 font-14 el-icon-circle-plus-outline"
>
其他手术
</i>
</div>
<div
id=
"list1"
>
<
template
v-for=
"(el, i) in searchForm.otopsName"
>
<div
:key=
"i"
class=
"w100"
>
<div
class=
"flex-between-center mar-top-10"
v-if=
"i != 0 && i == 1"
>
<div
class=
"flex-between-center mar-top-10"
v-if=
"i != 0 && i == 1"
>
<span
class=
"font-12"
>
其他手术:
</span>
</div>
<div
class=
"flex-between-center w100"
>
...
...
@@ -100,21 +62,10 @@
size=
"mini"
clearable
>
<el-option
v-for=
"item in otssoptions"
:key=
"item.name"
:label=
"item.name"
:value=
"item.name"
/>
<el-option
v-for=
"item in otssoptions"
:key=
"item.name"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
<div
v-if=
"searchForm.otopsName.length != 1"
class=
"flex-between-center"
>
<i
@
click
.
stop=
"del(i)"
class=
"cursor color-F54 mar-right-5 font-14 el-icon-remove-outline"
></i>
<div
v-if=
"searchForm.otopsName.length != 1"
class=
"flex-between-center"
>
<i
@
click
.
stop=
"del(i)"
class=
"cursor color-F54 mar-right-5 font-14 el-icon-remove-outline"
></i>
<i
class=
"cursor color-245 font-14 el-icon-sort"
></i>
</div>
</div>
...
...
@@ -125,38 +76,20 @@
<div
class=
"mar-bottom-10"
>
<span
class=
"width-80"
>
年龄:
</span>
<div
class=
"mar-top-5 flex-between-center"
>
<el-input
v-model
.
trim=
"searchForm.a14"
class=
"flex-1"
size=
"mini"
clearable
placeholder=
"请输入年龄"
/>
<el-input
v-model
.
trim=
"searchForm.a14"
class=
"flex-1"
size=
"mini"
clearable
placeholder=
"请输入年龄"
/>
<span
class=
"mar-left-5"
>
岁
</span>
</div>
</div>
<div
class=
"mar-bottom-10"
>
<span
class=
"width-80"
>
ICU总时长:
</span>
<div
class=
"mar-top-5 flex-between-center"
>
<el-input
v-model
.
trim=
"searchForm.icuTime"
class=
"flex-1"
size=
"mini"
clearable
placeholder=
"请输入ICU总时长"
/>
<el-input
v-model
.
trim=
"searchForm.icuTime"
class=
"flex-1"
size=
"mini"
clearable
placeholder=
"请输入ICU总时长"
/>
<span
class=
"mar-left-5"
>
分钟
</span>
</div>
</div>
<div
class=
"mar-bottom-10"
>
<span
class=
"width-80"
>
医保类型:
</span>
<el-select
class=
"mar-top-5 w100"
v-model=
"searchForm.a46C"
placeholder=
"医保类型"
size=
"mini"
clearable
>
<el-select
class=
"mar-top-5 w100"
v-model=
"searchForm.a46C"
placeholder=
"医保类型"
size=
"mini"
clearable
>
<el-option
label=
"城镇职工"
value=
"城镇职工"
/>
<el-option
label=
"城乡居民"
value=
"城乡居民"
/>
</el-select>
...
...
@@ -164,36 +97,20 @@
<div
class=
"mar-bottom-10"
>
<span
class=
"width-80"
>
新生儿年龄:
</span>
<div
class=
"mar-top-5 flex-between-center"
>
<el-input
v-model
.
trim=
"searchForm.a16"
class=
"flex-1"
size=
"mini"
clearable
placeholder=
"请输入年龄"
/>
<el-input
v-model
.
trim=
"searchForm.a16"
class=
"flex-1"
size=
"mini"
clearable
placeholder=
"请输入年龄"
/>
<span
class=
"mar-left-5"
>
天
</span>
</div>
</div>
<div
class=
"mar-bottom-10"
>
<span
class=
"width-80"
>
新生儿体重:
</span>
<div
class=
"mar-top-5 flex-between-center"
>
<el-input
v-model
.
trim=
"searchForm.birthWeight"
class=
"flex-1"
size=
"mini"
clearable
placeholder=
"请输入"
/>
<el-input
v-model
.
trim=
"searchForm.birthWeight"
class=
"flex-1"
size=
"mini"
clearable
placeholder=
"请输入"
/>
<span
class=
"mar-left-5"
>
g
</span>
</div>
</div>
<div
class=
"mar-bottom-10"
>
<span
class=
"width-60"
>
性别:
</span>
<el-radio-group
v-model=
"searchForm.a12C"
size=
"mini"
class=
"mar-right-10"
>
<el-radio-group
v-model=
"searchForm.a12C"
size=
"mini"
class=
"mar-right-10"
>
<el-radio
label=
"0"
class=
"mar-right-5"
>
未知
</el-radio>
<el-radio
label=
"1"
class=
"mar-right-5"
>
男
</el-radio>
<el-radio
label=
"2"
class=
"mar-right-5"
>
女
</el-radio>
...
...
@@ -201,46 +118,21 @@
</div>
<div
class=
"mar-bottom-10"
>
<span
class=
"width-80"
>
离院方式:
</span>
<el-select
v-model=
"searchForm.b34C"
placeholder=
"请选择离院方式"
size=
"mini"
class=
"w100 mar-top-5"
>
<el-option
v-for=
"item in leaveoptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
<el-select
v-model=
"searchForm.b34C"
placeholder=
"请选择离院方式"
size=
"mini"
class=
"w100 mar-top-5"
>
<el-option
v-for=
"item in leaveoptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</div>
<div
class=
"mar-bottom-10"
>
<span
class=
"width-80"
>
总费用:
</span>
<el-input
v-model
.
trim=
"searchForm.d01"
class=
"w100 mar-top-5"
size=
"mini"
clearable
placeholder=
"请输入总费用"
/>
<el-input
v-model
.
trim=
"searchForm.d01"
class=
"w100 mar-top-5"
size=
"mini"
clearable
placeholder=
"请输入总费用"
/>
</div>
</div>
</div>
<div
class=
"right"
>
<div
class=
"outaddrecordEnrollment_centent"
>
<div
class=
"outaddrecordEnrollment_centent_totalnum"
v-for=
"(item, index) in addCorePercents"
:key=
"index"
>
<div
class=
"outsetgrouping_centent_totalnum_left_yxrz"
v-if=
"item.isShow"
>
<div
class=
"dw"
style=
"height: 24%"
>
<img
src=
"../assets/img/t29.png"
alt=
""
/>
优先入组
</div>
<div
class=
"outaddrecordEnrollment_centent_totalnum"
v-for=
"(item, index) in addCorePercents"
:key=
"index"
>
<div
class=
"outsetgrouping_centent_totalnum_left_yxrz"
v-if=
"item.isShow"
>
<div
class=
"dw"
style=
"height: 24%"
><img
src=
"../assets/img/t29.png"
alt=
""
/>
优先入组
</div>
</div>
<div
style=
"flex: 1"
>
<div
class=
"outaddrecordEnrollment_centent_totalnum_left"
>
...
...
@@ -253,12 +145,11 @@
<div
class=
"outaddrecordEnrollment_centent_totalnum_left_text3"
>
<span>
预计DRG支付费用:{{ decimal(item.actualfee) }}
</span>
<span>
分组类型:{{ item.disNature }}
</span>
<span
v-if=
"isShow_HosAvgFee"
>
{{ year }}同级医院平均住院日:{{ item.avgInHosDay }}
</span>
<span
v-if=
"isShow_HosAvgFee"
>
{{ year }}同级医院次均费用:{{ decimal(item.hosAvgFee) }}
</span>
</div>
</div>
<div
class=
"diagList_fenqu"
v-if=
"item.lowMagnification != 0 && item.highMagnification != 0"
>
<div
class=
"diagList_fenqu"
v-if=
"item.lowMagnification != 0 && item.highMagnification != 0"
>
<div
class=
"diagList_fenqu_di"
>
<div
class=
"diagList_fenqu_di_bb"
>
<div
class=
"diagList_fenqu_di_bb_div1"
>
...
...
@@ -266,7 +157,7 @@
class=
"diagList_fenqu_di_bb_div1_num"
:style=
"{
marginLeft: item.totalwidth - 1 + '%',
color: item.totalcolor
color: item.totalcolor,
}"
>
{{ decimal(item.totalFee) }}
</span
>
...
...
@@ -274,111 +165,49 @@
class=
"diagList_fenqu_di_bb_div1_he"
:style=
"{
marginLeft: item.totalwidth + '%',
backgroundColor: item.totalcolor
backgroundColor: item.totalcolor,
}"
></span>
</div>
<div
class=
"diagList_fenqu_di_bb_div2"
style=
"height: 100%"
>
<span
class=
"diagList_fenqu_di_bb_div2_span1"
:style=
"{ width: item.lowwidth + '%' }"
><span
class=
"diagList_fenqu_di_bb_div2_span1_t1"
:title=
"
'低倍率区域:<=' +
Math.round(item.lowMagnification)
"
>
低倍率区域:
<
={{
Math.round(item.lowMagnification)
}}
</span
<span
class=
"diagList_fenqu_di_bb_div2_span1"
:style=
"{ width: item.lowwidth + '%' }"
><span
class=
"diagList_fenqu_di_bb_div2_span1_t1"
:title=
"'低倍率区域:<=' + Math.round(item.lowMagnification)"
>
低倍率区域:
<
={{ Math.round(item.lowMagnification) }}
</span
></span
>
<span
class=
"diagList_fenqu_di_bb_div2_span2"
:style=
"{ width: item.contentwidth + '%' }"
<span
class=
"diagList_fenqu_di_bb_div2_span2"
:style=
"{ width: item.contentwidth + '%' }"
><span
class=
"diagList_fenqu_di_bb_div2_span2_t2"
:title=
"
'正常区域:' +
(Math.round(item.lowMagnification) + 1) +
'~' +
(Math.round(item.highMagnification) - 1)
"
>
正常区域:{{
Math.round(item.lowMagnification) +
1 +
'~' +
(Math.round(item.highMagnification) - 1)
}}
</span
:title=
"'正常区域:' + (Math.round(item.lowMagnification) + 1) + '~' + (Math.round(item.highMagnification) - 1)"
>
正常区域:{{ Math.round(item.lowMagnification) + 1 + "~" + (Math.round(item.highMagnification) - 1) }}
</span
></span
>
<span
class=
"diagList_fenqu_di_bb_div2_span3"
:style=
"{ width: item.heightwidth + '%' }"
><span
class=
"diagList_fenqu_di_bb_div2_span3_t3"
:title=
"
'高倍率区域:>=' + Math.round(item.highMagnification)
"
>
高倍率区域:>={{
Math.round(item.highMagnification)
}}
</span
<span
class=
"diagList_fenqu_di_bb_div2_span3"
:style=
"{ width: item.heightwidth + '%' }"
><span
class=
"diagList_fenqu_di_bb_div2_span3_t3"
:title=
"'高倍率区域:>=' + Math.round(item.highMagnification)"
>
高倍率区域:>={{ Math.round(item.highMagnification) }}
</span
></span
>
</div>
</div>
</div>
</div>
<div
v-if=
"item.analysis"
class=
"mar-0-15 pad-5-10"
style=
"background-color: rgba(44, 171, 227, 0.08)"
>
<div
style=
"background-color: rgba(44, 171, 227, 0.08)"
class=
"pad-5-10"
>
提示:
</div>
<div
v-if=
"item.analysis"
class=
"mar-0-15 pad-5-10"
style=
"background-color: rgba(44, 171, 227, 0.08)"
>
<div
style=
"background-color: rgba(44, 171, 227, 0.08)"
class=
"pad-5-10"
>
提示:
</div>
<div
class=
"bg-FFF w100 pad-10"
>
{{ item.analysis }}
</div>
</div>
<div
class=
"mar-0-15 pad-5-10"
style=
"background-color: rgba(44, 171, 227, 0.08)"
>
<div
style=
"background-color: rgba(44, 171, 227, 0.08)"
class=
"pad-5-10"
>
MCC:
</div>
<div
class=
"mar-0-15 pad-5-10"
style=
"background-color: rgba(44, 171, 227, 0.08)"
>
<div
style=
"background-color: rgba(44, 171, 227, 0.08)"
class=
"pad-5-10"
>
MCC:
</div>
<div
class=
"bg-FFF w100 pad-10"
>
{{
item.mccDatas
&&
item.mccDatas.length
? item.mccDatas.join(';')
: '--'
}}
{{ item.mccDatas
&&
item.mccDatas.length ? item.mccDatas.join(";") : "--" }}
</div>
</div>
<div
class=
"mar-0-15 pad-5-10"
style=
"background-color: rgba(44, 171, 227, 0.08)"
>
<div
style=
"background-color: rgba(44, 171, 227, 0.08)"
class=
"pad-5-10"
>
CC:
</div>
<div
class=
"mar-0-15 pad-5-10"
style=
"background-color: rgba(44, 171, 227, 0.08)"
>
<div
style=
"background-color: rgba(44, 171, 227, 0.08)"
class=
"pad-5-10"
>
CC:
</div>
<div
class=
"bg-FFF w100 pad-10"
>
{{
item.ccDatas
&&
item.ccDatas.length
? item.ccDatas.join(';')
: '--'
}}
{{ item.ccDatas
&&
item.ccDatas.length ? item.ccDatas.join(";") : "--" }}
</div>
</div>
</div>
...
...
@@ -391,10 +220,7 @@
</div> -->
</div>
<div
v-show=
"addnolistShow"
class=
"outaddrecordEnrollment_centent_nodata"
>
<div
v-show=
"addnolistShow"
class=
"outaddrecordEnrollment_centent_nodata"
>
<div
class=
"outaddrecordEnrollment_centent_nodata_img"
>
<img
src=
"../assets/img/nodata.png"
alt=
""
/>
</div>
...
...
@@ -406,18 +232,18 @@
</template>
<
script
>
import
Sortable
from
'sortablejs'
import
http
from
'../utils/http'
import
{
initEcharts
,
categoryChart
,
categoryChart11
}
from
'../utils/echarts'
import
{
decimal
}
from
'../utils/decimal'
import
{
Message
}
from
'element-ui'
import
{
setItem
,
getItem
}
from
'../utils/auth'
import
{
Loading
}
from
'element-ui'
import
Sortable
from
"sortablejs"
;
import
http
from
"../utils/http"
;
import
{
initEcharts
,
categoryChart
,
categoryChart11
}
from
"../utils/echarts"
;
import
{
decimal
}
from
"../utils/decimal"
;
import
{
Message
}
from
"element-ui"
;
import
{
setItem
,
getItem
}
from
"../utils/auth"
;
import
{
Loading
}
from
"element-ui"
;
export
default
{
name
:
'diagList'
,
name
:
"diagList"
,
components
:
{},
props
:
[
'code'
,
'isshow'
],
props
:
[
"code"
,
"isshow"
],
data
()
{
return
{
zdoptions
:
[],
//诊断
...
...
@@ -425,89 +251,88 @@ export default {
ssoptions
:
[],
//主手术
otssoptions
:
[],
//其他手术
searchForm
:
{
a14
:
'0'
,
a16
:
'0'
,
birthWeight
:
'0'
,
a12C
:
'0'
,
icuTime
:
'0'
,
b34C
:
'1'
,
a14
:
"0"
,
a16
:
"0"
,
birthWeight
:
"0"
,
a12C
:
"0"
,
icuTime
:
"0"
,
b34C
:
"1"
,
opsList
:
[],
//手术
otopsName
:
[
''
],
otdiagName
:
[
''
],
otopsName
:
[
""
],
otdiagName
:
[
""
],
diagList
:
[],
//诊断
a46C
:
'城乡居民'
,
d01
:
0
a46C
:
"城乡居民"
,
d01
:
0
,
},
//离院方式选择器
leaveoptions
:
[
{
label
:
'医嘱离院'
,
value
:
'1'
label
:
"医嘱离院"
,
value
:
"1"
,
},
{
label
:
'医嘱转院'
,
value
:
'2'
label
:
"医嘱转院"
,
value
:
"2"
,
},
{
label
:
'医嘱转社区卫生服务机构/乡镇卫生院'
,
value
:
'3'
label
:
"医嘱转社区卫生服务机构/乡镇卫生院"
,
value
:
"3"
,
},
{
label
:
'非医嘱离院'
,
value
:
'4'
label
:
"非医嘱离院"
,
value
:
"4"
,
},
{
label
:
'死亡'
,
value
:
'5'
label
:
"死亡"
,
value
:
"5"
,
},
{
label
:
'其他'
,
value
:
'9'
}
label
:
"其他"
,
value
:
"9"
,
},
],
addCorePercents
:
[],
addnolistShow
:
true
//没有搜索数据的时候显示
}
addnolistShow
:
true
,
//没有搜索数据的时候显示
};
},
//监听属性 类似于data概念
computed
:
{},
computed
:
{
year
()
{
return
window
.
webConfig
.
year
;
},
isShow_HosAvgFee
()
{
return
window
.
webConfig
.
isShow_HosAvgFee
;
},
},
//监控data中的数据变化
watch
:
{
isshow
:
{
handler
()
{
if
(
this
.
isshow
)
{
if
(
this
.
code
)
{
Object
.
assign
(
this
.
searchForm
,
this
.
code
)
this
.
searchForm
.
otdiagName
=
[]
this
.
searchForm
.
otopsName
=
[]
this
.
searchForm
.
otdiagName
=
this
.
searchForm
.
diagList
.
length
?
this
.
searchForm
.
diagList
.
map
((
item
)
=>
item
.
diagCode
)
:
[
''
]
this
.
searchForm
.
otopsName
=
this
.
searchForm
.
opsList
.
length
?
this
.
searchForm
.
opsList
.
map
((
item
)
=>
item
.
opsCode
)
:
[
''
]
this
.
getlist
()
}
}
Object
.
assign
(
this
.
searchForm
,
this
.
code
);
this
.
searchForm
.
otdiagName
=
[];
this
.
searchForm
.
otopsName
=
[];
this
.
searchForm
.
otdiagName
=
this
.
searchForm
.
diagList
.
length
?
this
.
searchForm
.
diagList
.
map
((
item
)
=>
item
.
diagCode
)
:
[
""
];
this
.
searchForm
.
otopsName
=
this
.
searchForm
.
opsList
.
length
?
this
.
searchForm
.
opsList
.
map
((
item
)
=>
item
.
opsCode
)
:
[
""
];
this
.
getlist
();
}
}
},
},
},
created
()
{},
mounted
()
{
if
(
this
.
code
)
{
Object
.
assign
(
this
.
searchForm
,
this
.
code
)
this
.
searchForm
.
otdiagName
=
[]
this
.
searchForm
.
otopsName
=
[]
this
.
searchForm
.
otdiagName
=
this
.
searchForm
.
diagList
.
length
?
this
.
searchForm
.
diagList
.
map
((
item
)
=>
item
.
diagCode
)
:
[
''
]
this
.
searchForm
.
otopsName
=
this
.
searchForm
.
opsList
.
length
?
this
.
searchForm
.
opsList
.
map
((
item
)
=>
item
.
opsCode
)
:
[
''
]
this
.
getlist
()
}
this
.
rowDrop
()
this
.
rowDrop1
()
Object
.
assign
(
this
.
searchForm
,
this
.
code
);
this
.
searchForm
.
otdiagName
=
[];
this
.
searchForm
.
otopsName
=
[];
this
.
searchForm
.
otdiagName
=
this
.
searchForm
.
diagList
.
length
?
this
.
searchForm
.
diagList
.
map
((
item
)
=>
item
.
diagCode
)
:
[
""
];
this
.
searchForm
.
otopsName
=
this
.
searchForm
.
opsList
.
length
?
this
.
searchForm
.
opsList
.
map
((
item
)
=>
item
.
opsCode
)
:
[
""
];
this
.
getlist
();
}
this
.
rowDrop
();
this
.
rowDrop1
();
},
beforeMount
()
{},
//生命周期 - 挂载之前
destroyed
()
{},
//生命周期 - 销毁完成
...
...
@@ -517,120 +342,105 @@ export default {
decimal
,
//添加诊断
addotdiagName
()
{
let
arr
=
this
.
searchForm
.
otdiagName
.
filter
((
item
)
=>
item
)
let
arr
=
this
.
searchForm
.
otdiagName
.
filter
((
item
)
=>
item
);
if
(
!
arr
.
length
)
{
Message
.
warning
(
'请先输入主诊断'
)
return
Message
.
warning
(
"请先输入主诊断"
);
return
;
}
let
v
=
_
.
last
(
this
.
searchForm
.
otdiagName
)
let
v
=
_
.
last
(
this
.
searchForm
.
otdiagName
);
if
(
!
v
)
{
Message
.
warning
(
'请输入诊断'
)
return
Message
.
warning
(
"请输入诊断"
);
return
;
}
this
.
searchForm
.
otdiagName
.
push
(
''
)
this
.
searchForm
.
otdiagName
.
push
(
""
);
},
dell
(
i
)
{
this
.
searchForm
.
otdiagName
.
splice
(
i
,
1
)
this
.
searchForm
.
otdiagName
.
splice
(
i
,
1
);
},
//手术
addotopsName
()
{
let
v
=
_
.
last
(
this
.
searchForm
.
otopsName
)
let
v
=
_
.
last
(
this
.
searchForm
.
otopsName
);
if
(
!
v
)
{
this
.
$message
.
warning
(
'请输入手术'
)
return
this
.
$message
.
warning
(
"请输入手术"
);
return
;
}
this
.
searchForm
.
otopsName
.
push
(
''
)
this
.
searchForm
.
otopsName
.
push
(
""
);
},
del
(
i
)
{
this
.
searchForm
.
otopsName
.
splice
(
i
,
1
)
this
.
searchForm
.
otopsName
.
splice
(
i
,
1
);
},
//查询
search
()
{
let
arr
=
this
.
searchForm
.
otdiagName
.
filter
((
item
)
=>
item
)
let
arr
=
this
.
searchForm
.
otdiagName
.
filter
((
item
)
=>
item
);
if
(
!
arr
.
length
)
{
Message
.
warning
(
'请输入主诊断'
)
return
Message
.
warning
(
"请输入主诊断"
);
return
;
}
this
.
searchForm
.
otdiagName
.
filter
((
item
)
=>
item
)
.
map
((
item
,
i
)
=>
{
this
.
searchForm
.
diagList
.
push
({
diagCode
:
item
,
diagOrder
:
i
==
0
?
'0'
:
'1'
})
})
diagOrder
:
i
==
0
?
"0"
:
"1"
,
});
});
this
.
searchForm
.
otopsName
.
filter
((
item
)
=>
item
)
.
map
((
item
,
i
)
=>
{
this
.
searchForm
.
opsList
.
push
({
opsCode
:
item
,
opsOrder
:
i
==
0
?
'0'
:
'1'
})
})
this
.
getlist
()
opsOrder
:
i
==
0
?
"0"
:
"1"
,
});
});
this
.
getlist
();
},
//获取列表数据
getlist
()
{
http
.
post
(
`/medical/post/GetCorePercentsByAssemble`
,
this
.
searchForm
)
http
.
post
(
`/medical/post/GetCorePercentsByAssemble`
,
this
.
searchForm
)
.
then
((
data
)
=>
{
if
(
data
&&
data
.
length
==
0
)
{
Message
.
warning
({
message
:
`此诊断作为主诊断无法入组!`
,
type
:
'warning'
})
type
:
"warning"
,
});
}
this
.
addCorePercents
=
data
this
.
addCorePercents
=
data
;
this
.
addCorePercents
.
map
((
item
)
=>
{
// 高倍率>总费用 高倍率金额+高倍率金额*30%
if
(
item
.
highMagnification
>
item
.
totalFee
)
{
item
.
heightnum
=
item
.
highMagnification
+
item
.
highMagnification
*
0.3
item
.
heightnum
=
item
.
highMagnification
+
item
.
highMagnification
*
0.3
;
}
else
if
(
item
.
highMagnification
<
item
.
totalFee
)
{
// 高倍率
<
总费用
患者总费用的金额
+
患者总费用的金额
*
30
%
item
.
heightnum
=
item
.
totalFee
+
item
.
totalFee
*
0.3
item
.
heightnum
=
item
.
totalFee
+
item
.
totalFee
*
0.3
;
}
// 低倍率宽度
item
.
lowwidth
=
Math
.
round
(
(
Math
.
round
(
item
.
lowMagnification
)
/
Math
.
round
(
item
.
heightnum
))
*
100
)
item
.
lowwidth
=
Math
.
round
((
Math
.
round
(
item
.
lowMagnification
)
/
Math
.
round
(
item
.
heightnum
))
*
100
);
// 高倍率宽度
item
.
heightwidth
=
Math
.
round
(
((
Math
.
round
(
item
.
heightnum
)
-
Math
.
round
(
item
.
highMagnification
))
/
Math
.
round
(
item
.
heightnum
))
*
100
)
item
.
heightwidth
=
Math
.
round
(((
Math
.
round
(
item
.
heightnum
)
-
Math
.
round
(
item
.
highMagnification
))
/
Math
.
round
(
item
.
heightnum
))
*
100
);
// 正常倍率宽度
item
.
contentwidth
=
100
-
(
item
.
lowwidth
+
item
.
heightwidth
)
item
.
contentwidth
=
100
-
(
item
.
lowwidth
+
item
.
heightwidth
);
//总费用宽度
item
.
totalwidth
=
Math
.
round
(
(
Math
.
round
(
item
.
totalFee
)
/
Math
.
round
(
item
.
heightnum
))
*
100
)
item
.
totalwidth
=
Math
.
round
((
Math
.
round
(
item
.
totalFee
)
/
Math
.
round
(
item
.
heightnum
))
*
100
);
// 判断总费用显示的颜色
if
(
item
.
totalFee
<
item
.
lowMagnification
)
{
item
.
totalcolor
=
'#e9c622'
}
else
if
(
item
.
totalFee
>
item
.
lowMagnification
&&
item
.
totalFee
<
item
.
highMagnification
)
{
item
.
totalcolor
=
'#22d016'
item
.
totalcolor
=
"#e9c622"
;
}
else
if
(
item
.
totalFee
>
item
.
lowMagnification
&&
item
.
totalFee
<
item
.
highMagnification
)
{
item
.
totalcolor
=
"#22d016"
;
}
else
if
(
item
.
totalFee
>
item
.
highMagnification
)
{
item
.
totalcolor
=
'#ff7e00'
item
.
totalcolor
=
"#ff7e00"
;
}
if
(
item
.
lowMagnification
==
0
||
item
.
highMagnification
==
0
)
{
item
.
bottomheight
=
'80%'
item
.
bottomheight
=
"80%"
;
}
else
if
(
data
.
lowMagnification
!=
0
)
{
item
.
bottomheight
=
'68%'
item
.
bottomheight
=
"68%"
;
}
})
});
if
(
this
.
addCorePercents
.
length
==
0
)
{
this
.
addnolistShow
=
true
this
.
addnolistShow
=
true
;
}
else
{
this
.
addnolistShow
=
false
this
.
addnolistShow
=
false
;
}
// this.totalCount = data.totalCount;
// for (var i = 0; i
<
this
.
addCorePercents
.
length
;
i
++
)
{
...
...
@@ -641,111 +451,99 @@ export default {
// initEcharts(categoryChart11("其他", this.addCorePercents[i].otherPercent, "#C05EF3"), `indexChart11file${i}`);
// (this.diagList = []), (this.opsList = []);
// }
this
.
searchForm
.
diagList
=
[]
this
.
searchForm
.
opsList
=
[]
this
.
searchForm
.
diagList
=
[];
this
.
searchForm
.
opsList
=
[];
})
.
catch
((
error
)
=>
{})
.
catch
((
error
)
=>
{});
},
remoteMethod
(
query
)
{
if
(
query
)
{
http
.
post
(
`/medical/get/GetDiagOpss?diagName=
${
query
}
&type=
${
1
}
`
,
{})
http
.
post
(
`/medical/get/GetDiagOpss?diagName=
${
query
}
&type=
${
1
}
`
,
{})
.
then
((
data
)
=>
{
this
.
zdoptions
=
data
this
.
zdoptions
=
data
;
})
.
catch
((
error
)
=>
{})
.
catch
((
error
)
=>
{});
}
else
{
this
.
zdoptions
=
[]
this
.
zdoptions
=
[];
}
},
otremoteMethod
(
query
)
{
if
(
query
)
{
http
.
post
(
`/medical/get/GetDiagOpss?diagName=
${
query
}
&type=
${
1
}
`
,
{})
http
.
post
(
`/medical/get/GetDiagOpss?diagName=
${
query
}
&type=
${
1
}
`
,
{})
.
then
((
data
)
=>
{
this
.
otzdoptions
=
data
this
.
otzdoptions
=
data
;
})
.
catch
((
error
)
=>
{})
.
catch
((
error
)
=>
{});
}
else
{
this
.
zdoptions
=
[]
this
.
zdoptions
=
[];
}
},
//获取主手术,其他手术的数据
ssremoteMethod
(
query
)
{
if
(
query
)
{
http
.
post
(
`/medical/get/GetDiagOpss?diagName=
${
query
}
&type=
${
2
}
`
,
{})
http
.
post
(
`/medical/get/GetDiagOpss?diagName=
${
query
}
&type=
${
2
}
`
,
{})
.
then
((
data
)
=>
{
this
.
ssoptions
=
data
this
.
ssoptions
=
data
;
})
.
catch
((
error
)
=>
{})
.
catch
((
error
)
=>
{});
}
else
{
this
.
ssoptions
=
[]
this
.
ssoptions
=
[];
}
},
//获取其他手术的数据
otssremoteMethod
(
query
)
{
if
(
query
)
{
http
.
post
(
`/medical/get/GetDiagOpss?diagName=
${
query
}
&type=
${
2
}
`
,
{})
http
.
post
(
`/medical/get/GetDiagOpss?diagName=
${
query
}
&type=
${
2
}
`
,
{})
.
then
((
data
)
=>
{
this
.
otssoptions
=
data
this
.
otssoptions
=
data
;
})
.
catch
((
error
)
=>
{})
.
catch
((
error
)
=>
{});
}
else
{
this
.
otssoptions
=
[]
this
.
otssoptions
=
[];
}
},
// 行拖拽
rowDrop
()
{
let
_this
=
this
const
el
=
document
.
getElementById
(
'list'
)
let
_this
=
this
;
const
el
=
document
.
getElementById
(
"list"
);
Sortable
.
create
(
el
,
{
animation
:
100
,
delay
:
0
,
onEnd
({
newIndex
,
oldIndex
})
{
if
(
newIndex
===
oldIndex
)
return
if
(
newIndex
===
oldIndex
)
return
;
if
(
_this
.
searchForm
)
{
_this
.
searchForm
.
otdiagName
.
splice
(
newIndex
,
0
,
_this
.
searchForm
.
otdiagName
.
splice
(
oldIndex
,
1
)[
0
]
)
var
newArray
=
_this
.
searchForm
.
otdiagName
.
slice
(
0
)
_this
.
searchForm
.
otdiagName
=
[]
_this
.
searchForm
.
otdiagName
.
splice
(
newIndex
,
0
,
_this
.
searchForm
.
otdiagName
.
splice
(
oldIndex
,
1
)[
0
]);
var
newArray
=
_this
.
searchForm
.
otdiagName
.
slice
(
0
);
_this
.
searchForm
.
otdiagName
=
[];
_this
.
$nextTick
(
function
()
{
_this
.
searchForm
.
otdiagName
=
newArray
})
}
_this
.
searchForm
.
otdiagName
=
newArray
;
});
}
})
},
});
},
rowDrop1
()
{
let
_this
=
this
const
ele
=
document
.
getElementById
(
'list1'
)
let
_this
=
this
;
const
ele
=
document
.
getElementById
(
"list1"
);
Sortable
.
create
(
ele
,
{
animation
:
100
,
delay
:
0
,
group
:
'shared'
,
group
:
"shared"
,
onEnd
({
newIndex
,
oldIndex
})
{
if
(
newIndex
===
oldIndex
)
return
if
(
newIndex
===
oldIndex
)
return
;
if
(
_this
.
searchForm
)
{
_this
.
searchForm
.
otopsName
.
splice
(
newIndex
,
0
,
_this
.
searchForm
.
otopsName
.
splice
(
oldIndex
,
1
)[
0
]
)
var
newArray
=
_this
.
searchForm
.
otopsName
.
slice
(
0
)
_this
.
searchForm
.
otopsName
=
[]
_this
.
searchForm
.
otopsName
.
splice
(
newIndex
,
0
,
_this
.
searchForm
.
otopsName
.
splice
(
oldIndex
,
1
)[
0
]);
var
newArray
=
_this
.
searchForm
.
otopsName
.
slice
(
0
);
_this
.
searchForm
.
otopsName
=
[];
_this
.
$nextTick
(
function
()
{
_this
.
searchForm
.
otopsName
=
newArray
})
}
}
})
}
_this
.
searchForm
.
otopsName
=
newArray
;
});
}
}
},
});
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.diagList
{
...
...
src/views/outHistorygrouping.vue
View file @
277b9973
...
...
@@ -168,6 +168,10 @@
<!--
<span>
药耗占比:
{{
decimal
(
item
.
drugMatPercent
)
+
"%"
}}
</span>
-->
<span>
盈亏:
{{
decimal
(
item
.
profitLoss
)
}}
</span>
</div>
<div
class=
"outsetgrouping_centent_totalnum_left_text_msg2_text3"
>
<span
v-if=
"isShow_HosAvgFee"
>
{{
year
}}
同级医院平均住院日:
{{
item
.
avgInHosDay
}}
</span>
<span
v-if=
"isShow_HosAvgFee"
>
{{
year
}}
同级医院次均费用:
{{
decimal
(
item
.
hosAvgFee
)
}}
</span>
</div>
</div>
<div
class=
"outpatientDetails_fenqu"
v-if=
"item.lowMagnification != 0 && item.highMagnification != 0"
>
<div
class=
"outpatientDetails_fenqu_di"
>
...
...
@@ -414,11 +418,18 @@ export default {
},
};
},
computed
:
{
year
()
{
return
window
.
webConfig
.
year
;
},
isShow_HosAvgFee
()
{
return
window
.
webConfig
.
isShow_HosAvgFee
;
},
},
mounted
()
{
this
.
$nextTick
(()
=>
{
window
.
addEventListener
(
"mouseover"
,
this
.
myTimeOut
);
});
console
.
log
(
location
.
origin
);
this
.
myTimeOut
();
this
.
getCaseHis
(
this
.
$route
.
query
.
id
);
if
(
this
.
searchForm
.
diagName
.
length
>
0
)
{
...
...
@@ -1055,8 +1066,8 @@ export default {
}
&
_text
{
flex
:
1
;
padding
-left
:
10px
;
height
:
100
%
;
padding
:
10px
;
height
:
96
%
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
...
...
@@ -1155,7 +1166,7 @@ export default {
background-color
:
rgba
(
44
,
171
,
227
,
0.08
);
display
:
flex
;
flex-direction
:
column
;
height
:
35
%
;
height
:
50
%
;
justify-content
:
center
;
padding-top
:
10px
;
&_text3
{
...
...
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