Browse Source

日历优化

lex-xin 4 years ago
parent
commit
8922b60d0d
60 changed files with 103 additions and 44 deletions
  1. 0 0
      dist/app.311fc004735ec2f5286f.js
  2. 0 0
      dist/app.3cf419c67d5528bbf6ee.js
  3. 0 0
      dist/css/AppealRecord.cc7ff474.css
  4. 1 1
      dist/css/HelpCenter.3ecd55c1.css
  5. 0 1
      dist/css/HelpCenter.c87cfe00.css
  6. 0 1
      dist/css/PeriodAdjust.3e7753b3.css
  7. 1 0
      dist/css/PeriodAdjust.4b1e312e.css
  8. 0 0
      dist/css/PeriodAdjust~PeriodChange.b77fbbe2.css
  9. 0 0
      dist/css/PeriodExchange.3e7d965d.css
  10. 0 0
      dist/css/PeriodExchange.8dc98c30.css
  11. 0 0
      dist/css/privacy.baf30fb7.css
  12. 0 0
      dist/index.html
  13. 0 0
      dist/js/Account.ad6f540e.js
  14. 0 0
      dist/js/AppLogin.a7b1102d.js
  15. 0 0
      dist/js/AppRegister.60d72220.js
  16. 0 0
      dist/js/AppSetInfo.2d24b0f6.js
  17. 0 0
      dist/js/AppealDetail.0e76ca0c.js
  18. 0 0
      dist/js/AppealRecord.01727da6.js
  19. 0 0
      dist/js/AppealResult.e25dc8ad.js
  20. 0 0
      dist/js/Approval.e3fc3e62.js
  21. 0 0
      dist/js/ArrangeWork.7e9f839e.js
  22. 0 0
      dist/js/Attendance.dae9282c.js
  23. 0 0
      dist/js/BookingSet.9a0fd2fa.js
  24. 0 0
      dist/js/Business.5d29b332.js
  25. 0 0
      dist/js/CallNames.ba4e449f.js
  26. 0 0
      dist/js/CcMe.00843084.js
  27. 0 0
      dist/js/ClassDetail.1488f428.js
  28. 0 0
      dist/js/CourseApply.6bec997e.js
  29. 0 0
      dist/js/CourseDetail.0586cccb.js
  30. 0 0
      dist/js/CourseEvaluation.e831de6b.js
  31. 0 0
      dist/js/ExchangeRecord.b5be3a6f.js
  32. 0 0
      dist/js/HelpCenter.270dc8eb.js
  33. 0 0
      dist/js/HelpCenter.eedb4fea.js
  34. 0 0
      dist/js/HelpCenter~PeriodExchange.b93b902f.js
  35. 0 0
      dist/js/IStarted.d7f0f33f.js
  36. 0 0
      dist/js/Leave.d14dc0de.js
  37. 0 0
      dist/js/ManageEvaluation.b9688729.js
  38. 0 0
      dist/js/MonthAppeal.5386ede0.js
  39. 0 0
      dist/js/PaymentResult.5b8b6201.js
  40. 0 0
      dist/js/PeriodAdjust.7af7bdf0.js
  41. 0 0
      dist/js/PeriodAdjust.d737cf78.js
  42. 0 0
      dist/js/PeriodAdjust~PeriodChange.0f67fe2c.js
  43. 0 0
      dist/js/PeriodAdjust~PeriodChange.f42c717f.js
  44. 0 0
      dist/js/PeriodChange.4ff1e84f.js
  45. 0 0
      dist/js/PeriodExchange.c9871df0.js
  46. 0 0
      dist/js/PeriodExchange.f497b680.js
  47. 0 0
      dist/js/PeriodRecord.992796b9.js
  48. 0 0
      dist/js/Remuneration.11c4e176.js
  49. 0 0
      dist/js/StartedDetail.d097cbee.js
  50. 0 0
      dist/js/TeachingSchool.50723aa4.js
  51. 0 0
      dist/js/TeachingSet.6f38aa2f.js
  52. 0 0
      dist/js/UserProtocol.853b53ca.js
  53. 0 0
      dist/js/VIPApply.8190926c.js
  54. 0 0
      dist/js/order.66c94577.js
  55. 0 0
      dist/js/privacy.1b4667d9.js
  56. 5 0
      package-lock.json
  57. 1 0
      package.json
  58. 36 17
      src/components/MCalendar.vue
  59. 14 0
      src/utils/loading.js
  60. 45 24
      src/views/teacher/PeriodAdjust.vue

