// ==UserScript== // @name 志愿云,日期自动填写脚本 // @namespace https://penicillin.github.io/ // @description 对4个日期框做数据同步,修改起始日期会默认对结束日期+7。 // @version 0.1.7 // @match http://www.fjvs.org/app/opp/* // @downloadURL none // ==/UserScript== document.body.style.fontSize="1em"; function addDate(date, days) { if (days == undefined || days == '') { days = 0; } return new Date(date.valueOf()+ days * 24 * 60 * 60 * 1000); } function getFormatedDate(str){ var DateStr=str.split('-'); return new Date(DateStr[0],DateStr[1]-1,DateStr[2]); } var titileStringEL=document.getElementById('opp_name'); var userV1y=document.getElementById('opp_start_date_year'); var userV1m=document.getElementById('opp_start_date_month'); var userV1d=document.getElementById('opp_start_date_day'); var userV2y=document.getElementById('opp_end_date_year'); var userV2m=document.getElementById('opp_end_date_month'); var userV2d=document.getElementById('opp_end_date_day'); var userV3y=document.getElementById('opp_recruit_start_date_year'); var userV3m=document.getElementById('opp_recruit_start_date_month'); var userV3d=document.getElementById('opp_recruit_start_date_day'); var userV4y=document.getElementById('opp_recruit_end_date_year'); var userV4m=document.getElementById('opp_recruit_end_date_month'); var userV4d=document.getElementById('opp_recruit_end_date_day'); userV3y.parentNode.style.opacity='0.3';//灰色显示 function setOtherDate(){ var calcDate=addDate(new Date(userV1y.value,userV1m.value-1,userV1d.value),6); userV2y.value=calcDate.getFullYear() userV2m.value=calcDate.getMonth()+1; userV2d.value=calcDate.getDate(); userV3y.value=userV1y.value; userV3m.value=userV1m.value; userV3d.value=userV1d.value; userV4y.value=userV2y.value; userV4m.value=userV2m.value; userV4d.value=userV2d.value; } function setAllDate(){ var titileStringDate=getFormatedDate(titileStringEL.value.match(/(\(=?)(\S*)(?=\))/)[2]);//拿到标题日期字符串并转为日期格式 var startDate=addDate(titileStringDate, -6);//初始化日期为结束前的6天 userV1y.value=startDate.getFullYear();//设置起始日期-年 userV1m.value=startDate.getMonth()+1;//设置起始日期-月 userV1d.value=startDate.getDate();//设置起始日期-日 setOtherDate();//设置其余日期 } titileStringEL.addEventListener('keyup',function(){setAllDate()});//注册事件 userV1y.addEventListener('change',function(){userV3y.value=userV1y.value;setOtherDate()});//注册事件 userV1m.addEventListener('change',function(){userV3m.value=userV1m.value;setOtherDate()});//注册事件 userV1d.addEventListener('change',function(){userV3d.value=userV1d.value;setOtherDate()});//注册事件 userV2y.addEventListener('change',function(){userV4y.value=userV2y.value});//注册事件 userV2m.addEventListener('change',function(){userV4m.value=userV2m.value});//注册事件 userV2d.addEventListener('change',function(){userV4d.value=userV2d.value});//注册事件 setAllDate();