Commit b37e823b by lihu541

新增内容

parent 68609a36
<template>
<!--<div id="">-->
<!--<div class="header-right">-->
<!--<div>-->
<!--<img @click="openCame()" src="~assets/img/header/icon-mainsaoma.png">-->
<!--</div>-->
<!--<div class="search">-->
<!--<searchCell/>-->
<!--</div>-->
<!--<div>-->
<!--<img src="~assets/img/header/icon-main-user.png">{{userName}},截止于{{$store.getters.getCxsj}}-->
<!--<img src="~assets/img/header/icon-mainfilter.png">-->
<!--<div class="el-date-editor">-->
<!--<el-date-picker v-model="cxsj" @change="cxsjChange" type="month" placeholder=""></el-date-picker>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<div id="listHeader">
<div class="nav" @click="goMenu"><img src="~assets/img/header/iconmainnav.png"></div>
<div><span class="title">上海市社区家庭医生签约服务费云管理</span><span class="subtitle">(<span>{{subtitle}}</span>)</span></div>
<div class="header-right">
<div>
<img @click="openCame()" src="~assets/img/header/icon-mainsaoma.png">
</div>
<div class="search">
<searchCell/>
</div>
<div>
<img src="~assets/img/header/icon-main-user.png">{{userName}},截止于{{$store.getters.getCxsj}}
<img src="~assets/img/header/icon-mainfilter.png">
<div class="el-date-editor">
<el-date-picker v-model="cxsj" @change="cxsjChange" type="month" placeholder=""></el-date-picker>
<el-row>
<el-col :span="24">
<el-row>
<el-col :span="12">
<div style="width:100%;height:55px;background:rgba(46,55,92,1);vertical-align: center;padding: 0 20px;">
<slot></slot>
</div>
</el-col>
<el-col :span="12">
<div style="width:100%;height:55px;background:rgba(46,55,92,1);vertical-align: center;padding: 0 20px;">
<div
style="position: absolute !important;right: 0;top: 0;font-size: 11px;height: 55px;line-height: 55px;margin-right: 20px;">
<span class=""><img src="~assets/img/header/icon-main-user.png" >
<span style="color: #8891BE;font-size: 11px;">{{userName}}, 截止于{{cxsj}}</span>
</span>
<button class="head_but" style="background: #44517d">
<img src="~assets/img/header/icon-back.png"> 返回
</button>
<button class="head_but">
<img src="~assets/img/header/export.png"> 导出
</button>
<button class="head_but">
<img src="~assets/img/header/icon-filter.png"> 筛选
</button>
</div>
</div>
</el-col>
</el-row>
</el-col>
</el-row>
</div>
</template>
<script>
import searchCell from 'components/common/Search'
export default {
components: { searchCell },
name: "Header",
components: {
},
name: "listHeader",
data() {
return {
cxsj: '',
userName: '',
subtitle:''
}
},
created(){
......@@ -44,9 +80,7 @@
},
methods:{
goMenu(){
this.$router.push('/menu');
},
cxsjChange(){
},
......@@ -60,79 +94,37 @@
getHeadRightInfo(){
this.userName = JSON.parse(sessionStorage.getItem('userinfo')).userName;
this.cxsj = this.$store.getters.getCxsj;
const orgShortName = JSON.parse(sessionStorage.getItem('userinfo')).orgShortName;
const roleCode = JSON.parse(sessionStorage.getItem('userinfo')).roleCode;
let role = '';
if('hcms.APP_JTYS' === roleCode){
role = '-家医版'
}else{
role = '-院长版'
}
this.subtitle = orgShortName + role;
}
},
}
</script>
<style scoped>
#header{
<style>
#listHeader{
width:100%;
height:55px;
background:rgba(46,55,92,1);
position: relative;
box-sizing: border-box;
width: 100%;
height: 55px;
font-size: 22px;
color: #fff;
display: flex;
}
#header .nav{
width: 70px;
height: 55px;
background:rgba(53,64,107,1);
line-height: 50px;
text-align: center;
}
#header .nav img{
width: 16px;
height: 16px;
vertical-align: middle;
vertical-align: center;
padding: 0 20px;
}
#header .title{
font-size:17px;
font-weight:500;
color:rgba(255,255,255,1);
line-height:48px;
margin-left: 20px;
}
#header .subtitle{
font-size:11px;
font-weight:500;
margin-left: 10px;
color:rgba(136,145,190,1);
line-height:30px;
}
#header .search{
margin-right: 10px;
line-height:40px;
}
#header .header-right{
#listHeader .header-right{
position: absolute;
top:5px;
right:10px;
font-size:11px;
font-weight:500;
color:rgba(136,145,190,1);
line-height:40px;
display: flex;
right: 0;
top: 0;
font-size: 11px;
height: 55px;
line-height: 55px;
margin-right: 20px;
}
#header .header-right .el-date-editor {
#listHeader .header-right .el-date-editor {
background:none !important;
display: none;
}
#header .header-right img {
#listHeader .header-right img {
width: 15px;
height: 15px;
margin: 0 8px;
......
......@@ -66,10 +66,15 @@ export default new Router({
name: 'contractPatientList',
component: () => import('views/gp/list/ContractPatientList.vue'),
},
{ //患者详情
path: '/patientDetails',
name: 'patientDetails',
component: () => import('views/gp/PatientDetails.vue'),
{ //门诊患者详情
path: '/mzPatient',
name: 'mzPatient',
component: () => import('views/gp/patient/MzPatient.vue'),
},
{ //住院患者详情
path: '/zyPatient',
name: 'zyPatient',
component: () => import('views/gp/patient/ZyPatient.vue'),
},
......
......@@ -2,11 +2,93 @@
<div class="outer">
<div class="logincontainer">
<el-row>
<el-col :span="24">
<el-row>
<el-col :span="12">
<div style="width:100%;height:55px;background:rgba(46,55,92,1);vertical-align: center;padding: 0 20px;">
<!--<el-row>-->
<!--<el-col :span="24">-->
<!--<el-row>-->
<!--<el-col :span="12">-->
<!--<div style="width:100%;height:55px;background:rgba(46,55,92,1);vertical-align: center;padding: 0 20px;">-->
<!--<div-->
<!--style="font-size:17px;font-weight:500;color:rgba(255,255,255,1);text-align: left;line-height: 55px;">-->
<!--<span style="font-size:17px;color:rgba(255,255,255,1);">签约人群分析</span>-->
<!--<span class=""></span>-->
<!--<span style="margin-left: 10px;color: #8891BE;font-size: 11px;"><span>(标准次数>={{number}}& {{cateFn(para01)}})</span></span>-->
<!--<div style="position: absolute;left: 285px;top: 18px;width: 150px;">-->
<!--<el-autocomplete class="inline-input" v-model="state2" :fetch-suggestions="querySearch"-->
<!--placeholder="请输入患者姓名" :trigger-on-focus="true" @select="handleSelect">-->
<!--<i slot="prefix" class="el-input__icon el-icon-search"></i>-->
<!--</el-autocomplete>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!--</el-col>-->
<!--<el-col :span="12">-->
<!--<div style="width:100%;height:55px;background:rgba(46,55,92,1);vertical-align: center;padding: 0 20px;">-->
<!--<div-->
<!--style="position: absolute !important;right: 0;top: 0;font-size: 11px;height: 55px;line-height: 55px;margin-right: 20px;">-->
<!--<span class=""><img src="~assets/img/header/icon-main-user.png" >-->
<!--<span style="color: #8891BE;font-size: 11px;">{{yname}}, 截止于{{cxsj}}</span>-->
<!--</span>-->
<!--<button class="head_but" @click="goback" style="background: #44517d">-->
<!--<img src="~assets/img/header/icon-back.png"> 返回-->
<!--</button>-->
<!--<button @click="downloadList" class="head_but">-->
<!--<img src="~assets/img/header/export.png"> 导出-->
<!--</button>-->
<!--<button @click="xsfun" class="head_but">-->
<!--<img src="~assets/img/header/icon-filter.png"> 筛选-->
<!--</button>-->
<!--</div>-->
<!--<div class="tccmain" v-show="istc">-->
<!--<h4>筛选条件</h4>-->
<!--<div class="tccline">-->
<!--<div class="tccleft">人群类型</div>-->
<!--<div class="tccright">-->
<!--<span @click="changeAll('')" :class="para01==''?'clk':''">全部</span>-->
<!--<span @click="changeAll('E')" :class="para01=='E'?'clk':''">0-6</span>-->
<!--<span @click="changeAll('A')" :class="para01=='A'?'clk':''">60以上</span>-->
<!--<span @click="changeAll('D')" :class="para01=='D'?'clk':''">孕产妇</span>-->
<!--<span @click="changeAll('G')" :class="para01=='G'?'clk':''">结核病</span>-->
<!--<span @click="changeAll('F')" :class="para01=='F'?'clk':''">残疾人</span>-->
<!--<span @click="changeAll('K')" :class="para01=='K'?'clk':''">特殊家庭</span>-->
<!--<span @click="changeAll('I')" :class="para01=='I'?'clk':''">精神障碍</span>-->
<!--<span @click="changeAll('J')" :class="para01=='J'?'clk':''">贫困人群</span>-->
<!--<span @click="changeAll('B')" :class="para01=='B'?'clk':''">高血压</span>-->
<!--<span @click="changeAll('C')" :class="para01=='C'?'clk':''">糖尿病</span>-->
<!--</div>-->
<!--</div>-->
<!--<div class="tccline">-->
<!--<div class="tccleft">是否就诊</div>-->
<!--<div class="tccright">-->
<!--<span @click="changeAll2('')" :class="para02===''?'clk':''">全部</span>-->
<!--<span @click="changeAll2(1)" :class="para02===1?'clk':''">就诊</span>-->
<!--<span @click="changeAll2(0)" :class="para02===0?'clk':''">未就诊</span>-->
<!--<span @click="changeAll2(2)" :class="para02===2?'clk':''" style="width: 85px;">60以上未就诊</span>-->
<!--</div>-->
<!--</div>-->
<!--<div class="tccline">-->
<!--<div class="tccleft">累计次数</div>-->
<!--<div class="tccright">-->
<!--<el-input v-model="number" size="small"></el-input>-->
<!--</div>-->
<!--</div>-->
<!--<div class="tccline">-->
<!--<div class="tccleft">查询日期</div>-->
<!--<div class="tccright3">-->
<!--<el-date-picker @change="changeTime" value-format="yyyyMM" v-model="cxsj" type="month"-->
<!--placeholder="选择月"></el-date-picker>-->
<!--</div>-->
<!--</div>-->
<!--<div class="tccline3">-->
<!--<el-button class="ebtn" @click="okSub" size="mini" type="primary">确定</el-button>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!--</el-col>-->
<!--</el-row>-->
<!--</el-col>-->
<!--</el-row>-->
<list-header>
<div
style="font-size:17px;font-weight:500;color:rgba(255,255,255,1);text-align: left;line-height: 55px;">
<span style="font-size:17px;color:rgba(255,255,255,1);">签约人群分析</span>
......@@ -19,75 +101,7 @@
</el-autocomplete>
</div>
</div>
</div>
</el-col>
<el-col :span="12">
<div style="width:100%;height:55px;background:rgba(46,55,92,1);vertical-align: center;padding: 0 20px;">
<div
style="position: absolute !important;right: 0;top: 0;font-size: 11px;height: 55px;line-height: 55px;margin-right: 20px;">
<span class=""><img src="~assets/img/header/icon-main-user.png" >
<span style="color: #8891BE;font-size: 11px;">{{yname}}, 截止于{{cxsj}}</span>
</span>
<button class="head_but" @click="goback" style="background: #44517d">
<img src="~assets/img/header/icon-back.png"> 返回
</button>
<button @click="downloadList" class="head_but">
<img src="~assets/img/header/export.png"> 导出
</button>
<button @click="xsfun" class="head_but">
<img src="~assets/img/header/icon-filter.png"> 筛选
</button>
</div>
<div class="tccmain" v-show="istc">
<h4>筛选条件</h4>
<div class="tccline">
<div class="tccleft">人群类型</div>
<div class="tccright">
<span @click="changeAll('')" :class="para01==''?'clk':''">全部</span>
<span @click="changeAll('E')" :class="para01=='E'?'clk':''">0-6</span>
<span @click="changeAll('A')" :class="para01=='A'?'clk':''">60以上</span>
<span @click="changeAll('D')" :class="para01=='D'?'clk':''">孕产妇</span>
<span @click="changeAll('G')" :class="para01=='G'?'clk':''">结核病</span>
<span @click="changeAll('F')" :class="para01=='F'?'clk':''">残疾人</span>
<span @click="changeAll('K')" :class="para01=='K'?'clk':''">特殊家庭</span>
<span @click="changeAll('I')" :class="para01=='I'?'clk':''">精神障碍</span>
<span @click="changeAll('J')" :class="para01=='J'?'clk':''">贫困人群</span>
<span @click="changeAll('B')" :class="para01=='B'?'clk':''">高血压</span>
<span @click="changeAll('C')" :class="para01=='C'?'clk':''">糖尿病</span>
</div>
</div>
<div class="tccline">
<div class="tccleft">是否就诊</div>
<div class="tccright">
<span @click="changeAll2('')" :class="para02===''?'clk':''">全部</span>
<span @click="changeAll2(1)" :class="para02===1?'clk':''">就诊</span>
<span @click="changeAll2(0)" :class="para02===0?'clk':''">未就诊</span>
<span @click="changeAll2(2)" :class="para02===2?'clk':''" style="width: 85px;">60以上未就诊</span>
</div>
</div>
<div class="tccline">
<div class="tccleft">累计次数</div>
<div class="tccright">
<el-input v-model="number" size="small"></el-input>
</div>
</div>
<div class="tccline">
<div class="tccleft">查询日期</div>
<div class="tccright3">
<el-date-picker @change="changeTime" value-format="yyyyMM" v-model="cxsj" type="month"
placeholder="选择月"></el-date-picker>
</div>
</div>
<div class="tccline3">
<el-button class="ebtn" @click="okSub" size="mini" type="primary">确定</el-button>
</div>
</div>
</div>
</el-col>
</el-row>
</el-col>
</el-row>
</list-header>
<div v-show="jzzt" style="padding: 0 20px;">
<el-row>
<el-col :span="24">
......@@ -292,10 +306,14 @@
<script>
import {getPageData} from 'api/home'
import FileSaver from 'file-saver';
import XLSX from 'xlsx';
import ListHeader from 'components/common/header/ListHeader'
import FileSaver from 'file-saver'
import XLSX from 'xlsx'
export default {
components:{
ListHeader
},
data() {
return {
jzzt: true,
......@@ -564,7 +582,7 @@
toPatientDetails(param) {
console.log('sss')
sessionStorage.setItem('backUrl', 'AnalySign');
this.$router.push('/patientDetails?sfz=' + param);
this.$router.push('/mzPatient?sfz=' + param);
//this.$router.push({Member: '/login?url=' + this.$route.path});
},
scrollEvent() {
......
<template>
<div class="outer">
<section class="container">
<section class="header">
<div class="nav" @click="goExit"><img src="~assets/img/header/iconmainnav.png"></div>
<div class="headeright2">
<div class="fytitle">居民就诊分析</div>
<div class="fybutton">
<el-button size="small" @click="goback" class="class-btn01" type="default">返回</el-button>
<el-button size="small" class="class-btn02" type="default">筛选</el-button>
<div class="el-date-editor">
<el-date-picker v-model="selectTime" @change="dataSearch" type="month" placeholder=""></el-date-picker>
</div>
</div>
<div class="fyrighter">{{yname}},截止于{{cxsj}}</div>
</div>
</section>
<section class="con-main">
<div class="lefter">
<div class="lftitle">管理矩阵</div>
<div @click="tochange(2)" class="lfline "><i class="el-icon-tickets"></i> 门诊</div>
<div class="lfline lflineclk"><i class="el-icon-tickets"></i> 住院</div>
</div>
<div class="righter">
<div class="div-model div-model2 fl08">
<div class="content content2">
<div class="uname">
{{userinfo.XM}}({{userinfo.NL}}岁)
<i v-show="userinfo.XB=='男'" class="el-icon-male"></i>
<i v-show="userinfo.XB=='女'" class="el-icon-female"></i>
<div class="unamediv" v-html="iconshow(zdrq)"></div>
</div>
<div class="duline">
<span class="du-01">签约时间:</span>
<span class="du-02">{{qysj}}</span>
<span class="du-01">签约医生:</span>
<span class="du-03">{{ysxm}}</span>
</div>
<div class="duline">
<span class="du-01">身份证号:</span>
<span class="du-02">{{userinfo.SFZH}}</span>
<span class="du-01"><em></em>话:</span>
<span class="du-03">{{userinfo.LXDH}}</span>
</div>
<div class="duline">
<span class="du-01">签约机构:</span>
<el-tooltip :content="addcount(userinfo.SQJGMC,userinfo.QJJGMC,userinfo.SJJGMC)" placement="bottom-start">
<span class="du-02">{{userinfo.SQJGJC}}/{{userinfo.QJJGJC}}/{{userinfo.SJJGJC}}</span>
</el-tooltip>
<span class="du-01"><em></em>址:</span>
<el-tooltip :content="addcount(userinfo.JZDZ)" placement="bottom-start">
<span class="du-03">{{userinfo.JZDZ}}</span>
</el-tooltip>
</div>
</div>
</div>
<div class="div-model div-model2 fr03">
<div class="title">智能提醒</div>
<div class="content content3">
<div class="ctmodel ctmodel2">
<i class="i04"></i>
<h3>住院偏离度</h3>
<div class="ctmline">
<!--<span>{{Cumulativedatalist.ZY_PLD}}</span>-->
<!--<span class="ctl01">%</span>-->
<!--<img width="8" height="8" src="../assets/images/icon-arrowup.png">-->
<!--<span class="ctl02"></span>-->
<!--<span class="ctl03">{{Cumulativedatalist.ZY_PLD_TBL}}</span>-->
<!--<span class="ctl04">%</span>-->
<!--<img width="8" height="8" src="../assets/images/icon-arrowup.png">-->
</div>
</div>
</div>
</div>
<div class="clear"></div>
<!------下面部分------>
<div class="div-model-b div-model-b2 fl09">
<div class="membertit01">
<i class="ii01"></i>
<div class="mbleft">
<span class="span00">累计住院次数(实值/去年)</span>
</div>
</div>
<div class="memberline2">
<span>{{Cumulativedatalist.ZYCS}}</span>
<span class="mb-00">/</span>
<span>{{Cumulativedatalist.ZYCS_TBZ}}</span>
<span class="mb-04"></span>
<span class="mb-02">{{Cumulativedatalist.ZYCS_TBL}}</span>
<span class="mb-03">%</span>
<!--<img width="8" height="8" src="../assets/images/icon-arrowup.png">-->
</div>
<div class="membertit01">
<i class="ii02"></i>
<div class="mbleft">
<span class="span00">累计费用·万</span>
</div>
</div>
<div class="memberline2 memberline23">
<span>{{Cumulativedatalist.ZYFY}}</span>
<span class="mb-04"></span>
<span class="mb-02">{{Cumulativedatalist.ZYFY_TBL}}</span>
<span class="mb-03">%</span>
<!--<img width="8" height="8" src="../assets/images/icon-arrowup.png">-->
</div>
<div class="mblists">
<i class="ii03"></i>
<em><span>{{nullreturn(Cumulativedatalist.ZYFY_YJ)}}</span></em>
社区住院<span>{{nullreturn(Cumulativedatalist.ZYCS_YJ)}}</span>
</div>
<div class="mblists">
<i class="ii03"></i>
<em><span>{{nullreturn(Cumulativedatalist.ZYFY_EJ)}}</span></em>
二级住院<span>{{nullreturn(Cumulativedatalist.ZYCS_EJ)}}</span>
</div>
<div class="mblists">
<i class="ii03"></i>
<em><span>{{nullreturn(Cumulativedatalist.ZYFY_SJ)}}</span></em>
三级住院<span>{{nullreturn(Cumulativedatalist.ZYCS_SJ)}}</span>
</div>
</div>
<div class="div-model-b div-model-b2 fl16">
<div class="mbrtitle">
<ul>
<li @click="changeTab(1)" :class="tabletype===1?'clk':''">诊疗明细</li>
<li @click="changeTab(2)" :class="tabletype===2?'clk':''">上报明细</li>
</ul>
<div v-show="tabletype==1" class="mbrightu">
<div @click="ntcSb()" class="sxbtndiv"><i class="el-icon-s-grid"></i>无需上报</div>
<div @click="tcSb()" class="sxbtndiv"><i class="el-icon-wind-power"></i>上报</div>
<div @click="sxfun" class="sxdiv">筛选条件 <i class="el-icon-arrow-down"></i> <span>全部</span></div>
</div>
<div v-show="istc" class="mbtcd mbtcd23">
<h3>筛选条件</h3>
<div class="mbdline">
<div class="mbdleft">管理方式</div>
<div class="mbdright mbdright2">
<span @click="changeAll(100)" :class="sbzt===100?'clk':''">全部</span>
<span @click="changeAll(5)" :class="sbzt===5?'clk':''">干预</span>
<span @click="changeAll(0)" :class="sbzt===0?'clk':''">未上报</span>
<span @click="changeAll(1)" :class="sbzt===1?'clk':''">已上报</span>
<span @click="changeAll(4)" :class="sbzt===4?'clk':''">无需处理</span>
<span @click="changeAll(2)" :class="sbzt===2?'clk':''">审核通过</span>
<span @click="changeAll(3)" :class="sbzt===3?'clk':''">未通过审核</span>
</div>
</div>
<div class="mbdlinebtn">
<el-button class="ebtn" @click="okSub" size="mini" type="primary">确定</el-button>
</div>
</div>
</div>
<div class="mbstatus">
<span v-show="tabletype==1 || tabletype==2">上报状态</span>
<span v-show="tabletype==1"><i class="mb01"></i> 已上报</span>
<span v-show="tabletype==1"><i class="mb02"></i> 未上报</span>
<span v-show="tabletype==1"><i class="mb03"></i> 无需处理</span>
<span v-show="tabletype==2"><i class="mb01"></i> 审核中</span>
<span v-show="tabletype==1 || tabletype==2"><i class="mb04"></i> 审核通过</span>
<span v-show="tabletype==1 || tabletype==2"><i class="mb05"></i> 未通过</span>
</div>
<!----诊断明细---->
<el-table v-show="tabletype===1" :header-cell-style="headerStyle" :fit="true" :cell-style="cellStyle" height="280" @selection-change="handleSelectionChange" :data="Treadetaildatalist">
<el-table-column fixed type="selection" :row-class-name="tableRowClassName" width="30"></el-table-column>
<el-table-column prop="CYSJ" width="100" sortable label="就诊日期">
<template slot-scope="scope">
{{scope.row.CYSJ}}
</template>
</el-table-column>
<el-table-column prop="JZJGMC" min-width="100" :show-overflow-tooltip="true" label="医疗机构">
<template slot-scope="scope">
{{scope.row.JZJGMC}} <i :class="scope.row.QYBZ==1?'outer02':'outer01'"></i>
</template>
</el-table-column>
<el-table-column prop="JZKSMC" min-width="120" :show-overflow-tooltip="true" label="就诊科室"></el-table-column>
<el-table-column prop="JZZDSM" min-width="120" :show-overflow-tooltip="true" label="疾病诊断"></el-table-column>
<el-table-column prop="JZFY" label="费用(元)"></el-table-column>
<el-table-column prop="JZYF" label="药费(元)"></el-table-column>
<el-table-column prop="QTFY" label="其他费用(元)"></el-table-column>
</el-table>
<!----上报明细---->
<el-table v-show="tabletype===2" :header-cell-style="headerStyle" :fit="true" :cell-style="cellStyle" height="280" :row-class-name="tableRowClassName" :data="Reportdetaildatalist">
<el-table-column fixed width="30">
<template slot-scope="scope">
<i class="inner01"></i>
</template>
</el-table-column>
<el-table-column prop="SBSJ" width="100" sortable label="上报时间"></el-table-column>
<el-table-column min-width="150" prop="SERIAL_NUMBER" label="流水号">
<template slot-scope="scope">
<p class="jntemname">{{scope.row.SERIAL_NUMBER}}</p>
</template>
</el-table-column>
<el-table-column prop="JZCS" min-width="100" :show-overflow-tooltip="true" label="住院天数"></el-table-column>
<el-table-column prop="MZFY" min-width="90" :show-overflow-tooltip="true" label="费用(千元)"></el-table-column>
<el-table-column prop="SJSHYS" label="反馈意见"></el-table-column>
<el-table-column prop="SBZT" min-width="120" :show-overflow-tooltip="true" label="市级审核意见"></el-table-column>
</el-table>
<!----干预明细---->
</div>
</div>
</section>
<section v-show="gysb==2" class="tccyy">
<div class="tcymain tcymain2">
<h5><span @click="gysbFun(3)">×</span>上报明细</h5>
<div class="tcycont">
<table class="tctable">
<tr>
<td>上报单位:{{loginMsg.orgName}}</td>
<td>上报时间:{{today}}</td>
</tr>
<tr>
<td>上报人:{{loginMsg.userName}}</td>
<td>上报流水号:{{lshNo}}</td>
</tr>
</table>
<h1>干预情况</h1>
<table class="tctable">
<tr>
<th>签约居民</th>
<th>医保卡号</th>
<th>身份证号</th>
<th>签约家庭医生</th>
<th>定点医疗机构(二级/三级)</th>
</tr>
<tr>
<td>{{userinfo.XM}}</td>
<td>{{userinfo.YBKH}}</td>
<td>{{userinfo.SFZH}}</td>
<td>{{loginMsg.userName}}</td>
<td>{{userinfo.SQJGMC}}</td>
</tr>
</table>
<h1>干预情况</h1>
<div class="gymsg">
<el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="textarea"></el-input>
</div>
<h1>诊疗明细</h1>
<table class="tctable">
<tr>
<th></th>
<th>就诊时间</th>
<th>就诊机构</th>
<th>诊断</th>
<th>就诊号</th>
<th>费用明细</th>
</tr>
<tr v-for="(item,index) in multipleSelection" :key="index">
<td>{{index+1}}</td>
<td>{{timeChange(item.YWSJ)}}</td>
<td>{{item.JZJGMC}}</td>
<td>{{item.JZZDSM}}</td>
<td>{{item.JZLSH}}</td>
<td>{{item.JZFY}}元; 药费{{item.JZYF}}元,其他</td>
</tr>
</table>
<div class="gymsg gymsg2">
<span class="ggspan">合计门诊就诊次数:<font>{{nowsbnum}}</font><code></code>{{sbzb01}}% </span>
<span class="ggspan">合计门诊费用: <font>{{nowsbfee}}</font><code></code> {{sbzb02}}% </span>
<span class="ggspan">合计门诊药费: <font>{{sbtotal}}</font><code></code> {{sbzb03}}% </span>
</div>
</div>
<div class="elbtndiv">
<el-button @click="tjsb" class="sbbtn" type="primary" >确定</el-button>
</div>
</div>
</section>
</section>
</div>
</template>
<script>
import {getPageData,dosave} from '@/api/home'
export default {
components: {},
name: 'Member',
data() {
return {
picked:0,
nowsbnum:0,
nowsbfee:0,
sbtotal:0,
sbzb01:0,
yname:'',
sbzb02:0,
textarea:'',
backUrl:'',
selectTime: '2020-05',
sbzb03:0,
multipleSelection:[],
userinfo:[],
feeinfo:[],
Cumulativedatalist:[],
Treadetaildatalist:[],
Reportdetaildatalist:[],
zdrq:'',
lshNo:'',
token:'',
gysb:0,
tabletype:1,
today:'',
sbzt:100,
jglx:null,
jgdj:null,
para01:1,
para02:0,
para03:0,
para04:0,
para05:0,
istc:false,
loginMsg:{},
jctxt:'150',
ysxm:'-',
mbdesc:false,
loading:false,
qysj:'-',
detelist:{},
option:{
color:["#1467FF","#84B3FF",'#056BCB'],
tooltip: {
trigger: 'item',
position:[-130,0],
formatter: function (params) {
var res = "<div style='padding:0 10px;font-size: 12px;'>";
res += "<table class='rqfx_table1' >";
res += "<tbody>";
res += "<tr>";
res += "<td class='tc'></td>";
res += "<td class='tc'><span>社区</span></td>";
res += "<td class='tc'><span>二级</span></td>";
res += "<td class='tc'><span>三级</span></td>";
res += "</tr>";
res += "<tr>";
res += "<td class='tc'><span>累计就诊次数(组合内)</span></td>";
res += "<td width='45' class='tc'><span>"+params.data.val1+"</span></td>";
res += "<td width='45' class='tc'><span>"+params.data.val2+"</span></td>";
res += "<td width='45' class='tc'><span>"+params.data.val3+"</span></td>";
res += "</tr>";
res += "</tbody>";
res += "</table>";
res +="</div>";
return res
}
},
legend: {
orient: 'vertical',
show:true,
bottom: 10,
data: ['组合内', '组合外']
},
series:[
{
name:'',
type:'pie',
radius:[0,34],
x: '36%',
width: '36%',
itemStyle:{
borderWidth:2, //边框的宽度
borderColor:'rgba(48,56,90,1)' //边框的颜色
},
label:{
normal:{show:false}
},
labelLine:{
normal:{show:false}
},
data:[1,2]
},
{
name:'',
type:'pie',
radius:[40,46],
x: '36%',
width: '36%',
itemStyle:{
borderWidth:2, //边框的宽度
borderColor:'rgba(48,56,90,1)' //边框的颜色
},
label:{
normal:{show:false}
},
labelLine:{
normal:{show:false}
},
data:[1,2,3]
}
]
},
tableData: [],
cxsj:"202004",
sfz:'',
zharr:[],
hzpoints:[]
}
},
mounted: function() {
this.sfz = this.$route.query.sfz;
this.token = sessionStorage.getItem('token')
this.loginMsg = JSON.parse(sessionStorage.getItem('userinfo'))
this.yname = this.loginMsg.userName
if(this.loginMsg.roleCode=='hcms.APP_SQYZ'){
console.log('家医数据信息:')
console.log(this.loginMsg)
this.loginMsg.gpNumber = sessionStorage.getItem('ygh')
this.yname = sessionStorage.getItem('yname')
}
this.backUrl = sessionStorage.getItem('backUrl')
this.cxsj = sessionStorage.getItem("cxsj")
this.homeinti()
this.tableinit()
this.cumhosinit()
this.reportinit()
this.today = todayTime()
const obj = setInterval(() => {
if (document.getElementById("echarts")) {
const dom = document.getElementById("echarts")
const myChart = this.$echarts.init(dom)
if (this.option && typeof this.option === "object") {
myChart.setOption(this.option, true)
}
clearInterval(obj)
}
}, 200)
},
methods: {
homeinti(){
let that = this
// 居民就诊分析-居民基本信息
let param = {
"key":"qygl-zmjzfx-jmjbxx",
"tjsj":this.cxsj,
"gpgh":this.loginMsg.gpNumber,
"yljgdm":this.loginMsg.orgCode,
"parameter":{
"sfzh":this.sfz
}
}
getPageData(that.token,param).then(res => {
// console.log('居民基本信息:');console.log(res);
if(res.code == 1 && res.data.length>0){
that.userinfo = res.data[0]
that.zdrq = that.userinfo.ZDRQ2
that.qysj = famartTime(that.userinfo.QYSJ)
that.ysxm = that.userinfo.YSXM
}
})
//居民就诊分析-费用信息-门诊
let param2 = {
"key":"qygl-zmjzfx-fyxx-mz",
"tjsj":this.cxsj,
"gpgh":this.loginMsg.gpNumber,
"yljgdm":this.loginMsg.orgCode,
"parameter":{
"sfzh":this.sfz
}
}
getPageData(that.token,param2).then(res => {
// console.log('民就诊分析-费用信息-门诊:');console.log(res);
let obj = {value:1,val1:0,val2:0,val3:0}
if(res.code == 1 && res.data.length>0){
this.feeinfo = res.data[0]
obj = {value:1,val1:0,val2:0,val3:0}
obj.value = this.feeinfo.ZHNJZCS_YJ
this.zharr.push(obj)
obj = {value:1,val1:0,val2:0,val3:0}
obj.value = this.feeinfo.ZHNJZCS_EJ
this.zharr.push(obj)
obj = {value:1,val1:0,val2:0,val3:0}
obj.value = this.feeinfo.ZHNJZCS_SJ
obj.val1 = this.feeinfo.ZHNJZCS_YJ
obj.val2 = this.feeinfo.ZHNJZCS_EJ
obj.val3 = this.feeinfo.ZHNJZCS_SJ
this.zharr.push(obj)
this.option.series[1].data = this.zharr
// console.log(this.zharr)
this.$echarts.init(document.getElementById("echarts")).setOption(this.option, true)
}
})
},
tableinit(){
let that = this
//住院诊疗明细
let param1 = {
"gpgh":this.loginMsg.gpNumber,
"key":"qygl-zmjzfx-zlmx-zy",
"tjsj":this.cxsj,
"yljgdm":this.loginMsg.orgCode,
"parameter":{
"sfzh":this.sfz,
"sbzt":this.sbzt<10?this.sbzt:'',
"pageSize":10,
"pageIndex":1,
}
}
this.Treadetaildatalist = []
getPageData(that.token,param1).then(res => {
console.log('住院诊疗明细table信息列表');
console.log(res);
res.data.listData.forEach((item, index) => {
res.data.listData[index].CYSJ = famartTime(item.CYSJ)
res.data.listData[index].JZFY = getActiveNum(item.JZFY)
res.data.listData[index].JZYF = getActiveNum(item.JZYF)
res.data.listData[index].QTFY = getActiveNum(item.QTFY)
this.Treadetaildatalist = res.data.listData
})
})
},
cumhosinit(){
let that = this
let param = {
"key":"qygl-zmjzfx-fyxx-zy",
"tjsj":this.cxsj,
"gpgh":this.loginMsg.gpNumber,
"yljgdm":this.loginMsg.orgCode,
"parameter":{
"sfzh":this.sfz
}
}
getPageData(that.token,param).then(res => {
// console.log('累计住院次数信息列表');
// console.log(res);
if(res.code == 1 && res.data.length > 0){
res.data[0].ZY_PLD = getActiveNum(res.data[0].ZY_PLD)
res.data[0].ZY_PLD_TBL = getActiveNum(res.data[0].ZY_PLD_TBL)
res.data[0].ZYCS_TBZ = getActiveNum(res.data[0].ZYCS_TBZ)
res.data[0].ZYCS_TBL = getActiveNum(res.data[0].ZYCS_TBL)
res.data[0].ZYFY = getActiveNum(res.data[0].ZYFY / 10000)
res.data[0].ZYFY_TBL = getActiveNum(res.data[0].ZYFY_TBL)
res.data[0].ZYCS_YJ = getActiveNum(res.data[0].ZYCS_YJ)
res.data[0].ZYFY_YJ = getActiveNum(res.data[0].ZYFY_YJ)
res.data[0].ZYFY_EJ = getActiveNum(res.data[0].ZYFY_EJ)
res.data[0].ZYCS_SJ = getActiveNum(res.data[0].ZYCS_SJ)
res.data[0].ZYFY_SJ = getActiveNum(res.data[0].ZYFY_SJ)
this.Cumulativedatalist = res.data[0]
}
})
},
reportinit(){
//住院-上报明细
let that = this
let param = {
"key":"qygl-zmjzfx-zlmx-sb-list",
"tjsj":this.cxsj,
"gpgh":this.loginMsg.gpNumber,
"yljgdm":this.loginMsg.orgCode,
"parameter":{
"orderField":"SBSJ",//--排序字段
"orderType":"desc",//--排序类型 desc=倒序/asc=正序
"sfzh":this.sfz,
"pageSize":10,
"pageIndex":1,
"sb_type":1 //0=门诊/1=住院
}
}
getPageData(that.token,param).then(res => {
console.log('上报明细');
console.log(res);
if(res.code == 1 && res.data.listData.length > 0){
res.data.listData.forEach((item, index) => {
res.data.listData[index].JZCS = getActiveNum(item.JZCS)
res.data.listData[index].MZFY = getActiveNum(item.MZFY / 1000)
this.Reportdetaildatalist = res.data.listData
})
}
})
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
nullreturn(param){
if(param == null){
return '-'
}else{
var num = parseFloat(param);
if(Math.abs(num)<0.1){ //处理绝对值小于0.1的
num = num.toFixed(2);
}else if((Math.abs(num) >= 0.1) && (Math.abs(num) <= 0.995)){ //处理绝对值大于等于0.1小于等于0.995的
num = num.toPrecision(2);
}else if(Math.abs(num)>=999.5){ //处理绝对值大于等于999.5的
num = num.toFixed(0);
}else{
num = num.toPrecision(3);
}
return num
}
},
tableRowClassName({row, rowIndex}) {
if (row.SBZT === 1) {
return 'table-row01';
} else if (row.SBZT === 2) {
return 'table-row02';
} else if (row.SBZT === 3) {
return 'table-row03';
} else if (row.SBZT === 4) {
return 'table-row04';
} else if (row.SBZT === 5) {
return 'table-row05';
} else if (row.SBZT === 6) {
return 'table-row06';
}else{
return 'table-row00';
}
},
okSub() {
this.tableinit()
this.istc = !this.istc
},
iconshow(param){
return returnIco(param)
},
tjsb(){
let that = this
// 居民就诊分析-居民基本信息
let param1 = {
"key":"qygl-zmjzfx-zlmx-sb-tj",
"tjsj":this.cxsj,
"gpgh":this.loginMsg.gpNumber,
"yljgdm":this.loginMsg.orgCode,
"parameter":{
"lsh":this.lshNo,
"SBSJ":todayTime2(),
"SBYY":this.loginMsg.orgName,
"JZCS":this.nowsbnum,//就诊次数
"MZFY":0,//总费用
"MZYF":0,//药费
"SJSHYS":this.textarea,
"SFZH":this.sfz,
"ZYTS":0,//住院天数。门诊不填
"ZYFY":this.nowsbfee,//住院费用,住院填写
"SB_TYPE":"2",//上报类型1门诊,2住院 0无需上报
"SERIAL_NUMBER":this.lshNo//"MZ20200704"//流水号。住院ZY20200704
}
}
dosave(that.token,param1).then(res => {
if(res.code==1){
this.gysb = 3
this.$message.success(res.msg);
this.reportinit()
}else{
this.$message.error(res.msg);
}
})
},
tcSb(){
//上报弹出层
let num = this.multipleSelection.length
this.lshNo = 'ZY'+orderTime()
if(num==0){
this.$message.error('请先选择上报的内容!');
return false
}else{
//这里写请求接口 nowsbfee
this.gysb = 2
this.nowsbnum = num
this.sbzb01 = ((num/this.feeinfo.JZCS)*100).toFixed(2)
console.log(this.multipleSelection)
this.multipleSelection.forEach((item, index) => {
item.JZFY = item.JZFY=='-'?0:item.JZFY
item.JZYF = item.JZYF=='-'?0:item.JZYF
this.nowsbfee += parseInt(item.JZFY)
this.sbtotal += parseInt(item.JZYF)
// console.log(this.nowsbfee)
})
this.sbzb02 = ((this.nowsbfee/this.feeinfo.MZFY)*100).toFixed(2)
this.sbzb03 = ((this.sbtotal/this.feeinfo.MZFY)*100).toFixed(2)
}
},
ntcSb(){
//无需上报
let num = this.multipleSelection.length
if(num==0){
this.$message.error('请先选择无需上报的内容!');
return false
}else{
//这里写请求接口
this.sblshNo = []
this.nowsbnum = num
this.sbzb01 = ((num/this.feeinfo.JZCS)*100).toFixed(2)
this.multipleSelection.forEach((item, index) => {
item.QTFY = item.QTFY=='-'?0:item.QTFY
item.JZYF = item.JZYF=='-'?0:item.JZYF
this.nowsbfee += parseInt(item.QTFY)
this.sbtotal += parseInt(item.JZYF)
this.sblshNo = this.sblshNo+item.JZLSH+','
})
this.sbzb02 = ((this.nowsbfee/this.feeinfo.MZFY)*100).toFixed(2)
this.sbzb03 = ((this.sbtotal/this.feeinfo.MZFY)*100).toFixed(2)
this.serialNum = 'MZ'+orderTime()
//提交上报接口
let param1 = {
"key":"qygl-zmjzfx-zlmx-sb-tj",
"tjsj":this.cxsj,
"gpgh":this.loginMsg.gpNumber,
"yljgdm":this.loginMsg.orgCode,
"parameter":{
"lsh":this.lshNo,
"SBSJ":todayTime2(),
"SBYY":this.loginMsg.orgName,
"JZCS":this.nowsbnum,//就诊次数
"MZFY":0,//总费用
"MZYF":0,//药费
"SJSHYS":this.textarea,
"SFZH":this.sfz,
"ZYTS":0,//住院天数。门诊不填
"ZYFY":this.nowsbfee,//住院费用,住院填写
"SB_TYPE":"0",//上报类型1门诊,2住院 0无需上报
"SERIAL_NUMBER":this.lshNo//"MZ20200704"//流水号。住院ZY20200704
}
}
dosave(that.token,param1).then(res => {
if(res.code==1){
this.$message.success(res.msg);
}else{
this.$message.error(res.msg);
}
})
}
},
addcount(param1='',param2='',param3=''){
return param1+param2+param3
},
tochange(){
this.$router.push({
path: './Member?sfz='+this.sfz
});
},
headerStyle(){
return 'background:rgba(48,56,90,1); border:0; margin:0; padding:0; line-height:25px; color:#6D779A; font-size:12px; text-align:center'
},
stateFormat(row, column) {
return '-'
},
cellStyle(){
return 'background:none;color:#fff;border:0; margin:0; padding:0; line-height:25px; color:#AAB1D2; font-size:12px; text-align:center'
},
dataSearch(value) {
console.log(famartTime2(value));
let val = famartTime2(value)
this.cxsj = val
this.homeinti()
this.tableinit()
this.cumhosinit()
this.reportinit()
},
sxfun(){
this.istc = !this.istc
},
hideLoading() {
this.loading = false
},
changeTab(param){
this.tabletype = param
},
tableRowClass({row, rowIndex}){
if(rowIndex%2==1){
return 'warning-row';
}else{
return 'success-row';
}
},
timeChange(param){
return famartTime2(param)
},
changeAll(num) {
this.sbzt = num
},
gysbFun(param){
this.gysb = param
},
ycFunc(){
this.mbdesc = !this.mbdesc
},
goback(){
this.$router.push('/'+this.backUrl);
},
goExit() {
this.$router.push('/Home');
},
showLoading() {
this.loading = true
},
nullreturn(param){
if(param == null || param == "NaN"){
return '-'
}else{
var num = parseFloat(param)
if(Math.abs(num)<0.1){ //处理绝对值小于0.1的
num = num.toFixed(2);
}else if((Math.abs(num) >= 0.1) && (Math.abs(num) <= 0.995)){ //处理绝对值大于等于0.1小于等于0.995的
num = num.toPrecision(2);
}else if(Math.abs(num)>=999.5){ //处理绝对值大于等于999.5的
num = num.toFixed(0);
}else{
num = num.toPrecision(3)
}
return num
}
},
}
}
</script>
<style scoped>
/deep/ el-table{ background: none;}
/deep/ .el-table__expanded-cell{ background: none;}
/deep/ .el-table th, .el-table tr{ background: none;}
/deep/ .el-table .warning-row { background: rgba(48,56,90,1); }
/deep/ .el-table .success-row { background: #2a3557; }
.el-table::before{background:none}
/deep/ .el-table th>.cell{ padding: 0 5px;}
/deep/ .el-table__row{ height: 25px;}
/deep/ .el-table, .el-table__expanded-cell{ background: none;}
/deep/ .lbnamei{background:rgba(19,85,187,1); border-radius: 3px; margin-top: 2px; color: #fff; font-style: normal; float: left; height: 20px; line-height: 20px; width: 20px; text-align: center;}
/deep/ .lbname{ color: #AAB1D2; float: left; width: 40px; height: 24px; overflow: hidden; text-decoration: underline;}
/deep/ .el-input__icon{ line-height: 30px;}
/deep/ .el-table-column--selection .cell{ padding-left: 5px;}
.div-model-b2 /deep/ .el-table--scrollable-x .el-table__body-wrapper {background: #272E52;}
/deep/ .table-row01 .el-checkbox__inner{ background: #267fff;}
/deep/ .table-row02 .el-checkbox__inner{ background: #2c549c;}
/deep/ .table-row03 .el-checkbox__inner{ background: #2f6c95;}
/deep/ .table-row04 .el-checkbox__inner{ background: #34e0de;}
/deep/ .table-row05 .el-checkbox__inner{ background: #df485c;}
/deep/ .table-row06 .el-checkbox__inner{ background: #267fff;}
/deep/ .el-table__row:nth-child(even){background:rgba(48,56,90,1)}
/deep/ .el-table__row:nth-child(odd){ background:#2b365a;}
.mbdlinebtn /deep/ .ebtn { width: 80px; height: 30px;}
/deep/ .inner01{ background: #267fff; padding:4px 4px; display: inline-block;}
/deep/ .inner02{ background: #2c549c; padding:4px 4px;}
/deep/ .inner03{ background: #2f6c95; padding:4px 4px;}
/deep/ .inner04{ background: #34e0de; padding:4px 4px;}
/deep/ .inner05{ background: #df485c; padding:4px 4px;}
/deep/ .inner06{ background: #267fff; padding:4px 4px;}
/deep/ .jntemname{text-align: center; width: 100%;}
/deep/ .outer01{ background: #056DFF; height: 20px; padding:1px 2px; border-radius: 3px; font-style: normal; line-height: 20px; width: 20px; color: #fff;}
/deep/ .outer02{ display: none;}
.input01{ width: 80px; border: 0; border-bottom: 1px solid #979797; background: none; color: #fff;}
.elbtndiv{ height: 50px; clear: both; text-align: right; padding-right: 20px;}
.sbbtn{background:rgba(0,151,254,1); width: 65px; height: 32px; border: 0;border-radius:4px;}
.tccline {clear: both;overflow: hidden;}
.tccleft {float: left;line-height: 35px;padding-top: 1px;width: 55px; color: rgba(166, 174, 214, 1);font-size: 12px;text-align: left;}
.tccright { float: left;line-height: 35px;width: 340px; padding-top: 6px;}
.tccright span {display: inline-block;margin-left: 10px;margin-bottom: 10px;float: left;width: 55px; height: 24px; line-height: 24px; background: rgba(51, 62, 95, 1);color: #FFFFFF; border-radius: 4px; border: 1px solid rgba(84, 97, 139, 1); }
.tccline3{ text-align: right;}
.tccline3 /deep/ .ebtn { width: 80px; height: 30px;}
.el-date-editor{ width: 61px; position: absolute; right: 5px; top: 3px;}
/deep/ .el-date-editor .el-date-editor--month input{ width: 0px; border: 0; padding-right: 61px; padding-left: 0px;}
/deep/ .el-date-editor .el-input__inner{ background:none !important;}
/deep/ .el-date-editor .el-input__prefix{ display: none;}
/deep/ .el-date-editor .el-input__suffix{display: none;}
/deep/ .el-textarea__inner{ background: none; border: 0; color: #D6DAEC; padding: 3px; line-height: 20px; font-size: 12px;}
.el-table::before { background: none }
/deep/ .el-table__fixed::before{ background: none;}
</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