Parcourir la source

Merge branch 'master' of http://192.168.1.220:10080/raolu/sr-publicServicePlatform

linehang il y a 7 ans
Parent
commit
c53c3f0bb3

+ 102 - 47
component/appointment/date-source.js

@ -4,13 +4,13 @@
                    <p class="c-f18">就诊日期</p>\
                    <div class="div-table">\
                        <div class="table-row">\
                            <div class="table-cell arrow-cell" :class="{\'active\': page!=1}" @click="prePage"><i class="fa fa-caret-left c-f20 c-909090"></i></div>\
                            <div v-for="d in planDate" class="table-cell">{{d.date}} {{d.day}}</div>\
                            <div class="table-cell arrow-cell" :class="{\'active\': page!=totalPage}" @click="nextPage"><i class="fa fa-caret-right c-f20 c-909090"></i></div>\
                            <div class="table-cell arrow-cell" :class="{\'active\': curPage!=1}" @click="prePage"><i class="fa fa-caret-left c-f20 c-909090"></i></div>\
                            <div v-for="(d, index) in planDate" v-show="showCol(index)" class="table-cell">{{d.dStr}} {{d.day}}</div>\
                            <div class="table-cell arrow-cell" :class="{\'active\': curPage != totalPage}" @click="nextPage"><i class="fa fa-caret-right c-f20 c-909090"></i></div>\
                        </div>\
                        <div class="table-row">\
                            <div class="table-cell arrow-cell c-f16 bgc-ebf4f3">上午</div>\
                            <div class="table-cell" v-for="(item, index) in amData" :class="{\'active\': item.arrangeID == arrangeid && arrangeid!=undefined}" @click="getNumbers(item.arrangeID)">\
                            <div class="table-cell" v-for="(item, index) in amData" v-show="showCol(index)" :class="{\'active\': item.arrangeID == arrangeid && arrangeid!=undefined}" @click="getNumbers(item.arrangeID)">\
                                <span :class="getColor(item.arrangeStatus, item.numberStatus)">{{getStatusName(item.arrangeStatus, item.numberStatus)}}</span><br/>\
                                <span class="yy-tag" :class="{\'active\': item.arrangeStatus==1 && item.numberStatus==1}">预约</span>\
                            </div>\
@ -18,7 +18,7 @@
                        </div>\
                        <div class="table-row">\
                            <div class="table-cell arrow-cell c-f16 bgc-ebf4f3">下午</div>\
                            <div class="table-cell" v-for="(item, index) in pmData" :class="{\'active\': item.arrangeID == arrangeid && arrangeid!=undefined}" @click="getNumbers(item.arrangeID)">\
                            <div class="table-cell" v-for="(item, index) in pmData" v-show="showCol(index)" :class="{\'active\': item.arrangeID == arrangeid && arrangeid!=undefined}" @click="getNumbers(item.arrangeID)">\
                                <span :class="getColor(item.arrangeStatus, item.numberStatus)">{{getStatusName(item.arrangeStatus, item.numberStatus)}}</span><br/>\
                                <span class="yy-tag" :class="{\'active\': item.arrangeStatus==1 && item.numberStatus==1}">预约</span>\
                            </div>\
