Commit fd61c08c by Licx

feat: 支持通过配置自定义基准点数显示名称

parent 356ae342
......@@ -85,4 +85,5 @@ window.webConfig = {
],
isShow_HosAvgFee: true,
year: "24年",
weightName: "基准点数",
};
......@@ -2,18 +2,36 @@
<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"
......@@ -22,15 +40,28 @@
:title="searchForm.otdiagName[index]"
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>
......@@ -41,12 +72,19 @@
<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">
......@@ -64,10 +102,21 @@
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>
......@@ -78,20 +127,38 @@
<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>
......@@ -99,20 +166,36 @@
<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>
......@@ -120,42 +203,82 @@
</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 class="mar-bottom-10">
<span class="width-80">住院天数:</span>
<el-input-number v-model.trim="searchForm.inHosNum" class="w100 mar-top-5" size="mini" clearable placeholder="住院天数" />
<el-input-number
v-model.trim="searchForm.inHosNum"
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">
<div class="outaddrecordEnrollment_centent_totalnum_left_text1">
<span>分组编码:{{ item.code }}</span>
<span>分组名称:{{ item.coreName }}</span>
<span>基准点数:{{ item.score }}</span>
<span>{{ weightName }}:{{ item.score }}</span>
</div>
<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>
<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">
......@@ -176,44 +299,107 @@
></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="lowtitle + ':&lt;=' + Math.round(item.lowMagnification)"
>{{ lowtitle }}:&lt;={{ 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="
lowtitle +
':&lt;=' +
Math.round(item.lowMagnification)
"
>{{ lowtitle }}:&lt;={{
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="higtitle + ':>=' + Math.round(item.highMagnification)"
>{{ higtitle }}:>={{ 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="
higtitle + ':>=' + Math.round(item.highMagnification)
"
>{{ higtitle }}:>={{
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>
......@@ -226,7 +412,10 @@
</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>
......@@ -238,13 +427,10 @@
</template>
<script>
import { Message } 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";
import http from "../utils/http";
export default {
name: "diagList",
......@@ -327,6 +513,9 @@ export default {
isShow_HosAvgFee() {
return window.webConfig.isShow_HosAvgFee;
},
weightName() {
return window.webConfig.weightName;
},
},
//监控data中的数据变化
watch: {
......@@ -337,8 +526,12 @@ export default {
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.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();
}
}
......@@ -351,8 +544,12 @@ export default {
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.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();
......@@ -422,7 +619,8 @@ export default {
//获取列表数据
getlist() {
http.post(`/medical/post/GetCorePercentsByAssemble`, this.searchForm)
http
.post(`/medical/post/GetCorePercentsByAssemble`, this.searchForm)
.then((data) => {
if (data && data.length == 0) {
Message.warning({
......@@ -434,23 +632,37 @@ export default {
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.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.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) {
} else if (
item.totalFee > item.lowMagnification &&
item.totalFee < item.highMagnification
) {
item.totalcolor = "#22d016";
} else if (item.totalFee > item.highMagnification) {
item.totalcolor = "#ff7e00";
......@@ -482,7 +694,8 @@ export default {
},
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;
})
......@@ -493,7 +706,8 @@ export default {
},
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;
})
......@@ -505,7 +719,8 @@ export default {
//获取主手术,其他手术的数据
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;
})
......@@ -517,7 +732,8 @@ export default {
//获取其他手术的数据
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;
})
......@@ -536,7 +752,11 @@ export default {
onEnd({ newIndex, oldIndex }) {
if (newIndex === oldIndex) return;
if (_this.searchForm) {
_this.searchForm.otdiagName.splice(newIndex, 0, _this.searchForm.otdiagName.splice(oldIndex, 1)[0]);
_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 () {
......@@ -556,7 +776,11 @@ export default {
onEnd({ newIndex, oldIndex }) {
if (newIndex === oldIndex) return;
if (_this.searchForm) {
_this.searchForm.otopsName.splice(newIndex, 0, _this.searchForm.otopsName.splice(oldIndex, 1)[0]);
_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 () {
......
......@@ -9,10 +9,24 @@
<!-- 智能分组 -->
<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>
<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
<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
>
<el-button
class="outsetgrouping_button_Searchbtn"
......@@ -41,11 +55,28 @@
@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">
<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>
......@@ -53,39 +84,53 @@
<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>
</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>
</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>
</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>
</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>
</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>
......@@ -93,33 +138,51 @@
<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>
</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>
......@@ -130,27 +193,44 @@
<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>
<div
class="outsetgrouping_centent_totalnum_left_yxrz"
v-if="item.isShow"
>
<div class="dw">
<img src="../assets/img/t29.png" alt="" /> 优先入组
</div>
</div>
<div class="outsetgrouping_centent_totalnum_left_text">
<div class="outsetgrouping_centent_totalnum_left_text_msg1">
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text11">
<div
class="outsetgrouping_centent_totalnum_left_text_msg1_text11"
>
<span> 诊断名称:{{ item.diagMapName }}</span>
<span>操作名称:{{ item.opsMapName }}</span>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text22">
<div
class="outsetgrouping_centent_totalnum_left_text_msg1_text22"
>
<span> 诊断编码:{{ item.disCode }}</span>
<span>操作编码:{{ item.opsCode }}</span>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text33">
<div
class="outsetgrouping_centent_totalnum_left_text_msg1_text33"
>
<span> 诊断类型:{{ item.diagOrder }}</span>
<span>操作类型:{{ item.opsOrder }}</span>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text44">
<div
class="outsetgrouping_centent_totalnum_left_text_msg1_text44"
>
<span> 分组类型:{{ item.disNature }}</span>
</div>
</div>
......@@ -158,7 +238,7 @@
<div class="outsetgrouping_centent_totalnum_left_text_msg2_text3">
<span>分组编码:{{ item.code }}</span>
<span>分组名称:{{ item.coreName }}</span>
<span>基准点数:{{ item.score }}</span>
<span>{{ weightName }}:{{ item.score }}</span>
<span>报销类型:{{ item.magnification }}</span>
</div>
......@@ -170,11 +250,20 @@
<!-- <span>均费:{{ decimal(item.avgFee) }}</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>
<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"
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">
......@@ -195,26 +284,51 @@
></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
: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)"
>高倍率区域:>={{ Math.round(item.highMagnification) }}</span
:title="
'高倍率区域:>=' + Math.round(item.highMagnification)
"
>高倍率区域:>={{
Math.round(item.highMagnification)
}}</span
></span
>
</div>
......@@ -301,9 +415,18 @@
</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="$route.query.isSerach ? null : casehisObj" :isshow="addrecordEnrollmentShow"></diagList>
<diagList
:code="$route.query.isSerach ? null : casehisObj"
:isshow="addrecordEnrollmentShow"
></diagList>
</el-dialog>
<el-dialog :visible.sync="addrecordEnrollmentShow1">
<div class="outpatientDetails_bottom_rght1">
......@@ -313,12 +436,15 @@
<span
class="outpatientDetails_bottom_rght1_top_mes_span1"
:class="{
outpatientDetails_bottom_rght1_top_mes_span1background: ind == span1Ind,
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
>{{ item.name }}:<span :style="{ color: item.color }">{{
item.count
}}</span></span
>
<!-- <span class="outpatientDetails_bottom_rght1_top_mes_span2">检查:<span style="color: #3ad330">0</span></span>
......@@ -335,19 +461,30 @@
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
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
>
<el-tooltip placement="bottom" trigger="hover">
<template #content>{{ item.notes }} </template>
<span class="outpatientDetails_bottom_rght1_bottom_li_cont">{{ item.notes }}</span>
<span class="outpatientDetails_bottom_rght1_bottom_li_cont">{{
item.notes
}}</span>
</el-tooltip>
</div>
</div>
......@@ -356,11 +493,9 @@
</div>
</template>
<script>
import http from "../utils/http";
import { Loading, Message } from "element-ui";
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 http from "../utils/http";
import diagList from "./diagList";
export default {
name: "outHistorygrouping",
......@@ -426,6 +561,9 @@ export default {
isShow_HosAvgFee() {
return window.webConfig.isShow_HosAvgFee;
},
weightName() {
return window.webConfig.weightName;
},
},
mounted() {
this.$nextTick(() => {
......@@ -437,7 +575,6 @@ export default {
this.getlist();
}
},
methods: {
decimal,
goback() {
......@@ -458,7 +595,8 @@ export default {
},
//获取基本数据
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;
......@@ -470,7 +608,8 @@ export default {
//获取列表数据
getlist() {
http.post(`/medical/get/GetCorePercents`, {
http
.post(`/medical/get/GetCorePercents`, {
Type: 1,
DiagMapList: this.diagMapList,
OpsMapList: this.opsMapList,
......@@ -481,23 +620,37 @@ export default {
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.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.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) {
} else if (
item.totalFee > item.lowMagnification &&
item.totalFee < item.highMagnification
) {
item.totalcolor = "#22d016";
} else if (item.totalFee > item.highMagnification) {
item.totalcolor = "#ff7e00";
......@@ -512,7 +665,11 @@ export default {
this.nolistShow = true;
} else {
const coreId = this.CorePercents[0].coreID;
if (this.casehisObj != null && coreId !== this.casehisObj.drgs.coreid) this.submit(coreId);
if (
this.casehisObj != null &&
coreId !== this.casehisObj.drgs.coreid
)
this.submit(coreId);
}
// for (var i = 0; i < this.CorePercents.length; i++) {
// this.$nextTick();
......@@ -529,7 +686,11 @@ export default {
//点击异常分类 显示异常信息
gettype(name, ind) {
var loadingInstance2 = Loading.service(this.loadingOption1);
http.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}&projectType=${name}`, {})
http
.post(
`/medical/get/GetPRHisData?&code=${this.$route.query.id}&projectType=${name}`,
{},
)
.then((data) => {
this.liInd = -1;
this.span1Ind = ind;
......@@ -542,7 +703,8 @@ export default {
},
//异常问题接口 显示全部异常信息
GetProjectRulesData() {
http.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}`, {})
http
.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}`, {})
.then((data) => {
this.options = data.projectRules;
this.typeCountDatas = data.typeCountDatas;
......@@ -552,7 +714,10 @@ export default {
},
//提交
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) => {
this.getCaseHis(this.$route.query.id);
})
......@@ -573,7 +738,8 @@ export default {
//获取列表数据
addgetlist() {
http.post(`/medical/post/GetCorePercentsByAssemble`, {
http
.post(`/medical/post/GetCorePercentsByAssemble`, {
a14: this.ageinput ? this.ageinput : "0", // 年龄
a16: this.ageinput2 ? this.ageinput2 : "0", // 年龄不足一周岁(天)
a12C: this.sexvalue, // 性别
......@@ -595,23 +761,37 @@ export default {
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.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.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) {
} else if (
item.totalFee > item.lowMagnification &&
item.totalFee < item.highMagnification
) {
item.totalcolor = "#22d016";
} else if (item.totalFee > item.highMagnification) {
item.totalcolor = "#ff7e00";
......@@ -644,11 +824,14 @@ export default {
radios(e) {
this.radio = e.target.value;
this.coreID = this.CorePercents.find((item) => item.id == e.target.value).coreID;
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);
})
......@@ -657,7 +840,8 @@ export default {
});
},
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);
})
......@@ -669,7 +853,11 @@ export default {
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);
})
......
......@@ -9,10 +9,24 @@
<!-- 智能分组 -->
<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>
<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
<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
>
<el-button
class="outsetgrouping_button_Searchbtn"
......@@ -41,11 +55,28 @@
@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">
<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>
......@@ -53,39 +84,53 @@
<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>
</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>
</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>
</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>
</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>
</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>
......@@ -93,33 +138,51 @@
<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>
</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>
......@@ -130,27 +193,44 @@
<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>
<div
class="outsetgrouping_centent_totalnum_left_yxrz"
v-if="item.isShow"
>
<div class="dw">
<img src="../assets/img/t29.png" alt="" /> 优先入组
</div>
</div>
<div class="outsetgrouping_centent_totalnum_left_text">
<div class="outsetgrouping_centent_totalnum_left_text_msg1">
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text11">
<div
class="outsetgrouping_centent_totalnum_left_text_msg1_text11"
>
<span> 诊断名称:{{ item.diagMapName }}</span>
<span>操作名称:{{ item.opsMapName }}</span>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text22">
<div
class="outsetgrouping_centent_totalnum_left_text_msg1_text22"
>
<span> 诊断编码:{{ item.disCode }}</span>
<span>操作编码:{{ item.opsCode }}</span>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text33">
<div
class="outsetgrouping_centent_totalnum_left_text_msg1_text33"
>
<span> 诊断类型:{{ item.diagOrder }}</span>
<span>操作类型:{{ item.opsOrder }}</span>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text44">
<div
class="outsetgrouping_centent_totalnum_left_text_msg1_text44"
>
<span> 分组类型:{{ item.disNature }}</span>
</div>
</div>
......@@ -158,7 +238,7 @@
<div class="outsetgrouping_centent_totalnum_left_text_msg2_text3">
<span>分组编码:{{ item.code }}</span>
<span>分组名称:{{ item.coreName }}</span>
<span>基准点数:{{ item.score }}</span>
<span>{{ weightName }}:{{ item.score }}</span>
<span>报销类型:{{ item.magnification }}</span>
</div>
......@@ -174,7 +254,10 @@
<span>留用/分担比例:{{ decimal(item.r_Prop) }}</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">
......@@ -195,26 +278,50 @@
></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
: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)"
>极高区域:>={{ Math.round(item.highMagnification) }}</span
:title="
'极高区域:>=' + Math.round(item.highMagnification)
"
>极高区域:>={{
Math.round(item.highMagnification)
}}</span
></span
>
</div>
......@@ -301,9 +408,20 @@
</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="$route.query.isSerach ? null : casehisObj" :isshow="addrecordEnrollmentShow" lowtitle="极低区域" higtitle="极高区域"></diagList>
<diagList
:code="$route.query.isSerach ? null : casehisObj"
:isshow="addrecordEnrollmentShow"
lowtitle="极低区域"
higtitle="极高区域"
></diagList>
</el-dialog>
<el-dialog :visible.sync="addrecordEnrollmentShow1">
<div class="outpatientDetails_bottom_rght1">
......@@ -313,12 +431,15 @@
<span
class="outpatientDetails_bottom_rght1_top_mes_span1"
:class="{
outpatientDetails_bottom_rght1_top_mes_span1background: ind == span1Ind,
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
>{{ item.name }}:<span :style="{ color: item.color }">{{
item.count
}}</span></span
>
<!-- <span class="outpatientDetails_bottom_rght1_top_mes_span2">检查:<span style="color: #3ad330">0</span></span>
......@@ -335,19 +456,30 @@
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
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
>
<el-tooltip placement="bottom" trigger="hover">
<template #content>{{ item.notes }} </template>
<span class="outpatientDetails_bottom_rght1_bottom_li_cont">{{ item.notes }}</span>
<span class="outpatientDetails_bottom_rght1_bottom_li_cont">{{
item.notes
}}</span>
</el-tooltip>
</div>
</div>
......@@ -356,11 +488,9 @@
</div>
</template>
<script>
import http from "../utils/http";
import { Loading, Message } from "element-ui";
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 http from "../utils/http";
import diagList from "./diagList";
export default {
name: "outHistorygrouping",
......@@ -426,6 +556,9 @@ export default {
isShow_HosAvgFee() {
return window.webConfig.isShow_HosAvgFee;
},
weightName() {
return window.webConfig.weightName;
},
},
mounted() {
this.$nextTick(() => {
......@@ -458,7 +591,8 @@ export default {
},
//获取基本数据
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;
......@@ -470,7 +604,8 @@ export default {
//获取列表数据
getlist() {
http.post(`/medical/get/GetCorePercents`, {
http
.post(`/medical/get/GetCorePercents`, {
Type: 1,
DiagMapList: this.diagMapList,
OpsMapList: this.opsMapList,
......@@ -481,23 +616,37 @@ export default {
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.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.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) {
} else if (
item.totalFee > item.lowMagnification &&
item.totalFee < item.highMagnification
) {
item.totalcolor = "#22d016";
} else if (item.totalFee > item.highMagnification) {
item.totalcolor = "#ff7e00";
......@@ -512,7 +661,11 @@ export default {
this.nolistShow = true;
} else {
const coreId = this.CorePercents[0].coreID;
if (this.casehisObj != null && coreId !== this.casehisObj.drgs.coreid) this.submit(coreId);
if (
this.casehisObj != null &&
coreId !== this.casehisObj.drgs.coreid
)
this.submit(coreId);
}
// for (var i = 0; i < this.CorePercents.length; i++) {
// this.$nextTick();
......@@ -529,7 +682,11 @@ export default {
//点击异常分类 显示异常信息
gettype(name, ind) {
var loadingInstance2 = Loading.service(this.loadingOption1);
http.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}&projectType=${name}`, {})
http
.post(
`/medical/get/GetPRHisData?&code=${this.$route.query.id}&projectType=${name}`,
{},
)
.then((data) => {
this.liInd = -1;
this.span1Ind = ind;
......@@ -542,7 +699,8 @@ export default {
},
//异常问题接口 显示全部异常信息
GetProjectRulesData() {
http.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}`, {})
http
.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}`, {})
.then((data) => {
this.options = data.projectRules;
this.typeCountDatas = data.typeCountDatas;
......@@ -552,7 +710,10 @@ export default {
},
//提交
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) => {
this.getCaseHis(this.$route.query.id);
})
......@@ -573,7 +734,8 @@ export default {
//获取列表数据
addgetlist() {
http.post(`/medical/post/GetCorePercentsByAssemble`, {
http
.post(`/medical/post/GetCorePercentsByAssemble`, {
a14: this.ageinput ? this.ageinput : "0", // 年龄
a16: this.ageinput2 ? this.ageinput2 : "0", // 年龄不足一周岁(天)
a12C: this.sexvalue, // 性别
......@@ -595,23 +757,37 @@ export default {
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.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.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) {
} else if (
item.totalFee > item.lowMagnification &&
item.totalFee < item.highMagnification
) {
item.totalcolor = "#22d016";
} else if (item.totalFee > item.highMagnification) {
item.totalcolor = "#ff7e00";
......@@ -644,11 +820,14 @@ export default {
radios(e) {
this.radio = e.target.value;
this.coreID = this.CorePercents.find((item) => item.id == e.target.value).coreID;
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);
})
......@@ -657,7 +836,8 @@ export default {
});
},
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);
})
......@@ -669,7 +849,11 @@ export default {
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);
})
......
......@@ -10,13 +10,28 @@
<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
><span class="mar-left-50 color-F54" v-if="casehisObj?.isAgainInHos">该患者符合二次入院</span>
<span class="mar-left-50 color-F54" v-if="casehisObj?.isPoorHouseholds">该患者为贫困户</span>
<span class="span1">患者信息</span
><span class="mar-left-15 color-F54" v-if="casehisObj?.isLowRisk"
>该主诊断符合低风险死亡!</span
><span class="mar-left-50 color-F54" v-if="casehisObj?.isAgainInHos"
>该患者符合二次入院</span
>
<span class="mar-left-50 color-F54" v-if="casehisObj?.isPoorHouseholds"
>该患者为贫困户</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"
......@@ -45,11 +60,28 @@
@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">
<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>
......@@ -57,31 +89,41 @@
<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>
</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>
</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>
</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>
</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>
</div>
......@@ -91,27 +133,41 @@
<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/daoru.png" alt="" /> </span>
<span class="outsetgrouping_top2_message_left_tu4"
><img src="../assets/img/daoru.png" alt="" />
</span>
<div class="outsetgrouping_top2_message_left_t1">
分组类型:<span>{{ casehisObj ? casehisObj.drgs.disNature : "" }}</span>
分组类型:<span>{{
casehisObj ? casehisObj.drgs.disNature : ""
}}</span>
</div>
</div>
<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>
</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>
......@@ -119,39 +175,63 @@
<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/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 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.drugMatPercent) + "%" : "" }}</span>
药耗占比:<span>{{
casehisObj ? decimal(casehisObj.drugMatPercent) + "%" : ""
}}</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 bg">
检查费占比:<span>{{ casehisObj ? decimal(casehisObj.checkPercent) + "%" : "" }}</span>
检查费占比:<span>{{
casehisObj ? decimal(casehisObj.checkPercent) + "%" : ""
}}</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"
:class="{
bg1: casehisObj && casehisObj.b20 >= 3 && casehisObj && casehisObj.feeConsumePercent < 40,
bg1:
casehisObj &&
casehisObj.b20 >= 3 &&
casehisObj &&
casehisObj.feeConsumePercent < 40,
bg: casehisObj && casehisObj.feeConsumePercent > 100,
}"
>
费用消耗占比:<span>{{ casehisObj ? decimal(casehisObj.feeConsumePercent) + "%" : "" }}</span>
费用消耗占比:<span>{{
casehisObj ? decimal(casehisObj.feeConsumePercent) + "%" : ""
}}</span>
</div>
</div>
</div>
......@@ -161,27 +241,44 @@
<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>
<div
class="outsetgrouping_centent_totalnum_left_yxrz"
v-if="item.isShow"
>
<div class="dw">
<img src="../assets/img/t29.png" alt="" /> 优先入组
</div>
</div>
<div class="outsetgrouping_centent_totalnum_left_text">
<div class="outsetgrouping_centent_totalnum_left_text_msg1">
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text11">
<div
class="outsetgrouping_centent_totalnum_left_text_msg1_text11"
>
<span> 诊断名称:{{ item.diagMapName }}</span>
<span>操作名称:{{ item.opsMapName }}</span>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text22">
<div
class="outsetgrouping_centent_totalnum_left_text_msg1_text22"
>
<span> 诊断编码:{{ item.disCode }}</span>
<span>操作编码:{{ item.opsCode }}</span>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text33">
<div
class="outsetgrouping_centent_totalnum_left_text_msg1_text33"
>
<span> 诊断类型:{{ item.diagOrder }}</span>
<span>操作类型:{{ item.opsOrder }}</span>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text44">
<div
class="outsetgrouping_centent_totalnum_left_text_msg1_text44"
>
<span> 分组类型:{{ item.disNature }}</span>
</div>
</div>
......@@ -189,7 +286,7 @@
<div class="outsetgrouping_centent_totalnum_left_text_msg2_text3">
<span>分组编码:{{ item.code }}</span>
<span>分组名称:{{ item.coreName }}</span>
<span>基准点数:{{ item.score }}</span>
<span>{{ weightName }}:{{ item.score }}</span>
<span>报销类型:{{ item.magnification }}</span>
</div>
......@@ -200,7 +297,10 @@
<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">
......@@ -221,26 +321,51 @@
></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
: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)"
>高倍率区域:>={{ Math.round(item.highMagnification) }}</span
:title="
'高倍率区域:>=' + Math.round(item.highMagnification)
"
>高倍率区域:>={{
Math.round(item.highMagnification)
}}</span
></span
>
</div>
......@@ -327,14 +452,25 @@
</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 :visible.sync="addrecordEnrollmentShow1">
<div class="mar-bottom-10 color-F54">
<span class="mar-right-10">该病人此次住院总费用为:{{ dataOBJ.d01 }}</span>
<span class="mar-right-10">其中病人全自费金额为:{{ dataOBJ.d30 }}</span> 自付金额为:{{ dataOBJ.d09 }}
<span class="mar-right-10"
>该病人此次住院总费用为:{{ dataOBJ.d01 }}</span
>
<span class="mar-right-10"
>其中病人全自费金额为:{{ dataOBJ.d30 }}</span
>
自付金额为:{{ dataOBJ.d09 }}
</div>
<div class="outpatientDetails_bottom_rght1">
<div class="outpatientDetails_bottom_rght1_top">
......@@ -343,12 +479,15 @@
<span
class="outpatientDetails_bottom_rght1_top_mes_span1"
:class="{
outpatientDetails_bottom_rght1_top_mes_span1background: ind == span1Ind,
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
>{{ item.name }}:<span :style="{ color: item.color }">{{
item.count
}}</span></span
>
<!-- <span class="outpatientDetails_bottom_rght1_top_mes_span2">检查:<span style="color: #3ad330">0</span></span>
......@@ -365,15 +504,24 @@
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
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
v-show="item.projectRuleLevel == '违规内容'"
class="outpatientDetails_bottom_rght1_bottom_li_title1"
......@@ -382,7 +530,9 @@
>
<el-tooltip placement="bottom" trigger="hover">
<template #content>{{ item.notes }} </template>
<span class="outpatientDetails_bottom_rght1_bottom_li_cont">{{ item.notes }}</span>
<span class="outpatientDetails_bottom_rght1_bottom_li_cont">{{
item.notes
}}</span>
</el-tooltip>
</div>
</div>
......@@ -391,11 +541,9 @@
</div>
</template>
<script>
import http from "../utils/http";
import { Loading, Message } from "element-ui";
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 http from "../utils/http";
import diagList from "./diagList";
export default {
name: "outHistorygrouping",
......@@ -455,6 +603,11 @@ export default {
dataOBJ: {},
};
},
computed: {
weightName() {
return window.webConfig.weightName;
},
},
mounted() {
this.$nextTick(() => {
window.addEventListener("mouseover", this.myTimeOut);
......@@ -466,7 +619,6 @@ export default {
this.getlist();
}
},
methods: {
decimal,
goback() {
......@@ -487,7 +639,8 @@ export default {
},
//获取基本数据
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;
......@@ -499,7 +652,8 @@ export default {
//获取列表数据
getlist() {
http.post(`/medical/get/GetCorePercents`, {
http
.post(`/medical/get/GetCorePercents`, {
Type: 1,
DiagMapList: this.diagMapList,
OpsMapList: this.opsMapList,
......@@ -510,23 +664,37 @@ export default {
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.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.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) {
} else if (
item.totalFee > item.lowMagnification &&
item.totalFee < item.highMagnification
) {
item.totalcolor = "#22d016";
} else if (item.totalFee > item.highMagnification) {
item.totalcolor = "#ff7e00";
......@@ -541,7 +709,11 @@ export default {
this.nolistShow = true;
} else {
const coreId = this.CorePercents[0].coreID;
if (this.casehisObj != null && coreId !== this.casehisObj.drgs.coreid) this.submit(coreId);
if (
this.casehisObj != null &&
coreId !== this.casehisObj.drgs.coreid
)
this.submit(coreId);
}
// for (var i = 0; i < this.CorePercents.length; i++) {
// this.$nextTick();
......@@ -558,7 +730,11 @@ export default {
//点击异常分类 显示异常信息
gettype(name, ind) {
var loadingInstance2 = Loading.service(this.loadingOption1);
http.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}&projectType=${name}`, {})
http
.post(
`/medical/get/GetPRHisData?&code=${this.$route.query.id}&projectType=${name}`,
{},
)
.then((data) => {
this.liInd = -1;
this.span1Ind = ind;
......@@ -571,7 +747,8 @@ export default {
},
//异常问题接口 显示全部异常信息
GetProjectRulesData() {
http.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}`, {})
http
.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}`, {})
.then((data) => {
this.dataOBJ = data;
this.options = data.projectRules;
......@@ -582,7 +759,10 @@ export default {
},
//提交
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) => {
this.getCaseHis(this.$route.query.id);
})
......@@ -603,7 +783,8 @@ export default {
//获取列表数据
addgetlist() {
http.post(`/medical/post/GetCorePercentsByAssemble`, {
http
.post(`/medical/post/GetCorePercentsByAssemble`, {
a14: this.ageinput ? this.ageinput : "0", // 年龄
a16: this.ageinput2 ? this.ageinput2 : "0", // 年龄不足一周岁(天)
a12C: this.sexvalue, // 性别
......@@ -625,23 +806,37 @@ export default {
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.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.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) {
} else if (
item.totalFee > item.lowMagnification &&
item.totalFee < item.highMagnification
) {
item.totalcolor = "#22d016";
} else if (item.totalFee > item.highMagnification) {
item.totalcolor = "#ff7e00";
......@@ -674,11 +869,14 @@ export default {
radios(e) {
this.radio = e.target.value;
this.coreID = this.CorePercents.find((item) => item.id == e.target.value).coreID;
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);
})
......@@ -687,7 +885,8 @@ export default {
});
},
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);
})
......@@ -699,7 +898,11 @@ export default {
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);
})
......
......@@ -14,49 +14,69 @@
<div>
<!-- <el-button class="outpatientDetails_top_div1_button" type="primary" size="mini" @click="gosear"> 疾病分组查询 </el-button> -->
<!-- <el-button class="outpatientDetails_top_div1_button" size="mini" type="primary" @click="topage">病案质控</el-button> -->
<el-button class="outpatientDetails_top_div1_button" type="primary" size="mini" @click="getControl">医嘱质控</el-button>
<el-button
class="outpatientDetails_top_div1_button"
type="primary"
size="mini"
@click="getControl"
>医嘱质控</el-button
>
</div>
</div>
<div class="outpatientDetails_top_message">
<div class="outpatientDetails_top_message_left" style="width: 10%">
<span class="outpatientDetails_top_message_left_tu1"> <img src="../assets/img/peo.png" alt="" /></span>
<span class="outpatientDetails_top_message_left_tu1">
<img src="../assets/img/peo.png" alt=""
/></span>
<div class="outpatientDetails_top_message_left_t1">
姓名:<span>{{ HistoryInfo.name }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_left">
<span class="outpatientDetails_top_message_left_tu1"> <img src="../assets/img/peo.png" alt="" /></span>
<span class="outpatientDetails_top_message_left_tu1">
<img src="../assets/img/peo.png" alt=""
/></span>
<div class="outpatientDetails_top_message_left_t1">
住院号:<span>{{ HistoryInfo.id }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_centert" style="width: 10%">
<span class="outpatientDetails_top_message_centert_tu2"><img src="../assets/img/ka.png" alt="" /></span>
<span class="outpatientDetails_top_message_centert_tu2"
><img src="../assets/img/ka.png" alt=""
/></span>
<div class="outpatientDetails_top_message_centert_t2">
住院次数:<span>{{ HistoryInfo.a49 }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_centert" style="width: 12%">
<span class="outpatientDetails_top_message_centert_tu2"><img src="../assets/img/ka.png" alt="" /></span>
<span class="outpatientDetails_top_message_centert_tu2"
><img src="../assets/img/ka.png" alt=""
/></span>
<div class="outpatientDetails_top_message_centert_t2">
实际住院天数:<span>{{ HistoryInfo.b20 }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_right">
<span class="outpatientDetails_top_message_right_tu3"><img src="../assets/img/qian.png" alt="" /></span>
<span class="outpatientDetails_top_message_right_tu3"
><img src="../assets/img/qian.png" alt=""
/></span>
<div class="outpatientDetails_top_message_right_t3">
医疗付费方式:<span>{{ HistoryInfo.paymentType }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_low">
<span class="outpatientDetails_top_message_low_tu4"><img src="../assets/img/daoru.png" alt="" /></span>
<span class="outpatientDetails_top_message_low_tu4"
><img src="../assets/img/daoru.png" alt=""
/></span>
<div class="outpatientDetails_top_message_low_t4">
分组类型:<span>{{ HistoryInfo.disNature }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_div6">
<span class="outpatientDetails_top_message_div6_tu6"><img src="../assets/img/lx2.png" alt="" /></span>
<span class="outpatientDetails_top_message_div6_tu6"
><img src="../assets/img/lx2.png" alt=""
/></span>
<div class="outpatientDetails_top_message_div6_t6">
病人类型:<span>{{ HistoryInfo.patientType }}</span>
</div>
......@@ -70,24 +90,33 @@
</div>
</div>
<div class="outpatientDetails_msg">
<span class="outpatientDetails_msg_tu4"><img src="../assets/img/zu.png" alt="" /></span>
<span class="outpatientDetails_msg_tu4"
><img src="../assets/img/zu.png" alt=""
/></span>
<!-- <span>分组:{{ HistoryInfo.doctorName }}</span> -->
<span>分组编码:{{ HistoryInfo.coreCode }}</span>
<span :title="HistoryInfo.coreName">分组名称:{{ HistoryInfo.coreName }}</span>
<span>基准点数:{{ decimal(HistoryInfo.rw) }}</span>
<span :title="HistoryInfo.coreName"
>分组名称:{{ HistoryInfo.coreName }}</span
>
<span>{{ weightName }}:{{ 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="outpatientDetails_fenqu" v-if="lowMagnification != 0 && highMagnification != 0">
<div
class="outpatientDetails_fenqu"
v-if="lowMagnification != 0 && 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: totalwidth - 1 + '%', color: totalcolor }">{{
decimal(HistoryInfo.totalFee)
}}</span>
<span
class="outpatientDetails_fenqu_di_bb_div1_num"
:style="{ marginLeft: totalwidth - 1 + '%', color: totalcolor }"
>{{ decimal(HistoryInfo.totalFee) }}</span
>
<span
class="outpatientDetails_fenqu_di_bb_div1_he"
:style="{
......@@ -97,21 +126,41 @@
></span>
</div>
<div class="outpatientDetails_fenqu_di_bb_div2">
<span class="outpatientDetails_fenqu_di_bb_div2_span1" :style="{ width: lowwidth + '%' }"
><span class="outpatientDetails_fenqu_di_bb_div2_span1_t1" :title="'低倍率区域:&lt;=' + Math.round(lowMagnification)"
<span
class="outpatientDetails_fenqu_di_bb_div2_span1"
:style="{ width: lowwidth + '%' }"
><span
class="outpatientDetails_fenqu_di_bb_div2_span1_t1"
:title="'低倍率区域:&lt;=' + Math.round(lowMagnification)"
>低倍率区域:&lt;={{ Math.round(lowMagnification) }}</span
></span
>
<span class="outpatientDetails_fenqu_di_bb_div2_span2" :style="{ width: contentwidth + '%' }"
<span
class="outpatientDetails_fenqu_di_bb_div2_span2"
:style="{ width: contentwidth + '%' }"
><span
class="outpatientDetails_fenqu_di_bb_div2_span2_t2"
:title="'正常区域:' + (Math.round(lowMagnification) + 1) + '~' + (Math.round(highMagnification) - 1)"
>正常区域:{{ Math.round(lowMagnification) + 1 + "~" + (Math.round(highMagnification) - 1) }}</span
:title="
'正常区域:' +
(Math.round(lowMagnification) + 1) +
'~' +
(Math.round(highMagnification) - 1)
"
>正常区域:{{
Math.round(lowMagnification) +
1 +
"~" +
(Math.round(highMagnification) - 1)
}}</span
></span
>
<span class="outpatientDetails_fenqu_di_bb_div2_span3" :style="{ width: heightwidth + '%' }"
><span class="outpatientDetails_fenqu_di_bb_div2_span3_t3" :title="'高倍率区域:>=' + Math.round(highMagnification)"
<span
class="outpatientDetails_fenqu_di_bb_div2_span3"
:style="{ width: heightwidth + '%' }"
><span
class="outpatientDetails_fenqu_di_bb_div2_span3_t3"
:title="'高倍率区域:>=' + Math.round(highMagnification)"
>高倍率区域:>={{ Math.round(highMagnification) }}</span
></span
>
......@@ -138,7 +187,9 @@
<!-- 有数据 -->
<div class="outpatientDetails_bottom_leftShowBox">
<div class="outpatientDetails_bottom_leftShowBox_left">
<div class="outpatientDetails_bottom_leftShowBox_left_btbox">费用分类</div>
<div class="outpatientDetails_bottom_leftShowBox_left_btbox">
费用分类
</div>
<el-table
ref="monthlyPlanTable"
:data="tableData1"
......@@ -155,15 +206,35 @@
@row-click="eowclick"
@expand-change="changeRowClick"
>
<el-table-column prop="iteM_TYPE" label="项目名称" header-align="center" align="center"> </el-table-column>
<el-table-column prop="totalFee" label="总金额(小计)" header-align="center" align="right">
<el-table-column
prop="iteM_TYPE"
label="项目名称"
header-align="center"
align="center"
>
</el-table-column>
<el-table-column
prop="totalFee"
label="总金额(小计)"
header-align="center"
align="right"
>
<template slot-scope="scope">
{{ decimal(scope.row.totalFee) }}
</template>
</el-table-column>
<el-table-column prop="proportion" label="占总费用(比例)" header-align="center" align="right">
<el-table-column
prop="proportion"
label="占总费用(比例)"
header-align="center"
align="right"
>
<template slot-scope="scope">
{{ scope.row.proportion != undefined ? decimal(scope.row.proportion) + "%" : "" }}
{{
scope.row.proportion != undefined
? decimal(scope.row.proportion) + "%"
: ""
}}
</template>
</el-table-column>
<!-- <el-table-column prop="coreTotalFee" label="预计DRG设定费用(参考)" width="100" header-align="center" align="right">
......@@ -179,14 +250,18 @@
</el-table>
</div>
<!-- 中间有数据样式 表格-->
<div class="outpatientDetails_bottom_leftShowBox_right" v-if="tableData.length !== 0">
<div
class="outpatientDetails_bottom_leftShowBox_right"
v-if="tableData.length !== 0"
>
<div class="outpatientDetails_bottom_leftShowBox_right_treebtn">
<span
v-for="(item, ind) in btnoptions"
:key="ind"
class="outpatientDetails_bottom_leftShowBox_right_treebtn_span"
:class="{
outpatientDetails_bottom_leftShowBox_right_treebtn_span1: ind == btnspanind,
outpatientDetails_bottom_leftShowBox_right_treebtn_span1:
ind == btnspanind,
}"
@click="treebtn(item.value, ind)"
>{{ item.title }}</span
......@@ -201,9 +276,18 @@
:row-class-name="tableRowClassName"
height="92%"
>
<el-table-column label="开单日期" prop="chargeTime"></el-table-column>
<el-table-column label="项目编码" prop="iteM_CODE"></el-table-column>
<el-table-column label="项目名称" prop="iteM_NAME"></el-table-column>
<el-table-column
label="开单日期"
prop="chargeTime"
></el-table-column>
<el-table-column
label="项目编码"
prop="iteM_CODE"
></el-table-column>
<el-table-column
label="项目名称"
prop="iteM_NAME"
></el-table-column>
<el-table-column label="单价" prop="unitprice">
<template slot-scope="scope">
{{ decimal(scope.row.unitprice) }}
......@@ -226,15 +310,22 @@
:key="ind"
class="outpatientDetails_bottom_leftShowBox_right_treebtn_span"
:class="{
outpatientDetails_bottom_leftShowBox_right_treebtn_span1: ind == btnspanind,
outpatientDetails_bottom_leftShowBox_right_treebtn_span1:
ind == btnspanind,
}"
@click="treebtn(item.value, ind)"
>{{ item.title }}</span
>
</div>
<div class="outpatientDetails_bottom_leftShowBox_right_box">
<img class="outpatientDetails_bottom_leftShowBox_right_box_img" src="../assets/img/nodata.png" alt="" />
<div class="outpatientDetails_bottom_leftShowBox_right_box_text">暂无数据</div>
<img
class="outpatientDetails_bottom_leftShowBox_right_box_img"
src="../assets/img/nodata.png"
alt=""
/>
<div class="outpatientDetails_bottom_leftShowBox_right_box_text">
暂无数据
</div>
</div>
</div>
</div>
......@@ -260,12 +351,15 @@
<span
class="outpatientDetails_bottom_rght2_top_mes_span1"
:class="{
outpatientDetails_bottom_rght2_top_mes_span1background: ind == span1Ind,
outpatientDetails_bottom_rght2_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
>{{ item.name }}:<span :style="{ color: item.color }">{{
item.count
}}</span></span
>
<!-- <span class="outpatientDetails_bottom_rght2_top_mes_span2">检查:<span style="color: #3ad330">0</span></span>
......@@ -283,19 +377,30 @@
:key="ind"
@click="getruleId(item.ruleId, ind)"
>
<span v-show="item.projectRuleLevel == '禁止'" class="outpatientDetails_bottom_rght2_bottom_li_title" style="background: red">{{
item.projectRuleLevel
}}</span>
<span v-show="item.projectRuleLevel == '提示'" class="outpatientDetails_bottom_rght2_bottom_li_title" style="background: #2aaae2">{{
item.projectRuleLevel
}}</span>
<span v-show="item.projectRuleLevel == '警告'" class="outpatientDetails_bottom_rght2_bottom_li_title" style="background: #e9c621">{{
item.projectRuleLevel
}}</span>
<span
v-show="item.projectRuleLevel == '禁止'"
class="outpatientDetails_bottom_rght2_bottom_li_title"
style="background: red"
>{{ item.projectRuleLevel }}</span
>
<span
v-show="item.projectRuleLevel == '提示'"
class="outpatientDetails_bottom_rght2_bottom_li_title"
style="background: #2aaae2"
>{{ item.projectRuleLevel }}</span
>
<span
v-show="item.projectRuleLevel == '警告'"
class="outpatientDetails_bottom_rght2_bottom_li_title"
style="background: #e9c621"
>{{ item.projectRuleLevel }}</span
>
<el-tooltip placement="bottom" trigger="hover">
<template #content>{{ item.notes }} </template>
<span class="outpatientDetails_bottom_rght2_bottom_li_cont">{{ item.notes }}</span>
<span class="outpatientDetails_bottom_rght2_bottom_li_cont">{{
item.notes
}}</span>
</el-tooltip>
</div>
</div>
......@@ -310,12 +415,20 @@
</div> -->
<!-- 弹出层 -->
<el-dialog center :visible.sync="addrecordEnrollmentShow" :before-close="closeDialog" class="fullscreen" :fullscreen="true">
<el-dialog
center
:visible.sync="addrecordEnrollmentShow"
:before-close="closeDialog"
class="fullscreen"
: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>
<span class="outaddrecordEnrollment_search_div1_span1"
><span style="color: red">*</span> 主诊断:</span
>
<el-select
class="outaddrecordEnrollment_search_div1_inp1"
v-model="outaddsearchForm.diagName"
......@@ -327,9 +440,16 @@
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>
<span class="outaddrecordEnrollment_search_div1_span2">其他诊断:</span>
<span class="outaddrecordEnrollment_search_div1_span2"
>其他诊断:</span
>
<el-select
class="outaddrecordEnrollment_search_div1_inp2"
v-model="otdiagName"
......@@ -344,13 +464,32 @@
size="mini"
clearable
>
<el-option v-for="item in otzdoptions" :key="item.name" :label="item.name" :value="item.name" />
<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-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"
......@@ -363,11 +502,15 @@
<el-option label="城乡居民" value="城乡居民" />
</el-select>
<span class="outaddrecordEnrollment_search_div1_span5">
<el-button size="mini" type="primary" @click="addsearch">查询</el-button>
<el-button size="mini" type="primary" @click="addsearch"
>查询</el-button
>
</span>
</div>
<div class="outaddrecordEnrollment_search_div2">
<span class="outaddrecordEnrollment_search_div2_span1">主手术:</span>
<span class="outaddrecordEnrollment_search_div2_span1"
>主手术:</span
>
<el-select
class="outaddrecordEnrollment_search_div2_inp1"
v-model="outaddsearchForm.opsName"
......@@ -380,10 +523,17 @@
size="mini"
clearable
>
<el-option v-for="item in ssoptions" :key="item.name" :label="item.name" :value="item.name" />
<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>
<span class="outaddrecordEnrollment_search_div2_span2"
>其他手术:</span
>
<el-select
class="outaddrecordEnrollment_search_div2_inp2"
v-model="otopsName"
......@@ -398,34 +548,69 @@
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>
<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" />
<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>
</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
v-for="item in sexoptions"
:key="item.value"
:label="item.value"
size="small"
>{{ item.label }}</el-radio
>
</el-radio-group>
</div>
</div>
<div class="outaddrecordEnrollment_centent">
<div class="outaddrecordEnrollment_centent_totalnum" v-for="(item, index) in addCorePercents" :key="index">
<div
class="outaddrecordEnrollment_centent_totalnum"
v-for="(item, index) in addCorePercents"
:key="index"
>
<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>
<span>{{ weightName }}:{{ item.score }}</span>
</div>
<div class="outaddrecordEnrollment_centent_totalnum_left_text3">
<span>预计DRG支付费用:{{ item.unitfee }}</span> <span>分组类型:{{ item.disNature }}</span>
<span>预计DRG支付费用:{{ item.unitfee }}</span>
<span>分组类型:{{ item.disNature }}</span>
</div>
</div>
<!-- <div class="outaddrecordEnrollment_centent_totalnum_right">
......@@ -437,11 +622,16 @@
</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>
<div class="outaddrecordEnrollment_centent_nodata_text">暂无数据</div>
<div class="outaddrecordEnrollment_centent_nodata_text">
暂无数据
</div>
</div>
</div>
......@@ -451,12 +641,9 @@
</div>
</template>
<script>
import http from "../utils/http";
import { initEcharts, categoryChart, categoryChart11 } from "../utils/echarts";
import { Loading, Message } from "element-ui";
import { decimal } from "../utils/decimal";
import { Message } from "element-ui";
import { setItem, getItem } from "../utils/auth";
import { Loading } from "element-ui";
import http from "../utils/http";
export default {
name: "outpatientDetails",
......@@ -626,6 +813,11 @@ export default {
myTimer: null,
};
},
computed: {
weightName() {
return window.webConfig.weightName;
},
},
mounted() {
this.$nextTick(() => {
window.addEventListener("mouseover", this.myTimeOut);
......@@ -705,7 +897,8 @@ export default {
},
//获取列表数据
addgetlist() {
http.post(`/medical/post/GetCorePercentsByAssemble`, {
http
.post(`/medical/post/GetCorePercentsByAssemble`, {
a14: this.ageinput ? this.ageinput : "0", // 年龄
a16: this.ageinput2 ? this.ageinput2 : "0", // 年龄不足一周岁(天)
a12C: this.sexvalue, // 性别
......@@ -758,7 +951,8 @@ export default {
//获取诊断数据
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;
})
......@@ -770,7 +964,8 @@ export default {
//获取其他诊断数据
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;
})
......@@ -783,7 +978,8 @@ export default {
//获取主手术,其他手术的数据
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;
})
......@@ -795,7 +991,8 @@ export default {
//获取其他手术的数据
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;
})
......@@ -807,7 +1004,8 @@ export default {
////
decimal,
topage() {
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);
})
......@@ -831,7 +1029,11 @@ export default {
},
//获取左侧表格数据
getlefttable() {
http.post(`/medical/Post/getHisStaChargeType?code=${this.$route.query.id}`, {})
http
.post(
`/medical/Post/getHisStaChargeType?code=${this.$route.query.id}`,
{},
)
.then((data) => {
this.tableData1 = data;
if (this.tableData1 != []) {
......@@ -852,7 +1054,8 @@ export default {
//异常问题接口 显示全部异常信息
GetProjectRulesData() {
http.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}`, {})
http
.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}`, {})
.then((data) => {
this.options = data.projectRules;
this.typeCountDatas = data.typeCountDatas;
......@@ -873,7 +1076,11 @@ export default {
this.showbottom = true;
var loadingInstance2 = Loading.service(this.loadingOption1);
http.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}&projectType=${name}`, {})
http
.post(
`/medical/get/GetPRHisData?&code=${this.$route.query.id}&projectType=${name}`,
{},
)
.then((data) => {
this.liInd = -1;
this.span1Ind = ind;
......@@ -895,7 +1102,11 @@ export default {
//点击获取中间的表格数据
getruleId(ruleId, ind) {
http.post(`/medical/Post/GetiFHisByItemCode?code=${this.$route.query.id}&ruleId=${ruleId}`, {})
http
.post(
`/medical/Post/GetiFHisByItemCode?code=${this.$route.query.id}&ruleId=${ruleId}`,
{},
)
.then((data) => {
this.liInd = ind;
this.tableData = data;
......@@ -905,7 +1116,8 @@ export default {
//医嘱质控
getControl() {
http.post(`/global/post/SetCaseProjectRuleHis?id=${this.$route.query.id}`)
http
.post(`/global/post/SetCaseProjectRuleHis?id=${this.$route.query.id}`)
.then((data) => {
Message.success(data.message);
})
......@@ -913,7 +1125,8 @@ export default {
},
//获取患者信息数据
getHistoryInfo() {
http.post(`/medical/Get/getHisInfo?&code=${this.$route.query.id}`, {})
http
.post(`/medical/Get/getHisInfo?&code=${this.$route.query.id}`, {})
.then((data) => {
this.HistoryInfo = data;
this.dipid = data.id;
......@@ -923,7 +1136,8 @@ export default {
this.highMagnification = data.highMagnification;
// 高倍率>总费用 高倍率金额+高倍率金额*30%
if (data.highMagnification > data.totalFee) {
this.heightnum = data.highMagnification + data.highMagnification * 0.3;
this.heightnum =
data.highMagnification + data.highMagnification * 0.3;
console.log("this.heightnum", this.heightnum);
} else if (data.highMagnification < data.totalFee) {
// 高倍率<总费用 患者总费用的金额+患者总费用的金额*30%
......@@ -932,17 +1146,29 @@ export default {
console.log("this.heightnum", this.heightnum);
}
// 低倍率宽度
this.lowwidth = Math.round((Math.round(data.lowMagnification) / Math.round(this.heightnum)) * 100);
this.lowwidth = Math.round(
(Math.round(data.lowMagnification) / Math.round(this.heightnum)) *
100,
);
// 高倍率宽度
this.heightwidth = Math.round(((Math.round(this.heightnum) - Math.round(data.highMagnification)) / Math.round(this.heightnum)) * 100);
this.heightwidth = Math.round(
((Math.round(this.heightnum) - Math.round(data.highMagnification)) /
Math.round(this.heightnum)) *
100,
);
// 正常倍率宽度
this.contentwidth = 100 - (this.lowwidth + this.heightwidth);
//总费用宽度
this.totalwidth = Math.round((Math.round(data.totalFee) / Math.round(this.heightnum)) * 100);
this.totalwidth = Math.round(
(Math.round(data.totalFee) / Math.round(this.heightnum)) * 100,
);
// 判断总费用显示的颜色
if (data.totalFee < data.lowMagnification) {
this.totalcolor = "#e9c622";
} else if (data.totalFee > data.lowMagnification && data.totalFee < data.highMagnification) {
} else if (
data.totalFee > data.lowMagnification &&
data.totalFee < data.highMagnification
) {
this.totalcolor = "#22d016";
} else if (data.totalFee > data.highMagnification) {
this.totalcolor = "#ff7e00";
......@@ -966,7 +1192,11 @@ export default {
//费用分类接口
getInpatFeesByREGCODE(types) {
var loadingInstance1 = Loading.service(this.loadingOption1);
http.post(`/medical/Get/getIFHisByREGCODE?&code=${this.$route.query.id}&state=${this.btnvalue}`, types)
http
.post(
`/medical/Get/getIFHisByREGCODE?&code=${this.$route.query.id}&state=${this.btnvalue}`,
types,
)
.then((data) => {
this.tableData = data;
loadingInstance1.close();
......
......@@ -12,82 +12,130 @@
<div class="outpatientDetails_top_div1">
<span class="span1">患者信息</span>
<div>
<el-button class="outpatientDetails_top_div1_button" type="primary" size="mini" @click="gosear"> 疾病分组查询 </el-button>
<el-button class="outpatientDetails_top_div1_button" size="mini" type="primary" @click="topage">病案质控</el-button>
<el-button class="outpatientDetails_top_div1_button" type="primary" size="mini" @click="getControl">医嘱质控</el-button>
<el-button
class="outpatientDetails_top_div1_button"
type="primary"
size="mini"
@click="gosear"
>
疾病分组查询
</el-button>
<el-button
class="outpatientDetails_top_div1_button"
size="mini"
type="primary"
@click="topage"
>病案质控</el-button
>
<el-button
class="outpatientDetails_top_div1_button"
type="primary"
size="mini"
@click="getControl"
>医嘱质控</el-button
>
</div>
</div>
<div class="outpatientDetails_top_message">
<div class="outpatientDetails_top_message_left" style="width: 12%">
<span class="outpatientDetails_top_message_left_tu1"> <img src="../assets/img/peo.png" alt="" /></span>
<span class="outpatientDetails_top_message_left_tu1">
<img src="../assets/img/peo.png" alt=""
/></span>
<div class="outpatientDetails_top_message_left_t1">
姓名:<span>{{ HistoryInfo.name }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_left" style="width: 13%">
<span class="outpatientDetails_top_message_left_tu1"> <img src="../assets/img/peo.png" alt="" /></span>
<span class="outpatientDetails_top_message_left_tu1">
<img src="../assets/img/peo.png" alt=""
/></span>
<div class="outpatientDetails_top_message_left_t1">
住院号:<span>{{ HistoryInfo.id }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_centert" style="width: 11%">
<span class="outpatientDetails_top_message_centert_tu2"><img src="../assets/img/ka.png" alt="" /></span>
<span class="outpatientDetails_top_message_centert_tu2"
><img src="../assets/img/ka.png" alt=""
/></span>
<div class="outpatientDetails_top_message_centert_t2">
住院次数:<span>{{ HistoryInfo.a49 }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_centert" style="width: 13%">
<span class="outpatientDetails_top_message_centert_tu2"><img src="../assets/img/ka.png" alt="" /></span>
<span class="outpatientDetails_top_message_centert_tu2"
><img src="../assets/img/ka.png" alt=""
/></span>
<div class="outpatientDetails_top_message_centert_t2">
实际住院天数:<span>{{ HistoryInfo.b20 }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_right">
<span class="outpatientDetails_top_message_right_tu3"><img src="../assets/img/qian.png" alt="" /></span>
<span class="outpatientDetails_top_message_right_tu3"
><img src="../assets/img/qian.png" alt=""
/></span>
<div class="outpatientDetails_top_message_right_t3">
医疗付费方式:<span>{{ HistoryInfo.paymentType }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_low">
<span class="outpatientDetails_top_message_low_tu4"><img src="../assets/img/daoru.png" alt="" /></span>
<span class="outpatientDetails_top_message_low_tu4"
><img src="../assets/img/daoru.png" alt=""
/></span>
<div class="outpatientDetails_top_message_low_t4">
分组类型:<span>{{ HistoryInfo.disNature }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_div6">
<span class="outpatientDetails_top_message_div6_tu6"><img src="../assets/img/lx2.png" alt="" /></span>
<span class="outpatientDetails_top_message_div6_tu6"
><img src="../assets/img/lx2.png" alt=""
/></span>
<div class="outpatientDetails_top_message_div6_t6">
病人类型:<span>{{ HistoryInfo.patientType }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_div5">
<span class="outpatientDetails_top_message_div5_tu5"><img src="../assets/img/je.png" alt="" /></span>
<span class="outpatientDetails_top_message_div5_tu5"
><img src="../assets/img/je.png" alt=""
/></span>
<div class="outpatientDetails_top_message_div5_t5">
自费占比:<span>{{ HistoryInfo.ownProportion != undefined ? decimal(HistoryInfo.ownProportion) + "%" : "" }}</span>
自费占比:<span>{{
HistoryInfo.ownProportion != undefined
? decimal(HistoryInfo.ownProportion) + "%"
: ""
}}</span>
</div>
</div>
</div>
</div>
<div class="outpatientDetails_msg">
<span class="outpatientDetails_msg_tu4"><img src="../assets/img/zu.png" alt="" /></span>
<span class="outpatientDetails_msg_tu4"
><img src="../assets/img/zu.png" alt=""
/></span>
<!-- <span>分组:{{ HistoryInfo.doctorName }}</span> -->
<span>分组编码:{{ HistoryInfo.coreCode }}</span>
<span :title="HistoryInfo.coreName">分组名称:{{ HistoryInfo.coreName }}</span>
<span>基准点数:{{ decimal(HistoryInfo.rw) }}</span>
<span :title="HistoryInfo.coreName"
>分组名称:{{ HistoryInfo.coreName }}</span
>
<span>{{ weightName }}:{{ 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="outpatientDetails_fenqu" v-if="lowMagnification != 0 && highMagnification != 0">
<div
class="outpatientDetails_fenqu"
v-if="lowMagnification != 0 && 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: totalwidth - 1 + '%', color: totalcolor }">{{
decimal(HistoryInfo.totalFee)
}}</span>
<span
class="outpatientDetails_fenqu_di_bb_div1_num"
:style="{ marginLeft: totalwidth - 1 + '%', color: totalcolor }"
>{{ decimal(HistoryInfo.totalFee) }}</span
>
<span
class="outpatientDetails_fenqu_di_bb_div1_he"
:style="{
......@@ -97,21 +145,41 @@
></span>
</div>
<div class="outpatientDetails_fenqu_di_bb_div2">
<span class="outpatientDetails_fenqu_di_bb_div2_span1" :style="{ width: lowwidth + '%' }"
><span class="outpatientDetails_fenqu_di_bb_div2_span1_t1" :title="'低倍率区域:&lt;=' + Math.round(lowMagnification)"
<span
class="outpatientDetails_fenqu_di_bb_div2_span1"
:style="{ width: lowwidth + '%' }"
><span
class="outpatientDetails_fenqu_di_bb_div2_span1_t1"
:title="'低倍率区域:&lt;=' + Math.round(lowMagnification)"
>低倍率区域:&lt;={{ Math.round(lowMagnification) }}</span
></span
>
<span class="outpatientDetails_fenqu_di_bb_div2_span2" :style="{ width: contentwidth + '%' }"
<span
class="outpatientDetails_fenqu_di_bb_div2_span2"
:style="{ width: contentwidth + '%' }"
><span
class="outpatientDetails_fenqu_di_bb_div2_span2_t2"
:title="'正常区域:' + (Math.round(lowMagnification) + 1) + '~' + (Math.round(highMagnification) - 1)"
>正常区域:{{ Math.round(lowMagnification) + 1 + "~" + (Math.round(highMagnification) - 1) }}</span
:title="
'正常区域:' +
(Math.round(lowMagnification) + 1) +
'~' +
(Math.round(highMagnification) - 1)
"
>正常区域:{{
Math.round(lowMagnification) +
1 +
"~" +
(Math.round(highMagnification) - 1)
}}</span
></span
>
<span class="outpatientDetails_fenqu_di_bb_div2_span3" :style="{ width: heightwidth + '%' }"
><span class="outpatientDetails_fenqu_di_bb_div2_span3_t3" :title="'高倍率区域:>=' + Math.round(highMagnification)"
<span
class="outpatientDetails_fenqu_di_bb_div2_span3"
:style="{ width: heightwidth + '%' }"
><span
class="outpatientDetails_fenqu_di_bb_div2_span3_t3"
:title="'高倍率区域:>=' + Math.round(highMagnification)"
>高倍率区域:>={{ Math.round(highMagnification) }}</span
></span
>
......@@ -138,7 +206,9 @@
<!-- 有数据 -->
<div class="outpatientDetails_bottom_leftShowBox">
<div class="outpatientDetails_bottom_leftShowBox_left">
<div class="outpatientDetails_bottom_leftShowBox_left_btbox">费用分类</div>
<div class="outpatientDetails_bottom_leftShowBox_left_btbox">
费用分类
</div>
<el-table
ref="monthlyPlanTable"
:data="tableData1"
......@@ -155,38 +225,81 @@
@row-click="eowclick"
@expand-change="changeRowClick"
>
<el-table-column prop="iteM_TYPE" label="项目名称" width="110" header-align="center" align="center"> </el-table-column>
<el-table-column prop="totalFee" label="总金额(小计)" width="80" header-align="center" align="right">
<el-table-column
prop="iteM_TYPE"
label="项目名称"
width="110"
header-align="center"
align="center"
>
</el-table-column>
<el-table-column
prop="totalFee"
label="总金额(小计)"
width="80"
header-align="center"
align="right"
>
<template slot-scope="scope">
{{ decimal(scope.row.totalFee) }}
</template>
</el-table-column>
<el-table-column prop="proportion" label="占总费用(比例)" width="90" header-align="center" align="right">
<el-table-column
prop="proportion"
label="占总费用(比例)"
width="90"
header-align="center"
align="right"
>
<template slot-scope="scope">
{{ scope.row.proportion != undefined ? decimal(scope.row.proportion) + "%" : "" }}
{{
scope.row.proportion != undefined
? decimal(scope.row.proportion) + "%"
: ""
}}
</template>
</el-table-column>
<el-table-column prop="coreTotalFee" label="预计DRG设定费用(参考)" width="100" header-align="center" align="right">
<el-table-column
prop="coreTotalFee"
label="预计DRG设定费用(参考)"
width="100"
header-align="center"
align="right"
>
<template slot-scope="scope">
{{ decimal(scope.row.coreTotalFee) }}
</template>
</el-table-column>
<el-table-column prop="coreProportion" label="设定费用比例(参考)" width="100" header-align="center" align="center">
<el-table-column
prop="coreProportion"
label="设定费用比例(参考)"
width="100"
header-align="center"
align="center"
>
<template slot-scope="scope">
{{ scope.row.coreProportion != undefined ? decimal(scope.row.coreProportion) + "%" : "" }}
{{
scope.row.coreProportion != undefined
? decimal(scope.row.coreProportion) + "%"
: ""
}}
</template>
</el-table-column>
</el-table>
</div>
<!-- 中间有数据样式 表格-->
<div class="outpatientDetails_bottom_leftShowBox_right" v-if="tableData.length !== 0">
<div
class="outpatientDetails_bottom_leftShowBox_right"
v-if="tableData.length !== 0"
>
<div class="outpatientDetails_bottom_leftShowBox_right_treebtn">
<span
v-for="(item, ind) in btnoptions"
:key="ind"
class="outpatientDetails_bottom_leftShowBox_right_treebtn_span"
:class="{
outpatientDetails_bottom_leftShowBox_right_treebtn_span1: ind == btnspanind,
outpatientDetails_bottom_leftShowBox_right_treebtn_span1:
ind == btnspanind,
}"
@click="treebtn(item.value, ind)"
>{{ item.title }}</span
......@@ -201,9 +314,18 @@
:row-class-name="tableRowClassName"
height="92%"
>
<el-table-column label="开单日期" prop="chargeTime"></el-table-column>
<el-table-column label="项目编码" prop="iteM_CODE"></el-table-column>
<el-table-column label="项目名称" prop="iteM_NAME"></el-table-column>
<el-table-column
label="开单日期"
prop="chargeTime"
></el-table-column>
<el-table-column
label="项目编码"
prop="iteM_CODE"
></el-table-column>
<el-table-column
label="项目名称"
prop="iteM_NAME"
></el-table-column>
<el-table-column label="单价" prop="unitprice">
<template slot-scope="scope">
{{ decimal(scope.row.unitprice) }}
......@@ -215,7 +337,10 @@
{{ decimal(scope.row.fee) }}
</template>
</el-table-column>
<el-table-column label="支付类型" prop="carD_TYPE"></el-table-column>
<el-table-column
label="支付类型"
prop="carD_TYPE"
></el-table-column>
</el-table>
</div>
<!-- 中间表格无数据 -->
......@@ -226,15 +351,22 @@
:key="ind"
class="outpatientDetails_bottom_leftShowBox_right_treebtn_span"
:class="{
outpatientDetails_bottom_leftShowBox_right_treebtn_span1: ind == btnspanind,
outpatientDetails_bottom_leftShowBox_right_treebtn_span1:
ind == btnspanind,
}"
@click="treebtn(item.value, ind)"
>{{ item.title }}</span
>
</div>
<div class="outpatientDetails_bottom_leftShowBox_right_box">
<img class="outpatientDetails_bottom_leftShowBox_right_box_img" src="../assets/img/nodata.png" alt="" />
<div class="outpatientDetails_bottom_leftShowBox_right_box_text">暂无数据</div>
<img
class="outpatientDetails_bottom_leftShowBox_right_box_img"
src="../assets/img/nodata.png"
alt=""
/>
<div class="outpatientDetails_bottom_leftShowBox_right_box_text">
暂无数据
</div>
</div>
</div>
</div>
......@@ -260,12 +392,15 @@
<span
class="outpatientDetails_bottom_rght2_top_mes_span1"
:class="{
outpatientDetails_bottom_rght2_top_mes_span1background: ind == span1Ind,
outpatientDetails_bottom_rght2_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
>{{ item.name }}:<span :style="{ color: item.color }">{{
item.count
}}</span></span
>
<!-- <span class="outpatientDetails_bottom_rght2_top_mes_span2">检查:<span style="color: #3ad330">0</span></span>
......@@ -283,19 +418,30 @@
:key="ind"
@click="getruleId(item.ruleId, ind)"
>
<span v-show="item.projectRuleLevel == '禁止'" class="outpatientDetails_bottom_rght2_bottom_li_title" style="background: red">{{
item.projectRuleLevel
}}</span>
<span v-show="item.projectRuleLevel == '提示'" class="outpatientDetails_bottom_rght2_bottom_li_title" style="background: #2aaae2">{{
item.projectRuleLevel
}}</span>
<span v-show="item.projectRuleLevel == '警告'" class="outpatientDetails_bottom_rght2_bottom_li_title" style="background: #e9c621">{{
item.projectRuleLevel
}}</span>
<span
v-show="item.projectRuleLevel == '禁止'"
class="outpatientDetails_bottom_rght2_bottom_li_title"
style="background: red"
>{{ item.projectRuleLevel }}</span
>
<span
v-show="item.projectRuleLevel == '提示'"
class="outpatientDetails_bottom_rght2_bottom_li_title"
style="background: #2aaae2"
>{{ item.projectRuleLevel }}</span
>
<span
v-show="item.projectRuleLevel == '警告'"
class="outpatientDetails_bottom_rght2_bottom_li_title"
style="background: #e9c621"
>{{ item.projectRuleLevel }}</span
>
<el-tooltip placement="bottom" trigger="hover">
<template #content>{{ item.notes }} </template>
<span class="outpatientDetails_bottom_rght2_bottom_li_cont">{{ item.notes }}</span>
<span class="outpatientDetails_bottom_rght2_bottom_li_cont">{{
item.notes
}}</span>
</el-tooltip>
</div>
</div>
......@@ -310,12 +456,20 @@
</div> -->
<!-- 弹出层 -->
<el-dialog center :visible.sync="addrecordEnrollmentShow" :before-close="closeDialog" class="fullscreen" :fullscreen="true">
<el-dialog
center
:visible.sync="addrecordEnrollmentShow"
:before-close="closeDialog"
class="fullscreen"
: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>
<span class="outaddrecordEnrollment_search_div1_span1"
><span style="color: red">*</span> 主诊断:</span
>
<el-select
class="outaddrecordEnrollment_search_div1_inp1"
v-model="outaddsearchForm.diagName"
......@@ -327,9 +481,16 @@
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>
<span class="outaddrecordEnrollment_search_div1_span2">其他诊断:</span>
<span class="outaddrecordEnrollment_search_div1_span2"
>其他诊断:</span
>
<el-select
class="outaddrecordEnrollment_search_div1_inp2"
v-model="otdiagName"
......@@ -344,18 +505,39 @@
size="mini"
clearable
>
<el-option v-for="item in otzdoptions" :key="item.name" :label="item.name" :value="item.name" />
<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;分钟
<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_span5">
<el-button size="mini" type="primary" @click="addsearch">查询</el-button>
<el-button size="mini" type="primary" @click="addsearch"
>查询</el-button
>
</span>
</div>
<div class="outaddrecordEnrollment_search_div2">
<span class="outaddrecordEnrollment_search_div2_span1">主手术:</span>
<span class="outaddrecordEnrollment_search_div2_span1"
>主手术:</span
>
<el-select
class="outaddrecordEnrollment_search_div2_inp1"
v-model="outaddsearchForm.opsName"
......@@ -367,10 +549,17 @@
size="mini"
clearable
>
<el-option v-for="item in ssoptions" :key="item.name" :label="item.name" :value="item.name" />
<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>
<span class="outaddrecordEnrollment_search_div2_span2"
>其他手术:</span
>
<el-select
class="outaddrecordEnrollment_search_div2_inp2"
v-model="otopsName"
......@@ -385,34 +574,69 @@
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>
<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" />
<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>
</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
v-for="item in sexoptions"
:key="item.value"
:label="item.value"
size="small"
>{{ item.label }}</el-radio
>
</el-radio-group>
</div>
</div>
<div class="outaddrecordEnrollment_centent">
<div class="outaddrecordEnrollment_centent_totalnum" v-for="(item, index) in addCorePercents" :key="index">
<div
class="outaddrecordEnrollment_centent_totalnum"
v-for="(item, index) in addCorePercents"
:key="index"
>
<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>
<span>{{ weightName }}:{{ item.score }}</span>
</div>
<div class="outaddrecordEnrollment_centent_totalnum_left_text3">
<span>预计DRG支付费用:{{ item.unitfee }}</span> <span>分组类型:{{ item.disNature }}</span>
<span>预计DRG支付费用:{{ item.unitfee }}</span>
<span>分组类型:{{ item.disNature }}</span>
</div>
</div>
<!-- <div class="outaddrecordEnrollment_centent_totalnum_right">
......@@ -424,11 +648,16 @@
</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>
<div class="outaddrecordEnrollment_centent_nodata_text">暂无数据</div>
<div class="outaddrecordEnrollment_centent_nodata_text">
暂无数据
</div>
</div>
</div>
......@@ -438,12 +667,9 @@
</div>
</template>
<script>
import http from "../utils/http";
import { initEcharts, categoryChart, categoryChart11 } from "../utils/echarts";
import { Loading, Message } from "element-ui";
import { decimal } from "../utils/decimal";
import { Message } from "element-ui";
import { setItem, getItem } from "../utils/auth";
import { Loading } from "element-ui";
import http from "../utils/http";
export default {
name: "outpatientDetails",
......@@ -612,6 +838,11 @@ export default {
myTimer: null,
};
},
computed: {
weightName() {
return window.webConfig.weightName;
},
},
mounted() {
this.$nextTick(() => {
window.addEventListener("mouseover", this.myTimeOut);
......@@ -692,7 +923,8 @@ export default {
},
//获取列表数据
addgetlist() {
http.post(`/medical/post/GetCorePercentsByAssemble`, {
http
.post(`/medical/post/GetCorePercentsByAssemble`, {
a14: this.ageinput ? this.ageinput : "0", // 年龄
a16: this.ageinput2 ? this.ageinput2 : "0", // 年龄不足一周岁(天)
a12C: this.sexvalue, // 性别
......@@ -739,7 +971,8 @@ export default {
//获取诊断数据
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;
})
......@@ -751,7 +984,8 @@ export default {
//获取其他诊断数据
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;
})
......@@ -764,7 +998,8 @@ export default {
//获取主手术,其他手术的数据
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;
})
......@@ -776,7 +1011,8 @@ export default {
//获取其他手术的数据
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;
})
......@@ -788,7 +1024,8 @@ export default {
////
decimal,
topage() {
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);
})
......@@ -812,7 +1049,11 @@ export default {
},
//获取左侧表格数据
getlefttable() {
http.post(`/medical/Post/getHisStaChargeType?code=${this.$route.query.id}`, {})
http
.post(
`/medical/Post/getHisStaChargeType?code=${this.$route.query.id}`,
{},
)
.then((data) => {
this.tableData1 = data;
if (this.tableData1 != []) {
......@@ -833,7 +1074,8 @@ export default {
//异常问题接口 显示全部异常信息
GetProjectRulesData() {
http.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}`, {})
http
.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}`, {})
.then((data) => {
this.options = data.projectRules;
this.typeCountDatas = data.typeCountDatas;
......@@ -854,7 +1096,11 @@ export default {
this.showbottom = true;
var loadingInstance2 = Loading.service(this.loadingOption1);
http.post(`/medical/get/GetPRHisData?&code=${this.$route.query.id}&projectType=${name}`, {})
http
.post(
`/medical/get/GetPRHisData?&code=${this.$route.query.id}&projectType=${name}`,
{},
)
.then((data) => {
this.liInd = -1;
this.span1Ind = ind;
......@@ -876,7 +1122,11 @@ export default {
//点击获取中间的表格数据
getruleId(ruleId, ind) {
http.post(`/medical/Post/GetiFHisByItemCode?code=${this.$route.query.id}&ruleId=${ruleId}`, {})
http
.post(
`/medical/Post/GetiFHisByItemCode?code=${this.$route.query.id}&ruleId=${ruleId}`,
{},
)
.then((data) => {
this.liInd = ind;
this.tableData = data;
......@@ -886,7 +1136,8 @@ export default {
//医嘱质控
getControl() {
http.post(`/global/post/SetCaseProjectRuleHis?id=${this.$route.query.id}`)
http
.post(`/global/post/SetCaseProjectRuleHis?id=${this.$route.query.id}`)
.then((data) => {
Message.success(data.message);
})
......@@ -894,7 +1145,8 @@ export default {
},
//获取患者信息数据
getHistoryInfo() {
http.post(`/medical/Get/getHisInfo?&code=${this.$route.query.id}`, {})
http
.post(`/medical/Get/getHisInfo?&code=${this.$route.query.id}`, {})
.then((data) => {
this.HistoryInfo = data;
this.dipid = data.id;
......@@ -904,7 +1156,8 @@ export default {
this.highMagnification = data.highMagnification;
// 高倍率>总费用 高倍率金额+高倍率金额*30%
if (data.highMagnification > data.totalFee) {
this.heightnum = data.highMagnification + data.highMagnification * 0.3;
this.heightnum =
data.highMagnification + data.highMagnification * 0.3;
console.log("this.heightnum", this.heightnum);
} else if (data.highMagnification < data.totalFee) {
// 高倍率<总费用 患者总费用的金额+患者总费用的金额*30%
......@@ -913,17 +1166,29 @@ export default {
console.log("this.heightnum", this.heightnum);
}
// 低倍率宽度
this.lowwidth = Math.round((Math.round(data.lowMagnification) / Math.round(this.heightnum)) * 100);
this.lowwidth = Math.round(
(Math.round(data.lowMagnification) / Math.round(this.heightnum)) *
100,
);
// 高倍率宽度
this.heightwidth = Math.round(((Math.round(this.heightnum) - Math.round(data.highMagnification)) / Math.round(this.heightnum)) * 100);
this.heightwidth = Math.round(
((Math.round(this.heightnum) - Math.round(data.highMagnification)) /
Math.round(this.heightnum)) *
100,
);
// 正常倍率宽度
this.contentwidth = 100 - (this.lowwidth + this.heightwidth);
//总费用宽度
this.totalwidth = Math.round((Math.round(data.totalFee) / Math.round(this.heightnum)) * 100);
this.totalwidth = Math.round(
(Math.round(data.totalFee) / Math.round(this.heightnum)) * 100,
);
// 判断总费用显示的颜色
if (data.totalFee < data.lowMagnification) {
this.totalcolor = "#e9c622";
} else if (data.totalFee > data.lowMagnification && data.totalFee < data.highMagnification) {
} else if (
data.totalFee > data.lowMagnification &&
data.totalFee < data.highMagnification
) {
this.totalcolor = "#22d016";
} else if (data.totalFee > data.highMagnification) {
this.totalcolor = "#ff7e00";
......@@ -947,7 +1212,11 @@ export default {
//费用分类接口
getInpatFeesByREGCODE(types) {
var loadingInstance1 = Loading.service(this.loadingOption1);
http.post(`/medical/Get/getIFHisByREGCODE?&code=${this.$route.query.id}&state=${this.btnvalue}`, types)
http
.post(
`/medical/Get/getIFHisByREGCODE?&code=${this.$route.query.id}&state=${this.btnvalue}`,
types,
)
.then((data) => {
this.tableData = data;
loadingInstance1.close();
......
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