diff --git a/api/member.js b/api/member.js
index 773a12d..bc34432 100644
--- a/api/member.js
+++ b/api/member.js
@@ -100,6 +100,15 @@ export default {
},
+ //发送请假申请
+ askForLeave(data) {
+ let url = '/member/ask_for_leave'
+ return http.post(url, data).then(res => {
+ return res;
+ })
+ },
+
+
diff --git a/pages/student/timetable/info.vue b/pages/student/timetable/info.vue
index bc1a746..7c9efcc 100644
--- a/pages/student/timetable/info.vue
+++ b/pages/student/timetable/info.vue
@@ -42,12 +42,34 @@
{{infoData.hour}}个课时
+
已上
+
+
+
+ 请假
+
+ 取消请假
+
+
+
+
+
+ 请假申请
+
+
+
+
+
+
+
+
+
@@ -67,10 +89,25 @@ export default {
filteredData: {
id: '',//课程id
},
+
+ leaveShow:false,//请假模态框显示状态
+
+ //请假表单
+ leaveFormData:{
+ schedules_id: '',//详情 id
+ courses_id: '',//课程id
+ reason: '',//请假原因
+ file_url: '',//附件
+ },
+
+ //取消请相关
+ cancelLeaveShow:false,//取消请假模态框显示状态
}
},
onLoad(options) {
this.filteredData.id = options.id//课程id
+ this.leaveFormData.courses_id = options.id//课程id
+
},
onShow(){
this.init()
@@ -103,6 +140,92 @@ export default {
url: '/pages/coach/course/info'
})
},
+
+ //请假/取消请假 type|1=请求,2=取消请假
+ askForLeave(type){
+ if(type == 1){
+ //打开请假模态框
+ this.leaveShow = true
+ }else{
+ //取消请假
+ this.cancelLeaveShow = true
+ }
+ },
+ //打开请假模态框
+ openLeaveModal(){
+ this.leaveShow = true
+ },
+ //关闭请假模态框
+ closeLeaveModal(e){
+ if(e.index == 0){
+ //点击了取消
+ this.leaveFormData.reason = ''
+ }else{
+ //点击了确定
+ if (!this.leaveFormData.reason){
+ uni.showToast({
+ title: '请输入请假原因',
+ icon: 'none'
+ })
+ return
+ }
+ this.submitLeave()//发送请假请求
+ }
+ this.leaveShow = false
+ },
+ //发送请假申请
+ async submitLeave(){
+ let data = {...this.leaveFormData}
+ let res = await memberApi.askForLeave(data)
+ if(res.code != 1){
+ uni.showToast({
+ title: res.msg,
+ icon: 'none'
+ })
+ return
+ }
+ uni.showToast({
+ title: res.msg,
+ icon: 'success'
+ })
+ //延迟1s执行
+ setTimeout(() => {
+ this.init()
+ }, 1000)
+ },
+ //发送取消请假申请
+ async submitCancelLeave(e){
+ if(e.index == 0){
+ //点击了取消按钮
+ return
+ }
+
+ uni.showToast({
+ title: '需要取消请假接口',
+ icon: 'none'
+ })
+ return
+
+ //取消请假
+ let data = {...this.leaveFormData}
+ let res = await memberApi.askForLeave(data)
+ if(res.code != 1){
+ uni.showToast({
+ title: res.msg,
+ icon: 'none'
+ })
+ return
+ }
+ uni.showToast({
+ title: res.msg,
+ icon: 'success'
+ })
+ //延迟1s执行
+ setTimeout(() => {
+ this.init()
+ }, 1000)
+ },
+
}
}
@@ -182,8 +305,30 @@ export default {
transform: rotate(-35deg); /* 旋转 */
}
}
+
+ .state_box_btn{
+ position: absolute;
+ bottom: 50rpx;
+ right: 10rpx;
+ view{
+ width: 160rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ background-color: #00BE8C;
+ border-radius: 8rpx;
+ color: #fff;
+ font-size: 28rpx;
+ text-align: center;
+ }
+ }
}
}
+
+ //请假模态框
+ .leave_section {
+
+ }
+
}