@ -37,7 +37,7 @@
                        <button class="btn btn-primary" @click="submitForm">确认预约</button>\
                    </div>\
                </section>',
        props: ['doctorsn', 'arrangeid'],
        props: ['doctorsn', 'arrangeid', 'registerdate'],
        data: function(){
            return {
                planDate: [],
@ -48,10 +48,11 @@
                registerNumber: '',
                modeId: '', //号源池模式:1:实时号源池, 0:非实时号源池
                baseInfo: {}, //记录医生医院等基础信息
                specialPrice: 0, //挂号费(单位:分)
                specialPrice: 0, //挂号费(单位:分),
                curPage: 1, //当前页
                page: 1 , //日期分页,当有号源的日期数超过了7天,则需要分页展示
                totalPage: 1,
                pageSize: 7
                totalPage: 5,
                pageSize: 31
            }
        },
        mounted: function(){
@ -71,18 +72,41 @@
                    this.arrangeid = code;
                }
            },
            showCol: function(index){
                //默认分页一页展示7条数据,然后显示一个月的数据31天
                switch(this.curPage){
                    case 1:
                        return index < 7 ? true: false;
                        break;
                    case 2:
                        return index >=7 && index<14 ? true: false;
                        break;
                    case 3:
                        return index >=14 && index<21 ? true: false;
                        break;
                    case 4:
                        return index >=21 && index<28? true: false;
                        break;
                    case 5:
                        return index>=28 ? true : false;
                        break;
                    default:
                        return true;
                        break;
                }
            },
            chooseNumber: function(id, modeId){
                this.registerNumber = id;
                this.modeId = modeId;
            },
            prePage: function(){
                if(this.page > 1){
                    this.page --;
                if(this.curPage > 1){
                    this.curPage --;
                }
            },
            nextPage: function(){
                if(this.page < this.totalPage){
                    this.page ++;
                if(this.curPage < this.totalPage){
                    this.curPage ++;
                }
            },
            submitForm: function(){
@ -140,10 +164,10 @@
                    getArrangeDate(vm, res.obj)
                    vm.baseInfo = res.obj;
                }else{
                    console.log(res.obj.Message);
                    showErrorMessage(res.obj.Message);
                }
            }else{
                console.log(res.errorMsg);
                showErrorMessage(res.errorMsg);
            }
        })
    }
@ -164,47 +188,71 @@
                    var list = res.obj.Result;
                    //先groupby结果,判断有几天号源
                    var dateGroup = _.groupBy(list, 'registerDate');
                    console.log(dateGroup);
                    for(key in dateGroup){
                        var d = new Date(key);
                        vm.planDate.push({
                            date: d.format("MM/dd"),
                    //展示整个月的数据
                    var now = new Date();
                    var planDate = [],
                        selectedIndex;
                    for(i=0; i<31; i++){
                        var d = new Date();
                        d.setDate(now.getDate()+i);
                        var dStr = d.format("yyyy-MM-dd");
                        planDate.push({
                            date: dStr,
                            dStr: d.format("MM/dd"),
                            day: getWeekDay(d.getDay())
                        }); //日期记录
                        
                        var objArr = dateGroup[key];
                        if(objArr.length == 1){
                            var obj = objArr[0];
                            if(obj.timeId == 1){ //1 上午 2下午 3 晚上
                                vm.amData.push(obj);
                                vm.pmData.push({
                                    arrangeID: '', //没有排号
                                    arrangeStatus: 0,
                                });
                            }else{
                                vm.pmData.push(obj);
                                vm.amData.push({
                                    arrangeID: '', //没有排号
                                    arrangeStatus: 0,
                                });
                            }
                        }else if(objArr.length == 2){
                            for(j=0; j<objArr.length; j++){
                                var obj = objArr[j];
                        //记录选中的日期
                        if(vm.registerdate == dStr){
                            selectedIndex = i;
                        }
                        var objArr = dateGroup[dStr];
                        if(objArr && objArr.length > 0){
                            if(objArr.length == 1){
                                var obj = objArr[0];
                                if(obj.timeId == 1){ //1 上午 2下午 3 晚上
                                    vm.amData.push(obj);
                                }
                                if(obj.timeId == 2 || obj.timeId == 3){
                                    vm.pmData.push({
                                        arrangeID: '', //没有排号
                                        arrangeStatus: 0,
                                    });
                                }else{
                                    vm.pmData.push(obj);
                                    vm.amData.push({
                                        arrangeID: '', //没有排号
                                        arrangeStatus: 0,
                                    });
                                }
                            }else if(objArr.length == 2){
                                for(j=0; j<objArr.length; j++){
                                    var obj = objArr[j];
                                    if(obj.timeId == 1){ //1 上午 2下午 3 晚上
                                        vm.amData.push(obj);
                                    }
                                    if(obj.timeId == 2 || obj.timeId == 3){
                                        vm.pmData.push(obj);
                                    }
                                }
                            }
                        }else{
                            vm.amData.push({
                                arrangeID: '', //没有排号
                                arrangeStatus: 0,
                            });
                            vm.pmData.push({
                                arrangeID: '', //没有排号
                                arrangeStatus: 0,
                            });
                        }
                    }
                    vm.planDate = planDate;
                    if(selectedIndex || selectedIndex == 0){
                        vm.curPage = parseInt(selectedIndex / 7) + 1;
                    }
                }else{
                    console.log(res.obj.Message);
                    showErrorMessage(res.obj.Message);
                }
            }else{
                console.log(res.errorMsg);
                showErrorMessage(res.errorMsg);
            }
        });
    }
