亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

微信小程序實現的日期午別醫生排班表功能示例

2020-03-21 16:03:32
字體:
來源:轉載
供稿:網友

本文實例講述了微信小程序實現的日期午別醫生排班表功能。分享給大家供大家參考,具體如下:

1.util.js

//獲取幾天后日期function dateCount(arg,date) { var date1 = arg; var date2 = new Date(date1); date2.setDate(date2.getDate() + parseInt(date)); var times = date2.getFullYear() + "-" + (date2.getMonth() + 1) + "-" + date2.getDate(); var Year = 0; var Month = 0; var Day = 0; var CurrentDate = ""; Year = date2.getFullYear(); Month = date2.getMonth() + 1; Day = date2.getDate(); CurrentDate += Year + "-"; if (Month >= 10) { CurrentDate += Month + "-"; } else { CurrentDate += "0" + Month + "-"; } if (Day >= 10) { CurrentDate += Day; } else { CurrentDate += "0" + Day; } return CurrentDate;}Date.prototype.format = function() { var s = ''; s += this.getFullYear() + '-'; // 獲取年份。 if ((this.getMonth() + 1) >= 10) { // 獲取月份。 s += (this.getMonth() + 1) + "-"; } else { s += "0" + (this.getMonth() + 1) + "-"; } if (this.getDate() >= 10) { // 獲取日。 s += this.getDate(); } else { s += "0" + this.getDate(); } return (s); // 返回日期。};//兩個日期之間的所有日期function getAll(begin, end) { var ab = begin.split("-"); var ae = end.split("-"); var db = new Date(); db.setUTCFullYear(ab[0], ab[1] - 1, ab[2]); var de = new Date(); de.setUTCFullYear(ae[0], ae[1] - 1, ae[2]); var unixDb = db.getTime(); var unixDe = de.getTime(); var str = ""; for (var k = unixDb + 24 * 60 * 60 * 1000; k < unixDe;) { str += (new Date(parseInt(k))).format() + ","; k = k + 24 * 60 * 60 * 1000; } return str;}//兩個時間相差天數function datedifference(sDate1, sDate2) { //sDate1和sDate2是2006-12-18格式 var aDate, oDate1, oDate2, iDays; aDate = sDate1.split("-"); oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]); //轉換為9-25-2017格式 aDate = sDate2.split("-"); oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]); iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); return iDays;};module.exports = { DateCount: dateCount, GetAll: getAll, Datedifference: datedifference}

2.js

