Commit 9a1441da by 唐玉峰

Merge branch 'feature/贵州丹寨人民医院' of…

Merge branch 'feature/贵州丹寨人民医院' of https://gitlab.suvalue.com/ninglupeng/vue-composition-api into feature/贵州丹寨人民医院
parents de1ebb16 0d072cc0
...@@ -5,100 +5,103 @@ ...@@ -5,100 +5,103 @@
* @LastEditTime: 2023-01-09 13:55:06 * @LastEditTime: 2023-01-09 13:55:06
* @Description: * @Description:
*/ */
import Vue from "vue"; import Vue from 'vue'
import Router from "vue-router"; import Router from 'vue-router'
import store from "@/store"; import outseeQualityControl from '@/views/outseeQualityControl.vue'
import { getItem, clear } from "@/utils/auth"; import outpatientDetails from '@/views/outpatientDetails.vue'
import outseeQualityControl from "@/views/outseeQualityControl.vue"; import outHistorygrouping from '@/views/outHistorygrouping.vue'
import outpatientDetails from "@/views/outpatientDetails.vue";
import outHistorygrouping from "@/views/outHistorygrouping.vue";
import outpatientDetailsnew from "@/views/outpatientDetailsnew.vue"; import outpatientDetailsnew from '@/views/outpatientDetailsnew.vue'
import outHistorygroupingnew from "@/views/outHistorygroupingnew.vue"; import outHistorygroupingnew from '@/views/outHistorygroupingnew.vue'
import outClinicalpathway from "@/views/outClinicalpathway.vue"; import outClinicalpathway from '@/views/outClinicalpathway.vue'
import Entrypath from "@/views/Entrypath.vue"; import Entrypath from '@/views/Entrypath.vue'
Vue.use(Router); Vue.use(Router)
// const baseUrl = '/his/' // const baseUrl = '/his/'
const router = new Router({ const router = new Router({
// mode: baseUrl, // mode: baseUrl,
routes: [ routes: [
{ {
path: "*", path: '*',
component: (resolve) => require(["@/components/404.vue"], resolve), component: (resolve) => require(['@/components/404.vue'], resolve)
}, },
// 查看质控 // 查看质控
{ {
path: "/outseeQualityControl", path: '/outseeQualityControl',
name: "outseeQualityControl", name: 'outseeQualityControl',
component: outseeQualityControl, component: outseeQualityControl
}, },
// 患者详情 // 患者详情
{ {
path: "/outpatientDetails", path: '/outpatientDetails',
name: "outpatientDetails", name: 'outpatientDetails',
component: outpatientDetails, component: outpatientDetails
}, },
// 智能分组 // 智能分组
{ {
path: "/outHistorygrouping", path: '/outHistorygrouping',
name: "outHistorygrouping", name: 'outHistorygrouping',
component: outHistorygrouping, component: outHistorygrouping
}, },
// 患者详情 // 患者详情
{ {
path: "/outpatientDetailsnew", path: '/outpatientDetailsnew',
name: "outpatientDetailsnew", name: 'outpatientDetailsnew',
component: outpatientDetailsnew, component: outpatientDetailsnew
}, },
// 智能分组 // 智能分组
{ {
path: "/outHistorygroupingnew", path: '/outHistorygroupingnew',
name: "outHistorygroupingnew", name: 'outHistorygroupingnew',
component: outHistorygroupingnew, component: outHistorygroupingnew
}, },
//进入路径 //进入路径
{ {
path: "/Entrypath", path: '/Entrypath',
name: "Entrypath", name: 'Entrypath',
component: Entrypath, component: Entrypath
}, },
//临床路径外放页面 //临床路径外放页面
{ {
path: "/outClinicalpathway", path: '/outClinicalpathway',
name: "outClinicalpathway", name: 'outClinicalpathway',
component: outClinicalpathway, component: outClinicalpathway
}, },
{ {
path: "/test", path: '/test',
component: (resolve) => require(["@/views/test.vue"], resolve), component: (resolve) => require(['@/views/test.vue'], resolve)
}, },
{ {
path: "/clinicalPathMaintenance", path: '/clinicalPathMaintenance',
component: (resolve) => require(["@/views/clinicalPathMaintenance.vue"], resolve), component: (resolve) =>
}, require(['@/views/clinicalPathMaintenance.vue'], resolve)
{ },
path: "/relationMapping", {
component: (resolve) => require(["@/views/relationMapping.vue"], resolve), path: '/relationMapping',
}, component: (resolve) => require(['@/views/relationMapping.vue'], resolve)
{ },
path: "/clinicalLog", {
component: (resolve) => require(["@/views/clinicalLog.vue"], resolve), path: '/clinicalLog',
}, component: (resolve) => require(['@/views/clinicalLog.vue'], resolve)
{ },
path: "/patientinfo", {
component: (resolve) => require(["@/views/patientinfo.vue"], resolve), path: '/patientinfo',
}, component: (resolve) => require(['@/views/patientinfo.vue'], resolve)
], },
// mode: 'history' /*hash*/ /*不显示路由中的#*/ {
}); path: '/patientinfo2',
component: (resolve) => require(['@/views/patientinfo2.vue'], resolve)
}
]
// mode: 'history' /*hash*/ /*不显示路由中的#*/
})
//路由跳转前判断(登录权限) //路由跳转前判断(登录权限)
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
next(); next()
}); })
export default router; export default router
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -10,6 +10,15 @@ ...@@ -10,6 +10,15 @@
<div class="outsetgrouping" id="setGroupingbox"> <div class="outsetgrouping" id="setGroupingbox">
<div class="outsetgrouping_button" style="margin-top: 15px"> <div class="outsetgrouping_button" style="margin-top: 15px">
<el-button <el-button
v-if="$route.query.patientInfo"
class="outsetgrouping_button_Searchbtn"
type="primary"
size="mini"
@click="topage3"
>
<span class="s2">病例监控</span>
</el-button>
<el-button
class="outsetgrouping_button_Searchbtn" class="outsetgrouping_button_Searchbtn"
style="margin-left: 10px" style="margin-left: 10px"
size="mini" size="mini"
...@@ -17,10 +26,20 @@ ...@@ -17,10 +26,20 @@
@click="topage1" @click="topage1"
>病案质控</el-button >病案质控</el-button
> >
<el-button class="outsetgrouping_button_Searchbtn" type="primary" size="mini" @click="toPage"> <el-button
class="outsetgrouping_button_Searchbtn"
type="primary"
size="mini"
@click="toPage"
>
<span class="s2">费用监控</span> <span class="s2">费用监控</span>
</el-button> </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> <span class="s2">疾病分组查询</span>
</el-button> </el-button>
<!-- <el-button class="outsetgrouping_button_Submitbtn" size="mini" type="primary" @click="submit"> <!-- <el-button class="outsetgrouping_button_Submitbtn" size="mini" type="primary" @click="submit">
...@@ -75,7 +94,9 @@ ...@@ -75,7 +94,9 @@
><img src="../assets/img/daoru.png" alt="" ><img src="../assets/img/daoru.png" alt=""
/></span> /></span>
<div class="outsetgrouping_top_message_blow_t4"> <div class="outsetgrouping_top_message_blow_t4">
分组类型:<span>{{ casehisObj ? casehisObj.drgs.disNature : '' }}</span> 分组类型:<span>{{
casehisObj ? casehisObj.drgs.disNature : ''
}}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -103,7 +124,9 @@ ...@@ -103,7 +124,9 @@
><img src="../assets/img/jiner.png" alt="" ><img src="../assets/img/jiner.png" alt=""
/></span> /></span>
<div class="outsetgrouping_top2_message_right_t3"> <div class="outsetgrouping_top2_message_right_t3">
预计DIP支付费用:<span>{{ casehisObj ? decimal(casehisObj.drgs.actualfee) : '' }}</span> 预计DIP支付费用:<span>{{
casehisObj ? decimal(casehisObj.drgs.actualfee) : ''
}}</span>
</div> </div>
</div> </div>
<div class="outsetgrouping_top2_message_right"> <div class="outsetgrouping_top2_message_right">
...@@ -111,7 +134,9 @@ ...@@ -111,7 +134,9 @@
><img src="../assets/img/jiner.png" alt="" ><img src="../assets/img/jiner.png" alt=""
/></span> /></span>
<div class="outsetgrouping_top2_message_right_t3"> <div class="outsetgrouping_top2_message_right_t3">
总费用:<span>{{ casehisObj ? decimal(casehisObj.totalFee) : '' }}</span> 总费用:<span>{{
casehisObj ? decimal(casehisObj.totalFee) : ''
}}</span>
</div> </div>
</div> </div>
<div class="outsetgrouping_top2_message_right"> <div class="outsetgrouping_top2_message_right">
...@@ -119,7 +144,9 @@ ...@@ -119,7 +144,9 @@
><img src="../assets/img/jiner.png" alt="" ><img src="../assets/img/jiner.png" alt=""
/></span> /></span>
<div class="outsetgrouping_top2_message_right_t3"> <div class="outsetgrouping_top2_message_right_t3">
预计盈亏:<span>{{ casehisObj ? decimal(casehisObj.drgs.profitLoss) : '' }}</span> 预计盈亏:<span>{{
casehisObj ? decimal(casehisObj.drgs.profitLoss) : ''
}}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -135,7 +162,10 @@ ...@@ -135,7 +162,10 @@
v-for="(item, index) in CorePercents" v-for="(item, index) in CorePercents"
:key="index" :key="index"
> >
<div class="outsetgrouping_centent_totalnum_left" style="padding-top: 15px"> <div
class="outsetgrouping_centent_totalnum_left"
style="padding-top: 15px"
>
<!-- <div class="outsetgrouping_centent_totalnum_left_radios"> <!-- <div class="outsetgrouping_centent_totalnum_left_radios">
<el-button <el-button
class="outsetgrouping_button_Submitbtn" class="outsetgrouping_button_Submitbtn"
...@@ -150,19 +180,27 @@ ...@@ -150,19 +180,27 @@
<div class="outsetgrouping_centent_totalnum_left_text"> <div class="outsetgrouping_centent_totalnum_left_text">
<div class="outsetgrouping_centent_totalnum_left_text_msg1"> <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.diagMapName }}</span>
<span>操作名称:{{ item.opsMapName }}</span> <span>操作名称:{{ item.opsMapName }}</span>
</div> </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.disCode }}</span>
<span>操作编码:{{ item.opsCode }}</span> <span>操作编码:{{ item.opsCode }}</span>
</div> </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.diagOrder }}</span>
<span>操作类型:{{ item.opsOrder }}</span> <span>操作类型:{{ item.opsOrder }}</span>
</div> </div>
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text44"> <div
class="outsetgrouping_centent_totalnum_left_text_msg1_text44"
>
<span> 分组类型:{{ item.disNature }}</span> <span> 分组类型:{{ item.disNature }}</span>
</div> </div>
</div> </div>
...@@ -213,8 +251,12 @@ ...@@ -213,8 +251,12 @@
> >
<span <span
class="patientDetails_fenqu_di_bb_div2_span1_t1" class="patientDetails_fenqu_di_bb_div2_span1_t1"
:title="'低倍率区域:&lt;=' + Math.round(item.lowMagnification)" :title="
>低倍率区域:&lt;={{ Math.round(item.lowMagnification) }}</span '低倍率区域:&lt;=' + Math.round(item.lowMagnification)
"
>低倍率区域:&lt;={{
Math.round(item.lowMagnification)
}}</span
> >
</span> </span>
<span <span
...@@ -245,7 +287,9 @@ ...@@ -245,7 +287,9 @@
> >
<span <span
class="patientDetails_fenqu_di_bb_div2_span3_t3" class="patientDetails_fenqu_di_bb_div2_span3_t3"
:title="'高倍率区域:>=' + Math.round(item.highMagnification)" :title="
'高倍率区域:>=' + Math.round(item.highMagnification)
"
> >
高倍率区域:>={{ Math.round(item.highMagnification) }} 高倍率区域:>={{ Math.round(item.highMagnification) }}
</span> </span>
...@@ -311,7 +355,6 @@ import { decimal } from '../utils/decimal' ...@@ -311,7 +355,6 @@ import { decimal } from '../utils/decimal'
import http from '../utils/http' import http from '../utils/http'
import $ from 'jquery' import $ from 'jquery'
import { Message } from 'element-ui' import { Message } from 'element-ui'
import { initEcharts, categoryChart, categoryChart11 } from '../utils/echarts'
import diagList from './diagList' import diagList from './diagList'
export default { export default {
name: 'outHistorygrouping', name: 'outHistorygrouping',
...@@ -437,7 +480,7 @@ export default { ...@@ -437,7 +480,7 @@ export default {
this.opsMapList = data.opsMapList this.opsMapList = data.opsMapList
this.getlist() this.getlist()
}) })
.catch((error) => {}) .catch(() => {})
}, },
//获取列表数据 //获取列表数据
getlist() { getlist() {
...@@ -453,18 +496,21 @@ export default { ...@@ -453,18 +496,21 @@ export default {
this.CorePercents.map((item) => { this.CorePercents.map((item) => {
// 高倍率>总费用 高倍率金额+高倍率金额*30% // 高倍率>总费用 高倍率金额+高倍率金额*30%
if (item.highMagnification > item.totalFee) { 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) { } 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) -
Math.round(item.highMagnification)) /
Math.round(item.heightnum)) * Math.round(item.heightnum)) *
100 100
) )
...@@ -493,24 +539,29 @@ export default { ...@@ -493,24 +539,29 @@ export default {
}) })
if (this.CorePercents != null && this.CorePercents.length > 0) { if (this.CorePercents != null && this.CorePercents.length > 0) {
const coreId = this.CorePercents[0].coreID const coreId = this.CorePercents[0].coreID
if (this.casehisObj != null && coreId !== this.casehisObj.drgs.coreid) if (
this.casehisObj != null &&
coreId !== this.casehisObj.drgs.coreid
)
this.submit(coreId) this.submit(coreId)
} }
}) })
.catch((error) => {}) .catch(() => {})
}, },
//提交 //提交
submit(coreID) { submit(coreID) {
http http
.post(`/medical/Update/casehisById?PatientId=${this.$route.query.id}&coreid=${coreID}`) .post(
.then((data) => { `/medical/Update/casehisById?PatientId=${this.$route.query.id}&coreid=${coreID}`
)
.then(() => {
// Message.success({ // Message.success({
// message: `${data.message}`, // message: `${data.message}`,
// type: 'success' // type: 'success'
// }) // })
this.getCaseHis(this.$route.query.id) this.getCaseHis(this.$route.query.id)
}) })
.catch((error) => {}) .catch(() => {})
}, },
//关闭弹层前的回调 //关闭弹层前的回调
closeDialog() { closeDialog() {
...@@ -534,7 +585,7 @@ export default { ...@@ -534,7 +585,7 @@ export default {
.then((data) => { .then((data) => {
this.zdoptions = data this.zdoptions = data
}) })
.catch((error) => {}) .catch(() => {})
} else { } else {
this.zdoptions = [] this.zdoptions = []
} }
...@@ -547,7 +598,7 @@ export default { ...@@ -547,7 +598,7 @@ export default {
.then((data) => { .then((data) => {
this.otzdoptions = data this.otzdoptions = data
}) })
.catch((error) => {}) .catch(() => {})
} else { } else {
this.zdoptions = [] this.zdoptions = []
} }
...@@ -560,7 +611,7 @@ export default { ...@@ -560,7 +611,7 @@ export default {
.then((data) => { .then((data) => {
this.ssoptions = data this.ssoptions = data
}) })
.catch((error) => {}) .catch(() => {})
} else { } else {
this.zdoptions = [] this.zdoptions = []
} }
...@@ -573,7 +624,7 @@ export default { ...@@ -573,7 +624,7 @@ export default {
.then((data) => { .then((data) => {
this.otssoptions = data this.otssoptions = data
}) })
.catch((error) => {}) .catch(() => {})
} else { } else {
this.zdoptions = [] this.zdoptions = []
} }
...@@ -626,13 +677,15 @@ export default { ...@@ -626,13 +677,15 @@ export default {
// (this.diagList = []), (this.opsList = []); // (this.diagList = []), (this.opsList = []);
// } // }
}) })
.catch((error) => {}) .catch(() => {})
}, },
radios() { radios() {
let _this = this let _this = this
$('input[type=radio][name=radios]').on('change', function () { $('input[type=radio][name=radios]').on('change', function () {
_this.radio = this.value _this.radio = this.value
_this.coreID = _this.CorePercents.find((item) => item.id == this.value).coreID _this.coreID = _this.CorePercents.find(
(item) => item.id == this.value
).coreID
console.log(_this.coreID) console.log(_this.coreID)
console.log(this.value) console.log(this.value)
}) })
...@@ -658,7 +711,18 @@ export default { ...@@ -658,7 +711,18 @@ export default {
.then((data) => { .then((data) => {
window.open(data.message) window.open(data.message)
}) })
.catch((error) => {}) .catch(() => {})
},
topage3() {
http
.get(
`/medical/get/HisPatientInfo?regCode=${this.casehisObj.regCode}`,
{}
)
.then((data) => {
window.open(data.message)
})
.catch(() => {})
} }
} }
} }
......
...@@ -6,788 +6,863 @@ ...@@ -6,788 +6,863 @@
* @Description: * @Description:
--> -->
<template> <template>
<!-- 查看质控 --> <!-- 查看质控 -->
<div class="outseeQualityControl"> <div class="outseeQualityControl">
<div class="outseeQualityControl_box"> <div class="outseeQualityControl_box">
<div class="outseeQualityControl_box_btn"> <div class="outseeQualityControl_box_btn">
<el-button class="outseeQualityControl_box_btn_button" size="mini" type="primary" @click="getSynchronous">同步数据</el-button> <el-button
class="outseeQualityControl_box_btn_button"
size="mini"
type="primary"
@click="getSynchronous"
>同步数据</el-button
>
</div>
<div class="outseeQualityControl_box_header">
<div class="outseeQualityControl_box_header_text"></div>
</div>
<div class="outseeQualityControl_box_Content">
<div class="outseeQualityControl_box_Content_left">
<medical-record-homepage
:medicalrecord="medicalrecord"
:clicktitle="clicktitle"
>
</medical-record-homepage>
</div>
<div class="outseeQualityControl_box_Content_right">
<div class="outseeQualityControl_box_Content_right_top">
<!--非编码问题 -->
<div
:class="[
isleftcodeShow
? 'outseeQualityControl_box_Content_right_top_left'
: 'outseeQualityControl_box_Content_right_top_left11'
]"
@click="leftcode"
>
<div class="outseeQualityControl_box_Content_right_top_left_div1">
<img
src="../assets/img/fbm.png"
alt=""
v-show="isleftcodeShow"
/>
<img
src="../assets/img/bm.png"
alt=""
v-show="!isleftcodeShow"
/>
</div>
<div class="outseeQualityControl_box_Content_right_top_left_div2">
<span
:class="[
isleftcodeShow
? 'outseeQualityControl_box_Content_right_top_left_div2_span1'
: 'outseeQualityControl_box_Content_right_top_left_div2_span11'
]"
>{{ fruleCount }}</span
>
<span
:class="[
isleftcodeShow
? 'outseeQualityControl_box_Content_right_top_left_div2_span2'
: 'outseeQualityControl_box_Content_right_top_left_div2_span22'
]"
>非编码问题</span
>
</div>
</div> </div>
<div class="outseeQualityControl_box_header"> <!-- 编码问题 -->
<div class="outseeQualityControl_box_header_text"></div> <div
:class="[
isleftcodeShow
? 'outseeQualityControl_box_Content_right_top_right'
: 'outseeQualityControl_box_Content_right_top_right11'
]"
@click="rightcode"
>
<div
class="outseeQualityControl_box_Content_right_top_right_div1"
>
<img
src="../assets/img/fbm.png"
alt=""
v-show="!isleftcodeShow"
/>
<img
src="../assets/img/bm.png"
alt=""
v-show="isleftcodeShow"
/>
</div>
<div
class="outseeQualityControl_box_Content_right_top_right_div2"
>
<span
:class="[
isleftcodeShow
? 'outseeQualityControl_box_Content_right_top_right_div2_span1'
: 'outseeQualityControl_box_Content_right_top_right_div2_span11'
]"
>{{ ruleCount }}</span
>
<span
:class="[
isleftcodeShow
? 'outseeQualityControl_box_Content_right_top_right_div2_span2'
: 'outseeQualityControl_box_Content_right_top_right_div2_span22'
]"
>编码问题</span
>
</div>
</div> </div>
</div>
<div class="outseeQualityControl_box_Content"> <div class="outseeQualityControl_box_Content_right_center">
<div class="outseeQualityControl_box_Content_left"> <div
<medical-record-homepage :medicalrecord="medicalrecord" :clicktitle="clicktitle"> </medical-record-homepage> class="outseeQualityControl_box_Content_right_center_line"
</div> v-show="isleftcodeShow"
></div>
<div class="outseeQualityControl_box_Content_right"> <div
<div class="outseeQualityControl_box_Content_right_top"> class="outseeQualityControl_box_Content_right_center_line2"
<!--非编码问题 --> v-show="!isleftcodeShow"
<div ></div>
:class="[isleftcodeShow ? 'outseeQualityControl_box_Content_right_top_left' : 'outseeQualityControl_box_Content_right_top_left11']" </div>
@click="leftcode" <div class="outseeQualityControl_box_Content_right_bottom">
<!-- <div class="outseeQualityControl_box_Content_right_bottom_title">患者基本信息</div> -->
<div
class="outseeQualityControl_box_Content_right_bottom_tree"
v-show="isleftcodeShow"
>
<el-tree
:data="departmentTree"
:props="defaultProps"
:default-expand-all="false"
ref="tree"
node-key="id"
@node-click="handleNodeClick"
>
<template #default="{ node, data }">
<span class="custom-tree-node">
<div
class="leftbox"
:class="[data.ruleName != '非编码问题' ? 'leftboxs' : '']"
>
<el-tooltip placement="bottom" trigger="hover">
<template #content>{{ data.ruleName }} </template>
<span
:class="[
data.ruleName == '非编码问题' ? 'spans' : ''
]"
>{{ data.ruleName }}</span
> >
<div class="outseeQualityControl_box_Content_right_top_left_div1"> </el-tooltip>
<img src="../assets/img/fbm.png" alt="" v-show="isleftcodeShow" />
<img src="../assets/img/bm.png" alt="" v-show="!isleftcodeShow" />
</div>
<div class="outseeQualityControl_box_Content_right_top_left_div2">
<span
:class="[
isleftcodeShow
? 'outseeQualityControl_box_Content_right_top_left_div2_span1'
: 'outseeQualityControl_box_Content_right_top_left_div2_span11',
]"
>{{ fruleCount }}</span
>
<span
:class="[
isleftcodeShow
? 'outseeQualityControl_box_Content_right_top_left_div2_span2'
: 'outseeQualityControl_box_Content_right_top_left_div2_span22',
]"
>非编码问题</span
>
</div>
</div>
<!-- 编码问题 -->
<div
:class="[
isleftcodeShow ? 'outseeQualityControl_box_Content_right_top_right' : 'outseeQualityControl_box_Content_right_top_right11',
]"
@click="rightcode"
>
<div class="outseeQualityControl_box_Content_right_top_right_div1">
<img src="../assets/img/fbm.png" alt="" v-show="!isleftcodeShow" />
<img src="../assets/img/bm.png" alt="" v-show="isleftcodeShow" />
</div>
<div class="outseeQualityControl_box_Content_right_top_right_div2">
<span
:class="[
isleftcodeShow
? 'outseeQualityControl_box_Content_right_top_right_div2_span1'
: 'outseeQualityControl_box_Content_right_top_right_div2_span11',
]"
>{{ ruleCount }}</span
>
<span
:class="[
isleftcodeShow
? 'outseeQualityControl_box_Content_right_top_right_div2_span2'
: 'outseeQualityControl_box_Content_right_top_right_div2_span22',
]"
>编码问题</span
>
</div>
</div>
</div>
<div class="outseeQualityControl_box_Content_right_center">
<div class="outseeQualityControl_box_Content_right_center_line" v-show="isleftcodeShow"></div>
<div class="outseeQualityControl_box_Content_right_center_line2" v-show="!isleftcodeShow"></div>
</div> </div>
<div class="outseeQualityControl_box_Content_right_bottom"> </span>
<!-- <div class="outseeQualityControl_box_Content_right_bottom_title">患者基本信息</div> --> </template>
<div class="outseeQualityControl_box_Content_right_bottom_tree" v-show="isleftcodeShow"> </el-tree>
<el-tree </div>
:data="departmentTree"
:props="defaultProps" <div
:default-expand-all="false" class="outseeQualityControl_box_Content_right_bottom_tree"
ref="tree" v-show="!isleftcodeShow"
node-key="id" >
@node-click="handleNodeClick" <el-tree
> :data="rightdepartmentTree"
<template #default="{ node, data }"> :props="defaultProps"
<span class="custom-tree-node"> :default-expand-all="false"
<div class="leftbox" :class="[data.ruleName != '非编码问题' ? 'leftboxs' : '']"> ref="tree"
<el-tooltip placement="bottom" trigger="hover"> node-key="id"
<template #content>{{ data.ruleName }} </template> @node-click="handleNodeClick"
<span :class="[data.ruleName == '非编码问题' ? 'spans' : '']">{{ data.ruleName }}</span> v-show="!isnodataShow"
</el-tooltip> >
</div> <template #default="{ node, data }">
</span> <span class="custom-tree-node">
</template> <div
</el-tree> class="leftbox"
</div> :class="[data.ruleName != '编码问题' ? 'leftboxs' : '']"
>
<div class="outseeQualityControl_box_Content_right_bottom_tree" v-show="!isleftcodeShow"> <el-tooltip placement="bottom" trigger="hover">
<el-tree <template #content>{{ data.ruleName }} </template>
:data="rightdepartmentTree" <span
:props="defaultProps" :class="[data.ruleName == '编码问题' ? 'spans' : '']"
:default-expand-all="false" >{{ data.ruleName }}</span
ref="tree" >
node-key="id" </el-tooltip>
@node-click="handleNodeClick"
v-show="!isnodataShow"
>
<template #default="{ node, data }">
<span class="custom-tree-node">
<div class="leftbox" :class="[data.ruleName != '编码问题' ? 'leftboxs' : '']">
<el-tooltip placement="bottom" trigger="hover">
<template #content>{{ data.ruleName }} </template>
<span :class="[data.ruleName == '编码问题' ? 'spans' : '']">{{ data.ruleName }}</span>
</el-tooltip>
</div>
</span>
</template>
</el-tree>
<div class="outseeQualityControl_box_Content_right_bottom_tree_nodata" v-show="isnodataShow">
<img class="outseeQualityControl_box_Content_right_bottom_tree_nodata_img" src="../assets/img/mininodata.png" alt="" />
<div class="outseeQualityControl_box_Content_right_bottom_tree_nodata_text">暂无数据</div>
</div>
</div>
</div> </div>
</span>
</template>
</el-tree>
<div
class="outseeQualityControl_box_Content_right_bottom_tree_nodata"
v-show="isnodataShow"
>
<img
class="outseeQualityControl_box_Content_right_bottom_tree_nodata_img"
src="../assets/img/mininodata.png"
alt=""
/>
<div
class="outseeQualityControl_box_Content_right_bottom_tree_nodata_text"
>
暂无数据
</div> </div>
</div>
</div> </div>
</div>
</div> </div>
</div>
</div> </div>
</div>
</template> </template>
<script> <script>
import http from "../utils/http"; import http from '../utils/http'
import medicalRecordHomepage from "../components/medicalRecordHomepage/index.vue"; import medicalRecordHomepage from '../components/medicalRecordHomepage/index.vue'
import $ from "jquery"; import $ from 'jquery'
import { setItem, getItem } from "../utils/auth"; import { setItem, getItem } from '../utils/auth'
import { Message, Loading } from "element-ui"; import { Message, Loading } from 'element-ui'
export default { export default {
components: { components: {
medicalRecordHomepage, medicalRecordHomepage
},
name: 'outseeQualityControl',
data() {
return {
medicalrecord: null,
ScoringDetails: null,
caseHistoryScoreData: null,
departmentTree: [], //非编码问题数据
rightdepartmentTree: [], //编码问题数据
isleftcodeShow: true, //非编码问题数据是否显示
defaultProps: {
children: 'rulesLists',
label: 'ruleName'
},
clicktitle: '',
fruleCount: '', //非编码问题数据条数
ruleCount: '', //编码问题数据条数
isnodataShow: false, //编码是否有数据,
inhtml: '',
splithtml: '', //
splithtml2: '', //单位电话
splithtml3: '', //病房
keys: [], //获取所有的问卷key
values: [], //
loadingOption1: {
// 加载loading
fullscreen: true,
text: '正在加载...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.5)'
}
}
},
mounted() {
if (this.$route.query.id) {
this.getScoringDetails(this.$route.query.id)
this.getHomePage(this.$route.query.id)
setItem('outpid', this.$route.query.id)
}
},
methods: {
//同步数据
getSynchronous(id) {
http
.post(`/medical/get/Synchronization?id=${this.$route.query.id}`)
.then((data) => {
Message.success(data.message)
})
.catch((error) => {
Message.error(error)
})
}, },
name: "outseeQualityControl", //获取到点击的值
data() { handleNodeClick(data) {
return { let arr = document.getElementsByClassName(data.columnName)
medicalrecord: null, let dom = $('#medicalRecord').find('#clickColor')
ScoringDetails: null, if (dom.length != 0) {
caseHistoryScoreData: null, dom.removeAttr('id')
departmentTree: [], //非编码问题数据 }
rightdepartmentTree: [], //编码问题数据 arr[0].setAttribute('id', 'clickColor')
isleftcodeShow: true, //非编码问题数据是否显示 this.scrollTop()
defaultProps: {
children: "rulesLists",
label: "ruleName",
},
clicktitle: "",
fruleCount: "", //非编码问题数据条数
ruleCount: "", //编码问题数据条数
isnodataShow: false, //编码是否有数据,
inhtml: "",
splithtml: "", //
splithtml2: "", //单位电话
splithtml3: "", //病房
keys: [], //获取所有的问卷key
values: [], //
loadingOption1: {
// 加载loading
fullscreen: true,
text: "正在加载...",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.5)",
},
};
}, },
mounted() {
if (this.$route.query.id) { scrollTop() {
this.getScoringDetails(this.$route.query.id); if ($('#clickColor').position()) {
this.getHomePage(this.$route.query.id); $('.outseeQualityControl_box_Content_left').animate(
setItem("outpid", this.$route.query.id); {
} scrollTop:
$('#clickColor').offset().top -
$('.outseeQualityControl_box_Content_left').offset().top +
$('.outseeQualityControl_box_Content_left').scrollTop() -
300
},
500
)
}
}, },
methods: {
//同步数据 //获取患者基本信息树形数据
getSynchronous(id) { getScoringDetails(id) {
http.post(`/medical/get/Synchronization?id=${this.$route.query.id}`) var loadingInstance1 = Loading.service(this.loadingOption1)
.then((data) => { http
Message.success(data.message); .post(`/medical/get/GetCaseHisRule?id=${id}`, {})
}) .then((data) => {
.catch((error) => { this.departmentTree = data[0].rulesLists
Message.error(error); this.rightdepartmentTree = data[1].rulesLists
}); this.fruleCount = data[0].ruleCount
}, this.ruleCount = data[1].ruleCount
//获取到点击的值
handleNodeClick(data) { if (this.fruleCount == 0 || this.ruleCount == 0) {
let arr = document.getElementsByClassName(data.columnName); this.isnodataShow = true
let dom = $("#medicalRecord").find("#clickColor"); }
if (dom.length != 0) { loadingInstance1.close()
dom.removeAttr("id"); })
} .catch((error) => {
arr[0].setAttribute("id", "clickColor"); loadingInstance1.close()
this.scrollTop(); })
},
scrollTop() {
if ($("#clickColor").position()) {
$(".outseeQualityControl_box_Content_left").animate(
{
scrollTop:
$("#clickColor").offset().top -
$(".outseeQualityControl_box_Content_left").offset().top +
$(".outseeQualityControl_box_Content_left").scrollTop() -
300,
},
500
);
}
},
//获取患者基本信息树形数据
getScoringDetails(id) {
var loadingInstance1 = Loading.service(this.loadingOption1);
http.post(`/medical/get/GetCaseHisRule?id=${id}`, {})
.then((data) => {
this.departmentTree = data[0].rulesLists;
this.rightdepartmentTree = data[1].rulesLists;
this.fruleCount = data[0].ruleCount;
this.ruleCount = data[1].ruleCount;
if (this.fruleCount == 0 || this.ruleCount == 0) {
this.isnodataShow = true;
}
loadingInstance1.close();
})
.catch((error) => {
loadingInstance1.close();
});
},
// 获取病案首页数据
getHomePage(id) {
http.post(`/medical/Get/HomeHisPage?id=${id}`, {})
.then((data) => {
this.medicalrecord = data;
this.keys = Object.keys(data);
})
.catch((error) => {});
},
//点击非编码问题
leftcode() {
this.isleftcodeShow = true;
},
//点击编码问题
rightcode() {
this.isleftcodeShow = false;
},
}, },
};
// 获取病案首页数据
getHomePage(id) {
http
.post(`/medical/Get/HomeHisPage?id=${id}`, {})
.then((data) => {
this.medicalrecord = data
this.keys = Object.keys(data)
})
.catch((error) => {})
},
//点击非编码问题
leftcode() {
this.isleftcodeShow = true
},
//点击编码问题
rightcode() {
this.isleftcodeShow = false
}
}
}
</script> </script>
<style lang="scss"> <style lang="scss">
html, html,
body { body {
height: 100%; height: 100%;
width: 100%; width: 100%;
margin: 0; margin: 0;
overflow: hidden; overflow: hidden;
} }
#app { #app {
height: 100%; height: 100%;
width: 100%; width: 100%;
} }
.outseeQualityControl { .outseeQualityControl {
height: 100%; height: 100%;
width: 100%; width: 100%;
background-color: white; background-color: white;
// overflow: hidden; // overflow: hidden;
// position: relative; // position: relative;
#clickColor { #clickColor {
background-color: #f3bf18; background-color: #f3bf18;
}
&_box {
background-color: #f3fafd;
padding: 2%;
height: 92%;
&_btn {
width: 100%;
height: 40px;
display: flex;
justify-content: flex-end;
margin-bottom: 20px;
&_button {
background-color: #2cabe3;
color: #fff;
}
} }
&_header {
&_box { height: 25px;
background-color: #f3fafd; margin-bottom: 20px;
padding: 2%; background: url('../assets/img/dataMaintenance/title.png') no-repeat;
background-size: 100% 100%;
width: 100%;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
&_text {
font-size: 13px;
font-family: PingFang SC;
font-weight: 500;
color: #ffffff;
margin-left: 15px;
}
}
&_Content {
display: flex;
// flex-direction: row;
height: calc(100% - 100px);
// width: 100%;
justify-content: space-between;
// align-items: center;
// align-content: center;
// flex-wrap: nowrap;
// margin-top: 20px;
&_left {
width: 60%;
background-color: #ffffff;
height: 92%; height: 92%;
padding: 2% 4%;
overflow: auto;
overflow-x: hidden;
}
&_right {
width: 32%;
flex: 1;
margin-left: 1%;
display: flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
&_btn { &_top {
width: 100%; background: #ffffff;
height: 40px; border-radius: 8px;
height: 16%;
width: 100%;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-content: center;
justify-content: space-around;
align-items: center;
// padding: 3% 10%;
&_left {
flex: 1;
height: 100%;
border-radius: 8px;
background-image: url('../assets/img/BG.png');
background-repeat: no-repeat;
background-position: center;
display: flex; display: flex;
justify-content: flex-end;
margin-bottom: 20px; &_div1 {
&_button { flex: 1;
background-color: #2cabe3; display: flex;
justify-content: center;
align-items: center;
img {
width: 82px;
height: 53px;
}
}
&_div2 {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
&_span1 {
color: #fff; color: #fff;
font-size: 26px;
font-weight: 700;
}
&_span2 {
color: #fff;
font-size: 16px;
font-weight: 500;
}
&_span11 {
color: #2cabe3;
font-size: 26px;
font-weight: 700;
}
&_span22 {
color: #2cabe3;
font-size: 16px;
font-weight: 500;
}
} }
}
&_header { .leftblue {
height: 25px; color: #2cabe3;
margin-bottom: 20px; }
background: url("../assets/img/dataMaintenance/title.png") no-repeat; }
background-size: 100% 100%;
width: 100%; &_left11 {
flex: 1;
height: 100%;
border-radius: 8px;
background-color: #fff;
background-repeat: no-repeat;
background-position: center;
display: flex; display: flex;
flex-direction: row;
justify-content: flex-start; &_div1 {
align-items: center; flex: 1;
&_text { display: flex;
font-size: 13px; justify-content: center;
font-family: PingFang SC; align-items: center;
img {
width: 82px;
height: 63px;
}
}
&_div2 {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
&_span1 {
color: #fff;
font-size: 26px;
font-weight: 700;
}
&_span2 {
color: #fff;
font-size: 16px;
font-weight: 500; font-weight: 500;
color: #ffffff; }
margin-left: 15px;
&_span11 {
color: #2cabe3;
font-size: 26px;
font-weight: 700;
}
&_span22 {
color: #2cabe3;
font-size: 16px;
font-weight: 500;
}
} }
}
&_Content { .leftblue {
color: #2cabe3;
}
}
&_right {
height: 100%;
flex: 1;
border-radius: 8px;
display: flex;
&_div1 {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
img {
width: 82px;
height: 53px;
}
}
&_div2 {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
&_span1 {
color: #2cabe3;
font-size: 26px;
font-weight: 700;
}
&_span2 {
color: #2cabe3;
font-size: 16px;
font-weight: 500;
}
&_span11 {
color: white;
font-size: 26px;
font-weight: 700;
}
&_span22 {
color: white;
font-size: 16px;
font-weight: 500;
}
}
}
&_right11 {
flex: 1;
height: 100%;
border-radius: 8px;
background-image: url('../assets/img/BG.png');
background-repeat: no-repeat;
background-position: center;
display: flex; display: flex;
// flex-direction: row;
height: calc(100% - 100px); &_div1 {
// width: 100%; flex: 1;
justify-content: space-between; display: flex;
// align-items: center; justify-content: center;
// align-content: center; align-items: center;
// flex-wrap: nowrap;
// margin-top: 20px; img {
&_left { width: 82px;
width: 60%; height: 53px;
background-color: #ffffff; }
height: 92%;
padding: 2% 4%;
overflow: auto;
overflow-x: hidden;
} }
&_right { &_div2 {
width: 32%; flex: 1;
flex: 1; display: flex;
margin-left: 1%; flex-direction: column;
display: flex; justify-content: center;
flex-direction: column; align-items: center;
flex-wrap: nowrap;
justify-content: space-between; &_span1 {
align-items: center; color: #2cabe3;
font-size: 26px;
&_top { font-weight: 700;
background: #ffffff; }
border-radius: 8px;
height: 16%; &_span2 {
width: 100%; color: #2cabe3;
display: flex; font-size: 16px;
flex-direction: row; font-weight: 500;
flex-wrap: nowrap; }
align-content: center; }
justify-content: space-around; }
align-items: center; }
// padding: 3% 10%;
&_left {
flex: 1;
height: 100%;
border-radius: 8px;
background-image: url("../assets/img/BG.png");
background-repeat: no-repeat;
background-position: center;
display: flex;
&_div1 {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
img {
width: 82px;
height: 53px;
}
}
&_div2 {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
&_span1 {
color: #fff;
font-size: 26px;
font-weight: 700;
}
&_span2 {
color: #fff;
font-size: 16px;
font-weight: 500;
}
&_span11 {
color: #2cabe3;
font-size: 26px;
font-weight: 700;
}
&_span22 {
color: #2cabe3;
font-size: 16px;
font-weight: 500;
}
}
.leftblue {
color: #2cabe3;
}
}
&_left11 { &_center {
flex: 1; width: 100%;
height: 100%; height: 2%;
border-radius: 8px; background-color: #ffff;
background-color: #fff; display: flex;
background-repeat: no-repeat;
background-position: center; &_line {
display: flex; width: 50%;
height: 30%;
&_div1 { border-radius: 40px;
flex: 1; background-color: #2cabe3;
display: flex; margin: 5px 0 5px 0;
justify-content: center; }
align-items: center;
&_line2 {
img { width: 50%;
width: 82px; height: 30%;
height: 63px; border-radius: 40px;
} background-color: #2cabe3;
} margin: 5px 0 5px 0;
margin-left: 50%;
&_div2 { }
flex: 1; }
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
&_span1 {
color: #fff;
font-size: 26px;
font-weight: 700;
}
&_span2 {
color: #fff;
font-size: 16px;
font-weight: 500;
}
&_span11 {
color: #2cabe3;
font-size: 26px;
font-weight: 700;
}
&_span22 {
color: #2cabe3;
font-size: 16px;
font-weight: 500;
}
}
.leftblue {
color: #2cabe3;
}
}
&_right { &_bottom {
height: 100%; background: #ffffff;
flex: 1; border-radius: 8px;
border-radius: 8px; height: 100%;
display: flex; width: 100%;
// padding: 0 5% 5% 5%;
&_div1 {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
img {
width: 82px;
height: 53px;
}
}
&_div2 {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
&_span1 {
color: #2cabe3;
font-size: 26px;
font-weight: 700;
}
&_span2 {
color: #2cabe3;
font-size: 16px;
font-weight: 500;
}
&_span11 {
color: white;
font-size: 26px;
font-weight: 700;
}
&_span22 {
color: white;
font-size: 16px;
font-weight: 500;
}
}
}
&_right11 { &_title {
flex: 1; font-size: 14px;
height: 100%; font-family: PingFang SC;
border-radius: 8px; font-weight: bold;
background-image: url("../assets/img/BG.png"); color: #6a707e;
background-repeat: no-repeat; line-height: 40px;
background-position: center;
display: flex;
&_div1 {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
img {
width: 82px;
height: 53px;
}
}
&_div2 {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
&_span1 {
color: #2cabe3;
font-size: 26px;
font-weight: 700;
}
&_span2 {
color: #2cabe3;
font-size: 16px;
font-weight: 500;
}
}
}
}
&_center { height: 10%;
width: 100%;
height: 2%;
background-color: #ffff;
display: flex;
&_line { // @include flexLayout;
width: 50%;
height: 30%;
border-radius: 40px;
background-color: #2cabe3;
margin: 5px 0 5px 0;
}
&_line2 { justify-content: left;
width: 50%; }
height: 30%;
border-radius: 40px;
background-color: #2cabe3;
margin: 5px 0 5px 0;
margin-left: 50%;
}
}
&_bottom { &_tree {
background: #ffffff; height: 100%;
border-radius: 8px; overflow-x: hidden;
height: 100%; .is-leaf {
width: 100%; visibility: hidden;
// padding: 0 5% 5% 5%; }
&_title { .leftboxs {
font-size: 14px; border-bottom: 1px dashed #dddddd;
font-family: PingFang SC; }
font-weight: bold;
color: #6a707e;
line-height: 40px;
height: 10%; .leftbox {
width: 100%;
display: flex;
align-items: center;
height: 100%;
overflow: hidden;
white-space: pre-wrap;
text-overflow: ellipsis;
span {
font-size: 14px;
font-family: PingFang SC;
font-weight: 400;
line-height: 22px;
text-align: start;
overflow: hidden;
width: 92%;
white-space: nowrap;
text-overflow: ellipsis;
}
.spans {
color: #2cabe3;
font-weight: 500;
}
}
// @include flexLayout; ._score {
font-size: 13px;
font-family: PingFang SC;
font-weight: 400;
color: #ff3333;
line-height: 22px;
justify-content: left; width: 50%;
}
display: flex;
flex-direction: row;
justify-content: flex-end;
padding-right: 5%;
span {
color: rgba(106, 112, 126, 1);
}
}
.el-tree {
width: 98%;
height: 85px;
&_tree { .el-tree-node__content {
.is-leaf { height: 85px;
visibility: hidden; }
}
.el-tree-node.is-current > .el-tree-node__content {
height: 100%; height: 85px;
overflow-x: hidden;
/* background: #5fc3f0; */
.leftboxs {
border-bottom: 1px dashed #dddddd; .custom-tree-node {
} .leftbox {
width: 100%;
.leftbox { display: flex;
width: 100%; align-items: center;
display: flex; height: 100%;
align-items: center;
height: 100%; span {
overflow: hidden; font-size: 14px;
white-space: pre-wrap; font-family: PingFang SC;
text-overflow: ellipsis; font-weight: 400;
line-height: 22px;
span { text-align: start;
font-size: 14px;
font-family: PingFang SC;
font-weight: 400;
line-height: 22px;
text-align: start;
overflow: hidden;
width: 92%;
white-space: nowrap;
text-overflow: ellipsis;
}
.spans {
color: #2cabe3;
font-weight: 500;
}
}
._score {
font-size: 13px;
font-family: PingFang SC;
font-weight: 400;
color: #ff3333;
line-height: 22px;
width: 50%;
display: flex;
flex-direction: row;
justify-content: flex-end;
padding-right: 5%;
span {
color: rgba(106, 112, 126, 1);
}
}
.el-tree {
width: 98%;
height: 85px;
.el-tree-node__content {
height: 85px;
}
.el-tree-node.is-current > .el-tree-node__content {
height: 85px;
/* background: #5fc3f0; */
.custom-tree-node {
.leftbox {
width: 100%;
display: flex;
align-items: center;
height: 100%;
span {
font-size: 14px;
font-family: PingFang SC;
font-weight: 400;
line-height: 22px;
text-align: start;
}
}
._score {
font-size: 13px;
font-family: PingFang SC;
font-weight: 400;
line-height: 22px;
}
}
}
}
.el-tree-node {
white-space: initial;
}
&_nodata {
height: 80%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
&_img {
width: 80px;
height: 80px;
}
&_text {
color: #abafb3;
font-family: PingFang SC;
font-size: 14px;
}
}
} }
}
._score {
font-size: 13px;
font-family: PingFang SC;
font-weight: 400;
line-height: 22px;
}
} }
}
} }
}
}
.custom-tree-node { .el-tree-node {
width: 100%; white-space: initial;
display: flex; }
flex-direction: row;
flex-wrap: nowrap;
align-content: center;
justify-content: space-between;
align-items: center;
height: 100%;
}
.el-tree > .el-tree-node { &_nodata {
//父级加下滑线 height: 80%;
// border-bottom: 1px dashed #dddddd; display: flex;
} flex-direction: column;
justify-content: center;
align-items: center;
//修改三角icon样式 &_img {
.el-icon-caret-right { width: 80px;
font-size: 18px; height: 80px;
color: #e4e4e4; }
}
.el-tree-node__content .el-tree-node__label { &_text {
//子集字体小一号 color: #abafb3;
font-size: 14; font-family: PingFang SC;
font-family: PingFang SC; font-size: 14px;
font-weight: 400; }
line-height: 22px; }
}
}
}
} }
}
.el-tree-node__children .el-tree-node__label { .custom-tree-node {
//子集字体小一号 width: 100%;
display: flex;
font-size: 12px; flex-direction: row;
font-family: PingFang SC; flex-wrap: nowrap;
font-weight: 400; align-content: center;
line-height: 22px; justify-content: space-between;
} align-items: center;
height: 100%;
}
.el-tree > .el-tree-node {
//父级加下滑线
// border-bottom: 1px dashed #dddddd;
}
//修改三角icon样式
.el-icon-caret-right {
font-size: 18px;
color: #e4e4e4;
}
.el-tree-node__content .el-tree-node__label {
//子集字体小一号
font-size: 14;
font-family: PingFang SC;
font-weight: 400;
line-height: 22px;
}
.el-tree-node__children .el-tree-node__label {
//子集字体小一号
font-size: 12px;
font-family: PingFang SC;
font-weight: 400;
line-height: 22px;
}
} }
</style> </style>
<template> <template>
<div class="patientinfo"> <div class="patientinfo">
<div style="height: 30px; background-color: #0283bb"></div> <div style="height: 30px; background-color: #0283bb"></div>
<div class="main"> <div class="main">
<div class=""> <div class="">
<div class="flex-start-center"> <div class="flex-start-center">
<div class="flex-start-center mar-right-10" v-for="(value, key, index) in obj" :key="index"> <div
<span class="mar-right-10" style="width: 12px; height: 12px" :style="{ background: value }"></span> class="flex-start-center mar-right-10"
<span class="color-666 font-14">{{ key }}</span> v-for="(value, key, index) in obj"
</div> :key="index"
</div> >
<div class="flex-between mar-top-15"> <span
<div> class="mar-right-10"
<div class="mar-bottom-10"> style="width: 12px; height: 12px"
<el-input :style="{ background: value }"
size="mini" ></span>
class="mar-right-10" <span class="color-666 font-14">{{ key }}</span>
v-model.trim="a48" </div>
style="width: 160px" </div>
placeholder="请输入病案号/住院号" <div class="flex-between mar-top-15">
clearable <div>
@clear="search" <div class="mar-bottom-10">
@keyup.enter.native="search" <el-input
> size="mini"
</el-input> class="mar-right-10"
<el-input v-model.trim="a48"
size="mini" style="width: 160px"
class="mar-right-10" placeholder="请输入病案号/住院号"
v-model.trim="a11" clearable
style="width: 160px" @clear="search"
placeholder="请输入患者姓名" @keyup.enter.native="search"
clearable >
@clear="search" </el-input>
@keyup.enter.native="search" <el-input
> size="mini"
</el-input> class="mar-right-10"
v-model.trim="a11"
style="width: 160px"
placeholder="请输入患者姓名"
clearable
@clear="search"
@keyup.enter.native="search"
>
</el-input>
<el-select <el-select
size="mini" size="mini"
class="mar-right-10" class="mar-right-10"
v-model.trim="b16C" v-model.trim="b16C"
filterable filterable
style="width: 160px" style="width: 160px"
placeholder="当前科室" placeholder="当前科室"
clearable clearable
@clear="search" @clear="search"
> >
<el-option v-for="item in deptList" :key="item.deptCode" :label="item.deptName" :value="item.deptCode"> </el-option> <el-option
</el-select> v-for="item in deptList"
<el-select v-model="isout" placeholder="是否出院" size="mini" class="mar-right-10" clearable style="width: 160px" @clear="search"> :key="item.deptCode"
<el-option label="未出院" :value="0"> </el-option> :label="item.deptName"
<el-option label="已出院" :value="1"> </el-option> :value="item.deptCode"
<el-option label="已结算" :value="2"> </el-option> >
</el-select> </el-option>
<el-select </el-select>
v-model="insuranceType" <el-select
placeholder="支付类型" v-model="isout"
size="mini" placeholder="是否出院"
class="mar-right-10" size="mini"
clearable class="mar-right-10"
style="width: 160px" clearable
@clear="search" style="width: 160px"
> @clear="search"
<el-option label="本地职工" :value="1"> </el-option> >
<el-option label="异地职工" :value="2"> </el-option> <el-option label="未出院" :value="0"> </el-option>
<el-option label="本地居民" :value="3"> </el-option> <el-option label="已出院" :value="1"> </el-option>
<el-option label="异地居民" :value="4"> </el-option> <el-option label="已结算" :value="2"> </el-option>
<el-option label="自费" :value="5"> </el-option> </el-select>
<el-option label="未填写" :value="0"> </el-option> <el-select
</el-select> v-model="insuranceType"
<span class="font-14 color-999">入院时间:</span> placeholder="支付类型"
<el-select size="mini"
v-model="currentDate" class="mar-right-10"
placeholder="当前年月" clearable
size="mini" style="width: 160px"
class="mar-right-10" @clear="search"
clearable >
style="width: 100px" <el-option label="本地职工" :value="1"> </el-option>
@change="handleCurrentDateChange" <el-option label="异地职工" :value="2"> </el-option>
> <el-option label="本地居民" :value="3"> </el-option>
<el-option label="当前年" :value="1"> </el-option> <el-option label="异地居民" :value="4"> </el-option>
<el-option label="当前月" :value="2"> </el-option> <el-option label="自费" :value="5"> </el-option>
</el-select> <el-option label="未填写" :value="0"> </el-option>
<el-date-picker </el-select>
v-model="time" <span class="font-14 color-999">入院时间:</span>
size="mini" <el-select
style="width: 210px" v-model="currentDate"
type="daterange" placeholder="当前年月"
format="yyyy-MM-dd" size="mini"
value-format="yyyy-MM-dd" class="mar-right-10"
class="mar-right-10" clearable
@change="search" style="width: 100px"
range-separator="至" @change="handleCurrentDateChange"
start-placeholder="入院日期" >
end-placeholder="结束日期" <el-option label="当前年" :value="1"> </el-option>
> <el-option label="当前月" :value="2"> </el-option>
</el-date-picker> </el-select>
</div> <el-date-picker
<div> v-model="time"
<el-input size="mini"
size="mini" style="width: 210px"
class="mar-right-10" type="daterange"
v-model.trim="doctorName" format="yyyy-MM-dd"
style="width: 160px" value-format="yyyy-MM-dd"
placeholder="请输入主治医生" class="mar-right-10"
clearable @change="search"
@clear="search" range-separator="至"
@keyup.enter.native="search" start-placeholder="入院日期"
> end-placeholder="结束日期"
</el-input> >
<el-input </el-date-picker>
size="mini" </div>
class="mar-right-10" <div>
v-model.trim="codeName" <el-input
style="width: 160px" size="mini"
placeholder="请输入分组编码/分组名称" class="mar-right-10"
clearable v-model.trim="doctorName"
@clear="search" style="width: 160px"
@keyup.enter.native="search" placeholder="请输入主治医生"
> clearable
</el-input> @clear="search"
<el-select @keyup.enter.native="search"
v-model="dis_type" >
placeholder="请选择倍率" </el-input>
size="mini" <el-input
class="mar-right-10" size="mini"
clearable class="mar-right-10"
style="width: 160px" v-model.trim="codeName"
@clear="search" style="width: 160px"
> placeholder="请输入分组编码/分组名称"
<el-option label="高倍率病例" value="高倍率病例"> </el-option> clearable
<el-option label="正常病例" value="正常病例"> </el-option> @clear="search"
<el-option label="低倍率病例" value="低倍率病例"> </el-option> @keyup.enter.native="search"
</el-select> >
<el-select v-model="isjoin" placeholder="分组状态" size="mini" class="mar-right-10" clearable style="width: 160px" @clear="search"> </el-input>
<el-option label="已分组" :value="1"> </el-option> <el-select
<el-option label="未分组" :value="0"> </el-option> v-model="dis_type"
</el-select> placeholder="请选择倍率"
<el-select v-model="shzt" placeholder="审核状态" size="mini" class="mar-right-10" clearable style="width: 160px" @clear="search"> size="mini"
<el-option label="已审核" value="已审"> </el-option> class="mar-right-10"
<el-option label="未审核" value="未审"> </el-option> clearable
</el-select> style="width: 160px"
<span class="font-14 color-999">结算时间:</span> @clear="search"
<el-select >
v-model="currentDate1" <el-option label="高倍率病例" value="高倍率病例"> </el-option>
placeholder="当前年月" <el-option label="正常病例" value="正常病例"> </el-option>
size="mini" <el-option label="低倍率病例" value="低倍率病例"> </el-option>
class="mar-right-10" </el-select>
clearable <el-select
style="width: 100px" v-model="isjoin"
@change="handleCurrentDateChange1" placeholder="分组状态"
> size="mini"
<el-option label="当前年" :value="1"> </el-option> class="mar-right-10"
<el-option label="当前月" :value="2"> </el-option> clearable
</el-select> style="width: 160px"
<el-date-picker @clear="search"
v-model="time1" >
size="mini" <el-option label="已分组" :value="1"> </el-option>
style="width: 210px" <el-option label="未分组" :value="0"> </el-option>
type="daterange" </el-select>
format="yyyy-MM-dd" <el-select
value-format="yyyy-MM-dd" v-model="shzt"
class="mar-right-10" placeholder="审核状态"
@change="search" size="mini"
range-separator="至" class="mar-right-10"
start-placeholder="结算日期" clearable
end-placeholder="结束日期" style="width: 160px"
> @clear="search"
</el-date-picker> >
</div> <el-option label="已审核" value="已审"> </el-option>
</div> <el-option label="未审核" value="未审"> </el-option>
<div> </el-select>
<el-button <span class="font-14 color-999">结算时间:</span>
type="primary" <el-select
style="background: rgb(2, 131, 187); border-color: rgb(2, 131, 187)" v-model="currentDate1"
size="mini" placeholder="当前年月"
slot="append" size="mini"
icon="el-icon-search" class="mar-right-10"
@click="search" clearable
>查询</el-button style="width: 100px"
> @change="handleCurrentDateChange1"
<el-button >
type="primary" <el-option label="当前年" :value="1"> </el-option>
style="background: rgb(2, 131, 187); border-color: rgb(2, 131, 187)" <el-option label="当前月" :value="2"> </el-option>
size="mini" </el-select>
slot="append" <el-date-picker
icon="el-icon-download" v-model="time1"
@click="downLoad" size="mini"
>下载</el-button style="width: 210px"
> type="daterange"
<el-button format="yyyy-MM-dd"
v-if="link" value-format="yyyy-MM-dd"
type="primary" class="mar-right-10"
style="background: rgb(2, 131, 187); border-color: rgb(2, 131, 187)" @change="search"
size="mini" range-separator="至"
slot="append" start-placeholder="结算日期"
icon="el-icon-link" end-placeholder="结束日期"
@click="openLink" >
>更多报表</el-button </el-date-picker>
>
</div>
</div>
</div> </div>
<div class="table flex-1 mar-top-15"> </div>
<el-table border ref="tableRef" height="93%" :data="tableData" size="mini" :highlight-current-row="true" :cell-class-name="cellName"> <div>
<el-table-column align="center" type="index" width="50" fixed="left"></el-table-column> <el-button
<el-table-column label="同步更新" align="center" min-width="80" show-overflow-tooltip fixed="left"> type="primary"
<template #default="scope"> style="
<i class="el-icon-refresh font-16 cursor" @click.stop="SetInjoinAgain(scope.row.id)"></i> background: rgb(2, 131, 187);
</template> border-color: rgb(2, 131, 187);
</el-table-column> "
<el-table-column size="mini"
prop="fee_consume" slot="append"
label="费用消耗比例" icon="el-icon-search"
sortable @click="search"
align="center" >查询</el-button
min-width="120" >
show-overflow-tooltip <el-button
fixed="left" type="primary"
></el-table-column> style="
<el-table-column prop="regcode" label="病案号" sortable align="center" min-width="120" show-overflow-tooltip fixed="left"> background: rgb(2, 131, 187);
<template #default="scope"> border-color: rgb(2, 131, 187);
<!-- 正常病例 低倍率病例 高倍率病例 dis_type--> "
<div class="flex-center-center"> size="mini"
<span class="mar-right-10" style="width: 12px; height: 12px" :style="{ background: obj[scope.row.dis_type] }"></span> slot="append"
<span>{{ scope.row.regcode }}</span> icon="el-icon-download"
</div> @click="downLoad"
</template> >下载</el-button
</el-table-column> >
<el-table-column prop="a48C" label="住院号" sortable align="center" min-width="120" show-overflow-tooltip fixed="left"> </el-table-column> <el-button
<el-table-column prop="name" label="姓名" sortable align="center" min-width="120" show-overflow-tooltip fixed="left"></el-table-column> v-if="link"
<el-table-column prop="inhostime" label="入院日期" sortable align="center" min-width="120" show-overflow-tooltip> type="primary"
<template #default="scope"> style="
<span>{{ scope.row.inhostime ? formatYMD(scope.row.inhostime) : "" }}</span> background: rgb(2, 131, 187);
</template> border-color: rgb(2, 131, 187);
</el-table-column> "
<el-table-column prop="outhostime" label="出院日期" sortable align="center" min-width="120" show-overflow-tooltip> size="mini"
<template #default="scope"> slot="append"
<span>{{ scope.row.outhostime ? formatYMD(scope.row.outhostime) : "" }}</span> icon="el-icon-link"
</template> @click="openLink"
</el-table-column> >更多报表</el-button
<el-table-column prop="indeptname" label="当前科室" sortable align="center" min-width="120" show-overflow-tooltip> </el-table-column> >
<el-table-column prop="doctorname" label="主治医生" sortable align="center" min-width="120" show-overflow-tooltip> </el-table-column> </div>
<el-table-column prop="inhosdays" label="住院天数" sortable align="center" min-width="120" show-overflow-tooltip> </el-table-column> </div>
<el-table-column prop="isjoin" label="是否出院" sortable align="center" min-width="120" show-overflow-tooltip> </el-table-column> </div>
<el-table-column prop="isbasiclevel" label="是否基层病种" sortable align="center" min-width="120" show-overflow-tooltip> </el-table-column> <div class="table flex-1 mar-top-15">
<el-table-column prop="total_fee" label="住院总费用" sortable align="center" min-width="120" show-overflow-tooltip> <el-table
<template #default="scope"> border
<span>{{ decimal(scope.row.total_fee) }}</span> ref="tableRef"
</template> height="93%"
</el-table-column> :data="tableData"
<el-table-column prop="self_payment" label="结算后自付费用" sortable align="center" min-width="130" show-overflow-tooltip> size="mini"
<template #default="scope"> :highlight-current-row="true"
<span>{{ decimal(scope.row.self_payment) }}</span> :cell-class-name="cellName"
</template> >
</el-table-column> <el-table-column
<el-table-column prop="self_payment_proportion" label="自付占比" sortable align="center" min-width="120" show-overflow-tooltip> align="center"
</el-table-column> type="index"
<el-table-column prop="medical_payment" label="医保类型" sortable align="center" min-width="120" show-overflow-tooltip></el-table-column> width="50"
<el-table-column prop="discode" label="分组编码" sortable align="center" width="250" show-overflow-tooltip> </el-table-column> fixed="left"
<el-table-column prop="disname" label="分组名称" sortable align="center" min-width="180" show-overflow-tooltip> </el-table-column> ></el-table-column>
<el-table-column prop="rw" label="实际分值" sortable align="center" min-width="120" show-overflow-tooltip></el-table-column> <el-table-column
<el-table-column prop="standardrw" label="标准分值" sortable align="center" min-width="120" show-overflow-tooltip> </el-table-column> label="同步更新"
<el-table-column label="二级医院标准分值" sortable align="center" min-width="160" show-overflow-tooltip> align="center"
<template #default="scope"> min-width="80"
<span>{{ scope.row.isbasiclevel == "是" ? scope.row.standardrw : decimal(scope.row.standardrw * 0.8) }}</span> show-overflow-tooltip
</template> fixed="left"
</el-table-column> >
<el-table-column prop="medactalfee" label="预计DIP支付费用" sortable align="center" min-width="140" show-overflow-tooltip> <template #default="scope">
<template #default="scope"> <i
<span>{{ decimal(scope.row.medactalfee) }}</span> class="el-icon-refresh font-16 cursor"
</template> @click.stop="SetInjoinAgain(scope.row.id)"
</el-table-column> ></i>
<el-table-column prop="medical_insurance_balance" label="预计DIP结余" sortable align="center" min-width="120" show-overflow-tooltip> </template>
<template #default="scope"> </el-table-column>
<span>{{ decimal(scope.row.medical_insurance_balance) }}</span> <el-table-column
</template> prop="fee_consume"
</el-table-column> label="费用消耗比例"
<el-table-column prop="dis_type" label="病例类型" sortable align="center" min-width="120" show-overflow-tooltip></el-table-column> sortable
align="center"
min-width="120"
show-overflow-tooltip
fixed="left"
></el-table-column>
<el-table-column
prop="regcode"
label="病案号"
sortable
align="center"
min-width="120"
show-overflow-tooltip
fixed="left"
>
<template #default="scope">
<!-- 正常病例 低倍率病例 高倍率病例 dis_type-->
<div class="flex-center-center">
<span
class="mar-right-10"
style="width: 12px; height: 12px"
:style="{ background: obj[scope.row.dis_type] }"
></span>
<span>{{ scope.row.regcode }}</span>
</div>
</template>
</el-table-column>
<el-table-column
prop="a48C"
label="住院号"
sortable
align="center"
min-width="120"
show-overflow-tooltip
fixed="left"
>
</el-table-column>
<el-table-column
prop="name"
label="姓名"
sortable
align="center"
min-width="120"
show-overflow-tooltip
fixed="left"
></el-table-column>
<el-table-column
prop="inhostime"
label="入院日期"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
<template #default="scope">
<span>{{
scope.row.inhostime ? formatYMD(scope.row.inhostime) : ''
}}</span>
</template>
</el-table-column>
<el-table-column
prop="outhostime"
label="出院日期"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
<template #default="scope">
<span>{{
scope.row.outhostime ? formatYMD(scope.row.outhostime) : ''
}}</span>
</template>
</el-table-column>
<el-table-column
prop="indeptname"
label="当前科室"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="doctorname"
label="主治医生"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="inhosdays"
label="住院天数"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="isjoin"
label="是否出院"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="isbasiclevel"
label="是否基层病种"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="total_fee"
label="住院总费用"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
<template #default="scope">
<span>{{ decimal(scope.row.total_fee) }}</span>
</template>
</el-table-column>
<el-table-column
prop="self_payment"
label="结算后自付费用"
sortable
align="center"
min-width="130"
show-overflow-tooltip
>
<template #default="scope">
<span>{{ decimal(scope.row.self_payment) }}</span>
</template>
</el-table-column>
<el-table-column
prop="self_payment_proportion"
label="自付占比"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="medical_payment"
label="医保类型"
sortable
align="center"
min-width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop="discode"
label="分组编码"
sortable
align="center"
width="250"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="disname"
label="分组名称"
sortable
align="center"
min-width="180"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="disnature"
label="病种类型"
sortable
align="center"
min-width="180"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="rw"
label="实际分值"
sortable
align="center"
min-width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop="standardrw"
label="标准分值"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label="二级医院标准分值"
sortable
align="center"
min-width="160"
show-overflow-tooltip
>
<template #default="scope">
<span>{{
scope.row.isbasiclevel == '是'
? scope.row.standardrw
: decimal(scope.row.standardrw * 0.8)
}}</span>
</template>
</el-table-column>
<el-table-column
prop="medactalfee"
label="预计DIP支付费用"
sortable
align="center"
min-width="140"
show-overflow-tooltip
>
<template #default="scope">
<span>{{ decimal(scope.row.medactalfee) }}</span>
</template>
</el-table-column>
<el-table-column
prop="medical_insurance_balance"
label="预计DIP结余"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
<template #default="scope">
<span>{{ decimal(scope.row.medical_insurance_balance) }}</span>
</template>
</el-table-column>
<el-table-column
prop="dis_type"
label="病例类型"
sortable
align="center"
min-width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column prop="county_Medicine_Fee" label="县级药品费用" sortable align="center" min-width="120" show-overflow-tooltip> <el-table-column
<template #default="scope"> prop="county_Medicine_Fee"
<span>{{ decimal(scope.row.county_Medicine_Fee) }}</span> label="县级药品费用"
</template> sortable
</el-table-column> align="center"
<el-table-column prop="medicine_Fee" label="药品费用" sortable align="center" min-width="120" show-overflow-tooltip> min-width="120"
<template #default="scope"> show-overflow-tooltip
<span>{{ decimal(scope.row.medicine_Fee) }}</span> >
</template> <template #default="scope">
</el-table-column> <span>{{ decimal(scope.row.county_Medicine_Fee) }}</span>
</template>
</el-table-column>
<el-table-column
prop="medicine_Fee"
label="药品费用"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
<template #default="scope">
<span>{{ decimal(scope.row.medicine_Fee) }}</span>
</template>
</el-table-column>
<el-table-column prop="drug_proportion" label="药品" sortable align="center" min-width="120" show-overflow-tooltip> </el-table-column> <el-table-column
<el-table-column prop="drug_proportion"
prop="county_Material_Fee" label="药品"
label="县级耗材费用" sortable
sortable align="center"
align="center" min-width="120"
min-width="120" show-overflow-tooltip
show-overflow-tooltip >
></el-table-column> </el-table-column>
<el-table-column prop="material_Fee" label="耗材费用" sortable align="center" min-width="120" show-overflow-tooltip></el-table-column> <el-table-column
prop="county_Material_Fee"
label="县级耗材费用"
sortable
align="center"
min-width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop="material_Fee"
label="耗材费用"
sortable
align="center"
min-width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column prop="consumables_proportion" label="耗材" sortable align="center" min-width="120" show-overflow-tooltip></el-table-column> <el-table-column
<el-table-column prop="laboratory_proportion" label="检验检查" sortable align="center" min-width="120" show-overflow-tooltip> prop="consumables_proportion"
</el-table-column> label="耗材"
<el-table-column prop="medical_proportion" label="医务性收入" sortable align="center" min-width="120" show-overflow-tooltip> sortable
</el-table-column> align="center"
<el-table-column prop="jssj" label="结算日期" sortable align="center" min-width="120" show-overflow-tooltip> min-width="120"
<template #default="scope"> show-overflow-tooltip
<span>{{ scope.row.jssj ? formatYMD(scope.row.jssj) : "" }}</span> ></el-table-column>
</template> <el-table-column
</el-table-column> prop="laboratory_proportion"
<el-table-column prop="shzt" label="审核状态" sortable align="center" min-width="120" show-overflow-tooltip> </el-table-column> label="检验检查"
</el-table> sortable
</div> align="center"
<div class="flex-end mar-top-20"> min-width="120"
<el-pagination show-overflow-tooltip
background >
layout="total, sizes, prev, pager, next, jumper" </el-table-column>
:hide-on-single-page="false" <el-table-column
:total="totalCount" prop="medical_proportion"
:page-size="pageSize" label="医务性收入"
@size-change="handleSizeChange" sortable
@current-change="handleCurrentChange" align="center"
> min-width="120"
</el-pagination> show-overflow-tooltip
</div> >
</div> </el-table-column>
<el-table-column
prop="jssj"
label="结算日期"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
<template #default="scope">
<span>{{ scope.row.jssj ? formatYMD(scope.row.jssj) : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="shzt"
label="审核状态"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
</el-table>
</div>
<div class="flex-end mar-top-20">
<el-pagination
background
layout="total, sizes, prev, pager, next, jumper"
:hide-on-single-page="false"
:total="totalCount"
:page-size="pageSize"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
>
</el-pagination>
</div>
</div> </div>
</div>
</template> </template>
<script> <script>
import http from "../utils/http"; import http from '../utils/http'
import { setItem, getItem } from "../utils/auth"; import { setItem, getItem } from '../utils/auth'
import { decimal } from "../utils/decimal"; import { decimal } from '../utils/decimal'
import dayjs from "dayjs"; import dayjs from 'dayjs'
import { Message, Loading, MessageBox } from "element-ui"; import { Message, Loading, MessageBox } from 'element-ui'
export default { export default {
name: "patientinfo", name: 'patientinfo',
data() { data() {
return { return {
time: "", time: '',
time1: "", time1: '',
pageNumber: 1, pageNumber: 1,
pageSize: 100, pageSize: 100,
a48: "", a48: '',
a11: "", a11: '',
b16C: "", b16C: '',
isjoin: null, isjoin: null,
currentDate: null, currentDate: null,
currentDate1: null, currentDate1: null,
isout: null, isout: null,
insuranceType: null, insuranceType: null,
doctorName: "", doctorName: '',
codeName: "", codeName: '',
dis_type: "", dis_type: '',
shzt: "", shzt: '',
obj: { obj: {
正常病例: "#22d016", 正常病例: '#22d016',
低倍率病例: "#e9c622", 低倍率病例: '#e9c622',
高倍率病例: "#ff7e00", 高倍率病例: '#ff7e00'
}, },
tableData: [], tableData: [],
totalCount: 0, totalCount: 0,
deptList: [], deptList: []
}; }
}, },
beforeMount() {}, beforeMount() {},
mounted() { mounted() {
this.time = [ this.time = [
`${dayjs().format("YYYY-MM")}-01`, `${dayjs().format('YYYY-MM')}-01`,
`${dayjs().format("YYYY-MM")}-${this.getDayNumByYearMonth(dayjs().format("YYYY"), dayjs().format("MM"))}`, `${dayjs().format('YYYY-MM')}-${this.getDayNumByYearMonth(
]; dayjs().format('YYYY'),
dayjs().format('MM')
)}`
]
this.GetDeptList(); this.GetDeptList()
},
computed: {
link() {
return window.webConfig.diseLink
}
},
methods: {
decimal,
formatYMD(t) {
return dayjs(t).format('YYYY-MM-DD')
}, },
computed: { getDayNumByYearMonth(year, month) {
link() { switch (month) {
return window.webConfig.diseLink; case '01':
}, case '03':
case '05':
case '07':
case '08':
case '10':
case '12':
return 31
break
case '04':
case '06':
case '09':
case '11':
return 30
break
case '02':
return this.isLeapYear(year) ? 29 : 28
break
}
},
isLeapYear(year) {
if (year / 4 == 0 && year / 100 != 0) {
return true
} else if (year / 400 == 0) {
return true
} else {
return false
}
}, },
methods: {
decimal,
formatYMD(t) {
return dayjs(t).format("YYYY-MM-DD");
},
getDayNumByYearMonth(year, month) {
switch (month) {
case "01":
case "03":
case "05":
case "07":
case "08":
case "10":
case "12":
return 31;
break;
case "04":
case "06":
case "09":
case "11":
return 30;
break;
case "02":
return this.isLeapYear(year) ? 29 : 28;
break;
}
},
isLeapYear(year) {
if (year / 4 == 0 && year / 100 != 0) {
return true;
} else if (year / 400 == 0) {
return true;
} else {
return false;
}
},
cellName({ row, column, rowIndex, columnIndex }) { cellName({ row, column, rowIndex, columnIndex }) {
if (row.medicine_Fee > row.county_Medicine_Fee && columnIndex == 26) { if (row.medicine_Fee > row.county_Medicine_Fee && columnIndex == 26) {
return "medicine"; return 'medicine'
} }
if (row.material_Fee > row.county_Material_Fee && columnIndex == 29) { if (row.material_Fee > row.county_Material_Fee && columnIndex == 29) {
return "medicine"; return 'medicine'
} }
}, },
downLoad() { downLoad() {
let parmar = { let parmar = {
pageNumber: this.pageNumber, pageNumber: this.pageNumber,
pageSize: this.pageSize, pageSize: this.pageSize,
a48: this.a48, a48: this.a48,
a11: this.a11, a11: this.a11,
b16C: this.b16C, b16C: this.b16C,
beginDate: this.time ? this.time[0] : "", beginDate: this.time ? this.time[0] : '',
endDate: this.time ? this.time[1] : "", endDate: this.time ? this.time[1] : '',
isjoin: this.isjoin, isjoin: this.isjoin,
isout: this.isout, isout: this.isout,
doctorName: this.doctorName, doctorName: this.doctorName,
codeName: this.codeName, codeName: this.codeName,
dis_type: this.dis_type, dis_type: this.dis_type,
insuranceType: this.insuranceType, insuranceType: this.insuranceType,
jssjBeginDate: this.time1 ? this.time1[0] : "", jssjBeginDate: this.time1 ? this.time1[0] : '',
jssjEndDate: this.time1 ? this.time1[1] : "", jssjEndDate: this.time1 ? this.time1[1] : '',
shzt: this.shzt, shzt: this.shzt
}; }
http.post(`/screen/hos/GetHistoryListExcelDownload`, parmar, { http
responseType: "blob", .post(`/screen/hos/GetHistoryListExcelDownload`, parmar, {
}).then((data) => { responseType: 'blob'
const link = document.createElement("a"); })
const blob = new Blob([data], { type: "application/vnd.ms-excel" }); .then((data) => {
link.style.display = "none"; const link = document.createElement('a')
link.href = URL.createObjectURL(blob); const blob = new Blob([data], { type: 'application/vnd.ms-excel' })
link.setAttribute("download", `病案数据详情.xlsx`); link.style.display = 'none'
document.body.appendChild(link); link.href = URL.createObjectURL(blob)
link.click(); link.setAttribute('download', `病案数据详情.xlsx`)
document.body.removeChild(link); document.body.appendChild(link)
}); link.click()
}, document.body.removeChild(link)
openLink() { })
http.post(`/account/reporter`, {}).then((data) => { },
var url = this.link + "?key=" + data; openLink() {
window.open(url, "_blank"); http.post(`/account/reporter`, {}).then((data) => {
}); var url = this.link + '?key=' + data
}, window.open(url, '_blank')
//查询 })
search() { },
this.pageSize = 100; //查询
this.pageNumber = 1; search() {
this.getList(); this.pageSize = 100
}, this.pageNumber = 1
//获取频率,频率的下拉数据 this.getList()
getList() { },
let parmar = { //获取频率,频率的下拉数据
pageNumber: this.pageNumber, getList() {
pageSize: this.pageSize, let parmar = {
a48: this.a48, pageNumber: this.pageNumber,
a11: this.a11, pageSize: this.pageSize,
b16C: this.b16C, a48: this.a48,
beginDate: this.time ? this.time[0] : "", a11: this.a11,
endDate: this.time ? this.time[1] : "", b16C: this.b16C,
isjoin: this.isjoin, beginDate: this.time ? this.time[0] : '',
isout: this.isout, endDate: this.time ? this.time[1] : '',
doctorName: this.doctorName, isjoin: this.isjoin,
codeName: this.codeName, isout: this.isout,
dis_type: this.dis_type, doctorName: this.doctorName,
insuranceType: this.insuranceType, codeName: this.codeName,
jssjBeginDate: this.time1 ? this.time1[0] : "", dis_type: this.dis_type,
jssjEndDate: this.time1 ? this.time1[1] : "", insuranceType: this.insuranceType,
shzt: this.shzt, jssjBeginDate: this.time1 ? this.time1[0] : '',
}; jssjEndDate: this.time1 ? this.time1[1] : '',
http.post(`/screen/hos/GetHistoryList`, parmar) shzt: this.shzt
.then((data) => { }
this.tableData = data.list; http
this.totalCount = data.totalCount; .post(`/screen/hos/GetHistoryList`, parmar)
this.$nextTick(() => { .then((data) => {
this.$refs.tableRef.doLayout(); this.tableData = data.list
}); this.totalCount = data.totalCount
}) this.$nextTick(() => {
.catch((error) => {}); this.$refs.tableRef.doLayout()
}, })
GetDeptList() { })
http.get(`/screen/hos/GetDeptList`, {}) .catch((error) => {})
.then((data) => { },
this.deptList = data; GetDeptList() {
this.deptList.map((item) => { http
if (item.deptCode == this.$route.query.ApplyDept) { .get(`/screen/hos/GetDeptList`, {})
this.b16C = this.$route.query.ApplyDept || ""; .then((data) => {
} this.deptList = data
}); this.deptList.map((item) => {
if (item.deptCode == this.$route.query.ApplyDept) {
this.b16C = this.$route.query.ApplyDept || ''
}
})
this.getList(); this.getList()
}) })
.catch((error) => { .catch((error) => {
this.getList(); this.getList()
}); })
}, },
SetInjoinAgain(id) { SetInjoinAgain(id) {
http.post(`/screen/screen/SetInjoinAgain?id=${id}`, {}) http
.then((data) => { .post(`/screen/screen/SetInjoinAgain?id=${id}`, {})
Message.success("同步成功"); .then((data) => {
this.getList(); Message.success('同步成功')
}) this.getList()
.catch((error) => { })
this.getList(); .catch((error) => {
}); this.getList()
}, })
},
handleCurrentChange(val) { handleCurrentChange(val) {
this.pageNumber = val; this.pageNumber = val
this.getList(); this.getList()
},
handleSizeChange(val) {
this.pageSize = val;
this.getList();
},
handleCurrentDateChange() {
if (this.currentDate === 1) {
this.time = [`${dayjs().format("YYYY")}-01-01`, `${dayjs().format("YYYY")}-12-31`];
} else if (this.currentDate === 2) {
this.time = [
`${dayjs().format("YYYY-MM")}-01`,
`${dayjs().format("YYYY-MM")}-${this.getDayNumByYearMonth(dayjs().format("YYYY"), dayjs().format("MM"))}`,
];
}
this.search();
},
handleCurrentDateChange1() {
if (this.currentDate1 === 1) {
this.time1 = [`${dayjs().format("YYYY")}-01-01`, `${dayjs().format("YYYY")}-12-31`];
} else if (this.currentDate1 === 2) {
this.time1 = [
`${dayjs().format("YYYY-MM")}-01`,
`${dayjs().format("YYYY-MM")}-${this.getDayNumByYearMonth(dayjs().format("YYYY"), dayjs().format("MM"))}`,
];
}
this.search();
},
}, },
}; handleSizeChange(val) {
this.pageSize = val
this.getList()
},
handleCurrentDateChange() {
if (this.currentDate === 1) {
this.time = [
`${dayjs().format('YYYY')}-01-01`,
`${dayjs().format('YYYY')}-12-31`
]
} else if (this.currentDate === 2) {
this.time = [
`${dayjs().format('YYYY-MM')}-01`,
`${dayjs().format('YYYY-MM')}-${this.getDayNumByYearMonth(
dayjs().format('YYYY'),
dayjs().format('MM')
)}`
]
}
this.search()
},
handleCurrentDateChange1() {
if (this.currentDate1 === 1) {
this.time1 = [
`${dayjs().format('YYYY')}-01-01`,
`${dayjs().format('YYYY')}-12-31`
]
} else if (this.currentDate1 === 2) {
this.time1 = [
`${dayjs().format('YYYY-MM')}-01`,
`${dayjs().format('YYYY-MM')}-${this.getDayNumByYearMonth(
dayjs().format('YYYY'),
dayjs().format('MM')
)}`
]
}
this.search()
}
}
}
</script> </script>
<style lang="scss"> <style lang="scss">
.patientinfo { .patientinfo {
height: 100%; height: 100%;
display: flex;
flex-flow: column;
background-color: white;
overflow: hidden;
position: relative;
.main {
flex: 1;
padding: 20px;
display: flex; display: flex;
flex-flow: column; flex-flow: column;
background-color: white; .el-table__body tr.current-row > td.el-table__cell {
overflow: hidden; background-color: rgb(2, 131, 187);
position: relative; color: #fff;
.main { }
flex: 1; .el-table {
padding: 20px; color: #333;
display: flex; }
flex-flow: column; .medicine {
.el-table__body tr.current-row > td.el-table__cell { background-color: #f56c6c;
background-color: rgb(2, 131, 187); color: #fff;
color: #fff; }
} .el-table__body tr.hover-row > td.el-table__cell {
.el-table { background-color: #f5f7fa;
color: #333; color: #333;
} }
.medicine { .el-table__body tr.hover-row > td.medicine {
background-color: #f56c6c; background-color: #f56c6c;
color: #fff; color: #fff;
} }
.el-table__body tr.hover-row > td.el-table__cell { .el-table__body tr.current-row > td.medicine {
background-color: #f5f7fa; background-color: #f56c6c;
color: #333; color: #fff;
}
.el-table__body tr.hover-row > td.medicine {
background-color: #f56c6c;
color: #fff;
}
.el-table__body tr.current-row > td.medicine {
background-color: #f56c6c;
color: #fff;
}
} }
}
} }
</style> </style>
<template>
<div class="patientinfo">
<div style="height: 30px; background-color: #0283bb"></div>
<div class="main">
<div class="">
<div class="flex-start-center">
<div
class="flex-start-center mar-right-10"
v-for="(value, key, index) in obj"
:key="index"
>
<span
class="mar-right-10"
style="width: 12px; height: 12px"
:style="{ background: value }"
></span>
<span class="color-666 font-14">{{ key }}</span>
</div>
</div>
<div class="flex-between mar-top-15">
<div>
<div class="mar-bottom-10">
<el-input
size="mini"
class="mar-right-10"
v-model.trim="a48"
style="width: 160px"
placeholder="请输入病案号/住院号"
clearable
@clear="search"
@keyup.enter.native="search"
>
</el-input>
<el-input
size="mini"
class="mar-right-10"
v-model.trim="a11"
style="width: 160px"
placeholder="请输入患者姓名"
clearable
@clear="search"
@keyup.enter.native="search"
>
</el-input>
<el-select
size="mini"
class="mar-right-10"
v-model.trim="b16C"
filterable
style="width: 160px"
placeholder="当前科室"
clearable
@clear="search"
>
<el-option
v-for="item in deptList"
:key="item.deptCode"
:label="item.deptName"
:value="item.deptCode"
>
</el-option>
</el-select>
<el-select
v-model="isout"
placeholder="是否出院"
size="mini"
class="mar-right-10"
clearable
style="width: 160px"
@clear="search"
>
<el-option label="未出院" :value="0"> </el-option>
<el-option label="已出院" :value="1"> </el-option>
<el-option label="已结算" :value="2"> </el-option>
</el-select>
<el-select
v-model="insuranceType"
placeholder="支付类型"
size="mini"
class="mar-right-10"
clearable
style="width: 160px"
@clear="search"
>
<el-option label="本地职工" :value="1"> </el-option>
<el-option label="异地职工" :value="2"> </el-option>
<el-option label="本地居民" :value="3"> </el-option>
<el-option label="异地居民" :value="4"> </el-option>
<el-option label="自费" :value="5"> </el-option>
<el-option label="未填写" :value="0"> </el-option>
</el-select>
<span class="font-14 color-999">入院时间:</span>
<el-select
v-model="currentDate"
placeholder="当前年月"
size="mini"
class="mar-right-10"
clearable
style="width: 100px"
@change="handleCurrentDateChange"
>
<el-option label="当前年" :value="1"> </el-option>
<el-option label="当前月" :value="2"> </el-option>
</el-select>
<el-date-picker
v-model="time"
size="mini"
style="width: 210px"
type="daterange"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
class="mar-right-10"
@change="search"
range-separator="至"
start-placeholder="入院日期"
end-placeholder="结束日期"
>
</el-date-picker>
</div>
<div>
<el-input
size="mini"
class="mar-right-10"
v-model.trim="doctorName"
style="width: 160px"
placeholder="请输入主治医生"
clearable
@clear="search"
@keyup.enter.native="search"
>
</el-input>
<el-input
size="mini"
class="mar-right-10"
v-model.trim="codeName"
style="width: 160px"
placeholder="请输入分组编码/分组名称"
clearable
@clear="search"
@keyup.enter.native="search"
>
</el-input>
<el-select
v-model="dis_type"
placeholder="请选择倍率"
size="mini"
class="mar-right-10"
clearable
style="width: 160px"
@clear="search"
>
<el-option label="高倍率病例" value="高倍率病例"> </el-option>
<el-option label="正常病例" value="正常病例"> </el-option>
<el-option label="低倍率病例" value="低倍率病例"> </el-option>
</el-select>
<el-select
v-model="isjoin"
placeholder="分组状态"
size="mini"
class="mar-right-10"
clearable
style="width: 160px"
@clear="search"
>
<el-option label="已分组" :value="1"> </el-option>
<el-option label="未分组" :value="0"> </el-option>
</el-select>
<el-select
v-model="shzt"
placeholder="审核状态"
size="mini"
class="mar-right-10"
clearable
style="width: 160px"
@clear="search"
>
<el-option label="已审核" value="已审"> </el-option>
<el-option label="未审核" value="未审"> </el-option>
</el-select>
<span class="font-14 color-999">结算时间:</span>
<el-select
v-model="currentDate1"
placeholder="当前年月"
size="mini"
class="mar-right-10"
clearable
style="width: 100px"
@change="handleCurrentDateChange1"
>
<el-option label="当前年" :value="1"> </el-option>
<el-option label="当前月" :value="2"> </el-option>
</el-select>
<el-date-picker
v-model="time1"
size="mini"
style="width: 210px"
type="daterange"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
class="mar-right-10"
@change="search"
range-separator="至"
start-placeholder="结算日期"
end-placeholder="结束日期"
>
</el-date-picker>
</div>
</div>
<div>
<el-button
type="primary"
style="
background: rgb(2, 131, 187);
border-color: rgb(2, 131, 187);
"
size="mini"
slot="append"
icon="el-icon-search"
@click="search"
>查询</el-button
>
<el-button
type="primary"
style="
background: rgb(2, 131, 187);
border-color: rgb(2, 131, 187);
"
size="mini"
slot="append"
icon="el-icon-download"
@click="downLoad"
>下载</el-button
>
<el-button
v-if="link"
type="primary"
style="
background: rgb(2, 131, 187);
border-color: rgb(2, 131, 187);
"
size="mini"
slot="append"
icon="el-icon-link"
@click="openLink"
>更多报表</el-button
>
</div>
</div>
</div>
<div class="table flex-1 mar-top-15">
<el-table
border
ref="tableRef"
height="93%"
:data="tableData"
size="mini"
:highlight-current-row="true"
:cell-class-name="cellName"
>
<el-table-column
align="center"
type="index"
width="50"
fixed="left"
></el-table-column>
<el-table-column
label="同步更新"
align="center"
min-width="80"
show-overflow-tooltip
fixed="left"
>
<template #default="scope">
<i
class="el-icon-refresh font-16 cursor"
@click.stop="SetInjoinAgain(scope.row.id)"
></i>
</template>
</el-table-column>
<el-table-column
prop="fee_consume"
label="费用消耗比例"
sortable
align="center"
min-width="120"
show-overflow-tooltip
fixed="left"
></el-table-column>
<el-table-column
prop="regcode"
label="住院号"
sortable
align="center"
min-width="120"
show-overflow-tooltip
fixed="left"
>
<template #default="scope">
<!-- 正常病例 低倍率病例 高倍率病例 dis_type-->
<div class="flex-center-center">
<span
class="mar-right-10"
style="width: 12px; height: 12px"
:style="{ background: obj[scope.row.dis_type] }"
></span>
<span>{{ scope.row.regcode }}</span>
</div>
</template>
</el-table-column>
<el-table-column
prop="a49"
label="住院次数"
sortable
align="center"
min-width="120"
show-overflow-tooltip
fixed="left"
>
</el-table-column>
<el-table-column
prop="name"
label="姓名"
sortable
align="center"
min-width="120"
show-overflow-tooltip
fixed="left"
></el-table-column>
<el-table-column
prop="inhostime"
label="入院日期"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
<template #default="scope">
<span>{{
scope.row.inhostime ? formatYMD(scope.row.inhostime) : ''
}}</span>
</template>
</el-table-column>
<el-table-column
prop="outhostime"
label="出院日期"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
<template #default="scope">
<span>{{
scope.row.outhostime ? formatYMD(scope.row.outhostime) : ''
}}</span>
</template>
</el-table-column>
<el-table-column
prop="indeptname"
label="当前科室"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="doctorname"
label="主治医生"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="inhosdays"
label="住院天数"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="isjoin"
label="是否出院"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<!-- <el-table-column
prop="isbasiclevel"
label="是否基层病种"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column> -->
<el-table-column
prop="total_fee"
label="住院总费用"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
<template #default="scope">
<span>{{ decimal(scope.row.total_fee) }}</span>
</template>
</el-table-column>
<el-table-column
prop="self_payment"
label="结算后自付费用"
sortable
align="center"
min-width="130"
show-overflow-tooltip
>
<template #default="scope">
<span>{{ decimal(scope.row.self_payment) }}</span>
</template>
</el-table-column>
<el-table-column
prop="self_payment_proportion"
label="自付占比"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="medical_payment"
label="医保类型"
sortable
align="center"
min-width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop="discode"
label="分组编码"
sortable
align="center"
width="250"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="disname"
label="分组名称"
sortable
align="center"
min-width="180"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="rw"
label="实际分值"
sortable
align="center"
min-width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop="standardrw"
label="标准分值"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<!-- <el-table-column
label="二级医院标准分值"
sortable
align="center"
min-width="160"
show-overflow-tooltip
>
<template #default="scope">
<span>{{
scope.row.isbasiclevel == '是'
? scope.row.standardrw
: decimal(scope.row.standardrw * 0.8)
}}</span>
</template>
</el-table-column> -->
<el-table-column
prop="medactalfee"
label="预计DIP支付费用"
sortable
align="center"
min-width="140"
show-overflow-tooltip
>
<template #default="scope">
<span>{{ decimal(scope.row.medactalfee) }}</span>
</template>
</el-table-column>
<el-table-column
prop="medical_insurance_balance"
label="预计DIP结余"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
<template #default="scope">
<span>{{ decimal(scope.row.medical_insurance_balance) }}</span>
</template>
</el-table-column>
<el-table-column
prop="dis_type"
label="病例类型"
sortable
align="center"
min-width="120"
show-overflow-tooltip
></el-table-column>
<!-- <el-table-column prop="county_Medicine_Fee" label="县级药品费用" sortable align="center" min-width="120" show-overflow-tooltip>
<template #default="scope">
<span>{{ decimal(scope.row.county_Medicine_Fee) }}</span>
</template>
</el-table-column>
<el-table-column prop="medicine_Fee" label="药品费用" sortable align="center" min-width="120" show-overflow-tooltip>
<template #default="scope">
<span>{{ decimal(scope.row.medicine_Fee) }}</span>
</template>
</el-table-column> -->
<el-table-column
prop="drug_proportion"
label="药品"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<!-- <el-table-column
prop="county_Material_Fee"
label="县级耗材费用"
sortable
align="center"
min-width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column prop="material_Fee" label="耗材费用" sortable align="center" min-width="120" show-overflow-tooltip></el-table-column> -->
<el-table-column
prop="consumables_proportion"
label="耗材"
sortable
align="center"
min-width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop="laboratory_proportion"
label="检验检查"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="medical_proportion"
label="医务性收入"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="jssj"
label="结算日期"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
<template #default="scope">
<span>{{ scope.row.jssj ? formatYMD(scope.row.jssj) : '' }}</span>
</template>
</el-table-column>
<!-- <el-table-column
prop="shzt"
label="审核状态"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column> -->
</el-table>
</div>
<div class="flex-end mar-top-20">
<el-pagination
background
layout="total, sizes, prev, pager, next, jumper"
:hide-on-single-page="false"
:total="totalCount"
:page-size="pageSize"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
>
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import http from '../utils/http'
import { decimal } from '../utils/decimal'
import dayjs from 'dayjs'
import { Message } from 'element-ui'
export default {
name: 'patientinfo',
data() {
return {
time: '',
time1: '',
pageNumber: 1,
pageSize: 100,
a48: '',
a11: '',
b16C: '',
isjoin: null,
currentDate: null,
currentDate1: null,
isout: null,
insuranceType: null,
doctorName: '',
codeName: '',
dis_type: '',
shzt: '',
obj: {
正常病例: '#22d016',
低倍率病例: '#e9c622',
高倍率病例: '#ff7e00'
},
tableData: [],
totalCount: 0,
deptList: []
}
},
beforeMount() {},
mounted() {
this.time = [
`${dayjs().format('YYYY-MM')}-01`,
`${dayjs().format('YYYY-MM')}-${this.getDayNumByYearMonth(
dayjs().format('YYYY'),
dayjs().format('MM')
)}`
]
this.GetDeptList()
},
computed: {
link() {
return window.webConfig.diseLink
}
},
methods: {
decimal,
formatYMD(t) {
return dayjs(t).format('YYYY-MM-DD')
},
getDayNumByYearMonth(year, month) {
switch (month) {
case '01':
case '03':
case '05':
case '07':
case '08':
case '10':
case '12':
return 31
case '04':
case '06':
case '09':
case '11':
return 30
case '02':
return this.isLeapYear(year) ? 29 : 28
}
},
isLeapYear(year) {
if (year / 4 == 0 && year / 100 != 0) {
return true
} else if (year / 400 == 0) {
return true
} else {
return false
}
},
cellName({ row, columnIndex }) {
if (row.medicine_Fee > row.county_Medicine_Fee && columnIndex == 26) {
return 'medicine'
}
if (row.material_Fee > row.county_Material_Fee && columnIndex == 29) {
return 'medicine'
}
},
downLoad() {
let parmar = {
pageNumber: this.pageNumber,
pageSize: this.pageSize,
a48: this.a48,
a11: this.a11,
b16C: this.b16C,
beginDate: this.time ? this.time[0] : '',
endDate: this.time ? this.time[1] : '',
isjoin: this.isjoin,
isout: this.isout,
doctorName: this.doctorName,
codeName: this.codeName,
dis_type: this.dis_type,
insuranceType: this.insuranceType,
jssjBeginDate: this.time1 ? this.time1[0] : '',
jssjEndDate: this.time1 ? this.time1[1] : '',
shzt: this.shzt
}
http
.post(`/screen/hos/GetHistoryListExcelDownload`, parmar, {
responseType: 'blob'
})
.then((data) => {
const link = document.createElement('a')
const blob = new Blob([data], { type: 'application/vnd.ms-excel' })
link.style.display = 'none'
link.href = URL.createObjectURL(blob)
link.setAttribute('download', `病案数据详情.xlsx`)
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
})
},
openLink() {
http.post(`/account/reporter`, {}).then((data) => {
var url = this.link + '?key=' + data
window.open(url, '_blank')
})
},
//查询
search() {
this.pageSize = 100
this.pageNumber = 1
this.getList()
},
//获取频率,频率的下拉数据
getList() {
let parmar = {
pageNumber: this.pageNumber,
pageSize: this.pageSize,
a48: this.a48,
a11: this.a11,
b16C: this.b16C,
beginDate: this.time ? this.time[0] : '',
endDate: this.time ? this.time[1] : '',
isjoin: this.isjoin,
isout: this.isout,
doctorName: this.doctorName,
codeName: this.codeName,
dis_type: this.dis_type,
insuranceType: this.insuranceType,
jssjBeginDate: this.time1 ? this.time1[0] : '',
jssjEndDate: this.time1 ? this.time1[1] : '',
shzt: this.shzt
}
http
.post(`/screen/hos/GetHistoryList`, parmar)
.then((data) => {
this.tableData = data.list
this.totalCount = data.totalCount
this.$nextTick(() => {
this.$refs.tableRef.doLayout()
})
})
.catch(() => {})
},
GetDeptList() {
http
.get(`/screen/hos/GetDeptList`, {})
.then((data) => {
this.deptList = data
const deptName = this.$route.query.deptName
if (deptName && data && data.length) {
const item = data.find((w) => w.deptName == deptName)
this.b16C = item.deptCode
}
this.getList()
})
.catch(() => {
this.getList()
})
},
SetInjoinAgain(id) {
http
.post(`/screen/screen/SetInjoinAgain?id=${id}`, {})
.then(() => {
Message.success('同步成功')
this.getList()
})
.catch(() => {
this.getList()
})
},
handleCurrentChange(val) {
this.pageNumber = val
this.getList()
},
handleSizeChange(val) {
this.pageSize = val
this.getList()
},
handleCurrentDateChange() {
if (this.currentDate === 1) {
this.time = [
`${dayjs().format('YYYY')}-01-01`,
`${dayjs().format('YYYY')}-12-31`
]
} else if (this.currentDate === 2) {
this.time = [
`${dayjs().format('YYYY-MM')}-01`,
`${dayjs().format('YYYY-MM')}-${this.getDayNumByYearMonth(
dayjs().format('YYYY'),
dayjs().format('MM')
)}`
]
}
this.search()
},
handleCurrentDateChange1() {
if (this.currentDate1 === 1) {
this.time1 = [
`${dayjs().format('YYYY')}-01-01`,
`${dayjs().format('YYYY')}-12-31`
]
} else if (this.currentDate1 === 2) {
this.time1 = [
`${dayjs().format('YYYY-MM')}-01`,
`${dayjs().format('YYYY-MM')}-${this.getDayNumByYearMonth(
dayjs().format('YYYY'),
dayjs().format('MM')
)}`
]
}
this.search()
}
}
}
</script>
<style lang="scss">
.patientinfo {
height: 100%;
display: flex;
flex-flow: column;
background-color: white;
overflow: hidden;
position: relative;
.main {
flex: 1;
padding: 20px;
display: flex;
flex-flow: column;
.el-table__body tr.current-row > td.el-table__cell {
background-color: rgb(2, 131, 187);
color: #fff;
}
.el-table {
color: #333;
}
.medicine {
background-color: #f56c6c;
color: #fff;
}
.el-table__body tr.hover-row > td.el-table__cell {
background-color: #f5f7fa;
color: #333;
}
.el-table__body tr.hover-row > td.medicine {
background-color: #f56c6c;
color: #fff;
}
.el-table__body tr.current-row > td.medicine {
background-color: #f56c6c;
color: #fff;
}
}
}
</style>
This source diff could not be displayed because it is too large. You can view the blob instead.
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