@ -219,10 +267,10 @@
                if(res.obj.Code == "10000"){
                    vm.numberSource = res.obj.Result;
                }else{
                    console.log(res.Message);
                    showErrorMessage(res.Message);
                }
            }else{
                console.log(res.errorMsg);
                showErrorMessage(res.errorMsg);
            }
        });
    }
@ -273,7 +321,7 @@
                //跳转去确认信息页面
                window.location.href = "confirm-info.html?id="+id;
            }else{
                console.log(res.errorMsg);
                showErrorMessage(res.errorMsg);
            }
        })
        
@ -353,4 +401,11 @@
                break;
        }
    }
    
    function showErrorMessage(content){
        layer.msg(content, {
            icon: 2,
            time: 3000
        });
    }
})()

+ 3 - 0
css/style.min.css

@ -7488,4 +7488,7 @@ select {
.nav-item:hover{
    color: #0ad8c8;
    font-weight: bold;
}
[v-cloak] {
    display: none;
}

+ 2 - 1
page/appointment/html/confirm-info.html

@ -18,7 +18,7 @@
        <link rel="stylesheet" type="text/css" href="../css/appointment.css"/>
    </head>
    <body class="bgc-f5f9f9">
        <div id="main">
        <div id="main" v-cloak>
            <page-header></page-header>
            <div class="container mt20">
                <div class="ui-grid">
@ -92,6 +92,7 @@
        <script src="../../../api/http-request.js" type="text/javascript" charset="utf-8"></script>
        <script src="../../../api/patient/appointment-api.js" type="text/javascript" charset="utf-8"></script>
        <script src="../../../plugins/artDialog/6.0.5/api/js/dialog-plus.js" type="text/javascript" charset="utf-8"></script>
        <script src="../../../plugins/layer/layer.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="../../../component/common/header.js" type="text/javascript" charset="utf-8"></script>
        <script src="../../../component/common/footer.js" type="text/javascript" charset="utf-8"></script>
        <script src="../../../component/common/event-bus.js" type="text/javascript" charset="utf-8"></script>

+ 4 - 3
page/appointment/html/select-time.html

@ -18,9 +18,9 @@
        <link rel="stylesheet" type="text/css" href="../css/appointment.css"/>
    </head>
    <body>
        <div id="main">
        <div id="main" v-cloak>
            <page-header></page-header>
            <div class="container mt20" v-cloak>
            <div class="container mt20">
                <div class="ui-grid">
                    <div class="ui-col-0 mr15">
                        <appointment-step></appointment-step>
@ -46,7 +46,7 @@
                            </div>
                        </section>
                        <!--医生号源日期展示-->
                        <date-scource :doctorsn="doctorSn" :arrangeid="arrangeID"></date-scource>
                        <date-scource :doctorsn="doctorSn" :arrangeid="arrangeID" :registerdate="registerDate"></date-scource>
                    </div>
                </div>
            </div>
@ -64,6 +64,7 @@
        <script src="../../../api/http-request.js" type="text/javascript" charset="utf-8"></script>
        <script src="../../../api/patient/appointment-api.js" type="text/javascript" charset="utf-8"></script>
        <script src="../../../plugins/artDialog/6.0.5/api/js/dialog-plus.js" type="text/javascript" charset="utf-8"></script>
        <script src="../../../plugins/layer/layer.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="../../../component/common/header.js" type="text/javascript" charset="utf-8"></script>
        <script src="../../../component/common/footer.js" type="text/javascript" charset="utf-8"></script>
        <script src="../../../component/common/event-bus.js" type="text/javascript" charset="utf-8"></script>

+ 10 - 3
page/appointment/js/confirm-info.js

@ -82,10 +82,10 @@ new Vue({
                            }
                        })
                    }else{
                        console.log(res.obj.Message);
                        showErrorMessage(res.obj.Message);
                    }
                }else{
                    console.log(res.errorMsg);
                    showErrorMessage(res.errorMsg);
                }
            });
        },
