Explorar o código

医保控费分析

liangweifeng %!s(int64=6) %!d(string=hai) anos
pai
achega
e1d1e2379d

+ 4 - 0
js/api/bigDataOut-api.js

@ -29,6 +29,10 @@
        // 用药分析
        drugAnalysis: function(data) {
            return httpRequest.get("/quota/api/v1.0/tj/drugAnalysis",{data: data,getServer:true})
        },
         // 字典接口
         lastDictItem: function(data) {
            return httpRequest.get("/hos-admin/api/v1.0/standardCenter/lastDictItem/list",{data: data})
        },
	}
	exports.bigDataOutApi = bigDataOutApi;

+ 0 - 7
page/bigDataOut/css/tableChange.css

@ -20,10 +20,7 @@ body {
.el-table .cell {
    text-align: center;
}
.has-gutter{
    background-color: #f8f8f8;
}
.main {
    margin: -5px 22px;
}
@ -36,7 +33,6 @@ body {
.el-input__inner {
    height: 35px;
    width: 135px;
    margin-right: 15px;
    margin-bottom: 15px;
}
@ -107,9 +103,6 @@ a {
    margin-right: 15px;
    margin-bottom: 15px;
}
.tab4 .el-input .el-input__inner{
 height: 35px;
}
.tab4 input.el-input {
    height: 35px;
    /* width: 200px; */

+ 88 - 0
page/bigDataOut/css/zidian.css

@ -0,0 +1,88 @@
body {
    margin: 0;
    height: 100%;
    background-color: #fff;
}
html {
    height: 100%;
}
.header {
    padding: 18px 18px 18px 0px;
    border-bottom: 1px solid #f2f6fa;
}
#text {
    padding-left: 18px;
    border-left: 2px solid #2eaafa;
}
#close {
    position: absolute;
    right: 50px;
    font-size: 20px;
    top: 18px;
    cursor: pointer;
}
#app {
    margin: 0;
    padding: 0;
    height: 100%;
}
.el-menu {
    width: 200px;
    font-size: 15px;
    /* background-color: #f2f6fa; */
}
.el-menu-item {
    font-size: 15px;
    background-color: #f2f6fa;
}
.el-aside {
    overflow: hidden;
    background-color: #f2f6fa;
}
aside {
    background-color: #f2f6fa;
}
.el-input {
    width: 60%;
    margin: 10px;
}
.flex {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
#searchtext {
    width: 40%;
    text-align: right;
}
.el-main {
    padding: 0;
    padding-right: 20px;
}
.el-table th {
    background-color: #f8f8f8;
}
.el-pagination__jump {
    position: relative;
    top: -9px;
}

+ 79 - 143
page/bigDataOut/html/zidian.html

@ -7,170 +7,106 @@
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="../../../css/element.css">
    <style>
        body{
            margin: 0;
        }
        .header{
            padding: 18px 18px 18px 0px;
        }
        #text{
            padding-left: 18px;
border-left: 2px solid #2eaafa;
        }
       #app{
           margin: 0;
           padding: 0;
       }
        .el-dialog__title {
            position: absolute;
            font-size: 16px;
            top: 5px;
            left: 0.5px;
            border-left: 2px solid #2eaafa;
            border-radius: 2px;
            padding-left: 10px;
        }
    <link rel="stylesheet" href="../css/zidian.css">
        .el-dialog__headerbtn {
            position: absolute;
            top: 7px;
            font-size: 18px ;
        }
        .el-dialog__body {
            padding: 0;
        }
        .el-menu {
            width: 200px;
            font-size: 15px;
            /* background-color: #f2f6fa; */
        }
        .el-menu-item {
            font-size: 15px;
            background-color: #f2f6fa;
        }
        .el-aside {
            overflow: hidden;
            background-color: #f2f6fa;
        }
        aside{
            background-color: #f2f6fa;
        }
        #typeSearch {
            width: 400px;
        }
        .search_box {
            display: inline-block;
            margin: 10px 0px 20px 0px;
            position: relative;
            left: 50px;
        }
        #searchtext{
            position: relative;
            left: 50px;
        }
        .el-main {
          padding: 0;
          padding-right: 20px;
        }
    </style>
</head>
<body>
    <div id="app">
        <nav class="header">
<span id="text">查看字典</span>
            <span id="text">查看字典</span>
            <span id="close">X</span>
        </nav>
                <el-container style="height: 100%;">
                    <el-aside style="width: 200px; ">
                        <el-menu active-text-color="#2eaafa" :default-openeds="['1']">
                            <el-menu-item class="ellipsis" title="检验专业代码" index="1-0">
                                检验专业代码</el-menu-item>
                            <el-menu-item class="ellipsis" title="检验专业分类" index="1-1">
                                检验专业分类</el-menu-item>
                    </el-aside>      
                    <el-main style="height: 100%;overflow: hidden;">
                        <span id="searchtext"> 字典项:</span>
                        <div class="search_box">
                            <div class="flex f_xy_c ">
                                <el-input placeholder="请输入内容" id="typeSearch" v-model="searchKey">
                                </el-input>
                            </div>
                        </div>
                        <el-table :data="tableData" border style="width: 100%">
                            <el-table-column prop="date" label="序号" width="80">
                            </el-table-column>
                            <el-table-column prop="name" label="值域编码" width="220">
                            </el-table-column>
                            <el-table-column prop="address" label="值域名称">
                            </el-table-column>
                        </el-table>
                        <el-pagination
                        @size-change="handleSizeChange"
                        @current-change="handleCurrentChange"
                        :current-page="currentPage4"
                        :page-sizes="[100, 200, 300, 400]"
                        :page-size="100"
                        layout="total, sizes, prev, pager, next, jumper"
                        :total="400">
                      </el-pagination>
                    </el-main>
                </el-container>
    
        <el-container style="height: 100%;">
            <el-aside style="width: 200px; ">
                <el-menu active-text-color="#2eaafa" :default-openeds="['1']">
                    <el-menu-item class="ellipsis" title="检验专业代码" index="1-0">
                        <img src="../images/icon_jianchazhuanyedaima-weidianji.png" alt=""> 检验专业代码</el-menu-item>
                    <el-menu-item class="ellipsis" title="检验专业分类" index="1-1">
                        <img src="../images/icon-JIANYANZHUANYEFENLEI.png" alt=""> 检验专业分类</el-menu-item>
            </el-aside>      
            <el-main style="height: 100%;overflow: hidden;">
                <div class="flex">
                    <span id="searchtext"> 字典项:</span>
                    <el-input placeholder="请输入内容" id="typeSearch" v-model="searchKey">
                    </el-input>
                </div>
                <el-table :data="tableData" border style="width: 100%" :data.native="tableData.slice((currentPage-1)*pageSize,currentPage*pageSize)">
                    <el-table-column prop="CV08.50.301" label="序号">
                    </el-table-column>
                    <el-table-column prop="STD_MEDICINE" label="值域编码">
                    </el-table-column>
                    <el-table-column prop="STD_CHECK_ITEM" label="值域名称">
                    </el-table-column>
                </el-table>
                <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
                    :page-sizes="pageSizeArr" :page-size="pageSize" layout="total,sizes,prev, pager, next, jumper"
                    :total="total">
                </el-pagination>
            </el-main>
        </el-container>
    </div>
    <script>
        window.noUse=true
        window.noUse = true
    </script>
    <script src="../../../js/post.js"></script>
    <script src="../../../js/api/bigDataOut-api.js"></script>
    <script>
        new Vue({
            el: "#app",
            data: function () {
                return {
                    showFlag: true,
                    radio: "",
                    currentPage: 1, //初始页
                    pageSize: 10,    //    每页的数据 
                    pageSizeArr: [10, 20, 30, 50],
                    searchKey: '',
                    currentPage4: 4,
                    tableData: [{
          date: '02',
          name: '王小虎',
          address: '上海市'
        }, {
          date: '04',
          name: '王小虎',
          address: '上海市'
        }, {
          date: '01',
          name: '王小虎',
          address: '上海'
        }, {
          date: '03',
          name: '王小虎',
          address: '上海'
        }]
                    total: 50,
                    tableData: []
                }
            },
            mounted: function () {
        this.getData()
    },
            methods: {
                radioEvent() {
                    this.showFlag = false;
                    this.adapterSelected = this.radio;
                handleCurrentChange: function (val) {
                    this.currentPage = val;
                    this.getData()
                },
                handleSizeChange: function (val) {
                    this.pageSize = val;
                    this.initData()
                },
                initData: function () { //初始化
                    this.currentPage = 1;
                    this.getData()
                },
                searchClick: function () {
                    this.initData()
                },
                getData: function () {
                    var vm = this;
                    var params = {
                        code:"CV04.10.015"
                    }
                    // GlobalEventBus.$emit('setLoading', {
                    //     loading: true
                    // }); //等待效果
                    bigDataOutApi.lastDictItem(params).then(function (res) {
                        console.log(res)
                        GlobalEventBus.$emit('setLoading');
                        vm.tableData = res.detailModelList;
                        vm.total = res.totalCount;
                    }).catch(function (err) {
                        console.log(err)
                        GlobalEventBus.$emit('setLoading');
                    })
                },
                handleSizeChange(val) {
        console.log(`每页 ${val} 条`);
      },
      handleCurrentChange(val) {
        console.log(`当前页: ${val}`);
      }
            }
        })

BIN=BIN
page/bigDataOut/images/icon-JIANYANZHUANYEFENLEI-dianji.png


BIN=BIN
page/bigDataOut/images/icon-JIANYANZHUANYEFENLEI.png


BIN=BIN
page/bigDataOut/images/icon_jianchazhuanyedaima-weidianji.png


BIN=BIN
page/bigDataOut/images/icon_jianchazhuanyedaima.png


+ 1 - 1
page/bigDataOut/js/handleChangeViewA.js

@ -46,7 +46,7 @@ Vue.component('comA', {
            tableData: [],
            pageSizeArr: [10, 20, 30, 50],
            total: 0,
            value4:new Date(getLastMonthStartDate()),
            value4:new Date(),
        }
    },

+ 51 - 38
page/bigDataOut/js/handleChangeViewB.js

@ -18,7 +18,7 @@ Vue.component('comB', {
                      <el-date-picker v-model="value4" type="month" placeholder="选择时间">\
                      </el-date-picker>\
                    <div class="search" @click="searchClick">搜  索</div>\
                    <span class="span">门急诊费>=999,000.00(999,000.00=上月门急诊次均费用*3)/住院费用>=999,000.00(999,000.00=上月住院次均费用*3)</span>\
                    <span class="span" >{{feiyong}}</span>\
                <el-table :data="tableData"  border style="width: 100%"  :data.native="tableData.slice((currentPage-1)*pageSize,currentPage*pageSize)">\
                            el-table-column prop="event_date" label="就诊时间">\
                            </el-table-column>\
@ -63,13 +63,14 @@ Vue.component('comB', {
            pageSize: 10,    //    每页的数据 
            pageSizeArr: [10, 20, 30, 50],
            tableData: [],
            feiyong: '',
            total: 0,
            eventType: '0',
            item: '',
            hosLevel: '',
            level: "",
            hos: "",
            value4:new Date(getLastMonthStartDate()),
            value4: new Date(),
            event_type: [{
                "code": '0',
                "name": '门急诊'
@ -107,47 +108,47 @@ Vue.component('comB', {
        }
    },
    watch: {
       
    },
    mounted: function () {
        this.getData()
    },
    methods: {
        handleClick:function(row) {
            demographic_id=row.demographic_id,
            blurry_type=row.eventType,
            searchParam=''
            var url =  httpRequest.server+'/profile/app/medication/html/jiuzhen-item.html?'+
            'healthProblemName='+'&demographic_id='+demographic_id+'&blurry_type='+blurry_type+'&searchParam='+searchParam
        handleClick: function (row) {
            demographic_id = row.demographic_id,
                blurry_type = row.eventType,
                searchParam = ''
            var url = httpRequest.server + '/profile/app/medication/html/jiuzhen-item.html?' +
                'healthProblemName=' + '&demographic_id=' + demographic_id + '&blurry_type=' + blurry_type + '&searchParam=' + searchParam
            console.log(url)
        //    window.open(url)
        var width=(0.5212*window.screen.width)+'px';
        var height=(0.7878*window.screen.height)+'px';
        top.layer.open({
            id:'Lay_xiangqing',
            type:2,
            title:false,
            closeBtn:0,
            shade:0.5,
            shadeClose:true,
            area:[width,height],
            content:url
        })
            //    window.open(url)
            var width = (0.5212 * window.screen.width) + 'px';
            var height = (0.7878 * window.screen.height) + 'px';
            top.layer.open({
                id: 'Lay_xiangqing',
                type: 2,
                title: false,
                closeBtn: 0,
                shade: 0.5,
                shadeClose: true,
                area: [width, height],
                content: url
            })
        },
        selectChange(value) {
            console.log(value);
            if(value==3){
                this.hos_hierarchy.push({'code':'9',"name": '特等'})
                this.hos=''
            }else{
               if(this.level.code==3){
             this.hos=''
               }else{
                this.hos=''
                var vm=this.hos_hierarchy[0].code
                console.log(vm)
                this.hos_hierarchy.splice(4)
               }
            if (value == 3) {
                this.hos_hierarchy.push({ 'code': '9', "name": '特等' })
                this.hos = ''
            } else {
                if (this.level.code == 3) {
                    this.hos = ''
                } else {
                    this.hos = ''
                    var vm = this.hos_hierarchy[0].code
                    console.log(vm)
                    this.hos_hierarchy.splice(4)
                }
            }
        },
        handleCurrentChange: function (val) { //page 当前页
@ -160,10 +161,8 @@ Vue.component('comB', {
        },
        searchClick: function () {
            console.log(this.eventType)
            console.log(this.level)
            console.log(this.hos)
            this.initData()
            this.getFeiYongStr()
        },
        initData: function () {  //初始化数据
            this.currentPage = 1;
@ -175,7 +174,7 @@ Vue.component('comB', {
                month: this.value4.format('yyyy-MM'),
                eventType: this.eventType,
                hosLevel: this.level,
                hosHierarchy:this.hos,
                hosHierarchy: this.hos,
                size: 15,
                page: 1,
            }
@ -187,11 +186,25 @@ Vue.component('comB', {
                GlobalEventBus.$emit('setLoading');
                vm.tableData = res.detailModelList;
                vm.total = res.totalCount;
                var obj = res.obj;
                vm.getFeiYongStr(obj)
                console.log(obj)
            }).catch(function (err) {
                console.log(err)
                GlobalEventBus.$emit('setLoading');
            })
        },
        getFeiYongStr: function (obj) {
            debugger
            if (this.eventType == "0") {
                this.feiyong = '门急诊费用>=' + obj * 3+' ('+ obj * 3+'上月门急诊次均费用*3)'
            } else {
                this.feiyong = '住院费用>='  + obj * 3+' ('+ obj * 3+'上月住院次均费用*3)'
            }
        }
    }
})

+ 18 - 2
page/bigDataOut/js/handleChangeViewC.js

@ -6,7 +6,7 @@ Vue.component('comC',{
    <el-input paceholder="请输入药品名称"  v-model="inspect">\
    </el-input>\
    </div>\
        </el-select> <a href="#">查看字典</a>\
        </el-select> <a href="#" @click="handleZidian">查看字典</a>\
        <el-date-picker v-model="value4" type="month" placeholder="选择时间">\
        </el-date-picker>\
        <div class="search" @click="searchClick">搜索</div>\
@ -48,7 +48,7 @@ data: function () {
        tableData: [],
        pageSizeArr: [10, 20, 30, 50],
        total: 0,
        value4:new Date(getLastMonthStartDate()),
        value4:new Date(),
        inspect:''
    }
@ -114,6 +114,22 @@ methods: {
        area:[width,height],
        content:url
    })
    },
    handleZidian:function(){
        var url ='../html/zidian.html'
        console.log(url)
        var width=(0.5212*window.screen.width)+'px';
    var height=(0.6528*window.screen.height)+'px';
    top.layer.open({
        id:'Lay_zidian',
        type:2,
        title:false,
        closeBtn:0,
        shade:0.5,
        shadeClose:true,
        area:[width,height],
        content:url
    })
    }
}
})

+ 2 - 2
page/bigDataOut/js/handleChangeViewD.js

@ -128,10 +128,10 @@ Vue.component('comD',{
            })
        },
        handleClick:function(row) {
            demographic_id=row.demographic_id,
            demographic_id='',
            blurry_type='',
            searchParam=''
            var url =  httpRequest.server+'/profile/app/medication/html/jiuzhen-item.html?'+
            var url =  httpRequest.server+'/profile/app/medication/html/medication.html?'+
            'healthProblemName='+'&demographic_id='+demographic_id+'&blurry_type='+blurry_type+'&searchParam='+searchParam
            console.log(url)
        //    window.open(url)