Commit 6f15b642 by Licx

新增患者详情(通用版),添加病例监控按钮

parent d12187db
...@@ -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", path: '/relationMapping',
component: (resolve) => require(["@/views/relationMapping.vue"], resolve), component: (resolve) => require(['@/views/relationMapping.vue'], resolve)
}, },
{ {
path: "/clinicalLog", path: '/clinicalLog',
component: (resolve) => require(["@/views/clinicalLog.vue"], resolve), component: (resolve) => require(['@/views/clinicalLog.vue'], resolve)
}, },
{ {
path: "/patientinfo", path: '/patientinfo',
component: (resolve) => require(["@/views/patientinfo.vue"], resolve), component: (resolve) => require(['@/views/patientinfo.vue'], resolve)
}, },
], {
path: '/patientinfo2',
component: (resolve) => require(['@/views/patientinfo2.vue'], resolve)
}
]
// mode: 'history' /*hash*/ /*不显示路由中的#*/ // mode: 'history' /*hash*/ /*不显示路由中的#*/
}); })
//路由跳转前判断(登录权限) //路由跳转前判断(登录权限)
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
next(); next()
}); })
export default router; export default router
...@@ -9,11 +9,28 @@ ...@@ -9,11 +9,28 @@
<!-- 智能分组 --> <!-- 智能分组 -->
<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 class="outsetgrouping_button_Searchbtn" style="margin-left: 10px" size="mini" type="primary" @click="topage1">病案质控</el-button> <el-button
<el-button class="outsetgrouping_button_Searchbtn" type="primary" size="mini" @click="toPage"> class="outsetgrouping_button_Searchbtn"
style="margin-left: 10px"
size="mini"
type="primary"
@click="topage1"
>病案质控</el-button
>
<el-button
class="outsetgrouping_button_Searchbtn"
type="primary"
size="mini"
@click="toPage"
>
<span class="s2">费用监控</span> <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">
...@@ -24,39 +41,53 @@ ...@@ -24,39 +41,53 @@
<div class="outsetgrouping_top"> <div class="outsetgrouping_top">
<div class="outsetgrouping_top_message"> <div class="outsetgrouping_top_message">
<div class="outsetgrouping_top_message_left"> <div class="outsetgrouping_top_message_left">
<span class="outsetgrouping_top_message_left_tu1"><img src="../assets/img/peo.png" alt="" /> </span> <span class="outsetgrouping_top_message_left_tu1"
><img src="../assets/img/peo.png" alt="" />
</span>
<div class="outsetgrouping_top_message_left_t1"> <div class="outsetgrouping_top_message_left_t1">
住院号:<span>{{ casehisObj ? casehisObj.a48 : "" }}</span> 住院号:<span>{{ casehisObj ? casehisObj.a48 : '' }}</span>
</div> </div>
</div> </div>
<div class="outsetgrouping_top_message_left"> <div class="outsetgrouping_top_message_left">
<span class="outsetgrouping_top_message_left_tu1"><img src="../assets/img/peo.png" alt="" /> </span> <span class="outsetgrouping_top_message_left_tu1"
><img src="../assets/img/peo.png" alt="" />
</span>
<div class="outsetgrouping_top_message_left_t1"> <div class="outsetgrouping_top_message_left_t1">
姓名:<span>{{ casehisObj ? casehisObj.a11 : "" }}</span> 姓名:<span>{{ casehisObj ? casehisObj.a11 : '' }}</span>
</div> </div>
</div> </div>
<div class="outsetgrouping_top_message_centert"> <div class="outsetgrouping_top_message_centert">
<span class="outsetgrouping_top_message_centert_tu2"><img src="../assets/img/ka.png" alt="" /></span> <span class="outsetgrouping_top_message_centert_tu2"
><img src="../assets/img/ka.png" alt=""
/></span>
<div class="outsetgrouping_top_message_centert_t2"> <div class="outsetgrouping_top_message_centert_t2">
住院次数:<span>{{ casehisObj ? casehisObj.a49 : "" }}</span> 住院次数:<span>{{ casehisObj ? casehisObj.a49 : '' }}</span>
</div> </div>
</div> </div>
<div class="outsetgrouping_top_message_centert"> <div class="outsetgrouping_top_message_centert">
<span class="outsetgrouping_top_message_centert_tu2"><img src="../assets/img/ka.png" alt="" /></span> <span class="outsetgrouping_top_message_centert_tu2"
><img src="../assets/img/ka.png" alt=""
/></span>
<div class="outsetgrouping_top_message_centert_t2"> <div class="outsetgrouping_top_message_centert_t2">
实际住院天数:<span>{{ casehisObj ? casehisObj.b20 : "" }}</span> 实际住院天数:<span>{{ casehisObj ? casehisObj.b20 : '' }}</span>
</div> </div>
</div> </div>
<div class="outsetgrouping_top_message_right"> <div class="outsetgrouping_top_message_right">
<span class="outsetgrouping_top_message_right_tu3"><img src="../assets/img/qian.png" alt="" /></span> <span class="outsetgrouping_top_message_right_tu3"
><img src="../assets/img/qian.png" alt=""
/></span>
<div class="outsetgrouping_top_message_right_t3"> <div class="outsetgrouping_top_message_right_t3">
医疗付费方式:<span>{{ casehisObj ? casehisObj.a46C : "" }}</span> 医疗付费方式:<span>{{ casehisObj ? casehisObj.a46C : '' }}</span>
</div> </div>
</div> </div>
<div class="outsetgrouping_top_message_blow"> <div class="outsetgrouping_top_message_blow">
<span class="outsetgrouping_top_message_blow_tu7"><img src="../assets/img/daoru.png" alt="" /></span> <span class="outsetgrouping_top_message_blow_tu7"
><img src="../assets/img/daoru.png" alt=""
/></span>
<div class="outsetgrouping_top_message_blow_t4"> <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>
...@@ -64,15 +95,19 @@ ...@@ -64,15 +95,19 @@
<div class="outsetgrouping_top2"> <div class="outsetgrouping_top2">
<div class="outsetgrouping_top2_message"> <div class="outsetgrouping_top2_message">
<div class="outsetgrouping_top2_message_left"> <div class="outsetgrouping_top2_message_left">
<span class="outsetgrouping_top2_message_left_tu4"><img src="../assets/img/bianma.png" alt="" /> </span> <span class="outsetgrouping_top2_message_left_tu4"
><img src="../assets/img/bianma.png" alt="" />
</span>
<div class="outsetgrouping_top2_message_left_t1"> <div class="outsetgrouping_top2_message_left_t1">
分组编码:<span>{{ casehisObj ? casehisObj.drgs.code : "" }}</span> 分组编码:<span>{{ casehisObj ? casehisObj.drgs.code : '' }}</span>
</div> </div>
</div> </div>
<div class="outsetgrouping_top2_message_right"> <div class="outsetgrouping_top2_message_right">
<span class="outsetgrouping_top2_message_centert_tu5"><img src="../assets/img/daoru.png" alt="" /></span> <span class="outsetgrouping_top2_message_centert_tu5"
><img src="../assets/img/daoru.png" alt=""
/></span>
<div class="outsetgrouping_top2_message_centert_t2"> <div class="outsetgrouping_top2_message_centert_t2">
分组名称:<span>{{ casehisObj ? casehisObj.drgs.name : "" }}</span> 分组名称:<span>{{ casehisObj ? casehisObj.drgs.name : '' }}</span>
</div> </div>
</div> </div>
<!-- <div class="outsetgrouping_top2_message_right"> <!-- <div class="outsetgrouping_top2_message_right">
...@@ -101,13 +136,22 @@ ...@@ -101,13 +136,22 @@
<span class="outsetgrouping_title_span">智能疾病分组</span> <span class="outsetgrouping_title_span">智能疾病分组</span>
</div> </div>
<div class="outsetgrouping_centent"> <div class="outsetgrouping_centent">
<div class="outsetgrouping_centent_totalnum" v-for="(item, index) in CorePercents" :key="index"> <div
class="outsetgrouping_centent_totalnum"
v-for="(item, index) in CorePercents"
:key="index"
>
<div class="outsetgrouping_centent_totalnum_left"> <div class="outsetgrouping_centent_totalnum_left">
<div class="outsetgrouping_centent_totalnum_left_radios"> <div class="outsetgrouping_centent_totalnum_left_radios">
<!-- <input type="radio" name="radios" v-model="radio" /> --> <!-- <input type="radio" name="radios" v-model="radio" /> -->
<!-- <input type="radio" name="radios" :value="item.id" @click="radios" /> --> <!-- <input type="radio" name="radios" :value="item.id" @click="radios" /> -->
<el-button class="outsetgrouping_button_Submitbtn" size="mini" type="primary" @click="submit(item.coreID)"> <el-button
class="outsetgrouping_button_Submitbtn"
size="mini"
type="primary"
@click="submit(item.coreID)"
>
<span class="iconfont icon-ipr_tijiao"></span> <span class="iconfont icon-ipr_tijiao"></span>
<span class="s2">分组提交</span> <span class="s2">分组提交</span>
</el-button> </el-button>
...@@ -115,19 +159,27 @@ ...@@ -115,19 +159,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>
...@@ -205,28 +257,32 @@ ...@@ -205,28 +257,32 @@
</div> </div>
<!-- 病案分组 --> <!-- 病案分组 -->
<!-- 弹出层 --> <!-- 弹出层 -->
<el-dialog center :visible.sync="addrecordEnrollmentShow" :before-close="closeDialog" :fullscreen="true"> <el-dialog
center
:visible.sync="addrecordEnrollmentShow"
:before-close="closeDialog"
:fullscreen="true"
>
<diagList :code="casehisObj" :isshow="addrecordEnrollmentShow"></diagList> <diagList :code="casehisObj" :isshow="addrecordEnrollmentShow"></diagList>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { decimal } from "../utils/decimal"; 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',
components: { diagList }, components: { diagList },
data() { data() {
return { return {
abc: "", abc: '',
casehisObj: null, casehisObj: null,
searchForm: { searchForm: {
diagName: "", diagName: '',
opsName: "", opsName: ''
}, },
CorePercents: [], CorePercents: [],
coreID: 0, coreID: 0,
...@@ -243,8 +299,8 @@ export default { ...@@ -243,8 +299,8 @@ export default {
opsMapList: null, //医保手术编码集合 opsMapList: null, //医保手术编码集合
outaddsearchForm: { outaddsearchForm: {
diagName: "", diagName: '',
opsName: "", opsName: ''
}, },
addCorePercents: [], addCorePercents: [],
addnolistShow: true, //没有搜索数据的时候显示 addnolistShow: true, //没有搜索数据的时候显示
...@@ -256,76 +312,76 @@ export default { ...@@ -256,76 +312,76 @@ export default {
// 性别选择器 // 性别选择器
sexoptions: [ sexoptions: [
{ {
label: "未知", label: '未知',
value: "0", value: '0'
}, },
{ {
label: "男", label: '男',
value: "1", value: '1'
}, },
{ {
label: "女", label: '女',
value: "2", value: '2'
}, }
], ],
//离院方式选择器 //离院方式选择器
leaveoptions: [ leaveoptions: [
{ {
label: "医嘱离院", label: '医嘱离院',
value: "1", value: '1'
}, },
{ {
label: "医嘱转院", label: '医嘱转院',
value: "2", value: '2'
}, },
{ {
label: "医嘱转社区卫生服务机构/乡镇卫生院", label: '医嘱转社区卫生服务机构/乡镇卫生院',
value: "3", value: '3'
}, },
{ {
label: "非医嘱离院", label: '非医嘱离院',
value: "4", value: '4'
}, },
{ {
label: "死亡", label: '死亡',
value: "5", value: '5'
}, },
{ {
label: "其他", label: '其他',
value: "9", value: '9'
}, }
], ],
//性别输入框 //性别输入框
sexvalue: "0", sexvalue: '0',
//年龄 岁 //年龄 岁
ageinput: "0", ageinput: '0',
//年龄 天 //年龄 天
ageinput2: "0", ageinput2: '0',
//icu时长 //icu时长
icuinput: "0", icuinput: '0',
//离院方式 //离院方式
leavevalue: "1", leavevalue: '1',
otdiagName: "", //其他诊断 otdiagName: '', //其他诊断
otopsName: "", //其他手术 otopsName: '', //其他手术
zdoptions: [], //诊断的数据 zdoptions: [], //诊断的数据
otzdoptions: [], //其他诊断数据 otzdoptions: [], //其他诊断数据
ssoptions: [], //主手术 ssoptions: [], //主手术
otssoptions: [], //其他手术 otssoptions: [], //其他手术
diagList: [], //诊断 diagList: [], //诊断
opsList: [], //手术 opsList: [] //手术
}; }
}, },
async mounted() { async mounted() {
this.getCaseHis(this.$route.query.id); this.getCaseHis(this.$route.query.id)
}, },
methods: { methods: {
decimal, decimal,
goback() { goback() {
this.$router.go(-1); this.$router.go(-1)
}, },
//疾病查询 //疾病查询
gosear() { gosear() {
this.addrecordEnrollmentShow = true; this.addrecordEnrollmentShow = true
// this.outaddsearchForm = { // this.outaddsearchForm = {
// diagName: this.casehisObj.c03C || "", // diagName: this.casehisObj.c03C || "",
// }; // };
...@@ -333,47 +389,52 @@ export default { ...@@ -333,47 +389,52 @@ export default {
}, },
//获取基本数据 //获取基本数据
getCaseHis(code) { getCaseHis(code) {
http.post(`/medical/Get/casehisData?id=${code}`, {}) http
.post(`/medical/Get/casehisData?id=${code}`, {})
.then((data) => { .then((data) => {
this.casehisObj = data; this.casehisObj = data
this.diagMapList = data.diagMapList; this.diagMapList = data.diagMapList
this.opsMapList = data.opsMapList; this.opsMapList = data.opsMapList
this.getlist(); this.getlist()
}) })
.catch((error) => {}); .catch(() => {})
}, },
//获取列表数据 //获取列表数据
getlist() { getlist() {
http.post(`/medical/get/GetCorePercents`, { http
.post(`/medical/get/GetCorePercents`, {
Type: 1, Type: 1,
DiagMapList: this.diagMapList, DiagMapList: this.diagMapList,
OpsMapList: this.opsMapList, OpsMapList: this.opsMapList,
id: this.$route.query.id, id: this.$route.query.id
}) })
.then((data) => { .then((data) => {
this.CorePercents = data.list; this.CorePercents = data.list
if (this.CorePercents.length == 0) { if (this.CorePercents.length == 0) {
this.nolistShow = true; this.nolistShow = true
// this.nodataShow = false; // this.nodataShow = false;
} }
}) })
.catch((error) => {}); .catch(() => {})
}, },
//提交 //提交
submit(coreID) { submit(coreID) {
http.post(`/medical/Update/casehisById?PatientId=${this.$route.query.id}&coreid=${coreID}`) http
.post(
`/medical/Update/casehisById?PatientId=${this.$route.query.id}&coreid=${coreID}`
)
.then((data) => { .then((data) => {
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() {
this.addrecordEnrollmentShow = false; this.addrecordEnrollmentShow = false
// this.outaddsearchForm = { // this.outaddsearchForm = {
// diagName: "", // diagName: "",
// opsName: "", // opsName: "",
...@@ -382,55 +443,59 @@ export default { ...@@ -382,55 +443,59 @@ export default {
}, },
//清空输入框的值时触发 //清空输入框的值时触发
addclear() { addclear() {
this.addCorePercents = []; this.addCorePercents = []
this.addnodataShow = true; this.addnodataShow = true
}, },
//获取诊断数据 //获取诊断数据
remoteMethod(query) { remoteMethod(query) {
if (query) { if (query) {
http.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${1}`, {}) http
.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${1}`, {})
.then((data) => { .then((data) => {
this.zdoptions = data; this.zdoptions = data
}) })
.catch((error) => {}); .catch(() => {})
} else { } else {
this.zdoptions = []; this.zdoptions = []
} }
}, },
//获取其他诊断数据 //获取其他诊断数据
otremoteMethod(query) { otremoteMethod(query) {
if (query) { if (query) {
http.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${1}`, {}) http
.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${1}`, {})
.then((data) => { .then((data) => {
this.otzdoptions = data; this.otzdoptions = data
}) })
.catch((error) => {}); .catch(() => {})
} else { } else {
this.zdoptions = []; this.zdoptions = []
} }
}, },
//获取主手术,其他手术的数据 //获取主手术,其他手术的数据
ssremoteMethod(query) { ssremoteMethod(query) {
if (query) { if (query) {
http.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${2}`, {}) http
.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${2}`, {})
.then((data) => { .then((data) => {
this.ssoptions = data; this.ssoptions = data
}) })
.catch((error) => {}); .catch(() => {})
} else { } else {
this.zdoptions = []; this.zdoptions = []
} }
}, },
//获取其他手术的数据 //获取其他手术的数据
otssremoteMethod(query) { otssremoteMethod(query) {
if (query) { if (query) {
http.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${2}`, {}) http
.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${2}`, {})
.then((data) => { .then((data) => {
this.otssoptions = data; this.otssoptions = data
}) })
.catch((error) => {}); .catch(() => {})
} else { } else {
this.zdoptions = []; this.zdoptions = []
} }
}, },
//查询 //查询
...@@ -439,35 +504,36 @@ export default { ...@@ -439,35 +504,36 @@ export default {
if (this.outaddsearchForm.diagName) { if (this.outaddsearchForm.diagName) {
this.diagList.push({ this.diagList.push({
diagCode: this.outaddsearchForm.diagName, diagCode: this.outaddsearchForm.diagName,
diagOrder: "0", diagOrder: '0'
}); })
} }
if (!this.outaddsearchForm.diagName) { if (!this.outaddsearchForm.diagName) {
Message.warning("请输入主诊断"); Message.warning('请输入主诊断')
return; return
} }
this.addgetlist(); this.addgetlist()
}, },
//获取列表数据 //获取列表数据
addgetlist() { addgetlist() {
http.post(`/medical/post/GetCorePercentsByAssemble`, { http
a14: this.ageinput ? this.ageinput : "0", // 年龄 .post(`/medical/post/GetCorePercentsByAssemble`, {
a16: this.ageinput2 ? this.ageinput2 : "0", // 年龄不足一周岁(天) a14: this.ageinput ? this.ageinput : '0', // 年龄
a16: this.ageinput2 ? this.ageinput2 : '0', // 年龄不足一周岁(天)
a12C: this.sexvalue, // 性别 a12C: this.sexvalue, // 性别
icuTime: this.icuinput ? this.icuinput : "0", // icu总时长(分钟) icuTime: this.icuinput ? this.icuinput : '0', // icu总时长(分钟)
b34C: this.leavevalue, // 离院方式 b34C: this.leavevalue, // 离院方式
diagList: this.diagList, // 诊断集合 diagList: this.diagList, // 诊断集合
opsList: this.opsList, // 手术集合 opsList: this.opsList // 手术集合
}) })
.then((data) => { .then((data) => {
this.addCorePercents = data; this.addCorePercents = data
if (this.addCorePercents.length == 0) { if (this.addCorePercents.length == 0) {
this.addnolistShow = true; this.addnolistShow = true
} else { } else {
this.addnolistShow = false; this.addnolistShow = false
} }
this.diagList = []; this.diagList = []
this.opsList = []; this.opsList = []
// this.totalCount = data.totalCount; // this.totalCount = data.totalCount;
// for (var i = 0; i < this.addCorePercents.length; i++) { // for (var i = 0; i < this.addCorePercents.length; i++) {
// this.$nextTick(() => { // this.$nextTick(() => {
...@@ -480,16 +546,18 @@ export default { ...@@ -480,16 +546,18 @@ 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(
console.log(_this.coreID); (item) => item.id == this.value
console.log(this.value); ).coreID
}); console.log(_this.coreID)
console.log(this.value)
})
// console.log(e); // console.log(e);
// this.radio = e.target.value; // this.radio = e.target.value;
// this.coreID = this.CorePercents.find((item) => item.id == e.target.value).coreID; // this.coreID = this.CorePercents.find((item) => item.id == e.target.value).coreID;
...@@ -497,27 +565,29 @@ export default { ...@@ -497,27 +565,29 @@ export default {
}, },
toPage() { toPage() {
http.get(`/medical/get/JumpHisMAInfo?id=${this.$route.query.id}`, {}) http
.get(`/medical/get/JumpHisMAInfo?id=${this.$route.query.id}`, {})
.then((data) => { .then((data) => {
window.open(data.message); window.open(data.message)
}) })
.catch((error) => { .catch((error) => {
console.log(error); console.log(error)
}); })
}, },
topage1() { topage1() {
http.get(`/medical/get/JumpHisRules?id=${this.$route.query.id}`, {}) http
.get(`/medical/get/JumpHisRules?id=${this.$route.query.id}`, {})
.then((data) => { .then((data) => {
window.open(data.message); window.open(data.message)
}) })
.catch((error) => {}); .catch(() => {})
}, }
}, }
}; }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "../styles/mixin.scss"; @import '../styles/mixin.scss';
@import "../styles/outHistorygrouping.scss"; @import '../styles/outHistorygrouping.scss';
.outsetgrouping { .outsetgrouping {
height: 900px; height: 900px;
background-color: white; background-color: white;
...@@ -1746,7 +1816,7 @@ export default { ...@@ -1746,7 +1816,7 @@ export default {
} }
} }
} }
input[type="radio" i] { input[type='radio' i] {
width: 16px; width: 16px;
height: 16px; height: 16px;
} }
......
...@@ -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="$router.push('patientinfo2')"
>
<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,7 @@ export default { ...@@ -658,7 +711,7 @@ export default {
.then((data) => { .then((data) => {
window.open(data.message) window.open(data.message)
}) })
.catch((error) => {}) .catch(() => {})
} }
} }
} }
......
<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>
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