这只是个子组件
< template> < div ref = " topBox" class = " swiper-in page-container bg-white" > < div class = " w-full page-head" > 我的排班< i class = " close-btn el-icon-close" @click = " closeCurrentPage" > </ i> </ div> < div class = " page-body" > < div class = " topbox" > < span style = " color : #66b1ff" > 月份:</ span> < el-date-picker v-model = " day" value-format = " yyyy-MM" type = " month" placeholder = " 选择月" style = " margin-right : 1rem; overflow : inherit" :clearable = " false" > </ el-date-picker> < span style = " color : #66b1ff" > 排班性质:</ span> < el-select v-model = " typesettingNypevalue" placeholder = " 请选择" style = " margin-right : 1rem; display : inline-flex" clearable > < el-option v-for = " item in typesettingType" :key = " item.value" :label = " item.label" :value = " item.value" :disabled = " item.disabled" > </ el-option> </ el-select> < el-button type = " primary" @click = " getlist" > 查询</ el-button> < el-button type = " primary" @click = " clearlist" > 刷新</ el-button> </ div> < div> < el-calendar v-model = " day" id = " calendar" > < template slot = " dateCell" slot-scope = " { date, data }" > < div> < div class = " calendar-day" > < span class = " everyDay" > {{ data.day.split("-").slice(2).join("-") }}</ span> < div v-for = " item in daylist" :key = " item.yysj" @dblclick = " calendarOnClick(item)" style = " overflow : auto" > < div class = " is-selected" v-if = " item.yysj.indexOf(data.day) != -1" style = " background : #e5ffff; margin : 5px" > < p> 普通:({{ item.p.num }} / {{ item.p.sum }})</ p> < p> 专家:({{ item.z.num }} / {{ item.z.sum }})</ p> < p> 特需:({{ item.t.num }} / {{ item.t.sum }})</ p> </ div> </ div> </ div> </ div> </ template> </ el-calendar> </ div> </ div> </ div>
</ template>
< script>
import { pbInfo } from "@/api/systemDiagnosisApi/index" ;
export default { components: { } , data ( ) { return { day: new Date ( ) , typesettingNypevalue: "" , typesettingType: [ { value: "1" , label: "普通排班" , } , { value: "2" , label: "专家排班" , } , { value: "3" , label: "特需排班" , } , ] , daylist: [ ] , } ; } , created ( ) { this . getApp ( ) ; this . $nextTick ( ( ) => { let prevBtn = document. querySelector ( ".el-calendar__button-group .el-button-group>button:nth-child(1)" ) ; prevBtn. addEventListener ( "click" , ( e ) => { this . getApp ( ) ; } ) ; let nextBtn = document. querySelector ( ".el-calendar__button-group .el-button-group>button:nth-child(3)" ) ; nextBtn. addEventListener ( "click" , ( ) => { this . getApp ( ) ; } ) ; let todayBtn = document. querySelector ( ".el-calendar__button-group .el-button-group>button:nth-child(2)" ) ; todayBtn. addEventListener ( "click" , ( ) => { this . getApp ( ) ; } ) ; } ) ; } , methods: { getApp ( ) { var aa = "" ; if ( this . day != null && this . day != "" ) { var year = this . day. getFullYear ( ) ; var day = this . day. getDate ( ) ; var month = this . day. getMonth ( ) + 1 ; if ( month < 10 ) { month = "0" + month; } if ( day < 10 ) { day = "0" + day; } aa = year + "-" + month + "-" + day; } this . listinfo ( aa) ; } , listinfo ( val ) { pbInfo ( { month: val, schedulingNature: this . typesettingNypevalue, } ) . then ( ( res ) => { this . daylist = res. data; } ) . catch ( ( err ) => { console. log ( err) ; } ) ; } , getlist ( ) { this . listinfo ( this . day) ; } , clearlist ( ) { ( this . day = new Date ( ) ) , ( this . typesettingNypevalue = "" ) , this . getApp ( ) ; } , calendarOnClick ( e ) { this . $store. commit ( "pushcode" , e) ; this . openChildPage ( 0.7 , "mytypesetting" , true , true ) ; } , closeCurrentPage ( ) { this . $router. go ( - 1 ) ; this . $store. commit ( "closeInitPage" ) ; } , } ,
} ;
< / script>
<style scoped>
.topbox { margin : 1rem;
}
.calendar-day { text-align : center; color : #202535; font-size : 0.75rem; height : 100%;
}
.is-selected { padding-top : 5px;
}
.calendarbox::-webkit-scrollbar { width : 5px; height : 1px;
}
.calendarbox::-webkit-scrollbar-thumb { border-radius : 10px; -webkit-box-shadow : inset 0 0 5px rgba ( 0, 0, 0, 0.2) ; background : #4989ff;
}
.calendarbox::-webkit-scrollbar-track { border-radius : 10px; background : #ffffff;
}
/deep/ .el-calendar-table thead { text-align : center;
}
/deep/ .el-calendar__body { padding : 10px 12px;
}
/deep/ .el-calendar-table .el-calendar-day { box-sizing : border-box; padding : 8px; height : 115px;
}
.page-body { overflow : none;
} #calendar.el-button-group> .el-button:not(:first-child):not(:last-child):after { content : "当月" ;
}
</style>