实现效果,一进入自动加载最近学期数据
在这里插入图片描述
入学年份是取学号中入学年份对应字段

js

//计算学期
function getTerm(no){	//no为学号
    let date=new Date;	//当前时间
    let startYear = parseInt(no.toString().slice(0, 4));//取学号中入学年份
    let year=date.getFullYear();	//现在年份
    let month=date.getMonth()+1;    //getMonth()获取当前月份(0-11,0代表1月)
    let term = (year - startYear)*2 + parseInt(month/9);	//学期
    let yTermValue = year - startYear + parseInt(month/9); //计算学年,如2018-2019学年两个学期值都是2018,方便写入选择器
    console.log(year+'年'+month+'月第'+ term+'学期');

    let termYear ={
        term: term>8?8:term, //学期,
        year: startYear,    //开学年份
        now: year,  //现在年份
        yTermValue: yTermValue  //选择的年度
    };
    return termYear;
}

html实现

 <el-cascader
       :options="yTermOptions"
       v-model="selectYearTerm"
       @change="changeTerm"
  ></el-cascader>

vue data定义

selectYearTerm:['year'+termYear.yTermValue,termYear.term],
yTermOptions:[
                        {
                            value: 'year1',
                            label: termYear.year+'-'+(termYear.year+1)+'学年',
                            children: [{
                                value: 1,
                                label: '第一学期',
                            },{
                                value: 2,
                                label: '第二学期',
                            }],
                        }, {
                            value: 'year2',
                            label: (termYear.year+1)+'-'+(termYear.year+2)+'学年',
                            children: [{
                                value: 3,
                                label: '第一学期',
                            },{
                                value: 4,
                                label: '第二学期',
                            }],
                        }, {
                            value: 'year3',
                            label: (termYear.year+2)+'-'+(termYear.year+3)+'学年',
                            children: [{
                                value: 5,
                                label: '第一学期',
                            },{
                                value: 6,
                                label: '第二学期',
                            }],
                        }, {
                            value: 'year4',
                            label: (termYear.year+3)+'-'+(termYear.year+4)+'学年',
                            children: [{
                                value: 7,
                                label: '第一学期',
                            },{
                                value: 8,
                                label: '第二学期',
                            }],
                        },
                    ],
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