Commit 5b537046 by tangyufeng

1.智能分组 单选

2.查看下文案
parent 1fecaefe
......@@ -13,13 +13,14 @@ import outseeQualityControl from "@/views/outseeQualityControl.vue";
import outpatientDetails from "@/views/outpatientDetails.vue";
import outHistorygrouping from "@/views/outHistorygrouping.vue";
import outClinicalpathway from "@/views/outClinicalpathway.vue";
import Entrypath from '@/views/Entrypath.vue';
import Entrypath from "@/views/Entrypath.vue";
Vue.use(Router);
// const baseUrl = '/his/'
const router = new Router({
// mode: baseUrl,
routes: [{
routes: [
{
path: "*",
component: (resolve) => require(["@/components/404.vue"], resolve),
},
......@@ -44,10 +45,9 @@ const router = new Router({
},
//进入路径
{
path:'/Entrypath',
name:'Entrypath',
component:Entrypath
path: "/Entrypath",
name: "Entrypath",
component: Entrypath,
},
//临床路径外放页面
{
......
......@@ -9,20 +9,10 @@
<!-- 智能分组 -->
<div class="outsetgrouping" id="setGroupingbox">
<div class="outsetgrouping_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>
</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">
<span class="iconfont icon-ipr_tijiao"></span>
<span class="s2">提交</span>
</el-button>
......@@ -30,37 +20,27 @@
<div class="outsetgrouping_top">
<div class="outsetgrouping_top_message">
<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">
住院号:<span>{{ casehisObj ? casehisObj.a48 : "" }}</span>
</div>
</div>
<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">
住院次数:<span>{{ casehisObj ? casehisObj.a49 : "" }}</span>
</div>
</div>
<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">
医疗付费方式:<span>{{ casehisObj ? casehisObj.a46C : "" }}</span>
</div>
</div>
<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">
分组类型:<span>{{
casehisObj ? casehisObj.drgs.disNature : ""
}}</span>
分组类型:<span>{{ casehisObj ? casehisObj.drgs.disNature : "" }}</span>
</div>
</div>
</div>
......@@ -68,31 +48,21 @@
<div class="outsetgrouping_top2">
<div class="outsetgrouping_top2_message">
<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">
当前入组编码:<span>{{
casehisObj ? casehisObj.drgs.code : ""
}}</span>
当前入组编码:<span>{{ casehisObj ? casehisObj.drgs.code : "" }}</span>
</div>
</div>
<div class="outsetgrouping_top2_message_centert">
<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">
入组名称:<span>{{ casehisObj ? casehisObj.drgs.name : "" }}</span>
</div>
</div>
<div class="outsetgrouping_top2_message_right">
<span class="outsetgrouping_top2_message_right_tu6"
><img src="../assets/img/jiner.png" alt=""
/></span>
<span class="outsetgrouping_top2_message_right_tu6"><img src="../assets/img/jiner.png" alt="" /></span>
<div class="outsetgrouping_top2_message_right_t3">
预计DRG支付费用:<span>{{
casehisObj ? casehisObj.drgs.actualfee : ""
}}</span>
预计DRG支付费用:<span>{{ casehisObj ? casehisObj.drgs.actualfee : "" }}</span>
</div>
</div>
</div>
......@@ -103,44 +73,28 @@
<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" 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"
/>
<!-- <input type="radio" name="radios" v-model="radio" /> -->
<input type="radio" name="radios" :value="item.id" @input="radios" />
</div>
<div class="outsetgrouping_centent_totalnum_left_text">
<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.opsMapName }}</span>
</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.opsCode }}</span>
</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.opsOrder }}</span>
</div>
<div
class="outsetgrouping_centent_totalnum_left_text_msg1_text44"
>
<div class="outsetgrouping_centent_totalnum_left_text_msg1_text44">
<span> 入组类型:{{ item.disNature }}</span>
</div>
</div>
......@@ -219,19 +173,12 @@
</div>
<!-- 弹出层 -->
<el-dialog
center
:visible.sync="addrecordEnrollmentShow"
:before-close="closeDialog"
:fullscreen="true"
>
<el-dialog center :visible.sync="addrecordEnrollmentShow" :before-close="closeDialog" :fullscreen="true">
<!-- 病案入组 -->
<div class="outaddrecordEnrollment" id="outaddrecordEnrollment">
<div class="outaddrecordEnrollment_search">
<div class="outaddrecordEnrollment_search_div1">
<span class="outaddrecordEnrollment_search_div1_span1"
><span style="color: red">*</span> 主诊断:</span
>
<span class="outaddrecordEnrollment_search_div1_span1"><span style="color: red">*</span> 主诊断:</span>
<el-select
class="outaddrecordEnrollment_search_div1_inp1"
v-model="outaddsearchForm.diagName"
......@@ -243,16 +190,9 @@
size="mini"
clearable
>
<el-option
v-for="item in zdoptions"
:key="item.name"
:label="item.name"
:value="item.name"
/>
<el-option v-for="item in zdoptions" :key="item.name" :label="item.name" :value="item.name" />
</el-select>
<span class="outaddrecordEnrollment_search_div1_span2"
>其他诊断:</span
>
<span class="outaddrecordEnrollment_search_div1_span2">其他诊断:</span>
<el-select
class="outaddrecordEnrollment_search_div1_inp2"
v-model="otdiagName"
......@@ -267,39 +207,18 @@
size="mini"
clearable
>
<el-option
v-for="item in otzdoptions"
:key="item.name"
:label="item.name"
:value="item.name"
/>
<el-option v-for="item in otzdoptions" :key="item.name" :label="item.name" :value="item.name" />
</el-select>
<span class="outaddrecordEnrollment_search_div1_span3">年龄:</span>
<el-input
v-model="ageinput"
placeholder="请输入年龄"
class="outaddrecordEnrollment_search_div1_inp3"
size="mini"
/>&nbsp;
<span class="outaddrecordEnrollment_search_div1_span4"
>ICU总时长:</span
>
<el-input
v-model="icuinput"
placeholder="请输入ICU总时长"
class="outaddrecordEnrollment_search_div1_inp4"
size="mini"
/>&nbsp;分钟
<el-input v-model="ageinput" placeholder="请输入年龄" class="outaddrecordEnrollment_search_div1_inp3" size="mini" />&nbsp;
<span class="outaddrecordEnrollment_search_div1_span4">ICU总时长:</span>
<el-input v-model="icuinput" placeholder="请输入ICU总时长" class="outaddrecordEnrollment_search_div1_inp4" size="mini" />&nbsp;分钟
<span class="outaddrecordEnrollment_search_div1_span5">
<el-button size="mini" type="primary" @click="addsearch"
>查询</el-button
>
<el-button size="mini" type="primary" @click="addsearch">查询</el-button>
</span>
</div>
<div class="outaddrecordEnrollment_search_div2">
<span class="outaddrecordEnrollment_search_div2_span1"
>主手术:</span
>
<span class="outaddrecordEnrollment_search_div2_span1">主手术:</span>
<el-select
class="outaddrecordEnrollment_search_div2_inp1"
v-model="outaddsearchForm.opsName"
......@@ -311,17 +230,10 @@
size="mini"
clearable
>
<el-option
v-for="item in ssoptions"
:key="item.name"
:label="item.name"
:value="item.name"
/>
<el-option v-for="item in ssoptions" :key="item.name" :label="item.name" :value="item.name" />
</el-select>
<span class="outaddrecordEnrollment_search_div2_span2"
>其他手术:</span
>
<span class="outaddrecordEnrollment_search_div2_span2">其他手术:</span>
<el-select
class="outaddrecordEnrollment_search_div2_inp2"
v-model="otopsName"
......@@ -336,59 +248,25 @@
size="mini"
clearable
>
<el-option
v-for="item in otssoptions"
:key="item.name"
:label="item.name"
:value="item.name"
/>
<el-option v-for="item in otssoptions" :key="item.name" :label="item.name" :value="item.name" />
</el-select>
<span class="outaddrecordEnrollment_search_div2_span3"
>新生儿年龄:</span
>
<el-input
v-model="ageinput2"
placeholder="请输入新生儿年龄"
class="outaddrecordEnrollment_search_div2_inp3"
size="mini"
/>&nbsp;
<span class="outaddrecordEnrollment_search_div2_span4"
>离院方式:</span
>
<el-select
v-model="leavevalue"
placeholder="请选择离院方式"
size="mini"
class="outaddrecordEnrollment_search_div2_inp4"
>
<el-option
v-for="item in leaveoptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
<span class="outaddrecordEnrollment_search_div2_span3">新生儿年龄:</span>
<el-input v-model="ageinput2" placeholder="请输入新生儿年龄" class="outaddrecordEnrollment_search_div2_inp3" size="mini" />&nbsp;
<span class="outaddrecordEnrollment_search_div2_span4">离院方式:</span>
<el-select v-model="leavevalue" placeholder="请选择离院方式" size="mini" class="outaddrecordEnrollment_search_div2_inp4">
<el-option v-for="item in leaveoptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</div>
<div class="outaddrecordEnrollment_search_div3">
<span class="outaddrecordEnrollment_search_div3_span1">性别:</span>
<el-radio-group v-model="sexvalue">
<el-radio
v-for="item in sexoptions"
:key="item.value"
:label="item.value"
size="small"
>{{ item.label }}</el-radio
>
<el-radio v-for="item in sexoptions" :key="item.value" :label="item.value" size="small">{{ item.label }}</el-radio>
</el-radio-group>
</div>
</div>
<div class="outaddrecordEnrollment_centent">
<div
class="outaddrecordEnrollment_centent_totalnum"
v-for="(item, index) in addCorePercents"
:key="index"
>
<div class="outaddrecordEnrollment_centent_totalnum" v-for="(item, index) in addCorePercents" :key="index">
<div class="outaddrecordEnrollment_centent_totalnum_left">
<div class="outaddrecordEnrollment_centent_totalnum_left_text1">
<span>分组编码:{{ item.code }}</span>
......@@ -403,26 +281,11 @@
</div>
</div>
<div class="outaddrecordEnrollment_centent_totalnum_right">
<div
:id="`indexChart11` + index"
class="outaddrecordEnrollment_centent_totalnum_right_echar1"
></div>
<div
:id="`indexChart11two` + index"
class="outaddrecordEnrollment_centent_totalnum_right_echar2"
></div>
<div
:id="`indexChart11tree` + index"
class="outaddrecordEnrollment_centent_totalnum_right_echar3"
></div>
<div
:id="`indexChart11fore` + index"
class="outaddrecordEnrollment_centent_totalnum_right_echar4"
></div>
<div
:id="`indexChart11file` + index"
class="outaddrecordEnrollment_centent_totalnum_right_echar5"
></div>
<div :id="`indexChart11` + index" class="outaddrecordEnrollment_centent_totalnum_right_echar1"></div>
<div :id="`indexChart11two` + index" class="outaddrecordEnrollment_centent_totalnum_right_echar2"></div>
<div :id="`indexChart11tree` + index" class="outaddrecordEnrollment_centent_totalnum_right_echar3"></div>
<div :id="`indexChart11fore` + index" class="outaddrecordEnrollment_centent_totalnum_right_echar4"></div>
<div :id="`indexChart11file` + index" class="outaddrecordEnrollment_centent_totalnum_right_echar5"></div>
</div>
</div>
<!-- 如果没有数据时的样式 -->
......@@ -437,16 +300,11 @@
请输入要搜索的内容
</div>
</div> -->
<div
v-show="addnolistShow"
class="outaddrecordEnrollment_centent_nodata"
>
<div v-show="addnolistShow" class="outaddrecordEnrollment_centent_nodata">
<div class="outaddrecordEnrollment_centent_nodata_img">
<img src="../assets/img/nodata.png" alt="" />
</div>
<div class="outaddrecordEnrollment_centent_nodata_text">
暂无数据
</div>
<div class="outaddrecordEnrollment_centent_nodata_text">暂无数据</div>
</div>
</div>
......@@ -457,13 +315,7 @@
</template>
<script>
import http from "../utils/http";
import {
reactive,
toRefs,
onMounted,
nextTick,
computed,
} from "@vue/composition-api";
import { reactive, toRefs, onMounted, nextTick, computed } from "@vue/composition-api";
import { decimal } from "../utils/decimal";
import { Message } from "element-ui";
......@@ -480,9 +332,9 @@ export default {
opsName: "",
},
CorePercents: [],
coreID: 0,
typesel: 1,
radio: "", //单选框选中值
radio: undefined, //单选框选中值
drug: [],
nodataShow: true, //没有搜索时显示
nolistShow: false, //没有搜索数据的时候显示
......@@ -579,8 +431,7 @@ export default {
//获取基本数据
function getCaseHis(code) {
http
.post(`/medical/Get/casehisData?id=${code}`, {})
http.post(`/medical/Get/casehisData?id=${code}`, {})
.then((data) => {
state.casehisObj = data;
console.log("data", data);
......@@ -593,8 +444,7 @@ export default {
//获取列表数据
const getlist = () => {
http
.post(`/medical/get/GetCorePercents`, {
http.post(`/medical/get/GetCorePercents`, {
Type: 1,
DiagMapList: state.diagMapList,
OpsMapList: state.opsMapList,
......@@ -608,43 +458,25 @@ export default {
// 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}`
);
this.$nextTick();
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 == "") {
if (!state.radio) {
Message.warning({
message: "请先选择要入组的病组",
type: "warning",
});
} else {
http
.post(
`/medical/Update/casehisById?PatientId=${route.value.query.id}`,
[state.radio]
)
http.post(`/medical/Update/casehisById?PatientId=${route.value.query.id}`, [state.coreID])
.then((data) => {
Message.success({
message: `${data.message}`,
......@@ -678,8 +510,7 @@ export default {
//获取诊断数据
const remoteMethod = (query) => {
if (query) {
http
.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${1}`, {})
http.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${1}`, {})
.then((data) => {
state.zdoptions = data;
})
......@@ -691,8 +522,7 @@ export default {
//获取其他诊断数据
const otremoteMethod = (query) => {
if (query) {
http
.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${1}`, {})
http.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${1}`, {})
.then((data) => {
state.otzdoptions = data;
})
......@@ -705,8 +535,7 @@ export default {
//获取主手术,其他手术的数据
const ssremoteMethod = (query) => {
if (query) {
http
.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${2}`, {})
http.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${2}`, {})
.then((data) => {
state.ssoptions = data;
})
......@@ -718,8 +547,7 @@ export default {
//获取其他手术的数据
const otssremoteMethod = (query) => {
if (query) {
http
.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${2}`, {})
http.post(`/medical/get/GetDiagOpss?diagName=${query}&type=${2}`, {})
.then((data) => {
state.otssoptions = data;
})
......@@ -786,8 +614,7 @@ export default {
//获取列表数据
const addgetlist = () => {
http
.post(`/medical/post/GetCorePercentsByAssemble`, {
http.post(`/medical/post/GetCorePercentsByAssemble`, {
a14: state.ageinput ? state.ageinput : "0", // 年龄
a16: state.ageinput2 ? state.ageinput2 : "0", // 年龄不足一周岁(天)
a12C: state.sexvalue, // 性别
......@@ -805,52 +632,20 @@ export default {
}
// state.totalCount = data.totalCount;
for (var i = 0; i < state.addCorePercents.length; i++) {
initEcharts(
categoryChart11(
"药占比",
state.addCorePercents[i].drugPercent,
"#2CABE3"
),
`indexChart11${i}`
);
initEcharts(
categoryChart11(
"耗材占比",
state.addCorePercents[i].materialsPercent,
"#71D875"
),
`indexChart11two${i}`
);
initEcharts(
categoryChart11(
"检查占比",
state.addCorePercents[i].inspectPercent,
"#F35E77"
),
`indexChart11tree${i}`
);
initEcharts(
categoryChart11(
"检验占比",
state.addCorePercents[i].testPercent,
"#FFB321"
),
`indexChart11fore${i}`
);
initEcharts(
categoryChart11(
"其他",
state.addCorePercents[i].otherPercent,
"#C05EF3"
),
`indexChart11file${i}`
);
initEcharts(categoryChart11("药占比", state.addCorePercents[i].drugPercent, "#2CABE3"), `indexChart11${i}`);
initEcharts(categoryChart11("耗材占比", state.addCorePercents[i].materialsPercent, "#71D875"), `indexChart11two${i}`);
initEcharts(categoryChart11("检查占比", state.addCorePercents[i].inspectPercent, "#F35E77"), `indexChart11tree${i}`);
initEcharts(categoryChart11("检验占比", state.addCorePercents[i].testPercent, "#FFB321"), `indexChart11fore${i}`);
initEcharts(categoryChart11("其他", state.addCorePercents[i].otherPercent, "#C05EF3"), `indexChart11file${i}`);
(state.diagList = []), (state.opsList = []);
}
})
.catch((error) => {});
};
const radios = (e) => {
state.radio = e.target.value;
state.coreID = state.CorePercents.find((item) => item.id == e.target.value).coreID;
};
onMounted(() => {
getCaseHis(route.value.query.id);
if (state.searchForm.diagName.length > 0) {
......@@ -869,7 +664,6 @@ export default {
submit,
goback,
gosear,
addsearch,
addgetlist,
remoteMethod,
......@@ -878,6 +672,7 @@ export default {
addclear,
ssremoteMethod,
closeDialog,
radios,
};
},
};
......
......@@ -11,91 +11,66 @@
<div class="outpatientDetails_top">
<div class="outpatientDetails_top_div1">
<span class="span1">患者信息</span>
<el-button
class="outpatientDetails_top_div1_button"
type="primary"
size="mini"
@click="getControl"
>医嘱质控</el-button
>
<el-button class="outpatientDetails_top_div1_button" type="primary" size="mini" @click="getControl">医嘱质控</el-button>
<!-- <el-button size="mini" type="primary">医嘱质控</el-button> -->
</div>
<div class="outpatientDetails_top_message">
<div class="outpatientDetails_top_message_left">
<span class="outpatientDetails_top_message_left_tu1">
<img src="../assets/img/peo.png" alt=""
/></span>
<span class="outpatientDetails_top_message_left_tu1"> <img src="../assets/img/peo.png" alt="" /></span>
<div class="outpatientDetails_top_message_left_t1">
住院号:<span>{{ HistoryInfo.id }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_centert">
<span class="outpatientDetails_top_message_centert_tu2"
><img src="../assets/img/ka.png" alt=""
/></span>
<span class="outpatientDetails_top_message_centert_tu2"><img src="../assets/img/ka.png" alt="" /></span>
<div class="outpatientDetails_top_message_centert_t2">
住院次数:<span>{{ HistoryInfo.a49 }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_right">
<span class="outpatientDetails_top_message_right_tu3"
><img src="../assets/img/qian.png" alt=""
/></span>
<span class="outpatientDetails_top_message_right_tu3"><img src="../assets/img/qian.png" alt="" /></span>
<div class="outpatientDetails_top_message_right_t3">
医疗付费方式:<span>{{ HistoryInfo.paymentType }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_low">
<span class="outpatientDetails_top_message_low_tu4"
><img src="../assets/img/daoru.png" alt=""
/></span>
<span class="outpatientDetails_top_message_low_tu4"><img src="../assets/img/daoru.png" alt="" /></span>
<div class="outpatientDetails_top_message_low_t4">
分组类型:<span>{{ HistoryInfo.disNature }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_div6">
<span class="outpatientDetails_top_message_div6_tu6"
><img src="../assets/img/lx2.png" alt=""
/></span>
<span class="outpatientDetails_top_message_div6_tu6"><img src="../assets/img/lx2.png" alt="" /></span>
<div class="outpatientDetails_top_message_div6_t6">
病人类型:<span>{{HistoryInfo.patientType}}</span>
病人类型:<span>{{ HistoryInfo.patientType }}</span>
</div>
</div>
<div class="outpatientDetails_top_message_div5">
<span class="outpatientDetails_top_message_div5_tu5"
><img src="../assets/img/je.png" alt=""
/></span>
<span class="outpatientDetails_top_message_div5_tu5"><img src="../assets/img/je.png" alt="" /></span>
<div class="outpatientDetails_top_message_div5_t5">
自费占比:<span>{{HistoryInfo.ownProportion !=undefined? decimal(HistoryInfo.ownProportion)+'%':''}}</span>
自费占比:<span>{{ HistoryInfo.ownProportion != undefined ? decimal(HistoryInfo.ownProportion) + "%" : "" }}</span>
</div>
</div>
</div>
</div>
<div class="outpatientDetails_msg">
<span class="outpatientDetails_msg_tu4"
><img src="../assets/img/zu.png" alt=""
/></span>
<span class="outpatientDetails_msg_tu4"><img src="../assets/img/zu.png" alt="" /></span>
<span>分组:{{ HistoryInfo.doctorName }}</span>
<span>基准点数:{{ decimal(HistoryInfo.rw) }}</span>
<span>病种分值:{{ decimal(HistoryInfo.rw) }}</span>
<span>预计DRG支付费用:{{ decimal(HistoryInfo.actualfee) }}</span>
<span>总费用:{{ decimal(HistoryInfo.totalFee) }}</span>
<span>预计盈亏:{{ decimal(HistoryInfo.profitLoss) }}</span>
<span>院内历年平均费用:{{ decimal(HistoryInfo.avgFee) }}</span>
<span>院内历年平均住院天数:{{ decimal(HistoryInfo.days) }}</span>
<!-- <span>院内历年平均费用:{{ decimal(HistoryInfo.avgFee) }}</span>
<span>院内历年平均住院天数:{{ decimal(HistoryInfo.days) }}</span> -->
</div>
<div
class="outpatientDetails_fenqu"
v-if="lowMagnification != 0 && highMagnification != 0"
>
<div class="outpatientDetails_fenqu" v-if="lowMagnification != 0 && highMagnification != 0">
<div class="outpatientDetails_fenqu_di">
<div class="outpatientDetails_fenqu_di_bb">
<div class="outpatientDetails_fenqu_di_bb_div1">
<span
class="outpatientDetails_fenqu_di_bb_div1_num"
:style="{ marginLeft: totalwidth - 1 + '%', color: totalcolor }"
>{{ decimal(HistoryInfo.totalFee) }}</span
>
<span class="outpatientDetails_fenqu_di_bb_div1_num" :style="{ marginLeft: totalwidth - 1 + '%', color: totalcolor }">{{
decimal(HistoryInfo.totalFee)
}}</span>
<span
class="outpatientDetails_fenqu_di_bb_div1_he"
:style="{
......@@ -105,69 +80,33 @@
></span>
</div>
<div class="outpatientDetails_fenqu_di_bb_div2">
<span
class="outpatientDetails_fenqu_di_bb_div2_span1"
:style="{ width: lowwidth + '%' }"
><span
class="outpatientDetails_fenqu_di_bb_div2_span1_t1"
:title="'低倍率区域:&lt;=' + Math.round(lowMagnification)"
<span class="outpatientDetails_fenqu_di_bb_div2_span1" :style="{ width: lowwidth + '%' }"
><span class="outpatientDetails_fenqu_di_bb_div2_span1_t1" :title="'低倍率区域:&lt;=' + Math.round(lowMagnification)"
>低倍率区域:&lt;={{ Math.round(lowMagnification) }}</span
></span
>
<span
class="outpatientDetails_fenqu_di_bb_div2_span2"
:style="{ width: contentwidth + '%' }"
<span class="outpatientDetails_fenqu_di_bb_div2_span2" :style="{ width: contentwidth + '%' }"
><span
class="outpatientDetails_fenqu_di_bb_div2_span2_t2"
:title="
'正常区域:' +
Math.round(lowMagnification) +
1 +
'~' +
(Math.round(highMagnification) - 1)
"
>正常区域:{{
Math.round(lowMagnification) +
1 +
"~" +
(Math.round(highMagnification) - 1)
}}</span
:title="'正常区域:' + Math.round(lowMagnification) + 1 + '~' + (Math.round(highMagnification) - 1)"
>正常区域:{{ Math.round(lowMagnification) + 1 + "~" + (Math.round(highMagnification) - 1) }}</span
></span
>
<span
class="outpatientDetails_fenqu_di_bb_div2_span3"
:style="{ width: heightwidth + '%' }"
><span
class="outpatientDetails_fenqu_di_bb_div2_span3_t3"
:title="'高倍率区域:>=' + Math.round(highMagnification)"
<span class="outpatientDetails_fenqu_di_bb_div2_span3" :style="{ width: heightwidth + '%' }"
><span class="outpatientDetails_fenqu_di_bb_div2_span3_t3" :title="'高倍率区域:>=' + Math.round(highMagnification)"
>高倍率区域:>={{ Math.round(highMagnification) }}</span
></span
>
</div>
<div class="outpatientDetails_fenqu_di_bb_div3">
<span
class="outpatientDetails_fenqu_di_bb_div3_span1"
:style="{ width: lowwidth + '%' }"
>
0
</span>
<span
class="outpatientDetails_fenqu_di_bb_div3_span2"
:style="{ width: contentwidth + '%' }"
>
<span class="outpatientDetails_fenqu_di_bb_div3_span1" :style="{ width: lowwidth + '%' }"> 0 </span>
<span class="outpatientDetails_fenqu_di_bb_div3_span2" :style="{ width: contentwidth + '%' }">
{{ Math.round(lowMagnification) }}
</span>
<span
class="outpatientDetails_fenqu_di_bb_div3_span3"
:style="{ width: heightwidth + '%' }"
>
<span class="outpatientDetails_fenqu_di_bb_div3_span2_nmm1">{{
Math.round(highMagnification)
}}</span>
<span class="outpatientDetails_fenqu_di_bb_div3_span2_nmm2">{{
Math.round(heightnum)
}}</span>
<span class="outpatientDetails_fenqu_di_bb_div3_span3" :style="{ width: heightwidth + '%' }">
<span class="outpatientDetails_fenqu_di_bb_div3_span2_nmm1">{{ Math.round(highMagnification) }}</span>
<span class="outpatientDetails_fenqu_di_bb_div3_span2_nmm2">{{ Math.round(heightnum) }}</span>
</span>
</div>
</div>
......@@ -182,9 +121,7 @@
<!-- 有数据 -->
<div class="outpatientDetails_bottom_leftShowBox">
<div class="outpatientDetails_bottom_leftShowBox_left">
<div class="outpatientDetails_bottom_leftShowBox_left_btbox">
费用分类
</div>
<div class="outpatientDetails_bottom_leftShowBox_left_btbox">费用分类</div>
<el-table
ref="monthlyPlanTable"
:data="tableData1"
......@@ -201,81 +138,38 @@
@row-click="eowclick"
@expand-change="changeRowClick"
>
<el-table-column
prop="iteM_TYPE"
label="项目名称"
width="110"
header-align="center"
align="center"
>
</el-table-column>
<el-table-column
prop="totalFee"
label="总金额(小计)"
width="80"
header-align="center"
align="right"
>
<el-table-column prop="iteM_TYPE" label="项目名称" width="110" header-align="center" align="center"> </el-table-column>
<el-table-column prop="totalFee" label="总金额(小计)" width="80" header-align="center" align="right">
<template slot-scope="scope">
{{ decimal(scope.row.totalFee) }}
</template>
</el-table-column>
<el-table-column
prop="proportion"
label="占总费用(比例)"
width="90"
header-align="center"
align="right"
>
<el-table-column prop="proportion" label="占总费用(比例)" width="90" header-align="center" align="right">
<template slot-scope="scope">
{{
scope.row.proportion != undefined
? decimal(scope.row.proportion) + "%"
: ""
}}
{{ scope.row.proportion != undefined ? decimal(scope.row.proportion) + "%" : "" }}
</template>
</el-table-column>
<el-table-column
prop="coreTotalFee"
label="预计DRG设定费用(参考)"
width="100"
header-align="center"
align="right"
>
<el-table-column prop="coreTotalFee" label="预计DRG设定费用(参考)" width="100" header-align="center" align="right">
<template slot-scope="scope">
{{ decimal(scope.row.coreTotalFee) }}
</template>
</el-table-column>
<el-table-column
prop="coreProportion"
label="设定费用比例(参考)"
width="100"
header-align="center"
align="center"
>
<el-table-column prop="coreProportion" label="设定费用比例(参考)" width="100" header-align="center" align="center">
<template slot-scope="scope">
{{
scope.row.coreProportion != undefined
? decimal(scope.row.coreProportion) + "%"
: ""
}}
{{ scope.row.coreProportion != undefined ? decimal(scope.row.coreProportion) + "%" : "" }}
</template>
</el-table-column>
</el-table>
</div>
<!-- 中间有数据样式 表格-->
<div
class="outpatientDetails_bottom_leftShowBox_right"
v-if="tableData.length !== 0"
>
<div class="outpatientDetails_bottom_leftShowBox_right" v-if="tableData.length !== 0">
<div class="outpatientDetails_bottom_leftShowBox_right_treebtn">
<span
v-for="(item, ind) in btnoptions"
:key="ind"
class="outpatientDetails_bottom_leftShowBox_right_treebtn_span"
:class="{
outpatientDetails_bottom_leftShowBox_right_treebtn_span1:
ind == btnspanind,
outpatientDetails_bottom_leftShowBox_right_treebtn_span1: ind == btnspanind,
}"
@click="treebtn(item.value, ind)"
>{{ item.title }}</span
......@@ -290,18 +184,9 @@
:row-class-name="tableRowClassName"
height="92%"
>
<el-table-column
label="开单日期"
prop="chargeTime"
></el-table-column>
<el-table-column
label="项目编码"
prop="iteM_CODE"
></el-table-column>
<el-table-column
label="项目名称"
prop="iteM_NAME"
></el-table-column>
<el-table-column label="开单日期" prop="chargeTime"></el-table-column>
<el-table-column label="项目编码" prop="iteM_CODE"></el-table-column>
<el-table-column label="项目名称" prop="iteM_NAME"></el-table-column>
<el-table-column label="单价" prop="unitprice">
<template slot-scope="scope">
{{ decimal(scope.row.unitprice) }}
......@@ -313,10 +198,7 @@
{{ decimal(scope.row.fee) }}
</template>
</el-table-column>
<el-table-column
label="支付类型"
prop="carD_TYPE"
></el-table-column>
<el-table-column label="支付类型" prop="carD_TYPE"></el-table-column>
</el-table>
</div>
<!-- 中间表格无数据 -->
......@@ -327,22 +209,15 @@
:key="ind"
class="outpatientDetails_bottom_leftShowBox_right_treebtn_span"
:class="{
outpatientDetails_bottom_leftShowBox_right_treebtn_span1:
ind == btnspanind,
outpatientDetails_bottom_leftShowBox_right_treebtn_span1: ind == btnspanind,
}"
@click="treebtn(item.value, ind)"
>{{ item.title }}</span
>
</div>
<div class="outpatientDetails_bottom_leftShowBox_right_box">
<img
class="outpatientDetails_bottom_leftShowBox_right_box_img"
src="../assets/img/nodata.png"
alt=""
/>
<div class="outpatientDetails_bottom_leftShowBox_right_box_text">
暂无数据
</div>
<img class="outpatientDetails_bottom_leftShowBox_right_box_img" src="../assets/img/nodata.png" alt="" />
<div class="outpatientDetails_bottom_leftShowBox_right_box_text">暂无数据</div>
</div>
</div>
</div>
......@@ -368,15 +243,12 @@
<span
class="outpatientDetails_bottom_rght2_top_mes_span1"
:class="{
outpatientDetails_bottom_rght2_top_mes_span1background:
ind == span1Ind,
outpatientDetails_bottom_rght2_top_mes_span1background: ind == span1Ind,
}"
v-for="(item, ind) in typeCountDatas"
:key="ind"
@click="gettype(item.name, ind)"
>{{ item.name }}:<span :style="{ color: item.color }">{{
item.count
}}</span></span
>{{ item.name }}:<span :style="{ color: item.color }">{{ item.count }}</span></span
>
<!-- <span class="outpatientDetails_bottom_rght2_top_mes_span2">检查:<span style="color: #3ad330">0</span></span>
......@@ -394,30 +266,19 @@
:key="ind"
@click="getruleId(item.ruleId, ind)"
>
<span
v-show="item.projectRuleLevel == '禁止'"
class="outpatientDetails_bottom_rght2_bottom_li_title"
style="background: red"
>{{ item.projectRuleLevel }}</span
>
<span
v-show="item.projectRuleLevel == '提示'"
class="outpatientDetails_bottom_rght2_bottom_li_title"
style="background: #2aaae2"
>{{ item.projectRuleLevel }}</span
>
<span
v-show="item.projectRuleLevel == '警告'"
class="outpatientDetails_bottom_rght2_bottom_li_title"
style="background: #e9c621"
>{{ item.projectRuleLevel }}</span
>
<span v-show="item.projectRuleLevel == '禁止'" class="outpatientDetails_bottom_rght2_bottom_li_title" style="background: red">{{
item.projectRuleLevel
}}</span>
<span v-show="item.projectRuleLevel == '提示'" class="outpatientDetails_bottom_rght2_bottom_li_title" style="background: #2aaae2">{{
item.projectRuleLevel
}}</span>
<span v-show="item.projectRuleLevel == '警告'" class="outpatientDetails_bottom_rght2_bottom_li_title" style="background: #e9c621">{{
item.projectRuleLevel
}}</span>
<el-tooltip placement="bottom" trigger="hover">
<template #content>{{ item.notes }} </template>
<span class="outpatientDetails_bottom_rght2_bottom_li_cont">{{
item.notes
}}</span>
<span class="outpatientDetails_bottom_rght2_bottom_li_cont">{{ item.notes }}</span>
</el-tooltip>
</div>
</div>
......@@ -434,20 +295,13 @@
</template>
<script>
import http from "../utils/http";
import {
reactive,
toRefs,
onMounted,
nextTick,
computed,
ref,
} from "@vue/composition-api";
import { reactive, toRefs, onMounted, nextTick, computed, ref } 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";
import { Loading } from 'element-ui';
import { Loading } from "element-ui";
export default {
name: "outpatientDetails",
......@@ -471,11 +325,7 @@ export default {
};
//获取左侧表格数据
const getlefttable = () => {
http
.post(
`/medical/Post/getHisStaChargeType?code=${route.value.query.id}`,
{}
)
http.post(`/medical/Post/getHisStaChargeType?code=${route.value.query.id}`, {})
.then((data) => {
state.tableData1 = data;
if (state.tableData1 != []) {
......@@ -496,8 +346,7 @@ export default {
//异常问题接口 显示全部异常信息
const GetProjectRulesData = () => {
http
.post(`/medical/get/GetPRHisData?&code=${route.value.query.id}`, {})
http.post(`/medical/get/GetPRHisData?&code=${route.value.query.id}`, {})
.then((data) => {
state.options = data.projectRules;
state.typeCountDatas = data.typeCountDatas;
......@@ -518,11 +367,7 @@ export default {
state.showbottom = true;
var loadingInstance2 = Loading.service(loadingOption1);
http
.post(
`/medical/get/GetPRHisData?&code=${route.value.query.id}&projectType=${name}`,
{}
)
http.post(`/medical/get/GetPRHisData?&code=${route.value.query.id}&projectType=${name}`, {})
.then((data) => {
state.liInd = -1;
state.span1Ind = ind;
......@@ -543,11 +388,7 @@ export default {
//点击获取中间的表格数据
const getruleId = (ruleId, ind) => {
http
.post(
`/medical/Post/GetiFHisByItemCode?code=${route.value.query.id}&ruleId=${ruleId}`,
{}
)
http.post(`/medical/Post/GetiFHisByItemCode?code=${route.value.query.id}&ruleId=${ruleId}`, {})
.then((data) => {
state.liInd = ind;
state.tableData = data;
......@@ -557,8 +398,7 @@ export default {
//医嘱质控
const getControl = () => {
http
.post(`/global/post/SetCaseProjectRuleHis?id=${route.value.query.id}`)
http.post(`/global/post/SetCaseProjectRuleHis?id=${route.value.query.id}`)
.then((data) => {
Message.success(data.message);
})
......@@ -566,8 +406,7 @@ export default {
};
//获取患者信息数据
const getHistoryInfo = () => {
http
.post(`/medical/Get/getHisInfo?&code=${route.value.query.id}`, {})
http.post(`/medical/Get/getHisInfo?&code=${route.value.query.id}`, {})
.then((data) => {
state.HistoryInfo = data;
state.dipid = data.id;
......@@ -577,8 +416,7 @@ export default {
state.highMagnification = data.highMagnification;
// 高倍率>总费用 高倍率金额+高倍率金额*30%
if (data.highMagnification > data.totalFee) {
state.heightnum =
data.highMagnification + data.highMagnification * 0.3;
state.heightnum = data.highMagnification + data.highMagnification * 0.3;
console.log("state.heightnum", state.heightnum);
} else if (data.highMagnification < data.totalFee) {
// 高倍率<总费用 患者总费用的金额+患者总费用的金额*30%
......@@ -587,30 +425,17 @@ export default {
console.log("state.heightnum", state.heightnum);
}
// 低倍率宽度
state.lowwidth = Math.round(
(Math.round(data.lowMagnification) / Math.round(state.heightnum)) *
100
);
state.lowwidth = Math.round((Math.round(data.lowMagnification) / Math.round(state.heightnum)) * 100);
// 高倍率宽度
state.heightwidth = Math.round(
((Math.round(state.heightnum) -
Math.round(data.highMagnification)) /
Math.round(state.heightnum)) *
100
);
state.heightwidth = Math.round(((Math.round(state.heightnum) - Math.round(data.highMagnification)) / Math.round(state.heightnum)) * 100);
// 正常倍率宽度
state.contentwidth = 100 - (state.lowwidth + state.heightwidth);
//总费用宽度
state.totalwidth = Math.round(
(Math.round(data.totalFee) / Math.round(state.heightnum)) * 100
);
state.totalwidth = Math.round((Math.round(data.totalFee) / Math.round(state.heightnum)) * 100);
// 判断总费用显示的颜色
if (data.totalFee < data.lowMagnification) {
state.totalcolor = "#e9c622";
} else if (
data.totalFee > data.lowMagnification &&
data.totalFee < data.highMagnification
) {
} else if (data.totalFee > data.lowMagnification && data.totalFee < data.highMagnification) {
state.totalcolor = "#22d016";
} else if (data.totalFee > data.highMagnification) {
state.totalcolor = "#ff7e00";
......@@ -634,19 +459,15 @@ export default {
const loadingOption1 = {
// 加载loading
fullscreen: true,
text: '正在加载...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.5)',
text: "正在加载...",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.5)",
};
//费用分类接口
const getInpatFeesByREGCODE = (types) => {
var loadingInstance1 = Loading.service(loadingOption1);
http
.post(
`/medical/Get/getIFHisByREGCODE?&code=${route.value.query.id}&state=${state.btnvalue}`,
types
)
http.post(`/medical/Get/getIFHisByREGCODE?&code=${route.value.query.id}&state=${state.btnvalue}`, types)
.then((data) => {
state.tableData = data;
loadingInstance1.close();
......@@ -1010,7 +831,7 @@ export default {
height: 51px;
background-color: #f3fafd;
display: flex;
justify-content: space-between;
justify-content: start;
align-items: center;
margin-bottom: 25px;
// .iconfont {
......@@ -1030,10 +851,11 @@ export default {
font-size: 14px;
color: #6d7381;
display: flex;
justify-content: start;
align-items: center;
justify-content: center;
font-family: PingFang SC;
margin-right: 5px;
padding-left: 10px;
}
span:nth-child(3) {
width: 200px;
......@@ -1042,10 +864,11 @@ export default {
font-size: 14px;
color: #6d7381;
display: flex;
align-items: center;
justify-content: center;
justify-content: start;
font-family: PingFang SC;
margin-right: 5px;
padding-left: 10px;
align-items: center;
}
span:nth-child(4) {
width: 258px;
......@@ -1054,10 +877,11 @@ export default {
font-size: 14px;
color: #6d7381;
display: flex;
align-items: center;
justify-content: center;
justify-content: start;
font-family: PingFang SC;
margin-right: 5px;
padding-left: 10px;
align-items: center;
}
span:nth-child(5) {
width: 200px;
......@@ -1067,9 +891,10 @@ export default {
color: #6d7381;
display: flex;
align-items: center;
justify-content: center;
justify-content: start;
font-family: PingFang SC;
margin-right: 5px;
padding-left: 10px;
}
span:nth-child(6) {
width: 200px;
......@@ -1078,10 +903,11 @@ export default {
font-size: 14px;
color: #6d7381;
display: flex;
align-items: center;
justify-content: center;
justify-content: start;
font-family: PingFang SC;
margin-right: 5px;
padding-left: 10px;
align-items: center;
}
span:nth-child(n + 7) {
width: 258px;
......
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