通過Node.js輕輕松松搞定值日表的制作劳吠,無需手動添加日期~

一、項目描述

前言:公司同事基本每20天左右的周一上班會制作一個工作日值班表并將其打印巩趁,貼在墻上用于提醒公司同事要記得值班打掃衛(wèi)生痒玩,具體制作過程是:名字和星期可以直接復(fù)制粘貼,但是日期還是需要一個個對應(yīng)日歷上的工作日進行手動錄入并修改议慰。

希望實現(xiàn)的功能:同事周一上班時直接訪問某個鏈接即可查看未來固定天數(shù)的值班表蠢古,點擊打印當前網(wǎng)頁即可快速便捷打印出工作日值班表,如果你愿意别凹,你可以打印出一個季度便瑟,甚至一年的值班記錄表。

二番川、項目描述

所用模塊:1、Moment.js node的時間操作模塊脊框。 2颁督、Express node的快速web開發(fā)框架。3浇雹、layui用于前端展示沉御,類似于bootstrap框架。

實現(xiàn)思路:通過Moment.js獲取當前時間并循環(huán)加1昭灵,并判斷其是否是工作日吠裆,如果是工作日就將當前日期伐谈、周幾、以及人名PUSH到數(shù)組中试疙,如果不是工作日日期加1繼續(xù)循環(huán)判斷诵棵,排班排滿了固定天數(shù)為止。(其中判斷日期是否為工作日的方法是使用一個函數(shù)祝旷,判斷某個日志是否在假期數(shù)組中履澳,這個假期數(shù)組需要前期準備好,用于做工作日的比對)

三怀跛、項目截圖

代碼部署后距贷,訪問 http://localhost:3000/index 既可查看值班表,可以直接打印網(wǎng)頁吻谋,也可以轉(zhuǎn)成PDF~~~

QQ截圖20170830180417.png

四忠蝗、部分代碼

  • 4.1、首先定義一個數(shù)組存放[日期漓拾,星期幾阁最,姓名],并獲取當前日期晦攒, 根據(jù)當前日期通過moment().subtract(-i, "days").format("YYYY-MM-DD");(該函數(shù)是獲取當前日期第i天的日期)函數(shù)獲取未來的日期nextday闽撤,判斷未來日期是否是工作日,如果是工作日那么通過函數(shù)(var weekNum=moment(nextDay).format("E");該函數(shù)計算出的是數(shù)字脯颜,需要判斷以后賦上中文)計算出該日期是周幾哟旗。然后拼接數(shù)組,在數(shù)組的Json格式數(shù)據(jù)傳給前臺栋操。
app.get('/users', function(req,rep){
  //當前時間
  //var now =moment().format("YYYY-MM-DD");
  var items=[];
  for(var i=items.length;items.length<20;i++){
    //從當前日期查詢往后的日子
    nextDay=moment().subtract(-i, "days").format("YYYY-MM-DD");
    if(!contains(holidays,nextDay)){
      //判斷日期是星期幾
      var weekNum=moment(nextDay).format("E");
      var weekStr=""
      if(weekNum=="1"){
        weekStr="星期一"
      }else if(weekNum=="2"){
        weekStr="星期二"
      }else if(weekNum=="3"){
        weekStr="星期三"
      }else if(weekNum=="4"){
        weekStr="星期四"
      }else if(weekNum=="5"){
        weekStr="星期五"
      }else if(weekNum=="6"){
        weekStr="星期六"
      }else if(weekNum=="7"){
        weekStr="星期天"
      }
      //剛好人數(shù)為10闸餐,所有模10就可循環(huán)輸出人名
      var peopleNum=items.length%10;
      var peopleName=peoples[peopleNum];
      items.push([nextDay,weekStr,peopleName]);
    }
  }
  //注意這里要使用Json格式數(shù)據(jù)
  rep.json({datas:items});
});
  • 4.1、判斷是否是工作日的函數(shù)(網(wǎng)上搜索的),及判斷某個日期是否在假期數(shù)組內(nèi)矾芙,這個假期數(shù)組需要前期自己定義好舍沙。
//判斷字符串是否在數(shù)組內(nèi)的函數(shù)
function contains(arr, obj) {
  var i = arr.length;
  while (i--) {
    if (arr[i] === obj) {
      return true;
    }
  }
  return false;
}

五、源碼與展望

  • 5.1剔宪、項目源代碼: https://github.com/dpc761218914/ZhiBanBiao
  • 5.2拂铡、后期有想法可以,通過選擇開始時間葱绒,而并不一定需要從周一開始感帅,同時員工也可以添加到數(shù)據(jù)庫中,這樣既可實現(xiàn)對員工的動態(tài)操作地淀,大家有啥想法和建議歡迎提出討論~
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末失球,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子帮毁,更是在濱河造成了極大的恐慌实苞,老刑警劉巖豺撑,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異黔牵,居然都是意外死亡聪轿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門荧止,熙熙樓的掌柜王于貴愁眉苦臉地迎上來屹电,“玉大人,你說我怎么就攤上這事跃巡∥:牛” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵素邪,是天一觀的道長外莲。 經(jīng)常有香客問我,道長兔朦,這世上最難降的妖魔是什么偷线? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮沽甥,結(jié)果婚禮上声邦,老公的妹妹穿的比我還像新娘。我一直安慰自己摆舟,他們只是感情好亥曹,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著恨诱,像睡著了一般媳瞪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上照宝,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天蛇受,我揣著相機與錄音,去河邊找鬼厕鹃。 笑死兢仰,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的剂碴。 我是一名探鬼主播旨别,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼汗茄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起铭若,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤洪碳,失蹤者是張志新(化名)和其女友劉穎递览,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瞳腌,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡绞铃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嫂侍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片儿捧。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖挑宠,靈堂內(nèi)的尸體忽然破棺而出菲盾,到底是詐尸還是另有隱情,我是刑警寧澤各淀,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布懒鉴,位于F島的核電站,受9級特大地震影響碎浇,放射性物質(zhì)發(fā)生泄漏临谱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一奴璃、第九天 我趴在偏房一處隱蔽的房頂上張望悉默。 院中可真熱鬧,春花似錦苟穆、人聲如沸抄课。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽剖膳。三九已至,卻和暖如春岭辣,著一層夾襖步出監(jiān)牢的瞬間吱晒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工沦童, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留仑濒,地道東北人。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓偷遗,卻偏偏與公主長得像墩瞳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子氏豌,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容

  • PHP常用函數(shù)大全 usleep() 函數(shù)延遲代碼執(zhí)行若干微秒喉酌。 unpack() 函數(shù)從二進制字符串對數(shù)據(jù)進行解...
    上街買菜丶迷倒老太閱讀 1,369評論 0 20
  • php usleep() 函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() 函數(shù)從二進制字符串對數(shù)據(jù)進行解包。 uni...
    思夢PHP閱讀 1,984評論 1 24
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,233評論 0 4
  • 【R:閱讀原文】 盡量找出不被侵犯的“圣地"利用不容易被工作或私事影響的時間最好泪电,例如般妙,如果利用每天開始工作前的時...
    三米GZ閱讀 139評論 0 0
  • 今年的重陽節(jié)也許對我來說意義非凡,不知來年重陽節(jié)還是否能帶父母親一起到城郊走走相速,一起陪老父老母一起吃頓飯碟渺。 今年初...
    杜鵑姐姐閱讀 241評論 1 1