Commit 277b9973 by 唐玉峰

.

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