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
d93d719a
Commit
d93d719a
authored
Jan 06, 2023
by
wangshuangqing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
临床路径页面初步页面完成
parent
8dabbcf4
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
223 additions
and
335 deletions
+223
-335
src/main.js
+4
-2
src/views/outClinicalpathway.vue
+219
-333
No files found.
src/main.js
View file @
d93d719a
/*
* @Author: ninglupeng
* @Date: 2022-06-07 00:31:25
* @LastEditors:
ninglupeng
* @LastEditTime: 202
2-06-07 00:37:5
4
* @LastEditors:
wsq
* @LastEditTime: 202
3-01-06 17:16:3
4
* @Description:
*/
import
Vue
from
'vue'
...
...
@@ -28,6 +28,7 @@ Vue.use(VueCompositionApi)
new
Vue
({
store
,
router
,
render
:
h
=>
h
(
App
),
}).
$mount
(
'#app'
)
\ No newline at end of file
src/views/outClinicalpathway.vue
View file @
d93d719a
...
...
@@ -2,98 +2,119 @@
* @Author: wsq
* @Date: 2022-04-22 15:20:58
* @LastEditors: wsq
* @LastEditTime: 202
2-12-26 14:47:37
* @LastEditTime: 202
3-01-06 17:20:56
* @Description:
-->
<
template
>
<!-- 临床路径外放页面 -->
<div
class=
"outClinicalpathway"
>
<!-- 患者信息 -->
<div
class=
"outClinicalpathway_top"
>
<div
class=
"outClinicalpathway_top_div1"
>
<span
class=
"span1"
>
患者信息
</span>
<el-button
class=
"outClinicalpathway_top_div1_button"
type=
"primary"
size=
"mini"
@
click=
"getControl"
>
医嘱质控
</el-button
>
<!--
<el-button
size=
"mini"
type=
"primary"
>
医嘱质控
</el-button>
-->
</div>
<div
class=
"outClinicalpathway_top_message"
>
<div
class=
"outClinicalpathway_top_message_left"
>
<span
class=
"outClinicalpathway_top_message_left_tu1"
>
<img
src=
"../assets/img/peo.png"
alt=
""
/></span>
<div
class=
"outClinicalpathway_top_message_left_t1"
>
住院号:
<span>
{{
HistoryInfo
.
id
}}
</span>
</div>
<!-- 左侧内容 -->
<div
class=
"outClinicalpathway_top_left"
>
<div
class=
"outClinicalpathway_top_left_one"
>
<span><img
src=
"../assets/img/peo.png"
alt=
""
/></span>
<div
class=
"outClinicalpathway_top_left_one_t1"
>
患者姓名:
<span>
小王
</span>
</div>
<div
class=
"outClinicalpathway_top_message_centert"
>
<span
class=
"outClinicalpathway_top_message_centert_tu2"
><img
src=
"../assets/img/ka.png"
alt=
""
/></span>
<div
class=
"outClinicalpathway_top_message_centert_t2"
>
住院次数:
<span>
{{
HistoryInfo
.
a49
}}
</span>
<div
class=
"outClinicalpathway_top_left_one_t2"
>
住院号:
<span>
{{
222
}}
</span>
</div>
<div
class=
"outClinicalpathway_top_left_one_t3"
>
住院次数:
<span>
{{
2222
}}
</span>
</div>
<div
class=
"outClinicalpathway_top_message_right"
>
<span
class=
"outClinicalpathway_top_message_right_tu3"
><img
src=
"../assets/img/qian.png"
alt=
""
/></span>
<div
class=
"outClinicalpathway_top_message_right_t3"
>
医疗付费方式:
<span>
{{
HistoryInfo
.
paymentType
}}
</span>
</div>
<div
class=
"outClinicalpathway_top_left_two"
>
<div
class=
"outClinicalpathway_top_left_two_inp1"
>
<span
style=
"width: 20%"
>
治疗方式:
</span>
<span
style=
"width: 80%"
><el-select
v-model=
"treatmentinpt"
class=
"m-2"
placeholder=
"请选择治疗方式"
size=
"mini"
style=
"width: 70%"
>
<el-option
v-for=
"item in treatmentoptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select
></span>
</div>
<div
class=
"outClinicalpathway_top_message_low"
>
<span
class=
"outClinicalpathway_top_message_low_tu4"
><img
src=
"../assets/img/daoru.png"
alt=
""
/></span>
<div
class=
"outClinicalpathway_top_message_low_t4"
>
分组类型:
<span>
{{
HistoryInfo
.
disNature
}}
</span>
</div>
</div>
<div
class=
"outClinicalpathway_top_message_div6"
>
<span
class=
"outClinicalpathway_top_message_div6_tu6"
><img
src=
"../assets/img/lx2.png"
alt=
""
/></span>
<div
class=
"outClinicalpathway_top_message_div6_t6"
>
病人类型:
<span>
{{
HistoryInfo
.
patientType
}}
</span>
</div>
<div
class=
"outClinicalpathway_top_left_two_inp2"
>
<span
style=
"width: 20%"
>
医嘱类型:
</span>
<span
style=
"width: 80%"
>
<el-select
style=
"width: 70%"
v-model=
"orderinpt"
class=
"m-2"
placeholder=
"请选择医嘱类型"
size=
"mini"
>
<el-option
v-for=
"item in orderoptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</span>
</div>
<div
class=
"outClinicalpathway_top_message_div5"
>
<span
class=
"outClinicalpathway_top_message_div5_tu5"
><img
src=
"../assets/img/je.png"
alt=
""
/></span>
<div
class=
"outClinicalpathway_top_message_div5_t5"
>
自费占比:
<span>
{{
HistoryInfo
.
ownProportion
!=
undefined
?
decimal
(
HistoryInfo
.
ownProportion
)
+
"%"
:
""
}}
</span>
<div
class=
"outClinicalpathway_top_left_two_inp3"
>
<span
style=
"width: 20%"
>
符合临床路径:
</span>
<span
style=
"width: 80%"
>
<el-select
v-model=
"pathinpt"
class=
"m-2"
placeholder=
"请选择符合临床路径"
size=
"mini"
style=
"width: 80%"
>
<el-option
v-for=
"item in pathroptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</span>
</div>
</div>
</div>
<!-- 右侧按钮 -->
<div
class=
"outClinicalpathway_top_right"
>
<el-button
type=
"primary"
>
加入医嘱
</el-button>
<el-button
type=
"primary"
>
病情变异
</el-button>
</div>
<div
class=
"outClinicalpathway_msg"
>
<span
class=
"outClinicalpathway_msg_tu4"
><img
src=
"../assets/img/zu.png"
alt=
""
/></span>
<span>
分组:
{{
HistoryInfo
.
doctorName
}}
</span>
<span>
基准点数:
{{
decimal
(
HistoryInfo
.
rw
)
}}
</span>
<span>
预计DRG支付费用:
{{
decimal
(
HistoryInfo
.
actualfee
)
}}
</span>
<span>
总费用:
{{
decimal
(
HistoryInfo
.
totalFee
)
}}
</span>
<span>
预计盈亏:
{{
decimal
(
HistoryInfo
.
profitLoss
)
}}
</span>
<span>
院内历年平均费用:
{{
decimal
(
HistoryInfo
.
avgFee
)
}}
</span>
<span>
院内历年平均住院天数:
{{
decimal
(
HistoryInfo
.
days
)
}}
</span>
</div>
<!-- 表格 -->
<div
class=
"outClinicalpathway_table"
>
<!-- 时间线 -->
<div
class=
"outClinicalpathway_table_left"
>
<el-timeline>
<el-timeline-item
v-for=
"(activity, index) in activities"
:key=
"index"
:type=
"activity.type"
:color=
"activity.color"
:size=
"activity.size"
:hollow=
"activity.hollow"
:timestamp=
"activity.timestamp"
>
{{
activity
.
content
}}
</el-timeline-item>
</el-timeline>
</div>
<!-- 表格 -->
<div
class=
"outClinicalpathway_table_right"
>
<el-table
ref=
"multipleTableRef"
row-key=
"id"
:data=
"tableData"
style=
"width: 100%
"
style=
"width: 100%; height: 100%; overflow-y: scroll
"
@
selection-change=
"handleSelectionChange"
:tree-props=
"
{ children: 'children', hasChildren: 'hasChildren' }"
>
...
...
@@ -106,6 +127,7 @@
</el-table>
</div>
</div>
</div>
</template>
<
script
>
import
http
from
"../utils/http"
;
...
...
@@ -118,7 +140,7 @@ import {
ref
,
}
from
"@vue/composition-api"
;
import
{
decimal
}
from
"../utils/decimal"
;
import
{
img
}
from
"../assets/img/zu.png"
;
import
{
Message
}
from
"element-ui"
;
import
{
useRoute
,
useRouter
}
from
"../utils/useVueRouter"
;
import
{
setItem
,
getItem
}
from
"../utils/auth"
;
...
...
@@ -140,18 +162,6 @@ export default {
const
monthlyPlanTable
=
ref
();
const
multipleTableRef
=
ref
();
let
state
=
reactive
({
HistoryInfo
:
{
name
:
""
,
healthyID
:
""
,
paymentType
:
""
,
disNature
:
""
,
doctorName
:
""
,
rw
:
""
,
totalFee
:
""
,
avgFee
:
""
,
days
:
""
,
profitLoss
:
""
,
},
multipleSelection
:
[],
//被选择的数据
tableData
:
[
{
...
...
@@ -159,6 +169,8 @@ export default {
date
:
"2016-05-02"
,
name
:
"wangxiaohu"
,
address
:
"No. 189, Grove St, Los Angeles"
,
},
{
id
:
2
,
...
...
@@ -193,6 +205,45 @@ export default {
address
:
"No. 189, Grove St, Los Angeles"
,
},
],
treatmentinpt
:
""
,
//治疗方式输入框
treatmentoptions
:
[],
//治疗方式下拉值
orderinpt
:
""
,
//医嘱类型输入框
orderoptions
:
[],
//医嘱类型下拉值
pathinpt
:
""
,
//临床路径
pathroptions
:
[],
//临床路径下拉值
//时间线
activities
:
[
{
content
:
"住院第1天"
,
timestamp
:
"2022-04-03~2022-05-08"
,
size
:
"large"
,
type
:
"success"
,
icon
:
img
,
},
{
content
:
"住院第2~3天"
,
size
:
"large"
,
timestamp
:
"2022-04-03~2022-05-08"
,
type
:
"success"
,
},
{
content
:
"住院第4~5天"
,
timestamp
:
"2018-04-03 20:46"
,
size
:
"large"
,
},
{
content
:
"住院第6~7天"
,
size
:
"large"
,
timestamp
:
"2018-04-03 20:46"
,
type
:
"primary"
,
hollow
:
true
,
},
{
content
:
"住院第8~9天"
,
size
:
"large"
,
timestamp
:
"2018-04-03 20:46"
,
},
],
});
//当选择项发生变化时会触发该事件
const
handleSelectionChange
=
(
val
)
=>
{
...
...
@@ -238,309 +289,144 @@ export default {
//
padding
:
20px
;
//
position
:
relative
;
//
overflow
:
hidden
;
height
:
85
0px
;
background-color
:
white
;
padding
:
2
0px
;
height
:
90
0px
;
background-color
:
#f0f0f0
;
//
padding
:
1
0px
;
overflow
:
hidden
;
position
:
relative
;
&_top
{
margin-bottom
:
18px
;
&_div1
{
width
:
100%
;
height
:
20%
;
margin-bottom
:
5px
;
background-color
:
#ffff
;
padding
:
10px
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
.span1
{
&_left
{
height
:
100%
;
width
:
80%
;
display
:
flex
;
justify-content
:
start
;
font-size
:
14px
;
color
:
#6a707e
;
font-family
:
PingFang
SC
;
font-weight
:
400
;
}
&
_button
{
background-color
:
#2cabe3
;
color
:
#fff
;
}
}
&
_message
{
flex-direction
:
column
;
justify-content
:
center
;
&_one
{
width
:
100%
;
height
:
30%
;
background-color
:
#f2fafd
;
margin-bottom
:
10px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
margin-top
:
16px
;
&_left
{
width
:
16.6%
;
height
:
51px
;
span
{
width
:
3%
;
height
:
100%
;
font-size
:
14px
;
display
:
flex
;
justify-content
:
start
;
justify-content
:
center
;
align-items
:
center
;
background-color
:
#f3fafd
;
//
.iconfont
{
//
color
:
#2cabe3
;
//
padding-left
:
29px
;
//
font-size
:
23px
;
//
}
&
_tu1
{
padding-left
:
29px
;
font-size
:
23px
;
}
&
_t1
{
width
:
80%
;
height
:
42px
;
width
:
30%
;
height
:
80%
;
background-color
:
#ffff
;
display
:
flex
;
justify-content
:
start
;
padding-left
:
10px
;
align-items
:
center
;
background-color
:
#fff
;
color
:
#abafb3
;
font-size
:
14px
;
margin-left
:
29px
;
color
:
#acacac
;
font-weight
:
400
;
padding-left
:
20px
;
span
{
color
:
#787e8a
;
}
}
}
&
_centert
{
width
:
16.6%
;
height
:
51px
;
display
:
flex
;
justify-content
:
start
;
align-items
:
center
;
background-color
:
#f3fafd
;
font-family
:
PingFang
SC
;
//
.iconfont
{
//
color
:
#2cabe3
;
//
padding-left
:
29px
;
//
font-size
:
23px
;
//
}
&
_tu2
{
padding-left
:
29px
;
font-size
:
23px
;
}
&
_t2
{
width
:
80%
;
height
:
42px
;
height
:
80%
;
color
:
#787878
;
display
:
flex
;
justify-content
:
start
;
padding-left
:
10px
;
justify-content
:
flex-
start
;
font-weight
:
600
;
align-items
:
center
;
background-color
:
#fff
;
color
:
#abafb3
;
font-size
:
14px
;
margin-left
:
29px
;
span
{
color
:
#787e8a
;
}
}
}
&
_right
{
width
:
16.6
%
;
height
:
51px
;
&
_t2
{
width
:
30%
;
height
:
80
%
;
background-color
:
#ffff
;
display
:
flex
;
justify-content
:
start
;
align-items
:
center
;
background-color
:
#f3fafd
;
font-family
:
PingFang
SC
;
&_tu3
{
padding-left
:
29px
;
font-size
:
23px
;
}
&
_t3
{
color
:
#acacac
;
font-weight
:
400
;
padding-left
:
20px
;
span
{
width
:
80%
;
height
:
42px
;
height
:
80%
;
color
:
#787878
;
display
:
flex
;
justify-content
:
start
;
padding-left
:
10px
;
justify-content
:
flex-
start
;
font-weight
:
600
;
align-items
:
center
;
background-color
:
#fff
;
color
:
#abafb3
;
font-size
:
14px
;
margin-left
:
29px
;
span
{
color
:
#787e8a
;
}
}
}
&
_low
{
width
:
16.6%
;
height
:
51px
;
&
_t3
{
width
:
30%
;
height
:
80%
;
background-color
:
#ffff
;
margin-right
:
10px
;
display
:
flex
;
justify-content
:
start
;
align-items
:
center
;
background-color
:
#f3fafd
;
font-family
:
PingFang
SC
;
color
:
#acacac
;
font-weight
:
400
;
padding-left
:
20px
;
&_tu4
{
padding-left
:
29px
;
font-size
:
23px
;
}
&
_t4
{
width
:
80%
;
height
:
42px
;
display
:
flex
;
justify-content
:
start
;
padding-left
:
10px
;
align-items
:
center
;
background-color
:
#fff
;
color
:
#abafb3
;
font-size
:
14px
;
margin-left
:
29px
;
span
{
color
:
#787e8a
;
}
}
}
&
_div6
{
width
:
16.6%
;
height
:
51px
;
display
:
flex
;
justify-content
:
start
;
align-items
:
center
;
background-color
:
#f3fafd
;
font-family
:
PingFang
SC
;
&_tu6
{
padding-left
:
29px
;
font-size
:
23px
;
}
&
_t6
{
width
:
80%
;
height
:
42px
;
height
:
80%
;
font-weight
:
600
;
color
:
#787878
;
display
:
flex
;
justify-content
:
start
;
padding-left
:
10px
;
justify-content
:
flex-start
;
align-items
:
center
;
background-color
:
#fff
;
color
:
#abafb3
;
font-size
:
14px
;
margin-left
:
29px
;
span
{
color
:
#787e8a
;
}
}
}
&
_div5
{
width
:
16.6%
;
height
:
51px
;
display
:
flex
;
justify-content
:
start
;
align-items
:
center
;
background-color
:
#f3fafd
;
font-family
:
PingFang
SC
;
&_tu5
{
padding-left
:
29px
;
font-size
:
23px
;
}
&
_t5
{
width
:
8
0%
;
height
:
42px
;
&
_two
{
width
:
10
0%
;
height
:
30%
;
display
:
flex
;
justify-content
:
start
;
padding-left
:
10px
;
align-items
:
center
;
background-color
:
#fff
;
color
:
#abafb3
;
font-size
:
14px
;
margin-left
:
29px
;
span
{
color
:
#787e8a
;
}
}
}
}
}
&
_msg
{
height
:
51px
;
background-color
:
#f3fafd
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
margin-bottom
:
25px
;
//
.iconfont
{
//
color
:
#2cabe3
;
//
padding-left
:
28px
;
//
font-size
:
23px
;
//
}
&
_tu4
{
padding-left
:
29px
;
font-size
:
23px
;
color
:
#444444
;
&_inp1
{
width
:
30%
;
}
span
:nth-child
(
2
)
{
margin-left
:
21px
;
width
:
200px
;
height
:
39px
;
background-color
:
#fff
;
font-size
:
14px
;
color
:
#6d7381
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
font-family
:
PingFang
SC
;
margin-right
:
5px
;
&
_inp2
{
width
:
30%
;
}
span
:nth-child
(
3
)
{
width
:
200px
;
height
:
39px
;
background-color
:
#fff
;
font-size
:
14px
;
color
:
#6d7381
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
font-family
:
PingFang
SC
;
margin-right
:
5px
;
&
_inp3
{
width
:
40%
;
}
span
:nth-child
(
4
)
{
width
:
258px
;
height
:
39px
;
background-color
:
#fff
;
font-size
:
14px
;
color
:
#6d7381
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
font-family
:
PingFang
SC
;
margin-right
:
5px
;
}
span
:nth-child
(
5
)
{
width
:
200px
;
height
:
39px
;
background-color
:
#fff
;
font-size
:
14px
;
color
:
#6d7381
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
font-family
:
PingFang
SC
;
margin-right
:
5px
;
}
span
:nth-child
(
6
)
{
width
:
200px
;
height
:
39px
;
background-color
:
#fff
;
font-size
:
14px
;
color
:
#6d7381
;
&
_right
{
height
:
100%
;
width
:
20%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
font-family
:
PingFang
SC
;
margin-right
:
5px
;
}
span
:nth-child
(
n
+
7
)
{
width
:
258px
;
height
:
39px
;
background-color
:
#fff
;
font-size
:
14px
;
color
:
#6d7381
;
}
&
_table
{
height
:
76%
;
width
:
100%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
font-family
:
PingFang
SC
;
&_left
{
width
:
15%
;
height
:
100%
;
margin-right
:
5px
;
background-color
:
#ffff
;
padding-top
:
10px
;
}
span
:nth-child
(
n
+
7
)
{
margin-right
:
5px
;
&
_right
{
width
:
84%
;
height
:
100%
;
}
}
}
...
...
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