|
|
|
@ -3,55 +3,55 @@ |
|
|
|
<view class="main_box"> |
|
|
|
<view class="main_section"> |
|
|
|
<view class="section_1"> |
|
|
|
<view class="title_box">{{infoData.courses_name}}</view> |
|
|
|
<view class="title_box">{{infoData.courseScheduleHasOne.course.course_name}}</view> |
|
|
|
<view class="ul"> |
|
|
|
<view class="li"> |
|
|
|
<view class="title">课程名称</view> |
|
|
|
<view class="content">{{infoData.courses_name}}</view> |
|
|
|
<view class="content">{{infoData.courseScheduleHasOne.course.course_name}}</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="li"> |
|
|
|
<view class="title">班级</view> |
|
|
|
<view class="content">{{infoData.classes_name}}</view> |
|
|
|
</view> |
|
|
|
<!-- <view class="li">--> |
|
|
|
<!-- <view class="title">班级</view>--> |
|
|
|
<!-- <view class="content">{{infoData.classes_name}}</view>--> |
|
|
|
<!-- </view>--> |
|
|
|
|
|
|
|
<view class="li"> |
|
|
|
<view class="title">上课时间</view> |
|
|
|
<view class="content">{{infoData.date_time}} {{infoData.time_slot.replace(',', '-')}}</view> |
|
|
|
<view class="content">{{infoData.courseScheduleHasOne.course_date}} {{infoData.courseScheduleHasOne.time_slot}}</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="li"> |
|
|
|
<view class="title">上课地址</view> |
|
|
|
<view class="content">{{infoData.address}}</view> |
|
|
|
<view class="content">{{infoData.courseScheduleHasOne.campus_name}} {{infoData.courseScheduleHasOne.venue.venue_name}}</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<view class="li"> |
|
|
|
<view class="title">教练</view> |
|
|
|
<view class="content">{{infoData.staff_name}}</view> |
|
|
|
<view class="content">{{infoData.courseScheduleHasOne.coach.name}}</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="li"> |
|
|
|
<view class="title">教练号码</view> |
|
|
|
<view class="content">{{infoData.staff_phone}}</view> |
|
|
|
<view class="content">{{infoData.courseScheduleHasOne.coach.phone}}</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="li"> |
|
|
|
<view class="title">扣除课时</view> |
|
|
|
<view class="content">{{infoData.hour}}个课时</view> |
|
|
|
<view class="content">{{infoData.courseScheduleHasOne.course.single_session_count}}个课时</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<!--1未上课 2已上课--> |
|
|
|
<view class="state_box" v-if="infoData.status == 2"> |
|
|
|
<!--状态0待上课1已上课2请假--> |
|
|
|
<view class="state_box" v-if="infoData.status == 1"> |
|
|
|
<view>已上</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="state_box_btn" v-if="infoData.status != 2"> |
|
|
|
<!--sign_status字段| 0未签到 1已签到 2请假--> |
|
|
|
<view v-if="!['1','2'].includes(String(infoData.sign_status))" @click="askForLeave(1)">请假</view> |
|
|
|
<view class="state_box_btn" v-if="infoData.status != 1"> |
|
|
|
<!--状态0待上课1已上课2请假--> |
|
|
|
<view v-if="['2'].includes(String(infoData.status))" @click="askForLeave(2)">取消请假</view> |
|
|
|
|
|
|
|
<view v-else @click="askForLeave(2)">取消请假</view> |
|
|
|
<view v-else @click="askForLeave(1)">请假</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
</view> |
|
|
|
@ -61,11 +61,11 @@ |
|
|
|
<!-- 请假模态框--> |
|
|
|
<fui-modal class="leave_section" :buttons="[{text: '取消',plain: true}, {text: '保存'}]" width="600" :show="leaveShow" @cancel="closeLeaveModal" @click="closeLeaveModal"> |
|
|
|
<text class="fui-title" style="font-size: 30rpx;padding: 15rpx">请假申请</text> |
|
|
|
<view class="form_box" style="width: 100%;padding: 20rpx"> |
|
|
|
<view class="input_box" style="border: 1px solid #888888;font-size: 28rpx;"> |
|
|
|
<fui-input style="font-size: 28rpx;height: 60rpx;line-height: 60rpx;padding-left: 15rpx" :borderBottom="false" placeholder="请输入请假原因" v-model="leaveFormData.reason"></fui-input> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<!-- <view class="form_box" style="width: 100%;padding: 20rpx">--> |
|
|
|
<!-- <view class="input_box" style="border: 1px solid #888888;font-size: 28rpx;">--> |
|
|
|
<!-- <fui-input style="font-size: 28rpx;height: 60rpx;line-height: 60rpx;padding-left: 15rpx" :borderBottom="false" placeholder="请输入请假原因" v-model="leaveFormData.reason"></fui-input>--> |
|
|
|
<!-- </view>--> |
|
|
|
<!-- </view>--> |
|
|
|
</fui-modal> |
|
|
|
|
|
|
|
<!--取消请假--> |
|
|
|
@ -74,6 +74,7 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import apiRoute from '@/api/apiRoute.js'; |
|
|
|
import memberApi from '@/api/member.js'; |
|
|
|
import AQTabber from "@/components/AQ/AQTabber.vue" |
|
|
|
|
|
|
|
@ -84,18 +85,19 @@ export default { |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
infoData:{},//详情数据 |
|
|
|
memberInfo:{id:''},//当前登录用户的学生详情 |
|
|
|
infoData:{id:''},//详情数据 |
|
|
|
//筛选条件 |
|
|
|
filteredData: { |
|
|
|
id: '',//课程id |
|
|
|
person_course_schedule_id: '',//人员与课程安排关系表id |
|
|
|
}, |
|
|
|
|
|
|
|
leaveShow:false,//请假模态框显示状态 |
|
|
|
|
|
|
|
//请假表单 |
|
|
|
leaveFormData:{ |
|
|
|
schedules_id: '',//详情 id |
|
|
|
courses_id: '',//课程id |
|
|
|
person_course_schedule_id: '',//人员与课程安排关系表id |
|
|
|
status: '',//状态0待上课1已上课2请假 |
|
|
|
reason: '',//请假原因 |
|
|
|
file_url: '',//附件 |
|
|
|
}, |
|
|
|
@ -105,9 +107,10 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
onLoad(options) { |
|
|
|
this.filteredData.id = options.id//课程id |
|
|
|
this.leaveFormData.courses_id = options.id//课程id |
|
|
|
this.leaveFormData.schedules_id = options.id//请假详情id |
|
|
|
|
|
|
|
this.filteredData.person_course_schedule_id = options.person_course_schedule_id//人员与课程安排关系表id |
|
|
|
|
|
|
|
this.leaveFormData.person_course_schedule_id = options.person_course_schedule_id//人员与课程安排关系表id |
|
|
|
}, |
|
|
|
onShow(){ |
|
|
|
this.init() |
|
|
|
@ -115,13 +118,27 @@ export default { |
|
|
|
methods: { |
|
|
|
//初始化 |
|
|
|
async init(){ |
|
|
|
await this.getMemberInit() |
|
|
|
await this.getInfo() |
|
|
|
}, |
|
|
|
|
|
|
|
//获取学生登录人的学生资源详情 |
|
|
|
async getMemberInit(){ |
|
|
|
let res = await apiRoute.xy_memberInfo({}) |
|
|
|
if(res.code != 1){ |
|
|
|
uni.showToast({ |
|
|
|
title: res.msg, |
|
|
|
icon: 'none' |
|
|
|
}) |
|
|
|
return |
|
|
|
} |
|
|
|
this.memberInfo = res.data |
|
|
|
}, |
|
|
|
|
|
|
|
//获取课程详情 |
|
|
|
async getInfo(){ |
|
|
|
let res = await memberApi.courseInfo({ |
|
|
|
id: this.filteredData.id, |
|
|
|
let res = await apiRoute.xy_personCourseScheduleInfo({ |
|
|
|
person_course_schedule_id: this.filteredData.person_course_schedule_id, |
|
|
|
}) |
|
|
|
if(res.code != 1){ |
|
|
|
uni.showToast({ |
|
|
|
@ -162,13 +179,13 @@ export default { |
|
|
|
this.leaveFormData.reason = '' |
|
|
|
}else{ |
|
|
|
//点击了确定 |
|
|
|
if (!this.leaveFormData.reason){ |
|
|
|
uni.showToast({ |
|
|
|
title: '请输入请假原因', |
|
|
|
icon: 'none' |
|
|
|
}) |
|
|
|
return |
|
|
|
} |
|
|
|
// if (!this.leaveFormData.reason){ |
|
|
|
// uni.showToast({ |
|
|
|
// title: '请输入请假原因', |
|
|
|
// icon: 'none' |
|
|
|
// }) |
|
|
|
// return |
|
|
|
// } |
|
|
|
this.submitLeave()//发送请假请求 |
|
|
|
} |
|
|
|
this.leaveShow = false |
|
|
|
@ -176,7 +193,8 @@ export default { |
|
|
|
//发送请假申请 |
|
|
|
async submitLeave(){ |
|
|
|
let data = {...this.leaveFormData} |
|
|
|
let res = await memberApi.askForLeave(data) |
|
|
|
data.status = 2 |
|
|
|
let res = await apiRoute.xy_personCourseScheduleEditStatus(data) |
|
|
|
if(res.code != 1){ |
|
|
|
uni.showToast({ |
|
|
|
title: res.msg, |
|
|
|
@ -203,7 +221,8 @@ export default { |
|
|
|
//取消请假 |
|
|
|
this.leaveFormData.reason = ''//请假原因 |
|
|
|
let data = {...this.leaveFormData} |
|
|
|
let res = await memberApi.delAskForLeave(data) |
|
|
|
data.status = 0 |
|
|
|
let res = await apiRoute.xy_personCourseScheduleEditStatus(data) |
|
|
|
this.cancelLeaveShow = false |
|
|
|
if(res.code != 1){ |
|
|
|
uni.showToast({ |
|
|
|
|