Commit b1fecfa8 by 唐玉峰

...

parent 151c4232
window.webConfig = { window.webConfig = {
diseLink: 'http://192.168.18.90:8080/#/dataAnalysis/department' diseLink: "http://192.168.18.90:8080/#/dataAnalysis/department",
} viewData: [
{
id: "1",
name: "月度拨付",
url: "",
isPara: true,
children: [
{
id: "1-1",
name: "月度拨付分组",
url: "http://172.16.1.244:8050/#/report/view?workbookId=275",
isPara: true,
children: [],
},
{
id: "1-2",
name: "病历综合查询",
url: "http://172.16.1.244:8050/#/report/view?workbookId=340",
isPara: false,
},
{
id: "1-3",
name: "医院支付情况",
url: "http://172.16.1.244:8050/#/report/view?workbookId=341",
isPara: false,
},
{
id: "1-4",
name: "医院病种支付情况",
url: "http://172.16.1.244:8050/#/report/view?workbookId=342",
isPara: false,
},
{
id: "1-5",
name: "科室总体支付情况",
url: "http://172.16.1.244:8050/#/report/view?workbookId=343",
isPara: false,
},
{
id: "1-6",
name: "科室病种支付情况",
url: "http://172.16.1.244:8050/#/report/view?workbookId=344",
isPara: false,
},
{
id: "1-7",
name: "科室医生支付情况",
url: "http://172.16.1.244:8050/#/report/view?workbookId=345",
isPara: false,
},
{
id: "1-8",
name: "医生病种支付情况",
url: "http://172.16.1.244:8050/#/report/view?workbookId=346",
isPara: false,
},
{
id: "1-9",
name: "同病种医生支付情况对比",
url: "http://172.16.1.244:8050/#/report/view?workbookId=348",
isPara: false,
},
],
},
{
id: "2",
name: "结算患者费用明细情况",
url: "http://172.16.1.244:8050/#/report/view?workbookId=333",
isPara: false,
},
{
id: "3",
name: "年度清算数据",
url: "http://172.16.1.244:8050/#/report/view?workbookId=267",
isPara: true,
},
{
id: "4",
name: "院内编目分组",
url: "http://172.16.1.244:8050/#/report/view?workbookId=277",
isPara: true,
},
],
};
<template>
<!-- 病案导入 -->
<div class="medicalRecordImport">
<div class="medicalRecordImport_top"></div>
<!-- <div class="btn">
<div :class="type == 1 ? 'act' : ''" @click="getid(1)">当前医生数据</div>
<div :class="type == 2 ? 'act' : ''" @click="getid(2)">所属病区数据</div>
<div :class="type == 3 ? 'act' : ''" @click="getid(3)">病种用药目录</div>
<div @click="toData">数据分析</div>
</div> -->
<div class="main">
<template v-if="type != 3">
<div class="l">
<div v-for="item in list" :key="item.id" :class="activeName == item.id ? 'act' : ''" @click="getdata(item)">
<i class="el-icon-caret-right"></i>
{{ item.name }}
</div>
</div>
<div class="r">
<template v-for="item in list">
<div :key="item.id" v-if="show && activeName == item.id">
<iframe :src="item.isPara ? item.url + `&doctorcode=${doctorCode}` : item.url" width="100%" height="100%" frameborder="0"> </iframe>
</div>
</template>
<!-- <div v-if="activeName == 2">
<template v-if="show">
<iframe
:src="`http://172.16.1.244:8050/#/report/view?workbookId=275&doctorcode=${doctorCode}&deptcode=${deptCode}`"
width="100%"
height="100%"
frameborder="0"
>
</iframe>
</template>
</div>
<div v-if="activeName == 3">
<template v-if="show">
<iframe
:src="`http://172.16.1.244:8050/#/report/view?workbookId=267&doctorcode=${doctorCode}&deptcode=${deptCode}`"
width="100%"
height="100%"
frameborder="0"
>
</iframe>
</template>
</div>
<div v-if="activeName == 4">
<template v-if="show">
<iframe
:src="`http://172.16.1.244:8050/#/report/view?workbookId=277&doctorcode=${doctorCode}&deptcode=${deptCode}`"
width="100%"
height="100%"
frameborder="0"
>
</iframe>
</template>
</div> -->
</div>
</template>
<div class="r" v-else>
<div>
<template v-if="show">
<iframe :src="url" width="100%" height="100%" frameborder="0"> </iframe>
</template>
</div>
</div>
</div>
</div>
</template>
<script>
import http from "../utils/http";
export default {
name: "medicalRecordImport",
components: {},
data() {
return {
activeName: "1",
info: {},
doctorCode: "",
deptCode: "",
show: true,
type: 1,
// list: [
// // { name: "月度初步分组", value: "1" },
// { name: "月度拨付分组", value: "2" },
// { name: "年度清算数据", value: "3" },
// { name: "院内编目分组", value: "4" },
// ],
url: "",
};
},
computed: {
list() {
return window.webConfig.viewData;
},
},
created() {
// :src="`http://172.16.1.244:8050/#/report/view?workbookId=269&info=${JSON.stringify(info)}`"
this.GetDeptAndDoctorByPid();
},
mounted() {},
methods: {
getid(type) {
this.type = type;
this.show = false;
if (type == 1) {
this.doctorCode = this.info.doctorCode;
this.deptCode = "";
setTimeout(() => {
this.show = true;
}, 300);
} else if (type == 2) {
{
this.deptCode = this.info.deptCode;
this.doctorCode = "";
setTimeout(() => {
this.show = true;
}, 300);
}
} else {
http.get(`/account/drug/drugview?menuname=用药目录`)
.then((data) => {
this.url = data;
setTimeout(() => {
this.show = true;
}, 300);
})
.catch((error) => {});
}
},
getdata(item) {
this.activeName = item.id;
this.show = false;
setTimeout(() => {
this.show = true;
}, 300);
},
GetDeptAndDoctorByPid(id) {
http.get(`/medical/Get/GetDeptAndDoctorByPid?id=${this.$route.query.id}`)
.then((data) => {
this.info = data;
this.doctorCode = data.doctorCode;
})
.catch((error) => {});
},
toData() {
http.get(`/medical/Get/GetViews?name=医保结算数据分析`)
.then((data) => {
if (data && data.length) {
if (data[0].children && data[0].children.length) {
const { href } = this.$router.resolve({
path: data[0].children[0].menuUrl,
});
window.open(`${window.location.origin}/#${data[0].children[0].menuUrl}`, "_blank");
} else {
const { href } = this.$router.resolve({
path: data[0].menuUrl,
});
window.open(`${window.location.origin}/#${data[0].menuUrl}`, "_blank");
}
}
})
.catch((error) => {});
},
},
};
</script>
<style lang="scss">
.medicalRecordImport {
height: 100%;
background: #e5e4e9;
overflow: auto;
display: flex;
flex-flow: column;
&_top {
width: 100%;
height: 30px;
background-color: #245ba9;
}
.btn {
display: flex;
background: #fff;
margin-top: 10px;
padding: 20px 30px;
> div {
width: 140px;
height: 40px;
background: #f7f7f7;
border-radius: 20px;
font-size: 14px;
line-height: 40px;
text-align: center;
font-weight: bold;
margin-right: 30px;
color: #333333;
cursor: pointer;
}
.act {
background: #245ba9;
color: #fff;
}
}
.main {
padding: 10px;
flex: 1;
display: flex;
.l {
width: 200px;
background: #fff;
margin-right: 10px;
padding: 20px 10px;
> div {
background: #f4f5f8;
border-radius: 4px;
color: #333333;
font-weight: bold;
cursor: pointer;
font-size: 14px;
padding: 10px 5px;
margin-bottom: 10px;
i {
color: #e0e0e0;
}
}
.act {
background: rgba(36, 91, 169, 0.1);
border: 1px solid #245ba9;
color: #245ba9;
i {
color: #245ba9;
}
}
}
.r {
flex: 1;
background: #fff;
padding: 20px;
> div {
height: 100%;
}
}
}
}
</style>
...@@ -2,76 +2,35 @@ ...@@ -2,76 +2,35 @@
<!-- 病案导入 --> <!-- 病案导入 -->
<div class="medicalRecordImport"> <div class="medicalRecordImport">
<div class="medicalRecordImport_top"></div> <div class="medicalRecordImport_top"></div>
<!-- <div class="btn">
<div :class="type == 1 ? 'act' : ''" @click="getid(1)">当前医生数据</div>
<div :class="type == 2 ? 'act' : ''" @click="getid(2)">所属病区数据</div>
<div :class="type == 3 ? 'act' : ''" @click="getid(3)">病种用药目录</div>
<div @click="toData">数据分析</div>
</div> -->
<div class="main"> <div class="main">
<template v-if="type != 3"> <template v-if="type != 3">
<div class="l"> <div class="l">
<div v-for="item in list" :key="item.value" :class="activeName == item.value ? 'act' : ''" @click="getdata(item.value)"> <el-menu :default-active="defaultActive" class="el-menu-vertical-demo">
<template v-for="item in list">
<el-submenu :index="item.id" v-if="item.children && item.children.length" :key="item.id">
<template slot="title">
<span>{{ item.name }}</span>
</template>
<el-menu-item :index="el.id" v-for="el in item.children" :key="el.id" @click="getdata(el)">{{ el.name }}</el-menu-item>
</el-submenu>
<el-menu-item :index="item.id" v-else :key="item.id" @click="getdata(item)">
<span slot="title">{{ item.name }}</span>
</el-menu-item>
</template>
</el-menu>
<!-- <div v-for="item in list" :key="item.id" :class="activeName == item.id ? 'act' : ''" @click="getdata(item)">
<i class="el-icon-caret-right"></i> <i class="el-icon-caret-right"></i>
{{ item.name }} {{ item.name }}
</div> </div> -->
</div> </div>
<div class="r"> <div class="r">
<div v-if="activeName == 1">
<template v-if="show">
<iframe
:src="`http://172.16.1.244:8050/#/report/view?workbookId=276&doctorcode=${doctorCode}&deptcode=${deptCode}`"
width="100%"
height="100%"
frameborder="0"
>
</iframe>
</template>
</div>
<div v-if="activeName == 2">
<template v-if="show"> <template v-if="show">
<iframe <iframe :src="obj.isPara ? obj.url + `&doctorcode=${doctorCode}` : obj.url" width="100%" height="100%" frameborder="0"> </iframe>
:src="`http://172.16.1.244:8050/#/report/view?workbookId=275&doctorcode=${doctorCode}&deptcode=${deptCode}`"
width="100%"
height="100%"
frameborder="0"
>
</iframe>
</template> </template>
</div> </div>
<div v-if="activeName == 3">
<template v-if="show">
<iframe
:src="`http://172.16.1.244:8050/#/report/view?workbookId=267&doctorcode=${doctorCode}&deptcode=${deptCode}`"
width="100%"
height="100%"
frameborder="0"
>
</iframe>
</template>
</div>
<div v-if="activeName == 4">
<template v-if="show">
<iframe
:src="`http://172.16.1.244:8050/#/report/view?workbookId=277&doctorcode=${doctorCode}&deptcode=${deptCode}`"
width="100%"
height="100%"
frameborder="0"
>
</iframe>
</template>
</div>
</div>
</template>
<div class="r" v-else>
<div>
<template v-if="show">
<iframe :src="url" width="100%" height="100%" frameborder="0"> </iframe>
</template> </template>
</div> </div>
</div> </div>
</div>
</div>
</template> </template>
<script> <script>
import http from "../utils/http"; import http from "../utils/http";
...@@ -80,24 +39,44 @@ export default { ...@@ -80,24 +39,44 @@ export default {
components: {}, components: {},
data() { data() {
return { return {
activeName: "2", // activeName: "1",
info: {}, info: {},
doctorCode: "", doctorCode: "",
deptCode: "", deptCode: "",
show: true, show: true,
type: 1, type: 1,
list: [ // list: [
// { name: "月度初步分组", value: "1" }, // // { name: "月度初步分组", value: "1" },
{ name: "月度拨付分组", value: "2" }, // { name: "月度拨付分组", value: "2" },
{ name: "年度清算数据", value: "3" }, // { name: "年度清算数据", value: "3" },
{ name: "院内编目分组", value: "4" }, // { name: "院内编目分组", value: "4" },
], // ],
url: "", url: "",
obj: {},
}; };
}, },
computed: {
list() {
return window.webConfig.viewData;
},
defaultActive() {
let arr = window.webConfig.viewData;
if (arr[0].children && arr[0].children.length) {
return arr[0].children[0].id;
} else {
return arr[0].id;
}
},
},
created() { created() {
// :src="`http://172.16.1.244:8050/#/report/view?workbookId=269&info=${JSON.stringify(info)}`" // :src="`http://172.16.1.244:8050/#/report/view?workbookId=269&info=${JSON.stringify(info)}`"
this.GetDeptAndDoctorByPid(); this.GetDeptAndDoctorByPid();
let arr = window.webConfig.viewData;
if (arr[0].children && arr[0].children.length) {
this.obj = arr[0].children[0];
} else {
this.obj = arr[0];
}
}, },
mounted() {}, mounted() {},
methods: { methods: {
...@@ -129,8 +108,9 @@ export default { ...@@ -129,8 +108,9 @@ export default {
.catch((error) => {}); .catch((error) => {});
} }
}, },
getdata(type) { getdata(item) {
this.activeName = type; console.log(item);
this.obj = item;
this.show = false; this.show = false;
setTimeout(() => { setTimeout(() => {
this.show = true; this.show = true;
...@@ -144,7 +124,6 @@ export default { ...@@ -144,7 +124,6 @@ export default {
}) })
.catch((error) => {}); .catch((error) => {});
}, },
toData() { toData() {
http.get(`/medical/Get/GetViews?name=医保结算数据分析`) http.get(`/medical/Get/GetViews?name=医保结算数据分析`)
.then((data) => { .then((data) => {
...@@ -207,7 +186,7 @@ export default { ...@@ -207,7 +186,7 @@ export default {
flex: 1; flex: 1;
display: flex; display: flex;
.l { .l {
width: 130px; width: 200px;
background: #fff; background: #fff;
margin-right: 10px; margin-right: 10px;
padding: 20px 10px; padding: 20px 10px;
...@@ -218,8 +197,8 @@ export default { ...@@ -218,8 +197,8 @@ export default {
font-weight: bold; font-weight: bold;
cursor: pointer; cursor: pointer;
font-size: 14px; font-size: 14px;
padding: 15px 10px; padding: 10px 5px;
margin-bottom: 20px; margin-bottom: 10px;
i { i {
color: #e0e0e0; color: #e0e0e0;
} }
...@@ -242,5 +221,25 @@ export default { ...@@ -242,5 +221,25 @@ export default {
} }
} }
} }
.el-menu {
border-right: 0;
.el-submenu__title,
.el-menu-item {
padding: 0 10px !important;
border-radius: 3px;
// background: #f7f7f7;
// font-size: 14px;
// font-weight: bold;
// color: #333333;
// margin-bottom: 10px;
}
.el-submenu .el-menu-item {
padding: 0 25px !important;
}
.el-menu-item.is-active {
background: #245ba9;
color: #fff;
}
}
} }
</style> </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