File diff suppressed because it is too large
+ 0 - 0
dist/app.311fc004735ec2f5286f.js


File diff suppressed because it is too large
+ 0 - 0
dist/app.3cf419c67d5528bbf6ee.js


+ 0 - 0
dist/css/AppealRecord.16592bb2.css → dist/css/AppealRecord.cc7ff474.css


+ 1 - 1
dist/css/HelpCenter~PeriodExchange.9e67b300.css → dist/css/HelpCenter.3ecd55c1.css

@@ -1 +1 @@
-.mheader[data-v-61d0e2e4]{height:.44rem;overflow:hidden}.m-nav-header[data-v-61d0e2e4]{position:absolute;left:0;top:0;width:100%;height:.44rem;line-height:.44rem;background-color:#14928a;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#fff}.m-nav-header.fixed[data-v-61d0e2e4]{position:fixed;z-index:99}.m-nav-header .m-nav-bar__title[data-v-61d0e2e4]{max-width:60%;margin:0 auto;color:#fff;font-weight:500;font-size:.16rem}.m-nav-header .m-nav-bar__left[data-v-61d0e2e4],.m-nav-header .m-nav-bar__right[data-v-61d0e2e4]{position:absolute;bottom:0}.m-nav-header .m-nav-bar__left[data-v-61d0e2e4]{left:.12rem}.m-nav-header .m-nav-bar__left .arrow-left[data-v-61d0e2e4]{font-size:.21rem;vertical-align:middle}.m-nav-header .m-nav-bar__right[data-v-61d0e2e4]{right:.12rem}.icon[data-v-67669af7]{width:2rem;height:2rem;margin:.5rem auto .05rem}.icon_nodata[data-v-67669af7]{background:url(../img/icon_nodata.81c87d57.png) no-repeat 50%;background-size:contain}.msg[data-v-67669af7]{color:#aaa;font-size:.16rem;text-align:center;line-height:.22rem}
+.mheader[data-v-61d0e2e4]{height:.44rem;overflow:hidden}.m-nav-header[data-v-61d0e2e4]{position:absolute;left:0;top:0;width:100%;height:.44rem;line-height:.44rem;background-color:#14928a;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#fff}.m-nav-header.fixed[data-v-61d0e2e4]{position:fixed;z-index:99}.m-nav-header .m-nav-bar__title[data-v-61d0e2e4]{max-width:60%;margin:0 auto;color:#fff;font-weight:500;font-size:.16rem}.m-nav-header .m-nav-bar__left[data-v-61d0e2e4],.m-nav-header .m-nav-bar__right[data-v-61d0e2e4]{position:absolute;bottom:0}.m-nav-header .m-nav-bar__left[data-v-61d0e2e4]{left:.12rem}.m-nav-header .m-nav-bar__left .arrow-left[data-v-61d0e2e4]{font-size:.21rem;vertical-align:middle}.m-nav-header .m-nav-bar__right[data-v-61d0e2e4]{right:.12rem}.icon[data-v-67669af7]{width:2rem;height:2rem;margin:.5rem auto .05rem}.icon_nodata[data-v-67669af7]{background:url(../img/icon_nodata.81c87d57.png) no-repeat 50%;background-size:contain}.msg[data-v-67669af7]{color:#aaa;font-size:.16rem;text-align:center;line-height:.22rem}.help[data-v-444735df]{min-height:100vh}[data-v-444735df] .van-collapse{margin:.15rem 0}[data-v-444735df] .van-collapse /deep/ .van-cell{color:#1a1a1a;font-size:.17rem;padding:.15rem .16rem}[data-v-444735df] .van-collapse /deep/ .van-collapse-item__content{font-size:.14rem;color:grey}

+ 0 - 1
dist/css/HelpCenter.c87cfe00.css

@@ -1 +0,0 @@
-.help[data-v-444735df]{min-height:100vh}[data-v-444735df] .van-collapse{margin:.15rem 0}[data-v-444735df] .van-collapse /deep/ .van-cell{color:#1a1a1a;font-size:.17rem;padding:.15rem .16rem}[data-v-444735df] .van-collapse /deep/ .van-collapse-item__content{font-size:.14rem;color:grey}

+ 0 - 1
dist/css/PeriodAdjust.3e7753b3.css

@@ -1 +0,0 @@
-.periodadjust[data-v-703dd228]{height:100vh;position:relative;background-color:#f3f4f8}.periodadjust .container[data-v-703dd228]{min-height:calc(100vh - .5rem);overflow-y:auto;overflow-x:hidden;position:relative}.periodadjust .button-group[data-v-703dd228]{width:100%}.periodadjust .button-group .van-button[data-v-703dd228]{font-size:.16rem;width:50%;height:.5rem;line-height:.48rem}.periodadjust .button-group .van-button--primary[data-v-703dd228]{background:#14928a;border-color:#14928a}[data-v-703dd228] .van-icon-underway-o{font-size:.18rem}[data-v-703dd228] .van-cell{line-height:inherit}[data-v-703dd228] .van-cell__title{font-size:.16rem;color:#444}[data-v-703dd228] .van-cell-group{margin-top:.05rem}.title-content[data-v-703dd228]{-webkit-box-flex:1;-ms-flex:1 auto;flex:1 auto;font-weight:700}.title-content .van-cell__label[data-v-703dd228]{font-weight:400;margin-top:.06rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.title-content .van-icon-location[data-v-703dd228]{margin-right:.05rem}[data-v-703dd228] .van-cell__label,[data-v-703dd228] .van-cell__value{color:#444;font-size:.14rem}[data-v-703dd228] .van-cell__label span,[data-v-703dd228] .van-cell__value span{padding-right:.1rem}.input-cell[data-v-703dd228]{padding:.12rem .16rem .2rem}.input-cell .van-radio[data-v-703dd228]{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}[data-v-703dd228] .van-radio__icon--disabled .van-icon{border-color:transparent;background:#fff}[data-v-703dd228] .van-radio__icon--checked .van-icon{background:#f97215;border-color:#f97215}[data-v-703dd228] .icon{margin-top:.3rem}

+ 1 - 0
dist/css/PeriodAdjust.4b1e312e.css

@@ -0,0 +1 @@
+.periodadjust[data-v-b1192890]{height:100vh;position:relative;background-color:#f3f4f8}.periodadjust .container[data-v-b1192890]{min-height:calc(100vh - .5rem);overflow-y:auto;overflow-x:hidden;position:relative}.periodadjust .button-group[data-v-b1192890]{width:100%}.periodadjust .button-group .van-button[data-v-b1192890]{font-size:.16rem;width:50%;height:.5rem;line-height:.48rem}.periodadjust .button-group .van-button--primary[data-v-b1192890]{background:#14928a;border-color:#14928a}[data-v-b1192890] .van-icon-underway-o{font-size:.18rem}[data-v-b1192890] .van-cell{line-height:inherit}[data-v-b1192890] .van-cell__title{font-size:.16rem;color:#444}[data-v-b1192890] .van-cell-group{margin-top:.05rem}.title-content[data-v-b1192890]{-webkit-box-flex:1;-ms-flex:1 auto;flex:1 auto;font-weight:700}.title-content .van-cell__label[data-v-b1192890]{font-weight:400;margin-top:.06rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.title-content .van-icon-location[data-v-b1192890]{margin-right:.05rem}.value-content[data-v-b1192890]{width:50px}[data-v-b1192890] .van-cell__label,[data-v-b1192890] .van-cell__value{color:#444;font-size:.14rem;-webkit-box-flex:1;-ms-flex:1 auto;flex:1 auto}[data-v-b1192890] .van-cell__label span,[data-v-b1192890] .van-cell__value span{padding-right:.1rem}.input-cell[data-v-b1192890]{padding:.12rem .16rem .2rem}.input-cell .van-radio[data-v-b1192890]{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}[data-v-b1192890] .van-radio__icon--disabled .van-icon{border-color:transparent;background:#fff}[data-v-b1192890] .van-radio__icon--checked .van-icon{background:#f97215;border-color:#f97215}[data-v-b1192890] .icon{margin-top:.3rem}

File diff suppressed because it is too large
+ 0 - 0
dist/css/PeriodAdjust~PeriodChange.b77fbbe2.css


File diff suppressed because it is too large
+ 0 - 0
dist/css/PeriodExchange.3e7d965d.css


File diff suppressed because it is too large
+ 0 - 0
dist/css/PeriodExchange.8dc98c30.css


+ 0 - 0
dist/css/privacy.8e5822eb.css → dist/css/privacy.baf30fb7.css


File diff suppressed because it is too large
+ 0 - 0
dist/index.html


+ 0 - 0
dist/js/Account.99f6d5a9.js → dist/js/Account.ad6f540e.js


+ 0 - 0
dist/js/AppLogin.9e9cbb0b.js → dist/js/AppLogin.a7b1102d.js


+ 0 - 0
dist/js/AppRegister.826ff378.js → dist/js/AppRegister.60d72220.js


+ 0 - 0
dist/js/AppSetInfo.037a4910.js → dist/js/AppSetInfo.2d24b0f6.js


+ 0 - 0
dist/js/AppealDetail.32f08b78.js → dist/js/AppealDetail.0e76ca0c.js


+ 0 - 0
dist/js/AppealRecord.ecd67a9e.js → dist/js/AppealRecord.01727da6.js


+ 0 - 0
dist/js/AppealResult.fa6c8a67.js → dist/js/AppealResult.e25dc8ad.js


+ 0 - 0
dist/js/Approval.79a59dd5.js → dist/js/Approval.e3fc3e62.js


+ 0 - 0
dist/js/ArrangeWork.254a0e9e.js → dist/js/ArrangeWork.7e9f839e.js


+ 0 - 0
dist/js/Attendance.79b39942.js → dist/js/Attendance.dae9282c.js


+ 0 - 0
dist/js/BookingSet.e75f2081.js → dist/js/BookingSet.9a0fd2fa.js


+ 0 - 0
dist/js/Business.36e85063.js → dist/js/Business.5d29b332.js


+ 0 - 0
dist/js/CallNames.ad21ec6f.js → dist/js/CallNames.ba4e449f.js


+ 0 - 0
dist/js/CcMe.70feb3e7.js → dist/js/CcMe.00843084.js


+ 0 - 0
dist/js/ClassDetail.99e23014.js → dist/js/ClassDetail.1488f428.js


+ 0 - 0
dist/js/CourseApply.e1298175.js → dist/js/CourseApply.6bec997e.js


+ 0 - 0
dist/js/CourseDetail.c524525a.js → dist/js/CourseDetail.0586cccb.js


+ 0 - 0
dist/js/CourseEvaluation.97fd32f1.js → dist/js/CourseEvaluation.e831de6b.js


+ 0 - 0
dist/js/ExchangeRecord.e4862497.js → dist/js/ExchangeRecord.b5be3a6f.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/HelpCenter.270dc8eb.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/HelpCenter.eedb4fea.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/HelpCenter~PeriodExchange.b93b902f.js


+ 0 - 0
dist/js/IStarted.bbd5e4f3.js → dist/js/IStarted.d7f0f33f.js


+ 0 - 0
dist/js/Leave.7bd50bfc.js → dist/js/Leave.d14dc0de.js


+ 0 - 0
dist/js/ManageEvaluation.5a8f4ca6.js → dist/js/ManageEvaluation.b9688729.js


+ 0 - 0
dist/js/MonthAppeal.e91b6c42.js → dist/js/MonthAppeal.5386ede0.js


+ 0 - 0
dist/js/PaymentResult.44adf79a.js → dist/js/PaymentResult.5b8b6201.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/PeriodAdjust.7af7bdf0.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/PeriodAdjust.d737cf78.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/PeriodAdjust~PeriodChange.0f67fe2c.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/PeriodAdjust~PeriodChange.f42c717f.js


+ 0 - 0
dist/js/PeriodChange.ce3de0b0.js → dist/js/PeriodChange.4ff1e84f.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/PeriodExchange.c9871df0.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/PeriodExchange.f497b680.js


+ 0 - 0
dist/js/PeriodRecord.04e191d9.js → dist/js/PeriodRecord.992796b9.js


+ 0 - 0
dist/js/Remuneration.c79eb447.js → dist/js/Remuneration.11c4e176.js


+ 0 - 0
dist/js/StartedDetail.b23e7845.js → dist/js/StartedDetail.d097cbee.js


+ 0 - 0
dist/js/TeachingSchool.97289e1d.js → dist/js/TeachingSchool.50723aa4.js


+ 0 - 0
dist/js/TeachingSet.9d26dd7a.js → dist/js/TeachingSet.6f38aa2f.js


+ 0 - 0
dist/js/UserProtocol.cf0b56f6.js → dist/js/UserProtocol.853b53ca.js


+ 0 - 0
dist/js/VIPApply.10d41a81.js → dist/js/VIPApply.8190926c.js


+ 0 - 0
dist/js/order.ed9f993d.js → dist/js/order.66c94577.js


+ 0 - 0
dist/js/privacy.4dd124c4.js → dist/js/privacy.1b4667d9.js


+ 5 - 0
package-lock.json

@@ -3667,6 +3667,11 @@
       "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
       "dev": true
     },
+    "dayjs": {
+      "version": "1.8.31",
+      "resolved": "https://registry.npm.taobao.org/dayjs/download/dayjs-1.8.31.tgz",
+      "integrity": "sha1-DNERTCU53VrZQovgw4321LtAudM="
+    },
     "de-indent": {
       "version": "1.0.2",
       "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz",

+ 1 - 0
package.json

@@ -13,6 +13,7 @@
     "caniuse": "^0.1.3",
     "caniuse-lite": "^1.0.30001035",
     "core-js": "^2.6.5",
+    "dayjs": "^1.8.31",
     "es6-promise": "^4.2.8",
     "install": "^0.13.0",
     "qs": "^6.8.0",

+ 36 - 17
src/components/MCalendar.vue

@@ -17,9 +17,7 @@
             <span>日</span>
         </div>
 
-        <swiper :options="swiperOption" ref="mySwiper" 
-                @slideChangeTransitionEnd="slideChangeTransitionEnd"
-                style="height: auto">
+        <swiper :options="swiperOption" ref="mySwiper" @slideChangeTransitionEnd="slideChangeTransitionEnd" style="height: auto">
             <swiper-slide v-for="(day, current) in daySet" :key="current">
                 <div class="tr">
                     <template v-for="(i, index) in day">
@@ -39,6 +37,7 @@
 <script>
 import 'swiper/dist/css/swiper.css'
 import { swiper, swiperSlide } from 'vue-awesome-swiper'
+import dayjs from 'dayjs'
 export default {
     name: 'calendar',
     components: { swiper, swiperSlide },
@@ -49,6 +48,12 @@ export default {
                 return []
             }
         },
+        dayList: { // 当月哪天有数据
+            type: Array,
+            default() {
+                return []
+            }
+        },
         type: {
             type: String,
             default: 'default' // small 一排日历
@@ -57,25 +62,26 @@ export default {
     data() {
         return {
             calendarType: this.type, // 日历类型
+            dayDateList: [],
             swiperOption: {
                 autoHeight: true,
                 initialSlide: 13,
-                // loop:false,  
-                // mode: 'horizontal',  
-                // freeMode:false,  
-                // touchRatio:0.5,  
-                // longSwipesRatio:0.1,  
-                // threshold:50,  
-                // followFinger:false,  
+                // loop:false,
+                // mode: 'horizontal',
+                // freeMode:false,
+                // touchRatio:0.5,
+                // longSwipesRatio:0.1,
+                // threshold:50,
+                // followFinger:false,
                 centeredSlides: true,
-                observer: true,//修改swiper自己或子元素时,自动初始化swiper  
-                observeParents: true,//修改swiper的父元素时,自动初始化swiper  
+                observer: true,//修改swiper自己或子元素时,自动初始化swiper
+                observeParents: true,//修改swiper的父元素时,自动初始化swiper
                 // effect : 'coverflow',
             },
             OS: Object.prototype.toString,
             // 一周的第一天
             // 0表示周日,依次类推
-            startWeek: 1, 
+            startWeek: 1,
             daySet: [], // 月数据
             curDays: {
                 year: new Date().getFullYear(),
@@ -133,7 +139,7 @@ export default {
             return this.getSiblingsMonth(y, m, n || 1)
         },
         getListMonth() { // 获取14个月的数据
-            this.daySet = [] // 
+            this.daySet = [] //
             // 生成前12个月的数据
             for(let i = 12; i >= -2; i--) {
                 this.daySet.push(this.getDaysSet(new Date(this.curDays.year, this.curDays.month - (i + 2))))
@@ -156,7 +162,7 @@ export default {
                     tDisabled = 1
                 }
             }
-            let noCheck = false // 是否可以选中
+            let noCheck = true // 是否可以选中
             // if(this.dataList.length > 0) {
             //     this.dataList.forEach(item => {
             //         if(item == d) {
@@ -198,7 +204,6 @@ export default {
             // 上月最后几天
             for(let p = prevDaysNum - prevDiff + 1; p <= prevDaysNum; p++, count++) {
                 days.push(this.getDayItem(prevM.y, prevM.m, p, PREV_FLAG))
-                
             }
             // 本月天数
             for(let c = 1; c <= daysNum; c++, count++) {
@@ -267,6 +272,8 @@ export default {
             if(swiper.isEnd) {
                 this.daySet.push(this.getDaysSet(new Date(this.curDays.year, this.curDays.month)))
             }
+
+            this.$emit('onChangeMonth', checkDate)
         },
         slidePrev() { // 上一页
             this.swiper.slidePrev()
@@ -389,7 +396,19 @@ export default {
         }
     },
     watch: {
-        
+        dayList(value) {
+            this.dayDateList = value
+            const selectDate = this.daySet[this.swiper.activeIndex]
+            selectDate.forEach(item => {
+                if(item.disabled == 0 && item.monthType == 2) {
+                    if(value.includes(dayjs(item.nowDate).format('DD'))) {
+                        item.noCheck = false
+                    } else {
+                        item.noCheck = true
+                    }
+                }
+            })
+        }
     },
     mounted() {
         // 选择不同的日历类型

+ 14 - 0
src/utils/loading.js

@@ -0,0 +1,14 @@
+import { Toast } from 'vant'
+
+// 加载
+export default function setLoading(status) {
+    if(status) {
+        Toast.loading({
+            duration: 0, // 持续展示 toast
+            forbidClick: true,
+            message: '加载中...',
+        })
+    } else {
+        Toast.clear()
+    }
+}

+ 45 - 24
src/views/teacher/PeriodAdjust.vue

@@ -2,7 +2,7 @@
     <div class="periodadjust">
         <div :class="[dataShow ? 'container' : '']">
             <!-- <m-header /> -->
-            <m-calendar @onSelectDay="onSelectDay" />
+            <m-calendar @onSelectDay="onSelectDay" :dayList="getMonthDay" @onChangeMonth="onChangeMonth" />
             <van-radio-group v-if="dataShow" key="data" v-model="radioSelect">
                 <van-cell-group v-for="(item, index) in dataList" :key="index">
                     <van-cell icon="underway-o" :center="true" @click="onCheckRadio(item)">
@@ -10,7 +10,7 @@
                         <template slot="default">{{ item.signInStatus ? '已签到' : '未签到' }}</template>
                         <template slot="title">{{item.startClassTime | formatDate}}-{{item.endClassTime | formatDate}}</template>
                     </van-cell>
-                    <van-cell class="input-cell" title-class="title-content" :center="true" @click="onCheckRadio(item)">
+                    <van-cell class="input-cell" title-class="title-content" value-class="value-content" :center="true" @click="onCheckRadio(item)">
                         <template slot="default">
                             <van-radio ref="radioes" :disabled="radioDisabled" :name="item.id"></van-radio>
                         </template>
@@ -37,10 +37,12 @@
 // import MHeader from '@/components/MHeader' courseSwap
 import MCalendar from '@/components/MCalendar'
 import MEmpty from '@/components/MEmpty'
+import dayjs from 'dayjs'
 import { browser }  from '@/common/common'
-import { getCourseSchedulesWithDate, 
+import { getCourseSchedulesWithDate,
     getCourseScheduleDateByMonth,
     classStartDateAdjust } from '@/api/teacher'
+import setLoading from '@/utils/loading'
 export default {
     name: 'periodadjust',
     components: { MCalendar, MEmpty },
@@ -57,10 +59,10 @@ export default {
             dataList: [],
             dataShow: true, // 是否有数据
             radioDisabled: true, // 今天或今天之前的数据禁用
+            getMonthDay: [], // 当月有月份列表
         }
     },
     created() {
-        
     },
     mounted() {
         let params = this.$route.query
@@ -68,10 +70,10 @@ export default {
             localStorage.setItem('Authorization', decodeURI(params.Authorization))
             localStorage.setItem('userInfo', decodeURI(params.Authorization))
         }
-        // this.getCourseMonth(toDay)
         document.title = '课程调整'
         let toDay = this.getFormartDate(new Date())
         this.getCourseDate(toDay)
+        this.getCourseMonth(toDay)
     },
     methods: {
         onSelectDay(value) {
@@ -82,31 +84,46 @@ export default {
             }
             this.getCourseDate(this.getFormartDate(value))
         },
+        onChangeMonth(value) {
+            this.getCourseMonth(dayjs(value).format('YYYY-MM-DD'))
+        },
         onCheckRadio(item) { // 单选按钮选中
             if(this.radioDisabled) return
             this.radioSelect = item.id
             this.radioSelectList = item
         },
-        getCourseMonth(month) {
-            getCourseScheduleDateByMonth({ month: month, type: 'VIP' }).then(res => {
-                let result = res.data
-                if(result.code == 200) {
-                    result.data.forEach(item => {
-                        let tempDate = new Date(item)
-                        this.getMonthDay.push(tempDate.getDate())
-                    })
-                    this.isCalendar = true
-                }
-            })
+        async getCourseMonth(month) {
+            setLoading(true)
+            try {
+                await getCourseScheduleDateByMonth({ month: month, type: 'VIP' }).then(res => {
+                    let result = res.data
+                    if(result.code == 200) {
+                        this.getMonthDay = []
+                        result.data.forEach(item => {
+                            this.getMonthDay.push(dayjs(item).format('DD'))
+                        })
+                        this.isCalendar = true
+                    }
+                })
+                setLoading(false)
+            } catch(err) {
+                setLoading(false)
+            }
         },
-        getCourseDate(date) {
-            getCourseSchedulesWithDate({ date: date, type: 'VIP' }).then(res => {
-                let result = res.data
-                if(result.code == 200 && result.data) {
-                    this.dataList = result.data.rows
-                    this.dataShow = result.data.rows.length > 0 ? true : false
-                }
-            })
+        async getCourseDate(date) {
+            setLoading(true)
+            try {
+                await getCourseSchedulesWithDate({ date: date, type: 'VIP' }).then(res => {
+                    let result = res.data
+                    if(result.code == 200 && result.data) {
+                        this.dataList = result.data.rows
+                        this.dataShow = result.data.rows.length > 0 ? true : false
+                    }
+                })
+                setLoading(false)
+            } catch(err) {
+                setLoading(false)
+            }
         },
         onSubmit() {
             if(!this.radioSelect) {
@@ -274,9 +291,13 @@ export default {
         margin-right: .05rem;
     }
 }
+.value-content {
+    width: 50px;
+}
 /deep/.van-cell__value, /deep/.van-cell__label {
     color: #444;
     font-size: .14rem;
+    flex: 1 auto;
     span {
         padding-right: .1rem;
     }

Some files were not shown because too many files changed in this diff