Commit c9b161d7 by 唐玉峰

出院预审

parent 78be6741
......@@ -9,21 +9,10 @@
<!-- 智能分组 -->
<div class="outsetgrouping" id="setGroupingbox">
<div class="outsetgrouping_button flex-between-center font-14 color-666">
<div><span class="span1">患者信息</span><span class="mar-left-15 color-F54" v-if="casehisObj?.isLowRisk">该主诊断符合低风险死亡</span></div>
<div>
<span class="span1">患者信息</span
><span class="mar-left-15 color-F54" v-if="casehisObj?.isLowRisk"
>该主诊断符合低风险死亡</span
>
</div>
<div>
<router-link
target="_blank"
v-if="$route.query.type"
:to="{ path: '/medicalRecordImport', query: { id: $route.query.id } }"
>
<el-button class="outsetgrouping_button_Searchbtn" size="mini" type="primary"
>DRG历史分组结果查询</el-button
></router-link
<router-link target="_blank" v-if="$route.query.type" :to="{ path: '/medicalRecordImport', query: { id: $route.query.id } }">
<el-button class="outsetgrouping_button_Searchbtn" size="mini" type="primary">DRG历史分组结果查询</el-button></router-link
>
<el-button
class="outsetgrouping_button_Searchbtn"
......@@ -36,26 +25,18 @@
>
<el-button
class="outsetgrouping_button_Searchbtn"
v-if="$route.query.getPRHisData"
style="margin-left: 10px"
size="mini"
type="primary"
@click="topage1"
>病案质控</el-button
>
<el-button
class="outsetgrouping_button_Searchbtn"
type="primary"
size="mini"
@click="toPage"
@click="GetProjectRulesData"
>出院预审</el-button
>
<el-button class="outsetgrouping_button_Searchbtn" style="margin-left: 10px" size="mini" type="primary" @click="topage1">病案质控</el-button>
<el-button class="outsetgrouping_button_Searchbtn" type="primary" size="mini" @click="toPage">
<span class="s2">费用监控</span>
</el-button>
<el-button
class="outsetgrouping_button_Searchbtn"
type="primary"
size="mini"
@click="gosear"
>
<el-button class="outsetgrouping_button_Searchbtn" type="primary" size="mini" @click="gosear">
<span class="s2">疾病分组查询</span>
</el-button>
</div>
......@@ -63,51 +44,39 @@
<div class="outsetgrouping_top">
<div class="outsetgrouping_top_message">
<div class="outsetgrouping_top_message_left" style="width: 18%">
<span class="outsetgrouping_top_message_left_tu1"
><img src="../assets/img/peo.png" alt="" />
</span>
<span class="outsetgrouping_top_message_left_tu1"><img src="../assets/img/peo.png" alt="" /> </span>
<div class="outsetgrouping_top_message_left_t1">
住院号:<span>{{ casehisObj ? casehisObj.a48 : '' }}</span>
住院号:<span>{{ casehisObj ? casehisObj.a48 : "" }}</span>
</div>
</div>
<div class="outsetgrouping_top_message_left" style="width: 18%">
<span class="outsetgrouping_top_message_left_tu1"
><img src="../assets/img/peo.png" alt="" />
</span>
<span class="outsetgrouping_top_message_left_tu1"><img src="../assets/img/peo.png" alt="" /> </span>
<div class="outsetgrouping_top_message_left_t1">
姓名:<span>{{ casehisObj ? casehisObj.a11 : '' }}</span>
姓名:<span>{{ casehisObj ? casehisObj.a11 : "" }}</span>
</div>
</div>
<div class="outsetgrouping_top_message_centert" style="width: 18%">
<span class="outsetgrouping_top_message_centert_tu2"
><img src="../assets/img/ka.png" alt=""
/></span>
<span class="outsetgrouping_top_message_centert_tu2"><img src="../assets/img/ka.png" alt="" /></span>
<div class="outsetgrouping_top_message_centert_t2">
住院次数:<span>{{ casehisObj ? casehisObj.a49 : '' }}</span>
住院次数:<span>{{ casehisObj ? casehisObj.a49 : "" }}</span>
</div>
</div>
<div class="outsetgrouping_top_message_centert" style="width: 18%">
<span class="outsetgrouping_top_message_centert_tu2"
><img src="../assets/img/ka.png" alt=""
/></span>
<span class="outsetgrouping_top_message_centert_tu2"><img src="../assets/img/ka.png" alt="" /></span>
<div class="outsetgrouping_top_message_centert_t2">
实际住院天数:<span>{{ casehisObj ? casehisObj.b20 : '' }}</span>
实际住院天数:<span>{{ casehisObj ? casehisObj.b20 : "" }}</span>
</div>
</div>
<div class="outsetgrouping_top_message_right">
<span class="outsetgrouping_top_message_right_tu3"
><img src="../assets/img/qian.png" alt=""
/></span>
<span class="outsetgrouping_top_message_right_tu3"><img src="../assets/img/qian.png" alt="" /></span>
<div class="outsetgrouping_top_message_right_t3">
医疗付费方式:<span>{{ casehisObj ? casehisObj.a46C : '' }}</span>
医疗付费方式:<span>{{ casehisObj ? casehisObj.a46C : "" }}</span>
</div>
</div>
<div class="outsetgrouping_top_message_blow">
<span class="outsetgrouping_top_message_blow_tu7"
><img src="../assets/img/daoru.png" alt=""
/></span>
<span class="outsetgrouping_top_message_blow_tu7"><img src="../assets/img/daoru.png" alt="" /></span>
<div class="outsetgrouping_top_message_blow_t4">
分组类型:<span>{{ casehisObj ? casehisObj.drgs.disNature : '' }}</span>
分组类型:<span>{{ casehisObj ? casehisObj.drgs.disNature : "" }}</span>
</div>
</div>
</div>
......@@ -115,43 +84,33 @@
<div class="outsetgrouping_top2">
<div class="outsetgrouping_top2_message">
<div class="outsetgrouping_top2_message_left">
<span class="outsetgrouping_top2_message_left_tu4"
><img src="../assets/img/bianma.png" alt="" />
</span>
<span class="outsetgrouping_top2_message_left_tu4"><img src="../assets/img/bianma.png" alt="" /> </span>
<div class="outsetgrouping_top2_message_left_t1">
当前分组编码:<span>{{ casehisObj ? casehisObj.drgs.code : '' }}</span>
当前分组编码:<span>{{ casehisObj ? casehisObj.drgs.code : "" }}</span>
</div>
</div>
<div class="outsetgrouping_top2_message_centert">
<span class="outsetgrouping_top2_message_centert_tu5"
><img src="../assets/img/daoru.png" alt=""
/></span>
<span class="outsetgrouping_top2_message_centert_tu5"><img src="../assets/img/daoru.png" alt="" /></span>
<div class="outsetgrouping_top2_message_centert_t2">
分组名称:<span>{{ casehisObj ? casehisObj.drgs.name : '' }}</span>
分组名称:<span>{{ casehisObj ? casehisObj.drgs.name : "" }}</span>
</div>
</div>
<div class="outsetgrouping_top2_message_right">
<span class="outsetgrouping_top2_message_right_tu6"
><img src="../assets/img/jiner.png" alt=""
/></span>
<span class="outsetgrouping_top2_message_right_tu6"><img src="../assets/img/jiner.png" alt="" /></span>
<div class="outsetgrouping_top2_message_right_t3">
预计DRG支付费用:<span>{{ casehisObj ? decimal(casehisObj.drgs.actualfee) : '' }}</span>
预计DRG支付费用:<span>{{ casehisObj ? decimal(casehisObj.drgs.actualfee) : "" }}</span>
</div>
</div>
<div class="outsetgrouping_top2_message_left">
<span class="outsetgrouping_top2_message_left_tu4"
><img src="../assets/img/jiner.png" alt="" />
</span>
<span class="outsetgrouping_top2_message_left_tu4"><img src="../assets/img/jiner.png" alt="" /> </span>
<div class="outsetgrouping_top2_message_left_t1">
总费用:<span>{{ casehisObj ? decimal(casehisObj.totalFee) : '' }}</span>
总费用:<span>{{ casehisObj ? decimal(casehisObj.totalFee) : "" }}</span>
</div>
</div>
<div class="outsetgrouping_top2_message_right">
<span class="outsetgrouping_top2_message_right_tu6"
><img src="../assets/img/jiner.png" alt=""
/></span>
<span class="outsetgrouping_top2_message_right_tu6"><img src="../assets/img/jiner.png" alt="" /></span>
<div class="outsetgrouping_top2_message_right_t3">
盈亏:<span>{{ casehisObj ? decimal(casehisObj.drgs.profitLoss) : '' }}</span>
盈亏:<span>{{ casehisObj ? decimal(casehisObj.drgs.profitLoss) : "" }}</span>
</div>
</div>
</div>
......@@ -162,11 +121,7 @@
<span class="outsetgrouping_title_span">智能疾病分组</span>
</div>
<div class="outsetgrouping_centent">
<div
class="outsetgrouping_centent_totalnum"
v-for="(item, index) in CorePercents"
:key="index"
>
<div class="outsetgrouping_centent_totalnum" v-for="(item, index) in CorePercents" :key="index">
<div class="outsetgrouping_centent_totalnum_left">
<div class="outsetgrouping_centent_totalnum_left_yxrz" v-if="item.isShow">
<div class="dw"><img src="../assets/img/t29.png" alt="" /> 优先入组</div>
......@@ -201,14 +156,11 @@
<div class="outsetgrouping_centent_totalnum_left_text_msg2_text5">
<span>预计DRG支付费用:{{ decimal(item.actualfee) }}</span>
<span>总费用:{{ decimal(item.totalFee) }}</span>
<span>药耗占比:{{ decimal(item.drugMatPercent) + '%' }}</span>
<span>药耗占比:{{ decimal(item.drugMatPercent) + "%" }}</span>
<span>盈亏:{{ decimal(item.profitLoss) }}</span>
</div>
</div>
<div
class="outpatientDetails_fenqu"
v-if="item.lowMagnification != 0 && item.highMagnification != 0"
>
<div class="outpatientDetails_fenqu" v-if="item.lowMagnification != 0 && item.highMagnification != 0">
<div class="outpatientDetails_fenqu_di">
<div class="outpatientDetails_fenqu_di_bb">
<div class="outpatientDetails_fenqu_di_bb_div1">
......@@ -216,7 +168,7 @@
class="outpatientDetails_fenqu_di_bb_div1_num"
:style="{
marginLeft: item.totalwidth - 1 + '%',
color: item.totalcolor
color: item.totalcolor,
}"
>{{ decimal(item.totalFee) }}</span
>
......@@ -224,43 +176,27 @@
class="outpatientDetails_fenqu_di_bb_div1_he"
:style="{
marginLeft: item.totalwidth + '%',
backgroundColor: item.totalcolor
backgroundColor: item.totalcolor,
}"
></span>
</div>
<div class="outpatientDetails_fenqu_di_bb_div2">
<span
class="outpatientDetails_fenqu_di_bb_div2_span1"
:style="{ width: item.lowwidth + '%' }"
<span class="outpatientDetails_fenqu_di_bb_div2_span1" :style="{ width: item.lowwidth + '%' }"
><span
class="outpatientDetails_fenqu_di_bb_div2_span1_t1"
:title="'低倍率区域:&lt;=' + Math.round(item.lowMagnification)"
>低倍率区域:&lt;={{ Math.round(item.lowMagnification) }}</span
></span
>
<span
class="outpatientDetails_fenqu_di_bb_div2_span2"
:style="{ width: item.contentwidth + '%' }"
<span class="outpatientDetails_fenqu_di_bb_div2_span2" :style="{ width: item.contentwidth + '%' }"
><span
class="outpatientDetails_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="outpatientDetails_fenqu_di_bb_div2_span3"
:style="{ width: item.heightwidth + '%' }"
<span class="outpatientDetails_fenqu_di_bb_div2_span3" :style="{ width: item.heightwidth + '%' }"
><span
class="outpatientDetails_fenqu_di_bb_div2_span3_t3"
:title="'高倍率区域:>=' + Math.round(item.highMagnification)"
......@@ -351,323 +287,77 @@
</div>
<!-- 弹出层 -->
<el-dialog
center
:visible.sync="addrecordEnrollmentShow"
class="fullscreen"
:before-close="closeDialog"
:fullscreen="true"
>
<el-dialog center :visible.sync="addrecordEnrollmentShow" class="fullscreen" :before-close="closeDialog" :fullscreen="true">
<!-- 病案分组 -->
<diagList :code="casehisObj" :isshow="addrecordEnrollmentShow"></diagList>
</el-dialog>
<el-dialog
center
:visible.sync="addrecordEnrollmentShow1"
class="fullscreen"
:before-close="closeDialog"
:fullscreen="true"
>
<!-- 病案分组 -->
<div class="outaddrecordEnrollment" id="outaddrecordEnrollment">
<div class="outaddrecordEnrollment_search">
<div class="outaddrecordEnrollment_search_div1">
<span class="outaddrecordEnrollment_search_div1_span1"
><span style="color: red">*</span> 主诊断:</span
>
<el-select
class="outaddrecordEnrollment_search_div1_inp1"
v-model="outaddsearchForm.diagName"
filterable
remote
style="width: 300px"
reserve-keyword
placeholder="请输入主诊断"
:remote-method="remoteMethod"
size="mini"
clearable
>
<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
style="width: 300px"
collapse-tags
collapse-tags-tooltip
filterable
remote
reserve-keyword
placeholder="请输入其他诊断"
:remote-method="otremoteMethod"
size="mini"
clearable
>
<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"
/>&nbsp;
<span class="outaddrecordEnrollment_search_div1_span4">ICU总时长:</span>
<el-input
v-model="icuinput"
placeholder="请输入ICU总时长"
class="outaddrecordEnrollment_search_div1_inp4"
size="mini"
/>&nbsp;分钟
<span class="outaddrecordEnrollment_search_div1_span4">医保类型:</span>
<el-select
class="outaddrecordEnrollment_search_div1_inp1"
style="width: 150px"
v-model="a46C"
placeholder="医保类型"
size="mini"
clearable
>
<el-option label="城镇职工" value="城镇职工" />
<el-option label="城乡居民" value="城乡居民" />
</el-select>
<span class="outaddrecordEnrollment_search_div1_span5">
<el-button size="mini" type="primary" @click="addsearch">查询</el-button>
</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
style="width: 300px"
remote
reserve-keyword
placeholder="请输入主手术"
:remote-method="ssremoteMethod"
size="mini"
clearable
>
<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
style="width: 300px"
collapse-tags
collapse-tags-tooltip
filterable
remote
reserve-keyword
placeholder="请输入其他手术"
:remote-method="otssremoteMethod"
size="mini"
clearable
<el-dialog :visible.sync="addrecordEnrollmentShow1">
<div class="outpatientDetails_bottom_rght1">
<div class="outpatientDetails_bottom_rght1_top">
<div class="outpatientDetails_bottom_rght1_top_title">异常问题</div>
<div class="outpatientDetails_bottom_rght1_top_mes">
<span
class="outpatientDetails_bottom_rght1_top_mes_span1"
:class="{
outpatientDetails_bottom_rght1_top_mes_span1background: ind == span1Ind,
}"
v-for="(item, ind) in typeCountDatas"
:key="ind"
@click="gettype(item.name, ind)"
>{{ item.name }}<span :style="{ color: item.color }">{{ item.count }}</span></span
>
<el-option
v-for="item in otssoptions"
:key="item.name"
:label="item.name"
:value="item.name"
/>
</el-select>
<!-- <span class="outpatientDetails_bottom_rght1_top_mes_span2">检查:<span style="color: #3ad330">0</span></span>
<span class="outaddrecordEnrollment_search_div2_span3">新生儿年龄:</span>
<el-input
v-model="ageinput2"
placeholder="请输入新生儿年龄"
class="outaddrecordEnrollment_search_div2_inp3"
size="mini"
/>&nbsp;
<span class="outaddrecordEnrollment_search_div2_span4">离院方式:</span>
<el-select
v-model="leavevalue"
placeholder="请选择离院方式"
size="mini"
class="outaddrecordEnrollment_search_div2_inp4"
>
<el-option
v-for="item in leaveoptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<span class="outaddrecordEnrollment_search_div2_span3" style="margin-left: 26px"
>总费用:</span
>
<el-input
v-model="d01"
placeholder="请输入总费用"
class="outaddrecordEnrollment_search_div2_inp3"
size="mini"
/>
</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
>
</el-radio-group>
<span class="outpatientDetails_bottom_rght1_top_mes_span3">治疗:<span style="color: #2aaae2">0</span></span>
<span class="outpatientDetails_bottom_rght1_top_mes_span4">其他:<span style="color: red">0</span></span> -->
</div>
</div>
<div class="outaddrecordEnrollment_centent">
<div class="outpatientDetails_bottom_rght1_bottom">
<div
class="outaddrecordEnrollment_centent_totalnum"
style="display: flex; justify-content: space-between"
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">
<div class="outaddrecordEnrollment_centent_totalnum_left_text1">
<span>分组编码:{{ item.code }}</span>
<span>分组名称:{{ item.coreName }}</span>
<span>基准点数:{{ item.score }}</span>
</div>
<div class="outaddrecordEnrollment_centent_totalnum_left_text3">
<span>预计DRG支付费用:{{ decimal(item.actualfee) }}</span>
<span>分组类型:{{ item.disNature }}</span>
</div>
</div>
<div
class="outpatientDetails_fenqu"
v-if="item.lowMagnification != 0 && item.highMagnification != 0"
>
<div class="outpatientDetails_fenqu_di">
<div class="outpatientDetails_fenqu_di_bb">
<div class="outpatientDetails_fenqu_di_bb_div1">
<span
class="outpatientDetails_fenqu_di_bb_div1_num"
:style="{
marginLeft: item.totalwidth - 1 + '%',
color: item.totalcolor
}"
>{{ decimal(item.totalFee) }}</span
>
<span
class="outpatientDetails_fenqu_di_bb_div1_he"
:style="{
marginLeft: item.totalwidth + '%',
backgroundColor: item.totalcolor
class="outpatientDetails_bottom_rght1_bottom_li"
:class="{
outpatientDetails_bottom_rght1_bottom_liInd: ind == liInd,
}"
></span>
</div>
<div class="outpatientDetails_fenqu_di_bb_div2" style="height: 100%">
<span
class="outpatientDetails_fenqu_di_bb_div2_span1"
:style="{ width: item.lowwidth + '%' }"
><span
class="outpatientDetails_fenqu_di_bb_div2_span1_t1"
:title="'低倍率区域:&lt;=' + Math.round(item.lowMagnification)"
>低倍率区域:&lt;={{ Math.round(item.lowMagnification) }}</span
></span
>
<span
class="outpatientDetails_fenqu_di_bb_div2_span2"
:style="{ width: item.contentwidth + '%' }"
><span
class="outpatientDetails_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
></span
v-for="(item, ind) in options"
:key="ind"
>
<span v-show="item.projectRuleLevel == '禁止'" class="outpatientDetails_bottom_rght1_bottom_li_title" style="background: red">{{
item.projectRuleLevel
}}</span>
<span v-show="item.projectRuleLevel == '提示'" class="outpatientDetails_bottom_rght1_bottom_li_title" style="background: #2aaae2">{{
item.projectRuleLevel
}}</span>
<span v-show="item.projectRuleLevel == '警告'" class="outpatientDetails_bottom_rght1_bottom_li_title" style="background: #e9c621">{{
item.projectRuleLevel
}}</span>
<span
class="outpatientDetails_fenqu_di_bb_div2_span3"
:style="{ width: item.heightwidth + '%' }"
><span
class="outpatientDetails_fenqu_di_bb_div2_span3_t3"
:title="'高倍率区域:>=' + Math.round(item.highMagnification)"
>高倍率区域:>={{ Math.round(item.highMagnification) }}</span
></span
>
</div>
</div>
</div>
</div>
<el-tooltip placement="bottom" trigger="hover">
<template #content>{{ item.notes }} </template>
<span class="outpatientDetails_bottom_rght1_bottom_li_cont">{{ item.notes }}</span>
</el-tooltip>
</div>
<!-- <div class="outaddrecordEnrollment_centent_totalnum_right">
<div :id="`indexChart11` + index" class="outaddrecordEnrollment_centent_totalnum_right_echar1"></div>
<div :id="`indexChart11two` + index" class="outaddrecordEnrollment_centent_totalnum_right_echar2"></div>
<div :id="`indexChart11tree` + index" class="outaddrecordEnrollment_centent_totalnum_right_echar3"></div>
<div :id="`indexChart11fore` + index" class="outaddrecordEnrollment_centent_totalnum_right_echar4"></div>
<div :id="`indexChart11file` + index" class="outaddrecordEnrollment_centent_totalnum_right_echar5"></div>
</div> -->
</div>
<div v-show="addnolistShow" class="outaddrecordEnrollment_centent_nodata">
<div class="outaddrecordEnrollment_centent_nodata_img">
<img src="../assets/img/nodata.png" alt="" />
</div>
<div class="outaddrecordEnrollment_centent_nodata_text">暂无数据</div>
</div>
</div>
<div class="outaddrecordEnrollment_pagination"></div>
</div>
</el-dialog>
</div>
</template>
<script>
import http from '../utils/http'
import { decimal } from '../utils/decimal'
import { Message } from 'element-ui'
import { useRoute, useRouter } from '../utils/useVueRouter'
import { initEcharts, categoryChart, categoryChart11 } from '../utils/echarts'
import diagList from './diagList'
import http from "../utils/http";
import { decimal } from "../utils/decimal";
import { Message, Loading } from "element-ui";
import { useRoute, useRouter } from "../utils/useVueRouter";
import { initEcharts, categoryChart, categoryChart11 } from "../utils/echarts";
import diagList from "./diagList";
export default {
name: 'outHistorygrouping',
name: "outHistorygrouping",
components: { diagList },
data() {
return {
abc: '',
abc: "",
casehisObj: null,
searchForm: {
diagName: '',
opsName: ''
diagName: "",
opsName: "",
},
CorePercents: [],
coreID: 0,
......@@ -682,11 +372,6 @@ export default {
groupArr2: [],
diagMapList: null, //医保诊断编码集合
opsMapList: null, //医保手术编码集合
outaddsearchForm: {
diagName: '',
opsName: ''
},
addCorePercents: [],
addnolistShow: true, //没有搜索数据的时候显示
addgroupList: [], //主诊断
......@@ -695,171 +380,117 @@ export default {
addgroupArr2: [],
addrecordEnrollmentShow: false,
addrecordEnrollmentShow1: 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',
sexvalue: "0",
//年龄 岁
ageinput: '0',
ageinput: "0",
//年龄 天
ageinput2: '0',
ageinput2: "0",
//icu时长
icuinput: '0',
icuinput: "0",
//离院方式
leavevalue: '1',
otdiagName: '', //其他诊断
otopsName: '', //其他手术
zdoptions: [], //诊断的数据
otzdoptions: [], //其他诊断数据
ssoptions: [], //主手术
otssoptions: [], //其他手术
diagList: [], //诊断
opsList: [], //手术
a46C: '城乡居民',
leavevalue: "1",
options: [],
typeCountDatas: [],
span1Ind: -1,
liInd: -1,
d01: 0,
myTimer: null
}
myTimer: null,
loadingOption1: {
// 加载loading
fullscreen: true,
text: "正在加载...",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.5)",
},
};
},
mounted() {
this.$nextTick(() => {
window.addEventListener('mouseover', this.myTimeOut)
})
this.myTimeOut()
this.getCaseHis(this.$route.query.id)
window.addEventListener("mouseover", this.myTimeOut);
});
this.myTimeOut();
this.getCaseHis(this.$route.query.id);
if (this.searchForm.diagName.length > 0) {
this.getlist()
this.getlist();
}
},
methods: {
decimal,
goback() {
router.go(-1)
router.go(-1);
},
myTimeOut() {
clearTimeout(this.myTimer)
clearTimeout(this.myTimer);
this.myTimer = setTimeout(() => {
window.opener = null
window.open('about:blank', '_self', '').close()
window.close()
clearTimeout(this.myTimer)
}, 10 * 60 * 1000)
window.opener = null;
window.open("about:blank", "_self", "").close();
window.close();
clearTimeout(this.myTimer);
}, 10 * 60 * 1000);
},
//疾病查询
gosear() {
this.addrecordEnrollmentShow = true
this.addrecordEnrollmentShow = true;
},
//获取基本数据
getCaseHis(code) {
http
.post(`/medical/Get/casehisData?id=${code}`, {})
http.post(`/medical/Get/casehisData?id=${code}`, {})
.then((data) => {
this.casehisObj = data
this.diagMapList = data.diagMapList
this.opsMapList = data.opsMapList
this.getlist()
this.casehisObj = data;
this.diagMapList = data.diagMapList;
this.opsMapList = data.opsMapList;
this.getlist();
})
.catch((error) => {})
.catch((error) => {});
},
//获取列表数据
getlist() {
http
.post(`/medical/get/GetCorePercents`, {
http.post(`/medical/get/GetCorePercents`, {
Type: 1,
DiagMapList: this.diagMapList,
OpsMapList: this.opsMapList,
id: this.$route.query.id
id: this.$route.query.id,
})
.then((data) => {
this.CorePercents = data.list
this.CorePercents = data.list;
this.CorePercents.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.CorePercents.length == 0) {
this.nolistShow = true
this.nolistShow = true;
} else {
const coreId = this.CorePercents[0].coreID
if (this.casehisObj != null && coreId !== this.casehisObj.drgs.coreid)
this.submit(coreId)
const coreId = this.CorePercents[0].coreID;
if (this.casehisObj != null && coreId !== this.casehisObj.drgs.coreid) this.submit(coreId);
}
// for (var i = 0; i < this.CorePercents.length; i++) {
// this.$nextTick();
......@@ -870,211 +501,109 @@ export default {
// initEcharts(categoryChart(this.CorePercents[i].otherPercent, "#C05EF3"), `indexChartfile${i}`);
// }
})
.catch((error) => {})
.catch((error) => {});
},
//点击异常分类 显示异常信息
gettype(name, ind) {
var loadingInstance2 = Loading.service(this.loadingOption1);
http.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}&projectType=${name}`, {})
.then((data) => {
this.liInd = -1;
this.span1Ind = ind;
this.options = data.projectRules;
loadingInstance2.close();
})
.catch((error) => {
loadingInstance2.close();
});
},
//异常问题接口 显示全部异常信息
GetProjectRulesData() {
http.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}`, {})
.then((data) => {
this.options = data.projectRules;
this.typeCountDatas = data.typeCountDatas;
this.addrecordEnrollmentShow1 = true;
})
.catch((error) => {});
},
//提交
submit(coreID) {
http
.post(`/medical/Update/casehisById?PatientId=${this.$route.query.id}&coreid=${coreID}`)
http.post(`/medical/Update/casehisById?PatientId=${this.$route.query.id}&coreid=${coreID}`)
.then((data) => {
// Message.success({
// message: `${data.message}`,
// type: 'success'
// })
this.getCaseHis(this.$route.query.id)
this.getCaseHis(this.$route.query.id);
})
.catch((error) => {})
.catch((error) => {});
},
//关闭弹层前的回调
closeDialog() {
this.addrecordEnrollmentShow = false
this.addrecordEnrollmentShow = false;
// this.getCaseHis(this.$route.query.id);
},
//清空输入框的值时触发
addclear() {
this.addCorePercents = []
this.addnodataShow = true
},
//获取诊断数据
remoteMethod(query) {
if (query) {
http
.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${1}`, {})
.then((data) => {
this.zdoptions = data
})
.catch((error) => {})
} else {
this.zdoptions = []
}
},
//获取其他诊断数据
otremoteMethod(query) {
if (query) {
http
.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${1}`, {})
.then((data) => {
this.otzdoptions = data
})
.catch((error) => {})
} else {
this.zdoptions = []
}
},
//获取主手术,其他手术的数据
ssremoteMethod(query) {
if (query) {
http
.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${2}`, {})
.then((data) => {
this.ssoptions = data
})
.catch((error) => {})
} else {
this.zdoptions = []
}
},
//获取其他手术的数据
otssremoteMethod(query) {
if (query) {
http
.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${2}`, {})
.then((data) => {
this.otssoptions = data
})
.catch((error) => {})
} else {
this.zdoptions = []
}
},
//查询
addsearch() {
//诊断
if (this.otdiagName.length > 0 && this.outaddsearchForm.diagName) {
this.diagList.push({
diagCode: this.outaddsearchForm.diagName,
diagOrder: '0'
})
this.otdiagName.forEach((i) => {
this.diagList.push({
diagCode: i,
diagOrder: '1'
})
})
} else if (this.outaddsearchForm.diagName) {
this.diagList.push({
diagCode: this.outaddsearchForm.diagName,
diagOrder: '0'
})
} else if (this.otdiagName.length > 0) {
this.otdiagName.forEach((i) => {
this.diagList.push({
diagCode: i,
diagOrder: '1'
})
})
}
// 手术
if (this.otopsName.length > 0 && this.outaddsearchForm.opsName) {
this.opsList.push({
opsCode: this.outaddsearchForm.opsName,
opsOrder: '0'
})
this.otopsName.forEach((i) => {
this.opsList.push({
opsCode: i,
opsOrder: '1'
})
})
} else if (this.outaddsearchForm.opsName) {
this.opsList.push({
opsCode: this.outaddsearchForm.opsName,
opsOrder: '0'
})
} else if (this.otopsName.length > 0) {
this.otopsName.forEach((i) => {
this.opsList.push({
opsCode: i,
opsOrder: '1'
})
})
}
this.addgetlist()
this.addCorePercents = [];
this.addnodataShow = true;
},
//获取列表数据
addgetlist() {
http
.post(`/medical/post/GetCorePercentsByAssemble`, {
a14: this.ageinput ? this.ageinput : '0', // 年龄
a16: this.ageinput2 ? this.ageinput2 : '0', // 年龄不足一周岁(天)
http.post(`/medical/post/GetCorePercentsByAssemble`, {
a14: this.ageinput ? this.ageinput : "0", // 年龄
a16: this.ageinput2 ? this.ageinput2 : "0", // 年龄不足一周岁(天)
a12C: this.sexvalue, // 性别
icuTime: this.icuinput ? this.icuinput : '0', // icu总时长(分钟)
icuTime: this.icuinput ? this.icuinput : "0", // icu总时长(分钟)
b34C: this.leavevalue, // 离院方式
diagList: this.diagList, // 诊断集合
opsList: this.opsList, // 手术集合
a46C: this.a46C,
d01: this.d01
d01: this.d01,
})
.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++) {
......@@ -1085,53 +614,50 @@ export default {
// initEcharts(categoryChart11("其他", this.addCorePercents[i].otherPercent, "#C05EF3"), `indexChart11file${i}`);
// (this.diagList = []), (this.opsList = []);
// }
this.diagList = []
this.opsList = []
this.diagList = [];
this.opsList = [];
})
.catch((error) => {})
.catch((error) => {});
},
radios(e) {
this.radio = e.target.value
this.coreID = this.CorePercents.find((item) => item.id == e.target.value).coreID
this.radio = e.target.value;
this.coreID = this.CorePercents.find((item) => item.id == e.target.value).coreID;
},
toPage() {
http
.get(`/medical/get/JumpHisMAInfo?id=${this.$route.query.id}`, {})
http.get(`/medical/get/JumpHisMAInfo?id=${this.$route.query.id}`, {})
.then((data) => {
window.open(data.message)
window.open(data.message);
})
.catch((error) => {
console.log(error)
})
console.log(error);
});
},
topage1() {
http
.get(`/medical/get/JumpHisRules?id=${this.$route.query.id}`, {})
http.get(`/medical/get/JumpHisRules?id=${this.$route.query.id}`, {})
.then((data) => {
window.open(data.message)
window.open(data.message);
})
.catch((error) => {})
.catch((error) => {});
},
toPage2() {
this.$router.push('/medicalRecordImport')
this.$router.push("/medicalRecordImport");
window.open(data.message)
window.open(data.message);
},
topage3() {
http
.get(`/medical/get/HisPatientInfo?regCode=${this.casehisObj.regCode}`, {})
http.get(`/medical/get/HisPatientInfo?regCode=${this.casehisObj.regCode}`, {})
.then((data) => {
window.open(data.message)
window.open(data.message);
})
.catch((error) => {})
}
}
}
.catch((error) => {});
},
},
};
</script>
<style lang="scss">
@import '../styles/mixin.scss';
@import "../styles/mixin.scss";
// @import "../styles/outHistorygrouping.scss";
.outsetgrouping {
height: 96%;
......@@ -2286,9 +1812,147 @@ export default {
margin-bottom: 10;
}
}
input[type='radio' i] {
input[type="radio" i] {
width: 16px;
height: 16px;
}
.outpatientDetails {
&_bottom {
&_rght1 {
width: 98%;
height: 100%;
border: 1px solid #f4f4f4;
border-radius: 4px;
box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.08);
padding: 0 10px;
&_top {
height: 24%;
width: 100%;
border-bottom: 3px solid #eef8fd;
&_title {
width: 98px;
height: 21px;
line-height: 21px;
text-align: start;
padding-left: 10px;
// background-color: #2cabe3;
background-image: url("../assets/img/bj.png");
background-repeat: no-repeat;
margin: 5px 1px;
background-size: 100% 21px;
font-size: 14px;
font-family: PingFang SC;
font-weight: 400;
color: #ffffff;
}
&_mes {
width: 100%;
height: 80%;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
&_span1 {
width: 30%;
height: 36px;
display: flex;
align-items: center;
padding-left: 5px;
background: #f6f6f8;
font-size: 16px;
font-family: PingFang SC;
font-weight: 400;
color: #5d5d5d;
margin-bottom: 5px;
cursor: pointer; /*鼠标移上有小手*/
}
&_span1background {
background: #d9f0fa;
}
&_span2 {
width: 101px;
height: 36px;
display: flex;
align-items: center;
padding-left: 10px;
background: #f6f6f8;
font-size: 16px;
font-family: PingFang SC;
font-weight: 400;
color: #5d5d5d;
margin-right: 5px;
}
&_span3 {
width: 101px;
height: 36px;
display: flex;
align-items: center;
padding-left: 10px;
background: #f6f6f8;
font-size: 16px;
font-family: PingFang SC;
font-weight: 400;
color: #5d5d5d;
margin-right: 5px;
}
&_span4 {
width: 101px;
height: 36px;
display: flex;
align-items: center;
padding-left: 10px;
background: #f6f6f8;
font-size: 16px;
font-family: PingFang SC;
font-weight: 400;
color: #5d5d5d;
}
}
}
&_bottom {
height: 75%;
width: 100%;
overflow-y: scroll;
&_li {
width: 100%;
height: 25%;
cursor: pointer; /*鼠标移上有小手*/
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: space-around;
border-bottom: 3px solid #eef8fd;
&_title {
width: 50px;
height: 25px;
display: flex;
justify-content: center;
align-items: center;
font-size: 14px;
font-family: PingFang SC;
font-weight: 400;
color: #ffffff;
border-radius: 3px;
}
&_cont {
font-size: 16px;
font-family: PingFang SC;
font-weight: 400;
color: #5d5d5d;
text-align: start;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 97%;
}
}
&_liInd {
background: #f3fafd;
}
}
}
}
}
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment