Ver código fonte

医保控费分析

liangweifeng 6 anos atrás
pai
commit
b178d51ac3

+ 3 - 2
js/api/http-request.js

@ -1,5 +1,5 @@
(function(exports) {
	var publish_version = true;
	var publish_version = false;
	var server;
	var getServer;
	var agentName = "useragent"
@ -19,7 +19,8 @@
		getServer=server +'/gateway/resource'
		alertUrl="http://172.19.103.70:1235/bigScreenShow";
//		server = "http://192.168.131.104:9088"; // 测试环境 周杰
//		 server = "http://192.168.131.105:9088"; // 测试环境 兴旺
		 server = "http://192.168.131.105:10001/quota"; // 测试环境 兴旺
		//  server = "http://192.168.131.105:9088"; // 测试环境 兴旺
	}

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

@ -0,0 +1,85 @@
body {
    margin: 0;
    padding: 0;
}
#app {
    height: 100%;
    width: 100%;
}
.nav {
    width: 420px;
    margin: 30px auto;
}
.tabNav {
    border-radius: 30px;
}
.el-table .cell {
    text-align: center
}
.el-radio-button__inner {}
.main {
    margin: -30px 30px;
}
.span {
    color: orange;
    display: block;
    margin-top: 10px;
}
.el-input__inner {
    height: 30px;
}
.el-input__inner:nth:first-child(1) {
    width: 100px;
}
.el-input__icon {
    line-height: 30px
}
.search {
    display: inline-block;
    background-color: #409EFF;
    color: white;
    border-radius: 2px;
    width: 50px;
    text-align: center;
    padding: 4px;
    cursor: pointer;
    position: absolute;
    right: 30px;
}
.el-table,
.el-table__expanded-cell {
    margin-top: 5px;
}
.tab4 .el-table,
.el-table__expanded-cell {
    margin-top: 20px;
}
.el-pagination {
    text-align: right;
}
.el-pagination__total {
    position: absolute;
    left: 30px;
}
a {
    text-decoration: none;
}
.content .el-input__inner{
    width: 150px;
}

+ 64 - 0
page/bigDataOut/html/tableChange.html

@ -0,0 +1,64 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="../../../css/element.css">
    <link rel="stylesheet" href="../css/tableChange.css">
</head>
<body>
    <div id="app">
        <!-- tab切换 -->
        <div class="nav">
            <template>
                <el-radio-group v-model="tabPosition" style="margin-bottom: 30px;" class="tabNav">
                    <el-radio-button label="top" @click.native='handleChangeView("A")'>频繁就医</el-radio-button>
                    <el-radio-button label="right" @click.native='handleChangeView("B")'>高额费用</el-radio-button>
                    <el-radio-button label="bottom" @click.native='handleChangeView("C")'>重复检查检验</el-radio-button>
                    <el-radio-button label="left" @click.native='handleChangeView("D")'>用药分析</el-radio-button>
                </el-radio-group>
            </template>
        </div>
        <div class="main">
            <component :is="currentView"></component>
        </div>
    </div>
    <script>
        window.noUse=true
    </script>
    <script src="../../../js/post.js"></script>
    <script src="../js/handleChangeViewA.js"></script>
    <script src="../js/handleChangeViewB.js"></script>
    <script src="../js/handleChangeViewC.js"></script>
    <script src="../js/handleChangeViewD.js"></script>
    <script src="../../../js/api/bigDataOut-api.js"></script>
    <script>
        new Vue({
            el: "#app",
            methods: {
                handleClick(row) {
                    console.log(row);
                },
            },
            data() {
                return {
                    tabPosition: 'top',
                    currentView: 'comA',
                }
            },
            methods: {
                handleChangeView: function (component) {
                    this.currentView = 'com' + component;
                }
            }
        })
    </script>
</body>
</html>

+ 79 - 0
page/bigDataOut/js/handleChangeViewA.js

@ -0,0 +1,79 @@
Vue.component('comA',{
    template:'<div class="tab1">\
    <template>\
        <span class="span">一周就医次数>=3次的患者记录</span>\
           <el-table :data="tableData" border style="width: 100%" :data.native="tableData.slice((currentPage-1)*pagesize,currentPage*pagesize)">\
                        <el-table-column prop="name" label="姓名" width="140">\
                        </el-table-column>\
                        <el-table-column prop="province" label="就医次数" width="140">\
                        </el-table-column>\
                        <el-table-column prop="address" label="身份证号" width="380">\
                        </el-table-column>\
                        <el-table-column prop="province" label="性别" width="140">\
                        </el-table-column>\
                        <el-table-column prop="province" label="年龄" width="140">\
                        </el-table-column>\
                        <el-table-column prop="address" label="地址" width="380">\
                        </el-table-column>\
                        <el-table-column fixed="right" label="操作" width="140">\
                            <template slot-scope="scope">\
                                <el-button @click="handleClick(scope.row)" type="text" size="small">查看详情</el-button>\
                            </template>\
                        </el-table-column>\
           </el-table>\
           <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"\
                        :page-sizes="[2,10, 20, 40]" :page-size="pagesize" layout="total,sizes,prev, pager, next, jumper"\
                        :total="tableData.length">\
           </el-pagination>\
    </template>\
</div> ',
    data:function(){
        return{
            currentPage: 1, //初始页
            pagesize:2,    //    每页的数据 
            tableData: [{
                date: '2016-05-03',
                name: '王小虎',
                province: '上海',
                city: '普陀区',
                address: '上海市普陀区金沙江路 1518 弄',
                zip: 200333
            }, {
                date: '2016-05-02',
                name: '王小虎',
                province: '上海',
                city: '普陀区',
                address: '上海市普陀区金沙江路 1518 弄',
                zip: 200333
            }, {
                date: '2016-05-04',
                name: '王小虎',
                province: '上海',
                city: '普陀区',
                address: '上海市普陀区金沙江路 1518 弄',
                zip: 200333
            }, {
                date: '2016-05-01',
                name: '王小虎',
                province: '上海',
                city: '普陀区',
                address: '上海市普陀区金沙江路 1518 弄',
                zip: 200333
            }],
        }
    
    },
    methods: {
        handleSizeChange: function (size) {
            this.pagesize = size;
            console.log(this.pagesize)  //每页下拉显示数据
        },
        handleCurrentChange: function (currentPage) {
            this.currentPage = currentPage;
            console.log(this.currentPage)  //点击第几页
        },
        handleClick(row) {
            console.log(row);
          }
    }
})

+ 123 - 0
page/bigDataOut/js/handleChangeViewB.js

@ -0,0 +1,123 @@
Vue.component('comB', {
    template: '<div class="tab2" >\
    <template>\
      <div class="content">\
      <span>就诊类型:</span>  \
      <el-select v-model="value" placeholder="请选择">\
            <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">\
            </el-option>\
        </el-select>\
        <span>机构等级:</span>  \
        <el-select v-model="items" placeholder="请选择">\
                <el-option v-for="item in option" :key="item.value" :label="item.label" :value="item.value">\
                </el-option>\
        </el-select>\
        <el-select v-model="item" placeholder="请选择">\
                <el-option v-for="item in option" :key="item.value" :label="item.label" :value="item.value">\
                </el-option>\
        </el-select>\
        <span class="demonstration">时间:</span>\
        <el-date-picker\
        v-model="value4"\
        type="month"\
        placeholder="选择月">\
      </el-date-picker>\
        <div class="search">搜  索</div>\
      <div>\
    </template>\
    <span class="span">门急诊费>=999,000.00(999,000.00=上月门急诊次均费用*3)/住院费用>=999,000.00(999,000.00=上月住院次均费用*3)</span>\
    <el-table :data="tableData" border style="width: 100%" :data.native="tableData.slice((currentPage-1)*pageSize,currentPage*pageSize)">\
        <el-table-column prop="patient_name" label="姓名" width="140">\
        </el-table-column>\
        <el-table-column prop="demographic_id" label="身份证号" width="380">\
        </el-table-column>\
        <el-table-column label="性别">\
        <template slot-scope="scope">\
          <span v-if="scope.row.patient_sex == 1">男</span>\
          <span v-else>女</span>\
        </template>\
      </el-table-column>\
        <el-table-column prop="patient_age" label="年龄" width="140">\
        </el-table-column>\
        <el-table-column prop="EHR_000045" label="家庭地址" width="380">\
        </el-table-column>\
        <el-table-column fixed="right" label="操作" width="140">\
        <template slot-scope="scope">\
        <el-button @click="handleClick(scope.row)" type="text" size="small">查看详情</el-button>\
    </template>\
        </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>\
        </template>\
</div> ',
    data: function () {
        return {
            currentPage: 1, //初始页
            pageSize: 10,    //    每页的数据 
            pageSizeArr: [10, 20, 30, 50],
            tableData: [],
            total: 0,
            value: '门急诊',
            item:'',
            items:'',
            hosLevel: '',
            option: [],
            options: [{
                value: '1',
                label: '门急诊'
            }, {
                value: '2',
                label: '住院'
            }],
            value4: '',
            
        }
    },
    mounted: function () {
        this.getData()
    },
    methods: {
        handleClick(row) {
            console.log(row);
        },
        handleCurrentChange: function (val) { //page 当前页
            this.currentPage = val;
            this.getData()
        },
        handleSizeChange: function (val) {// size 页面展示数据条数
            this.pageSize = val;
            this.initData()
        },
        initData: function () {  //初始化数据
            this.currentPage = 1;
            this.getData()
        },
        getData: function () {
            var vm = this;
            var params = {
                month: '2018-08',
                eventType: 0,
                hosLevel: this.hosLevel,
                hosHierarchy: this.hosHierarchy,
                size: 15,
                page: 1,
            }
            debugger
            bigDataOutApi.getHighCostList(params).then(function (res) {
                console.log(res)
                vm.tableData = res.detailModelList;
                vm.total = res.totalCount;
            }).catch(function (err) {
                console.log(err)
            })
        }
    }
})

+ 101 - 0
page/bigDataOut/js/handleChangeViewC.js

@ -0,0 +1,101 @@
Vue.component('comC',{
    template:' <div class="tab3">\
    <template>\
      <span>检查/检验:</span> <el-select v-model="value" placeholder="请选择">\
            <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">\
            </el-option>\
        </el-select> <a href="#" @click="open5">查看字典</a>\
        <div class="search">搜索</div>\
    </template>\
    <span class="span">一周内同种检查/检验项目的次数>=3</span>\
    <el-table :data="tableData" border style="width: 100%"  :data.native="tableData.slice((currentPage-1)*pagesize,currentPage*pagesize)">\
        <el-table-column prop="name" label="姓名" width="140">\
        </el-table-column>\
        <el-table-column prop="province" label="就医次数" width="140">\
        </el-table-column>\
        <el-table-column prop="address" label="身份证号" width="380">\
        </el-table-column>\
        <el-table-column prop="province" label="性别" width="140">\
        </el-table-column>\
        <el-table-column prop="province" label="年龄" width="140">\
        </el-table-column>\
        <el-table-column prop="address" label="地址" width="380">\
        </el-table-column>\
        <el-table-column fixed="right" label="操作" width="140">\
            <template slot-scope="scope">\
                <el-button @click="handleClick(scope.row)" type="text" size="small">查看详情</el-button>\
            </template>\
        </el-table-column>\
    </el-table>\
    <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"\
    :page-sizes="[2,10, 20, 40]" :page-size="pagesize" layout="total,sizes,prev, pager, next, jumper"\
    :total="tableData.length">\
</el-pagination>\
</template>\
</div>',
    data:function(){
        return{
            currentPage: 1, //初始页
            pagesize:2,    //    每页的数据 
            tableData: [{
                date: '2016-05-03',
                name: '王小虎',
                province: '上海',
                city: '普陀区',
                address: '上海市普陀区金沙江路 1518 弄',
                zip: 200333
            }, {
                date: '2016-05-02',
                name: '王小虎',
                province: '上海',
                city: '普陀区',
                address: '上海市普陀区金沙江路 1518 弄',
                zip: 200333
            }, {
                date: '2016-05-04',
                name: '王小虎',
                province: '上海',
                city: '普陀区',
                address: '上海市普陀区金沙江路 1518 弄',
                zip: 200333
            }, {
                date: '2016-05-01',
                name: '王小虎',
                province: '上海',
                city: '普陀区',
                address: '上海市普陀区金沙江路 1518 弄',
                zip: 200333
            }],
            options: [{
                value: '选项1',
                label: '外科'
            }, {
                value: '选项2',
                label: '住院'
            }],
            option: [{
                value: '选项1',
                label: '全部'
            }, {
                value: '选项2',
                label: '选线一'
            }],
            value: '全部'
        }
    },
    methods: {
        handleSizeChange: function (size) {
            this.pagesize = size;
            console.log(this.pagesize)  //每页下拉显示数据
        },
        handleCurrentChange: function (currentPage) {
            this.currentPage = currentPage;
            console.log(this.currentPage)  //点击第几页
        },
        handleClick(row) {
            console.log(row);
          },
         
          }
    }
})

+ 109 - 0
page/bigDataOut/js/handleChangeViewD.js

@ -0,0 +1,109 @@
Vue.component('comD',{
    template:' <div class="tab4">\
    <template>\
      <span>就诊类型:</span>  <el-select v-model="value" placeholder="请选择">\
            <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">\
            </el-option>\
        </el-select>\
        <span>机构等级:</span>  \
        <el-select v-model="value" placeholder="请选择">\
                <el-option v-for="item in option" :key="item.value" :label="item.label" :value="item.value">\
                </el-option> \
        </el-select> \
        <a href="">查看药品字典     </a>\
        <el-select v-model="value" placeholder="请选择">\
                <el-option v-for="item in option" :key="item.value" :label="item.label" :value="item.value">\
                </el-option>\
        </el-select>\
        <div class="search">搜索</div>\
    </template>\
    <el-table :data="tableData" border style="width: 100%"  :data.native="tableData.slice((currentPage-1)*pagesize,currentPage*pagesize)">\
            <el-table-column prop="province" label="就诊时间" width="180">\
                </el-table-column>\
        <el-table-column prop="name" label="姓名" width="140">\
        </el-table-column>\
        <el-table-column prop="province" label="就诊类型" width="180">\
        </el-table-column>\
        <el-table-column prop="province" label="规格" width="180">\
        </el-table-column>\
        <el-table-column prop="address" label="用法" width="380">\
        </el-table-column>\
        <el-table-column prop="province" label="总量" width="180">\
        </el-table-column>\
        <el-table-column fixed="right" label="操作" width="180">\
            <template slot-scope="scope">\
            <el-button @click="handleClick(scope.row)" type="text" size="small">查看详情</el-button>\
            </template>\
        </el-table-column>\
    </el-table>\
    <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"\
    :page-sizes="[2,10, 20, 40]" :page-size="pagesize" layout="total,sizes,prev, pager, next, jumper"\
    :total="tableData.length">\
</el-pagination>\
</template>\
</div>\
    </div> ',
    data:function(){
        return{
            currentPage: 1, //初始页
            pagesize:2,    //    每页的数据 
            tableData: [{
                date: '2016-05-03',
                name: '王小虎',
                province: '上海',
                city: '普陀区',
                address: '上海市普陀区金沙江路 1518 弄',
                zip: 200333
            }, {
                date: '2016-05-02',
                name: '王小虎',
                province: '上海',
                city: '普陀区',
                address: '上海市普陀区金沙江路 1518 弄',
                zip: 200333
            }, {
                date: '2016-05-04',
                name: '王小虎',
                province: '上海',
                city: '普陀区',
                address: '上海市普陀区金沙江路 1518 弄',
                zip: 200333
            }, {
                date: '2016-05-01',
                name: '王小虎',
                province: '上海',
                city: '普陀区',
                address: '上海市普陀区金沙江路 1518 弄',
                zip: 200333
            }],
            options: [{
                value: '选项1',
                label: '外科'
            }, {
                value: '选项2',
                label: '住院'
            }],
            option: [{
                value: '选项1',
                label: '全部'
            }, {
                value: '选项2',
                label: '选线一'
            }],
            value: '全部'
        }
    },
    methods: {
        handleSizeChange: function (size) {
            this.pagesize = size;
            console.log(this.pagesize)  //每页下拉显示数据
        },
        handleCurrentChange: function (currentPage) {
            this.currentPage = currentPage;
            console.log(this.currentPage)  //点击第几页
        },
        handleClick(row) {
            console.log(row);
          }
    }
})