Commit cacbc7a9 by wangshuangqing

三个页面样式

parent aff75ccd
......@@ -6,823 +6,936 @@
* @Description:
-->
<template>
<!-- 智能分组 -->
<div class="outsetgrouping" id="setGroupingbox">
<div class="outsetgrouping_title"><span class="outsetgrouping_title_span">智能疾病分组</span></div>
<div class="outsetgrouping_centent">
<div class="outsetgrouping_centent_totalnum" v-for="(item, index) in CorePercents" :key="index">
<div class="outsetgrouping_centent_totalnum_left">
<div class="outsetgrouping_centent_totalnum_left_radios">
<input type="radio" name="radios" :value="item.coreID" v-model="radio" />
</div>
<div class="outsetgrouping_centent_totalnum_left_text">
<div class="outsetgrouping_centent_totalnum_left_text_msg1">
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text1">
<span> 医保诊断名称:{{ item.diagMapName }}</span>
<span> 诊断类型:{{ item.diagOrder }}</span>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text2">
<span>医保手术名称:{{ item.opsMapName }}</span>
<span>手术类型:{{ item.opsOrder }}</span>
</div>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg2">
<div class="outsetgrouping_centent_totalnum_left_text_msg2_text3">
<span>分组编码:{{ item.code }}</span>
<span>入组名称:{{ item.coreName }}</span>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg2_text4">
<span>主诊断编码:{{ item.disCode }}</span><span>主手术编码:{{ item.opsCode }}</span><span>点数:{{
item.score
}}</span>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg2_text5">
<span>医保支付金额:{{ item.unitfee }}</span><span>院内平均费用:{{ item.avgFee
}}</span><span>院内平均住院天数:{{ item.avgInHosDay }}</span>
</div>
</div>
</div>
</div>
<div class="outsetgrouping_centent_totalnum_right">
<div class="outsetgrouping_centent_totalnum_right_text1">
<span class="outsetgrouping_centent_totalnum_right_text1_span1"> 药占比:</span>
<div :id="`indexChart` + index" class="outsetgrouping_centent_totalnum_right_text1_echar1">
</div>
</div>
<div class="outsetgrouping_centent_totalnum_right_text2">
<span class="outsetgrouping_centent_totalnum_right_text2_span2"> 耗材占比:</span>
<div :id="`indexCharttwo` + index" class="outsetgrouping_centent_totalnum_right_text2_echar2">
</div>
</div>
<div class="outsetgrouping_centent_totalnum_right_text3">
<span class="outsetgrouping_centent_totalnum_right_text3_span3"> 检查占比:</span>
<div :id="`indexCharttree` + index" class="outsetgrouping_centent_totalnum_right_text3_echar3">
</div>
</div>
<div class="outsetgrouping_centent_totalnum_right_text4">
<span class="outsetgrouping_centent_totalnum_right_text4_span4"> 检验占比:</span>
<div :id="`indexChartfore` + index" class="outsetgrouping_centent_totalnum_right_text4_echar4">
</div>
</div>
<div class="outsetgrouping_centent_totalnum_right_text5">
<span class="outsetgrouping_centent_totalnum_right_text5_span5"> 其他占比:</span>
<div :id="`indexChartfile` + index" class="outsetgrouping_centent_totalnum_right_text5_echar5">
</div>
</div>
</div>
</div>
<!-- 如果没有搜索时的样式 -->
<!-- 智能分组 -->
<div class="outsetgrouping" id="setGroupingbox">
<div class="outsetgrouping_button">
<!-- <el-button class="outsetgrouping_button_GoBackbtn" size="mini" @click="goback">
<span class="iconfont icon-daochu"></span> <span class="s2">返回</span>
</el-button> -->
<el-button
class="outsetgrouping_button_Submitbtn"
size="mini"
type="primary"
@click="submit"
>
<span class="iconfont icon-ipr_tijiao"></span>
<span class="s2">提交</span>
</el-button>
</div>
<div class="outsetgrouping_top">
<div class="outsetgrouping_top_message">
<div class="outsetgrouping_top_message_left">
<span class="iconfont icon-xinrenzhinan"> </span>
<div class="outsetgrouping_top_message_left_t1">
住院号:<span>{{ casehisObj ? casehisObj.a48 : "" }}</span>
</div>
</div>
<div class="outsetgrouping_top_message_centert">
<span class="iconfont icon-yinhangka"></span>
<div class="outsetgrouping_top_message_centert_t2">
住院次数:<span>{{ casehisObj ? casehisObj.a49 : "" }}</span>
</div>
</div>
<div class="outsetgrouping_top_message_right">
<span class="iconfont icon-fufeiguanli"></span>
<div class="outsetgrouping_top_message_right_t3">
医疗付费方式:<span>{{ casehisObj ? casehisObj.a46C : "" }}</span>
</div>
</div>
</div>
</div>
<div class="outsetgrouping_top2">
<div class="outsetgrouping_top2_message">
<div class="outsetgrouping_top2_message_left">
<span class="iconfont icon-iconset0254"> </span>
<div class="outsetgrouping_top2_message_left_t1">
当前入组编码:<span>{{
casehisObj ? casehisObj.drgs.code : ""
}}</span>
</div>
</div>
<div class="outsetgrouping_top2_message_centert">
<span class="iconfont icon-daoru"></span>
<div class="outsetgrouping_top2_message_centert_t2">
入组名称:<span>{{ casehisObj ? casehisObj.drgs.name : "" }}</span>
</div>
</div>
<div class="outsetgrouping_top2_message_right">
<span class="iconfont icon-qianqian-"></span>
<div class="outsetgrouping_top2_message_right_t3">
医疗支付金额:<span>{{
casehisObj ? casehisObj.drgs.actualfee : ""
}}</span>
</div>
</div>
</div>
</div>
<div class="outsetgrouping_top3"></div>
<div v-show="nolistShow" class="outsetgrouping_centent_nodata">
<div class="outsetgrouping_centent_nodata_img">
<img src="../assets/img/nodata.png" alt="" />
</div>
<div class="outsetgrouping_centent_nodata_text">暂无数据</div>
<div class="outsetgrouping_title">
<span class="outsetgrouping_title_span">智能疾病分组</span>
</div>
<div class="outsetgrouping_centent">
<div
class="outsetgrouping_centent_totalnum"
v-for="(item, index) in CorePercents"
:key="index"
>
<div class="outsetgrouping_centent_totalnum_left">
<div class="outsetgrouping_centent_totalnum_left_radios">
<input
type="radio"
name="radios"
:value="item.coreID"
v-model="radio"
/>
</div>
<div class="outsetgrouping_centent_totalnum_left_text">
<div class="outsetgrouping_centent_totalnum_left_text_msg1">
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text1">
<span> 医保诊断名称:{{ item.diagMapName }}</span>
<span> 诊断类型:{{ item.diagOrder }}</span>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text2">
<span>医保手术名称:{{ item.opsMapName }}</span>
<span>手术类型:{{ item.opsOrder }}</span>
</div>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg2">
<div class="outsetgrouping_centent_totalnum_left_text_msg2_text3">
<span>分组编码:{{ item.code }}</span>
<span>入组名称:{{ item.coreName }}</span>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg2_text4">
<span>主诊断编码:{{ item.disCode }}</span
><span>主手术编码:{{ item.opsCode }}</span
><span>点数:{{ item.score }}</span>
</div>
<div class="outsetgrouping_centent_totalnum_left_text_msg2_text5">
<span>医保支付金额:{{ item.unitfee }}</span
><span>院内平均费用:{{ item.avgFee }}</span
><span>院内平均住院天数:{{ item.avgInHosDay }}</span>
</div>
</div>
</div>
</div>
<div class="outsetgrouping_pagination">
<el-pagination layout="sizes,prev, pager, next,jumper" :total="totalCount" @size-change="sizeChange"
@current-change="currentChange" :current-page="currentPage" :page-size="pageSize"
:page-sizes="[10, 30, 50]">
</el-pagination>
<div class="outsetgrouping_centent_totalnum_right">
<div class="outsetgrouping_centent_totalnum_right_text1">
<span class="outsetgrouping_centent_totalnum_right_text1_span1">
药占比:</span
>
<div
:id="`indexChart` + index"
class="outsetgrouping_centent_totalnum_right_text1_echar1"
></div>
</div>
<div class="outsetgrouping_centent_totalnum_right_text2">
<span class="outsetgrouping_centent_totalnum_right_text2_span2">
耗材占比:</span
>
<div
:id="`indexCharttwo` + index"
class="outsetgrouping_centent_totalnum_right_text2_echar2"
></div>
</div>
<div class="outsetgrouping_centent_totalnum_right_text3">
<span class="outsetgrouping_centent_totalnum_right_text3_span3">
检查占比:</span
>
<div
:id="`indexCharttree` + index"
class="outsetgrouping_centent_totalnum_right_text3_echar3"
></div>
</div>
<div class="outsetgrouping_centent_totalnum_right_text4">
<span class="outsetgrouping_centent_totalnum_right_text4_span4">
检验占比:</span
>
<div
:id="`indexChartfore` + index"
class="outsetgrouping_centent_totalnum_right_text4_echar4"
></div>
</div>
<div class="outsetgrouping_centent_totalnum_right_text5">
<span class="outsetgrouping_centent_totalnum_right_text5_span5">
其他占比:</span
>
<div
:id="`indexChartfile` + index"
class="outsetgrouping_centent_totalnum_right_text5_echar5"
></div>
</div>
</div>
</div>
<!-- 如果没有搜索时的样式 -->
<div v-show="nolistShow" class="outsetgrouping_centent_nodata">
<div class="outsetgrouping_centent_nodata_img">
<img src="../assets/img/nodata.png" alt="" />
</div>
<div class="outsetgrouping_centent_nodata_text">暂无数据</div>
</div>
</div>
<div class="outsetgrouping_pagination">
<el-pagination
layout="sizes,prev, pager, next,jumper"
:total="totalCount"
@size-change="sizeChange"
@current-change="currentChange"
:current-page="currentPage"
:page-size="pageSize"
:page-sizes="[10, 30, 50]"
>
</el-pagination>
</div>
</div>
</template>
<script >
import http from '../utils/http';
import { reactive, toRefs, onMounted, nextTick, computed } from '@vue/composition-api';
import { decimal } from '../utils/decimal';
import { useRoute, useRouter } from '../utils/useVueRouter';
import { initEcharts, categoryChart } from '../utils/echarts';
import http from "../utils/http";
import {
reactive,
toRefs,
onMounted,
nextTick,
computed,
} from "@vue/composition-api";
import { decimal } from "../utils/decimal";
import { Message } from 'element-ui';
import { useRoute, useRouter } from "../utils/useVueRouter";
import { initEcharts, categoryChart } from "../utils/echarts";
export default {
name: 'outHistorygrouping',
setup() {
let state = reactive({
abc: '',
casehisObj: null,
searchForm: {
diagName: '',
opsName: '',
},
CorePercents: [],
totalCount: 0, //总条数
currentPage: 1, //当前页
pageSize: 10,
typesel: 1,
radio: '', //单选框选中值
drug: [],
nodataShow: true, //没有搜索时显示
nolistShow: false, //没有搜索数据的时候显示
groupList: [], //主诊断
groupArr: [],
groupList2: [], //主手术
groupArr2: [],
diagMapList: null, //医保诊断编码集合
opsMapList: null, //医保手术编码集合
name: "outHistorygrouping",
setup() {
let state = reactive({
abc: "",
casehisObj: null,
searchForm: {
diagName: "",
opsName: "",
},
CorePercents: [],
totalCount: 0, //总条数
currentPage: 1, //当前页
pageSize: 10,
typesel: 1,
radio: "", //单选框选中值
drug: [],
nodataShow: true, //没有搜索时显示
nolistShow: false, //没有搜索数据的时候显示
groupList: [], //主诊断
groupArr: [],
groupList2: [], //主手术
groupArr2: [],
diagMapList: null, //医保诊断编码集合
opsMapList: null, //医保手术编码集合
});
//返回
const router = useRouter();
const goback = () => {
router.go(-1);
};
//获取基本数据
function getCaseHis(code) {
http
.post(`/medical/Get/casehisData?id=${code}`, {})
.then((data) => {
state.casehisObj = data;
console.log("data", data);
state.diagMapList = data.diagMapList;
state.opsMapList = data.opsMapList;
getlist();
})
.catch((error) => {});
}
//获取列表数据
const getlist = () => {
http
.post(`/medical/get/GetCorePercents`, {
PageNumber: state.currentPage,
Type: 1,
pageSize: state.pageSize,
DiagMapList: state.diagMapList,
OpsMapList: state.opsMapList,
id: route.value.query.id,
})
.then((data) => {
state.CorePercents = data.list;
state.totalCount = data.totalCount;
if (state.CorePercents.length == 0) {
state.nolistShow = true;
// state.nodataShow = false;
}
for (var i = 0; i < state.CorePercents.length; i++) {
initEcharts(
categoryChart(state.CorePercents[i].drugPercent, "#2CABE3"),
`indexChart${i}`
);
initEcharts(
categoryChart(state.CorePercents[i].materialsPercent, "#71D875"),
`indexCharttwo${i}`
);
initEcharts(
categoryChart(state.CorePercents[i].inspectPercent, "#F35E77"),
`indexCharttree${i}`
);
initEcharts(
categoryChart(state.CorePercents[i].testPercent, "#FFB321"),
`indexChartfore${i}`
);
initEcharts(
categoryChart(state.CorePercents[i].otherPercent, "#C05EF3"),
`indexChartfile${i}`
);
}
})
.catch((error) => {});
};
//提交
const submit = () => {
if (state.radio == "") {
Message.warning({
message: "请先选择要入组的病组",
type: 'warning',
});
//返回
const router = useRouter();
const goback = () => {
router.go(-1)
} else {
http
.post(
`/medical/Update/casehisById?PatientId=${route.value.query.id}`,
[state.radio]
)
.then((data) => {
Message.success({
message: `${data.message}`,
type: 'success',
});
getCaseHis(route.value.query.id);
})
.catch((error) => {});
}
};
/**
* 页码
*/
const currentChange = (val) => {
state.currentPage = val;
getlist();
};
const sizeChange = (val) => {
state.pageSize = val;
getlist();
};
var route = useRoute();
onMounted(() => {
getCaseHis(route.value.query.id);
if (state.searchForm.diagName.length > 0) {
getlist();
}
});
return {
...toRefs(state),
decimal,
getCaseHis,
currentChange,
sizeChange,
getlist,
submit,
goback,
};
},
};
</script>
<style lang="scss" scoped>
@import "../styles/mixin.scss";
// @import '../styles/media/media/outHistorygrouping.scss';
.outsetgrouping {
height: 900px;
background-color: white;
padding: 0px 20px 20px 20px;
overflow: hidden;
position: relative;
&_button {
display: flex;
justify-content: flex-end;
margin-bottom: 10px;
&_GoBackbtn {
color: #2cabe3;
border: 1px solid #2cabe3;
}
&_Submitbtn {
background-color: #2cabe3;
color: #fff;
}
}
&_top {
.span1 {
display: flex;
justify-content: start;
font-size: 14px;
color: #6a707e;
font-family: PingFang SC;
font-weight: 400;
}
&_message {
display: flex;
justify-content: space-between;
&_left {
width: 33%;
height: 51px;
display: flex;
justify-content: start;
align-items: center;
background-color: #f3fafd;
.iconfont {
color: #2cabe3;
padding-left: 29px;
font-size: 23px;
}
&_t1 {
width: 80%;
height: 42px;
display: flex;
justify-content: start;
padding-left: 10px;
align-items: center;
background-color: #fff;
color: #abafb3;
font-size: 14px;
margin-left: 29px;
span {
color: #787e8a;
}
}
}
//获取基本数据
function getCaseHis(code) {
&_centert {
width: 33%;
height: 51px;
display: flex;
justify-content: start;
align-items: center;
background-color: #f3fafd;
font-family: PingFang SC;
http
.post(`/medical/Get/casehisData?id=${code}`, {})
.then((data) => {
state.casehisObj = data;
console.log('data', data);
state.diagMapList = data.diagMapList;
state.opsMapList = data.opsMapList;
getlist();
.iconfont {
color: #2cabe3;
padding-left: 29px;
font-size: 23px;
}
&_t2 {
width: 80%;
height: 42px;
display: flex;
justify-content: start;
padding-left: 10px;
align-items: center;
background-color: #fff;
color: #abafb3;
font-size: 14px;
margin-left: 29px;
span {
color: #787e8a;
}
}
}
})
.catch((error) => {
&_right {
width: 33%;
height: 51px;
display: flex;
justify-content: start;
align-items: center;
background-color: #f3fafd;
font-family: PingFang SC;
});
.iconfont {
color: #2cabe3;
padding-left: 29px;
font-size: 23px;
}
//获取列表数据
const getlist = () => {
http
.post(`/medical/get/GetCorePercents`,
{
PageNumber: state.currentPage,
Type: 1,
pageSize: state.pageSize,
DiagMapList: state.diagMapList,
OpsMapList: state.opsMapList,
id: route.value.query.id
})
.then((data) => {
state.CorePercents = data.list;
state.totalCount = data.totalCount;
if (state.CorePercents.length == 0) {
state.nolistShow = true;
// state.nodataShow = false;
}
for (var i = 0; i < state.CorePercents.length; i++) {
initEcharts(categoryChart(state.CorePercents[i].drugPercent, '#2CABE3'), `indexChart${i}`);
initEcharts(categoryChart(state.CorePercents[i].materialsPercent, '#71D875'), `indexCharttwo${i}`);
initEcharts(categoryChart(state.CorePercents[i].inspectPercent, '#F35E77'), `indexCharttree${i}`);
initEcharts(categoryChart(state.CorePercents[i].testPercent, '#FFB321'), `indexChartfore${i}`);
initEcharts(categoryChart(state.CorePercents[i].otherPercent, '#C05EF3'), `indexChartfile${i}`);
}
})
.catch((error) => {
});
};
//提交
const submit = () => {
if (state.radio == '') {
// ElMessage.warning({
// message: "请先选择要入组的病组",
// type: 'warning',
// });
} else {
http
.post(`/medical/Update/casehisById?PatientId=${route.value.query.id}`, [state.radio])
.then((data) => {
// ElMessage.success({
// message: `${data.message}`,
// type: 'success',
// });
getCaseHis(route.value.query.id)
})
.catch((error) => { });
}
};
/**
* 页码
*/
const currentChange = (val) => {
state.currentPage = val;
getlist();
};
const sizeChange = (val) => {
state.pageSize = val;
getlist();
};
var route = useRoute();
onMounted(() => {
getCaseHis(route.value.query.id);
if (state.searchForm.diagName.length > 0) {
getlist();
}
});
&_t3 {
width: 80%;
height: 42px;
display: flex;
justify-content: start;
padding-left: 10px;
align-items: center;
background-color: #fff;
color: #abafb3;
font-size: 14px;
margin-left: 29px;
span {
color: #787e8a;
}
}
}
}
}
&_top2 {
.span1 {
display: flex;
justify-content: start;
font-size: 14px;
color: #6a707e;
font-family: PingFang SC;
font-weight: 400;
}
return {
...toRefs(state),
decimal,
getCaseHis,
currentChange,
sizeChange,
getlist,
submit,
goback
};
},
};
</script>
<style lang="scss" scoped>
@import '../styles/mixin.scss';
&_message {
display: flex;
justify-content: space-between;
margin-top: 10px;
margin-bottom: 16px;
// @import '../styles/media/media/outHistorygrouping.scss';
.outsetgrouping {
height: 100%;
background-color: white;
padding: 0px 20px 20px 20px;
overflow: hidden;
position: relative;
&_left {
width: 33%;
height: 51px;
display: flex;
justify-content: start;
align-items: center;
background-color: #f3fafd;
.iconfont {
color: #2cabe3;
padding-left: 29px;
font-size: 23px;
}
&_t1 {
width: 80%;
height: 42px;
display: flex;
justify-content: start;
padding-left: 10px;
align-items: center;
background-color: #fff;
color: #abafb3;
font-size: 14px;
margin-left: 29px;
span {
color: #787e8a;
}
}
}
&_button {
&_centert {
width: 33%;
height: 51px;
display: flex;
justify-content: end;
margin-bottom: 10px;
justify-content: start;
align-items: center;
background-color: #f3fafd;
font-family: PingFang SC;
.iconfont {
color: #2cabe3;
padding-left: 29px;
font-size: 23px;
}
&_GoBackbtn {
color: #2CABE3;
border: 1px solid #2CABE3;
&_t2 {
width: 80%;
height: 42px;
display: flex;
justify-content: start;
padding-left: 10px;
align-items: center;
background-color: #fff;
color: #abafb3;
font-size: 14px;
margin-left: 29px;
span {
color: #787e8a;
}
}
}
&_right {
width: 33%;
height: 51px;
display: flex;
justify-content: start;
align-items: center;
background-color: #f3fafd;
font-family: PingFang SC;
&_Submitbtn {
background-color: #2CABE3;
color: #fff;
.iconfont {
color: #2cabe3;
padding-left: 29px;
font-size: 23px;
}
&_t3 {
width: 80%;
height: 42px;
display: flex;
justify-content: start;
padding-left: 10px;
align-items: center;
background-color: #fff;
color: #abafb3;
font-size: 14px;
margin-left: 29px;
span {
color: #787e8a;
}
}
}
}
&_top {
.span1 {
display: flex;
justify-content: start;
font-size: 14px;
color: #6a707e;
font-family: PingFang SC;
font-weight: 400;
}
&_top3 {
height: 10px;
background-color: #f3fafd;
border-radius: 10px;
margin-bottom: 16px;
}
&_title {
height: 30px;
background-image: url(../assets/img/bbj.png);
background-size: 100% 100%;
color: white;
font-size: 12px;
display: flex;
align-items: center;
justify-content: start;
margin-bottom: 5px;
&_span {
padding-left: 10px;
}
}
&_centent {
background-color: #f1f5f8;
height: 66%;
overflow-y: auto;
&_totalnum {
height: 282px;
background-color: #fff;
margin: 12px;
display: flex;
flex-direction: column;
align-items: center;
&_left {
flex: 1;
width: 100%;
height: 70%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
&_radios {
width: 3%;
height: 30%;
display: flex;
justify-content: center;
align-items: center;
}
&_message {
&_text {
width: 97%;
height: 100%;
&_msg1 {
height: 25%;
box-sizing: content-box;
border: 10px solid rgba(44, 171, 227, 0.08);
border-bottom: 5px solid rgba(44, 171, 227, 0.08);
border-top: 5px solid rgba(44, 171, 227, 0.08);
margin-bottom: 5px;
margin-top: 5px;
display: flex;
justify-content: space-between;
flex-direction: column;
justify-content: center;
align-items: center;
&_left {
width: 33%;
height: 51px;
display: flex;
justify-content: start;
align-items: center;
background-color: #f3fafd;
.iconfont {
color: #2cabe3;
padding-left: 29px;
font-size: 23px;
}
&_t1 {
width: 80%;
height: 42px;
display: flex;
justify-content: start;
padding-left: 10px;
align-items: center;
background-color: #fff;
color: #abafb3;
font-size: 14px;
margin-left: 29px;
span {
color: #787e8a;
}
}
}
&_text1 {
width: 100%;
height: 50%;
display: flex;
justify-content: space-between;
&_centert {
width: 33%;
height: 51px;
span {
height: 100%;
width: 50%;
margin: 5px 5px;
display: flex;
justify-content: start;
align-items: center;
background-color: #f3fafd;
font-size: 14px;
padding-left: 10px;
font-family: PingFang SC;
.iconfont {
color: #2cabe3;
padding-left: 29px;
font-size: 23px;
}
&_t2 {
width: 80%;
height: 42px;
display: flex;
justify-content: start;
padding-left: 10px;
align-items: center;
background-color: #fff;
color: #abafb3;
font-size: 14px;
margin-left: 29px;
span {
color: #787e8a;
}
}
font-weight: 300;
color: #6a707e;
}
}
&_right {
width: 33%;
height: 51px;
&_text2 {
width: 100%;
height: 48%;
display: flex;
justify-content: space-between;
span {
height: 100%;
width: 50%;
margin: 0px 5px;
display: flex;
justify-content: start;
align-items: center;
background-color: #f3fafd;
font-size: 14px;
padding-left: 10px;
font-family: PingFang SC;
.iconfont {
color: #2cabe3;
padding-left: 29px;
font-size: 23px;
}
&_t3 {
width: 80%;
height: 42px;
display: flex;
justify-content: start;
padding-left: 10px;
align-items: center;
background-color: #fff;
color: #abafb3;
font-size: 14px;
margin-left: 29px;
span {
color: #787e8a;
}
}
font-weight: 300;
color: #6a707e;
}
}
}
}
&_top2 {
.span1 {
display: flex;
justify-content: start;
font-size: 14px;
color: #6a707e;
font-family: PingFang SC;
font-weight: 400;
}
}
&_message {
&_msg2 {
background-color: rgba(44, 171, 227, 0.08);
display: flex;
justify-content: space-between;
margin-top: 10px;
margin-bottom: 16px;
&_left {
width: 33%;
height: 51px;
flex-direction: column;
height: 65%;
justify-content: center;
padding-top: 10px;
&_text3 {
// margin-bottom: 10px;
width: 100%;
height: 30%;
display: flex;
justify-content: space-between;
span {
display: block;
height: 100%;
width: 50%;
margin: 0px 10px;
background-color: #fff;
display: flex;
justify-content: start;
align-items: center;
background-color: #f3fafd;
.iconfont {
color: #2cabe3;
padding-left: 29px;
font-size: 23px;
}
&_t1 {
width: 80%;
height: 42px;
display: flex;
justify-content: start;
padding-left: 10px;
align-items: center;
background-color: #fff;
color: #abafb3;
font-size: 14px;
margin-left: 29px;
span {
color: #787e8a;
}
}
font-size: 14px;
padding-left: 10px;
font-family: PingFang SC;
font-weight: 300;
color: #6a707e;
}
}
&_centert {
width: 33%;
height: 51px;
&_text4 {
margin-bottom: 10px;
width: 100%;
height: 30%;
margin-top: 10px;
display: flex;
justify-content: space-between;
span {
height: 100%;
width: 50%;
margin: 0px 10px;
background-color: #fff;
display: flex;
justify-content: start;
align-items: center;
background-color: #f3fafd;
font-size: 14px;
padding-left: 10px;
font-family: PingFang SC;
.iconfont {
color: #2cabe3;
padding-left: 29px;
font-size: 23px;
}
&_t2 {
width: 80%;
height: 42px;
display: flex;
justify-content: start;
padding-left: 10px;
align-items: center;
background-color: #fff;
color: #abafb3;
font-size: 14px;
margin-left: 29px;
span {
color: #787e8a;
}
}
font-weight: 300;
color: #6a707e;
}
}
&_right {
width: 33%;
height: 51px;
&_text5 {
margin-bottom: 10px;
width: 100%;
height: 30%;
display: flex;
justify-content: space-between;
span {
height: 100%;
width: 50%;
margin: 0px 10px;
background-color: #fff;
display: flex;
justify-content: start;
align-items: center;
background-color: #f3fafd;
font-size: 14px;
padding-left: 10px;
font-family: PingFang SC;
.iconfont {
color: #2cabe3;
padding-left: 29px;
font-size: 23px;
}
&_t3 {
width: 80%;
height: 42px;
display: flex;
justify-content: start;
padding-left: 10px;
align-items: center;
background-color: #fff;
color: #abafb3;
font-size: 14px;
margin-left: 29px;
span {
color: #787e8a;
}
}
font-weight: 300;
color: #6a707e;
}
}
}
}
}
}
&_top3 {
height: 10px;
background-color: #f3fafd;
border-radius: 10px;
margin-bottom: 16px;
}
&_title {
height: 30px;
background-image: url(../assets/img/bbj.png);
background-size: 100% 100%;
color: white;
font-size: 12px;
&_right {
width: 100%;
height: 30%;
display: flex;
align-items: center;
justify-content: start;
margin-bottom: 5px;
justify-content: space-around;
&_span {
padding-left: 10px;
&_text1 {
width: 19%;
display: flex;
justify-content: center;
align-items: center;
margin-left: 3%;
&_span1 {
color: #2cabe3;
font-family: PingFang SC;
font-weight: 400;
}
&_echar1 {
width: 50%;
height: 88px;
margin-left: -30px;
}
}
}
&_centent {
background-color: #f1f5f8;
height: 66%;
overflow-y: auto;
&_text2 {
width: 19%;
display: flex;
justify-content: center;
align-items: center;
&_totalnum {
height: 282px;
background-color: #fff;
margin: 12px;
display: flex;
flex-direction: column;
align-items: center;
&_span2 {
color: #71d875;
font-family: PingFang SC;
font-weight: 400;
}
&_left {
flex: 1;
width: 100%;
height: 70%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
&_radios {
width: 3%;
height: 30%;
display: flex;
justify-content: center;
align-items: center;
}
&_text {
width: 97%;
height: 100%;
&_msg1 {
height: 25%;
box-sizing: content-box;
border: 10px solid rgba(44, 171, 227, 0.08);
border-bottom: 5px solid rgba(44, 171, 227, 0.08);
border-top: 5px solid rgba(44, 171, 227, 0.08);
margin-bottom: 5px;
margin-top: 5px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
&_text1 {
width: 100%;
height: 50%;
display: flex;
justify-content: space-between;
span {
height: 100%;
width: 50%;
margin: 5px 5px;
display: flex;
justify-content: start;
align-items: center;
font-size: 14px;
padding-left: 10px;
font-family: PingFang SC;
font-weight: 300;
color: #6a707e;
}
}
&_text2 {
width: 100%;
height: 48%;
display: flex;
justify-content: space-between;
span {
height: 100%;
width: 50%;
margin: 0px 5px;
display: flex;
justify-content: start;
align-items: center;
font-size: 14px;
padding-left: 10px;
font-family: PingFang SC;
font-weight: 300;
color: #6a707e;
}
}
}
&_msg2 {
background-color: rgba(44, 171, 227, 0.08);
display: flex;
flex-direction: column;
height: 65%;
justify-content: center;
padding-top: 10px;
&_text3 {
// margin-bottom: 10px;
width: 100%;
height: 30%;
display: flex;
justify-content: space-between;
span {
display: block;
height: 100%;
width: 50%;
margin: 0px 10px;
background-color: #fff;
display: flex;
justify-content: start;
align-items: center;
font-size: 14px;
padding-left: 10px;
font-family: PingFang SC;
font-weight: 300;
color: #6a707e;
}
}
&_text4 {
margin-bottom: 10px;
width: 100%;
height: 30%;
margin-top: 10px;
display: flex;
justify-content: space-between;
span {
height: 100%;
width: 50%;
margin: 0px 10px;
background-color: #fff;
display: flex;
justify-content: start;
align-items: center;
font-size: 14px;
padding-left: 10px;
font-family: PingFang SC;
font-weight: 300;
color: #6a707e;
}
}
&_text5 {
margin-bottom: 10px;
width: 100%;
height: 30%;
display: flex;
justify-content: space-between;
span {
height: 100%;
width: 50%;
margin: 0px 10px;
background-color: #fff;
display: flex;
justify-content: start;
align-items: center;
font-size: 14px;
padding-left: 10px;
font-family: PingFang SC;
font-weight: 300;
color: #6a707e;
}
}
}
}
}
&_echar2 {
width: 50%;
height: 88px;
margin-left: -30px;
}
}
&_right {
width: 100%;
height: 30%;
display: flex;
justify-content: space-around;
&_text1 {
width: 19%;
display: flex;
justify-content: center;
align-items: center;
margin-left: 3%;
&_span1 {
color: #2cabe3;
font-family: PingFang SC;
font-weight: 400;
}
&_echar1 {
width: 50%;
height: 88px;
margin-left: -30px;
}
}
&_text2 {
width: 19%;
display: flex;
justify-content: center;
align-items: center;
&_span2 {
color: #71d875;
font-family: PingFang SC;
font-weight: 400;
}
&_echar2 {
width: 50%;
height: 88px;
margin-left: -30px;
}
}
&_text3 {
width: 19%;
display: flex;
justify-content: center;
align-items: center;
&_span3 {
color: #f35e77;
font-family: PingFang SC;
font-weight: 400;
}
&_echar3 {
width: 50%;
height: 85px;
margin-left: -30px;
}
}
&_text4 {
width: 19%;
display: flex;
justify-content: center;
align-items: center;
&_span4 {
color: #ffb321;
font-family: PingFang SC;
font-weight: 400;
}
&_echar4 {
width: 50%;
height: 88px;
margin-left: -30px;
}
}
&_text5 {
width: 19%;
display: flex;
justify-content: center;
align-items: center;
&_span5 {
color: #c05ef3;
font-family: PingFang SC;
font-weight: 400;
}
&_echar5 {
width: 50%;
height: 88px;
margin-left: -30px;
}
}
}
&_text3 {
width: 19%;
display: flex;
justify-content: center;
align-items: center;
&_span3 {
color: #f35e77;
font-family: PingFang SC;
font-weight: 400;
}
&_echar3 {
width: 50%;
height: 85px;
margin-left: -30px;
}
}
// 没有数据
&_nodata {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-content: center;
&_text4 {
width: 19%;
display: flex;
justify-content: center;
align-items: center;
&_img {
img {
width: 115px;
height: 102px;
}
}
&_span4 {
color: #ffb321;
font-family: PingFang SC;
font-weight: 400;
}
&_text {
font-size: 18px;
font-family: PingFang SC;
font-weight: 400;
color: #abafb3;
}
&_echar4 {
width: 50%;
height: 88px;
margin-left: -30px;
}
}
&_text5 {
width: 19%;
display: flex;
justify-content: center;
align-items: center;
&_span5 {
color: #c05ef3;
font-family: PingFang SC;
font-weight: 400;
}
&_echar5 {
width: 50%;
height: 88px;
margin-left: -30px;
}
}
}
}
&_pagination {
display: flex;
justify-content: end;
margin-top: 1%;
// 没有数据
&_nodata {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-content: center;
&_img {
img {
width: 115px;
height: 102px;
}
}
&_text {
font-size: 18px;
font-family: PingFang SC;
font-weight: 400;
color: #abafb3;
}
}
}
&_pagination {
display: flex;
justify-content: flex-end;
margin-top: 1%;
}
}
</style>
......@@ -96,16 +96,8 @@
style="width: 100%"
:default-sort="{ prop: 'date', order: 'descending' }"
:row-class-name="tableRowClassName"
:height="'100%'"
height="575"
>
<!-- <el-table-column :label="item.cloumn" :prop="item.name">
<template slot-scope="scope" v-if="item.cloumn == '单价'">
{{ decimal(scope.row.fee) }}
</template>
<template slot-scope="scope" v-if="item.cloumn == '总金额'">
{{ decimal(scope.row.unitprice) }}
</template>
</el-table-column> -->
<el-table-column
label="开单日期"
prop="iteM_CODE"
......@@ -197,6 +189,7 @@
import http from '../utils/http';
import { reactive, toRefs, onMounted, nextTick, computed } from '@vue/composition-api';
import { decimal } from '../utils/decimal';
import { Message } from 'element-ui';
import { useRoute, useRouter } from '../utils/useVueRouter';
import { setItem, getItem } from '../utils/auth';
export default {
......@@ -240,7 +233,7 @@ export default {
.post(`/global/post/SetCaseProjectRuleHis?id=${route.value.query.id}`)
.then((data) => {
// ElMessage.success(data.message);
Message.success(data.message);
})
.catch((error) => {
......@@ -248,7 +241,7 @@ export default {
};
//获取患者信息数据
const getHistoryInfo = () => {
// var loadingInstance2 = ElLoading.service(loadingOption1);
http
.post(`/medical/Get/getHisInfo?&code=${route.value.query.id}`, {})
......@@ -262,10 +255,10 @@ export default {
toggle(0, state.goods[0]);
}
// loadingInstance2.close();
})
.catch((error) => {
// loadingInstance2.close();
});
};
......@@ -370,7 +363,7 @@ export default {
// padding: 20px;
// position: relative;
// overflow: hidden;
height: 100%;
height: 775px;
background-color: white;
padding: 20px;
overflow: hidden;
......@@ -537,7 +530,7 @@ export default {
&_bottom {
display: flex;
justify-content: space-between;
height: 70%;
height: 80%;
&_leftShowBox {
width: 80%;
height: 100%;
......@@ -672,14 +665,14 @@ export default {
// 无数据样式
&_box {
width: 100%;
height: 100%;
height: 500px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
&_img {
width: 200px;
height: 200px;
width: 100px;
height: 100px;
}
&_text {
font-size: 18px;
......
......@@ -6,768 +6,876 @@
* @Description:
-->
<template>
<!-- 查看质控 -->
<div class="outseeQualityControl">
<div class="outseeQualityControl_box">
<!-- <div class="outseeQualityControl_box_btn">
<!-- 查看质控 -->
<div class="outseeQualityControl">
<div class="outseeQualityControl_box">
<!-- <div class="outseeQualityControl_box_btn">
<el-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_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 :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 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
: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 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
>
</el-tooltip>
</div>
<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' : '']">
<span :class="[data.ruleName == '非编码问题' ? 'spans' : '']">{{ data.ruleName
}}</span>
</div>
<!-- <span class="_score"> -{{ data.score }}<span></span></span> -->
</span>
</template>
</el-tree>
</div>
<div class="outseeQualityControl_box_Content_right_bottom_tree" v-show="!isleftcodeShow">
<el-tree :data="rightdepartmentTree" :props="defaultProps" :default-expand-all="false"
ref="tree" node-key="id" @node-click="handleNodeClick" v-show="!isnodataShow">
<template #default="{ node, data }">
<span class="custom-tree-node">
<div class="leftbox" :class="[data.ruleName != '编码问题' ? 'leftboxs' : '']">
<span :class="[data.ruleName == '编码问题' ? 'spans' : '']">{{ data.ruleName
}}</span>
</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>
</span>
</template>
</el-tree>
</div>
<div
class="outseeQualityControl_box_Content_right_bottom_tree"
v-show="!isleftcodeShow"
>
<el-tree
:data="rightdepartmentTree"
:props="defaultProps"
:default-expand-all="false"
ref="tree"
node-key="id"
@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>
</div>
</div>
</div>
</template>
<script>
import http from '../utils/http';
import { reactive, toRefs, onMounted, nextTick, computed } from '@vue/composition-api';
import medicalRecordHomepage from '../components/medicalRecordHomepage/index.vue';
import { useRoute, useRouter } from '../utils/useVueRouter';
import $ from 'jquery';
import { setItem, getItem } from '../utils/auth';
import http from "../utils/http";
import {
reactive,
toRefs,
onMounted,
nextTick,
computed,
} from "@vue/composition-api";
import medicalRecordHomepage from "../components/medicalRecordHomepage/index.vue";
import { useRoute, useRouter } from "../utils/useVueRouter";
import $ from "jquery";
import { setItem, getItem } from "../utils/auth";
import { Message } from "element-ui";
export default {
components: {
medicalRecordHomepage,
},
name: 'outseeQualityControl',
setup() {
let state = reactive({
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: [], //
});
var route = useRoute();
onMounted(() => {
console.log(route.value);
});
//同步数据
const getSynchronous = (id) => {
http
.post(`/medical/get/Synchronization?id=${route.value.query.id}`)
.then((data) => {
// ElMessage.success(data.message);
})
.catch((error) => {
// ElMessage.error(error);
});
};
//获取到点击的值
const handleNodeClick = (data) => {
let arr = document.getElementsByClassName(data.columnName);
let dom = $('#medicalRecord').find('#clickColor');
if (dom.length != 0) {
dom.removeAttr('id');
}
arr[0].setAttribute('id', 'clickColor');
scrollTop();
};
function 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
);
}
}
const loadingOption1 = {
// 加载loading
fullscreen: true,
text: '正在加载...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.5)',
};
// 获取病案首页数据
function getHomePage(id) {
http
.post(`/medical/Get/HomeHisPage?id=${id}`, {})
.then((data) => {
state.medicalrecord = data;
state.keys = Object.keys(data);
})
.catch((error) => { });
}
//获取患者基本信息树形数据
function getScoringDetails(id) {
http
.post(`/medical/get/GetCaseHisRule?id=${id}`, {})
.then((data) => {
state.departmentTree = data[0].rulesLists;
state.rightdepartmentTree = data[1].rulesLists;
state.fruleCount = data[0].ruleCount;
state.ruleCount = data[1].ruleCount;
if (state.fruleCount == 0 || state.ruleCount == 0) {
state.isnodataShow = true;
}
})
.catch((error) => { });
}
//点击非编码问题
const leftcode = () => {
state.isleftcodeShow = true;
};
//点击编码问题
const rightcode = () => {
state.isleftcodeShow = false;
};
onMounted(() => {
if (route.value.query.id) {
getHomePage(route.value.query.id);
getScoringDetails(route.value.query.id);
setItem('outpid', route.value.query.id)
}
components: {
medicalRecordHomepage,
},
name: "outseeQualityControl",
setup() {
let state = reactive({
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: [], //
});
var route = useRoute();
onMounted(() => {
console.log(route.value);
});
//同步数据
const getSynchronous = (id) => {
http
.post(`/medical/get/Synchronization?id=${route.value.query.id}`)
.then((data) => {
Message.success(data.message);
})
.catch((error) => {
Message.error(error);
});
return {
...toRefs(state),
handleNodeClick,
leftcode,
rightcode,
getSynchronous,
};
},
};
//获取到点击的值
const handleNodeClick = (data) => {
let arr = document.getElementsByClassName(data.columnName);
let dom = $("#medicalRecord").find("#clickColor");
if (dom.length != 0) {
dom.removeAttr("id");
}
arr[0].setAttribute("id", "clickColor");
scrollTop();
};
function 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
);
}
}
const loadingOption1 = {
// 加载loading
fullscreen: true,
text: "正在加载...",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.5)",
};
// 获取病案首页数据
function getHomePage(id) {
http
.post(`/medical/Get/HomeHisPage?id=${id}`, {})
.then((data) => {
state.medicalrecord = data;
state.keys = Object.keys(data);
})
.catch((error) => {});
}
//获取患者基本信息树形数据
function getScoringDetails(id) {
http
.post(`/medical/get/GetCaseHisRule?id=${id}`, {})
.then((data) => {
state.departmentTree = data[0].rulesLists;
state.rightdepartmentTree = data[1].rulesLists;
state.fruleCount = data[0].ruleCount;
state.ruleCount = data[1].ruleCount;
if (state.fruleCount == 0 || state.ruleCount == 0) {
state.isnodataShow = true;
}
})
.catch((error) => {});
}
//点击非编码问题
const leftcode = () => {
state.isleftcodeShow = true;
};
//点击编码问题
const rightcode = () => {
state.isleftcodeShow = false;
};
onMounted(() => {
if (route.value.query.id) {
getHomePage(route.value.query.id);
getScoringDetails(route.value.query.id);
setItem("outpid", route.value.query.id);
}
});
return {
...toRefs(state),
handleNodeClick,
leftcode,
rightcode,
getSynchronous,
};
},
};
</script>
<style lang="scss">
// @import '../styles/mixin.scss';
// @import 'styles/media/components/outseeQualityControl.scss';
.outseeQualityControl {
height: 96%;
background-color: white;
padding: 20px;
overflow: hidden;
position: relative;
#clickColor {
background-color: #f3bf18;
}
&_box {
height: 100%;
background-color: white;
padding: 20px;
overflow: hidden;
position: relative;
width: 100%;
background-color: #f3fafd;
padding: 10px;
#clickColor {
background-color: #f3bf18;
&_btn {
width: 100%;
display: flex;
justify-content: end;
margin-bottom: 10px;
}
&_header {
height: r(25, 1920);
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;
}
}
&_box {
height: 100%;
width: 100%;
background-color: #f3fafd;
&_Content {
display: flex;
flex-direction: row;
height: 95%;
width: 100%;
justify-content: space-between;
align-items: center;
align-content: center;
flex-wrap: nowrap;
padding: 10px;
margin-top: 10px;
&_btn {
width: 100%;
&_left {
width: 65%;
background-color: #ffffff;
height: 900px;
padding: 0 8%;
overflow: auto;
overflow-x: hidden;
}
&_right {
width: 34%;
height: 900px;
display: flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
&_top {
background: #ffffff;
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: 45%;
border-radius: 8px;
background-image: url("../assets/img/BG.png");
background-repeat: no-repeat;
background-position: center;
display: flex;
justify-content: end;
margin-bottom: 10px;
}
&_header {
height: r(25, 1920);
background: url('../assets/img/dataMaintenance/title.png') no-repeat;
background-size: 100% 100%;
&_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;
}
width: 100%;
&_span22 {
color: #2cabe3;
font-size: 16px;
font-weight: 500;
}
}
.leftblue {
color: #2cabe3;
}
}
&_left11 {
flex: 1;
height: 45%;
border-radius: 8px;
background-color: #fff;
background-repeat: no-repeat;
background-position: center;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
&_text {
font-size: 13px;
font-family: PingFang SC;
&_div1 {
flex: 1;
display: flex;
justify-content: center;
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;
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: 45%;
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: 45%;
border-radius: 8px;
background-image: url("../assets/img/BG.png");
background-repeat: no-repeat;
background-position: center;
display: flex;
flex-direction: row;
height: 95%;
width: 100%;
justify-content: space-between;
align-items: center;
align-content: center;
flex-wrap: nowrap;
margin-top: 10px;
&_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 {
width: 100%;
height: 2%;
background-color: #ffff;
display: flex;
&_line {
width: 50%;
height: 30%;
border-radius: 40px;
background-color: #2cabe3;
margin: 5px 0 5px 0;
}
&_line2 {
width: 50%;
height: 30%;
border-radius: 40px;
background-color: #2cabe3;
margin: 5px 0 5px 0;
margin-left: 50%;
}
}
&_bottom {
background: #ffffff;
border-radius: 8px;
height: 100%;
width: 100%;
padding: 0 5% 5% 5%;
&_left {
width: 65%;
background-color: #ffffff;
height: 900px;
&_title {
font-size: 14px;
font-family: PingFang SC;
font-weight: bold;
color: #6a707e;
line-height: 40px;
padding: 0 8%;
height: 10%;
overflow: auto;
overflow-x: hidden;
// @include flexLayout;
justify-content: left;
}
&_tree {
.is-leaf {
visibility: hidden;
}
&_right {
width: 34%;
height: 900px;
display: flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
&_top {
background: #ffffff;
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;
height: 90%;
overflow-x: hidden;
// padding: 3% 10%;
&_left {
flex: 1;
height: 45%;
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;
}
}
.leftboxs {
border-bottom: 1px dashed #dddddd;
}
&_left11 {
flex: 1;
height: 45%;
border-radius: 8px;
background-color: #fff;
background-repeat: no-repeat;
background-position: center;
display: flex;
&_div1 {
flex: 1;
display: flex;
justify-content: center;
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;
}
&_span11 {
color: #2cabe3;
font-size: 26px;
font-weight: 700;
}
&_span22 {
color: #2cabe3;
font-size: 16px;
font-weight: 500;
}
}
.leftblue {
color: #2cabe3;
}
}
.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;
}
}
&_right {
height: 45%;
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;
}
}
}
._score {
font-size: 13px;
font-family: PingFang SC;
font-weight: 400;
color: #ff3333;
line-height: 22px;
&_right11 {
flex: 1;
height: 45%;
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: #2cabe3;
font-size: 26px;
font-weight: 700;
}
&_span2 {
color: #2cabe3;
font-size: 16px;
font-weight: 500;
}
}
}
}
width: 50%;
&_center {
width: 100%;
height: 2%;
background-color: #ffff;
display: flex;
display: flex;
flex-direction: row;
justify-content: flex-end;
padding-right: 5%;
&_line {
width: 50%;
height: 30%;
border-radius: 40px;
background-color: #2cabe3;
margin: 5px 0 5px 0;
}
span {
color: rgba(106, 112, 126, 1);
}
}
&_line2 {
width: 50%;
height: 30%;
border-radius: 40px;
background-color: #2cabe3;
margin: 5px 0 5px 0;
margin-left: 50%;
}
}
.el-tree {
width: 98%;
height: 85px;
&_bottom {
background: #ffffff;
border-radius: 8px;
height: 100%;
width: 100%;
padding: 0 5% 5% 5%;
.el-tree-node__content {
height: 85px;
}
&_title {
font-size: 14px;
font-family: PingFang SC;
font-weight: bold;
color: #6a707e;
line-height: 40px;
.el-tree-node.is-current > .el-tree-node__content {
height: 85px;
height: 10%;
/* background: #5fc3f0; */
// @include flexLayout;
.custom-tree-node {
.leftbox {
width: 100%;
display: flex;
align-items: center;
height: 100%;
justify-content: left;
span {
font-size: 14px;
font-family: PingFang SC;
font-weight: 400;
line-height: 22px;
text-align: start;
}
}
&_tree {
.is-leaf {
visibility: hidden;
}
height: 90%;
overflow-x: hidden;
.leftboxs {
border-bottom: 1px dashed #dddddd;
}
.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;
}
.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 {
width: 100%;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-content: center;
justify-content: space-between;
align-items: center;
height: 100%;
}
.el-tree-node {
white-space: initial;
}
.el-tree>.el-tree-node {
//父级加下滑线
// border-bottom: 1px dashed #dddddd;
}
&_nodata {
height: 80%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
//修改三角icon样式
.el-icon-caret-right {
font-size: 18px;
color: #e4e4e4;
}
&_img {
width: 80px;
height: 80px;
}
.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;
&_text {
color: #abafb3;
font-family: PingFang SC;
font-size: 14px;
}
}
}
}
}
}
}
.custom-tree-node {
width: 100%;
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 {
//父级加下滑线
// 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>
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