Forráskód Böngészése

ltb2020年12月1日17:30:08
新增周计算逻辑
修改设置更多进入状态

老狐\25396 4 éve
szülő
commit
e5e2ea4081
2 módosított fájl, 86 hozzáadás és 56 törlés
  1. 75 54
      pages/old_Scheduling.vue
  2. 11 2
      pages/service/setservice.vue

+ 75 - 54
pages/old_Scheduling.vue

xqd xqd xqd xqd xqd
@@ -69,24 +69,10 @@
 			return {
 				//历史的排班选择
 				oldshow: false,
-
+				//从开始到今天的每周周一到周日
 				oldlist: [],
-
-				// title: '周一',
-				// value: '10-26',
-				// hospital: [{
-				// 	name: '早上',
-				// 	checked: true,
-				// 	disabled:true
-				// }, {
-				// 	name: '下午',
-				// 	checked: false
-				// }, {
-				// 	name: '晚上',
-				// 	checked: false
-				// }],
+				// 上面 ,每周的时间
 				hospitalWeek: [],
-
 				//历史记录的数组
 				oldWeek: [{
 					type: {
@@ -97,7 +83,6 @@
 					week: "周一",
 					schedule_date: "12-07",
 				}],
-
 			}
 		},
 		methods: {
@@ -106,6 +91,16 @@
 					url: 'Scheduling'
 				})
 			},
+			Appendzero(obj) {
+				if (obj < 10) return "0" + "" + obj;
+				else return obj;
+			},
+			getCountOfWeekX(startDate, endDate) {
+				var start = startDate.getTime();
+				var end = endDate.getTime()
+				let w=(endDate - startDate)/(7*24*60*60*1000);
+				return  w;
+			},
 			getTemplate: async function() {
 				let that = this;
 				// let startTime = '2020-' + that.hospitalWeek[0].value;
@@ -118,6 +113,14 @@
 				});
 				console.log("res", res)
 				that.oldWeek = res.data.list
+				
+				
+
+
+
+
+
+
 				// if (res.status == 0) {
 				// this.fixed = res.data.save_flag
 				// if (typeof res.data.list[0] != undefined && typeof res.data.list[0] != 'undefined') {
@@ -148,47 +151,65 @@
 				// }
 				// }
 			},
-			getTime() {
-				var week = [{
-					value: 1,
-					label: ''
-				}, {
-					value: 2,
-					label: ''
-				}, {
-					value: 3,
-					label: ''
-				}, {
-					value: 4,
-					label: ''
-				}]
-
-				//直接获取这周五的时间,然后遍历 给选择器
-				var aData = new Date();
-				aData.setTime(aData.getTime() + 24 * 60 * 60 * 1000 * (7 - aData.getDay()))
-				for (let i = 0; i < 4; i++) {
-					aData.setTime(aData.getTime() + 24 * 60 * 60 * 1000 * 1)
-					var week1 = aData.getFullYear() + "." + (aData.getMonth() + 1) + "." + this.Appendzero(aData.getDate());
-					console.log('第', i + 1, '个周一的时间', week1) //周一的时间
-					//周日
-					aData.setTime(aData.getTime() + 24 * 60 * 60 * 1000 * (aData.getDay() + 5))
-					var week2 = aData.getFullYear() + "." + (aData.getMonth() + 1) + "." + this.Appendzero(aData.getDate());
-					console.log('第', i + 1, '个周日的时间', week2) //周日的时间
-					this.oldlist[i].label = week1 + ' - ' + week2 //给选择器数组
-				}
-				//直接获取下周一时间,给表格
-				var bData = new Date();
-				bData.setTime(bData.getTime() + 24 * 60 * 60 * 1000 * (8 - bData.getDay()))
-				for (let i = 0; i < 7; i++) {
-					var week = (bData.getMonth() + 1) + "-" + this.Appendzero(bData.getDate());
-					console.log('号:', week)
-					bData.setTime(bData.getTime() + 24 * 60 * 60 * 1000 * 1);
-					this.hospitalWeek[i].value = week
+			/**
+			 * 拿到开始日到今天的每周周一和周天数据
+			 * 传参:year开始年(num),month开始月(num),day开始日(num)
+			 * 
+			 * 
+			 * */
+			 getweek(startYear,startMonth,startDay){
+				 /**
+				  * startYear开始年份 例2020 
+				  * startMonth开始月份 例12
+				  * startDay开始日  例5
+				  * d  开始的时间对象
+				  * monday  开始时间的星期一
+				  * sunday  开始时间的星期天
+				  * nowday  今天的时间
+				  * nowMonday 今天的周一
+				  * weeknum 开始到今天有几周
+				  * */
+				// let startYear = 2020;//开始年
+				// let startMonth = 11;//开始月
+				// let startDay = 12;//开始的日
+				let startweek = 0; //开始时间是星期几
+				let oneDayTime = 24 * 60 * 60 * 1000;//固定数据 一天的时长
+				var d = new Date()
+				//把时间调到对应的日期
+				d.setFullYear(startYear, startMonth - 1, startDay);
+				console.log('今天', d.toLocaleDateString())
+				//本周第几天 因系统会把周日作为第0天
+				startweek = d.getDay() == 0 ? 7 : d.getDay();
+				console.log('这天星期', startweek)
+				//拿到当天的周一和周日
+				var monday = new Date(d.getTime() - (startweek - 1) * oneDayTime)
+				var sunday = new Date(monday.getTime() + 6 * oneDayTime)
+				console.log('这天星期一是', monday.toLocaleDateString())
+				console.log('这天星期日是', sunday.toLocaleDateString())
+				//拿到今天距离那天多少周
+				var nowday = new Date() //今天时间
+				var nowMonday = new Date(nowday.getTime() - ((nowday.getDay() == 0 ? 7 : nowday.getDay()) - 1) * oneDayTime) //这周星期一时间
+				console.log('今天的周一是', nowMonday.toLocaleDateString())
+				var weeknum = Math.ceil(this.getCountOfWeekX(d,nowMonday)+1); //计算从 ****----****有多少个周
+				console.log("有几个周", weeknum)
+				//开始循环,用开始的星期一到星期天,
+
+				for(let i = 0; i < weeknum ; i++){
+					let mon = new Date(monday.getTime() + oneDayTime* (i*7))
+					// mon.setTime()
+					let	sun = new Date(mon.getTime() + oneDayTime* 6)
+					this.oldlist.push({
+						label: mon.toLocaleDateString() + "-" + sun.toLocaleDateString(),
+						value: i
+					})
+					mon.setTime(mon.getTime() + oneDayTime)
 				}
-			}
+				console.log("oldlist",this.oldlist)
+			 }
 		},
 		onLoad() {
 			this.getTemplate()
+			this.getweek(2020,11,12)
 		},
 	}
 </script>

+ 11 - 2
pages/service/setservice.vue

xqd
@@ -139,9 +139,18 @@
 			},
 			// 下一页
 			next(){
-				uni.navigateTo({
+				console.log(this.serbicelist[0].Opening,this.serbicelist[1].Opening,this.serbicelist[2].Opening)
+				if(!((this.serbicelist[0].Opening==2)||(this.serbicelist[1].Opening==2)||(this.serbicelist[2].Opening==2))){
+					uni.showToast({
+						title:'未开通任何服务',
+						icon:'none'
+					})
+				}else{
+					uni.navigateTo({
 					url:'/pages/service/more'
-				})
+					})
+				}
+				
 			},
 			// 确认申请
 			qrsq:async function(){