var HB = require('../../utils/util.js');Page({ /** * 頁面的初始數據 */ data: { sourceList: [{  "ClinicLabelName": "醫生A",  "ClinicLabelId": "8a2256334b021c33014b06124fd60181",  "Count": 5,  "Date": "2018-12-12",  "IsVisit": false,  "NoonName": "上午",  "Noon": 1,  "Total": 50,  "dayOfWeek": "3",  "keyue": true  },  {  "ClinicLabelName": "醫生D",  "ClinicLabelId": "8a2256334b021c33014b06124fd60181",  "Count": 5,  "Date": "2018-12-18",  "IsVisit": false,  "NoonName": "凌晨",  "Noon": 4,  "Total": 50,  "dayOfWeek": "5",  "keyue": true  },  {  "ClinicLabelName": "醫生B",  "ClinicLabelId": "8a2256334b021c33014b06124fd60181",  "Count": 5,  "Date": "2018-12-21",  "IsVisit": false,  "NoonName": "下午",  "Noon": 2,  "Total": 50,  "dayOfWeek": "3",  "keyue": true  },  {  "ClinicLabelName": "醫生c",  "ClinicLabelId": "8a2256334b021c33014b06124fd60181",  "Count": 5,  "Date": "2018-12-16",  "IsVisit": false,  "NoonName": "全天",  "Noon": 4,  "Total": 50,  "dayOfWeek": "4",  "keyue": true  },  {  "ClinicLabelName": "醫生D",  "ClinicLabelId": "8a2256334b021c33014b06124fd60181",  "Count": 5,  "Date": "2018-12-16",  "IsVisit": false,  "NoonName": "夜間",  "Noon": 3,  "Total": 50,  "dayOfWeek": "5",  "keyue": true  } ], dateArray: [], noonList: [], StartClinicDate: "2018-12-12", EndClinicDate: "2018-12-19" }, /** * 生命周期函數--監聽頁面加載 */ onLoad: function(options) { this.removal(); }, removal: function() { var that =this; var objectArray = this.data.sourceList; var newObject = []; for (var i = 0; i < objectArray.length; i++) //從第二項開始遍歷 {  newObject.push(objectArray[i].NoonName); } var finalArray = [newObject[0]]; //結果數組 for (var j = 1; j < newObject.length; j++) //從第二項開始遍歷 {  //如果當前數組的第i項在當前數組中第一次出現的位置不是i,  //那么表示第i項是重復的,忽略掉。否則存入結果數組  if (newObject.indexOf(newObject[j]) == j) {  finalArray.push(newObject[j]);  } } var noonList = []; for (var k = 0; k < finalArray.length; k++) //從第二項開始遍歷 {  noonList.push({  NoonName: finalArray[k],  noon: that.getNoonNum(finalArray[k]),  Value: false,  list: []  }) } that.setData({  noonList: noonList.sort(that.compare("noon")) }) that.getSevenDays(); }, getNoonNum: function(ele) { var num; switch (ele) {  case '上午':  num = 1;  break;  case '下午':  num = 2;  break;  case '夜間':  num = 3;  break;  case '凌晨':  num = 4;  break;  case '全天':  num = 5;  break; } return num; }, compare: function compare(property){ return function (a, b) {  var value1 = a[property];  var value2 = b[property];  return value1 - value2; } }, getSevenDays: function() { var daysArray = []; var dayDict = {}; var weekStr = ''; var weekNum = ''; var date = new Date(); //當前日期 var newDate = new Date(); //開始日期與結束日期之間相差天數 var dateNum = HB.Datedifference(this.data.StartClinicDate, this.data.EndClinicDate); //顯示幾周的表格 var weekNum = Math.ceil((dateNum + 1) / 7); var dateArr = HB.GetAll(this.data.StartClinicDate, HB.DateCount(this.data.StartClinicDate, weekNum * 7 - 1)); dateArr = (this.data.StartClinicDate + "," + dateArr + HB.DateCount(this.data.StartClinicDate, weekNum * 7 - 1)).split(","); //獲取兩個日期之間日期 for (var i = 0; i < dateArr.length; i++) {  weekNum = this.getWeekNum(this.getWeekByDay(dateArr[i]));  dayDict = {  "date": dateArr[i],  "date_text": dateArr[i].substring(5, 10),  "weekName": this.getWeekByDay(dateArr[i]),  "weekNum": weekNum  };  daysArray.push(dayDict); } this.setData({  dateArray: daysArray }); this.dealData(); }, getWeekNum: function(ele) { var num; switch (ele) {  case '周一':  num = 0;  break;  case '周二':  num = 1;  break;  case '周三':  num = 2;  break;  case '周四':  num = 3;  break;  case '周五':  num = 4;  break;  case '周六':  num = 5;  break;  case '周日':  num = 6;  break; } return num; }, getWeekByDay: function(value) { var day = new Date(Date.parse(value.replace(/-/g, '/'))); //將日期值格式化 var today = new Array("周日", "周一", "周二", "周三", "周四", "周五", "周六"); //創建星期數組 return today[day.getDay()]; }, dealData: function() { var that = this; var tag = 0; var ar = [1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7]; var objectArray = that.data.noonList; let loopNum = that.data.dateArray.length; for (var k = 0; k < objectArray.length; k++) {  for (var m = 0; m < loopNum; m++) {  objectArray[k].list.push({   keyue: false,   date: HB.DateCount(that.data.StartClinicDate, m)  })  } } for (var i = 0; i < that.data.sourceList.length; i++) {  var assignmentArray;  for (var j = 0; j < objectArray.length; j++) {  if (objectArray[j].NoonName == that.data.sourceList[i].NoonName){   assignmentArray = objectArray[j];  }  }  assignmentArray.Value = true;  for (var n = 0; n < assignmentArray.list.length; n++) {  if (assignmentArray.list[n].date == that.data.sourceList[i].Date) {   assignmentArray.list[n].noon = that.data.sourceList[i].Noon,   assignmentArray.list[n].clinicLabelId = that.data.sourceList[i].ClinicLabelId,   assignmentArray.list[n].clinicLabelName = that.data.sourceList[i].ClinicLabelName,   assignmentArray.list[n].count = that.data.sourceList[i].Count,   assignmentArray.list[n].isVisit = that.data.sourceList[i].IsVisit,   assignmentArray.list[n].noonName = that.data.sourceList[i].NoonName,   assignmentArray.list[n].total = that.data.sourceList[i].Total,   assignmentArray.list[n].dayOfWeek = that.data.sourceList[i].dayOfWeek,   assignmentArray.list[n].keyue = true  }  } } that.setData({  noonList: objectArray }) }, clickDoctor: function(e) { let index = e.currentTarget.dataset.item; let indexChild = e.currentTarget.dataset.itemchild; let arrObiect = this.data.noonList; var objectList = arrObiect[index].list[indexChild]; debugger }})

3.wxml

<!-- 醫生排班表 --><scroll-view scroll-x="true" class='scrollClass'> <view class='cell-table'> <view class='cell-table_header'>  <view class="th">  <view class='cell_label'></view>  </view>  <block wx:for="{{dateArray}}" wx:key="">  <view class='th'>   <view class="cell_label centerclass">{{item.weekName}}</view>   <view class="cell_date_label centerclass">{{item.date_text}}</view>  </view>  </block> </view> <block wx:for="{{noonList}}" wx:key="" wx:for-index="parentIndex" wx:if='{{item.Value}}'>  <view class='cell-table_main'>  <!--上午下午晚上全天-->  <view class='td' style='background-color:white;'>   <view class="cell_label centerclass">{{item.NoonName}}</view>  </view>  <block wx:key="" wx:for="{{item.list}}" wx:for-item="trade" wx:for-index="ind">   <view class='td' wx:if='{{trade.keyue}}'>   <view class='cell-table_choose"' bindtap='clickDoctor' data-item='{{parentIndex}}' data-itemchild='{{ind}}'>{{trade.count+"/"+trade.total}}</view>   </view>   <view class='td' wx:else>   <view class='cell-table_empty"'></view>   </view>  </block>  </view> </block> </view></scroll-view>

4.wxss

/*醫生排班表 */.cell-table { display: inline-flex; flex-direction: column; border: 1rpx solid #e5e5e5; border-bottom: 0;}.scrollClass { display: flex; width: 100%; white-space: nowrap; margin-top: 23px; height: 100%; background-color: white;}.cell-table_header { display: inline-flex;}.th { display: flex; flex-direction: column; width: 100px; height: 45px; background: #f8f8f8; border-right: 1rpx solid #e5e5e5; border-bottom: 1rpx solid #e5e5e5; justify-content: center; align-items: center; overflow-x: auto;}.th:first-child { width: 60px;}.cell_label { font-size: 13px; color: #999;}.cell_date_label { font-size: 12px; color: #999;}.cell-table_main { display: inline-flex; flex-direction: row;}.right-item { display: flex; flex-direction: row;}.td { display: flex; flex-direction: column; width: 100px; height: 45px; background: white; justify-content: center; align-items: center; border: 1rpx solid #e5e5e5; border-top: 0; border-left: 0;}.td:first-child { width: 60px;}.cell-table_empty { display: flex; justify-content: center; align-items: center; height: 45px; font-size: 15px; color: rgba(55, 134, 244, 1); width: 100%; word-break: normal;}.cell-table_choose { display: flex; justify-content: center; align-items: center; height: 45px; font-size: 15px; background: linear-gradient(to bottom, #5acafe, #45a1fc); color: white; width: 100%; word-break: normal;}

效果:

微信小程序,排班表微信小程序,排班表

微信小程序,排班表微信小程序,排班表

希望本文所述對大家微信小程序開發有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品99一区| 国产美女精品视频| 97视频免费观看| 久久免费视频网站| 国产视频精品xxxx| 欧美在线视频网站| 国产91精品不卡视频| 亚洲视频免费一区| 欧美成年人在线观看| 日本韩国在线不卡| 国产精品久久久久久久久久久久久| 91国偷自产一区二区三区的观看方式| 亚洲精品动漫久久久久| 欧美亚洲视频在线看网址| 8090理伦午夜在线电影| 国产欧美精品va在线观看| 久久精品国产成人精品| 成人免费黄色网| 久久久久久久97| 欧美精品videos性欧美| 欧美视频中文字幕在线| 日韩大胆人体377p| 午夜伦理精品一区| 欧美日韩国产在线看| 国产精品视频成人| 欧美大肥婆大肥bbbbb| 成人免费观看a| 亚洲自拍偷拍视频| 亚洲精品女av网站| 午夜精品国产精品大乳美女| 成人精品福利视频| 亚洲毛片一区二区| 亚洲精品在线观看www| 亚洲欧洲在线免费| 6080yy精品一区二区三区| 日韩国产高清视频在线| 欧美日韩亚洲成人| 黑人巨大精品欧美一区二区| 91九色国产视频| 国产精品福利网| 国产成人精品在线| 韩国三级电影久久久久久| 欧美在线一区二区视频| 欧美激情一级精品国产| 91夜夜未满十八勿入爽爽影院| 欧美另类xxx| 日韩电影大全免费观看2023年上| 久久亚洲一区二区三区四区五区高| 中文字幕在线看视频国产欧美在线看完整| 久久人91精品久久久久久不卡| 久久久久国产精品一区| 欧美激情成人在线视频| 国产精品扒开腿做爽爽爽男男| 91久久精品国产91久久性色| 91人人爽人人爽人人精88v| 亚洲偷熟乱区亚洲香蕉av| 日本久久久久亚洲中字幕| 亚洲奶大毛多的老太婆| 九九热精品视频| 国产精品吊钟奶在线| 欧美日韩国产一中文字不卡| 动漫精品一区二区| 国产精品视频26uuu| 精品国内产的精品视频在线观看| 国产欧美日韩91| 久久久久久久999精品视频| 夜夜狂射影院欧美极品| 亚洲视频综合网| 欧美日韩中国免费专区在线看| 精品久久中文字幕久久av| 精品国产精品三级精品av网址| 免费av一区二区| 精品小视频在线| 日韩成人av在线播放| 欧美日韩在线看| 日韩电影大片中文字幕| 日韩免费精品视频| 欧美孕妇孕交黑巨大网站| 欧美国产日本高清在线| 亚洲va欧美va国产综合久久| 国模视频一区二区| 中文字幕久久久av一区| 亚洲成人精品久久| 国产亚洲精品日韩| 亚洲国产精品va在线| 国模极品一区二区三区| 亚洲精品久久久久久下一站| 欧美性jizz18性欧美| 亚洲国产精品国自产拍av秋霞| 成人免费淫片视频软件| 日本成熟性欧美| 国产91精品视频在线观看| 亚洲理论片在线观看| 国自在线精品视频| 在线观看欧美www| 亚洲欧美日韩成人| 亚洲福利视频专区| 激情久久av一区av二区av三区| 欧美制服第一页| 欧美丝袜一区二区三区| 欧美国产中文字幕| 国产精品黄色影片导航在线观看| 国产精品精品视频一区二区三区| 亚洲精品小视频| 亚洲福利视频二区| 久久综合国产精品台湾中文娱乐网| 国产精品亚洲一区二区三区| 精品亚洲国产成av人片传媒| 精品国产精品三级精品av网址| 久久在精品线影院精品国产| 91九色国产在线| 精品国产一区二区在线| 国产欧美日韩专区发布| 亚洲xxx视频| 日韩av最新在线观看| 亚洲综合中文字幕68页| 亚洲国产精品久久久久秋霞蜜臀| 欧美日韩中文字幕在线| 国产精品色午夜在线观看| 亚州国产精品久久久| 亚洲自拍偷拍一区| 国产女精品视频网站免费| 成人在线播放av| 琪琪亚洲精品午夜在线| 98精品国产高清在线xxxx天堂| 国产免费亚洲高清| 奇米一区二区三区四区久久| 久久亚洲精品国产亚洲老地址| 日韩中文在线中文网三级| 亚洲成人网在线观看| 久久久久久久爱| 亚洲白拍色综合图区| 久久精品亚洲94久久精品| 国产欧美精品va在线观看| 日韩网站免费观看高清| 亚洲在线免费看| 少妇高潮久久久久久潘金莲| 尤物yw午夜国产精品视频明星| 日韩国产高清污视频在线观看| 久久躁日日躁aaaaxxxx| 精品中文字幕在线观看| 日韩av中文字幕在线免费观看| 97精品伊人久久久大香线蕉| 91老司机在线| 国产日韩一区在线| 日韩精品在线观看视频| 琪琪亚洲精品午夜在线| 久久亚洲春色中文字幕| 中文字幕久精品免费视频| 国产亚洲精品成人av久久ww| 青草青草久热精品视频在线网站| 欧美床上激情在线观看| 青青草一区二区| 亚洲美女性生活视频| 日韩一区二区三区xxxx| 国产精品免费久久久| 亚洲天堂免费观看| 97超碰蝌蚪网人人做人人爽| 欧美日韩免费看| 日本国产欧美一区二区三区| 91免费在线视频| 在线观看中文字幕亚洲| 夜夜狂射影院欧美极品| 国产精品69久久久久|