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
c26da681
Commit
c26da681
authored
Jul 21, 2022
by
DESKTOP-KM66R2T\Administrator
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
疾病分组查询
parent
a4d05141
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
424 additions
and
216 deletions
+424
-216
src/views/outHistorygrouping.vue
+423
-215
src/views/outaddrecordEnrollment.vue
+1
-1
No files found.
src/views/outHistorygrouping.vue
View file @
c26da681
...
...
@@ -2,7 +2,7 @@
* @Author: wsq
* @Date: 2022-03-02 16:34:58
* @LastEditors: wsq
* @LastEditTime: 2022-07-
11 16:37:03
* @LastEditTime: 2022-07-
21 15:48:27
* @Description:
-->
<
template
>
...
...
@@ -227,57 +227,155 @@
<!-- 病案入组 -->
<div
class=
"outaddrecordEnrollment"
id=
"outaddrecordEnrollment"
>
<div
class=
"outaddrecordEnrollment_search"
>
<div
class=
"outaddrecordEnrollment_search_message"
>
<div
class=
"outaddrecordEnrollment_search_message_left"
>
<div
class=
"outaddrecordEnrollment_search_message_left_t1"
>
<span
class=
"iconfont icon-tingzhenqi"
>
</span
><span
class=
"outaddrecordEnrollment_search_message_lef_t1_span2"
>
主诊断名称或诊断编码:
</span
>
</div>
<el-autocomplete
class=
"outaddrecordEnrollment_search_message_left_t2"
v-model
.
trim=
"outaddsearchForm.diagName"
:trigger-on-focus=
"true"
placeholder=
"请输入主诊断名称或诊断编码"
clearable
:fetch-suggestions=
"addquerySearchGroup"
select-when-unmatched=
"true"
@
clear=
"addclear"
@
select=
"addsearch"
>
</el-autocomplete>
</div>
<div
class=
"outaddrecordEnrollment_search_message_centert"
>
<div
class=
"outaddrecordEnrollment_search_message_centert_t1"
>
<span
class=
"iconfont icon-jiandaosvg"
>
</span
><span
class=
"outaddrecordEnrollment_search_message_centert_t1_span2"
>
主手术名称或操作编码:
</span
>
</div>
<el-autocomplete
class=
"outaddrecordEnrollment_search_message_centert_t2"
v-model
.
trim=
"outaddsearchForm.opsName"
clearable
:trigger-on-focus=
"true"
placeholder=
"请输入主手术名称或操作编码"
select-when-unmatched=
"true"
:fetch-suggestions=
"addquerySearchGroup2"
@
select=
"addsearch"
<div
class=
"outaddrecordEnrollment_search_div1"
>
<span
class=
"outaddrecordEnrollment_search_div1_span1"
>
主诊断:
</span
>
<el-select
class=
"outaddrecordEnrollment_search_div1_inp1"
v-model=
"outaddsearchForm.diagName"
filterable
remote
reserve-keyword
placeholder=
"请输入主诊断"
:remote-method=
"remoteMethod"
size=
"mini"
>
<el-option
v-for=
"item in zdoptions"
:key=
"item.name"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
<span
class=
"outaddrecordEnrollment_search_div1_span2"
>
其他诊断:
</span
>
<el-select
class=
"outaddrecordEnrollment_search_div1_inp2"
v-model=
"otdiagName"
multiple
collapse-tags
collapse-tags-tooltip
filterable
remote
reserve-keyword
placeholder=
"请输入其他诊断"
:remote-method=
"otremoteMethod"
size=
"mini"
>
<el-option
v-for=
"item in otzdoptions"
:key=
"item.name"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
<span
class=
"outaddrecordEnrollment_search_div1_span3"
>
年龄:
</span>
<el-input
v-model=
"ageinput"
placeholder=
"单位:岁"
class=
"outaddrecordEnrollment_search_div1_inp3"
size=
"mini"
/>
<span
class=
"outaddrecordEnrollment_search_div1_span4"
>
ICU总时长:
</span
>
<el-input
v-model=
"icuinput"
placeholder=
"单位:分钟"
class=
"outaddrecordEnrollment_search_div1_inp4"
size=
"mini"
/>
<span
class=
"outaddrecordEnrollment_search_div1_span5"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"addsearch"
>
查询
</el-button
>
</el-autocomplete>
</div>
<div
class=
"outaddrecordEnrollment_search_message_right"
@
click=
"addsearch"
</span>
</div>
<div
class=
"outaddrecordEnrollment_search_div2"
>
<span
class=
"outaddrecordEnrollment_search_div2_span1"
>
主手术:
</span
>
<el-select
class=
"outaddrecordEnrollment_search_div2_inp1"
v-model=
"outaddsearchForm.opsName"
filterable
remote
reserve-keyword
placeholder=
"请输入主手术"
:remote-method=
"ssremoteMethod"
size=
"mini"
>
<el-option
v-for=
"item in ssoptions"
:key=
"item.name"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
<span
class=
"outaddrecordEnrollment_search_div2_span2"
>
其他手术:
</span
>
<el-select
class=
"outaddrecordEnrollment_search_div2_inp2"
v-model=
"otopsName"
multiple
collapse-tags
collapse-tags-tooltip
filterable
remote
reserve-keyword
placeholder=
"请输入其他手术"
:remote-method=
"otssremoteMethod"
size=
"mini"
>
<el-option
v-for=
"item in otssoptions"
:key=
"item.name"
:label=
"item.name"
:value=
"item.name"
/>
</el-select>
<span
class=
"outaddrecordEnrollment_search_div2_span3"
>
新生儿年龄:
</span
>
<el-input
v-model=
"ageinput2"
placeholder=
"单位:天"
class=
"outaddrecordEnrollment_search_div2_inp3"
size=
"mini"
/>
<span
class=
"outaddrecordEnrollment_search_div2_span4"
>
离院方式:
</span
>
<el-select
v-model=
"leavevalue"
placeholder=
"请选择离院方式"
size=
"mini"
class=
"outaddrecordEnrollment_search_div2_inp4"
>
<span
class=
"iconfont icon-sousuo_o"
></span>
<span
class=
"outaddrecordEnrollment_search_message_right_span2"
>
查询
</span
<el-option
v-for=
"item in leaveoptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</div>
<div
class=
"outaddrecordEnrollment_search_div3"
>
<span
class=
"outaddrecordEnrollment_search_div3_span1"
>
性别:
</span>
<el-radio-group
v-model=
"sexvalue"
>
<el-radio
v-for=
"item in sexoptions"
:key=
"item.value"
:label=
"item.value"
size=
"small"
>
{{
item
.
label
}}
</el-radio
>
</
div
>
</
el-radio-group
>
</div>
</div>
<div
class=
"outaddrecordEnrollment_centent"
>
...
...
@@ -323,7 +421,7 @@
</div>
</div>
<!-- 如果没有数据时的样式 -->
<div
<
!--
<
div
v-show=
"addnodataShow"
class=
"outaddrecordEnrollment_centent_nodata"
>
...
...
@@ -333,7 +431,7 @@
<div
class=
"outaddrecordEnrollment_centent_nodata_text"
>
请输入要搜索的内容
</div>
</div>
</div>
-->
<div
v-show=
"addnolistShow"
class=
"outaddrecordEnrollment_centent_nodata"
...
...
@@ -352,7 +450,7 @@
</el-dialog>
</div>
</
template
>
<
script
>
<
script
>
import
http
from
"../utils/http"
;
import
{
reactive
,
...
...
@@ -395,13 +493,72 @@ export default {
opsName
:
""
,
},
addCorePercents
:
[],
addnodataShow
:
true
,
//没有搜索时显示
addnolistShow
:
false
,
//没有搜索数据的时候显示
addnolistShow
:
true
,
//没有搜索数据的时候显示
addgroupList
:
[],
//主诊断
addgroupArr
:
[],
addgroupList2
:
[],
//主手术
addgroupArr2
:
[],
addrecordEnrollmentShow
:
false
,
// 性别选择器
sexoptions
:
[
{
label
:
'未知'
,
value
:
'0'
,
},
{
label
:
'男'
,
value
:
'1'
,
},
{
label
:
'女'
,
value
:
'2'
,
},
],
//离院方式选择器
leaveoptions
:
[
{
label
:
'医嘱离院'
,
value
:
'1'
,
},
{
label
:
'医嘱转院'
,
value
:
'2'
,
},
{
label
:
'医嘱转社区卫生服务机构/乡镇卫生院'
,
value
:
'3'
,
},
{
label
:
'非医嘱离院'
,
value
:
'4'
,
},
{
label
:
'死亡'
,
value
:
'5'
,
},
{
label
:
'其他'
,
value
:
'9'
,
},
],
//性别输入框
sexvalue
:
'0'
,
//年龄 岁
ageinput
:
'0'
,
//年龄 天
ageinput2
:
'0'
,
//icu时长
icuinput
:
'0'
,
//离院方式
leavevalue
:
'1'
,
otdiagName
:
''
,
//其他诊断
otopsName
:
''
,
//其他手术
zdoptions
:
[],
//诊断的数据
otzdoptions
:
[],
//其他诊断数据
ssoptions
:
[],
//主手术
otssoptions
:
[],
//其他手术
diagList
:
[],
//诊断
opsList
:
[],
//手术
});
//返回
const
router
=
useRouter
();
...
...
@@ -499,98 +656,147 @@ export default {
//关闭弹层前的回调
const
closeDialog
=
()
=>
{
state
.
addrecordEnrollmentShow
=
false
;
state
.
addrecordEnrollmentShow
=
false
;
state
.
outaddsearchForm
=
{
diagName
:
""
,
opsName
:
""
,
};
addclear
();
(
state
.
otdiagName
=
[]),
(
state
.
otopsName
=
[]),
addclear
();
};
//获取主诊断模糊数据
function
addgroupListMe
()
{
http
.
post
(
`/medical/get/GetDiagOpss?diagName=
${
state
.
outaddsearchForm
.
diagName
}
&type=
${
1
}
`
,
{}
)
.
then
((
data
)
=>
{
state
.
addgroupList
=
data
;
for
(
let
item
of
state
.
addgroupList
)
{
state
.
addgroupArr
.
push
({
value
:
item
.
name
,
});
}
})
.
catch
((
error
)
=>
{});
}
function
addquerySearchGroup
(
queryString
,
cb
)
{
if
(
state
.
outaddsearchForm
.
diagName
.
length
>
0
)
{
addgroupListMe
();
}
state
.
addgroupArr
=
[];
cb
(
state
.
addgroupArr
);
}
//清空输入框的值时触发
const
addclear
=
()
=>
{
state
.
addCorePercents
=
[];
state
.
addnodataShow
=
true
;
};
//获取主手术模糊数据
function
addgroupListMe2
()
{
http
.
post
(
`/medical/get/GetDiagOpss?diagName=
${
state
.
outaddsearchForm
.
opsName
}
&type=
${
2
}
`
,
{}
)
.
then
((
data
)
=>
{
state
.
addgroupList2
=
data
;
for
(
let
item
of
state
.
addgroupList2
)
{
state
.
addgroupArr2
.
push
({
value
:
item
.
name
,
});
}
})
.
catch
((
error
)
=>
{});
}
function
addquerySearchGroup2
(
queryString
,
cb
)
{
if
(
state
.
outaddsearchForm
.
opsName
.
length
>
0
)
{
addgroupListMe2
();
//获取诊断数据
const
remoteMethod
=
(
query
)
=>
{
if
(
query
)
{
http
.
post
(
`/medical/get/GetDiagOpss?diagName=
${
query
}
&type=
${
1
}
`
,
{})
.
then
((
data
)
=>
{
state
.
zdoptions
=
data
;
})
.
catch
((
error
)
=>
{});
}
else
{
state
.
zdoptions
=
[];
}
state
.
addgroupArr2
=
[];
cb
(
state
.
addgroupArr2
);
}
};
//获取其他诊断数据
const
otremoteMethod
=
(
query
)
=>
{
if
(
query
)
{
http
.
post
(
`/medical/get/GetDiagOpss?diagName=
${
query
}
&type=
${
1
}
`
,
{})
.
then
((
data
)
=>
{
state
.
otzdoptions
=
data
;
})
.
catch
((
error
)
=>
{});
}
else
{
state
.
zdoptions
=
[];
}
};
//获取主手术,其他手术的数据
const
ssremoteMethod
=
(
query
)
=>
{
if
(
query
)
{
http
.
post
(
`/medical/get/GetDiagOpss?diagName=
${
query
}
&type=
${
2
}
`
,
{})
.
then
((
data
)
=>
{
state
.
ssoptions
=
data
;
})
.
catch
((
error
)
=>
{});
}
else
{
state
.
zdoptions
=
[];
}
};
//获取其他手术的数据
const
otssremoteMethod
=
(
query
)
=>
{
if
(
query
)
{
http
.
post
(
`/medical/get/GetDiagOpss?diagName=
${
query
}
&type=
${
2
}
`
,
{})
.
then
((
data
)
=>
{
state
.
otssoptions
=
data
;
})
.
catch
((
error
)
=>
{});
}
else
{
state
.
zdoptions
=
[];
}
};
//查询
const
addsearch
=
()
=>
{
state
.
addCorePercents
=
[];
addgetlist
();
if
(
state
.
outaddsearchForm
.
diagName
)
{
state
.
addnodataShow
=
false
;
state
.
addnolistShow
=
false
;
}
else
{
state
.
addnodataShow
=
true
;
state
.
addnolistShow
=
false
;
//诊断
if
(
state
.
otdiagName
.
length
>
0
&&
state
.
outaddsearchForm
.
diagName
)
{
state
.
diagList
.
push
({
diagCode
:
state
.
outaddsearchForm
.
diagName
,
diagOrder
:
"0"
,
});
state
.
otdiagName
.
forEach
((
i
)
=>
{
state
.
diagList
.
push
({
diagCode
:
i
,
diagOrder
:
"1"
,
});
});
}
else
if
(
state
.
outaddsearchForm
.
diagName
)
{
state
.
diagList
.
push
({
diagCode
:
state
.
outaddsearchForm
.
diagName
,
diagOrder
:
"0"
,
});
}
else
if
(
state
.
otdiagName
.
length
>
0
)
{
state
.
otdiagName
.
forEach
((
i
)
=>
{
state
.
diagList
.
push
({
diagCode
:
i
,
diagOrder
:
"1"
,
});
});
}
// 手术
if
(
state
.
otopsName
.
length
>
0
&&
state
.
outaddsearchForm
.
opsName
)
{
state
.
opsList
.
push
({
opsCode
:
state
.
outaddsearchForm
.
opsName
,
diagOrder
:
"0"
,
});
state
.
otopsName
.
forEach
((
i
)
=>
{
state
.
opsList
.
push
({
opsCode
:
i
,
diagOrder
:
"1"
,
});
});
}
else
if
(
state
.
outaddsearchForm
.
opsName
)
{
state
.
opsList
.
push
({
opsCode
:
state
.
outaddsearchForm
.
opsName
,
diagOrder
:
"0"
,
});
}
else
if
(
state
.
otopsName
.
length
>
0
)
{
state
.
otopsName
.
forEach
((
i
)
=>
{
state
.
opsList
.
push
({
opsCode
:
i
,
diagOrder
:
"1"
,
});
});
}
addgetlist
();
};
//获取列表数据
const
addgetlist
=
()
=>
{
http
.
post
(
`/medical/get/GetCorePercents`
,
{
diagName
:
state
.
outaddsearchForm
.
diagName
,
opsName
:
state
.
outaddsearchForm
.
opsName
,
.
post
(
`/medical/post/GetCorePercentsByAssemble`
,
{
a14
:
state
.
ageinput
,
// 年龄
a16
:
state
.
ageinput2
,
// 年龄不足一周岁(天)
a12C
:
state
.
sexvalue
,
// 性别
icuTime
:
state
.
icuinput
,
// icu总时长(分钟)
b34C
:
state
.
leavevalue
,
// 离院方式
diagList
:
state
.
diagList
,
// 诊断集合
opsList
:
state
.
opsList
,
// 手术集合
})
.
then
((
data
)
=>
{
state
.
addCorePercents
=
data
.
list
;
state
.
addCorePercents
=
data
;
if
(
state
.
addCorePercents
.
length
==
0
)
{
state
.
addnolistShow
=
true
;
state
.
addnodataShow
=
false
;
}
else
{
state
.
addnolistShow
=
false
;
}
// state.totalCount = data.totalCount;
for
(
var
i
=
0
;
i
<
state
.
addCorePercents
.
length
;
i
++
)
{
...
...
@@ -634,6 +840,7 @@ export default {
),
`indexChart11file
${
i
}
`
);
(
state
.
diagList
=
[]),
(
state
.
opsList
=
[]);
}
})
.
catch
((
error
)
=>
{});
...
...
@@ -660,17 +867,17 @@ export default {
addsearch
,
addgetlist
,
addquerySearchGroup
,
addgroupListMe
,
addquerySearchGroup2
,
addgroupListMe2
,
remoteMethod
,
otremoteMethod
,
otssremoteMethod
,
addclear
,
ssremoteMethod
,
closeDialog
,
};
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
@import
"../styles/mixin.scss"
;
.outsetgrouping
{
...
...
@@ -1073,7 +1280,7 @@ export default {
justify-content
:
center
;
span
{
height
:
100%
;
width
:
85%
;
width
:
85%
;
//
margin
:
5px
5px
;
display
:
flex
;
justify-content
:
start
;
...
...
@@ -1113,7 +1320,7 @@ export default {
justify-content
:
center
;
span
{
height
:
100%
;
width
:
85%
;
width
:
85%
;
//
margin
:
5px
5px
;
display
:
flex
;
justify-content
:
start
;
...
...
@@ -1359,104 +1566,105 @@ export default {
position
:
relative
;
&_search
{
//
margin-bottom
:
20px
;
height
:
6%
;
margin-bottom
:
20px
;
&_message
{
height
:
15%
;
margin-bottom
:
10px
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-between
;
&_div1
{
color
:
#abafb3
;
display
:
flex
;
justify-content
:
space-between
;
font-size
:
12px
;
align-items
:
center
;
&_left
{
margin-bottom
:
10px
;
&_span1
{
width
:
50px
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
background-color
:
#f3fafd
;
font-family
:
PingFang
SC
;
width
:
43%
;
height
:
51px
;
&_t1
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
width
:
30%
;
font-size
:
15px
;
font-family
:
PingFang
SC
;
font-weight
:
400
;
color
:
#2cabe3
;
.iconfont
{
color
:
#2cabe3
;
padding-left
:
29px
;
font-size
:
23px
;
}
}
&
_t2
{
width
:
70%
;
border-radius
:
1px
solid
white
;
.el-input__inner
{
width
:
98%
;
height
:
42px
;
line-height
:
42px
;
font-size
:
16px
;
border
:
none
;
}
}
justify-content
:
flex-end
;
}
&
_inp1
{
width
:
200px
;
}
&
_centert
{
&
_span2
{
width
:
120px
;
display
:
flex
;
justify-content
:
flex-end
;
}
&
_inp2
{
width
:
300px
;
}
&
_span3
{
width
:
120px
;
display
:
flex
;
justify-content
:
flex-end
;
}
&
_inp3
{
width
:
100px
;
}
&
_span4
{
width
:
120px
;
display
:
flex
;
justify-content
:
flex-end
;
}
&
_inp4
{
width
:
150px
;
}
&
_span5
{
margin-left
:
600px
;
display
:
flex
;
justify-content
:
flex-end
;
}
}
&
_div2
{
display
:
flex
;
font-size
:
12px
;
align-items
:
center
;
color
:
#abafb3
;
margin-bottom
:
10px
;
&_span1
{
width
:
50px
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
background-color
:
#f3fafd
;
font-family
:
PingFang
SC
;
width
:
43%
;
height
:
51px
;
&_t1
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
width
:
30%
;
font-size
:
15px
;
font-family
:
PingFang
SC
;
font-weight
:
400
;
color
:
#2cabe3
;
.iconfont
{
color
:
#2cabe3
;
padding-left
:
25px
;
font-size
:
23px
;
}
}
&
_t2
{
width
:
70%
;
border-radius
:
1px
solid
white
;
.el-input__inner
{
width
:
98%
;
height
:
42px
;
line-height
:
42px
;
font-size
:
16px
;
border
:
none
;
}
}
justify-content
:
flex-end
;
}
&
_right
{
width
:
136px
;
height
:
37px
;
background
:
#2cabe3
;
border-radius
:
4px
;
&
_inp1
{
width
:
200px
;
}
&
_span2
{
width
:
120px
;
display
:
flex
;
justify-content
:
flex-end
;
}
&
_inp2
{
width
:
300px
;
}
&
_span3
{
width
:
120px
;
display
:
flex
;
justify-content
:
flex-end
;
}
&
_inp3
{
width
:
100px
;
}
&
_span4
{
width
:
120px
;
display
:
flex
;
justify-content
:
flex-end
;
}
&
_inp4
{
width
:
150px
;
}
}
&
_div3
{
color
:
#abafb3
;
display
:
flex
;
font-size
:
12px
;
&_span1
{
width
:
50px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
&_span2
{
font-size
:
15px
;
font-family
:
PingFang
SC
;
font-weight
:
400
;
color
:
#fefefe
;
}
span
{
margin-right
:
5px
;
}
.iconfont
{
color
:
white
;
font-size
:
19px
;
}
justify-content
:
flex-end
;
}
}
}
...
...
src/views/outaddrecordEnrollment.vue
View file @
c26da681
...
...
@@ -13,7 +13,7 @@
class=
"outaddrecordEnrollment_search_message_left_t2"
v-model
.
trim=
"outaddsearchForm.diagName"
:trigger-on-focus=
"true"
placeholder=
"请输入
主诊断名称或诊断编码
"
placeholder=
"请输入
预计DIP支付费用
"
clearable
:fetch-suggestions=
"addquerySearchGroup"
select-when-unmatched=
"true"
...
...
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