@ -102,10 +102,17 @@ new Vue({
            
                    document.history.back();
                }else{
                    console.log(res.errorMsg);
                    showErrorMessage(res.errorMsg);
                }
            })
            
        }
    }
    
    function showErrorMessage(content){
        layer.msg(content, {
            icon: 2,
            time: 3000
        });
    }
})

+ 4 - 2
page/appointment/js/select-time.js

@ -1,12 +1,14 @@
var request = GetRequest(),
    doctorSn = Base64.decode(request.doctorSn),
    arrangeID = request.arrangeID;
    arrangeID = request.arrangeID,
    registerDate = request.registerDate;
new Vue({
    el: "#main",
    data: {
        doctorSn: doctorSn,
        docInfo: {},
        arrangeID: arrangeID
        arrangeID: arrangeID,
        registerDate: registerDate
    },
    mounted: function(){
        EventBus.$emit("jump-step",{step:3});//step:跳转的步数

+ 27 - 4
page/home/css/index.css

@ -1,12 +1,13 @@
.item img{
    height: 450px!important;
    /* height: 450px!important; */
    width: 100%!important
}
.fc{
    display: flex;
    display: -webkit-flex; 
    align-items: center;
    justify-content: center
    justify-content: center;
    flex-wrap: wrap
}
.fcolumn{
    display: flex;
@ -18,9 +19,12 @@
.carousel-indicators .active{
    width: 36px;
}
.box_container{
    overflow: hidden;
.box_container:after {
    clear: both;
}
.box{
    width:414px;
    height: 366px;
@ -29,6 +33,9 @@
    float: left;
    margin-right: 20px
}
.lastBox{
  margin-right:0
}
.box_head{
    padding: 20px 24px 0  20px
}
@ -127,4 +134,20 @@
}
.mb60{
    margin-bottom: 60px
}
.dropdown-menu{
    max-height:300px ;
    overflow: auto;
}
@media (min-width: 1300px){
    .container {
        width: 1300px;
    }
}
@media (max-width: 943px){
    .lastBox{
        margin-right:20px
    }
}

+ 23 - 21
page/home/html/index.html

@ -43,7 +43,7 @@
        </div>
        <div class="fc mb60">
            <div class="index_wrap">
                <div class="box_container">
                <div class="box_container fc fwrap">
                    <div class="box">
                        <div class="box_head">
                            <span class="box_title">我的就诊</span>
@ -51,7 +51,7 @@
                        </div>
                        <div class="box_content">下载APP已便获取提醒消息,我们诚邀您对每一次就诊进行评价,帮助我们提供更好的服务</div>
                        <div class="box_bottom">
                            <button class="box_button">查看详情</button>
                            <button class="box_button" @click="goMyJiuZhen">查看详情</button>
                            <img src="../image/p1.png">
                        </div>
                    </div>
@ -66,68 +66,68 @@
                            <img src="../image/p2.png">
                        </div>
                    </div>
                    <div class="box" style="margin-right:0">
                    <div class="box lastBox" >
                        <div class="box_head">
                            <span class="box_title">快速节约</span>
                            <span class="frendBox_head">快速预约</span>
                            <span class="box_title_remark">节省80%就医时间</span>
                        </div>
                        <div class="fcolumn">
                            <div class="dropdown" style="margin-top:30px">
                                <a type="button" class="btn dropdown-toggle box_select" id="dropdownMenu1" data-toggle="dropdown">{{yuYue.hospital || '请选择医院'}}
                                <a type="button" class="btn dropdown-toggle box_select" id="dropdownMenu1" data-toggle="dropdown">{{YiYuan.hosName || '请选择医院'}}
                                    <span class="caret"></span>
                                </a>
                                <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
                                    <li role="presentation" >
                                        <a role="menuitem" tabindex="-1"  @click="setYiYuan('Java')">Java</a>
                                    <li role="presentation"  v-for="(item,i) in YiYuanArr">
                                        <a role="menuitem" tabindex="-1"  @click="setYiYuan(item)">{{item.hosName}}</a>
                                    </li>
                                    
                                </ul>
                            </div>
                            <div class="dropdown">
                                <a type="button" class="btn dropdown-toggle box_select" id="dropdownMenu2" data-toggle="dropdown">{{yuYue.hospital || '请选择科室'}}
                                <a type="button" class="btn dropdown-toggle box_select" id="dropdownMenu2" data-toggle="dropdown">{{KeShi.deptName   ||  '请选择科室'}}
                                    <span class="caret"></span>
                                </a>
                                <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu2">
                                    <li role="presentation" >
                                        <a role="menuitem" tabindex="-1"  @click="setYiYuan('Java')">Java</a>
                                    <li role="presentation"  v-for="(item,i) in KeShiArr">
                                        <a role="menuitem" tabindex="-1"  @click="setKeShi(item)">{{item.deptName}}</a>
                                    </li>
                                    
                                </ul>
                            </div>
                            <div class="dropdown">
                                <a type="button" class="btn dropdown-toggle box_select" id="dropdownMenu3" data-toggle="dropdown">{{yuYue.hospital || '请选择医生'}}
                                <a type="button" class="btn dropdown-toggle box_select" id="dropdownMenu3" data-toggle="dropdown">{{YiSheng.doctorName  ||  '请选择医生'}}
                                    <span class="caret"></span>
                                </a>
                                <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu3">
                                    <li role="presentation" >
                                        <a role="menuitem" tabindex="-1"  @click="setYiYuan('Java')">Java</a>
                                    <li role="presentation"  v-for="(item,i) in YiShengArr">
                                        <a role="menuitem" tabindex="-1"  @click="setYiSheng(item)">{{item.doctorName}}</a>
                                    </li>
                                    
                                </ul>
                            </div>
                            <button class="box_largeBtn">立即挂号</button>
                            <button class="box_largeBtn" @click="save">立即挂号</button>
                        </div>
        
                    </div>
                </div>
                <div class="frendBox">
                    <div class="frendBox_head">友情链接</div>
                    <div class="frendBox_content">
                    <div class="frendBox_head ml20">友情链接</div>
                    <div class="frendBox_content fc fwrap">
                        <div class="frendBox_content_box fc">
                            <img src="../image/frend_logo.png">
                            <span>国家卫生与计划生育委员会</span>
                        </div>
                        <div class="frendBox_content_box fc">
                            <img src="../image/frend_logo.png">
                            <span>国家卫生与计划生育委员会</span>
                            <span>江西省卫生与计划生育委员会</span>
                        </div>
                        <div class="frendBox_content_box fc">
                            <img src="../image/frend_logo.png">
                            <span>国家卫生与计划生育委员会</span>
                            <span>上饶市卫生与计划生育委员会</span>
                        </div>
                        <div class="frendBox_content_box fc">
                            <img src="../image/frend_logo.png">
                            <span>国家卫生与计划生育委员会</span>
                            <img src="../image/icon_logo.png">
                            <span>健康上饶医生工作管理平台</span>
                        </div>
                    </div>       
                </div>
@ -143,8 +143,10 @@
    <script src="../../../js/es6-promise.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/underscore.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/util.js" type="text/javascript" charset="utf-8"></script>
    <!--<script src="../../api/http-request.js" type="text/javascript" charset="utf-8"></script>-->
    <script src="../../../api/http-request.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/base64.min.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../plugins/artDialog/6.0.5/api/js/dialog-plus.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/patient/appointment-api.js"></script>
    <script src="../../../component/common/header.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/common/footer.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/common/event-bus.js" type="text/javascript" charset="utf-8"></script>

BIN
page/home/image/icon_logo.png


+ 130 - 12
page/home/js/index.js

@ -1,23 +1,141 @@
$(function () {
$(function(){
  
    new Vue({
        el: "#main",
        data: {
            yuYue:{
               hospital:''
            }
            YiYuan: {
                hosName: '',
                hospitalId: ''
            },
            YiYuanArr: [],
            KeShi: {
                deptName: '',
                hosDeptId: ''
            },
            KeShiArr: [],
            YiSheng: {
                doctorName: '',
                doctorSn: ''
            },
            YiShengArr: [],
        },
        mounted: function() {
            $("#myCarousel").carousel('cycle')
        mounted() {
            $("#myCarousel").carousel('cycle');
            this.getYiYuan();
            //从缓存获取前一个页面缓存的信息
            var dateInfo = window.localStorage.getItem("dateInfo"),
                numberInfo = window.localStorage.getItem("numberInfo"),
                patientInfo = window.sessionStorage.getItem("oauthInfo");
            if (patientInfo) {
                patientInfo = JSON.parse(patientInfo);
                this.patientInfo = patientInfo;
            }
            if (numberInfo) {
                numberInfo = JSON.parse(numberInfo);
                this.numberInfo = numberInfo;
            }
        },
        methods: {
            setYiYuan: function(value){
                this.yuYue.hospital = value
            setYiYuan(value) {
                console.log(value);
                this.YiYuan.hosName = value.hosName;
                this.YiYuan.hospitalId = value.hospitalId;
                var vm = this;
                var params = {
                    pageIndex: 1,
                    pageSize: 99,
                    hospitalId: this.YiYuan.hospitalId
                }
                appointmentAPI.querySimpleHosDeptList(params).then(function (res) {
                    console.log(res);
                    if (res.successFlg && res.obj.Code == "10000") {
                        vm.KeShiArr = res.obj.Result;
                        vm.KeShi.deptName = '';
                        vm.KeShi.hosDeptId = '';
                        vm.YiShengArr = [];
                        vm.YiSheng.doctorName = '';
                        vm.YiSheng.doctorUid = '';
                    }
                }).catch(function (err) {
                    consolel.log(err)
                })
            },
            setKeShi(value) {
                console.log(value);
                if (!this.YiYuan.hospitalId) {
                    alert('请先选择医院')
                    return
                }
                this.KeShi.deptName = value.deptName;
                this.KeShi.hosDeptId = value.hosDeptId;
                //查询医生总数
                var vm = this;
                var params = {
                    pageIndex: 1,
                    pageSize: 99,
                    hospitalId: vm.YiYuan.hospitalId,
                    hosDeptId: vm.KeShi.hosDeptId
                }
                appointmentAPI.querySimpleDoctorList(params).then(function (res) {
                    console.log(res);
                    if (res.successFlg && res.obj.Code == "10000") {
                        if (!res.obj.Result) {
                            res.obj.Message && alert(res.obj.Message)
                        } else {
                            vm.YiShengArr = res.obj.Result;
                            vm.YiSheng.doctorName = '';
                            vm.YiSheng.doctorUid = '';
                        }
                        //获取医生排班数据
                    }
                })
            },
            setYiSheng(value) {
                console.log(value);
                if (!this.KeShi.hosDeptId) {
                    alert('请先选择科室')
                    return
                }
                this.YiSheng.doctorName = value.doctorName;
                this.YiSheng.doctorSn = value.doctorSn;
            },
            goMyJiuZhen() {
                window.location.href = '../../mineJiuZhen/html/mineJiuZhen.html'
            },
            getYiYuan() {
                var params = {
                        pageIndex: 1,
                        pageSize: 99,
                        provinceCode: 360000,
                        cityCode: 361100
                    },
                    vm = this;
                appointmentAPI.querySimpleHospitalList(params).then(function (res) {
                    console.log(res);
                    if (res.successFlg && res.obj.Code == "10000") {
                        vm.YiYuanArr = res.obj.Result;
                    }
                }).catch(function (err) {
                    console.error(err)
                })
            },
            save() {
                if (!this.YiYuan.hospitalId) {
                    alert('请选择医院')
                    return
                } else if (!this.KeShi.hosDeptId) {
                    alert('请选择科室')
                    return
                } else if (!this.YiSheng.doctorSn) {
                    alert('请选择医生')
                    return
                }
                window.location.href = "../../appointment/html/select-time.html?doctorSn="+Base64.encode(this.YiSheng.doctorSn);
            }
        }
    })
})
})